(uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
[emacs.git] / ChangeLog.2
blob2ae3e9512c04f3b92b2d15540d1a565c8a6a4603
1 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
3         fix link to source code in help window
4         * lisp/help-fns.el (find-lisp-object-file-name): remove code that
5         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
6         'No longer include timestamp in header of .elc files'. Add code
7         that will return .el source file in load-path.
9 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
11         * isearch.el (isearch-search-fun-default): (Bug#21164)
12         Respect `isearch-lax-whitespace' when searching through
13         `isearch-word'.
15 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
17         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
19         * org.el: Fix up some lexical scoping warnings, and use dolist
20         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
21         (org-set-regexps-and-options, org-assign-fast-keys)
22         (org-contextualize-keys, org-contextualize-validate-key)
23         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
24         (org-find-olp, org-find-exact-heading-in-directory)
25         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
26         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
27         (org-replace-escapes): Use dolist.
28         (org-mode): Optimize away XEmacs-only code.
29         (org-refile-get-targets): Remove unused var `f'.
30         (org-fast-todo-selection): Remove unused var `e'.
31         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
32         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
33         (org-format-latex): Use dolist.  Remove unused var `e'.
34         (org-toggle-heading): Access vars lexically rather than dynamically.
35         (org-backward-sentence, org-forward-sentence, org-meta-return)
36         (org-kill-line): Mark arg as unused.
37         (org-submit-bug-report): Silence compiler warning.
38         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
39         (org-get-cursor-date): Remove unused var `tm'.
40         (org-comment-or-uncomment-region): Use standard name `_'.
41         (reftex-docstruct-symbol, reftex-cite-format): Declare to
42         silence byte-compiler.
43         (org-reftex-citation): Add `org--' prefix to dynamically scoped
44         `rds' var.
46 2015-08-08  Nicolas Petton  <nicolas@petton.fr>
48         Merge remote-tracking branch 'origin/fix/subsequence-error-with-negative-sequences'
50 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
52         Electric quote if coding is undecided or no conv
53         * lisp/electric.el (electric--insertable-p): Also say that a
54         string is insertable if the buffer file coding system is undecided
55         or uses no conversion, as curved quotes will work in either case.
57         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
59 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
61         Fix overlay string display regressions introduced in Emacs 24.5
62         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
63         buffer position, if we move the iterator to a new position as
64         result of jumping over text covered by a "replacing" display
65         property.
66         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
68         Support recovery from C stack overflow on MS-Windows
69         * src/w32fns.c (w32_reset_stack_overflow_guard)
70         (stack_overflow_handler): New functions for handling C stack
71         overflow exceptions.
72         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
73         specially, and zero out except_addr if we do.
74         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
75         mode.
76         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
77         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
78         the MinGW build, but the code guarded by that is for Posix hosts.
79         * src/keyboard.c (command_loop) [WINDOWSNT]: Call
80         w32_reset_stack_overflow_guard.
81         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
82         (sigsetjmp): New macro.
83         (w32_reset_stack_overflow_guard): Declare the prototype.
84         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
86 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
88         Improve error signalling for seq-subseq.
90         * lisp/seq.el (seq-subseq): The existing behaviour is to error
91         when indexes are too large, but to silently ignore numbers which
92         are too negative for lists.  String and vector handling errors in
93         both cases. This has been regularlised. Error signalling behaviour
94         has been explicitly added to the docstring.
96         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
97         therefore also impacted by this change. The docstring has been
98         updated to reflect this.
100         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
101         added for these exceptional cases, as well as one non exceptional
102         base case.
105 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
107         Improve error checking in tramp-adb.el
108         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
109         Improve error checking.  "ls -l" on Android in Enforcing mode can
110         print "lstat './FILENAME failed: Permission denied".
112 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
114         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
115         non-struct vectors.
117 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
119         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
120         * lisp/window.el: fix typo that broke build
121         (display-buffer--action-function-custom-type): add
122         `display-buffer-use-some-frame'
123         (display-buffer): add `display-buffer-use-some-frame' to doc string
125         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
126         * lisp/window.el (display-buffer-use-some-frame): Add support for
127         'inhibit-same-window in alist.
128         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
129         'inhibit-same-window in alist.
131 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
133         Avoid infinite loop in display of invisible text in strings
134         * src/xdisp.c (handle_invisible_prop): If the next change of
135         invisibility spec does not mean the beginning of a visible text,
136         update the string position from which to start the search for the
137         next invisibility change.  This avoids an infinite loop when we
138         have more than one invisibility spec that are made inactive by
139         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
140         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
141         for the situation that caused bug #21200.
143 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
145         * lisp/emacs-lisp/package.el: Simplify describe-package-1
146         (package-help-section-name-face): New face.
147         (package--print-help-section): New function.
148         (describe-package-1): Refactor section printing.
149         (package-make-button): Use face instead of font-lock-face, which
150         doesn't work on buttons.
152         * lisp/emacs-lisp/package.el: Define custom faces
153         (package-name-face, package-description-face)
154         (package-status-built-in-face, package-status-external-face)
155         (package-status-available-face, package-status-new-face)
156         (package-status-held-face, package-status-disabled-face)
157         (package-status-installed-face, package-status-dependency-face)
158         (package-status-unsigned-face, package-status-incompat-face)
159         (package-status-avail-obso-face): New faces.
160         (package-menu--print-info-simple): Use them.
162 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
164         Fix some confusion with ‘format’
165         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
166         (allout-graphics-modification-handler):
167         Protect arbitrary string in a format context with "%s" format.
168         * lisp/avoid.el:
169         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
170         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
171         * lisp/erc/erc-button.el (erc-button-beats-to-time):
172         * lisp/gnus/message.el (message-send-form-letter):
173         * lisp/org/ob-core.el (org-babel-check-evaluate)
174         (org-babel-confirm-evaluate):
175         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
176         * lisp/org/ox-latex.el (org-latex-compile):
177         * lisp/org/ox-man.el (org-man-compile):
178         * lisp/org/ox-odt.el (org-odt-template):
179         * lisp/org/ox-texinfo.el (org-texinfo-compile):
180         * lisp/progmodes/prolog.el (prolog-help-info)
181         (prolog-view-predspec):
182         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
183         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
184         * lisp/textmodes/rst.el (rst-replace-lines):
185         Change (message (format ...)) to (message ...), and likewise
186         for ‘error’.  This lessens the probability of confusion when the
187         output of ‘format’ contains ‘%’.
189 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
191         * lisp/replace.el (replace-character-fold): Default to nil
193         * lisp/character-fold.el: Fix lax whitespace
194         (character-fold-table): Don't make space match other whitespace chars.
195         (character-fold-to-regexp): Simplify lax behaviour.
197 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
199         Preserve window point in xref-find-definitions-other-window
200         Fix the problem reported by Ingo Logmar in
201         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
202         * lisp/progmodes/xref.el (xref--goto-char): Extract from
203         xref--goto-location.
204         (xref--pop-to-location): Use it. Replace xref--goto-location with
205         a direct xref-location-marker call.
206         (xref--show-location): Likewise.
207         (xref--display-position): Use xref--goto-char.
209         * lisp/progmodes/project.el: Add a paragraph to the front matter.
211 2015-08-04  David Kastrup  <dak@gnu.org>
213         Do not overwrite preexisting contents of unread-command-events
214         * lisp/vc/emerge.el (emerge-show-file-name):
215         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
216         (vhdl-comment-insert, vhdl-hooked-abbrev):
217         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
218         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
219         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
220         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
221         * lisp/obsolete/vip.el (vip-escape-to-emacs)
222         (vip-prefix-arg-value, vip-prefix-arg-com):
223         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
224         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
225         (quail-tibkey-update-translation):
226         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
227         * lisp/leim/quail/lao.el (quail-lao-update-translation):
228         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
229         (quail-japanese-self-insert-and-switch-to-alpha):
230         * lisp/leim/quail/hangul.el (hangul2-input-method)
231         (hangul3-input-method, hangul390-input-method):
232         * lisp/language/hanja-util.el (hangul-to-hanja-char):
233         * lisp/international/robin.el (robin-input-method):
234         * lisp/international/quail.el (quail-start-translation)
235         (quail-start-conversion):
236         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
237         (gnus-article-describe-key-briefly):
238         * lisp/eshell/em-hist.el (eshell-list-history):
239         * lisp/term.el (term-dynamic-list-input-ring)
240         (term-dynamic-list-completions):
241         * lisp/subr.el (momentary-string-display):
242         * lisp/simple.el (read-quoted-char):
243         * lisp/pcomplete.el (pcomplete-show-completions):
244         * lisp/kmacro.el (kmacro-repeat-on-last-key):
245         * lisp/info.el (Info-summary):
246         * lisp/ehelp.el (electric-help-command-loop):
247         * lisp/ebuff-menu.el (electric-buffer-list)
248         (Electric-buffer-menu-exit):
249         * lisp/double.el (double-translate-key):
250         * lisp/comint.el (comint-dynamic-list-input-ring)
251         (comint-dynamic-list-completions): Do not overwrite preexisting
252         contents of `unread-command-events' when putting new events into
253         it.
255 2015-08-04  Daniel Colascione  <dancol@dancol.org>
257         Improve ansi-color filtering of unrecognized escape sequences
258         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
259         escape sequences.
260         (ansi-color-filter-apply): Filter out unrecognized escape sequences
261         (ansi-color-apply): Filter out unrecognized escape sequences
263 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
265         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
266         definitions to `easy-menu-define', improve a couple to account for
267         async, and add a couple of new commands.
269 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
271         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
273 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
275         Add new 'calendar-weekend-days' option
276         Make the days receiving the 'calendar-weekend-header' face freely
277         customizable, as they differ by region/culture.
278         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
279         new variable.
280         * lisp/calendar/calendar.el (calendar-generate-month): New variable
281         calendar-weekend-days to customize day header fontification.
283 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
285         Redo text-quoting-style variable
286         Rename help-quote-translation to text-quoting-style,
287         and use symbols rather than characters as values.
288         This follows suggestions along these lines by Alan Mackenzie in:
289         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
290         and by Drew Adams in:
291         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
292         * doc/lispref/help.texi (Keys in Documentation)
293         * etc/NEWS:
294         * lisp/cus-start.el (standard):
295         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
296         Document and/or implement the new behavior instead of the old.
297         (syms_of_doc): New symbols 'grave' and 'straight'.
299 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
301         nnimap.el: Use IMAP MOVE extension if available
302         * lisp/gnus/nnimap.el (nnimap-request-move-article)
303         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
304         Use MOVE extension if available.
306         nnimap.el: Explicitly ask for server capabilities
307         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
308         capabilities will be returned in the login-result.
310 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
312         Treat help strings like other doc strings
313         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
314         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
315         substitute-command-keys.
316         * src/keyboard.c (show_help_echo, parse_menu_item): Call
317         substitute-command-keys on the help string before displaying it.
319         Also mention "curly quotes"
320         See Drew Adams's email in:
321         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
322         * doc/lispref/help.texi (Keys in Documentation):
323         Add index entry "curly quotes".
324         * etc/NEWS: Use the phrase "curly quotes" too.
326         ede-proj-target-makefile docstring tweaks
327         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
328         Consistently use "all:" to describe the all: target,
329         replacing three different and confusingly-quoted usages.
331 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
333         Whitespace fixes
335 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
337         Don't abort emacsclientw when -a was specified
338         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
339         out if we are in emacsclientw and -a was specified.
341 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
343         Fix handling of 1st keystroke on MS-Windows
344         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
345         This is needed to correctly handle the session's first keystroke,
346         if it has any modifiers.  (Bug#19994)
348 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
350         Substitute some customization etc. doc strings
351         These changes apply substitute-command-keys to some
352         doc strings that were going through untranslated
353         when creating customization or other widgets.
354         * lisp/cus-edit.el (custom-group-value-create):
355         * lisp/wid-edit.el (widget-default-create):
356         (widget-push-button-value-create):
357         Treat the widget tag as a doc string.
358         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
359         Treat the :documentation value as a doc string.
360         * lisp/wid-edit.el (widget-choose):
361         Treat the choice names as doc strings.
362         (widget-default-create): Treat the :doc value as a doc string.
363         (widget-toggle-value-create): Treat the :on and :off values
364         as doc strings.
365         (widget-documentation-string-value-create):
366         Substitute the doc string.
368 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
370         Add a second argument to project-ignores
371         * lisp/progmodes/project.el (project-ignores): Add a second
372         argument DIR.
373         * lisp/progmodes/project.el (project-ignores): Only include the VC
374         ignores if DIR is the VC root.
375         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
377 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
379         Prevent incorrect display when 'line-spacing' variable is set
380         * src/xdisp.c (try_window_id): Give up this optimization if the
381         buffer has its 'line-spacing' variable set non-nil.
383 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
385         Don't pass NOVISIT to find-file
386         * lisp/progmodes/etags.el (next-file):
387         Don't pass NOVISIT to find-file (bug#21175).
389         Ignore buffer restriction for tags-loop-eval
390         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
391         restriction (bug#21167).
393 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
395         Fix a thinko in 'ffap-gopher-at-point'
396         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
398         Honor 'line-spacing' for empty lines
399         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
400         property and 'line-spacing' frame parameter or variable or
401         property for empty lines, by doing the same processing as in
402         x_produce_glyph for newline characters.  (Bug#21165)
404 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
406         Simplify by assuming C99 integer division
407         * src/floatfns.c (ceiling2, floor2, truncate2):
408         Assume C99 (i.e., Fortran) semantics for integer division.
409         This simplifies the code.
411 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
413         Don't overflow if computing approximate percentage
414         * lisp/align.el (align-region):
415         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
416         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
417         * lisp/cus-edit.el (custom-buffer-create-internal):
418         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
419         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
420         (checkdoc-next-message-error):
421         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
422         * lisp/epa.el (epa-progress-callback-function):
423         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
424         * lisp/ffap.el (ffap-menu-rescan):
425         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
426         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
427         * lisp/gnus/nneething.el (nneething-retrieve-headers):
428         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
429         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
430         * lisp/gnus/nnml.el (nnml-retrieve-headers):
431         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
432         * lisp/gnus/nntp.el (nntp-retrieve-headers)
433         (nntp-retrieve-articles):
434         * lisp/imenu.el (imenu--relative-position):
435         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
436         (skkdic-convert-okuri-nasi):
437         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
438         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
439         * lisp/org/org-list.el (org-update-checkbox-count):
440         * lisp/org/org.el (org-table-map-tables)
441         (org-update-parent-todo-statistics):
442         * lisp/play/decipher.el (decipher-insert-frequency-counts)
443         (decipher-analyze-buffer):
444         * lisp/profiler.el (profiler-format-percent):
445         * lisp/progmodes/cc-cmds.el (c-progress-update):
446         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
447         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
448         (idlwave-list-load-path-shadows):
449         * lisp/progmodes/opascal.el (opascal-step-progress):
450         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
451         (vhdl-scan-directory-contents):
452         * lisp/textmodes/bibtex.el (bibtex-progress-message):
453         * lisp/textmodes/flyspell.el (flyspell-small-region)
454         (flyspell-external-point-words):
455         * lisp/textmodes/table.el (table-recognize):
456         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
457         progress-report percentages and the like.  This avoids problems
458         if (* 100 NUMERATOR) would overflow.
459         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
460         * lisp/gnus/registry.el (registry-reindex):
461         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
462         * lisp/descr-text.el (describe-char):
463         * lisp/org/org-colview.el (org-nofm-to-completion):
464         * lisp/ps-print.el (ps-plot):
465         * lisp/simple.el (what-cursor-position):
466         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
467         more-complicated and less-accurate approximation.
469         Fix some int overflows in profiler.c
470         * src/profiler.c (make_log): Make args EMACS_INT, not int,
471         to avoid unwanted behavior on 'int' overflow.
472         (make_log, evict_lower_half, record_backtrace):
473         Use ptrdiff_t, not int, for object indexes.
475         Port to pedantic memcpy
476         * src/keyboard.c (menu_bar_items, tool_bar_items):
477         * src/xrdb.c (magic_db):
478         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
480         Merge from gnulib
481         This incorporates:
482         2015-07-29 time_rz: port to pedantic memcpy
483         * lib/time_rz.c: Copy from gnulib.
485 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
487         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
488         When updating the very last entry, tabulated-list-print would
489         erase it and then try to look at the next one (which obviously
490         isn't there).
492 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
494         Allow to use the old key processing code on MS-Windows
495         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
496         New variable.
497         (w32_wnd_proc): Use it to invoke the old code that processed
498         character keys, as fallback, when this variable is non-nil.  Fix
499         typos in comments.  (Bug#19994)
501 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
503         Improve handling of Unicode keyboard input on MS-Windows
504         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
505         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
506         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
507         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
508         successful, don't call TranslateMessage.  (Bug#19994)
510 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
512         Fix default-directory in changeset diffs after vc-print-log
513         * lisp/vc/log-view.el (log-view-diff-common): Move the
514         revision-granularity check back into log-view-diff-changeset.
515         (log-view-diff-changeset): Bind default-directory to the current
516         VC root.
518         Rename project-directories to project-roots
519         * lisp/progmodes/project.el (project-search-path-function)
520         (project-search-path): Update the docstring.
521         (project-directories): Rename to `project-roots', update all
522         callers and implementations accordingly.
523         (project-root): Remove.
524         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
525         as the default file mask.
527 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
529         Support long URLs in w32-shell-execute
530         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
531         and filename_to_ansi to convert the DOCUMENT argument, as it could
532         be a URL that is not limited to MAX_PATH characters.  Instead, use
533         MultiByteToWideChar directly, and allocate heap storage as
534         required to accommodate the converted string.  Likewise with
535         non-Unicode operation.  Ensure OPERATION is null-terminated, even
536         if it is longer than 32K bytes.  (Bug#21158)
538 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
540         vc-mtn-find-revision handle null rev.
541         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
543 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
545         Add docs for display-buffer action display-buffer-use-some-frame
546         * lisp/window.el (display-buffer-use-some-frame): improve doc string
547         * doc/lispref/windows.texi (Display Action Functions): add
548           display-buffer-use-some-frame
549         * etc/NEWS: mention display-buffer-use-some-frame
551         Add display-buffer action display-buffer-use-some-frame
552         * lisp/window.el (display-buffer-use-some-frame): new
554         Handle vc-mtn error more gently
555         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
557 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
559         Fix Tramp problems with multihops, and nc.
560         * lisp/net/tramp-cache.el (tramp-get-file-property)
561         (tramp-set-file-property, tramp-flush-file-property)
562         (tramp-get-connection-property, tramp-set-connection-property)
563         (tramp-flush-connection-property): Remove hop from vector.
564         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
565         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
566         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
567         netstat to 60".
568         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
569         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
570         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
571         Keep hop in result.
572         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
573         Add hop tests.
575 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
577         Resurrect highlighting of repeated words by Flyspell Mode
578         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
579         characters between point and the doublon candidate, so that
580         flyspell-word-search-backward finds it.  (Bug#21157)
582         Fix redisplay of large images on expose events
583         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
584         between signed negative values and unsigned values.  This
585         prevented redisplay on expose events when the window showed a very
586         large image.
588 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
590         Remove unnecessary stack overflow dependency
591         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
592         Don't worry about $ac_cv_header_sys_resource_h and
593         $ac_cv_func_getrlimit, as they're no longer needed for this.
594         Problem reported by Eli Zaretskii in:
595         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
597 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
599         Pacify compilation -Wincompatible-pointer-types warnings
600         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
601         warning.
602         (CompareStringW_Proc): New typedef.
603         (w32_compare_strings): Use it, to pacify compiler warnings under
604         "-Wincompatible-pointer-types".
605         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
606         (GetDiskFreeSpaceExA_Proc): New typedefs.
607         (Ffile_system_info): Use them, to pacify compiler warnings under
608         "-Wincompatible-pointer-types".
610 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
612         Fix subscript error in calculate_direct_scrolling
613         Use slightly-longer cost vectors.  Without this change,
614         calculate_direct_scrolling can have a subscript violation when
615         FRAME_LINES (frame) <= delta.
616         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
617         (line_ins_del, do_line_insertion_deletion_costs):
618         Allocate and use slightly-larger cost vectors, ones based on
619         FRAME_TOTAL_LINES instead of FRAME_LINES.
621         Fix uninitalized value in encode_coding_object
622         * src/coding.c (encode_coding_object): Also initialize
623         coding->src_pos and coding->src_pos_byte when NILP (src_object).
624         This avoids later use of uninitialized storage.
626 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
628         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
630 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
632         Merge from gnulib
633         This incorporates:
634         2015-07-27 time_rz: port better to MinGW
635         2015-07-27 time: port __need_time_t to MinGW
636         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
637         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
638         * lib/time-internal.h: New file, from gnulib.
640 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
642         Handle NULL pointers in w32heap.c allocation routines
643         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
644         freeable".
645         (realloc_after_dump, realloc_before_dump, free_before_dump):
646         Handle NULL pointers gracefully, as Emacs now seems to expect
647         that.
649         Fix Cairo build without PNG
650         * src/image.c: Define PNG function when USE_CAIRO is defined, even
651         if HAVE_PNG is not.  (Bug#21133)
653         MS-Windows follow-up for recent TZ-related changes
654         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
655         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
656         picking up 'struct timespec' from pthread.h, if it is installed on
657         the user's system.  We want either the definitions from MinGW
658         system headers, if available, or the Gnulib replacements if not.
659         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
660         lib/time.h.
661         * lib/time.in.h: Don't let __need_* symbols affect what happens on
662         MinGW.  These symbols are defined by MinGW system headers, but we
663         don't want that to affect whether Gnulib portions of the header
664         are or aren't used.
666 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
668         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
670         New optional ZONE arg for format-time-string etc.
671         This simplifies time conversions in other time zones.
672         It also prevents display-time-world tampering with TZ (Bug#21020).
673         * admin/admin.el (add-release-logs):
674         Use improved add-log-time-format API.
675         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
676         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
677         * configure.ac (tzalloc): Remove test for this, since
678         Emacs no longer uses HAVE_TZALLOC directly.
679         * doc/lispref/os.texi (Time of Day, Time Conversion)
680         (Time Parsing):
681         * etc/NEWS: Document the new behavior.
682         Merge from gnulib, incorporating:
683         2015-07-25 strftime: fix newly-introduced bug on Solaris
684         2015-07-23 fprintftime, strftime: use timezone_t args
685         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
686         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
687         * m4/time_h.m4:
688         Update from gnulib.
689         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
690         New files from gnulib.
691         * lisp/time-stamp.el (time-stamp-string):
692         * lisp/time.el (display-time-world-list)
693         (display-time-world-display):
694         Use new API, with time zone arg.
695         * lisp/time.el (display-time-world-display):
696         Fix race when current-time advances while we're running.
697         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
698         (add-log-iso8601-time-string): Accept optional time zone arg.
699         * lisp/vc/add-log.el (add-change-log-entry):
700         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
701         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
702         Add rules for the time module, since they're now needed
703         for tzalloc etc.
704         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
705         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
706         * src/editfns.c: Include errno.h.
707         (set_time_zone_rule): Omit unnecessary forward decl.
708         (initial_tz): Remove, replacing with ...
709         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
710         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
711         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
712         (tzlookup): New static functions.
713         (init_editfns): New arg DUMPING.  All uses changed.
714         (init_editfns): Omit most initialization if dumping, not if
715         !initialized.  Initialize wall_clock_tz and local_tz.
716         (emacs_nmemftime, format_time_string): Time zone argument can now
717         be any time zone, not just a boolean for UTC or local time.  All
718         callers changed.
719         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
720         (Fcurrent_time_zone): New optional arg ZONE.
721         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
722         the same form as with the other new additions.
723         (decode_time_zone): Remove; no longer needed.
724         (tzvalbuf): Now file-scope.
725         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
726         (syms_of_editfns): Define Qwall.
727         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
728         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
729         [!HAVE_TZALLOC]:
730         Remove; now supplied by gnulib.
731         * src/emacs.c (main):
732         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
734 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
736         Fix infinite loop in delete-consecutive-dups
737         * lisp/subr.el (delete-consecutive-dups): Work even if the last
738         element is nil (Bug#20588).  Avoid rescan of a circular list in
739         deletion of last element.
741 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
743         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
744         * src/nsfns.m (Fx_frame_geometry):
745         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
746         terminal frames.
747         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
748         (Fx_frame_geometry): Return nil for terminal frames
750 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
752         * etc/tutorials/TUTORIAL.ja: Improve translation.
754 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
756         Avoid crashes when w32 GUI functions are called in -batch
757         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
758         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
759         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
761         Fix flyspell-check-previous-highlighted-word
762         * lisp/textmodes/flyspell.el
763         (flyspell-check-previous-highlighted-word): Really accept a
764         numeric argument, as the doc string describes.  Fix an off-by-one
765         error in looking up overlays, so invocation with point immediately
766         after a word would check that word.  Clarify the doc string as
767         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
769 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
771         Minor cleanup in tramp-tests.el
772         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
773         Implement using the documented interface
774         `tramp-connection-properties', rather than with internal functions.
776 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
778         Pass lambdas to `skeleton-read'
779         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
780         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
781         lambdas to `skeleton-read' (bug#20386).
783 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
785         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
787         Don't require GUI frames and mouse for Flyspell menus
788         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
789         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
790         support, since pop-up menus work with text terminals and can be
791         controlled via the keyboard.
793         Improve documentation of Flyspell commands
794         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
795         can be invoked via the keyboard.  Mention those commands by name
796         and add them to the fn index.  (Bug#21125)
798 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
800         Fix some Tramp problems with HP-UX
801         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
802         Add "tab0" to stty call.
803         * test/automated/tramp-tests.el (tramp-persistency-file-name):
804         Set to nil.
805         (tramp--test-hpux-p): New defun.
806         (tramp--test-utf8): Use it.
808 2015-07-22  Glenn Morris  <rgm@gnu.org>
810         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
812 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
814         Fix point positioning in ffap-next-guess
815         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
816         as our callers expect.  This was clobbered as part of fixing
817         bug#5673.  (Bug#21107)
818         (ffap-gopher-at-point): Set ffap-string-at-point-region.
820 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
822         Fix customization type of `even-window-sizes'.
823         * lisp/window.el (even-window-sizes): Fix customization type.
825         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
826         Optionally even widths of `display-buffer' windows.  (Bug#21100)
827         * lisp/window.el (quit-restore-window): Restore width if
828         requested.
829         (display-buffer-record-window): Record width when window is
830         reused and horizontally combined.
831         (even-window-sizes): New option to allow evening window widths.
832         (even-window-heights): Defalias to `even-window-sizes'.
833         (window--even-window-heights): Rename to
834         `window--even-window-sizes'.  Handle side-by-side windows.
835         (display-buffer-use-some-window): Call `window--even-window-sizes'
836         instead of `window--even-window-heights'.
837         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
838         * doc/lispref/windows.texi (Choosing Window Options): Describe
839         `even-window-sizes'.
840         (Coordinates and Windows): Fix typo.
842 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
844         add file name to autoload error messages.
845         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
846           to add file name to error message.
848 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
850         Use 0.0.0.1 as test host in Tramp
851         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
852         Use 0.0.0.1 as test host.
854 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
856         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
857         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
858         Fix inf-loop (bug#21083).
860 2015-07-21  Glenn Morris  <rgm@gnu.org>
862         * test/automated/package-test.el (package-test-signed):
863         Update for recent changes.
865         * test/automated/elisp-mode-tests.el
866         (elisp-xref-finds-both-function-and-variable)
867         (elisp-xref-finds-only-function-for-minor-mode):
868         Update for recent xref name changes.
870 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
872         Make eldoc timer non-repeatable
873         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
874         non-repeatable.  Since it's on post-command hook, that just wasted
875         CPU cycles.
877 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
879         Mention `tramp-connection-properties' in NEWS
881         Sync with Tramp repository
882         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
883         required prior changing its configuration.
884         (Connection caching, Predefined connection information)
885         (Remote shell setup): Fix typos.
886         (Predefined connection information): Describe, how to overwrite
887         parameters of `tramp-methods'.
888         (Remote programs, Remote processes, Traces and Profiles):
889         Simplify example.
890         (Remote programs): Remove superfluous comment.
891         * doc/misc/trampver.texi: Update release number.
892         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
893         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
894         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
895         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
896         "gvfs-mkdir -p ..." does not work robust.
897         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
898         * lisp/net/tramp-sh.el (tramp-methods):
899         Add `tramp-remote-shell-login' parameter where it fits.
900         (tramp-get-remote-path): Use it.
901         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
902         (all): Adapt `tramp-get-method-parameter' calls.
903         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
904         (tramp-get-method-parameter): Replace argument METHOD by VEC.
905         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
906         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
907         (all): Adapt `tramp-get-method-parameter' calls.
908         * lisp/net/trampver.el Update release number.
909         * test/automated/tramp-tests.el (tramp--instrument-test-case):
910         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
911         (tramp-test13-make-directory, tramp--test-adb-p)
912         (tramp--test-smb-or-windows-nt-p): Simplify.
913         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
914         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
915         (tramp--test-utf8): Fix docstring.
917 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
919         Add new xref-query-replace command
920         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
921         function, extracted from xref-pulse-momentarily.
922         (xref-query-replace): New command.
923         (xref--query-replace-1): New helper function.
924         (xref--xref-buffer-mode-map): Add `r' binding.
926 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
928         Simplify icalendar decoding of Z dates
929         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
930         Simplify calculation of time strings with trailing "Z".
932 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
934         Do not corrupt grep-find-ignored-files
935         * lisp/progmodes/project.el (project-ignores): Change the order of
936         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
938         Add xref-match-item, and use it
939         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
940         (xref-file-location): Add reader for the column slot.
941         (xref-match-item): New class.
942         (xref-match-bounds): A method implementation for it.
943         (xref-make-match): New constructor function.
944         (xref--current-item): New private variable.
945         (xref-pulse-momentarily): Use it.
946         (xref--pop-to-location): Change the first argument to an xref
947         item, instead of location, bind xref--current-item.
948         Update all callers.
949         (xref-next-line, xref-prev-line, xref--next-error-function)
950         (xref--mouse-2): Look for the property `xref-item',
951         instead of `xref-location'.
952         (xref--item-at-point): Likewise.  This function replaces
953         `xref-location-at-point'.  Update all callers.
954         (xref--insert-xrefs): Add the `xref-item' text property, instead
955         of `xref-location'.
956         (xref--collect-match): Use xref-make-match.
958         Rename xref--xref to xref-item
959         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
960         Update all references.
962         Rename xref description slot to summary
963         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
964         slot to `summary'.
966         vc-hg: Perform the print-log call asynchronously
967         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
968         asynchronously (bug#21067).
970         Add xref-after-jump-hook and xref-after-return-hook
971         * lisp/progmodes/xref.el (xref-after-jump-hook)
972         (xref-after-return-hook): New hooks.
973         (xref-pulse-on-jump): Remove, in favor of the above.
974         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
975         (xref--pop-to-location, xref--display-position)
976         (xref-pop-marker-stack): Use the new hooks, as requested in
977         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
979 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
981         Correct js-mode's lighter
982         * lisp/progmodes/js.el (js-mode): Correct the lighter.
984 2015-07-19  Leo Liu  <sdl.web@gmail.com>
986         Fix a bug in cfengine3-mode
987         * progmodes/cfengine.el (cfengine3-mode): Handle nil
988           eldoc-documentation-function.
990 2015-07-18  Julien Danjou  <julien@danjou.info>
992         sieve-mode: support "body" test command
993         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
994         Add missing "body" test command.
996 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
998         Fix info-apropos when the default encoding is Latin-N
999         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
1000         'undecided', so that it is set to the encoding of the Info file we
1001         are about to insert.  Otherwise, 'info-apropos' will fail to find
1002         some index nodes in some UTF-8 encoded files, if the buffer's
1003         previous encoding is Latin-N or some such.
1005 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
1007         * epg.el (epg--start): Check that gpgconf can be found before calling it.
1009         Expose more file types to OS X that Emacs understands.
1010         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
1011         json, and org files.  Export UTIs for el, elc, and org files.
1013 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1015         Fix visual-order cursor movement when lines are truncated
1016         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
1017         simulate display in a window of infinite width, to allow move_it_*
1018         functions reach positions outside of normal window dimensions.
1019         Remove code that tried to handle a subset of these situations by
1020         manual iteration of buffer text.  (Bug#17777)
1022         Fix following Info cross-references to anchors
1023         * lisp/info.el (Info-read-subfile): Add to the returned value the
1024         length of subfile preamble, after converting it to file's byte
1025         offset, as expected by the caller.  Use bufferpos-to-filepos.
1026         (Info-find-node-2): If searching for a node with a
1027         1000-character slop fails, try again with a 10000-character slop,
1028         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
1029         * lisp/international/mule-util.el (bufferpos-to-filepos): New
1030         function.
1031         * etc/NEWS: Mention bufferpos-to-filepos.
1033         Fix scrolling backwards on TTY frames under scroll-conservatively
1034         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
1035         in moving backwards on TTY frames.  (Bug#21080)
1037 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
1039         Consider a jsdoc tag to be a beginning of a paragraph as well
1040         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
1041         consider a jsdoc tag to be a beginning of a paragraph as well.
1043 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1045         * lisp/emacs-lisp/package.el: Fix warnings
1047         * lisp/emacs-lisp/package.el (package-buffer-info):
1048         Add author and maintainers to `package-buffer-info'.
1050         * lisp/emacs-lisp/package.el: Many small changes
1051         Replace all instances of 'face with 'font-lock-face.
1052         (describe-package-1): Improve some strings and move the summary up the
1053         list.
1054         (package-install-file): Update docstring.
1055         (package-menu-hide-package): Bind to `H'.
1057         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1058         Fix error handling.
1060 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1062         Fix hang with large yanks This should fix the bug fixed by Mike
1063         Crowe's patch in:
1064         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
1065         A problem in this area has been reported by several users; see
1066         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
1067         This fix differs from Mike Crowe's patch in that it should avoid a
1068         race condition that could lose SIGIO signals.  ignore_sigio dates
1069         back to the 1980s when some platforms couldn't block signals, and
1070         could only ignore them, which led to races when signals arrived
1071         while being ignored.  We shouldn't have to worry about those old
1072         platforms now.
1073         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
1074         * src/emacs.c (shut_down_emacs):
1075         Don't call ignore_sigio; unrequest_sigio should suffice.
1076         * src/keyboard.c (kbd_buffer_store_buffered_event):
1077         Use unrequest_sigio, not ignore_sigio.
1078         (kbd_buffer_get_event):
1079         Call request_sigio when getting the ball rolling again.
1081 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1083         * lisp/obsolete/longlines.el (longlines-search-function):
1084         Fallback on `isearch-search-fun-default'.
1086 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
1088         Support @-mentions
1089         * rcirc.el (rcirc-completion-at-point): Support completion of
1090         mentions/messages with @nick instead of just nick.
1092 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
1094         Fix Bug#20943.
1095         * lisp/autorevert.el (auto-revert-handler): Do not check for
1096         `buffer-modified-p'.
1097         * lisp/files.el (buffer-stale--default-function): Check for
1098         `buffer-modified-p'.
1099         * test/automated/auto-revert-tests.el
1100         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
1102 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
1104         Fix delete-dups bug on long lists
1105         * lisp/subr.el (delete-dups):
1106         Don't mistakenly keep some dups when applied to long lists.
1108 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1110         Better heuristic for C stack overflow
1111         Improve the heuristic for distinguishing stack overflows from
1112         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
1113         the getrlimit method wasn't portable to Cygwin; see:
1114         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
1115         Corinna suggested pthread_getattr_np but this also has problems.
1116         Instead, replace the low-level system stuff with a simple
1117         heuristic based on known good stack addresses.
1118         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
1119         * src/sysdep.c: Don't include <sys/resource.h>.
1120         (stack_direction): Remove.  All uses removed.
1121         (stack_overflow): New function.
1122         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
1123         Make SEGV fatal in non-main threads.
1125 2015-07-16  Daiki Ueno  <ueno@gnu.org>
1127         epg: Automatically start pinentry server
1128         * epg-config.el (epg-gpgconf-program): New variable.
1129         * epg.el (epg--start): Call `pinentry-start' if
1130         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
1132 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
1134         * lisp/gnus/nnimap.el: Fix my last bogus change
1135         Reinstall Stefan Monnier's change that was made in
1136         <83d824bc4041332f338ad7e5e830f443535aa300>.
1138 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1140         Merge from gnulib
1141         This incorporates:
1142         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
1143         2015-07-05 acl-permissions: Fix on FreeBSD
1144         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
1145         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
1146         * lib/set-permissions.c: Copy from gnulib.
1148         Port to stricter C99
1149         * src/keyboard.h (kbd_buffer_store_event_hold):
1150         Don't return a void expression.
1152 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
1154         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
1156 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
1158         New autorevert tests.
1159         * test/automated/auto-revert-tests.el: New file.
1161 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
1163         Clear gcprolist etc. after stack overflow
1164         After stack overflow, command_loop calls init_eval, and this needs to
1165         clear gcprolist and byte_stack_list (Bug#20996).
1166         * src/alloc.c (init_alloc):
1167         Move gcprolist and byte_stack_list initialization from here ...
1168         * src/eval.c (init_eval): ... to here.
1170 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
1172         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
1174 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1176         Avoid deprecated enums in mac-ct font backend driver
1177         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
1178         (mac_ctfont_get_advance_width_for_glyph)
1179         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
1181         Cache font family in mac-ct font backend driver
1182         * src/macfont.m (macfont_family_cache): New variable.
1183         (syms_of_macfont): Initialize it.
1184         (macfont_available_families_cache): New variable.
1185         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
1186         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
1187         (macfont_handle_font_change_notification)
1188         (macfont_init_font_change_handler)
1189         (macfont_copy_available_families_cache): New functions.
1190         (macfont_create_family_with_symbol): Use font family caches.
1191         (macfont_list, macfont_list_family): Use
1192         macfont_copy_available_families_cache instead of
1193         mac_font_create_available_families.
1195 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
1197         Show the default value in the prompt
1198         * lisp/progmodes/xref.el: Add `M-?' binding for
1199         xref-find-references.  Declare functions `grep-read-files' and
1200         `grep-expand-template'.
1201         (xref--read-identifier): Show the default value in the prompt.
1203         When called with prefix argument, ask for file patterns to search as well
1204         * lisp/progmodes/xref.el (xref-find-regexp): When called with
1205         prefix argument, ask for file patterns to search as well.  When
1206         prompting for the directory, require an existing one.
1207         (xref-collect-matches): Add a new argument, FILES.  Use it in the
1208         above function.
1210         Add `project-ignores'
1211         * lisp/progmodes/project.el (project-ignores): New generic
1212         function, and an implementation for the VC project type.
1213         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
1214         variant of rgrep-default-command that handles a generic list of
1215         ignores.
1216         (xref-collect-matches): Use it, and pass through to it the value
1217         of the newly added argument.
1218         (xref-find-regexp): Handle ignored paths within the project.
1219         Remove outdated comment.
1220         * lisp/vc/vc.el (vc-default-ignore-completion-table):
1221         Skip the comments and the empty lines.
1223 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
1225         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
1227 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1229         gnus-registry.el: Correct function argument order
1230         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
1231         Reverse the order of function arguments.
1233 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
1235         Bind grep-highlight-matches to nil
1236         * lisp/progmodes/xref.el (xref-collect-matches):
1237         Bind grep-highlight-matches to nil (bug#20728).
1239 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
1241         nnimap.el: Fix IMAP message size parsing
1242         * lisp/gnus/nnimap.el (nnimap-transform-headers):
1243         Don't assume that UID comes before RFC822.SIZE.
1245 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1247         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
1248         (auth-source-creation-prompts): Declare.
1249         (nnimap-retrieve-headers, nnimap-status-message)
1250         (nnimap-request-create-group, nnimap-request-delete-group)
1251         (nnimap-close-group, nnimap-request-move-article)
1252         (nnimap-request-accept-article, nnimap-request-newgroups)
1253         (nnimap-request-post, nnimap-dummy-active-number)
1254         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1255         (nnimap-parse-flags): Remove unused var `p'.
1256         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1257         (nnimap-flags-to-marks): Remove unused var `totalp'.
1259 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1261         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1263 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1265         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1267 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1269         Don't check the exit status, it can be misleading
1270         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1271         exit status, it can be misleading.
1273         Introduce a Project API
1274         * lisp/progmodes/project.el: New file.
1275         * lisp/cedet/ede.el: (project-try-ede): New function.
1276         (project-root): New implementation.
1277         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1278         Set project-search-path-function.
1279         (elisp--xref-find-references): Delegate some logic to
1280         project-search-path.
1281         (elisp-search-path): New function.
1282         (elisp-xref-find): Don't implement `matches' anymore.
1283         * lisp/progmodes/etags.el: Don't implement `matches'.
1284         Delegate some logic to project-search-path.
1285         (etags-search-path): New function.
1286         * lisp/progmodes/xref.el (xref-find-function):
1287         Remove `matches' from the API.
1288         (xref-find-regexp): Move whatever common logic was in elisp and
1289         etags implementations, and search the directories returned by
1290         project-directories and project-search-path.
1292 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1294         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1296         Add support for gv.el in map.el
1297         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1298         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1299         * test/automated/map-tests.el: Update tests to work with the new
1300         implementations of map-elt and map-put.
1302 2015-07-09  Glenn Morris  <rgm@gnu.org>
1304         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1306 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1308         Syntax-propertize until the end of the line first
1309         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1310         until the end of the line first.
1312 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1314         * doc/emacs/files.texi (File Archives): Add a cross reference.
1316 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1318         nnimap.el: Handle plain value for nnimap-stream
1319         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1320         capabilities, so that a 'plain value for the `nnimap-stream' server
1321         variable is handled correctly.
1322         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1323         Document the 'plain option.
1325 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1327         Fix bug in thing-at-point--bounds-of-well-formed-url
1328         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1329           sure boundary contains current point.
1331 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1333         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1335         Declare whitespace-line-column a safe file-local
1336         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1337         safe file-local when the value is an integer.
1339 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1341         gnus-group.el: Check if group names are already strings
1342         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1343         The group name may already be a string.
1344         Specifically, in the group list reached from the *Server* buffer,
1345         the 'gnus-group text property returns a string.  Everywhere else
1346         it returns a symbol.
1348         nnimap.el: Remove unused let variables
1349         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1351 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1353         Support "maximized" property of runemacs's shortcut
1354         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1355         the '--maximized' switch to Emacs.
1357         Support "minimized" property of runemacs's shortcut
1358         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1359         pass the '--iconic' switch to Emacs.  (Bug#20991)
1361 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1363         Doc fixes
1364         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1365         C-w' in Diff mode.
1366         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1367         Add a cross reference.
1369 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1371         * lisp/obsolete/landmark.el: Add Obsolete-since header
1373 2015-07-07  Glenn Morris  <rgm@gnu.org>
1375         * test/automated/ert-tests.el (ert-test-deftest):
1376         Update for recent changes.
1378 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1380         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1381         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1382         (gv-invalid-place): New error.
1383         (gv-get): Use them.
1384         (gv-synthetic-place, gv-delay-error): New places.
1385         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1386         (cl-defgeneric, cl-defmethod): Use gv-setter.
1388 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1390         Make vc-tests work with MSYS svn program
1391         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1392         svn is an MSYS program.
1394 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1396         Improve recent change to emacsclient on Cygwin
1397         * lisp/server.el (server-process-filter): Remove redundant check
1398         that 'cygwin-convert-file-name-from-windows' is defined as a
1399         function on Cygwin.  Don't call that function unless its argument
1400         starts with a drive letter.
1402 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1404         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1405         Fix void variable due to `found-something' being in the wrong `let'.
1407 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1409         * lisp/play/landmark.el: Move to lisp/obsolete/
1411 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1413         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1414         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1415         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1416         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1417         tooltips also via `right' and `bottom' frame parameters.
1419 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1421         Add online-help support to describe types
1422         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1423         (describe-symbol): Improve the selection of default.
1424         * lisp/help-mode.el: Require cl-lib.
1425         (describe-symbol-backends): Move from help-fns.el.
1426         (help-make-xrefs): Use it.
1427         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1428         for types.
1429         (cl--typedef-regexp): New const.
1430         (find-function-regexp-alist): Add entry for types.
1431         (cl-help-type, cl-type-definition): New buttons.
1432         (cl-find-class): New function.
1433         (cl-describe-type): New command.
1434         (cl--describe-class, cl--describe-class-slot)
1435         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1436         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1437         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1438         New functions.  Moved from eieio-opt.el.
1439         (cl--generic-class-parents): New function, extracted from
1440         cl--generic-struct-specializers.
1441         (cl--generic-struct-specializers): Use it.
1442         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1443         Improve constructor's docstrings.
1444         (cl-struct-unknown-slot): New error.
1445         (cl-struct-slot-offset): Use it.
1446         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1447         definition in current-load-list.
1448         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1449         (eieio--add-new-slot): Set it.
1450         (eieio-defclass-internal): Use new name for current-load-list.
1451         (eieio-oref): Add compiler-macro to warn about unknown slots.
1452         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1453         as compile-time as well.  Improve constructor docstrings.
1454         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1455         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1456         (eieio-class-def): Remove button.
1457         (eieio-help-constructor): Use new name for load-history element.
1458         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1459         (eieio-method-documentation): Move to cl-generic.el.
1460         (eieio-display-method-list): Use new names.
1461         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1462         Add "define-linline".
1463         (lisp-fdefs): Remove "defsubst".
1464         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1465         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1466         (macroexp--warn-and-return): Use it to avoid inf-loops.
1467         Add `compile-only' argument.
1469 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1471         python.el: Fix local/remote shell environment setup
1472         * lisp/progmodes/python.el (python-shell-with-environment): Fix
1473         remote/local environment setup.
1474         * test/automated/python-tests.el (python-shell-with-environment-1)
1475         (python-shell-with-environment-2): New tests.
1477 2015-07-06  Glenn Morris  <rgm@gnu.org>
1479         * lisp/simple.el (set-variable): Tweak recent doc fix.
1481 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1483         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
1485 2015-07-06  Glenn Morris  <rgm@gnu.org>
1487         * lisp/simple.el (set-variable): Use user-error for type mismatch.
1489 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1491         * src/emacs.c (main): Don't increase the stack size on Cygwin
1493 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
1495         (describe-symbol): Rewrite describe-function-or-variable
1496         * lisp/help-fns.el (describe-symbol-backends): New var.
1497         (help-xref-stack-item): Declare.
1498         (describe-symbol): Rename from describe-function-or-variable.
1499         Rewrite using describe-symbol-backends instead of help-xref-interned.
1500         * lisp/help.el (help-map): Use it.
1501         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
1502         (help-xref-interned): Make it into an obsolete alias.
1504         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
1505         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
1506         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
1508 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
1510         Fix parsing glitches in dired-mark-sexp (bug#13575)
1511         * lisp/dired-x.el (dired-x--string-to-number): New function.
1512         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
1513         of directory-listing-before-filename-regexp.  Consider
1514         forward-word harmful and replace it.  Add more verbiage in
1515         comments and doc string.
1517 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1519         python.el: Respect process environment for remote shells
1520         * lisp/progmodes/python.el
1521         (python-shell-calculate-process-environment): Calculate
1522         process-environment or tramp-remote-process-environment depending
1523         whether current file is remote.
1524         (python-shell-calculate-exec-path): Calculate exec-path or
1525         tramp-remote-path depending whether current file is remote.
1526         (python-shell-with-environment): New macro.
1527         (python-shell-prompt-detect, python-shell-calculate-command)
1528         (python-shell-make-comint, python-check): Use it.
1530         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
1531         * lisp/progmodes/python.el (python-shell--interpreter)
1532         (python-shell--interpreter-args): New vars.
1533         (inferior-python-mode, python-shell-make-comint): Use them.
1535         python.el: Fixes for IPython 3.x  (Bug#20580)
1536         * lisp/progmodes/python.el:
1537         (python-shell-completion-native-setup): Fix IPython 3.x setup.
1538         (python-shell-completion-native-get-completions): Fix timeout
1539         logic.
1541         python.el: Fix mark-defun behavior  (Bug#19665)
1542         * lisp/progmodes/python.el: (python-mark-defun): New function.
1543         * test/automated/python-tests.el (python-mark-defun-1)
1544         (python-mark-defun-2, python-mark-defun-3): New tests.
1546 2015-07-05  Glenn Morris  <rgm@gnu.org>
1548         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
1549         such as "extends(parent), private".  (Bug#20969)
1550         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
1551         New tests.
1553 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1555         Avoid duplicate calls to current_timespec
1556         * src/process.c (wait_reading_process_output):
1557         Cache current_timespec results as long as we're not waiting.
1559 2015-07-05  Ian Kelling  <ian@iankelling.org>
1561         Avoid returning early reading process output due to SIGIO
1562         * src/process.c (wait_reading_process_output): Extend the behavior of
1563         not breaking due to not finding output when a timer has lowered the
1564         timeout to include when SIGIO lowers the timeout.
1566         Don't return as fast reading any process output
1567         * src/process.c (wait_reading_process_output):
1568         The patch for Bug#17647 returns too fast sometimes when reading
1569         from any processes. Revert part of it, and limit the timeout more
1570         sensibly (Bug#20978).
1572         Refactor timeouts in wait_reading_process_output
1573         * src/process.c (wait_reading_process_output):
1574         Simplify timeouts with an enum.  Remove a redundant condition.
1575         (Bug#20978)
1577         Remove ADAPTIVE_READ_BUFFERING ifdef
1578         * src/process.c (make-process, make-pipe-process, deactivate_process)
1579         (wait_reading_process_output, read_process_output, send_process)
1580         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
1581         added in case there was an operating system in which it was not
1582         useful.  That was 11 years ago and it hasn't happened.  Make
1583         development easier by not considering the effect of changes on a
1584         theoretical OS where this is disabled (Bug#20978).
1586 2015-07-05  Glenn Morris  <rgm@gnu.org>
1588         * lisp/simple.el (set-variable): Doc fix.
1590         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
1592 2015-07-05  Ian Kelling  <ian@iankelling.org>
1594         accept-process-output fix
1595         This is a followon to the fix for Bug#17647 (Bug#20976).
1596         * src/process.c (status_notify): Fix too high return in some cases.
1598 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1600         * lisp/character-fold.el (character-fold-table):
1601         Only fold decompositions if at least one character is non-spacing.
1602         (Bug#20975)
1604 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1606         Merge from gnulib
1607         This incorporates:
1608         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
1609         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
1610         2015-07-02 update-copyright: fix test failure with perl >= 5.22
1611         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
1612         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
1613         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
1614         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
1616 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
1618         Respect `prog-indentation-context' in python.el
1619         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
1620         (python-indent-context, python-indent--calculate-indentation)
1621         (python-info-current-defun)
1622         (python-info-dedenter-opening-block-message)
1623         (python-info-line-ends-backslash-p)
1624         (python-info-beginning-of-backslash)
1625         (python-info-continuation-line-p): Use `prog-widen'.
1626         (python-indent--calculate-indentation)
1627         (python-indent--calculate-levels)
1628         (python-indent-calculate-indentation): Use `prog-first-column'.
1629         (python-indent--calculate-levels): Simplify.
1630         Ignore also initial empty lines for syntax calculation.
1631         * lisp/progmodes/python.el (python-indent-context): Return
1632         :no-indent for first non-empty line, not just in line 1.
1633         * test/automated/python-tests.el (python-indent-base-case)
1634         (python-indent-inside-paren-1, python-indent-inside-paren-2)
1635         (python-indent-inside-paren-3, python-indent-inside-paren-4)
1636         (python-indent-inside-paren-5, python-indent-inside-paren-6)
1637         (python-indent-after-backslash-1)
1638         (python-indent-after-backslash-2)
1639         (python-indent-after-backslash-3)
1640         (python-indent-after-backslash-4, python-indent-inside-string-1):
1641         Expect :no-indent for first non-empty line.
1643 2015-07-04  Daniel Colascione  <dancol@dancol.org>
1645         Factor isearch word description into new function
1646         * lisp/isearch.el (isearch--describe-word-mode): New function.
1647         (isearch-message-prefix, isearch-query-replace): Use it.
1649 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
1651         Fix mouse pointer on w32 when a menu is active
1652         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
1653         shape while a menu is in use.  This started happening since we now
1654         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
1656 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
1658         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
1659         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
1660         parameter.  (Bug#17344)
1662         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
1663         * lisp/progmodes/compile.el (compilation-set-window): Take
1664         `window-fringes' from argument window.  (Bug#20829)
1666 2015-07-03  Glenn Morris  <rgm@gnu.org>
1668         Update eieio tests for recent eieio-core change.
1669         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
1670         * test/automated/eieio-tests.el
1671         (eieio-test-32-slot-attribute-override-2):
1672         Replace the deleted eieio--class-v with cl--find-class.
1674 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
1676         Fix some issues with `window-divider-mode'
1677         * lisp/frame.el (window-divider-default-places): New option.
1678         (window-divider-mode): Remove option.
1679         (window-divider-mode): Make it a "regular" minor mode.
1680         (window-divider-width-valid-p): Drop frame- prefix.
1681         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
1682         prefix.  Handle `window-divider-default-places'.
1683         (frame--window-divider-mode-set-and-apply): Remove.
1684         (window-divider-default-bottom-width)
1685         (window-divider-default-right-width): Drop :group entries.
1686         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
1687         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1688         (menu-bar-no-window-divider): Set `window-divider-default-places'
1689         and call `window-divider-mode'.
1690         * doc/emacs/frames.texi (Window Dividers): Document
1691         `window-divider-default-places'.
1693 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
1695         Add cross references in documentation
1696         * doc/emacs/display.texi (Displaying Boundaries):
1697         * doc/emacs/search.texi (Word Search): Add cross references.
1699 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1701         -batch should not affect ‘’ -> `' display
1702         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
1703         -batch (Bug#20926).
1705 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
1707         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
1708         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
1709           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
1710         Use cl--find-class instead.
1712         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
1714 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
1716         Some further fixes in Change Window node.  (Bug#20183)
1717         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
1718         by "resizing" in section title.  Add some concept indices.
1719         Suggested by N. Jackson (Bug#20183).
1721         Reference window dividers in Change Window section.
1722         * doc/emacs/windows.texi (Change Window): Reference window
1723         dividers.
1725         Document new `window-divider-mode'.
1726         * lisp/frame.el (window-divider-mode): Fix doc-string.
1727         * doc/emacs/frames.texi (Window Dividers): New section.
1729         Improve accessibility of window dividers.  (Bug#20183)
1730         * lisp/faces.el (window-divider)
1731         (window-divider-first-pixel, window-divider-last-pixel): Change
1732         membership from `frames' to `window-divider' customization group.
1733         * lisp/frame.el (window-divider): New customization group.
1734         (window-divider-mode): New minor mode.
1735         (window-divider-default-bottom-width)
1736         (window-divider-default-right-width): New options.
1737         (frame--window-divider-previous-mode): New variable.
1738         (frame-window-divider-width-valid-p)
1739         (frame--window-divider-mode-apply)
1740         (frame--window-divider-mode-set-and-apply): New functions.
1741         * lisp/menu-bar.el (menu-bar-options-save): Save
1742         window-divider-mode settings.
1743         (menu-bar-window-divider-customize)
1744         (menu-bar-bottom-and-right-window-divider)
1745         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1746         (menu-bar-no-window-divider): New functions.
1747         (menu-bar-showhide-window-divider-menu): New variable.
1748         (menu-bar-showhide-menu): Show/hide window divider menu.
1749         * lisp/mouse.el (mouse-split-window-vertically)
1750         (mouse-split-window-horizontally): Replace `error' by
1751         `user-error'.  Bind `window-combination-resize' to nil.
1752         (top-level): Add/reorder mouse key bindings on mode- and
1753         vertical-line.
1755 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1757         Don't display ‘’ as `' under X in en_GB
1758         The curved quote setup code invokes (char-displayable-p ?‘),
1759         but this isn’t reliable until after the X frame replaces the
1760         terminal frame (Bug#20926).
1761         * lisp/international/mule-cmds.el (set-locale-environment):
1762         Move curved quote setup code from here ...
1763         * lisp/startup.el (command-line): ... to here, after creating
1764         the X frame.
1766 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
1768         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
1770         Add argument to reverse the meaning of ido-restrict-to-matches
1771         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
1772         to reverse the meaning (Bug#15631).
1774 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
1776         Be more tolerant to fonts named "Foobar-12"
1777         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
1778         don't barf; instead, request a new fontset to be generated.  This
1779         avoids unnecessarily rejecting fonts named against XLFD rules.  See
1780         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
1781         for the description of the original problem.
1782         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
1783         by a hyphen in a font's name.
1785         Fix value of posn-at-pont in R2L lines
1786         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
1787         coordinate of -1, for a newline in a right-to-left line that
1788         overflowed into the left fringe.
1790 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1792         (cl--copy-slot-descriptor): Copy the `props' alist as well
1793         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
1794         Rename from cl--copy-slot-descriptor.
1795         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
1797 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1799         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
1800         (xterm-query-timeout): New var.
1801         (xterm--query): Use it.  Fallback on async method if we timeout before
1802         getting the first byte of the reply (bug#12354).
1804 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1806         Spelling fixes
1808 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1810         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
1812 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1814         In strings, prefer plain ` and ' to \` and \'
1815         * lisp/allout.el (allout-insert-listified):
1816         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
1817         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
1818         (ls-lisp-string-lessp):
1819         * lisp/menu-bar.el (menu-bar-open):
1820         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
1821         * lisp/progmodes/compile.el (compile):
1822         * lisp/progmodes/etags.el (tags-loop-scan):
1823         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
1824         * lisp/subr.el (posn-actual-col-row):
1825         * lisp/term/pc-win.el (x-list-fonts):
1826         * lisp/textmodes/texinfmt.el (texinfmt-version):
1827         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
1828         * lisp/time.el (display-time-world-list):
1829         * lisp/tmm.el (tmm-menubar):
1830         * src/buffer.c (syms_of_buffer):
1831         * src/fileio.c (syms_of_fileio):
1832         Omit unnecessary and confusing backslash before quote.
1833         * lisp/erc/erc.el (erc-cmd-LASTLOG):
1834         * lisp/progmodes/flymake.el (flymake-fix-file-name):
1835         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
1836         Fix string that was intended to escape a backslash and not a quote.
1838 2015-06-30  Glenn Morris  <rgm@gnu.org>
1840         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
1842         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
1843         Replace hard-coded lists with wildcard + filter-out.
1845         * configure.ac (system-configuration-features): Add X11, NS.
1847         Improve reproducibility of generated loaddefs file.
1848         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1849         Make the return value the modtime of the input file (if no autoloads).
1850         (update-directory-autoloads): In the "no autoloads" section,
1851         use "most recent modtime" rather than "current time".
1853 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1855         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
1856         (Bug#20930)
1858 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
1860         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
1862         Add seq-min and seq-max
1863         Bump version number.
1864         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
1865         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
1867 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1869         Make sure sleep-for always delays for as long as it's told
1870         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
1871         a loop, to ensure we always wait exactly the required amount of
1872         time.  (Bug#15990)
1874 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1876         Fix pointer signedness glitch
1877         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
1879 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1881         Don't block changes in mouse pointer inside 'track-mouse'
1882         * etc/NEWS:
1883         * doc/lispref/frames.texi (Mouse Tracking): Document the special
1884         effect of setting 'track-mouse' to 'dragging'.
1885         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
1886         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
1887         * lisp/mouse-drag.el (mouse-drag-throw):
1888         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
1889         to avoid changes in the shape of the mouse pointer.
1890         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
1891         pointer shape when do_mouse_tracking has the value of 'dragging',
1892         not just any non-nil value.  (Bug#20934)
1893         (syms_of_xdisp): DEFSYM 'dragging'.
1895 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1897         * lisp/isearch.el (isearch-toggle-word): Fix toggle
1899         * lisp/emacs-lisp/package.el (package-compute-transaction):
1900         Don't assume version sorting.
1902         * lisp/emacs-lisp/package.el (package--save-selected-packages):
1903         Don't save before init time, to avoid overwriting configurations.
1904         (Bug#20855)
1906 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1908         Add cross references.
1909         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
1910         references.
1912 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
1914         cfengine.el: update for the upcoming CFEngine 3.7 release
1915         Update for the upcoming CFEngine 3.7 release: support macros and
1916         quoted context strings; reformat JSON; indent promise attributes 2
1917         units by default; give function parameter descriptions in the eldoc
1918         glue.
1919         * cfengine.el: Update version and docs and fix name.  Autoload
1920         `json-pretty-print'.  Support new features in 3.7.
1921         (cfengine-parameters-indent): Set default promise attribute indent to
1922         2 more than the promise itself.
1923         (cfengine3-macro-regex): New variable to match the new macro syntax.
1924         (cfengine3-font-lock-keywords): Use it to highlight macros.
1925         (cfengine3-indent-line): Use it to indent macros to column 0.
1926         (cfengine3-class-selector-regex): Update for the new quoted strings
1927         format.
1928         (cfengine3-reformat-json-string): New function to reformat a JSON
1929         string using `json-pretty-print'.
1930         (cfengine3-format-function-docstring): Use function parameter
1931         description if it's provided by the cf-promises syntax dump.
1933 2015-06-29  Michael R. Mauger  <michael@mauger.com>
1935         Cygwin emacsclient handles w32 file names
1937 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
1939         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
1941 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
1943         * doc/lispref/text.texi (Sticky Properties): Improve wording.
1944         (Bug#20924)
1946         Allow font names that end in "-NN", where NN is a number
1947         * src/font.c (font_load_for_lface): If the font-spec didn't match
1948         any available fonts, try again without interpreting trailing "-NN"
1949         as the font size.  For the description of the original problem, see
1950         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
1952         .gdbinit followup to changes in !USE_LSB_TAG
1953         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
1954         !USE_LSB_TAG, as Emacs no longer does.
1956 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
1958         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
1959         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
1961 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1963         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1964         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
1966 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1968         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
1970         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
1972 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1974         apropos-library quoting fix
1975         * lisp/apropos.el (apropos-library): Quote library consistently
1976         with the rest of the quoting used by apropos.
1978         Clarify interpreter-mode-alist doc
1979         * lisp/files.el (interpreter-mode-alist):
1980         Reword to avoid confusing quoting that wasn't working anyway.
1982 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
1984         Sync with Tramp 2.2.12
1985         * doc/misc/trampver.texi:
1986         * lisp/net/trampver.el: Update release number.
1987         * test/automated/tramp-tests.el (tramp-test13-make-directory):
1988         Fix cleanup.
1990 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
1992         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
1993         (bug#20913)
1995 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
1997         Bind grep-highlight-matches around the rgrep call
1998         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
1999         around the rgrep call (bug#20728).
2001         Put "--color" before the other options in grep-command
2002         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
2003         before the other options in grep-command (bug#20912).
2005         Add --color Grep option to the command dynamically
2006         * lisp/progmodes/grep.el (grep-template, grep-find-template):
2007         Update the description for <C>.  (Bug#20728)
2008         (grep-compute-defaults): Don't add the --color option to
2009         grep-options.  Only add it to grep-command.
2010         (grep-expand-keywords): Expand the env value opts into <C>.
2011         (grep-expand-template): Replace cf in the env with the opts list,
2012         that can include -i and --color.
2013         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
2014         "--color=always" from the template, because we don't have to.
2016 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
2018         cl-extra fixes for most-negative-fixnum
2019         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
2020         Don't mishandle an argument equal to most-negative-fixnum,
2021         whose absolute value equals itself.
2022         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
2024         Initialize cl--gensym-counter to 0
2025         Previously it was initialized to a random value, which made it
2026         harder to reproduce earlier Emacs runs.  The need for a random
2027         value went away when Emacs introduced and used the #: syntax for
2028         uninterned symbols (Bug#20862).
2029         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
2030         Document that cl--gensym-counter now starts with 0.
2031         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
2032         (cl--random-time): Move to near only remaining use.
2033         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
2035         Improve docstring for macroexp-let2
2036         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
2037         Improve as per suggestion by RMS in:
2038         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
2039         Also, rename args to match new doc string.
2041 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
2043         Fix VC test suite on MS-Windows
2044         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
2045         always starts with 3 slashes after the colon.
2046         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
2047         'w32-application-type' to invoke CVS on MS-Windows with properly
2048         formatted CVSROOT directory name.
2050         Add a new function w32-application-type
2051         * src/w32proc.c (Fw32_application_type): New function.
2053         Avoid error in TLS connections due to incorrect format
2054         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
2055         the call to 'error', instead of the unsupported %u.  Reported by
2056         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
2058 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2060         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
2062 2015-06-26  Leo Liu  <sdl.web@gmail.com>
2064         Fix indentation for with-output-to-string
2065         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
2066           `with-output-to-string' in elisp.
2067           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
2068           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
2070 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
2072         Minor corrections in ELisp manual
2073         * doc/lispref/nonascii.texi (Character Properties): Correct
2074         inaccuracies in description of values of the Unicode properties.
2076         Fix invisible mouse pointers on Windows.
2077         * src/w32fns.c: Include windowsx.h.
2078         (w32_wnd_proc): If the mouse moved and the mouse pointer is
2079         invisible, make it visible again even when the main (Lisp)
2080         thread is busy.
2081         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
2082         garbaging the frame have the input thread call SetCursor.
2084 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
2086         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
2087         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
2088         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
2089         * src/w32term.c (w32_hide_hourglass): Handle
2090         f->pointer_invisible.
2091         (w32_toggle_invisible_pointer): New function.
2092         (w32_create_terminal): Add w32_toggle_invisible_pointer as
2093         toggle_invisible_pointer_hook for this terminal.
2095 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
2097         Doc fix for deletion commands
2098         'delete-char' does not respect the value of 'delete-active-region'.
2099         * doc/emacs/killing.texi (Deletion):
2100         Fix documentation for some single-char deletion commands.
2102         * doc/emacs/help.texi (Apropos):
2103         Improve documentation of 'apropos-do-all'.
2105         * doc/emacs/help.texi (Help Summary):
2106         Improve documentation of 'describe-mode'.
2108 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2110         Fix submake dependency bug with .h files
2111         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
2112         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
2113         before the submake in $(libsrc) would spin off a subsubmake
2114         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
2116 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2118         * lisp/character-fold.el (character-fold-table): Reuse `table'
2120 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2122         Translate undisplayable ‘ to `
2123         * doc/lispref/help.texi (Keys in Documentation):
2124         * lisp/international/mule-cmds.el (set-locale-environment):
2125         * lisp/term/w32console.el (terminal-init-w32console):
2126         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
2127         If ‘ is not displayable, transliterate it to `, not to '.  See:
2128         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
2130         Fix C99 incompatibilities in Cairo code
2131         * src/image.c (xpm_load) [USE_CAIRO]:
2132         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
2133         Fix pointer signedness problem.
2135 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
2137         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
2138         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
2139           `with-output-to-string' should have the same indent as `progn'.
2140           This is in line with the declaration of `with-output-to-string'.
2142 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2144         Get ‘./configure; make -C src emacs’ to work
2145         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
2146         * lib-src/Makefile.in (../lib/libgnu.a):
2147         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
2149 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2151         Fix GC bugs --with-wide-int and Qnil == 0
2152         Use the same alignment for the !USE_LSB_TAG case as for the
2153         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
2154         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
2155         once we changed the representation of symbols so that Qnil == 0.
2156         Problem reported by Eli Zaretskii (Bug#20862).
2157         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
2158         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
2159         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
2160         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
2161         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
2162         This optimization in the !USE_LSB_TAG case is no longer valid when
2163         symbols are represented via offsets.  Change the only use to
2164         assume that pointers might hide in objects.
2165         * src/lisp.h (alignas) [!USE_LSB_TAG]:
2166         Require support in this case, too.
2167         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
2168         This is OK, because the !USE_LSB_TAG case now applies only when
2169         Lisp_Object is wider than void *, so there's no longer any need
2170         to shift the offset.  Not shifting the offset means that
2171         symbol representations have the same alignment as pointers,
2172         which the GC assumes.
2174 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
2176         * doc/lispintro/emacs-lisp-intro.texi (Data types):
2177         Improve documentation of 'substring'.
2179 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2181         * lisp/character-fold.el (character-fold-table): Fix table generation
2183 2015-06-24  Glenn Morris  <rgm@gnu.org>
2185         * nextstep/Makefile.in (all): Make it the first target.
2186         (../src/emacs${EXEEXT}): Add rule for making it.
2188 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2190         * etc/NEWS: Fix mention to old function name
2192         * lisp/character-fold.el: New file (Bug#20887)
2193         (character-fold-to-regexp): New function.
2194         * lisp/replace.el (replace-search): Check value of
2195         `character-fold-search'.
2196         * lisp/isearch.el: Move character-folding code to
2197         character-fold.el
2198         (isearch-toggle-character-fold): New command.
2199         (isearch-mode-map): Bind it to "\M-sf".
2200         (isearch-mode): Check value of `character-fold-search'.
2202 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2204         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
2205         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
2206         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
2208         * lisp/progmodes/xref.el: Avoid init-args in oref.
2209         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
2210         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
2212 2015-06-24  Glenn Morris  <rgm@gnu.org>
2214         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
2216 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2218         * lisp/gnus/nnmaildir.el: Silence lexical warnings
2219         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
2220         functional style.
2221         (nnmaildir--update-nov): Remove unused var `numdir'.
2222         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
2223         (nnmaildir-request-group, nnmaildir-request-create-group)
2224         (nnmaildir-request-post, nnmaildir-request-move-article)
2225         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
2226         (nnmaildir-get-new-mail, nnmaildir-group-alist)
2227         (nnmaildir-active-file): Declare.
2228         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
2229         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
2230         `mark', `end', `new-mark', and `mark-sym'.
2231         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
2232         `nlist2'.
2233         (nnmaildir-request-expire-articles):
2234         Remove unused vars `article', `stop' and `nlist2'.
2235         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
2236         `end'.  Use nnmaildir--article when dyn-binding is needed.
2237         Give the value directly in the `let' for `del-mark', `del-action',
2238         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
2239         (nnmaildir-close-server): Declare those local vars that need to be
2240         dyn-bound.
2242 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2244         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
2246         Port selection info fix to clang
2247         * src/keyboard.h (kbd_buffer_store_event_hold):
2248         Don't assume C11 semantics for alignof (Bug#20756).
2250         Fix bug that munged selection info
2251         On some optimizing C compilers, copying a structure did not
2252         copy the padding bytes between elements, and the type punning
2253         between struct input_data and struct selection_input_data did
2254         not work.  Change the C code to use a proper union type instead.
2255         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2256         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2257         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2258         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2259         (mark_kboards):
2260         Use union buffered_input_event, not struct input_event.
2261         (clear_event, deliver_input_available_signal, process_special_events):
2262         Remove unnecessary forward decls.
2263         (kbd_buffer_store_buffered_event): New function, mostly just the
2264         old kbd_buffer_store_event_hold, except its argument is of type
2265         union buffered_input_event, not struct input_event.
2266         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2267         not needed otherwise.  Argument is now of type
2268         struct selection_input_event *, not struct input_event *.
2269         All callers changed.
2270         (clear_event): Arg is now of type union buffered_input_event *,
2271         not struct input_event *.  All callers changed.
2272         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2273         (union buffered_input_event): New type.
2274         (kbd_buffer_store_event_hold): Now an inline function,
2275         defined here.
2276         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2277         (struct input_event): Use it.
2278         * src/xselect.c (struct selection_event_queue):
2279         Make elements be of type struct selection_input_event,
2280         not struct input_event.
2281         (selection_input_event_equal): New static function.
2282         (x_queue_event): Use it.
2283         (x_queue_event, x_decline_selection_request)
2284         (x_selection_current_request, x_reply_selection_request)
2285         (x_handle_selection_request, x_handle_selection_clear)
2286         (x_handle_selection_event): Use struct selection_input_event,
2287         not struct input_event.  All callers changed.
2288         (x_convert_selection): Omit unused first arg.  All callers changed.
2289         (Fx_disown_selection_internal): Omit unnecessary union.
2290         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2291         rather than rolling our own equivalent.  Prefer sie.kind when
2292         setting up that kind of structure.
2293         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2294         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2295         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2296         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2297         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2298         (SELECTION_EVENT_TIME, x_handle_selection_event):
2299         Arg is now of type struct selection_input_event *)
2300         not struct input_event *.  All callers changed.
2302 2015-06-23  Glenn Morris  <rgm@gnu.org>
2304         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2306 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2308         * lisp/isearch.el: Fold many unicode characters to ASCII
2309         (isearch-character-fold-search, isearch--character-fold-extras)
2310         (isearch--character-fold-table): New variable.
2311         (isearch--character-folded-regexp): New function.
2312         (isearch-search-fun-default): Use them.
2313         * lisp/replace.el (replace-character-fold): New variable.
2314         (replace-search): Use it.
2315         * etc/NEWS: Document it.
2317 2015-06-23  Glenn Morris  <rgm@gnu.org>
2319         Check for an input event before showing a dialog box.  (Bug#20813)
2320         * lisp/subr.el (y-or-n-p):
2321         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2322         as last-nonmenu-event.
2324 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2326         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2327         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2328         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2329         switch-to-visible-buffer independent of the windows history.
2331 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2333         * src/keyboard.c (last_timer_event): Remove unused var.
2335 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2337         * test/automated/package-test.el (package-test-update-listing):
2338         Fix test.
2340 2015-06-23  Glenn Morris  <rgm@gnu.org>
2342         Revert 2014-06-25 nextstep/Makefile change.
2343         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2344         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2345         not as an order-only prerequisite.
2347         * configure.ac (--with-ns): Enable by default on OS X.
2349 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2351         Fix shell-for/backward-command to exclude spaces
2352         * lisp/shell.el (shell-forward-command, shell-backward-command):
2353           Handle the 'move case from re-search-forward/backward.
2354           fixes debbugs:20873
2356 2015-06-22  Juri Linkov  <juri@linkov.net>
2358         * lisp/replace.el (query-replace-read-from): Add separator to
2359         the local binding of text-property-default-nonsticky.  (Bug#20690)
2361         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2362         (Bug#20785)
2364 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2366         Enable CPU profiling on Cygwin
2367         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2368         change that undefined this.
2369         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2370         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2371           Cygwin.
2373         Improve diagnostics of profiler-cpu-start
2374         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2375         return -1 if the sampling interval is invalid.
2376         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2377         fails.  (Bug#20843)
2379 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2381         * lisp/emacs-lisp/package.el: Exclude packages by name
2382         (package-hidden-regexps): New variable.
2383         (package-menu--refresh): Use it.
2384         (package-menu-hide-package): New command.
2386         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2388 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2390         Fix debug-timer-check on systems without HAVE_TIMERFD
2391         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2392         the expired timers, since wait_reading_process_output doesn't.
2393         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2395         Fix RCS crashes in vc-test
2396         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2397         ports of 'ci' on MS-Windows by always passing the -t- switch.
2399 2015-06-22  Glenn Morris  <rgm@gnu.org>
2401         * doc/emacs/package.texi (Packages):
2402         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2404         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2406 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2408         Port tests to help-quote-translation
2409         * test/automated/ert-x-tests.el (ert-test-describe-test):
2410         * test/automated/package-test.el (package-test-describe-package)
2411         (package-test-signed): Allow straight quotes, too.
2413 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2415         Make find-function-on-key use the current window
2416         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2417         Extract from `find-function-on-key', add a second argument.
2418         (find-function-on-key): Use it (bug#19679).
2419         (find-function-on-key-other-window)
2420         (find-function-on-key-other-frame): New commands.
2422 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2424         Revert "Define `map-elt' as a generalized variable"
2425         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2427 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2429         Drop support for CPU profiling on Cygwin
2430         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2431         (Bug#20843)
2433 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2435         Fix some “nested” quoting confusion in doc strings
2436         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2437         * lisp/kermit.el (kermit-clean-on):
2438         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2439         * src/keyboard.c (Frecursive_edit):
2440         Use curved quotes when quoting text containing apostrophe,
2441         so that the apostrophe isn't curved in the output.
2443 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2445         Define `map-elt' as a generalized variable
2446         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2447         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2448         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2449         `setf' with `map-elt'.
2450         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2452 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2454         Improve error handling in tramp-adb.el
2455         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2456         Improve error handling.
2458 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2460         Reuse `alist-get' in map.el
2461         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2462         elements.
2464 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2466         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2467         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2468         Allow the warning to begin on the 3rd, not only 2nd line, which
2469         happens if temporary-file-directory has a very long name.
2471         Expect 2 icalendar tests to fail on MS-Windows
2472         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
2473         (icalendar-real-world): Make them expected failures on MS-Windows.
2475 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2477         Improve port of settings UI to older displays
2478         * lisp/cus-start.el (standard): Don't assume curved quotes are
2479         easily distinguishable when users are tinkering with a setting
2480         that affects how curved quotes are generated.
2482         Fix quoting in electric-quote-mode doc string
2483         * lisp/electric.el (electric-quote-mode): Fix quoting.
2484         This is a fallout from the recent change introducing
2485         ‘help-quote-translation’.
2487         Spelling fix
2489         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
2491         * src/doc.c (syms_of_doc): Remove unused symbols.
2493 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
2495         In ‘window-state-put’ undedicate target window.  (Bug#20848)
2496         * lisp/window.el (window-state-put): Undedicate target window
2497         before putting STATE into it.  (Bug#20848)
2499 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2501         Merge from origin/emacs-24
2502         a5e6f33 Fixes: debbugs:20832
2503         b9f02cf Fixes: debbugs:20832
2505 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2507         Fix file-in-directory-p when the directory is UNC
2508         * lisp/files.el (file-in-directory-p): Support files and
2509         directories that begin with "//".  (Bug#20844)
2511 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
2513         (Bug#20832)
2514         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
2515         in the minibuffer.
2517 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
2519         (Bug#20832)
2520         * lisp/calendar/todo-mode.el (todo-show): Signal an error
2521         if buffer for adding new todo file is empty but modified.
2523 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2525         (filepos-to-bufferpos): Further tweaks to the utf-16 code
2526         * lisp/international/mule-util.el (filepos-to-bufferpos):
2527         Fix typo.  Move non-exact check to the utf-16 branch (the only one
2528         affected).  Don't use byte-to-position for the utf-16 case.
2530 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2532         Minor fixes in filepos-to-bufferpos
2533         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
2534         test for utf-8-emacs.  Exempt single-byte encodings from the
2535         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
2536         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
2537         UTF-16 encoded files for CR-LF EOLs.
2539 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2541         Improve the optional translation of quotes
2542         Fix several problems with the recently-added custom variable
2543         help-quote-translation where the code would quote inconsistently
2544         in help buffers.  Add support for quoting 'like this', which
2545         is common in other GNU programs in ASCII environments.  Change
2546         help-quote-translation to use more mnemonic values: values are now the
2547         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
2548         traditional Emacs help-buffer quoting style `like this'.  Change the
2549         default behavior of substitute-command-keys to match what's done in
2550         set-locale-environment, i.e., quote ‘like this’ if displayable,
2551         'like this' otherwise.
2552         * doc/lispref/help.texi (Keys in Documentation): Document
2553         new behavior of substitute-command-keys, and document
2554         help-quote-translation.
2555         * doc/lispref/tips.texi (Documentation Tips):
2556         Mention the effect of help-quote-translation.
2557         * etc/NEWS: Mention new behavior of substitute-command-keys,
2558         and merge help-quote-translation news into it.
2559         When talking about doc strings, mention new ways to type quotes.
2560         * lisp/cedet/mode-local.el (overload-docstring-extension):
2561         Revert my recent change to this function, which shouldn't be
2562         needed as the result is a doc string.
2563         * lisp/cedet/mode-local.el (mode-local-print-binding)
2564         (mode-local-describe-bindings-2):
2565         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2566         * lisp/cus-theme.el (describe-theme-1):
2567         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2568         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2569         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2570         (eieio-help-constructor):
2571         * lisp/emacs-lisp/package.el (describe-package-1):
2572         * lisp/faces.el (describe-face):
2573         * lisp/help-fns.el (help-fns--key-bindings)
2574         (help-fns--compiler-macro, help-fns--parent-mode)
2575         (help-fns--obsolete, help-fns--interactive-only)
2576         (describe-function-1, describe-variable):
2577         * lisp/help.el (describe-mode):
2578         Use substitute-command-keys to ensure a more-consistent quoting
2579         style in help buffers.
2580         * lisp/cus-start.el (standard):
2581         Document new help-quote-translation behavior.
2582         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
2583         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
2584         (help-xref-url-regexp):
2585         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2586         * lisp/wid-edit.el (widget-documentation-link-regexp):
2587         Also match 'foo', in case we're in a help buffer generated when
2588         help-quote-translation is ?'.
2589         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
2590         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
2591         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
2592         (Fsubstitute_command_keys): Document and implement new behavior.
2593         (Vhelp_quote_translation): Document new behavior.
2595 2015-06-18  Glenn Morris  <rgm@gnu.org>
2597         * lisp/cus-start.el (help-quote-translation): Add :version.
2599         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
2601 2015-06-18  Alan Mackenzie  <acm@muc.de>
2603         Make translation of quotes to curly in doc strings optional.
2604         src/doc.c (traditional, prefer-unicode): new symbols.
2605         (help-quote-translation): new variable.
2606         (Fsubstitute_command_keys): make translation of quotes dependent on
2607         `help-quote-translation'; also translate curly quotes back to ASCII
2608         ones.
2609         lisp/cus-start.el (top-level): Add a customization entry for
2610         `help-quote-translation'.
2612 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2614         * lisp/emacs-lisp/package.el: Don't always propagate async errors
2615         (package--with-work-buffer-async): Only propagate the error if the
2616         callback returns non-nil.
2617         (package--download-one-archive): Return nil on the signature
2618         checking callback if we accept unsigned.
2619         (package--download-and-read-archives): Return non-nil on the
2620         archive download callback.
2622 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
2624         Fix last fix"
2626         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
2627         * src/nsfns.m (Fx_create_frame):
2628         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
2629         image_cache_refcount before first x_default_parameter call.
2631 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2633         Improve and extend filepos-to-bufferpos
2634         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2635         Don't barf if F returns nil for some argument.
2636         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
2637         that every encoding of type 'charset' is single-byte.
2639 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2641         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
2642         Properly delete packages.  (Bug#20836)
2644 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2646         Update data files from just-released Unicode 8.0
2647         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
2648         status.
2649         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
2650         * admin/unidata/BidiMirroring.txt:
2651         * admin/unidata/BidiBrackets.txt:
2652         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
2654 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
2656         Document curved quotes a bit better
2657         * doc/emacs/basic.texi (Inserting Text):
2658         Mention C-x 8.  Change example to use curved quote rather
2659         than infinity, as this lets us give more ways to do it.
2660         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
2661         and quotation marks.
2662         * doc/emacs/text.texi (Quotation Marks):
2663         * doc/lispref/tips.texi (Documentation Tips):
2664         Add "curly quotes" and "curved quotes" to the index.
2665         * doc/emacs/text.texi (Quotation Marks):
2666         Give the C-x 8 shorthands for curved quotes.
2667         Cross-reference to "Quotation Marks".
2669 2015-06-17  Daiki Ueno  <ueno@gnu.org>
2671         Add pinentry.el for better GnuPG integration
2672         * lisp/pinentry.el: New file.
2673         * etc/NEWS: Add entry about pinentry.el.
2674         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
2675         (Bug#20550)
2677 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2679         * lisp/emacs-lisp/package.el: Slightly better error reporting.
2681 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2683         (define-minor-mode): Use setq-default for :global minor modes
2684         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
2685         Use setq-default for :global minor modes (bug#20712).
2687 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
2689         Avoid infloop in redisplay with tall images
2690         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
2691         down near ZV.  (Bug#20808)
2692         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
2693         instead of CHARPOS.
2695 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2697         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2698         Fix error reporting.
2700         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
2702         * lisp/emacs-lisp/package.el: Revert buffer after any operation
2703         Call `package-menu--post-refresh' after any operation that changes
2704         the package database (`package-install' and `package-delete').  To
2705         avoid performance issues in large transactions, these functions
2706         add `post-refresh' to `post-command-hook' instead of calling it
2707         immediately.
2708         (package-menu--mark-or-notify-upgrades): New function.
2709         (list-packages): Add it to `package--post-download-archives-hook'.
2710         (package-menu--post-refresh): Lose the upgrade-checking code, add
2711         code to remove itself from `post-command-hook'.
2712         (package-install, package-delete): Add it to `post-command-hook'.
2713         (package-menu-execute): Don't call `package-menu--post-refresh'.
2715 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
2717         Add missing function xref-location-group for elisp-mode.
2718         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
2720 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
2722         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
2723         The behavior now matches the description in the manual.  (Bug#20783)
2725 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
2727         Update tutorials/TUTORIAL.cn
2728         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
2730 2015-06-17  Glenn Morris  <rgm@gnu.org>
2732         Generate char-script-table from Unicode source.  (Bug#20789)
2733         * admin/unidata/Makefile.in (AWK): New, set by configure.
2734         (all): Add charscript.el.
2735         (blocks): New variable.
2736         (charscript.el, ${unidir}/charscript.el): New targets.
2737         (extraclean): Also remove generated charscript.el.
2738         * admin/unidata/blocks.awk: New script.
2739         * admin/unidata/Blocks.txt: New data file, from unicode.org.
2740         * lisp/international/characters.el: Load charscript.
2741         * src/Makefile.in (charscript): New variable.
2742         (${charscript}): New target.
2743         (${lispintdir}/characters.elc): Depend on charscript.elc.
2744         (temacs$(EXEEXT)): Depend on charscript.
2746         * lisp/international/characters.el (char-script-table): Tweak
2747         some ranges to better match the source.  (Bug#20789#17)
2749         Remove "no-byte-compile: t" from a few files.
2750         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
2751         * lisp/obsolete/patcomp.el: No reason not to compile these.
2753 2015-06-16  Glenn Morris  <rgm@gnu.org>
2755         Fix some typos in copied Unicode data.  (Bug#20789)
2756         * lisp/international/characters.el (char-script-table):
2757         * lisp/international/fontset.el (script-representative-chars)
2758         (setup-default-fontset): Fix typos.
2760         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
2761         Don't print filename twice (it's in the prefix now).
2763         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
2764         No longer needed.
2766         Address a compilation warning.
2767         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
2768         Replace 't' with '_' in pcase.
2770         Address some check-declare warnings.
2771         * lisp/simple.el (tabulated-list-print):
2772         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
2773         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
2774         (ns-get-selection): Update declarations.
2776         Address some compilation warnings.
2777         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
2778         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
2779         Replace 't' with '_' in pcase.
2781         Address some compilation warnings.
2782         * lisp/face-remap.el (text-scale-adjust):
2783         * lisp/menu-bar.el (popup-menu-normalize-position):
2784         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
2785         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
2786         * lisp/emacs-lisp/generator.el (cps--transform-1):
2787         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
2788         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
2789         * lisp/progmodes/octave.el (octave-goto-function-definition)
2790         (octave-find-definition-default-filename):
2791         Replace 't' with '_' in pcase.
2793         * lisp/emacs-lisp/pcase.el (pcase--u1):
2794         Paper-over today's bootstrap failure.
2796 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
2798         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
2800         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
2802         Better confirmation message in `find-alternate-file' (Bug#20830)
2803         * lisp/files.el (find-alternate-file'): Improve the confirmation
2804         message to show the buffer name.
2806         Better docstring for null. (Bug#20815)
2807         * src/data.c (null): Improves the docstring, saying what null returns
2808         when OBJECT is non-nil.
2810 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2812         * lisp/net/newst-treeview.el: Use lexical-binding.
2814         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
2815         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2816         New auxiliary function, extracted from filepos-to-bufferpos.
2817         Make sure it terminates.
2818         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
2819         Add support for the `exact' quality.
2821 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
2823         Identify feeds in newsticker treeview with :nt-feed property
2824         * lisp/net/newst-treeview.el:
2825         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
2827 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2829         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
2830         (pcase--self-quoting-p): Floats aren't self-quoting.
2831         (pcase): Tweak docstring.
2832         (pcase--u1): Deprecate the t pattern.  Improve error detection for
2833         the nil pattern.
2834         (\`): Tweak docstring.  Signal an error for unrecognized cases.
2835         (bug#20784)
2837 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
2839         Fix infloop in filepos-to-bufferpos
2840         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
2841         offset calculation, and make it conditional on the eol-type of the
2842         file's encoding.  (Bug#20825)
2844 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
2846         Fix handling of image cache refcounts.  (Bug#20802)
2847         This backports Eli Zaretskii's solution of this problem for W32
2848         to X and NS.
2849         * src/nsfns.m (image_cache_refcount): Define unconditionally.
2850         (unwind_create_frame): If the image cache's reference count
2851         hasn't been updated yet, do that now.
2852         (Fx_create_frame): Set image_cache_refcount unconditionally.
2853         * src/xfns.c (image_cache_refcount): Define unconditionally.
2854         (unwind_create_frame): If the image cache's reference count
2855         hasn't been updated yet, do that now.
2856         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
2857         unconditionally.
2858         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
2859         X and NS.
2861 2015-06-16  Nils Ackermann  <nils@ackermath.info>
2863         Improve reftex-label-regexps default value
2864         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
2865         keyvals label regexp more strict to better cope with unbalanced
2866         brackets common in math documents.
2868 2015-06-16  Glenn Morris  <rgm@gnu.org>
2870         * doc/emacs/calendar.texi (Format of Diary File):
2871         Move "nonmarking" from here...
2872         (Displaying the Diary): ... to here.
2874         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
2875         Swap the order of these nodes.
2876         * doc/emacs/emacs.texi: Update detailed menu for the above change.
2878         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
2879         Update date of examples.
2880         (Diary, Format of Diary File): Move example from former to latter.
2881         Reduce duplication.
2883         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
2884         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
2885         Don't set no-byte-compile in the outputs.
2886         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
2888 2015-06-15  Glenn Morris  <rgm@gnu.org>
2890         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
2891         * doc/emacs/calendar.texi (Diary, Format of Diary File):
2892         Update for above diary-file change.
2893         : * etc/NEWS: Mention this.
2895         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
2896         (apply-macro-to-region-lines): Use user-error.
2898         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
2899         (pages-directory-for-addresses): Doc fixes.
2901 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
2903         * lisp/info.el: Cleanup bytepos/charpos issues
2904         * lisp/international/mule-util.el: Use lexical-binding.
2905         (filepos-to-bufferpos): New function.
2906         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
2907         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
2908         (Info-read-subfile, Info-search): Use 0-based file positions.
2910         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
2911         (perl--syntax-exp-intro-keywords): New var.
2912         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
2913         (bug#20800).
2915 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2917         Fix quoting when making derived mode docstring
2918         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2919         Nest regexp-quote inside format, not the reverse.
2920         Problem reported by Artur Malabarba in:
2921         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
2923 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
2925         Fix current-iso639-language on MS-Windows
2926         * lisp/international/mule-cmds.el (set-locale-environment):
2927         Downcase the locale name before interning it.  This is so the
2928         'current-iso639-language' on MS-Windows matches the ':lang'
2929         property of font-spec objects.
2931         Limit Symbola usage some more
2932         * lisp/international/fontset.el (setup-default-fontset): Limit
2933         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
2934         (Bug#20727)
2936 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
2938         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2940 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2942         Spelling fixes
2944 2015-06-14  Glenn Morris  <rgm@gnu.org>
2946         * lisp/version.el (emacs-repository-version-git): Demote errors.
2947         Check result is a hash.
2949 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2951         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2952         Catch errors that happen before going async.  (Bug#20809)
2954 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
2956         Another improvement of documentation of set-fontset-font
2957         * doc/lispref/display.texi (Fontsets): Say explicitly that
2958         CHARACTER can be a single codepoint.
2959         * src/fontset.c (Fset_fontset_font): Doc fix.
2961         Another improvement for symbol and punctuation characters
2962         * lisp/international/fontset.el (setup-default-fontset): Exclude
2963         from Symbola character ranges for symbols and punctuation covered
2964         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
2965         installed and where its coverage of symbols and punctuation is
2966         known to be good.  (Bug#20727)
2968 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
2970         Some generic support for multi-mode indentation.
2971                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
2972                 variable.
2973                 (prog-first-column, prog-widen): New convenience functions.
2975 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2977         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2978         Don't assume that `tabulated-list-printer' will leave point at the
2979         end of the buffer.  (Bug#20810)
2981 2015-06-13  Glenn Morris  <rgm@gnu.org>
2983         Tweaks for getting repository version; a bit more like it was for bzr.
2984         * lisp/version.el (emacs-repository-version-git)
2985         (emacs-repository--version-git-1): New functions,
2986         split from emacs-repository-get-version.
2987         (emacs-repository-get-version): Make the second argument meaningful.
2989         * lisp/startup.el (command-line-1): Inform if skipping relative
2990         file names due to deleted PWD.
2992         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
2993         when starup directory is missing.  (Bug#18851)
2994         (errno.h): Include it.
2996 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2998         Better fix for documenting `X as "`X"
2999         Fix suggested by Stefan Monnier.
3000         * lisp/help-fns.el (help-fns--signature):
3001         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
3002         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3003         Don't treat `X specially, as help-fns--signature now handles this.
3005 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
3007         Improve the default fontset when Symbola is not installed
3008         * lisp/international/fontset.el (setup-default-fontset): Only
3009         prepend Symbola and FreeMono font specs for symbols and
3010         punctuation; do not replace the default spec for them.  This
3011         should have better results when Symbola/FreeMono are not
3012         installed.  (Bug#20727)
3014         Improve documentation of ':lang' in font specs
3015         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
3016         use of the ':lang' property of the font spec.
3017         * doc/emacs/frames.texi (Fonts): Document the language names that
3018         can be in the STYLE part of XLFD.
3019         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
3020         property.
3022         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
3024         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
3026         Revert last change in fontset.el
3027         * lisp/international/fontset.el (setup-default-fontset): Revert
3028         the change "Configure Symbola font only if installed", since font
3029         search is evidently not yet set up when this function is called.
3030         (Bug#20727)
3032 2015-06-12  Glenn Morris  <rgm@gnu.org>
3034         Ensure early startup warnings are visible at the end.  (Bug#20792)
3035         * lisp/emacs-lisp/warnings.el (display-warning):
3036         If startup isn't complete, delay the warning.
3037         * lisp/startup.el (normal-top-level, command-line):
3038         Let display-warning automatically handle the needed delays.
3039         Run delayed-warnings-hook.
3041         * lisp/version.el (emacs-repository-get-version):
3042         Avoid calling external executable if possible.  (Bug#20799)
3044 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3046         Document `X as "`X", not as "(` X)"
3047         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3048         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
3050         * src/print.c (print_object): Minor simplification.
3052 2015-06-12  Glenn Morris  <rgm@gnu.org>
3054         * src/buffer.c (init_buffer): Add final newline to message.
3056 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3058         Configure Symbola font only if installed
3059         * lisp/international/fontset.el (setup-default-fontset):
3060         Don't specify the Symbola font if it's not installed.
3061         Likewise for FreeMono.  (Bug#20727)
3063 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
3065         Configure Symbola font only for symbols and punctuation
3066         * lisp/international/fontset.el (setup-default-fontset): Leave
3067         only symbols and punctuation in the fontset setup for Symbola
3068         font; remove "Greek and Coptic" and "Cyrillic Supplement".
3069         (Bug#20798)
3071 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
3073         Fix crash in fontset-info
3074         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
3075         non-nil.
3077 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3079         Port to Solaris 10 sparc + Sun C 5.13
3080         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
3081         Adjust to process.c change.
3082         * src/process.c (create_process): Declare volatile variables at
3083         top level of this function, so that they're less likely to be
3084         reused later in the function in the code executed by the vforked
3085         child.  Do not declare locals used only in the vforked child, as
3086         they might share memory with locals still live in the parent.
3087         Instead, use the same variables in the child as in the parent.
3088         This works around a subtle bug that causes a garbage collector
3089         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
3091 2015-06-12  Glenn Morris  <rgm@gnu.org>
3093         * lisp/startup.el (normal-top-level): Don't let *Messages* get
3094         a nil default-directory.
3096 2015-06-11  Glenn Morris  <rgm@gnu.org>
3098         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
3100         Some progress towards starting with PWD deleted.  (Bug#18851)
3101         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
3102         * lisp/startup.el (normal-top-level, command-line-1):
3103         * lisp/minibuffer.el (read-file-name-default):
3104         Handle default-directory being nil.
3106 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3108         Fix "not a tty" bug on Solaris 10
3109         * configure.ac (PTY_OPEN): Define to plain 'open'
3110         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
3111         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
3112         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
3113         hosts that call grantpt which does its work via a setuid subcommand
3114         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
3115         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
3116         seems relevant in that case too.
3118 2015-06-11  Juri Linkov  <juri@linkov.net>
3120         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
3121         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
3122         (Bug#20785)
3124 2015-06-11  Glenn Morris  <rgm@gnu.org>
3126         * lisp/international/characters.el (char-script-table): Fix typo.
3128 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3130         Fix quoting of help for functions with odd names
3131         While investigating Bug#20759, I discovered other quoting problems:
3132         C-h f mishandled characters like backslash and quote in function names.
3133         This fix changes the behavior so that 'C-h f pcase RET' now
3134         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
3135         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
3136         in src/lread.c's read1 function says that the backslash will be
3137         needed starting in Emacs 25, which implies that 'format' is
3138         correct and the old pcase documention was wrong to omit the backslash.
3139         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
3140         * lisp/help-fns.el (help-fns--signature):
3141         * lisp/help.el (help-add-fundoc-usage):
3142         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
3143         Use help--make-usage-docstring rather than formatting
3144         help-make-usage.
3145         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
3146         Return raw docstring.
3147         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
3148         raw docstring.  Take more care to distinguish raw from cooked dstrings.
3149         (describe-function-1): Let help-fns--signature substitute
3150         command keys.
3151         * lisp/help.el (help--docstring-quote): New function.
3152         (help-split-fundoc): Use it, to quote funny characters more
3153         systematically.
3154         (help--make-usage): Rename from help-make-usage, since this
3155         should be private.  Leave an obsolete alias for the old name.
3156         (help--make-usage-docstring): New function.
3157         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
3159 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3161         * lisp/thingatpt.el (in-string-p): Revert last change,
3162         since in-string-p is not used in thingatpt.el but only from outside.
3163         Also, use lexical binding.
3165 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
3167         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
3168         * test/automated/let-alist.el (let-alist-cons): Test it.
3170 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3172         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
3174 2015-06-10  Glenn Morris  <rgm@gnu.org>
3176         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
3178         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
3179         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
3180         * admin/gitmerge.el (gitmerge-commit-message):
3181         Exclude "skipped" messages from ChangeLog once again.
3183         Slight namespace cleanup for thingatpt.el.
3184         * lisp/thingatpt.el (thing-at-point--in-string-p)
3185         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
3186         (thing-at-point--read-from-whole-string): Rename from
3187         old versions without "thing-at-point--" prefix.
3188         Keep old versions as obsolete aliases.  Update all uses.
3190         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
3191         Move requiring of finder from here...
3192         (checkdoc-package-keywords): ... to here.
3194         Use 'user-error' in a few calendar files.
3195         * lisp/calendar/appt.el (appt-add):
3196         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
3197         (calendar-generate):
3198         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
3199         Replace 'error' with 'user-error'.
3201         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
3203         * lisp/files-x.el (add-file-local-variable):
3204         Special-case 'lexical-binding'.  (Bug#20641)
3206         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
3207         No longer autoload.
3208         * doc/misc/autotype.texi (Executables):
3209         Undocument executable-self-display.
3211         * lisp/progmodes/executable.el (executable-self-display):
3212         Use non-obsolete tail syntax.  (Bug#20779)
3213         (executable-self-display): Doc update.
3215 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3217         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
3218         (finder-known-keywords): Silence byte-compiler.
3220 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3222         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
3224         * lisp/progmodes/sh-script.el: Better handle nested quotes
3225         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
3226         (sh-font-lock-quoted-subshell): Make sure double quotes within single
3227         quotes don't mistakenly end prematurely the surrounding string.
3229         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
3231 2015-06-09  Glenn Morris  <rgm@gnu.org>
3233         * test/automated/Makefile.in (ELFILES): Sort.
3235         * Makefile.in (SUBDIR_MAKEFILES):
3236         * lwlib/Makefile.in (WARN_CFLAGS):
3237         Use built-in Make functions rather than echo+sed.
3239 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
3241         Update char-script-table
3242         * lisp/international/characters.el (char-script-table): Update
3243         from Unicode 8.0 Draft.
3245         Improve font selection for punctuation and other symbols
3246         * src/fontset.c (face_for_char): If the character's script is
3247         'symbol', and the font used for ASCII face has a glyph for it, use
3248         the font for the ASCII face instead of searching the fontsets.
3249         This comes instead of NS-specific code that used the current
3250         face's font instead, which is now disabled due to undesirable
3251         consequences.  (Bug#20727)
3253 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3255         Skip past `#' to find BEG
3256         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3257         past `#' to find BEG (bug#20771).
3258         * test/automated/elisp-mode-tests.el
3259         (elisp-completes-functions-after-hash-quote): New test.
3261 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3263         Fix compilation warning/error in --without-x builds
3264         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3265         code on HAVE_WINDOW_SYSTEM.
3267         Improve the default fontset wrt symbols
3268         * lisp/international/fontset.el (setup-default-fontset): Better
3269         setup of fontset-default for symbols: use Symbola and FreeMono.
3270         (Bug#20727)
3272 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3274         Add new command checkdoc-package-keywords
3275         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3276           defcustom.
3277         (checkdoc-list-of-strings-p): Add doc.
3278         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3279         non-nil, call `checkdoc-package-keywords'.
3280         (checkdoc-get-keywords): New defun.
3281         (checkdoc-package-keywords): New command. Warns if the current file
3282         has package.el-style keywords that aren't in `finder-known-keywords'.
3283         * etc/NEWS: Add entry.
3285 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3287         Avoid crashes when key-binding is called from a timer
3288         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3289         empty vector as KEY.  (Bug#20705)
3291         Fix a thinko in arc-mode.el
3292         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3293         non-Zip64 case.  (Bug#20769)
3295 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3297         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3299 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3301         checkdoc.el (checkdoc-file): New function
3302         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3303           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3304           to the standard output.
3305         (bug#20754)
3307 2015-06-07  Glenn Morris  <rgm@gnu.org>
3309         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3311         * src/font.c (syms_of_font) <font-log>: Doc fix.
3313         Remove the obsolete leading "*" from some C doc strings.
3314         * src/coding.c (syms_of_coding):
3315         * src/font.c (syms_of_font): Remove leading "*" from docs.
3316         * lisp/cus-start.el (enable-character-translation): Add it.
3318 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3320         Move gen_origin from program to data
3321         That way, 'make change-history' needs to change only ChangeLog.2,
3322         instead of having to change two files.
3323         * ChangeLog.2: Add commit info for range that this file covers.
3324         * Makefile.in (new_commit_regexp): New macro.
3325         (change-history-nocommit): Simplify, by putting what used to be
3326         the gen_origin value into the data (ChangeLog.2) rather than
3327         into the program (gitlog-to-emacslog).
3328         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3329         the input file (e.g., ChangeLog.2) rather than by having a
3330         constant in the program.  Substitute it into the output.
3332 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3334         Escape any quotes in the function name
3335         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3336         function name (bug#20759).
3338 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3340         Adapt 'struct timespec' to next release of MinGW runtime
3341         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3342         __struct_timespec_defined is defined.
3344 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3346         Merge from gnulib
3347         This incorporates:
3348         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3349         2015-06-05 stdio: Don't redefine gets when using C++
3350         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3351         2015-06-02 file-has-acl: fix build on Mac OS X 10
3352         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3353         2015-06-01 pthread_sigmask: discount system version if a simple macro
3354         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3355         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3356         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3357         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3358         * lib/gnulib.mk: Regenerate.
3360 2015-06-06  Juri Linkov  <juri@linkov.net>
3362         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3363         before calling grep-compute-defaults because now it affects the
3364         command lines computed in grep-compute-defaults. (Bug#20728)
3366 2015-06-06  Glenn Morris  <rgm@gnu.org>
3368         Address some compilation warnings.
3369         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3370         (w32-get-console-output-codepage):
3371         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3372         * lisp/version.el (cairo-version-string): Declare.
3373         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3375 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3377         Fix display when a font claims large values of ascent and descent
3378         This fixes bug#20628.
3379         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3380         coordinate of a hollow cursor glyph when the original glyph's
3381         ascent is too small.
3382         (get_font_ascent_descent, normal_char_ascent_descent)
3383         (normal_char_height): New functions.
3384         (handle_single_display_spec, append_space_for_newline)
3385         (calc_pixel_width_or_height, produce_stretch_glyph)
3386         (calc_line_height_property): Use normal_char_ascent_descent and
3387         normal_char_height.
3388         (x_produce_glyphs): When font-global values of ascent and descent
3389         are too large, use per-character glyph metrics instead, if
3390         possible.  But don't allow the glyph row's ascent and descent
3391         values become smaller than the values from the metrics of the
3392         font's "normal" character.
3393         * src/xftfont.c (xftfont_draw):
3394         * src/w32font.c (w32font_draw): Correct the values of ascent and
3395         descent used to draw glyphless characters' hex code in a box.
3396         * src/xterm.c (x_draw_glyph_string_background):
3397         * src/xdisp.c (x_produce_glyphs):
3398         * src/w32term.c (x_draw_glyph_string_background):
3399         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3400         to detect fonts whose global ascent and descent values are too
3401         large to be used in layout decision, and redraw the background
3402         when that happens.
3403         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3404         (get_font_ascent_descent): Add prototype.
3405         * src/xterm.c (x_new_font):
3406         * src/w32term.c (x_new_font):
3407         * src/nsterm.m (x_new_font):
3408         * src/font.c (font_open_entity):
3409         * src/composite.c (composition_gstring_width): Use
3410         get_font_ascent_descent to obtain reasonable values for ascent and
3411         descent of a font.
3413 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3415         Add assertion in adjust_point_for_property
3416         * src/keyboard.c (adjust_point_for_property): Add eassert for
3417         current buffer being shown in selected window.
3419 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3421         Replace uses of in-string-p; make it obsolete
3422         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3423         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3425 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3427         Fix Dired display of an explicit list of files by ls-lisp.el
3428         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3429         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3430         correct for when displaying individual files separately, not as
3431         part of listing a directory, in which case these values are not
3432         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3434         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3436 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3438         Do not adjust point in a non-selected window
3439         * src/keyboard.c (command_loop_1): Do not adjust point when
3440         current buffer is not shown in selected window (Bug#20590).
3442         * etc/DEBUG: Mention 'maybe_call_debugger'
3444 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3446         Fix a unit test for map.el
3447         * test/automated/map-tests.el (test-map-let): Fix the test to work
3448         with the new syntax of `map-let'.
3450         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3452         Better syntax for the map pcase pattern
3453         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3454         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3456         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3458         Fix a byte-compiler error in map-put and map-delete
3459         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3460         called with a symbol.
3462 2015-06-05  Glenn Morris  <rgm@gnu.org>
3464         * admin/gitmerge.el (gitmerge-commit-message):
3465         Revert to including "skipped" messages in ChangeLog once again.
3467 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
3469         Use string> instead of equiv lambda with string<
3470         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
3471         lambda with string<.
3473 2015-06-05  Glenn Morris  <rgm@gnu.org>
3475         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
3476         (map--delete-array): Fix typo.
3478         * test/automated/map-tests.el: Replace "assert" with "should".
3480         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
3481         (SUBDIRS_REL): Derive from SUBDIRS.
3483         Tweak some build messages.
3484         * lisp/Makefile.in ($(lisp)/loaddefs.el):
3485         * lisp/cus-dep.el (custom-make-dependencies):
3486         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
3487         * lisp/international/titdic-cnv.el (batch-titdic-convert):
3488         Don't say how to compile.
3490 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3492         Omit U+0332 COMBINING LOW LINE in previous change
3493         It turns out that it does not work on Ubuntu 15.04.
3495         Fix transliteration of Bahá'í months
3496         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
3497         Improve quality of Latin transliteration of Bahá'í month names.
3499         Fix curved quotes in a few places
3500         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
3501         The strings in question are not doc strings, so this partially
3502         undoes the recent change that assumed they were doc strings.
3503         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3504         * lisp/info.el (Info-finder-find-node):
3505         Use curved quotes.
3506         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3507         Also allow curved quotes in doc strings.
3509 2015-06-04  Glenn Morris  <rgm@gnu.org>
3511         * lisp/Makefile.in (AM_V_at): Add missing definition.
3513         * lisp/Makefile.in: Quieten output a bit.
3514         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
3515         Don't echo directories, since the commands we invoke print them.
3517         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
3518         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
3519         (SUBDIRS_SUBDIRS): New variables.
3520         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
3521         Remove.
3522         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
3523         (update-subdirs, compile-main, compile-clean):
3524         Replace "setwins" usage with new "SUBDIRS" variables.
3526         * lisp/vc/compare-w.el (compare-windows-get-window-function):
3527         Fix :version tag.
3529 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3531         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
3533         Undo removal of x_clear_area call on expose for GTK3 or cairo.
3534         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
3535         exposed area.  (Bug#20677)
3537 2015-06-04  Glenn Morris  <rgm@gnu.org>
3539         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
3541         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
3543         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3544         Rename from quail-lao-update-translation, since lao.el defines that.
3546 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
3548         Handle new-style advice in find-funct
3549         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
3550         Handle new-style advice.  Return the symbol's function definition.
3551         (Bug#20718)
3552         (find-function-library): Update accordingly.
3554 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
3556         Merge branch 'map'
3558         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
3560         Add new function string-greaterp
3561         * lisp/subr.el (string-greaterp): New function.  Also aliased to
3562         `string>'.
3563         * test/automated/subr-tests.el (string-comparison-test): Add unit
3564         tests for `string>'and `string<'.
3565         * src/fns.c (string-lessp): Better docstring.
3567 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
3569         Fix timezone-related functions on MS-Windows
3570         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
3571         'xputenv', even if no reallocation of tzvalbuf was necessary.
3572         This fixes a bug in timezone-related functions on MS-Windows.
3573         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
3575 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3577         Don't pass raw directory name to 'error'
3578         * lisp/files.el (basic-save-buffer-2): Avoid format error if
3579         a directory name contains a string like "%s".
3581 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
3583         Override 'grep --color=always'
3584         * lisp/progmodes/xref.el (xref-collect-matches):
3585         Override --color=always in grep-find-template.
3587 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3589         Fix error introduced recently in file-notify-tests.el
3590         * test/automated/file-notify-tests.el
3591         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
3592         (file-notify--deftest-remote): Revert previous patch, not
3593         necessary anymore.
3595 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
3597         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
3598         Starting from a display string after a newline, point went to the
3599         previous line.  Also, fix an inadvertent use of a buffer position
3600         with FETCH_BYTE.  (Bug#20701)
3602 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3604         Instrument file-notify-test.el in order to catch hydra error.
3605         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
3606         Wrap body by `ignore-case', in order to trap non-local errors.
3608 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3610         Undo previous changes in non-toolkit scroll bar drawing.
3611         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
3612         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
3614 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3616         * .gitignore: Also ignore doc/*/*/*.html and .ps.
3618         Support quotes 'like this' in info files
3619         This is possible when 'makeinfo --disable-encoding' is used
3620         in Texinfo 5.
3621         * lisp/calc/calc-help.el (calc-describe-thing):
3622         * lisp/gnus/gnus-art.el (gnus-button-alist):
3623         * lisp/info.el (Info-find-index-name):
3624         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3625         Also support quotes 'like this'.
3626         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
3627         * lisp/finder.el (finder-font-lock-keywords): Remove var that
3628         hasn't been used in years, instead of bothering to fix its quoting.
3630 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3632         * .gitignore: Remove !test/etags/html-src/*.html.
3633         It's no longer needed, since *.html was removed.  Sort.
3635 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3637         Restore <D> instead of '.' in grep-find-template
3638         * lisp/cedet/semantic/symref/grep.el
3639         (semantic-symref-grep-use-template): Update a comment.
3640         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
3641         instead of '.' in grep-find-template (bug#20719).
3642         (rgrep): Pass nil as the directory to rgrep-default-command.
3643         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
3644         default value for DIR.
3645         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
3646         workaround.
3648 2015-06-02  Glenn Morris  <rgm@gnu.org>
3650         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
3652         * configure.ac (emacs_config_features): Add Cairo.
3654         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
3656 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
3658         Ensure, that autorevert works for remote files in file-notify-tests.el
3659         * test/automated/file-notify-tests.el (file-notify--test-desc):
3660         New defvar.
3661         (file-notify--test-remote-enabled)
3662         (file-notify-test00-availability, file-notify-test01-add-watch)
3663         (file-notify-test02-events): Use it.
3664         (file-notify--test-event-test): Check proper descriptor.
3665         (file-notify-test03-autorevert): Ensure, that
3666         `visited-file-modtime' has changed.
3667         (Bug#20392)
3669 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
3671         Add a pcase pattern for maps and `map-let' based on it
3672         * lisp/emacs-lisp/map.el (map-let): New macro.
3673         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
3674         * test/automated/map-tests.el: New test for `map-let'.
3676 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3678         Reuse rgrep mechanics in xref-find-regexp
3679         * lisp/progmodes/grep.el (rgrep-default-command):
3680         Extract from `rgrep'.
3681         * lisp/progmodes/xref.el (xref-collect-references): Split from
3682         `xref-collect-matches'.  Only handle the case of symbol search.
3683         (xref-collect-matches): Instead of Semantic Symref, use
3684         `rgrep-default-command', to take advantage of its directory and
3685         file ignore settings.
3686         (xref--collect-match): Remove the last argument, leaving the
3687         regexp construction up to the caller.
3688         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
3689         Change to take the xref-collect- function to use as an argument.
3690         (elisp-xref-find): Update accordingly.
3691         * lisp/progmodes/etags.el (etags--xref-find-matches)
3692         (etags-xref-find): Same.
3694         Move xref-elisp-location to elisp-mode.el
3695         * lisp/progmodes/xref.el (xref-elisp-location)
3696         (xref-make-elisp-location, xref-location-marker): Remove here.
3697         (xref--xref): Don't limit the type of the location slot.
3698         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
3699         Define as a cl-struct here.
3700         (xref-location-marker): Move here.
3702 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
3704         Minor tweaks for .gitignore
3705         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
3706         ignore admin/notes/tags that might be ignored as TAGS on
3707         case-insensitive filesystems.  (Bug#20710)
3709 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3711         Generate curved quotes in ert doc
3712         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
3713         (ert-results-mode-menu)
3714         (ert-results-pop-to-backtrace-for-test-at-point)
3715         (ert-results-pop-to-messages-for-test-at-point)
3716         (ert-results-pop-to-should-forms-for-test-at-point)
3717         (ert-describe-test):
3718         Quote ‘like this’, not `like this', when generating doc strings
3719         and the like.
3720         * test/automated/ert-x-tests.el (ert-test-describe-test):
3721         Allow quoting ‘like this’.
3723 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
3725         Add test for previous commit
3726         * test/automated/replace-tests.el: New file.
3727         (query-replace--split-string-tests): Add test for previous commit.
3729         Avoid confusion in query-replace history when replacing NUL chars
3730         * lisp/replace.el (query-replace--split-string): New function.
3731         (query-replace-read-from): Rely on the 'separator' property
3732         instead of searching for the NUL character (Bug#20690).
3734 2015-06-02  Glenn Morris  <rgm@gnu.org>
3736         Merge from origin/emacs-24
3737         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3739         * admin/gitmerge.el (gitmerge-commit-message):
3740         Exclude "skipped" messages from ChangeLog.
3742 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
3744         Sync with Tramp repository
3745         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
3746         messages.
3747         (tramp-handle-make-auto-save-file-name): When calling
3748         `make-auto-save-file-name' internally, make sure it uses Unix-like
3749         behavior, not Windows-like behavior.
3750         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
3751         the local case, because "chown" might fail on w32.
3752         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
3753         for XEmacs.
3755 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
3757         MS-Windows followup for batch stdout/stderr output changes
3758         * lisp/international/mule-cmds.el (set-locale-environment): In
3759         batch mode, use console codepages for keyboard and terminal
3760         encoding.  (Bug#20545)
3762         Update .gitattributes for DOS EOL files
3763         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
3764         CRLF end-of-line format.
3766         NS equivalents of xterm.c and w32term.c changes
3767         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
3768         glyph string background also when the font in use claims
3769         preposterously large global height value.  Helps to remove
3770         artifacts left from previous displays when glyphless characters
3771         are displayed as hex code in a box.
3772         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
3773         value for FRAME_LINE_HEIGHT, even when a font claims very large
3774         value for its height.
3776 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3778         Avoid grave accent quoting in stderr diagnostics
3779         A few Emacs diagnostics go directly to stderr, and so can't easily
3780         contain curved quotes (as non-UTF-8 locales might mishandle them).
3781         Instead of bothering to add support for this rarity, reword the
3782         diagnostics so that they don't use grave accent to quote.
3783         * src/alloc.c (mark_memory): Fix comment.
3784         * src/buffer.c (init_buffer):
3785         * src/dispnew.c (init_display):
3786         * src/emacs.c (main, sort_args):
3787         * src/lread.c (dir_warning):
3788         * src/term.c (init_tty):
3789         * src/unexmacosx.c (unexec):
3790         * src/xfns.c (select_visual):
3791         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
3792         Reword stderr diagnostics to avoid quoting `like this'.
3793         * src/unexmacosx.c: Include errno.h.
3794         * src/xfns.c (select_visual): Encode value for locale.
3796 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3798         Treat batch stdout/stderr like standard display
3799         Calls like (print FOO) could generate improperly encoded or
3800         hard-to-read output if FOO contains characters outside the system
3801         locale.  Fix this by treating batch stdout and stderr like
3802         interactive standard display, when it comes to transliterating and
3803         encoding characters (Bug#20545).
3804         * doc/emacs/mule.texi (Communication Coding):
3805         * doc/lispref/display.texi (Active Display Table):
3806         * doc/lispref/nonascii.texi (Locales):
3807         * etc/NEWS:
3808         * src/coding.c (syms_of_coding):
3809         * src/dispnew.c (syms_of_display):
3810         Document this.
3811         * src/print.c: Include disptab.h.
3812         (printchar_to_stream): New function, with much of the guts of the
3813         old Fexternal_debugging_output, except this one also uses the
3814         standard display table.
3815         (printchar, strout, Fexternal_debugging_output): Use it.
3817 2015-05-31  Glenn Morris  <rgm@gnu.org>
3819         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
3821 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3823         Remove unused DEFSYMs
3824         Remove DEFSYMs that aren't used at the C level.  Also:
3825         * src/decompress.c (Qzlib_dll):
3826         * src/font.c (Qunicode_sip):
3827         * src/frame.c (Qtip_frame):
3828         * src/ftfont.c (Qserif):
3829         * src/gnutls.c (Qgnutls_dll):
3830         * src/xml.c (Qlibxml2_dll):
3831         Move from here ...
3832         * src/w32fns.c (syms_of_w32fns): ... to here,
3833         as these are used only on MS-Windows.
3835 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
3837         Use another default value for tramp-histfile-override
3838         * lisp/net/tramp-sh.el (tramp-histfile-override):
3839         Use ".tramp_history" as default.
3840         Fixes: debbugs:#20446
3842 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
3844         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3846 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3848         * etc/NEWS: Add an entry about map.el
3850         Improve the docstring of functions in map.el
3851         Since a map is not a data structure but a concept, adding information
3852         about the possible types of maps can be useful information.
3853         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
3854         each public function.
3856 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
3858         Faster implementation of map-empty-p
3859         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
3860         specific tests depending on the type of the map.
3862         * lisp/emacs-lisp/map.el: Better docstrings.
3864 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3866         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
3868 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
3870         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
3872         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
3874         Fix a false negative in `map-elt' with alists and values being nil
3875         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
3876         found but its associated value is nil, do not return the default
3877         value.
3878         * test/automated/map-tests.el: Add a regression test.
3880 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
3882         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
3884         Do not signal an error when trying to delete a key from an array
3885         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
3886         the key is present to avoid signaling an error.
3887         * test/automated/map-tests.el: Add a test for deleting non-existing
3888         keys from maps.
3890         * lisp/emacs-lisp/map.el: Better docstring.
3892         Minor improvement in map-elt.
3893         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
3894         doing a lookup in arrays, but check the boundaries of the array
3895         instead.
3896         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
3897         and a negative integer as key.
3899 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
3901         * test/automated/map-tests.el: Refactoring of test methods.
3903         * test/automated/map-tests.el: Renamed from map-test.el.
3905 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
3907         * lisp/emacs-lisp/map.el (map-into): Better error message.
3909         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
3911         Throw an error when converting a map into an unknown map type
3912         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
3913         * test/automated/map-test.el: Add a regression test.
3915         New library map.el similar to seq.el but for mapping data structures.
3916         * test/automated/map-test.el: New file.
3917         * lisp/emacs-lisp/map.el: New file.
3919 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3921         Make sure there's no explicit tag name
3922         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
3923         there's no explicit tag name (bug#20629).
3925 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3927         Remove format2
3928         * src/editfns.c, src/lisp.h (format2): Remove.
3929         It is more trouble than it's worth, now that we have CALLN.
3930         This is just a minor refactoring.
3931         * src/buffer.c (Fkill_buffer):
3932         * src/dbusbind.c (XD_OBJECT_TO_STRING):
3933         * src/fileio.c (barf_or_query_if_file_exists):
3934         Adjust to format2 going away.
3936         Don't misencode C-generated messages
3937         Also, be more consistent about calls to 'Fmessage' vs 'message'.
3938         * src/alloc.c (Fgc_status):
3939         Prefer AUTO_STRING to build_string for Fmessage call.
3940         * src/data.c (Fmake_variable_buffer_local)
3941         (Fmake_local_variable, Fmake_variable_frame_local):
3942         * src/doc.c (store_function_docstring):
3943         Use Fmessage, not message, since the argument can contain
3944         non-ASCII characters, and this can cause the resulting message
3945         to be incorrectly encoded for the current environment.
3946         * src/fns.c (maybe_resize_hash_table):
3947         * src/xselect.c (x_clipboard_manager_save_all):
3948         Use message, not Fmessage, since Fmessage's power isn't needed here.
3949         * src/process.c (Fmake_network_process): Reword message to avoid %s.
3950         * src/xdisp.c (vmessage): Document restrictions on message contents.
3951         (message_nolog) [false]: Remove unused code.
3953         Use \r rather than ^M in string literals
3954         This is less likely to cause problems on platforms that
3955         use CRLF (or CR!) termination for lines.
3957         Update .gitattributes to match current sources
3958         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
3959         * .gitattributes: Accommodate tests that insist on DOS format.
3960         Remove test/automated/data/decompress/foo-gzipped.
3961         Add etc/e/eterm-color.
3963 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3965         Document 'face-ignored-fonts'
3966         * doc/emacs/mule.texi (Modifying Fontsets): Document
3967         face-ignored-fonts.  (Bug#20628)
3969         Add etags test for the new -Q option
3970         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3971         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3972         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3973         test-case changes below.
3974         * test/etags/ETAGS.good_6: New file.
3975         * test/etags/cp-src/x.cc: New file.
3976         * test/etags/Makefile (CPSRC): Add x.cc.
3977         (check): Add one more test, for -Q.
3979 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3981         Use list for the tags completion table, not obarray
3982         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
3983         list instead of an obarray
3984         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
3985         (tags-completion-table): Combine those lists.
3986         (tags-completion-table): Update the docstring.
3988 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3990         Restore EOL format testing in etags
3991         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3992         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3993         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3994         test-case changes below.
3995         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
3996         * test/etags/cp-src/c.C (B): Add back stray CR character.
3997         * test/etags/c-src/dostorture.c: Add back.
3998         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
4000 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
4002         Declare Emacs on MS-Windows to be DPI-aware
4003         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
4004         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
4005         This avoids Windows entering compatibility mode for Emacs,
4006         which causes fonts to look less nice.
4008 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
4010         Improve Tramp traces.
4011         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
4012         * lisp/net/tramp.el (tramp-debug-message): Use it.
4014 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4016         backup-buffer minor reworking of internals
4017         * lisp/files.el (backup-buffer): Rework to avoid a couple of
4018         unused locals inadvertently introduced in the previous change.
4020         backup-buffer now reports .emacs.d/%backup% ills
4021         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
4022         fails due to disk space exhaustion or whatever, do not pretend
4023         that it succeeded.  More generally, do a better job of checking
4024         for I/O failures, and limit the scope of the condition-case to
4025         just the operations where file errors should be caught and ignored
4026         (Bug#20595).  Also, don't bother trying to delete later backups if
4027         an earlier deletion fails, as this is a sign of trouble and it's
4028         better to stop when there's trouble.
4030         copy-file now truncates output after writing
4031         * src/fileio.c (Fcopy_file): Truncate output after writing rather
4032         than before.  This is more likely to work than truncation before
4033         writing, if the file system is out of space or the user is over
4034         disk quota (Bug#20595).  Also, check for read errors.
4036 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4038         * lisp/emacs-lisp/package.el: Don't load from parent dir
4039         (package-load-all-descriptors): Don't load descriptors from
4040         directories above the package directories.
4042 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4044         Merge from gnulib
4045         This incorporates the following (Bug#20681):
4046         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
4047         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
4048         * lib/set-permissions.c: Copy from gnulib.
4050 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
4052         Improve Tramp traces.
4053         * lisp/net/tramp.el (tramp-call-process-region): New defun.
4054         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
4056 2015-05-29  Glenn Morris  <rgm@gnu.org>
4058         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
4060 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
4062         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
4063         The signature was changed in the cairo branch, merged on 2015-05-23.
4064         This oversight broke compiling only the non-toolkit X version.
4066 2015-05-29  Samer Masterson  <samer@samertm.com>
4068         * doc/lispref/os.texi: Update initial-buffer-choice docs.
4070 2015-05-29  Glenn Morris  <rgm@gnu.org>
4072         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
4073         Mark as an expected failure.
4075 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4077         Change package test to look for curved quotes
4078         * test/automated/package-test.el (package-test-describe-package)
4079         (package-test-signed): Search for curved single quotes as well as
4080         for grave accent and apostrophe.
4082 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
4084         gnus-art.el: Re-revert last change
4085         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
4086         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
4088 2015-05-28  Samer Masterson  <samer@samertm.com>
4090         Show files when `initial-buffer-choice' is non-nil
4091         * startup.el (command-line-1): When Emacs is given a file as an
4092         argument and `initial-buffer-choice' is non-nil, display both the file
4093         and `initial-buffer-choice'.  For more than one file, show
4094         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
4095         commands out of the command line arg parser.
4096         (initial-buffer-choice): Clarify docstring.
4098 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
4100         Fix last commit
4101         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
4102         (gnulib module qcopy-acl): Add back, as it is harmless.  This
4103         minimizes differences wrt lib/gnulib.mk.
4105         Fix the MS-Windows build as followup to gnulib update
4106         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
4107         set-permissions.c, as they don't compile on MinGW.
4108         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
4110 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
4112         Revert my change to gnus-art.el
4113         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
4114         It wasn't that important, and it caused a Gnus build to fail.  See:
4115         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
4117         New minor mode Electric Quote
4118         This lets you easily insert quotes ‘like this’ by typing
4119         quotes `like this', and similarly you can easily insert
4120         quotes “like this” by typing quotes ``like this'' (Bug#20545).
4121         * doc/emacs/basic.texi (Inserting Text):
4122         * doc/emacs/modes.texi (Minor Modes):
4123         * etc/NEWS: Document it.
4124         * doc/emacs/text.texi (Quotation Marks): New section.
4125         * lisp/electric.el (electric-quote-comment)
4126         (electric-quote-string, electric-quote-paragraph):
4127         New custom vars.
4128         (electric--insertable-p)
4129         (electric-quote-post-self-insert-function): New functions.
4130         (electric-quote-mode, electric-quote-local-mode): New minor modes.
4131         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4132         Add curved single quotes to electric-pair-text-pairs.
4133         Set electric-quote-string in this buffer.
4135         A few more doc string fixes (Bug#20385)
4137         Accept curved quotes in doc strings
4138         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4139         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
4141         Generate curved quotes in pseudo-info nodes
4142         * lisp/info.el (Info-virtual-index-find-node)
4143         (Info-virtual-index, Info-apropos-find-node, info-apropos):
4144         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
4146         Fix minor quoting problems in doc strings
4147         Most of these fixes involve escaping grave accents that are
4148         actually intended to be grave accents, not left quotes.
4149         (Bug#20385)
4151         Support curved quotes in doc strings
4152         Emacs's traditional doc string style has been to quote symbols
4153         `like this'.  This worked well on now-obsolete terminals where
4154         ` and ' were symmetric quotes, but nowadays curved quotes
4155         ‘like this’ look better.  Support quoting the new way too.
4156         (Bug#20385)
4157         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
4158         ‘like-this’ as well as `like-this'.
4159         * etc/NEWS: Mention this.
4160         * lisp/cedet/mode-local.el (overload-docstring-extension)
4161         (mode-local-print-binding, mode-local-describe-bindings-2):
4162         * lisp/cus-theme.el (describe-theme-1):
4163         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4164         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4165         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4166         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4167         (eieio-help-constructor):
4168         * lisp/emacs-lisp/package.el (describe-package-1):
4169         * lisp/faces.el (describe-face):
4170         * lisp/help-fns.el (help-fns--key-bindings)
4171         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
4172         (help-fns--interactive-only, describe-function-1):
4173         (describe-variable):
4174         * lisp/help.el (describe-mode):
4175         * lisp/international/mule-cmds.el (describe-input-method)
4176         (describe-language-environment):
4177         * lisp/international/mule-diag.el (describe-character-set)
4178         (print-coding-system-briefly, list-input-methods)
4179         (list-input-methods-1):
4180         Insert curved quotes rather than grave accent and apostrophe.
4181         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4182         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4183         (checkdoc-proper-noun-region-engine):
4184         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
4185         (lisp-cl-font-lock-keywords-2):
4186         * lisp/finder.el (finder-font-lock-keywords):
4187         * lisp/gnus/gnus-art.el (gnus-button-alist):
4188         * lisp/help-fns.el (help-do-arg-highlight)
4189         (describe-function-1, describe-variable):
4190         * lisp/help-mode.el (help-xref-symbol-regexp)
4191         (help-xref-info-regexp, help-xref-url-regexp):
4192         * lisp/help.el (describe-mode):
4193         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
4194         * lisp/wid-edit.el (widget-documentation-link-regexp):
4195         Parse symbols quoted ‘like-this’ as well as `like-this'.
4196         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4197         Add "‘" and "’" to electric-pair-text-pairs.
4198         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
4199         (elisp-completion-at-point, elisp--preceding-sexp):
4200         Also treat "‘" and "’" as quoting chars.
4202         substitute-command-keys now curves quotes
4203         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
4204         * doc/lispref/help.texi (Keys in Documentation):
4205         * etc/NEWS: Document this.
4206         * src/doc.c (Fsubstitute_command_keys): Implement it.
4208 2015-05-28  Glenn Morris  <rgm@gnu.org>
4210         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
4211         (rmail-summary-by-topic, rmail-summary-by-senders):
4212         No longer strip leading/trailing whitespace.
4214         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
4215         (f90-no-block-limit): Add "enum".  (Bug#20680)
4216         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
4217         New tests.
4219 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4221         * lisp/isearch.el (isearch--current-buffer): Give a default value.
4223         Un-revert changes mistakenly dropped by f9fabb2b
4225 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4227         Merge from gnulib
4228         This incorporates:
4229         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
4230         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
4231         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
4232         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
4233         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
4234         2015-05-26 stdio: fix probe on mingw under gcc 5.1
4235         * admin/merge-gnulib (GNULIB_MODULES):
4236         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
4237         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
4238         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
4239         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
4240         Get latest versions from gnulib.
4241         * lib/get-permissions.c, lib/set-permissions.c: New files.
4242         * lib/gnulib.mk, m4/gnulib-comp.m4:
4243         Regenerate.
4244         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4246 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4248         Delete the old process in vc-setup-buffer
4249         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4250         process here.
4251         (vc-do-command): Rather than here (bug#20608).
4253 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4255         Avoid gratuitous delete-dups in face-at-point.
4256         * lisp/faces.el (face-at-point): Do not compute the properly
4257         ordered, duplicate-free list if only a single value is
4258         requested anyway.  (Bug#20519)
4260         Show the exact C-x 8 RET invocation in describe-char.
4261         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4262         invocation instead of a template.  (Bug#20522)
4264 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4266         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4267         (package-menu--post-refresh): Call `tabulated-list-print' with the
4268         UPDATE argument.  This only affects the refresh action, the revert
4269         action still erases tags.
4270         (package-menu-get-status): Change `assq' to `assoc'.
4271         (package-menu--mark-upgrades-1): New function.
4272         (package-menu--mark-upgrades-pending): New variable.
4273         (package-menu-mark-upgrades): Use them to delay marking until
4274         after refresh is done.
4275         (package-menu--post-refresh): Call mark-upgrades-1 if
4276         mark-upgrades-pending is non-nil.
4278 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4280         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4282 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4284         * lisp/isearch.el (isearch--current-buffer): New var
4285         (isearch-update): Set cursor-sensor-inhibit here.
4286         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4288         Change inhibit-point-motion-hooks to t
4289         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4290         to t and document it as obsolete.
4292 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4294         Support ZIP files that use Zip64 extensions
4295         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4296         format of central directory offsets used by Zip64 extensions.
4297         (Bug#20665)
4299 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4301         New test tramp-test30-make-auto-save-file-name
4302         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4303         (tramp-test31-special-characters)
4304         (tramp-test31-special-characters-with-stat)
4305         (tramp-test31-special-characters-with-perl)
4306         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4307         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4308         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4309         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4311         Improve tramp-handle-make-auto-save-file-name
4312         * tramp.el (tramp-auto-save-directory): Add :tags.
4313         (tramp-handle-make-auto-save-file-name): Let native
4314         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4315         if `tramp-auto-save-directory' is not set.
4317 2015-05-27  Glenn Morris  <rgm@gnu.org>
4319         No longer set dired-directory in eshell.  (Bug#16477)
4320         * lisp/eshell/esh-mode.el (eshell-mode):
4321         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4323         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4325         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4326         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4327         Change to submit@debbugs.
4328         (c-mode-bug-package): New constant.
4329         (mail-position-on-field): Declare.
4330         (c-submit-bug-report): Insert X-Debbugs-Package header.
4331         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4332         Mention debbugs.gnu.org.
4334 2015-05-26  Glenn Morris  <rgm@gnu.org>
4336         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4337         (rmail-summary-by-recipients, rmail-summary-by-topic)
4338         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4339         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4341 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4343         Handle curved quotes in info files
4344         * lisp/calc/calc-help.el (calc-describe-thing):
4345         * lisp/info.el (Info-find-index-name)
4346         (Info-try-follow-nearest-node, Info-fontify-node):
4347         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4348         In info files, process quotes ‘like this’ the same way we process
4349         quotes `like this'.  This catches a few places we missed earlier.
4351 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4353         xref-prompt-for-identifier: Use a list value
4354         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4355         value, to be interpreted as a list of commands.
4356         (xref--prompt-p): New function.
4357         (xref--read-identifier): Use it.
4359 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4361         Teach MS-Windows font back-end return per-glyph ascent/descent
4362         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4363         values.
4364         * src/w32font.c (w32font_text_extents): Compute, cache, and
4365         accumulate per-glyph ascent and descent values, instead of copying
4366         global values from the font.  If the values are not available from
4367         the font data, i.e., non-TTF fonts, fall back on font-global values.
4368         (compute_metrics): Compute and return per-glyph ascent and descent
4369         values, if returned by GetGlyphOutlineW, falling back on
4370         font-global values.  (Bug#20628)
4371         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4372         height of rectangle to be drawn, to be compatible with
4373         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4374         box, when per-glyph ascent/descent values are used.
4376 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4378         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4379         (tabulated-list-print): Don't sort if sorter is nil
4381 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4383         Fix Bug#20621
4384         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4385         are major modes which set `auto-save-mode' on their own rules;
4386         Tramp shall not overwrite such settings.
4387         (Bug#20621)
4389 2015-05-26  Glenn Morris  <rgm@gnu.org>
4391         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4392         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4393         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4394         Doc updates.
4395         (vc-dir-mode): Remove unnecessary autoload.
4397 2015-05-25  Philipp Stephani  <phst@google.com>
4399         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4400         (xterm--extra-capabilities-type): Add `getSelection'.
4401         (xterm--query): Add `no-async' argument.
4402         (xterm--init-activate-get-selection): New function.
4403         (terminal-init-xterm): Use it.
4404         (xterm--init-modify-other-keys): Rename from
4405         terminal-init-xterm-modify-other-keys.
4406         (xterm--init-bracketed-paste-mode): Rename from
4407         terminal-init-xterm-bracketed-paste-mode.
4408         (xterm--init-activate-set-selection): Rename from
4409         terminal-init-xterm-activate-set-selection.
4410         (xterm--selection-char): New function.
4411         (gui-backend-set-selection): Use it.  Use the &context to only apply
4412         this method in terminals where we enabled the feature.
4413         (gui-backend-get-selection): New method.
4415 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4417         Add C-language keyword constants to C++
4418         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4419         keyword constants to C++.
4421 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4423         Make TAGS files more portable to MS-Windows
4424         * etc/NEWS: Document this.
4425         * lib-src/etags.c (readline_internal) [DOS_NT]:
4426         Don't treat CRs differently from GNUish hosts.
4427         * lisp/progmodes/etags.el (etags-goto-tag-location):
4428         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4430 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4432         Improve fix of debbugs:20634 in tramp-sh.el
4434 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4436         Fix a typo in last commit
4437         * lib-src/etags.c (C_entries): Fix a typo.
4438         * test/etags/ETAGS.good_1:
4439         * test/etags/ETAGS.good_2:
4440         * test/etags/ETAGS.good_3:
4441         * test/etags/ETAGS.good_4:
4442         * test/etags/ETAGS.good_5:
4443         * test/etags/CTAGS.good: Update due to the change in etags.c.
4445         Fix tagging of class members in C-like OO languages
4446         * lib-src/etags.c (longopts): Add new option --class-qualify and
4447         its shorthand -Q.
4448         (print_help): Add help text for --class-qualify.
4449         (main): Add handling of -Q.
4450         (consider_token, C_entries) <omethodparm>: Append argument types
4451         to Objective C methods only if --class-qualify was specified.
4452         Qualify C++, Objective C, and Java class members with their class
4453         names only if --class-qualify was specified.
4454         (C_entries): If --class-qualify was not specified, remove the
4455         namespace and class qualifiers from tag names of C++ methods.
4456         This allows to use etags.el as xref back-end without the
4457         tag-symbol-match-p method, which greatly increases the number of
4458         potentially false positives.  (Bug#20629)
4459         * doc/man/etags.1: Update to document the new --class-qualify
4460         option.
4461         * test/etags/ETAGS.good_1:
4462         * test/etags/ETAGS.good_2:
4463         * test/etags/ETAGS.good_3:
4464         * test/etags/ETAGS.good_4:
4465         * test/etags/ETAGS.good_5:
4466         * test/etags/CTAGS.good: Update due to changes in etags.c.
4468 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4470         (cl-generic-define-method): Side effects are evil (bug#20644)
4471         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
4472         cons-cells that might be used as keys in an `equal' hash-table.
4474 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4476         Make erc timestamps visible again
4477         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
4478         timestamps visible again (if requested).
4480 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4482         Fix last change in etags.c that broke tagging compresed files
4483         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
4484         quoting of decompression shell command for MS-Windows/MS-DOS.
4486 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4488         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
4489         (Bug#20639)
4491 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4493         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
4495 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
4497         Fix IPv6 addresses in Tramp
4498         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
4499         Add sqare brackets around host name.
4501 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4503         Inhibit `epa-file-handler' in Tramp
4504         (Bug#20634)
4505         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
4506         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
4507         `epa-file-handler'.
4509 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4511         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
4512         (pcase-let): Document the behavior in case the pattern doesn't match.
4514 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4516         * lisp/emacs-lisp/tabulated-list.el: New optional print method
4517         (tabulated-list-print): New optional argument, UPDATE.  If
4518         non-nil, the list is printed by only adding and deleting the
4519         changed entries, instead of erasing the whole buffer.  This method
4520         is much faster when few or no entries have changed.
4521         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4522         * etc/NEWS: Document it.
4524         * lisp/emacs-lisp/tabulated-list.el: Improve printing
4525         (tabulated-list--get-sorter): New function.
4526         (tabulated-list-print): Restore window-line when remember-pos is
4527         passed and optimize away the `nreverse'.
4529 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4531         Simpilify etags TEX mode scanning
4532         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
4533         Remove static vars.
4534         (TeX_commands): Deduce escapes here instead.
4535         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
4536         This removes the need for a reset_input call.
4538         Improve etags I/O error reporting
4539         * lib-src/etags.c:
4540         Don't include sys/types.h and sys/stat.h; no longer needed.
4541         (infilename): New static var.
4542         (process_file_name): Don't call 'stat'.  Instead, just open the
4543         file for reading and report any errors.  Don't bother making
4544         a copy of the file argument; it's not needed.  Be more careful to
4545         use the failing errno when reporting an error.
4546         Quote the real name better (though no perfectly)
4547         when passing it to the shell.
4548         (reset_input): New function, which reports I/O errors.
4549         All uses of 'rewind' changed to use this function.
4550         (perhaps_more_input): New function, which also checks for
4551         I/O errors.  All uses of 'feof' changed to use this function.
4552         (analyze_regex): Report an error if fclose fails.
4553         (readline_internal): Report an error if getc fails.
4554         (etags_mktmp): Return an error if close fails.
4556         etags.c: avoid side effects in 'if'
4557         * lib-src/etags.c (process_file_name, Perl_functions)
4558         (TEX_decode_env): Hoist side effects into previous statement.
4560         .gitignore tweaks
4561         * .gitignore: Ignore all *.stamp files.  Sort.
4562         Ignore [0-9]*.txt (commonly used name for git patches)
4563         and /vc-dwim-log-* (vc-dwim temporary).
4565 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
4567         Fix last change in etags.c, which failed the test suite
4568         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
4569         before the last change.
4571 2015-05-23  Glenn Morris  <rgm@gnu.org>
4573         Remove charset map files from repository, generate in first bootstrap
4574         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
4575         (all): Create the stamp file.
4576         (extraclean): Delete the stamp file.
4577         * src/Makefile.in (lispintdir, charsets): New variables.
4578         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
4579         New rules.
4580         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
4581         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4582         * etc/charsets/*.map: Remove from repository.
4584 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4586         Cleanup etags.c to use locale-independent code
4587         Although this doesn't alter behavior (as etags doesn't use
4588         setlocale), the new version is more clearly locale-independent and
4589         the executable is a bit smaller on my platform.
4590         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
4591         Include <c-ctype.h> instead of <ctype.h>.
4592         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
4593         (begtk, midtk):
4594         Remove; no longer needed.
4595         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
4596         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
4597         c_islower, c_tolower, respectively.
4598         (notinname, begtoken, intoken, endtoken): Rewrite as functions
4599         instead of macros, and initialize the tables at compile-time
4600         rather than at run-time.
4602         Put default action first in src/Makefile
4603         * src/Makefile.in (all): Put this rule before lisp.mk.
4604         That way, plain 'make' works in the src directory again.
4606 2015-05-23  Glenn Morris  <rgm@gnu.org>
4608         * Makefile.in: Fix extraclean rule.
4609         (extraclean_dirs): New.
4610         (extraclean): Use it.
4612 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4614         Avoid compiler warning in image.c on MS-Windows
4615         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
4616         warning in image.c.
4618 2015-05-23  Glenn Morris  <rgm@gnu.org>
4620         Fix --without-toolkit-scroll-bars builds.
4621         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
4622         Add new argument to x_clear_area1.
4623         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4624         Update x_clear_area arguments.
4626         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
4627         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
4628         Change to included version.
4629         (LOCAL, local, totalclean): Remove.
4630         (extraclean): Delete all generated files.
4632 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4634         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
4636         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
4638         tags-completion-at-point-function: Don't trust the find-tag function
4639         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4640         Don't trust the find-tag function.
4642 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4644         Pacify --enable-gcc-warnings
4645         * src/frame.h (x_query_color): Remove redundant extern decl.
4646         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
4647         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
4648         (ftcrfont_text_extents, ftcrfont_draw):
4649         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
4650         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
4651         (x_ins_del_lines, frame_highlight, frame_unhighlight)
4652         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
4653         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
4654         (x_update_window_begin, x_connection_closed)
4655         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4656         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4657         (*x_gc_get_ext_data, x_extension_initialize)
4658         (x_cr_accumulate_data):
4659         Remove redundant static decl.  Many of these GCC doesn't complain
4660         about, but we might as well clean out the duplication while we're
4661         in the neighborhood.
4662         * src/xterm.c (x_fill_trapezoid_for_relief):
4663         Remove decl of nonexistent function.
4665 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4667         Replace gui-method macros with cl-generic with &context
4668         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
4669         (gui-method-declare, gui-call): Remove.
4670         (frame-creation-function): Use cl-defgeneric.
4671         (make-frame): Adjust callers.
4672         * lisp/menu-bar.el (menu-bar-edit-menu):
4673         Use gui-backend-selection-exists-p.
4674         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
4675         (gui-backend-get-selection): New cl-generic to replace
4676         gui-get-selection method.
4677         (gui-backend-set-selection): New cl-generic to replace
4678         gui-set-selection method.
4679         (gui-selection-owner-p): New cl-generic to replace
4680         gui-selection-owner-p method.
4681         (gui-backend-selection-exists-p): New cl-generic to replace
4682         gui-selection-exists-p method.  Adjust all callers.
4683         * lisp/server.el (server-create-window-system-frame): Don't ignore
4684         window-system spec even when unsupported.
4685         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
4686         * lisp/startup.el (handle-args-function, window-system-initialization):
4687         Use cl-defgeneric.
4688         (command-line): Adjust calls accordingly.
4689         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
4690         a window-system-initialization method.
4691         (handle-args-function, frame-creation-function): Use cl-defmethod.
4692         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4693         (gui-get-selection): Use cl-defmethod on the new functions instead.
4694         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
4695         a gui-backend-get-selection method.
4696         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
4697         Use cl-defmethod on the new functions instead.
4698         (msdos-window-system-initialization): Turn into
4699         a window-system-initialization method.
4700         (frame-creation-function, handle-args-function): Use cl-defmethod.
4701         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
4702         a window-system-initialization method.
4703         (handle-args-function, frame-creation-function): Use cl-defmethod.
4704         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4705         (gui-get-selection): Use cl-defmethod on the new functions instead.
4706         * lisp/term/x-win.el (x-window-system-initialization): Turn into
4707         a window-system-initialization method.
4708         (handle-args-function, frame-creation-function): Use cl-defmethod.
4709         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4710         (gui-get-selection): Use cl-defmethod on the new functions instead.
4711         * lisp/term/xterm.el (xterm--set-selection): Turn into
4712         a gui-backend-set-selection method.
4713         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
4714         (Fns_selection_owner_p): Remove unused arg `terminal'.
4715         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
4717 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4719         Revert "Fix etags Bug#20629 that broke C++ support."
4720         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
4722 2015-05-23  Jan D  <jan.h.d@swipnet.se>
4724         Fix etags Bug#20629 that broke C++ support.
4725         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
4726         from Sun May 10 (Bug#20629).
4728         Merge branch 'cairo'.
4729         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
4730         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
4732         Merge branch 'master' into cairo
4734         Fixes to compile cairo branch without cairo.
4735         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
4736         first argument.
4737         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
4738         USE_CAIRO.
4740 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
4742         * lisp/emacs-lisp/package.el: Always update selected-packages
4743         (package--update-selected-packages): New function.
4744         (package-menu-execute): Use it before starting the transaction,
4745         this way the list of selected packages is updated even when the
4746         transaction fails.
4747         (package-menu--perform-transaction): Don't edit selected-packages.
4749 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4751         Fix etags reading of compressed files
4752         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
4753         Include fcntl.h, for O_CLOEXEC.
4754         (process_file_name): Don't use 'popen', whose streams cannot be
4755         rewound.  Instead, uncompress the file to a temporary file,
4756         created by 'etags_mktmp', and read from that as usual.
4757         (etags_mktmp): New function.
4758         * test/etags/ETAGS.good_1:
4759         * test/etags/ETAGS.good_2:
4760         * test/etags/ETAGS.good_3:
4761         * test/etags/ETAGS.good_4:
4762         * test/etags/ETAGS.good_5: Update to be consistent with latest
4763         changes in etags.c regarding reading compressed files.
4765         Improve documentation of 'set-fontset-font'
4766         * doc/lispref/display.texi (Fontsets): Document the value of nil
4767         for the 3rd argument of 'set-fontset-font'.
4769         Fix documentation of forward-line
4770         * src/cmds.c (Fforward_line): Clarify the return value if the line
4771         at end of accessible portion of the buffer has no newline.
4772         * doc/lispref/positions.texi (Text Lines): Document what happens
4773         if the line at end of accessible portion of buffer has no newline.
4774         (Bug#20587)
4776 2015-05-22  Glenn Morris  <rgm@gnu.org>
4778         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
4780         * admin/charsets/mapconv (LC_ALL): Set to C.
4782         * Makefile.in: Add admin/charsets into top-level clean rules.
4783         (clean): Add admin/charsets.
4784         (maybeclean_dirs): New variable.
4785         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
4787         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
4789 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4791         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
4793 2015-05-22  Glenn Morris  <rgm@gnu.org>
4795         Generate admin/charsets Makefile via configure, and make more portable.
4796         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
4797         (admin/charsets/Makefile): Generate it.
4798         * admin/charsets/Makefile.in: Rename from Makefile.
4799         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
4800         New variables, set by configure.
4801         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
4802         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
4803         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
4804         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
4805         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
4806         (all): Declare PHONY.
4807         (local): New PHONY target.
4808         (map_template): New template.  Use to define short PHONY aliases.
4809         (*.map): Add directory prefixes to targets and prerequisites.
4810         Respect make verbosity.
4811         (JISC6226.map): Replace non-portable sed append without newline.
4812         (install): Remove rule.
4813         (clean): Only delete temporary sedscript.
4814         (bootstrap-clean, distclean, maintainer-clean, extraclean)
4815         (totalclean): New PHONY rules.
4816         * admin/charsets/mapconv (BASE): Replace basename with expr.
4817         (FILE): Add "mapfiles" subdirectory.
4818         (AWK): New variable.  Use throughout in place of "awk".
4819         (main): Use "gunzip -c" in place of "zcat".
4820         Don't leave whitespace before "p", for older sed.
4821         * admin/charsets/mapfiles/PTCP154: Add final newline,
4822         to make older sed versions happy.
4824 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
4826         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
4827         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
4828         (auto-revert-notify-watch-descriptor): Use defvar-local.
4829         (find-file-hook, auto-revert-tail-mode, )
4830         (auto-revert-notify-add-watch): Use setq-local.
4831         (auto-revert-notify-add-watch): Don't call make-local-variable on
4832         kill-buffer-hook (bug#20601).
4834 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4836         Change defgeneric so it doesn't completely redefine the function
4837         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
4838         previously defined methods.
4839         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
4840         (cl--generic-prefill-dispatchers): Only define during compilation.
4841         (cl-method-qualifiers): Remove redundant alias.
4842         (help-fns-short-filename): Silence byte-compiler.
4843         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
4845 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4847         (package-menu-execute): Remove reference to remove-dups
4849 2015-05-21  kwhite  <kwhite@gnu.org>
4851         * lisp/erc/erc.el: Hide network/channel messages
4852         (erc-network-hide-list, etc-channel-hide-list): New lists to define
4853         message types per network/channel.
4854         (erc-add-targets): New function to parse list of targets
4855         (erc-hide-current-message-p): Modified to check for new targets
4857 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4859         Don't quote nil and t in doc strings
4860         This is as per "Tips for Documentation Strings" in the elisp manual.
4861         For consistency, do the same in diagnostics and comments.
4863 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
4865         Fix a minor problem with mouse-face on mode line
4866         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
4867         mouse face also if the mouse pointer hovers above mode-line glyphs
4868         that don't come from any Lisp string.  (Bug#20620)
4870 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4872         * lisp/emacs-lisp/package.el: Fix selected-package logic
4873         (package-menu-execute): Mark as selected all non-upgrade packages
4874         being installed.
4875         (package-menu--perform-transaction): Don't mark anything.
4877         * lisp/emacs-lisp/package.el: Mode-line progress report
4878         (package-menu--transaction-status): New variable.
4879         (package-menu-mode, package-menu--perform-transaction): Use it.
4881         * lisp/emacs-lisp/package.el: Better transaction messages
4882         (package-menu--partition-transaction): New function.
4883         (package-menu--prompt-transaction-p, package-menu-execute): Use
4884         it.
4885         (package-menu--perform-transaction): Don't do any messaging.
4887         * lisp/emacs-lisp/package.el: Revert async package transactions
4888         (package-menu-async): Update doc.
4889         (package-install-from-archive, package-download-transaction)
4890         (package-install, package-menu--perform-transaction)
4891         (package-menu-execute): Remove asynchronous functionality.
4893 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4895         Revert doc string changes to f90.el
4896         Problem reported by Glenn Morris in:
4897         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
4898         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4899         Revert recent changes to doc strings, as it's intended that they
4900         use grave accent, not quote.
4902 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
4904         Improve parameter name
4906         Add new inline function `hash-table-empty-p'
4908 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
4910         Don't require help-fns when not needed
4911         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
4912         * lisp/emacs-lisp/elint.el:
4913         Don't require help-fns at the top level.
4914         * lisp/emacs-lisp/advice.el (ad-arglist):
4915         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4916         Don't require help-fns.  (Bug#17001)
4918 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
4920         Fix slash collapsing in etags on MS-Windows
4921         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
4922         MS-Windows code from the Posix code, and support collapsing both
4923         forward- and back-slashes on MS-Windows.  Fixes a regression found
4924         by the test suite.
4926         Improve documentation of glyphless-char-display
4927         * doc/lispref/display.texi (Glyphless Chars): Improve
4928         documentation of glyphless character display.
4930         Fix "acronym" display of glyphless characters on w32
4931         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
4932         ignore "acronym" substitutes of 1 character for glyphless characters.
4934 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
4936         Add an automated test for let-when-compile
4937         * test/automated/subr-tests.el (let-when-compile): New test.
4939         Add let-when-compile macro instead of using pcase-let
4940         * lisp/subr.el (let-when-compile): New let-like macro that makes its
4941         bindings known to macros like `eval-when-compile' in the body.
4942         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
4943           `let-when-compile'. Also comment out the unused lexical var
4944           `el-kws-re'.
4945         The change greatly improves readability, while providing almost the
4946         same (even shorter) byte code: instead of pre-evaluating 10 variables,
4947         tossing them into a list, and destructuring that list a full screen
4948         page later, the variables are simply bound as they are evaluated,
4949         wrapped individually in `eval-when-compile'.
4951 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4953         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
4954         (package-delete-button-action): New function.
4955         (describe-package-1): Add Delete button.
4957         * lisp/emacs-lisp/package.el: Better dependency description
4958         (package--used-elsewhere-p): New optional arg, ALL, and return
4959         package-desc objects instead of names.
4960         (package-delete): Update accordingly.
4961         (describe-package-1): Describe which packages require the package.
4963 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
4965         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
4966         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
4967         Fix doc-string (Bug#20533).
4969         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
4970         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
4971         (switch-to-buffer): If the selected window is strongly dedicated
4972         to its buffer, signal error before prompting for buffer name.  Handle
4973         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
4974         * doc/lispref/windows.texi (Switching Buffers): Document
4975         `switch-to-buffer-in-dedicated-window'.
4977 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4979         Prefer "this" to “this” in doc strings
4980         This mostly just straightens quotes introduced in my previous patch.
4981         Suggested by Dmitry Gutov in:
4982         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
4983         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
4984         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
4985         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
4986         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
4987         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
4988         Prefer straight double quotes to curved double quotes in doc strings.
4990         Fix minor quoting problems in doc strings
4991         These were glitches regardless of how or whether we tackle the
4992         problem of grave accent in doc strings.
4993         * lisp/calc/calc-aent.el (math-restore-placeholders):
4994         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
4995         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
4996         * lisp/leim/quail/hebrew.el ("hebrew-new")
4997         ("hebrew-biblical-sil"):
4998         * lisp/leim/quail/thai.el ("thai-kesmanee"):
4999         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
5000         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
5001         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
5002         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
5003         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
5004         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
5005         (semantic-tag-components):
5006         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
5007         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
5008         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
5009         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
5010         * lisp/emacs-lisp/generator.el (iter-next):
5011         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
5012         (gnus-article-mode-syntax-table):
5013         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
5014         * lisp/net/soap-client.el (soap-wsdl-get):
5015         * lisp/net/telnet.el (telnet-mode):
5016         * lisp/org/org-compat.el (org-number-sequence):
5017         * lisp/org/org.el (org-remove-highlights-with-change)
5018         (org-structure-template-alist):
5019         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
5020         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
5021         (handwrite-12pt, handwrite-13pt):
5022         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5023         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
5024         * lisp/progmodes/verilog-mode.el (verilog-tool)
5025         (verilog-string-replace-matches, verilog-preprocess)
5026         (verilog-auto-insert-lisp, verilog-auto-insert-last):
5027         * lisp/textmodes/makeinfo.el (makeinfo-options):
5028         * src/font.c (Ffont_spec):
5029         Fix minor quoting problems in doc strings, e.g., missing quote,
5030         ``x'' where `x' was meant, etc.
5031         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
5032         Fix minor quoting problem in other string.
5033         * lisp/leim/quail/ethiopic.el ("ethiopic"):
5034         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
5035         Omit unnecessary quotes.
5036         * lisp/faces.el (set-face-attribute, set-face-underline)
5037         (set-face-inverse-video, x-create-frame-with-faces):
5038         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
5039         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
5040         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
5041         * lisp/net/tramp.el (tramp-methods):
5042         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
5043         * lisp/textmodes/artist.el (artist-ellipse-right-char)
5044         (artist-ellipse-left-char, artist-vaporize-fuzziness)
5045         (artist-spray-chars, artist-mode, artist-replace-string)
5046         (artist-put-pixel, artist-text-see-thru):
5047         * lisp/vc/ediff-util.el (ediff-submit-report):
5048         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
5049         Use double-quotes rather than TeX markup in doc strings.
5050         * lisp/skeleton.el (skeleton-pair-insert-maybe):
5051         Reword to avoid the need for grave accent and apostrophe.
5052         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
5053         Don't use grave and acute accents to quote.
5055 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5057         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
5059 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5061         Try to port new etags tests to MS-Windows
5062         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5063         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5064         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5065         Adjust to test-case changes below.
5066         * test/etags/Makefile (CSRC): Remove dostorture.c.
5067         Whatever it was trying to test, wasn't working portably.
5068         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
5069         just a line-ending problem.
5070         * test/etags/c-src/dostorture.c: Remove.
5071         * test/etags/cp-src/c.C: Remove stray CR.
5072         * test/etags/html-src/algrthms.html: Remove trailing CRs.
5073         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
5074         but if someone edits it later it should stay UTF-8-compatible.
5076 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
5078         Fix display of overlapping window-specific overlays
5079         * src/keyboard.c (adjust_point_for_property): When adjusting point
5080         due to display strings, ignore overlays that are specific to
5081         windows other than the currently selected one.
5082         * src/xdisp.c (handle_single_display_spec): If the display
5083         property comes from an overlay, arrange for buffer iteration to
5084         resume only after the end of that overlay.  (Bug#20607)
5086 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
5088         New command icomplete-force-complete-and-exit
5089         * lisp/icomplete.el (icomplete-force-complete-and-exit):
5090         New command
5091         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
5092         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
5093         (icomplete-minibuffer-map): Bind C-j to it.
5094         (icomplete-forward-completions, icomplete-backward-completions):
5095         Mention the new command in the docstring.
5096         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
5097         the previous fix for bug#17545.
5099 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
5101         Fix last commit
5103         In Elisp manual explain how to override window manager positioning (Bug#20552)
5104         * doc/lispref/frames.texi (Position Parameters): Give example of
5105         how to override a window manager positioning decision.
5107         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
5108         * src/frame.c (Fdelete_frame): In doc-string mention that frame
5109         can't be deleted if it has a surrogate minibuffer.
5110         * doc/lispref/frames.texi (Minibuffers and Frames)
5111         (Deleting Frames): Explain "surrogate minibuffer frames".
5113         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
5114         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
5116 2015-05-18  Glenn Morris  <rgm@gnu.org>
5118         Add option to ignore commit lines matching a pattern in ChangeLog.
5119         * build-aux/gitlog-to-changelog: Add --ignore-line option.
5120         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
5122 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
5124         Don't skip new etags tests on non-UTF-8 hosts
5125         Problem reported by Eli Zaretskii for MS-Windows.
5126         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
5127         (LC_ALL): Set to C if the current locale isn't UTF-8.
5128         (.PHONY): Remove ediff_1 thru ediff_5.
5129         (check): Always run.
5131 2015-05-18  Glenn Morris  <rgm@gnu.org>
5133         * lisp/calculator.el (calculator-funcall):
5134         * lisp/textmodes/artist.el (artist-spray-random-points):
5135         Use standard degree/radian conversion utilities.
5137         Further lisp-complete-symbol related cleanup.
5138         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
5139         Unadvertise non-functional argument.  Replace obsolete alias.
5141 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5143         Add a test case for Maven warning ouput
5144         * test/automated/compile-tests.el
5145         (compile-tests--test-regexps-data): Add a case for Maven warning
5146         ouput.
5147         (compile--test-error-line): Check the compilation message type, if
5148         it's specified in the test data.
5150 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
5152         Update Maven compilation-mode entry to distinguish warnings
5153         * lisp/progmodes/compile.el
5154         (compilation-error-regexp-alist-alist): Update Maven entry to
5155         distinguish warnings (bug#20556).
5157 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
5159         * test/automated/sgml-mode-tests.el: New file.
5161 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5163         Improve handling of the first Git revision
5164         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
5165         there's no next entry, delete until the end of the buffer.
5166         (log-view-end-of-defun-1): Stop at eob.
5167         * lisp/vc/vc-annotate.el
5168         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
5169         when previous-revision is nil.
5170         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
5171         with `--' to avoid ambiguity.
5172         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
5173         returned revision string.
5174         (vc-git-annotate-time): Expect `^' before the first revision.
5175         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
5176         REV1 is nil, and REV2 is not.
5177         * lisp/vc/vc.el: Update the description of the `diff' function.
5179 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
5181         Allow checkdoc to be called in batch
5182         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
5183           is non-nil, echo the error with `warn'.
5184         How it can be used in -batch:
5185         (with-current-buffer (find-file "checkdoc.el")
5186           (checkdoc-current-buffer t))
5188 2015-05-18  Glenn Morris  <rgm@gnu.org>
5190         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
5192 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5194         * admin/notes/unicode: New section "binary files".
5196         Change new etags test to use UTF-8 encoding
5197         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5198         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5199         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5200         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
5201         * test/etags/html-src/softwarelibero.html:
5202         Switch to UTF-8 encoding.
5203         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
5204         Remove Makefile, as it's too incestuous to have the test input
5205         include the build procedure.
5206         (UTF8_LOCALE, UTF_ENCODING): New macros.
5207         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
5208         (check): Skip if not UTF-8.
5209         (.PHONY): New rule.
5210         (FRC): Remove, as superseded by .PHONY.  All uses removed.
5211         (regexfile): Prefer printf to echo when outputting oddball chars.
5212         (.PRECIOUS): Remove, as these files are not built.
5214         Rename 'foo-gzipped' to 'foo.gz'
5215         * test/automated/data/decompress/foo.gz:
5216         Rename from test/automated/data/decompress/foo-gzipped,
5217         to make it easier for other tools to tell that it's compressed.
5218         * test/automated/zlib-tests.el (zlib--decompress):
5219         Adjust to renamed file.
5221 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
5223         Set up default-directory
5224         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
5225         binding for `v'.
5226         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
5227         appropriate value for default-directory.
5229 2015-05-17  Samer Masterson  <samer@samertm.com>
5231         * lisp/eshell/em-term.el (eshell-term-sentinel):
5232         No-op by default, only kills term buffer if
5233         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
5234         (eshell-destroy-buffer-when-process-dies): New custom to preserve
5235         previous behavior.
5237         eshell: Introduce new buffer syntax
5238         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
5239         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
5240         needed (Bug#19319).
5241         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
5242         (eshell-get-target): Remove shorthand-specific code.
5243         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
5244         '#<buffer-name>'.
5246 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5248         Merge branch 'master' into cairo
5250 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5252         Merge branch 'master' into cairo
5254         Add PBM support for cairo.
5255         * src/image.c (xcolor_to_argb32): New function.
5256         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5257         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5258         XImagePtr if ! USE_CAIRO.
5259         (pbm_load): Add cairo support.
5261 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5263         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5264         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5265         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5266         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5267         x_free_cr_resources.
5269         Handle specified bg in images.  Use generic libpng code for PNG:s.
5270         * src/image.c (get_spec_bg_or_alpha_as_argb)
5271         (create_cairo_image_surface): New functions when USE_CAIRO.
5272         (xpm_load): Call the above functions.  Handle XPM without mask
5273         when USE_CAIRO.
5274         (png_load_body): Handle USE_CAIRO case.
5275         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5276         instead.
5277         (jpeg_load_body): Call create_cairo_image_surface.
5278         (gif_load, svg_load_image): Handle specified background, call
5279         create_cairo_image_surface.
5280         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5282 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5284         Support GIF and Tiff with cairo.
5285         * configure.ac: Allow jpeg with cairo.
5286         Allow tiff and gif with cairo.
5287         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5288         (tiff_load): Create cairo image surface if USE_CAIRO.
5289         (gif_load): Ditto.
5291         Support JPEG with USE_CAIRO.
5292         * configure.ac: Allow jpeg with cairo.
5293         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5295 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5297         Support RSVG and cairo.
5298         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5299         * src/dispextern.h (struct image): add cr_data2 if cairo.
5300         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5301         (x_clear_image): Free cr_data and cr_data2 if set.
5302         (xpm_load): Assign data to cr_data2.
5303         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5305 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5307         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5308         * configure.ac (HAVE_RSVG): Move after cairo.
5309         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5310         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5311         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5312         don't return early.
5313         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5314         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5315         and create a surface.
5317         Tool tips for menus did not show any text.
5318         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5319         tip frames, the geometry may be wrong.
5321         Merge branch 'master' into cairo, fixes tooltips not shown.
5323         Merge branch 'master' into cairo
5325         Add CAIRO_CFLAGS to lwlib/Makefile.in
5326         * Makefile.in (CAIRO_CFLAGS): Add.
5328 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5330         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5332 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5334         Draw outermost line using black relief and erase corners also for cairo.
5335         * xterm.c [USE_CAIRO]: Include math.h.
5336         (enum corners) [USE_CAIRO]: New enum.
5337         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5338         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5339         than 1, draw the outermost line using the black relief.
5341         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5343 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5345         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5347         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5349         Use int instead of unsigned int for width and height args.
5350         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5351         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5352         width and height args.
5354         Modernize k&r cairo-related function declarations.
5355         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5356         (xg_print_frames_dialog): Modernize k&r declarations.
5357         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5358         (Fx_print_frames_dialog): Modernize k&r declarations.
5359         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5360         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5361         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5362         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5363         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5364         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5365         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5366         (x_clear_area): Modernize k&r declarations.
5368         Implement wave-style variant of underlining for cairo.
5369         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5370         (x_draw_underwave) [USE_CAIRO]: Use it.
5372         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5374 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5376         Fix fringe bitmap initialization for cairo.
5377         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5378         cairo image surface.
5379         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5381 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5383         Add cairo drawing.
5384         * configure.ac (with-cairo): New option.
5385         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5386         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5387         Output "Does Emacs use cairo?".
5388         * lisp/version.el (emacs-version): Add cairo version.
5389         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5390         (FONT_OBJ): Add comment about ftcrfont.
5391         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5392         (LIBES): Add CAIRO_LIBS.
5393         * src/dispextern.h (struct image): Add cr_data for cairo.
5394         (x_cr_init_fringe): Declare.
5395         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5396         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5397         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5398         with w32_init_fringe.
5399         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5400         * src/ftfont.c (ftfont_info_size); New global variable.
5401         (ftfont_open2): New extern function almost the same as old ftfont_open,
5402         but takes the font_object as argument.
5403         (ftfont_open): Build font object and call ftfont_open2.
5404         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5405         * src/gtkutil.c (xg_clear_under_internal_border)
5406         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5407         queue_draw if not cairo.  Change args to x_clear_area.
5408         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5409         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5410         (xg_print_frames_dialog): New functions for printing.
5411         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5412         (xg_print_frames_dialog): Declare.
5413         * src/image.c: Add defined (USE_CAIRO) for PNG.
5414         Add !defined USE_CAIRO for W32 PNG code.
5415         (x_clear_image): If cairo, destroy the surface in cr_data.
5416         (png_load): Add new cairo compatible implementation.
5417         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5418         * src/xfns.c: New section Printing.
5419         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5420         (x-print-frames-dialog): New printing functions.
5421         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5422         cairo.
5423         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5424         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5425         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5426         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5427         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5428         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5429         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5430         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5431         Declare.
5432         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5433         (max_fringe_bmp, fringe_bmp): New variables.
5434         (x_gc_get_ext_data, x_extension_initialize)
5435         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5436         (x_set_cr_source_with_gc_foreground)
5437         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5438         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5439         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5440         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5441         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5442         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5443         (x_update_begin): Create cairo surface if needed.
5444         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5445         (x_update_end): Paint cairo drawing surface to xlib surface.
5446         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5447         arguments to x_clear_area.
5448         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5449         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5450         of XSetClipMask.
5451         (x_set_glyph_string_clipping)
5452         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5453         instead of XSetClipRectangles.
5454         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5455         x_fill_rectangle instead of XFillRectangle.
5456         (x_draw_glyph_string_foreground)
5457         (x_draw_composite_glyph_string_foreground)
5458         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5459         of XDrawRectangle.
5460         (x_draw_relief_rect): Add code for USE_CAIRO.
5461         Call x_reset_clip_rectangles instead of XSetClipMask.
5462         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5463         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5464         instead of XSetClipMask.
5465         (x_draw_image_foreground, x_draw_image_foreground_1):
5466         x_draw_rectangle instead of XDrawRectangle.
5467         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5468         XFillRectangle.
5469         (x_draw_image_glyph_string): If img has cr_data, use it as
5470         a cairo surface.
5471         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
5472         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
5473         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
5474         x_reset_clip_rectangles instead of XSetClipMask.
5475         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
5476         (x_clear_area1): New function that calls XClearArea.
5477         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
5478         non-cairo.
5479         (x_clear_frame): x_clear_window instead of XClearWindow.
5480         (x_scroll_run): Set frame garbaged if cairo.
5481         (XTmouse_position): Initialize *part to 0.
5482         (x_scroll_bar_create): Adjust arguments to x_clear_area.
5483         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
5484         x_fill_rectangle instead of XFillRectangle.
5485         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
5486         arguments to x_clear_area.
5487         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
5488         (handle_one_xevent): Adjust arguments to x_clear_area.
5489         Destroy cairo surface for frame if ConfigureNotify.
5490         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
5491         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
5492         x_reset_clip_rectangles instead of XSetClipMask.
5493         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
5494         x_reset_clip_rectangles instead of XSetClipMask.
5495         (x_clear_frame_area): Adjust arguments to x_clear_area.
5496         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
5497         (x_term_init): Call x_extension_initialize if cairo.
5498         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
5499         x_cr_destroy_fringe_bitmap for cairo.
5500         (x_initialize): Call x_cr_init_fringe for cairo.
5501         * src/xterm.h: Add include of cairo header files.
5502         (x_bitmap_record): Add img if cairo.
5503         (x_gc_ext_data): New struct for cairo.
5504         (x_display_info): Add ext_codes for cairo.
5505         (x_output): Add cr_context and cr_surface for cairo.
5506         (x_clear_area): Change arguments from Display*/Window to frame pointer.
5507         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
5508         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
5509         (x_cr_draw_frame, x_cr_export_frames): Declare.
5511 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
5513         Fix integer-valued `mouse-highlight' (Bug#20590)
5514         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
5516 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
5518         MS-Windows followup for ASCIIfication of curved quotes
5519         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
5520         test for curved quotes being displayable, after switching the
5521         terminal encoding.  (Bug#20545)
5523 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5525         Spelling fixes
5527 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5529         Add comment that x_shift_glyphs_for_insert is never called.
5530         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
5531         comment that this function is never called.
5533 2015-05-16  Glenn Morris  <rgm@gnu.org>
5535         * src/lisp.mk: Remove from repository and generate at build-time.
5536         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
5537         (shortlisp_filter): New variable.
5538         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
5539         (distclean): Remove lisp.mk.
5540         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
5541         * lisp/loadup.el: Tweak layout to make it easier to parse.
5542         * make-dist: Do not distribute src/lisp.mk.
5544 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5546         Display shorter dates in Git annotate output
5547         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
5548         format (when not overridden with vc-git-annotate-switches).
5549         (vc-git-annotate-time): Support the short format, as well as ISO
5550         8601 that has been used until now (bug#5428).
5552 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5554         ASCIIfy curved quotes on displays lacking them
5555         * lisp/international/mule-cmds.el (set-locale-environment):
5556         If curved quotes don't work, display straight ASCII approximations
5557         (Bug#20545).
5559 2015-05-16  Glenn Morris  <rgm@gnu.org>
5561         Small src/Makefile simplification.
5562         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
5563         * src/Makefile.in (lisp): Derive from shortlisp.
5564         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
5566 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
5568         * lisp/help-mode.el (help-go-forward): Doc fix.
5569         (Bug#20577)
5571         * doc/lispref/debugging.texi (Profiling): Improve indexing.
5572         (Bug#20576)
5574 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5576         Use `unless' to have one fewer `not'
5577         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
5578         have one fewer `not'.
5580         Remove redundant :group declarations from vc-git.el
5581         * lisp/vc/vc-git.el (vc-git-diff-switches)
5582         (vc-git-annotate-switches, vc-git-resolve-conflicts)
5583         (vc-git-program, vc-git-root-log-format): Remove the redundant
5584         :group declarations.
5586 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
5588         Removes the predicate from lisp-complete-symbol (Bug#20456)
5589         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
5590         and remove it from the docstring.
5592 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5594         Add new option vc-git-resolve-conflicts
5595         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
5596         (vc-git-find-file-hook): Add to after-save-hook only when the
5597         above is non-nil.
5598         (vc-git-resolve-when-done): Update to honor the new variable.
5599         (Bug#20292)
5601 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
5603         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
5604         (tabulated-list-init-header): Document new behavior.
5605         (tabulated-list-print-fake-header): No nothing if
5606         `tabulated-list--header-string' is nil.
5607         (tabulated-list--header-string): Add a docstring.
5608         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5609         * etc/NEWS: Document it.
5611 2015-05-15  Leo Liu  <sdl.web@gmail.com>
5613         Revert "Fix cps--gensym"
5614         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
5615           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
5617 2015-05-15  Glenn Morris  <rgm@gnu.org>
5619         Replace AC_SUBST_FILE in configure with include in Makefiles.
5620         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
5621         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
5622         (AUTO_DEPEND): New output variable.
5623         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
5624         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5625         (lwlib_deps_frag): Replace by conditional include.
5626         * lwlib/autodeps.mk: Remove file.
5627         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
5628         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5629         (oldxmenu_deps_frag): Replace by conditional include.
5630         * oldXMenu/autodeps.mk: Remove file.
5631         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
5632         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5633         (lisp_frag): Replace by an include.
5634         (deps_frag): Replace by conditional include.
5635         * src/autodeps.mk: Remove file.
5637         Tweak japanese.el's loading of dependencies.
5638         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
5639         * lisp/language/japanese.el: Use require rather than load.
5640         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5641         Provide a feature.
5642         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
5643         Provide a feature in the generated file.
5645 2015-05-15  Jan D  <jan.h.d@swipnet.se>
5647         Fix NS warnings.
5648         * nsmenu.m (ns_popup_dialog)
5649         * nsimage.m (initFromXBM:width:height:fg:bg:)
5650         * nsfns.m (Fx_create_frame): Remove unused variables.
5651         (Fns_read_file_name): Initialize fname, remove ret.
5652         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
5653         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
5654         variable.
5655         (init): Add parantesis in if.
5656         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
5658 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5660         Fix a enum conversion warning in macfont.m
5661         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
5662         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
5664 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
5666         Support de-alt dictionary with Aspell.
5667         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
5668         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
5670 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5672         cus-start.el: Add ns-confirm-quit.
5673         * cus-start.el: Add ns-confirm-quit.
5675         Fix warnings on OSX 10.10.
5676         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
5677         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
5678         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
5679         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
5680         * nsimage.m (allocInitFromFile, setPixmapData): Only call
5681         setScalesWhenResized for OSX < 10.6.
5682         * nsterm.h (EmacsScroller): Declare scrollerWidth.
5683         * nsterm.m (ns_copy_bits): New function that does not use deprecated
5684         NSCopyBits.
5685         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
5686         (runAlertPanel): New function.
5687         (applicationShouldTerminate:): Call runAlertPanel.
5688         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
5689         for OSX < 10.10.
5690         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
5691         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
5692         (draggingEntered:): Returns NSDragOperation.
5693         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
5695 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5697         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
5698         (package--init-file-ensured): New variable.
5699         (package-initialize, package--ensure-init-file): Use it.
5701 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5703         Honor :fore/background for XBM on NS (Bug#14969).
5704         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
5705         initFromXBM takes bg, fg args, remove flip arg.
5706         (ns_image_from_XBM): Add bg, fg args.
5707         * image.c (x_create_bitmap_from_data)
5708         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
5709         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
5710         Remove flip arg.
5711         (initFromSkipXBM): Move code to initFromXBM.
5712         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
5713         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
5714         false.
5715         Remove bit flipping (bitPat, swt), generated incorrect images when
5716         width/height wasn't a multiple of 8.
5717         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
5718         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
5719         flip arg.
5721 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5723         * lisp/emacs-lisp/package.el: Be more careful with the init file
5724         (package--ensure-init-file): Check that user-init-file is set,
5725         exists, is readable, and is writable.  (Bug#20584)
5726         Also expand the docstring.
5728 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
5730         Sync with upstream verilog-mode revision 6232468
5731         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
5732         (verilog-highlight-grouping-keywords): Fix use of face when
5733         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
5734         Pompa.
5735         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
5736         parent is reset, bug906. Reported by Ken Schmidt.
5737         (verilog-auto-inout-module): Add fourth regexp argument to
5738         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
5739         bug856. Reported by John Tillema.
5740         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
5741         modport if signal attachment is itself a modport.  Reported by
5742         Matthew Lovell.
5743         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
5744         always_comb and always_latch, bug844.  Reported by Greg Hilton.
5745         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
5746         with many curly-bracket pairs, bug663.
5747         (verilog-set-auto-endcomments): Fix end comments for functions of
5748         type void, etc.  Reported by Alex Reed.
5749         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
5750         caused by indent-line-to deleting tabls pre 24.5.
5751         (verilog-nameable-item-re): Fix nameable items that can have an
5752         end-identifier to include endchecker, endgroup, endprogram,
5753         endproperty, and endsequence.  Reported by Alex Reed.
5754         (verilog-label-be): When auto-commenting a buffer, consider
5755         auto-comments on all known keywords (not just a subset thereof).
5756         Reported by Alex Reed.
5757         (verilog-auto-end-comment-lines-re)
5758         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
5759         Automatically comment property/endproperty blocks to match other
5760         similar blocks like sequence/endsequence, function/endfunction,
5761         etc. Reported by Alex Reed.
5762         (verilog-set-auto-endcomments): Detect the function- or task-name
5763         when auto-commenting blocks that lack an explicit
5764         portlist. Reported by Alex Reed.
5765         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
5766         allow post-AUTO user fixups, bug826. Reported by Dennis
5767         Muhlestein.
5768         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
5769         is nil, fix indenting initial/final to match always statements,
5770         bug825. Reported by Tim Clapp.
5771         (verilog-extended-complete-re): Fix indentation of DPI-C imports
5772         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
5773         Mao and Jason Forkey.
5774         (verilog-read-decls): Fix parsing typed interfaces.  Fix
5775         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
5776         Fix localparam not being ignored in AUTOINSTPARAM,
5777         bug889. Reported by Shannon Hill.
5778         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
5779         bug793.  Reported by Pierre-David Pfister.
5780         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
5781         verilog-auto-arg-format to support newlines in AUTOARG. Reported
5782         by Jie Xiao.
5783         (verilog-batch-execute-func): Do not batch re-auto files loaded by
5784         Local Variables. Fix printing "no changes to be saved" with
5785         verilog-batch. Reported by Dan Dever.
5786         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
5787         interface-only modules, bug721.  Reported by Dean Hoyt.
5788         Author: Alex Reed <acreed4@gmail.com>
5789         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
5790         treat '<keyword>:<identifier>' as the start of a labeled
5791         statement, bug905.  Reported by Enzo Chi.
5792         (verilog-directive-re, verilog-compiler-directives)
5793         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
5794         directives (plus some extras) when determining indentation, bug
5795         901.  Reported by Bernd Beuster.
5796         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
5797         iff expression doesn't start with word-character, bug900.
5798         (verilog-optional-signed-range-re, verilog-optional-signed-re):
5799         Fix incorrect indentation/alignment of unsigned declarations,
5800         bug897.
5801         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
5802         always constructs, bug895.
5803         (verilog-calc-1): Fix verilog-mode constraint indentation,
5804         bug324. Reported by Eric Mastromarchi.
5805         (verilog-beg-of-statement): Fix indenting for some forms of
5806         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
5807         continued assignment incorrect if first line ends with ']',
5808         bug437. Reported by Dan Dever.  Fix indention of cover inside an
5809         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
5810         blocks, bug842.
5811         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
5812         bug859. Reported by Kaushal Modi.
5813         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
5814         (verilog-backward-token): Fix indenting sensitivity lists with
5815         named events, bug840.  Reed.
5816         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
5817         nil not honoring 'forever', 'foreach', and 'do' keywords.
5819 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5821         Check for invalid GTK+ monitor scales
5822         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
5823         INT_MAX for too-large scales.  All callers changed to assume the
5824         result is valid (Bug#20432).
5825         (xg_frame_set_char_size, xg_update_scrollbar_pos):
5826         Calculate scale only if needed.
5827         show ASCII approximations instead.
5829 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
5831         Fix daemon crashes when linum-mode is turned on early on
5832         * src/window.c (Fwindow_end): Don't try calling display engine
5833         functions on initial-frame frame.  (Bug#20565)
5835         Fix selective diff browsing in Ediff
5836         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
5837         beginning of the region before searching for the
5838         ediff-regexp-focus-* regexps.  (Bug#20568)
5840 2015-05-14  Jan D  <jan.h.d@swipnet.se>
5842         Fixes Bug#20142.
5843         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
5844         in the main loop, even for Gtk 3 (Bug#20142).
5846         Don't access display after i/o error (Bug#19147).
5847         * xterm.c (x_connection_closed): Add third arg ioerror.
5848         If ioerror, set display to 0 (Bug#19147).
5849         (x_error_quitter): Call x_connection_closed with third arg false.
5850         (x_io_error_quitter): Call x_connection_closed with third arg true.
5852         Handle GTK_SCALE, fixes Bug#20432.
5853         * gtkutil.c (xg_get_gdk_scale): New function.
5854         (xg_frame_set_char_size)
5855         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
5856         (xg_get_default_scrollbar_height)
5857         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
5858         when setting sizes (Bug#20432).
5860 2015-05-13  Leo Liu  <sdl.web@gmail.com>
5862         Fix cps--gensym
5863         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
5865 2015-05-13  Glenn Morris  <rgm@gnu.org>
5867         Fix bootstrap (void function cl-member).
5868         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
5869         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
5871 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5873         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
5874         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
5875         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
5876         Avoid defalias for closures which are not immutable.
5877         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
5878         dispatchers table with various entries.
5879         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
5880         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
5882 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
5884         Improve tagging of C bindings in DEFVAR_*
5885         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
5886         from DEFVAR_*.
5888 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5890         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
5892 2015-05-12  Glenn Morris  <rgm@gnu.org>
5894         * lisp/progmodes/tcl.el (tcl-filter):
5895         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
5897         Add basic VC push support.
5898         * lisp/vc/vc.el (vc-push): New autoloaded command.
5899         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
5900         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
5901         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
5902         (vc-bzr-push): New.
5903         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
5904         (vc-git-pull): Reimplement using vc-git--pushpull.
5905         (vc-git-push): New.
5906         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
5907         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
5908         * doc/emacs/maintaining.texi (Pulling / Pushing):
5909         Rename from "VC Pull".  Mention pushing.
5910         (VC With A Merging VCS, VC Change Log): Update xrefs.
5911         (Branches): Update menu.
5912         * doc/emacs/emacs.texi: Update menu.
5913         * etc/NEWS: Mention this.
5915 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
5917         Improve the seq pcase pattern and the `seq-let' macro
5918         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
5919         object is a sequence, and binds each element of ARGS to the
5920         corresponding element of the sequence.
5922 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
5924         Fix tags created from DEFVAR_* declarations in C
5925         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
5926         to make tags extracted from DEFVAR_* declarations more accurate.
5928         Add a test suite for etags
5929         * test/etags/: New test suite, adapted from
5930         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
5931         whose original author is Francesco Potortì <pot@gnu.org>.
5933         Fix tagging of symbols in C enumerations
5934         * lib-src/etags.c (consider_token): Don't tag symbols in
5935         expressions that assign values to enum constants.  See
5936         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
5937         for details.
5938         (C_entries): Reset fvdef to fvnone after processing a preprocessor
5939         conditional and after a comma outside of parentheses.
5941 2015-05-12  Glenn Morris  <rgm@gnu.org>
5943         * lisp/url/url-handlers.el (url-file-name-completion)
5944         (url-file-name-all-completions): Silence compiler.
5946         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
5948         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
5950 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
5952         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
5953         (cl--generic-mandatory-args): Remove.
5954         (cl--generic-split-args): New function.
5955         (cl-generic-define, cl--generic-lambda): Use it.
5956         (cl-generic-define-method): Use it as well, and add support for
5957         context args.
5958         (cl--generic-get-dispatcher): Handle &context dispatch.
5959         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
5960         (cl--generic-dispatchers): Pre-fill.
5961         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
5963 2015-05-11  Glenn Morris  <rgm@gnu.org>
5965         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
5967 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5969         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
5970         * lisp/term/rxvt.el: Require term/xterm.
5971         (rxvt-function-map): Use xterm-rxvt-function-map.
5972         (rxvt-standard-colors): Move before first use.
5973         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
5974         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
5975         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
5976         Move shared bindings between rxvt and xterm to it.
5977         (xterm-function-map): Use it.  Move the xterm-paste binding to
5978         xterm-rxvt-function-map (bug#20444).
5979         (xterm-standard-colors): Move before first use.
5980         (xterm--push-map): New function.
5981         (xterm-register-default-colors): Take standard colors as argument.
5982         (terminal-init-xterm): Use it.  Adjust call to
5983         xterm-register-default-colors.
5985 2015-05-11  Glenn Morris  <rgm@gnu.org>
5987         * lisp/term/x-win.el: Quieten --without-x compilation.
5988         (x-own-selection-internal, x-disown-selection-internal)
5989         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
5990         Declare.
5992         * Makefile.in (emacslog): Remove srcdir.
5993         (ChangeLog): Update for the above.
5995 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5997         Spelling fix
5999 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6001         python.el: better limit for looking-back calls
6002         * lisp/progmodes/python.el (python-shell-accept-process-output):
6003         Use last comint prompt start as limit for looking-back.
6005 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6007         CEDET (srecode-insert-fcn): Fix use of oref on a class
6008         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
6009         a class.  Reported by Pierre Lorenzon.
6010         (srecode-template-inserter-point): Remove declaration.
6012         CEDET (srecode-create-dictionary): Avoid obsolete object name
6013         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
6014         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
6016 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6018         C-x 8 shorthands for curved quotes, Euro, etc.
6019         Although C-x 8 lets you insert arbitrary Unicode characters,
6020         it's awkward to use this to insert commonly used symbols such as curved
6021         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
6022         characters commonly found in English text and in basic math.
6023         For example, assuming the Alt key works on your keyboard and iso-transl
6024         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
6025         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
6026         (Bug#20499)
6027         * doc/emacs/mule.texi (Unibyte Mode):
6028         A few other printing characters now work too.
6029         * etc/NEWS: Document this.
6030         * lisp/international/iso-transl.el (iso-transl-char-map):
6031         Also support the following characters:
6032         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
6034 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6036         Add xref-find-regexp
6037         * lisp/progmodes/xref.el (xref-find-function): Describe the
6038         `matches' action.
6039         (xref-find-regexp): New command, using it.
6040         (xref-collect-references): Rename to xref-collect-matches.
6041         (xref--collect-reference): Rename to xref--collect-match.
6042         (xref-collect-matches, xref--collect-match): Accept new argument,
6043         KIND.  Update accordingly.
6044         (xref--regexp-to-extended): New function.
6045         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
6046         `matches' action.
6047         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
6048         * lisp/progmodes/etags.el (etags-xref-find):
6049         Support the `matches' action.
6050         (etags--xref-find-matches): New function.
6052 2015-05-10  Glenn Morris  <rgm@gnu.org>
6054         * Makefile.in: Fixes for recent change-history changes.
6055         (change-history-nocommit): Update footer regexp.
6056         Ensure output script stays executable.
6058 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
6060         New version of `seq-let' based on a pcase pattern
6061         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
6062         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
6064 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
6066         Add basic HTML5 tags and a template
6067         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
6068         (html-tag-alist): Add HTML5 tags.
6069         (html-tag-help): Add new tags descriptions.
6070         (html-navigational-links): Template for nav links.
6071         (html-html5-template): Template for a HTML5 page.
6073 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6075         semantic/symref/grep: Don't use word boundaries
6076         * lisp/cedet/semantic/symref/grep.el
6077         (semantic-symref-perform-search): Instead of wrapping input in
6078         word boundaries, check that the characters before and after are
6079         not word constituents.
6081         semantic/symref/grep: Support regexp search
6082         * lisp/cedet/semantic/symref.el
6083         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
6084         the search type is regexp.
6085         * lisp/cedet/semantic/symref/grep.el
6086         (semantic-symref-perform-search): Support the regexp search type.
6087         Pass -E to Grep when it's used.
6089         semantic-symref-regexp: Allow to input an arbitrary string
6090         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
6091         Allow to input an arbitrary string interactively.
6093         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
6094         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6095         Remove tag-symbol-match-p from the default value
6096         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
6098         Declare find-tag obsolete
6099         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
6100         xref-find-definitions.
6102 2015-05-10  Jan D  <jan.h.d@swipnet.se>
6104         Draw composite string correctly (Bug#20537).
6105         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
6106         (ns_draw_glyph_string): Call it (Bug#20537).
6108 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
6110         Avoid infloop in ERC
6111         * lisp/simple.el (line-move-to-column): Ignore field boundaries
6112         while computing line beginning position.  (Bug#20498)
6114 2015-05-08  Glenn Morris  <rgm@gnu.org>
6116         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
6117         * build-aux/gitlog-to-emacslog: Check called from right directory.
6118         (srcprefix): Remove.
6120         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
6121         * Makefile.in (ChangeLog): No longer pass "distprefix".
6122         * make-dist: Update "make ChangeLog" syntax for the above change.
6124         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
6125         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
6127         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
6129         Add command-line option-parsing to gitlog-to-emacslog.
6130         * build-aux/gitlog-to-emacslog: Add command-line options.
6131         By default, refuse to remove an existing output file.
6132         * Makefile.in (CHANGELOG): Update default.
6133         (ChangeLog): Do not test for existing file.
6134         (change-history-nocommit): Ensure temp file does not exist.
6136         Quieten --without-x compilation.
6137         * lisp/term/common-win.el: Provide a feature.
6138         * lisp/term/x-win.el (term/common-win): Require it.
6140         * lisp/dired-aux.el (dired-do-print): Require lpr.
6142         Quieten compilation, eg in --without-x builds.
6143         * lisp/dired-aux.el (lpr-printer-switch):
6144         * lisp/frame.el (tool-bar-height):
6145         * lisp/linum.el (font-info):
6146         * lisp/window.el (font-info, overflow-newline-into-fringe)
6147         (tool-bar-height):
6148         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
6149         * lisp/gnus/gnus-util.el (iswitchb-mode):
6150         * lisp/mail/rmailmm.el (libxml-parse-html-region):
6151         * lisp/net/nsm.el (gnutls-peer-status)
6152         (gnutls-peer-status-warning-describe):
6153         * lisp/net/shr.el (libxml-parse-xml-region):
6154         * lisp/url/url-http.el (gnutls-peer-status): Declare.
6156 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6158         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
6159         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
6160         `subclass' since they're never called with a class.
6161         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
6162         srecode-dictionary-child-p.
6164 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6166         help--binding-locus: Document argument POSITION.
6167         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
6169 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6171         Merge from gnulib.
6172         * doc/misc/texinfo.tex: Get latest version.
6174 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
6176         ffap.el (ffap-read-file-or-url): Fix completing-read call
6177         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
6178           `completing-read' should be a symbol.
6180 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
6182         Verify file modifications by other programs
6183         * src/filelock.c (lock_file): Check whether the file was modified
6184         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
6186         Fix keyboard macros that include function keys
6187         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
6188         keys in the macro before returning.  (Bug#20454)
6190 2015-05-08  Glenn Morris  <rgm@gnu.org>
6192         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
6193         "Copyright-paperwork-exempt".  (Bug#20324)
6195         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
6196         (log-edit-rewrite-tiny-change): New variable.
6197         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
6198         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
6199         * etc/NEWS: Mention this.
6201         * lisp/calc/calc.el (math-zerop): Declare.
6203         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
6205 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6207         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
6208         Support the case when BINDINGS is a single tuple.  (Bug#20525)
6210         * etc/NEWS: Fix typo in commit 14bb519
6212 2015-05-07  Jan D  <jan.h.d@swipnet.se>
6214         Warn for multiple display crash for all Gtk+ versions.
6215         * configure.ac: Warn for multiple display crash for all Gtk+
6216         versions.  Output URL to Gtk+ bug (Bug#20452).
6218         ns-win.el (ns-paste-secondary): Use gui-get-selection.
6219         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
6221 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6223         * lisp/emacs-lisp/package.el: New "external" package status
6224         An external package is any installed package that's not built-in
6225         and not from `package-user-dir', which usually means it's from an
6226         entry in `package-directory-list'.  They are treated much like
6227         built-in packages, in that they cannot be through the Package Menu
6228         deleted and are not considered for upgrades.
6229         (package-desc-status): Identify if a package is installed outside
6230         `package-user-dir'.
6231         (package-menu--print-info-simple)
6232         (package-menu--status-predicate): Add support for it.
6233         * etc/NEWS: Document it.
6235 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6237         * lisp/mail/rmail.el: Use lexical-binding
6238         (rmail-bury): Remove unused var `buffer-to-bury'.
6239         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
6240         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
6241         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
6242         (rmail-insert-inbox-text): Remove unused var `movemail'.
6243         (rmail-add-mbox-headers): Remove unused var `limit'.
6244         (rmail-undelete-previous-message): Remove unused var `value'.
6245         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6246         `resent-reply-to'.
6247         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6248         (rmail-restore-desktop-buffer): Rename arguments.
6250 2015-05-06  Glenn Morris  <rgm@gnu.org>
6252         * Makefile.in (change-history-commit): Add missing piece of previous.
6254         Avoid unnecessary bumping of Makefile.in's timestamp.
6255         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6256         (emacslog): New variable.
6257         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6258         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6259         (change-history-nocommit): Store hash in $emacslog.
6260         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6261         * admin/update_autogen (changelog_files): Update for the above.
6263         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6264         (CHANGELOG): New variable.
6265         (no-ChangeLog): Remove.
6266         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6267         (change-history-nocommit): Use a temp file rather than insisting
6268         on deletion of any existing "ChangeLog".
6270         * build-aux/gitlog-to-emacslog: Allow specification of output.
6272         * admin/update_autogen: Add option to update ChangeLog.
6273         (usage): Mention -H.
6274         (changelog_flag, changelog_n, changelog_files): New variables.
6275         (main): Check for -H, and maybe run change-history-nocommit.
6277 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6279         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6281         (define-modify-macro): Make sure cl--arglist-args is defined
6282         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6283         cl--arglist-args is defined (bug#20517).
6285 2015-05-06  Glenn Morris  <rgm@gnu.org>
6287         * Makefile.in (change-history-nocommit): New.
6289 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6291         Only cancel timer when it is non-nil
6292         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6293         timer when it is non-nil
6294         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6296 2015-05-06  Glenn Morris  <rgm@gnu.org>
6298         Quieten cedet compilation
6299         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6300         Invert fboundp test to quieten on current Emacs.
6301         * lisp/cedet/ede/config.el (ede-shell-run-something)
6302         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6303         (semanticdb-refresh-table): Declare.
6304         (ede-preprocessor-map): Require semantic/db.
6306         Quieten cc-mode compilation
6307         * lisp/progmodes/cc-awk.el (c-forward-sws):
6308         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6309         Declare.
6311 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6313         lisp/subr.el (delete-dups): Avoid nreverse.
6315 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6317         * lisp/subr.el (delete-dups): Make it destructive again.
6319 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6321         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6323 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6325         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6326         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6327         (testcover--read): Rename from testcover-read.  Change calling convention.
6328         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6329         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6330         testcover--read.
6331         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6332         (testcover-mark): Remove unused var `item'.
6333         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6335 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6337         lisp/subr.el (delete-dups): Use a hash table
6338         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6339           use a hash table. This can result in ~500 times speed-up for typical
6340           collections of size 5000, like that of `load-library'.
6342 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6344         CEDET: Avoid `oref' on classes in a few more cases
6345         * lisp/cedet/ede/generic.el (ede-find-target):
6346         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6347         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6348         var `prefix'.
6350         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6351         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6352         (semantic-symref-perform-search): Remove unused var `pat'.
6354         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6355         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6356         Avoid `oref' on classes (bug#20491).
6357         (srecode-compile-split-code): Remove unused var `key'.
6359 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6361         Clean up pulse.el a little
6362         * lisp/cedet/pulse.el (pulse): Remove.
6363         (pulse-momentary-timer): Save instead of the stop time.
6364         (pulse-momentary-highlight-overlay): Call
6365         pulse-momentary-unhighlight first thing. Treat
6366         pulse-momentary-overlay as a single value, not a list. Save the
6367         created timer. Only pass the stop time to the timer.
6368         (pulse-tick): Update accordingly.
6369         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6370         single value. Cancel the timer.
6372 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6374         Support the biblatex journaltitle field
6375         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6376         Support the biblatex journaltitle field.
6378 2015-05-05  Glenn Morris  <rgm@gnu.org>
6380         Minor declare-function improvement
6381         * lisp/emacs-lisp/bytecomp.el
6382         (byte-compile-macroexpand-declare-function):
6383         Handle declarations after calls.  (Bug#20509)
6385         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6387         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6389 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6391         Pulse using a timer
6392         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6393         (pulse-momentary-highlight-overlay): Set up the timer instead of
6394         calling `pulse'
6395         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6396         (pulse-tick): New function.
6397         (pulse-momentary-unhighlight): Cut off the stop time.
6398         (pulse-delay): Update the docstring WRT to not using sit-for.
6400         Add semantic/symref/grep file patterns for ruby-mode
6401         * lisp/cedet/semantic/symref/grep.el
6402         (semantic-symref-filepattern-alist): Add patterns for
6403         ruby-mode. Clarify the docstring.
6405         Don't require match
6406         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6407         match. That doesn't work for every command, and some identifier
6408         completion tables are bound to be imperfect anyway.
6410 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6412         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6413         (semantic-grammar--template-expand): New function.
6414         (semantic-grammar-header, semantic-grammar-footer): Use it.
6415         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6416         (semantic-grammar-file-regexp): Refine regexp.
6417         (semantic-grammar-eldoc-get-macro-docstring):
6418         Use elisp-get-fnsym-args-string when available.
6419         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6420         instead of the old eldoc-* names.
6421         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6422         from elisp-mode.el.  Tweak calling convention.
6423         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6424         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6425         elisp--get-fnsym-args-string.
6426         (elisp--highlight-function-argument): Add `prefix' arg.
6427         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6428         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6430 2015-05-05  Glenn Morris  <rgm@gnu.org>
6432         * lisp/help-fns.el (describe-function-1):
6433         Handle builtins with advertised calling conventions.  (Bug#20479)
6435 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6437         Merge branch 'seq-let'
6439         Update `seq-let' documentation
6440         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6441         with the support of  `&rest'.
6443         Add support for &rest in `seq-let'
6444         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6445         in the argument list.
6446         * test/automated/seq-tests.el: Add a test for parsing and binding
6447         `&rest' in `seq-let'.
6449 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6451         Spelling fixes
6453 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6455         * eieio-custom.el (eieio-object-value-get): Add missing increment
6456         (Bug#20467)
6458         (eieio-object-value-create): Adjust to new slots representation
6459         (Bug#20467)
6460         * eieio-custom.el (eieio-object-value-create):
6461         Fix missed adjustment to new representation of slots metadata.
6463 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6465         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6467 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6469         Work around "Attempt to modify read-only object"
6470         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
6471         elisp--xref-find-definitions, to work around "Attempt to modify
6472         read-only object" error.
6474         Only skip some variables that have function counterparts
6475         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6476         Only skip minor-mode-named variable if it's defined in a Lisp
6477         file, and it's in minor-mode-list (bug#20506).
6478         * test/automated/elisp-mode-tests.el
6479         (elisp-xref-finds-both-function-and-variable)
6480         (elisp-xref-finds-only-function-for-minor-mode): New tests.
6482 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6484         Buttonize the whole line, including the number at the beginning
6485         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
6486         previous change.
6487         (xref--insert-xrefs): Buttonize the whole line, including the
6488         number at the beginning.
6490         Make sure we're inside the let bindings
6491         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6492         Make sure we're inside the let bindings.
6493         * test/automated/elisp-mode-tests.el
6494         (elisp-completes-functions-after-let-bindings): New test.
6496 2015-05-04  Glenn Morris  <rgm@gnu.org>
6498         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
6499         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
6500         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
6501         Remove outdated declarations.
6503         Replace instances of "(eval-when-compile (autoload ...))"
6504         * lisp/gnus/gnus-art.el (nneething-get-file-name):
6505         Declare rather than autoload.
6506         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
6507         Remove pointless autoload.
6508         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
6509         (gnus-topic-create-topic, gnus-topic-enter-dribble):
6510         Declare rather than autoload.
6511         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
6512         (mailcap-extension-to-mime): Autoload at run-time.
6513         * lisp/gnus/mm-util.el (latin-unity-massage-name)
6514         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
6515         (latin-unity-representations-present-region):
6516         Declare rather than autoload.
6517         * lisp/gnus/mml-smime.el (epg-make-context)
6518         (epg-passphrase-callback-function): Autoload at run-time.
6519         (epg-context-set-signers, epg-context-result-for)
6520         (epg-new-signature-digest-algorithm)
6521         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
6522         (epg-sign-string, epg-encrypt-string)
6523         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
6524         (epg-configuration, epg-expand-group, epa-select-keys):
6525         Declare rather than autoload.
6526         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
6527         Autoload at run-time.
6528         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
6529         (gnus-registry-get-id-key, gnus-registry-action):
6530         Declare rather than autoload.
6531         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
6532         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
6533         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
6534         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
6535         (spam-stat-split-fancy): Remove pointless autoloads.
6536         * lisp/net/mairix.el: Load gnus-util when compiling.
6537         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
6538         (message-field-value): Declare rather than autoload.
6539         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
6540         Check gnus-alive-p is fbound.
6541         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
6542         (vm-check-for-killed-summary, vm-error-if-folder-empty)
6543         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
6544         Declare rather than autoload.
6546         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
6548         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
6549         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
6551         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
6553         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
6555         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
6556         * lisp/emacs-lisp/package.el (epg-signature-status):
6557         Fix declarations.
6559         * lisp/play/gametree.el (gametree-show-children-and-entry)
6560         (gametree-apply-layout, gametree-mouse-show-subtree)
6561         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
6563         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
6564         Handle cl-defgeneric, cl-defmethod.
6566 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6568         Highlight both type and symbol name
6569         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
6570         Highlight both type and symbol name.
6572         Insert, highlight and align line numbers in xref output
6573         * lisp/progmodes/etags.el (xref-location-line): Specialize for
6574         xref-etags-location.
6575         * lisp/progmodes/xref.el (xref-location-line): New generic method.
6576         (xref-file-location): Add reader for the line slot.
6577         (xref--location-at-point): Skip to the `xref-location' property.
6578         (xref--collect-reference): Drop the line number from description.
6579         (xref--insert-xrefs): Insert, highlight and align line numbers.
6581 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6583         Fix previous commit
6585 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6587         Don't pulse the indentation, or the newline
6588         * lisp/cedet/pulse.el (pulse-lighten-highlight)
6589         (pulse-reset-face): Fall back to the inherited background
6590         attribute in FACE.
6591         (pulse-momentary-highlight-region): Add autoload cookie.
6592         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
6593         indentation, or the newline, if the line's non-empty
6594         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
6596 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6598         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
6599         * doc/lispref/positions.texi (Excursions): Document
6600         `save-mark-and-excursion'.
6601         * lisp/font-lock.el (font-lock-fontify-block): Use
6602         `save-mark-and-excursion' instead of `save-excursion', restoring
6603         Emacs 24 behavior.
6604         * lisp/simple.el (save-mark-and-excursion--save)
6605         (save-mark-and-excursion--restore): New functions.
6606         (save-mark-and-excursion): New user macro.
6607         * src/editfns.c (Fsave_excursion): Mention
6608         `save-mark-and-excursion' in `save-excursion' documentation.
6610 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6612         Classify lone symbol inside let varlist as variable
6613         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6614         Classify lone symbol inside let varlist as variable.
6615         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
6616         New test.
6618         Add xref-pulse-on-jump
6619         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
6620         Add autoload cookie.
6621         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
6622         (xref--maybe-pulse): New function.
6623         (xref-pop-marker-stack, xref--pop-to-location)
6624         (xref--display-position): Use it.
6625         (xref--location-at-point): Use back-to-indentation.
6627 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6629         * lisp/org/org-{macs,list}.el: Fix lexical warnings
6630         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
6631         (org-list-get-next-item, org-list-get-prev-item)
6632         (org-list-get-children): Mark unused arg `struct'.
6633         (org-list-use-alpha-bul-p): Remove unused var `bul'.
6634         (org-toggle-checkbox): Mark unused var.
6635         (org-update-checkbox-count): Remove unused var `box-num'.
6636         (org-adapt-indentation): Declare.
6637         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
6638         (org-list-send-list): Remove unused var `txt'.
6639         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
6640         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
6641         * lisp/org/org-macs.el: Use `declare'.
6642         (org-with-limited-levels): Declare dyn-bound vars.
6644 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
6646         Fix minor issues with CEDET on MS-Windows
6647         * lisp/cedet/semantic/symref/idutils.el
6648         (semantic-symref-parse-tool-output-one-line): Fix the search
6649         regexp to match MS-Windows file names with drive letters.
6650         (Bug#19468)
6651         * lisp/cedet/semantic/symref/grep.el
6652         (semantic-symref-grep-use-template): Remove "--color=always" from
6653         Grep switches on MS-Windows.
6654         (semantic-symref-grep-shell): Use shell-file-name as the default
6655         value, so this works not only on Posix platforms.
6656         (semantic-symref-perform-search): Use shell-quote-argument instead
6657         of literal '..' for portable quoting of Grep command-line
6658         argument.  Use shell-command-switch instead of a literal "-c".
6659         * lisp/cedet/semantic/bovine/gcc.el
6660         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
6661         for an absolute file name in a portable way.
6663 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6665         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
6666         (package-import-keyring, package-refresh-contents)
6667         (package-compute-transaction, package--save-selected-packages)
6668         (package-install-from-archive, package-delete)
6669         (package-menu--perform-transaction): Use `inhibit-message'
6670         instead.
6671         (package--compile): Set `warning-minimum-level' to :error.
6673 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6675         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
6676         (terminal-init-screen): Use it (bug#20356).
6677         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
6678         (xterm--extra-capabilities-type): New const.
6679         (xterm-extra-capabilities): Use it.
6680         (xterm--version-handler): Lower the pseudo-version for `screen'.
6682 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
6684         xref--insert-xrefs: Tweak the faces
6685         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
6686         Always insert a newline at the end (to avoid mouse-face background
6687         tail at the last line).
6689         elisp-completion-at-point: Prioritize being quoted over funpos
6690         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6691         Only consider function position when not inside quoted form
6692         (bug#20425).
6693         * test/automated/elisp-mode-tests.el: New file.
6695         Stop vc-print-log from jumping to the top
6696         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
6697         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
6698         is not specified.
6699         (vc-incoming-outgoing-internal): Always pass nil.
6700         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
6701         call it, and don't set vc-sentinel-movepoint (bug#15322).
6702         (vc-print-root-log): Don't fetch the root working revision, nor
6703         pass it to vc-print-log-internal.
6705 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
6707         Fix display of keyboard layouts for right-to-left scripts
6708         * lisp/international/quail.el (quail-insert-kbd-layout): Force
6709         left-to-right paragraph direction.
6711 2015-05-02  K. Handa  <handa@gnu.org>
6713         * cmds.c (internal_self_insert): When we insert spaces for
6714         padding, set point before the padding spaces, not after them.
6716 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
6718         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
6720 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
6722         Fix etags-xref-find for references
6723         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
6724         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
6725         directory if no tags tables are loaded (bug#19468).
6727 2015-05-02  Philipp Stephani  <phst@google.com>
6729         Update the options in whitespace-style defcustom
6730         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
6731         `repeat' because the option is really set-like.  Add missing
6732         options.  Reorder options to match the order in the
6733         documentation.  (Bug#20346)
6735 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
6737         Fix error diagnostics of c-macro-expand
6738         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
6739         too early if no start-marker string was found -- that generally
6740         means cpp exited abnormally, and we still want to show its error
6741         messages to the user.
6743         Don't require Texinfo 5.0 for Emacs documentation
6744         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
6745         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
6746         "@codequoteundirected on", respectively, to avoid requiring
6747         Texinfo 5.x for Emacs documentation.
6749 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
6751         * lisp/files.el (pwd):
6752         When called with a prefix argument, insert the current default
6753         directory at point.
6755 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6757         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
6758         * lisp/isearch.el (isearch-mode-map): Don't inhibit
6759         function-key-map remapping for backspace (bug#20466).
6761 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
6763         Implement xref-find-references in etags and elisp-mode
6764         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
6765         (elisp-xref-find): Use it.
6766         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
6767         * lisp/progmodes/xref.el (xref-collect-references):
6768         (xref--collect-reference): New functions.
6770 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6772         Prefer plain characters to Texinfo circumlocutions
6773         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
6774         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
6776         Fix single-quoting style in PDF manuals
6777         The PDF versions of the GNU manuals used curved single quotes to
6778         represent grave accent and apostrophe, which made it a pain to cut
6779         and paste code examples from them.  Fix the PDF versions to use
6780         grave accent and apostrophe for Lisp source code, keystrokes, etc.
6781         This change does not affect the info files, nor does it affect
6782         ordinary uses of curved single quotes in PDF.
6783         * doc/emacs/docstyle.texi: New file, which specifies treatment for
6784         grave accent and apostrophe, as well as the document encoding.
6785         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
6786         * doc/lispintro/emacs-lisp-intro.texi:
6787         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
6788         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
6789         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
6790         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
6791         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
6792         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
6793         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
6794         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
6795         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
6796         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
6797         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
6798         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
6799         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
6800         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
6801         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
6802         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
6803         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
6804         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
6805         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
6806         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
6807         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
6808         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
6809         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
6810         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
6811         * doc/misc/woman.texi:
6812         Use it instead of '@documentencoding UTF-8', to lessen the need for
6813         global changes like this in the future.
6814         * doc/emacs/Makefile.in (EMACS_XTRA):
6815         * doc/lispintro/Makefile.in (srcs):
6816         * doc/lispref/Makefile.in (srcs):
6817         Add dependency on docstyle.texi.
6818         * doc/misc/Makefile.in (style): New macro.
6819         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
6820         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
6821         Use it.
6823 2015-05-01  Glenn Morris  <rgm@gnu.org>
6825         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
6827         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
6828         (help-fns--signature): Declare.
6830         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
6832 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
6834         New macro seq-let, providing destructuring support to seq.el
6835         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
6836         to `cl-destructuring-bind' but works on all sequence types supported
6837         by `seq.el'.  Bump version number to 1.6.
6838         * test/automated/seq-tests.el: Add tests for seq-let.
6839         * doc/lispref/sequences.texi: Add documentation for seq-let.
6841 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
6843         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
6845 2015-05-01  Glenn Morris  <rgm@gnu.org>
6847         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
6849 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6851         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
6852         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
6853         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
6854         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
6855         (Bug#20445).
6857 2015-05-01  K. Handa  <handa@gnu.org>
6859         * mule-cmds.el (input-method-use-echo-area): Change :type to
6860         'boolean.
6862 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6864         Start using proportional fonts in eww by default
6865         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
6866         it seems to work well.
6868         Fix links in tables in shr
6869         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
6870         makes (some) links in tables not work.
6872 2015-05-01  Jan D  <jan.h.d@swipnet.se>
6874         (ns-get-cut-buffer-internal): Remove this alias.
6875         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
6877 2015-04-30  Glenn Morris  <rgm@gnu.org>
6879         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
6880         Update for 2015-02-08 change to indirect-function.
6882         * lisp/term/ns-win.el (ns-get-selection-internal):
6883         Remove declaration for function deleted 2014-10-21.
6885         * lisp/dom.el: Load subr-x when compiling, for when-let.
6887         Silence some compilation warnings
6888         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
6889         * lisp/emulation/cua-base.el (delete-active-region):
6890         * lisp/net/net-utils.el (w32-get-console-output-codepage):
6891         * lisp/term/ns-win.el (ns-own-selection-internal)
6892         (ns-disown-selection-internal, ns-selection-owner-p)
6893         (ns-selection-exists-p, ns-get-selection):
6894         Declare for compiler..
6896         Function declaration updates prompted by 'make check-declare'
6897         * lisp/emacs-lisp/package.el (lm-homepage):
6898         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
6899         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
6900         * lisp/gnus/mml.el (libxml-parse-html-region):
6901         * lisp/gnus/nnrss.el (libxml-parse-html-region):
6902         * lisp/net/eww.el (libxml-parse-html-region):
6903         * lisp/net/shr.el (libxml-parse-html-region):
6904         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
6905         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
6906         * lisp/vc/vc-git.el (vc-annotate-convert-time):
6907         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
6908         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
6909         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
6910         Update declaration.
6912         Remove compatibility code for 20-year old function renaming
6913         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
6914         Make it an obsolete alias.
6915         (idlwave-shell-filter): Change all uses to comint-output-filter.
6917 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
6919         Add ace-window face config
6920         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
6921         configuration.
6923 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
6925         Unclutter 'make doc' output a bit
6926         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
6927         Use make subst rather than sh IFS to split target string apart.
6928         This makes 'make' output easier to follow.
6930         Merge from gnulib
6931         * doc/misc/texinfo.tex: Update from gnulib.
6933 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6935         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
6936         (package-menu--print-info): Obsolete.
6937         (package-menu--print-info-simple): New function.
6938         (package-menu--refresh): Use it, simplify code, and improve
6939         performance.
6940         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
6941         Tiny performance improvement.
6943         * lisp/emacs-lisp/package.el (package--message): inhibit-message
6945 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6947         Omit -Wstrict-overflow workaround in GCC 5
6948         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
6949         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
6951         Merge from gnulib
6952         This incorporates:
6953         2015-04-29 extern-inline: no need for workaround in GCC 5.1
6954         2015-04-26 file-has-acl: port to CentOS 6
6955         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
6957 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
6959         Set next-error-* in xref--xref-buffer-mode
6960         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
6961         `next-error-last-buffer'.
6962         (xref--next-error-function): New function.
6963         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
6965 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6967         python.el: Fix warnings on looking-back calls missing LIMIT
6968         * lisp/progmodes/python.el (python-shell-accept-process-output):
6969         Pass LIMIT arg to looking-back.
6971 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6973         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
6974         (package--download-and-read-archives): Use pushnew instead of
6975         append.  If something terrible happened during a previous
6976         download, simply refreshing should now make things work again.
6978 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
6980         Introduce etags-xref-find-definitions-tag-order
6981         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6982         New variable.
6983         (etags--xref-find-definitions): Use it (bug#19468).
6985 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
6987         PATH- and completion-related fixes in Eshell on MS-Windows
6988         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
6989         MS-Windows, prepend "." to list of directories produced from PATH,
6990         as Windows always implicitly searches the current directory first.
6991         (eshell-force-execution): Make it have a non-nil default value on
6992         MS-Windows and MS-DOS.
6993         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
6994         eshell-force-execution is non-nil, complete on readable files and
6995         directories, not only executables.  When running on MS-Windows,
6996         prepend "." to list of directories produced from PATH, as Windows
6997         always implicitly searches the current directory first.
6999 2015-04-29  Sam Steingold  <sds@gnu.org>
7001         bury RCIRC buffers when there is no activity
7002         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
7003         (rcirc-bury-buffers): new function
7004         (rcirc-next-active-buffer): when there is no new activity, use
7005         `rcirc-bury-buffers' to hide all RCIRC buffers
7007 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
7009         Fix DBUS query result parsing for secrets-search-items
7010         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
7011         parsing.  The function assumed that return value of the
7012         SearchItems method called on a collection is a list of two lists,
7013         however this is true only when no collection is specified.  GNOME
7014         had used to incorrectly return a list of two lists in both cases,
7015         but this was already fixed:
7016         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
7017         incorrect information in the secrets-search-items’ docstring.
7018         (Bug#20449)
7020 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7022         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
7023         (byte-compile--message): Use `inhibit-message' instead of hiding
7024         the previous message with (message nil).
7026 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
7028         Remove the deprecated INTERNAL_FIELD macro by expanding it
7029         * src/lisp.h (INTERNAL_FIELD): Remove.
7030         (DEFVAR_KBOARD): Modify accordingly.
7031         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
7032         * syntax.c: Adjust users.
7033         * src/buffer.c (compact_buffer): Use BVAR.
7035 2015-04-29  Glenn Morris  <rgm@gnu.org>
7037         Replace an obsolete function alias
7038         * lisp/isearch.el (isearch-yank-x-selection):
7039         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
7040         (mouse-drag-secondary-moving):
7041         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7042         Replace obsolete alias x-get-selection with gui-get-selection.
7044 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7046         * lisp/mail/rmailsum.el: Use lexical-binding.
7048 2015-04-29  Glenn Morris  <rgm@gnu.org>
7050         * test/automated/package-test.el (package-test-update-archives-async):
7051         Skip test on hydra.nixos.org.
7053 2015-04-28  Glenn Morris  <rgm@gnu.org>
7055         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
7056         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
7057         (foldout-mouse-hide-or-exit): Use new names for outline functions.
7059         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
7060         Update for 2014-06-26 hideif.el change.
7062         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
7063         (rmail--decode-and-apply): New function.
7064         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
7066         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
7068 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7070         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
7071         (package-menu--refresh): Delegate obsolete-hiding to
7072         `package--remove-hidden'.
7073         (package--remove-hidden): Disregard high-priority package if it is
7074         older than the installed one.
7076 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
7078         Update source file encoding list
7079         Update admin/notes/unicode, along with coding system cookies in
7080         other files, so that the two match each other better.
7081         * admin/notes/unicode: lisp/language/ethio-util.el and
7082         lisp/language/ethiopic.el also use utf-8-emacs.
7083         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
7084         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
7085         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
7086         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
7087         * etc/refcards/sk-survival.tex:
7088         Add "coding: utf-8" so that this file is not mishandled in a
7089         Latin-1 or Big-5 locale.
7090         * lisp/international/robin.el, lisp/org/ox-ascii.el:
7091         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
7092         * lisp/language/ethio-util.el: Fix trailer.
7094 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
7096         Fix synchronous invocation of Ispell
7097         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
7098         value to ispell-process-directory before calling ispell-init-process.
7099         Don't call set-process-coding-system if ispell-async-processp is nil.
7100         (Bug#20448)
7102 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7104         * lisp/emacs-lisp/package.el: Skip space and comments in init file
7105         (package--ensure-init-file): Insert snippet at first
7106         non-whitespace non-comments line.  Respects local-vars at the top
7107         of the file.
7109 2015-04-28  Glenn Morris  <rgm@gnu.org>
7111         * lisp/mail/rmail.el (rmail-copy-headers):
7112         Handle rmail-nonignored-headers being nil.  (Bug#18878)
7114         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
7116         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
7117         Don't get confused by a bzrlib version mismatch warning.
7119 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7121         Change default location of EUDC options file
7122         * NEWS: Document change to EUDC options file's default location.
7123         * lisp/net/eudc-vars.el (eudc-options-file): Use
7124         `locate-user-emacs-file' to change default options file location.
7126 2015-04-27  Glenn Morris  <rgm@gnu.org>
7128         * test/automated/package-test.el (package-test-update-archives-async):
7129         Try to handle the test server script dying.
7131 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7133         * lisp/saveplace.el (save-place-mode): New minor mode.
7134         (save-place): Redefine as an obsolete alias.
7136         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
7137         * lisp/midnight.el: Use lexical-binding.
7138         (midnight-mode): Make it a proper minor mode.
7139         (midnight-buffer-display-time): Make arg non-optional.
7140         (midnight-find): Remove.
7141         (clean-buffer-list-kill-never-regexps)
7142         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
7143         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
7144         contain functions.
7145         (clean-buffer-list): Use cl-find.
7146         Allow clean-buffer-list-kill-never-regexps to contain functions.
7148 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
7150         Bump version of seq.el to 1.5
7151         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
7152           from seq-doseq.  Bump version number of seq.el.
7154 2015-04-27  Glenn Morris  <rgm@gnu.org>
7156         * lisp/mail/rmail.el (rmail-reply):
7157         Decode subject before matching "Re:" prefix.  (Bug#20396)
7159 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7161         * lisp/emacs-lisp/package.el: Small improvements
7162         (package--with-work-buffer-async): More informative error.
7163         (package-install-user-selected-packages): Rename to
7164         `package-install-selected-packages'.
7166 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7168         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
7169         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
7170         (eieio--class-make): Remove leftover `tag'.
7172 2015-04-27  Glenn Morris  <rgm@gnu.org>
7174         * lisp/gnus/message.el (gnus-extract-address-components):
7175         Remove bogus declaration that was masking previous problem.
7177 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
7179         * lisp/gnus/message.el (message-insert-formatted-citation-line):
7180         Fix typo.  (Bug#20318)
7182 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7184         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
7186         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
7187         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
7188         the buffer in yet another frame.
7189         (reftex-toc-visit-location): Make sure toc-window has focus at the end
7190         when `final' is nil.
7191         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
7192         silence warnings.  Use `--' to clarify that it's internal.
7193         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
7194         (reftex-toc-promote): Clarify unused argument.
7195         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
7196         Add `reftex--' prefix.  Fix all users.
7197         (reftex-toc-promote-prepare): Use _ for dummy variable.
7198         (reftex-toc-restore-region): Rename `m
7200 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
7202         Fix a typo in bibtex.el
7203         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
7204         last change.  (Bug#20429)
7206         Fix redisplay of frame after loading new fonts
7207         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
7208         frame because new fonts were loaded, disable all redisplay
7209         optimizations on that frame by calling SET_FRAME_GARBAGED.
7210         (Bug#20410)
7212 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7214         * lisp/info.el (Info-menu): Properly provide the `default'
7215         (Bug#20391)
7217         * elisp-mode.el: Catch errors from `documentation'
7218         (Bug#20418)
7219         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
7220         Catch errors from documentation.
7221         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
7223 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7225         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
7226         Remove redundant ":group 'package".
7228 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
7230         Fix a typo in rmail.el
7231         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
7232         last commit.  (Bug#20429)
7234 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
7236         Introduce xref-prompt-for-identifier
7237         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
7238         (xref--read-identifier): Use it
7239         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
7241 2015-04-26  João Távora  <joaotavora@gmail.com>
7243         `tex-insert-quote' after single `'' opens quotes instead of closing
7244         Without this, it's very hard to precede double quotes with the
7245         apostrophe character, i.e. insert the sequence '``
7246         (quote-backquote-backquote), commonly useful in portuguese, for
7247         instance.
7248         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7249         chars making `tex-insert-quote' be in the "opening" context.
7251 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7253         Pass `id' to `completing-read' as def instead of initial input
7254         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7255         as the default value instead of initial input
7256         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7258 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7260         Don't freeze with unreadable processes
7261         Don't freeze if an exiting process can't be read from. (Bug#19860).
7262         This fixes a bug I introduced in
7263         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7264         "* process.c: Add sanity checks for file descriptors."
7265         Dmitry Gutov did most of the legwork in finding the problem.
7266         * src/process.c (wait_reading_process_output):
7267         Treat non-running processes that can't be read from
7268         the same as other non-running processes.
7270 2015-04-25  Alan Mackenzie  <acm@muc.de>
7272         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7273         * lisp/subr.el (remove-yank-excluded-properties): put
7274         `with-silent-modifications' around only the last three lines of code.
7276 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7278         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7279         (package--all-keywords): Deleted variable.
7281         * etc/NEWS: Document package-hiding functionality
7283 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7285         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7287         Clarify the doc string of 'replace-regexp-in-string'
7288         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7290         Improve doc string of 'insert-buffer-substring'
7291         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7293         MS-Windows followup for the recent gnulib update
7294         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7295         acl-internal.c.
7297 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7299         Spelling fixes
7301         Merge from gnulib
7302         This incorporates:
7303         2015-04-24 file-has-acl: new module, split from acl
7304         2015-04-24 manywarnings: add GCC 5.1 warnings
7305         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7306         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7307         2015-04-15 acl: On Linux, check for acls without libacl
7308         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7309         * lib/acl-internal.c: New file, from gnulib.
7310         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7311         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7312         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7313         Update from gnulib.
7315         Port --enable-gcc-warnings to GCC 5.1 x86-64
7316         * lib-src/ebrowse.c (dump_sym):
7317         * lib-src/hexl.c (main):
7318         * src/ccl.c (ccl_driver):
7319         * src/character.c (string_escape_byte8):
7320         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7321         * src/gnutls.c (Fgnutls_boot):
7322         * src/gtkutil.c (xg_check_special_colors):
7323         * src/image.c (x_build_heuristic_mask):
7324         * src/print.c (safe_debug_print, print_object):
7325         * src/term.c (produce_glyphless_glyph):
7326         * src/xdisp.c (get_next_display_element)
7327         (produce_glyphless_glyph):
7328         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7329         Don't use a signed format to print an unsigned integer, or vice
7330         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7331         * src/image.c (png_load_body, jpeg_load_body):
7332         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7334 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7336         Add new faces to tsdh-light-theme
7337         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7338         definitions for Info-quoted, ace-jump-face-foreground,
7339         hl-paren-face, show-paren-match, and show-paren-mismatch.
7341 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7343         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7345 2015-04-24  Glenn Morris  <rgm@gnu.org>
7347         * build-aux/gitlog-to-emacslog:
7348         Use raw log format rather than wrapped one.
7350 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7352         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7353         (seq-doseq): Fix out-of-scope binding.
7354         Don't call `seq-length at every iteration.
7355         Reduce `if's from 3 to 2 per iteration.
7356         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7358 2015-04-24  Glenn Morris  <rgm@gnu.org>
7360         * lisp/textmodes/text-mode.el (text-mode-hook):
7361         Move text-mode-hook-identify to default.
7363         * lisp/mouse.el (minor-mode-menu-from-indicator):
7364         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7366         * lisp/help-fns.el (describe-function): More type checking.
7367         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7369         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7370         (Bug#20325)
7372 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7374         shr: strip leading whitespace when expanding URLs
7375         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7377 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7379         Clarify "co-authored" some more
7381         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7383         Clarify doc strings of functions that search for properties
7384         * src/textprop.c (Fnext_char_property_change)
7385         (Fprevious_char_property_change)
7386         (Fnext_single_char_property_change)
7387         (Fprevious_single_char_property_change, Fnext_property_change)
7388         (Fnext_single_property_change, Fprevious_property_change)
7389         (Fprevious_single_property_change): Clarify doc strings wrt return
7390         value and the optional LIMIT argument.  (Bug#20411)
7392 2015-04-24  Glenn Morris  <rgm@gnu.org>
7394         * test/automated/message-mode-tests.el (message-mode-propertize):
7395         Handle non-writable HOME; eg on hydra.nixos.org.
7397 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7399         Avoid starting threads by w32-shell-execute
7400         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7401         local file names, before invoking ShellExecute.  (Bug#20220)
7403 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7405         Fix following doc-links in `widget-documentation-link-action'
7406         * lisp/wid-edit.el (widget-documentation-link-action): Make
7407         following doc-links less simplistic (Bug#20398).
7409 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7411         Improve EUDC manual
7412         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7414 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7416         Omit needless "\ " after multibyte then newline
7417         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7418         (print_object): When print-escape-multibyte is non-nil and a
7419         multibyte character is followed by a newline or formfeed, followed
7420         by a hex digit, don't output a needless "\ " before the hex digit.
7421         * test/automated/print-tests.el (print-hex-backslash): New test.
7423 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7425         Add a new `inhibit-message' variable
7426         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7427         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7428         `inhibit_message' is non-zero.
7429         * etc/NEWS: Add an entry.
7430         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7431           mention it in `message'.
7433 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7435         Fix last fix in `display-buffer-record-window'.
7436         * lisp/window.el (display-buffer-record-window): Fix last fix.
7438 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7440         Minor edits in CONTRIBUTE
7441         * CONTRIBUTE: Rearrange instructions about log messages.
7442         Use "Git" capitalized all over.
7443         Use 2 spaces between sentences.
7445 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7447         * lisp/files.el (basic-save-buffer): Fix argument
7449         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7450         In case `(and (null custom-file) init-file-had-error)' do the same
7451         thing we'd do if `(null user-init-file)', which is to either error out
7452         or return nil.  This is in line with `custom-save-all' which would
7453         throw an error in that situation. (bug#20355)
7455         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7456         (package-menu-hide-low-priority): New variable, see its doc.
7457         (package-archive-priorities): Update doc.
7458         (package-desc-priority): New function.
7459         (package-desc-priority-version): Use it.
7460         (package--remove-hidden): New function.
7461         (package-menu--refresh): Use it.
7463         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7464         (package-menu--hide-obsolete): New variable.
7465         (package--remove-hidden): Use it.
7466         (package-menu-hide-obsolete): New interactive function to toggle
7467         the variable.
7468         (package--quick-help-keys): Document it.
7469         (package-menu-async): Add :version tag.
7470         (package-menu-mode-map): Bind package-menu-hide-obsolete.
7471         (package-desc-status): Indicate non-installed obsolete packages as
7472         avail-obso.
7473         (package-menu-mark-install): Allow installation of avail-obso.
7474         (package-menu--status-predicate): Sort avail-obso with available.
7476 2015-04-22  Alan Mackenzie  <acm@muc.de>
7478         On C-y, stop some text property entries being written into buffer-undo-list
7479         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
7480         `with-silent-modifications'.
7482 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7484         In display-buffer-record-window record selected window if necessary.
7485         * lisp/window.el (display-buffer-record-window): Store selected window
7486         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
7488 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
7490         Fix reftex-citation bug
7491         * reftex-cite.el (reftex-extract-bib-entries): Fix
7492         `wrong-type-argument stringp nil' error that occurs when AUCTeX
7493         integration is enabled and there are no citations in the document
7494         so far.
7496 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
7498         Add or reset based on the presence of MERGE_HEAD
7499         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
7500         `vc-git-resolve-when-done' to `after-save-hook' in either case.
7501         (vc-git-conflicted-files): Add a TODO.
7502         (vc-git-resolve-when-done): Depending on the presence of
7503         MERGE_HEAD, either update the resolved file in the index, or
7504         remove it from there.  (Bug#20292)
7506 2015-04-21  Glenn Morris  <rgm@gnu.org>
7508         * lisp/custom.el (custom-declare-group): No need to purecopy
7509         custom-current-group-alist members following recent change to set
7510         it to nil before dumping.
7512         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
7513         (Bug#20399)
7515 2015-04-21  Daniel Colascione  <dancol@dancol.org>
7517         Unbreak no-op buffer save message
7518         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
7519         (basic-save-buffer): Accept called-interactively as an argument instead of
7520         directly invoking called-interactively-p, which will always yield nil
7521         in that context.
7523 2015-04-21  Alan Mackenzie  <acm@muc.de>
7525         CC Mode: Do nothing in before/after-change-functions for text property changes
7526         Fixes bug#20266.
7527         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
7528         yank-handled-properties buffer local, and remove 'category from it.
7529         (c-called-from-text-property-change-p): New function.
7530         (c-before-change): Don't do anything if a call of the new function
7531         returns non-nil.
7532         (c-after-change): Don't do much if a call of the new function returns
7533         non-nil.
7534         (c-extend-after-change-region): Put changes to text property 'fontified
7535         inside c-save-buffer-state.
7537 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7539         Fix byte-compiler warnings about looking-back.
7540         * lisp/vc/log-view.el (log-view-end-of-defun-1):
7541         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
7542         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
7543         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
7544         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
7545         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
7546         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
7547         * lisp/org/org.el (org-insert-heading, org-sort-entries):
7548         * lisp/org/org-mouse.el (org-mouse-end-headline)
7549         (org-mouse-context-menu):
7550         * lisp/org/org-clock.el (org-clock-cancel):
7551         * lisp/man.el (Man-default-man-entry):
7552         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
7553         (rmail-ensure-blank-line):
7554         * lisp/mail/footnote.el (Footnote-delete-footnote):
7555         * lisp/mail/emacsbug.el (report-emacs-bug):
7556         * lisp/info.el (Info-follow-reference, Info-fontify-node):
7557         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7558         * lisp/help-fns.el (help-fns--key-bindings):
7559         * lisp/files.el (hack-local-variables):
7560         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
7561         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
7562         (viper-complete-filename-or-exit):
7563         * lisp/emulation/viper-cmd.el (viper-backward-indent):
7564         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
7565         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
7566         * lisp/cus-edit.el (custom-face-edit-value-create):
7567         * lisp/calendar/todo-mode.el (todo-set-item-priority)
7568         (todo-filter-items-1, todo-convert-legacy-files)
7569         (todo-prefix-overlays): Add explicit second arg to looking-back.
7571 2015-04-20  Glenn Morris  <rgm@gnu.org>
7573         Avoid non-nil current-load-list at startup
7574         * src/process.c (init_process_emacs): Move Fprovide statement...
7575         (syms_of_process): ... to here.
7577         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
7579         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
7581 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
7583         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
7584         (Bug#20330)
7586 2015-04-20  Glenn Morris  <rgm@gnu.org>
7588         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
7590         Tweak exec-path in uninstalled case
7591         * src/callproc.c (init_callproc): If running uninstalled, do not
7592         include eventual installation libexec directory in exec-path.
7594 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7596         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
7597         (package-menu-filter): Accept a list of keywords.
7598         (package--all-keywords): New variable to cache known keywords.
7599         (package-all-keywords): Populate it if necessary.
7600         (package-refresh-contents): Reset it.
7602         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
7603         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
7604         as special keywords which match agains package archive and status
7605         respectively.
7606         * etc/NEWS: Document it.
7608 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
7610         Describe and index "empty overlays".
7611         * doc/lispref/display.texi (Overlays): Improve indexing.
7612         (Managing Overlays): Describe "empty" overlays.
7613         (Overlay Properties, Finding Overlays): Add cross-reference to
7614         where empty overlays are described.
7616 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7618         Spelling fixes
7620         Quote 'like this' in top-level files
7621         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
7622         Prefer to single-quote 'like this' (instead of the older style
7623         `like this').
7624         * configure.ac: Fix some space-before-tab problems that 'git commit'
7625         complained about.
7627         Use bool for boolean in textprop.c, undo.c
7628         * src/textprop.c (soft, hard): Now constants instead of macros.
7629         (validate_plist): Rewrite to avoid need for boolean local.
7630         (interval_has_all_properties, interval_has_some_properties)
7631         (interval_has_some_properties_list, add_properties)
7632         (remove_properties, get_char_property_and_overlay)
7633         (Fnext_single_char_property_change)
7634         (Fprevious_single_char_property_change, add_text_properties_1)
7635         (Fremove_text_properties, Fremove_list_of_text_properties)
7636         (copy_text_properties):
7637         * src/tparam.c (tparam1):
7638         * src/undo.c (record_change, record_property_change)
7639         (syms_of_undo):
7640         Use 'true' and 'false' for booleans.
7642 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7644         Call `smerge-start-session' even when dealing with a stash conflict
7645         * lisp/vc/vc-git.el (vc-git-find-file-hook):
7646         Call `smerge-start-session' even when dealing with a stash
7647         conflict (bug#20292).
7649 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
7651         Add option to eshell/clear to clear scrollback.
7652         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
7653         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
7654         scrollback contents are cleared.
7655         * etc/NEWS: Describe change.
7656         * doc/misc/eshell.texi: Add entry for `clear'.
7658 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7660         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
7661         where either will do.
7663 2015-04-19  Steve Purcell  <steve@sanityinc.com>
7665         Assume package archive-contents are UTF8-encoded
7666         * lisp/emacs-lisp/package.el (package--read-archive-file):
7667         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
7668         downloaded and cached archive-contents files, so that non-ASCII
7669         characters in package descriptions are displayed correctly in the
7670         `list-packages' menu. (Bug#20231)
7672 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7674         Abort when looking at stashed changes
7675         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
7676         stashed changes (bug#20292).
7678 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7680         Refactor low-level printing for simplicity
7681         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
7682         PRINTPREPARE; doable now that we assume C99.  All callers changed.
7683         (PRINTCHAR): Remove, as it adds more mystery than clarity.
7684         All callers changed.
7685         (strout): Assume that caller computes length.  All callers changed.
7686         (print_c_string): New function.
7687         (write_string, write_string_1): Compute length instead of asking
7688         the caller to compute it.  All callers changed.
7689         (write_string): Simplify by using write_string_1.
7690         (write_string_1): Simplify by using print_c_string.
7691         (Fterpri): Compute default val more clearly.
7692         (Fprin1_to_string, print_object):
7693         Assume C99 to avoid unnecessary nesting.
7694         (print_object): Prefer print_c_string to multiple printchar, or
7695         to calling strout with -1 length.  Coalesce into sprintf when
7696         this is easy.
7698 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
7700         Prefer "Bug#1234" in commit messages (Bug#20325)
7701         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
7702         as this isn't useful for Git.
7703         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
7705 2015-04-18  Glenn Morris  <rgm@gnu.org>
7707         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
7708         (Bug#19506)
7710 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
7712         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
7713         (Bug#19505)
7715 2015-04-18  Glenn Morris  <rgm@gnu.org>
7717         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
7719         * doc/emacs/misc.texi (Sorting): Small edit.
7720         (Bug#19896)
7722         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
7724 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
7726         css-mode.el: Support multi-line comment filling
7727         (Bug#20256)
7728         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
7729         comment filling.
7730         (css-adaptive-fill): New function.
7731         (css-mode): Set `adaptive-fill-function'.
7732         (scss-mode): Set `comment-continue'.
7734 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
7736         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
7738 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
7740         Minor improvements in Bulgarian input methods
7741         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
7742         Replace U+042C with U+045D, as the former character is not used in
7743         the modern Bulgarian language.
7744         (Bug#20350)
7746 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7748         Improve EUDC manual
7749         * eudc.texi (LDAP Configuration): Mention simple and SASL
7750         authentication schemes.  Add index items.  Shorten example server
7751         name.
7753 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
7755         Don't show both feature and function with the same name
7756         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7757         Don't show both feature and function with the same name.
7759         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
7760         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7761         Avoid returning both the variable and the function for the same
7762         minor mode.
7764 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
7766         Fix fontification of keywords clobbered by the prompt.
7767         * lisp/comint.el (comint-output-filter): Remove the uses of
7768         with-silent-modifications I introduced as part of the last change.
7769         This fixes, e.g., erratically missing highlighting when running
7770         ./configure --help; ./configure in a shell-mode buffer with
7771         compilation-shell-minor-mode turned on.
7773 2015-04-17  Glenn Morris  <rgm@gnu.org>
7775         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
7777 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7779         * lisp/indent.el (indent-region): Don't deactivate the mark
7780         (Bug#20357)
7782 2015-04-17  Sam Steingold  <sds@gnu.org>
7784         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
7786 2015-04-16  Leo Liu  <sdl.web@gmail.com>
7788         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
7790 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7792         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
7794 2015-04-16  Glenn Morris  <rgm@gnu.org>
7796         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
7798 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
7800         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
7801         * configure.ac (LIBJPEG): Leave it empty for MinGW.
7803 2015-04-16  Glenn Morris  <rgm@gnu.org>
7805         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
7806         to avoid rogue setting after startup.
7808 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7810         Pre-4.6 GCC succeeds with unknown option
7811         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
7812         (Bug#20338)
7814 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7816         '[:graph:]' now excludes whitespace, not just ' '
7817         * doc/lispref/searching.texi (Char Classes):
7818         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
7819         sans whitespace (not sans space).
7820         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
7821         not just space.
7822         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
7824 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7826         (looking-back): Make the second arg non-optional.
7827         * lisp/subr.el (substitute-key-definition-key, special-form-p)
7828         (macrop): Drop deprecated second arg to indirect-function.
7829         (looking-back): Make the second arg non-optional.
7831         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
7832         command is actually sent to the shell.
7834 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7836         Port jpeg configuration to Solaris 10 with Sun C
7837         * configure.ac: Check for jpeglib 6b by trying to link it, instead
7838         of relying on cpp magic that has problems in practice.  Check for
7839         both jpeglib.h and jerror.h features.  Remove special case for
7840         mingw32, which should no longer be needed (and if it were needed,
7841         should now be addressable by hotwiring emacs_cv_jpeglib).
7842         (Bug#20332)
7844 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7846         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
7847         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
7848         Move to elisp-mode.el.
7849         (lisp-mode-variables): (Re)move elisp-specific settings.
7850         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
7851         from lisp-mode-variables.
7852         (elisp--font-lock-flush-elisp-buffers): New function, moved from
7853         lisp-mode.el.
7855         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
7856         Avoid pathological slowdown at top-level in large file.
7858 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7860         Standardize names of ChangeLog history files
7861         Suggested by Glenn Morris in:
7862         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7863         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
7864         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
7865         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
7866         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
7867         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
7868         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
7869         Remove.
7871         Split top-level entries into pre- and post-April 7
7872         This more clearly distingiushes pre-April-7 ChangeLog entries (which
7873         are for top-level files only) from post-April-7 entries (which are
7874         about files at all levels.  Problem reported by Glenn Morris in:
7875         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7876         * ChangeLog.1: Move post-April-7 entries from here ...
7877         * ChangeLog.2: ... to this new file.
7878         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
7880 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7882         Fix recent cus-start changes that added customize-rogues
7883         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
7884         vars early.
7885         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
7887 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
7889         Define cl-concatenate as an alias to seq-concatenate
7890         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
7891           code by making cl-concatenate an alias to seq-concatenate.
7893 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7895         * src/lread.c (intern_1): Make sure we'd find the symbol we add
7896         (Bug#20334)
7897         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
7899 2015-04-15  Glenn Morris  <rgm@gnu.org>
7901         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
7903 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7905         Clean up gnus-uu saving code slightly
7906         * gnus-uu.el (gnus-uu-save-article): Make the
7907         save-restriction/widen calls make more sense.
7909 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7911         Make [:graph:] act like [:print:] sans space
7912         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
7913         [:graph:] so that it matches everything that [:print:] does,
7914         except for space.
7915         * doc/lispref/searching.texi (Char Classes):
7916         * etc/NEWS:
7917         * lisp/emacs-lisp/rx.el (rx):
7918         Document [:graph:] to be [:print:] sans ' '.
7919         * src/character.c, src/character.h (graphicp): New function.
7920         * src/regex.c (ISGRAPH) [emacs]: Use it.
7921         (BIT_GRAPH): New macro.
7922         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
7923         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
7924         Return BIT_GRAPH for RECC_GRAPH.
7925         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
7926         and ISPRINT if BIT_PRINT.
7928 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7930         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
7931         Don't use call-next-method in a cl-defmethod.
7933         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
7934         (eieio--class-p): Remove, provided by cl-defstruct.
7936 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
7938         Add seq-intersection and seq-difference to the seq library
7939         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
7940         functions.
7941         * test/automated/seq-tests.el: Add tests for seq-intersection and
7942         seq-difference.
7943         * doc/lispref/sequences.texi: Add documentation for seq-intersection
7944         and seq-difference.
7946 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7948         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
7950 2015-04-14  Sam Steingold  <sds@gnu.org>
7952         package--ensure-init-file: widen requires save-restriction
7954 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
7956         Improve the commit-msg Git hook for unibyte environments
7957         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
7958         in unibyte environments.  (Suggested by Paul Eggert
7959         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
7960         [:print:], based on UTF-8 sequences of the unprintable characters.
7962         Describe problems with cursor caused by Windows Magnifier
7963         * etc/PROBLEMS: Describe the problem with cursor shape on
7964         MS-Windows due to Windows Magnifier.
7965         (Bug#20271)
7967         Make [:print:] support non-ASCII characters correctly
7968         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
7969         (BIT_PRINT): New bit mask.
7970         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
7971         * src/character.c (printablep): New function.
7972         * src/character.h (printablep): Add prototype.
7973         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
7974         of 'print', 'alnum', and 'alphabetic'.
7975         * doc/lispref/searching.texi (Char Classes): Document the new
7976         behavior of [:print:].
7977         * etc/NEWS: Mention the new behavior of [:print:].
7979         Assign correct general-category and names to surrogates
7980         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
7981         surrogates.  This avoids assigning them the default
7982         general-category of 'Cn', i.e. unassigned codepoints.
7983         (unidata-get-name): Give surrogates synthetic names.
7985 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
7987         Assume C89 offsetof in xterm.c, xlwmenu.c
7988         * lwlib/xlwmenu.c (offset):
7989         * src/xterm.c (cvt_string_to_pixel_args):
7990         Use offsetof, not XtOffset.
7992 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7994         Assume C89 offsetof in widget.c
7995         * src/widget.c (XtOffset): Remove; no longer needed.
7996         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
7998         Fix think-o in previous patch
7999         * src/window.c (count_windows, get_leaf_windows):
8000         Don't optimize count_windows incorrectly.
8002 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8004         Avoid some int overflows in window.c
8005         * src/print.c (print_object):
8006         * src/window.c (sequence_number):
8007         * src/window.h (struct window.sequence_number):
8008         Don't assume window sequence number fits in int.
8009         * src/window.c (window_select_count):
8010         * src/window.h (struct window.use_time, window_select_count):
8011         Don't assume window use time fits in int.
8012         * src/window.c (Fsplit_window_internal):
8013         Don't assume user-supplied integer, or sum, fits in int.
8014         (Fset_window_configuration, count_windows, get_leaf_windows)
8015         (save_window_save, Fcurrent_window_configuration):
8016         Use ptrdiff_t for object counts.
8017         (Fset_window_configuration): Omit unused local 'n'.
8018         (count_windows): Simplify by writing in terms of get_leaf_windows.
8019         (get_leaf_windows): Don't store through FLAT if it's null.
8020         (extract_dimension): New static function.
8021         (set_window_margins, set_window_fringes, set_window_scroll_bars):
8022         Use it to avoid undefined behavior when converting user-supplied
8023         integer to 'int'.
8025 2015-04-13  Glenn Morris  <rgm@gnu.org>
8027         Minor doc copyedits
8028         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
8029         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
8031 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8033         [Gnus] Catch the invalid-operation that idna.el will issue
8034         * lisp/gnus/gnus-art.el (gnus-use-idna):
8035         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
8036         * lisp/gnus/message.el (message-use-idna):
8037         Catch the invalid-operation that idna.el will issue.
8039 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8041         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
8043 2015-04-13  Sam Steingold  <sds@gnu.org>
8045         package--ensure-init-file: widen before looking for "(package-initialize)"
8047 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
8049         Change diff-switches default to `-u'
8050         (Bug#20290)
8051         * doc/emacs/files.texi (Comparing Files): Document the new default
8052         value of `diff-switches'.
8053         * doc/emacs/trouble.texi (Sending Patches): Document the preference
8054         for unified diff format.  Escape the plus in the suggested `-F' regexp
8055         value.
8056         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
8058 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8060         (gnus-group--setup-tool-bar-update): Fix last change
8061         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
8062         cursor-sensor-functions should be a list of functions.
8064 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8066         Use gmm-called-interactively-p in Gnus
8067         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
8069 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8071         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
8072         (Bug#20321)
8073         * lisp/cus-start.el (read-buffer-function): Don't advertize
8074         iswitchb-read-buffer any more.
8075         (iswitchb): Don't tweak this obsolete group any more.
8077 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
8079         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
8081         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
8082         Adding a string after a constructor's argument list will use
8083         that string as the constructor function docstring.  If this string
8084         is absent but the struct itself was given a docstring, use that as
8085         the constructor's docstring.
8086         Fixes (bug#17284).
8088 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8090         Deprecate `intangible' and `point-entered' properties
8091         * lisp/emacs-lisp/cursor-sensor.el: New file.
8092         * lisp/simple.el (pre-redisplay-functions): New hook.
8093         (redisplay--pre-redisplay-functions): New function.
8094         (pre-redisplay-function): Use it.
8095         (minibuffer-avoid-prompt): Mark obsolete.
8096         (redisplay--update-region-highlight): Adapt it to work as a function on
8097         pre-redisplay-functions.
8098         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
8099         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
8100         than point-entered to make the prompt intangible.
8101         * lisp/forms.el: Move `provide' calls to the end.
8102         (forms-mode): Don't use `run-hooks' on a local var.
8103         (forms--make-format, forms--make-format-elt-using-text-properties):
8104         Use cursor-intangible rather than `intangible'.
8105         (forms-mode): Enable cursor-intangible-mode.
8106         * lisp/isearch.el (isearch-mode): Use defvar-local.
8107         (cursor-sensor-inhibit): Declare.
8108         (isearch-mode): Set cursor-sensor-inhibit.
8109         (isearch-done): Set it back.
8110         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
8111         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
8112         any more.
8113         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
8114         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
8115         Add Edebug spec.
8116         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
8117         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
8118         inhibit-point-motion-hooks any more.
8119         (ses--cell-at-pos, ses--curcell): New functions, extracted from
8120         ses-set-curcell.
8121         (ses-set-curcell): Use them.
8122         (ses-print-cell, ses-setup): Use cursor-intangible instead of
8123         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
8124         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
8125         Use ses--cell-at-pos.
8126         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
8127         extracted from ses-command-hook.  Make them work with multiple windows
8128         displaying the same buffer.
8129         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
8130         Enable cursor-intangible-mode.
8131         (ses-command-hook): Remove cell highlight and mode-line update code.
8132         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
8133         Update for new name of text-property holding the cell name.
8134         (ses-rename-cell): Don't mess with mode-line-process.
8135         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
8136         cursor-sensor-functions property instead of point-entered.
8137         (erc-insert-timestamp-right, erc-format-timestamp):
8138         Use cursor-intangible rather than `intangible'.
8139         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
8140         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
8141         cursor-sensor-mode if needed.
8142         (erc-echo-timestamp): Adapt to calling convention of
8143         cursor-sensor-functions.
8144         (erc-insert-timestamp-right): Remove unused vars `current-window' and
8145         `indent'.
8146         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
8147         (gnus-update-group-mark-positions): Remove unused `topic' var.
8148         (gnus-group-insert-group-line): Remove unused var `header'.
8149         (gnus-group--setup-tool-bar-update): New function.
8150         (gnus-group-insert-group-line): Use it.
8151         (gnus-group-update-eval-form): Declare local
8152         dynamically-bound variables.
8153         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
8154         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
8155         (gnus-group-prepare-topics, gnus-topic-update-topic)
8156         (gnus-topic-change-level, gnus-topic-catchup-articles)
8157         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
8158         Use inhibit-read-only.
8159         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
8160         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
8161         * lisp/textmodes/reftex-index.el (reftex-display-index):
8162         Use cursor-intangible-mode if available.
8163         (reftex-index-post-command-hook): Check cursor-intangible.
8164         * lisp/textmodes/reftex-toc.el (reftex-toc):
8165         Use cursor-intangible-mode if available.
8166         (reftex-toc-recenter, reftex-toc-post-command-hook):
8167         Check cursor-intangible.
8168         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
8169         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
8170         (sgml-tags-invisible): Use with-silent-modifications and
8171         inhibit-read-only.  Enable cursor-sensor-mode.
8172         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
8173         calling convention of cursor-sensor-functions.
8174         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
8175         (table-point-entered-cell-hook, table-point-left-cell-hook):
8176         Don't autoload.
8177         (table-cell-entered-state): Remove var.
8178         (table--put-cell-point-entered/left-property)
8179         (table--remove-cell-properties):
8180         Use cursor-sensor-functions rather than point-entered/left.
8181         (table--point-entered/left-cell-function): Merge
8182         table--point-entered-cell-function and table--point-left-cell-function
8183         and adjust to calling convention of cursor-sensor-functions.
8185         Update ldef-boots.el
8187         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
8189         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
8191         Collapse successive char deletions in the undo log
8192         * src/cmds.c (remove_excessive_undo_boundaries): New function,
8193         extracted from Fself_insert_command.
8194         (Fdelete_char, Fself_insert_command): Use it.
8195         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
8196         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
8198         xterm and OSC 52: Add NEWS entry, and tweak the code
8199         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
8200         top-level.
8201         (terminal-init-xterm-activate-set-selection): Set a terminal property.
8202         (xterm--set-selection): Use it instead of checking the value of
8203         `terminal-initted'.  Don't use string-bytes.
8205 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
8207         xterm.el: Implement OSC-52 functionality for setting the X selection
8208         * lisp/term/xterm.el (xterm-max-cut-length): New var.
8209         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
8210         (terminal-init-xterm, xterm--version-handler): Use them.
8212 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8214         Remove left over code from when we used an obsolete/loaddefs.el file
8215         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
8216         we used an obsolete/loaddefs.el file.
8218         * cedet/semantic/fw.el: Use declare.
8219         * cedet/semantic/fw.el (semantic-exit-on-input)
8220         (semanticdb-without-unloaded-file-searches): Use declare.
8221         (semantic-fw-add-edebug-spec): Remove.
8223         (completion-lisp-mode-hook): Use completion-separator-chars
8224         * lisp/completion.el (completion-lisp-mode-hook):
8225         Use completion-separator-chars rather than local key binding.
8227         * src/*.c: Set deactivate_mark buffer-locally
8228         (Bug#20260)
8229         * src/insdel.c (prepare_to_modify_buffer_1):
8230         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
8231         buffer-locally.
8233 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8235         python.el: Keep symmetry on sexp navigation with parens
8236         (Bug#19954)
8237         * lisp/progmodes/python.el
8238         (python-nav--forward-sexp): Add argument skip-parens-p.
8239         (python-nav-forward-sexp, python-nav-backward-sexp)
8240         (python-nav-forward-sexp-safe)
8241         (python-nav-backward-sexp-safe): Use it.
8242         * test/automated/python-tests.el
8243         (python-nav-forward-sexp-1): Fix test.
8245 2015-04-12  João Távora  <joaotavora@gmail.com>
8247         Don't use `setq-local' in Gnus code
8248         This might break upstream builds with older Emacsen
8249         * lisp/gnus/message.el (message-mode): Use `set' and
8250         `make-local-variable' instead of `setq-local'.
8252 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8254         Update Makefile.in's .PHONY dependencies
8255         * Makefile.in (change-history-commit, master-branch-is-current)
8256         (no-ChangeLog): Now phony.
8258         Remove configure's --with-mmdf option
8259         * configure.ac (MAIL_USE_MMDF): Remove.
8260         * etc/NEWS: Document this.
8261         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8262         (Bug#20308)
8264         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8265         That way, 'make install' won't think it's a man page.
8266         Reported by Ashish SHUKLA in:
8267         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8269         Improve 'make change-history' prereq tests
8270         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8271         (no-ChangeLog, master-branch-is-current): New rules.
8272         (change-history): Depend on them, to avoid similar future problems.
8273         Escape the local-variables string to pacify Emacs when editing
8274         Makefile.in.
8276 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8278         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8280         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8281         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8282         "Upgrade" last, and use capitalized instead of all-caps.
8284         * lisp/emacs-lisp/package.el: Completely silence async operations
8285         (package--make-autoloads-and-stuff): Silence autoloads.
8286         (package--save-selected-packages): New function, silences
8287         `customize-save-variable'.
8288         (package--user-selected-p, package-install-from-buffer)
8289         (package-delete, package-install): Use it.
8290         (package-install-from-archive)
8291         (package-menu--perform-transaction): Silence.
8292         (package-menu-execute): Feedback when operation starts.
8294         Use delay-mode-hooks when visiting the init-file
8295         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8296         delay-mode-hooks
8297         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8299         * lisp/files.el: Only message when saving if save-silently is nil
8300         (save-silently): New variable.
8301         (files--message): New function.
8302         (find-file-noselect, save-buffer, basic-save-buffer)
8303         (basic-save-buffer-2, save-some-buffers, not-modified)
8304         (append-to-file): Use them.
8306 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8308         Support debug declarations in pcase macros
8309         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8310         (pcase-UPAT): Use it.  Remove "`".
8311         (pcase--edebug-match-macro): New function.
8312         (pcase-defmacro): Support debug declarations.
8313         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8314         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8315         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8317         pcase.el: Edebug support for `app' and vector patterns
8318         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8319         (pcase-UPAT): Use it. Support `app' patterns.
8320         (pcase-QPAT): Support vector patterns.
8322         edebug.el: Disambiguate vector specifications
8323         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8324         `(vector ...)' as a vector specification, not as a sublist.
8326         (gnus-summary-refer-thread): Don't clobber unread articles
8327         This fixes a bug where `A T' causes "random" articles to become marked
8328         as read.
8329         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8330         gnus-newsgroup-unreads remains sorted.
8332         mouse-sel.el: Fix mouse-sel-get-selection-function
8333         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8334         Use gui--last-selected-text-primary instead of no longer existing
8335         gui-last-selected-text.
8337         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8339         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8341 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8343         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8345         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8347         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8348         (byte-compile--interactive): New var.
8349         (byte-compile--message): New function.
8350         (byte-compile-log-1, byte-force-recompile)
8351         (byte-recompile-directory, byte-recompile-file)
8352         (byte-compile-file, compile-defun)
8353         (byte-compile-file-form-defmumble, byte-compile)
8354         (byte-compile-file-form-defalias, display-call-tree): Use it.
8356         * lisp/files.el: Don't message when nothing happened
8357         (save-some-buffers, basic-save-buffer): Before messaging to say
8358         "nothing was saved" check if (called-interactively-p 'any).
8360 2015-04-12  João Távora  <joaotavora@gmail.com>
8362         Summary: Improve sexp-based movement in message-mode
8363         Works by giving citations and smileys a different syntax.  This helps
8364         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8365         sexp-based movement.
8366         * lisp/gnus/message.el (message--syntax-propertize): New function.
8367         (message-mode): Set syntax-related vars.
8368         (message-smileys): New variable.
8369         * test/automated/message-mode-tests.el: New file
8371 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8373         Use bool for boolean in window.c
8374         * src/window.c: Omit unnecessary static function decls.
8375         (adjust_window_count, select_window, Fselect_window)
8376         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8377         (set_window_hscroll, check_window_containing, Fwindow_at)
8378         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8379         (unshow_buffer, replace_window, recombine_windows)
8380         (add_window_to_list, candidate_window_p, next_window)
8381         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8382         (Fget_buffer_window, Fdelete_other_windows_internal)
8383         (replace_buffer_in_windows_safely, set_window_buffer)
8384         (Fset_window_buffer, Fforce_window_update)
8385         (temp_output_buffer_show, make_parent_window)
8386         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8387         (resize_frame_windows, Fsplit_window_internal)
8388         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8389         (Fresize_mini_window_internal, mark_window_cursors_off)
8390         (window_scroll, window_scroll_pixel_based)
8391         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8392         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8393         (Fmove_to_window_line, Fset_window_configuration)
8394         (delete_all_child_windows, apply_window_adjustment)
8395         (set_window_fringes, set_window_scroll_bars)
8396         (Fset_window_vscroll, foreach_window, foreach_window_1)
8397         (compare_window_configurations, Fcompare_window_configurations):
8398         Prefer 'bool', 'true', and 'false' for booleans.
8399         * src/window.h (WINDOW_MODE_LINE_LINES)
8400         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8402 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8404         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8405         This prevents emacs-lisp-mode-hook from being run everytime an
8406         autoload file is generated, which can account for a fraction of
8407         package installation time depending on the hooks the user has
8408         configured.
8409         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8410         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8411         (autoload-find-generated-file): Use delay-mode-hooks.
8413         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8414         (package-menu-refresh): Respect async and do new package checking.
8415         (list-packages): Use `package-menu-refresh' instead of repeating code.
8417         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8418         (package--quick-help-keys): New variable.
8419         (package--prettify-quick-help-key): New function.
8420         (package-menu-quick-help): Use it.
8422         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8423         (package--build-compatibility-table): require finder
8425         * test/automated/package-test.el: Fix new test
8427         * lisp/emacs-lisp/package.el: Silence async operations
8428         (package--silence): New variable.
8429         (package--message): New function.
8430         (package-import-keyring, package-refresh-contents)
8431         (package-compute-transaction, package-install, package-delete)
8432         (package-menu--perform-transaction, package-menu-execute): Use it.
8434         * test/automated/package-test.el: Test async functionality
8435         (package-test-update-archives-async): New test
8437 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8439         Utilize `make-process' in epg.el
8440         * lisp/epg.el (epg-error-output): Abolish.
8441         (epg-context): New slot `error-buffer'.
8442         (epg--start): Use `make-process' and `make-pipe-process'.
8443         (epg--process-filter): Remove code separating stderr from stdout.
8444         (epg-wait-for-completion): Simplify `error-output' handling.
8445         (epg-reset): Dispose error buffer.
8447 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8449         * .gitignore: Ignore doc temps and outputs.
8451         Port commit-msg to MSYS Bash+Gawk
8452         See Eli Zaretskii in:
8453         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8454         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8455         (cent_sign, print_at_sign, at_sign): Revert previous change.
8456         (print_at_sign): Prepend "BEGIN".
8457         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8459         Port commit-msg to broken MS-Windows shell
8460         * build-aux/git-hooks/commit-msg (cent_sign):
8461         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8462         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8463         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8465 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8467         Support GnuTLS v3.4 and later on MS-Windows
8468         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
8469         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
8470         GnuTLS DLL to load according to value of libgnutls-version.
8471         (Bug#20294)
8473 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8475         Minor quoting etc. fixes to misc manuals
8476         Fix some minor quoting and spacing issues.  Distinguish more
8477         clearly among grave accent and apostrophe (which are ASCII) and
8478         single quote (which is not).  Prefer the standard terms
8479         "apostrophe" and "grave accent" to alternative names that can be
8480         confusing.  Use apostrophes to single-quote ASCII text.
8481         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
8482         rather than approximating it in ASCII with grave accent.
8484 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8486         Respect more keyword args in `make-process'
8487         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
8488         keywords as documented.
8490 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
8492         Extract ChangeLog entries when committing a directory
8493         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
8494         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
8495         Add a FIXME comment.
8496         (log-edit-changelog-entries): Extract from
8497         `log-edit-changelog-entries', handle FILE being a directory
8498         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
8500 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8502         Fix problems found by --enable-gcc-warnings
8503         * src/process.c (create_process, Fmake_pipe_process)
8504         (Fmake_network_process): Omit unused locals.
8506         Fix commit-msg to handle scissors lines
8507         * build-aux/git-hooks/commit-msg:
8508         Ignore every line after a scissors line, such as a line generated
8509         by 'git commit -v'.  Problem reported by Johan Bockgård in:
8510         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
8512         port commit-msg to Gawk 3.0.4 (1999)
8513         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
8514         (print_at_sign, at_sign): New vars.  Use them to avoid problems
8515         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
8516         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8518         Have commit-msg report commit failure
8519         * build-aux/git-hooks/commit-msg: If the commit is aborted,
8520         say so.  Simplify by doing this at the end.  Problem reported
8521         by Eli Zaretskii in:
8522         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8524 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8526         Clean up LDAP Configuration section of EUDC manual
8527         * doc/misc/eudc.texi: Combine indices.
8528         (LDAP Configuration): Use command markup.  Add index entries.
8529         Change formatting.  Wrap long lines.  Add noindent markup.
8531 2015-04-10  Daiki Ueno  <ueno@gnu.org>
8533         Add facility to collect stderr of async subprocess
8534         * src/w32.h (register_aux_fd): New function declaration.
8535         * src/w32.c (register_aux_fd): New function.
8536         * src/process.h (struct Lisp_Process): New member stderrproc.
8537         * src/process.c (PIPECONN_P): New macro.
8538         (PIPECONN1_P): New macro.
8539         (Fdelete_process, Fprocess_status, Fset_process_buffer)
8540         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
8541         (Fcontinue_process): Handle pipe process specially.
8542         (create_process): Respect p->stderrproc.
8543         (Fmake_pipe_process): New function.
8544         (Fmake_process): Add new keyword argument :stderr.
8545         (wait_reading_process_output): Specially handle a pipe process when
8546         it gets an EOF.
8547         (syms_of_process): Register Qpipe and Smake_pipe_process.
8548         * doc/lispref/processes.texi (Asynchronous Processes): Document
8549         `make-pipe-process' and `:stderr' keyword of `make-process'.
8550         * lisp/subr.el (start-process): Suggest to use `make-process' handle
8551         standard error separately.
8552         * test/automated/process-tests.el (process-test-stderr-buffer)
8553         (process-test-stderr-filter): New tests.
8554         * etc/NEWS: Mention new process type `pipe' and its usage with the
8555         `:stderr' keyword of `make-process'.
8557 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8559         Minor quoting etc. fixes to lispref manual
8560         * doc/lispref/tips.texi (Documentation Tips):
8561         Distinguish more clearly among grave accent, apostrophe,
8562         and single quote.
8563         * doc/lispref/README, doc/lispref/buffers.texi:
8564         * doc/lispref/commands.texi, doc/lispref/control.texi:
8565         * doc/lispref/customize.texi, doc/lispref/display.texi:
8566         * doc/lispref/elisp.texi, doc/lispref/files.texi:
8567         * doc/lispref/frames.texi, doc/lispref/hash.texi:
8568         * doc/lispref/help.texi, doc/lispref/internals.texi:
8569         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
8570         * doc/lispref/markers.texi, doc/lispref/modes.texi:
8571         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
8572         * doc/lispref/os.texi, doc/lispref/positions.texi:
8573         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
8574         * doc/lispref/text.texi, doc/lispref/tips.texi:
8575         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
8576         Use American-style double quoting in ordinary text,
8577         and quote 'like this' when single-quoting in ASCII text.
8578         Also, fix some minor spacing issues.
8580 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
8582         Handle symlinked test directory in tramp-tests.el
8583         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
8584         (tramp--test-check-files): Use `file-truename' for directories.
8586 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
8588         Fix 'recenter' when visual-line-mode is turned on
8589         * src/window.c (Frecenter): Use the same code for GUI and TTY
8590         frames alike; use vmotion only for "initial" frames.  This is
8591         because vmotion doesn't support visual-line-mode.  Rewrite the
8592         'iarg >= 0' case to use move_it_* functions instead of using
8593         vmotion, for the same reason.  Fix the clipping of the argument
8594         value to support scroll-margin in all cases and avoid unwarranted
8595         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
8596         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
8597         which see.
8599 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8601         * abbrev.el (define-abbrev-table): Refine last change.
8603         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
8604         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
8605         use of c[ad]+r", so as to keep the "cl-" prefix on all
8606         cl-lib definitions.
8608         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
8610         * lisp/cedet/semantic: Remove some dead code
8611         * lisp/cedet/semantic/util-modes.el
8612         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
8613         any more.
8614         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
8615         not supported any more.
8616         (semantic-safe): Use `declare'.
8617         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
8618         (semantic-tag-intangible-p): Remove unused functions.
8619         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
8620         Remove unused function.
8622         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
8623         (gnus-article-hide-text, gnus-article-unhide-text)
8624         (gnus-article-unhide-text-type): Remove special handling of
8625         `intangible' since that property is not used any more.
8626         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
8628 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8630         Use the VC root in `log-edit-listfun'
8631         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
8632         `log-edit-listfun'.
8634 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
8636         Fix description of Unix time, mention new function.
8637         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
8638         Unix time.
8639         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
8640         (Basic Operations on Units): Mention `calc-convert-exact-units'.
8642 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
8644         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
8646 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8648         (log-edit-insert-changelog-entries): Don't add newline after the last entry
8649         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
8650         Don't add newline after the last entry.
8652 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
8654         css-mode.el: Add "not" pseudo-class
8655         (Bug#20267)
8656         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
8657         list of CSS pseudo-classes.
8659 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8661         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
8663 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
8665         Stop messing with the EMACS env var
8666         * misc.texi (Interactive Shell): Remove description of EMACS env var.
8668 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8670         Adapt 'make change-history' to coding cookie
8671         * Makefile.in (change-history): Adjust to change of format of
8672         ChangeLog file, which now has a coding cookie before an indented
8673         copyright notice.
8675 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8677         Adapt 'make change-history' to coding cookie
8678         * Makefile.in (change-history): Adjust to change of format of
8679         ChangeLog file, which now has a coding cookie before an indented
8680         copyright notice.
8682         gitlog-to-changelog coding cookie and mv -i
8683         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
8684         for copyright notice prototype, so that we get a proper "coding:"
8685         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
8686         existing ChangeLog.  Problems reported by Eli Zaretskii in:
8687         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
8689         Merge from gnulib
8690         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
8691         2015-04-09 gitlog-to-changelog: port to MS-Windows
8693 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
8695         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
8696         (Bug#20212)
8698 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8700         Stop messing with the EMACS env var
8701         (Bug#20202)
8702         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
8703         * lisp/comint.el (comint-exec-1):
8704         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
8705         * lisp/progmodes/compile.el (compilation-start): Same and bring
8706         INSIDE_EMACS's format in line with other users.
8708         css-mode.el (css-smie-rules): Fix indentation after complex selectors
8709         (Bug#20282)
8710         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
8711         inner structure of selectors.
8713 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8715         python.el: Indent docstring lines to base-indent
8716         (Bug#19595)
8717         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
8718         an initial patch.
8719         * lisp/progmodes/python.el
8720         (python-indent-context): Add :inside-docstring context.
8721         (python-indent--calculate-indentation): Handle :inside-docstring.
8722         (python-indent-region): Re-indent docstrings.
8723         * test/automated/python-tests.el (python-indent-region-5)
8724         (python-indent-inside-string-2): Fix tests.
8726         python.el: Increase native completion robustness
8727         (Bug#19755)
8728         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
8729         this and providing useful ideas.
8730         * lisp/progmodes/python.el
8731         (python-shell-completion-native-output-timeout): Increase value.
8732         (python-shell-completion-native-try-output-timeout): New var.
8733         (python-shell-completion-native-try): Use it.
8734         (python-shell-completion-native-setup): New readline setup avoids
8735         polluting current context, ensures output when no-completions are
8736         available and includes output end marker.
8737         (python-shell-completion-native-get-completions): Trigger with one
8738         tab only.  Call accept-process-output until output end is found or
8739         python-shell-completion-native-output-timeout is exceeded.
8741 2015-04-08  Samer Masterson  <samer@samertm.com>
8743         * lisp/eshell: Make backslash a no-op in front of normal chars
8744         (Bug#8531)
8745         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
8746         (eshell-parse-backslash): Return escaped character after backslash
8747         if it is special.  Otherwise, if the backslash is not in a quoted
8748         string, ignore the backslash and return the character after; if
8749         the backslash is in a quoted string, return the backslash and the
8750         character after.
8751         * test/automated/eshell.el (eshell-test/escape-nonspecial)
8752         (eshell-test/escape-nonspecial-unicode)
8753         (eshell-test/escape-nonspecial-quoted)
8754         (eshell-test/escape-special-quoted): Add tests for new
8755         `eshell-parse-backslash' behavior.
8757 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
8759         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
8760         after the file name.
8761         (Bug#20276)
8763 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8765         Minor quoting etc. fixes to Emacs manual
8766         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
8767         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
8768         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
8769         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
8770         * doc/emacs/indent.texi, doc/emacs/macos.texi:
8771         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
8772         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
8773         * doc/emacs/search.texi, doc/emacs/trouble.texi:
8774         * doc/emacs/vc1-xtra.texi:
8775         Use American-style double quoting in ordinary text,
8776         and quote 'like this' when single-quoting in ASCII text.
8777         Also, fix some minor spacing issues.
8779         Minor quoting etc. fixes to elisp intro
8780         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
8781         American-style double quoting in ordinary text.  In ASCII text,
8782         consistently quote 'like this' instead of `like this', unless
8783         Emacs requires the latter.
8785 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
8787         * CONTRIBUTE: Mention log-edit-insert-changelog.
8789         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
8791 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8793         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
8795 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8797         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
8798         (Bug#20270)
8799         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
8800         Fix inheritance of initargs.
8802 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
8804         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
8805         while dowloading information.
8807         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
8808         (package--ensure-init-file): Check file contents before visiting.
8809         (package-initialize): Call it.
8810         (package-install-from-buffer, package-install): Don't call it.
8812 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
8814         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
8815         (Bug#17517)
8817 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
8819         Fix nasty scoping bug in tramp-cache.el
8820         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
8822 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
8824         Add notice to visual commands section
8825         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
8826         such as git call less with its -F option which omits pagination if
8827         the contents is less than one page long.  This interferes with
8828         eshell's visual (sub-)commands.
8830 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
8832         ffap: Support environment variable expansion in file names
8833         (Bug#19839)
8834         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
8835         environment variable expansion in file names.
8837 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8839         Prefer double-quote to accent-grave in man pages
8841 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8843         (Bug#20257)
8844         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
8846 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
8848         Update etc/PROBLEMS.
8849         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
8850         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
8851         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
8852         respectively); other minor updates and tweaks.  (Bug#20011)
8854 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8856         Add doc strings for some Isearch state vars
8857         * lisp/misearch.el (multi-isearch-buffer-list)
8858         (multi-isearch-file-list): Add doc strings.
8859         (Bug#20232)
8861 2015-04-07  Alan Mackenzie  <acm@muc.de>
8863         Always mark "<" and ">" in #include directives with text properties.
8864         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
8865         matcher" with an invocation of c-make-font-lock-search-function to allow
8866         fontification when there's no trailing space on an "#include <..>" line.
8868 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8870         Generate a ChangeLog file from commit logs
8871         * .gitignore: Add 'ChangeLog'.
8872         * build-aux/gitlog-to-changelog: New file, from Gnulib.
8873         * build-aux/gitlog-to-emacslog: New file.
8874         * CONTRIBUTE: Document the revised workflow.
8875         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
8876         instead of just special cases.
8877         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
8878         (ChangeLog, unchanged-history-files, change-history)
8879         (change-history-commit): New rules.
8880         * admin/admin.el (make-manuals-dist--1):
8881         Don't worry about doc/ChangeLog.
8882         * admin/authors.el: Add a FIXME.
8883         * admin/make-tarball.txt:
8884         * lisp/calendar/icalendar.el:
8885         * lisp/gnus/deuglify.el:
8886         * lisp/obsolete/gulp.el:
8887         * lwlib/README:
8888         Adjust to renamed ChangeLog history files.
8889         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
8890         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
8891         Remove obsolete discussion of merging ChangeLog files.
8892         New section "Maintaining ChangeLog history".
8893         * build-aux/git-hooks/pre-commit:
8894         Reject attempts to commit files named 'ChangeLog'.
8895         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
8896         * make-dist: Make and distribute top-level ChangeLog if there's a
8897         .git directory.  Distribute the new ChangeLog history files
8898         instead of scattered ChangeLog files.  Distribute the new files
8899         gitlog-to-changelog and gitlog-to-emacslog.
8900         (Bug#19113)
8902         Rename ChangeLogs for gitlog-to-changelog
8903         This patch was implemented via the following shell commands:
8904         find * -name ChangeLog |
8905         sed 's,.*,git mv & &.1,
8906         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
8907         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
8908         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
8909         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
8910         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
8911         sh
8912         git commit -am"[this commit message]"
8914 This file records repository revisions from
8915 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
8916 commit 9596accf506e66153d9a24828d530543edd8f4b8 (inclusive).
8917 See ChangeLog.1 for earlier changes.
8919 ;; Local Variables:
8920 ;; coding: utf-8
8921 ;; End:
8923   Copyright (C) 2015 Free Software Foundation, Inc.
8925   This file is part of GNU Emacs.
8927   GNU Emacs is free software: you can redistribute it and/or modify
8928   it under the terms of the GNU General Public License as published by
8929   the Free Software Foundation, either version 3 of the License, or
8930   (at your option) any later version.
8932   GNU Emacs is distributed in the hope that it will be useful,
8933   but WITHOUT ANY WARRANTY; without even the implied warranty of
8934   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8935   GNU General Public License for more details.
8937   You should have received a copy of the GNU General Public License
8938   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.