Treat help strings like other doc strings
[emacs.git] / ChangeLog.2
blobcd10de24c65606adf888ba9e7839ae417b16ee2f
1 2015-08-02  Ingo Lohmar  <i.lohmar@gmail.com>
3         Add option `calendar-weekend-days'
4         * lisp/calendar/calendar.el (calendar-generate-month): New
5         variable calendar-weekend-days to fontify day headers correctly.
7 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
9         Substitute some customization etc. doc strings
10         These changes apply substitute-command-keys to some
11         doc strings that were going through untranslated
12         when creating customization or other widgets.
13         * lisp/cus-edit.el (custom-group-value-create):
14         * lisp/wid-edit.el (widget-default-create):
15         (widget-push-button-value-create):
16         Treat the widget tag as a doc string.
17         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
18         Treat the :documentation value as a doc string.
19         * lisp/wid-edit.el (widget-choose):
20         Treat the choice names as doc strings.
21         (widget-default-create): Treat the :doc value as a doc string.
22         (widget-toggle-value-create): Treat the :on and :off values
23         as doc strings.
24         (widget-documentation-string-value-create):
25         Substitute the doc string.
27 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
29         Add a second argument to project-ignores
30         * lisp/progmodes/project.el (project-ignores): Add a second
31         argument DIR.
32         * lisp/progmodes/project.el (project-ignores): Only include the VC
33         ignores if DIR is the VC root.
34         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
36 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
38         Prevent incorrect display when 'line-spacing' variable is set
39         * src/xdisp.c (try_window_id): Give up this optimization if the
40         buffer has its 'line-spacing' variable set non-nil.
42 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
44         Don't pass NOVISIT to find-file
45         * lisp/progmodes/etags.el (next-file):
46         Don't pass NOVISIT to find-file (bug#21175).
48         Ignore buffer restriction for tags-loop-eval
49         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
50         restriction (bug#21167).
52 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
54         Fix a thinko in 'ffap-gopher-at-point'
55         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
57         Honor 'line-spacing' for empty lines
58         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
59         property and 'line-spacing' frame parameter or variable or
60         property for empty lines, by doing the same processing as in
61         x_produce_glyph for newline characters.  (Bug#21165)
63 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
65         Simplify by assuming C99 integer division
66         * src/floatfns.c (ceiling2, floor2, truncate2):
67         Assume C99 (i.e., Fortran) semantics for integer division.
68         This simplifies the code.
70 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
72         Don't overflow if computing approximate percentage
73         * lisp/align.el (align-region):
74         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
75         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
76         * lisp/cus-edit.el (custom-buffer-create-internal):
77         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
78         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
79         (checkdoc-next-message-error):
80         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
81         * lisp/epa.el (epa-progress-callback-function):
82         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
83         * lisp/ffap.el (ffap-menu-rescan):
84         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
85         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
86         * lisp/gnus/nneething.el (nneething-retrieve-headers):
87         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
88         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
89         * lisp/gnus/nnml.el (nnml-retrieve-headers):
90         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
91         * lisp/gnus/nntp.el (nntp-retrieve-headers)
92         (nntp-retrieve-articles):
93         * lisp/imenu.el (imenu--relative-position):
94         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
95         (skkdic-convert-okuri-nasi):
96         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
97         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
98         * lisp/org/org-list.el (org-update-checkbox-count):
99         * lisp/org/org.el (org-table-map-tables)
100         (org-update-parent-todo-statistics):
101         * lisp/play/decipher.el (decipher-insert-frequency-counts)
102         (decipher-analyze-buffer):
103         * lisp/profiler.el (profiler-format-percent):
104         * lisp/progmodes/cc-cmds.el (c-progress-update):
105         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
106         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
107         (idlwave-list-load-path-shadows):
108         * lisp/progmodes/opascal.el (opascal-step-progress):
109         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
110         (vhdl-scan-directory-contents):
111         * lisp/textmodes/bibtex.el (bibtex-progress-message):
112         * lisp/textmodes/flyspell.el (flyspell-small-region)
113         (flyspell-external-point-words):
114         * lisp/textmodes/table.el (table-recognize):
115         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
116         progress-report percentages and the like.  This avoids problems
117         if (* 100 NUMERATOR) would overflow.
118         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
119         * lisp/gnus/registry.el (registry-reindex):
120         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
121         * lisp/descr-text.el (describe-char):
122         * lisp/org/org-colview.el (org-nofm-to-completion):
123         * lisp/ps-print.el (ps-plot):
124         * lisp/simple.el (what-cursor-position):
125         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
126         more-complicated and less-accurate approximation.
128         Fix some int overflows in profiler.c
129         * src/profiler.c (make_log): Make args EMACS_INT, not int,
130         to avoid unwanted behavior on 'int' overflow.
131         (make_log, evict_lower_half, record_backtrace):
132         Use ptrdiff_t, not int, for object indexes.
134         Port to pedantic memcpy
135         * src/keyboard.c (menu_bar_items, tool_bar_items):
136         * src/xrdb.c (magic_db):
137         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
139         Merge from gnulib
140         This incorporates:
141         2015-07-29 time_rz: port to pedantic memcpy
142         * lib/time_rz.c: Copy from gnulib.
144 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
146         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
147         When updating the very last entry, tabulated-list-print would
148         erase it and then try to look at the next one (which obviously
149         isn't there).
151 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
153         ;* src/w32fns.c (syms_of_w32fns): Fix last commit.
155         Allow to use the old key processing code on MS-Windows
156         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
157         New variable.
158         (w32_wnd_proc): Use it to invoke the old code that processed
159         character keys, as fallback, when this variable is non-nil.  Fix
160         typos in comments.  (Bug#19994)
162 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
164         Improve handling of Unicode keyboard input on MS-Windows
165         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
166         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
167         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
168         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
169         successful, don't call TranslateMessage.  (Bug#19994)
171 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
173         Fix default-directory in changeset diffs after vc-print-log
174         * lisp/vc/log-view.el (log-view-diff-common): Move the
175         revision-granularity check back into log-view-diff-changeset.
176         (log-view-diff-changeset): Bind default-directory to the current
177         VC root.
179         Rename project-directories to project-roots
180         * lisp/progmodes/project.el (project-search-path-function)
181         (project-search-path): Update the docstring.
182         (project-directories): Rename to `project-roots', update all
183         callers and implementations accordingly.
184         (project-root): Remove.
185         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
186         as the default file mask.
188 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
190         Support long URLs in w32-shell-execute
191         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
192         and filename_to_ansi to convert the DOCUMENT argument, as it could
193         be a URL that is not limited to MAX_PATH characters.  Instead, use
194         MultiByteToWideChar directly, and allocate heap storage as
195         required to accommodate the converted string.  Likewise with
196         non-Unicode operation.  Ensure OPERATION is null-terminated, even
197         if it is longer than 32K bytes.  (Bug#21158)
199 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
201         vc-mtn-find-revision handle null rev.
202         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
204 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
206         Add docs for display-buffer action display-buffer-use-some-frame
207         * lisp/window.el (display-buffer-use-some-frame): improve doc string
208         * doc/lispref/windows.texi (Display Action Functions): add
209           display-buffer-use-some-frame
210         * etc/NEWS: mention display-buffer-use-some-frame
212         Add display-buffer action display-buffer-use-some-frame
213         * lisp/window.el (display-buffer-use-some-frame): new
215         Handle vc-mtn error more gently
216         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
218 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
220         Fix Tramp problems with multihops, and nc.
221         * lisp/net/tramp-cache.el (tramp-get-file-property)
222         (tramp-set-file-property, tramp-flush-file-property)
223         (tramp-get-connection-property, tramp-set-connection-property)
224         (tramp-flush-connection-property): Remove hop from vector.
225         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
226         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
227         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
228         netstat to 60".
229         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
230         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
231         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
232         Keep hop in result.
233         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
234         Add hop tests.
236 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
238         Resurrect highlighting of repeated words by Flyspell Mode
239         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
240         characters between point and the doublon candidate, so that
241         flyspell-word-search-backward finds it.  (Bug#21157)
243         Fix redisplay of large images on expose events
244         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
245         between signed negative values and unsigned values.  This
246         prevented redisplay on expose events when the window showed a very
247         large image.
249 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
251         Remove unnecessary stack overflow dependency
252         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
253         Don't worry about $ac_cv_header_sys_resource_h and
254         $ac_cv_func_getrlimit, as they're no longer needed for this.
255         Problem reported by Eli Zaretskii in:
256         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
258 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
260         Pacify compilation -Wincompatible-pointer-types warnings
261         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
262         warning.
263         (CompareStringW_Proc): New typedef.
264         (w32_compare_strings): Use it, to pacify compiler warnings under
265         "-Wincompatible-pointer-types".
266         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
267         (GetDiskFreeSpaceExA_Proc): New typedefs.
268         (Ffile_system_info): Use them, to pacify compiler warnings under
269         "-Wincompatible-pointer-types".
271 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
273         Fix subscript error in calculate_direct_scrolling
274         Use slightly-longer cost vectors.  Without this change,
275         calculate_direct_scrolling can have a subscript violation when
276         FRAME_LINES (frame) <= delta.
277         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
278         (line_ins_del, do_line_insertion_deletion_costs):
279         Allocate and use slightly-larger cost vectors, ones based on
280         FRAME_TOTAL_LINES instead of FRAME_LINES.
282         Fix uninitalized value in encode_coding_object
283         * src/coding.c (encode_coding_object): Also initialize
284         coding->src_pos and coding->src_pos_byte when NILP (src_object).
285         This avoids later use of uninitialized storage.
287 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
289         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
291 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
293         Merge from gnulib
294         This incorporates:
295         2015-07-27 time_rz: port better to MinGW
296         2015-07-27 time: port __need_time_t to MinGW
297         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
298         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
299         * lib/time-internal.h: New file, from gnulib.
301 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
303         Handle NULL pointers in w32heap.c allocation routines
304         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
305         freeable".
306         (realloc_after_dump, realloc_before_dump, free_before_dump):
307         Handle NULL pointers gracefully, as Emacs now seems to expect
308         that.
310         Fix Cairo build without PNG
311         * src/image.c: Define PNG function when USE_CAIRO is defined, even
312         if HAVE_PNG is not.  (Bug#21133)
314         MS-Windows follow-up for recent TZ-related changes
315         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
316         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
317         picking up 'struct timespec' from pthread.h, if it is installed on
318         the user's system.  We want either the definitions from MinGW
319         system headers, if available, or the Gnulib replacements if not.
320         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
321         lib/time.h.
322         * lib/time.in.h: Don't let __need_* symbols affect what happens on
323         MinGW.  These symbols are defined by MinGW system headers, but we
324         don't want that to affect whether Gnulib portions of the header
325         are or aren't used.
327 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
329         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
331         New optional ZONE arg for format-time-string etc.
332         This simplifies time conversions in other time zones.
333         It also prevents display-time-world tampering with TZ (Bug#21020).
334         * admin/admin.el (add-release-logs):
335         Use improved add-log-time-format API.
336         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
337         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
338         * configure.ac (tzalloc): Remove test for this, since
339         Emacs no longer uses HAVE_TZALLOC directly.
340         * doc/lispref/os.texi (Time of Day, Time Conversion)
341         (Time Parsing):
342         * etc/NEWS: Document the new behavior.
343         Merge from gnulib, incorporating:
344         2015-07-25 strftime: fix newly-introduced bug on Solaris
345         2015-07-23 fprintftime, strftime: use timezone_t args
346         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
347         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
348         * m4/time_h.m4:
349         Update from gnulib.
350         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
351         New files from gnulib.
352         * lisp/time-stamp.el (time-stamp-string):
353         * lisp/time.el (display-time-world-list)
354         (display-time-world-display):
355         Use new API, with time zone arg.
356         * lisp/time.el (display-time-world-display):
357         Fix race when current-time advances while we're running.
358         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
359         (add-log-iso8601-time-string): Accept optional time zone arg.
360         * lisp/vc/add-log.el (add-change-log-entry):
361         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
362         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
363         Add rules for the time module, since they're now needed
364         for tzalloc etc.
365         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
366         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
367         * src/editfns.c: Include errno.h.
368         (set_time_zone_rule): Omit unnecessary forward decl.
369         (initial_tz): Remove, replacing with ...
370         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
371         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
372         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
373         (tzlookup): New static functions.
374         (init_editfns): New arg DUMPING.  All uses changed.
375         (init_editfns): Omit most initialization if dumping, not if
376         !initialized.  Initialize wall_clock_tz and local_tz.
377         (emacs_nmemftime, format_time_string): Time zone argument can now
378         be any time zone, not just a boolean for UTC or local time.  All
379         callers changed.
380         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
381         (Fcurrent_time_zone): New optional arg ZONE.
382         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
383         the same form as with the other new additions.
384         (decode_time_zone): Remove; no longer needed.
385         (tzvalbuf): Now file-scope.
386         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
387         (syms_of_editfns): Define Qwall.
388         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
389         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
390         [!HAVE_TZALLOC]:
391         Remove; now supplied by gnulib.
392         * src/emacs.c (main):
393         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
395 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
397         Fix infinite loop in delete-consecutive-dups
398         * lisp/subr.el (delete-consecutive-dups): Work even if the last
399         element is nil (Bug#20588).  Avoid rescan of a circular list in
400         deletion of last element.
402 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
404         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
405         * src/nsfns.m (Fx_frame_geometry):
406         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
407         terminal frames.
408         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
409         (Fx_frame_geometry): Return nil for terminal frames
411 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
413         * etc/tutorials/TUTORIAL.ja: Improve translation.
415 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
417         Avoid crashes when w32 GUI functions are called in -batch
418         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
419         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
420         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
422         Fix flyspell-check-previous-highlighted-word
423         * lisp/textmodes/flyspell.el
424         (flyspell-check-previous-highlighted-word): Really accept a
425         numeric argument, as the doc string describes.  Fix an off-by-one
426         error in looking up overlays, so invocation with point immediately
427         after a word would check that word.  Clarify the doc string as
428         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
430 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
432         Minor cleanup in tramp-tests.el
433         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
434         Implement using the documented interface
435         `tramp-connection-properties', rather than with internal functions.
437 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
439         Pass lambdas to `skeleton-read'
440         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
441         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
442         lambdas to `skeleton-read' (bug#20386).
444 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
446         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
448         Don't require GUI frames and mouse for Flyspell menus
449         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
450         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
451         support, since pop-up menus work with text terminals and can be
452         controlled via the keyboard.
454         Improve documentation of Flyspell commands
455         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
456         can be invoked via the keyboard.  Mention those commands by name
457         and add them to the fn index.  (Bug#21125)
459 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
461         Fix some Tramp problems with HP-UX
462         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
463         Add "tab0" to stty call.
464         * test/automated/tramp-tests.el (tramp-persistency-file-name):
465         Set to nil.
466         (tramp--test-hpux-p): New defun.
467         (tramp--test-utf8): Use it.
469 2015-07-22  Glenn Morris  <rgm@gnu.org>
471         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
473 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
475         Fix point positioning in ffap-next-guess
476         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
477         as our callers expect.  This was clobbered as part of fixing
478         bug#5673.  (Bug#21107)
479         (ffap-gopher-at-point): Set ffap-string-at-point-region.
481 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
483         Fix customization type of `even-window-sizes'.
484         * lisp/window.el (even-window-sizes): Fix customization type.
486         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
487         Optionally even widths of `display-buffer' windows.  (Bug#21100)
488         * lisp/window.el (quit-restore-window): Restore width if
489         requested.
490         (display-buffer-record-window): Record width when window is
491         reused and horizontally combined.
492         (even-window-sizes): New option to allow evening window widths.
493         (even-window-heights): Defalias to `even-window-sizes'.
494         (window--even-window-heights): Rename to
495         `window--even-window-sizes'.  Handle side-by-side windows.
496         (display-buffer-use-some-window): Call `window--even-window-sizes'
497         instead of `window--even-window-heights'.
498         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
499         * doc/lispref/windows.texi (Choosing Window Options): Describe
500         `even-window-sizes'.
501         (Coordinates and Windows): Fix typo.
503 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
505         add file name to autoload error messages.
506         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
507           to add file name to error message.
509 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
511         Use 0.0.0.1 as test host in Tramp
512         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
513         Use 0.0.0.1 as test host.
515 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
517         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
518         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
519         Fix inf-loop (bug#21083).
521 2015-07-21  Glenn Morris  <rgm@gnu.org>
523         * test/automated/package-test.el (package-test-signed):
524         Update for recent changes.
526         * test/automated/elisp-mode-tests.el
527         (elisp-xref-finds-both-function-and-variable)
528         (elisp-xref-finds-only-function-for-minor-mode):
529         Update for recent xref name changes.
531 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
533         Make eldoc timer non-repeatable
534         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
535         non-repeatable.  Since it's on post-command hook, that just wasted
536         CPU cycles.
538 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
540         Mention `tramp-connection-properties' in NEWS
542         Sync with Tramp repository
543         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
544         required prior changing its configuration.
545         (Connection caching, Predefined connection information)
546         (Remote shell setup): Fix typos.
547         (Predefined connection information): Describe, how to overwrite
548         parameters of `tramp-methods'.
549         (Remote programs, Remote processes, Traces and Profiles):
550         Simplify example.
551         (Remote programs): Remove superfluous comment.
552         * doc/misc/trampver.texi: Update release number.
553         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
554         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
555         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
556         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
557         "gvfs-mkdir -p ..." does not work robust.
558         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
559         * lisp/net/tramp-sh.el (tramp-methods):
560         Add `tramp-remote-shell-login' parameter where it fits.
561         (tramp-get-remote-path): Use it.
562         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
563         (all): Adapt `tramp-get-method-parameter' calls.
564         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
565         (tramp-get-method-parameter): Replace argument METHOD by VEC.
566         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
567         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
568         (all): Adapt `tramp-get-method-parameter' calls.
569         * lisp/net/trampver.el Update release number.
570         * test/automated/tramp-tests.el (tramp--instrument-test-case):
571         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
572         (tramp-test13-make-directory, tramp--test-adb-p)
573         (tramp--test-smb-or-windows-nt-p): Simplify.
574         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
575         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
576         (tramp--test-utf8): Fix docstring.
578 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
580         Add new xref-query-replace command
581         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
582         function, extracted from xref-pulse-momentarily.
583         (xref-query-replace): New command.
584         (xref--query-replace-1): New helper function.
585         (xref--xref-buffer-mode-map): Add `r' binding.
587 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
589         Simplify icalendar decoding of Z dates
590         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
591         Simplify calculation of time strings with trailing "Z".
593 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
595         Do not corrupt grep-find-ignored-files
596         * lisp/progmodes/project.el (project-ignores): Change the order of
597         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
599         Add xref-match-item, and use it
600         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
601         (xref-file-location): Add reader for the column slot.
602         (xref-match-item): New class.
603         (xref-match-bounds): A method implementation for it.
604         (xref-make-match): New constructor function.
605         (xref--current-item): New private variable.
606         (xref-pulse-momentarily): Use it.
607         (xref--pop-to-location): Change the first argument to an xref
608         item, instead of location, bind xref--current-item.
609         Update all callers.
610         (xref-next-line, xref-prev-line, xref--next-error-function)
611         (xref--mouse-2): Look for the property `xref-item',
612         instead of `xref-location'.
613         (xref--item-at-point): Likewise.  This function replaces
614         `xref-location-at-point'.  Update all callers.
615         (xref--insert-xrefs): Add the `xref-item' text property, instead
616         of `xref-location'.
617         (xref--collect-match): Use xref-make-match.
619         Rename xref--xref to xref-item
620         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
621         Update all references.
623         Rename xref description slot to summary
624         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
625         slot to `summary'.
627         vc-hg: Perform the print-log call asynchronously
628         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
629         asynchronously (bug#21067).
631         Add xref-after-jump-hook and xref-after-return-hook
632         * lisp/progmodes/xref.el (xref-after-jump-hook)
633         (xref-after-return-hook): New hooks.
634         (xref-pulse-on-jump): Remove, in favor of the above.
635         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
636         (xref--pop-to-location, xref--display-position)
637         (xref-pop-marker-stack): Use the new hooks, as requested in
638         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
640 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
642         Correct js-mode's lighter
643         * lisp/progmodes/js.el (js-mode): Correct the lighter.
645 2015-07-19  Leo Liu  <sdl.web@gmail.com>
647         Fix a bug in cfengine3-mode
648         * progmodes/cfengine.el (cfengine3-mode): Handle nil
649           eldoc-documentation-function.
651 2015-07-18  Julien Danjou  <julien@danjou.info>
653         sieve-mode: support "body" test command
654         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
655         Add missing "body" test command.
657 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
659         Fix info-apropos when the default encoding is Latin-N
660         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
661         'undecided', so that it is set to the encoding of the Info file we
662         are about to insert.  Otherwise, 'info-apropos' will fail to find
663         some index nodes in some UTF-8 encoded files, if the buffer's
664         previous encoding is Latin-N or some such.
666 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
668         * epg.el (epg--start): Check that gpgconf can be found before calling it.
670         Expose more file types to OS X that Emacs understands.
671         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
672         json, and org files.  Export UTIs for el, elc, and org files.
674 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
676         Fix visual-order cursor movement when lines are truncated
677         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
678         simulate display in a window of infinite width, to allow move_it_*
679         functions reach positions outside of normal window dimensions.
680         Remove code that tried to handle a subset of these situations by
681         manual iteration of buffer text.  (Bug#17777)
683         Fix following Info cross-references to anchors
684         * lisp/info.el (Info-read-subfile): Add to the returned value the
685         length of subfile preamble, after converting it to file's byte
686         offset, as expected by the caller.  Use bufferpos-to-filepos.
687         (Info-find-node-2): If searching for a node with a
688         1000-character slop fails, try again with a 10000-character slop,
689         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
690         * lisp/international/mule-util.el (bufferpos-to-filepos): New
691         function.
692         * etc/NEWS: Mention bufferpos-to-filepos.
694         Fix scrolling backwards on TTY frames under scroll-conservatively
695         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
696         in moving backwards on TTY frames.  (Bug#21080)
698 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
700         Consider a jsdoc tag to be a beginning of a paragraph as well
701         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
702         consider a jsdoc tag to be a beginning of a paragraph as well.
704 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
706         * lisp/emacs-lisp/package.el: Fix warnings
708         * lisp/emacs-lisp/package.el (package-buffer-info):
709         Add author and maintainers to `package-buffer-info'.
711         * lisp/emacs-lisp/package.el: Many small changes
712         Replace all instances of 'face with 'font-lock-face.
713         (describe-package-1): Improve some strings and move the summary up the
714         list.
715         (package-install-file): Update docstring.
716         (package-menu-hide-package): Bind to `H'.
718         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
719         Fix error handling.
721 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
723         Fix hang with large yanks This should fix the bug fixed by Mike
724         Crowe's patch in:
725         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
726         A problem in this area has been reported by several users; see
727         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
728         This fix differs from Mike Crowe's patch in that it should avoid a
729         race condition that could lose SIGIO signals.  ignore_sigio dates
730         back to the 1980s when some platforms couldn't block signals, and
731         could only ignore them, which led to races when signals arrived
732         while being ignored.  We shouldn't have to worry about those old
733         platforms now.
734         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
735         * src/emacs.c (shut_down_emacs):
736         Don't call ignore_sigio; unrequest_sigio should suffice.
737         * src/keyboard.c (kbd_buffer_store_buffered_event):
738         Use unrequest_sigio, not ignore_sigio.
739         (kbd_buffer_get_event):
740         Call request_sigio when getting the ball rolling again.
742 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
744         * lisp/obsolete/longlines.el (longlines-search-function):
745         Fallback on `isearch-search-fun-default'.
747 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
749         Support @-mentions
750         * rcirc.el (rcirc-completion-at-point): Support completion of
751         mentions/messages with @nick instead of just nick.
753 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
755         Fix Bug#20943.
756         * lisp/autorevert.el (auto-revert-handler): Do not check for
757         `buffer-modified-p'.
758         * lisp/files.el (buffer-stale--default-function): Check for
759         `buffer-modified-p'.
760         * test/automated/auto-revert-tests.el
761         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
763 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
765         Fix delete-dups bug on long lists
766         * lisp/subr.el (delete-dups):
767         Don't mistakenly keep some dups when applied to long lists.
769 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
771         Better heuristic for C stack overflow
772         Improve the heuristic for distinguishing stack overflows from
773         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
774         the getrlimit method wasn't portable to Cygwin; see:
775         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
776         Corinna suggested pthread_getattr_np but this also has problems.
777         Instead, replace the low-level system stuff with a simple
778         heuristic based on known good stack addresses.
779         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
780         * src/sysdep.c: Don't include <sys/resource.h>.
781         (stack_direction): Remove.  All uses removed.
782         (stack_overflow): New function.
783         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
784         Make SEGV fatal in non-main threads.
786 2015-07-16  Daiki Ueno  <ueno@gnu.org>
788         epg: Automatically start pinentry server
789         * epg-config.el (epg-gpgconf-program): New variable.
790         * epg.el (epg--start): Call `pinentry-start' if
791         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
793 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
795         * lisp/gnus/nnimap.el: Fix my last bogus change
796         Reinstall Stefan Monnier's change that was made in
797         <83d824bc4041332f338ad7e5e830f443535aa300>.
799 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
801         Merge from gnulib
802         This incorporates:
803         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
804         2015-07-05 acl-permissions: Fix on FreeBSD
805         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
806         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
807         * lib/set-permissions.c: Copy from gnulib.
809         Port to stricter C99
810         * src/keyboard.h (kbd_buffer_store_event_hold):
811         Don't return a void expression.
813 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
815         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
817 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
819         New autorevert tests.
820         * test/automated/auto-revert-tests.el: New file.
822 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
824         Clear gcprolist etc. after stack overflow
825         After stack overflow, command_loop calls init_eval, and this needs to
826         clear gcprolist and byte_stack_list (Bug#20996).
827         * src/alloc.c (init_alloc):
828         Move gcprolist and byte_stack_list initialization from here ...
829         * src/eval.c (init_eval): ... to here.
831 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
833         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
835 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
837         Avoid deprecated enums in mac-ct font backend driver
838         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
839         (mac_ctfont_get_advance_width_for_glyph)
840         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
842         Cache font family in mac-ct font backend driver
843         * src/macfont.m (macfont_family_cache): New variable.
844         (syms_of_macfont): Initialize it.
845         (macfont_available_families_cache): New variable.
846         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
847         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
848         (macfont_handle_font_change_notification)
849         (macfont_init_font_change_handler)
850         (macfont_copy_available_families_cache): New functions.
851         (macfont_create_family_with_symbol): Use font family caches.
852         (macfont_list, macfont_list_family): Use
853         macfont_copy_available_families_cache instead of
854         mac_font_create_available_families.
856 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
858         Show the default value in the prompt
859         * lisp/progmodes/xref.el: Add `M-?' binding for
860         xref-find-references.  Declare functions `grep-read-files' and
861         `grep-expand-template'.
862         (xref--read-identifier): Show the default value in the prompt.
864         When called with prefix argument, ask for file patterns to search as well
865         * lisp/progmodes/xref.el (xref-find-regexp): When called with
866         prefix argument, ask for file patterns to search as well.  When
867         prompting for the directory, require an existing one.
868         (xref-collect-matches): Add a new argument, FILES.  Use it in the
869         above function.
871         Add `project-ignores'
872         * lisp/progmodes/project.el (project-ignores): New generic
873         function, and an implementation for the VC project type.
874         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
875         variant of rgrep-default-command that handles a generic list of
876         ignores.
877         (xref-collect-matches): Use it, and pass through to it the value
878         of the newly added argument.
879         (xref-find-regexp): Handle ignored paths within the project.
880         Remove outdated comment.
881         * lisp/vc/vc.el (vc-default-ignore-completion-table):
882         Skip the comments and the empty lines.
884 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
886         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
888 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
890         gnus-registry.el: Correct function argument order
891         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
892         Reverse the order of function arguments.
894 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
896         Bind grep-highlight-matches to nil
897         * lisp/progmodes/xref.el (xref-collect-matches):
898         Bind grep-highlight-matches to nil (bug#20728).
900 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
902         nnimap.el: Fix IMAP message size parsing
903         * lisp/gnus/nnimap.el (nnimap-transform-headers):
904         Don't assume that UID comes before RFC822.SIZE.
906 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
908         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
909         (auth-source-creation-prompts): Declare.
910         (nnimap-retrieve-headers, nnimap-status-message)
911         (nnimap-request-create-group, nnimap-request-delete-group)
912         (nnimap-close-group, nnimap-request-move-article)
913         (nnimap-request-accept-article, nnimap-request-newgroups)
914         (nnimap-request-post, nnimap-dummy-active-number)
915         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
916         (nnimap-parse-flags): Remove unused var `p'.
917         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
918         (nnimap-flags-to-marks): Remove unused var `totalp'.
920 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
922         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
924 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
926         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
928 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
930         Don't check the exit status, it can be misleading
931         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
932         exit status, it can be misleading.
934         Introduce a Project API
935         * lisp/progmodes/project.el: New file.
936         * lisp/cedet/ede.el: (project-try-ede): New function.
937         (project-root): New implementation.
938         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
939         Set project-search-path-function.
940         (elisp--xref-find-references): Delegate some logic to
941         project-search-path.
942         (elisp-search-path): New function.
943         (elisp-xref-find): Don't implement `matches' anymore.
944         * lisp/progmodes/etags.el: Don't implement `matches'.
945         Delegate some logic to project-search-path.
946         (etags-search-path): New function.
947         * lisp/progmodes/xref.el (xref-find-function):
948         Remove `matches' from the API.
949         (xref-find-regexp): Move whatever common logic was in elisp and
950         etags implementations, and search the directories returned by
951         project-directories and project-search-path.
953 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
955         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
957         Add support for gv.el in map.el
958         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
959         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
960         * test/automated/map-tests.el: Update tests to work with the new
961         implementations of map-elt and map-put.
963 2015-07-09  Glenn Morris  <rgm@gnu.org>
965         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
967 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
969         Syntax-propertize until the end of the line first
970         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
971         until the end of the line first.
973 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
975         * doc/emacs/files.texi (File Archives): Add a cross reference.
977 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
979         nnimap.el: Handle plain value for nnimap-stream
980         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
981         capabilities, so that a 'plain value for the `nnimap-stream' server
982         variable is handled correctly.
983         * doc/misc/gnus.texi (Customizing the IMAP Connection):
984         Document the 'plain option.
986 2015-07-08  Leo Liu  <sdl.web@gmail.com>
988         Fix bug in thing-at-point--bounds-of-well-formed-url
989         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
990           sure boundary contains current point.
992 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
994         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
996         Declare whitespace-line-column a safe file-local
997         * lisp/whitespace.el (whitespace-line-column): Declare to be a
998         safe file-local when the value is an integer.
1000 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1002         gnus-group.el: Check if group names are already strings
1003         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1004         The group name may already be a string.
1005         Specifically, in the group list reached from the *Server* buffer,
1006         the 'gnus-group text property returns a string.  Everywhere else
1007         it returns a symbol.
1009         nnimap.el: Remove unused let variables
1010         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1012 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1014         Support "maximized" property of runemacs's shortcut
1015         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1016         the '--maximized' switch to Emacs.
1018         Support "minimized" property of runemacs's shortcut
1019         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1020         pass the '--iconic' switch to Emacs.  (Bug#20991)
1022 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1024         Doc fixes
1025         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1026         C-w' in Diff mode.
1027         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1028         Add a cross reference.
1030 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1032         * lisp/obsolete/landmark.el: Add Obsolete-since header
1034 2015-07-07  Glenn Morris  <rgm@gnu.org>
1036         * test/automated/ert-tests.el (ert-test-deftest):
1037         Update for recent changes.
1039 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1041         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1042         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1043         (gv-invalid-place): New error.
1044         (gv-get): Use them.
1045         (gv-synthetic-place, gv-delay-error): New places.
1046         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1047         (cl-defgeneric, cl-defmethod): Use gv-setter.
1049 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1051         Make vc-tests work with MSYS svn program
1052         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1053         svn is an MSYS program.
1055 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1057         Improve recent change to emacsclient on Cygwin
1058         * lisp/server.el (server-process-filter): Remove redundant check
1059         that 'cygwin-convert-file-name-from-windows' is defined as a
1060         function on Cygwin.  Don't call that function unless its argument
1061         starts with a drive letter.
1063 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1065         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1066         Fix void variable due to `found-something' being in the wrong `let'.
1068 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1070         * lisp/play/landmark.el: Move to lisp/obsolete/
1072 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1074         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1075         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1076         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1077         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1078         tooltips also via `right' and `bottom' frame parameters.
1080 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1082         Add online-help support to describe types
1083         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1084         (describe-symbol): Improve the selection of default.
1085         * lisp/help-mode.el: Require cl-lib.
1086         (describe-symbol-backends): Move from help-fns.el.
1087         (help-make-xrefs): Use it.
1088         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1089         for types.
1090         (cl--typedef-regexp): New const.
1091         (find-function-regexp-alist): Add entry for types.
1092         (cl-help-type, cl-type-definition): New buttons.
1093         (cl-find-class): New function.
1094         (cl-describe-type): New command.
1095         (cl--describe-class, cl--describe-class-slot)
1096         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1097         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1098         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1099         New functions.  Moved from eieio-opt.el.
1100         (cl--generic-class-parents): New function, extracted from
1101         cl--generic-struct-specializers.
1102         (cl--generic-struct-specializers): Use it.
1103         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1104         Improve constructor's docstrings.
1105         (cl-struct-unknown-slot): New error.
1106         (cl-struct-slot-offset): Use it.
1107         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1108         definition in current-load-list.
1109         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1110         (eieio--add-new-slot): Set it.
1111         (eieio-defclass-internal): Use new name for current-load-list.
1112         (eieio-oref): Add compiler-macro to warn about unknown slots.
1113         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1114         as compile-time as well.  Improve constructor docstrings.
1115         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1116         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1117         (eieio-class-def): Remove button.
1118         (eieio-help-constructor): Use new name for load-history element.
1119         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1120         (eieio-method-documentation): Move to cl-generic.el.
1121         (eieio-display-method-list): Use new names.
1122         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1123         Add "define-linline".
1124         (lisp-fdefs): Remove "defsubst".
1125         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1126         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1127         (macroexp--warn-and-return): Use it to avoid inf-loops.
1128         Add `compile-only' argument.
1130 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1132         python.el: Fix local/remote shell environment setup
1133         * lisp/progmodes/python.el (python-shell-with-environment): Fix
1134         remote/local environment setup.
1135         * test/automated/python-tests.el (python-shell-with-environment-1)
1136         (python-shell-with-environment-2): New tests.
1138 2015-07-06  Glenn Morris  <rgm@gnu.org>
1140         * lisp/simple.el (set-variable): Tweak recent doc fix.
1142 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1144         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
1146 2015-07-06  Glenn Morris  <rgm@gnu.org>
1148         * lisp/simple.el (set-variable): Use user-error for type mismatch.
1150 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1152         * src/emacs.c (main): Don't increase the stack size on Cygwin
1154 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
1156         (describe-symbol): Rewrite describe-function-or-variable
1157         * lisp/help-fns.el (describe-symbol-backends): New var.
1158         (help-xref-stack-item): Declare.
1159         (describe-symbol): Rename from describe-function-or-variable.
1160         Rewrite using describe-symbol-backends instead of help-xref-interned.
1161         * lisp/help.el (help-map): Use it.
1162         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
1163         (help-xref-interned): Make it into an obsolete alias.
1165         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
1166         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
1167         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
1169 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
1171         Fix parsing glitches in dired-mark-sexp (bug#13575)
1172         * lisp/dired-x.el (dired-x--string-to-number): New function.
1173         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
1174         of directory-listing-before-filename-regexp.  Consider
1175         forward-word harmful and replace it.  Add more verbiage in
1176         comments and doc string.
1178 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1180         python.el: Respect process environment for remote shells
1181         * lisp/progmodes/python.el
1182         (python-shell-calculate-process-environment): Calculate
1183         process-environment or tramp-remote-process-environment depending
1184         whether current file is remote.
1185         (python-shell-calculate-exec-path): Calculate exec-path or
1186         tramp-remote-path depending whether current file is remote.
1187         (python-shell-with-environment): New macro.
1188         (python-shell-prompt-detect, python-shell-calculate-command)
1189         (python-shell-make-comint, python-check): Use it.
1191         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
1192         * lisp/progmodes/python.el (python-shell--interpreter)
1193         (python-shell--interpreter-args): New vars.
1194         (inferior-python-mode, python-shell-make-comint): Use them.
1196         python.el: Fixes for IPython 3.x  (Bug#20580)
1197         * lisp/progmodes/python.el:
1198         (python-shell-completion-native-setup): Fix IPython 3.x setup.
1199         (python-shell-completion-native-get-completions): Fix timeout
1200         logic.
1202         python.el: Fix mark-defun behavior  (Bug#19665)
1203         * lisp/progmodes/python.el: (python-mark-defun): New function.
1204         * test/automated/python-tests.el (python-mark-defun-1)
1205         (python-mark-defun-2, python-mark-defun-3): New tests.
1207 2015-07-05  Glenn Morris  <rgm@gnu.org>
1209         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
1210         such as "extends(parent), private".  (Bug#20969)
1211         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
1212         New tests.
1214 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1216         Avoid duplicate calls to current_timespec
1217         * src/process.c (wait_reading_process_output):
1218         Cache current_timespec results as long as we're not waiting.
1220 2015-07-05  Ian Kelling  <ian@iankelling.org>
1222         Avoid returning early reading process output due to SIGIO
1223         * src/process.c (wait_reading_process_output): Extend the behavior of
1224         not breaking due to not finding output when a timer has lowered the
1225         timeout to include when SIGIO lowers the timeout.
1227         Don't return as fast reading any process output
1228         * src/process.c (wait_reading_process_output):
1229         The patch for Bug#17647 returns too fast sometimes when reading
1230         from any processes. Revert part of it, and limit the timeout more
1231         sensibly (Bug#20978).
1233         Refactor timeouts in wait_reading_process_output
1234         * src/process.c (wait_reading_process_output):
1235         Simplify timeouts with an enum.  Remove a redundant condition.
1236         (Bug#20978)
1238         Remove ADAPTIVE_READ_BUFFERING ifdef
1239         * src/process.c (make-process, make-pipe-process, deactivate_process)
1240         (wait_reading_process_output, read_process_output, send_process)
1241         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
1242         added in case there was an operating system in which it was not
1243         useful.  That was 11 years ago and it hasn't happened.  Make
1244         development easier by not considering the effect of changes on a
1245         theoretical OS where this is disabled (Bug#20978).
1247 2015-07-05  Glenn Morris  <rgm@gnu.org>
1249         * lisp/simple.el (set-variable): Doc fix.
1251         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
1253 2015-07-05  Ian Kelling  <ian@iankelling.org>
1255         accept-process-output fix
1256         This is a followon to the fix for Bug#17647 (Bug#20976).
1257         * src/process.c (status_notify): Fix too high return in some cases.
1259 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1261         * lisp/character-fold.el (character-fold-table):
1262         Only fold decompositions if at least one character is non-spacing.
1263         (Bug#20975)
1265 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1267         Merge from gnulib
1268         This incorporates:
1269         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
1270         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
1271         2015-07-02 update-copyright: fix test failure with perl >= 5.22
1272         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
1273         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
1274         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
1275         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
1277 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
1279         Respect `prog-indentation-context' in python.el
1280         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
1281         (python-indent-context, python-indent--calculate-indentation)
1282         (python-info-current-defun)
1283         (python-info-dedenter-opening-block-message)
1284         (python-info-line-ends-backslash-p)
1285         (python-info-beginning-of-backslash)
1286         (python-info-continuation-line-p): Use `prog-widen'.
1287         (python-indent--calculate-indentation)
1288         (python-indent--calculate-levels)
1289         (python-indent-calculate-indentation): Use `prog-first-column'.
1290         (python-indent--calculate-levels): Simplify.
1291         Ignore also initial empty lines for syntax calculation.
1292         * lisp/progmodes/python.el (python-indent-context): Return
1293         :no-indent for first non-empty line, not just in line 1.
1294         * test/automated/python-tests.el (python-indent-base-case)
1295         (python-indent-inside-paren-1, python-indent-inside-paren-2)
1296         (python-indent-inside-paren-3, python-indent-inside-paren-4)
1297         (python-indent-inside-paren-5, python-indent-inside-paren-6)
1298         (python-indent-after-backslash-1)
1299         (python-indent-after-backslash-2)
1300         (python-indent-after-backslash-3)
1301         (python-indent-after-backslash-4, python-indent-inside-string-1):
1302         Expect :no-indent for first non-empty line.
1304 2015-07-04  Daniel Colascione  <dancol@dancol.org>
1306         Factor isearch word description into new function
1307         * lisp/isearch.el (isearch--describe-word-mode): New function.
1308         (isearch-message-prefix, isearch-query-replace): Use it.
1310 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
1312         Fix mouse pointer on w32 when a menu is active
1313         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
1314         shape while a menu is in use.  This started happening since we now
1315         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
1317 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
1319         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
1320         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
1321         parameter.  (Bug#17344)
1323         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
1324         * lisp/progmodes/compile.el (compilation-set-window): Take
1325         `window-fringes' from argument window.  (Bug#20829)
1327 2015-07-03  Glenn Morris  <rgm@gnu.org>
1329         Update eieio tests for recent eieio-core change.
1330         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
1331         * test/automated/eieio-tests.el
1332         (eieio-test-32-slot-attribute-override-2):
1333         Replace the deleted eieio--class-v with cl--find-class.
1335 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
1337         Fix some issues with `window-divider-mode'
1338         * lisp/frame.el (window-divider-default-places): New option.
1339         (window-divider-mode): Remove option.
1340         (window-divider-mode): Make it a "regular" minor mode.
1341         (window-divider-width-valid-p): Drop frame- prefix.
1342         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
1343         prefix.  Handle `window-divider-default-places'.
1344         (frame--window-divider-mode-set-and-apply): Remove.
1345         (window-divider-default-bottom-width)
1346         (window-divider-default-right-width): Drop :group entries.
1347         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
1348         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1349         (menu-bar-no-window-divider): Set `window-divider-default-places'
1350         and call `window-divider-mode'.
1351         * doc/emacs/frames.texi (Window Dividers): Document
1352         `window-divider-default-places'.
1354 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
1356         Add cross references in documentation
1357         * doc/emacs/display.texi (Displaying Boundaries):
1358         * doc/emacs/search.texi (Word Search): Add cross references.
1360 2015-07-02  Eli Zaretskii  <eliz@gnu.org>
1362         ;* src/bidi.c (bpa_stack_entry): Update commentary for Unicode 8.0.
1364 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1366         -batch should not affect ‘’ -> `' display
1367         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
1368         -batch (Bug#20926).
1370 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
1372         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
1373         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
1374           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
1375         Use cl--find-class instead.
1377         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
1379 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
1381         Some further fixes in Change Window node.  (Bug#20183)
1382         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
1383         by "resizing" in section title.  Add some concept indices.
1384         Suggested by N. Jackson (Bug#20183).
1386         Reference window dividers in Change Window section.
1387         * doc/emacs/windows.texi (Change Window): Reference window
1388         dividers.
1390         Document new `window-divider-mode'.
1391         * lisp/frame.el (window-divider-mode): Fix doc-string.
1392         * doc/emacs/frames.texi (Window Dividers): New section.
1394         Improve accessibility of window dividers.  (Bug#20183)
1395         * lisp/faces.el (window-divider)
1396         (window-divider-first-pixel, window-divider-last-pixel): Change
1397         membership from `frames' to `window-divider' customization group.
1398         * lisp/frame.el (window-divider): New customization group.
1399         (window-divider-mode): New minor mode.
1400         (window-divider-default-bottom-width)
1401         (window-divider-default-right-width): New options.
1402         (frame--window-divider-previous-mode): New variable.
1403         (frame-window-divider-width-valid-p)
1404         (frame--window-divider-mode-apply)
1405         (frame--window-divider-mode-set-and-apply): New functions.
1406         * lisp/menu-bar.el (menu-bar-options-save): Save
1407         window-divider-mode settings.
1408         (menu-bar-window-divider-customize)
1409         (menu-bar-bottom-and-right-window-divider)
1410         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1411         (menu-bar-no-window-divider): New functions.
1412         (menu-bar-showhide-window-divider-menu): New variable.
1413         (menu-bar-showhide-menu): Show/hide window divider menu.
1414         * lisp/mouse.el (mouse-split-window-vertically)
1415         (mouse-split-window-horizontally): Replace `error' by
1416         `user-error'.  Bind `window-combination-resize' to nil.
1417         (top-level): Add/reorder mouse key bindings on mode- and
1418         vertical-line.
1420 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1422         Don't display ‘’ as `' under X in en_GB
1423         The curved quote setup code invokes (char-displayable-p ?‘),
1424         but this isn’t reliable until after the X frame replaces the
1425         terminal frame (Bug#20926).
1426         * lisp/international/mule-cmds.el (set-locale-environment):
1427         Move curved quote setup code from here ...
1428         * lisp/startup.el (command-line): ... to here, after creating
1429         the X frame.
1431 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
1433         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
1435         Add argument to reverse the meaning of ido-restrict-to-matches
1436         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
1437         to reverse the meaning (Bug#15631).
1439 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
1441         Be more tolerant to fonts named "Foobar-12"
1442         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
1443         don't barf; instead, request a new fontset to be generated.  This
1444         avoids unnecessarily rejecting fonts named against XLFD rules.  See
1445         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
1446         for the description of the original problem.
1447         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
1448         by a hyphen in a font's name.
1450         Fix value of posn-at-pont in R2L lines
1451         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
1452         coordinate of -1, for a newline in a right-to-left line that
1453         overflowed into the left fringe.
1455 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1457         (cl--copy-slot-descriptor): Copy the `props' alist as well
1458         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
1459         Rename from cl--copy-slot-descriptor.
1460         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
1462 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1464         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
1465         (xterm-query-timeout): New var.
1466         (xterm--query): Use it.  Fallback on async method if we timeout before
1467         getting the first byte of the reply (bug#12354).
1469 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1471         Spelling fixes
1473 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1475         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
1477 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1479         In strings, prefer plain ` and ' to \` and \'
1480         * lisp/allout.el (allout-insert-listified):
1481         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
1482         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
1483         (ls-lisp-string-lessp):
1484         * lisp/menu-bar.el (menu-bar-open):
1485         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
1486         * lisp/progmodes/compile.el (compile):
1487         * lisp/progmodes/etags.el (tags-loop-scan):
1488         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
1489         * lisp/subr.el (posn-actual-col-row):
1490         * lisp/term/pc-win.el (x-list-fonts):
1491         * lisp/textmodes/texinfmt.el (texinfmt-version):
1492         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
1493         * lisp/time.el (display-time-world-list):
1494         * lisp/tmm.el (tmm-menubar):
1495         * src/buffer.c (syms_of_buffer):
1496         * src/fileio.c (syms_of_fileio):
1497         Omit unnecessary and confusing backslash before quote.
1498         * lisp/erc/erc.el (erc-cmd-LASTLOG):
1499         * lisp/progmodes/flymake.el (flymake-fix-file-name):
1500         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
1501         Fix string that was intended to escape a backslash and not a quote.
1503 2015-06-30  Glenn Morris  <rgm@gnu.org>
1505         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
1507         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
1508         Replace hard-coded lists with wildcard + filter-out.
1510         * configure.ac (system-configuration-features): Add X11, NS.
1512         Improve reproducibility of generated loaddefs file.
1513         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1514         Make the return value the modtime of the input file (if no autoloads).
1515         (update-directory-autoloads): In the "no autoloads" section,
1516         use "most recent modtime" rather than "current time".
1518 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1520         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
1521         (Bug#20930)
1523 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
1525         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
1527         Add seq-min and seq-max
1528         Bump version number.
1529         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
1530         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
1532 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1534         Make sure sleep-for always delays for as long as it's told
1535         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
1536         a loop, to ensure we always wait exactly the required amount of
1537         time.  (Bug#15990)
1539 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1541         Fix pointer signedness glitch
1542         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
1544 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1546         Don't block changes in mouse pointer inside 'track-mouse'
1547         * etc/NEWS:
1548         * doc/lispref/frames.texi (Mouse Tracking): Document the special
1549         effect of setting 'track-mouse' to 'dragging'.
1550         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
1551         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
1552         * lisp/mouse-drag.el (mouse-drag-throw):
1553         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
1554         to avoid changes in the shape of the mouse pointer.
1555         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
1556         pointer shape when do_mouse_tracking has the value of 'dragging',
1557         not just any non-nil value.  (Bug#20934)
1558         (syms_of_xdisp): DEFSYM 'dragging'.
1560 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1562         * lisp/isearch.el (isearch-toggle-word): Fix toggle
1564         * lisp/emacs-lisp/package.el (package-compute-transaction):
1565         Don't assume version sorting.
1567         * lisp/emacs-lisp/package.el (package--save-selected-packages):
1568         Don't save before init time, to avoid overwriting configurations.
1569         (Bug#20855)
1571 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1573         Add cross references.
1574         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
1575         references.
1577 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
1579         cfengine.el: update for the upcoming CFEngine 3.7 release
1580         Update for the upcoming CFEngine 3.7 release: support macros and
1581         quoted context strings; reformat JSON; indent promise attributes 2
1582         units by default; give function parameter descriptions in the eldoc
1583         glue.
1584         * cfengine.el: Update version and docs and fix name.  Autoload
1585         `json-pretty-print'.  Support new features in 3.7.
1586         (cfengine-parameters-indent): Set default promise attribute indent to
1587         2 more than the promise itself.
1588         (cfengine3-macro-regex): New variable to match the new macro syntax.
1589         (cfengine3-font-lock-keywords): Use it to highlight macros.
1590         (cfengine3-indent-line): Use it to indent macros to column 0.
1591         (cfengine3-class-selector-regex): Update for the new quoted strings
1592         format.
1593         (cfengine3-reformat-json-string): New function to reformat a JSON
1594         string using `json-pretty-print'.
1595         (cfengine3-format-function-docstring): Use function parameter
1596         description if it's provided by the cf-promises syntax dump.
1598 2015-06-29  Michael R. Mauger  <michael@mauger.com>
1600         Cygwin emacsclient handles w32 file names
1602 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
1604         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
1606 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
1608         * doc/lispref/text.texi (Sticky Properties): Improve wording.
1609         (Bug#20924)
1611         Allow font names that end in "-NN", where NN is a number
1612         * src/font.c (font_load_for_lface): If the font-spec didn't match
1613         any available fonts, try again without interpreting trailing "-NN"
1614         as the font size.  For the description of the original problem, see
1615         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
1617         .gdbinit followup to changes in !USE_LSB_TAG
1618         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
1619         !USE_LSB_TAG, as Emacs no longer does.
1621 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
1623         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
1624         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
1626 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1628         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1629         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
1631 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1633         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
1635         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
1637 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1639         apropos-library quoting fix
1640         * lisp/apropos.el (apropos-library): Quote library consistently
1641         with the rest of the quoting used by apropos.
1643         Clarify interpreter-mode-alist doc
1644         * lisp/files.el (interpreter-mode-alist):
1645         Reword to avoid confusing quoting that wasn't working anyway.
1647 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
1649         Sync with Tramp 2.2.12
1650         * doc/misc/trampver.texi:
1651         * lisp/net/trampver.el: Update release number.
1652         * test/automated/tramp-tests.el (tramp-test13-make-directory):
1653         Fix cleanup.
1655 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
1657         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
1658         (bug#20913)
1660 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
1662         Bind grep-highlight-matches around the rgrep call
1663         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
1664         around the rgrep call (bug#20728).
1666         Put "--color" before the other options in grep-command
1667         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
1668         before the other options in grep-command (bug#20912).
1670         Add --color Grep option to the command dynamically
1671         * lisp/progmodes/grep.el (grep-template, grep-find-template):
1672         Update the description for <C>.  (Bug#20728)
1673         (grep-compute-defaults): Don't add the --color option to
1674         grep-options.  Only add it to grep-command.
1675         (grep-expand-keywords): Expand the env value opts into <C>.
1676         (grep-expand-template): Replace cf in the env with the opts list,
1677         that can include -i and --color.
1678         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
1679         "--color=always" from the template, because we don't have to.
1681 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
1683         cl-extra fixes for most-negative-fixnum
1684         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
1685         Don't mishandle an argument equal to most-negative-fixnum,
1686         whose absolute value equals itself.
1687         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
1689         Initialize cl--gensym-counter to 0
1690         Previously it was initialized to a random value, which made it
1691         harder to reproduce earlier Emacs runs.  The need for a random
1692         value went away when Emacs introduced and used the #: syntax for
1693         uninterned symbols (Bug#20862).
1694         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
1695         Document that cl--gensym-counter now starts with 0.
1696         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
1697         (cl--random-time): Move to near only remaining use.
1698         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
1700         Improve docstring for macroexp-let2
1701         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
1702         Improve as per suggestion by RMS in:
1703         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
1704         Also, rename args to match new doc string.
1706 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
1708         Fix VC test suite on MS-Windows
1709         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
1710         always starts with 3 slashes after the colon.
1711         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
1712         'w32-application-type' to invoke CVS on MS-Windows with properly
1713         formatted CVSROOT directory name.
1715         Add a new function w32-application-type
1716         * src/w32proc.c (Fw32_application_type): New function.
1718         Avoid error in TLS connections due to incorrect format
1719         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
1720         the call to 'error', instead of the unsupported %u.  Reported by
1721         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
1723 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1725         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
1727 2015-06-26  Leo Liu  <sdl.web@gmail.com>
1729         Fix indentation for with-output-to-string
1730         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
1731           `with-output-to-string' in elisp.
1732           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
1733           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
1735 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
1737         Minor corrections in ELisp manual
1738         * doc/lispref/nonascii.texi (Character Properties): Correct
1739         inaccuracies in description of values of the Unicode properties.
1741         Fix invisible mouse pointers on Windows.
1742         * src/w32fns.c: Include windowsx.h.
1743         (w32_wnd_proc): If the mouse moved and the mouse pointer is
1744         invisible, make it visible again even when the main (Lisp)
1745         thread is busy.
1746         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
1747         garbaging the frame have the input thread call SetCursor.
1749 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
1751         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
1752         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
1753         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
1754         * src/w32term.c (w32_hide_hourglass): Handle
1755         f->pointer_invisible.
1756         (w32_toggle_invisible_pointer): New function.
1757         (w32_create_terminal): Add w32_toggle_invisible_pointer as
1758         toggle_invisible_pointer_hook for this terminal.
1760 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
1762         Doc fix for deletion commands
1763         'delete-char' does not respect the value of 'delete-active-region'.
1764         * doc/emacs/killing.texi (Deletion):
1765         Fix documentation for some single-char deletion commands.
1767         * doc/emacs/help.texi (Apropos):
1768         Improve documentation of 'apropos-do-all'.
1770         * doc/emacs/help.texi (Help Summary):
1771         Improve documentation of 'describe-mode'.
1773 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1775         Fix submake dependency bug with .h files
1776         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
1777         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
1778         before the submake in $(libsrc) would spin off a subsubmake
1779         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
1781 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1783         * lisp/character-fold.el (character-fold-table): Reuse `table'
1785 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1787         Translate undisplayable ‘ to `
1788         * doc/lispref/help.texi (Keys in Documentation):
1789         * lisp/international/mule-cmds.el (set-locale-environment):
1790         * lisp/term/w32console.el (terminal-init-w32console):
1791         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
1792         If ‘ is not displayable, transliterate it to `, not to '.  See:
1793         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
1795         Fix C99 incompatibilities in Cairo code
1796         * src/image.c (xpm_load) [USE_CAIRO]:
1797         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
1798         Fix pointer signedness problem.
1800 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
1802         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
1803         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
1804           `with-output-to-string' should have the same indent as `progn'.
1805           This is in line with the declaration of `with-output-to-string'.
1807 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1809         Get ‘./configure; make -C src emacs’ to work
1810         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
1811         * lib-src/Makefile.in (../lib/libgnu.a):
1812         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
1814 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1816         Fix GC bugs --with-wide-int and Qnil == 0
1817         Use the same alignment for the !USE_LSB_TAG case as for the
1818         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
1819         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
1820         once we changed the representation of symbols so that Qnil == 0.
1821         Problem reported by Eli Zaretskii (Bug#20862).
1822         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
1823         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
1824         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
1825         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
1826         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
1827         This optimization in the !USE_LSB_TAG case is no longer valid when
1828         symbols are represented via offsets.  Change the only use to
1829         assume that pointers might hide in objects.
1830         * src/lisp.h (alignas) [!USE_LSB_TAG]:
1831         Require support in this case, too.
1832         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
1833         This is OK, because the !USE_LSB_TAG case now applies only when
1834         Lisp_Object is wider than void *, so there's no longer any need
1835         to shift the offset.  Not shifting the offset means that
1836         symbol representations have the same alignment as pointers,
1837         which the GC assumes.
1839 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
1841         * doc/lispintro/emacs-lisp-intro.texi (Data types):
1842         Improve documentation of 'substring'.
1844 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1846         * lisp/character-fold.el (character-fold-table): Fix table generation
1848 2015-06-24  Glenn Morris  <rgm@gnu.org>
1850         * nextstep/Makefile.in (all): Make it the first target.
1851         (../src/emacs${EXEEXT}): Add rule for making it.
1853 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1855         * etc/NEWS: Fix mention to old function name
1857         * lisp/character-fold.el: New file (Bug#20887)
1858         (character-fold-to-regexp): New function.
1859         * lisp/replace.el (replace-search): Check value of
1860         `character-fold-search'.
1861         * lisp/isearch.el: Move character-folding code to
1862         character-fold.el
1863         (isearch-toggle-character-fold): New command.
1864         (isearch-mode-map): Bind it to "\M-sf".
1865         (isearch-mode): Check value of `character-fold-search'.
1867 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1869         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
1870         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
1871         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
1873         * lisp/progmodes/xref.el: Avoid init-args in oref.
1874         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
1875         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
1877 2015-06-24  Glenn Morris  <rgm@gnu.org>
1879         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
1881 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1883         * lisp/gnus/nnmaildir.el: Silence lexical warnings
1884         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
1885         functional style.
1886         (nnmaildir--update-nov): Remove unused var `numdir'.
1887         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
1888         (nnmaildir-request-group, nnmaildir-request-create-group)
1889         (nnmaildir-request-post, nnmaildir-request-move-article)
1890         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
1891         (nnmaildir-get-new-mail, nnmaildir-group-alist)
1892         (nnmaildir-active-file): Declare.
1893         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
1894         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
1895         `mark', `end', `new-mark', and `mark-sym'.
1896         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
1897         `nlist2'.
1898         (nnmaildir-request-expire-articles):
1899         Remove unused vars `article', `stop' and `nlist2'.
1900         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
1901         `end'.  Use nnmaildir--article when dyn-binding is needed.
1902         Give the value directly in the `let' for `del-mark', `del-action',
1903         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
1904         (nnmaildir-close-server): Declare those local vars that need to be
1905         dyn-bound.
1907 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1909         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
1911         Port selection info fix to clang
1912         * src/keyboard.h (kbd_buffer_store_event_hold):
1913         Don't assume C11 semantics for alignof (Bug#20756).
1915         Fix bug that munged selection info
1916         On some optimizing C compilers, copying a structure did not
1917         copy the padding bytes between elements, and the type punning
1918         between struct input_data and struct selection_input_data did
1919         not work.  Change the C code to use a proper union type instead.
1920         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
1921         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
1922         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
1923         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
1924         (mark_kboards):
1925         Use union buffered_input_event, not struct input_event.
1926         (clear_event, deliver_input_available_signal, process_special_events):
1927         Remove unnecessary forward decls.
1928         (kbd_buffer_store_buffered_event): New function, mostly just the
1929         old kbd_buffer_store_event_hold, except its argument is of type
1930         union buffered_input_event, not struct input_event.
1931         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
1932         not needed otherwise.  Argument is now of type
1933         struct selection_input_event *, not struct input_event *.
1934         All callers changed.
1935         (clear_event): Arg is now of type union buffered_input_event *,
1936         not struct input_event *.  All callers changed.
1937         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
1938         (union buffered_input_event): New type.
1939         (kbd_buffer_store_event_hold): Now an inline function,
1940         defined here.
1941         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
1942         (struct input_event): Use it.
1943         * src/xselect.c (struct selection_event_queue):
1944         Make elements be of type struct selection_input_event,
1945         not struct input_event.
1946         (selection_input_event_equal): New static function.
1947         (x_queue_event): Use it.
1948         (x_queue_event, x_decline_selection_request)
1949         (x_selection_current_request, x_reply_selection_request)
1950         (x_handle_selection_request, x_handle_selection_clear)
1951         (x_handle_selection_event): Use struct selection_input_event,
1952         not struct input_event.  All callers changed.
1953         (x_convert_selection): Omit unused first arg.  All callers changed.
1954         (Fx_disown_selection_internal): Omit unnecessary union.
1955         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
1956         rather than rolling our own equivalent.  Prefer sie.kind when
1957         setting up that kind of structure.
1958         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
1959         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
1960         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
1961         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
1962         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
1963         (SELECTION_EVENT_TIME, x_handle_selection_event):
1964         Arg is now of type struct selection_input_event *)
1965         not struct input_event *.  All callers changed.
1967 2015-06-23  Glenn Morris  <rgm@gnu.org>
1969         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
1971 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1973         * lisp/isearch.el: Fold many unicode characters to ASCII
1974         (isearch-character-fold-search, isearch--character-fold-extras)
1975         (isearch--character-fold-table): New variable.
1976         (isearch--character-folded-regexp): New function.
1977         (isearch-search-fun-default): Use them.
1978         * lisp/replace.el (replace-character-fold): New variable.
1979         (replace-search): Use it.
1980         * etc/NEWS: Document it.
1982 2015-06-23  Glenn Morris  <rgm@gnu.org>
1984         Check for an input event before showing a dialog box.  (Bug#20813)
1985         * lisp/subr.el (y-or-n-p):
1986         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
1987         as last-nonmenu-event.
1989 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
1991         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
1992         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
1993         (switch-to-prev-buffer, switch-to-next-buffer): Respect
1994         switch-to-visible-buffer independent of the windows history.
1996 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1998         * src/keyboard.c (last_timer_event): Remove unused var.
2000 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2002         * test/automated/package-test.el (package-test-update-listing):
2003         Fix test.
2005 2015-06-23  Glenn Morris  <rgm@gnu.org>
2007         Revert 2014-06-25 nextstep/Makefile change.
2008         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2009         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2010         not as an order-only prerequisite.
2012         * configure.ac (--with-ns): Enable by default on OS X.
2014 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2016         Fix shell-for/backward-command to exclude spaces
2017         * lisp/shell.el (shell-forward-command, shell-backward-command):
2018           Handle the 'move case from re-search-forward/backward.
2019           fixes debbugs:20873
2021 2015-06-22  Juri Linkov  <juri@linkov.net>
2023         * lisp/replace.el (query-replace-read-from): Add separator to
2024         the local binding of text-property-default-nonsticky.  (Bug#20690)
2026         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2027         (Bug#20785)
2029 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2031         Enable CPU profiling on Cygwin
2032         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2033         change that undefined this.
2034         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2035         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2036           Cygwin.
2038         Improve diagnostics of profiler-cpu-start
2039         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2040         return -1 if the sampling interval is invalid.
2041         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2042         fails.  (Bug#20843)
2044 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2046         * lisp/emacs-lisp/package.el: Exclude packages by name
2047         (package-hidden-regexps): New variable.
2048         (package-menu--refresh): Use it.
2049         (package-menu-hide-package): New command.
2051         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2053 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2055         Fix debug-timer-check on systems without HAVE_TIMERFD
2056         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2057         the expired timers, since wait_reading_process_output doesn't.
2058         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2060         Fix RCS crashes in vc-test
2061         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2062         ports of 'ci' on MS-Windows by always passing the -t- switch.
2064 2015-06-22  Glenn Morris  <rgm@gnu.org>
2066         * doc/emacs/package.texi (Packages):
2067         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2069         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2071 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2073         Port tests to help-quote-translation
2074         * test/automated/ert-x-tests.el (ert-test-describe-test):
2075         * test/automated/package-test.el (package-test-describe-package)
2076         (package-test-signed): Allow straight quotes, too.
2078 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2080         Make find-function-on-key use the current window
2081         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2082         Extract from `find-function-on-key', add a second argument.
2083         (find-function-on-key): Use it (bug#19679).
2084         (find-function-on-key-other-window)
2085         (find-function-on-key-other-frame): New commands.
2087 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2089         Revert "Define `map-elt' as a generalized variable"
2090         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2092 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2094         Drop support for CPU profiling on Cygwin
2095         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2096         (Bug#20843)
2098 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2100         Fix some “nested” quoting confusion in doc strings
2101         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2102         * lisp/kermit.el (kermit-clean-on):
2103         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2104         * src/keyboard.c (Frecursive_edit):
2105         Use curved quotes when quoting text containing apostrophe,
2106         so that the apostrophe isn't curved in the output.
2108 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2110         Define `map-elt' as a generalized variable
2111         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2112         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2113         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2114         `setf' with `map-elt'.
2115         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2117 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2119         Improve error handling in tramp-adb.el
2120         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2121         Improve error handling.
2123 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2125         Reuse `alist-get' in map.el
2126         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2127         elements.
2129 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2131         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2132         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2133         Allow the warning to begin on the 3rd, not only 2nd line, which
2134         happens if temporary-file-directory has a very long name.
2136         Expect 2 icalendar tests to fail on MS-Windows
2137         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
2138         (icalendar-real-world): Make them expected failures on MS-Windows.
2140 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2142         Improve port of settings UI to older displays
2143         * lisp/cus-start.el (standard): Don't assume curved quotes are
2144         easily distinguishable when users are tinkering with a setting
2145         that affects how curved quotes are generated.
2147         Fix quoting in electric-quote-mode doc string
2148         * lisp/electric.el (electric-quote-mode): Fix quoting.
2149         This is a fallout from the recent change introducing
2150         ‘help-quote-translation’.
2152         Spelling fix
2154         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
2156         * src/doc.c (syms_of_doc): Remove unused symbols.
2158 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
2160         In ‘window-state-put’ undedicate target window.  (Bug#20848)
2161         * lisp/window.el (window-state-put): Undedicate target window
2162         before putting STATE into it.  (Bug#20848)
2164 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2166         Merge from origin/emacs-24
2167         a5e6f33 Fixes: debbugs:20832
2168         b9f02cf Fixes: debbugs:20832
2170 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2172         Fix file-in-directory-p when the directory is UNC
2173         * lisp/files.el (file-in-directory-p): Support files and
2174         directories that begin with "//".  (Bug#20844)
2176 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
2178         (Bug#20832)
2179         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
2180         in the minibuffer.
2182 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
2184         (Bug#20832)
2185         * lisp/calendar/todo-mode.el (todo-show): Signal an error
2186         if buffer for adding new todo file is empty but modified.
2188 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2190         (filepos-to-bufferpos): Further tweaks to the utf-16 code
2191         * lisp/international/mule-util.el (filepos-to-bufferpos):
2192         Fix typo.  Move non-exact check to the utf-16 branch (the only one
2193         affected).  Don't use byte-to-position for the utf-16 case.
2195 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2197         Minor fixes in filepos-to-bufferpos
2198         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
2199         test for utf-8-emacs.  Exempt single-byte encodings from the
2200         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
2201         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
2202         UTF-16 encoded files for CR-LF EOLs.
2204 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2206         Improve the optional translation of quotes
2207         Fix several problems with the recently-added custom variable
2208         help-quote-translation where the code would quote inconsistently
2209         in help buffers.  Add support for quoting 'like this', which
2210         is common in other GNU programs in ASCII environments.  Change
2211         help-quote-translation to use more mnemonic values: values are now the
2212         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
2213         traditional Emacs help-buffer quoting style `like this'.  Change the
2214         default behavior of substitute-command-keys to match what's done in
2215         set-locale-environment, i.e., quote ‘like this’ if displayable,
2216         'like this' otherwise.
2217         * doc/lispref/help.texi (Keys in Documentation): Document
2218         new behavior of substitute-command-keys, and document
2219         help-quote-translation.
2220         * doc/lispref/tips.texi (Documentation Tips):
2221         Mention the effect of help-quote-translation.
2222         * etc/NEWS: Mention new behavior of substitute-command-keys,
2223         and merge help-quote-translation news into it.
2224         When talking about doc strings, mention new ways to type quotes.
2225         * lisp/cedet/mode-local.el (overload-docstring-extension):
2226         Revert my recent change to this function, which shouldn't be
2227         needed as the result is a doc string.
2228         * lisp/cedet/mode-local.el (mode-local-print-binding)
2229         (mode-local-describe-bindings-2):
2230         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2231         * lisp/cus-theme.el (describe-theme-1):
2232         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2233         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2234         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2235         (eieio-help-constructor):
2236         * lisp/emacs-lisp/package.el (describe-package-1):
2237         * lisp/faces.el (describe-face):
2238         * lisp/help-fns.el (help-fns--key-bindings)
2239         (help-fns--compiler-macro, help-fns--parent-mode)
2240         (help-fns--obsolete, help-fns--interactive-only)
2241         (describe-function-1, describe-variable):
2242         * lisp/help.el (describe-mode):
2243         Use substitute-command-keys to ensure a more-consistent quoting
2244         style in help buffers.
2245         * lisp/cus-start.el (standard):
2246         Document new help-quote-translation behavior.
2247         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
2248         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
2249         (help-xref-url-regexp):
2250         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2251         * lisp/wid-edit.el (widget-documentation-link-regexp):
2252         Also match 'foo', in case we're in a help buffer generated when
2253         help-quote-translation is ?'.
2254         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
2255         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
2256         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
2257         (Fsubstitute_command_keys): Document and implement new behavior.
2258         (Vhelp_quote_translation): Document new behavior.
2260 2015-06-18  Glenn Morris  <rgm@gnu.org>
2262         * lisp/cus-start.el (help-quote-translation): Add :version.
2264         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
2266 2015-06-18  Alan Mackenzie  <acm@muc.de>
2268         Make translation of quotes to curly in doc strings optional.
2269         src/doc.c (traditional, prefer-unicode): new symbols.
2270         (help-quote-translation): new variable.
2271         (Fsubstitute_command_keys): make translation of quotes dependent on
2272         `help-quote-translation'; also translate curly quotes back to ASCII
2273         ones.
2274         lisp/cus-start.el (top-level): Add a customization entry for
2275         `help-quote-translation'.
2277 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2279         * lisp/emacs-lisp/package.el: Don't always propagate async errors
2280         (package--with-work-buffer-async): Only propagate the error if the
2281         callback returns non-nil.
2282         (package--download-one-archive): Return nil on the signature
2283         checking callback if we accept unsigned.
2284         (package--download-and-read-archives): Return non-nil on the
2285         archive download callback.
2287 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
2289         Fix last fix"
2291         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
2292         * src/nsfns.m (Fx_create_frame):
2293         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
2294         image_cache_refcount before first x_default_parameter call.
2296 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2298         Improve and extend filepos-to-bufferpos
2299         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2300         Don't barf if F returns nil for some argument.
2301         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
2302         that every encoding of type 'charset' is single-byte.
2304 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2306         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
2307         Properly delete packages.  (Bug#20836)
2309 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2311         Update data files from just-released Unicode 8.0
2312         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
2313         status.
2314         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
2315         * admin/unidata/BidiMirroring.txt:
2316         * admin/unidata/BidiBrackets.txt:
2317         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
2319 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
2321         Document curved quotes a bit better
2322         * doc/emacs/basic.texi (Inserting Text):
2323         Mention C-x 8.  Change example to use curved quote rather
2324         than infinity, as this lets us give more ways to do it.
2325         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
2326         and quotation marks.
2327         * doc/emacs/text.texi (Quotation Marks):
2328         * doc/lispref/tips.texi (Documentation Tips):
2329         Add "curly quotes" and "curved quotes" to the index.
2330         * doc/emacs/text.texi (Quotation Marks):
2331         Give the C-x 8 shorthands for curved quotes.
2332         Cross-reference to "Quotation Marks".
2334 2015-06-17  Daiki Ueno  <ueno@gnu.org>
2336         Add pinentry.el for better GnuPG integration
2337         * lisp/pinentry.el: New file.
2338         * etc/NEWS: Add entry about pinentry.el.
2339         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
2340         (Bug#20550)
2342 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2344         * lisp/emacs-lisp/package.el: Slightly better error reporting.
2346 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2348         (define-minor-mode): Use setq-default for :global minor modes
2349         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
2350         Use setq-default for :global minor modes (bug#20712).
2352 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
2354         Avoid infloop in redisplay with tall images
2355         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
2356         down near ZV.  (Bug#20808)
2357         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
2358         instead of CHARPOS.
2360 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2362         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2363         Fix error reporting.
2365         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
2367         * lisp/emacs-lisp/package.el: Revert buffer after any operation
2368         Call `package-menu--post-refresh' after any operation that changes
2369         the package database (`package-install' and `package-delete').  To
2370         avoid performance issues in large transactions, these functions
2371         add `post-refresh' to `post-command-hook' instead of calling it
2372         immediately.
2373         (package-menu--mark-or-notify-upgrades): New function.
2374         (list-packages): Add it to `package--post-download-archives-hook'.
2375         (package-menu--post-refresh): Lose the upgrade-checking code, add
2376         code to remove itself from `post-command-hook'.
2377         (package-install, package-delete): Add it to `post-command-hook'.
2378         (package-menu-execute): Don't call `package-menu--post-refresh'.
2380 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
2382         Add missing function xref-location-group for elisp-mode.
2383         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
2385 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
2387         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
2388         The behavior now matches the description in the manual.  (Bug#20783)
2390 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
2392         Update tutorials/TUTORIAL.cn
2393         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
2395 2015-06-17  Glenn Morris  <rgm@gnu.org>
2397         Generate char-script-table from Unicode source.  (Bug#20789)
2398         * admin/unidata/Makefile.in (AWK): New, set by configure.
2399         (all): Add charscript.el.
2400         (blocks): New variable.
2401         (charscript.el, ${unidir}/charscript.el): New targets.
2402         (extraclean): Also remove generated charscript.el.
2403         * admin/unidata/blocks.awk: New script.
2404         * admin/unidata/Blocks.txt: New data file, from unicode.org.
2405         * lisp/international/characters.el: Load charscript.
2406         * src/Makefile.in (charscript): New variable.
2407         (${charscript}): New target.
2408         (${lispintdir}/characters.elc): Depend on charscript.elc.
2409         (temacs$(EXEEXT)): Depend on charscript.
2411         * lisp/international/characters.el (char-script-table): Tweak
2412         some ranges to better match the source.  (Bug#20789#17)
2414         Remove "no-byte-compile: t" from a few files.
2415         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
2416         * lisp/obsolete/patcomp.el: No reason not to compile these.
2418 2015-06-16  Glenn Morris  <rgm@gnu.org>
2420         Fix some typos in copied Unicode data.  (Bug#20789)
2421         * lisp/international/characters.el (char-script-table):
2422         * lisp/international/fontset.el (script-representative-chars)
2423         (setup-default-fontset): Fix typos.
2425         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
2426         Don't print filename twice (it's in the prefix now).
2428         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
2429         No longer needed.
2431         Address a compilation warning.
2432         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
2433         Replace 't' with '_' in pcase.
2435         Address some check-declare warnings.
2436         * lisp/simple.el (tabulated-list-print):
2437         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
2438         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
2439         (ns-get-selection): Update declarations.
2441         Address some compilation warnings.
2442         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
2443         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
2444         Replace 't' with '_' in pcase.
2446         Address some compilation warnings.
2447         * lisp/face-remap.el (text-scale-adjust):
2448         * lisp/menu-bar.el (popup-menu-normalize-position):
2449         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
2450         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
2451         * lisp/emacs-lisp/generator.el (cps--transform-1):
2452         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
2453         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
2454         * lisp/progmodes/octave.el (octave-goto-function-definition)
2455         (octave-find-definition-default-filename):
2456         Replace 't' with '_' in pcase.
2458         * lisp/emacs-lisp/pcase.el (pcase--u1):
2459         Paper-over today's bootstrap failure.
2461 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
2463         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
2465         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
2467         Better confirmation message in `find-alternate-file' (Bug#20830)
2468         * lisp/files.el (find-alternate-file'): Improve the confirmation
2469         message to show the buffer name.
2471         Better docstring for null. (Bug#20815)
2472         * src/data.c (null): Improves the docstring, saying what null returns
2473         when OBJECT is non-nil.
2475 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2477         * lisp/net/newst-treeview.el: Use lexical-binding.
2479         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
2480         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2481         New auxiliary function, extracted from filepos-to-bufferpos.
2482         Make sure it terminates.
2483         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
2484         Add support for the `exact' quality.
2486 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
2488         Identify feeds in newsticker treeview with :nt-feed property
2489         * lisp/net/newst-treeview.el:
2490         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
2492 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2494         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
2495         (pcase--self-quoting-p): Floats aren't self-quoting.
2496         (pcase): Tweak docstring.
2497         (pcase--u1): Deprecate the t pattern.  Improve error detection for
2498         the nil pattern.
2499         (\`): Tweak docstring.  Signal an error for unrecognized cases.
2500         (bug#20784)
2502 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
2504         Fix infloop in filepos-to-bufferpos
2505         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
2506         offset calculation, and make it conditional on the eol-type of the
2507         file's encoding.  (Bug#20825)
2509 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
2511         Fix handling of image cache refcounts.  (Bug#20802)
2512         This backports Eli Zaretskii's solution of this problem for W32
2513         to X and NS.
2514         * src/nsfns.m (image_cache_refcount): Define unconditionally.
2515         (unwind_create_frame): If the image cache's reference count
2516         hasn't been updated yet, do that now.
2517         (Fx_create_frame): Set image_cache_refcount unconditionally.
2518         * src/xfns.c (image_cache_refcount): Define unconditionally.
2519         (unwind_create_frame): If the image cache's reference count
2520         hasn't been updated yet, do that now.
2521         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
2522         unconditionally.
2523         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
2524         X and NS.
2526 2015-06-16  Nils Ackermann  <nils@ackermath.info>
2528         Improve reftex-label-regexps default value
2529         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
2530         keyvals label regexp more strict to better cope with unbalanced
2531         brackets common in math documents.
2533 2015-06-16  Glenn Morris  <rgm@gnu.org>
2535         * doc/emacs/calendar.texi (Format of Diary File):
2536         Move "nonmarking" from here...
2537         (Displaying the Diary): ... to here.
2539         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
2540         Swap the order of these nodes.
2541         * doc/emacs/emacs.texi: Update detailed menu for the above change.
2543         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
2544         Update date of examples.
2545         (Diary, Format of Diary File): Move example from former to latter.
2546         Reduce duplication.
2548         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
2549         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
2550         Don't set no-byte-compile in the outputs.
2551         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
2553 2015-06-15  Glenn Morris  <rgm@gnu.org>
2555         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
2556         * doc/emacs/calendar.texi (Diary, Format of Diary File):
2557         Update for above diary-file change.
2558         : * etc/NEWS: Mention this.
2560         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
2561         (apply-macro-to-region-lines): Use user-error.
2563         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
2564         (pages-directory-for-addresses): Doc fixes.
2566 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
2568         * lisp/info.el: Cleanup bytepos/charpos issues
2569         * lisp/international/mule-util.el: Use lexical-binding.
2570         (filepos-to-bufferpos): New function.
2571         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
2572         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
2573         (Info-read-subfile, Info-search): Use 0-based file positions.
2575         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
2576         (perl--syntax-exp-intro-keywords): New var.
2577         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
2578         (bug#20800).
2580 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2582         Fix quoting when making derived mode docstring
2583         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2584         Nest regexp-quote inside format, not the reverse.
2585         Problem reported by Artur Malabarba in:
2586         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
2588 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
2590         ;* src/fontset.c: Update obsolete commentary.
2592         Fix current-iso639-language on MS-Windows
2593         * lisp/international/mule-cmds.el (set-locale-environment):
2594         Downcase the locale name before interning it.  This is so the
2595         'current-iso639-language' on MS-Windows matches the ':lang'
2596         property of font-spec objects.
2598         Limit Symbola usage some more
2599         * lisp/international/fontset.el (setup-default-fontset): Limit
2600         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
2601         (Bug#20727)
2603 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
2605         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2607 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2609         Spelling fixes
2611 2015-06-14  Glenn Morris  <rgm@gnu.org>
2613         * lisp/version.el (emacs-repository-version-git): Demote errors.
2614         Check result is a hash.
2616 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2618         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2619         Catch errors that happen before going async.  (Bug#20809)
2621 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
2623         Another improvement of documentation of set-fontset-font
2624         * doc/lispref/display.texi (Fontsets): Say explicitly that
2625         CHARACTER can be a single codepoint.
2626         * src/fontset.c (Fset_fontset_font): Doc fix.
2628         Another improvement for symbol and punctuation characters
2629         * lisp/international/fontset.el (setup-default-fontset): Exclude
2630         from Symbola character ranges for symbols and punctuation covered
2631         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
2632         installed and where its coverage of symbols and punctuation is
2633         known to be good.  (Bug#20727)
2635 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
2637         Some generic support for multi-mode indentation.
2638                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
2639                 variable.
2640                 (prog-first-column, prog-widen): New convenience functions.
2642 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2644         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2645         Don't assume that `tabulated-list-printer' will leave point at the
2646         end of the buffer.  (Bug#20810)
2648 2015-06-13  Glenn Morris  <rgm@gnu.org>
2650         Tweaks for getting repository version; a bit more like it was for bzr.
2651         * lisp/version.el (emacs-repository-version-git)
2652         (emacs-repository--version-git-1): New functions,
2653         split from emacs-repository-get-version.
2654         (emacs-repository-get-version): Make the second argument meaningful.
2656         * lisp/startup.el (command-line-1): Inform if skipping relative
2657         file names due to deleted PWD.
2659         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
2660         when starup directory is missing.  (Bug#18851)
2661         (errno.h): Include it.
2663 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2665         Better fix for documenting `X as "`X"
2666         Fix suggested by Stefan Monnier.
2667         * lisp/help-fns.el (help-fns--signature):
2668         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
2669         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2670         Don't treat `X specially, as help-fns--signature now handles this.
2672 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
2674         Improve the default fontset when Symbola is not installed
2675         * lisp/international/fontset.el (setup-default-fontset): Only
2676         prepend Symbola and FreeMono font specs for symbols and
2677         punctuation; do not replace the default spec for them.  This
2678         should have better results when Symbola/FreeMono are not
2679         installed.  (Bug#20727)
2681         Improve documentation of ':lang' in font specs
2682         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
2683         use of the ':lang' property of the font spec.
2684         * doc/emacs/frames.texi (Fonts): Document the language names that
2685         can be in the STYLE part of XLFD.
2686         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
2687         property.
2689         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
2691         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
2693         Revert last change in fontset.el
2694         * lisp/international/fontset.el (setup-default-fontset): Revert
2695         the change "Configure Symbola font only if installed", since font
2696         search is evidently not yet set up when this function is called.
2697         (Bug#20727)
2699 2015-06-12  Glenn Morris  <rgm@gnu.org>
2701         Ensure early startup warnings are visible at the end.  (Bug#20792)
2702         * lisp/emacs-lisp/warnings.el (display-warning):
2703         If startup isn't complete, delay the warning.
2704         * lisp/startup.el (normal-top-level, command-line):
2705         Let display-warning automatically handle the needed delays.
2706         Run delayed-warnings-hook.
2708         * lisp/version.el (emacs-repository-get-version):
2709         Avoid calling external executable if possible.  (Bug#20799)
2711 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2713         Document `X as "`X", not as "(` X)"
2714         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2715         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
2717         * src/print.c (print_object): Minor simplification.
2719 2015-06-12  Glenn Morris  <rgm@gnu.org>
2721         * src/buffer.c (init_buffer): Add final newline to message.
2723 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2725         Configure Symbola font only if installed
2726         * lisp/international/fontset.el (setup-default-fontset):
2727         Don't specify the Symbola font if it's not installed.
2728         Likewise for FreeMono.  (Bug#20727)
2730 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
2732         Configure Symbola font only for symbols and punctuation
2733         * lisp/international/fontset.el (setup-default-fontset): Leave
2734         only symbols and punctuation in the fontset setup for Symbola
2735         font; remove "Greek and Coptic" and "Cyrillic Supplement".
2736         (Bug#20798)
2738 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
2740         Fix crash in fontset-info
2741         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
2742         non-nil.
2744 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2746         Port to Solaris 10 sparc + Sun C 5.13
2747         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
2748         Adjust to process.c change.
2749         * src/process.c (create_process): Declare volatile variables at
2750         top level of this function, so that they're less likely to be
2751         reused later in the function in the code executed by the vforked
2752         child.  Do not declare locals used only in the vforked child, as
2753         they might share memory with locals still live in the parent.
2754         Instead, use the same variables in the child as in the parent.
2755         This works around a subtle bug that causes a garbage collector
2756         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
2758 2015-06-12  Glenn Morris  <rgm@gnu.org>
2760         * lisp/startup.el (normal-top-level): Don't let *Messages* get
2761         a nil default-directory.
2763 2015-06-11  Glenn Morris  <rgm@gnu.org>
2765         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
2767         Some progress towards starting with PWD deleted.  (Bug#18851)
2768         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
2769         * lisp/startup.el (normal-top-level, command-line-1):
2770         * lisp/minibuffer.el (read-file-name-default):
2771         Handle default-directory being nil.
2773 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2775         Fix "not a tty" bug on Solaris 10
2776         * configure.ac (PTY_OPEN): Define to plain 'open'
2777         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
2778         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
2779         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
2780         hosts that call grantpt which does its work via a setuid subcommand
2781         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
2782         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
2783         seems relevant in that case too.
2785 2015-06-11  Juri Linkov  <juri@linkov.net>
2787         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
2788         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
2789         (Bug#20785)
2791 2015-06-11  Glenn Morris  <rgm@gnu.org>
2793         * lisp/international/characters.el (char-script-table): Fix typo.
2795 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2797         Fix quoting of help for functions with odd names
2798         While investigating Bug#20759, I discovered other quoting problems:
2799         C-h f mishandled characters like backslash and quote in function names.
2800         This fix changes the behavior so that 'C-h f pcase RET' now
2801         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
2802         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
2803         in src/lread.c's read1 function says that the backslash will be
2804         needed starting in Emacs 25, which implies that 'format' is
2805         correct and the old pcase documention was wrong to omit the backslash.
2806         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
2807         * lisp/help-fns.el (help-fns--signature):
2808         * lisp/help.el (help-add-fundoc-usage):
2809         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
2810         Use help--make-usage-docstring rather than formatting
2811         help-make-usage.
2812         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
2813         Return raw docstring.
2814         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
2815         raw docstring.  Take more care to distinguish raw from cooked dstrings.
2816         (describe-function-1): Let help-fns--signature substitute
2817         command keys.
2818         * lisp/help.el (help--docstring-quote): New function.
2819         (help-split-fundoc): Use it, to quote funny characters more
2820         systematically.
2821         (help--make-usage): Rename from help-make-usage, since this
2822         should be private.  Leave an obsolete alias for the old name.
2823         (help--make-usage-docstring): New function.
2824         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
2826 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2828         * lisp/thingatpt.el (in-string-p): Revert last change,
2829         since in-string-p is not used in thingatpt.el but only from outside.
2830         Also, use lexical binding.
2832 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
2834         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
2835         * test/automated/let-alist.el (let-alist-cons): Test it.
2837 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2839         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
2841 2015-06-10  Glenn Morris  <rgm@gnu.org>
2843         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
2845         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
2846         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
2847         * admin/gitmerge.el (gitmerge-commit-message):
2848         Exclude "skipped" messages from ChangeLog once again.
2850         Slight namespace cleanup for thingatpt.el.
2851         * lisp/thingatpt.el (thing-at-point--in-string-p)
2852         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
2853         (thing-at-point--read-from-whole-string): Rename from
2854         old versions without "thing-at-point--" prefix.
2855         Keep old versions as obsolete aliases.  Update all uses.
2857         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
2858         Move requiring of finder from here...
2859         (checkdoc-package-keywords): ... to here.
2861         Use 'user-error' in a few calendar files.
2862         * lisp/calendar/appt.el (appt-add):
2863         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
2864         (calendar-generate):
2865         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
2866         Replace 'error' with 'user-error'.
2868         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
2870         * lisp/files-x.el (add-file-local-variable):
2871         Special-case 'lexical-binding'.  (Bug#20641)
2873         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
2874         No longer autoload.
2875         * doc/misc/autotype.texi (Executables):
2876         Undocument executable-self-display.
2878         * lisp/progmodes/executable.el (executable-self-display):
2879         Use non-obsolete tail syntax.  (Bug#20779)
2880         (executable-self-display): Doc update.
2882 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2884         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
2885         (finder-known-keywords): Silence byte-compiler.
2887 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2889         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
2891         * lisp/progmodes/sh-script.el: Better handle nested quotes
2892         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
2893         (sh-font-lock-quoted-subshell): Make sure double quotes within single
2894         quotes don't mistakenly end prematurely the surrounding string.
2896         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
2898 2015-06-09  Glenn Morris  <rgm@gnu.org>
2900         * test/automated/Makefile.in (ELFILES): Sort.
2902         * Makefile.in (SUBDIR_MAKEFILES):
2903         * lwlib/Makefile.in (WARN_CFLAGS):
2904         Use built-in Make functions rather than echo+sed.
2906 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
2908         Update char-script-table
2909         * lisp/international/characters.el (char-script-table): Update
2910         from Unicode 8.0 Draft.
2912         Improve font selection for punctuation and other symbols
2913         * src/fontset.c (face_for_char): If the character's script is
2914         'symbol', and the font used for ASCII face has a glyph for it, use
2915         the font for the ASCII face instead of searching the fontsets.
2916         This comes instead of NS-specific code that used the current
2917         face's font instead, which is now disabled due to undesirable
2918         consequences.  (Bug#20727)
2920 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
2922         Skip past `#' to find BEG
2923         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
2924         past `#' to find BEG (bug#20771).
2925         * test/automated/elisp-mode-tests.el
2926         (elisp-completes-functions-after-hash-quote): New test.
2928 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2930         Fix compilation warning/error in --without-x builds
2931         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
2932         code on HAVE_WINDOW_SYSTEM.
2934         Improve the default fontset wrt symbols
2935         * lisp/international/fontset.el (setup-default-fontset): Better
2936         setup of fontset-default for symbols: use Symbola and FreeMono.
2937         (Bug#20727)
2939 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2941         Add new command checkdoc-package-keywords
2942         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
2943           defcustom.
2944         (checkdoc-list-of-strings-p): Add doc.
2945         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
2946         non-nil, call `checkdoc-package-keywords'.
2947         (checkdoc-get-keywords): New defun.
2948         (checkdoc-package-keywords): New command. Warns if the current file
2949         has package.el-style keywords that aren't in `finder-known-keywords'.
2950         * etc/NEWS: Add entry.
2952 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2954         Avoid crashes when key-binding is called from a timer
2955         * src/keymap.c (Fkey_binding): Don't segfault if called with an
2956         empty vector as KEY.  (Bug#20705)
2958         Fix a thinko in arc-mode.el
2959         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
2960         non-Zip64 case.  (Bug#20769)
2962 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
2964         * lisp/emacs-lisp/package.el (package-delete): Make interactive
2966 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2968         checkdoc.el (checkdoc-file): New function
2969         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
2970           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
2971           to the standard output.
2972         (bug#20754)
2974 2015-06-07  Glenn Morris  <rgm@gnu.org>
2976         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
2978         * src/font.c (syms_of_font) <font-log>: Doc fix.
2980         Remove the obsolete leading "*" from some C doc strings.
2981         * src/coding.c (syms_of_coding):
2982         * src/font.c (syms_of_font): Remove leading "*" from docs.
2983         * lisp/cus-start.el (enable-character-translation): Add it.
2985 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
2987         Move gen_origin from program to data
2988         That way, 'make change-history' needs to change only ChangeLog.2,
2989         instead of having to change two files.
2990         * ChangeLog.2: Add commit info for range that this file covers.
2991         * Makefile.in (new_commit_regexp): New macro.
2992         (change-history-nocommit): Simplify, by putting what used to be
2993         the gen_origin value into the data (ChangeLog.2) rather than
2994         into the program (gitlog-to-emacslog).
2995         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
2996         the input file (e.g., ChangeLog.2) rather than by having a
2997         constant in the program.  Substitute it into the output.
2999 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3001         Escape any quotes in the function name
3002         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3003         function name (bug#20759).
3005 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3007         Adapt 'struct timespec' to next release of MinGW runtime
3008         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3009         __struct_timespec_defined is defined.
3011 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3013         Merge from gnulib
3014         This incorporates:
3015         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3016         2015-06-05 stdio: Don't redefine gets when using C++
3017         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3018         2015-06-02 file-has-acl: fix build on Mac OS X 10
3019         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3020         2015-06-01 pthread_sigmask: discount system version if a simple macro
3021         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3022         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3023         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3024         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3025         * lib/gnulib.mk: Regenerate.
3027 2015-06-06  Juri Linkov  <juri@linkov.net>
3029         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3030         before calling grep-compute-defaults because now it affects the
3031         command lines computed in grep-compute-defaults. (Bug#20728)
3033 2015-06-06  Glenn Morris  <rgm@gnu.org>
3035         Address some compilation warnings.
3036         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3037         (w32-get-console-output-codepage):
3038         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3039         * lisp/version.el (cairo-version-string): Declare.
3040         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3042 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3044         Fix display when a font claims large values of ascent and descent
3045         This fixes bug#20628.
3046         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3047         coordinate of a hollow cursor glyph when the original glyph's
3048         ascent is too small.
3049         (get_font_ascent_descent, normal_char_ascent_descent)
3050         (normal_char_height): New functions.
3051         (handle_single_display_spec, append_space_for_newline)
3052         (calc_pixel_width_or_height, produce_stretch_glyph)
3053         (calc_line_height_property): Use normal_char_ascent_descent and
3054         normal_char_height.
3055         (x_produce_glyphs): When font-global values of ascent and descent
3056         are too large, use per-character glyph metrics instead, if
3057         possible.  But don't allow the glyph row's ascent and descent
3058         values become smaller than the values from the metrics of the
3059         font's "normal" character.
3060         * src/xftfont.c (xftfont_draw):
3061         * src/w32font.c (w32font_draw): Correct the values of ascent and
3062         descent used to draw glyphless characters' hex code in a box.
3063         * src/xterm.c (x_draw_glyph_string_background):
3064         * src/xdisp.c (x_produce_glyphs):
3065         * src/w32term.c (x_draw_glyph_string_background):
3066         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3067         to detect fonts whose global ascent and descent values are too
3068         large to be used in layout decision, and redraw the background
3069         when that happens.
3070         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3071         (get_font_ascent_descent): Add prototype.
3072         * src/xterm.c (x_new_font):
3073         * src/w32term.c (x_new_font):
3074         * src/nsterm.m (x_new_font):
3075         * src/font.c (font_open_entity):
3076         * src/composite.c (composition_gstring_width): Use
3077         get_font_ascent_descent to obtain reasonable values for ascent and
3078         descent of a font.
3080 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3082         Add assertion in adjust_point_for_property
3083         * src/keyboard.c (adjust_point_for_property): Add eassert for
3084         current buffer being shown in selected window.
3086 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3088         Replace uses of in-string-p; make it obsolete
3089         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3090         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3092 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3094         Fix Dired display of an explicit list of files by ls-lisp.el
3095         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3096         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3097         correct for when displaying individual files separately, not as
3098         part of listing a directory, in which case these values are not
3099         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3101         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3103 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3105         Do not adjust point in a non-selected window
3106         * src/keyboard.c (command_loop_1): Do not adjust point when
3107         current buffer is not shown in selected window (Bug#20590).
3109         * etc/DEBUG: Mention 'maybe_call_debugger'
3111 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3113         Fix a unit test for map.el
3114         * test/automated/map-tests.el (test-map-let): Fix the test to work
3115         with the new syntax of `map-let'.
3117         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3119         Better syntax for the map pcase pattern
3120         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3121         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3123         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3125         Fix a byte-compiler error in map-put and map-delete
3126         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3127         called with a symbol.
3129 2015-06-05  Glenn Morris  <rgm@gnu.org>
3131         * admin/gitmerge.el (gitmerge-commit-message):
3132         Revert to including "skipped" messages in ChangeLog once again.
3134 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
3136         Use string> instead of equiv lambda with string<
3137         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
3138         lambda with string<.
3140 2015-06-05  Glenn Morris  <rgm@gnu.org>
3142         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
3143         (map--delete-array): Fix typo.
3145         * test/automated/map-tests.el: Replace "assert" with "should".
3147         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
3148         (SUBDIRS_REL): Derive from SUBDIRS.
3150         Tweak some build messages.
3151         * lisp/Makefile.in ($(lisp)/loaddefs.el):
3152         * lisp/cus-dep.el (custom-make-dependencies):
3153         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
3154         * lisp/international/titdic-cnv.el (batch-titdic-convert):
3155         Don't say how to compile.
3157 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3159         Omit U+0332 COMBINING LOW LINE in previous change
3160         It turns out that it does not work on Ubuntu 15.04.
3162         Fix transliteration of Bahá'í months
3163         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
3164         Improve quality of Latin transliteration of Bahá'í month names.
3166         Fix curved quotes in a few places
3167         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
3168         The strings in question are not doc strings, so this partially
3169         undoes the recent change that assumed they were doc strings.
3170         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3171         * lisp/info.el (Info-finder-find-node):
3172         Use curved quotes.
3173         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3174         Also allow curved quotes in doc strings.
3176 2015-06-04  Glenn Morris  <rgm@gnu.org>
3178         * lisp/Makefile.in (AM_V_at): Add missing definition.
3180         * lisp/Makefile.in: Quieten output a bit.
3181         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
3182         Don't echo directories, since the commands we invoke print them.
3184         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
3185         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
3186         (SUBDIRS_SUBDIRS): New variables.
3187         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
3188         Remove.
3189         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
3190         (update-subdirs, compile-main, compile-clean):
3191         Replace "setwins" usage with new "SUBDIRS" variables.
3193         * lisp/vc/compare-w.el (compare-windows-get-window-function):
3194         Fix :version tag.
3196 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3198         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
3200         Undo removal of x_clear_area call on expose for GTK3 or cairo.
3201         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
3202         exposed area.  (Bug#20677)
3204 2015-06-04  Glenn Morris  <rgm@gnu.org>
3206         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
3208         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
3210         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3211         Rename from quail-lao-update-translation, since lao.el defines that.
3213 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
3215         Handle new-style advice in find-funct
3216         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
3217         Handle new-style advice.  Return the symbol's function definition.
3218         (Bug#20718)
3219         (find-function-library): Update accordingly.
3221 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
3223         Merge branch 'map'
3225         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
3227         Add new function string-greaterp
3228         * lisp/subr.el (string-greaterp): New function.  Also aliased to
3229         `string>'.
3230         * test/automated/subr-tests.el (string-comparison-test): Add unit
3231         tests for `string>'and `string<'.
3232         * src/fns.c (string-lessp): Better docstring.
3234 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
3236         Fix timezone-related functions on MS-Windows
3237         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
3238         'xputenv', even if no reallocation of tzvalbuf was necessary.
3239         This fixes a bug in timezone-related functions on MS-Windows.
3240         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
3242 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3244         Don't pass raw directory name to 'error'
3245         * lisp/files.el (basic-save-buffer-2): Avoid format error if
3246         a directory name contains a string like "%s".
3248 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
3250         Override 'grep --color=always'
3251         * lisp/progmodes/xref.el (xref-collect-matches):
3252         Override --color=always in grep-find-template.
3254 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3256         Fix error introduced recently in file-notify-tests.el
3257         * test/automated/file-notify-tests.el
3258         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
3259         (file-notify--deftest-remote): Revert previous patch, not
3260         necessary anymore.
3262 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
3264         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
3265         Starting from a display string after a newline, point went to the
3266         previous line.  Also, fix an inadvertent use of a buffer position
3267         with FETCH_BYTE.  (Bug#20701)
3269 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3271         Instrument file-notify-test.el in order to catch hydra error.
3272         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
3273         Wrap body by `ignore-case', in order to trap non-local errors.
3275 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3277         Undo previous changes in non-toolkit scroll bar drawing.
3278         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
3279         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
3281 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3283         * .gitignore: Also ignore doc/*/*/*.html and .ps.
3285         Support quotes 'like this' in info files
3286         This is possible when 'makeinfo --disable-encoding' is used
3287         in Texinfo 5.
3288         * lisp/calc/calc-help.el (calc-describe-thing):
3289         * lisp/gnus/gnus-art.el (gnus-button-alist):
3290         * lisp/info.el (Info-find-index-name):
3291         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3292         Also support quotes 'like this'.
3293         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
3294         * lisp/finder.el (finder-font-lock-keywords): Remove var that
3295         hasn't been used in years, instead of bothering to fix its quoting.
3297 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3299         * .gitignore: Remove !test/etags/html-src/*.html.
3300         It's no longer needed, since *.html was removed.  Sort.
3302 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3304         Restore <D> instead of '.' in grep-find-template
3305         * lisp/cedet/semantic/symref/grep.el
3306         (semantic-symref-grep-use-template): Update a comment.
3307         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
3308         instead of '.' in grep-find-template (bug#20719).
3309         (rgrep): Pass nil as the directory to rgrep-default-command.
3310         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
3311         default value for DIR.
3312         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
3313         workaround.
3315 2015-06-02  Glenn Morris  <rgm@gnu.org>
3317         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
3319         * configure.ac (emacs_config_features): Add Cairo.
3321         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
3323 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
3325         Ensure, that autorevert works for remote files in file-notify-tests.el
3326         * test/automated/file-notify-tests.el (file-notify--test-desc):
3327         New defvar.
3328         (file-notify--test-remote-enabled)
3329         (file-notify-test00-availability, file-notify-test01-add-watch)
3330         (file-notify-test02-events): Use it.
3331         (file-notify--test-event-test): Check proper descriptor.
3332         (file-notify-test03-autorevert): Ensure, that
3333         `visited-file-modtime' has changed.
3334         (Bug#20392)
3336 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
3338         Add a pcase pattern for maps and `map-let' based on it
3339         * lisp/emacs-lisp/map.el (map-let): New macro.
3340         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
3341         * test/automated/map-tests.el: New test for `map-let'.
3343 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3345         Reuse rgrep mechanics in xref-find-regexp
3346         * lisp/progmodes/grep.el (rgrep-default-command):
3347         Extract from `rgrep'.
3348         * lisp/progmodes/xref.el (xref-collect-references): Split from
3349         `xref-collect-matches'.  Only handle the case of symbol search.
3350         (xref-collect-matches): Instead of Semantic Symref, use
3351         `rgrep-default-command', to take advantage of its directory and
3352         file ignore settings.
3353         (xref--collect-match): Remove the last argument, leaving the
3354         regexp construction up to the caller.
3355         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
3356         Change to take the xref-collect- function to use as an argument.
3357         (elisp-xref-find): Update accordingly.
3358         * lisp/progmodes/etags.el (etags--xref-find-matches)
3359         (etags-xref-find): Same.
3361         Move xref-elisp-location to elisp-mode.el
3362         * lisp/progmodes/xref.el (xref-elisp-location)
3363         (xref-make-elisp-location, xref-location-marker): Remove here.
3364         (xref--xref): Don't limit the type of the location slot.
3365         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
3366         Define as a cl-struct here.
3367         (xref-location-marker): Move here.
3369 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
3371         Minor tweaks for .gitignore
3372         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
3373         ignore admin/notes/tags that might be ignored as TAGS on
3374         case-insensitive filesystems.  (Bug#20710)
3376 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3378         Generate curved quotes in ert doc
3379         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
3380         (ert-results-mode-menu)
3381         (ert-results-pop-to-backtrace-for-test-at-point)
3382         (ert-results-pop-to-messages-for-test-at-point)
3383         (ert-results-pop-to-should-forms-for-test-at-point)
3384         (ert-describe-test):
3385         Quote ‘like this’, not `like this', when generating doc strings
3386         and the like.
3387         * test/automated/ert-x-tests.el (ert-test-describe-test):
3388         Allow quoting ‘like this’.
3390 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
3392         Add test for previous commit
3393         * test/automated/replace-tests.el: New file.
3394         (query-replace--split-string-tests): Add test for previous commit.
3396         Avoid confusion in query-replace history when replacing NUL chars
3397         * lisp/replace.el (query-replace--split-string): New function.
3398         (query-replace-read-from): Rely on the 'separator' property
3399         instead of searching for the NUL character (Bug#20690).
3401 2015-06-02  Glenn Morris  <rgm@gnu.org>
3403         Merge from origin/emacs-24
3404         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3406         * admin/gitmerge.el (gitmerge-commit-message):
3407         Exclude "skipped" messages from ChangeLog.
3409 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
3411         Sync with Tramp repository
3412         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
3413         messages.
3414         (tramp-handle-make-auto-save-file-name): When calling
3415         `make-auto-save-file-name' internally, make sure it uses Unix-like
3416         behavior, not Windows-like behavior.
3417         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
3418         the local case, because "chown" might fail on w32.
3419         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
3420         for XEmacs.
3422 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
3424         MS-Windows followup for batch stdout/stderr output changes
3425         * lisp/international/mule-cmds.el (set-locale-environment): In
3426         batch mode, use console codepages for keyboard and terminal
3427         encoding.  (Bug#20545)
3429         Update .gitattributes for DOS EOL files
3430         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
3431         CRLF end-of-line format.
3433         NS equivalents of xterm.c and w32term.c changes
3434         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
3435         glyph string background also when the font in use claims
3436         preposterously large global height value.  Helps to remove
3437         artifacts left from previous displays when glyphless characters
3438         are displayed as hex code in a box.
3439         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
3440         value for FRAME_LINE_HEIGHT, even when a font claims very large
3441         value for its height.
3443 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3445         Avoid grave accent quoting in stderr diagnostics
3446         A few Emacs diagnostics go directly to stderr, and so can't easily
3447         contain curved quotes (as non-UTF-8 locales might mishandle them).
3448         Instead of bothering to add support for this rarity, reword the
3449         diagnostics so that they don't use grave accent to quote.
3450         * src/alloc.c (mark_memory): Fix comment.
3451         * src/buffer.c (init_buffer):
3452         * src/dispnew.c (init_display):
3453         * src/emacs.c (main, sort_args):
3454         * src/lread.c (dir_warning):
3455         * src/term.c (init_tty):
3456         * src/unexmacosx.c (unexec):
3457         * src/xfns.c (select_visual):
3458         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
3459         Reword stderr diagnostics to avoid quoting `like this'.
3460         * src/unexmacosx.c: Include errno.h.
3461         * src/xfns.c (select_visual): Encode value for locale.
3463 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3465         Treat batch stdout/stderr like standard display
3466         Calls like (print FOO) could generate improperly encoded or
3467         hard-to-read output if FOO contains characters outside the system
3468         locale.  Fix this by treating batch stdout and stderr like
3469         interactive standard display, when it comes to transliterating and
3470         encoding characters (Bug#20545).
3471         * doc/emacs/mule.texi (Communication Coding):
3472         * doc/lispref/display.texi (Active Display Table):
3473         * doc/lispref/nonascii.texi (Locales):
3474         * etc/NEWS:
3475         * src/coding.c (syms_of_coding):
3476         * src/dispnew.c (syms_of_display):
3477         Document this.
3478         * src/print.c: Include disptab.h.
3479         (printchar_to_stream): New function, with much of the guts of the
3480         old Fexternal_debugging_output, except this one also uses the
3481         standard display table.
3482         (printchar, strout, Fexternal_debugging_output): Use it.
3484 2015-05-31  Glenn Morris  <rgm@gnu.org>
3486         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
3488 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3490         Remove unused DEFSYMs
3491         Remove DEFSYMs that aren't used at the C level.  Also:
3492         * src/decompress.c (Qzlib_dll):
3493         * src/font.c (Qunicode_sip):
3494         * src/frame.c (Qtip_frame):
3495         * src/ftfont.c (Qserif):
3496         * src/gnutls.c (Qgnutls_dll):
3497         * src/xml.c (Qlibxml2_dll):
3498         Move from here ...
3499         * src/w32fns.c (syms_of_w32fns): ... to here,
3500         as these are used only on MS-Windows.
3502 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
3504         Use another default value for tramp-histfile-override
3505         * lisp/net/tramp-sh.el (tramp-histfile-override):
3506         Use ".tramp_history" as default.
3507         Fixes: debbugs:#20446
3509 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
3511         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3513 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3515         * etc/NEWS: Add an entry about map.el
3517         Improve the docstring of functions in map.el
3518         Since a map is not a data structure but a concept, adding information
3519         about the possible types of maps can be useful information.
3520         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
3521         each public function.
3523 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
3525         Faster implementation of map-empty-p
3526         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
3527         specific tests depending on the type of the map.
3529         * lisp/emacs-lisp/map.el: Better docstrings.
3531 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3533         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
3535 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
3537         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
3539         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
3541         Fix a false negative in `map-elt' with alists and values being nil
3542         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
3543         found but its associated value is nil, do not return the default
3544         value.
3545         * test/automated/map-tests.el: Add a regression test.
3547 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
3549         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
3551         Do not signal an error when trying to delete a key from an array
3552         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
3553         the key is present to avoid signaling an error.
3554         * test/automated/map-tests.el: Add a test for deleting non-existing
3555         keys from maps.
3557         * lisp/emacs-lisp/map.el: Better docstring.
3559         Minor improvement in map-elt.
3560         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
3561         doing a lookup in arrays, but check the boundaries of the array
3562         instead.
3563         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
3564         and a negative integer as key.
3566 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
3568         * test/automated/map-tests.el: Refactoring of test methods.
3570         * test/automated/map-tests.el: Renamed from map-test.el.
3572 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
3574         * lisp/emacs-lisp/map.el (map-into): Better error message.
3576         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
3578         Throw an error when converting a map into an unknown map type
3579         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
3580         * test/automated/map-test.el: Add a regression test.
3582         New library map.el similar to seq.el but for mapping data structures.
3583         * test/automated/map-test.el: New file.
3584         * lisp/emacs-lisp/map.el: New file.
3586 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3588         Make sure there's no explicit tag name
3589         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
3590         there's no explicit tag name (bug#20629).
3592 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3594         Remove format2
3595         * src/editfns.c, src/lisp.h (format2): Remove.
3596         It is more trouble than it's worth, now that we have CALLN.
3597         This is just a minor refactoring.
3598         * src/buffer.c (Fkill_buffer):
3599         * src/dbusbind.c (XD_OBJECT_TO_STRING):
3600         * src/fileio.c (barf_or_query_if_file_exists):
3601         Adjust to format2 going away.
3603         Don't misencode C-generated messages
3604         Also, be more consistent about calls to 'Fmessage' vs 'message'.
3605         * src/alloc.c (Fgc_status):
3606         Prefer AUTO_STRING to build_string for Fmessage call.
3607         * src/data.c (Fmake_variable_buffer_local)
3608         (Fmake_local_variable, Fmake_variable_frame_local):
3609         * src/doc.c (store_function_docstring):
3610         Use Fmessage, not message, since the argument can contain
3611         non-ASCII characters, and this can cause the resulting message
3612         to be incorrectly encoded for the current environment.
3613         * src/fns.c (maybe_resize_hash_table):
3614         * src/xselect.c (x_clipboard_manager_save_all):
3615         Use message, not Fmessage, since Fmessage's power isn't needed here.
3616         * src/process.c (Fmake_network_process): Reword message to avoid %s.
3617         * src/xdisp.c (vmessage): Document restrictions on message contents.
3618         (message_nolog) [false]: Remove unused code.
3620         Use \r rather than ^M in string literals
3621         This is less likely to cause problems on platforms that
3622         use CRLF (or CR!) termination for lines.
3624         Update .gitattributes to match current sources
3625         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
3626         * .gitattributes: Accommodate tests that insist on DOS format.
3627         Remove test/automated/data/decompress/foo-gzipped.
3628         Add etc/e/eterm-color.
3630 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3632         Document 'face-ignored-fonts'
3633         * doc/emacs/mule.texi (Modifying Fontsets): Document
3634         face-ignored-fonts.  (Bug#20628)
3636         Add etags test for the new -Q option
3637         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3638         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3639         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3640         test-case changes below.
3641         * test/etags/ETAGS.good_6: New file.
3642         * test/etags/cp-src/x.cc: New file.
3643         * test/etags/Makefile (CPSRC): Add x.cc.
3644         (check): Add one more test, for -Q.
3646 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3648         Use list for the tags completion table, not obarray
3649         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
3650         list instead of an obarray
3651         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
3652         (tags-completion-table): Combine those lists.
3653         (tags-completion-table): Update the docstring.
3655 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3657         Restore EOL format testing in etags
3658         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3659         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3660         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3661         test-case changes below.
3662         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
3663         * test/etags/cp-src/c.C (B): Add back stray CR character.
3664         * test/etags/c-src/dostorture.c: Add back.
3665         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
3667 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
3669         Declare Emacs on MS-Windows to be DPI-aware
3670         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
3671         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
3672         This avoids Windows entering compatibility mode for Emacs,
3673         which causes fonts to look less nice.
3675 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
3677         Improve Tramp traces.
3678         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
3679         * lisp/net/tramp.el (tramp-debug-message): Use it.
3681 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3683         backup-buffer minor reworking of internals
3684         * lisp/files.el (backup-buffer): Rework to avoid a couple of
3685         unused locals inadvertently introduced in the previous change.
3687         backup-buffer now reports .emacs.d/%backup% ills
3688         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
3689         fails due to disk space exhaustion or whatever, do not pretend
3690         that it succeeded.  More generally, do a better job of checking
3691         for I/O failures, and limit the scope of the condition-case to
3692         just the operations where file errors should be caught and ignored
3693         (Bug#20595).  Also, don't bother trying to delete later backups if
3694         an earlier deletion fails, as this is a sign of trouble and it's
3695         better to stop when there's trouble.
3697         copy-file now truncates output after writing
3698         * src/fileio.c (Fcopy_file): Truncate output after writing rather
3699         than before.  This is more likely to work than truncation before
3700         writing, if the file system is out of space or the user is over
3701         disk quota (Bug#20595).  Also, check for read errors.
3703 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3705         * lisp/emacs-lisp/package.el: Don't load from parent dir
3706         (package-load-all-descriptors): Don't load descriptors from
3707         directories above the package directories.
3709 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3711         Merge from gnulib
3712         This incorporates the following (Bug#20681):
3713         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
3714         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
3715         * lib/set-permissions.c: Copy from gnulib.
3717 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
3719         Improve Tramp traces.
3720         * lisp/net/tramp.el (tramp-call-process-region): New defun.
3721         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
3723 2015-05-29  Glenn Morris  <rgm@gnu.org>
3725         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
3727 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
3729         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
3730         The signature was changed in the cairo branch, merged on 2015-05-23.
3731         This oversight broke compiling only the non-toolkit X version.
3733 2015-05-29  Samer Masterson  <samer@samertm.com>
3735         * doc/lispref/os.texi: Update initial-buffer-choice docs.
3737 2015-05-29  Glenn Morris  <rgm@gnu.org>
3739         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
3740         Mark as an expected failure.
3742 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3744         Change package test to look for curved quotes
3745         * test/automated/package-test.el (package-test-describe-package)
3746         (package-test-signed): Search for curved single quotes as well as
3747         for grave accent and apostrophe.
3749 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
3751         gnus-art.el: Re-revert last change
3752         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
3753         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
3755 2015-05-28  Samer Masterson  <samer@samertm.com>
3757         Show files when `initial-buffer-choice' is non-nil
3758         * startup.el (command-line-1): When Emacs is given a file as an
3759         argument and `initial-buffer-choice' is non-nil, display both the file
3760         and `initial-buffer-choice'.  For more than one file, show
3761         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
3762         commands out of the command line arg parser.
3763         (initial-buffer-choice): Clarify docstring.
3765 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
3767         Fix last commit
3768         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
3769         (gnulib module qcopy-acl): Add back, as it is harmless.  This
3770         minimizes differences wrt lib/gnulib.mk.
3772         Fix the MS-Windows build as followup to gnulib update
3773         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
3774         set-permissions.c, as they don't compile on MinGW.
3775         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
3777 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
3779         Revert my change to gnus-art.el
3780         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
3781         It wasn't that important, and it caused a Gnus build to fail.  See:
3782         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
3784         New minor mode Electric Quote
3785         This lets you easily insert quotes ‘like this’ by typing
3786         quotes `like this', and similarly you can easily insert
3787         quotes “like this” by typing quotes ``like this'' (Bug#20545).
3788         * doc/emacs/basic.texi (Inserting Text):
3789         * doc/emacs/modes.texi (Minor Modes):
3790         * etc/NEWS: Document it.
3791         * doc/emacs/text.texi (Quotation Marks): New section.
3792         * lisp/electric.el (electric-quote-comment)
3793         (electric-quote-string, electric-quote-paragraph):
3794         New custom vars.
3795         (electric--insertable-p)
3796         (electric-quote-post-self-insert-function): New functions.
3797         (electric-quote-mode, electric-quote-local-mode): New minor modes.
3798         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3799         Add curved single quotes to electric-pair-text-pairs.
3800         Set electric-quote-string in this buffer.
3802         A few more doc string fixes (Bug#20385)
3804         Accept curved quotes in doc strings
3805         * lisp/info-look.el (info-lookup-guess-custom-symbol):
3806         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
3808         Generate curved quotes in pseudo-info nodes
3809         * lisp/info.el (Info-virtual-index-find-node)
3810         (Info-virtual-index, Info-apropos-find-node, info-apropos):
3811         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
3813         Fix minor quoting problems in doc strings
3814         Most of these fixes involve escaping grave accents that are
3815         actually intended to be grave accents, not left quotes.
3816         (Bug#20385)
3818         Support curved quotes in doc strings
3819         Emacs's traditional doc string style has been to quote symbols
3820         `like this'.  This worked well on now-obsolete terminals where
3821         ` and ' were symmetric quotes, but nowadays curved quotes
3822         ‘like this’ look better.  Support quoting the new way too.
3823         (Bug#20385)
3824         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
3825         ‘like-this’ as well as `like-this'.
3826         * etc/NEWS: Mention this.
3827         * lisp/cedet/mode-local.el (overload-docstring-extension)
3828         (mode-local-print-binding, mode-local-describe-bindings-2):
3829         * lisp/cus-theme.el (describe-theme-1):
3830         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3831         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3832         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3833         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3834         (eieio-help-constructor):
3835         * lisp/emacs-lisp/package.el (describe-package-1):
3836         * lisp/faces.el (describe-face):
3837         * lisp/help-fns.el (help-fns--key-bindings)
3838         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
3839         (help-fns--interactive-only, describe-function-1):
3840         (describe-variable):
3841         * lisp/help.el (describe-mode):
3842         * lisp/international/mule-cmds.el (describe-input-method)
3843         (describe-language-environment):
3844         * lisp/international/mule-diag.el (describe-character-set)
3845         (print-coding-system-briefly, list-input-methods)
3846         (list-input-methods-1):
3847         Insert curved quotes rather than grave accent and apostrophe.
3848         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3849         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
3850         (checkdoc-proper-noun-region-engine):
3851         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
3852         (lisp-cl-font-lock-keywords-2):
3853         * lisp/finder.el (finder-font-lock-keywords):
3854         * lisp/gnus/gnus-art.el (gnus-button-alist):
3855         * lisp/help-fns.el (help-do-arg-highlight)
3856         (describe-function-1, describe-variable):
3857         * lisp/help-mode.el (help-xref-symbol-regexp)
3858         (help-xref-info-regexp, help-xref-url-regexp):
3859         * lisp/help.el (describe-mode):
3860         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3861         * lisp/wid-edit.el (widget-documentation-link-regexp):
3862         Parse symbols quoted ‘like-this’ as well as `like-this'.
3863         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3864         Add "‘" and "’" to electric-pair-text-pairs.
3865         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
3866         (elisp-completion-at-point, elisp--preceding-sexp):
3867         Also treat "‘" and "’" as quoting chars.
3869         substitute-command-keys now curves quotes
3870         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
3871         * doc/lispref/help.texi (Keys in Documentation):
3872         * etc/NEWS: Document this.
3873         * src/doc.c (Fsubstitute_command_keys): Implement it.
3875 2015-05-28  Glenn Morris  <rgm@gnu.org>
3877         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
3878         (rmail-summary-by-topic, rmail-summary-by-senders):
3879         No longer strip leading/trailing whitespace.
3881         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
3882         (f90-no-block-limit): Add "enum".  (Bug#20680)
3883         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
3884         New tests.
3886 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3888         * lisp/isearch.el (isearch--current-buffer): Give a default value.
3890         Un-revert changes mistakenly dropped by f9fabb2b
3892 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3894         Merge from gnulib
3895         This incorporates:
3896         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
3897         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
3898         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
3899         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
3900         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
3901         2015-05-26 stdio: fix probe on mingw under gcc 5.1
3902         * admin/merge-gnulib (GNULIB_MODULES):
3903         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
3904         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
3905         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
3906         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
3907         Get latest versions from gnulib.
3908         * lib/get-permissions.c, lib/set-permissions.c: New files.
3909         * lib/gnulib.mk, m4/gnulib-comp.m4:
3910         Regenerate.
3911         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
3913 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
3915         Delete the old process in vc-setup-buffer
3916         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
3917         process here.
3918         (vc-do-command): Rather than here (bug#20608).
3920 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
3922         Avoid gratuitous delete-dups in face-at-point.
3923         * lisp/faces.el (face-at-point): Do not compute the properly
3924         ordered, duplicate-free list if only a single value is
3925         requested anyway.  (Bug#20519)
3927         Show the exact C-x 8 RET invocation in describe-char.
3928         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
3929         invocation instead of a template.  (Bug#20522)
3931 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3933         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
3934         (package-menu--post-refresh): Call `tabulated-list-print' with the
3935         UPDATE argument.  This only affects the refresh action, the revert
3936         action still erases tags.
3937         (package-menu-get-status): Change `assq' to `assoc'.
3938         (package-menu--mark-upgrades-1): New function.
3939         (package-menu--mark-upgrades-pending): New variable.
3940         (package-menu-mark-upgrades): Use them to delay marking until
3941         after refresh is done.
3942         (package-menu--post-refresh): Call mark-upgrades-1 if
3943         mark-upgrades-pending is non-nil.
3945 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3947         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
3949 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3951         * lisp/isearch.el (isearch--current-buffer): New var
3952         (isearch-update): Set cursor-sensor-inhibit here.
3953         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
3955         Change inhibit-point-motion-hooks to t
3956         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
3957         to t and document it as obsolete.
3959 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
3961         Support ZIP files that use Zip64 extensions
3962         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
3963         format of central directory offsets used by Zip64 extensions.
3964         (Bug#20665)
3966 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3968         New test tramp-test30-make-auto-save-file-name
3969         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
3970         (tramp-test31-special-characters)
3971         (tramp-test31-special-characters-with-stat)
3972         (tramp-test31-special-characters-with-perl)
3973         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
3974         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
3975         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
3976         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
3978         Improve tramp-handle-make-auto-save-file-name
3979         * tramp.el (tramp-auto-save-directory): Add :tags.
3980         (tramp-handle-make-auto-save-file-name): Let native
3981         `make-auto-save-file-name' use `auto-save-file-name-transforms',
3982         if `tramp-auto-save-directory' is not set.
3984 2015-05-27  Glenn Morris  <rgm@gnu.org>
3986         No longer set dired-directory in eshell.  (Bug#16477)
3987         * lisp/eshell/esh-mode.el (eshell-mode):
3988         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
3990         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
3992         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
3993         * lisp/progmodes/cc-mode.el (c-mode-help-address):
3994         Change to submit@debbugs.
3995         (c-mode-bug-package): New constant.
3996         (mail-position-on-field): Declare.
3997         (c-submit-bug-report): Insert X-Debbugs-Package header.
3998         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
3999         Mention debbugs.gnu.org.
4001 2015-05-26  Glenn Morris  <rgm@gnu.org>
4003         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4004         (rmail-summary-by-recipients, rmail-summary-by-topic)
4005         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4006         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4008 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4010         Handle curved quotes in info files
4011         * lisp/calc/calc-help.el (calc-describe-thing):
4012         * lisp/info.el (Info-find-index-name)
4013         (Info-try-follow-nearest-node, Info-fontify-node):
4014         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4015         In info files, process quotes ‘like this’ the same way we process
4016         quotes `like this'.  This catches a few places we missed earlier.
4018 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4020         xref-prompt-for-identifier: Use a list value
4021         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4022         value, to be interpreted as a list of commands.
4023         (xref--prompt-p): New function.
4024         (xref--read-identifier): Use it.
4026 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4028         Teach MS-Windows font back-end return per-glyph ascent/descent
4029         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4030         values.
4031         * src/w32font.c (w32font_text_extents): Compute, cache, and
4032         accumulate per-glyph ascent and descent values, instead of copying
4033         global values from the font.  If the values are not available from
4034         the font data, i.e., non-TTF fonts, fall back on font-global values.
4035         (compute_metrics): Compute and return per-glyph ascent and descent
4036         values, if returned by GetGlyphOutlineW, falling back on
4037         font-global values.  (Bug#20628)
4038         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4039         height of rectangle to be drawn, to be compatible with
4040         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4041         box, when per-glyph ascent/descent values are used.
4043 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4045         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4046         (tabulated-list-print): Don't sort if sorter is nil
4048 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4050         Fix Bug#20621
4051         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4052         are major modes which set `auto-save-mode' on their own rules;
4053         Tramp shall not overwrite such settings.
4054         (Bug#20621)
4056 2015-05-26  Glenn Morris  <rgm@gnu.org>
4058         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4059         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4060         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4061         Doc updates.
4062         (vc-dir-mode): Remove unnecessary autoload.
4064 2015-05-25  Philipp Stephani  <phst@google.com>
4066         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4067         (xterm--extra-capabilities-type): Add `getSelection'.
4068         (xterm--query): Add `no-async' argument.
4069         (xterm--init-activate-get-selection): New function.
4070         (terminal-init-xterm): Use it.
4071         (xterm--init-modify-other-keys): Rename from
4072         terminal-init-xterm-modify-other-keys.
4073         (xterm--init-bracketed-paste-mode): Rename from
4074         terminal-init-xterm-bracketed-paste-mode.
4075         (xterm--init-activate-set-selection): Rename from
4076         terminal-init-xterm-activate-set-selection.
4077         (xterm--selection-char): New function.
4078         (gui-backend-set-selection): Use it.  Use the &context to only apply
4079         this method in terminals where we enabled the feature.
4080         (gui-backend-get-selection): New method.
4082 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4084         Add C-language keyword constants to C++
4085         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4086         keyword constants to C++.
4088 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4090         Make TAGS files more portable to MS-Windows
4091         * etc/NEWS: Document this.
4092         * lib-src/etags.c (readline_internal) [DOS_NT]:
4093         Don't treat CRs differently from GNUish hosts.
4094         * lisp/progmodes/etags.el (etags-goto-tag-location):
4095         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4097 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4099         Improve fix of debbugs:20634 in tramp-sh.el
4101 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4103         Fix a typo in last commit
4104         * lib-src/etags.c (C_entries): Fix a typo.
4105         * test/etags/ETAGS.good_1:
4106         * test/etags/ETAGS.good_2:
4107         * test/etags/ETAGS.good_3:
4108         * test/etags/ETAGS.good_4:
4109         * test/etags/ETAGS.good_5:
4110         * test/etags/CTAGS.good: Update due to the change in etags.c.
4112         Fix tagging of class members in C-like OO languages
4113         * lib-src/etags.c (longopts): Add new option --class-qualify and
4114         its shorthand -Q.
4115         (print_help): Add help text for --class-qualify.
4116         (main): Add handling of -Q.
4117         (consider_token, C_entries) <omethodparm>: Append argument types
4118         to Objective C methods only if --class-qualify was specified.
4119         Qualify C++, Objective C, and Java class members with their class
4120         names only if --class-qualify was specified.
4121         (C_entries): If --class-qualify was not specified, remove the
4122         namespace and class qualifiers from tag names of C++ methods.
4123         This allows to use etags.el as xref back-end without the
4124         tag-symbol-match-p method, which greatly increases the number of
4125         potentially false positives.  (Bug#20629)
4126         * doc/man/etags.1: Update to document the new --class-qualify
4127         option.
4128         * test/etags/ETAGS.good_1:
4129         * test/etags/ETAGS.good_2:
4130         * test/etags/ETAGS.good_3:
4131         * test/etags/ETAGS.good_4:
4132         * test/etags/ETAGS.good_5:
4133         * test/etags/CTAGS.good: Update due to changes in etags.c.
4135 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4137         (cl-generic-define-method): Side effects are evil (bug#20644)
4138         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
4139         cons-cells that might be used as keys in an `equal' hash-table.
4141 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4143         Make erc timestamps visible again
4144         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
4145         timestamps visible again (if requested).
4147 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4149         Fix last change in etags.c that broke tagging compresed files
4150         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
4151         quoting of decompression shell command for MS-Windows/MS-DOS.
4153 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4155         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
4156         (Bug#20639)
4158 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4160         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
4162 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
4164         Fix IPv6 addresses in Tramp
4165         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
4166         Add sqare brackets around host name.
4168 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4170         Inhibit `epa-file-handler' in Tramp
4171         (Bug#20634)
4172         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
4173         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
4174         `epa-file-handler'.
4176 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4178         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
4179         (pcase-let): Document the behavior in case the pattern doesn't match.
4181 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4183         * lisp/emacs-lisp/tabulated-list.el: New optional print method
4184         (tabulated-list-print): New optional argument, UPDATE.  If
4185         non-nil, the list is printed by only adding and deleting the
4186         changed entries, instead of erasing the whole buffer.  This method
4187         is much faster when few or no entries have changed.
4188         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4189         * etc/NEWS: Document it.
4191         * lisp/emacs-lisp/tabulated-list.el: Improve printing
4192         (tabulated-list--get-sorter): New function.
4193         (tabulated-list-print): Restore window-line when remember-pos is
4194         passed and optimize away the `nreverse'.
4196 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4198         Simpilify etags TEX mode scanning
4199         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
4200         Remove static vars.
4201         (TeX_commands): Deduce escapes here instead.
4202         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
4203         This removes the need for a reset_input call.
4205         Improve etags I/O error reporting
4206         * lib-src/etags.c:
4207         Don't include sys/types.h and sys/stat.h; no longer needed.
4208         (infilename): New static var.
4209         (process_file_name): Don't call 'stat'.  Instead, just open the
4210         file for reading and report any errors.  Don't bother making
4211         a copy of the file argument; it's not needed.  Be more careful to
4212         use the failing errno when reporting an error.
4213         Quote the real name better (though no perfectly)
4214         when passing it to the shell.
4215         (reset_input): New function, which reports I/O errors.
4216         All uses of 'rewind' changed to use this function.
4217         (perhaps_more_input): New function, which also checks for
4218         I/O errors.  All uses of 'feof' changed to use this function.
4219         (analyze_regex): Report an error if fclose fails.
4220         (readline_internal): Report an error if getc fails.
4221         (etags_mktmp): Return an error if close fails.
4223         etags.c: avoid side effects in 'if'
4224         * lib-src/etags.c (process_file_name, Perl_functions)
4225         (TEX_decode_env): Hoist side effects into previous statement.
4227         .gitignore tweaks
4228         * .gitignore: Ignore all *.stamp files.  Sort.
4229         Ignore [0-9]*.txt (commonly used name for git patches)
4230         and /vc-dwim-log-* (vc-dwim temporary).
4232 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
4234         Fix last change in etags.c, which failed the test suite
4235         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
4236         before the last change.
4238 2015-05-23  Glenn Morris  <rgm@gnu.org>
4240         Remove charset map files from repository, generate in first bootstrap
4241         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
4242         (all): Create the stamp file.
4243         (extraclean): Delete the stamp file.
4244         * src/Makefile.in (lispintdir, charsets): New variables.
4245         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
4246         New rules.
4247         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
4248         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4249         * etc/charsets/*.map: Remove from repository.
4251 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4253         Cleanup etags.c to use locale-independent code
4254         Although this doesn't alter behavior (as etags doesn't use
4255         setlocale), the new version is more clearly locale-independent and
4256         the executable is a bit smaller on my platform.
4257         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
4258         Include <c-ctype.h> instead of <ctype.h>.
4259         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
4260         (begtk, midtk):
4261         Remove; no longer needed.
4262         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
4263         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
4264         c_islower, c_tolower, respectively.
4265         (notinname, begtoken, intoken, endtoken): Rewrite as functions
4266         instead of macros, and initialize the tables at compile-time
4267         rather than at run-time.
4269         Put default action first in src/Makefile
4270         * src/Makefile.in (all): Put this rule before lisp.mk.
4271         That way, plain 'make' works in the src directory again.
4273 2015-05-23  Glenn Morris  <rgm@gnu.org>
4275         * Makefile.in: Fix extraclean rule.
4276         (extraclean_dirs): New.
4277         (extraclean): Use it.
4279 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4281         Avoid compiler warning in image.c on MS-Windows
4282         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
4283         warning in image.c.
4285 2015-05-23  Glenn Morris  <rgm@gnu.org>
4287         Fix --without-toolkit-scroll-bars builds.
4288         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
4289         Add new argument to x_clear_area1.
4290         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4291         Update x_clear_area arguments.
4293         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
4294         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
4295         Change to included version.
4296         (LOCAL, local, totalclean): Remove.
4297         (extraclean): Delete all generated files.
4299 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4301         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
4303         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
4305         tags-completion-at-point-function: Don't trust the find-tag function
4306         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4307         Don't trust the find-tag function.
4309 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4311         Pacify --enable-gcc-warnings
4312         * src/frame.h (x_query_color): Remove redundant extern decl.
4313         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
4314         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
4315         (ftcrfont_text_extents, ftcrfont_draw):
4316         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
4317         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
4318         (x_ins_del_lines, frame_highlight, frame_unhighlight)
4319         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
4320         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
4321         (x_update_window_begin, x_connection_closed)
4322         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4323         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4324         (*x_gc_get_ext_data, x_extension_initialize)
4325         (x_cr_accumulate_data):
4326         Remove redundant static decl.  Many of these GCC doesn't complain
4327         about, but we might as well clean out the duplication while we're
4328         in the neighborhood.
4329         * src/xterm.c (x_fill_trapezoid_for_relief):
4330         Remove decl of nonexistent function.
4332 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4334         Replace gui-method macros with cl-generic with &context
4335         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
4336         (gui-method-declare, gui-call): Remove.
4337         (frame-creation-function): Use cl-defgeneric.
4338         (make-frame): Adjust callers.
4339         * lisp/menu-bar.el (menu-bar-edit-menu):
4340         Use gui-backend-selection-exists-p.
4341         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
4342         (gui-backend-get-selection): New cl-generic to replace
4343         gui-get-selection method.
4344         (gui-backend-set-selection): New cl-generic to replace
4345         gui-set-selection method.
4346         (gui-selection-owner-p): New cl-generic to replace
4347         gui-selection-owner-p method.
4348         (gui-backend-selection-exists-p): New cl-generic to replace
4349         gui-selection-exists-p method.  Adjust all callers.
4350         * lisp/server.el (server-create-window-system-frame): Don't ignore
4351         window-system spec even when unsupported.
4352         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
4353         * lisp/startup.el (handle-args-function, window-system-initialization):
4354         Use cl-defgeneric.
4355         (command-line): Adjust calls accordingly.
4356         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
4357         a window-system-initialization method.
4358         (handle-args-function, frame-creation-function): Use cl-defmethod.
4359         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4360         (gui-get-selection): Use cl-defmethod on the new functions instead.
4361         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
4362         a gui-backend-get-selection method.
4363         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
4364         Use cl-defmethod on the new functions instead.
4365         (msdos-window-system-initialization): Turn into
4366         a window-system-initialization method.
4367         (frame-creation-function, handle-args-function): Use cl-defmethod.
4368         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
4369         a window-system-initialization method.
4370         (handle-args-function, frame-creation-function): Use cl-defmethod.
4371         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4372         (gui-get-selection): Use cl-defmethod on the new functions instead.
4373         * lisp/term/x-win.el (x-window-system-initialization): Turn into
4374         a window-system-initialization method.
4375         (handle-args-function, frame-creation-function): Use cl-defmethod.
4376         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4377         (gui-get-selection): Use cl-defmethod on the new functions instead.
4378         * lisp/term/xterm.el (xterm--set-selection): Turn into
4379         a gui-backend-set-selection method.
4380         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
4381         (Fns_selection_owner_p): Remove unused arg `terminal'.
4382         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
4384 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4386         Revert "Fix etags Bug#20629 that broke C++ support."
4387         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
4389 2015-05-23  Jan D  <jan.h.d@swipnet.se>
4391         Fix etags Bug#20629 that broke C++ support.
4392         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
4393         from Sun May 10 (Bug#20629).
4395         Merge branch 'cairo'.
4396         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
4397         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
4399         Merge branch 'master' into cairo
4401         Fixes to compile cairo branch without cairo.
4402         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
4403         first argument.
4404         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
4405         USE_CAIRO.
4407 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
4409         * lisp/emacs-lisp/package.el: Always update selected-packages
4410         (package--update-selected-packages): New function.
4411         (package-menu-execute): Use it before starting the transaction,
4412         this way the list of selected packages is updated even when the
4413         transaction fails.
4414         (package-menu--perform-transaction): Don't edit selected-packages.
4416 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4418         Fix etags reading of compressed files
4419         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
4420         Include fcntl.h, for O_CLOEXEC.
4421         (process_file_name): Don't use 'popen', whose streams cannot be
4422         rewound.  Instead, uncompress the file to a temporary file,
4423         created by 'etags_mktmp', and read from that as usual.
4424         (etags_mktmp): New function.
4425         * test/etags/ETAGS.good_1:
4426         * test/etags/ETAGS.good_2:
4427         * test/etags/ETAGS.good_3:
4428         * test/etags/ETAGS.good_4:
4429         * test/etags/ETAGS.good_5: Update to be consistent with latest
4430         changes in etags.c regarding reading compressed files.
4432         Improve documentation of 'set-fontset-font'
4433         * doc/lispref/display.texi (Fontsets): Document the value of nil
4434         for the 3rd argument of 'set-fontset-font'.
4436         Fix documentation of forward-line
4437         * src/cmds.c (Fforward_line): Clarify the return value if the line
4438         at end of accessible portion of the buffer has no newline.
4439         * doc/lispref/positions.texi (Text Lines): Document what happens
4440         if the line at end of accessible portion of buffer has no newline.
4441         (Bug#20587)
4443 2015-05-22  Glenn Morris  <rgm@gnu.org>
4445         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
4447         * admin/charsets/mapconv (LC_ALL): Set to C.
4449         * Makefile.in: Add admin/charsets into top-level clean rules.
4450         (clean): Add admin/charsets.
4451         (maybeclean_dirs): New variable.
4452         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
4454         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
4456 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4458         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
4460 2015-05-22  Glenn Morris  <rgm@gnu.org>
4462         Generate admin/charsets Makefile via configure, and make more portable.
4463         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
4464         (admin/charsets/Makefile): Generate it.
4465         * admin/charsets/Makefile.in: Rename from Makefile.
4466         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
4467         New variables, set by configure.
4468         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
4469         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
4470         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
4471         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
4472         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
4473         (all): Declare PHONY.
4474         (local): New PHONY target.
4475         (map_template): New template.  Use to define short PHONY aliases.
4476         (*.map): Add directory prefixes to targets and prerequisites.
4477         Respect make verbosity.
4478         (JISC6226.map): Replace non-portable sed append without newline.
4479         (install): Remove rule.
4480         (clean): Only delete temporary sedscript.
4481         (bootstrap-clean, distclean, maintainer-clean, extraclean)
4482         (totalclean): New PHONY rules.
4483         * admin/charsets/mapconv (BASE): Replace basename with expr.
4484         (FILE): Add "mapfiles" subdirectory.
4485         (AWK): New variable.  Use throughout in place of "awk".
4486         (main): Use "gunzip -c" in place of "zcat".
4487         Don't leave whitespace before "p", for older sed.
4488         * admin/charsets/mapfiles/PTCP154: Add final newline,
4489         to make older sed versions happy.
4491 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
4493         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
4494         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
4495         (auto-revert-notify-watch-descriptor): Use defvar-local.
4496         (find-file-hook, auto-revert-tail-mode, )
4497         (auto-revert-notify-add-watch): Use setq-local.
4498         (auto-revert-notify-add-watch): Don't call make-local-variable on
4499         kill-buffer-hook (bug#20601).
4501 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4503         Change defgeneric so it doesn't completely redefine the function
4504         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
4505         previously defined methods.
4506         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
4507         (cl--generic-prefill-dispatchers): Only define during compilation.
4508         (cl-method-qualifiers): Remove redundant alias.
4509         (help-fns-short-filename): Silence byte-compiler.
4510         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
4512 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4514         (package-menu-execute): Remove reference to remove-dups
4516 2015-05-21  kwhite  <kwhite@gnu.org>
4518         * lisp/erc/erc.el: Hide network/channel messages
4519         (erc-network-hide-list, etc-channel-hide-list): New lists to define
4520         message types per network/channel.
4521         (erc-add-targets): New function to parse list of targets
4522         (erc-hide-current-message-p): Modified to check for new targets
4524 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4526         Don't quote nil and t in doc strings
4527         This is as per "Tips for Documentation Strings" in the elisp manual.
4528         For consistency, do the same in diagnostics and comments.
4530 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
4532         Fix a minor problem with mouse-face on mode line
4533         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
4534         mouse face also if the mouse pointer hovers above mode-line glyphs
4535         that don't come from any Lisp string.  (Bug#20620)
4537 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4539         * lisp/emacs-lisp/package.el: Fix selected-package logic
4540         (package-menu-execute): Mark as selected all non-upgrade packages
4541         being installed.
4542         (package-menu--perform-transaction): Don't mark anything.
4544         * lisp/emacs-lisp/package.el: Mode-line progress report
4545         (package-menu--transaction-status): New variable.
4546         (package-menu-mode, package-menu--perform-transaction): Use it.
4548         * lisp/emacs-lisp/package.el: Better transaction messages
4549         (package-menu--partition-transaction): New function.
4550         (package-menu--prompt-transaction-p, package-menu-execute): Use
4551         it.
4552         (package-menu--perform-transaction): Don't do any messaging.
4554         * lisp/emacs-lisp/package.el: Revert async package transactions
4555         (package-menu-async): Update doc.
4556         (package-install-from-archive, package-download-transaction)
4557         (package-install, package-menu--perform-transaction)
4558         (package-menu-execute): Remove asynchronous functionality.
4560 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4562         Revert doc string changes to f90.el
4563         Problem reported by Glenn Morris in:
4564         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
4565         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4566         Revert recent changes to doc strings, as it's intended that they
4567         use grave accent, not quote.
4569 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
4571         Improve parameter name
4573         Add new inline function `hash-table-empty-p'
4575 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
4577         Don't require help-fns when not needed
4578         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
4579         * lisp/emacs-lisp/elint.el:
4580         Don't require help-fns at the top level.
4581         * lisp/emacs-lisp/advice.el (ad-arglist):
4582         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4583         Don't require help-fns.  (Bug#17001)
4585 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
4587         Fix slash collapsing in etags on MS-Windows
4588         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
4589         MS-Windows code from the Posix code, and support collapsing both
4590         forward- and back-slashes on MS-Windows.  Fixes a regression found
4591         by the test suite.
4593         Improve documentation of glyphless-char-display
4594         * doc/lispref/display.texi (Glyphless Chars): Improve
4595         documentation of glyphless character display.
4597         Fix "acronym" display of glyphless characters on w32
4598         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
4599         ignore "acronym" substitutes of 1 character for glyphless characters.
4601 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
4603         Add an automated test for let-when-compile
4604         * test/automated/subr-tests.el (let-when-compile): New test.
4606         Add let-when-compile macro instead of using pcase-let
4607         * lisp/subr.el (let-when-compile): New let-like macro that makes its
4608         bindings known to macros like `eval-when-compile' in the body.
4609         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
4610           `let-when-compile'. Also comment out the unused lexical var
4611           `el-kws-re'.
4612         The change greatly improves readability, while providing almost the
4613         same (even shorter) byte code: instead of pre-evaluating 10 variables,
4614         tossing them into a list, and destructuring that list a full screen
4615         page later, the variables are simply bound as they are evaluated,
4616         wrapped individually in `eval-when-compile'.
4618 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4620         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
4621         (package-delete-button-action): New function.
4622         (describe-package-1): Add Delete button.
4624         * lisp/emacs-lisp/package.el: Better dependency description
4625         (package--used-elsewhere-p): New optional arg, ALL, and return
4626         package-desc objects instead of names.
4627         (package-delete): Update accordingly.
4628         (describe-package-1): Describe which packages require the package.
4630 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
4632         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
4633         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
4634         Fix doc-string (Bug#20533).
4636         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
4637         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
4638         (switch-to-buffer): If the selected window is strongly dedicated
4639         to its buffer, signal error before prompting for buffer name.  Handle
4640         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
4641         * doc/lispref/windows.texi (Switching Buffers): Document
4642         `switch-to-buffer-in-dedicated-window'.
4644 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4646         Prefer "this" to “this” in doc strings
4647         This mostly just straightens quotes introduced in my previous patch.
4648         Suggested by Dmitry Gutov in:
4649         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
4650         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
4651         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
4652         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
4653         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
4654         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
4655         Prefer straight double quotes to curved double quotes in doc strings.
4657         Fix minor quoting problems in doc strings
4658         These were glitches regardless of how or whether we tackle the
4659         problem of grave accent in doc strings.
4660         * lisp/calc/calc-aent.el (math-restore-placeholders):
4661         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
4662         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
4663         * lisp/leim/quail/hebrew.el ("hebrew-new")
4664         ("hebrew-biblical-sil"):
4665         * lisp/leim/quail/thai.el ("thai-kesmanee"):
4666         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
4667         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
4668         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
4669         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
4670         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
4671         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
4672         (semantic-tag-components):
4673         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
4674         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4675         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
4676         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
4677         * lisp/emacs-lisp/generator.el (iter-next):
4678         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
4679         (gnus-article-mode-syntax-table):
4680         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
4681         * lisp/net/soap-client.el (soap-wsdl-get):
4682         * lisp/net/telnet.el (telnet-mode):
4683         * lisp/org/org-compat.el (org-number-sequence):
4684         * lisp/org/org.el (org-remove-highlights-with-change)
4685         (org-structure-template-alist):
4686         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
4687         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
4688         (handwrite-12pt, handwrite-13pt):
4689         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4690         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
4691         * lisp/progmodes/verilog-mode.el (verilog-tool)
4692         (verilog-string-replace-matches, verilog-preprocess)
4693         (verilog-auto-insert-lisp, verilog-auto-insert-last):
4694         * lisp/textmodes/makeinfo.el (makeinfo-options):
4695         * src/font.c (Ffont_spec):
4696         Fix minor quoting problems in doc strings, e.g., missing quote,
4697         ``x'' where `x' was meant, etc.
4698         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
4699         Fix minor quoting problem in other string.
4700         * lisp/leim/quail/ethiopic.el ("ethiopic"):
4701         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
4702         Omit unnecessary quotes.
4703         * lisp/faces.el (set-face-attribute, set-face-underline)
4704         (set-face-inverse-video, x-create-frame-with-faces):
4705         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
4706         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
4707         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
4708         * lisp/net/tramp.el (tramp-methods):
4709         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
4710         * lisp/textmodes/artist.el (artist-ellipse-right-char)
4711         (artist-ellipse-left-char, artist-vaporize-fuzziness)
4712         (artist-spray-chars, artist-mode, artist-replace-string)
4713         (artist-put-pixel, artist-text-see-thru):
4714         * lisp/vc/ediff-util.el (ediff-submit-report):
4715         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
4716         Use double-quotes rather than TeX markup in doc strings.
4717         * lisp/skeleton.el (skeleton-pair-insert-maybe):
4718         Reword to avoid the need for grave accent and apostrophe.
4719         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
4720         Don't use grave and acute accents to quote.
4722 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4724         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
4726 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4728         Try to port new etags tests to MS-Windows
4729         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4730         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4731         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4732         Adjust to test-case changes below.
4733         * test/etags/Makefile (CSRC): Remove dostorture.c.
4734         Whatever it was trying to test, wasn't working portably.
4735         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
4736         just a line-ending problem.
4737         * test/etags/c-src/dostorture.c: Remove.
4738         * test/etags/cp-src/c.C: Remove stray CR.
4739         * test/etags/html-src/algrthms.html: Remove trailing CRs.
4740         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
4741         but if someone edits it later it should stay UTF-8-compatible.
4743 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
4745         Fix display of overlapping window-specific overlays
4746         * src/keyboard.c (adjust_point_for_property): When adjusting point
4747         due to display strings, ignore overlays that are specific to
4748         windows other than the currently selected one.
4749         * src/xdisp.c (handle_single_display_spec): If the display
4750         property comes from an overlay, arrange for buffer iteration to
4751         resume only after the end of that overlay.  (Bug#20607)
4753 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
4755         New command icomplete-force-complete-and-exit
4756         * lisp/icomplete.el (icomplete-force-complete-and-exit):
4757         New command
4758         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
4759         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
4760         (icomplete-minibuffer-map): Bind C-j to it.
4761         (icomplete-forward-completions, icomplete-backward-completions):
4762         Mention the new command in the docstring.
4763         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
4764         the previous fix for bug#17545.
4766 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
4768         Fix last commit
4770         In Elisp manual explain how to override window manager positioning (Bug#20552)
4771         * doc/lispref/frames.texi (Position Parameters): Give example of
4772         how to override a window manager positioning decision.
4774         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
4775         * src/frame.c (Fdelete_frame): In doc-string mention that frame
4776         can't be deleted if it has a surrogate minibuffer.
4777         * doc/lispref/frames.texi (Minibuffers and Frames)
4778         (Deleting Frames): Explain "surrogate minibuffer frames".
4780         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
4781         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
4783 2015-05-18  Glenn Morris  <rgm@gnu.org>
4785         Add option to ignore commit lines matching a pattern in ChangeLog.
4786         * build-aux/gitlog-to-changelog: Add --ignore-line option.
4787         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
4789 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4791         Don't skip new etags tests on non-UTF-8 hosts
4792         Problem reported by Eli Zaretskii for MS-Windows.
4793         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
4794         (LC_ALL): Set to C if the current locale isn't UTF-8.
4795         (.PHONY): Remove ediff_1 thru ediff_5.
4796         (check): Always run.
4798 2015-05-18  Glenn Morris  <rgm@gnu.org>
4800         * lisp/calculator.el (calculator-funcall):
4801         * lisp/textmodes/artist.el (artist-spray-random-points):
4802         Use standard degree/radian conversion utilities.
4804         Further lisp-complete-symbol related cleanup.
4805         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
4806         Unadvertise non-functional argument.  Replace obsolete alias.
4808 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4810         Add a test case for Maven warning ouput
4811         * test/automated/compile-tests.el
4812         (compile-tests--test-regexps-data): Add a case for Maven warning
4813         ouput.
4814         (compile--test-error-line): Check the compilation message type, if
4815         it's specified in the test data.
4817 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
4819         Update Maven compilation-mode entry to distinguish warnings
4820         * lisp/progmodes/compile.el
4821         (compilation-error-regexp-alist-alist): Update Maven entry to
4822         distinguish warnings (bug#20556).
4824 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
4826         * test/automated/sgml-mode-tests.el: New file.
4828 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4830         Improve handling of the first Git revision
4831         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
4832         there's no next entry, delete until the end of the buffer.
4833         (log-view-end-of-defun-1): Stop at eob.
4834         * lisp/vc/vc-annotate.el
4835         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
4836         when previous-revision is nil.
4837         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
4838         with `--' to avoid ambiguity.
4839         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
4840         returned revision string.
4841         (vc-git-annotate-time): Expect `^' before the first revision.
4842         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
4843         REV1 is nil, and REV2 is not.
4844         * lisp/vc/vc.el: Update the description of the `diff' function.
4846 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
4848         Allow checkdoc to be called in batch
4849         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
4850           is non-nil, echo the error with `warn'.
4851         How it can be used in -batch:
4852         (with-current-buffer (find-file "checkdoc.el")
4853           (checkdoc-current-buffer t))
4855 2015-05-18  Glenn Morris  <rgm@gnu.org>
4857         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
4859 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4861         * admin/notes/unicode: New section "binary files".
4863         Change new etags test to use UTF-8 encoding
4864         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4865         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4866         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4867         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
4868         * test/etags/html-src/softwarelibero.html:
4869         Switch to UTF-8 encoding.
4870         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
4871         Remove Makefile, as it's too incestuous to have the test input
4872         include the build procedure.
4873         (UTF8_LOCALE, UTF_ENCODING): New macros.
4874         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
4875         (check): Skip if not UTF-8.
4876         (.PHONY): New rule.
4877         (FRC): Remove, as superseded by .PHONY.  All uses removed.
4878         (regexfile): Prefer printf to echo when outputting oddball chars.
4879         (.PRECIOUS): Remove, as these files are not built.
4881         Rename 'foo-gzipped' to 'foo.gz'
4882         * test/automated/data/decompress/foo.gz:
4883         Rename from test/automated/data/decompress/foo-gzipped,
4884         to make it easier for other tools to tell that it's compressed.
4885         * test/automated/zlib-tests.el (zlib--decompress):
4886         Adjust to renamed file.
4888 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
4890         Set up default-directory
4891         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
4892         binding for `v'.
4893         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
4894         appropriate value for default-directory.
4896 2015-05-17  Samer Masterson  <samer@samertm.com>
4898         * lisp/eshell/em-term.el (eshell-term-sentinel):
4899         No-op by default, only kills term buffer if
4900         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
4901         (eshell-destroy-buffer-when-process-dies): New custom to preserve
4902         previous behavior.
4904         eshell: Introduce new buffer syntax
4905         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
4906         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
4907         needed (Bug#19319).
4908         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
4909         (eshell-get-target): Remove shorthand-specific code.
4910         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
4911         '#<buffer-name>'.
4913 2015-05-17  Jan D  <jan.h.d@swipnet.se>
4915         Merge branch 'master' into cairo
4917 2015-04-26  Jan D  <jan.h.d@swipnet.se>
4919         Merge branch 'master' into cairo
4921         Add PBM support for cairo.
4922         * src/image.c (xcolor_to_argb32): New function.
4923         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
4924         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
4925         XImagePtr if ! USE_CAIRO.
4926         (pbm_load): Add cairo support.
4928 2015-04-12  Jan D  <jan.h.d@swipnet.se>
4930         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
4931         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
4932         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
4933         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
4934         x_free_cr_resources.
4936         Handle specified bg in images.  Use generic libpng code for PNG:s.
4937         * src/image.c (get_spec_bg_or_alpha_as_argb)
4938         (create_cairo_image_surface): New functions when USE_CAIRO.
4939         (xpm_load): Call the above functions.  Handle XPM without mask
4940         when USE_CAIRO.
4941         (png_load_body): Handle USE_CAIRO case.
4942         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
4943         instead.
4944         (jpeg_load_body): Call create_cairo_image_surface.
4945         (gif_load, svg_load_image): Handle specified background, call
4946         create_cairo_image_surface.
4947         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
4949 2015-04-11  Jan D  <jan.h.d@swipnet.se>
4951         Support GIF and Tiff with cairo.
4952         * configure.ac: Allow jpeg with cairo.
4953         Allow tiff and gif with cairo.
4954         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4955         (tiff_load): Create cairo image surface if USE_CAIRO.
4956         (gif_load): Ditto.
4958         Support JPEG with USE_CAIRO.
4959         * configure.ac: Allow jpeg with cairo.
4960         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4962 2015-04-05  Jan D  <jan.h.d@swipnet.se>
4964         Support RSVG and cairo.
4965         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
4966         * src/dispextern.h (struct image): add cr_data2 if cairo.
4967         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
4968         (x_clear_image): Free cr_data and cr_data2 if set.
4969         (xpm_load): Assign data to cr_data2.
4970         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
4972 2015-04-03  Jan D  <jan.h.d@swipnet.se>
4974         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
4975         * configure.ac (HAVE_RSVG): Move after cairo.
4976         (USE_CAIRO): Disable rsvg, don't disable Xpm.
4977         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
4978         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
4979         don't return early.
4980         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
4981         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
4982         and create a surface.
4984         Tool tips for menus did not show any text.
4985         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
4986         tip frames, the geometry may be wrong.
4988         Merge branch 'master' into cairo, fixes tooltips not shown.
4990         Merge branch 'master' into cairo
4992         Add CAIRO_CFLAGS to lwlib/Makefile.in
4993         * Makefile.in (CAIRO_CFLAGS): Add.
4995 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4997         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
4999 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5001         Draw outermost line using black relief and erase corners also for cairo.
5002         * xterm.c [USE_CAIRO]: Include math.h.
5003         (enum corners) [USE_CAIRO]: New enum.
5004         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5005         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5006         than 1, draw the outermost line using the black relief.
5008         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5010 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5012         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5014         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5016         Use int instead of unsigned int for width and height args.
5017         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5018         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5019         width and height args.
5021         Modernize k&r cairo-related function declarations.
5022         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5023         (xg_print_frames_dialog): Modernize k&r declarations.
5024         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5025         (Fx_print_frames_dialog): Modernize k&r declarations.
5026         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5027         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5028         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5029         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5030         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5031         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5032         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5033         (x_clear_area): Modernize k&r declarations.
5035         Implement wave-style variant of underlining for cairo.
5036         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5037         (x_draw_underwave) [USE_CAIRO]: Use it.
5039         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5041 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5043         Fix fringe bitmap initialization for cairo.
5044         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5045         cairo image surface.
5046         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5048 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5050         Add cairo drawing.
5051         * configure.ac (with-cairo): New option.
5052         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5053         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5054         Output "Does Emacs use cairo?".
5055         * lisp/version.el (emacs-version): Add cairo version.
5056         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5057         (FONT_OBJ): Add comment about ftcrfont.
5058         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5059         (LIBES): Add CAIRO_LIBS.
5060         * src/dispextern.h (struct image): Add cr_data for cairo.
5061         (x_cr_init_fringe): Declare.
5062         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5063         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5064         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5065         with w32_init_fringe.
5066         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5067         * src/ftfont.c (ftfont_info_size); New global variable.
5068         (ftfont_open2): New extern function almost the same as old ftfont_open,
5069         but takes the font_object as argument.
5070         (ftfont_open): Build font object and call ftfont_open2.
5071         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5072         * src/gtkutil.c (xg_clear_under_internal_border)
5073         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5074         queue_draw if not cairo.  Change args to x_clear_area.
5075         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5076         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5077         (xg_print_frames_dialog): New functions for printing.
5078         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5079         (xg_print_frames_dialog): Declare.
5080         * src/image.c: Add defined (USE_CAIRO) for PNG.
5081         Add !defined USE_CAIRO for W32 PNG code.
5082         (x_clear_image): If cairo, destroy the surface in cr_data.
5083         (png_load): Add new cairo compatible implementation.
5084         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5085         * src/xfns.c: New section Printing.
5086         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5087         (x-print-frames-dialog): New printing functions.
5088         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5089         cairo.
5090         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5091         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5092         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5093         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5094         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5095         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5096         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5097         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5098         Declare.
5099         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5100         (max_fringe_bmp, fringe_bmp): New variables.
5101         (x_gc_get_ext_data, x_extension_initialize)
5102         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5103         (x_set_cr_source_with_gc_foreground)
5104         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5105         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5106         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5107         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5108         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5109         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5110         (x_update_begin): Create cairo surface if needed.
5111         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5112         (x_update_end): Paint cairo drawing surface to xlib surface.
5113         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5114         arguments to x_clear_area.
5115         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5116         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5117         of XSetClipMask.
5118         (x_set_glyph_string_clipping)
5119         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5120         instead of XSetClipRectangles.
5121         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5122         x_fill_rectangle instead of XFillRectangle.
5123         (x_draw_glyph_string_foreground)
5124         (x_draw_composite_glyph_string_foreground)
5125         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5126         of XDrawRectangle.
5127         (x_draw_relief_rect): Add code for USE_CAIRO.
5128         Call x_reset_clip_rectangles instead of XSetClipMask.
5129         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5130         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5131         instead of XSetClipMask.
5132         (x_draw_image_foreground, x_draw_image_foreground_1):
5133         x_draw_rectangle instead of XDrawRectangle.
5134         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5135         XFillRectangle.
5136         (x_draw_image_glyph_string): If img has cr_data, use it as
5137         a cairo surface.
5138         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
5139         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
5140         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
5141         x_reset_clip_rectangles instead of XSetClipMask.
5142         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
5143         (x_clear_area1): New function that calls XClearArea.
5144         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
5145         non-cairo.
5146         (x_clear_frame): x_clear_window instead of XClearWindow.
5147         (x_scroll_run): Set frame garbaged if cairo.
5148         (XTmouse_position): Initialize *part to 0.
5149         (x_scroll_bar_create): Adjust arguments to x_clear_area.
5150         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
5151         x_fill_rectangle instead of XFillRectangle.
5152         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
5153         arguments to x_clear_area.
5154         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
5155         (handle_one_xevent): Adjust arguments to x_clear_area.
5156         Destroy cairo surface for frame if ConfigureNotify.
5157         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
5158         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
5159         x_reset_clip_rectangles instead of XSetClipMask.
5160         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
5161         x_reset_clip_rectangles instead of XSetClipMask.
5162         (x_clear_frame_area): Adjust arguments to x_clear_area.
5163         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
5164         (x_term_init): Call x_extension_initialize if cairo.
5165         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
5166         x_cr_destroy_fringe_bitmap for cairo.
5167         (x_initialize): Call x_cr_init_fringe for cairo.
5168         * src/xterm.h: Add include of cairo header files.
5169         (x_bitmap_record): Add img if cairo.
5170         (x_gc_ext_data): New struct for cairo.
5171         (x_display_info): Add ext_codes for cairo.
5172         (x_output): Add cr_context and cr_surface for cairo.
5173         (x_clear_area): Change arguments from Display*/Window to frame pointer.
5174         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
5175         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
5176         (x_cr_draw_frame, x_cr_export_frames): Declare.
5178 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
5180         Fix integer-valued `mouse-highlight' (Bug#20590)
5181         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
5183 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
5185         MS-Windows followup for ASCIIfication of curved quotes
5186         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
5187         test for curved quotes being displayable, after switching the
5188         terminal encoding.  (Bug#20545)
5190 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5192         Spelling fixes
5194 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5196         Add comment that x_shift_glyphs_for_insert is never called.
5197         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
5198         comment that this function is never called.
5200 2015-05-16  Glenn Morris  <rgm@gnu.org>
5202         * src/lisp.mk: Remove from repository and generate at build-time.
5203         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
5204         (shortlisp_filter): New variable.
5205         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
5206         (distclean): Remove lisp.mk.
5207         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
5208         * lisp/loadup.el: Tweak layout to make it easier to parse.
5209         * make-dist: Do not distribute src/lisp.mk.
5211 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5213         Display shorter dates in Git annotate output
5214         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
5215         format (when not overridden with vc-git-annotate-switches).
5216         (vc-git-annotate-time): Support the short format, as well as ISO
5217         8601 that has been used until now (bug#5428).
5219 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5221         ASCIIfy curved quotes on displays lacking them
5222         * lisp/international/mule-cmds.el (set-locale-environment):
5223         If curved quotes don't work, display straight ASCII approximations
5224         (Bug#20545).
5226 2015-05-16  Glenn Morris  <rgm@gnu.org>
5228         Small src/Makefile simplification.
5229         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
5230         * src/Makefile.in (lisp): Derive from shortlisp.
5231         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
5233 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
5235         * lisp/help-mode.el (help-go-forward): Doc fix.
5236         (Bug#20577)
5238         * doc/lispref/debugging.texi (Profiling): Improve indexing.
5239         (Bug#20576)
5241 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5243         Use `unless' to have one fewer `not'
5244         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
5245         have one fewer `not'.
5247         Remove redundant :group declarations from vc-git.el
5248         * lisp/vc/vc-git.el (vc-git-diff-switches)
5249         (vc-git-annotate-switches, vc-git-resolve-conflicts)
5250         (vc-git-program, vc-git-root-log-format): Remove the redundant
5251         :group declarations.
5253 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
5255         Removes the predicate from lisp-complete-symbol (Bug#20456)
5256         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
5257         and remove it from the docstring.
5259 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5261         Add new option vc-git-resolve-conflicts
5262         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
5263         (vc-git-find-file-hook): Add to after-save-hook only when the
5264         above is non-nil.
5265         (vc-git-resolve-when-done): Update to honor the new variable.
5266         (Bug#20292)
5268 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
5270         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
5271         (tabulated-list-init-header): Document new behavior.
5272         (tabulated-list-print-fake-header): No nothing if
5273         `tabulated-list--header-string' is nil.
5274         (tabulated-list--header-string): Add a docstring.
5275         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5276         * etc/NEWS: Document it.
5278 2015-05-15  Leo Liu  <sdl.web@gmail.com>
5280         Revert "Fix cps--gensym"
5281         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
5282           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
5284 2015-05-15  Glenn Morris  <rgm@gnu.org>
5286         Replace AC_SUBST_FILE in configure with include in Makefiles.
5287         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
5288         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
5289         (AUTO_DEPEND): New output variable.
5290         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
5291         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5292         (lwlib_deps_frag): Replace by conditional include.
5293         * lwlib/autodeps.mk: Remove file.
5294         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
5295         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5296         (oldxmenu_deps_frag): Replace by conditional include.
5297         * oldXMenu/autodeps.mk: Remove file.
5298         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
5299         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5300         (lisp_frag): Replace by an include.
5301         (deps_frag): Replace by conditional include.
5302         * src/autodeps.mk: Remove file.
5304         Tweak japanese.el's loading of dependencies.
5305         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
5306         * lisp/language/japanese.el: Use require rather than load.
5307         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5308         Provide a feature.
5309         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
5310         Provide a feature in the generated file.
5312 2015-05-15  Jan D  <jan.h.d@swipnet.se>
5314         Fix NS warnings.
5315         * nsmenu.m (ns_popup_dialog)
5316         * nsimage.m (initFromXBM:width:height:fg:bg:)
5317         * nsfns.m (Fx_create_frame): Remove unused variables.
5318         (Fns_read_file_name): Initialize fname, remove ret.
5319         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
5320         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
5321         variable.
5322         (init): Add parantesis in if.
5323         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
5325 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5327         Fix a enum conversion warning in macfont.m
5328         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
5329         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
5331 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
5333         Support de-alt dictionary with Aspell.
5334         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
5335         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
5337 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5339         cus-start.el: Add ns-confirm-quit.
5340         * cus-start.el: Add ns-confirm-quit.
5342         Fix warnings on OSX 10.10.
5343         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
5344         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
5345         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
5346         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
5347         * nsimage.m (allocInitFromFile, setPixmapData): Only call
5348         setScalesWhenResized for OSX < 10.6.
5349         * nsterm.h (EmacsScroller): Declare scrollerWidth.
5350         * nsterm.m (ns_copy_bits): New function that does not use deprecated
5351         NSCopyBits.
5352         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
5353         (runAlertPanel): New function.
5354         (applicationShouldTerminate:): Call runAlertPanel.
5355         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
5356         for OSX < 10.10.
5357         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
5358         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
5359         (draggingEntered:): Returns NSDragOperation.
5360         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
5362 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5364         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
5365         (package--init-file-ensured): New variable.
5366         (package-initialize, package--ensure-init-file): Use it.
5368 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5370         Honor :fore/background for XBM on NS (Bug#14969).
5371         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
5372         initFromXBM takes bg, fg args, remove flip arg.
5373         (ns_image_from_XBM): Add bg, fg args.
5374         * image.c (x_create_bitmap_from_data)
5375         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
5376         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
5377         Remove flip arg.
5378         (initFromSkipXBM): Move code to initFromXBM.
5379         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
5380         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
5381         false.
5382         Remove bit flipping (bitPat, swt), generated incorrect images when
5383         width/height wasn't a multiple of 8.
5384         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
5385         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
5386         flip arg.
5388 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5390         * lisp/emacs-lisp/package.el: Be more careful with the init file
5391         (package--ensure-init-file): Check that user-init-file is set,
5392         exists, is readable, and is writable.  (Bug#20584)
5393         Also expand the docstring.
5395 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
5397         Sync with upstream verilog-mode revision 6232468
5398         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
5399         (verilog-highlight-grouping-keywords): Fix use of face when
5400         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
5401         Pompa.
5402         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
5403         parent is reset, bug906. Reported by Ken Schmidt.
5404         (verilog-auto-inout-module): Add fourth regexp argument to
5405         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
5406         bug856. Reported by John Tillema.
5407         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
5408         modport if signal attachment is itself a modport.  Reported by
5409         Matthew Lovell.
5410         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
5411         always_comb and always_latch, bug844.  Reported by Greg Hilton.
5412         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
5413         with many curly-bracket pairs, bug663.
5414         (verilog-set-auto-endcomments): Fix end comments for functions of
5415         type void, etc.  Reported by Alex Reed.
5416         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
5417         caused by indent-line-to deleting tabls pre 24.5.
5418         (verilog-nameable-item-re): Fix nameable items that can have an
5419         end-identifier to include endchecker, endgroup, endprogram,
5420         endproperty, and endsequence.  Reported by Alex Reed.
5421         (verilog-label-be): When auto-commenting a buffer, consider
5422         auto-comments on all known keywords (not just a subset thereof).
5423         Reported by Alex Reed.
5424         (verilog-auto-end-comment-lines-re)
5425         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
5426         Automatically comment property/endproperty blocks to match other
5427         similar blocks like sequence/endsequence, function/endfunction,
5428         etc. Reported by Alex Reed.
5429         (verilog-set-auto-endcomments): Detect the function- or task-name
5430         when auto-commenting blocks that lack an explicit
5431         portlist. Reported by Alex Reed.
5432         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
5433         allow post-AUTO user fixups, bug826. Reported by Dennis
5434         Muhlestein.
5435         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
5436         is nil, fix indenting initial/final to match always statements,
5437         bug825. Reported by Tim Clapp.
5438         (verilog-extended-complete-re): Fix indentation of DPI-C imports
5439         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
5440         Mao and Jason Forkey.
5441         (verilog-read-decls): Fix parsing typed interfaces.  Fix
5442         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
5443         Fix localparam not being ignored in AUTOINSTPARAM,
5444         bug889. Reported by Shannon Hill.
5445         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
5446         bug793.  Reported by Pierre-David Pfister.
5447         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
5448         verilog-auto-arg-format to support newlines in AUTOARG. Reported
5449         by Jie Xiao.
5450         (verilog-batch-execute-func): Do not batch re-auto files loaded by
5451         Local Variables. Fix printing "no changes to be saved" with
5452         verilog-batch. Reported by Dan Dever.
5453         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
5454         interface-only modules, bug721.  Reported by Dean Hoyt.
5455         Author: Alex Reed <acreed4@gmail.com>
5456         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
5457         treat '<keyword>:<identifier>' as the start of a labeled
5458         statement, bug905.  Reported by Enzo Chi.
5459         (verilog-directive-re, verilog-compiler-directives)
5460         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
5461         directives (plus some extras) when determining indentation, bug
5462         901.  Reported by Bernd Beuster.
5463         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
5464         iff expression doesn't start with word-character, bug900.
5465         (verilog-optional-signed-range-re, verilog-optional-signed-re):
5466         Fix incorrect indentation/alignment of unsigned declarations,
5467         bug897.
5468         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
5469         always constructs, bug895.
5470         (verilog-calc-1): Fix verilog-mode constraint indentation,
5471         bug324. Reported by Eric Mastromarchi.
5472         (verilog-beg-of-statement): Fix indenting for some forms of
5473         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
5474         continued assignment incorrect if first line ends with ']',
5475         bug437. Reported by Dan Dever.  Fix indention of cover inside an
5476         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
5477         blocks, bug842.
5478         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
5479         bug859. Reported by Kaushal Modi.
5480         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
5481         (verilog-backward-token): Fix indenting sensitivity lists with
5482         named events, bug840.  Reed.
5483         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
5484         nil not honoring 'forever', 'foreach', and 'do' keywords.
5486 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5488         Check for invalid GTK+ monitor scales
5489         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
5490         INT_MAX for too-large scales.  All callers changed to assume the
5491         result is valid (Bug#20432).
5492         (xg_frame_set_char_size, xg_update_scrollbar_pos):
5493         Calculate scale only if needed.
5494         show ASCII approximations instead.
5496 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
5498         Fix daemon crashes when linum-mode is turned on early on
5499         * src/window.c (Fwindow_end): Don't try calling display engine
5500         functions on initial-frame frame.  (Bug#20565)
5502         Fix selective diff browsing in Ediff
5503         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
5504         beginning of the region before searching for the
5505         ediff-regexp-focus-* regexps.  (Bug#20568)
5507 2015-05-14  Jan D  <jan.h.d@swipnet.se>
5509         Fixes Bug#20142.
5510         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
5511         in the main loop, even for Gtk 3 (Bug#20142).
5513         Don't access display after i/o error (Bug#19147).
5514         * xterm.c (x_connection_closed): Add third arg ioerror.
5515         If ioerror, set display to 0 (Bug#19147).
5516         (x_error_quitter): Call x_connection_closed with third arg false.
5517         (x_io_error_quitter): Call x_connection_closed with third arg true.
5519         Handle GTK_SCALE, fixes Bug#20432.
5520         * gtkutil.c (xg_get_gdk_scale): New function.
5521         (xg_frame_set_char_size)
5522         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
5523         (xg_get_default_scrollbar_height)
5524         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
5525         when setting sizes (Bug#20432).
5527 2015-05-13  Leo Liu  <sdl.web@gmail.com>
5529         Fix cps--gensym
5530         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
5532 2015-05-13  Glenn Morris  <rgm@gnu.org>
5534         Fix bootstrap (void function cl-member).
5535         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
5536         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
5538 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5540         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
5541         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
5542         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
5543         Avoid defalias for closures which are not immutable.
5544         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
5545         dispatchers table with various entries.
5546         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
5547         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
5549 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
5551         Improve tagging of C bindings in DEFVAR_*
5552         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
5553         from DEFVAR_*.
5555 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5557         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
5559 2015-05-12  Glenn Morris  <rgm@gnu.org>
5561         * lisp/progmodes/tcl.el (tcl-filter):
5562         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
5564         Add basic VC push support.
5565         * lisp/vc/vc.el (vc-push): New autoloaded command.
5566         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
5567         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
5568         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
5569         (vc-bzr-push): New.
5570         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
5571         (vc-git-pull): Reimplement using vc-git--pushpull.
5572         (vc-git-push): New.
5573         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
5574         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
5575         * doc/emacs/maintaining.texi (Pulling / Pushing):
5576         Rename from "VC Pull".  Mention pushing.
5577         (VC With A Merging VCS, VC Change Log): Update xrefs.
5578         (Branches): Update menu.
5579         * doc/emacs/emacs.texi: Update menu.
5580         * etc/NEWS: Mention this.
5582 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
5584         Improve the seq pcase pattern and the `seq-let' macro
5585         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
5586         object is a sequence, and binds each element of ARGS to the
5587         corresponding element of the sequence.
5589 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
5591         Fix tags created from DEFVAR_* declarations in C
5592         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
5593         to make tags extracted from DEFVAR_* declarations more accurate.
5595         Add a test suite for etags
5596         * test/etags/: New test suite, adapted from
5597         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
5598         whose original author is Francesco Potortì <pot@gnu.org>.
5600         Fix tagging of symbols in C enumerations
5601         * lib-src/etags.c (consider_token): Don't tag symbols in
5602         expressions that assign values to enum constants.  See
5603         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
5604         for details.
5605         (C_entries): Reset fvdef to fvnone after processing a preprocessor
5606         conditional and after a comma outside of parentheses.
5608 2015-05-12  Glenn Morris  <rgm@gnu.org>
5610         * lisp/url/url-handlers.el (url-file-name-completion)
5611         (url-file-name-all-completions): Silence compiler.
5613         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
5615         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
5617 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
5619         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
5620         (cl--generic-mandatory-args): Remove.
5621         (cl--generic-split-args): New function.
5622         (cl-generic-define, cl--generic-lambda): Use it.
5623         (cl-generic-define-method): Use it as well, and add support for
5624         context args.
5625         (cl--generic-get-dispatcher): Handle &context dispatch.
5626         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
5627         (cl--generic-dispatchers): Pre-fill.
5628         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
5630 2015-05-11  Glenn Morris  <rgm@gnu.org>
5632         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
5634 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5636         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
5637         * lisp/term/rxvt.el: Require term/xterm.
5638         (rxvt-function-map): Use xterm-rxvt-function-map.
5639         (rxvt-standard-colors): Move before first use.
5640         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
5641         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
5642         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
5643         Move shared bindings between rxvt and xterm to it.
5644         (xterm-function-map): Use it.  Move the xterm-paste binding to
5645         xterm-rxvt-function-map (bug#20444).
5646         (xterm-standard-colors): Move before first use.
5647         (xterm--push-map): New function.
5648         (xterm-register-default-colors): Take standard colors as argument.
5649         (terminal-init-xterm): Use it.  Adjust call to
5650         xterm-register-default-colors.
5652 2015-05-11  Glenn Morris  <rgm@gnu.org>
5654         * lisp/term/x-win.el: Quieten --without-x compilation.
5655         (x-own-selection-internal, x-disown-selection-internal)
5656         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
5657         Declare.
5659         * Makefile.in (emacslog): Remove srcdir.
5660         (ChangeLog): Update for the above.
5662 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5664         Spelling fix
5666 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5668         python.el: better limit for looking-back calls
5669         * lisp/progmodes/python.el (python-shell-accept-process-output):
5670         Use last comint prompt start as limit for looking-back.
5672 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
5674         CEDET (srecode-insert-fcn): Fix use of oref on a class
5675         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
5676         a class.  Reported by Pierre Lorenzon.
5677         (srecode-template-inserter-point): Remove declaration.
5679         CEDET (srecode-create-dictionary): Avoid obsolete object name
5680         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
5681         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
5683 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5685         C-x 8 shorthands for curved quotes, Euro, etc.
5686         Although C-x 8 lets you insert arbitrary Unicode characters,
5687         it's awkward to use this to insert commonly used symbols such as curved
5688         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
5689         characters commonly found in English text and in basic math.
5690         For example, assuming the Alt key works on your keyboard and iso-transl
5691         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
5692         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
5693         (Bug#20499)
5694         * doc/emacs/mule.texi (Unibyte Mode):
5695         A few other printing characters now work too.
5696         * etc/NEWS: Document this.
5697         * lisp/international/iso-transl.el (iso-transl-char-map):
5698         Also support the following characters:
5699         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
5701 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5703         Add xref-find-regexp
5704         * lisp/progmodes/xref.el (xref-find-function): Describe the
5705         `matches' action.
5706         (xref-find-regexp): New command, using it.
5707         (xref-collect-references): Rename to xref-collect-matches.
5708         (xref--collect-reference): Rename to xref--collect-match.
5709         (xref-collect-matches, xref--collect-match): Accept new argument,
5710         KIND.  Update accordingly.
5711         (xref--regexp-to-extended): New function.
5712         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
5713         `matches' action.
5714         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
5715         * lisp/progmodes/etags.el (etags-xref-find):
5716         Support the `matches' action.
5717         (etags--xref-find-matches): New function.
5719 2015-05-10  Glenn Morris  <rgm@gnu.org>
5721         * Makefile.in: Fixes for recent change-history changes.
5722         (change-history-nocommit): Update footer regexp.
5723         Ensure output script stays executable.
5725 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
5727         New version of `seq-let' based on a pcase pattern
5728         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
5729         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
5731 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
5733         Add basic HTML5 tags and a template
5734         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
5735         (html-tag-alist): Add HTML5 tags.
5736         (html-tag-help): Add new tags descriptions.
5737         (html-navigational-links): Template for nav links.
5738         (html-html5-template): Template for a HTML5 page.
5740 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5742         semantic/symref/grep: Don't use word boundaries
5743         * lisp/cedet/semantic/symref/grep.el
5744         (semantic-symref-perform-search): Instead of wrapping input in
5745         word boundaries, check that the characters before and after are
5746         not word constituents.
5748         semantic/symref/grep: Support regexp search
5749         * lisp/cedet/semantic/symref.el
5750         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
5751         the search type is regexp.
5752         * lisp/cedet/semantic/symref/grep.el
5753         (semantic-symref-perform-search): Support the regexp search type.
5754         Pass -E to Grep when it's used.
5756         semantic-symref-regexp: Allow to input an arbitrary string
5757         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
5758         Allow to input an arbitrary string interactively.
5760         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
5761         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
5762         Remove tag-symbol-match-p from the default value
5763         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
5765         Declare find-tag obsolete
5766         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
5767         xref-find-definitions.
5769 2015-05-10  Jan D  <jan.h.d@swipnet.se>
5771         Draw composite string correctly (Bug#20537).
5772         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
5773         (ns_draw_glyph_string): Call it (Bug#20537).
5775 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
5777         Avoid infloop in ERC
5778         * lisp/simple.el (line-move-to-column): Ignore field boundaries
5779         while computing line beginning position.  (Bug#20498)
5781 2015-05-08  Glenn Morris  <rgm@gnu.org>
5783         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
5784         * build-aux/gitlog-to-emacslog: Check called from right directory.
5785         (srcprefix): Remove.
5787         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
5788         * Makefile.in (ChangeLog): No longer pass "distprefix".
5789         * make-dist: Update "make ChangeLog" syntax for the above change.
5791         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
5792         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
5794         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
5796         Add command-line option-parsing to gitlog-to-emacslog.
5797         * build-aux/gitlog-to-emacslog: Add command-line options.
5798         By default, refuse to remove an existing output file.
5799         * Makefile.in (CHANGELOG): Update default.
5800         (ChangeLog): Do not test for existing file.
5801         (change-history-nocommit): Ensure temp file does not exist.
5803         Quieten --without-x compilation.
5804         * lisp/term/common-win.el: Provide a feature.
5805         * lisp/term/x-win.el (term/common-win): Require it.
5807         * lisp/dired-aux.el (dired-do-print): Require lpr.
5809         Quieten compilation, eg in --without-x builds.
5810         * lisp/dired-aux.el (lpr-printer-switch):
5811         * lisp/frame.el (tool-bar-height):
5812         * lisp/linum.el (font-info):
5813         * lisp/window.el (font-info, overflow-newline-into-fringe)
5814         (tool-bar-height):
5815         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
5816         * lisp/gnus/gnus-util.el (iswitchb-mode):
5817         * lisp/mail/rmailmm.el (libxml-parse-html-region):
5818         * lisp/net/nsm.el (gnutls-peer-status)
5819         (gnutls-peer-status-warning-describe):
5820         * lisp/net/shr.el (libxml-parse-xml-region):
5821         * lisp/url/url-http.el (gnutls-peer-status): Declare.
5823 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5825         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
5826         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
5827         `subclass' since they're never called with a class.
5828         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
5829         srecode-dictionary-child-p.
5831 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5833         help--binding-locus: Document argument POSITION.
5834         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
5836 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5838         Merge from gnulib.
5839         * doc/misc/texinfo.tex: Get latest version.
5841 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
5843         ffap.el (ffap-read-file-or-url): Fix completing-read call
5844         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
5845           `completing-read' should be a symbol.
5847 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
5849         Verify file modifications by other programs
5850         * src/filelock.c (lock_file): Check whether the file was modified
5851         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
5853         Fix keyboard macros that include function keys
5854         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
5855         keys in the macro before returning.  (Bug#20454)
5857 2015-05-08  Glenn Morris  <rgm@gnu.org>
5859         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
5860         "Copyright-paperwork-exempt".  (Bug#20324)
5862         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
5863         (log-edit-rewrite-tiny-change): New variable.
5864         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
5865         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
5866         * etc/NEWS: Mention this.
5868         * lisp/calc/calc.el (math-zerop): Declare.
5870         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
5872 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5874         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
5875         Support the case when BINDINGS is a single tuple.  (Bug#20525)
5877         * etc/NEWS: Fix typo in commit 14bb519
5879 2015-05-07  Jan D  <jan.h.d@swipnet.se>
5881         Warn for multiple display crash for all Gtk+ versions.
5882         * configure.ac: Warn for multiple display crash for all Gtk+
5883         versions.  Output URL to Gtk+ bug (Bug#20452).
5885         ns-win.el (ns-paste-secondary): Use gui-get-selection.
5886         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
5888 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5890         * lisp/emacs-lisp/package.el: New "external" package status
5891         An external package is any installed package that's not built-in
5892         and not from `package-user-dir', which usually means it's from an
5893         entry in `package-directory-list'.  They are treated much like
5894         built-in packages, in that they cannot be through the Package Menu
5895         deleted and are not considered for upgrades.
5896         (package-desc-status): Identify if a package is installed outside
5897         `package-user-dir'.
5898         (package-menu--print-info-simple)
5899         (package-menu--status-predicate): Add support for it.
5900         * etc/NEWS: Document it.
5902 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5904         * lisp/mail/rmail.el: Use lexical-binding
5905         (rmail-bury): Remove unused var `buffer-to-bury'.
5906         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
5907         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
5908         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
5909         (rmail-insert-inbox-text): Remove unused var `movemail'.
5910         (rmail-add-mbox-headers): Remove unused var `limit'.
5911         (rmail-undelete-previous-message): Remove unused var `value'.
5912         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
5913         `resent-reply-to'.
5914         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
5915         (rmail-restore-desktop-buffer): Rename arguments.
5917 2015-05-06  Glenn Morris  <rgm@gnu.org>
5919         * Makefile.in (change-history-commit): Add missing piece of previous.
5921         Avoid unnecessary bumping of Makefile.in's timestamp.
5922         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
5923         (emacslog): New variable.
5924         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
5925         (unchanged-history-files): Use $emacslog rather than Makefile.in.
5926         (change-history-nocommit): Store hash in $emacslog.
5927         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
5928         * admin/update_autogen (changelog_files): Update for the above.
5930         * Makefile.in: Don't always insist on removing existing "ChangeLog".
5931         (CHANGELOG): New variable.
5932         (no-ChangeLog): Remove.
5933         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
5934         (change-history-nocommit): Use a temp file rather than insisting
5935         on deletion of any existing "ChangeLog".
5937         * build-aux/gitlog-to-emacslog: Allow specification of output.
5939         * admin/update_autogen: Add option to update ChangeLog.
5940         (usage): Mention -H.
5941         (changelog_flag, changelog_n, changelog_files): New variables.
5942         (main): Check for -H, and maybe run change-history-nocommit.
5944 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5946         * lisp/subr.el (delete-dups): Pre-size the hashtable.
5948         (define-modify-macro): Make sure cl--arglist-args is defined
5949         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
5950         cl--arglist-args is defined (bug#20517).
5952 2015-05-06  Glenn Morris  <rgm@gnu.org>
5954         * Makefile.in (change-history-nocommit): New.
5956 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
5958         Only cancel timer when it is non-nil
5959         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
5960         timer when it is non-nil
5961         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
5963 2015-05-06  Glenn Morris  <rgm@gnu.org>
5965         Quieten cedet compilation
5966         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
5967         Invert fboundp test to quieten on current Emacs.
5968         * lisp/cedet/ede/config.el (ede-shell-run-something)
5969         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
5970         (semanticdb-refresh-table): Declare.
5971         (ede-preprocessor-map): Require semantic/db.
5973         Quieten cc-mode compilation
5974         * lisp/progmodes/cc-awk.el (c-forward-sws):
5975         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
5976         Declare.
5978 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
5980         lisp/subr.el (delete-dups): Avoid nreverse.
5982 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
5984         * lisp/subr.el (delete-dups): Make it destructive again.
5986 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
5988         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
5990 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5992         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
5993         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
5994         (testcover--read): Rename from testcover-read.  Change calling convention.
5995         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
5996         (testcover-start): Use add-function.  Move edebug-all-defs binding to
5997         testcover--read.
5998         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
5999         (testcover-mark): Remove unused var `item'.
6000         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6002 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6004         lisp/subr.el (delete-dups): Use a hash table
6005         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6006           use a hash table. This can result in ~500 times speed-up for typical
6007           collections of size 5000, like that of `load-library'.
6009 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6011         CEDET: Avoid `oref' on classes in a few more cases
6012         * lisp/cedet/ede/generic.el (ede-find-target):
6013         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6014         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6015         var `prefix'.
6017         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6018         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6019         (semantic-symref-perform-search): Remove unused var `pat'.
6021         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6022         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6023         Avoid `oref' on classes (bug#20491).
6024         (srecode-compile-split-code): Remove unused var `key'.
6026 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6028         Clean up pulse.el a little
6029         * lisp/cedet/pulse.el (pulse): Remove.
6030         (pulse-momentary-timer): Save instead of the stop time.
6031         (pulse-momentary-highlight-overlay): Call
6032         pulse-momentary-unhighlight first thing. Treat
6033         pulse-momentary-overlay as a single value, not a list. Save the
6034         created timer. Only pass the stop time to the timer.
6035         (pulse-tick): Update accordingly.
6036         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6037         single value. Cancel the timer.
6039 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6041         Support the biblatex journaltitle field
6042         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6043         Support the biblatex journaltitle field.
6045 2015-05-05  Glenn Morris  <rgm@gnu.org>
6047         Minor declare-function improvement
6048         * lisp/emacs-lisp/bytecomp.el
6049         (byte-compile-macroexpand-declare-function):
6050         Handle declarations after calls.  (Bug#20509)
6052         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6054         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6056 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6058         Pulse using a timer
6059         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6060         (pulse-momentary-highlight-overlay): Set up the timer instead of
6061         calling `pulse'
6062         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6063         (pulse-tick): New function.
6064         (pulse-momentary-unhighlight): Cut off the stop time.
6065         (pulse-delay): Update the docstring WRT to not using sit-for.
6067         Add semantic/symref/grep file patterns for ruby-mode
6068         * lisp/cedet/semantic/symref/grep.el
6069         (semantic-symref-filepattern-alist): Add patterns for
6070         ruby-mode. Clarify the docstring.
6072         Don't require match
6073         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6074         match. That doesn't work for every command, and some identifier
6075         completion tables are bound to be imperfect anyway.
6077 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6079         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6080         (semantic-grammar--template-expand): New function.
6081         (semantic-grammar-header, semantic-grammar-footer): Use it.
6082         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6083         (semantic-grammar-file-regexp): Refine regexp.
6084         (semantic-grammar-eldoc-get-macro-docstring):
6085         Use elisp-get-fnsym-args-string when available.
6086         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6087         instead of the old eldoc-* names.
6088         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6089         from elisp-mode.el.  Tweak calling convention.
6090         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6091         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6092         elisp--get-fnsym-args-string.
6093         (elisp--highlight-function-argument): Add `prefix' arg.
6094         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6095         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6097 2015-05-05  Glenn Morris  <rgm@gnu.org>
6099         * lisp/help-fns.el (describe-function-1):
6100         Handle builtins with advertised calling conventions.  (Bug#20479)
6102 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6104         Merge branch 'seq-let'
6106         Update `seq-let' documentation
6107         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6108         with the support of  `&rest'.
6110         Add support for &rest in `seq-let'
6111         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6112         in the argument list.
6113         * test/automated/seq-tests.el: Add a test for parsing and binding
6114         `&rest' in `seq-let'.
6116 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6118         Spelling fixes
6120 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6122         * eieio-custom.el (eieio-object-value-get): Add missing increment
6123         (Bug#20467)
6125         (eieio-object-value-create): Adjust to new slots representation
6126         (Bug#20467)
6127         * eieio-custom.el (eieio-object-value-create):
6128         Fix missed adjustment to new representation of slots metadata.
6130 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6132         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6134 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6136         Work around "Attempt to modify read-only object"
6137         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
6138         elisp--xref-find-definitions, to work around "Attempt to modify
6139         read-only object" error.
6141         Only skip some variables that have function counterparts
6142         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6143         Only skip minor-mode-named variable if it's defined in a Lisp
6144         file, and it's in minor-mode-list (bug#20506).
6145         * test/automated/elisp-mode-tests.el
6146         (elisp-xref-finds-both-function-and-variable)
6147         (elisp-xref-finds-only-function-for-minor-mode): New tests.
6149 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6151         Buttonize the whole line, including the number at the beginning
6152         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
6153         previous change.
6154         (xref--insert-xrefs): Buttonize the whole line, including the
6155         number at the beginning.
6157         Make sure we're inside the let bindings
6158         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6159         Make sure we're inside the let bindings.
6160         * test/automated/elisp-mode-tests.el
6161         (elisp-completes-functions-after-let-bindings): New test.
6163 2015-05-04  Glenn Morris  <rgm@gnu.org>
6165         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
6166         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
6167         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
6168         Remove outdated declarations.
6170         Replace instances of "(eval-when-compile (autoload ...))"
6171         * lisp/gnus/gnus-art.el (nneething-get-file-name):
6172         Declare rather than autoload.
6173         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
6174         Remove pointless autoload.
6175         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
6176         (gnus-topic-create-topic, gnus-topic-enter-dribble):
6177         Declare rather than autoload.
6178         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
6179         (mailcap-extension-to-mime): Autoload at run-time.
6180         * lisp/gnus/mm-util.el (latin-unity-massage-name)
6181         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
6182         (latin-unity-representations-present-region):
6183         Declare rather than autoload.
6184         * lisp/gnus/mml-smime.el (epg-make-context)
6185         (epg-passphrase-callback-function): Autoload at run-time.
6186         (epg-context-set-signers, epg-context-result-for)
6187         (epg-new-signature-digest-algorithm)
6188         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
6189         (epg-sign-string, epg-encrypt-string)
6190         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
6191         (epg-configuration, epg-expand-group, epa-select-keys):
6192         Declare rather than autoload.
6193         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
6194         Autoload at run-time.
6195         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
6196         (gnus-registry-get-id-key, gnus-registry-action):
6197         Declare rather than autoload.
6198         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
6199         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
6200         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
6201         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
6202         (spam-stat-split-fancy): Remove pointless autoloads.
6203         * lisp/net/mairix.el: Load gnus-util when compiling.
6204         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
6205         (message-field-value): Declare rather than autoload.
6206         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
6207         Check gnus-alive-p is fbound.
6208         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
6209         (vm-check-for-killed-summary, vm-error-if-folder-empty)
6210         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
6211         Declare rather than autoload.
6213         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
6215         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
6216         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
6218         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
6220         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
6222         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
6223         * lisp/emacs-lisp/package.el (epg-signature-status):
6224         Fix declarations.
6226         * lisp/play/gametree.el (gametree-show-children-and-entry)
6227         (gametree-apply-layout, gametree-mouse-show-subtree)
6228         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
6230         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
6231         Handle cl-defgeneric, cl-defmethod.
6233 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6235         Highlight both type and symbol name
6236         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
6237         Highlight both type and symbol name.
6239         Insert, highlight and align line numbers in xref output
6240         * lisp/progmodes/etags.el (xref-location-line): Specialize for
6241         xref-etags-location.
6242         * lisp/progmodes/xref.el (xref-location-line): New generic method.
6243         (xref-file-location): Add reader for the line slot.
6244         (xref--location-at-point): Skip to the `xref-location' property.
6245         (xref--collect-reference): Drop the line number from description.
6246         (xref--insert-xrefs): Insert, highlight and align line numbers.
6248 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6250         Fix previous commit
6252 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6254         Don't pulse the indentation, or the newline
6255         * lisp/cedet/pulse.el (pulse-lighten-highlight)
6256         (pulse-reset-face): Fall back to the inherited background
6257         attribute in FACE.
6258         (pulse-momentary-highlight-region): Add autoload cookie.
6259         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
6260         indentation, or the newline, if the line's non-empty
6261         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
6263 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6265         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
6266         * doc/lispref/positions.texi (Excursions): Document
6267         `save-mark-and-excursion'.
6268         * lisp/font-lock.el (font-lock-fontify-block): Use
6269         `save-mark-and-excursion' instead of `save-excursion', restoring
6270         Emacs 24 behavior.
6271         * lisp/simple.el (save-mark-and-excursion--save)
6272         (save-mark-and-excursion--restore): New functions.
6273         (save-mark-and-excursion): New user macro.
6274         * src/editfns.c (Fsave_excursion): Mention
6275         `save-mark-and-excursion' in `save-excursion' documentation.
6277 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6279         Classify lone symbol inside let varlist as variable
6280         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6281         Classify lone symbol inside let varlist as variable.
6282         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
6283         New test.
6285         Add xref-pulse-on-jump
6286         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
6287         Add autoload cookie.
6288         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
6289         (xref--maybe-pulse): New function.
6290         (xref-pop-marker-stack, xref--pop-to-location)
6291         (xref--display-position): Use it.
6292         (xref--location-at-point): Use back-to-indentation.
6294 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6296         * lisp/org/org-{macs,list}.el: Fix lexical warnings
6297         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
6298         (org-list-get-next-item, org-list-get-prev-item)
6299         (org-list-get-children): Mark unused arg `struct'.
6300         (org-list-use-alpha-bul-p): Remove unused var `bul'.
6301         (org-toggle-checkbox): Mark unused var.
6302         (org-update-checkbox-count): Remove unused var `box-num'.
6303         (org-adapt-indentation): Declare.
6304         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
6305         (org-list-send-list): Remove unused var `txt'.
6306         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
6307         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
6308         * lisp/org/org-macs.el: Use `declare'.
6309         (org-with-limited-levels): Declare dyn-bound vars.
6311 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
6313         Fix minor issues with CEDET on MS-Windows
6314         * lisp/cedet/semantic/symref/idutils.el
6315         (semantic-symref-parse-tool-output-one-line): Fix the search
6316         regexp to match MS-Windows file names with drive letters.
6317         (Bug#19468)
6318         * lisp/cedet/semantic/symref/grep.el
6319         (semantic-symref-grep-use-template): Remove "--color=always" from
6320         Grep switches on MS-Windows.
6321         (semantic-symref-grep-shell): Use shell-file-name as the default
6322         value, so this works not only on Posix platforms.
6323         (semantic-symref-perform-search): Use shell-quote-argument instead
6324         of literal '..' for portable quoting of Grep command-line
6325         argument.  Use shell-command-switch instead of a literal "-c".
6326         * lisp/cedet/semantic/bovine/gcc.el
6327         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
6328         for an absolute file name in a portable way.
6330 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6332         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
6333         (package-import-keyring, package-refresh-contents)
6334         (package-compute-transaction, package--save-selected-packages)
6335         (package-install-from-archive, package-delete)
6336         (package-menu--perform-transaction): Use `inhibit-message'
6337         instead.
6338         (package--compile): Set `warning-minimum-level' to :error.
6340 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6342         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
6343         (terminal-init-screen): Use it (bug#20356).
6344         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
6345         (xterm--extra-capabilities-type): New const.
6346         (xterm-extra-capabilities): Use it.
6347         (xterm--version-handler): Lower the pseudo-version for `screen'.
6349 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
6351         xref--insert-xrefs: Tweak the faces
6352         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
6353         Always insert a newline at the end (to avoid mouse-face background
6354         tail at the last line).
6356         elisp-completion-at-point: Prioritize being quoted over funpos
6357         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6358         Only consider function position when not inside quoted form
6359         (bug#20425).
6360         * test/automated/elisp-mode-tests.el: New file.
6362         Stop vc-print-log from jumping to the top
6363         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
6364         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
6365         is not specified.
6366         (vc-incoming-outgoing-internal): Always pass nil.
6367         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
6368         call it, and don't set vc-sentinel-movepoint (bug#15322).
6369         (vc-print-root-log): Don't fetch the root working revision, nor
6370         pass it to vc-print-log-internal.
6372 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
6374         Fix display of keyboard layouts for right-to-left scripts
6375         * lisp/international/quail.el (quail-insert-kbd-layout): Force
6376         left-to-right paragraph direction.
6378 2015-05-02  K. Handa  <handa@gnu.org>
6380         * cmds.c (internal_self_insert): When we insert spaces for
6381         padding, set point before the padding spaces, not after them.
6383 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
6385         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
6387 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
6389         Fix etags-xref-find for references
6390         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
6391         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
6392         directory if no tags tables are loaded (bug#19468).
6394 2015-05-02  Philipp Stephani  <phst@google.com>
6396         Update the options in whitespace-style defcustom
6397         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
6398         `repeat' because the option is really set-like.  Add missing
6399         options.  Reorder options to match the order in the
6400         documentation.  (Bug#20346)
6402 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
6404         Fix error diagnostics of c-macro-expand
6405         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
6406         too early if no start-marker string was found -- that generally
6407         means cpp exited abnormally, and we still want to show its error
6408         messages to the user.
6410         Don't require Texinfo 5.0 for Emacs documentation
6411         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
6412         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
6413         "@codequoteundirected on", respectively, to avoid requiring
6414         Texinfo 5.x for Emacs documentation.
6416 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
6418         * lisp/files.el (pwd):
6419         When called with a prefix argument, insert the current default
6420         directory at point.
6422 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6424         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
6425         * lisp/isearch.el (isearch-mode-map): Don't inhibit
6426         function-key-map remapping for backspace (bug#20466).
6428 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
6430         Implement xref-find-references in etags and elisp-mode
6431         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
6432         (elisp-xref-find): Use it.
6433         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
6434         * lisp/progmodes/xref.el (xref-collect-references):
6435         (xref--collect-reference): New functions.
6437 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6439         Prefer plain characters to Texinfo circumlocutions
6440         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
6441         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
6443         Fix single-quoting style in PDF manuals
6444         The PDF versions of the GNU manuals used curved single quotes to
6445         represent grave accent and apostrophe, which made it a pain to cut
6446         and paste code examples from them.  Fix the PDF versions to use
6447         grave accent and apostrophe for Lisp source code, keystrokes, etc.
6448         This change does not affect the info files, nor does it affect
6449         ordinary uses of curved single quotes in PDF.
6450         * doc/emacs/docstyle.texi: New file, which specifies treatment for
6451         grave accent and apostrophe, as well as the document encoding.
6452         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
6453         * doc/lispintro/emacs-lisp-intro.texi:
6454         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
6455         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
6456         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
6457         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
6458         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
6459         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
6460         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
6461         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
6462         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
6463         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
6464         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
6465         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
6466         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
6467         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
6468         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
6469         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
6470         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
6471         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
6472         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
6473         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
6474         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
6475         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
6476         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
6477         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
6478         * doc/misc/woman.texi:
6479         Use it instead of '@documentencoding UTF-8', to lessen the need for
6480         global changes like this in the future.
6481         * doc/emacs/Makefile.in (EMACS_XTRA):
6482         * doc/lispintro/Makefile.in (srcs):
6483         * doc/lispref/Makefile.in (srcs):
6484         Add dependency on docstyle.texi.
6485         * doc/misc/Makefile.in (style): New macro.
6486         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
6487         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
6488         Use it.
6490 2015-05-01  Glenn Morris  <rgm@gnu.org>
6492         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
6494         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
6495         (help-fns--signature): Declare.
6497         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
6499 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
6501         New macro seq-let, providing destructuring support to seq.el
6502         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
6503         to `cl-destructuring-bind' but works on all sequence types supported
6504         by `seq.el'.  Bump version number to 1.6.
6505         * test/automated/seq-tests.el: Add tests for seq-let.
6506         * doc/lispref/sequences.texi: Add documentation for seq-let.
6508 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
6510         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
6512 2015-05-01  Glenn Morris  <rgm@gnu.org>
6514         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
6516 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6518         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
6519         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
6520         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
6521         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
6522         (Bug#20445).
6524 2015-05-01  K. Handa  <handa@gnu.org>
6526         * mule-cmds.el (input-method-use-echo-area): Change :type to
6527         'boolean.
6529 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6531         Start using proportional fonts in eww by default
6532         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
6533         it seems to work well.
6535         Fix links in tables in shr
6536         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
6537         makes (some) links in tables not work.
6539 2015-05-01  Jan D  <jan.h.d@swipnet.se>
6541         (ns-get-cut-buffer-internal): Remove this alias.
6542         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
6544 2015-04-30  Glenn Morris  <rgm@gnu.org>
6546         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
6547         Update for 2015-02-08 change to indirect-function.
6549         * lisp/term/ns-win.el (ns-get-selection-internal):
6550         Remove declaration for function deleted 2014-10-21.
6552         * lisp/dom.el: Load subr-x when compiling, for when-let.
6554         Silence some compilation warnings
6555         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
6556         * lisp/emulation/cua-base.el (delete-active-region):
6557         * lisp/net/net-utils.el (w32-get-console-output-codepage):
6558         * lisp/term/ns-win.el (ns-own-selection-internal)
6559         (ns-disown-selection-internal, ns-selection-owner-p)
6560         (ns-selection-exists-p, ns-get-selection):
6561         Declare for compiler..
6563         Function declaration updates prompted by 'make check-declare'
6564         * lisp/emacs-lisp/package.el (lm-homepage):
6565         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
6566         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
6567         * lisp/gnus/mml.el (libxml-parse-html-region):
6568         * lisp/gnus/nnrss.el (libxml-parse-html-region):
6569         * lisp/net/eww.el (libxml-parse-html-region):
6570         * lisp/net/shr.el (libxml-parse-html-region):
6571         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
6572         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
6573         * lisp/vc/vc-git.el (vc-annotate-convert-time):
6574         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
6575         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
6576         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
6577         Update declaration.
6579         Remove compatibility code for 20-year old function renaming
6580         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
6581         Make it an obsolete alias.
6582         (idlwave-shell-filter): Change all uses to comint-output-filter.
6584 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
6586         Add ace-window face config
6587         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
6588         configuration.
6590 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
6592         Unclutter 'make doc' output a bit
6593         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
6594         Use make subst rather than sh IFS to split target string apart.
6595         This makes 'make' output easier to follow.
6597         Merge from gnulib
6598         * doc/misc/texinfo.tex: Update from gnulib.
6600 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6602         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
6603         (package-menu--print-info): Obsolete.
6604         (package-menu--print-info-simple): New function.
6605         (package-menu--refresh): Use it, simplify code, and improve
6606         performance.
6607         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
6608         Tiny performance improvement.
6610         * lisp/emacs-lisp/package.el (package--message): inhibit-message
6612 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6614         Omit -Wstrict-overflow workaround in GCC 5
6615         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
6616         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
6618         Merge from gnulib
6619         This incorporates:
6620         2015-04-29 extern-inline: no need for workaround in GCC 5.1
6621         2015-04-26 file-has-acl: port to CentOS 6
6622         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
6624 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
6626         Set next-error-* in xref--xref-buffer-mode
6627         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
6628         `next-error-last-buffer'.
6629         (xref--next-error-function): New function.
6630         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
6632 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6634         python.el: Fix warnings on looking-back calls missing LIMIT
6635         * lisp/progmodes/python.el (python-shell-accept-process-output):
6636         Pass LIMIT arg to looking-back.
6638 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6640         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
6641         (package--download-and-read-archives): Use pushnew instead of
6642         append.  If something terrible happened during a previous
6643         download, simply refreshing should now make things work again.
6645 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
6647         Introduce etags-xref-find-definitions-tag-order
6648         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6649         New variable.
6650         (etags--xref-find-definitions): Use it (bug#19468).
6652 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
6654         PATH- and completion-related fixes in Eshell on MS-Windows
6655         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
6656         MS-Windows, prepend "." to list of directories produced from PATH,
6657         as Windows always implicitly searches the current directory first.
6658         (eshell-force-execution): Make it have a non-nil default value on
6659         MS-Windows and MS-DOS.
6660         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
6661         eshell-force-execution is non-nil, complete on readable files and
6662         directories, not only executables.  When running on MS-Windows,
6663         prepend "." to list of directories produced from PATH, as Windows
6664         always implicitly searches the current directory first.
6666 2015-04-29  Sam Steingold  <sds@gnu.org>
6668         bury RCIRC buffers when there is no activity
6669         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
6670         (rcirc-bury-buffers): new function
6671         (rcirc-next-active-buffer): when there is no new activity, use
6672         `rcirc-bury-buffers' to hide all RCIRC buffers
6674 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
6676         Fix DBUS query result parsing for secrets-search-items
6677         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
6678         parsing.  The function assumed that return value of the
6679         SearchItems method called on a collection is a list of two lists,
6680         however this is true only when no collection is specified.  GNOME
6681         had used to incorrectly return a list of two lists in both cases,
6682         but this was already fixed:
6683         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
6684         incorrect information in the secrets-search-items’ docstring.
6685         (Bug#20449)
6687 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6689         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
6690         (byte-compile--message): Use `inhibit-message' instead of hiding
6691         the previous message with (message nil).
6693 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
6695         Remove the deprecated INTERNAL_FIELD macro by expanding it
6696         * src/lisp.h (INTERNAL_FIELD): Remove.
6697         (DEFVAR_KBOARD): Modify accordingly.
6698         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
6699         * syntax.c: Adjust users.
6700         * src/buffer.c (compact_buffer): Use BVAR.
6702 2015-04-29  Glenn Morris  <rgm@gnu.org>
6704         Replace an obsolete function alias
6705         * lisp/isearch.el (isearch-yank-x-selection):
6706         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
6707         (mouse-drag-secondary-moving):
6708         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6709         Replace obsolete alias x-get-selection with gui-get-selection.
6711 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
6713         * lisp/mail/rmailsum.el: Use lexical-binding.
6715 2015-04-29  Glenn Morris  <rgm@gnu.org>
6717         * test/automated/package-test.el (package-test-update-archives-async):
6718         Skip test on hydra.nixos.org.
6720 2015-04-28  Glenn Morris  <rgm@gnu.org>
6722         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
6723         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
6724         (foldout-mouse-hide-or-exit): Use new names for outline functions.
6726         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
6727         Update for 2014-06-26 hideif.el change.
6729         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
6730         (rmail--decode-and-apply): New function.
6731         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
6733         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
6735 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6737         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
6738         (package-menu--refresh): Delegate obsolete-hiding to
6739         `package--remove-hidden'.
6740         (package--remove-hidden): Disregard high-priority package if it is
6741         older than the installed one.
6743 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
6745         Update source file encoding list
6746         Update admin/notes/unicode, along with coding system cookies in
6747         other files, so that the two match each other better.
6748         * admin/notes/unicode: lisp/language/ethio-util.el and
6749         lisp/language/ethiopic.el also use utf-8-emacs.
6750         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
6751         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
6752         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
6753         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
6754         * etc/refcards/sk-survival.tex:
6755         Add "coding: utf-8" so that this file is not mishandled in a
6756         Latin-1 or Big-5 locale.
6757         * lisp/international/robin.el, lisp/org/ox-ascii.el:
6758         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
6759         * lisp/language/ethio-util.el: Fix trailer.
6761 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
6763         Fix synchronous invocation of Ispell
6764         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
6765         value to ispell-process-directory before calling ispell-init-process.
6766         Don't call set-process-coding-system if ispell-async-processp is nil.
6767         (Bug#20448)
6769 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6771         * lisp/emacs-lisp/package.el: Skip space and comments in init file
6772         (package--ensure-init-file): Insert snippet at first
6773         non-whitespace non-comments line.  Respects local-vars at the top
6774         of the file.
6776 2015-04-28  Glenn Morris  <rgm@gnu.org>
6778         * lisp/mail/rmail.el (rmail-copy-headers):
6779         Handle rmail-nonignored-headers being nil.  (Bug#18878)
6781         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
6783         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
6784         Don't get confused by a bzrlib version mismatch warning.
6786 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6788         Change default location of EUDC options file
6789         * NEWS: Document change to EUDC options file's default location.
6790         * lisp/net/eudc-vars.el (eudc-options-file): Use
6791         `locate-user-emacs-file' to change default options file location.
6793 2015-04-27  Glenn Morris  <rgm@gnu.org>
6795         * test/automated/package-test.el (package-test-update-archives-async):
6796         Try to handle the test server script dying.
6798 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6800         * lisp/saveplace.el (save-place-mode): New minor mode.
6801         (save-place): Redefine as an obsolete alias.
6803         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
6804         * lisp/midnight.el: Use lexical-binding.
6805         (midnight-mode): Make it a proper minor mode.
6806         (midnight-buffer-display-time): Make arg non-optional.
6807         (midnight-find): Remove.
6808         (clean-buffer-list-kill-never-regexps)
6809         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
6810         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
6811         contain functions.
6812         (clean-buffer-list): Use cl-find.
6813         Allow clean-buffer-list-kill-never-regexps to contain functions.
6815 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
6817         Bump version of seq.el to 1.5
6818         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
6819           from seq-doseq.  Bump version number of seq.el.
6821 2015-04-27  Glenn Morris  <rgm@gnu.org>
6823         * lisp/mail/rmail.el (rmail-reply):
6824         Decode subject before matching "Re:" prefix.  (Bug#20396)
6826 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6828         * lisp/emacs-lisp/package.el: Small improvements
6829         (package--with-work-buffer-async): More informative error.
6830         (package-install-user-selected-packages): Rename to
6831         `package-install-selected-packages'.
6833 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6835         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
6836         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
6837         (eieio--class-make): Remove leftover `tag'.
6839 2015-04-27  Glenn Morris  <rgm@gnu.org>
6841         * lisp/gnus/message.el (gnus-extract-address-components):
6842         Remove bogus declaration that was masking previous problem.
6844 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
6846         * lisp/gnus/message.el (message-insert-formatted-citation-line):
6847         Fix typo.  (Bug#20318)
6849 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6851         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
6853         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
6854         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
6855         the buffer in yet another frame.
6856         (reftex-toc-visit-location): Make sure toc-window has focus at the end
6857         when `final' is nil.
6858         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
6859         silence warnings.  Use `--' to clarify that it's internal.
6860         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
6861         (reftex-toc-promote): Clarify unused argument.
6862         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
6863         Add `reftex--' prefix.  Fix all users.
6864         (reftex-toc-promote-prepare): Use _ for dummy variable.
6865         (reftex-toc-restore-region): Rename `m
6867 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
6869         Fix a typo in bibtex.el
6870         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
6871         last change.  (Bug#20429)
6873         Fix redisplay of frame after loading new fonts
6874         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
6875         frame because new fonts were loaded, disable all redisplay
6876         optimizations on that frame by calling SET_FRAME_GARBAGED.
6877         (Bug#20410)
6879 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6881         * lisp/info.el (Info-menu): Properly provide the `default'
6882         (Bug#20391)
6884         * elisp-mode.el: Catch errors from `documentation'
6885         (Bug#20418)
6886         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
6887         Catch errors from documentation.
6888         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
6890 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
6892         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
6893         Remove redundant ":group 'package".
6895 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
6897         Fix a typo in rmail.el
6898         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
6899         last commit.  (Bug#20429)
6901 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
6903         Introduce xref-prompt-for-identifier
6904         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
6905         (xref--read-identifier): Use it
6906         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
6908 2015-04-26  João Távora  <joaotavora@gmail.com>
6910         `tex-insert-quote' after single `'' opens quotes instead of closing
6911         Without this, it's very hard to precede double quotes with the
6912         apostrophe character, i.e. insert the sequence '``
6913         (quote-backquote-backquote), commonly useful in portuguese, for
6914         instance.
6915         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
6916         chars making `tex-insert-quote' be in the "opening" context.
6918 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
6920         Pass `id' to `completing-read' as def instead of initial input
6921         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
6922         as the default value instead of initial input
6923         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
6925 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6927         Don't freeze with unreadable processes
6928         Don't freeze if an exiting process can't be read from. (Bug#19860).
6929         This fixes a bug I introduced in
6930         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
6931         "* process.c: Add sanity checks for file descriptors."
6932         Dmitry Gutov did most of the legwork in finding the problem.
6933         * src/process.c (wait_reading_process_output):
6934         Treat non-running processes that can't be read from
6935         the same as other non-running processes.
6937 2015-04-25  Alan Mackenzie  <acm@muc.de>
6939         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
6940         * lisp/subr.el (remove-yank-excluded-properties): put
6941         `with-silent-modifications' around only the last three lines of code.
6943 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6945         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
6946         (package--all-keywords): Deleted variable.
6948         * etc/NEWS: Document package-hiding functionality
6950 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
6952         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
6954         Clarify the doc string of 'replace-regexp-in-string'
6955         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
6957         Improve doc string of 'insert-buffer-substring'
6958         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
6960         MS-Windows followup for the recent gnulib update
6961         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
6962         acl-internal.c.
6964 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6966         Spelling fixes
6968         Merge from gnulib
6969         This incorporates:
6970         2015-04-24 file-has-acl: new module, split from acl
6971         2015-04-24 manywarnings: add GCC 5.1 warnings
6972         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
6973         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
6974         2015-04-15 acl: On Linux, check for acls without libacl
6975         2015-04-14 tempname: avoid unused parameter warnings (trivial)
6976         * lib/acl-internal.c: New file, from gnulib.
6977         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
6978         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
6979         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
6980         Update from gnulib.
6982         Port --enable-gcc-warnings to GCC 5.1 x86-64
6983         * lib-src/ebrowse.c (dump_sym):
6984         * lib-src/hexl.c (main):
6985         * src/ccl.c (ccl_driver):
6986         * src/character.c (string_escape_byte8):
6987         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
6988         * src/gnutls.c (Fgnutls_boot):
6989         * src/gtkutil.c (xg_check_special_colors):
6990         * src/image.c (x_build_heuristic_mask):
6991         * src/print.c (safe_debug_print, print_object):
6992         * src/term.c (produce_glyphless_glyph):
6993         * src/xdisp.c (get_next_display_element)
6994         (produce_glyphless_glyph):
6995         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
6996         Don't use a signed format to print an unsigned integer, or vice
6997         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
6998         * src/image.c (png_load_body, jpeg_load_body):
6999         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7001 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7003         Add new faces to tsdh-light-theme
7004         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7005         definitions for Info-quoted, ace-jump-face-foreground,
7006         hl-paren-face, show-paren-match, and show-paren-mismatch.
7008 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7010         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7012 2015-04-24  Glenn Morris  <rgm@gnu.org>
7014         * build-aux/gitlog-to-emacslog:
7015         Use raw log format rather than wrapped one.
7017 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7019         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7020         (seq-doseq): Fix out-of-scope binding.
7021         Don't call `seq-length at every iteration.
7022         Reduce `if's from 3 to 2 per iteration.
7023         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7025 2015-04-24  Glenn Morris  <rgm@gnu.org>
7027         * lisp/textmodes/text-mode.el (text-mode-hook):
7028         Move text-mode-hook-identify to default.
7030         * lisp/mouse.el (minor-mode-menu-from-indicator):
7031         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7033         * lisp/help-fns.el (describe-function): More type checking.
7034         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7036         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7037         (Bug#20325)
7039 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7041         shr: strip leading whitespace when expanding URLs
7042         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7044 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7046         Clarify "co-authored" some more
7048         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7050         Clarify doc strings of functions that search for properties
7051         * src/textprop.c (Fnext_char_property_change)
7052         (Fprevious_char_property_change)
7053         (Fnext_single_char_property_change)
7054         (Fprevious_single_char_property_change, Fnext_property_change)
7055         (Fnext_single_property_change, Fprevious_property_change)
7056         (Fprevious_single_property_change): Clarify doc strings wrt return
7057         value and the optional LIMIT argument.  (Bug#20411)
7059 2015-04-24  Glenn Morris  <rgm@gnu.org>
7061         * test/automated/message-mode-tests.el (message-mode-propertize):
7062         Handle non-writable HOME; eg on hydra.nixos.org.
7064 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7066         Avoid starting threads by w32-shell-execute
7067         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7068         local file names, before invoking ShellExecute.  (Bug#20220)
7070 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7072         Fix following doc-links in `widget-documentation-link-action'
7073         * lisp/wid-edit.el (widget-documentation-link-action): Make
7074         following doc-links less simplistic (Bug#20398).
7076 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7078         Improve EUDC manual
7079         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7081 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7083         Omit needless "\ " after multibyte then newline
7084         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7085         (print_object): When print-escape-multibyte is non-nil and a
7086         multibyte character is followed by a newline or formfeed, followed
7087         by a hex digit, don't output a needless "\ " before the hex digit.
7088         * test/automated/print-tests.el (print-hex-backslash): New test.
7090 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7092         Add a new `inhibit-message' variable
7093         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7094         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7095         `inhibit_message' is non-zero.
7096         * etc/NEWS: Add an entry.
7097         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7098           mention it in `message'.
7100 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7102         Fix last fix in `display-buffer-record-window'.
7103         * lisp/window.el (display-buffer-record-window): Fix last fix.
7105 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7107         Minor edits in CONTRIBUTE
7108         * CONTRIBUTE: Rearrange instructions about log messages.
7109         Use "Git" capitalized all over.
7110         Use 2 spaces between sentences.
7112 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7114         * lisp/files.el (basic-save-buffer): Fix argument
7116         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7117         In case `(and (null custom-file) init-file-had-error)' do the same
7118         thing we'd do if `(null user-init-file)', which is to either error out
7119         or return nil.  This is in line with `custom-save-all' which would
7120         throw an error in that situation. (bug#20355)
7122         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7123         (package-menu-hide-low-priority): New variable, see its doc.
7124         (package-archive-priorities): Update doc.
7125         (package-desc-priority): New function.
7126         (package-desc-priority-version): Use it.
7127         (package--remove-hidden): New function.
7128         (package-menu--refresh): Use it.
7130         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7131         (package-menu--hide-obsolete): New variable.
7132         (package--remove-hidden): Use it.
7133         (package-menu-hide-obsolete): New interactive function to toggle
7134         the variable.
7135         (package--quick-help-keys): Document it.
7136         (package-menu-async): Add :version tag.
7137         (package-menu-mode-map): Bind package-menu-hide-obsolete.
7138         (package-desc-status): Indicate non-installed obsolete packages as
7139         avail-obso.
7140         (package-menu-mark-install): Allow installation of avail-obso.
7141         (package-menu--status-predicate): Sort avail-obso with available.
7143 2015-04-22  Alan Mackenzie  <acm@muc.de>
7145         On C-y, stop some text property entries being written into buffer-undo-list
7146         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
7147         `with-silent-modifications'.
7149 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7151         In display-buffer-record-window record selected window if necessary.
7152         * lisp/window.el (display-buffer-record-window): Store selected window
7153         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
7155 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
7157         Fix reftex-citation bug
7158         * reftex-cite.el (reftex-extract-bib-entries): Fix
7159         `wrong-type-argument stringp nil' error that occurs when AUCTeX
7160         integration is enabled and there are no citations in the document
7161         so far.
7163 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
7165         Add or reset based on the presence of MERGE_HEAD
7166         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
7167         `vc-git-resolve-when-done' to `after-save-hook' in either case.
7168         (vc-git-conflicted-files): Add a TODO.
7169         (vc-git-resolve-when-done): Depending on the presence of
7170         MERGE_HEAD, either update the resolved file in the index, or
7171         remove it from there.  (Bug#20292)
7173 2015-04-21  Glenn Morris  <rgm@gnu.org>
7175         * lisp/custom.el (custom-declare-group): No need to purecopy
7176         custom-current-group-alist members following recent change to set
7177         it to nil before dumping.
7179         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
7180         (Bug#20399)
7182 2015-04-21  Daniel Colascione  <dancol@dancol.org>
7184         Unbreak no-op buffer save message
7185         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
7186         (basic-save-buffer): Accept called-interactively as an argument instead of
7187         directly invoking called-interactively-p, which will always yield nil
7188         in that context.
7190 2015-04-21  Alan Mackenzie  <acm@muc.de>
7192         CC Mode: Do nothing in before/after-change-functions for text property changes
7193         Fixes bug#20266.
7194         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
7195         yank-handled-properties buffer local, and remove 'category from it.
7196         (c-called-from-text-property-change-p): New function.
7197         (c-before-change): Don't do anything if a call of the new function
7198         returns non-nil.
7199         (c-after-change): Don't do much if a call of the new function returns
7200         non-nil.
7201         (c-extend-after-change-region): Put changes to text property 'fontified
7202         inside c-save-buffer-state.
7204 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7206         Fix byte-compiler warnings about looking-back.
7207         * lisp/vc/log-view.el (log-view-end-of-defun-1):
7208         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
7209         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
7210         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
7211         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
7212         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
7213         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
7214         * lisp/org/org.el (org-insert-heading, org-sort-entries):
7215         * lisp/org/org-mouse.el (org-mouse-end-headline)
7216         (org-mouse-context-menu):
7217         * lisp/org/org-clock.el (org-clock-cancel):
7218         * lisp/man.el (Man-default-man-entry):
7219         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
7220         (rmail-ensure-blank-line):
7221         * lisp/mail/footnote.el (Footnote-delete-footnote):
7222         * lisp/mail/emacsbug.el (report-emacs-bug):
7223         * lisp/info.el (Info-follow-reference, Info-fontify-node):
7224         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7225         * lisp/help-fns.el (help-fns--key-bindings):
7226         * lisp/files.el (hack-local-variables):
7227         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
7228         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
7229         (viper-complete-filename-or-exit):
7230         * lisp/emulation/viper-cmd.el (viper-backward-indent):
7231         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
7232         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
7233         * lisp/cus-edit.el (custom-face-edit-value-create):
7234         * lisp/calendar/todo-mode.el (todo-set-item-priority)
7235         (todo-filter-items-1, todo-convert-legacy-files)
7236         (todo-prefix-overlays): Add explicit second arg to looking-back.
7238 2015-04-20  Glenn Morris  <rgm@gnu.org>
7240         Avoid non-nil current-load-list at startup
7241         * src/process.c (init_process_emacs): Move Fprovide statement...
7242         (syms_of_process): ... to here.
7244         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
7246         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
7248 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
7250         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
7251         (Bug#20330)
7253 2015-04-20  Glenn Morris  <rgm@gnu.org>
7255         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
7257         Tweak exec-path in uninstalled case
7258         * src/callproc.c (init_callproc): If running uninstalled, do not
7259         include eventual installation libexec directory in exec-path.
7261 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7263         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
7264         (package-menu-filter): Accept a list of keywords.
7265         (package--all-keywords): New variable to cache known keywords.
7266         (package-all-keywords): Populate it if necessary.
7267         (package-refresh-contents): Reset it.
7269         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
7270         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
7271         as special keywords which match agains package archive and status
7272         respectively.
7273         * etc/NEWS: Document it.
7275 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
7277         Describe and index "empty overlays".
7278         * doc/lispref/display.texi (Overlays): Improve indexing.
7279         (Managing Overlays): Describe "empty" overlays.
7280         (Overlay Properties, Finding Overlays): Add cross-reference to
7281         where empty overlays are described.
7283 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7285         Spelling fixes
7287         Quote 'like this' in top-level files
7288         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
7289         Prefer to single-quote 'like this' (instead of the older style
7290         `like this').
7291         * configure.ac: Fix some space-before-tab problems that 'git commit'
7292         complained about.
7294         Use bool for boolean in textprop.c, undo.c
7295         * src/textprop.c (soft, hard): Now constants instead of macros.
7296         (validate_plist): Rewrite to avoid need for boolean local.
7297         (interval_has_all_properties, interval_has_some_properties)
7298         (interval_has_some_properties_list, add_properties)
7299         (remove_properties, get_char_property_and_overlay)
7300         (Fnext_single_char_property_change)
7301         (Fprevious_single_char_property_change, add_text_properties_1)
7302         (Fremove_text_properties, Fremove_list_of_text_properties)
7303         (copy_text_properties):
7304         * src/tparam.c (tparam1):
7305         * src/undo.c (record_change, record_property_change)
7306         (syms_of_undo):
7307         Use 'true' and 'false' for booleans.
7309 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7311         Call `smerge-start-session' even when dealing with a stash conflict
7312         * lisp/vc/vc-git.el (vc-git-find-file-hook):
7313         Call `smerge-start-session' even when dealing with a stash
7314         conflict (bug#20292).
7316 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
7318         Add option to eshell/clear to clear scrollback.
7319         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
7320         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
7321         scrollback contents are cleared.
7322         * etc/NEWS: Describe change.
7323         * doc/misc/eshell.texi: Add entry for `clear'.
7325 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7327         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
7328         where either will do.
7330 2015-04-19  Steve Purcell  <steve@sanityinc.com>
7332         Assume package archive-contents are UTF8-encoded
7333         * lisp/emacs-lisp/package.el (package--read-archive-file):
7334         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
7335         downloaded and cached archive-contents files, so that non-ASCII
7336         characters in package descriptions are displayed correctly in the
7337         `list-packages' menu. (Bug#20231)
7339 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7341         Abort when looking at stashed changes
7342         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
7343         stashed changes (bug#20292).
7345 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7347         Refactor low-level printing for simplicity
7348         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
7349         PRINTPREPARE; doable now that we assume C99.  All callers changed.
7350         (PRINTCHAR): Remove, as it adds more mystery than clarity.
7351         All callers changed.
7352         (strout): Assume that caller computes length.  All callers changed.
7353         (print_c_string): New function.
7354         (write_string, write_string_1): Compute length instead of asking
7355         the caller to compute it.  All callers changed.
7356         (write_string): Simplify by using write_string_1.
7357         (write_string_1): Simplify by using print_c_string.
7358         (Fterpri): Compute default val more clearly.
7359         (Fprin1_to_string, print_object):
7360         Assume C99 to avoid unnecessary nesting.
7361         (print_object): Prefer print_c_string to multiple printchar, or
7362         to calling strout with -1 length.  Coalesce into sprintf when
7363         this is easy.
7365 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
7367         Prefer "Bug#1234" in commit messages (Bug#20325)
7368         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
7369         as this isn't useful for Git.
7370         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
7372 2015-04-18  Glenn Morris  <rgm@gnu.org>
7374         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
7375         (Bug#19506)
7377 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
7379         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
7380         (Bug#19505)
7382 2015-04-18  Glenn Morris  <rgm@gnu.org>
7384         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
7386         * doc/emacs/misc.texi (Sorting): Small edit.
7387         (Bug#19896)
7389         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
7391 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
7393         css-mode.el: Support multi-line comment filling
7394         (Bug#20256)
7395         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
7396         comment filling.
7397         (css-adaptive-fill): New function.
7398         (css-mode): Set `adaptive-fill-function'.
7399         (scss-mode): Set `comment-continue'.
7401 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
7403         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
7405 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
7407         Minor improvements in Bulgarian input methods
7408         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
7409         Replace U+042C with U+045D, as the former character is not used in
7410         the modern Bulgarian language.
7411         (Bug#20350)
7413 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7415         Improve EUDC manual
7416         * eudc.texi (LDAP Configuration): Mention simple and SASL
7417         authentication schemes.  Add index items.  Shorten example server
7418         name.
7420 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
7422         Don't show both feature and function with the same name
7423         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7424         Don't show both feature and function with the same name.
7426         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
7427         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7428         Avoid returning both the variable and the function for the same
7429         minor mode.
7431 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
7433         Fix fontification of keywords clobbered by the prompt.
7434         * lisp/comint.el (comint-output-filter): Remove the uses of
7435         with-silent-modifications I introduced as part of the last change.
7436         This fixes, e.g., erratically missing highlighting when running
7437         ./configure --help; ./configure in a shell-mode buffer with
7438         compilation-shell-minor-mode turned on.
7440 2015-04-17  Glenn Morris  <rgm@gnu.org>
7442         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
7444 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7446         * lisp/indent.el (indent-region): Don't deactivate the mark
7447         (Bug#20357)
7449 2015-04-17  Sam Steingold  <sds@gnu.org>
7451         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
7453 2015-04-16  Leo Liu  <sdl.web@gmail.com>
7455         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
7457 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7459         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
7461 2015-04-16  Glenn Morris  <rgm@gnu.org>
7463         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
7465 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
7467         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
7468         * configure.ac (LIBJPEG): Leave it empty for MinGW.
7470 2015-04-16  Glenn Morris  <rgm@gnu.org>
7472         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
7473         to avoid rogue setting after startup.
7475 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7477         Pre-4.6 GCC succeeds with unknown option
7478         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
7479         (Bug#20338)
7481 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7483         '[:graph:]' now excludes whitespace, not just ' '
7484         * doc/lispref/searching.texi (Char Classes):
7485         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
7486         sans whitespace (not sans space).
7487         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
7488         not just space.
7489         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
7491 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7493         (looking-back): Make the second arg non-optional.
7494         * lisp/subr.el (substitute-key-definition-key, special-form-p)
7495         (macrop): Drop deprecated second arg to indirect-function.
7496         (looking-back): Make the second arg non-optional.
7498         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
7499         command is actually sent to the shell.
7501 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7503         Port jpeg configuration to Solaris 10 with Sun C
7504         * configure.ac: Check for jpeglib 6b by trying to link it, instead
7505         of relying on cpp magic that has problems in practice.  Check for
7506         both jpeglib.h and jerror.h features.  Remove special case for
7507         mingw32, which should no longer be needed (and if it were needed,
7508         should now be addressable by hotwiring emacs_cv_jpeglib).
7509         (Bug#20332)
7511 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7513         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
7514         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
7515         Move to elisp-mode.el.
7516         (lisp-mode-variables): (Re)move elisp-specific settings.
7517         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
7518         from lisp-mode-variables.
7519         (elisp--font-lock-flush-elisp-buffers): New function, moved from
7520         lisp-mode.el.
7522         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
7523         Avoid pathological slowdown at top-level in large file.
7525 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7527         Standardize names of ChangeLog history files
7528         Suggested by Glenn Morris in:
7529         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7530         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
7531         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
7532         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
7533         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
7534         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
7535         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
7536         Remove.
7538         Split top-level entries into pre- and post-April 7
7539         This more clearly distingiushes pre-April-7 ChangeLog entries (which
7540         are for top-level files only) from post-April-7 entries (which are
7541         about files at all levels.  Problem reported by Glenn Morris in:
7542         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7543         * ChangeLog.1: Move post-April-7 entries from here ...
7544         * ChangeLog.2: ... to this new file.
7545         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
7547 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7549         Fix recent cus-start changes that added customize-rogues
7550         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
7551         vars early.
7552         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
7554 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
7556         Define cl-concatenate as an alias to seq-concatenate
7557         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
7558           code by making cl-concatenate an alias to seq-concatenate.
7560 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7562         * src/lread.c (intern_1): Make sure we'd find the symbol we add
7563         (Bug#20334)
7564         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
7566 2015-04-15  Glenn Morris  <rgm@gnu.org>
7568         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
7570 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7572         Clean up gnus-uu saving code slightly
7573         * gnus-uu.el (gnus-uu-save-article): Make the
7574         save-restriction/widen calls make more sense.
7576 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7578         Make [:graph:] act like [:print:] sans space
7579         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
7580         [:graph:] so that it matches everything that [:print:] does,
7581         except for space.
7582         * doc/lispref/searching.texi (Char Classes):
7583         * etc/NEWS:
7584         * lisp/emacs-lisp/rx.el (rx):
7585         Document [:graph:] to be [:print:] sans ' '.
7586         * src/character.c, src/character.h (graphicp): New function.
7587         * src/regex.c (ISGRAPH) [emacs]: Use it.
7588         (BIT_GRAPH): New macro.
7589         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
7590         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
7591         Return BIT_GRAPH for RECC_GRAPH.
7592         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
7593         and ISPRINT if BIT_PRINT.
7595 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7597         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
7598         Don't use call-next-method in a cl-defmethod.
7600         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
7601         (eieio--class-p): Remove, provided by cl-defstruct.
7603 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
7605         Add seq-intersection and seq-difference to the seq library
7606         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
7607         functions.
7608         * test/automated/seq-tests.el: Add tests for seq-intersection and
7609         seq-difference.
7610         * doc/lispref/sequences.texi: Add documentation for seq-intersection
7611         and seq-difference.
7613 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7615         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
7617 2015-04-14  Sam Steingold  <sds@gnu.org>
7619         package--ensure-init-file: widen requires save-restriction
7621 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
7623         Improve the commit-msg Git hook for unibyte environments
7624         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
7625         in unibyte environments.  (Suggested by Paul Eggert
7626         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
7627         [:print:], based on UTF-8 sequences of the unprintable characters.
7629         Describe problems with cursor caused by Windows Magnifier
7630         * etc/PROBLEMS: Describe the problem with cursor shape on
7631         MS-Windows due to Windows Magnifier.
7632         (Bug#20271)
7634         Make [:print:] support non-ASCII characters correctly
7635         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
7636         (BIT_PRINT): New bit mask.
7637         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
7638         * src/character.c (printablep): New function.
7639         * src/character.h (printablep): Add prototype.
7640         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
7641         of 'print', 'alnum', and 'alphabetic'.
7642         * doc/lispref/searching.texi (Char Classes): Document the new
7643         behavior of [:print:].
7644         * etc/NEWS: Mention the new behavior of [:print:].
7646         Assign correct general-category and names to surrogates
7647         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
7648         surrogates.  This avoids assigning them the default
7649         general-category of 'Cn', i.e. unassigned codepoints.
7650         (unidata-get-name): Give surrogates synthetic names.
7652 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
7654         Assume C89 offsetof in xterm.c, xlwmenu.c
7655         * lwlib/xlwmenu.c (offset):
7656         * src/xterm.c (cvt_string_to_pixel_args):
7657         Use offsetof, not XtOffset.
7659 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7661         Assume C89 offsetof in widget.c
7662         * src/widget.c (XtOffset): Remove; no longer needed.
7663         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
7665         Fix think-o in previous patch
7666         * src/window.c (count_windows, get_leaf_windows):
7667         Don't optimize count_windows incorrectly.
7669 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7671         Avoid some int overflows in window.c
7672         * src/print.c (print_object):
7673         * src/window.c (sequence_number):
7674         * src/window.h (struct window.sequence_number):
7675         Don't assume window sequence number fits in int.
7676         * src/window.c (window_select_count):
7677         * src/window.h (struct window.use_time, window_select_count):
7678         Don't assume window use time fits in int.
7679         * src/window.c (Fsplit_window_internal):
7680         Don't assume user-supplied integer, or sum, fits in int.
7681         (Fset_window_configuration, count_windows, get_leaf_windows)
7682         (save_window_save, Fcurrent_window_configuration):
7683         Use ptrdiff_t for object counts.
7684         (Fset_window_configuration): Omit unused local 'n'.
7685         (count_windows): Simplify by writing in terms of get_leaf_windows.
7686         (get_leaf_windows): Don't store through FLAT if it's null.
7687         (extract_dimension): New static function.
7688         (set_window_margins, set_window_fringes, set_window_scroll_bars):
7689         Use it to avoid undefined behavior when converting user-supplied
7690         integer to 'int'.
7692 2015-04-13  Glenn Morris  <rgm@gnu.org>
7694         Minor doc copyedits
7695         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
7696         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
7698 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7700         [Gnus] Catch the invalid-operation that idna.el will issue
7701         * lisp/gnus/gnus-art.el (gnus-use-idna):
7702         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
7703         * lisp/gnus/message.el (message-use-idna):
7704         Catch the invalid-operation that idna.el will issue.
7706 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7708         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
7710 2015-04-13  Sam Steingold  <sds@gnu.org>
7712         package--ensure-init-file: widen before looking for "(package-initialize)"
7714 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
7716         Change diff-switches default to `-u'
7717         (Bug#20290)
7718         * doc/emacs/files.texi (Comparing Files): Document the new default
7719         value of `diff-switches'.
7720         * doc/emacs/trouble.texi (Sending Patches): Document the preference
7721         for unified diff format.  Escape the plus in the suggested `-F' regexp
7722         value.
7723         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
7725 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7727         (gnus-group--setup-tool-bar-update): Fix last change
7728         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
7729         cursor-sensor-functions should be a list of functions.
7731 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7733         Use gmm-called-interactively-p in Gnus
7734         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
7736 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7738         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
7739         (Bug#20321)
7740         * lisp/cus-start.el (read-buffer-function): Don't advertize
7741         iswitchb-read-buffer any more.
7742         (iswitchb): Don't tweak this obsolete group any more.
7744 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
7746         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
7748         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
7749         Adding a string after a constructor's argument list will use
7750         that string as the constructor function docstring.  If this string
7751         is absent but the struct itself was given a docstring, use that as
7752         the constructor's docstring.
7753         Fixes (bug#17284).
7755 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7757         Deprecate `intangible' and `point-entered' properties
7758         * lisp/emacs-lisp/cursor-sensor.el: New file.
7759         * lisp/simple.el (pre-redisplay-functions): New hook.
7760         (redisplay--pre-redisplay-functions): New function.
7761         (pre-redisplay-function): Use it.
7762         (minibuffer-avoid-prompt): Mark obsolete.
7763         (redisplay--update-region-highlight): Adapt it to work as a function on
7764         pre-redisplay-functions.
7765         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
7766         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
7767         than point-entered to make the prompt intangible.
7768         * lisp/forms.el: Move `provide' calls to the end.
7769         (forms-mode): Don't use `run-hooks' on a local var.
7770         (forms--make-format, forms--make-format-elt-using-text-properties):
7771         Use cursor-intangible rather than `intangible'.
7772         (forms-mode): Enable cursor-intangible-mode.
7773         * lisp/isearch.el (isearch-mode): Use defvar-local.
7774         (cursor-sensor-inhibit): Declare.
7775         (isearch-mode): Set cursor-sensor-inhibit.
7776         (isearch-done): Set it back.
7777         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
7778         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
7779         any more.
7780         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
7781         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
7782         Add Edebug spec.
7783         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
7784         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
7785         inhibit-point-motion-hooks any more.
7786         (ses--cell-at-pos, ses--curcell): New functions, extracted from
7787         ses-set-curcell.
7788         (ses-set-curcell): Use them.
7789         (ses-print-cell, ses-setup): Use cursor-intangible instead of
7790         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
7791         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
7792         Use ses--cell-at-pos.
7793         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
7794         extracted from ses-command-hook.  Make them work with multiple windows
7795         displaying the same buffer.
7796         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
7797         Enable cursor-intangible-mode.
7798         (ses-command-hook): Remove cell highlight and mode-line update code.
7799         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
7800         Update for new name of text-property holding the cell name.
7801         (ses-rename-cell): Don't mess with mode-line-process.
7802         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
7803         cursor-sensor-functions property instead of point-entered.
7804         (erc-insert-timestamp-right, erc-format-timestamp):
7805         Use cursor-intangible rather than `intangible'.
7806         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
7807         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
7808         cursor-sensor-mode if needed.
7809         (erc-echo-timestamp): Adapt to calling convention of
7810         cursor-sensor-functions.
7811         (erc-insert-timestamp-right): Remove unused vars `current-window' and
7812         `indent'.
7813         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
7814         (gnus-update-group-mark-positions): Remove unused `topic' var.
7815         (gnus-group-insert-group-line): Remove unused var `header'.
7816         (gnus-group--setup-tool-bar-update): New function.
7817         (gnus-group-insert-group-line): Use it.
7818         (gnus-group-update-eval-form): Declare local
7819         dynamically-bound variables.
7820         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
7821         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
7822         (gnus-group-prepare-topics, gnus-topic-update-topic)
7823         (gnus-topic-change-level, gnus-topic-catchup-articles)
7824         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
7825         Use inhibit-read-only.
7826         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
7827         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
7828         * lisp/textmodes/reftex-index.el (reftex-display-index):
7829         Use cursor-intangible-mode if available.
7830         (reftex-index-post-command-hook): Check cursor-intangible.
7831         * lisp/textmodes/reftex-toc.el (reftex-toc):
7832         Use cursor-intangible-mode if available.
7833         (reftex-toc-recenter, reftex-toc-post-command-hook):
7834         Check cursor-intangible.
7835         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
7836         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
7837         (sgml-tags-invisible): Use with-silent-modifications and
7838         inhibit-read-only.  Enable cursor-sensor-mode.
7839         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
7840         calling convention of cursor-sensor-functions.
7841         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
7842         (table-point-entered-cell-hook, table-point-left-cell-hook):
7843         Don't autoload.
7844         (table-cell-entered-state): Remove var.
7845         (table--put-cell-point-entered/left-property)
7846         (table--remove-cell-properties):
7847         Use cursor-sensor-functions rather than point-entered/left.
7848         (table--point-entered/left-cell-function): Merge
7849         table--point-entered-cell-function and table--point-left-cell-function
7850         and adjust to calling convention of cursor-sensor-functions.
7852         Update ldef-boots.el
7854         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
7856         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
7858         Collapse successive char deletions in the undo log
7859         * src/cmds.c (remove_excessive_undo_boundaries): New function,
7860         extracted from Fself_insert_command.
7861         (Fdelete_char, Fself_insert_command): Use it.
7862         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
7863         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
7865         xterm and OSC 52: Add NEWS entry, and tweak the code
7866         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
7867         top-level.
7868         (terminal-init-xterm-activate-set-selection): Set a terminal property.
7869         (xterm--set-selection): Use it instead of checking the value of
7870         `terminal-initted'.  Don't use string-bytes.
7872 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
7874         xterm.el: Implement OSC-52 functionality for setting the X selection
7875         * lisp/term/xterm.el (xterm-max-cut-length): New var.
7876         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
7877         (terminal-init-xterm, xterm--version-handler): Use them.
7879 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7881         Remove left over code from when we used an obsolete/loaddefs.el file
7882         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
7883         we used an obsolete/loaddefs.el file.
7885         * cedet/semantic/fw.el: Use declare.
7886         * cedet/semantic/fw.el (semantic-exit-on-input)
7887         (semanticdb-without-unloaded-file-searches): Use declare.
7888         (semantic-fw-add-edebug-spec): Remove.
7890         (completion-lisp-mode-hook): Use completion-separator-chars
7891         * lisp/completion.el (completion-lisp-mode-hook):
7892         Use completion-separator-chars rather than local key binding.
7894         * src/*.c: Set deactivate_mark buffer-locally
7895         (Bug#20260)
7896         * src/insdel.c (prepare_to_modify_buffer_1):
7897         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
7898         buffer-locally.
7900 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7902         python.el: Keep symmetry on sexp navigation with parens
7903         (Bug#19954)
7904         * lisp/progmodes/python.el
7905         (python-nav--forward-sexp): Add argument skip-parens-p.
7906         (python-nav-forward-sexp, python-nav-backward-sexp)
7907         (python-nav-forward-sexp-safe)
7908         (python-nav-backward-sexp-safe): Use it.
7909         * test/automated/python-tests.el
7910         (python-nav-forward-sexp-1): Fix test.
7912 2015-04-12  João Távora  <joaotavora@gmail.com>
7914         Don't use `setq-local' in Gnus code
7915         This might break upstream builds with older Emacsen
7916         * lisp/gnus/message.el (message-mode): Use `set' and
7917         `make-local-variable' instead of `setq-local'.
7919 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
7921         Update Makefile.in's .PHONY dependencies
7922         * Makefile.in (change-history-commit, master-branch-is-current)
7923         (no-ChangeLog): Now phony.
7925         Remove configure's --with-mmdf option
7926         * configure.ac (MAIL_USE_MMDF): Remove.
7927         * etc/NEWS: Document this.
7928         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
7929         (Bug#20308)
7931         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
7932         That way, 'make install' won't think it's a man page.
7933         Reported by Ashish SHUKLA in:
7934         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
7936         Improve 'make change-history' prereq tests
7937         * Makefile.in (gen_origin): Fix to match what's in the master branch.
7938         (no-ChangeLog, master-branch-is-current): New rules.
7939         (change-history): Depend on them, to avoid similar future problems.
7940         Escape the local-variables string to pacify Emacs when editing
7941         Makefile.in.
7943 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7945         * test/automated/package-test.el (with-package-test): Kill Packages buffer
7947         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
7948         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
7949         "Upgrade" last, and use capitalized instead of all-caps.
7951         * lisp/emacs-lisp/package.el: Completely silence async operations
7952         (package--make-autoloads-and-stuff): Silence autoloads.
7953         (package--save-selected-packages): New function, silences
7954         `customize-save-variable'.
7955         (package--user-selected-p, package-install-from-buffer)
7956         (package-delete, package-install): Use it.
7957         (package-install-from-archive)
7958         (package-menu--perform-transaction): Silence.
7959         (package-menu-execute): Feedback when operation starts.
7961         Use delay-mode-hooks when visiting the init-file
7962         * lisp/emacs-lisp/package.el (package--ensure-init-file):
7963         delay-mode-hooks
7964         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
7966         * lisp/files.el: Only message when saving if save-silently is nil
7967         (save-silently): New variable.
7968         (files--message): New function.
7969         (find-file-noselect, save-buffer, basic-save-buffer)
7970         (basic-save-buffer-2, save-some-buffers, not-modified)
7971         (append-to-file): Use them.
7973 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
7975         Support debug declarations in pcase macros
7976         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
7977         (pcase-UPAT): Use it.  Remove "`".
7978         (pcase--edebug-match-macro): New function.
7979         (pcase-defmacro): Support debug declarations.
7980         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
7981         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
7982         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
7984         pcase.el: Edebug support for `app' and vector patterns
7985         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
7986         (pcase-UPAT): Use it. Support `app' patterns.
7987         (pcase-QPAT): Support vector patterns.
7989         edebug.el: Disambiguate vector specifications
7990         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
7991         `(vector ...)' as a vector specification, not as a sublist.
7993         (gnus-summary-refer-thread): Don't clobber unread articles
7994         This fixes a bug where `A T' causes "random" articles to become marked
7995         as read.
7996         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
7997         gnus-newsgroup-unreads remains sorted.
7999         mouse-sel.el: Fix mouse-sel-get-selection-function
8000         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8001         Use gui--last-selected-text-primary instead of no longer existing
8002         gui-last-selected-text.
8004         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8006         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8008 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8010         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8012         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8014         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8015         (byte-compile--interactive): New var.
8016         (byte-compile--message): New function.
8017         (byte-compile-log-1, byte-force-recompile)
8018         (byte-recompile-directory, byte-recompile-file)
8019         (byte-compile-file, compile-defun)
8020         (byte-compile-file-form-defmumble, byte-compile)
8021         (byte-compile-file-form-defalias, display-call-tree): Use it.
8023         * lisp/files.el: Don't message when nothing happened
8024         (save-some-buffers, basic-save-buffer): Before messaging to say
8025         "nothing was saved" check if (called-interactively-p 'any).
8027 2015-04-12  João Távora  <joaotavora@gmail.com>
8029         Summary: Improve sexp-based movement in message-mode
8030         Works by giving citations and smileys a different syntax.  This helps
8031         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8032         sexp-based movement.
8033         * lisp/gnus/message.el (message--syntax-propertize): New function.
8034         (message-mode): Set syntax-related vars.
8035         (message-smileys): New variable.
8036         * test/automated/message-mode-tests.el: New file
8038 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8040         Use bool for boolean in window.c
8041         * src/window.c: Omit unnecessary static function decls.
8042         (adjust_window_count, select_window, Fselect_window)
8043         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8044         (set_window_hscroll, check_window_containing, Fwindow_at)
8045         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8046         (unshow_buffer, replace_window, recombine_windows)
8047         (add_window_to_list, candidate_window_p, next_window)
8048         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8049         (Fget_buffer_window, Fdelete_other_windows_internal)
8050         (replace_buffer_in_windows_safely, set_window_buffer)
8051         (Fset_window_buffer, Fforce_window_update)
8052         (temp_output_buffer_show, make_parent_window)
8053         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8054         (resize_frame_windows, Fsplit_window_internal)
8055         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8056         (Fresize_mini_window_internal, mark_window_cursors_off)
8057         (window_scroll, window_scroll_pixel_based)
8058         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8059         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8060         (Fmove_to_window_line, Fset_window_configuration)
8061         (delete_all_child_windows, apply_window_adjustment)
8062         (set_window_fringes, set_window_scroll_bars)
8063         (Fset_window_vscroll, foreach_window, foreach_window_1)
8064         (compare_window_configurations, Fcompare_window_configurations):
8065         Prefer 'bool', 'true', and 'false' for booleans.
8066         * src/window.h (WINDOW_MODE_LINE_LINES)
8067         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8069 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8071         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8072         This prevents emacs-lisp-mode-hook from being run everytime an
8073         autoload file is generated, which can account for a fraction of
8074         package installation time depending on the hooks the user has
8075         configured.
8076         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8077         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8078         (autoload-find-generated-file): Use delay-mode-hooks.
8080         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8081         (package-menu-refresh): Respect async and do new package checking.
8082         (list-packages): Use `package-menu-refresh' instead of repeating code.
8084         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8085         (package--quick-help-keys): New variable.
8086         (package--prettify-quick-help-key): New function.
8087         (package-menu-quick-help): Use it.
8089         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8090         (package--build-compatibility-table): require finder
8092         * test/automated/package-test.el: Fix new test
8094         * lisp/emacs-lisp/package.el: Silence async operations
8095         (package--silence): New variable.
8096         (package--message): New function.
8097         (package-import-keyring, package-refresh-contents)
8098         (package-compute-transaction, package-install, package-delete)
8099         (package-menu--perform-transaction, package-menu-execute): Use it.
8101         * test/automated/package-test.el: Test async functionality
8102         (package-test-update-archives-async): New test
8104 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8106         Utilize `make-process' in epg.el
8107         * lisp/epg.el (epg-error-output): Abolish.
8108         (epg-context): New slot `error-buffer'.
8109         (epg--start): Use `make-process' and `make-pipe-process'.
8110         (epg--process-filter): Remove code separating stderr from stdout.
8111         (epg-wait-for-completion): Simplify `error-output' handling.
8112         (epg-reset): Dispose error buffer.
8114 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8116         * .gitignore: Ignore doc temps and outputs.
8118         Port commit-msg to MSYS Bash+Gawk
8119         See Eli Zaretskii in:
8120         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8121         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8122         (cent_sign, print_at_sign, at_sign): Revert previous change.
8123         (print_at_sign): Prepend "BEGIN".
8124         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8126         Port commit-msg to broken MS-Windows shell
8127         * build-aux/git-hooks/commit-msg (cent_sign):
8128         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8129         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8130         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8132 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8134         Support GnuTLS v3.4 and later on MS-Windows
8135         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
8136         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
8137         GnuTLS DLL to load according to value of libgnutls-version.
8138         (Bug#20294)
8140 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8142         Minor quoting etc. fixes to misc manuals
8143         Fix some minor quoting and spacing issues.  Distinguish more
8144         clearly among grave accent and apostrophe (which are ASCII) and
8145         single quote (which is not).  Prefer the standard terms
8146         "apostrophe" and "grave accent" to alternative names that can be
8147         confusing.  Use apostrophes to single-quote ASCII text.
8148         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
8149         rather than approximating it in ASCII with grave accent.
8151 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8153         Respect more keyword args in `make-process'
8154         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
8155         keywords as documented.
8157 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
8159         Extract ChangeLog entries when committing a directory
8160         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
8161         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
8162         Add a FIXME comment.
8163         (log-edit-changelog-entries): Extract from
8164         `log-edit-changelog-entries', handle FILE being a directory
8165         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
8167 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8169         Fix problems found by --enable-gcc-warnings
8170         * src/process.c (create_process, Fmake_pipe_process)
8171         (Fmake_network_process): Omit unused locals.
8173         Fix commit-msg to handle scissors lines
8174         * build-aux/git-hooks/commit-msg:
8175         Ignore every line after a scissors line, such as a line generated
8176         by 'git commit -v'.  Problem reported by Johan Bockgård in:
8177         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
8179         port commit-msg to Gawk 3.0.4 (1999)
8180         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
8181         (print_at_sign, at_sign): New vars.  Use them to avoid problems
8182         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
8183         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8185         Have commit-msg report commit failure
8186         * build-aux/git-hooks/commit-msg: If the commit is aborted,
8187         say so.  Simplify by doing this at the end.  Problem reported
8188         by Eli Zaretskii in:
8189         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8191 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8193         Clean up LDAP Configuration section of EUDC manual
8194         * doc/misc/eudc.texi: Combine indices.
8195         (LDAP Configuration): Use command markup.  Add index entries.
8196         Change formatting.  Wrap long lines.  Add noindent markup.
8198 2015-04-10  Daiki Ueno  <ueno@gnu.org>
8200         Add facility to collect stderr of async subprocess
8201         * src/w32.h (register_aux_fd): New function declaration.
8202         * src/w32.c (register_aux_fd): New function.
8203         * src/process.h (struct Lisp_Process): New member stderrproc.
8204         * src/process.c (PIPECONN_P): New macro.
8205         (PIPECONN1_P): New macro.
8206         (Fdelete_process, Fprocess_status, Fset_process_buffer)
8207         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
8208         (Fcontinue_process): Handle pipe process specially.
8209         (create_process): Respect p->stderrproc.
8210         (Fmake_pipe_process): New function.
8211         (Fmake_process): Add new keyword argument :stderr.
8212         (wait_reading_process_output): Specially handle a pipe process when
8213         it gets an EOF.
8214         (syms_of_process): Register Qpipe and Smake_pipe_process.
8215         * doc/lispref/processes.texi (Asynchronous Processes): Document
8216         `make-pipe-process' and `:stderr' keyword of `make-process'.
8217         * lisp/subr.el (start-process): Suggest to use `make-process' handle
8218         standard error separately.
8219         * test/automated/process-tests.el (process-test-stderr-buffer)
8220         (process-test-stderr-filter): New tests.
8221         * etc/NEWS: Mention new process type `pipe' and its usage with the
8222         `:stderr' keyword of `make-process'.
8224 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8226         Minor quoting etc. fixes to lispref manual
8227         * doc/lispref/tips.texi (Documentation Tips):
8228         Distinguish more clearly among grave accent, apostrophe,
8229         and single quote.
8230         * doc/lispref/README, doc/lispref/buffers.texi:
8231         * doc/lispref/commands.texi, doc/lispref/control.texi:
8232         * doc/lispref/customize.texi, doc/lispref/display.texi:
8233         * doc/lispref/elisp.texi, doc/lispref/files.texi:
8234         * doc/lispref/frames.texi, doc/lispref/hash.texi:
8235         * doc/lispref/help.texi, doc/lispref/internals.texi:
8236         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
8237         * doc/lispref/markers.texi, doc/lispref/modes.texi:
8238         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
8239         * doc/lispref/os.texi, doc/lispref/positions.texi:
8240         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
8241         * doc/lispref/text.texi, doc/lispref/tips.texi:
8242         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
8243         Use American-style double quoting in ordinary text,
8244         and quote 'like this' when single-quoting in ASCII text.
8245         Also, fix some minor spacing issues.
8247 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
8249         Handle symlinked test directory in tramp-tests.el
8250         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
8251         (tramp--test-check-files): Use `file-truename' for directories.
8253 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
8255         Fix 'recenter' when visual-line-mode is turned on
8256         * src/window.c (Frecenter): Use the same code for GUI and TTY
8257         frames alike; use vmotion only for "initial" frames.  This is
8258         because vmotion doesn't support visual-line-mode.  Rewrite the
8259         'iarg >= 0' case to use move_it_* functions instead of using
8260         vmotion, for the same reason.  Fix the clipping of the argument
8261         value to support scroll-margin in all cases and avoid unwarranted
8262         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
8263         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
8264         which see.
8266 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8268         * abbrev.el (define-abbrev-table): Refine last change.
8270         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
8271         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
8272         use of c[ad]+r", so as to keep the "cl-" prefix on all
8273         cl-lib definitions.
8275         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
8277         * lisp/cedet/semantic: Remove some dead code
8278         * lisp/cedet/semantic/util-modes.el
8279         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
8280         any more.
8281         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
8282         not supported any more.
8283         (semantic-safe): Use `declare'.
8284         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
8285         (semantic-tag-intangible-p): Remove unused functions.
8286         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
8287         Remove unused function.
8289         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
8290         (gnus-article-hide-text, gnus-article-unhide-text)
8291         (gnus-article-unhide-text-type): Remove special handling of
8292         `intangible' since that property is not used any more.
8293         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
8295 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8297         Use the VC root in `log-edit-listfun'
8298         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
8299         `log-edit-listfun'.
8301 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
8303         Fix description of Unix time, mention new function.
8304         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
8305         Unix time.
8306         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
8307         (Basic Operations on Units): Mention `calc-convert-exact-units'.
8309 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
8311         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
8313 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8315         (log-edit-insert-changelog-entries): Don't add newline after the last entry
8316         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
8317         Don't add newline after the last entry.
8319 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
8321         css-mode.el: Add "not" pseudo-class
8322         (Bug#20267)
8323         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
8324         list of CSS pseudo-classes.
8326 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8328         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
8330 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
8332         Stop messing with the EMACS env var
8333         * misc.texi (Interactive Shell): Remove description of EMACS env var.
8335 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8337         Adapt 'make change-history' to coding cookie
8338         * Makefile.in (change-history): Adjust to change of format of
8339         ChangeLog file, which now has a coding cookie before an indented
8340         copyright notice.
8342 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8344         Adapt 'make change-history' to coding cookie
8345         * Makefile.in (change-history): Adjust to change of format of
8346         ChangeLog file, which now has a coding cookie before an indented
8347         copyright notice.
8349         gitlog-to-changelog coding cookie and mv -i
8350         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
8351         for copyright notice prototype, so that we get a proper "coding:"
8352         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
8353         existing ChangeLog.  Problems reported by Eli Zaretskii in:
8354         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
8356         Merge from gnulib
8357         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
8358         2015-04-09 gitlog-to-changelog: port to MS-Windows
8360 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
8362         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
8363         (Bug#20212)
8365 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8367         Stop messing with the EMACS env var
8368         (Bug#20202)
8369         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
8370         * lisp/comint.el (comint-exec-1):
8371         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
8372         * lisp/progmodes/compile.el (compilation-start): Same and bring
8373         INSIDE_EMACS's format in line with other users.
8375         css-mode.el (css-smie-rules): Fix indentation after complex selectors
8376         (Bug#20282)
8377         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
8378         inner structure of selectors.
8380 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8382         python.el: Indent docstring lines to base-indent
8383         (Bug#19595)
8384         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
8385         an initial patch.
8386         * lisp/progmodes/python.el
8387         (python-indent-context): Add :inside-docstring context.
8388         (python-indent--calculate-indentation): Handle :inside-docstring.
8389         (python-indent-region): Re-indent docstrings.
8390         * test/automated/python-tests.el (python-indent-region-5)
8391         (python-indent-inside-string-2): Fix tests.
8393         python.el: Increase native completion robustness
8394         (Bug#19755)
8395         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
8396         this and providing useful ideas.
8397         * lisp/progmodes/python.el
8398         (python-shell-completion-native-output-timeout): Increase value.
8399         (python-shell-completion-native-try-output-timeout): New var.
8400         (python-shell-completion-native-try): Use it.
8401         (python-shell-completion-native-setup): New readline setup avoids
8402         polluting current context, ensures output when no-completions are
8403         available and includes output end marker.
8404         (python-shell-completion-native-get-completions): Trigger with one
8405         tab only.  Call accept-process-output until output end is found or
8406         python-shell-completion-native-output-timeout is exceeded.
8408 2015-04-08  Samer Masterson  <samer@samertm.com>
8410         * lisp/eshell: Make backslash a no-op in front of normal chars
8411         (Bug#8531)
8412         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
8413         (eshell-parse-backslash): Return escaped character after backslash
8414         if it is special.  Otherwise, if the backslash is not in a quoted
8415         string, ignore the backslash and return the character after; if
8416         the backslash is in a quoted string, return the backslash and the
8417         character after.
8418         * test/automated/eshell.el (eshell-test/escape-nonspecial)
8419         (eshell-test/escape-nonspecial-unicode)
8420         (eshell-test/escape-nonspecial-quoted)
8421         (eshell-test/escape-special-quoted): Add tests for new
8422         `eshell-parse-backslash' behavior.
8424 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
8426         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
8427         after the file name.
8428         (Bug#20276)
8430 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8432         Minor quoting etc. fixes to Emacs manual
8433         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
8434         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
8435         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
8436         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
8437         * doc/emacs/indent.texi, doc/emacs/macos.texi:
8438         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
8439         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
8440         * doc/emacs/search.texi, doc/emacs/trouble.texi:
8441         * doc/emacs/vc1-xtra.texi:
8442         Use American-style double quoting in ordinary text,
8443         and quote 'like this' when single-quoting in ASCII text.
8444         Also, fix some minor spacing issues.
8446         Minor quoting etc. fixes to elisp intro
8447         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
8448         American-style double quoting in ordinary text.  In ASCII text,
8449         consistently quote 'like this' instead of `like this', unless
8450         Emacs requires the latter.
8452 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
8454         * CONTRIBUTE: Mention log-edit-insert-changelog.
8456         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
8458 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8460         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
8462 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8464         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
8465         (Bug#20270)
8466         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
8467         Fix inheritance of initargs.
8469 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
8471         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
8472         while dowloading information.
8474         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
8475         (package--ensure-init-file): Check file contents before visiting.
8476         (package-initialize): Call it.
8477         (package-install-from-buffer, package-install): Don't call it.
8479 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
8481         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
8482         (Bug#17517)
8484 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
8486         Fix nasty scoping bug in tramp-cache.el
8487         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
8489 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
8491         Add notice to visual commands section
8492         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
8493         such as git call less with its -F option which omits pagination if
8494         the contents is less than one page long.  This interferes with
8495         eshell's visual (sub-)commands.
8497 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
8499         ffap: Support environment variable expansion in file names
8500         (Bug#19839)
8501         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
8502         environment variable expansion in file names.
8504 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8506         Prefer double-quote to accent-grave in man pages
8508 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8510         (Bug#20257)
8511         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
8513 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
8515         Update etc/PROBLEMS.
8516         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
8517         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
8518         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
8519         respectively); other minor updates and tweaks.  (Bug#20011)
8521 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8523         Add doc strings for some Isearch state vars
8524         * lisp/misearch.el (multi-isearch-buffer-list)
8525         (multi-isearch-file-list): Add doc strings.
8526         (Bug#20232)
8528 2015-04-07  Alan Mackenzie  <acm@muc.de>
8530         Always mark "<" and ">" in #include directives with text properties.
8531         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
8532         matcher" with an invocation of c-make-font-lock-search-function to allow
8533         fontification when there's no trailing space on an "#include <..>" line.
8535 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8537         Generate a ChangeLog file from commit logs
8538         * .gitignore: Add 'ChangeLog'.
8539         * build-aux/gitlog-to-changelog: New file, from Gnulib.
8540         * build-aux/gitlog-to-emacslog: New file.
8541         * CONTRIBUTE: Document the revised workflow.
8542         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
8543         instead of just special cases.
8544         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
8545         (ChangeLog, unchanged-history-files, change-history)
8546         (change-history-commit): New rules.
8547         * admin/admin.el (make-manuals-dist--1):
8548         Don't worry about doc/ChangeLog.
8549         * admin/authors.el: Add a FIXME.
8550         * admin/make-tarball.txt:
8551         * lisp/calendar/icalendar.el:
8552         * lisp/gnus/deuglify.el:
8553         * lisp/obsolete/gulp.el:
8554         * lwlib/README:
8555         Adjust to renamed ChangeLog history files.
8556         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
8557         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
8558         Remove obsolete discussion of merging ChangeLog files.
8559         New section "Maintaining ChangeLog history".
8560         * build-aux/git-hooks/pre-commit:
8561         Reject attempts to commit files named 'ChangeLog'.
8562         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
8563         * make-dist: Make and distribute top-level ChangeLog if there's a
8564         .git directory.  Distribute the new ChangeLog history files
8565         instead of scattered ChangeLog files.  Distribute the new files
8566         gitlog-to-changelog and gitlog-to-emacslog.
8567         (Bug#19113)
8569         Rename ChangeLogs for gitlog-to-changelog
8570         This patch was implemented via the following shell commands:
8571         find * -name ChangeLog |
8572         sed 's,.*,git mv & &.1,
8573         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
8574         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
8575         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
8576         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
8577         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
8578         sh
8579         git commit -am"[this commit message]"
8581 This file records repository revisions from
8582 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
8583 commit bd3b426ebb7a60045839e97c9da9bfd249fab1f1 (inclusive).
8584 See ChangeLog.1 for earlier changes.
8586 ;; Local Variables:
8587 ;; coding: utf-8
8588 ;; End:
8590   Copyright (C) 2015 Free Software Foundation, Inc.
8592   This file is part of GNU Emacs.
8594   GNU Emacs is free software: you can redistribute it and/or modify
8595   it under the terms of the GNU General Public License as published by
8596   the Free Software Foundation, either version 3 of the License, or
8597   (at your option) any later version.
8599   GNU Emacs is distributed in the hope that it will be useful,
8600   but WITHOUT ANY WARRANTY; without even the implied warranty of
8601   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8602   GNU General Public License for more details.
8604   You should have received a copy of the GNU General Public License
8605   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.