* test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
[emacs.git] / ChangeLog.2
blob281edc5d047b2f2ee40a593979119bdad7c5edf0
1 2015-08-04  David Kastrup  <dak@gnu.org>
3         Do not overwrite preexisting contents of unread-command-events
4         * lisp/vc/emerge.el (emerge-show-file-name):
5         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
6         (vhdl-comment-insert, vhdl-hooked-abbrev):
7         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
8         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
9         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
10         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
11         * lisp/obsolete/vip.el (vip-escape-to-emacs)
12         (vip-prefix-arg-value, vip-prefix-arg-com):
13         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
14         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
15         (quail-tibkey-update-translation):
16         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
17         * lisp/leim/quail/lao.el (quail-lao-update-translation):
18         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
19         (quail-japanese-self-insert-and-switch-to-alpha):
20         * lisp/leim/quail/hangul.el (hangul2-input-method)
21         (hangul3-input-method, hangul390-input-method):
22         * lisp/language/hanja-util.el (hangul-to-hanja-char):
23         * lisp/international/robin.el (robin-input-method):
24         * lisp/international/quail.el (quail-start-translation)
25         (quail-start-conversion):
26         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
27         (gnus-article-describe-key-briefly):
28         * lisp/eshell/em-hist.el (eshell-list-history):
29         * lisp/term.el (term-dynamic-list-input-ring)
30         (term-dynamic-list-completions):
31         * lisp/subr.el (momentary-string-display):
32         * lisp/simple.el (read-quoted-char):
33         * lisp/pcomplete.el (pcomplete-show-completions):
34         * lisp/kmacro.el (kmacro-repeat-on-last-key):
35         * lisp/info.el (Info-summary):
36         * lisp/ehelp.el (electric-help-command-loop):
37         * lisp/ebuff-menu.el (electric-buffer-list)
38         (Electric-buffer-menu-exit):
39         * lisp/double.el (double-translate-key):
40         * lisp/comint.el (comint-dynamic-list-input-ring)
41         (comint-dynamic-list-completions): Do not overwrite preexisting
42         contents of `unread-command-events' when putting new events into
43         it.
45 2015-08-04  Daniel Colascione  <dancol@dancol.org>
47         Improve ansi-color filtering of unrecognized escape sequences
48         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
49         escape sequences.
50         (ansi-color-filter-apply): Filter out unrecognized escape sequences
51         (ansi-color-apply): Filter out unrecognized escape sequences
53 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
55         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
56         definitions to `easy-menu-define', improve a couple to account for
57         async, and add a couple of new commands.
59 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
61         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
63 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
65         Add new 'calendar-weekend-days' option
66         Make the days receiving the 'calendar-weekend-header' face freely
67         customizable, as they differ by region/culture.
68         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
69         new variable.
70         * lisp/calendar/calendar.el (calendar-generate-month): New variable
71         calendar-weekend-days to customize day header fontification.
73 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
75         Redo text-quoting-style variable
76         Rename help-quote-translation to text-quoting-style,
77         and use symbols rather than characters as values.
78         This follows suggestions along these lines by Alan Mackenzie in:
79         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
80         and by Drew Adams in:
81         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
82         * doc/lispref/help.texi (Keys in Documentation)
83         * etc/NEWS:
84         * lisp/cus-start.el (standard):
85         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
86         Document and/or implement the new behavior instead of the old.
87         (syms_of_doc): New symbols 'grave' and 'straight'.
89 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
91         nnimap.el: Use IMAP MOVE extension if available
92         * lisp/gnus/nnimap.el (nnimap-request-move-article)
93         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
94         Use MOVE extension if available.
96         nnimap.el: Explicitly ask for server capabilities
97         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
98         capabilities will be returned in the login-result.
100 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
102         Treat help strings like other doc strings
103         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
104         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
105         substitute-command-keys.
106         * src/keyboard.c (show_help_echo, parse_menu_item): Call
107         substitute-command-keys on the help string before displaying it.
109         Also mention "curly quotes"
110         See Drew Adams's email in:
111         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
112         * doc/lispref/help.texi (Keys in Documentation):
113         Add index entry "curly quotes".
114         * etc/NEWS: Use the phrase "curly quotes" too.
116         ede-proj-target-makefile docstring tweaks
117         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
118         Consistently use "all:" to describe the all: target,
119         replacing three different and confusingly-quoted usages.
121 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
123         Whitespace fixes
125 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
127         Don't abort emacsclientw when -a was specified
128         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
129         out if we are in emacsclientw and -a was specified.
131 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
133         Fix handling of 1st keystroke on MS-Windows
134         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
135         This is needed to correctly handle the session's first keystroke,
136         if it has any modifiers.  (Bug#19994)
138 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
140         Substitute some customization etc. doc strings
141         These changes apply substitute-command-keys to some
142         doc strings that were going through untranslated
143         when creating customization or other widgets.
144         * lisp/cus-edit.el (custom-group-value-create):
145         * lisp/wid-edit.el (widget-default-create):
146         (widget-push-button-value-create):
147         Treat the widget tag as a doc string.
148         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
149         Treat the :documentation value as a doc string.
150         * lisp/wid-edit.el (widget-choose):
151         Treat the choice names as doc strings.
152         (widget-default-create): Treat the :doc value as a doc string.
153         (widget-toggle-value-create): Treat the :on and :off values
154         as doc strings.
155         (widget-documentation-string-value-create):
156         Substitute the doc string.
158 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
160         Add a second argument to project-ignores
161         * lisp/progmodes/project.el (project-ignores): Add a second
162         argument DIR.
163         * lisp/progmodes/project.el (project-ignores): Only include the VC
164         ignores if DIR is the VC root.
165         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
167 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
169         Prevent incorrect display when 'line-spacing' variable is set
170         * src/xdisp.c (try_window_id): Give up this optimization if the
171         buffer has its 'line-spacing' variable set non-nil.
173 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
175         Don't pass NOVISIT to find-file
176         * lisp/progmodes/etags.el (next-file):
177         Don't pass NOVISIT to find-file (bug#21175).
179         Ignore buffer restriction for tags-loop-eval
180         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
181         restriction (bug#21167).
183 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
185         Fix a thinko in 'ffap-gopher-at-point'
186         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
188         Honor 'line-spacing' for empty lines
189         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
190         property and 'line-spacing' frame parameter or variable or
191         property for empty lines, by doing the same processing as in
192         x_produce_glyph for newline characters.  (Bug#21165)
194 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
196         Simplify by assuming C99 integer division
197         * src/floatfns.c (ceiling2, floor2, truncate2):
198         Assume C99 (i.e., Fortran) semantics for integer division.
199         This simplifies the code.
201 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
203         Don't overflow if computing approximate percentage
204         * lisp/align.el (align-region):
205         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
206         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
207         * lisp/cus-edit.el (custom-buffer-create-internal):
208         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
209         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
210         (checkdoc-next-message-error):
211         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
212         * lisp/epa.el (epa-progress-callback-function):
213         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
214         * lisp/ffap.el (ffap-menu-rescan):
215         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
216         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
217         * lisp/gnus/nneething.el (nneething-retrieve-headers):
218         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
219         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
220         * lisp/gnus/nnml.el (nnml-retrieve-headers):
221         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
222         * lisp/gnus/nntp.el (nntp-retrieve-headers)
223         (nntp-retrieve-articles):
224         * lisp/imenu.el (imenu--relative-position):
225         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
226         (skkdic-convert-okuri-nasi):
227         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
228         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
229         * lisp/org/org-list.el (org-update-checkbox-count):
230         * lisp/org/org.el (org-table-map-tables)
231         (org-update-parent-todo-statistics):
232         * lisp/play/decipher.el (decipher-insert-frequency-counts)
233         (decipher-analyze-buffer):
234         * lisp/profiler.el (profiler-format-percent):
235         * lisp/progmodes/cc-cmds.el (c-progress-update):
236         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
237         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
238         (idlwave-list-load-path-shadows):
239         * lisp/progmodes/opascal.el (opascal-step-progress):
240         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
241         (vhdl-scan-directory-contents):
242         * lisp/textmodes/bibtex.el (bibtex-progress-message):
243         * lisp/textmodes/flyspell.el (flyspell-small-region)
244         (flyspell-external-point-words):
245         * lisp/textmodes/table.el (table-recognize):
246         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
247         progress-report percentages and the like.  This avoids problems
248         if (* 100 NUMERATOR) would overflow.
249         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
250         * lisp/gnus/registry.el (registry-reindex):
251         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
252         * lisp/descr-text.el (describe-char):
253         * lisp/org/org-colview.el (org-nofm-to-completion):
254         * lisp/ps-print.el (ps-plot):
255         * lisp/simple.el (what-cursor-position):
256         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
257         more-complicated and less-accurate approximation.
259         Fix some int overflows in profiler.c
260         * src/profiler.c (make_log): Make args EMACS_INT, not int,
261         to avoid unwanted behavior on 'int' overflow.
262         (make_log, evict_lower_half, record_backtrace):
263         Use ptrdiff_t, not int, for object indexes.
265         Port to pedantic memcpy
266         * src/keyboard.c (menu_bar_items, tool_bar_items):
267         * src/xrdb.c (magic_db):
268         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
270         Merge from gnulib
271         This incorporates:
272         2015-07-29 time_rz: port to pedantic memcpy
273         * lib/time_rz.c: Copy from gnulib.
275 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
277         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
278         When updating the very last entry, tabulated-list-print would
279         erase it and then try to look at the next one (which obviously
280         isn't there).
282 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
284         Allow to use the old key processing code on MS-Windows
285         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
286         New variable.
287         (w32_wnd_proc): Use it to invoke the old code that processed
288         character keys, as fallback, when this variable is non-nil.  Fix
289         typos in comments.  (Bug#19994)
291 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
293         Improve handling of Unicode keyboard input on MS-Windows
294         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
295         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
296         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
297         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
298         successful, don't call TranslateMessage.  (Bug#19994)
300 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
302         Fix default-directory in changeset diffs after vc-print-log
303         * lisp/vc/log-view.el (log-view-diff-common): Move the
304         revision-granularity check back into log-view-diff-changeset.
305         (log-view-diff-changeset): Bind default-directory to the current
306         VC root.
308         Rename project-directories to project-roots
309         * lisp/progmodes/project.el (project-search-path-function)
310         (project-search-path): Update the docstring.
311         (project-directories): Rename to `project-roots', update all
312         callers and implementations accordingly.
313         (project-root): Remove.
314         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
315         as the default file mask.
317 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
319         Support long URLs in w32-shell-execute
320         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
321         and filename_to_ansi to convert the DOCUMENT argument, as it could
322         be a URL that is not limited to MAX_PATH characters.  Instead, use
323         MultiByteToWideChar directly, and allocate heap storage as
324         required to accommodate the converted string.  Likewise with
325         non-Unicode operation.  Ensure OPERATION is null-terminated, even
326         if it is longer than 32K bytes.  (Bug#21158)
328 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
330         vc-mtn-find-revision handle null rev.
331         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
333 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
335         Add docs for display-buffer action display-buffer-use-some-frame
336         * lisp/window.el (display-buffer-use-some-frame): improve doc string
337         * doc/lispref/windows.texi (Display Action Functions): add
338           display-buffer-use-some-frame
339         * etc/NEWS: mention display-buffer-use-some-frame
341         Add display-buffer action display-buffer-use-some-frame
342         * lisp/window.el (display-buffer-use-some-frame): new
344         Handle vc-mtn error more gently
345         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
347 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
349         Fix Tramp problems with multihops, and nc.
350         * lisp/net/tramp-cache.el (tramp-get-file-property)
351         (tramp-set-file-property, tramp-flush-file-property)
352         (tramp-get-connection-property, tramp-set-connection-property)
353         (tramp-flush-connection-property): Remove hop from vector.
354         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
355         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
356         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
357         netstat to 60".
358         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
359         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
360         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
361         Keep hop in result.
362         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
363         Add hop tests.
365 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
367         Resurrect highlighting of repeated words by Flyspell Mode
368         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
369         characters between point and the doublon candidate, so that
370         flyspell-word-search-backward finds it.  (Bug#21157)
372         Fix redisplay of large images on expose events
373         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
374         between signed negative values and unsigned values.  This
375         prevented redisplay on expose events when the window showed a very
376         large image.
378 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
380         Remove unnecessary stack overflow dependency
381         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
382         Don't worry about $ac_cv_header_sys_resource_h and
383         $ac_cv_func_getrlimit, as they're no longer needed for this.
384         Problem reported by Eli Zaretskii in:
385         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
387 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
389         Pacify compilation -Wincompatible-pointer-types warnings
390         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
391         warning.
392         (CompareStringW_Proc): New typedef.
393         (w32_compare_strings): Use it, to pacify compiler warnings under
394         "-Wincompatible-pointer-types".
395         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
396         (GetDiskFreeSpaceExA_Proc): New typedefs.
397         (Ffile_system_info): Use them, to pacify compiler warnings under
398         "-Wincompatible-pointer-types".
400 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
402         Fix subscript error in calculate_direct_scrolling
403         Use slightly-longer cost vectors.  Without this change,
404         calculate_direct_scrolling can have a subscript violation when
405         FRAME_LINES (frame) <= delta.
406         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
407         (line_ins_del, do_line_insertion_deletion_costs):
408         Allocate and use slightly-larger cost vectors, ones based on
409         FRAME_TOTAL_LINES instead of FRAME_LINES.
411         Fix uninitalized value in encode_coding_object
412         * src/coding.c (encode_coding_object): Also initialize
413         coding->src_pos and coding->src_pos_byte when NILP (src_object).
414         This avoids later use of uninitialized storage.
416 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
418         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
420 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
422         Merge from gnulib
423         This incorporates:
424         2015-07-27 time_rz: port better to MinGW
425         2015-07-27 time: port __need_time_t to MinGW
426         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
427         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
428         * lib/time-internal.h: New file, from gnulib.
430 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
432         Handle NULL pointers in w32heap.c allocation routines
433         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
434         freeable".
435         (realloc_after_dump, realloc_before_dump, free_before_dump):
436         Handle NULL pointers gracefully, as Emacs now seems to expect
437         that.
439         Fix Cairo build without PNG
440         * src/image.c: Define PNG function when USE_CAIRO is defined, even
441         if HAVE_PNG is not.  (Bug#21133)
443         MS-Windows follow-up for recent TZ-related changes
444         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
445         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
446         picking up 'struct timespec' from pthread.h, if it is installed on
447         the user's system.  We want either the definitions from MinGW
448         system headers, if available, or the Gnulib replacements if not.
449         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
450         lib/time.h.
451         * lib/time.in.h: Don't let __need_* symbols affect what happens on
452         MinGW.  These symbols are defined by MinGW system headers, but we
453         don't want that to affect whether Gnulib portions of the header
454         are or aren't used.
456 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
458         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
460         New optional ZONE arg for format-time-string etc.
461         This simplifies time conversions in other time zones.
462         It also prevents display-time-world tampering with TZ (Bug#21020).
463         * admin/admin.el (add-release-logs):
464         Use improved add-log-time-format API.
465         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
466         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
467         * configure.ac (tzalloc): Remove test for this, since
468         Emacs no longer uses HAVE_TZALLOC directly.
469         * doc/lispref/os.texi (Time of Day, Time Conversion)
470         (Time Parsing):
471         * etc/NEWS: Document the new behavior.
472         Merge from gnulib, incorporating:
473         2015-07-25 strftime: fix newly-introduced bug on Solaris
474         2015-07-23 fprintftime, strftime: use timezone_t args
475         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
476         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
477         * m4/time_h.m4:
478         Update from gnulib.
479         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
480         New files from gnulib.
481         * lisp/time-stamp.el (time-stamp-string):
482         * lisp/time.el (display-time-world-list)
483         (display-time-world-display):
484         Use new API, with time zone arg.
485         * lisp/time.el (display-time-world-display):
486         Fix race when current-time advances while we're running.
487         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
488         (add-log-iso8601-time-string): Accept optional time zone arg.
489         * lisp/vc/add-log.el (add-change-log-entry):
490         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
491         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
492         Add rules for the time module, since they're now needed
493         for tzalloc etc.
494         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
495         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
496         * src/editfns.c: Include errno.h.
497         (set_time_zone_rule): Omit unnecessary forward decl.
498         (initial_tz): Remove, replacing with ...
499         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
500         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
501         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
502         (tzlookup): New static functions.
503         (init_editfns): New arg DUMPING.  All uses changed.
504         (init_editfns): Omit most initialization if dumping, not if
505         !initialized.  Initialize wall_clock_tz and local_tz.
506         (emacs_nmemftime, format_time_string): Time zone argument can now
507         be any time zone, not just a boolean for UTC or local time.  All
508         callers changed.
509         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
510         (Fcurrent_time_zone): New optional arg ZONE.
511         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
512         the same form as with the other new additions.
513         (decode_time_zone): Remove; no longer needed.
514         (tzvalbuf): Now file-scope.
515         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
516         (syms_of_editfns): Define Qwall.
517         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
518         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
519         [!HAVE_TZALLOC]:
520         Remove; now supplied by gnulib.
521         * src/emacs.c (main):
522         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
524 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
526         Fix infinite loop in delete-consecutive-dups
527         * lisp/subr.el (delete-consecutive-dups): Work even if the last
528         element is nil (Bug#20588).  Avoid rescan of a circular list in
529         deletion of last element.
531 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
533         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
534         * src/nsfns.m (Fx_frame_geometry):
535         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
536         terminal frames.
537         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
538         (Fx_frame_geometry): Return nil for terminal frames
540 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
542         * etc/tutorials/TUTORIAL.ja: Improve translation.
544 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
546         Avoid crashes when w32 GUI functions are called in -batch
547         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
548         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
549         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
551         Fix flyspell-check-previous-highlighted-word
552         * lisp/textmodes/flyspell.el
553         (flyspell-check-previous-highlighted-word): Really accept a
554         numeric argument, as the doc string describes.  Fix an off-by-one
555         error in looking up overlays, so invocation with point immediately
556         after a word would check that word.  Clarify the doc string as
557         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
559 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
561         Minor cleanup in tramp-tests.el
562         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
563         Implement using the documented interface
564         `tramp-connection-properties', rather than with internal functions.
566 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
568         Pass lambdas to `skeleton-read'
569         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
570         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
571         lambdas to `skeleton-read' (bug#20386).
573 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
575         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
577         Don't require GUI frames and mouse for Flyspell menus
578         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
579         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
580         support, since pop-up menus work with text terminals and can be
581         controlled via the keyboard.
583         Improve documentation of Flyspell commands
584         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
585         can be invoked via the keyboard.  Mention those commands by name
586         and add them to the fn index.  (Bug#21125)
588 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
590         Fix some Tramp problems with HP-UX
591         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
592         Add "tab0" to stty call.
593         * test/automated/tramp-tests.el (tramp-persistency-file-name):
594         Set to nil.
595         (tramp--test-hpux-p): New defun.
596         (tramp--test-utf8): Use it.
598 2015-07-22  Glenn Morris  <rgm@gnu.org>
600         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
602 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
604         Fix point positioning in ffap-next-guess
605         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
606         as our callers expect.  This was clobbered as part of fixing
607         bug#5673.  (Bug#21107)
608         (ffap-gopher-at-point): Set ffap-string-at-point-region.
610 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
612         Fix customization type of `even-window-sizes'.
613         * lisp/window.el (even-window-sizes): Fix customization type.
615         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
616         Optionally even widths of `display-buffer' windows.  (Bug#21100)
617         * lisp/window.el (quit-restore-window): Restore width if
618         requested.
619         (display-buffer-record-window): Record width when window is
620         reused and horizontally combined.
621         (even-window-sizes): New option to allow evening window widths.
622         (even-window-heights): Defalias to `even-window-sizes'.
623         (window--even-window-heights): Rename to
624         `window--even-window-sizes'.  Handle side-by-side windows.
625         (display-buffer-use-some-window): Call `window--even-window-sizes'
626         instead of `window--even-window-heights'.
627         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
628         * doc/lispref/windows.texi (Choosing Window Options): Describe
629         `even-window-sizes'.
630         (Coordinates and Windows): Fix typo.
632 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
634         add file name to autoload error messages.
635         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
636           to add file name to error message.
638 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
640         Use 0.0.0.1 as test host in Tramp
641         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
642         Use 0.0.0.1 as test host.
644 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
646         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
647         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
648         Fix inf-loop (bug#21083).
650 2015-07-21  Glenn Morris  <rgm@gnu.org>
652         * test/automated/package-test.el (package-test-signed):
653         Update for recent changes.
655         * test/automated/elisp-mode-tests.el
656         (elisp-xref-finds-both-function-and-variable)
657         (elisp-xref-finds-only-function-for-minor-mode):
658         Update for recent xref name changes.
660 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
662         Make eldoc timer non-repeatable
663         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
664         non-repeatable.  Since it's on post-command hook, that just wasted
665         CPU cycles.
667 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
669         Mention `tramp-connection-properties' in NEWS
671         Sync with Tramp repository
672         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
673         required prior changing its configuration.
674         (Connection caching, Predefined connection information)
675         (Remote shell setup): Fix typos.
676         (Predefined connection information): Describe, how to overwrite
677         parameters of `tramp-methods'.
678         (Remote programs, Remote processes, Traces and Profiles):
679         Simplify example.
680         (Remote programs): Remove superfluous comment.
681         * doc/misc/trampver.texi: Update release number.
682         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
683         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
684         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
685         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
686         "gvfs-mkdir -p ..." does not work robust.
687         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
688         * lisp/net/tramp-sh.el (tramp-methods):
689         Add `tramp-remote-shell-login' parameter where it fits.
690         (tramp-get-remote-path): Use it.
691         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
692         (all): Adapt `tramp-get-method-parameter' calls.
693         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
694         (tramp-get-method-parameter): Replace argument METHOD by VEC.
695         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
696         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
697         (all): Adapt `tramp-get-method-parameter' calls.
698         * lisp/net/trampver.el Update release number.
699         * test/automated/tramp-tests.el (tramp--instrument-test-case):
700         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
701         (tramp-test13-make-directory, tramp--test-adb-p)
702         (tramp--test-smb-or-windows-nt-p): Simplify.
703         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
704         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
705         (tramp--test-utf8): Fix docstring.
707 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
709         Add new xref-query-replace command
710         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
711         function, extracted from xref-pulse-momentarily.
712         (xref-query-replace): New command.
713         (xref--query-replace-1): New helper function.
714         (xref--xref-buffer-mode-map): Add `r' binding.
716 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
718         Simplify icalendar decoding of Z dates
719         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
720         Simplify calculation of time strings with trailing "Z".
722 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
724         Do not corrupt grep-find-ignored-files
725         * lisp/progmodes/project.el (project-ignores): Change the order of
726         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
728         Add xref-match-item, and use it
729         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
730         (xref-file-location): Add reader for the column slot.
731         (xref-match-item): New class.
732         (xref-match-bounds): A method implementation for it.
733         (xref-make-match): New constructor function.
734         (xref--current-item): New private variable.
735         (xref-pulse-momentarily): Use it.
736         (xref--pop-to-location): Change the first argument to an xref
737         item, instead of location, bind xref--current-item.
738         Update all callers.
739         (xref-next-line, xref-prev-line, xref--next-error-function)
740         (xref--mouse-2): Look for the property `xref-item',
741         instead of `xref-location'.
742         (xref--item-at-point): Likewise.  This function replaces
743         `xref-location-at-point'.  Update all callers.
744         (xref--insert-xrefs): Add the `xref-item' text property, instead
745         of `xref-location'.
746         (xref--collect-match): Use xref-make-match.
748         Rename xref--xref to xref-item
749         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
750         Update all references.
752         Rename xref description slot to summary
753         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
754         slot to `summary'.
756         vc-hg: Perform the print-log call asynchronously
757         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
758         asynchronously (bug#21067).
760         Add xref-after-jump-hook and xref-after-return-hook
761         * lisp/progmodes/xref.el (xref-after-jump-hook)
762         (xref-after-return-hook): New hooks.
763         (xref-pulse-on-jump): Remove, in favor of the above.
764         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
765         (xref--pop-to-location, xref--display-position)
766         (xref-pop-marker-stack): Use the new hooks, as requested in
767         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
769 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
771         Correct js-mode's lighter
772         * lisp/progmodes/js.el (js-mode): Correct the lighter.
774 2015-07-19  Leo Liu  <sdl.web@gmail.com>
776         Fix a bug in cfengine3-mode
777         * progmodes/cfengine.el (cfengine3-mode): Handle nil
778           eldoc-documentation-function.
780 2015-07-18  Julien Danjou  <julien@danjou.info>
782         sieve-mode: support "body" test command
783         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
784         Add missing "body" test command.
786 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
788         Fix info-apropos when the default encoding is Latin-N
789         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
790         'undecided', so that it is set to the encoding of the Info file we
791         are about to insert.  Otherwise, 'info-apropos' will fail to find
792         some index nodes in some UTF-8 encoded files, if the buffer's
793         previous encoding is Latin-N or some such.
795 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
797         * epg.el (epg--start): Check that gpgconf can be found before calling it.
799         Expose more file types to OS X that Emacs understands.
800         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
801         json, and org files.  Export UTIs for el, elc, and org files.
803 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
805         Fix visual-order cursor movement when lines are truncated
806         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
807         simulate display in a window of infinite width, to allow move_it_*
808         functions reach positions outside of normal window dimensions.
809         Remove code that tried to handle a subset of these situations by
810         manual iteration of buffer text.  (Bug#17777)
812         Fix following Info cross-references to anchors
813         * lisp/info.el (Info-read-subfile): Add to the returned value the
814         length of subfile preamble, after converting it to file's byte
815         offset, as expected by the caller.  Use bufferpos-to-filepos.
816         (Info-find-node-2): If searching for a node with a
817         1000-character slop fails, try again with a 10000-character slop,
818         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
819         * lisp/international/mule-util.el (bufferpos-to-filepos): New
820         function.
821         * etc/NEWS: Mention bufferpos-to-filepos.
823         Fix scrolling backwards on TTY frames under scroll-conservatively
824         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
825         in moving backwards on TTY frames.  (Bug#21080)
827 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
829         Consider a jsdoc tag to be a beginning of a paragraph as well
830         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
831         consider a jsdoc tag to be a beginning of a paragraph as well.
833 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
835         * lisp/emacs-lisp/package.el: Fix warnings
837         * lisp/emacs-lisp/package.el (package-buffer-info):
838         Add author and maintainers to `package-buffer-info'.
840         * lisp/emacs-lisp/package.el: Many small changes
841         Replace all instances of 'face with 'font-lock-face.
842         (describe-package-1): Improve some strings and move the summary up the
843         list.
844         (package-install-file): Update docstring.
845         (package-menu-hide-package): Bind to `H'.
847         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
848         Fix error handling.
850 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
852         Fix hang with large yanks This should fix the bug fixed by Mike
853         Crowe's patch in:
854         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
855         A problem in this area has been reported by several users; see
856         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
857         This fix differs from Mike Crowe's patch in that it should avoid a
858         race condition that could lose SIGIO signals.  ignore_sigio dates
859         back to the 1980s when some platforms couldn't block signals, and
860         could only ignore them, which led to races when signals arrived
861         while being ignored.  We shouldn't have to worry about those old
862         platforms now.
863         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
864         * src/emacs.c (shut_down_emacs):
865         Don't call ignore_sigio; unrequest_sigio should suffice.
866         * src/keyboard.c (kbd_buffer_store_buffered_event):
867         Use unrequest_sigio, not ignore_sigio.
868         (kbd_buffer_get_event):
869         Call request_sigio when getting the ball rolling again.
871 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
873         * lisp/obsolete/longlines.el (longlines-search-function):
874         Fallback on `isearch-search-fun-default'.
876 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
878         Support @-mentions
879         * rcirc.el (rcirc-completion-at-point): Support completion of
880         mentions/messages with @nick instead of just nick.
882 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
884         Fix Bug#20943.
885         * lisp/autorevert.el (auto-revert-handler): Do not check for
886         `buffer-modified-p'.
887         * lisp/files.el (buffer-stale--default-function): Check for
888         `buffer-modified-p'.
889         * test/automated/auto-revert-tests.el
890         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
892 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
894         Fix delete-dups bug on long lists
895         * lisp/subr.el (delete-dups):
896         Don't mistakenly keep some dups when applied to long lists.
898 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
900         Better heuristic for C stack overflow
901         Improve the heuristic for distinguishing stack overflows from
902         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
903         the getrlimit method wasn't portable to Cygwin; see:
904         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
905         Corinna suggested pthread_getattr_np but this also has problems.
906         Instead, replace the low-level system stuff with a simple
907         heuristic based on known good stack addresses.
908         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
909         * src/sysdep.c: Don't include <sys/resource.h>.
910         (stack_direction): Remove.  All uses removed.
911         (stack_overflow): New function.
912         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
913         Make SEGV fatal in non-main threads.
915 2015-07-16  Daiki Ueno  <ueno@gnu.org>
917         epg: Automatically start pinentry server
918         * epg-config.el (epg-gpgconf-program): New variable.
919         * epg.el (epg--start): Call `pinentry-start' if
920         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
922 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
924         * lisp/gnus/nnimap.el: Fix my last bogus change
925         Reinstall Stefan Monnier's change that was made in
926         <83d824bc4041332f338ad7e5e830f443535aa300>.
928 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
930         Merge from gnulib
931         This incorporates:
932         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
933         2015-07-05 acl-permissions: Fix on FreeBSD
934         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
935         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
936         * lib/set-permissions.c: Copy from gnulib.
938         Port to stricter C99
939         * src/keyboard.h (kbd_buffer_store_event_hold):
940         Don't return a void expression.
942 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
944         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
946 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
948         New autorevert tests.
949         * test/automated/auto-revert-tests.el: New file.
951 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
953         Clear gcprolist etc. after stack overflow
954         After stack overflow, command_loop calls init_eval, and this needs to
955         clear gcprolist and byte_stack_list (Bug#20996).
956         * src/alloc.c (init_alloc):
957         Move gcprolist and byte_stack_list initialization from here ...
958         * src/eval.c (init_eval): ... to here.
960 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
962         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
964 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
966         Avoid deprecated enums in mac-ct font backend driver
967         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
968         (mac_ctfont_get_advance_width_for_glyph)
969         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
971         Cache font family in mac-ct font backend driver
972         * src/macfont.m (macfont_family_cache): New variable.
973         (syms_of_macfont): Initialize it.
974         (macfont_available_families_cache): New variable.
975         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
976         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
977         (macfont_handle_font_change_notification)
978         (macfont_init_font_change_handler)
979         (macfont_copy_available_families_cache): New functions.
980         (macfont_create_family_with_symbol): Use font family caches.
981         (macfont_list, macfont_list_family): Use
982         macfont_copy_available_families_cache instead of
983         mac_font_create_available_families.
985 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
987         Show the default value in the prompt
988         * lisp/progmodes/xref.el: Add `M-?' binding for
989         xref-find-references.  Declare functions `grep-read-files' and
990         `grep-expand-template'.
991         (xref--read-identifier): Show the default value in the prompt.
993         When called with prefix argument, ask for file patterns to search as well
994         * lisp/progmodes/xref.el (xref-find-regexp): When called with
995         prefix argument, ask for file patterns to search as well.  When
996         prompting for the directory, require an existing one.
997         (xref-collect-matches): Add a new argument, FILES.  Use it in the
998         above function.
1000         Add `project-ignores'
1001         * lisp/progmodes/project.el (project-ignores): New generic
1002         function, and an implementation for the VC project type.
1003         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
1004         variant of rgrep-default-command that handles a generic list of
1005         ignores.
1006         (xref-collect-matches): Use it, and pass through to it the value
1007         of the newly added argument.
1008         (xref-find-regexp): Handle ignored paths within the project.
1009         Remove outdated comment.
1010         * lisp/vc/vc.el (vc-default-ignore-completion-table):
1011         Skip the comments and the empty lines.
1013 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
1015         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
1017 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1019         gnus-registry.el: Correct function argument order
1020         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
1021         Reverse the order of function arguments.
1023 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
1025         Bind grep-highlight-matches to nil
1026         * lisp/progmodes/xref.el (xref-collect-matches):
1027         Bind grep-highlight-matches to nil (bug#20728).
1029 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
1031         nnimap.el: Fix IMAP message size parsing
1032         * lisp/gnus/nnimap.el (nnimap-transform-headers):
1033         Don't assume that UID comes before RFC822.SIZE.
1035 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1037         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
1038         (auth-source-creation-prompts): Declare.
1039         (nnimap-retrieve-headers, nnimap-status-message)
1040         (nnimap-request-create-group, nnimap-request-delete-group)
1041         (nnimap-close-group, nnimap-request-move-article)
1042         (nnimap-request-accept-article, nnimap-request-newgroups)
1043         (nnimap-request-post, nnimap-dummy-active-number)
1044         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1045         (nnimap-parse-flags): Remove unused var `p'.
1046         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1047         (nnimap-flags-to-marks): Remove unused var `totalp'.
1049 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1051         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1053 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1055         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1057 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1059         Don't check the exit status, it can be misleading
1060         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1061         exit status, it can be misleading.
1063         Introduce a Project API
1064         * lisp/progmodes/project.el: New file.
1065         * lisp/cedet/ede.el: (project-try-ede): New function.
1066         (project-root): New implementation.
1067         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1068         Set project-search-path-function.
1069         (elisp--xref-find-references): Delegate some logic to
1070         project-search-path.
1071         (elisp-search-path): New function.
1072         (elisp-xref-find): Don't implement `matches' anymore.
1073         * lisp/progmodes/etags.el: Don't implement `matches'.
1074         Delegate some logic to project-search-path.
1075         (etags-search-path): New function.
1076         * lisp/progmodes/xref.el (xref-find-function):
1077         Remove `matches' from the API.
1078         (xref-find-regexp): Move whatever common logic was in elisp and
1079         etags implementations, and search the directories returned by
1080         project-directories and project-search-path.
1082 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1084         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1086         Add support for gv.el in map.el
1087         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1088         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1089         * test/automated/map-tests.el: Update tests to work with the new
1090         implementations of map-elt and map-put.
1092 2015-07-09  Glenn Morris  <rgm@gnu.org>
1094         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1096 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1098         Syntax-propertize until the end of the line first
1099         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1100         until the end of the line first.
1102 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1104         * doc/emacs/files.texi (File Archives): Add a cross reference.
1106 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1108         nnimap.el: Handle plain value for nnimap-stream
1109         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1110         capabilities, so that a 'plain value for the `nnimap-stream' server
1111         variable is handled correctly.
1112         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1113         Document the 'plain option.
1115 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1117         Fix bug in thing-at-point--bounds-of-well-formed-url
1118         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1119           sure boundary contains current point.
1121 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1123         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1125         Declare whitespace-line-column a safe file-local
1126         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1127         safe file-local when the value is an integer.
1129 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1131         gnus-group.el: Check if group names are already strings
1132         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1133         The group name may already be a string.
1134         Specifically, in the group list reached from the *Server* buffer,
1135         the 'gnus-group text property returns a string.  Everywhere else
1136         it returns a symbol.
1138         nnimap.el: Remove unused let variables
1139         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1141 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1143         Support "maximized" property of runemacs's shortcut
1144         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1145         the '--maximized' switch to Emacs.
1147         Support "minimized" property of runemacs's shortcut
1148         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1149         pass the '--iconic' switch to Emacs.  (Bug#20991)
1151 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1153         Doc fixes
1154         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1155         C-w' in Diff mode.
1156         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1157         Add a cross reference.
1159 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1161         * lisp/obsolete/landmark.el: Add Obsolete-since header
1163 2015-07-07  Glenn Morris  <rgm@gnu.org>
1165         * test/automated/ert-tests.el (ert-test-deftest):
1166         Update for recent changes.
1168 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1170         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1171         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1172         (gv-invalid-place): New error.
1173         (gv-get): Use them.
1174         (gv-synthetic-place, gv-delay-error): New places.
1175         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1176         (cl-defgeneric, cl-defmethod): Use gv-setter.
1178 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1180         Make vc-tests work with MSYS svn program
1181         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1182         svn is an MSYS program.
1184 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1186         Improve recent change to emacsclient on Cygwin
1187         * lisp/server.el (server-process-filter): Remove redundant check
1188         that 'cygwin-convert-file-name-from-windows' is defined as a
1189         function on Cygwin.  Don't call that function unless its argument
1190         starts with a drive letter.
1192 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1194         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1195         Fix void variable due to `found-something' being in the wrong `let'.
1197 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1199         * lisp/play/landmark.el: Move to lisp/obsolete/
1201 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1203         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1204         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1205         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1206         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1207         tooltips also via `right' and `bottom' frame parameters.
1209 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1211         Add online-help support to describe types
1212         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1213         (describe-symbol): Improve the selection of default.
1214         * lisp/help-mode.el: Require cl-lib.
1215         (describe-symbol-backends): Move from help-fns.el.
1216         (help-make-xrefs): Use it.
1217         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1218         for types.
1219         (cl--typedef-regexp): New const.
1220         (find-function-regexp-alist): Add entry for types.
1221         (cl-help-type, cl-type-definition): New buttons.
1222         (cl-find-class): New function.
1223         (cl-describe-type): New command.
1224         (cl--describe-class, cl--describe-class-slot)
1225         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1226         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1227         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1228         New functions.  Moved from eieio-opt.el.
1229         (cl--generic-class-parents): New function, extracted from
1230         cl--generic-struct-specializers.
1231         (cl--generic-struct-specializers): Use it.
1232         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1233         Improve constructor's docstrings.
1234         (cl-struct-unknown-slot): New error.
1235         (cl-struct-slot-offset): Use it.
1236         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1237         definition in current-load-list.
1238         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1239         (eieio--add-new-slot): Set it.
1240         (eieio-defclass-internal): Use new name for current-load-list.
1241         (eieio-oref): Add compiler-macro to warn about unknown slots.
1242         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1243         as compile-time as well.  Improve constructor docstrings.
1244         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1245         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1246         (eieio-class-def): Remove button.
1247         (eieio-help-constructor): Use new name for load-history element.
1248         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1249         (eieio-method-documentation): Move to cl-generic.el.
1250         (eieio-display-method-list): Use new names.
1251         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1252         Add "define-linline".
1253         (lisp-fdefs): Remove "defsubst".
1254         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1255         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1256         (macroexp--warn-and-return): Use it to avoid inf-loops.
1257         Add `compile-only' argument.
1259 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1261         python.el: Fix local/remote shell environment setup
1262         * lisp/progmodes/python.el (python-shell-with-environment): Fix
1263         remote/local environment setup.
1264         * test/automated/python-tests.el (python-shell-with-environment-1)
1265         (python-shell-with-environment-2): New tests.
1267 2015-07-06  Glenn Morris  <rgm@gnu.org>
1269         * lisp/simple.el (set-variable): Tweak recent doc fix.
1271 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1273         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
1275 2015-07-06  Glenn Morris  <rgm@gnu.org>
1277         * lisp/simple.el (set-variable): Use user-error for type mismatch.
1279 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1281         * src/emacs.c (main): Don't increase the stack size on Cygwin
1283 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
1285         (describe-symbol): Rewrite describe-function-or-variable
1286         * lisp/help-fns.el (describe-symbol-backends): New var.
1287         (help-xref-stack-item): Declare.
1288         (describe-symbol): Rename from describe-function-or-variable.
1289         Rewrite using describe-symbol-backends instead of help-xref-interned.
1290         * lisp/help.el (help-map): Use it.
1291         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
1292         (help-xref-interned): Make it into an obsolete alias.
1294         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
1295         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
1296         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
1298 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
1300         Fix parsing glitches in dired-mark-sexp (bug#13575)
1301         * lisp/dired-x.el (dired-x--string-to-number): New function.
1302         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
1303         of directory-listing-before-filename-regexp.  Consider
1304         forward-word harmful and replace it.  Add more verbiage in
1305         comments and doc string.
1307 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1309         python.el: Respect process environment for remote shells
1310         * lisp/progmodes/python.el
1311         (python-shell-calculate-process-environment): Calculate
1312         process-environment or tramp-remote-process-environment depending
1313         whether current file is remote.
1314         (python-shell-calculate-exec-path): Calculate exec-path or
1315         tramp-remote-path depending whether current file is remote.
1316         (python-shell-with-environment): New macro.
1317         (python-shell-prompt-detect, python-shell-calculate-command)
1318         (python-shell-make-comint, python-check): Use it.
1320         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
1321         * lisp/progmodes/python.el (python-shell--interpreter)
1322         (python-shell--interpreter-args): New vars.
1323         (inferior-python-mode, python-shell-make-comint): Use them.
1325         python.el: Fixes for IPython 3.x  (Bug#20580)
1326         * lisp/progmodes/python.el:
1327         (python-shell-completion-native-setup): Fix IPython 3.x setup.
1328         (python-shell-completion-native-get-completions): Fix timeout
1329         logic.
1331         python.el: Fix mark-defun behavior  (Bug#19665)
1332         * lisp/progmodes/python.el: (python-mark-defun): New function.
1333         * test/automated/python-tests.el (python-mark-defun-1)
1334         (python-mark-defun-2, python-mark-defun-3): New tests.
1336 2015-07-05  Glenn Morris  <rgm@gnu.org>
1338         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
1339         such as "extends(parent), private".  (Bug#20969)
1340         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
1341         New tests.
1343 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1345         Avoid duplicate calls to current_timespec
1346         * src/process.c (wait_reading_process_output):
1347         Cache current_timespec results as long as we're not waiting.
1349 2015-07-05  Ian Kelling  <ian@iankelling.org>
1351         Avoid returning early reading process output due to SIGIO
1352         * src/process.c (wait_reading_process_output): Extend the behavior of
1353         not breaking due to not finding output when a timer has lowered the
1354         timeout to include when SIGIO lowers the timeout.
1356         Don't return as fast reading any process output
1357         * src/process.c (wait_reading_process_output):
1358         The patch for Bug#17647 returns too fast sometimes when reading
1359         from any processes. Revert part of it, and limit the timeout more
1360         sensibly (Bug#20978).
1362         Refactor timeouts in wait_reading_process_output
1363         * src/process.c (wait_reading_process_output):
1364         Simplify timeouts with an enum.  Remove a redundant condition.
1365         (Bug#20978)
1367         Remove ADAPTIVE_READ_BUFFERING ifdef
1368         * src/process.c (make-process, make-pipe-process, deactivate_process)
1369         (wait_reading_process_output, read_process_output, send_process)
1370         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
1371         added in case there was an operating system in which it was not
1372         useful.  That was 11 years ago and it hasn't happened.  Make
1373         development easier by not considering the effect of changes on a
1374         theoretical OS where this is disabled (Bug#20978).
1376 2015-07-05  Glenn Morris  <rgm@gnu.org>
1378         * lisp/simple.el (set-variable): Doc fix.
1380         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
1382 2015-07-05  Ian Kelling  <ian@iankelling.org>
1384         accept-process-output fix
1385         This is a followon to the fix for Bug#17647 (Bug#20976).
1386         * src/process.c (status_notify): Fix too high return in some cases.
1388 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1390         * lisp/character-fold.el (character-fold-table):
1391         Only fold decompositions if at least one character is non-spacing.
1392         (Bug#20975)
1394 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1396         Merge from gnulib
1397         This incorporates:
1398         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
1399         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
1400         2015-07-02 update-copyright: fix test failure with perl >= 5.22
1401         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
1402         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
1403         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
1404         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
1406 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
1408         Respect `prog-indentation-context' in python.el
1409         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
1410         (python-indent-context, python-indent--calculate-indentation)
1411         (python-info-current-defun)
1412         (python-info-dedenter-opening-block-message)
1413         (python-info-line-ends-backslash-p)
1414         (python-info-beginning-of-backslash)
1415         (python-info-continuation-line-p): Use `prog-widen'.
1416         (python-indent--calculate-indentation)
1417         (python-indent--calculate-levels)
1418         (python-indent-calculate-indentation): Use `prog-first-column'.
1419         (python-indent--calculate-levels): Simplify.
1420         Ignore also initial empty lines for syntax calculation.
1421         * lisp/progmodes/python.el (python-indent-context): Return
1422         :no-indent for first non-empty line, not just in line 1.
1423         * test/automated/python-tests.el (python-indent-base-case)
1424         (python-indent-inside-paren-1, python-indent-inside-paren-2)
1425         (python-indent-inside-paren-3, python-indent-inside-paren-4)
1426         (python-indent-inside-paren-5, python-indent-inside-paren-6)
1427         (python-indent-after-backslash-1)
1428         (python-indent-after-backslash-2)
1429         (python-indent-after-backslash-3)
1430         (python-indent-after-backslash-4, python-indent-inside-string-1):
1431         Expect :no-indent for first non-empty line.
1433 2015-07-04  Daniel Colascione  <dancol@dancol.org>
1435         Factor isearch word description into new function
1436         * lisp/isearch.el (isearch--describe-word-mode): New function.
1437         (isearch-message-prefix, isearch-query-replace): Use it.
1439 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
1441         Fix mouse pointer on w32 when a menu is active
1442         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
1443         shape while a menu is in use.  This started happening since we now
1444         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
1446 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
1448         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
1449         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
1450         parameter.  (Bug#17344)
1452         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
1453         * lisp/progmodes/compile.el (compilation-set-window): Take
1454         `window-fringes' from argument window.  (Bug#20829)
1456 2015-07-03  Glenn Morris  <rgm@gnu.org>
1458         Update eieio tests for recent eieio-core change.
1459         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
1460         * test/automated/eieio-tests.el
1461         (eieio-test-32-slot-attribute-override-2):
1462         Replace the deleted eieio--class-v with cl--find-class.
1464 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
1466         Fix some issues with `window-divider-mode'
1467         * lisp/frame.el (window-divider-default-places): New option.
1468         (window-divider-mode): Remove option.
1469         (window-divider-mode): Make it a "regular" minor mode.
1470         (window-divider-width-valid-p): Drop frame- prefix.
1471         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
1472         prefix.  Handle `window-divider-default-places'.
1473         (frame--window-divider-mode-set-and-apply): Remove.
1474         (window-divider-default-bottom-width)
1475         (window-divider-default-right-width): Drop :group entries.
1476         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
1477         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1478         (menu-bar-no-window-divider): Set `window-divider-default-places'
1479         and call `window-divider-mode'.
1480         * doc/emacs/frames.texi (Window Dividers): Document
1481         `window-divider-default-places'.
1483 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
1485         Add cross references in documentation
1486         * doc/emacs/display.texi (Displaying Boundaries):
1487         * doc/emacs/search.texi (Word Search): Add cross references.
1489 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1491         -batch should not affect ‘’ -> `' display
1492         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
1493         -batch (Bug#20926).
1495 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
1497         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
1498         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
1499           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
1500         Use cl--find-class instead.
1502         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
1504 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
1506         Some further fixes in Change Window node.  (Bug#20183)
1507         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
1508         by "resizing" in section title.  Add some concept indices.
1509         Suggested by N. Jackson (Bug#20183).
1511         Reference window dividers in Change Window section.
1512         * doc/emacs/windows.texi (Change Window): Reference window
1513         dividers.
1515         Document new `window-divider-mode'.
1516         * lisp/frame.el (window-divider-mode): Fix doc-string.
1517         * doc/emacs/frames.texi (Window Dividers): New section.
1519         Improve accessibility of window dividers.  (Bug#20183)
1520         * lisp/faces.el (window-divider)
1521         (window-divider-first-pixel, window-divider-last-pixel): Change
1522         membership from `frames' to `window-divider' customization group.
1523         * lisp/frame.el (window-divider): New customization group.
1524         (window-divider-mode): New minor mode.
1525         (window-divider-default-bottom-width)
1526         (window-divider-default-right-width): New options.
1527         (frame--window-divider-previous-mode): New variable.
1528         (frame-window-divider-width-valid-p)
1529         (frame--window-divider-mode-apply)
1530         (frame--window-divider-mode-set-and-apply): New functions.
1531         * lisp/menu-bar.el (menu-bar-options-save): Save
1532         window-divider-mode settings.
1533         (menu-bar-window-divider-customize)
1534         (menu-bar-bottom-and-right-window-divider)
1535         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1536         (menu-bar-no-window-divider): New functions.
1537         (menu-bar-showhide-window-divider-menu): New variable.
1538         (menu-bar-showhide-menu): Show/hide window divider menu.
1539         * lisp/mouse.el (mouse-split-window-vertically)
1540         (mouse-split-window-horizontally): Replace `error' by
1541         `user-error'.  Bind `window-combination-resize' to nil.
1542         (top-level): Add/reorder mouse key bindings on mode- and
1543         vertical-line.
1545 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1547         Don't display ‘’ as `' under X in en_GB
1548         The curved quote setup code invokes (char-displayable-p ?‘),
1549         but this isn’t reliable until after the X frame replaces the
1550         terminal frame (Bug#20926).
1551         * lisp/international/mule-cmds.el (set-locale-environment):
1552         Move curved quote setup code from here ...
1553         * lisp/startup.el (command-line): ... to here, after creating
1554         the X frame.
1556 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
1558         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
1560         Add argument to reverse the meaning of ido-restrict-to-matches
1561         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
1562         to reverse the meaning (Bug#15631).
1564 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
1566         Be more tolerant to fonts named "Foobar-12"
1567         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
1568         don't barf; instead, request a new fontset to be generated.  This
1569         avoids unnecessarily rejecting fonts named against XLFD rules.  See
1570         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
1571         for the description of the original problem.
1572         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
1573         by a hyphen in a font's name.
1575         Fix value of posn-at-pont in R2L lines
1576         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
1577         coordinate of -1, for a newline in a right-to-left line that
1578         overflowed into the left fringe.
1580 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1582         (cl--copy-slot-descriptor): Copy the `props' alist as well
1583         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
1584         Rename from cl--copy-slot-descriptor.
1585         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
1587 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1589         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
1590         (xterm-query-timeout): New var.
1591         (xterm--query): Use it.  Fallback on async method if we timeout before
1592         getting the first byte of the reply (bug#12354).
1594 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1596         Spelling fixes
1598 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1600         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
1602 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1604         In strings, prefer plain ` and ' to \` and \'
1605         * lisp/allout.el (allout-insert-listified):
1606         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
1607         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
1608         (ls-lisp-string-lessp):
1609         * lisp/menu-bar.el (menu-bar-open):
1610         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
1611         * lisp/progmodes/compile.el (compile):
1612         * lisp/progmodes/etags.el (tags-loop-scan):
1613         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
1614         * lisp/subr.el (posn-actual-col-row):
1615         * lisp/term/pc-win.el (x-list-fonts):
1616         * lisp/textmodes/texinfmt.el (texinfmt-version):
1617         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
1618         * lisp/time.el (display-time-world-list):
1619         * lisp/tmm.el (tmm-menubar):
1620         * src/buffer.c (syms_of_buffer):
1621         * src/fileio.c (syms_of_fileio):
1622         Omit unnecessary and confusing backslash before quote.
1623         * lisp/erc/erc.el (erc-cmd-LASTLOG):
1624         * lisp/progmodes/flymake.el (flymake-fix-file-name):
1625         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
1626         Fix string that was intended to escape a backslash and not a quote.
1628 2015-06-30  Glenn Morris  <rgm@gnu.org>
1630         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
1632         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
1633         Replace hard-coded lists with wildcard + filter-out.
1635         * configure.ac (system-configuration-features): Add X11, NS.
1637         Improve reproducibility of generated loaddefs file.
1638         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1639         Make the return value the modtime of the input file (if no autoloads).
1640         (update-directory-autoloads): In the "no autoloads" section,
1641         use "most recent modtime" rather than "current time".
1643 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1645         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
1646         (Bug#20930)
1648 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
1650         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
1652         Add seq-min and seq-max
1653         Bump version number.
1654         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
1655         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
1657 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1659         Make sure sleep-for always delays for as long as it's told
1660         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
1661         a loop, to ensure we always wait exactly the required amount of
1662         time.  (Bug#15990)
1664 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1666         Fix pointer signedness glitch
1667         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
1669 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1671         Don't block changes in mouse pointer inside 'track-mouse'
1672         * etc/NEWS:
1673         * doc/lispref/frames.texi (Mouse Tracking): Document the special
1674         effect of setting 'track-mouse' to 'dragging'.
1675         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
1676         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
1677         * lisp/mouse-drag.el (mouse-drag-throw):
1678         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
1679         to avoid changes in the shape of the mouse pointer.
1680         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
1681         pointer shape when do_mouse_tracking has the value of 'dragging',
1682         not just any non-nil value.  (Bug#20934)
1683         (syms_of_xdisp): DEFSYM 'dragging'.
1685 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1687         * lisp/isearch.el (isearch-toggle-word): Fix toggle
1689         * lisp/emacs-lisp/package.el (package-compute-transaction):
1690         Don't assume version sorting.
1692         * lisp/emacs-lisp/package.el (package--save-selected-packages):
1693         Don't save before init time, to avoid overwriting configurations.
1694         (Bug#20855)
1696 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1698         Add cross references.
1699         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
1700         references.
1702 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
1704         cfengine.el: update for the upcoming CFEngine 3.7 release
1705         Update for the upcoming CFEngine 3.7 release: support macros and
1706         quoted context strings; reformat JSON; indent promise attributes 2
1707         units by default; give function parameter descriptions in the eldoc
1708         glue.
1709         * cfengine.el: Update version and docs and fix name.  Autoload
1710         `json-pretty-print'.  Support new features in 3.7.
1711         (cfengine-parameters-indent): Set default promise attribute indent to
1712         2 more than the promise itself.
1713         (cfengine3-macro-regex): New variable to match the new macro syntax.
1714         (cfengine3-font-lock-keywords): Use it to highlight macros.
1715         (cfengine3-indent-line): Use it to indent macros to column 0.
1716         (cfengine3-class-selector-regex): Update for the new quoted strings
1717         format.
1718         (cfengine3-reformat-json-string): New function to reformat a JSON
1719         string using `json-pretty-print'.
1720         (cfengine3-format-function-docstring): Use function parameter
1721         description if it's provided by the cf-promises syntax dump.
1723 2015-06-29  Michael R. Mauger  <michael@mauger.com>
1725         Cygwin emacsclient handles w32 file names
1727 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
1729         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
1731 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
1733         * doc/lispref/text.texi (Sticky Properties): Improve wording.
1734         (Bug#20924)
1736         Allow font names that end in "-NN", where NN is a number
1737         * src/font.c (font_load_for_lface): If the font-spec didn't match
1738         any available fonts, try again without interpreting trailing "-NN"
1739         as the font size.  For the description of the original problem, see
1740         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
1742         .gdbinit followup to changes in !USE_LSB_TAG
1743         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
1744         !USE_LSB_TAG, as Emacs no longer does.
1746 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
1748         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
1749         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
1751 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1753         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1754         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
1756 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1758         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
1760         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
1762 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1764         apropos-library quoting fix
1765         * lisp/apropos.el (apropos-library): Quote library consistently
1766         with the rest of the quoting used by apropos.
1768         Clarify interpreter-mode-alist doc
1769         * lisp/files.el (interpreter-mode-alist):
1770         Reword to avoid confusing quoting that wasn't working anyway.
1772 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
1774         Sync with Tramp 2.2.12
1775         * doc/misc/trampver.texi:
1776         * lisp/net/trampver.el: Update release number.
1777         * test/automated/tramp-tests.el (tramp-test13-make-directory):
1778         Fix cleanup.
1780 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
1782         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
1783         (bug#20913)
1785 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
1787         Bind grep-highlight-matches around the rgrep call
1788         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
1789         around the rgrep call (bug#20728).
1791         Put "--color" before the other options in grep-command
1792         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
1793         before the other options in grep-command (bug#20912).
1795         Add --color Grep option to the command dynamically
1796         * lisp/progmodes/grep.el (grep-template, grep-find-template):
1797         Update the description for <C>.  (Bug#20728)
1798         (grep-compute-defaults): Don't add the --color option to
1799         grep-options.  Only add it to grep-command.
1800         (grep-expand-keywords): Expand the env value opts into <C>.
1801         (grep-expand-template): Replace cf in the env with the opts list,
1802         that can include -i and --color.
1803         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
1804         "--color=always" from the template, because we don't have to.
1806 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
1808         cl-extra fixes for most-negative-fixnum
1809         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
1810         Don't mishandle an argument equal to most-negative-fixnum,
1811         whose absolute value equals itself.
1812         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
1814         Initialize cl--gensym-counter to 0
1815         Previously it was initialized to a random value, which made it
1816         harder to reproduce earlier Emacs runs.  The need for a random
1817         value went away when Emacs introduced and used the #: syntax for
1818         uninterned symbols (Bug#20862).
1819         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
1820         Document that cl--gensym-counter now starts with 0.
1821         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
1822         (cl--random-time): Move to near only remaining use.
1823         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
1825         Improve docstring for macroexp-let2
1826         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
1827         Improve as per suggestion by RMS in:
1828         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
1829         Also, rename args to match new doc string.
1831 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
1833         Fix VC test suite on MS-Windows
1834         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
1835         always starts with 3 slashes after the colon.
1836         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
1837         'w32-application-type' to invoke CVS on MS-Windows with properly
1838         formatted CVSROOT directory name.
1840         Add a new function w32-application-type
1841         * src/w32proc.c (Fw32_application_type): New function.
1843         Avoid error in TLS connections due to incorrect format
1844         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
1845         the call to 'error', instead of the unsupported %u.  Reported by
1846         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
1848 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1850         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
1852 2015-06-26  Leo Liu  <sdl.web@gmail.com>
1854         Fix indentation for with-output-to-string
1855         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
1856           `with-output-to-string' in elisp.
1857           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
1858           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
1860 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
1862         Minor corrections in ELisp manual
1863         * doc/lispref/nonascii.texi (Character Properties): Correct
1864         inaccuracies in description of values of the Unicode properties.
1866         Fix invisible mouse pointers on Windows.
1867         * src/w32fns.c: Include windowsx.h.
1868         (w32_wnd_proc): If the mouse moved and the mouse pointer is
1869         invisible, make it visible again even when the main (Lisp)
1870         thread is busy.
1871         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
1872         garbaging the frame have the input thread call SetCursor.
1874 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
1876         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
1877         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
1878         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
1879         * src/w32term.c (w32_hide_hourglass): Handle
1880         f->pointer_invisible.
1881         (w32_toggle_invisible_pointer): New function.
1882         (w32_create_terminal): Add w32_toggle_invisible_pointer as
1883         toggle_invisible_pointer_hook for this terminal.
1885 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
1887         Doc fix for deletion commands
1888         'delete-char' does not respect the value of 'delete-active-region'.
1889         * doc/emacs/killing.texi (Deletion):
1890         Fix documentation for some single-char deletion commands.
1892         * doc/emacs/help.texi (Apropos):
1893         Improve documentation of 'apropos-do-all'.
1895         * doc/emacs/help.texi (Help Summary):
1896         Improve documentation of 'describe-mode'.
1898 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1900         Fix submake dependency bug with .h files
1901         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
1902         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
1903         before the submake in $(libsrc) would spin off a subsubmake
1904         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
1906 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1908         * lisp/character-fold.el (character-fold-table): Reuse `table'
1910 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1912         Translate undisplayable ‘ to `
1913         * doc/lispref/help.texi (Keys in Documentation):
1914         * lisp/international/mule-cmds.el (set-locale-environment):
1915         * lisp/term/w32console.el (terminal-init-w32console):
1916         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
1917         If ‘ is not displayable, transliterate it to `, not to '.  See:
1918         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
1920         Fix C99 incompatibilities in Cairo code
1921         * src/image.c (xpm_load) [USE_CAIRO]:
1922         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
1923         Fix pointer signedness problem.
1925 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
1927         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
1928         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
1929           `with-output-to-string' should have the same indent as `progn'.
1930           This is in line with the declaration of `with-output-to-string'.
1932 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1934         Get ‘./configure; make -C src emacs’ to work
1935         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
1936         * lib-src/Makefile.in (../lib/libgnu.a):
1937         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
1939 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1941         Fix GC bugs --with-wide-int and Qnil == 0
1942         Use the same alignment for the !USE_LSB_TAG case as for the
1943         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
1944         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
1945         once we changed the representation of symbols so that Qnil == 0.
1946         Problem reported by Eli Zaretskii (Bug#20862).
1947         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
1948         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
1949         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
1950         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
1951         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
1952         This optimization in the !USE_LSB_TAG case is no longer valid when
1953         symbols are represented via offsets.  Change the only use to
1954         assume that pointers might hide in objects.
1955         * src/lisp.h (alignas) [!USE_LSB_TAG]:
1956         Require support in this case, too.
1957         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
1958         This is OK, because the !USE_LSB_TAG case now applies only when
1959         Lisp_Object is wider than void *, so there's no longer any need
1960         to shift the offset.  Not shifting the offset means that
1961         symbol representations have the same alignment as pointers,
1962         which the GC assumes.
1964 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
1966         * doc/lispintro/emacs-lisp-intro.texi (Data types):
1967         Improve documentation of 'substring'.
1969 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1971         * lisp/character-fold.el (character-fold-table): Fix table generation
1973 2015-06-24  Glenn Morris  <rgm@gnu.org>
1975         * nextstep/Makefile.in (all): Make it the first target.
1976         (../src/emacs${EXEEXT}): Add rule for making it.
1978 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1980         * etc/NEWS: Fix mention to old function name
1982         * lisp/character-fold.el: New file (Bug#20887)
1983         (character-fold-to-regexp): New function.
1984         * lisp/replace.el (replace-search): Check value of
1985         `character-fold-search'.
1986         * lisp/isearch.el: Move character-folding code to
1987         character-fold.el
1988         (isearch-toggle-character-fold): New command.
1989         (isearch-mode-map): Bind it to "\M-sf".
1990         (isearch-mode): Check value of `character-fold-search'.
1992 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1994         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
1995         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
1996         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
1998         * lisp/progmodes/xref.el: Avoid init-args in oref.
1999         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
2000         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
2002 2015-06-24  Glenn Morris  <rgm@gnu.org>
2004         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
2006 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2008         * lisp/gnus/nnmaildir.el: Silence lexical warnings
2009         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
2010         functional style.
2011         (nnmaildir--update-nov): Remove unused var `numdir'.
2012         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
2013         (nnmaildir-request-group, nnmaildir-request-create-group)
2014         (nnmaildir-request-post, nnmaildir-request-move-article)
2015         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
2016         (nnmaildir-get-new-mail, nnmaildir-group-alist)
2017         (nnmaildir-active-file): Declare.
2018         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
2019         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
2020         `mark', `end', `new-mark', and `mark-sym'.
2021         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
2022         `nlist2'.
2023         (nnmaildir-request-expire-articles):
2024         Remove unused vars `article', `stop' and `nlist2'.
2025         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
2026         `end'.  Use nnmaildir--article when dyn-binding is needed.
2027         Give the value directly in the `let' for `del-mark', `del-action',
2028         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
2029         (nnmaildir-close-server): Declare those local vars that need to be
2030         dyn-bound.
2032 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2034         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
2036         Port selection info fix to clang
2037         * src/keyboard.h (kbd_buffer_store_event_hold):
2038         Don't assume C11 semantics for alignof (Bug#20756).
2040         Fix bug that munged selection info
2041         On some optimizing C compilers, copying a structure did not
2042         copy the padding bytes between elements, and the type punning
2043         between struct input_data and struct selection_input_data did
2044         not work.  Change the C code to use a proper union type instead.
2045         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2046         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2047         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2048         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2049         (mark_kboards):
2050         Use union buffered_input_event, not struct input_event.
2051         (clear_event, deliver_input_available_signal, process_special_events):
2052         Remove unnecessary forward decls.
2053         (kbd_buffer_store_buffered_event): New function, mostly just the
2054         old kbd_buffer_store_event_hold, except its argument is of type
2055         union buffered_input_event, not struct input_event.
2056         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2057         not needed otherwise.  Argument is now of type
2058         struct selection_input_event *, not struct input_event *.
2059         All callers changed.
2060         (clear_event): Arg is now of type union buffered_input_event *,
2061         not struct input_event *.  All callers changed.
2062         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2063         (union buffered_input_event): New type.
2064         (kbd_buffer_store_event_hold): Now an inline function,
2065         defined here.
2066         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2067         (struct input_event): Use it.
2068         * src/xselect.c (struct selection_event_queue):
2069         Make elements be of type struct selection_input_event,
2070         not struct input_event.
2071         (selection_input_event_equal): New static function.
2072         (x_queue_event): Use it.
2073         (x_queue_event, x_decline_selection_request)
2074         (x_selection_current_request, x_reply_selection_request)
2075         (x_handle_selection_request, x_handle_selection_clear)
2076         (x_handle_selection_event): Use struct selection_input_event,
2077         not struct input_event.  All callers changed.
2078         (x_convert_selection): Omit unused first arg.  All callers changed.
2079         (Fx_disown_selection_internal): Omit unnecessary union.
2080         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2081         rather than rolling our own equivalent.  Prefer sie.kind when
2082         setting up that kind of structure.
2083         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2084         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2085         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2086         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2087         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2088         (SELECTION_EVENT_TIME, x_handle_selection_event):
2089         Arg is now of type struct selection_input_event *)
2090         not struct input_event *.  All callers changed.
2092 2015-06-23  Glenn Morris  <rgm@gnu.org>
2094         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2096 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2098         * lisp/isearch.el: Fold many unicode characters to ASCII
2099         (isearch-character-fold-search, isearch--character-fold-extras)
2100         (isearch--character-fold-table): New variable.
2101         (isearch--character-folded-regexp): New function.
2102         (isearch-search-fun-default): Use them.
2103         * lisp/replace.el (replace-character-fold): New variable.
2104         (replace-search): Use it.
2105         * etc/NEWS: Document it.
2107 2015-06-23  Glenn Morris  <rgm@gnu.org>
2109         Check for an input event before showing a dialog box.  (Bug#20813)
2110         * lisp/subr.el (y-or-n-p):
2111         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2112         as last-nonmenu-event.
2114 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2116         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2117         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2118         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2119         switch-to-visible-buffer independent of the windows history.
2121 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2123         * src/keyboard.c (last_timer_event): Remove unused var.
2125 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2127         * test/automated/package-test.el (package-test-update-listing):
2128         Fix test.
2130 2015-06-23  Glenn Morris  <rgm@gnu.org>
2132         Revert 2014-06-25 nextstep/Makefile change.
2133         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2134         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2135         not as an order-only prerequisite.
2137         * configure.ac (--with-ns): Enable by default on OS X.
2139 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2141         Fix shell-for/backward-command to exclude spaces
2142         * lisp/shell.el (shell-forward-command, shell-backward-command):
2143           Handle the 'move case from re-search-forward/backward.
2144           fixes debbugs:20873
2146 2015-06-22  Juri Linkov  <juri@linkov.net>
2148         * lisp/replace.el (query-replace-read-from): Add separator to
2149         the local binding of text-property-default-nonsticky.  (Bug#20690)
2151         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2152         (Bug#20785)
2154 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2156         Enable CPU profiling on Cygwin
2157         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2158         change that undefined this.
2159         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2160         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2161           Cygwin.
2163         Improve diagnostics of profiler-cpu-start
2164         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2165         return -1 if the sampling interval is invalid.
2166         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2167         fails.  (Bug#20843)
2169 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2171         * lisp/emacs-lisp/package.el: Exclude packages by name
2172         (package-hidden-regexps): New variable.
2173         (package-menu--refresh): Use it.
2174         (package-menu-hide-package): New command.
2176         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2178 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2180         Fix debug-timer-check on systems without HAVE_TIMERFD
2181         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2182         the expired timers, since wait_reading_process_output doesn't.
2183         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2185         Fix RCS crashes in vc-test
2186         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2187         ports of 'ci' on MS-Windows by always passing the -t- switch.
2189 2015-06-22  Glenn Morris  <rgm@gnu.org>
2191         * doc/emacs/package.texi (Packages):
2192         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2194         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2196 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2198         Port tests to help-quote-translation
2199         * test/automated/ert-x-tests.el (ert-test-describe-test):
2200         * test/automated/package-test.el (package-test-describe-package)
2201         (package-test-signed): Allow straight quotes, too.
2203 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2205         Make find-function-on-key use the current window
2206         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2207         Extract from `find-function-on-key', add a second argument.
2208         (find-function-on-key): Use it (bug#19679).
2209         (find-function-on-key-other-window)
2210         (find-function-on-key-other-frame): New commands.
2212 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2214         Revert "Define `map-elt' as a generalized variable"
2215         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2217 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2219         Drop support for CPU profiling on Cygwin
2220         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2221         (Bug#20843)
2223 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2225         Fix some “nested” quoting confusion in doc strings
2226         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2227         * lisp/kermit.el (kermit-clean-on):
2228         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2229         * src/keyboard.c (Frecursive_edit):
2230         Use curved quotes when quoting text containing apostrophe,
2231         so that the apostrophe isn't curved in the output.
2233 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2235         Define `map-elt' as a generalized variable
2236         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2237         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2238         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2239         `setf' with `map-elt'.
2240         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2242 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2244         Improve error handling in tramp-adb.el
2245         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2246         Improve error handling.
2248 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2250         Reuse `alist-get' in map.el
2251         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2252         elements.
2254 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2256         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2257         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2258         Allow the warning to begin on the 3rd, not only 2nd line, which
2259         happens if temporary-file-directory has a very long name.
2261         Expect 2 icalendar tests to fail on MS-Windows
2262         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
2263         (icalendar-real-world): Make them expected failures on MS-Windows.
2265 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2267         Improve port of settings UI to older displays
2268         * lisp/cus-start.el (standard): Don't assume curved quotes are
2269         easily distinguishable when users are tinkering with a setting
2270         that affects how curved quotes are generated.
2272         Fix quoting in electric-quote-mode doc string
2273         * lisp/electric.el (electric-quote-mode): Fix quoting.
2274         This is a fallout from the recent change introducing
2275         ‘help-quote-translation’.
2277         Spelling fix
2279         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
2281         * src/doc.c (syms_of_doc): Remove unused symbols.
2283 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
2285         In ‘window-state-put’ undedicate target window.  (Bug#20848)
2286         * lisp/window.el (window-state-put): Undedicate target window
2287         before putting STATE into it.  (Bug#20848)
2289 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2291         Merge from origin/emacs-24
2292         a5e6f33 Fixes: debbugs:20832
2293         b9f02cf Fixes: debbugs:20832
2295 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2297         Fix file-in-directory-p when the directory is UNC
2298         * lisp/files.el (file-in-directory-p): Support files and
2299         directories that begin with "//".  (Bug#20844)
2301 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
2303         (Bug#20832)
2304         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
2305         in the minibuffer.
2307 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
2309         (Bug#20832)
2310         * lisp/calendar/todo-mode.el (todo-show): Signal an error
2311         if buffer for adding new todo file is empty but modified.
2313 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2315         (filepos-to-bufferpos): Further tweaks to the utf-16 code
2316         * lisp/international/mule-util.el (filepos-to-bufferpos):
2317         Fix typo.  Move non-exact check to the utf-16 branch (the only one
2318         affected).  Don't use byte-to-position for the utf-16 case.
2320 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2322         Minor fixes in filepos-to-bufferpos
2323         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
2324         test for utf-8-emacs.  Exempt single-byte encodings from the
2325         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
2326         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
2327         UTF-16 encoded files for CR-LF EOLs.
2329 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2331         Improve the optional translation of quotes
2332         Fix several problems with the recently-added custom variable
2333         help-quote-translation where the code would quote inconsistently
2334         in help buffers.  Add support for quoting 'like this', which
2335         is common in other GNU programs in ASCII environments.  Change
2336         help-quote-translation to use more mnemonic values: values are now the
2337         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
2338         traditional Emacs help-buffer quoting style `like this'.  Change the
2339         default behavior of substitute-command-keys to match what's done in
2340         set-locale-environment, i.e., quote ‘like this’ if displayable,
2341         'like this' otherwise.
2342         * doc/lispref/help.texi (Keys in Documentation): Document
2343         new behavior of substitute-command-keys, and document
2344         help-quote-translation.
2345         * doc/lispref/tips.texi (Documentation Tips):
2346         Mention the effect of help-quote-translation.
2347         * etc/NEWS: Mention new behavior of substitute-command-keys,
2348         and merge help-quote-translation news into it.
2349         When talking about doc strings, mention new ways to type quotes.
2350         * lisp/cedet/mode-local.el (overload-docstring-extension):
2351         Revert my recent change to this function, which shouldn't be
2352         needed as the result is a doc string.
2353         * lisp/cedet/mode-local.el (mode-local-print-binding)
2354         (mode-local-describe-bindings-2):
2355         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2356         * lisp/cus-theme.el (describe-theme-1):
2357         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2358         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2359         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2360         (eieio-help-constructor):
2361         * lisp/emacs-lisp/package.el (describe-package-1):
2362         * lisp/faces.el (describe-face):
2363         * lisp/help-fns.el (help-fns--key-bindings)
2364         (help-fns--compiler-macro, help-fns--parent-mode)
2365         (help-fns--obsolete, help-fns--interactive-only)
2366         (describe-function-1, describe-variable):
2367         * lisp/help.el (describe-mode):
2368         Use substitute-command-keys to ensure a more-consistent quoting
2369         style in help buffers.
2370         * lisp/cus-start.el (standard):
2371         Document new help-quote-translation behavior.
2372         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
2373         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
2374         (help-xref-url-regexp):
2375         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2376         * lisp/wid-edit.el (widget-documentation-link-regexp):
2377         Also match 'foo', in case we're in a help buffer generated when
2378         help-quote-translation is ?'.
2379         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
2380         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
2381         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
2382         (Fsubstitute_command_keys): Document and implement new behavior.
2383         (Vhelp_quote_translation): Document new behavior.
2385 2015-06-18  Glenn Morris  <rgm@gnu.org>
2387         * lisp/cus-start.el (help-quote-translation): Add :version.
2389         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
2391 2015-06-18  Alan Mackenzie  <acm@muc.de>
2393         Make translation of quotes to curly in doc strings optional.
2394         src/doc.c (traditional, prefer-unicode): new symbols.
2395         (help-quote-translation): new variable.
2396         (Fsubstitute_command_keys): make translation of quotes dependent on
2397         `help-quote-translation'; also translate curly quotes back to ASCII
2398         ones.
2399         lisp/cus-start.el (top-level): Add a customization entry for
2400         `help-quote-translation'.
2402 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2404         * lisp/emacs-lisp/package.el: Don't always propagate async errors
2405         (package--with-work-buffer-async): Only propagate the error if the
2406         callback returns non-nil.
2407         (package--download-one-archive): Return nil on the signature
2408         checking callback if we accept unsigned.
2409         (package--download-and-read-archives): Return non-nil on the
2410         archive download callback.
2412 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
2414         Fix last fix"
2416         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
2417         * src/nsfns.m (Fx_create_frame):
2418         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
2419         image_cache_refcount before first x_default_parameter call.
2421 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2423         Improve and extend filepos-to-bufferpos
2424         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2425         Don't barf if F returns nil for some argument.
2426         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
2427         that every encoding of type 'charset' is single-byte.
2429 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2431         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
2432         Properly delete packages.  (Bug#20836)
2434 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2436         Update data files from just-released Unicode 8.0
2437         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
2438         status.
2439         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
2440         * admin/unidata/BidiMirroring.txt:
2441         * admin/unidata/BidiBrackets.txt:
2442         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
2444 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
2446         Document curved quotes a bit better
2447         * doc/emacs/basic.texi (Inserting Text):
2448         Mention C-x 8.  Change example to use curved quote rather
2449         than infinity, as this lets us give more ways to do it.
2450         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
2451         and quotation marks.
2452         * doc/emacs/text.texi (Quotation Marks):
2453         * doc/lispref/tips.texi (Documentation Tips):
2454         Add "curly quotes" and "curved quotes" to the index.
2455         * doc/emacs/text.texi (Quotation Marks):
2456         Give the C-x 8 shorthands for curved quotes.
2457         Cross-reference to "Quotation Marks".
2459 2015-06-17  Daiki Ueno  <ueno@gnu.org>
2461         Add pinentry.el for better GnuPG integration
2462         * lisp/pinentry.el: New file.
2463         * etc/NEWS: Add entry about pinentry.el.
2464         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
2465         (Bug#20550)
2467 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2469         * lisp/emacs-lisp/package.el: Slightly better error reporting.
2471 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2473         (define-minor-mode): Use setq-default for :global minor modes
2474         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
2475         Use setq-default for :global minor modes (bug#20712).
2477 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
2479         Avoid infloop in redisplay with tall images
2480         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
2481         down near ZV.  (Bug#20808)
2482         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
2483         instead of CHARPOS.
2485 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2487         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2488         Fix error reporting.
2490         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
2492         * lisp/emacs-lisp/package.el: Revert buffer after any operation
2493         Call `package-menu--post-refresh' after any operation that changes
2494         the package database (`package-install' and `package-delete').  To
2495         avoid performance issues in large transactions, these functions
2496         add `post-refresh' to `post-command-hook' instead of calling it
2497         immediately.
2498         (package-menu--mark-or-notify-upgrades): New function.
2499         (list-packages): Add it to `package--post-download-archives-hook'.
2500         (package-menu--post-refresh): Lose the upgrade-checking code, add
2501         code to remove itself from `post-command-hook'.
2502         (package-install, package-delete): Add it to `post-command-hook'.
2503         (package-menu-execute): Don't call `package-menu--post-refresh'.
2505 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
2507         Add missing function xref-location-group for elisp-mode.
2508         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
2510 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
2512         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
2513         The behavior now matches the description in the manual.  (Bug#20783)
2515 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
2517         Update tutorials/TUTORIAL.cn
2518         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
2520 2015-06-17  Glenn Morris  <rgm@gnu.org>
2522         Generate char-script-table from Unicode source.  (Bug#20789)
2523         * admin/unidata/Makefile.in (AWK): New, set by configure.
2524         (all): Add charscript.el.
2525         (blocks): New variable.
2526         (charscript.el, ${unidir}/charscript.el): New targets.
2527         (extraclean): Also remove generated charscript.el.
2528         * admin/unidata/blocks.awk: New script.
2529         * admin/unidata/Blocks.txt: New data file, from unicode.org.
2530         * lisp/international/characters.el: Load charscript.
2531         * src/Makefile.in (charscript): New variable.
2532         (${charscript}): New target.
2533         (${lispintdir}/characters.elc): Depend on charscript.elc.
2534         (temacs$(EXEEXT)): Depend on charscript.
2536         * lisp/international/characters.el (char-script-table): Tweak
2537         some ranges to better match the source.  (Bug#20789#17)
2539         Remove "no-byte-compile: t" from a few files.
2540         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
2541         * lisp/obsolete/patcomp.el: No reason not to compile these.
2543 2015-06-16  Glenn Morris  <rgm@gnu.org>
2545         Fix some typos in copied Unicode data.  (Bug#20789)
2546         * lisp/international/characters.el (char-script-table):
2547         * lisp/international/fontset.el (script-representative-chars)
2548         (setup-default-fontset): Fix typos.
2550         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
2551         Don't print filename twice (it's in the prefix now).
2553         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
2554         No longer needed.
2556         Address a compilation warning.
2557         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
2558         Replace 't' with '_' in pcase.
2560         Address some check-declare warnings.
2561         * lisp/simple.el (tabulated-list-print):
2562         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
2563         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
2564         (ns-get-selection): Update declarations.
2566         Address some compilation warnings.
2567         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
2568         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
2569         Replace 't' with '_' in pcase.
2571         Address some compilation warnings.
2572         * lisp/face-remap.el (text-scale-adjust):
2573         * lisp/menu-bar.el (popup-menu-normalize-position):
2574         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
2575         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
2576         * lisp/emacs-lisp/generator.el (cps--transform-1):
2577         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
2578         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
2579         * lisp/progmodes/octave.el (octave-goto-function-definition)
2580         (octave-find-definition-default-filename):
2581         Replace 't' with '_' in pcase.
2583         * lisp/emacs-lisp/pcase.el (pcase--u1):
2584         Paper-over today's bootstrap failure.
2586 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
2588         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
2590         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
2592         Better confirmation message in `find-alternate-file' (Bug#20830)
2593         * lisp/files.el (find-alternate-file'): Improve the confirmation
2594         message to show the buffer name.
2596         Better docstring for null. (Bug#20815)
2597         * src/data.c (null): Improves the docstring, saying what null returns
2598         when OBJECT is non-nil.
2600 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2602         * lisp/net/newst-treeview.el: Use lexical-binding.
2604         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
2605         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2606         New auxiliary function, extracted from filepos-to-bufferpos.
2607         Make sure it terminates.
2608         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
2609         Add support for the `exact' quality.
2611 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
2613         Identify feeds in newsticker treeview with :nt-feed property
2614         * lisp/net/newst-treeview.el:
2615         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
2617 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2619         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
2620         (pcase--self-quoting-p): Floats aren't self-quoting.
2621         (pcase): Tweak docstring.
2622         (pcase--u1): Deprecate the t pattern.  Improve error detection for
2623         the nil pattern.
2624         (\`): Tweak docstring.  Signal an error for unrecognized cases.
2625         (bug#20784)
2627 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
2629         Fix infloop in filepos-to-bufferpos
2630         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
2631         offset calculation, and make it conditional on the eol-type of the
2632         file's encoding.  (Bug#20825)
2634 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
2636         Fix handling of image cache refcounts.  (Bug#20802)
2637         This backports Eli Zaretskii's solution of this problem for W32
2638         to X and NS.
2639         * src/nsfns.m (image_cache_refcount): Define unconditionally.
2640         (unwind_create_frame): If the image cache's reference count
2641         hasn't been updated yet, do that now.
2642         (Fx_create_frame): Set image_cache_refcount unconditionally.
2643         * src/xfns.c (image_cache_refcount): Define unconditionally.
2644         (unwind_create_frame): If the image cache's reference count
2645         hasn't been updated yet, do that now.
2646         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
2647         unconditionally.
2648         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
2649         X and NS.
2651 2015-06-16  Nils Ackermann  <nils@ackermath.info>
2653         Improve reftex-label-regexps default value
2654         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
2655         keyvals label regexp more strict to better cope with unbalanced
2656         brackets common in math documents.
2658 2015-06-16  Glenn Morris  <rgm@gnu.org>
2660         * doc/emacs/calendar.texi (Format of Diary File):
2661         Move "nonmarking" from here...
2662         (Displaying the Diary): ... to here.
2664         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
2665         Swap the order of these nodes.
2666         * doc/emacs/emacs.texi: Update detailed menu for the above change.
2668         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
2669         Update date of examples.
2670         (Diary, Format of Diary File): Move example from former to latter.
2671         Reduce duplication.
2673         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
2674         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
2675         Don't set no-byte-compile in the outputs.
2676         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
2678 2015-06-15  Glenn Morris  <rgm@gnu.org>
2680         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
2681         * doc/emacs/calendar.texi (Diary, Format of Diary File):
2682         Update for above diary-file change.
2683         : * etc/NEWS: Mention this.
2685         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
2686         (apply-macro-to-region-lines): Use user-error.
2688         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
2689         (pages-directory-for-addresses): Doc fixes.
2691 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
2693         * lisp/info.el: Cleanup bytepos/charpos issues
2694         * lisp/international/mule-util.el: Use lexical-binding.
2695         (filepos-to-bufferpos): New function.
2696         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
2697         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
2698         (Info-read-subfile, Info-search): Use 0-based file positions.
2700         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
2701         (perl--syntax-exp-intro-keywords): New var.
2702         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
2703         (bug#20800).
2705 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2707         Fix quoting when making derived mode docstring
2708         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2709         Nest regexp-quote inside format, not the reverse.
2710         Problem reported by Artur Malabarba in:
2711         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
2713 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
2715         Fix current-iso639-language on MS-Windows
2716         * lisp/international/mule-cmds.el (set-locale-environment):
2717         Downcase the locale name before interning it.  This is so the
2718         'current-iso639-language' on MS-Windows matches the ':lang'
2719         property of font-spec objects.
2721         Limit Symbola usage some more
2722         * lisp/international/fontset.el (setup-default-fontset): Limit
2723         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
2724         (Bug#20727)
2726 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
2728         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2730 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2732         Spelling fixes
2734 2015-06-14  Glenn Morris  <rgm@gnu.org>
2736         * lisp/version.el (emacs-repository-version-git): Demote errors.
2737         Check result is a hash.
2739 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2741         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2742         Catch errors that happen before going async.  (Bug#20809)
2744 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
2746         Another improvement of documentation of set-fontset-font
2747         * doc/lispref/display.texi (Fontsets): Say explicitly that
2748         CHARACTER can be a single codepoint.
2749         * src/fontset.c (Fset_fontset_font): Doc fix.
2751         Another improvement for symbol and punctuation characters
2752         * lisp/international/fontset.el (setup-default-fontset): Exclude
2753         from Symbola character ranges for symbols and punctuation covered
2754         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
2755         installed and where its coverage of symbols and punctuation is
2756         known to be good.  (Bug#20727)
2758 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
2760         Some generic support for multi-mode indentation.
2761                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
2762                 variable.
2763                 (prog-first-column, prog-widen): New convenience functions.
2765 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2767         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2768         Don't assume that `tabulated-list-printer' will leave point at the
2769         end of the buffer.  (Bug#20810)
2771 2015-06-13  Glenn Morris  <rgm@gnu.org>
2773         Tweaks for getting repository version; a bit more like it was for bzr.
2774         * lisp/version.el (emacs-repository-version-git)
2775         (emacs-repository--version-git-1): New functions,
2776         split from emacs-repository-get-version.
2777         (emacs-repository-get-version): Make the second argument meaningful.
2779         * lisp/startup.el (command-line-1): Inform if skipping relative
2780         file names due to deleted PWD.
2782         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
2783         when starup directory is missing.  (Bug#18851)
2784         (errno.h): Include it.
2786 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2788         Better fix for documenting `X as "`X"
2789         Fix suggested by Stefan Monnier.
2790         * lisp/help-fns.el (help-fns--signature):
2791         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
2792         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2793         Don't treat `X specially, as help-fns--signature now handles this.
2795 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
2797         Improve the default fontset when Symbola is not installed
2798         * lisp/international/fontset.el (setup-default-fontset): Only
2799         prepend Symbola and FreeMono font specs for symbols and
2800         punctuation; do not replace the default spec for them.  This
2801         should have better results when Symbola/FreeMono are not
2802         installed.  (Bug#20727)
2804         Improve documentation of ':lang' in font specs
2805         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
2806         use of the ':lang' property of the font spec.
2807         * doc/emacs/frames.texi (Fonts): Document the language names that
2808         can be in the STYLE part of XLFD.
2809         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
2810         property.
2812         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
2814         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
2816         Revert last change in fontset.el
2817         * lisp/international/fontset.el (setup-default-fontset): Revert
2818         the change "Configure Symbola font only if installed", since font
2819         search is evidently not yet set up when this function is called.
2820         (Bug#20727)
2822 2015-06-12  Glenn Morris  <rgm@gnu.org>
2824         Ensure early startup warnings are visible at the end.  (Bug#20792)
2825         * lisp/emacs-lisp/warnings.el (display-warning):
2826         If startup isn't complete, delay the warning.
2827         * lisp/startup.el (normal-top-level, command-line):
2828         Let display-warning automatically handle the needed delays.
2829         Run delayed-warnings-hook.
2831         * lisp/version.el (emacs-repository-get-version):
2832         Avoid calling external executable if possible.  (Bug#20799)
2834 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2836         Document `X as "`X", not as "(` X)"
2837         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2838         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
2840         * src/print.c (print_object): Minor simplification.
2842 2015-06-12  Glenn Morris  <rgm@gnu.org>
2844         * src/buffer.c (init_buffer): Add final newline to message.
2846 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2848         Configure Symbola font only if installed
2849         * lisp/international/fontset.el (setup-default-fontset):
2850         Don't specify the Symbola font if it's not installed.
2851         Likewise for FreeMono.  (Bug#20727)
2853 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
2855         Configure Symbola font only for symbols and punctuation
2856         * lisp/international/fontset.el (setup-default-fontset): Leave
2857         only symbols and punctuation in the fontset setup for Symbola
2858         font; remove "Greek and Coptic" and "Cyrillic Supplement".
2859         (Bug#20798)
2861 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
2863         Fix crash in fontset-info
2864         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
2865         non-nil.
2867 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2869         Port to Solaris 10 sparc + Sun C 5.13
2870         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
2871         Adjust to process.c change.
2872         * src/process.c (create_process): Declare volatile variables at
2873         top level of this function, so that they're less likely to be
2874         reused later in the function in the code executed by the vforked
2875         child.  Do not declare locals used only in the vforked child, as
2876         they might share memory with locals still live in the parent.
2877         Instead, use the same variables in the child as in the parent.
2878         This works around a subtle bug that causes a garbage collector
2879         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
2881 2015-06-12  Glenn Morris  <rgm@gnu.org>
2883         * lisp/startup.el (normal-top-level): Don't let *Messages* get
2884         a nil default-directory.
2886 2015-06-11  Glenn Morris  <rgm@gnu.org>
2888         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
2890         Some progress towards starting with PWD deleted.  (Bug#18851)
2891         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
2892         * lisp/startup.el (normal-top-level, command-line-1):
2893         * lisp/minibuffer.el (read-file-name-default):
2894         Handle default-directory being nil.
2896 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2898         Fix "not a tty" bug on Solaris 10
2899         * configure.ac (PTY_OPEN): Define to plain 'open'
2900         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
2901         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
2902         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
2903         hosts that call grantpt which does its work via a setuid subcommand
2904         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
2905         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
2906         seems relevant in that case too.
2908 2015-06-11  Juri Linkov  <juri@linkov.net>
2910         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
2911         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
2912         (Bug#20785)
2914 2015-06-11  Glenn Morris  <rgm@gnu.org>
2916         * lisp/international/characters.el (char-script-table): Fix typo.
2918 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2920         Fix quoting of help for functions with odd names
2921         While investigating Bug#20759, I discovered other quoting problems:
2922         C-h f mishandled characters like backslash and quote in function names.
2923         This fix changes the behavior so that 'C-h f pcase RET' now
2924         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
2925         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
2926         in src/lread.c's read1 function says that the backslash will be
2927         needed starting in Emacs 25, which implies that 'format' is
2928         correct and the old pcase documention was wrong to omit the backslash.
2929         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
2930         * lisp/help-fns.el (help-fns--signature):
2931         * lisp/help.el (help-add-fundoc-usage):
2932         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
2933         Use help--make-usage-docstring rather than formatting
2934         help-make-usage.
2935         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
2936         Return raw docstring.
2937         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
2938         raw docstring.  Take more care to distinguish raw from cooked dstrings.
2939         (describe-function-1): Let help-fns--signature substitute
2940         command keys.
2941         * lisp/help.el (help--docstring-quote): New function.
2942         (help-split-fundoc): Use it, to quote funny characters more
2943         systematically.
2944         (help--make-usage): Rename from help-make-usage, since this
2945         should be private.  Leave an obsolete alias for the old name.
2946         (help--make-usage-docstring): New function.
2947         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
2949 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2951         * lisp/thingatpt.el (in-string-p): Revert last change,
2952         since in-string-p is not used in thingatpt.el but only from outside.
2953         Also, use lexical binding.
2955 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
2957         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
2958         * test/automated/let-alist.el (let-alist-cons): Test it.
2960 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2962         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
2964 2015-06-10  Glenn Morris  <rgm@gnu.org>
2966         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
2968         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
2969         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
2970         * admin/gitmerge.el (gitmerge-commit-message):
2971         Exclude "skipped" messages from ChangeLog once again.
2973         Slight namespace cleanup for thingatpt.el.
2974         * lisp/thingatpt.el (thing-at-point--in-string-p)
2975         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
2976         (thing-at-point--read-from-whole-string): Rename from
2977         old versions without "thing-at-point--" prefix.
2978         Keep old versions as obsolete aliases.  Update all uses.
2980         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
2981         Move requiring of finder from here...
2982         (checkdoc-package-keywords): ... to here.
2984         Use 'user-error' in a few calendar files.
2985         * lisp/calendar/appt.el (appt-add):
2986         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
2987         (calendar-generate):
2988         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
2989         Replace 'error' with 'user-error'.
2991         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
2993         * lisp/files-x.el (add-file-local-variable):
2994         Special-case 'lexical-binding'.  (Bug#20641)
2996         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
2997         No longer autoload.
2998         * doc/misc/autotype.texi (Executables):
2999         Undocument executable-self-display.
3001         * lisp/progmodes/executable.el (executable-self-display):
3002         Use non-obsolete tail syntax.  (Bug#20779)
3003         (executable-self-display): Doc update.
3005 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3007         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
3008         (finder-known-keywords): Silence byte-compiler.
3010 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3012         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
3014         * lisp/progmodes/sh-script.el: Better handle nested quotes
3015         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
3016         (sh-font-lock-quoted-subshell): Make sure double quotes within single
3017         quotes don't mistakenly end prematurely the surrounding string.
3019         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
3021 2015-06-09  Glenn Morris  <rgm@gnu.org>
3023         * test/automated/Makefile.in (ELFILES): Sort.
3025         * Makefile.in (SUBDIR_MAKEFILES):
3026         * lwlib/Makefile.in (WARN_CFLAGS):
3027         Use built-in Make functions rather than echo+sed.
3029 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
3031         Update char-script-table
3032         * lisp/international/characters.el (char-script-table): Update
3033         from Unicode 8.0 Draft.
3035         Improve font selection for punctuation and other symbols
3036         * src/fontset.c (face_for_char): If the character's script is
3037         'symbol', and the font used for ASCII face has a glyph for it, use
3038         the font for the ASCII face instead of searching the fontsets.
3039         This comes instead of NS-specific code that used the current
3040         face's font instead, which is now disabled due to undesirable
3041         consequences.  (Bug#20727)
3043 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3045         Skip past `#' to find BEG
3046         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3047         past `#' to find BEG (bug#20771).
3048         * test/automated/elisp-mode-tests.el
3049         (elisp-completes-functions-after-hash-quote): New test.
3051 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3053         Fix compilation warning/error in --without-x builds
3054         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3055         code on HAVE_WINDOW_SYSTEM.
3057         Improve the default fontset wrt symbols
3058         * lisp/international/fontset.el (setup-default-fontset): Better
3059         setup of fontset-default for symbols: use Symbola and FreeMono.
3060         (Bug#20727)
3062 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3064         Add new command checkdoc-package-keywords
3065         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3066           defcustom.
3067         (checkdoc-list-of-strings-p): Add doc.
3068         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3069         non-nil, call `checkdoc-package-keywords'.
3070         (checkdoc-get-keywords): New defun.
3071         (checkdoc-package-keywords): New command. Warns if the current file
3072         has package.el-style keywords that aren't in `finder-known-keywords'.
3073         * etc/NEWS: Add entry.
3075 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3077         Avoid crashes when key-binding is called from a timer
3078         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3079         empty vector as KEY.  (Bug#20705)
3081         Fix a thinko in arc-mode.el
3082         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3083         non-Zip64 case.  (Bug#20769)
3085 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3087         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3089 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3091         checkdoc.el (checkdoc-file): New function
3092         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3093           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3094           to the standard output.
3095         (bug#20754)
3097 2015-06-07  Glenn Morris  <rgm@gnu.org>
3099         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3101         * src/font.c (syms_of_font) <font-log>: Doc fix.
3103         Remove the obsolete leading "*" from some C doc strings.
3104         * src/coding.c (syms_of_coding):
3105         * src/font.c (syms_of_font): Remove leading "*" from docs.
3106         * lisp/cus-start.el (enable-character-translation): Add it.
3108 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3110         Move gen_origin from program to data
3111         That way, 'make change-history' needs to change only ChangeLog.2,
3112         instead of having to change two files.
3113         * ChangeLog.2: Add commit info for range that this file covers.
3114         * Makefile.in (new_commit_regexp): New macro.
3115         (change-history-nocommit): Simplify, by putting what used to be
3116         the gen_origin value into the data (ChangeLog.2) rather than
3117         into the program (gitlog-to-emacslog).
3118         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3119         the input file (e.g., ChangeLog.2) rather than by having a
3120         constant in the program.  Substitute it into the output.
3122 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3124         Escape any quotes in the function name
3125         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3126         function name (bug#20759).
3128 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3130         Adapt 'struct timespec' to next release of MinGW runtime
3131         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3132         __struct_timespec_defined is defined.
3134 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3136         Merge from gnulib
3137         This incorporates:
3138         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3139         2015-06-05 stdio: Don't redefine gets when using C++
3140         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3141         2015-06-02 file-has-acl: fix build on Mac OS X 10
3142         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3143         2015-06-01 pthread_sigmask: discount system version if a simple macro
3144         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3145         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3146         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3147         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3148         * lib/gnulib.mk: Regenerate.
3150 2015-06-06  Juri Linkov  <juri@linkov.net>
3152         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3153         before calling grep-compute-defaults because now it affects the
3154         command lines computed in grep-compute-defaults. (Bug#20728)
3156 2015-06-06  Glenn Morris  <rgm@gnu.org>
3158         Address some compilation warnings.
3159         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3160         (w32-get-console-output-codepage):
3161         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3162         * lisp/version.el (cairo-version-string): Declare.
3163         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3165 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3167         Fix display when a font claims large values of ascent and descent
3168         This fixes bug#20628.
3169         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3170         coordinate of a hollow cursor glyph when the original glyph's
3171         ascent is too small.
3172         (get_font_ascent_descent, normal_char_ascent_descent)
3173         (normal_char_height): New functions.
3174         (handle_single_display_spec, append_space_for_newline)
3175         (calc_pixel_width_or_height, produce_stretch_glyph)
3176         (calc_line_height_property): Use normal_char_ascent_descent and
3177         normal_char_height.
3178         (x_produce_glyphs): When font-global values of ascent and descent
3179         are too large, use per-character glyph metrics instead, if
3180         possible.  But don't allow the glyph row's ascent and descent
3181         values become smaller than the values from the metrics of the
3182         font's "normal" character.
3183         * src/xftfont.c (xftfont_draw):
3184         * src/w32font.c (w32font_draw): Correct the values of ascent and
3185         descent used to draw glyphless characters' hex code in a box.
3186         * src/xterm.c (x_draw_glyph_string_background):
3187         * src/xdisp.c (x_produce_glyphs):
3188         * src/w32term.c (x_draw_glyph_string_background):
3189         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3190         to detect fonts whose global ascent and descent values are too
3191         large to be used in layout decision, and redraw the background
3192         when that happens.
3193         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3194         (get_font_ascent_descent): Add prototype.
3195         * src/xterm.c (x_new_font):
3196         * src/w32term.c (x_new_font):
3197         * src/nsterm.m (x_new_font):
3198         * src/font.c (font_open_entity):
3199         * src/composite.c (composition_gstring_width): Use
3200         get_font_ascent_descent to obtain reasonable values for ascent and
3201         descent of a font.
3203 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3205         Add assertion in adjust_point_for_property
3206         * src/keyboard.c (adjust_point_for_property): Add eassert for
3207         current buffer being shown in selected window.
3209 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3211         Replace uses of in-string-p; make it obsolete
3212         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3213         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3215 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3217         Fix Dired display of an explicit list of files by ls-lisp.el
3218         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3219         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3220         correct for when displaying individual files separately, not as
3221         part of listing a directory, in which case these values are not
3222         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3224         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3226 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3228         Do not adjust point in a non-selected window
3229         * src/keyboard.c (command_loop_1): Do not adjust point when
3230         current buffer is not shown in selected window (Bug#20590).
3232         * etc/DEBUG: Mention 'maybe_call_debugger'
3234 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3236         Fix a unit test for map.el
3237         * test/automated/map-tests.el (test-map-let): Fix the test to work
3238         with the new syntax of `map-let'.
3240         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3242         Better syntax for the map pcase pattern
3243         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3244         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3246         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3248         Fix a byte-compiler error in map-put and map-delete
3249         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3250         called with a symbol.
3252 2015-06-05  Glenn Morris  <rgm@gnu.org>
3254         * admin/gitmerge.el (gitmerge-commit-message):
3255         Revert to including "skipped" messages in ChangeLog once again.
3257 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
3259         Use string> instead of equiv lambda with string<
3260         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
3261         lambda with string<.
3263 2015-06-05  Glenn Morris  <rgm@gnu.org>
3265         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
3266         (map--delete-array): Fix typo.
3268         * test/automated/map-tests.el: Replace "assert" with "should".
3270         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
3271         (SUBDIRS_REL): Derive from SUBDIRS.
3273         Tweak some build messages.
3274         * lisp/Makefile.in ($(lisp)/loaddefs.el):
3275         * lisp/cus-dep.el (custom-make-dependencies):
3276         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
3277         * lisp/international/titdic-cnv.el (batch-titdic-convert):
3278         Don't say how to compile.
3280 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3282         Omit U+0332 COMBINING LOW LINE in previous change
3283         It turns out that it does not work on Ubuntu 15.04.
3285         Fix transliteration of Bahá'í months
3286         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
3287         Improve quality of Latin transliteration of Bahá'í month names.
3289         Fix curved quotes in a few places
3290         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
3291         The strings in question are not doc strings, so this partially
3292         undoes the recent change that assumed they were doc strings.
3293         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3294         * lisp/info.el (Info-finder-find-node):
3295         Use curved quotes.
3296         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3297         Also allow curved quotes in doc strings.
3299 2015-06-04  Glenn Morris  <rgm@gnu.org>
3301         * lisp/Makefile.in (AM_V_at): Add missing definition.
3303         * lisp/Makefile.in: Quieten output a bit.
3304         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
3305         Don't echo directories, since the commands we invoke print them.
3307         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
3308         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
3309         (SUBDIRS_SUBDIRS): New variables.
3310         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
3311         Remove.
3312         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
3313         (update-subdirs, compile-main, compile-clean):
3314         Replace "setwins" usage with new "SUBDIRS" variables.
3316         * lisp/vc/compare-w.el (compare-windows-get-window-function):
3317         Fix :version tag.
3319 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3321         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
3323         Undo removal of x_clear_area call on expose for GTK3 or cairo.
3324         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
3325         exposed area.  (Bug#20677)
3327 2015-06-04  Glenn Morris  <rgm@gnu.org>
3329         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
3331         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
3333         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3334         Rename from quail-lao-update-translation, since lao.el defines that.
3336 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
3338         Handle new-style advice in find-funct
3339         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
3340         Handle new-style advice.  Return the symbol's function definition.
3341         (Bug#20718)
3342         (find-function-library): Update accordingly.
3344 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
3346         Merge branch 'map'
3348         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
3350         Add new function string-greaterp
3351         * lisp/subr.el (string-greaterp): New function.  Also aliased to
3352         `string>'.
3353         * test/automated/subr-tests.el (string-comparison-test): Add unit
3354         tests for `string>'and `string<'.
3355         * src/fns.c (string-lessp): Better docstring.
3357 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
3359         Fix timezone-related functions on MS-Windows
3360         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
3361         'xputenv', even if no reallocation of tzvalbuf was necessary.
3362         This fixes a bug in timezone-related functions on MS-Windows.
3363         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
3365 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3367         Don't pass raw directory name to 'error'
3368         * lisp/files.el (basic-save-buffer-2): Avoid format error if
3369         a directory name contains a string like "%s".
3371 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
3373         Override 'grep --color=always'
3374         * lisp/progmodes/xref.el (xref-collect-matches):
3375         Override --color=always in grep-find-template.
3377 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3379         Fix error introduced recently in file-notify-tests.el
3380         * test/automated/file-notify-tests.el
3381         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
3382         (file-notify--deftest-remote): Revert previous patch, not
3383         necessary anymore.
3385 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
3387         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
3388         Starting from a display string after a newline, point went to the
3389         previous line.  Also, fix an inadvertent use of a buffer position
3390         with FETCH_BYTE.  (Bug#20701)
3392 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3394         Instrument file-notify-test.el in order to catch hydra error.
3395         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
3396         Wrap body by `ignore-case', in order to trap non-local errors.
3398 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3400         Undo previous changes in non-toolkit scroll bar drawing.
3401         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
3402         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
3404 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3406         * .gitignore: Also ignore doc/*/*/*.html and .ps.
3408         Support quotes 'like this' in info files
3409         This is possible when 'makeinfo --disable-encoding' is used
3410         in Texinfo 5.
3411         * lisp/calc/calc-help.el (calc-describe-thing):
3412         * lisp/gnus/gnus-art.el (gnus-button-alist):
3413         * lisp/info.el (Info-find-index-name):
3414         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3415         Also support quotes 'like this'.
3416         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
3417         * lisp/finder.el (finder-font-lock-keywords): Remove var that
3418         hasn't been used in years, instead of bothering to fix its quoting.
3420 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3422         * .gitignore: Remove !test/etags/html-src/*.html.
3423         It's no longer needed, since *.html was removed.  Sort.
3425 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3427         Restore <D> instead of '.' in grep-find-template
3428         * lisp/cedet/semantic/symref/grep.el
3429         (semantic-symref-grep-use-template): Update a comment.
3430         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
3431         instead of '.' in grep-find-template (bug#20719).
3432         (rgrep): Pass nil as the directory to rgrep-default-command.
3433         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
3434         default value for DIR.
3435         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
3436         workaround.
3438 2015-06-02  Glenn Morris  <rgm@gnu.org>
3440         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
3442         * configure.ac (emacs_config_features): Add Cairo.
3444         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
3446 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
3448         Ensure, that autorevert works for remote files in file-notify-tests.el
3449         * test/automated/file-notify-tests.el (file-notify--test-desc):
3450         New defvar.
3451         (file-notify--test-remote-enabled)
3452         (file-notify-test00-availability, file-notify-test01-add-watch)
3453         (file-notify-test02-events): Use it.
3454         (file-notify--test-event-test): Check proper descriptor.
3455         (file-notify-test03-autorevert): Ensure, that
3456         `visited-file-modtime' has changed.
3457         (Bug#20392)
3459 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
3461         Add a pcase pattern for maps and `map-let' based on it
3462         * lisp/emacs-lisp/map.el (map-let): New macro.
3463         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
3464         * test/automated/map-tests.el: New test for `map-let'.
3466 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3468         Reuse rgrep mechanics in xref-find-regexp
3469         * lisp/progmodes/grep.el (rgrep-default-command):
3470         Extract from `rgrep'.
3471         * lisp/progmodes/xref.el (xref-collect-references): Split from
3472         `xref-collect-matches'.  Only handle the case of symbol search.
3473         (xref-collect-matches): Instead of Semantic Symref, use
3474         `rgrep-default-command', to take advantage of its directory and
3475         file ignore settings.
3476         (xref--collect-match): Remove the last argument, leaving the
3477         regexp construction up to the caller.
3478         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
3479         Change to take the xref-collect- function to use as an argument.
3480         (elisp-xref-find): Update accordingly.
3481         * lisp/progmodes/etags.el (etags--xref-find-matches)
3482         (etags-xref-find): Same.
3484         Move xref-elisp-location to elisp-mode.el
3485         * lisp/progmodes/xref.el (xref-elisp-location)
3486         (xref-make-elisp-location, xref-location-marker): Remove here.
3487         (xref--xref): Don't limit the type of the location slot.
3488         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
3489         Define as a cl-struct here.
3490         (xref-location-marker): Move here.
3492 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
3494         Minor tweaks for .gitignore
3495         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
3496         ignore admin/notes/tags that might be ignored as TAGS on
3497         case-insensitive filesystems.  (Bug#20710)
3499 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3501         Generate curved quotes in ert doc
3502         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
3503         (ert-results-mode-menu)
3504         (ert-results-pop-to-backtrace-for-test-at-point)
3505         (ert-results-pop-to-messages-for-test-at-point)
3506         (ert-results-pop-to-should-forms-for-test-at-point)
3507         (ert-describe-test):
3508         Quote ‘like this’, not `like this', when generating doc strings
3509         and the like.
3510         * test/automated/ert-x-tests.el (ert-test-describe-test):
3511         Allow quoting ‘like this’.
3513 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
3515         Add test for previous commit
3516         * test/automated/replace-tests.el: New file.
3517         (query-replace--split-string-tests): Add test for previous commit.
3519         Avoid confusion in query-replace history when replacing NUL chars
3520         * lisp/replace.el (query-replace--split-string): New function.
3521         (query-replace-read-from): Rely on the 'separator' property
3522         instead of searching for the NUL character (Bug#20690).
3524 2015-06-02  Glenn Morris  <rgm@gnu.org>
3526         Merge from origin/emacs-24
3527         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3529         * admin/gitmerge.el (gitmerge-commit-message):
3530         Exclude "skipped" messages from ChangeLog.
3532 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
3534         Sync with Tramp repository
3535         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
3536         messages.
3537         (tramp-handle-make-auto-save-file-name): When calling
3538         `make-auto-save-file-name' internally, make sure it uses Unix-like
3539         behavior, not Windows-like behavior.
3540         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
3541         the local case, because "chown" might fail on w32.
3542         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
3543         for XEmacs.
3545 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
3547         MS-Windows followup for batch stdout/stderr output changes
3548         * lisp/international/mule-cmds.el (set-locale-environment): In
3549         batch mode, use console codepages for keyboard and terminal
3550         encoding.  (Bug#20545)
3552         Update .gitattributes for DOS EOL files
3553         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
3554         CRLF end-of-line format.
3556         NS equivalents of xterm.c and w32term.c changes
3557         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
3558         glyph string background also when the font in use claims
3559         preposterously large global height value.  Helps to remove
3560         artifacts left from previous displays when glyphless characters
3561         are displayed as hex code in a box.
3562         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
3563         value for FRAME_LINE_HEIGHT, even when a font claims very large
3564         value for its height.
3566 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3568         Avoid grave accent quoting in stderr diagnostics
3569         A few Emacs diagnostics go directly to stderr, and so can't easily
3570         contain curved quotes (as non-UTF-8 locales might mishandle them).
3571         Instead of bothering to add support for this rarity, reword the
3572         diagnostics so that they don't use grave accent to quote.
3573         * src/alloc.c (mark_memory): Fix comment.
3574         * src/buffer.c (init_buffer):
3575         * src/dispnew.c (init_display):
3576         * src/emacs.c (main, sort_args):
3577         * src/lread.c (dir_warning):
3578         * src/term.c (init_tty):
3579         * src/unexmacosx.c (unexec):
3580         * src/xfns.c (select_visual):
3581         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
3582         Reword stderr diagnostics to avoid quoting `like this'.
3583         * src/unexmacosx.c: Include errno.h.
3584         * src/xfns.c (select_visual): Encode value for locale.
3586 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3588         Treat batch stdout/stderr like standard display
3589         Calls like (print FOO) could generate improperly encoded or
3590         hard-to-read output if FOO contains characters outside the system
3591         locale.  Fix this by treating batch stdout and stderr like
3592         interactive standard display, when it comes to transliterating and
3593         encoding characters (Bug#20545).
3594         * doc/emacs/mule.texi (Communication Coding):
3595         * doc/lispref/display.texi (Active Display Table):
3596         * doc/lispref/nonascii.texi (Locales):
3597         * etc/NEWS:
3598         * src/coding.c (syms_of_coding):
3599         * src/dispnew.c (syms_of_display):
3600         Document this.
3601         * src/print.c: Include disptab.h.
3602         (printchar_to_stream): New function, with much of the guts of the
3603         old Fexternal_debugging_output, except this one also uses the
3604         standard display table.
3605         (printchar, strout, Fexternal_debugging_output): Use it.
3607 2015-05-31  Glenn Morris  <rgm@gnu.org>
3609         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
3611 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3613         Remove unused DEFSYMs
3614         Remove DEFSYMs that aren't used at the C level.  Also:
3615         * src/decompress.c (Qzlib_dll):
3616         * src/font.c (Qunicode_sip):
3617         * src/frame.c (Qtip_frame):
3618         * src/ftfont.c (Qserif):
3619         * src/gnutls.c (Qgnutls_dll):
3620         * src/xml.c (Qlibxml2_dll):
3621         Move from here ...
3622         * src/w32fns.c (syms_of_w32fns): ... to here,
3623         as these are used only on MS-Windows.
3625 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
3627         Use another default value for tramp-histfile-override
3628         * lisp/net/tramp-sh.el (tramp-histfile-override):
3629         Use ".tramp_history" as default.
3630         Fixes: debbugs:#20446
3632 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
3634         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3636 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3638         * etc/NEWS: Add an entry about map.el
3640         Improve the docstring of functions in map.el
3641         Since a map is not a data structure but a concept, adding information
3642         about the possible types of maps can be useful information.
3643         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
3644         each public function.
3646 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
3648         Faster implementation of map-empty-p
3649         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
3650         specific tests depending on the type of the map.
3652         * lisp/emacs-lisp/map.el: Better docstrings.
3654 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3656         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
3658 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
3660         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
3662         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
3664         Fix a false negative in `map-elt' with alists and values being nil
3665         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
3666         found but its associated value is nil, do not return the default
3667         value.
3668         * test/automated/map-tests.el: Add a regression test.
3670 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
3672         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
3674         Do not signal an error when trying to delete a key from an array
3675         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
3676         the key is present to avoid signaling an error.
3677         * test/automated/map-tests.el: Add a test for deleting non-existing
3678         keys from maps.
3680         * lisp/emacs-lisp/map.el: Better docstring.
3682         Minor improvement in map-elt.
3683         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
3684         doing a lookup in arrays, but check the boundaries of the array
3685         instead.
3686         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
3687         and a negative integer as key.
3689 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
3691         * test/automated/map-tests.el: Refactoring of test methods.
3693         * test/automated/map-tests.el: Renamed from map-test.el.
3695 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
3697         * lisp/emacs-lisp/map.el (map-into): Better error message.
3699         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
3701         Throw an error when converting a map into an unknown map type
3702         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
3703         * test/automated/map-test.el: Add a regression test.
3705         New library map.el similar to seq.el but for mapping data structures.
3706         * test/automated/map-test.el: New file.
3707         * lisp/emacs-lisp/map.el: New file.
3709 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3711         Make sure there's no explicit tag name
3712         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
3713         there's no explicit tag name (bug#20629).
3715 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3717         Remove format2
3718         * src/editfns.c, src/lisp.h (format2): Remove.
3719         It is more trouble than it's worth, now that we have CALLN.
3720         This is just a minor refactoring.
3721         * src/buffer.c (Fkill_buffer):
3722         * src/dbusbind.c (XD_OBJECT_TO_STRING):
3723         * src/fileio.c (barf_or_query_if_file_exists):
3724         Adjust to format2 going away.
3726         Don't misencode C-generated messages
3727         Also, be more consistent about calls to 'Fmessage' vs 'message'.
3728         * src/alloc.c (Fgc_status):
3729         Prefer AUTO_STRING to build_string for Fmessage call.
3730         * src/data.c (Fmake_variable_buffer_local)
3731         (Fmake_local_variable, Fmake_variable_frame_local):
3732         * src/doc.c (store_function_docstring):
3733         Use Fmessage, not message, since the argument can contain
3734         non-ASCII characters, and this can cause the resulting message
3735         to be incorrectly encoded for the current environment.
3736         * src/fns.c (maybe_resize_hash_table):
3737         * src/xselect.c (x_clipboard_manager_save_all):
3738         Use message, not Fmessage, since Fmessage's power isn't needed here.
3739         * src/process.c (Fmake_network_process): Reword message to avoid %s.
3740         * src/xdisp.c (vmessage): Document restrictions on message contents.
3741         (message_nolog) [false]: Remove unused code.
3743         Use \r rather than ^M in string literals
3744         This is less likely to cause problems on platforms that
3745         use CRLF (or CR!) termination for lines.
3747         Update .gitattributes to match current sources
3748         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
3749         * .gitattributes: Accommodate tests that insist on DOS format.
3750         Remove test/automated/data/decompress/foo-gzipped.
3751         Add etc/e/eterm-color.
3753 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3755         Document 'face-ignored-fonts'
3756         * doc/emacs/mule.texi (Modifying Fontsets): Document
3757         face-ignored-fonts.  (Bug#20628)
3759         Add etags test for the new -Q option
3760         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3761         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3762         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3763         test-case changes below.
3764         * test/etags/ETAGS.good_6: New file.
3765         * test/etags/cp-src/x.cc: New file.
3766         * test/etags/Makefile (CPSRC): Add x.cc.
3767         (check): Add one more test, for -Q.
3769 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3771         Use list for the tags completion table, not obarray
3772         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
3773         list instead of an obarray
3774         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
3775         (tags-completion-table): Combine those lists.
3776         (tags-completion-table): Update the docstring.
3778 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3780         Restore EOL format testing in etags
3781         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3782         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3783         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3784         test-case changes below.
3785         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
3786         * test/etags/cp-src/c.C (B): Add back stray CR character.
3787         * test/etags/c-src/dostorture.c: Add back.
3788         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
3790 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
3792         Declare Emacs on MS-Windows to be DPI-aware
3793         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
3794         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
3795         This avoids Windows entering compatibility mode for Emacs,
3796         which causes fonts to look less nice.
3798 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
3800         Improve Tramp traces.
3801         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
3802         * lisp/net/tramp.el (tramp-debug-message): Use it.
3804 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3806         backup-buffer minor reworking of internals
3807         * lisp/files.el (backup-buffer): Rework to avoid a couple of
3808         unused locals inadvertently introduced in the previous change.
3810         backup-buffer now reports .emacs.d/%backup% ills
3811         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
3812         fails due to disk space exhaustion or whatever, do not pretend
3813         that it succeeded.  More generally, do a better job of checking
3814         for I/O failures, and limit the scope of the condition-case to
3815         just the operations where file errors should be caught and ignored
3816         (Bug#20595).  Also, don't bother trying to delete later backups if
3817         an earlier deletion fails, as this is a sign of trouble and it's
3818         better to stop when there's trouble.
3820         copy-file now truncates output after writing
3821         * src/fileio.c (Fcopy_file): Truncate output after writing rather
3822         than before.  This is more likely to work than truncation before
3823         writing, if the file system is out of space or the user is over
3824         disk quota (Bug#20595).  Also, check for read errors.
3826 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3828         * lisp/emacs-lisp/package.el: Don't load from parent dir
3829         (package-load-all-descriptors): Don't load descriptors from
3830         directories above the package directories.
3832 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3834         Merge from gnulib
3835         This incorporates the following (Bug#20681):
3836         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
3837         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
3838         * lib/set-permissions.c: Copy from gnulib.
3840 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
3842         Improve Tramp traces.
3843         * lisp/net/tramp.el (tramp-call-process-region): New defun.
3844         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
3846 2015-05-29  Glenn Morris  <rgm@gnu.org>
3848         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
3850 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
3852         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
3853         The signature was changed in the cairo branch, merged on 2015-05-23.
3854         This oversight broke compiling only the non-toolkit X version.
3856 2015-05-29  Samer Masterson  <samer@samertm.com>
3858         * doc/lispref/os.texi: Update initial-buffer-choice docs.
3860 2015-05-29  Glenn Morris  <rgm@gnu.org>
3862         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
3863         Mark as an expected failure.
3865 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3867         Change package test to look for curved quotes
3868         * test/automated/package-test.el (package-test-describe-package)
3869         (package-test-signed): Search for curved single quotes as well as
3870         for grave accent and apostrophe.
3872 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
3874         gnus-art.el: Re-revert last change
3875         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
3876         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
3878 2015-05-28  Samer Masterson  <samer@samertm.com>
3880         Show files when `initial-buffer-choice' is non-nil
3881         * startup.el (command-line-1): When Emacs is given a file as an
3882         argument and `initial-buffer-choice' is non-nil, display both the file
3883         and `initial-buffer-choice'.  For more than one file, show
3884         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
3885         commands out of the command line arg parser.
3886         (initial-buffer-choice): Clarify docstring.
3888 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
3890         Fix last commit
3891         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
3892         (gnulib module qcopy-acl): Add back, as it is harmless.  This
3893         minimizes differences wrt lib/gnulib.mk.
3895         Fix the MS-Windows build as followup to gnulib update
3896         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
3897         set-permissions.c, as they don't compile on MinGW.
3898         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
3900 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
3902         Revert my change to gnus-art.el
3903         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
3904         It wasn't that important, and it caused a Gnus build to fail.  See:
3905         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
3907         New minor mode Electric Quote
3908         This lets you easily insert quotes ‘like this’ by typing
3909         quotes `like this', and similarly you can easily insert
3910         quotes “like this” by typing quotes ``like this'' (Bug#20545).
3911         * doc/emacs/basic.texi (Inserting Text):
3912         * doc/emacs/modes.texi (Minor Modes):
3913         * etc/NEWS: Document it.
3914         * doc/emacs/text.texi (Quotation Marks): New section.
3915         * lisp/electric.el (electric-quote-comment)
3916         (electric-quote-string, electric-quote-paragraph):
3917         New custom vars.
3918         (electric--insertable-p)
3919         (electric-quote-post-self-insert-function): New functions.
3920         (electric-quote-mode, electric-quote-local-mode): New minor modes.
3921         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3922         Add curved single quotes to electric-pair-text-pairs.
3923         Set electric-quote-string in this buffer.
3925         A few more doc string fixes (Bug#20385)
3927         Accept curved quotes in doc strings
3928         * lisp/info-look.el (info-lookup-guess-custom-symbol):
3929         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
3931         Generate curved quotes in pseudo-info nodes
3932         * lisp/info.el (Info-virtual-index-find-node)
3933         (Info-virtual-index, Info-apropos-find-node, info-apropos):
3934         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
3936         Fix minor quoting problems in doc strings
3937         Most of these fixes involve escaping grave accents that are
3938         actually intended to be grave accents, not left quotes.
3939         (Bug#20385)
3941         Support curved quotes in doc strings
3942         Emacs's traditional doc string style has been to quote symbols
3943         `like this'.  This worked well on now-obsolete terminals where
3944         ` and ' were symmetric quotes, but nowadays curved quotes
3945         ‘like this’ look better.  Support quoting the new way too.
3946         (Bug#20385)
3947         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
3948         ‘like-this’ as well as `like-this'.
3949         * etc/NEWS: Mention this.
3950         * lisp/cedet/mode-local.el (overload-docstring-extension)
3951         (mode-local-print-binding, mode-local-describe-bindings-2):
3952         * lisp/cus-theme.el (describe-theme-1):
3953         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3954         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3955         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3956         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3957         (eieio-help-constructor):
3958         * lisp/emacs-lisp/package.el (describe-package-1):
3959         * lisp/faces.el (describe-face):
3960         * lisp/help-fns.el (help-fns--key-bindings)
3961         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
3962         (help-fns--interactive-only, describe-function-1):
3963         (describe-variable):
3964         * lisp/help.el (describe-mode):
3965         * lisp/international/mule-cmds.el (describe-input-method)
3966         (describe-language-environment):
3967         * lisp/international/mule-diag.el (describe-character-set)
3968         (print-coding-system-briefly, list-input-methods)
3969         (list-input-methods-1):
3970         Insert curved quotes rather than grave accent and apostrophe.
3971         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3972         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
3973         (checkdoc-proper-noun-region-engine):
3974         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
3975         (lisp-cl-font-lock-keywords-2):
3976         * lisp/finder.el (finder-font-lock-keywords):
3977         * lisp/gnus/gnus-art.el (gnus-button-alist):
3978         * lisp/help-fns.el (help-do-arg-highlight)
3979         (describe-function-1, describe-variable):
3980         * lisp/help-mode.el (help-xref-symbol-regexp)
3981         (help-xref-info-regexp, help-xref-url-regexp):
3982         * lisp/help.el (describe-mode):
3983         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3984         * lisp/wid-edit.el (widget-documentation-link-regexp):
3985         Parse symbols quoted ‘like-this’ as well as `like-this'.
3986         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3987         Add "‘" and "’" to electric-pair-text-pairs.
3988         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
3989         (elisp-completion-at-point, elisp--preceding-sexp):
3990         Also treat "‘" and "’" as quoting chars.
3992         substitute-command-keys now curves quotes
3993         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
3994         * doc/lispref/help.texi (Keys in Documentation):
3995         * etc/NEWS: Document this.
3996         * src/doc.c (Fsubstitute_command_keys): Implement it.
3998 2015-05-28  Glenn Morris  <rgm@gnu.org>
4000         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
4001         (rmail-summary-by-topic, rmail-summary-by-senders):
4002         No longer strip leading/trailing whitespace.
4004         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
4005         (f90-no-block-limit): Add "enum".  (Bug#20680)
4006         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
4007         New tests.
4009 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4011         * lisp/isearch.el (isearch--current-buffer): Give a default value.
4013         Un-revert changes mistakenly dropped by f9fabb2b
4015 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4017         Merge from gnulib
4018         This incorporates:
4019         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
4020         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
4021         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
4022         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
4023         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
4024         2015-05-26 stdio: fix probe on mingw under gcc 5.1
4025         * admin/merge-gnulib (GNULIB_MODULES):
4026         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
4027         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
4028         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
4029         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
4030         Get latest versions from gnulib.
4031         * lib/get-permissions.c, lib/set-permissions.c: New files.
4032         * lib/gnulib.mk, m4/gnulib-comp.m4:
4033         Regenerate.
4034         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4036 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4038         Delete the old process in vc-setup-buffer
4039         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4040         process here.
4041         (vc-do-command): Rather than here (bug#20608).
4043 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4045         Avoid gratuitous delete-dups in face-at-point.
4046         * lisp/faces.el (face-at-point): Do not compute the properly
4047         ordered, duplicate-free list if only a single value is
4048         requested anyway.  (Bug#20519)
4050         Show the exact C-x 8 RET invocation in describe-char.
4051         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4052         invocation instead of a template.  (Bug#20522)
4054 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4056         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4057         (package-menu--post-refresh): Call `tabulated-list-print' with the
4058         UPDATE argument.  This only affects the refresh action, the revert
4059         action still erases tags.
4060         (package-menu-get-status): Change `assq' to `assoc'.
4061         (package-menu--mark-upgrades-1): New function.
4062         (package-menu--mark-upgrades-pending): New variable.
4063         (package-menu-mark-upgrades): Use them to delay marking until
4064         after refresh is done.
4065         (package-menu--post-refresh): Call mark-upgrades-1 if
4066         mark-upgrades-pending is non-nil.
4068 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4070         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4072 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4074         * lisp/isearch.el (isearch--current-buffer): New var
4075         (isearch-update): Set cursor-sensor-inhibit here.
4076         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4078         Change inhibit-point-motion-hooks to t
4079         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4080         to t and document it as obsolete.
4082 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4084         Support ZIP files that use Zip64 extensions
4085         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4086         format of central directory offsets used by Zip64 extensions.
4087         (Bug#20665)
4089 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4091         New test tramp-test30-make-auto-save-file-name
4092         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4093         (tramp-test31-special-characters)
4094         (tramp-test31-special-characters-with-stat)
4095         (tramp-test31-special-characters-with-perl)
4096         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4097         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4098         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4099         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4101         Improve tramp-handle-make-auto-save-file-name
4102         * tramp.el (tramp-auto-save-directory): Add :tags.
4103         (tramp-handle-make-auto-save-file-name): Let native
4104         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4105         if `tramp-auto-save-directory' is not set.
4107 2015-05-27  Glenn Morris  <rgm@gnu.org>
4109         No longer set dired-directory in eshell.  (Bug#16477)
4110         * lisp/eshell/esh-mode.el (eshell-mode):
4111         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4113         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4115         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4116         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4117         Change to submit@debbugs.
4118         (c-mode-bug-package): New constant.
4119         (mail-position-on-field): Declare.
4120         (c-submit-bug-report): Insert X-Debbugs-Package header.
4121         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4122         Mention debbugs.gnu.org.
4124 2015-05-26  Glenn Morris  <rgm@gnu.org>
4126         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4127         (rmail-summary-by-recipients, rmail-summary-by-topic)
4128         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4129         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4131 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4133         Handle curved quotes in info files
4134         * lisp/calc/calc-help.el (calc-describe-thing):
4135         * lisp/info.el (Info-find-index-name)
4136         (Info-try-follow-nearest-node, Info-fontify-node):
4137         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4138         In info files, process quotes ‘like this’ the same way we process
4139         quotes `like this'.  This catches a few places we missed earlier.
4141 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4143         xref-prompt-for-identifier: Use a list value
4144         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4145         value, to be interpreted as a list of commands.
4146         (xref--prompt-p): New function.
4147         (xref--read-identifier): Use it.
4149 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4151         Teach MS-Windows font back-end return per-glyph ascent/descent
4152         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4153         values.
4154         * src/w32font.c (w32font_text_extents): Compute, cache, and
4155         accumulate per-glyph ascent and descent values, instead of copying
4156         global values from the font.  If the values are not available from
4157         the font data, i.e., non-TTF fonts, fall back on font-global values.
4158         (compute_metrics): Compute and return per-glyph ascent and descent
4159         values, if returned by GetGlyphOutlineW, falling back on
4160         font-global values.  (Bug#20628)
4161         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4162         height of rectangle to be drawn, to be compatible with
4163         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4164         box, when per-glyph ascent/descent values are used.
4166 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4168         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4169         (tabulated-list-print): Don't sort if sorter is nil
4171 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4173         Fix Bug#20621
4174         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4175         are major modes which set `auto-save-mode' on their own rules;
4176         Tramp shall not overwrite such settings.
4177         (Bug#20621)
4179 2015-05-26  Glenn Morris  <rgm@gnu.org>
4181         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4182         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4183         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4184         Doc updates.
4185         (vc-dir-mode): Remove unnecessary autoload.
4187 2015-05-25  Philipp Stephani  <phst@google.com>
4189         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4190         (xterm--extra-capabilities-type): Add `getSelection'.
4191         (xterm--query): Add `no-async' argument.
4192         (xterm--init-activate-get-selection): New function.
4193         (terminal-init-xterm): Use it.
4194         (xterm--init-modify-other-keys): Rename from
4195         terminal-init-xterm-modify-other-keys.
4196         (xterm--init-bracketed-paste-mode): Rename from
4197         terminal-init-xterm-bracketed-paste-mode.
4198         (xterm--init-activate-set-selection): Rename from
4199         terminal-init-xterm-activate-set-selection.
4200         (xterm--selection-char): New function.
4201         (gui-backend-set-selection): Use it.  Use the &context to only apply
4202         this method in terminals where we enabled the feature.
4203         (gui-backend-get-selection): New method.
4205 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4207         Add C-language keyword constants to C++
4208         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4209         keyword constants to C++.
4211 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4213         Make TAGS files more portable to MS-Windows
4214         * etc/NEWS: Document this.
4215         * lib-src/etags.c (readline_internal) [DOS_NT]:
4216         Don't treat CRs differently from GNUish hosts.
4217         * lisp/progmodes/etags.el (etags-goto-tag-location):
4218         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4220 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4222         Improve fix of debbugs:20634 in tramp-sh.el
4224 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4226         Fix a typo in last commit
4227         * lib-src/etags.c (C_entries): Fix a typo.
4228         * test/etags/ETAGS.good_1:
4229         * test/etags/ETAGS.good_2:
4230         * test/etags/ETAGS.good_3:
4231         * test/etags/ETAGS.good_4:
4232         * test/etags/ETAGS.good_5:
4233         * test/etags/CTAGS.good: Update due to the change in etags.c.
4235         Fix tagging of class members in C-like OO languages
4236         * lib-src/etags.c (longopts): Add new option --class-qualify and
4237         its shorthand -Q.
4238         (print_help): Add help text for --class-qualify.
4239         (main): Add handling of -Q.
4240         (consider_token, C_entries) <omethodparm>: Append argument types
4241         to Objective C methods only if --class-qualify was specified.
4242         Qualify C++, Objective C, and Java class members with their class
4243         names only if --class-qualify was specified.
4244         (C_entries): If --class-qualify was not specified, remove the
4245         namespace and class qualifiers from tag names of C++ methods.
4246         This allows to use etags.el as xref back-end without the
4247         tag-symbol-match-p method, which greatly increases the number of
4248         potentially false positives.  (Bug#20629)
4249         * doc/man/etags.1: Update to document the new --class-qualify
4250         option.
4251         * test/etags/ETAGS.good_1:
4252         * test/etags/ETAGS.good_2:
4253         * test/etags/ETAGS.good_3:
4254         * test/etags/ETAGS.good_4:
4255         * test/etags/ETAGS.good_5:
4256         * test/etags/CTAGS.good: Update due to changes in etags.c.
4258 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4260         (cl-generic-define-method): Side effects are evil (bug#20644)
4261         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
4262         cons-cells that might be used as keys in an `equal' hash-table.
4264 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4266         Make erc timestamps visible again
4267         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
4268         timestamps visible again (if requested).
4270 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4272         Fix last change in etags.c that broke tagging compresed files
4273         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
4274         quoting of decompression shell command for MS-Windows/MS-DOS.
4276 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4278         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
4279         (Bug#20639)
4281 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4283         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
4285 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
4287         Fix IPv6 addresses in Tramp
4288         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
4289         Add sqare brackets around host name.
4291 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4293         Inhibit `epa-file-handler' in Tramp
4294         (Bug#20634)
4295         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
4296         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
4297         `epa-file-handler'.
4299 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4301         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
4302         (pcase-let): Document the behavior in case the pattern doesn't match.
4304 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4306         * lisp/emacs-lisp/tabulated-list.el: New optional print method
4307         (tabulated-list-print): New optional argument, UPDATE.  If
4308         non-nil, the list is printed by only adding and deleting the
4309         changed entries, instead of erasing the whole buffer.  This method
4310         is much faster when few or no entries have changed.
4311         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4312         * etc/NEWS: Document it.
4314         * lisp/emacs-lisp/tabulated-list.el: Improve printing
4315         (tabulated-list--get-sorter): New function.
4316         (tabulated-list-print): Restore window-line when remember-pos is
4317         passed and optimize away the `nreverse'.
4319 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4321         Simpilify etags TEX mode scanning
4322         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
4323         Remove static vars.
4324         (TeX_commands): Deduce escapes here instead.
4325         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
4326         This removes the need for a reset_input call.
4328         Improve etags I/O error reporting
4329         * lib-src/etags.c:
4330         Don't include sys/types.h and sys/stat.h; no longer needed.
4331         (infilename): New static var.
4332         (process_file_name): Don't call 'stat'.  Instead, just open the
4333         file for reading and report any errors.  Don't bother making
4334         a copy of the file argument; it's not needed.  Be more careful to
4335         use the failing errno when reporting an error.
4336         Quote the real name better (though no perfectly)
4337         when passing it to the shell.
4338         (reset_input): New function, which reports I/O errors.
4339         All uses of 'rewind' changed to use this function.
4340         (perhaps_more_input): New function, which also checks for
4341         I/O errors.  All uses of 'feof' changed to use this function.
4342         (analyze_regex): Report an error if fclose fails.
4343         (readline_internal): Report an error if getc fails.
4344         (etags_mktmp): Return an error if close fails.
4346         etags.c: avoid side effects in 'if'
4347         * lib-src/etags.c (process_file_name, Perl_functions)
4348         (TEX_decode_env): Hoist side effects into previous statement.
4350         .gitignore tweaks
4351         * .gitignore: Ignore all *.stamp files.  Sort.
4352         Ignore [0-9]*.txt (commonly used name for git patches)
4353         and /vc-dwim-log-* (vc-dwim temporary).
4355 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
4357         Fix last change in etags.c, which failed the test suite
4358         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
4359         before the last change.
4361 2015-05-23  Glenn Morris  <rgm@gnu.org>
4363         Remove charset map files from repository, generate in first bootstrap
4364         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
4365         (all): Create the stamp file.
4366         (extraclean): Delete the stamp file.
4367         * src/Makefile.in (lispintdir, charsets): New variables.
4368         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
4369         New rules.
4370         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
4371         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4372         * etc/charsets/*.map: Remove from repository.
4374 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4376         Cleanup etags.c to use locale-independent code
4377         Although this doesn't alter behavior (as etags doesn't use
4378         setlocale), the new version is more clearly locale-independent and
4379         the executable is a bit smaller on my platform.
4380         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
4381         Include <c-ctype.h> instead of <ctype.h>.
4382         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
4383         (begtk, midtk):
4384         Remove; no longer needed.
4385         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
4386         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
4387         c_islower, c_tolower, respectively.
4388         (notinname, begtoken, intoken, endtoken): Rewrite as functions
4389         instead of macros, and initialize the tables at compile-time
4390         rather than at run-time.
4392         Put default action first in src/Makefile
4393         * src/Makefile.in (all): Put this rule before lisp.mk.
4394         That way, plain 'make' works in the src directory again.
4396 2015-05-23  Glenn Morris  <rgm@gnu.org>
4398         * Makefile.in: Fix extraclean rule.
4399         (extraclean_dirs): New.
4400         (extraclean): Use it.
4402 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4404         Avoid compiler warning in image.c on MS-Windows
4405         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
4406         warning in image.c.
4408 2015-05-23  Glenn Morris  <rgm@gnu.org>
4410         Fix --without-toolkit-scroll-bars builds.
4411         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
4412         Add new argument to x_clear_area1.
4413         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4414         Update x_clear_area arguments.
4416         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
4417         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
4418         Change to included version.
4419         (LOCAL, local, totalclean): Remove.
4420         (extraclean): Delete all generated files.
4422 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4424         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
4426         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
4428         tags-completion-at-point-function: Don't trust the find-tag function
4429         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4430         Don't trust the find-tag function.
4432 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4434         Pacify --enable-gcc-warnings
4435         * src/frame.h (x_query_color): Remove redundant extern decl.
4436         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
4437         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
4438         (ftcrfont_text_extents, ftcrfont_draw):
4439         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
4440         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
4441         (x_ins_del_lines, frame_highlight, frame_unhighlight)
4442         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
4443         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
4444         (x_update_window_begin, x_connection_closed)
4445         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4446         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4447         (*x_gc_get_ext_data, x_extension_initialize)
4448         (x_cr_accumulate_data):
4449         Remove redundant static decl.  Many of these GCC doesn't complain
4450         about, but we might as well clean out the duplication while we're
4451         in the neighborhood.
4452         * src/xterm.c (x_fill_trapezoid_for_relief):
4453         Remove decl of nonexistent function.
4455 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4457         Replace gui-method macros with cl-generic with &context
4458         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
4459         (gui-method-declare, gui-call): Remove.
4460         (frame-creation-function): Use cl-defgeneric.
4461         (make-frame): Adjust callers.
4462         * lisp/menu-bar.el (menu-bar-edit-menu):
4463         Use gui-backend-selection-exists-p.
4464         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
4465         (gui-backend-get-selection): New cl-generic to replace
4466         gui-get-selection method.
4467         (gui-backend-set-selection): New cl-generic to replace
4468         gui-set-selection method.
4469         (gui-selection-owner-p): New cl-generic to replace
4470         gui-selection-owner-p method.
4471         (gui-backend-selection-exists-p): New cl-generic to replace
4472         gui-selection-exists-p method.  Adjust all callers.
4473         * lisp/server.el (server-create-window-system-frame): Don't ignore
4474         window-system spec even when unsupported.
4475         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
4476         * lisp/startup.el (handle-args-function, window-system-initialization):
4477         Use cl-defgeneric.
4478         (command-line): Adjust calls accordingly.
4479         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
4480         a window-system-initialization method.
4481         (handle-args-function, frame-creation-function): Use cl-defmethod.
4482         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4483         (gui-get-selection): Use cl-defmethod on the new functions instead.
4484         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
4485         a gui-backend-get-selection method.
4486         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
4487         Use cl-defmethod on the new functions instead.
4488         (msdos-window-system-initialization): Turn into
4489         a window-system-initialization method.
4490         (frame-creation-function, handle-args-function): Use cl-defmethod.
4491         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
4492         a window-system-initialization method.
4493         (handle-args-function, frame-creation-function): Use cl-defmethod.
4494         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4495         (gui-get-selection): Use cl-defmethod on the new functions instead.
4496         * lisp/term/x-win.el (x-window-system-initialization): Turn into
4497         a window-system-initialization method.
4498         (handle-args-function, frame-creation-function): Use cl-defmethod.
4499         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4500         (gui-get-selection): Use cl-defmethod on the new functions instead.
4501         * lisp/term/xterm.el (xterm--set-selection): Turn into
4502         a gui-backend-set-selection method.
4503         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
4504         (Fns_selection_owner_p): Remove unused arg `terminal'.
4505         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
4507 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4509         Revert "Fix etags Bug#20629 that broke C++ support."
4510         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
4512 2015-05-23  Jan D  <jan.h.d@swipnet.se>
4514         Fix etags Bug#20629 that broke C++ support.
4515         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
4516         from Sun May 10 (Bug#20629).
4518         Merge branch 'cairo'.
4519         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
4520         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
4522         Merge branch 'master' into cairo
4524         Fixes to compile cairo branch without cairo.
4525         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
4526         first argument.
4527         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
4528         USE_CAIRO.
4530 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
4532         * lisp/emacs-lisp/package.el: Always update selected-packages
4533         (package--update-selected-packages): New function.
4534         (package-menu-execute): Use it before starting the transaction,
4535         this way the list of selected packages is updated even when the
4536         transaction fails.
4537         (package-menu--perform-transaction): Don't edit selected-packages.
4539 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4541         Fix etags reading of compressed files
4542         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
4543         Include fcntl.h, for O_CLOEXEC.
4544         (process_file_name): Don't use 'popen', whose streams cannot be
4545         rewound.  Instead, uncompress the file to a temporary file,
4546         created by 'etags_mktmp', and read from that as usual.
4547         (etags_mktmp): New function.
4548         * test/etags/ETAGS.good_1:
4549         * test/etags/ETAGS.good_2:
4550         * test/etags/ETAGS.good_3:
4551         * test/etags/ETAGS.good_4:
4552         * test/etags/ETAGS.good_5: Update to be consistent with latest
4553         changes in etags.c regarding reading compressed files.
4555         Improve documentation of 'set-fontset-font'
4556         * doc/lispref/display.texi (Fontsets): Document the value of nil
4557         for the 3rd argument of 'set-fontset-font'.
4559         Fix documentation of forward-line
4560         * src/cmds.c (Fforward_line): Clarify the return value if the line
4561         at end of accessible portion of the buffer has no newline.
4562         * doc/lispref/positions.texi (Text Lines): Document what happens
4563         if the line at end of accessible portion of buffer has no newline.
4564         (Bug#20587)
4566 2015-05-22  Glenn Morris  <rgm@gnu.org>
4568         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
4570         * admin/charsets/mapconv (LC_ALL): Set to C.
4572         * Makefile.in: Add admin/charsets into top-level clean rules.
4573         (clean): Add admin/charsets.
4574         (maybeclean_dirs): New variable.
4575         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
4577         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
4579 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4581         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
4583 2015-05-22  Glenn Morris  <rgm@gnu.org>
4585         Generate admin/charsets Makefile via configure, and make more portable.
4586         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
4587         (admin/charsets/Makefile): Generate it.
4588         * admin/charsets/Makefile.in: Rename from Makefile.
4589         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
4590         New variables, set by configure.
4591         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
4592         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
4593         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
4594         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
4595         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
4596         (all): Declare PHONY.
4597         (local): New PHONY target.
4598         (map_template): New template.  Use to define short PHONY aliases.
4599         (*.map): Add directory prefixes to targets and prerequisites.
4600         Respect make verbosity.
4601         (JISC6226.map): Replace non-portable sed append without newline.
4602         (install): Remove rule.
4603         (clean): Only delete temporary sedscript.
4604         (bootstrap-clean, distclean, maintainer-clean, extraclean)
4605         (totalclean): New PHONY rules.
4606         * admin/charsets/mapconv (BASE): Replace basename with expr.
4607         (FILE): Add "mapfiles" subdirectory.
4608         (AWK): New variable.  Use throughout in place of "awk".
4609         (main): Use "gunzip -c" in place of "zcat".
4610         Don't leave whitespace before "p", for older sed.
4611         * admin/charsets/mapfiles/PTCP154: Add final newline,
4612         to make older sed versions happy.
4614 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
4616         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
4617         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
4618         (auto-revert-notify-watch-descriptor): Use defvar-local.
4619         (find-file-hook, auto-revert-tail-mode, )
4620         (auto-revert-notify-add-watch): Use setq-local.
4621         (auto-revert-notify-add-watch): Don't call make-local-variable on
4622         kill-buffer-hook (bug#20601).
4624 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4626         Change defgeneric so it doesn't completely redefine the function
4627         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
4628         previously defined methods.
4629         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
4630         (cl--generic-prefill-dispatchers): Only define during compilation.
4631         (cl-method-qualifiers): Remove redundant alias.
4632         (help-fns-short-filename): Silence byte-compiler.
4633         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
4635 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4637         (package-menu-execute): Remove reference to remove-dups
4639 2015-05-21  kwhite  <kwhite@gnu.org>
4641         * lisp/erc/erc.el: Hide network/channel messages
4642         (erc-network-hide-list, etc-channel-hide-list): New lists to define
4643         message types per network/channel.
4644         (erc-add-targets): New function to parse list of targets
4645         (erc-hide-current-message-p): Modified to check for new targets
4647 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4649         Don't quote nil and t in doc strings
4650         This is as per "Tips for Documentation Strings" in the elisp manual.
4651         For consistency, do the same in diagnostics and comments.
4653 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
4655         Fix a minor problem with mouse-face on mode line
4656         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
4657         mouse face also if the mouse pointer hovers above mode-line glyphs
4658         that don't come from any Lisp string.  (Bug#20620)
4660 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4662         * lisp/emacs-lisp/package.el: Fix selected-package logic
4663         (package-menu-execute): Mark as selected all non-upgrade packages
4664         being installed.
4665         (package-menu--perform-transaction): Don't mark anything.
4667         * lisp/emacs-lisp/package.el: Mode-line progress report
4668         (package-menu--transaction-status): New variable.
4669         (package-menu-mode, package-menu--perform-transaction): Use it.
4671         * lisp/emacs-lisp/package.el: Better transaction messages
4672         (package-menu--partition-transaction): New function.
4673         (package-menu--prompt-transaction-p, package-menu-execute): Use
4674         it.
4675         (package-menu--perform-transaction): Don't do any messaging.
4677         * lisp/emacs-lisp/package.el: Revert async package transactions
4678         (package-menu-async): Update doc.
4679         (package-install-from-archive, package-download-transaction)
4680         (package-install, package-menu--perform-transaction)
4681         (package-menu-execute): Remove asynchronous functionality.
4683 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4685         Revert doc string changes to f90.el
4686         Problem reported by Glenn Morris in:
4687         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
4688         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4689         Revert recent changes to doc strings, as it's intended that they
4690         use grave accent, not quote.
4692 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
4694         Improve parameter name
4696         Add new inline function `hash-table-empty-p'
4698 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
4700         Don't require help-fns when not needed
4701         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
4702         * lisp/emacs-lisp/elint.el:
4703         Don't require help-fns at the top level.
4704         * lisp/emacs-lisp/advice.el (ad-arglist):
4705         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4706         Don't require help-fns.  (Bug#17001)
4708 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
4710         Fix slash collapsing in etags on MS-Windows
4711         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
4712         MS-Windows code from the Posix code, and support collapsing both
4713         forward- and back-slashes on MS-Windows.  Fixes a regression found
4714         by the test suite.
4716         Improve documentation of glyphless-char-display
4717         * doc/lispref/display.texi (Glyphless Chars): Improve
4718         documentation of glyphless character display.
4720         Fix "acronym" display of glyphless characters on w32
4721         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
4722         ignore "acronym" substitutes of 1 character for glyphless characters.
4724 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
4726         Add an automated test for let-when-compile
4727         * test/automated/subr-tests.el (let-when-compile): New test.
4729         Add let-when-compile macro instead of using pcase-let
4730         * lisp/subr.el (let-when-compile): New let-like macro that makes its
4731         bindings known to macros like `eval-when-compile' in the body.
4732         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
4733           `let-when-compile'. Also comment out the unused lexical var
4734           `el-kws-re'.
4735         The change greatly improves readability, while providing almost the
4736         same (even shorter) byte code: instead of pre-evaluating 10 variables,
4737         tossing them into a list, and destructuring that list a full screen
4738         page later, the variables are simply bound as they are evaluated,
4739         wrapped individually in `eval-when-compile'.
4741 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4743         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
4744         (package-delete-button-action): New function.
4745         (describe-package-1): Add Delete button.
4747         * lisp/emacs-lisp/package.el: Better dependency description
4748         (package--used-elsewhere-p): New optional arg, ALL, and return
4749         package-desc objects instead of names.
4750         (package-delete): Update accordingly.
4751         (describe-package-1): Describe which packages require the package.
4753 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
4755         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
4756         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
4757         Fix doc-string (Bug#20533).
4759         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
4760         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
4761         (switch-to-buffer): If the selected window is strongly dedicated
4762         to its buffer, signal error before prompting for buffer name.  Handle
4763         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
4764         * doc/lispref/windows.texi (Switching Buffers): Document
4765         `switch-to-buffer-in-dedicated-window'.
4767 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4769         Prefer "this" to “this” in doc strings
4770         This mostly just straightens quotes introduced in my previous patch.
4771         Suggested by Dmitry Gutov in:
4772         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
4773         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
4774         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
4775         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
4776         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
4777         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
4778         Prefer straight double quotes to curved double quotes in doc strings.
4780         Fix minor quoting problems in doc strings
4781         These were glitches regardless of how or whether we tackle the
4782         problem of grave accent in doc strings.
4783         * lisp/calc/calc-aent.el (math-restore-placeholders):
4784         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
4785         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
4786         * lisp/leim/quail/hebrew.el ("hebrew-new")
4787         ("hebrew-biblical-sil"):
4788         * lisp/leim/quail/thai.el ("thai-kesmanee"):
4789         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
4790         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
4791         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
4792         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
4793         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
4794         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
4795         (semantic-tag-components):
4796         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
4797         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4798         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
4799         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
4800         * lisp/emacs-lisp/generator.el (iter-next):
4801         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
4802         (gnus-article-mode-syntax-table):
4803         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
4804         * lisp/net/soap-client.el (soap-wsdl-get):
4805         * lisp/net/telnet.el (telnet-mode):
4806         * lisp/org/org-compat.el (org-number-sequence):
4807         * lisp/org/org.el (org-remove-highlights-with-change)
4808         (org-structure-template-alist):
4809         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
4810         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
4811         (handwrite-12pt, handwrite-13pt):
4812         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4813         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
4814         * lisp/progmodes/verilog-mode.el (verilog-tool)
4815         (verilog-string-replace-matches, verilog-preprocess)
4816         (verilog-auto-insert-lisp, verilog-auto-insert-last):
4817         * lisp/textmodes/makeinfo.el (makeinfo-options):
4818         * src/font.c (Ffont_spec):
4819         Fix minor quoting problems in doc strings, e.g., missing quote,
4820         ``x'' where `x' was meant, etc.
4821         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
4822         Fix minor quoting problem in other string.
4823         * lisp/leim/quail/ethiopic.el ("ethiopic"):
4824         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
4825         Omit unnecessary quotes.
4826         * lisp/faces.el (set-face-attribute, set-face-underline)
4827         (set-face-inverse-video, x-create-frame-with-faces):
4828         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
4829         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
4830         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
4831         * lisp/net/tramp.el (tramp-methods):
4832         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
4833         * lisp/textmodes/artist.el (artist-ellipse-right-char)
4834         (artist-ellipse-left-char, artist-vaporize-fuzziness)
4835         (artist-spray-chars, artist-mode, artist-replace-string)
4836         (artist-put-pixel, artist-text-see-thru):
4837         * lisp/vc/ediff-util.el (ediff-submit-report):
4838         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
4839         Use double-quotes rather than TeX markup in doc strings.
4840         * lisp/skeleton.el (skeleton-pair-insert-maybe):
4841         Reword to avoid the need for grave accent and apostrophe.
4842         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
4843         Don't use grave and acute accents to quote.
4845 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4847         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
4849 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4851         Try to port new etags tests to MS-Windows
4852         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4853         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4854         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4855         Adjust to test-case changes below.
4856         * test/etags/Makefile (CSRC): Remove dostorture.c.
4857         Whatever it was trying to test, wasn't working portably.
4858         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
4859         just a line-ending problem.
4860         * test/etags/c-src/dostorture.c: Remove.
4861         * test/etags/cp-src/c.C: Remove stray CR.
4862         * test/etags/html-src/algrthms.html: Remove trailing CRs.
4863         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
4864         but if someone edits it later it should stay UTF-8-compatible.
4866 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
4868         Fix display of overlapping window-specific overlays
4869         * src/keyboard.c (adjust_point_for_property): When adjusting point
4870         due to display strings, ignore overlays that are specific to
4871         windows other than the currently selected one.
4872         * src/xdisp.c (handle_single_display_spec): If the display
4873         property comes from an overlay, arrange for buffer iteration to
4874         resume only after the end of that overlay.  (Bug#20607)
4876 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
4878         New command icomplete-force-complete-and-exit
4879         * lisp/icomplete.el (icomplete-force-complete-and-exit):
4880         New command
4881         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
4882         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
4883         (icomplete-minibuffer-map): Bind C-j to it.
4884         (icomplete-forward-completions, icomplete-backward-completions):
4885         Mention the new command in the docstring.
4886         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
4887         the previous fix for bug#17545.
4889 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
4891         Fix last commit
4893         In Elisp manual explain how to override window manager positioning (Bug#20552)
4894         * doc/lispref/frames.texi (Position Parameters): Give example of
4895         how to override a window manager positioning decision.
4897         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
4898         * src/frame.c (Fdelete_frame): In doc-string mention that frame
4899         can't be deleted if it has a surrogate minibuffer.
4900         * doc/lispref/frames.texi (Minibuffers and Frames)
4901         (Deleting Frames): Explain "surrogate minibuffer frames".
4903         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
4904         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
4906 2015-05-18  Glenn Morris  <rgm@gnu.org>
4908         Add option to ignore commit lines matching a pattern in ChangeLog.
4909         * build-aux/gitlog-to-changelog: Add --ignore-line option.
4910         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
4912 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4914         Don't skip new etags tests on non-UTF-8 hosts
4915         Problem reported by Eli Zaretskii for MS-Windows.
4916         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
4917         (LC_ALL): Set to C if the current locale isn't UTF-8.
4918         (.PHONY): Remove ediff_1 thru ediff_5.
4919         (check): Always run.
4921 2015-05-18  Glenn Morris  <rgm@gnu.org>
4923         * lisp/calculator.el (calculator-funcall):
4924         * lisp/textmodes/artist.el (artist-spray-random-points):
4925         Use standard degree/radian conversion utilities.
4927         Further lisp-complete-symbol related cleanup.
4928         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
4929         Unadvertise non-functional argument.  Replace obsolete alias.
4931 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4933         Add a test case for Maven warning ouput
4934         * test/automated/compile-tests.el
4935         (compile-tests--test-regexps-data): Add a case for Maven warning
4936         ouput.
4937         (compile--test-error-line): Check the compilation message type, if
4938         it's specified in the test data.
4940 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
4942         Update Maven compilation-mode entry to distinguish warnings
4943         * lisp/progmodes/compile.el
4944         (compilation-error-regexp-alist-alist): Update Maven entry to
4945         distinguish warnings (bug#20556).
4947 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
4949         * test/automated/sgml-mode-tests.el: New file.
4951 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4953         Improve handling of the first Git revision
4954         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
4955         there's no next entry, delete until the end of the buffer.
4956         (log-view-end-of-defun-1): Stop at eob.
4957         * lisp/vc/vc-annotate.el
4958         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
4959         when previous-revision is nil.
4960         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
4961         with `--' to avoid ambiguity.
4962         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
4963         returned revision string.
4964         (vc-git-annotate-time): Expect `^' before the first revision.
4965         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
4966         REV1 is nil, and REV2 is not.
4967         * lisp/vc/vc.el: Update the description of the `diff' function.
4969 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
4971         Allow checkdoc to be called in batch
4972         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
4973           is non-nil, echo the error with `warn'.
4974         How it can be used in -batch:
4975         (with-current-buffer (find-file "checkdoc.el")
4976           (checkdoc-current-buffer t))
4978 2015-05-18  Glenn Morris  <rgm@gnu.org>
4980         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
4982 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4984         * admin/notes/unicode: New section "binary files".
4986         Change new etags test to use UTF-8 encoding
4987         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4988         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4989         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4990         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
4991         * test/etags/html-src/softwarelibero.html:
4992         Switch to UTF-8 encoding.
4993         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
4994         Remove Makefile, as it's too incestuous to have the test input
4995         include the build procedure.
4996         (UTF8_LOCALE, UTF_ENCODING): New macros.
4997         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
4998         (check): Skip if not UTF-8.
4999         (.PHONY): New rule.
5000         (FRC): Remove, as superseded by .PHONY.  All uses removed.
5001         (regexfile): Prefer printf to echo when outputting oddball chars.
5002         (.PRECIOUS): Remove, as these files are not built.
5004         Rename 'foo-gzipped' to 'foo.gz'
5005         * test/automated/data/decompress/foo.gz:
5006         Rename from test/automated/data/decompress/foo-gzipped,
5007         to make it easier for other tools to tell that it's compressed.
5008         * test/automated/zlib-tests.el (zlib--decompress):
5009         Adjust to renamed file.
5011 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
5013         Set up default-directory
5014         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
5015         binding for `v'.
5016         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
5017         appropriate value for default-directory.
5019 2015-05-17  Samer Masterson  <samer@samertm.com>
5021         * lisp/eshell/em-term.el (eshell-term-sentinel):
5022         No-op by default, only kills term buffer if
5023         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
5024         (eshell-destroy-buffer-when-process-dies): New custom to preserve
5025         previous behavior.
5027         eshell: Introduce new buffer syntax
5028         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
5029         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
5030         needed (Bug#19319).
5031         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
5032         (eshell-get-target): Remove shorthand-specific code.
5033         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
5034         '#<buffer-name>'.
5036 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5038         Merge branch 'master' into cairo
5040 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5042         Merge branch 'master' into cairo
5044         Add PBM support for cairo.
5045         * src/image.c (xcolor_to_argb32): New function.
5046         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5047         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5048         XImagePtr if ! USE_CAIRO.
5049         (pbm_load): Add cairo support.
5051 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5053         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5054         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5055         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5056         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5057         x_free_cr_resources.
5059         Handle specified bg in images.  Use generic libpng code for PNG:s.
5060         * src/image.c (get_spec_bg_or_alpha_as_argb)
5061         (create_cairo_image_surface): New functions when USE_CAIRO.
5062         (xpm_load): Call the above functions.  Handle XPM without mask
5063         when USE_CAIRO.
5064         (png_load_body): Handle USE_CAIRO case.
5065         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5066         instead.
5067         (jpeg_load_body): Call create_cairo_image_surface.
5068         (gif_load, svg_load_image): Handle specified background, call
5069         create_cairo_image_surface.
5070         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5072 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5074         Support GIF and Tiff with cairo.
5075         * configure.ac: Allow jpeg with cairo.
5076         Allow tiff and gif with cairo.
5077         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5078         (tiff_load): Create cairo image surface if USE_CAIRO.
5079         (gif_load): Ditto.
5081         Support JPEG with USE_CAIRO.
5082         * configure.ac: Allow jpeg with cairo.
5083         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5085 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5087         Support RSVG and cairo.
5088         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5089         * src/dispextern.h (struct image): add cr_data2 if cairo.
5090         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5091         (x_clear_image): Free cr_data and cr_data2 if set.
5092         (xpm_load): Assign data to cr_data2.
5093         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5095 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5097         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5098         * configure.ac (HAVE_RSVG): Move after cairo.
5099         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5100         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5101         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5102         don't return early.
5103         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5104         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5105         and create a surface.
5107         Tool tips for menus did not show any text.
5108         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5109         tip frames, the geometry may be wrong.
5111         Merge branch 'master' into cairo, fixes tooltips not shown.
5113         Merge branch 'master' into cairo
5115         Add CAIRO_CFLAGS to lwlib/Makefile.in
5116         * Makefile.in (CAIRO_CFLAGS): Add.
5118 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5120         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5122 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5124         Draw outermost line using black relief and erase corners also for cairo.
5125         * xterm.c [USE_CAIRO]: Include math.h.
5126         (enum corners) [USE_CAIRO]: New enum.
5127         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5128         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5129         than 1, draw the outermost line using the black relief.
5131         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5133 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5135         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5137         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5139         Use int instead of unsigned int for width and height args.
5140         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5141         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5142         width and height args.
5144         Modernize k&r cairo-related function declarations.
5145         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5146         (xg_print_frames_dialog): Modernize k&r declarations.
5147         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5148         (Fx_print_frames_dialog): Modernize k&r declarations.
5149         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5150         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5151         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5152         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5153         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5154         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5155         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5156         (x_clear_area): Modernize k&r declarations.
5158         Implement wave-style variant of underlining for cairo.
5159         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5160         (x_draw_underwave) [USE_CAIRO]: Use it.
5162         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5164 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5166         Fix fringe bitmap initialization for cairo.
5167         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5168         cairo image surface.
5169         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5171 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5173         Add cairo drawing.
5174         * configure.ac (with-cairo): New option.
5175         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5176         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5177         Output "Does Emacs use cairo?".
5178         * lisp/version.el (emacs-version): Add cairo version.
5179         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5180         (FONT_OBJ): Add comment about ftcrfont.
5181         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5182         (LIBES): Add CAIRO_LIBS.
5183         * src/dispextern.h (struct image): Add cr_data for cairo.
5184         (x_cr_init_fringe): Declare.
5185         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5186         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5187         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5188         with w32_init_fringe.
5189         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5190         * src/ftfont.c (ftfont_info_size); New global variable.
5191         (ftfont_open2): New extern function almost the same as old ftfont_open,
5192         but takes the font_object as argument.
5193         (ftfont_open): Build font object and call ftfont_open2.
5194         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5195         * src/gtkutil.c (xg_clear_under_internal_border)
5196         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5197         queue_draw if not cairo.  Change args to x_clear_area.
5198         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5199         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5200         (xg_print_frames_dialog): New functions for printing.
5201         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5202         (xg_print_frames_dialog): Declare.
5203         * src/image.c: Add defined (USE_CAIRO) for PNG.
5204         Add !defined USE_CAIRO for W32 PNG code.
5205         (x_clear_image): If cairo, destroy the surface in cr_data.
5206         (png_load): Add new cairo compatible implementation.
5207         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5208         * src/xfns.c: New section Printing.
5209         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5210         (x-print-frames-dialog): New printing functions.
5211         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5212         cairo.
5213         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5214         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5215         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5216         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5217         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5218         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5219         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5220         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5221         Declare.
5222         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5223         (max_fringe_bmp, fringe_bmp): New variables.
5224         (x_gc_get_ext_data, x_extension_initialize)
5225         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5226         (x_set_cr_source_with_gc_foreground)
5227         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5228         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5229         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5230         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5231         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5232         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5233         (x_update_begin): Create cairo surface if needed.
5234         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5235         (x_update_end): Paint cairo drawing surface to xlib surface.
5236         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5237         arguments to x_clear_area.
5238         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5239         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5240         of XSetClipMask.
5241         (x_set_glyph_string_clipping)
5242         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5243         instead of XSetClipRectangles.
5244         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5245         x_fill_rectangle instead of XFillRectangle.
5246         (x_draw_glyph_string_foreground)
5247         (x_draw_composite_glyph_string_foreground)
5248         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5249         of XDrawRectangle.
5250         (x_draw_relief_rect): Add code for USE_CAIRO.
5251         Call x_reset_clip_rectangles instead of XSetClipMask.
5252         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5253         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5254         instead of XSetClipMask.
5255         (x_draw_image_foreground, x_draw_image_foreground_1):
5256         x_draw_rectangle instead of XDrawRectangle.
5257         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5258         XFillRectangle.
5259         (x_draw_image_glyph_string): If img has cr_data, use it as
5260         a cairo surface.
5261         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
5262         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
5263         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
5264         x_reset_clip_rectangles instead of XSetClipMask.
5265         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
5266         (x_clear_area1): New function that calls XClearArea.
5267         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
5268         non-cairo.
5269         (x_clear_frame): x_clear_window instead of XClearWindow.
5270         (x_scroll_run): Set frame garbaged if cairo.
5271         (XTmouse_position): Initialize *part to 0.
5272         (x_scroll_bar_create): Adjust arguments to x_clear_area.
5273         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
5274         x_fill_rectangle instead of XFillRectangle.
5275         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
5276         arguments to x_clear_area.
5277         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
5278         (handle_one_xevent): Adjust arguments to x_clear_area.
5279         Destroy cairo surface for frame if ConfigureNotify.
5280         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
5281         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
5282         x_reset_clip_rectangles instead of XSetClipMask.
5283         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
5284         x_reset_clip_rectangles instead of XSetClipMask.
5285         (x_clear_frame_area): Adjust arguments to x_clear_area.
5286         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
5287         (x_term_init): Call x_extension_initialize if cairo.
5288         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
5289         x_cr_destroy_fringe_bitmap for cairo.
5290         (x_initialize): Call x_cr_init_fringe for cairo.
5291         * src/xterm.h: Add include of cairo header files.
5292         (x_bitmap_record): Add img if cairo.
5293         (x_gc_ext_data): New struct for cairo.
5294         (x_display_info): Add ext_codes for cairo.
5295         (x_output): Add cr_context and cr_surface for cairo.
5296         (x_clear_area): Change arguments from Display*/Window to frame pointer.
5297         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
5298         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
5299         (x_cr_draw_frame, x_cr_export_frames): Declare.
5301 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
5303         Fix integer-valued `mouse-highlight' (Bug#20590)
5304         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
5306 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
5308         MS-Windows followup for ASCIIfication of curved quotes
5309         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
5310         test for curved quotes being displayable, after switching the
5311         terminal encoding.  (Bug#20545)
5313 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5315         Spelling fixes
5317 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5319         Add comment that x_shift_glyphs_for_insert is never called.
5320         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
5321         comment that this function is never called.
5323 2015-05-16  Glenn Morris  <rgm@gnu.org>
5325         * src/lisp.mk: Remove from repository and generate at build-time.
5326         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
5327         (shortlisp_filter): New variable.
5328         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
5329         (distclean): Remove lisp.mk.
5330         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
5331         * lisp/loadup.el: Tweak layout to make it easier to parse.
5332         * make-dist: Do not distribute src/lisp.mk.
5334 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5336         Display shorter dates in Git annotate output
5337         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
5338         format (when not overridden with vc-git-annotate-switches).
5339         (vc-git-annotate-time): Support the short format, as well as ISO
5340         8601 that has been used until now (bug#5428).
5342 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5344         ASCIIfy curved quotes on displays lacking them
5345         * lisp/international/mule-cmds.el (set-locale-environment):
5346         If curved quotes don't work, display straight ASCII approximations
5347         (Bug#20545).
5349 2015-05-16  Glenn Morris  <rgm@gnu.org>
5351         Small src/Makefile simplification.
5352         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
5353         * src/Makefile.in (lisp): Derive from shortlisp.
5354         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
5356 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
5358         * lisp/help-mode.el (help-go-forward): Doc fix.
5359         (Bug#20577)
5361         * doc/lispref/debugging.texi (Profiling): Improve indexing.
5362         (Bug#20576)
5364 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5366         Use `unless' to have one fewer `not'
5367         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
5368         have one fewer `not'.
5370         Remove redundant :group declarations from vc-git.el
5371         * lisp/vc/vc-git.el (vc-git-diff-switches)
5372         (vc-git-annotate-switches, vc-git-resolve-conflicts)
5373         (vc-git-program, vc-git-root-log-format): Remove the redundant
5374         :group declarations.
5376 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
5378         Removes the predicate from lisp-complete-symbol (Bug#20456)
5379         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
5380         and remove it from the docstring.
5382 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5384         Add new option vc-git-resolve-conflicts
5385         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
5386         (vc-git-find-file-hook): Add to after-save-hook only when the
5387         above is non-nil.
5388         (vc-git-resolve-when-done): Update to honor the new variable.
5389         (Bug#20292)
5391 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
5393         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
5394         (tabulated-list-init-header): Document new behavior.
5395         (tabulated-list-print-fake-header): No nothing if
5396         `tabulated-list--header-string' is nil.
5397         (tabulated-list--header-string): Add a docstring.
5398         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5399         * etc/NEWS: Document it.
5401 2015-05-15  Leo Liu  <sdl.web@gmail.com>
5403         Revert "Fix cps--gensym"
5404         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
5405           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
5407 2015-05-15  Glenn Morris  <rgm@gnu.org>
5409         Replace AC_SUBST_FILE in configure with include in Makefiles.
5410         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
5411         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
5412         (AUTO_DEPEND): New output variable.
5413         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
5414         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5415         (lwlib_deps_frag): Replace by conditional include.
5416         * lwlib/autodeps.mk: Remove file.
5417         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
5418         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5419         (oldxmenu_deps_frag): Replace by conditional include.
5420         * oldXMenu/autodeps.mk: Remove file.
5421         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
5422         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5423         (lisp_frag): Replace by an include.
5424         (deps_frag): Replace by conditional include.
5425         * src/autodeps.mk: Remove file.
5427         Tweak japanese.el's loading of dependencies.
5428         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
5429         * lisp/language/japanese.el: Use require rather than load.
5430         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5431         Provide a feature.
5432         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
5433         Provide a feature in the generated file.
5435 2015-05-15  Jan D  <jan.h.d@swipnet.se>
5437         Fix NS warnings.
5438         * nsmenu.m (ns_popup_dialog)
5439         * nsimage.m (initFromXBM:width:height:fg:bg:)
5440         * nsfns.m (Fx_create_frame): Remove unused variables.
5441         (Fns_read_file_name): Initialize fname, remove ret.
5442         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
5443         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
5444         variable.
5445         (init): Add parantesis in if.
5446         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
5448 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5450         Fix a enum conversion warning in macfont.m
5451         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
5452         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
5454 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
5456         Support de-alt dictionary with Aspell.
5457         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
5458         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
5460 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5462         cus-start.el: Add ns-confirm-quit.
5463         * cus-start.el: Add ns-confirm-quit.
5465         Fix warnings on OSX 10.10.
5466         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
5467         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
5468         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
5469         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
5470         * nsimage.m (allocInitFromFile, setPixmapData): Only call
5471         setScalesWhenResized for OSX < 10.6.
5472         * nsterm.h (EmacsScroller): Declare scrollerWidth.
5473         * nsterm.m (ns_copy_bits): New function that does not use deprecated
5474         NSCopyBits.
5475         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
5476         (runAlertPanel): New function.
5477         (applicationShouldTerminate:): Call runAlertPanel.
5478         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
5479         for OSX < 10.10.
5480         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
5481         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
5482         (draggingEntered:): Returns NSDragOperation.
5483         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
5485 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5487         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
5488         (package--init-file-ensured): New variable.
5489         (package-initialize, package--ensure-init-file): Use it.
5491 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5493         Honor :fore/background for XBM on NS (Bug#14969).
5494         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
5495         initFromXBM takes bg, fg args, remove flip arg.
5496         (ns_image_from_XBM): Add bg, fg args.
5497         * image.c (x_create_bitmap_from_data)
5498         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
5499         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
5500         Remove flip arg.
5501         (initFromSkipXBM): Move code to initFromXBM.
5502         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
5503         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
5504         false.
5505         Remove bit flipping (bitPat, swt), generated incorrect images when
5506         width/height wasn't a multiple of 8.
5507         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
5508         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
5509         flip arg.
5511 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5513         * lisp/emacs-lisp/package.el: Be more careful with the init file
5514         (package--ensure-init-file): Check that user-init-file is set,
5515         exists, is readable, and is writable.  (Bug#20584)
5516         Also expand the docstring.
5518 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
5520         Sync with upstream verilog-mode revision 6232468
5521         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
5522         (verilog-highlight-grouping-keywords): Fix use of face when
5523         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
5524         Pompa.
5525         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
5526         parent is reset, bug906. Reported by Ken Schmidt.
5527         (verilog-auto-inout-module): Add fourth regexp argument to
5528         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
5529         bug856. Reported by John Tillema.
5530         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
5531         modport if signal attachment is itself a modport.  Reported by
5532         Matthew Lovell.
5533         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
5534         always_comb and always_latch, bug844.  Reported by Greg Hilton.
5535         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
5536         with many curly-bracket pairs, bug663.
5537         (verilog-set-auto-endcomments): Fix end comments for functions of
5538         type void, etc.  Reported by Alex Reed.
5539         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
5540         caused by indent-line-to deleting tabls pre 24.5.
5541         (verilog-nameable-item-re): Fix nameable items that can have an
5542         end-identifier to include endchecker, endgroup, endprogram,
5543         endproperty, and endsequence.  Reported by Alex Reed.
5544         (verilog-label-be): When auto-commenting a buffer, consider
5545         auto-comments on all known keywords (not just a subset thereof).
5546         Reported by Alex Reed.
5547         (verilog-auto-end-comment-lines-re)
5548         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
5549         Automatically comment property/endproperty blocks to match other
5550         similar blocks like sequence/endsequence, function/endfunction,
5551         etc. Reported by Alex Reed.
5552         (verilog-set-auto-endcomments): Detect the function- or task-name
5553         when auto-commenting blocks that lack an explicit
5554         portlist. Reported by Alex Reed.
5555         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
5556         allow post-AUTO user fixups, bug826. Reported by Dennis
5557         Muhlestein.
5558         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
5559         is nil, fix indenting initial/final to match always statements,
5560         bug825. Reported by Tim Clapp.
5561         (verilog-extended-complete-re): Fix indentation of DPI-C imports
5562         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
5563         Mao and Jason Forkey.
5564         (verilog-read-decls): Fix parsing typed interfaces.  Fix
5565         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
5566         Fix localparam not being ignored in AUTOINSTPARAM,
5567         bug889. Reported by Shannon Hill.
5568         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
5569         bug793.  Reported by Pierre-David Pfister.
5570         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
5571         verilog-auto-arg-format to support newlines in AUTOARG. Reported
5572         by Jie Xiao.
5573         (verilog-batch-execute-func): Do not batch re-auto files loaded by
5574         Local Variables. Fix printing "no changes to be saved" with
5575         verilog-batch. Reported by Dan Dever.
5576         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
5577         interface-only modules, bug721.  Reported by Dean Hoyt.
5578         Author: Alex Reed <acreed4@gmail.com>
5579         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
5580         treat '<keyword>:<identifier>' as the start of a labeled
5581         statement, bug905.  Reported by Enzo Chi.
5582         (verilog-directive-re, verilog-compiler-directives)
5583         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
5584         directives (plus some extras) when determining indentation, bug
5585         901.  Reported by Bernd Beuster.
5586         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
5587         iff expression doesn't start with word-character, bug900.
5588         (verilog-optional-signed-range-re, verilog-optional-signed-re):
5589         Fix incorrect indentation/alignment of unsigned declarations,
5590         bug897.
5591         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
5592         always constructs, bug895.
5593         (verilog-calc-1): Fix verilog-mode constraint indentation,
5594         bug324. Reported by Eric Mastromarchi.
5595         (verilog-beg-of-statement): Fix indenting for some forms of
5596         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
5597         continued assignment incorrect if first line ends with ']',
5598         bug437. Reported by Dan Dever.  Fix indention of cover inside an
5599         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
5600         blocks, bug842.
5601         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
5602         bug859. Reported by Kaushal Modi.
5603         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
5604         (verilog-backward-token): Fix indenting sensitivity lists with
5605         named events, bug840.  Reed.
5606         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
5607         nil not honoring 'forever', 'foreach', and 'do' keywords.
5609 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5611         Check for invalid GTK+ monitor scales
5612         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
5613         INT_MAX for too-large scales.  All callers changed to assume the
5614         result is valid (Bug#20432).
5615         (xg_frame_set_char_size, xg_update_scrollbar_pos):
5616         Calculate scale only if needed.
5617         show ASCII approximations instead.
5619 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
5621         Fix daemon crashes when linum-mode is turned on early on
5622         * src/window.c (Fwindow_end): Don't try calling display engine
5623         functions on initial-frame frame.  (Bug#20565)
5625         Fix selective diff browsing in Ediff
5626         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
5627         beginning of the region before searching for the
5628         ediff-regexp-focus-* regexps.  (Bug#20568)
5630 2015-05-14  Jan D  <jan.h.d@swipnet.se>
5632         Fixes Bug#20142.
5633         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
5634         in the main loop, even for Gtk 3 (Bug#20142).
5636         Don't access display after i/o error (Bug#19147).
5637         * xterm.c (x_connection_closed): Add third arg ioerror.
5638         If ioerror, set display to 0 (Bug#19147).
5639         (x_error_quitter): Call x_connection_closed with third arg false.
5640         (x_io_error_quitter): Call x_connection_closed with third arg true.
5642         Handle GTK_SCALE, fixes Bug#20432.
5643         * gtkutil.c (xg_get_gdk_scale): New function.
5644         (xg_frame_set_char_size)
5645         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
5646         (xg_get_default_scrollbar_height)
5647         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
5648         when setting sizes (Bug#20432).
5650 2015-05-13  Leo Liu  <sdl.web@gmail.com>
5652         Fix cps--gensym
5653         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
5655 2015-05-13  Glenn Morris  <rgm@gnu.org>
5657         Fix bootstrap (void function cl-member).
5658         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
5659         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
5661 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5663         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
5664         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
5665         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
5666         Avoid defalias for closures which are not immutable.
5667         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
5668         dispatchers table with various entries.
5669         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
5670         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
5672 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
5674         Improve tagging of C bindings in DEFVAR_*
5675         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
5676         from DEFVAR_*.
5678 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5680         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
5682 2015-05-12  Glenn Morris  <rgm@gnu.org>
5684         * lisp/progmodes/tcl.el (tcl-filter):
5685         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
5687         Add basic VC push support.
5688         * lisp/vc/vc.el (vc-push): New autoloaded command.
5689         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
5690         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
5691         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
5692         (vc-bzr-push): New.
5693         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
5694         (vc-git-pull): Reimplement using vc-git--pushpull.
5695         (vc-git-push): New.
5696         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
5697         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
5698         * doc/emacs/maintaining.texi (Pulling / Pushing):
5699         Rename from "VC Pull".  Mention pushing.
5700         (VC With A Merging VCS, VC Change Log): Update xrefs.
5701         (Branches): Update menu.
5702         * doc/emacs/emacs.texi: Update menu.
5703         * etc/NEWS: Mention this.
5705 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
5707         Improve the seq pcase pattern and the `seq-let' macro
5708         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
5709         object is a sequence, and binds each element of ARGS to the
5710         corresponding element of the sequence.
5712 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
5714         Fix tags created from DEFVAR_* declarations in C
5715         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
5716         to make tags extracted from DEFVAR_* declarations more accurate.
5718         Add a test suite for etags
5719         * test/etags/: New test suite, adapted from
5720         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
5721         whose original author is Francesco Potortì <pot@gnu.org>.
5723         Fix tagging of symbols in C enumerations
5724         * lib-src/etags.c (consider_token): Don't tag symbols in
5725         expressions that assign values to enum constants.  See
5726         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
5727         for details.
5728         (C_entries): Reset fvdef to fvnone after processing a preprocessor
5729         conditional and after a comma outside of parentheses.
5731 2015-05-12  Glenn Morris  <rgm@gnu.org>
5733         * lisp/url/url-handlers.el (url-file-name-completion)
5734         (url-file-name-all-completions): Silence compiler.
5736         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
5738         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
5740 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
5742         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
5743         (cl--generic-mandatory-args): Remove.
5744         (cl--generic-split-args): New function.
5745         (cl-generic-define, cl--generic-lambda): Use it.
5746         (cl-generic-define-method): Use it as well, and add support for
5747         context args.
5748         (cl--generic-get-dispatcher): Handle &context dispatch.
5749         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
5750         (cl--generic-dispatchers): Pre-fill.
5751         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
5753 2015-05-11  Glenn Morris  <rgm@gnu.org>
5755         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
5757 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5759         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
5760         * lisp/term/rxvt.el: Require term/xterm.
5761         (rxvt-function-map): Use xterm-rxvt-function-map.
5762         (rxvt-standard-colors): Move before first use.
5763         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
5764         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
5765         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
5766         Move shared bindings between rxvt and xterm to it.
5767         (xterm-function-map): Use it.  Move the xterm-paste binding to
5768         xterm-rxvt-function-map (bug#20444).
5769         (xterm-standard-colors): Move before first use.
5770         (xterm--push-map): New function.
5771         (xterm-register-default-colors): Take standard colors as argument.
5772         (terminal-init-xterm): Use it.  Adjust call to
5773         xterm-register-default-colors.
5775 2015-05-11  Glenn Morris  <rgm@gnu.org>
5777         * lisp/term/x-win.el: Quieten --without-x compilation.
5778         (x-own-selection-internal, x-disown-selection-internal)
5779         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
5780         Declare.
5782         * Makefile.in (emacslog): Remove srcdir.
5783         (ChangeLog): Update for the above.
5785 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5787         Spelling fix
5789 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5791         python.el: better limit for looking-back calls
5792         * lisp/progmodes/python.el (python-shell-accept-process-output):
5793         Use last comint prompt start as limit for looking-back.
5795 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
5797         CEDET (srecode-insert-fcn): Fix use of oref on a class
5798         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
5799         a class.  Reported by Pierre Lorenzon.
5800         (srecode-template-inserter-point): Remove declaration.
5802         CEDET (srecode-create-dictionary): Avoid obsolete object name
5803         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
5804         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
5806 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5808         C-x 8 shorthands for curved quotes, Euro, etc.
5809         Although C-x 8 lets you insert arbitrary Unicode characters,
5810         it's awkward to use this to insert commonly used symbols such as curved
5811         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
5812         characters commonly found in English text and in basic math.
5813         For example, assuming the Alt key works on your keyboard and iso-transl
5814         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
5815         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
5816         (Bug#20499)
5817         * doc/emacs/mule.texi (Unibyte Mode):
5818         A few other printing characters now work too.
5819         * etc/NEWS: Document this.
5820         * lisp/international/iso-transl.el (iso-transl-char-map):
5821         Also support the following characters:
5822         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
5824 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5826         Add xref-find-regexp
5827         * lisp/progmodes/xref.el (xref-find-function): Describe the
5828         `matches' action.
5829         (xref-find-regexp): New command, using it.
5830         (xref-collect-references): Rename to xref-collect-matches.
5831         (xref--collect-reference): Rename to xref--collect-match.
5832         (xref-collect-matches, xref--collect-match): Accept new argument,
5833         KIND.  Update accordingly.
5834         (xref--regexp-to-extended): New function.
5835         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
5836         `matches' action.
5837         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
5838         * lisp/progmodes/etags.el (etags-xref-find):
5839         Support the `matches' action.
5840         (etags--xref-find-matches): New function.
5842 2015-05-10  Glenn Morris  <rgm@gnu.org>
5844         * Makefile.in: Fixes for recent change-history changes.
5845         (change-history-nocommit): Update footer regexp.
5846         Ensure output script stays executable.
5848 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
5850         New version of `seq-let' based on a pcase pattern
5851         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
5852         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
5854 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
5856         Add basic HTML5 tags and a template
5857         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
5858         (html-tag-alist): Add HTML5 tags.
5859         (html-tag-help): Add new tags descriptions.
5860         (html-navigational-links): Template for nav links.
5861         (html-html5-template): Template for a HTML5 page.
5863 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5865         semantic/symref/grep: Don't use word boundaries
5866         * lisp/cedet/semantic/symref/grep.el
5867         (semantic-symref-perform-search): Instead of wrapping input in
5868         word boundaries, check that the characters before and after are
5869         not word constituents.
5871         semantic/symref/grep: Support regexp search
5872         * lisp/cedet/semantic/symref.el
5873         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
5874         the search type is regexp.
5875         * lisp/cedet/semantic/symref/grep.el
5876         (semantic-symref-perform-search): Support the regexp search type.
5877         Pass -E to Grep when it's used.
5879         semantic-symref-regexp: Allow to input an arbitrary string
5880         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
5881         Allow to input an arbitrary string interactively.
5883         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
5884         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
5885         Remove tag-symbol-match-p from the default value
5886         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
5888         Declare find-tag obsolete
5889         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
5890         xref-find-definitions.
5892 2015-05-10  Jan D  <jan.h.d@swipnet.se>
5894         Draw composite string correctly (Bug#20537).
5895         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
5896         (ns_draw_glyph_string): Call it (Bug#20537).
5898 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
5900         Avoid infloop in ERC
5901         * lisp/simple.el (line-move-to-column): Ignore field boundaries
5902         while computing line beginning position.  (Bug#20498)
5904 2015-05-08  Glenn Morris  <rgm@gnu.org>
5906         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
5907         * build-aux/gitlog-to-emacslog: Check called from right directory.
5908         (srcprefix): Remove.
5910         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
5911         * Makefile.in (ChangeLog): No longer pass "distprefix".
5912         * make-dist: Update "make ChangeLog" syntax for the above change.
5914         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
5915         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
5917         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
5919         Add command-line option-parsing to gitlog-to-emacslog.
5920         * build-aux/gitlog-to-emacslog: Add command-line options.
5921         By default, refuse to remove an existing output file.
5922         * Makefile.in (CHANGELOG): Update default.
5923         (ChangeLog): Do not test for existing file.
5924         (change-history-nocommit): Ensure temp file does not exist.
5926         Quieten --without-x compilation.
5927         * lisp/term/common-win.el: Provide a feature.
5928         * lisp/term/x-win.el (term/common-win): Require it.
5930         * lisp/dired-aux.el (dired-do-print): Require lpr.
5932         Quieten compilation, eg in --without-x builds.
5933         * lisp/dired-aux.el (lpr-printer-switch):
5934         * lisp/frame.el (tool-bar-height):
5935         * lisp/linum.el (font-info):
5936         * lisp/window.el (font-info, overflow-newline-into-fringe)
5937         (tool-bar-height):
5938         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
5939         * lisp/gnus/gnus-util.el (iswitchb-mode):
5940         * lisp/mail/rmailmm.el (libxml-parse-html-region):
5941         * lisp/net/nsm.el (gnutls-peer-status)
5942         (gnutls-peer-status-warning-describe):
5943         * lisp/net/shr.el (libxml-parse-xml-region):
5944         * lisp/url/url-http.el (gnutls-peer-status): Declare.
5946 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5948         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
5949         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
5950         `subclass' since they're never called with a class.
5951         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
5952         srecode-dictionary-child-p.
5954 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5956         help--binding-locus: Document argument POSITION.
5957         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
5959 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5961         Merge from gnulib.
5962         * doc/misc/texinfo.tex: Get latest version.
5964 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
5966         ffap.el (ffap-read-file-or-url): Fix completing-read call
5967         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
5968           `completing-read' should be a symbol.
5970 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
5972         Verify file modifications by other programs
5973         * src/filelock.c (lock_file): Check whether the file was modified
5974         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
5976         Fix keyboard macros that include function keys
5977         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
5978         keys in the macro before returning.  (Bug#20454)
5980 2015-05-08  Glenn Morris  <rgm@gnu.org>
5982         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
5983         "Copyright-paperwork-exempt".  (Bug#20324)
5985         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
5986         (log-edit-rewrite-tiny-change): New variable.
5987         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
5988         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
5989         * etc/NEWS: Mention this.
5991         * lisp/calc/calc.el (math-zerop): Declare.
5993         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
5995 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5997         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
5998         Support the case when BINDINGS is a single tuple.  (Bug#20525)
6000         * etc/NEWS: Fix typo in commit 14bb519
6002 2015-05-07  Jan D  <jan.h.d@swipnet.se>
6004         Warn for multiple display crash for all Gtk+ versions.
6005         * configure.ac: Warn for multiple display crash for all Gtk+
6006         versions.  Output URL to Gtk+ bug (Bug#20452).
6008         ns-win.el (ns-paste-secondary): Use gui-get-selection.
6009         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
6011 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6013         * lisp/emacs-lisp/package.el: New "external" package status
6014         An external package is any installed package that's not built-in
6015         and not from `package-user-dir', which usually means it's from an
6016         entry in `package-directory-list'.  They are treated much like
6017         built-in packages, in that they cannot be through the Package Menu
6018         deleted and are not considered for upgrades.
6019         (package-desc-status): Identify if a package is installed outside
6020         `package-user-dir'.
6021         (package-menu--print-info-simple)
6022         (package-menu--status-predicate): Add support for it.
6023         * etc/NEWS: Document it.
6025 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6027         * lisp/mail/rmail.el: Use lexical-binding
6028         (rmail-bury): Remove unused var `buffer-to-bury'.
6029         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
6030         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
6031         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
6032         (rmail-insert-inbox-text): Remove unused var `movemail'.
6033         (rmail-add-mbox-headers): Remove unused var `limit'.
6034         (rmail-undelete-previous-message): Remove unused var `value'.
6035         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6036         `resent-reply-to'.
6037         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6038         (rmail-restore-desktop-buffer): Rename arguments.
6040 2015-05-06  Glenn Morris  <rgm@gnu.org>
6042         * Makefile.in (change-history-commit): Add missing piece of previous.
6044         Avoid unnecessary bumping of Makefile.in's timestamp.
6045         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6046         (emacslog): New variable.
6047         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6048         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6049         (change-history-nocommit): Store hash in $emacslog.
6050         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6051         * admin/update_autogen (changelog_files): Update for the above.
6053         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6054         (CHANGELOG): New variable.
6055         (no-ChangeLog): Remove.
6056         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6057         (change-history-nocommit): Use a temp file rather than insisting
6058         on deletion of any existing "ChangeLog".
6060         * build-aux/gitlog-to-emacslog: Allow specification of output.
6062         * admin/update_autogen: Add option to update ChangeLog.
6063         (usage): Mention -H.
6064         (changelog_flag, changelog_n, changelog_files): New variables.
6065         (main): Check for -H, and maybe run change-history-nocommit.
6067 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6069         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6071         (define-modify-macro): Make sure cl--arglist-args is defined
6072         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6073         cl--arglist-args is defined (bug#20517).
6075 2015-05-06  Glenn Morris  <rgm@gnu.org>
6077         * Makefile.in (change-history-nocommit): New.
6079 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6081         Only cancel timer when it is non-nil
6082         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6083         timer when it is non-nil
6084         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6086 2015-05-06  Glenn Morris  <rgm@gnu.org>
6088         Quieten cedet compilation
6089         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6090         Invert fboundp test to quieten on current Emacs.
6091         * lisp/cedet/ede/config.el (ede-shell-run-something)
6092         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6093         (semanticdb-refresh-table): Declare.
6094         (ede-preprocessor-map): Require semantic/db.
6096         Quieten cc-mode compilation
6097         * lisp/progmodes/cc-awk.el (c-forward-sws):
6098         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6099         Declare.
6101 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6103         lisp/subr.el (delete-dups): Avoid nreverse.
6105 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6107         * lisp/subr.el (delete-dups): Make it destructive again.
6109 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6111         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6113 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6115         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6116         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6117         (testcover--read): Rename from testcover-read.  Change calling convention.
6118         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6119         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6120         testcover--read.
6121         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6122         (testcover-mark): Remove unused var `item'.
6123         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6125 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6127         lisp/subr.el (delete-dups): Use a hash table
6128         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6129           use a hash table. This can result in ~500 times speed-up for typical
6130           collections of size 5000, like that of `load-library'.
6132 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6134         CEDET: Avoid `oref' on classes in a few more cases
6135         * lisp/cedet/ede/generic.el (ede-find-target):
6136         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6137         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6138         var `prefix'.
6140         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6141         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6142         (semantic-symref-perform-search): Remove unused var `pat'.
6144         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6145         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6146         Avoid `oref' on classes (bug#20491).
6147         (srecode-compile-split-code): Remove unused var `key'.
6149 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6151         Clean up pulse.el a little
6152         * lisp/cedet/pulse.el (pulse): Remove.
6153         (pulse-momentary-timer): Save instead of the stop time.
6154         (pulse-momentary-highlight-overlay): Call
6155         pulse-momentary-unhighlight first thing. Treat
6156         pulse-momentary-overlay as a single value, not a list. Save the
6157         created timer. Only pass the stop time to the timer.
6158         (pulse-tick): Update accordingly.
6159         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6160         single value. Cancel the timer.
6162 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6164         Support the biblatex journaltitle field
6165         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6166         Support the biblatex journaltitle field.
6168 2015-05-05  Glenn Morris  <rgm@gnu.org>
6170         Minor declare-function improvement
6171         * lisp/emacs-lisp/bytecomp.el
6172         (byte-compile-macroexpand-declare-function):
6173         Handle declarations after calls.  (Bug#20509)
6175         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6177         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6179 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6181         Pulse using a timer
6182         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6183         (pulse-momentary-highlight-overlay): Set up the timer instead of
6184         calling `pulse'
6185         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6186         (pulse-tick): New function.
6187         (pulse-momentary-unhighlight): Cut off the stop time.
6188         (pulse-delay): Update the docstring WRT to not using sit-for.
6190         Add semantic/symref/grep file patterns for ruby-mode
6191         * lisp/cedet/semantic/symref/grep.el
6192         (semantic-symref-filepattern-alist): Add patterns for
6193         ruby-mode. Clarify the docstring.
6195         Don't require match
6196         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6197         match. That doesn't work for every command, and some identifier
6198         completion tables are bound to be imperfect anyway.
6200 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6202         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6203         (semantic-grammar--template-expand): New function.
6204         (semantic-grammar-header, semantic-grammar-footer): Use it.
6205         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6206         (semantic-grammar-file-regexp): Refine regexp.
6207         (semantic-grammar-eldoc-get-macro-docstring):
6208         Use elisp-get-fnsym-args-string when available.
6209         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6210         instead of the old eldoc-* names.
6211         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6212         from elisp-mode.el.  Tweak calling convention.
6213         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6214         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6215         elisp--get-fnsym-args-string.
6216         (elisp--highlight-function-argument): Add `prefix' arg.
6217         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6218         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6220 2015-05-05  Glenn Morris  <rgm@gnu.org>
6222         * lisp/help-fns.el (describe-function-1):
6223         Handle builtins with advertised calling conventions.  (Bug#20479)
6225 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6227         Merge branch 'seq-let'
6229         Update `seq-let' documentation
6230         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6231         with the support of  `&rest'.
6233         Add support for &rest in `seq-let'
6234         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6235         in the argument list.
6236         * test/automated/seq-tests.el: Add a test for parsing and binding
6237         `&rest' in `seq-let'.
6239 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6241         Spelling fixes
6243 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6245         * eieio-custom.el (eieio-object-value-get): Add missing increment
6246         (Bug#20467)
6248         (eieio-object-value-create): Adjust to new slots representation
6249         (Bug#20467)
6250         * eieio-custom.el (eieio-object-value-create):
6251         Fix missed adjustment to new representation of slots metadata.
6253 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6255         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6257 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6259         Work around "Attempt to modify read-only object"
6260         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
6261         elisp--xref-find-definitions, to work around "Attempt to modify
6262         read-only object" error.
6264         Only skip some variables that have function counterparts
6265         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6266         Only skip minor-mode-named variable if it's defined in a Lisp
6267         file, and it's in minor-mode-list (bug#20506).
6268         * test/automated/elisp-mode-tests.el
6269         (elisp-xref-finds-both-function-and-variable)
6270         (elisp-xref-finds-only-function-for-minor-mode): New tests.
6272 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6274         Buttonize the whole line, including the number at the beginning
6275         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
6276         previous change.
6277         (xref--insert-xrefs): Buttonize the whole line, including the
6278         number at the beginning.
6280         Make sure we're inside the let bindings
6281         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6282         Make sure we're inside the let bindings.
6283         * test/automated/elisp-mode-tests.el
6284         (elisp-completes-functions-after-let-bindings): New test.
6286 2015-05-04  Glenn Morris  <rgm@gnu.org>
6288         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
6289         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
6290         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
6291         Remove outdated declarations.
6293         Replace instances of "(eval-when-compile (autoload ...))"
6294         * lisp/gnus/gnus-art.el (nneething-get-file-name):
6295         Declare rather than autoload.
6296         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
6297         Remove pointless autoload.
6298         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
6299         (gnus-topic-create-topic, gnus-topic-enter-dribble):
6300         Declare rather than autoload.
6301         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
6302         (mailcap-extension-to-mime): Autoload at run-time.
6303         * lisp/gnus/mm-util.el (latin-unity-massage-name)
6304         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
6305         (latin-unity-representations-present-region):
6306         Declare rather than autoload.
6307         * lisp/gnus/mml-smime.el (epg-make-context)
6308         (epg-passphrase-callback-function): Autoload at run-time.
6309         (epg-context-set-signers, epg-context-result-for)
6310         (epg-new-signature-digest-algorithm)
6311         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
6312         (epg-sign-string, epg-encrypt-string)
6313         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
6314         (epg-configuration, epg-expand-group, epa-select-keys):
6315         Declare rather than autoload.
6316         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
6317         Autoload at run-time.
6318         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
6319         (gnus-registry-get-id-key, gnus-registry-action):
6320         Declare rather than autoload.
6321         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
6322         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
6323         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
6324         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
6325         (spam-stat-split-fancy): Remove pointless autoloads.
6326         * lisp/net/mairix.el: Load gnus-util when compiling.
6327         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
6328         (message-field-value): Declare rather than autoload.
6329         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
6330         Check gnus-alive-p is fbound.
6331         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
6332         (vm-check-for-killed-summary, vm-error-if-folder-empty)
6333         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
6334         Declare rather than autoload.
6336         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
6338         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
6339         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
6341         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
6343         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
6345         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
6346         * lisp/emacs-lisp/package.el (epg-signature-status):
6347         Fix declarations.
6349         * lisp/play/gametree.el (gametree-show-children-and-entry)
6350         (gametree-apply-layout, gametree-mouse-show-subtree)
6351         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
6353         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
6354         Handle cl-defgeneric, cl-defmethod.
6356 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6358         Highlight both type and symbol name
6359         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
6360         Highlight both type and symbol name.
6362         Insert, highlight and align line numbers in xref output
6363         * lisp/progmodes/etags.el (xref-location-line): Specialize for
6364         xref-etags-location.
6365         * lisp/progmodes/xref.el (xref-location-line): New generic method.
6366         (xref-file-location): Add reader for the line slot.
6367         (xref--location-at-point): Skip to the `xref-location' property.
6368         (xref--collect-reference): Drop the line number from description.
6369         (xref--insert-xrefs): Insert, highlight and align line numbers.
6371 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6373         Fix previous commit
6375 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6377         Don't pulse the indentation, or the newline
6378         * lisp/cedet/pulse.el (pulse-lighten-highlight)
6379         (pulse-reset-face): Fall back to the inherited background
6380         attribute in FACE.
6381         (pulse-momentary-highlight-region): Add autoload cookie.
6382         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
6383         indentation, or the newline, if the line's non-empty
6384         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
6386 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6388         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
6389         * doc/lispref/positions.texi (Excursions): Document
6390         `save-mark-and-excursion'.
6391         * lisp/font-lock.el (font-lock-fontify-block): Use
6392         `save-mark-and-excursion' instead of `save-excursion', restoring
6393         Emacs 24 behavior.
6394         * lisp/simple.el (save-mark-and-excursion--save)
6395         (save-mark-and-excursion--restore): New functions.
6396         (save-mark-and-excursion): New user macro.
6397         * src/editfns.c (Fsave_excursion): Mention
6398         `save-mark-and-excursion' in `save-excursion' documentation.
6400 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6402         Classify lone symbol inside let varlist as variable
6403         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6404         Classify lone symbol inside let varlist as variable.
6405         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
6406         New test.
6408         Add xref-pulse-on-jump
6409         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
6410         Add autoload cookie.
6411         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
6412         (xref--maybe-pulse): New function.
6413         (xref-pop-marker-stack, xref--pop-to-location)
6414         (xref--display-position): Use it.
6415         (xref--location-at-point): Use back-to-indentation.
6417 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6419         * lisp/org/org-{macs,list}.el: Fix lexical warnings
6420         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
6421         (org-list-get-next-item, org-list-get-prev-item)
6422         (org-list-get-children): Mark unused arg `struct'.
6423         (org-list-use-alpha-bul-p): Remove unused var `bul'.
6424         (org-toggle-checkbox): Mark unused var.
6425         (org-update-checkbox-count): Remove unused var `box-num'.
6426         (org-adapt-indentation): Declare.
6427         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
6428         (org-list-send-list): Remove unused var `txt'.
6429         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
6430         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
6431         * lisp/org/org-macs.el: Use `declare'.
6432         (org-with-limited-levels): Declare dyn-bound vars.
6434 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
6436         Fix minor issues with CEDET on MS-Windows
6437         * lisp/cedet/semantic/symref/idutils.el
6438         (semantic-symref-parse-tool-output-one-line): Fix the search
6439         regexp to match MS-Windows file names with drive letters.
6440         (Bug#19468)
6441         * lisp/cedet/semantic/symref/grep.el
6442         (semantic-symref-grep-use-template): Remove "--color=always" from
6443         Grep switches on MS-Windows.
6444         (semantic-symref-grep-shell): Use shell-file-name as the default
6445         value, so this works not only on Posix platforms.
6446         (semantic-symref-perform-search): Use shell-quote-argument instead
6447         of literal '..' for portable quoting of Grep command-line
6448         argument.  Use shell-command-switch instead of a literal "-c".
6449         * lisp/cedet/semantic/bovine/gcc.el
6450         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
6451         for an absolute file name in a portable way.
6453 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6455         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
6456         (package-import-keyring, package-refresh-contents)
6457         (package-compute-transaction, package--save-selected-packages)
6458         (package-install-from-archive, package-delete)
6459         (package-menu--perform-transaction): Use `inhibit-message'
6460         instead.
6461         (package--compile): Set `warning-minimum-level' to :error.
6463 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6465         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
6466         (terminal-init-screen): Use it (bug#20356).
6467         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
6468         (xterm--extra-capabilities-type): New const.
6469         (xterm-extra-capabilities): Use it.
6470         (xterm--version-handler): Lower the pseudo-version for `screen'.
6472 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
6474         xref--insert-xrefs: Tweak the faces
6475         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
6476         Always insert a newline at the end (to avoid mouse-face background
6477         tail at the last line).
6479         elisp-completion-at-point: Prioritize being quoted over funpos
6480         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6481         Only consider function position when not inside quoted form
6482         (bug#20425).
6483         * test/automated/elisp-mode-tests.el: New file.
6485         Stop vc-print-log from jumping to the top
6486         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
6487         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
6488         is not specified.
6489         (vc-incoming-outgoing-internal): Always pass nil.
6490         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
6491         call it, and don't set vc-sentinel-movepoint (bug#15322).
6492         (vc-print-root-log): Don't fetch the root working revision, nor
6493         pass it to vc-print-log-internal.
6495 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
6497         Fix display of keyboard layouts for right-to-left scripts
6498         * lisp/international/quail.el (quail-insert-kbd-layout): Force
6499         left-to-right paragraph direction.
6501 2015-05-02  K. Handa  <handa@gnu.org>
6503         * cmds.c (internal_self_insert): When we insert spaces for
6504         padding, set point before the padding spaces, not after them.
6506 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
6508         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
6510 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
6512         Fix etags-xref-find for references
6513         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
6514         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
6515         directory if no tags tables are loaded (bug#19468).
6517 2015-05-02  Philipp Stephani  <phst@google.com>
6519         Update the options in whitespace-style defcustom
6520         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
6521         `repeat' because the option is really set-like.  Add missing
6522         options.  Reorder options to match the order in the
6523         documentation.  (Bug#20346)
6525 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
6527         Fix error diagnostics of c-macro-expand
6528         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
6529         too early if no start-marker string was found -- that generally
6530         means cpp exited abnormally, and we still want to show its error
6531         messages to the user.
6533         Don't require Texinfo 5.0 for Emacs documentation
6534         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
6535         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
6536         "@codequoteundirected on", respectively, to avoid requiring
6537         Texinfo 5.x for Emacs documentation.
6539 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
6541         * lisp/files.el (pwd):
6542         When called with a prefix argument, insert the current default
6543         directory at point.
6545 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6547         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
6548         * lisp/isearch.el (isearch-mode-map): Don't inhibit
6549         function-key-map remapping for backspace (bug#20466).
6551 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
6553         Implement xref-find-references in etags and elisp-mode
6554         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
6555         (elisp-xref-find): Use it.
6556         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
6557         * lisp/progmodes/xref.el (xref-collect-references):
6558         (xref--collect-reference): New functions.
6560 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6562         Prefer plain characters to Texinfo circumlocutions
6563         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
6564         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
6566         Fix single-quoting style in PDF manuals
6567         The PDF versions of the GNU manuals used curved single quotes to
6568         represent grave accent and apostrophe, which made it a pain to cut
6569         and paste code examples from them.  Fix the PDF versions to use
6570         grave accent and apostrophe for Lisp source code, keystrokes, etc.
6571         This change does not affect the info files, nor does it affect
6572         ordinary uses of curved single quotes in PDF.
6573         * doc/emacs/docstyle.texi: New file, which specifies treatment for
6574         grave accent and apostrophe, as well as the document encoding.
6575         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
6576         * doc/lispintro/emacs-lisp-intro.texi:
6577         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
6578         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
6579         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
6580         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
6581         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
6582         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
6583         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
6584         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
6585         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
6586         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
6587         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
6588         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
6589         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
6590         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
6591         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
6592         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
6593         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
6594         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
6595         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
6596         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
6597         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
6598         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
6599         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
6600         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
6601         * doc/misc/woman.texi:
6602         Use it instead of '@documentencoding UTF-8', to lessen the need for
6603         global changes like this in the future.
6604         * doc/emacs/Makefile.in (EMACS_XTRA):
6605         * doc/lispintro/Makefile.in (srcs):
6606         * doc/lispref/Makefile.in (srcs):
6607         Add dependency on docstyle.texi.
6608         * doc/misc/Makefile.in (style): New macro.
6609         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
6610         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
6611         Use it.
6613 2015-05-01  Glenn Morris  <rgm@gnu.org>
6615         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
6617         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
6618         (help-fns--signature): Declare.
6620         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
6622 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
6624         New macro seq-let, providing destructuring support to seq.el
6625         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
6626         to `cl-destructuring-bind' but works on all sequence types supported
6627         by `seq.el'.  Bump version number to 1.6.
6628         * test/automated/seq-tests.el: Add tests for seq-let.
6629         * doc/lispref/sequences.texi: Add documentation for seq-let.
6631 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
6633         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
6635 2015-05-01  Glenn Morris  <rgm@gnu.org>
6637         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
6639 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6641         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
6642         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
6643         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
6644         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
6645         (Bug#20445).
6647 2015-05-01  K. Handa  <handa@gnu.org>
6649         * mule-cmds.el (input-method-use-echo-area): Change :type to
6650         'boolean.
6652 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6654         Start using proportional fonts in eww by default
6655         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
6656         it seems to work well.
6658         Fix links in tables in shr
6659         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
6660         makes (some) links in tables not work.
6662 2015-05-01  Jan D  <jan.h.d@swipnet.se>
6664         (ns-get-cut-buffer-internal): Remove this alias.
6665         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
6667 2015-04-30  Glenn Morris  <rgm@gnu.org>
6669         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
6670         Update for 2015-02-08 change to indirect-function.
6672         * lisp/term/ns-win.el (ns-get-selection-internal):
6673         Remove declaration for function deleted 2014-10-21.
6675         * lisp/dom.el: Load subr-x when compiling, for when-let.
6677         Silence some compilation warnings
6678         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
6679         * lisp/emulation/cua-base.el (delete-active-region):
6680         * lisp/net/net-utils.el (w32-get-console-output-codepage):
6681         * lisp/term/ns-win.el (ns-own-selection-internal)
6682         (ns-disown-selection-internal, ns-selection-owner-p)
6683         (ns-selection-exists-p, ns-get-selection):
6684         Declare for compiler..
6686         Function declaration updates prompted by 'make check-declare'
6687         * lisp/emacs-lisp/package.el (lm-homepage):
6688         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
6689         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
6690         * lisp/gnus/mml.el (libxml-parse-html-region):
6691         * lisp/gnus/nnrss.el (libxml-parse-html-region):
6692         * lisp/net/eww.el (libxml-parse-html-region):
6693         * lisp/net/shr.el (libxml-parse-html-region):
6694         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
6695         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
6696         * lisp/vc/vc-git.el (vc-annotate-convert-time):
6697         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
6698         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
6699         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
6700         Update declaration.
6702         Remove compatibility code for 20-year old function renaming
6703         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
6704         Make it an obsolete alias.
6705         (idlwave-shell-filter): Change all uses to comint-output-filter.
6707 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
6709         Add ace-window face config
6710         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
6711         configuration.
6713 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
6715         Unclutter 'make doc' output a bit
6716         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
6717         Use make subst rather than sh IFS to split target string apart.
6718         This makes 'make' output easier to follow.
6720         Merge from gnulib
6721         * doc/misc/texinfo.tex: Update from gnulib.
6723 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6725         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
6726         (package-menu--print-info): Obsolete.
6727         (package-menu--print-info-simple): New function.
6728         (package-menu--refresh): Use it, simplify code, and improve
6729         performance.
6730         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
6731         Tiny performance improvement.
6733         * lisp/emacs-lisp/package.el (package--message): inhibit-message
6735 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6737         Omit -Wstrict-overflow workaround in GCC 5
6738         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
6739         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
6741         Merge from gnulib
6742         This incorporates:
6743         2015-04-29 extern-inline: no need for workaround in GCC 5.1
6744         2015-04-26 file-has-acl: port to CentOS 6
6745         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
6747 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
6749         Set next-error-* in xref--xref-buffer-mode
6750         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
6751         `next-error-last-buffer'.
6752         (xref--next-error-function): New function.
6753         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
6755 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6757         python.el: Fix warnings on looking-back calls missing LIMIT
6758         * lisp/progmodes/python.el (python-shell-accept-process-output):
6759         Pass LIMIT arg to looking-back.
6761 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6763         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
6764         (package--download-and-read-archives): Use pushnew instead of
6765         append.  If something terrible happened during a previous
6766         download, simply refreshing should now make things work again.
6768 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
6770         Introduce etags-xref-find-definitions-tag-order
6771         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6772         New variable.
6773         (etags--xref-find-definitions): Use it (bug#19468).
6775 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
6777         PATH- and completion-related fixes in Eshell on MS-Windows
6778         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
6779         MS-Windows, prepend "." to list of directories produced from PATH,
6780         as Windows always implicitly searches the current directory first.
6781         (eshell-force-execution): Make it have a non-nil default value on
6782         MS-Windows and MS-DOS.
6783         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
6784         eshell-force-execution is non-nil, complete on readable files and
6785         directories, not only executables.  When running on MS-Windows,
6786         prepend "." to list of directories produced from PATH, as Windows
6787         always implicitly searches the current directory first.
6789 2015-04-29  Sam Steingold  <sds@gnu.org>
6791         bury RCIRC buffers when there is no activity
6792         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
6793         (rcirc-bury-buffers): new function
6794         (rcirc-next-active-buffer): when there is no new activity, use
6795         `rcirc-bury-buffers' to hide all RCIRC buffers
6797 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
6799         Fix DBUS query result parsing for secrets-search-items
6800         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
6801         parsing.  The function assumed that return value of the
6802         SearchItems method called on a collection is a list of two lists,
6803         however this is true only when no collection is specified.  GNOME
6804         had used to incorrectly return a list of two lists in both cases,
6805         but this was already fixed:
6806         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
6807         incorrect information in the secrets-search-items’ docstring.
6808         (Bug#20449)
6810 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6812         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
6813         (byte-compile--message): Use `inhibit-message' instead of hiding
6814         the previous message with (message nil).
6816 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
6818         Remove the deprecated INTERNAL_FIELD macro by expanding it
6819         * src/lisp.h (INTERNAL_FIELD): Remove.
6820         (DEFVAR_KBOARD): Modify accordingly.
6821         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
6822         * syntax.c: Adjust users.
6823         * src/buffer.c (compact_buffer): Use BVAR.
6825 2015-04-29  Glenn Morris  <rgm@gnu.org>
6827         Replace an obsolete function alias
6828         * lisp/isearch.el (isearch-yank-x-selection):
6829         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
6830         (mouse-drag-secondary-moving):
6831         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6832         Replace obsolete alias x-get-selection with gui-get-selection.
6834 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
6836         * lisp/mail/rmailsum.el: Use lexical-binding.
6838 2015-04-29  Glenn Morris  <rgm@gnu.org>
6840         * test/automated/package-test.el (package-test-update-archives-async):
6841         Skip test on hydra.nixos.org.
6843 2015-04-28  Glenn Morris  <rgm@gnu.org>
6845         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
6846         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
6847         (foldout-mouse-hide-or-exit): Use new names for outline functions.
6849         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
6850         Update for 2014-06-26 hideif.el change.
6852         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
6853         (rmail--decode-and-apply): New function.
6854         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
6856         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
6858 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6860         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
6861         (package-menu--refresh): Delegate obsolete-hiding to
6862         `package--remove-hidden'.
6863         (package--remove-hidden): Disregard high-priority package if it is
6864         older than the installed one.
6866 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
6868         Update source file encoding list
6869         Update admin/notes/unicode, along with coding system cookies in
6870         other files, so that the two match each other better.
6871         * admin/notes/unicode: lisp/language/ethio-util.el and
6872         lisp/language/ethiopic.el also use utf-8-emacs.
6873         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
6874         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
6875         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
6876         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
6877         * etc/refcards/sk-survival.tex:
6878         Add "coding: utf-8" so that this file is not mishandled in a
6879         Latin-1 or Big-5 locale.
6880         * lisp/international/robin.el, lisp/org/ox-ascii.el:
6881         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
6882         * lisp/language/ethio-util.el: Fix trailer.
6884 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
6886         Fix synchronous invocation of Ispell
6887         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
6888         value to ispell-process-directory before calling ispell-init-process.
6889         Don't call set-process-coding-system if ispell-async-processp is nil.
6890         (Bug#20448)
6892 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6894         * lisp/emacs-lisp/package.el: Skip space and comments in init file
6895         (package--ensure-init-file): Insert snippet at first
6896         non-whitespace non-comments line.  Respects local-vars at the top
6897         of the file.
6899 2015-04-28  Glenn Morris  <rgm@gnu.org>
6901         * lisp/mail/rmail.el (rmail-copy-headers):
6902         Handle rmail-nonignored-headers being nil.  (Bug#18878)
6904         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
6906         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
6907         Don't get confused by a bzrlib version mismatch warning.
6909 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6911         Change default location of EUDC options file
6912         * NEWS: Document change to EUDC options file's default location.
6913         * lisp/net/eudc-vars.el (eudc-options-file): Use
6914         `locate-user-emacs-file' to change default options file location.
6916 2015-04-27  Glenn Morris  <rgm@gnu.org>
6918         * test/automated/package-test.el (package-test-update-archives-async):
6919         Try to handle the test server script dying.
6921 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6923         * lisp/saveplace.el (save-place-mode): New minor mode.
6924         (save-place): Redefine as an obsolete alias.
6926         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
6927         * lisp/midnight.el: Use lexical-binding.
6928         (midnight-mode): Make it a proper minor mode.
6929         (midnight-buffer-display-time): Make arg non-optional.
6930         (midnight-find): Remove.
6931         (clean-buffer-list-kill-never-regexps)
6932         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
6933         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
6934         contain functions.
6935         (clean-buffer-list): Use cl-find.
6936         Allow clean-buffer-list-kill-never-regexps to contain functions.
6938 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
6940         Bump version of seq.el to 1.5
6941         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
6942           from seq-doseq.  Bump version number of seq.el.
6944 2015-04-27  Glenn Morris  <rgm@gnu.org>
6946         * lisp/mail/rmail.el (rmail-reply):
6947         Decode subject before matching "Re:" prefix.  (Bug#20396)
6949 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6951         * lisp/emacs-lisp/package.el: Small improvements
6952         (package--with-work-buffer-async): More informative error.
6953         (package-install-user-selected-packages): Rename to
6954         `package-install-selected-packages'.
6956 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6958         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
6959         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
6960         (eieio--class-make): Remove leftover `tag'.
6962 2015-04-27  Glenn Morris  <rgm@gnu.org>
6964         * lisp/gnus/message.el (gnus-extract-address-components):
6965         Remove bogus declaration that was masking previous problem.
6967 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
6969         * lisp/gnus/message.el (message-insert-formatted-citation-line):
6970         Fix typo.  (Bug#20318)
6972 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6974         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
6976         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
6977         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
6978         the buffer in yet another frame.
6979         (reftex-toc-visit-location): Make sure toc-window has focus at the end
6980         when `final' is nil.
6981         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
6982         silence warnings.  Use `--' to clarify that it's internal.
6983         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
6984         (reftex-toc-promote): Clarify unused argument.
6985         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
6986         Add `reftex--' prefix.  Fix all users.
6987         (reftex-toc-promote-prepare): Use _ for dummy variable.
6988         (reftex-toc-restore-region): Rename `m
6990 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
6992         Fix a typo in bibtex.el
6993         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
6994         last change.  (Bug#20429)
6996         Fix redisplay of frame after loading new fonts
6997         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
6998         frame because new fonts were loaded, disable all redisplay
6999         optimizations on that frame by calling SET_FRAME_GARBAGED.
7000         (Bug#20410)
7002 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7004         * lisp/info.el (Info-menu): Properly provide the `default'
7005         (Bug#20391)
7007         * elisp-mode.el: Catch errors from `documentation'
7008         (Bug#20418)
7009         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
7010         Catch errors from documentation.
7011         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
7013 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7015         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
7016         Remove redundant ":group 'package".
7018 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
7020         Fix a typo in rmail.el
7021         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
7022         last commit.  (Bug#20429)
7024 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
7026         Introduce xref-prompt-for-identifier
7027         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
7028         (xref--read-identifier): Use it
7029         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
7031 2015-04-26  João Távora  <joaotavora@gmail.com>
7033         `tex-insert-quote' after single `'' opens quotes instead of closing
7034         Without this, it's very hard to precede double quotes with the
7035         apostrophe character, i.e. insert the sequence '``
7036         (quote-backquote-backquote), commonly useful in portuguese, for
7037         instance.
7038         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7039         chars making `tex-insert-quote' be in the "opening" context.
7041 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7043         Pass `id' to `completing-read' as def instead of initial input
7044         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7045         as the default value instead of initial input
7046         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7048 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7050         Don't freeze with unreadable processes
7051         Don't freeze if an exiting process can't be read from. (Bug#19860).
7052         This fixes a bug I introduced in
7053         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7054         "* process.c: Add sanity checks for file descriptors."
7055         Dmitry Gutov did most of the legwork in finding the problem.
7056         * src/process.c (wait_reading_process_output):
7057         Treat non-running processes that can't be read from
7058         the same as other non-running processes.
7060 2015-04-25  Alan Mackenzie  <acm@muc.de>
7062         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7063         * lisp/subr.el (remove-yank-excluded-properties): put
7064         `with-silent-modifications' around only the last three lines of code.
7066 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7068         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7069         (package--all-keywords): Deleted variable.
7071         * etc/NEWS: Document package-hiding functionality
7073 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7075         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7077         Clarify the doc string of 'replace-regexp-in-string'
7078         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7080         Improve doc string of 'insert-buffer-substring'
7081         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7083         MS-Windows followup for the recent gnulib update
7084         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7085         acl-internal.c.
7087 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7089         Spelling fixes
7091         Merge from gnulib
7092         This incorporates:
7093         2015-04-24 file-has-acl: new module, split from acl
7094         2015-04-24 manywarnings: add GCC 5.1 warnings
7095         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7096         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7097         2015-04-15 acl: On Linux, check for acls without libacl
7098         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7099         * lib/acl-internal.c: New file, from gnulib.
7100         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7101         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7102         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7103         Update from gnulib.
7105         Port --enable-gcc-warnings to GCC 5.1 x86-64
7106         * lib-src/ebrowse.c (dump_sym):
7107         * lib-src/hexl.c (main):
7108         * src/ccl.c (ccl_driver):
7109         * src/character.c (string_escape_byte8):
7110         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7111         * src/gnutls.c (Fgnutls_boot):
7112         * src/gtkutil.c (xg_check_special_colors):
7113         * src/image.c (x_build_heuristic_mask):
7114         * src/print.c (safe_debug_print, print_object):
7115         * src/term.c (produce_glyphless_glyph):
7116         * src/xdisp.c (get_next_display_element)
7117         (produce_glyphless_glyph):
7118         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7119         Don't use a signed format to print an unsigned integer, or vice
7120         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7121         * src/image.c (png_load_body, jpeg_load_body):
7122         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7124 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7126         Add new faces to tsdh-light-theme
7127         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7128         definitions for Info-quoted, ace-jump-face-foreground,
7129         hl-paren-face, show-paren-match, and show-paren-mismatch.
7131 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7133         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7135 2015-04-24  Glenn Morris  <rgm@gnu.org>
7137         * build-aux/gitlog-to-emacslog:
7138         Use raw log format rather than wrapped one.
7140 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7142         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7143         (seq-doseq): Fix out-of-scope binding.
7144         Don't call `seq-length at every iteration.
7145         Reduce `if's from 3 to 2 per iteration.
7146         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7148 2015-04-24  Glenn Morris  <rgm@gnu.org>
7150         * lisp/textmodes/text-mode.el (text-mode-hook):
7151         Move text-mode-hook-identify to default.
7153         * lisp/mouse.el (minor-mode-menu-from-indicator):
7154         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7156         * lisp/help-fns.el (describe-function): More type checking.
7157         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7159         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7160         (Bug#20325)
7162 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7164         shr: strip leading whitespace when expanding URLs
7165         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7167 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7169         Clarify "co-authored" some more
7171         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7173         Clarify doc strings of functions that search for properties
7174         * src/textprop.c (Fnext_char_property_change)
7175         (Fprevious_char_property_change)
7176         (Fnext_single_char_property_change)
7177         (Fprevious_single_char_property_change, Fnext_property_change)
7178         (Fnext_single_property_change, Fprevious_property_change)
7179         (Fprevious_single_property_change): Clarify doc strings wrt return
7180         value and the optional LIMIT argument.  (Bug#20411)
7182 2015-04-24  Glenn Morris  <rgm@gnu.org>
7184         * test/automated/message-mode-tests.el (message-mode-propertize):
7185         Handle non-writable HOME; eg on hydra.nixos.org.
7187 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7189         Avoid starting threads by w32-shell-execute
7190         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7191         local file names, before invoking ShellExecute.  (Bug#20220)
7193 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7195         Fix following doc-links in `widget-documentation-link-action'
7196         * lisp/wid-edit.el (widget-documentation-link-action): Make
7197         following doc-links less simplistic (Bug#20398).
7199 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7201         Improve EUDC manual
7202         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7204 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7206         Omit needless "\ " after multibyte then newline
7207         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7208         (print_object): When print-escape-multibyte is non-nil and a
7209         multibyte character is followed by a newline or formfeed, followed
7210         by a hex digit, don't output a needless "\ " before the hex digit.
7211         * test/automated/print-tests.el (print-hex-backslash): New test.
7213 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7215         Add a new `inhibit-message' variable
7216         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7217         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7218         `inhibit_message' is non-zero.
7219         * etc/NEWS: Add an entry.
7220         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7221           mention it in `message'.
7223 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7225         Fix last fix in `display-buffer-record-window'.
7226         * lisp/window.el (display-buffer-record-window): Fix last fix.
7228 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7230         Minor edits in CONTRIBUTE
7231         * CONTRIBUTE: Rearrange instructions about log messages.
7232         Use "Git" capitalized all over.
7233         Use 2 spaces between sentences.
7235 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7237         * lisp/files.el (basic-save-buffer): Fix argument
7239         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7240         In case `(and (null custom-file) init-file-had-error)' do the same
7241         thing we'd do if `(null user-init-file)', which is to either error out
7242         or return nil.  This is in line with `custom-save-all' which would
7243         throw an error in that situation. (bug#20355)
7245         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7246         (package-menu-hide-low-priority): New variable, see its doc.
7247         (package-archive-priorities): Update doc.
7248         (package-desc-priority): New function.
7249         (package-desc-priority-version): Use it.
7250         (package--remove-hidden): New function.
7251         (package-menu--refresh): Use it.
7253         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7254         (package-menu--hide-obsolete): New variable.
7255         (package--remove-hidden): Use it.
7256         (package-menu-hide-obsolete): New interactive function to toggle
7257         the variable.
7258         (package--quick-help-keys): Document it.
7259         (package-menu-async): Add :version tag.
7260         (package-menu-mode-map): Bind package-menu-hide-obsolete.
7261         (package-desc-status): Indicate non-installed obsolete packages as
7262         avail-obso.
7263         (package-menu-mark-install): Allow installation of avail-obso.
7264         (package-menu--status-predicate): Sort avail-obso with available.
7266 2015-04-22  Alan Mackenzie  <acm@muc.de>
7268         On C-y, stop some text property entries being written into buffer-undo-list
7269         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
7270         `with-silent-modifications'.
7272 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7274         In display-buffer-record-window record selected window if necessary.
7275         * lisp/window.el (display-buffer-record-window): Store selected window
7276         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
7278 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
7280         Fix reftex-citation bug
7281         * reftex-cite.el (reftex-extract-bib-entries): Fix
7282         `wrong-type-argument stringp nil' error that occurs when AUCTeX
7283         integration is enabled and there are no citations in the document
7284         so far.
7286 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
7288         Add or reset based on the presence of MERGE_HEAD
7289         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
7290         `vc-git-resolve-when-done' to `after-save-hook' in either case.
7291         (vc-git-conflicted-files): Add a TODO.
7292         (vc-git-resolve-when-done): Depending on the presence of
7293         MERGE_HEAD, either update the resolved file in the index, or
7294         remove it from there.  (Bug#20292)
7296 2015-04-21  Glenn Morris  <rgm@gnu.org>
7298         * lisp/custom.el (custom-declare-group): No need to purecopy
7299         custom-current-group-alist members following recent change to set
7300         it to nil before dumping.
7302         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
7303         (Bug#20399)
7305 2015-04-21  Daniel Colascione  <dancol@dancol.org>
7307         Unbreak no-op buffer save message
7308         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
7309         (basic-save-buffer): Accept called-interactively as an argument instead of
7310         directly invoking called-interactively-p, which will always yield nil
7311         in that context.
7313 2015-04-21  Alan Mackenzie  <acm@muc.de>
7315         CC Mode: Do nothing in before/after-change-functions for text property changes
7316         Fixes bug#20266.
7317         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
7318         yank-handled-properties buffer local, and remove 'category from it.
7319         (c-called-from-text-property-change-p): New function.
7320         (c-before-change): Don't do anything if a call of the new function
7321         returns non-nil.
7322         (c-after-change): Don't do much if a call of the new function returns
7323         non-nil.
7324         (c-extend-after-change-region): Put changes to text property 'fontified
7325         inside c-save-buffer-state.
7327 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7329         Fix byte-compiler warnings about looking-back.
7330         * lisp/vc/log-view.el (log-view-end-of-defun-1):
7331         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
7332         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
7333         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
7334         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
7335         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
7336         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
7337         * lisp/org/org.el (org-insert-heading, org-sort-entries):
7338         * lisp/org/org-mouse.el (org-mouse-end-headline)
7339         (org-mouse-context-menu):
7340         * lisp/org/org-clock.el (org-clock-cancel):
7341         * lisp/man.el (Man-default-man-entry):
7342         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
7343         (rmail-ensure-blank-line):
7344         * lisp/mail/footnote.el (Footnote-delete-footnote):
7345         * lisp/mail/emacsbug.el (report-emacs-bug):
7346         * lisp/info.el (Info-follow-reference, Info-fontify-node):
7347         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7348         * lisp/help-fns.el (help-fns--key-bindings):
7349         * lisp/files.el (hack-local-variables):
7350         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
7351         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
7352         (viper-complete-filename-or-exit):
7353         * lisp/emulation/viper-cmd.el (viper-backward-indent):
7354         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
7355         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
7356         * lisp/cus-edit.el (custom-face-edit-value-create):
7357         * lisp/calendar/todo-mode.el (todo-set-item-priority)
7358         (todo-filter-items-1, todo-convert-legacy-files)
7359         (todo-prefix-overlays): Add explicit second arg to looking-back.
7361 2015-04-20  Glenn Morris  <rgm@gnu.org>
7363         Avoid non-nil current-load-list at startup
7364         * src/process.c (init_process_emacs): Move Fprovide statement...
7365         (syms_of_process): ... to here.
7367         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
7369         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
7371 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
7373         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
7374         (Bug#20330)
7376 2015-04-20  Glenn Morris  <rgm@gnu.org>
7378         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
7380         Tweak exec-path in uninstalled case
7381         * src/callproc.c (init_callproc): If running uninstalled, do not
7382         include eventual installation libexec directory in exec-path.
7384 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7386         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
7387         (package-menu-filter): Accept a list of keywords.
7388         (package--all-keywords): New variable to cache known keywords.
7389         (package-all-keywords): Populate it if necessary.
7390         (package-refresh-contents): Reset it.
7392         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
7393         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
7394         as special keywords which match agains package archive and status
7395         respectively.
7396         * etc/NEWS: Document it.
7398 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
7400         Describe and index "empty overlays".
7401         * doc/lispref/display.texi (Overlays): Improve indexing.
7402         (Managing Overlays): Describe "empty" overlays.
7403         (Overlay Properties, Finding Overlays): Add cross-reference to
7404         where empty overlays are described.
7406 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7408         Spelling fixes
7410         Quote 'like this' in top-level files
7411         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
7412         Prefer to single-quote 'like this' (instead of the older style
7413         `like this').
7414         * configure.ac: Fix some space-before-tab problems that 'git commit'
7415         complained about.
7417         Use bool for boolean in textprop.c, undo.c
7418         * src/textprop.c (soft, hard): Now constants instead of macros.
7419         (validate_plist): Rewrite to avoid need for boolean local.
7420         (interval_has_all_properties, interval_has_some_properties)
7421         (interval_has_some_properties_list, add_properties)
7422         (remove_properties, get_char_property_and_overlay)
7423         (Fnext_single_char_property_change)
7424         (Fprevious_single_char_property_change, add_text_properties_1)
7425         (Fremove_text_properties, Fremove_list_of_text_properties)
7426         (copy_text_properties):
7427         * src/tparam.c (tparam1):
7428         * src/undo.c (record_change, record_property_change)
7429         (syms_of_undo):
7430         Use 'true' and 'false' for booleans.
7432 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7434         Call `smerge-start-session' even when dealing with a stash conflict
7435         * lisp/vc/vc-git.el (vc-git-find-file-hook):
7436         Call `smerge-start-session' even when dealing with a stash
7437         conflict (bug#20292).
7439 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
7441         Add option to eshell/clear to clear scrollback.
7442         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
7443         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
7444         scrollback contents are cleared.
7445         * etc/NEWS: Describe change.
7446         * doc/misc/eshell.texi: Add entry for `clear'.
7448 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7450         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
7451         where either will do.
7453 2015-04-19  Steve Purcell  <steve@sanityinc.com>
7455         Assume package archive-contents are UTF8-encoded
7456         * lisp/emacs-lisp/package.el (package--read-archive-file):
7457         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
7458         downloaded and cached archive-contents files, so that non-ASCII
7459         characters in package descriptions are displayed correctly in the
7460         `list-packages' menu. (Bug#20231)
7462 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7464         Abort when looking at stashed changes
7465         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
7466         stashed changes (bug#20292).
7468 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7470         Refactor low-level printing for simplicity
7471         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
7472         PRINTPREPARE; doable now that we assume C99.  All callers changed.
7473         (PRINTCHAR): Remove, as it adds more mystery than clarity.
7474         All callers changed.
7475         (strout): Assume that caller computes length.  All callers changed.
7476         (print_c_string): New function.
7477         (write_string, write_string_1): Compute length instead of asking
7478         the caller to compute it.  All callers changed.
7479         (write_string): Simplify by using write_string_1.
7480         (write_string_1): Simplify by using print_c_string.
7481         (Fterpri): Compute default val more clearly.
7482         (Fprin1_to_string, print_object):
7483         Assume C99 to avoid unnecessary nesting.
7484         (print_object): Prefer print_c_string to multiple printchar, or
7485         to calling strout with -1 length.  Coalesce into sprintf when
7486         this is easy.
7488 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
7490         Prefer "Bug#1234" in commit messages (Bug#20325)
7491         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
7492         as this isn't useful for Git.
7493         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
7495 2015-04-18  Glenn Morris  <rgm@gnu.org>
7497         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
7498         (Bug#19506)
7500 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
7502         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
7503         (Bug#19505)
7505 2015-04-18  Glenn Morris  <rgm@gnu.org>
7507         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
7509         * doc/emacs/misc.texi (Sorting): Small edit.
7510         (Bug#19896)
7512         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
7514 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
7516         css-mode.el: Support multi-line comment filling
7517         (Bug#20256)
7518         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
7519         comment filling.
7520         (css-adaptive-fill): New function.
7521         (css-mode): Set `adaptive-fill-function'.
7522         (scss-mode): Set `comment-continue'.
7524 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
7526         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
7528 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
7530         Minor improvements in Bulgarian input methods
7531         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
7532         Replace U+042C with U+045D, as the former character is not used in
7533         the modern Bulgarian language.
7534         (Bug#20350)
7536 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7538         Improve EUDC manual
7539         * eudc.texi (LDAP Configuration): Mention simple and SASL
7540         authentication schemes.  Add index items.  Shorten example server
7541         name.
7543 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
7545         Don't show both feature and function with the same name
7546         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7547         Don't show both feature and function with the same name.
7549         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
7550         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7551         Avoid returning both the variable and the function for the same
7552         minor mode.
7554 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
7556         Fix fontification of keywords clobbered by the prompt.
7557         * lisp/comint.el (comint-output-filter): Remove the uses of
7558         with-silent-modifications I introduced as part of the last change.
7559         This fixes, e.g., erratically missing highlighting when running
7560         ./configure --help; ./configure in a shell-mode buffer with
7561         compilation-shell-minor-mode turned on.
7563 2015-04-17  Glenn Morris  <rgm@gnu.org>
7565         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
7567 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7569         * lisp/indent.el (indent-region): Don't deactivate the mark
7570         (Bug#20357)
7572 2015-04-17  Sam Steingold  <sds@gnu.org>
7574         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
7576 2015-04-16  Leo Liu  <sdl.web@gmail.com>
7578         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
7580 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7582         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
7584 2015-04-16  Glenn Morris  <rgm@gnu.org>
7586         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
7588 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
7590         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
7591         * configure.ac (LIBJPEG): Leave it empty for MinGW.
7593 2015-04-16  Glenn Morris  <rgm@gnu.org>
7595         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
7596         to avoid rogue setting after startup.
7598 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7600         Pre-4.6 GCC succeeds with unknown option
7601         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
7602         (Bug#20338)
7604 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7606         '[:graph:]' now excludes whitespace, not just ' '
7607         * doc/lispref/searching.texi (Char Classes):
7608         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
7609         sans whitespace (not sans space).
7610         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
7611         not just space.
7612         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
7614 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7616         (looking-back): Make the second arg non-optional.
7617         * lisp/subr.el (substitute-key-definition-key, special-form-p)
7618         (macrop): Drop deprecated second arg to indirect-function.
7619         (looking-back): Make the second arg non-optional.
7621         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
7622         command is actually sent to the shell.
7624 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7626         Port jpeg configuration to Solaris 10 with Sun C
7627         * configure.ac: Check for jpeglib 6b by trying to link it, instead
7628         of relying on cpp magic that has problems in practice.  Check for
7629         both jpeglib.h and jerror.h features.  Remove special case for
7630         mingw32, which should no longer be needed (and if it were needed,
7631         should now be addressable by hotwiring emacs_cv_jpeglib).
7632         (Bug#20332)
7634 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7636         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
7637         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
7638         Move to elisp-mode.el.
7639         (lisp-mode-variables): (Re)move elisp-specific settings.
7640         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
7641         from lisp-mode-variables.
7642         (elisp--font-lock-flush-elisp-buffers): New function, moved from
7643         lisp-mode.el.
7645         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
7646         Avoid pathological slowdown at top-level in large file.
7648 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7650         Standardize names of ChangeLog history files
7651         Suggested by Glenn Morris in:
7652         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7653         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
7654         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
7655         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
7656         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
7657         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
7658         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
7659         Remove.
7661         Split top-level entries into pre- and post-April 7
7662         This more clearly distingiushes pre-April-7 ChangeLog entries (which
7663         are for top-level files only) from post-April-7 entries (which are
7664         about files at all levels.  Problem reported by Glenn Morris in:
7665         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7666         * ChangeLog.1: Move post-April-7 entries from here ...
7667         * ChangeLog.2: ... to this new file.
7668         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
7670 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7672         Fix recent cus-start changes that added customize-rogues
7673         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
7674         vars early.
7675         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
7677 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
7679         Define cl-concatenate as an alias to seq-concatenate
7680         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
7681           code by making cl-concatenate an alias to seq-concatenate.
7683 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7685         * src/lread.c (intern_1): Make sure we'd find the symbol we add
7686         (Bug#20334)
7687         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
7689 2015-04-15  Glenn Morris  <rgm@gnu.org>
7691         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
7693 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7695         Clean up gnus-uu saving code slightly
7696         * gnus-uu.el (gnus-uu-save-article): Make the
7697         save-restriction/widen calls make more sense.
7699 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7701         Make [:graph:] act like [:print:] sans space
7702         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
7703         [:graph:] so that it matches everything that [:print:] does,
7704         except for space.
7705         * doc/lispref/searching.texi (Char Classes):
7706         * etc/NEWS:
7707         * lisp/emacs-lisp/rx.el (rx):
7708         Document [:graph:] to be [:print:] sans ' '.
7709         * src/character.c, src/character.h (graphicp): New function.
7710         * src/regex.c (ISGRAPH) [emacs]: Use it.
7711         (BIT_GRAPH): New macro.
7712         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
7713         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
7714         Return BIT_GRAPH for RECC_GRAPH.
7715         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
7716         and ISPRINT if BIT_PRINT.
7718 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7720         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
7721         Don't use call-next-method in a cl-defmethod.
7723         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
7724         (eieio--class-p): Remove, provided by cl-defstruct.
7726 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
7728         Add seq-intersection and seq-difference to the seq library
7729         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
7730         functions.
7731         * test/automated/seq-tests.el: Add tests for seq-intersection and
7732         seq-difference.
7733         * doc/lispref/sequences.texi: Add documentation for seq-intersection
7734         and seq-difference.
7736 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7738         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
7740 2015-04-14  Sam Steingold  <sds@gnu.org>
7742         package--ensure-init-file: widen requires save-restriction
7744 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
7746         Improve the commit-msg Git hook for unibyte environments
7747         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
7748         in unibyte environments.  (Suggested by Paul Eggert
7749         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
7750         [:print:], based on UTF-8 sequences of the unprintable characters.
7752         Describe problems with cursor caused by Windows Magnifier
7753         * etc/PROBLEMS: Describe the problem with cursor shape on
7754         MS-Windows due to Windows Magnifier.
7755         (Bug#20271)
7757         Make [:print:] support non-ASCII characters correctly
7758         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
7759         (BIT_PRINT): New bit mask.
7760         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
7761         * src/character.c (printablep): New function.
7762         * src/character.h (printablep): Add prototype.
7763         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
7764         of 'print', 'alnum', and 'alphabetic'.
7765         * doc/lispref/searching.texi (Char Classes): Document the new
7766         behavior of [:print:].
7767         * etc/NEWS: Mention the new behavior of [:print:].
7769         Assign correct general-category and names to surrogates
7770         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
7771         surrogates.  This avoids assigning them the default
7772         general-category of 'Cn', i.e. unassigned codepoints.
7773         (unidata-get-name): Give surrogates synthetic names.
7775 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
7777         Assume C89 offsetof in xterm.c, xlwmenu.c
7778         * lwlib/xlwmenu.c (offset):
7779         * src/xterm.c (cvt_string_to_pixel_args):
7780         Use offsetof, not XtOffset.
7782 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7784         Assume C89 offsetof in widget.c
7785         * src/widget.c (XtOffset): Remove; no longer needed.
7786         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
7788         Fix think-o in previous patch
7789         * src/window.c (count_windows, get_leaf_windows):
7790         Don't optimize count_windows incorrectly.
7792 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7794         Avoid some int overflows in window.c
7795         * src/print.c (print_object):
7796         * src/window.c (sequence_number):
7797         * src/window.h (struct window.sequence_number):
7798         Don't assume window sequence number fits in int.
7799         * src/window.c (window_select_count):
7800         * src/window.h (struct window.use_time, window_select_count):
7801         Don't assume window use time fits in int.
7802         * src/window.c (Fsplit_window_internal):
7803         Don't assume user-supplied integer, or sum, fits in int.
7804         (Fset_window_configuration, count_windows, get_leaf_windows)
7805         (save_window_save, Fcurrent_window_configuration):
7806         Use ptrdiff_t for object counts.
7807         (Fset_window_configuration): Omit unused local 'n'.
7808         (count_windows): Simplify by writing in terms of get_leaf_windows.
7809         (get_leaf_windows): Don't store through FLAT if it's null.
7810         (extract_dimension): New static function.
7811         (set_window_margins, set_window_fringes, set_window_scroll_bars):
7812         Use it to avoid undefined behavior when converting user-supplied
7813         integer to 'int'.
7815 2015-04-13  Glenn Morris  <rgm@gnu.org>
7817         Minor doc copyedits
7818         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
7819         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
7821 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7823         [Gnus] Catch the invalid-operation that idna.el will issue
7824         * lisp/gnus/gnus-art.el (gnus-use-idna):
7825         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
7826         * lisp/gnus/message.el (message-use-idna):
7827         Catch the invalid-operation that idna.el will issue.
7829 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7831         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
7833 2015-04-13  Sam Steingold  <sds@gnu.org>
7835         package--ensure-init-file: widen before looking for "(package-initialize)"
7837 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
7839         Change diff-switches default to `-u'
7840         (Bug#20290)
7841         * doc/emacs/files.texi (Comparing Files): Document the new default
7842         value of `diff-switches'.
7843         * doc/emacs/trouble.texi (Sending Patches): Document the preference
7844         for unified diff format.  Escape the plus in the suggested `-F' regexp
7845         value.
7846         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
7848 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7850         (gnus-group--setup-tool-bar-update): Fix last change
7851         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
7852         cursor-sensor-functions should be a list of functions.
7854 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7856         Use gmm-called-interactively-p in Gnus
7857         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
7859 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7861         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
7862         (Bug#20321)
7863         * lisp/cus-start.el (read-buffer-function): Don't advertize
7864         iswitchb-read-buffer any more.
7865         (iswitchb): Don't tweak this obsolete group any more.
7867 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
7869         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
7871         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
7872         Adding a string after a constructor's argument list will use
7873         that string as the constructor function docstring.  If this string
7874         is absent but the struct itself was given a docstring, use that as
7875         the constructor's docstring.
7876         Fixes (bug#17284).
7878 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7880         Deprecate `intangible' and `point-entered' properties
7881         * lisp/emacs-lisp/cursor-sensor.el: New file.
7882         * lisp/simple.el (pre-redisplay-functions): New hook.
7883         (redisplay--pre-redisplay-functions): New function.
7884         (pre-redisplay-function): Use it.
7885         (minibuffer-avoid-prompt): Mark obsolete.
7886         (redisplay--update-region-highlight): Adapt it to work as a function on
7887         pre-redisplay-functions.
7888         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
7889         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
7890         than point-entered to make the prompt intangible.
7891         * lisp/forms.el: Move `provide' calls to the end.
7892         (forms-mode): Don't use `run-hooks' on a local var.
7893         (forms--make-format, forms--make-format-elt-using-text-properties):
7894         Use cursor-intangible rather than `intangible'.
7895         (forms-mode): Enable cursor-intangible-mode.
7896         * lisp/isearch.el (isearch-mode): Use defvar-local.
7897         (cursor-sensor-inhibit): Declare.
7898         (isearch-mode): Set cursor-sensor-inhibit.
7899         (isearch-done): Set it back.
7900         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
7901         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
7902         any more.
7903         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
7904         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
7905         Add Edebug spec.
7906         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
7907         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
7908         inhibit-point-motion-hooks any more.
7909         (ses--cell-at-pos, ses--curcell): New functions, extracted from
7910         ses-set-curcell.
7911         (ses-set-curcell): Use them.
7912         (ses-print-cell, ses-setup): Use cursor-intangible instead of
7913         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
7914         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
7915         Use ses--cell-at-pos.
7916         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
7917         extracted from ses-command-hook.  Make them work with multiple windows
7918         displaying the same buffer.
7919         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
7920         Enable cursor-intangible-mode.
7921         (ses-command-hook): Remove cell highlight and mode-line update code.
7922         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
7923         Update for new name of text-property holding the cell name.
7924         (ses-rename-cell): Don't mess with mode-line-process.
7925         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
7926         cursor-sensor-functions property instead of point-entered.
7927         (erc-insert-timestamp-right, erc-format-timestamp):
7928         Use cursor-intangible rather than `intangible'.
7929         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
7930         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
7931         cursor-sensor-mode if needed.
7932         (erc-echo-timestamp): Adapt to calling convention of
7933         cursor-sensor-functions.
7934         (erc-insert-timestamp-right): Remove unused vars `current-window' and
7935         `indent'.
7936         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
7937         (gnus-update-group-mark-positions): Remove unused `topic' var.
7938         (gnus-group-insert-group-line): Remove unused var `header'.
7939         (gnus-group--setup-tool-bar-update): New function.
7940         (gnus-group-insert-group-line): Use it.
7941         (gnus-group-update-eval-form): Declare local
7942         dynamically-bound variables.
7943         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
7944         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
7945         (gnus-group-prepare-topics, gnus-topic-update-topic)
7946         (gnus-topic-change-level, gnus-topic-catchup-articles)
7947         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
7948         Use inhibit-read-only.
7949         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
7950         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
7951         * lisp/textmodes/reftex-index.el (reftex-display-index):
7952         Use cursor-intangible-mode if available.
7953         (reftex-index-post-command-hook): Check cursor-intangible.
7954         * lisp/textmodes/reftex-toc.el (reftex-toc):
7955         Use cursor-intangible-mode if available.
7956         (reftex-toc-recenter, reftex-toc-post-command-hook):
7957         Check cursor-intangible.
7958         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
7959         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
7960         (sgml-tags-invisible): Use with-silent-modifications and
7961         inhibit-read-only.  Enable cursor-sensor-mode.
7962         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
7963         calling convention of cursor-sensor-functions.
7964         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
7965         (table-point-entered-cell-hook, table-point-left-cell-hook):
7966         Don't autoload.
7967         (table-cell-entered-state): Remove var.
7968         (table--put-cell-point-entered/left-property)
7969         (table--remove-cell-properties):
7970         Use cursor-sensor-functions rather than point-entered/left.
7971         (table--point-entered/left-cell-function): Merge
7972         table--point-entered-cell-function and table--point-left-cell-function
7973         and adjust to calling convention of cursor-sensor-functions.
7975         Update ldef-boots.el
7977         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
7979         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
7981         Collapse successive char deletions in the undo log
7982         * src/cmds.c (remove_excessive_undo_boundaries): New function,
7983         extracted from Fself_insert_command.
7984         (Fdelete_char, Fself_insert_command): Use it.
7985         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
7986         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
7988         xterm and OSC 52: Add NEWS entry, and tweak the code
7989         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
7990         top-level.
7991         (terminal-init-xterm-activate-set-selection): Set a terminal property.
7992         (xterm--set-selection): Use it instead of checking the value of
7993         `terminal-initted'.  Don't use string-bytes.
7995 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
7997         xterm.el: Implement OSC-52 functionality for setting the X selection
7998         * lisp/term/xterm.el (xterm-max-cut-length): New var.
7999         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
8000         (terminal-init-xterm, xterm--version-handler): Use them.
8002 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8004         Remove left over code from when we used an obsolete/loaddefs.el file
8005         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
8006         we used an obsolete/loaddefs.el file.
8008         * cedet/semantic/fw.el: Use declare.
8009         * cedet/semantic/fw.el (semantic-exit-on-input)
8010         (semanticdb-without-unloaded-file-searches): Use declare.
8011         (semantic-fw-add-edebug-spec): Remove.
8013         (completion-lisp-mode-hook): Use completion-separator-chars
8014         * lisp/completion.el (completion-lisp-mode-hook):
8015         Use completion-separator-chars rather than local key binding.
8017         * src/*.c: Set deactivate_mark buffer-locally
8018         (Bug#20260)
8019         * src/insdel.c (prepare_to_modify_buffer_1):
8020         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
8021         buffer-locally.
8023 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8025         python.el: Keep symmetry on sexp navigation with parens
8026         (Bug#19954)
8027         * lisp/progmodes/python.el
8028         (python-nav--forward-sexp): Add argument skip-parens-p.
8029         (python-nav-forward-sexp, python-nav-backward-sexp)
8030         (python-nav-forward-sexp-safe)
8031         (python-nav-backward-sexp-safe): Use it.
8032         * test/automated/python-tests.el
8033         (python-nav-forward-sexp-1): Fix test.
8035 2015-04-12  João Távora  <joaotavora@gmail.com>
8037         Don't use `setq-local' in Gnus code
8038         This might break upstream builds with older Emacsen
8039         * lisp/gnus/message.el (message-mode): Use `set' and
8040         `make-local-variable' instead of `setq-local'.
8042 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8044         Update Makefile.in's .PHONY dependencies
8045         * Makefile.in (change-history-commit, master-branch-is-current)
8046         (no-ChangeLog): Now phony.
8048         Remove configure's --with-mmdf option
8049         * configure.ac (MAIL_USE_MMDF): Remove.
8050         * etc/NEWS: Document this.
8051         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8052         (Bug#20308)
8054         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8055         That way, 'make install' won't think it's a man page.
8056         Reported by Ashish SHUKLA in:
8057         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8059         Improve 'make change-history' prereq tests
8060         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8061         (no-ChangeLog, master-branch-is-current): New rules.
8062         (change-history): Depend on them, to avoid similar future problems.
8063         Escape the local-variables string to pacify Emacs when editing
8064         Makefile.in.
8066 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8068         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8070         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8071         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8072         "Upgrade" last, and use capitalized instead of all-caps.
8074         * lisp/emacs-lisp/package.el: Completely silence async operations
8075         (package--make-autoloads-and-stuff): Silence autoloads.
8076         (package--save-selected-packages): New function, silences
8077         `customize-save-variable'.
8078         (package--user-selected-p, package-install-from-buffer)
8079         (package-delete, package-install): Use it.
8080         (package-install-from-archive)
8081         (package-menu--perform-transaction): Silence.
8082         (package-menu-execute): Feedback when operation starts.
8084         Use delay-mode-hooks when visiting the init-file
8085         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8086         delay-mode-hooks
8087         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8089         * lisp/files.el: Only message when saving if save-silently is nil
8090         (save-silently): New variable.
8091         (files--message): New function.
8092         (find-file-noselect, save-buffer, basic-save-buffer)
8093         (basic-save-buffer-2, save-some-buffers, not-modified)
8094         (append-to-file): Use them.
8096 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8098         Support debug declarations in pcase macros
8099         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8100         (pcase-UPAT): Use it.  Remove "`".
8101         (pcase--edebug-match-macro): New function.
8102         (pcase-defmacro): Support debug declarations.
8103         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8104         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8105         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8107         pcase.el: Edebug support for `app' and vector patterns
8108         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8109         (pcase-UPAT): Use it. Support `app' patterns.
8110         (pcase-QPAT): Support vector patterns.
8112         edebug.el: Disambiguate vector specifications
8113         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8114         `(vector ...)' as a vector specification, not as a sublist.
8116         (gnus-summary-refer-thread): Don't clobber unread articles
8117         This fixes a bug where `A T' causes "random" articles to become marked
8118         as read.
8119         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8120         gnus-newsgroup-unreads remains sorted.
8122         mouse-sel.el: Fix mouse-sel-get-selection-function
8123         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8124         Use gui--last-selected-text-primary instead of no longer existing
8125         gui-last-selected-text.
8127         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8129         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8131 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8133         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8135         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8137         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8138         (byte-compile--interactive): New var.
8139         (byte-compile--message): New function.
8140         (byte-compile-log-1, byte-force-recompile)
8141         (byte-recompile-directory, byte-recompile-file)
8142         (byte-compile-file, compile-defun)
8143         (byte-compile-file-form-defmumble, byte-compile)
8144         (byte-compile-file-form-defalias, display-call-tree): Use it.
8146         * lisp/files.el: Don't message when nothing happened
8147         (save-some-buffers, basic-save-buffer): Before messaging to say
8148         "nothing was saved" check if (called-interactively-p 'any).
8150 2015-04-12  João Távora  <joaotavora@gmail.com>
8152         Summary: Improve sexp-based movement in message-mode
8153         Works by giving citations and smileys a different syntax.  This helps
8154         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8155         sexp-based movement.
8156         * lisp/gnus/message.el (message--syntax-propertize): New function.
8157         (message-mode): Set syntax-related vars.
8158         (message-smileys): New variable.
8159         * test/automated/message-mode-tests.el: New file
8161 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8163         Use bool for boolean in window.c
8164         * src/window.c: Omit unnecessary static function decls.
8165         (adjust_window_count, select_window, Fselect_window)
8166         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8167         (set_window_hscroll, check_window_containing, Fwindow_at)
8168         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8169         (unshow_buffer, replace_window, recombine_windows)
8170         (add_window_to_list, candidate_window_p, next_window)
8171         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8172         (Fget_buffer_window, Fdelete_other_windows_internal)
8173         (replace_buffer_in_windows_safely, set_window_buffer)
8174         (Fset_window_buffer, Fforce_window_update)
8175         (temp_output_buffer_show, make_parent_window)
8176         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8177         (resize_frame_windows, Fsplit_window_internal)
8178         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8179         (Fresize_mini_window_internal, mark_window_cursors_off)
8180         (window_scroll, window_scroll_pixel_based)
8181         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8182         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8183         (Fmove_to_window_line, Fset_window_configuration)
8184         (delete_all_child_windows, apply_window_adjustment)
8185         (set_window_fringes, set_window_scroll_bars)
8186         (Fset_window_vscroll, foreach_window, foreach_window_1)
8187         (compare_window_configurations, Fcompare_window_configurations):
8188         Prefer 'bool', 'true', and 'false' for booleans.
8189         * src/window.h (WINDOW_MODE_LINE_LINES)
8190         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8192 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8194         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8195         This prevents emacs-lisp-mode-hook from being run everytime an
8196         autoload file is generated, which can account for a fraction of
8197         package installation time depending on the hooks the user has
8198         configured.
8199         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8200         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8201         (autoload-find-generated-file): Use delay-mode-hooks.
8203         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8204         (package-menu-refresh): Respect async and do new package checking.
8205         (list-packages): Use `package-menu-refresh' instead of repeating code.
8207         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8208         (package--quick-help-keys): New variable.
8209         (package--prettify-quick-help-key): New function.
8210         (package-menu-quick-help): Use it.
8212         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8213         (package--build-compatibility-table): require finder
8215         * test/automated/package-test.el: Fix new test
8217         * lisp/emacs-lisp/package.el: Silence async operations
8218         (package--silence): New variable.
8219         (package--message): New function.
8220         (package-import-keyring, package-refresh-contents)
8221         (package-compute-transaction, package-install, package-delete)
8222         (package-menu--perform-transaction, package-menu-execute): Use it.
8224         * test/automated/package-test.el: Test async functionality
8225         (package-test-update-archives-async): New test
8227 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8229         Utilize `make-process' in epg.el
8230         * lisp/epg.el (epg-error-output): Abolish.
8231         (epg-context): New slot `error-buffer'.
8232         (epg--start): Use `make-process' and `make-pipe-process'.
8233         (epg--process-filter): Remove code separating stderr from stdout.
8234         (epg-wait-for-completion): Simplify `error-output' handling.
8235         (epg-reset): Dispose error buffer.
8237 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8239         * .gitignore: Ignore doc temps and outputs.
8241         Port commit-msg to MSYS Bash+Gawk
8242         See Eli Zaretskii in:
8243         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8244         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8245         (cent_sign, print_at_sign, at_sign): Revert previous change.
8246         (print_at_sign): Prepend "BEGIN".
8247         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8249         Port commit-msg to broken MS-Windows shell
8250         * build-aux/git-hooks/commit-msg (cent_sign):
8251         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8252         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8253         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8255 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8257         Support GnuTLS v3.4 and later on MS-Windows
8258         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
8259         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
8260         GnuTLS DLL to load according to value of libgnutls-version.
8261         (Bug#20294)
8263 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8265         Minor quoting etc. fixes to misc manuals
8266         Fix some minor quoting and spacing issues.  Distinguish more
8267         clearly among grave accent and apostrophe (which are ASCII) and
8268         single quote (which is not).  Prefer the standard terms
8269         "apostrophe" and "grave accent" to alternative names that can be
8270         confusing.  Use apostrophes to single-quote ASCII text.
8271         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
8272         rather than approximating it in ASCII with grave accent.
8274 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8276         Respect more keyword args in `make-process'
8277         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
8278         keywords as documented.
8280 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
8282         Extract ChangeLog entries when committing a directory
8283         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
8284         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
8285         Add a FIXME comment.
8286         (log-edit-changelog-entries): Extract from
8287         `log-edit-changelog-entries', handle FILE being a directory
8288         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
8290 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8292         Fix problems found by --enable-gcc-warnings
8293         * src/process.c (create_process, Fmake_pipe_process)
8294         (Fmake_network_process): Omit unused locals.
8296         Fix commit-msg to handle scissors lines
8297         * build-aux/git-hooks/commit-msg:
8298         Ignore every line after a scissors line, such as a line generated
8299         by 'git commit -v'.  Problem reported by Johan Bockgård in:
8300         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
8302         port commit-msg to Gawk 3.0.4 (1999)
8303         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
8304         (print_at_sign, at_sign): New vars.  Use them to avoid problems
8305         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
8306         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8308         Have commit-msg report commit failure
8309         * build-aux/git-hooks/commit-msg: If the commit is aborted,
8310         say so.  Simplify by doing this at the end.  Problem reported
8311         by Eli Zaretskii in:
8312         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8314 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8316         Clean up LDAP Configuration section of EUDC manual
8317         * doc/misc/eudc.texi: Combine indices.
8318         (LDAP Configuration): Use command markup.  Add index entries.
8319         Change formatting.  Wrap long lines.  Add noindent markup.
8321 2015-04-10  Daiki Ueno  <ueno@gnu.org>
8323         Add facility to collect stderr of async subprocess
8324         * src/w32.h (register_aux_fd): New function declaration.
8325         * src/w32.c (register_aux_fd): New function.
8326         * src/process.h (struct Lisp_Process): New member stderrproc.
8327         * src/process.c (PIPECONN_P): New macro.
8328         (PIPECONN1_P): New macro.
8329         (Fdelete_process, Fprocess_status, Fset_process_buffer)
8330         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
8331         (Fcontinue_process): Handle pipe process specially.
8332         (create_process): Respect p->stderrproc.
8333         (Fmake_pipe_process): New function.
8334         (Fmake_process): Add new keyword argument :stderr.
8335         (wait_reading_process_output): Specially handle a pipe process when
8336         it gets an EOF.
8337         (syms_of_process): Register Qpipe and Smake_pipe_process.
8338         * doc/lispref/processes.texi (Asynchronous Processes): Document
8339         `make-pipe-process' and `:stderr' keyword of `make-process'.
8340         * lisp/subr.el (start-process): Suggest to use `make-process' handle
8341         standard error separately.
8342         * test/automated/process-tests.el (process-test-stderr-buffer)
8343         (process-test-stderr-filter): New tests.
8344         * etc/NEWS: Mention new process type `pipe' and its usage with the
8345         `:stderr' keyword of `make-process'.
8347 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8349         Minor quoting etc. fixes to lispref manual
8350         * doc/lispref/tips.texi (Documentation Tips):
8351         Distinguish more clearly among grave accent, apostrophe,
8352         and single quote.
8353         * doc/lispref/README, doc/lispref/buffers.texi:
8354         * doc/lispref/commands.texi, doc/lispref/control.texi:
8355         * doc/lispref/customize.texi, doc/lispref/display.texi:
8356         * doc/lispref/elisp.texi, doc/lispref/files.texi:
8357         * doc/lispref/frames.texi, doc/lispref/hash.texi:
8358         * doc/lispref/help.texi, doc/lispref/internals.texi:
8359         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
8360         * doc/lispref/markers.texi, doc/lispref/modes.texi:
8361         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
8362         * doc/lispref/os.texi, doc/lispref/positions.texi:
8363         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
8364         * doc/lispref/text.texi, doc/lispref/tips.texi:
8365         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
8366         Use American-style double quoting in ordinary text,
8367         and quote 'like this' when single-quoting in ASCII text.
8368         Also, fix some minor spacing issues.
8370 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
8372         Handle symlinked test directory in tramp-tests.el
8373         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
8374         (tramp--test-check-files): Use `file-truename' for directories.
8376 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
8378         Fix 'recenter' when visual-line-mode is turned on
8379         * src/window.c (Frecenter): Use the same code for GUI and TTY
8380         frames alike; use vmotion only for "initial" frames.  This is
8381         because vmotion doesn't support visual-line-mode.  Rewrite the
8382         'iarg >= 0' case to use move_it_* functions instead of using
8383         vmotion, for the same reason.  Fix the clipping of the argument
8384         value to support scroll-margin in all cases and avoid unwarranted
8385         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
8386         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
8387         which see.
8389 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8391         * abbrev.el (define-abbrev-table): Refine last change.
8393         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
8394         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
8395         use of c[ad]+r", so as to keep the "cl-" prefix on all
8396         cl-lib definitions.
8398         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
8400         * lisp/cedet/semantic: Remove some dead code
8401         * lisp/cedet/semantic/util-modes.el
8402         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
8403         any more.
8404         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
8405         not supported any more.
8406         (semantic-safe): Use `declare'.
8407         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
8408         (semantic-tag-intangible-p): Remove unused functions.
8409         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
8410         Remove unused function.
8412         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
8413         (gnus-article-hide-text, gnus-article-unhide-text)
8414         (gnus-article-unhide-text-type): Remove special handling of
8415         `intangible' since that property is not used any more.
8416         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
8418 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8420         Use the VC root in `log-edit-listfun'
8421         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
8422         `log-edit-listfun'.
8424 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
8426         Fix description of Unix time, mention new function.
8427         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
8428         Unix time.
8429         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
8430         (Basic Operations on Units): Mention `calc-convert-exact-units'.
8432 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
8434         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
8436 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8438         (log-edit-insert-changelog-entries): Don't add newline after the last entry
8439         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
8440         Don't add newline after the last entry.
8442 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
8444         css-mode.el: Add "not" pseudo-class
8445         (Bug#20267)
8446         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
8447         list of CSS pseudo-classes.
8449 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8451         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
8453 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
8455         Stop messing with the EMACS env var
8456         * misc.texi (Interactive Shell): Remove description of EMACS env var.
8458 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8460         Adapt 'make change-history' to coding cookie
8461         * Makefile.in (change-history): Adjust to change of format of
8462         ChangeLog file, which now has a coding cookie before an indented
8463         copyright notice.
8465 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8467         Adapt 'make change-history' to coding cookie
8468         * Makefile.in (change-history): Adjust to change of format of
8469         ChangeLog file, which now has a coding cookie before an indented
8470         copyright notice.
8472         gitlog-to-changelog coding cookie and mv -i
8473         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
8474         for copyright notice prototype, so that we get a proper "coding:"
8475         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
8476         existing ChangeLog.  Problems reported by Eli Zaretskii in:
8477         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
8479         Merge from gnulib
8480         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
8481         2015-04-09 gitlog-to-changelog: port to MS-Windows
8483 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
8485         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
8486         (Bug#20212)
8488 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8490         Stop messing with the EMACS env var
8491         (Bug#20202)
8492         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
8493         * lisp/comint.el (comint-exec-1):
8494         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
8495         * lisp/progmodes/compile.el (compilation-start): Same and bring
8496         INSIDE_EMACS's format in line with other users.
8498         css-mode.el (css-smie-rules): Fix indentation after complex selectors
8499         (Bug#20282)
8500         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
8501         inner structure of selectors.
8503 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8505         python.el: Indent docstring lines to base-indent
8506         (Bug#19595)
8507         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
8508         an initial patch.
8509         * lisp/progmodes/python.el
8510         (python-indent-context): Add :inside-docstring context.
8511         (python-indent--calculate-indentation): Handle :inside-docstring.
8512         (python-indent-region): Re-indent docstrings.
8513         * test/automated/python-tests.el (python-indent-region-5)
8514         (python-indent-inside-string-2): Fix tests.
8516         python.el: Increase native completion robustness
8517         (Bug#19755)
8518         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
8519         this and providing useful ideas.
8520         * lisp/progmodes/python.el
8521         (python-shell-completion-native-output-timeout): Increase value.
8522         (python-shell-completion-native-try-output-timeout): New var.
8523         (python-shell-completion-native-try): Use it.
8524         (python-shell-completion-native-setup): New readline setup avoids
8525         polluting current context, ensures output when no-completions are
8526         available and includes output end marker.
8527         (python-shell-completion-native-get-completions): Trigger with one
8528         tab only.  Call accept-process-output until output end is found or
8529         python-shell-completion-native-output-timeout is exceeded.
8531 2015-04-08  Samer Masterson  <samer@samertm.com>
8533         * lisp/eshell: Make backslash a no-op in front of normal chars
8534         (Bug#8531)
8535         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
8536         (eshell-parse-backslash): Return escaped character after backslash
8537         if it is special.  Otherwise, if the backslash is not in a quoted
8538         string, ignore the backslash and return the character after; if
8539         the backslash is in a quoted string, return the backslash and the
8540         character after.
8541         * test/automated/eshell.el (eshell-test/escape-nonspecial)
8542         (eshell-test/escape-nonspecial-unicode)
8543         (eshell-test/escape-nonspecial-quoted)
8544         (eshell-test/escape-special-quoted): Add tests for new
8545         `eshell-parse-backslash' behavior.
8547 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
8549         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
8550         after the file name.
8551         (Bug#20276)
8553 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8555         Minor quoting etc. fixes to Emacs manual
8556         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
8557         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
8558         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
8559         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
8560         * doc/emacs/indent.texi, doc/emacs/macos.texi:
8561         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
8562         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
8563         * doc/emacs/search.texi, doc/emacs/trouble.texi:
8564         * doc/emacs/vc1-xtra.texi:
8565         Use American-style double quoting in ordinary text,
8566         and quote 'like this' when single-quoting in ASCII text.
8567         Also, fix some minor spacing issues.
8569         Minor quoting etc. fixes to elisp intro
8570         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
8571         American-style double quoting in ordinary text.  In ASCII text,
8572         consistently quote 'like this' instead of `like this', unless
8573         Emacs requires the latter.
8575 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
8577         * CONTRIBUTE: Mention log-edit-insert-changelog.
8579         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
8581 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8583         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
8585 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8587         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
8588         (Bug#20270)
8589         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
8590         Fix inheritance of initargs.
8592 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
8594         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
8595         while dowloading information.
8597         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
8598         (package--ensure-init-file): Check file contents before visiting.
8599         (package-initialize): Call it.
8600         (package-install-from-buffer, package-install): Don't call it.
8602 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
8604         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
8605         (Bug#17517)
8607 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
8609         Fix nasty scoping bug in tramp-cache.el
8610         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
8612 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
8614         Add notice to visual commands section
8615         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
8616         such as git call less with its -F option which omits pagination if
8617         the contents is less than one page long.  This interferes with
8618         eshell's visual (sub-)commands.
8620 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
8622         ffap: Support environment variable expansion in file names
8623         (Bug#19839)
8624         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
8625         environment variable expansion in file names.
8627 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8629         Prefer double-quote to accent-grave in man pages
8631 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8633         (Bug#20257)
8634         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
8636 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
8638         Update etc/PROBLEMS.
8639         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
8640         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
8641         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
8642         respectively); other minor updates and tweaks.  (Bug#20011)
8644 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8646         Add doc strings for some Isearch state vars
8647         * lisp/misearch.el (multi-isearch-buffer-list)
8648         (multi-isearch-file-list): Add doc strings.
8649         (Bug#20232)
8651 2015-04-07  Alan Mackenzie  <acm@muc.de>
8653         Always mark "<" and ">" in #include directives with text properties.
8654         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
8655         matcher" with an invocation of c-make-font-lock-search-function to allow
8656         fontification when there's no trailing space on an "#include <..>" line.
8658 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8660         Generate a ChangeLog file from commit logs
8661         * .gitignore: Add 'ChangeLog'.
8662         * build-aux/gitlog-to-changelog: New file, from Gnulib.
8663         * build-aux/gitlog-to-emacslog: New file.
8664         * CONTRIBUTE: Document the revised workflow.
8665         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
8666         instead of just special cases.
8667         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
8668         (ChangeLog, unchanged-history-files, change-history)
8669         (change-history-commit): New rules.
8670         * admin/admin.el (make-manuals-dist--1):
8671         Don't worry about doc/ChangeLog.
8672         * admin/authors.el: Add a FIXME.
8673         * admin/make-tarball.txt:
8674         * lisp/calendar/icalendar.el:
8675         * lisp/gnus/deuglify.el:
8676         * lisp/obsolete/gulp.el:
8677         * lwlib/README:
8678         Adjust to renamed ChangeLog history files.
8679         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
8680         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
8681         Remove obsolete discussion of merging ChangeLog files.
8682         New section "Maintaining ChangeLog history".
8683         * build-aux/git-hooks/pre-commit:
8684         Reject attempts to commit files named 'ChangeLog'.
8685         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
8686         * make-dist: Make and distribute top-level ChangeLog if there's a
8687         .git directory.  Distribute the new ChangeLog history files
8688         instead of scattered ChangeLog files.  Distribute the new files
8689         gitlog-to-changelog and gitlog-to-emacslog.
8690         (Bug#19113)
8692         Rename ChangeLogs for gitlog-to-changelog
8693         This patch was implemented via the following shell commands:
8694         find * -name ChangeLog |
8695         sed 's,.*,git mv & &.1,
8696         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
8697         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
8698         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
8699         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
8700         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
8701         sh
8702         git commit -am"[this commit message]"
8704 This file records repository revisions from
8705 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
8706 commit a57f8f3022d9ab8b31bbfee291a3d7340bd37c21 (inclusive).
8707 See ChangeLog.1 for earlier changes.
8709 ;; Local Variables:
8710 ;; coding: utf-8
8711 ;; End:
8713   Copyright (C) 2015 Free Software Foundation, Inc.
8715   This file is part of GNU Emacs.
8717   GNU Emacs is free software: you can redistribute it and/or modify
8718   it under the terms of the GNU General Public License as published by
8719   the Free Software Foundation, either version 3 of the License, or
8720   (at your option) any later version.
8722   GNU Emacs is distributed in the hope that it will be useful,
8723   but WITHOUT ANY WARRANTY; without even the implied warranty of
8724   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8725   GNU General Public License for more details.
8727   You should have received a copy of the GNU General Public License
8728   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.