Add project-vc-search-path and project-vc-ignores
[emacs.git] / ChangeLog.2
blobfd4ac82b81ce5bba83bdc6165a0f413b04114231
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.
89         The existing behaviour for seq-subseq is to error when indexes are too
90         large, but to silently ignore numbers which are too negative for lists.
91         String and vector handling errors in both cases. This has been
92         regularlised.
93         Error signalling behaviour has been explicitly added to the docstring of
94         seq-subseq, and also to cl-subseq which largely defers to
95         seq-subseq (and is therefore also impacted by this change).
96         Tests have been added for these exceptional cases, as well as one non
97         exceptional base case.
99 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
101         Improve error checking in tramp-adb.el
102         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
103         Improve error checking.  "ls -l" on Android in Enforcing mode can
104         print "lstat './FILENAME failed: Permission denied".
106 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
108         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
109         non-struct vectors.
111 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
113         lisp/window.el: fix typo, more `display-buffer-use-some-frame'
114         * lisp/window.el: fix typo that broke build
115         (display-buffer--action-function-custom-type): add
116         `display-buffer-use-some-frame'
117         (display-buffer): add `display-buffer-use-some-frame' to doc string
119         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
120         * lisp/window.el (display-buffer-use-some-frame): Add support for
121         'inhibit-same-window in alist.
122         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
123         'inhibit-same-window in alist.
125 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
127         Avoid infinite loop in display of invisible text in strings
128         * src/xdisp.c (handle_invisible_prop): If the next change of
129         invisibility spec does not mean the beginning of a visible text,
130         update the string position from which to start the search for the
131         next invisibility change.  This avoids an infinite loop when we
132         have more than one invisibility spec that are made inactive by
133         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
134         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
135         for the situation that caused bug #21200.
137 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
139         * lisp/emacs-lisp/package.el: Simplify describe-package-1
140         (package-help-section-name-face): New face.
141         (package--print-help-section): New function.
142         (describe-package-1): Refactor section printing.
143         (package-make-button): Use face instead of font-lock-face, which
144         doesn't work on buttons.
146         * lisp/emacs-lisp/package.el: Define custom faces
147         (package-name-face, package-description-face)
148         (package-status-built-in-face, package-status-external-face)
149         (package-status-available-face, package-status-new-face)
150         (package-status-held-face, package-status-disabled-face)
151         (package-status-installed-face, package-status-dependency-face)
152         (package-status-unsigned-face, package-status-incompat-face)
153         (package-status-avail-obso-face): New faces.
154         (package-menu--print-info-simple): Use them.
156 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
158         Fix some confusion with ‘format’
159         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
160         (allout-graphics-modification-handler):
161         Protect arbitrary string in a format context with "%s" format.
162         * lisp/avoid.el:
163         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
164         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
165         * lisp/erc/erc-button.el (erc-button-beats-to-time):
166         * lisp/gnus/message.el (message-send-form-letter):
167         * lisp/org/ob-core.el (org-babel-check-evaluate)
168         (org-babel-confirm-evaluate):
169         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
170         * lisp/org/ox-latex.el (org-latex-compile):
171         * lisp/org/ox-man.el (org-man-compile):
172         * lisp/org/ox-odt.el (org-odt-template):
173         * lisp/org/ox-texinfo.el (org-texinfo-compile):
174         * lisp/progmodes/prolog.el (prolog-help-info)
175         (prolog-view-predspec):
176         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
177         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
178         * lisp/textmodes/rst.el (rst-replace-lines):
179         Change (message (format ...)) to (message ...), and likewise
180         for ‘error’.  This lessens the probability of confusion when the
181         output of ‘format’ contains ‘%’.
183 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
185         * lisp/replace.el (replace-character-fold): Default to nil
187         * lisp/character-fold.el: Fix lax whitespace
188         (character-fold-table): Don't make space match other whitespace chars.
189         (character-fold-to-regexp): Simplify lax behaviour.
191 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
193         Preserve window point in xref-find-definitions-other-window
194         Fix the problem reported by Ingo Logmar in
195         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
196         * lisp/progmodes/xref.el (xref--goto-char): Extract from
197         xref--goto-location.
198         (xref--pop-to-location): Use it. Replace xref--goto-location with
199         a direct xref-location-marker call.
200         (xref--show-location): Likewise.
201         (xref--display-position): Use xref--goto-char.
203         * lisp/progmodes/project.el: Add a paragraph to the front matter.
205 2015-08-04  David Kastrup  <dak@gnu.org>
207         Do not overwrite preexisting contents of unread-command-events
208         * lisp/vc/emerge.el (emerge-show-file-name):
209         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
210         (vhdl-comment-insert, vhdl-hooked-abbrev):
211         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
212         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
213         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
214         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
215         * lisp/obsolete/vip.el (vip-escape-to-emacs)
216         (vip-prefix-arg-value, vip-prefix-arg-com):
217         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
218         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
219         (quail-tibkey-update-translation):
220         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
221         * lisp/leim/quail/lao.el (quail-lao-update-translation):
222         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
223         (quail-japanese-self-insert-and-switch-to-alpha):
224         * lisp/leim/quail/hangul.el (hangul2-input-method)
225         (hangul3-input-method, hangul390-input-method):
226         * lisp/language/hanja-util.el (hangul-to-hanja-char):
227         * lisp/international/robin.el (robin-input-method):
228         * lisp/international/quail.el (quail-start-translation)
229         (quail-start-conversion):
230         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
231         (gnus-article-describe-key-briefly):
232         * lisp/eshell/em-hist.el (eshell-list-history):
233         * lisp/term.el (term-dynamic-list-input-ring)
234         (term-dynamic-list-completions):
235         * lisp/subr.el (momentary-string-display):
236         * lisp/simple.el (read-quoted-char):
237         * lisp/pcomplete.el (pcomplete-show-completions):
238         * lisp/kmacro.el (kmacro-repeat-on-last-key):
239         * lisp/info.el (Info-summary):
240         * lisp/ehelp.el (electric-help-command-loop):
241         * lisp/ebuff-menu.el (electric-buffer-list)
242         (Electric-buffer-menu-exit):
243         * lisp/double.el (double-translate-key):
244         * lisp/comint.el (comint-dynamic-list-input-ring)
245         (comint-dynamic-list-completions): Do not overwrite preexisting
246         contents of `unread-command-events' when putting new events into
247         it.
249 2015-08-04  Daniel Colascione  <dancol@dancol.org>
251         Improve ansi-color filtering of unrecognized escape sequences
252         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
253         escape sequences.
254         (ansi-color-filter-apply): Filter out unrecognized escape sequences
255         (ansi-color-apply): Filter out unrecognized escape sequences
257 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
259         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
260         definitions to `easy-menu-define', improve a couple to account for
261         async, and add a couple of new commands.
263 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
265         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
267 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
269         Add new 'calendar-weekend-days' option
270         Make the days receiving the 'calendar-weekend-header' face freely
271         customizable, as they differ by region/culture.
272         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
273         new variable.
274         * lisp/calendar/calendar.el (calendar-generate-month): New variable
275         calendar-weekend-days to customize day header fontification.
277 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
279         Redo text-quoting-style variable
280         Rename help-quote-translation to text-quoting-style,
281         and use symbols rather than characters as values.
282         This follows suggestions along these lines by Alan Mackenzie in:
283         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
284         and by Drew Adams in:
285         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
286         * doc/lispref/help.texi (Keys in Documentation)
287         * etc/NEWS:
288         * lisp/cus-start.el (standard):
289         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
290         Document and/or implement the new behavior instead of the old.
291         (syms_of_doc): New symbols 'grave' and 'straight'.
293 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
295         nnimap.el: Use IMAP MOVE extension if available
296         * lisp/gnus/nnimap.el (nnimap-request-move-article)
297         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
298         Use MOVE extension if available.
300         nnimap.el: Explicitly ask for server capabilities
301         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
302         capabilities will be returned in the login-result.
304 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
306         Treat help strings like other doc strings
307         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
308         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
309         substitute-command-keys.
310         * src/keyboard.c (show_help_echo, parse_menu_item): Call
311         substitute-command-keys on the help string before displaying it.
313         Also mention "curly quotes"
314         See Drew Adams's email in:
315         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
316         * doc/lispref/help.texi (Keys in Documentation):
317         Add index entry "curly quotes".
318         * etc/NEWS: Use the phrase "curly quotes" too.
320         ede-proj-target-makefile docstring tweaks
321         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
322         Consistently use "all:" to describe the all: target,
323         replacing three different and confusingly-quoted usages.
325 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
327         Whitespace fixes
329 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
331         Don't abort emacsclientw when -a was specified
332         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
333         out if we are in emacsclientw and -a was specified.
335 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
337         Fix handling of 1st keystroke on MS-Windows
338         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
339         This is needed to correctly handle the session's first keystroke,
340         if it has any modifiers.  (Bug#19994)
342 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
344         Substitute some customization etc. doc strings
345         These changes apply substitute-command-keys to some
346         doc strings that were going through untranslated
347         when creating customization or other widgets.
348         * lisp/cus-edit.el (custom-group-value-create):
349         * lisp/wid-edit.el (widget-default-create):
350         (widget-push-button-value-create):
351         Treat the widget tag as a doc string.
352         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
353         Treat the :documentation value as a doc string.
354         * lisp/wid-edit.el (widget-choose):
355         Treat the choice names as doc strings.
356         (widget-default-create): Treat the :doc value as a doc string.
357         (widget-toggle-value-create): Treat the :on and :off values
358         as doc strings.
359         (widget-documentation-string-value-create):
360         Substitute the doc string.
362 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
364         Add a second argument to project-ignores
365         * lisp/progmodes/project.el (project-ignores): Add a second
366         argument DIR.
367         * lisp/progmodes/project.el (project-ignores): Only include the VC
368         ignores if DIR is the VC root.
369         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
371 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
373         Prevent incorrect display when 'line-spacing' variable is set
374         * src/xdisp.c (try_window_id): Give up this optimization if the
375         buffer has its 'line-spacing' variable set non-nil.
377 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
379         Don't pass NOVISIT to find-file
380         * lisp/progmodes/etags.el (next-file):
381         Don't pass NOVISIT to find-file (bug#21175).
383         Ignore buffer restriction for tags-loop-eval
384         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
385         restriction (bug#21167).
387 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
389         Fix a thinko in 'ffap-gopher-at-point'
390         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
392         Honor 'line-spacing' for empty lines
393         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
394         property and 'line-spacing' frame parameter or variable or
395         property for empty lines, by doing the same processing as in
396         x_produce_glyph for newline characters.  (Bug#21165)
398 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
400         Simplify by assuming C99 integer division
401         * src/floatfns.c (ceiling2, floor2, truncate2):
402         Assume C99 (i.e., Fortran) semantics for integer division.
403         This simplifies the code.
405 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
407         Don't overflow if computing approximate percentage
408         * lisp/align.el (align-region):
409         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
410         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
411         * lisp/cus-edit.el (custom-buffer-create-internal):
412         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
413         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
414         (checkdoc-next-message-error):
415         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
416         * lisp/epa.el (epa-progress-callback-function):
417         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
418         * lisp/ffap.el (ffap-menu-rescan):
419         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
420         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
421         * lisp/gnus/nneething.el (nneething-retrieve-headers):
422         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
423         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
424         * lisp/gnus/nnml.el (nnml-retrieve-headers):
425         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
426         * lisp/gnus/nntp.el (nntp-retrieve-headers)
427         (nntp-retrieve-articles):
428         * lisp/imenu.el (imenu--relative-position):
429         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
430         (skkdic-convert-okuri-nasi):
431         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
432         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
433         * lisp/org/org-list.el (org-update-checkbox-count):
434         * lisp/org/org.el (org-table-map-tables)
435         (org-update-parent-todo-statistics):
436         * lisp/play/decipher.el (decipher-insert-frequency-counts)
437         (decipher-analyze-buffer):
438         * lisp/profiler.el (profiler-format-percent):
439         * lisp/progmodes/cc-cmds.el (c-progress-update):
440         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
441         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
442         (idlwave-list-load-path-shadows):
443         * lisp/progmodes/opascal.el (opascal-step-progress):
444         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
445         (vhdl-scan-directory-contents):
446         * lisp/textmodes/bibtex.el (bibtex-progress-message):
447         * lisp/textmodes/flyspell.el (flyspell-small-region)
448         (flyspell-external-point-words):
449         * lisp/textmodes/table.el (table-recognize):
450         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
451         progress-report percentages and the like.  This avoids problems
452         if (* 100 NUMERATOR) would overflow.
453         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
454         * lisp/gnus/registry.el (registry-reindex):
455         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
456         * lisp/descr-text.el (describe-char):
457         * lisp/org/org-colview.el (org-nofm-to-completion):
458         * lisp/ps-print.el (ps-plot):
459         * lisp/simple.el (what-cursor-position):
460         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
461         more-complicated and less-accurate approximation.
463         Fix some int overflows in profiler.c
464         * src/profiler.c (make_log): Make args EMACS_INT, not int,
465         to avoid unwanted behavior on 'int' overflow.
466         (make_log, evict_lower_half, record_backtrace):
467         Use ptrdiff_t, not int, for object indexes.
469         Port to pedantic memcpy
470         * src/keyboard.c (menu_bar_items, tool_bar_items):
471         * src/xrdb.c (magic_db):
472         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
474         Merge from gnulib
475         This incorporates:
476         2015-07-29 time_rz: port to pedantic memcpy
477         * lib/time_rz.c: Copy from gnulib.
479 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
481         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Fix bug
482         When updating the very last entry, tabulated-list-print would
483         erase it and then try to look at the next one (which obviously
484         isn't there).
486 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
488         Allow to use the old key processing code on MS-Windows
489         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
490         New variable.
491         (w32_wnd_proc): Use it to invoke the old code that processed
492         character keys, as fallback, when this variable is non-nil.  Fix
493         typos in comments.  (Bug#19994)
495 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
497         Improve handling of Unicode keyboard input on MS-Windows
498         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
499         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
500         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
501         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
502         successful, don't call TranslateMessage.  (Bug#19994)
504 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
506         Fix default-directory in changeset diffs after vc-print-log
507         * lisp/vc/log-view.el (log-view-diff-common): Move the
508         revision-granularity check back into log-view-diff-changeset.
509         (log-view-diff-changeset): Bind default-directory to the current
510         VC root.
512         Rename project-directories to project-roots
513         * lisp/progmodes/project.el (project-search-path-function)
514         (project-search-path): Update the docstring.
515         (project-directories): Rename to `project-roots', update all
516         callers and implementations accordingly.
517         (project-root): Remove.
518         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
519         as the default file mask.
521 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
523         Support long URLs in w32-shell-execute
524         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
525         and filename_to_ansi to convert the DOCUMENT argument, as it could
526         be a URL that is not limited to MAX_PATH characters.  Instead, use
527         MultiByteToWideChar directly, and allocate heap storage as
528         required to accommodate the converted string.  Likewise with
529         non-Unicode operation.  Ensure OPERATION is null-terminated, even
530         if it is longer than 32K bytes.  (Bug#21158)
532 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
534         vc-mtn-find-revision handle null rev.
535         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): handle null rev
537 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
539         Add docs for display-buffer action display-buffer-use-some-frame
540         * lisp/window.el (display-buffer-use-some-frame): improve doc string
541         * doc/lispref/windows.texi (Display Action Functions): add
542           display-buffer-use-some-frame
543         * etc/NEWS: mention display-buffer-use-some-frame
545         Add display-buffer action display-buffer-use-some-frame
546         * lisp/window.el (display-buffer-use-some-frame): new
548         Handle vc-mtn error more gently
549         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): return "" when branch is nil
551 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
553         Fix Tramp problems with multihops, and nc.
554         * lisp/net/tramp-cache.el (tramp-get-file-property)
555         (tramp-set-file-property, tramp-flush-file-property)
556         (tramp-get-connection-property, tramp-set-connection-property)
557         (tramp-flush-connection-property): Remove hop from vector.
558         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
559         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
560         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
561         netstat to 60".
562         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
563         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
564         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
565         Keep hop in result.
566         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
567         Add hop tests.
569 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
571         Resurrect highlighting of repeated words by Flyspell Mode
572         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
573         characters between point and the doublon candidate, so that
574         flyspell-word-search-backward finds it.  (Bug#21157)
576         Fix redisplay of large images on expose events
577         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
578         between signed negative values and unsigned values.  This
579         prevented redisplay on expose events when the window showed a very
580         large image.
582 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
584         Remove unnecessary stack overflow dependency
585         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
586         Don't worry about $ac_cv_header_sys_resource_h and
587         $ac_cv_func_getrlimit, as they're no longer needed for this.
588         Problem reported by Eli Zaretskii in:
589         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
591 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
593         Pacify compilation -Wincompatible-pointer-types warnings
594         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
595         warning.
596         (CompareStringW_Proc): New typedef.
597         (w32_compare_strings): Use it, to pacify compiler warnings under
598         "-Wincompatible-pointer-types".
599         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
600         (GetDiskFreeSpaceExA_Proc): New typedefs.
601         (Ffile_system_info): Use them, to pacify compiler warnings under
602         "-Wincompatible-pointer-types".
604 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
606         Fix subscript error in calculate_direct_scrolling
607         Use slightly-longer cost vectors.  Without this change,
608         calculate_direct_scrolling can have a subscript violation when
609         FRAME_LINES (frame) <= delta.
610         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
611         (line_ins_del, do_line_insertion_deletion_costs):
612         Allocate and use slightly-larger cost vectors, ones based on
613         FRAME_TOTAL_LINES instead of FRAME_LINES.
615         Fix uninitalized value in encode_coding_object
616         * src/coding.c (encode_coding_object): Also initialize
617         coding->src_pos and coding->src_pos_byte when NILP (src_object).
618         This avoids later use of uninitialized storage.
620 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
622         * doc/lispref/variables.texi (Variable Aliases): Typo fix.  (Bug#21141)
624 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
626         Merge from gnulib
627         This incorporates:
628         2015-07-27 time_rz: port better to MinGW
629         2015-07-27 time: port __need_time_t to MinGW
630         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
631         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
632         * lib/time-internal.h: New file, from gnulib.
634 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
636         Handle NULL pointers in w32heap.c allocation routines
637         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
638         freeable".
639         (realloc_after_dump, realloc_before_dump, free_before_dump):
640         Handle NULL pointers gracefully, as Emacs now seems to expect
641         that.
643         Fix Cairo build without PNG
644         * src/image.c: Define PNG function when USE_CAIRO is defined, even
645         if HAVE_PNG is not.  (Bug#21133)
647         MS-Windows follow-up for recent TZ-related changes
648         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
649         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
650         picking up 'struct timespec' from pthread.h, if it is installed on
651         the user's system.  We want either the definitions from MinGW
652         system headers, if available, or the Gnulib replacements if not.
653         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
654         lib/time.h.
655         * lib/time.in.h: Don't let __need_* symbols affect what happens on
656         MinGW.  These symbols are defined by MinGW system headers, but we
657         don't want that to affect whether Gnulib portions of the header
658         are or aren't used.
660 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
662         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
664         New optional ZONE arg for format-time-string etc.
665         This simplifies time conversions in other time zones.
666         It also prevents display-time-world tampering with TZ (Bug#21020).
667         * admin/admin.el (add-release-logs):
668         Use improved add-log-time-format API.
669         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
670         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
671         * configure.ac (tzalloc): Remove test for this, since
672         Emacs no longer uses HAVE_TZALLOC directly.
673         * doc/lispref/os.texi (Time of Day, Time Conversion)
674         (Time Parsing):
675         * etc/NEWS: Document the new behavior.
676         Merge from gnulib, incorporating:
677         2015-07-25 strftime: fix newly-introduced bug on Solaris
678         2015-07-23 fprintftime, strftime: use timezone_t args
679         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
680         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
681         * m4/time_h.m4:
682         Update from gnulib.
683         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
684         New files from gnulib.
685         * lisp/time-stamp.el (time-stamp-string):
686         * lisp/time.el (display-time-world-list)
687         (display-time-world-display):
688         Use new API, with time zone arg.
689         * lisp/time.el (display-time-world-display):
690         Fix race when current-time advances while we're running.
691         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
692         (add-log-iso8601-time-string): Accept optional time zone arg.
693         * lisp/vc/add-log.el (add-change-log-entry):
694         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
695         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
696         Add rules for the time module, since they're now needed
697         for tzalloc etc.
698         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
699         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
700         * src/editfns.c: Include errno.h.
701         (set_time_zone_rule): Omit unnecessary forward decl.
702         (initial_tz): Remove, replacing with ...
703         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
704         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
705         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
706         (tzlookup): New static functions.
707         (init_editfns): New arg DUMPING.  All uses changed.
708         (init_editfns): Omit most initialization if dumping, not if
709         !initialized.  Initialize wall_clock_tz and local_tz.
710         (emacs_nmemftime, format_time_string): Time zone argument can now
711         be any time zone, not just a boolean for UTC or local time.  All
712         callers changed.
713         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
714         (Fcurrent_time_zone): New optional arg ZONE.
715         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
716         the same form as with the other new additions.
717         (decode_time_zone): Remove; no longer needed.
718         (tzvalbuf): Now file-scope.
719         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
720         (syms_of_editfns): Define Qwall.
721         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
722         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
723         [!HAVE_TZALLOC]:
724         Remove; now supplied by gnulib.
725         * src/emacs.c (main):
726         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
728 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
730         Fix infinite loop in delete-consecutive-dups
731         * lisp/subr.el (delete-consecutive-dups): Work even if the last
732         element is nil (Bug#20588).  Avoid rescan of a circular list in
733         deletion of last element.
735 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
737         Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132)
738         * src/nsfns.m (Fx_frame_geometry):
739         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
740         terminal frames.
741         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
742         (Fx_frame_geometry): Return nil for terminal frames
744 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
746         * etc/tutorials/TUTORIAL.ja: Improve translation.
748 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
750         Avoid crashes when w32 GUI functions are called in -batch
751         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
752         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
753         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
755         Fix flyspell-check-previous-highlighted-word
756         * lisp/textmodes/flyspell.el
757         (flyspell-check-previous-highlighted-word): Really accept a
758         numeric argument, as the doc string describes.  Fix an off-by-one
759         error in looking up overlays, so invocation with point immediately
760         after a word would check that word.  Clarify the doc string as
761         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
763 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
765         Minor cleanup in tramp-tests.el
766         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
767         Implement using the documented interface
768         `tramp-connection-properties', rather than with internal functions.
770 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
772         Pass lambdas to `skeleton-read'
773         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
774         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
775         lambdas to `skeleton-read' (bug#20386).
777 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
779         * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick.
781         Don't require GUI frames and mouse for Flyspell menus
782         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
783         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
784         support, since pop-up menus work with text terminals and can be
785         controlled via the keyboard.
787         Improve documentation of Flyspell commands
788         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
789         can be invoked via the keyboard.  Mention those commands by name
790         and add them to the fn index.  (Bug#21125)
792 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
794         Fix some Tramp problems with HP-UX
795         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
796         Add "tab0" to stty call.
797         * test/automated/tramp-tests.el (tramp-persistency-file-name):
798         Set to nil.
799         (tramp--test-hpux-p): New defun.
800         (tramp--test-utf8): Use it.
802 2015-07-22  Glenn Morris  <rgm@gnu.org>
804         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
806 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
808         Fix point positioning in ffap-next-guess
809         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
810         as our callers expect.  This was clobbered as part of fixing
811         bug#5673.  (Bug#21107)
812         (ffap-gopher-at-point): Set ffap-string-at-point-region.
814 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
816         Fix customization type of `even-window-sizes'.
817         * lisp/window.el (even-window-sizes): Fix customization type.
819         2015-07-22  Martin Rudalics  <rudalics@gmx.at>
820         Optionally even widths of `display-buffer' windows.  (Bug#21100)
821         * lisp/window.el (quit-restore-window): Restore width if
822         requested.
823         (display-buffer-record-window): Record width when window is
824         reused and horizontally combined.
825         (even-window-sizes): New option to allow evening window widths.
826         (even-window-heights): Defalias to `even-window-sizes'.
827         (window--even-window-heights): Rename to
828         `window--even-window-sizes'.  Handle side-by-side windows.
829         (display-buffer-use-some-window): Call `window--even-window-sizes'
830         instead of `window--even-window-heights'.
831         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
832         * doc/lispref/windows.texi (Choosing Window Options): Describe
833         `even-window-sizes'.
834         (Coordinates and Windows): Fix typo.
836 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
838         add file name to autoload error messages.
839         * lisp/emacs-lisp/autoload.el (autoload-save-buffers): add condition-case
840           to add file name to error message.
842 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
844         Use 0.0.0.1 as test host in Tramp
845         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
846         Use 0.0.0.1 as test host.
848 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
850         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
851         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
852         Fix inf-loop (bug#21083).
854 2015-07-21  Glenn Morris  <rgm@gnu.org>
856         * test/automated/package-test.el (package-test-signed):
857         Update for recent changes.
859         * test/automated/elisp-mode-tests.el
860         (elisp-xref-finds-both-function-and-variable)
861         (elisp-xref-finds-only-function-for-minor-mode):
862         Update for recent xref name changes.
864 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
866         Make eldoc timer non-repeatable
867         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
868         non-repeatable.  Since it's on post-command hook, that just wasted
869         CPU cycles.
871 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
873         Mention `tramp-connection-properties' in NEWS
875         Sync with Tramp repository
876         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
877         required prior changing its configuration.
878         (Connection caching, Predefined connection information)
879         (Remote shell setup): Fix typos.
880         (Predefined connection information): Describe, how to overwrite
881         parameters of `tramp-methods'.
882         (Remote programs, Remote processes, Traces and Profiles):
883         Simplify example.
884         (Remote programs): Remove superfluous comment.
885         * doc/misc/trampver.texi: Update release number.
886         * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring.
887         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
888         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
889         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
890         "gvfs-mkdir -p ..." does not work robust.
891         (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call.
892         * lisp/net/tramp-sh.el (tramp-methods):
893         Add `tramp-remote-shell-login' parameter where it fits.
894         (tramp-get-remote-path): Use it.
895         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
896         (all): Adapt `tramp-get-method-parameter' calls.
897         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
898         (tramp-get-method-parameter): Replace argument METHOD by VEC.
899         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
900         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
901         (all): Adapt `tramp-get-method-parameter' calls.
902         * lisp/net/trampver.el Update release number.
903         * test/automated/tramp-tests.el (tramp--instrument-test-case):
904         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
905         (tramp-test13-make-directory, tramp--test-adb-p)
906         (tramp--test-smb-or-windows-nt-p): Simplify.
907         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
908         (tramp--test-special-characters): Fix docstring.  Add gvfs and ftp tests.
909         (tramp--test-utf8): Fix docstring.
911 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
913         Add new xref-query-replace command
914         * lisp/progmodes/xref.el (xref--match-buffer-bounds): New
915         function, extracted from xref-pulse-momentarily.
916         (xref-query-replace): New command.
917         (xref--query-replace-1): New helper function.
918         (xref--xref-buffer-mode-map): Add `r' binding.
920 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
922         Simplify icalendar decoding of Z dates
923         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
924         Simplify calculation of time strings with trailing "Z".
926 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
928         Do not corrupt grep-find-ignored-files
929         * lisp/progmodes/project.el (project-ignores): Change the order of
930         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
932         Add xref-match-item, and use it
933         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
934         (xref-file-location): Add reader for the column slot.
935         (xref-match-item): New class.
936         (xref-match-bounds): A method implementation for it.
937         (xref-make-match): New constructor function.
938         (xref--current-item): New private variable.
939         (xref-pulse-momentarily): Use it.
940         (xref--pop-to-location): Change the first argument to an xref
941         item, instead of location, bind xref--current-item.
942         Update all callers.
943         (xref-next-line, xref-prev-line, xref--next-error-function)
944         (xref--mouse-2): Look for the property `xref-item',
945         instead of `xref-location'.
946         (xref--item-at-point): Likewise.  This function replaces
947         `xref-location-at-point'.  Update all callers.
948         (xref--insert-xrefs): Add the `xref-item' text property, instead
949         of `xref-location'.
950         (xref--collect-match): Use xref-make-match.
952         Rename xref--xref to xref-item
953         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
954         Update all references.
956         Rename xref description slot to summary
957         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
958         slot to `summary'.
960         vc-hg: Perform the print-log call asynchronously
961         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
962         asynchronously (bug#21067).
964         Add xref-after-jump-hook and xref-after-return-hook
965         * lisp/progmodes/xref.el (xref-after-jump-hook)
966         (xref-after-return-hook): New hooks.
967         (xref-pulse-on-jump): Remove, in favor of the above.
968         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
969         (xref--pop-to-location, xref--display-position)
970         (xref-pop-marker-stack): Use the new hooks, as requested in
971         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
973 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
975         Correct js-mode's lighter
976         * lisp/progmodes/js.el (js-mode): Correct the lighter.
978 2015-07-19  Leo Liu  <sdl.web@gmail.com>
980         Fix a bug in cfengine3-mode
981         * progmodes/cfengine.el (cfengine3-mode): Handle nil
982           eldoc-documentation-function.
984 2015-07-18  Julien Danjou  <julien@danjou.info>
986         sieve-mode: support "body" test command
987         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
988         Add missing "body" test command.
990 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
992         Fix info-apropos when the default encoding is Latin-N
993         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
994         'undecided', so that it is set to the encoding of the Info file we
995         are about to insert.  Otherwise, 'info-apropos' will fail to find
996         some index nodes in some UTF-8 encoded files, if the buffer's
997         previous encoding is Latin-N or some such.
999 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
1001         * epg.el (epg--start): Check that gpgconf can be found before calling it.
1003         Expose more file types to OS X that Emacs understands.
1004         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
1005         json, and org files.  Export UTIs for el, elc, and org files.
1007 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
1009         Fix visual-order cursor movement when lines are truncated
1010         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
1011         simulate display in a window of infinite width, to allow move_it_*
1012         functions reach positions outside of normal window dimensions.
1013         Remove code that tried to handle a subset of these situations by
1014         manual iteration of buffer text.  (Bug#17777)
1016         Fix following Info cross-references to anchors
1017         * lisp/info.el (Info-read-subfile): Add to the returned value the
1018         length of subfile preamble, after converting it to file's byte
1019         offset, as expected by the caller.  Use bufferpos-to-filepos.
1020         (Info-find-node-2): If searching for a node with a
1021         1000-character slop fails, try again with a 10000-character slop,
1022         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
1023         * lisp/international/mule-util.el (bufferpos-to-filepos): New
1024         function.
1025         * etc/NEWS: Mention bufferpos-to-filepos.
1027         Fix scrolling backwards on TTY frames under scroll-conservatively
1028         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
1029         in moving backwards on TTY frames.  (Bug#21080)
1031 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
1033         Consider a jsdoc tag to be a beginning of a paragraph as well
1034         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
1035         consider a jsdoc tag to be a beginning of a paragraph as well.
1037 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1039         * lisp/emacs-lisp/package.el: Fix warnings
1041         * lisp/emacs-lisp/package.el (package-buffer-info):
1042         Add author and maintainers to `package-buffer-info'.
1044         * lisp/emacs-lisp/package.el: Many small changes
1045         Replace all instances of 'face with 'font-lock-face.
1046         (describe-package-1): Improve some strings and move the summary up the
1047         list.
1048         (package-install-file): Update docstring.
1049         (package-menu-hide-package): Bind to `H'.
1051         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1052         Fix error handling.
1054 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
1056         Fix hang with large yanks This should fix the bug fixed by Mike
1057         Crowe's patch in:
1058         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
1059         A problem in this area has been reported by several users; see
1060         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
1061         This fix differs from Mike Crowe's patch in that it should avoid a
1062         race condition that could lose SIGIO signals.  ignore_sigio dates
1063         back to the 1980s when some platforms couldn't block signals, and
1064         could only ignore them, which led to races when signals arrived
1065         while being ignored.  We shouldn't have to worry about those old
1066         platforms now.
1067         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
1068         * src/emacs.c (shut_down_emacs):
1069         Don't call ignore_sigio; unrequest_sigio should suffice.
1070         * src/keyboard.c (kbd_buffer_store_buffered_event):
1071         Use unrequest_sigio, not ignore_sigio.
1072         (kbd_buffer_get_event):
1073         Call request_sigio when getting the ball rolling again.
1075 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1077         * lisp/obsolete/longlines.el (longlines-search-function):
1078         Fallback on `isearch-search-fun-default'.
1080 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
1082         Support @-mentions
1083         * rcirc.el (rcirc-completion-at-point): Support completion of
1084         mentions/messages with @nick instead of just nick.
1086 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
1088         Fix Bug#20943.
1089         * lisp/autorevert.el (auto-revert-handler): Do not check for
1090         `buffer-modified-p'.
1091         * lisp/files.el (buffer-stale--default-function): Check for
1092         `buffer-modified-p'.
1093         * test/automated/auto-revert-tests.el
1094         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
1096 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
1098         Fix delete-dups bug on long lists
1099         * lisp/subr.el (delete-dups):
1100         Don't mistakenly keep some dups when applied to long lists.
1102 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
1104         Better heuristic for C stack overflow
1105         Improve the heuristic for distinguishing stack overflows from
1106         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
1107         the getrlimit method wasn't portable to Cygwin; see:
1108         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
1109         Corinna suggested pthread_getattr_np but this also has problems.
1110         Instead, replace the low-level system stuff with a simple
1111         heuristic based on known good stack addresses.
1112         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
1113         * src/sysdep.c: Don't include <sys/resource.h>.
1114         (stack_direction): Remove.  All uses removed.
1115         (stack_overflow): New function.
1116         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
1117         Make SEGV fatal in non-main threads.
1119 2015-07-16  Daiki Ueno  <ueno@gnu.org>
1121         epg: Automatically start pinentry server
1122         * epg-config.el (epg-gpgconf-program): New variable.
1123         * epg.el (epg--start): Call `pinentry-start' if
1124         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
1126 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
1128         * lisp/gnus/nnimap.el: Fix my last bogus change
1129         Reinstall Stefan Monnier's change that was made in
1130         <83d824bc4041332f338ad7e5e830f443535aa300>.
1132 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
1134         Merge from gnulib
1135         This incorporates:
1136         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
1137         2015-07-05 acl-permissions: Fix on FreeBSD
1138         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
1139         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
1140         * lib/set-permissions.c: Copy from gnulib.
1142         Port to stricter C99
1143         * src/keyboard.h (kbd_buffer_store_event_hold):
1144         Don't return a void expression.
1146 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
1148         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
1150 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
1152         New autorevert tests.
1153         * test/automated/auto-revert-tests.el: New file.
1155 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
1157         Clear gcprolist etc. after stack overflow
1158         After stack overflow, command_loop calls init_eval, and this needs to
1159         clear gcprolist and byte_stack_list (Bug#20996).
1160         * src/alloc.c (init_alloc):
1161         Move gcprolist and byte_stack_list initialization from here ...
1162         * src/eval.c (init_eval): ... to here.
1164 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
1166         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
1168 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1170         Avoid deprecated enums in mac-ct font backend driver
1171         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
1172         (mac_ctfont_get_advance_width_for_glyph)
1173         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
1175         Cache font family in mac-ct font backend driver
1176         * src/macfont.m (macfont_family_cache): New variable.
1177         (syms_of_macfont): Initialize it.
1178         (macfont_available_families_cache): New variable.
1179         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
1180         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
1181         (macfont_handle_font_change_notification)
1182         (macfont_init_font_change_handler)
1183         (macfont_copy_available_families_cache): New functions.
1184         (macfont_create_family_with_symbol): Use font family caches.
1185         (macfont_list, macfont_list_family): Use
1186         macfont_copy_available_families_cache instead of
1187         mac_font_create_available_families.
1189 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
1191         Show the default value in the prompt
1192         * lisp/progmodes/xref.el: Add `M-?' binding for
1193         xref-find-references.  Declare functions `grep-read-files' and
1194         `grep-expand-template'.
1195         (xref--read-identifier): Show the default value in the prompt.
1197         When called with prefix argument, ask for file patterns to search as well
1198         * lisp/progmodes/xref.el (xref-find-regexp): When called with
1199         prefix argument, ask for file patterns to search as well.  When
1200         prompting for the directory, require an existing one.
1201         (xref-collect-matches): Add a new argument, FILES.  Use it in the
1202         above function.
1204         Add `project-ignores'
1205         * lisp/progmodes/project.el (project-ignores): New generic
1206         function, and an implementation for the VC project type.
1207         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
1208         variant of rgrep-default-command that handles a generic list of
1209         ignores.
1210         (xref-collect-matches): Use it, and pass through to it the value
1211         of the newly added argument.
1212         (xref-find-regexp): Handle ignored paths within the project.
1213         Remove outdated comment.
1214         * lisp/vc/vc.el (vc-default-ignore-completion-table):
1215         Skip the comments and the empty lines.
1217 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
1219         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
1221 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
1223         gnus-registry.el: Correct function argument order
1224         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
1225         Reverse the order of function arguments.
1227 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
1229         Bind grep-highlight-matches to nil
1230         * lisp/progmodes/xref.el (xref-collect-matches):
1231         Bind grep-highlight-matches to nil (bug#20728).
1233 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
1235         nnimap.el: Fix IMAP message size parsing
1236         * lisp/gnus/nnimap.el (nnimap-transform-headers):
1237         Don't assume that UID comes before RFC822.SIZE.
1239 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1241         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
1242         (auth-source-creation-prompts): Declare.
1243         (nnimap-retrieve-headers, nnimap-status-message)
1244         (nnimap-request-create-group, nnimap-request-delete-group)
1245         (nnimap-close-group, nnimap-request-move-article)
1246         (nnimap-request-accept-article, nnimap-request-newgroups)
1247         (nnimap-request-post, nnimap-dummy-active-number)
1248         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
1249         (nnimap-parse-flags): Remove unused var `p'.
1250         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
1251         (nnimap-flags-to-marks): Remove unused var `totalp'.
1253 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
1255         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
1257 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
1259         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
1261 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1263         Don't check the exit status, it can be misleading
1264         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
1265         exit status, it can be misleading.
1267         Introduce a Project API
1268         * lisp/progmodes/project.el: New file.
1269         * lisp/cedet/ede.el: (project-try-ede): New function.
1270         (project-root): New implementation.
1271         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
1272         Set project-search-path-function.
1273         (elisp--xref-find-references): Delegate some logic to
1274         project-search-path.
1275         (elisp-search-path): New function.
1276         (elisp-xref-find): Don't implement `matches' anymore.
1277         * lisp/progmodes/etags.el: Don't implement `matches'.
1278         Delegate some logic to project-search-path.
1279         (etags-search-path): New function.
1280         * lisp/progmodes/xref.el (xref-find-function):
1281         Remove `matches' from the API.
1282         (xref-find-regexp): Move whatever common logic was in elisp and
1283         etags implementations, and search the directories returned by
1284         project-directories and project-search-path.
1286 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
1288         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
1290         Add support for gv.el in map.el
1291         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
1292         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
1293         * test/automated/map-tests.el: Update tests to work with the new
1294         implementations of map-elt and map-put.
1296 2015-07-09  Glenn Morris  <rgm@gnu.org>
1298         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
1300 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
1302         Syntax-propertize until the end of the line first
1303         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
1304         until the end of the line first.
1306 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
1308         * doc/emacs/files.texi (File Archives): Add a cross reference.
1310 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
1312         nnimap.el: Handle plain value for nnimap-stream
1313         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
1314         capabilities, so that a 'plain value for the `nnimap-stream' server
1315         variable is handled correctly.
1316         * doc/misc/gnus.texi (Customizing the IMAP Connection):
1317         Document the 'plain option.
1319 2015-07-08  Leo Liu  <sdl.web@gmail.com>
1321         Fix bug in thing-at-point--bounds-of-well-formed-url
1322         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
1323           sure boundary contains current point.
1325 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
1327         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
1329         Declare whitespace-line-column a safe file-local
1330         * lisp/whitespace.el (whitespace-line-column): Declare to be a
1331         safe file-local when the value is an integer.
1333 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
1335         gnus-group.el: Check if group names are already strings
1336         * lisp/gnus/gnus-group.el (gnus-group-group-name):
1337         The group name may already be a string.
1338         Specifically, in the group list reached from the *Server* buffer,
1339         the 'gnus-group text property returns a string.  Everywhere else
1340         it returns a symbol.
1342         nnimap.el: Remove unused let variables
1343         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
1345 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
1347         Support "maximized" property of runemacs's shortcut
1348         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
1349         the '--maximized' switch to Emacs.
1351         Support "minimized" property of runemacs's shortcut
1352         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
1353         pass the '--iconic' switch to Emacs.  (Bug#20991)
1355 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
1357         Doc fixes
1358         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
1359         C-w' in Diff mode.
1360         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
1361         Add a cross reference.
1363 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
1365         * lisp/obsolete/landmark.el: Add Obsolete-since header
1367 2015-07-07  Glenn Morris  <rgm@gnu.org>
1369         * test/automated/ert-tests.el (ert-test-deftest):
1370         Update for recent changes.
1372 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1374         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
1375         * lisp/emacs-lisp/gv.el (gv-setter): New function.
1376         (gv-invalid-place): New error.
1377         (gv-get): Use them.
1378         (gv-synthetic-place, gv-delay-error): New places.
1379         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
1380         (cl-defgeneric, cl-defmethod): Use gv-setter.
1382 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
1384         Make vc-tests work with MSYS svn program
1385         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
1386         svn is an MSYS program.
1388 2015-07-07  Ken Brown  <kbrown@cornell.edu>
1390         Improve recent change to emacsclient on Cygwin
1391         * lisp/server.el (server-process-filter): Remove redundant check
1392         that 'cygwin-convert-file-name-from-windows' is defined as a
1393         function on Cygwin.  Don't call that function unless its argument
1394         starts with a drive letter.
1396 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
1398         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
1399         Fix void variable due to `found-something' being in the wrong `let'.
1401 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1403         * lisp/play/landmark.el: Move to lisp/obsolete/
1405 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
1407         Have `x-show-tip' handle `right' and `bottom' frame parameters.
1408         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
1409         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
1410         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
1411         tooltips also via `right' and `bottom' frame parameters.
1413 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
1415         Add online-help support to describe types
1416         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
1417         (describe-symbol): Improve the selection of default.
1418         * lisp/help-mode.el: Require cl-lib.
1419         (describe-symbol-backends): Move from help-fns.el.
1420         (help-make-xrefs): Use it.
1421         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
1422         for types.
1423         (cl--typedef-regexp): New const.
1424         (find-function-regexp-alist): Add entry for types.
1425         (cl-help-type, cl-type-definition): New buttons.
1426         (cl-find-class): New function.
1427         (cl-describe-type): New command.
1428         (cl--describe-class, cl--describe-class-slot)
1429         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
1430         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
1431         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
1432         New functions.  Moved from eieio-opt.el.
1433         (cl--generic-class-parents): New function, extracted from
1434         cl--generic-struct-specializers.
1435         (cl--generic-struct-specializers): Use it.
1436         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
1437         Improve constructor's docstrings.
1438         (cl-struct-unknown-slot): New error.
1439         (cl-struct-slot-offset): Use it.
1440         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
1441         definition in current-load-list.
1442         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
1443         (eieio--add-new-slot): Set it.
1444         (eieio-defclass-internal): Use new name for current-load-list.
1445         (eieio-oref): Add compiler-macro to warn about unknown slots.
1446         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
1447         as compile-time as well.  Improve constructor docstrings.
1448         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1449         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
1450         (eieio-class-def): Remove button.
1451         (eieio-help-constructor): Use new name for load-history element.
1452         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
1453         (eieio-method-documentation): Move to cl-generic.el.
1454         (eieio-display-method-list): Use new names.
1455         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
1456         Add "define-linline".
1457         (lisp-fdefs): Remove "defsubst".
1458         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
1459         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
1460         (macroexp--warn-and-return): Use it to avoid inf-loops.
1461         Add `compile-only' argument.
1463 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1465         python.el: Fix local/remote shell environment setup
1466         * lisp/progmodes/python.el (python-shell-with-environment): Fix
1467         remote/local environment setup.
1468         * test/automated/python-tests.el (python-shell-with-environment-1)
1469         (python-shell-with-environment-2): New tests.
1471 2015-07-06  Glenn Morris  <rgm@gnu.org>
1473         * lisp/simple.el (set-variable): Tweak recent doc fix.
1475 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1477         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
1479 2015-07-06  Glenn Morris  <rgm@gnu.org>
1481         * lisp/simple.el (set-variable): Use user-error for type mismatch.
1483 2015-07-06  Ken Brown  <kbrown@cornell.edu>
1485         * src/emacs.c (main): Don't increase the stack size on Cygwin
1487 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
1489         (describe-symbol): Rewrite describe-function-or-variable
1490         * lisp/help-fns.el (describe-symbol-backends): New var.
1491         (help-xref-stack-item): Declare.
1492         (describe-symbol): Rename from describe-function-or-variable.
1493         Rewrite using describe-symbol-backends instead of help-xref-interned.
1494         * lisp/help.el (help-map): Use it.
1495         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
1496         (help-xref-interned): Make it into an obsolete alias.
1498         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
1499         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
1500         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
1502 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
1504         Fix parsing glitches in dired-mark-sexp (bug#13575)
1505         * lisp/dired-x.el (dired-x--string-to-number): New function.
1506         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
1507         of directory-listing-before-filename-regexp.  Consider
1508         forward-word harmful and replace it.  Add more verbiage in
1509         comments and doc string.
1511 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
1513         python.el: Respect process environment for remote shells
1514         * lisp/progmodes/python.el
1515         (python-shell-calculate-process-environment): Calculate
1516         process-environment or tramp-remote-process-environment depending
1517         whether current file is remote.
1518         (python-shell-calculate-exec-path): Calculate exec-path or
1519         tramp-remote-path depending whether current file is remote.
1520         (python-shell-with-environment): New macro.
1521         (python-shell-prompt-detect, python-shell-calculate-command)
1522         (python-shell-make-comint, python-check): Use it.
1524         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
1525         * lisp/progmodes/python.el (python-shell--interpreter)
1526         (python-shell--interpreter-args): New vars.
1527         (inferior-python-mode, python-shell-make-comint): Use them.
1529         python.el: Fixes for IPython 3.x  (Bug#20580)
1530         * lisp/progmodes/python.el:
1531         (python-shell-completion-native-setup): Fix IPython 3.x setup.
1532         (python-shell-completion-native-get-completions): Fix timeout
1533         logic.
1535         python.el: Fix mark-defun behavior  (Bug#19665)
1536         * lisp/progmodes/python.el: (python-mark-defun): New function.
1537         * test/automated/python-tests.el (python-mark-defun-1)
1538         (python-mark-defun-2, python-mark-defun-3): New tests.
1540 2015-07-05  Glenn Morris  <rgm@gnu.org>
1542         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
1543         such as "extends(parent), private".  (Bug#20969)
1544         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
1545         New tests.
1547 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1549         Avoid duplicate calls to current_timespec
1550         * src/process.c (wait_reading_process_output):
1551         Cache current_timespec results as long as we're not waiting.
1553 2015-07-05  Ian Kelling  <ian@iankelling.org>
1555         Avoid returning early reading process output due to SIGIO
1556         * src/process.c (wait_reading_process_output): Extend the behavior of
1557         not breaking due to not finding output when a timer has lowered the
1558         timeout to include when SIGIO lowers the timeout.
1560         Don't return as fast reading any process output
1561         * src/process.c (wait_reading_process_output):
1562         The patch for Bug#17647 returns too fast sometimes when reading
1563         from any processes. Revert part of it, and limit the timeout more
1564         sensibly (Bug#20978).
1566         Refactor timeouts in wait_reading_process_output
1567         * src/process.c (wait_reading_process_output):
1568         Simplify timeouts with an enum.  Remove a redundant condition.
1569         (Bug#20978)
1571         Remove ADAPTIVE_READ_BUFFERING ifdef
1572         * src/process.c (make-process, make-pipe-process, deactivate_process)
1573         (wait_reading_process_output, read_process_output, send_process)
1574         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
1575         added in case there was an operating system in which it was not
1576         useful.  That was 11 years ago and it hasn't happened.  Make
1577         development easier by not considering the effect of changes on a
1578         theoretical OS where this is disabled (Bug#20978).
1580 2015-07-05  Glenn Morris  <rgm@gnu.org>
1582         * lisp/simple.el (set-variable): Doc fix.
1584         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
1586 2015-07-05  Ian Kelling  <ian@iankelling.org>
1588         accept-process-output fix
1589         This is a followon to the fix for Bug#17647 (Bug#20976).
1590         * src/process.c (status_notify): Fix too high return in some cases.
1592 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
1594         * lisp/character-fold.el (character-fold-table):
1595         Only fold decompositions if at least one character is non-spacing.
1596         (Bug#20975)
1598 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
1600         Merge from gnulib
1601         This incorporates:
1602         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
1603         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
1604         2015-07-02 update-copyright: fix test failure with perl >= 5.22
1605         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
1606         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
1607         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
1608         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
1610 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
1612         Respect `prog-indentation-context' in python.el
1613         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
1614         (python-indent-context, python-indent--calculate-indentation)
1615         (python-info-current-defun)
1616         (python-info-dedenter-opening-block-message)
1617         (python-info-line-ends-backslash-p)
1618         (python-info-beginning-of-backslash)
1619         (python-info-continuation-line-p): Use `prog-widen'.
1620         (python-indent--calculate-indentation)
1621         (python-indent--calculate-levels)
1622         (python-indent-calculate-indentation): Use `prog-first-column'.
1623         (python-indent--calculate-levels): Simplify.
1624         Ignore also initial empty lines for syntax calculation.
1625         * lisp/progmodes/python.el (python-indent-context): Return
1626         :no-indent for first non-empty line, not just in line 1.
1627         * test/automated/python-tests.el (python-indent-base-case)
1628         (python-indent-inside-paren-1, python-indent-inside-paren-2)
1629         (python-indent-inside-paren-3, python-indent-inside-paren-4)
1630         (python-indent-inside-paren-5, python-indent-inside-paren-6)
1631         (python-indent-after-backslash-1)
1632         (python-indent-after-backslash-2)
1633         (python-indent-after-backslash-3)
1634         (python-indent-after-backslash-4, python-indent-inside-string-1):
1635         Expect :no-indent for first non-empty line.
1637 2015-07-04  Daniel Colascione  <dancol@dancol.org>
1639         Factor isearch word description into new function
1640         * lisp/isearch.el (isearch--describe-word-mode): New function.
1641         (isearch-message-prefix, isearch-query-replace): Use it.
1643 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
1645         Fix mouse pointer on w32 when a menu is active
1646         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
1647         shape while a menu is in use.  This started happening since we now
1648         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
1650 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
1652         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
1653         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
1654         parameter.  (Bug#17344)
1656         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
1657         * lisp/progmodes/compile.el (compilation-set-window): Take
1658         `window-fringes' from argument window.  (Bug#20829)
1660 2015-07-03  Glenn Morris  <rgm@gnu.org>
1662         Update eieio tests for recent eieio-core change.
1663         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
1664         * test/automated/eieio-tests.el
1665         (eieio-test-32-slot-attribute-override-2):
1666         Replace the deleted eieio--class-v with cl--find-class.
1668 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
1670         Fix some issues with `window-divider-mode'
1671         * lisp/frame.el (window-divider-default-places): New option.
1672         (window-divider-mode): Remove option.
1673         (window-divider-mode): Make it a "regular" minor mode.
1674         (window-divider-width-valid-p): Drop frame- prefix.
1675         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
1676         prefix.  Handle `window-divider-default-places'.
1677         (frame--window-divider-mode-set-and-apply): Remove.
1678         (window-divider-default-bottom-width)
1679         (window-divider-default-right-width): Drop :group entries.
1680         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
1681         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1682         (menu-bar-no-window-divider): Set `window-divider-default-places'
1683         and call `window-divider-mode'.
1684         * doc/emacs/frames.texi (Window Dividers): Document
1685         `window-divider-default-places'.
1687 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
1689         Add cross references in documentation
1690         * doc/emacs/display.texi (Displaying Boundaries):
1691         * doc/emacs/search.texi (Word Search): Add cross references.
1693 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1695         -batch should not affect ‘’ -> `' display
1696         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
1697         -batch (Bug#20926).
1699 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
1701         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
1702         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
1703           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
1704         Use cl--find-class instead.
1706         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
1708 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
1710         Some further fixes in Change Window node.  (Bug#20183)
1711         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
1712         by "resizing" in section title.  Add some concept indices.
1713         Suggested by N. Jackson (Bug#20183).
1715         Reference window dividers in Change Window section.
1716         * doc/emacs/windows.texi (Change Window): Reference window
1717         dividers.
1719         Document new `window-divider-mode'.
1720         * lisp/frame.el (window-divider-mode): Fix doc-string.
1721         * doc/emacs/frames.texi (Window Dividers): New section.
1723         Improve accessibility of window dividers.  (Bug#20183)
1724         * lisp/faces.el (window-divider)
1725         (window-divider-first-pixel, window-divider-last-pixel): Change
1726         membership from `frames' to `window-divider' customization group.
1727         * lisp/frame.el (window-divider): New customization group.
1728         (window-divider-mode): New minor mode.
1729         (window-divider-default-bottom-width)
1730         (window-divider-default-right-width): New options.
1731         (frame--window-divider-previous-mode): New variable.
1732         (frame-window-divider-width-valid-p)
1733         (frame--window-divider-mode-apply)
1734         (frame--window-divider-mode-set-and-apply): New functions.
1735         * lisp/menu-bar.el (menu-bar-options-save): Save
1736         window-divider-mode settings.
1737         (menu-bar-window-divider-customize)
1738         (menu-bar-bottom-and-right-window-divider)
1739         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
1740         (menu-bar-no-window-divider): New functions.
1741         (menu-bar-showhide-window-divider-menu): New variable.
1742         (menu-bar-showhide-menu): Show/hide window divider menu.
1743         * lisp/mouse.el (mouse-split-window-vertically)
1744         (mouse-split-window-horizontally): Replace `error' by
1745         `user-error'.  Bind `window-combination-resize' to nil.
1746         (top-level): Add/reorder mouse key bindings on mode- and
1747         vertical-line.
1749 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
1751         Don't display ‘’ as `' under X in en_GB
1752         The curved quote setup code invokes (char-displayable-p ?‘),
1753         but this isn’t reliable until after the X frame replaces the
1754         terminal frame (Bug#20926).
1755         * lisp/international/mule-cmds.el (set-locale-environment):
1756         Move curved quote setup code from here ...
1757         * lisp/startup.el (command-line): ... to here, after creating
1758         the X frame.
1760 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
1762         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
1764         Add argument to reverse the meaning of ido-restrict-to-matches
1765         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
1766         to reverse the meaning (Bug#15631).
1768 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
1770         Be more tolerant to fonts named "Foobar-12"
1771         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
1772         don't barf; instead, request a new fontset to be generated.  This
1773         avoids unnecessarily rejecting fonts named against XLFD rules.  See
1774         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
1775         for the description of the original problem.
1776         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
1777         by a hyphen in a font's name.
1779         Fix value of posn-at-pont in R2L lines
1780         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
1781         coordinate of -1, for a newline in a right-to-left line that
1782         overflowed into the left fringe.
1784 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1786         (cl--copy-slot-descriptor): Copy the `props' alist as well
1787         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
1788         Rename from cl--copy-slot-descriptor.
1789         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
1791 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1793         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
1794         (xterm-query-timeout): New var.
1795         (xterm--query): Use it.  Fallback on async method if we timeout before
1796         getting the first byte of the reply (bug#12354).
1798 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1800         Spelling fixes
1802 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1804         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
1806 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1808         In strings, prefer plain ` and ' to \` and \'
1809         * lisp/allout.el (allout-insert-listified):
1810         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
1811         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
1812         (ls-lisp-string-lessp):
1813         * lisp/menu-bar.el (menu-bar-open):
1814         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
1815         * lisp/progmodes/compile.el (compile):
1816         * lisp/progmodes/etags.el (tags-loop-scan):
1817         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
1818         * lisp/subr.el (posn-actual-col-row):
1819         * lisp/term/pc-win.el (x-list-fonts):
1820         * lisp/textmodes/texinfmt.el (texinfmt-version):
1821         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
1822         * lisp/time.el (display-time-world-list):
1823         * lisp/tmm.el (tmm-menubar):
1824         * src/buffer.c (syms_of_buffer):
1825         * src/fileio.c (syms_of_fileio):
1826         Omit unnecessary and confusing backslash before quote.
1827         * lisp/erc/erc.el (erc-cmd-LASTLOG):
1828         * lisp/progmodes/flymake.el (flymake-fix-file-name):
1829         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
1830         Fix string that was intended to escape a backslash and not a quote.
1832 2015-06-30  Glenn Morris  <rgm@gnu.org>
1834         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
1836         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
1837         Replace hard-coded lists with wildcard + filter-out.
1839         * configure.ac (system-configuration-features): Add X11, NS.
1841         Improve reproducibility of generated loaddefs file.
1842         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1843         Make the return value the modtime of the input file (if no autoloads).
1844         (update-directory-autoloads): In the "no autoloads" section,
1845         use "most recent modtime" rather than "current time".
1847 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1849         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
1850         (Bug#20930)
1852 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
1854         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
1856         Add seq-min and seq-max
1857         Bump version number.
1858         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
1859         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
1861 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1863         Make sure sleep-for always delays for as long as it's told
1864         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
1865         a loop, to ensure we always wait exactly the required amount of
1866         time.  (Bug#15990)
1868 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
1870         Fix pointer signedness glitch
1871         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
1873 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
1875         Don't block changes in mouse pointer inside 'track-mouse'
1876         * etc/NEWS:
1877         * doc/lispref/frames.texi (Mouse Tracking): Document the special
1878         effect of setting 'track-mouse' to 'dragging'.
1879         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
1880         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
1881         * lisp/mouse-drag.el (mouse-drag-throw):
1882         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
1883         to avoid changes in the shape of the mouse pointer.
1884         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
1885         pointer shape when do_mouse_tracking has the value of 'dragging',
1886         not just any non-nil value.  (Bug#20934)
1887         (syms_of_xdisp): DEFSYM 'dragging'.
1889 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
1891         * lisp/isearch.el (isearch-toggle-word): Fix toggle
1893         * lisp/emacs-lisp/package.el (package-compute-transaction):
1894         Don't assume version sorting.
1896         * lisp/emacs-lisp/package.el (package--save-selected-packages):
1897         Don't save before init time, to avoid overwriting configurations.
1898         (Bug#20855)
1900 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
1902         Add cross references.
1903         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
1904         references.
1906 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
1908         cfengine.el: update for the upcoming CFEngine 3.7 release
1909         Update for the upcoming CFEngine 3.7 release: support macros and
1910         quoted context strings; reformat JSON; indent promise attributes 2
1911         units by default; give function parameter descriptions in the eldoc
1912         glue.
1913         * cfengine.el: Update version and docs and fix name.  Autoload
1914         `json-pretty-print'.  Support new features in 3.7.
1915         (cfengine-parameters-indent): Set default promise attribute indent to
1916         2 more than the promise itself.
1917         (cfengine3-macro-regex): New variable to match the new macro syntax.
1918         (cfengine3-font-lock-keywords): Use it to highlight macros.
1919         (cfengine3-indent-line): Use it to indent macros to column 0.
1920         (cfengine3-class-selector-regex): Update for the new quoted strings
1921         format.
1922         (cfengine3-reformat-json-string): New function to reformat a JSON
1923         string using `json-pretty-print'.
1924         (cfengine3-format-function-docstring): Use function parameter
1925         description if it's provided by the cf-promises syntax dump.
1927 2015-06-29  Michael R. Mauger  <michael@mauger.com>
1929         Cygwin emacsclient handles w32 file names
1931 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
1933         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
1935 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
1937         * doc/lispref/text.texi (Sticky Properties): Improve wording.
1938         (Bug#20924)
1940         Allow font names that end in "-NN", where NN is a number
1941         * src/font.c (font_load_for_lface): If the font-spec didn't match
1942         any available fonts, try again without interpreting trailing "-NN"
1943         as the font size.  For the description of the original problem, see
1944         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
1946         .gdbinit followup to changes in !USE_LSB_TAG
1947         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
1948         !USE_LSB_TAG, as Emacs no longer does.
1950 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
1952         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
1953         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
1955 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
1957         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1958         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
1960 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1962         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
1964         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
1966 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1968         apropos-library quoting fix
1969         * lisp/apropos.el (apropos-library): Quote library consistently
1970         with the rest of the quoting used by apropos.
1972         Clarify interpreter-mode-alist doc
1973         * lisp/files.el (interpreter-mode-alist):
1974         Reword to avoid confusing quoting that wasn't working anyway.
1976 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
1978         Sync with Tramp 2.2.12
1979         * doc/misc/trampver.texi:
1980         * lisp/net/trampver.el: Update release number.
1981         * test/automated/tramp-tests.el (tramp-test13-make-directory):
1982         Fix cleanup.
1984 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
1986         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
1987         (bug#20913)
1989 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
1991         Bind grep-highlight-matches around the rgrep call
1992         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
1993         around the rgrep call (bug#20728).
1995         Put "--color" before the other options in grep-command
1996         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
1997         before the other options in grep-command (bug#20912).
1999         Add --color Grep option to the command dynamically
2000         * lisp/progmodes/grep.el (grep-template, grep-find-template):
2001         Update the description for <C>.  (Bug#20728)
2002         (grep-compute-defaults): Don't add the --color option to
2003         grep-options.  Only add it to grep-command.
2004         (grep-expand-keywords): Expand the env value opts into <C>.
2005         (grep-expand-template): Replace cf in the env with the opts list,
2006         that can include -i and --color.
2007         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
2008         "--color=always" from the template, because we don't have to.
2010 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
2012         cl-extra fixes for most-negative-fixnum
2013         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
2014         Don't mishandle an argument equal to most-negative-fixnum,
2015         whose absolute value equals itself.
2016         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
2018         Initialize cl--gensym-counter to 0
2019         Previously it was initialized to a random value, which made it
2020         harder to reproduce earlier Emacs runs.  The need for a random
2021         value went away when Emacs introduced and used the #: syntax for
2022         uninterned symbols (Bug#20862).
2023         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
2024         Document that cl--gensym-counter now starts with 0.
2025         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
2026         (cl--random-time): Move to near only remaining use.
2027         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
2029         Improve docstring for macroexp-let2
2030         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
2031         Improve as per suggestion by RMS in:
2032         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
2033         Also, rename args to match new doc string.
2035 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
2037         Fix VC test suite on MS-Windows
2038         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
2039         always starts with 3 slashes after the colon.
2040         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
2041         'w32-application-type' to invoke CVS on MS-Windows with properly
2042         formatted CVSROOT directory name.
2044         Add a new function w32-application-type
2045         * src/w32proc.c (Fw32_application_type): New function.
2047         Avoid error in TLS connections due to incorrect format
2048         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
2049         the call to 'error', instead of the unsupported %u.  Reported by
2050         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
2052 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
2054         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
2056 2015-06-26  Leo Liu  <sdl.web@gmail.com>
2058         Fix indentation for with-output-to-string
2059         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
2060           `with-output-to-string' in elisp.
2061           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
2062           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
2064 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
2066         Minor corrections in ELisp manual
2067         * doc/lispref/nonascii.texi (Character Properties): Correct
2068         inaccuracies in description of values of the Unicode properties.
2070         Fix invisible mouse pointers on Windows.
2071         * src/w32fns.c: Include windowsx.h.
2072         (w32_wnd_proc): If the mouse moved and the mouse pointer is
2073         invisible, make it visible again even when the main (Lisp)
2074         thread is busy.
2075         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
2076         garbaging the frame have the input thread call SetCursor.
2078 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
2080         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
2081         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
2082         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
2083         * src/w32term.c (w32_hide_hourglass): Handle
2084         f->pointer_invisible.
2085         (w32_toggle_invisible_pointer): New function.
2086         (w32_create_terminal): Add w32_toggle_invisible_pointer as
2087         toggle_invisible_pointer_hook for this terminal.
2089 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
2091         Doc fix for deletion commands
2092         'delete-char' does not respect the value of 'delete-active-region'.
2093         * doc/emacs/killing.texi (Deletion):
2094         Fix documentation for some single-char deletion commands.
2096         * doc/emacs/help.texi (Apropos):
2097         Improve documentation of 'apropos-do-all'.
2099         * doc/emacs/help.texi (Help Summary):
2100         Improve documentation of 'describe-mode'.
2102 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2104         Fix submake dependency bug with .h files
2105         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
2106         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
2107         before the submake in $(libsrc) would spin off a subsubmake
2108         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
2110 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2112         * lisp/character-fold.el (character-fold-table): Reuse `table'
2114 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2116         Translate undisplayable ‘ to `
2117         * doc/lispref/help.texi (Keys in Documentation):
2118         * lisp/international/mule-cmds.el (set-locale-environment):
2119         * lisp/term/w32console.el (terminal-init-w32console):
2120         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
2121         If ‘ is not displayable, transliterate it to `, not to '.  See:
2122         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
2124         Fix C99 incompatibilities in Cairo code
2125         * src/image.c (xpm_load) [USE_CAIRO]:
2126         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
2127         Fix pointer signedness problem.
2129 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
2131         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
2132         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
2133           `with-output-to-string' should have the same indent as `progn'.
2134           This is in line with the declaration of `with-output-to-string'.
2136 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
2138         Get ‘./configure; make -C src emacs’ to work
2139         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
2140         * lib-src/Makefile.in (../lib/libgnu.a):
2141         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
2143 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2145         Fix GC bugs --with-wide-int and Qnil == 0
2146         Use the same alignment for the !USE_LSB_TAG case as for the
2147         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
2148         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
2149         once we changed the representation of symbols so that Qnil == 0.
2150         Problem reported by Eli Zaretskii (Bug#20862).
2151         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
2152         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
2153         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
2154         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
2155         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
2156         This optimization in the !USE_LSB_TAG case is no longer valid when
2157         symbols are represented via offsets.  Change the only use to
2158         assume that pointers might hide in objects.
2159         * src/lisp.h (alignas) [!USE_LSB_TAG]:
2160         Require support in this case, too.
2161         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
2162         This is OK, because the !USE_LSB_TAG case now applies only when
2163         Lisp_Object is wider than void *, so there's no longer any need
2164         to shift the offset.  Not shifting the offset means that
2165         symbol representations have the same alignment as pointers,
2166         which the GC assumes.
2168 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
2170         * doc/lispintro/emacs-lisp-intro.texi (Data types):
2171         Improve documentation of 'substring'.
2173 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2175         * lisp/character-fold.el (character-fold-table): Fix table generation
2177 2015-06-24  Glenn Morris  <rgm@gnu.org>
2179         * nextstep/Makefile.in (all): Make it the first target.
2180         (../src/emacs${EXEEXT}): Add rule for making it.
2182 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
2184         * etc/NEWS: Fix mention to old function name
2186         * lisp/character-fold.el: New file (Bug#20887)
2187         (character-fold-to-regexp): New function.
2188         * lisp/replace.el (replace-search): Check value of
2189         `character-fold-search'.
2190         * lisp/isearch.el: Move character-folding code to
2191         character-fold.el
2192         (isearch-toggle-character-fold): New command.
2193         (isearch-mode-map): Bind it to "\M-sf".
2194         (isearch-mode): Check value of `character-fold-search'.
2196 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2198         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
2199         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
2200         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
2202         * lisp/progmodes/xref.el: Avoid init-args in oref.
2203         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
2204         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
2206 2015-06-24  Glenn Morris  <rgm@gnu.org>
2208         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
2210 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2212         * lisp/gnus/nnmaildir.el: Silence lexical warnings
2213         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
2214         functional style.
2215         (nnmaildir--update-nov): Remove unused var `numdir'.
2216         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
2217         (nnmaildir-request-group, nnmaildir-request-create-group)
2218         (nnmaildir-request-post, nnmaildir-request-move-article)
2219         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
2220         (nnmaildir-get-new-mail, nnmaildir-group-alist)
2221         (nnmaildir-active-file): Declare.
2222         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
2223         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
2224         `mark', `end', `new-mark', and `mark-sym'.
2225         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
2226         `nlist2'.
2227         (nnmaildir-request-expire-articles):
2228         Remove unused vars `article', `stop' and `nlist2'.
2229         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
2230         `end'.  Use nnmaildir--article when dyn-binding is needed.
2231         Give the value directly in the `let' for `del-mark', `del-action',
2232         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
2233         (nnmaildir-close-server): Declare those local vars that need to be
2234         dyn-bound.
2236 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
2238         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
2240         Port selection info fix to clang
2241         * src/keyboard.h (kbd_buffer_store_event_hold):
2242         Don't assume C11 semantics for alignof (Bug#20756).
2244         Fix bug that munged selection info
2245         On some optimizing C compilers, copying a structure did not
2246         copy the padding bytes between elements, and the type punning
2247         between struct input_data and struct selection_input_data did
2248         not work.  Change the C code to use a proper union type instead.
2249         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
2250         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
2251         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
2252         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
2253         (mark_kboards):
2254         Use union buffered_input_event, not struct input_event.
2255         (clear_event, deliver_input_available_signal, process_special_events):
2256         Remove unnecessary forward decls.
2257         (kbd_buffer_store_buffered_event): New function, mostly just the
2258         old kbd_buffer_store_event_hold, except its argument is of type
2259         union buffered_input_event, not struct input_event.
2260         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
2261         not needed otherwise.  Argument is now of type
2262         struct selection_input_event *, not struct input_event *.
2263         All callers changed.
2264         (clear_event): Arg is now of type union buffered_input_event *,
2265         not struct input_event *.  All callers changed.
2266         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
2267         (union buffered_input_event): New type.
2268         (kbd_buffer_store_event_hold): Now an inline function,
2269         defined here.
2270         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
2271         (struct input_event): Use it.
2272         * src/xselect.c (struct selection_event_queue):
2273         Make elements be of type struct selection_input_event,
2274         not struct input_event.
2275         (selection_input_event_equal): New static function.
2276         (x_queue_event): Use it.
2277         (x_queue_event, x_decline_selection_request)
2278         (x_selection_current_request, x_reply_selection_request)
2279         (x_handle_selection_request, x_handle_selection_clear)
2280         (x_handle_selection_event): Use struct selection_input_event,
2281         not struct input_event.  All callers changed.
2282         (x_convert_selection): Omit unused first arg.  All callers changed.
2283         (Fx_disown_selection_internal): Omit unnecessary union.
2284         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
2285         rather than rolling our own equivalent.  Prefer sie.kind when
2286         setting up that kind of structure.
2287         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
2288         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
2289         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
2290         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
2291         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
2292         (SELECTION_EVENT_TIME, x_handle_selection_event):
2293         Arg is now of type struct selection_input_event *)
2294         not struct input_event *.  All callers changed.
2296 2015-06-23  Glenn Morris  <rgm@gnu.org>
2298         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
2300 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2302         * lisp/isearch.el: Fold many unicode characters to ASCII
2303         (isearch-character-fold-search, isearch--character-fold-extras)
2304         (isearch--character-fold-table): New variable.
2305         (isearch--character-folded-regexp): New function.
2306         (isearch-search-fun-default): Use them.
2307         * lisp/replace.el (replace-character-fold): New variable.
2308         (replace-search): Use it.
2309         * etc/NEWS: Document it.
2311 2015-06-23  Glenn Morris  <rgm@gnu.org>
2313         Check for an input event before showing a dialog box.  (Bug#20813)
2314         * lisp/subr.el (y-or-n-p):
2315         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
2316         as last-nonmenu-event.
2318 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
2320         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
2321         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
2322         (switch-to-prev-buffer, switch-to-next-buffer): Respect
2323         switch-to-visible-buffer independent of the windows history.
2325 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
2327         * src/keyboard.c (last_timer_event): Remove unused var.
2329 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
2331         * test/automated/package-test.el (package-test-update-listing):
2332         Fix test.
2334 2015-06-23  Glenn Morris  <rgm@gnu.org>
2336         Revert 2014-06-25 nextstep/Makefile change.
2337         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
2338         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
2339         not as an order-only prerequisite.
2341         * configure.ac (--with-ns): Enable by default on OS X.
2343 2015-06-23  Leo Liu  <sdl.web@gmail.com>
2345         Fix shell-for/backward-command to exclude spaces
2346         * lisp/shell.el (shell-forward-command, shell-backward-command):
2347           Handle the 'move case from re-search-forward/backward.
2348           fixes debbugs:20873
2350 2015-06-22  Juri Linkov  <juri@linkov.net>
2352         * lisp/replace.el (query-replace-read-from): Add separator to
2353         the local binding of text-property-default-nonsticky.  (Bug#20690)
2355         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
2356         (Bug#20785)
2358 2015-06-22  Ken Brown  <kbrown@cornell.edu>
2360         Enable CPU profiling on Cygwin
2361         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
2362         change that undefined this.
2363         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
2364         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
2365           Cygwin.
2367         Improve diagnostics of profiler-cpu-start
2368         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
2369         return -1 if the sampling interval is invalid.
2370         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
2371         fails.  (Bug#20843)
2373 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
2375         * lisp/emacs-lisp/package.el: Exclude packages by name
2376         (package-hidden-regexps): New variable.
2377         (package-menu--refresh): Use it.
2378         (package-menu-hide-package): New command.
2380         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
2382 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
2384         Fix debug-timer-check on systems without HAVE_TIMERFD
2385         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
2386         the expired timers, since wait_reading_process_output doesn't.
2387         (debug_timer_callback): Enlarge the tolerance to 20 msec.
2389         Fix RCS crashes in vc-test
2390         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
2391         ports of 'ci' on MS-Windows by always passing the -t- switch.
2393 2015-06-22  Glenn Morris  <rgm@gnu.org>
2395         * doc/emacs/package.texi (Packages):
2396         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
2398         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
2400 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
2402         Port tests to help-quote-translation
2403         * test/automated/ert-x-tests.el (ert-test-describe-test):
2404         * test/automated/package-test.el (package-test-describe-package)
2405         (package-test-signed): Allow straight quotes, too.
2407 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
2409         Make find-function-on-key use the current window
2410         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
2411         Extract from `find-function-on-key', add a second argument.
2412         (find-function-on-key): Use it (bug#19679).
2413         (find-function-on-key-other-window)
2414         (find-function-on-key-other-frame): New commands.
2416 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2418         Revert "Define `map-elt' as a generalized variable"
2419         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
2421 2015-06-21  Ken Brown  <kbrown@cornell.edu>
2423         Drop support for CPU profiling on Cygwin
2424         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
2425         (Bug#20843)
2427 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
2429         Fix some “nested” quoting confusion in doc strings
2430         * lisp/emacs-lisp/advice.el (ad-map-arglists):
2431         * lisp/kermit.el (kermit-clean-on):
2432         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
2433         * src/keyboard.c (Frecursive_edit):
2434         Use curved quotes when quoting text containing apostrophe,
2435         so that the apostrophe isn't curved in the output.
2437 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2439         Define `map-elt' as a generalized variable
2440         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
2441         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
2442         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
2443         `setf' with `map-elt'.
2444         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
2446 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
2448         Improve error handling in tramp-adb.el
2449         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
2450         Improve error handling.
2452 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
2454         Reuse `alist-get' in map.el
2455         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
2456         elements.
2458 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
2460         Fix bytecomp-tests--warnings when $TMPDIR has a long name
2461         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
2462         Allow the warning to begin on the 3rd, not only 2nd line, which
2463         happens if temporary-file-directory has a very long name.
2465         Expect 2 icalendar tests to fail on MS-Windows
2466         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
2467         (icalendar-real-world): Make them expected failures on MS-Windows.
2469 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
2471         Improve port of settings UI to older displays
2472         * lisp/cus-start.el (standard): Don't assume curved quotes are
2473         easily distinguishable when users are tinkering with a setting
2474         that affects how curved quotes are generated.
2476         Fix quoting in electric-quote-mode doc string
2477         * lisp/electric.el (electric-quote-mode): Fix quoting.
2478         This is a fallout from the recent change introducing
2479         ‘help-quote-translation’.
2481         Spelling fix
2483         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
2485         * src/doc.c (syms_of_doc): Remove unused symbols.
2487 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
2489         In ‘window-state-put’ undedicate target window.  (Bug#20848)
2490         * lisp/window.el (window-state-put): Undedicate target window
2491         before putting STATE into it.  (Bug#20848)
2493 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2495         Merge from origin/emacs-24
2496         a5e6f33 Fixes: debbugs:20832
2497         b9f02cf Fixes: debbugs:20832
2499 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2501         Fix file-in-directory-p when the directory is UNC
2502         * lisp/files.el (file-in-directory-p): Support files and
2503         directories that begin with "//".  (Bug#20844)
2505 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
2507         (Bug#20832)
2508         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
2509         in the minibuffer.
2511 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
2513         (Bug#20832)
2514         * lisp/calendar/todo-mode.el (todo-show): Signal an error
2515         if buffer for adding new todo file is empty but modified.
2517 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
2519         (filepos-to-bufferpos): Further tweaks to the utf-16 code
2520         * lisp/international/mule-util.el (filepos-to-bufferpos):
2521         Fix typo.  Move non-exact check to the utf-16 branch (the only one
2522         affected).  Don't use byte-to-position for the utf-16 case.
2524 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
2526         Minor fixes in filepos-to-bufferpos
2527         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
2528         test for utf-8-emacs.  Exempt single-byte encodings from the
2529         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
2530         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
2531         UTF-16 encoded files for CR-LF EOLs.
2533 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
2535         Improve the optional translation of quotes
2536         Fix several problems with the recently-added custom variable
2537         help-quote-translation where the code would quote inconsistently
2538         in help buffers.  Add support for quoting 'like this', which
2539         is common in other GNU programs in ASCII environments.  Change
2540         help-quote-translation to use more mnemonic values: values are now the
2541         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
2542         traditional Emacs help-buffer quoting style `like this'.  Change the
2543         default behavior of substitute-command-keys to match what's done in
2544         set-locale-environment, i.e., quote ‘like this’ if displayable,
2545         'like this' otherwise.
2546         * doc/lispref/help.texi (Keys in Documentation): Document
2547         new behavior of substitute-command-keys, and document
2548         help-quote-translation.
2549         * doc/lispref/tips.texi (Documentation Tips):
2550         Mention the effect of help-quote-translation.
2551         * etc/NEWS: Mention new behavior of substitute-command-keys,
2552         and merge help-quote-translation news into it.
2553         When talking about doc strings, mention new ways to type quotes.
2554         * lisp/cedet/mode-local.el (overload-docstring-extension):
2555         Revert my recent change to this function, which shouldn't be
2556         needed as the result is a doc string.
2557         * lisp/cedet/mode-local.el (mode-local-print-binding)
2558         (mode-local-describe-bindings-2):
2559         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2560         * lisp/cus-theme.el (describe-theme-1):
2561         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2562         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2563         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2564         (eieio-help-constructor):
2565         * lisp/emacs-lisp/package.el (describe-package-1):
2566         * lisp/faces.el (describe-face):
2567         * lisp/help-fns.el (help-fns--key-bindings)
2568         (help-fns--compiler-macro, help-fns--parent-mode)
2569         (help-fns--obsolete, help-fns--interactive-only)
2570         (describe-function-1, describe-variable):
2571         * lisp/help.el (describe-mode):
2572         Use substitute-command-keys to ensure a more-consistent quoting
2573         style in help buffers.
2574         * lisp/cus-start.el (standard):
2575         Document new help-quote-translation behavior.
2576         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
2577         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
2578         (help-xref-url-regexp):
2579         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2580         * lisp/wid-edit.el (widget-documentation-link-regexp):
2581         Also match 'foo', in case we're in a help buffer generated when
2582         help-quote-translation is ?'.
2583         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
2584         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
2585         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
2586         (Fsubstitute_command_keys): Document and implement new behavior.
2587         (Vhelp_quote_translation): Document new behavior.
2589 2015-06-18  Glenn Morris  <rgm@gnu.org>
2591         * lisp/cus-start.el (help-quote-translation): Add :version.
2593         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
2595 2015-06-18  Alan Mackenzie  <acm@muc.de>
2597         Make translation of quotes to curly in doc strings optional.
2598         src/doc.c (traditional, prefer-unicode): new symbols.
2599         (help-quote-translation): new variable.
2600         (Fsubstitute_command_keys): make translation of quotes dependent on
2601         `help-quote-translation'; also translate curly quotes back to ASCII
2602         ones.
2603         lisp/cus-start.el (top-level): Add a customization entry for
2604         `help-quote-translation'.
2606 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2608         * lisp/emacs-lisp/package.el: Don't always propagate async errors
2609         (package--with-work-buffer-async): Only propagate the error if the
2610         callback returns non-nil.
2611         (package--download-one-archive): Return nil on the signature
2612         checking callback if we accept unsigned.
2613         (package--download-and-read-archives): Return non-nil on the
2614         archive download callback.
2616 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
2618         Fix last fix"
2620         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
2621         * src/nsfns.m (Fx_create_frame):
2622         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
2623         image_cache_refcount before first x_default_parameter call.
2625 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2627         Improve and extend filepos-to-bufferpos
2628         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2629         Don't barf if F returns nil for some argument.
2630         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
2631         that every encoding of type 'charset' is single-byte.
2633 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
2635         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
2636         Properly delete packages.  (Bug#20836)
2638 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
2640         Update data files from just-released Unicode 8.0
2641         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
2642         status.
2643         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
2644         * admin/unidata/BidiMirroring.txt:
2645         * admin/unidata/BidiBrackets.txt:
2646         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
2648 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
2650         Document curved quotes a bit better
2651         * doc/emacs/basic.texi (Inserting Text):
2652         Mention C-x 8.  Change example to use curved quote rather
2653         than infinity, as this lets us give more ways to do it.
2654         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
2655         and quotation marks.
2656         * doc/emacs/text.texi (Quotation Marks):
2657         * doc/lispref/tips.texi (Documentation Tips):
2658         Add "curly quotes" and "curved quotes" to the index.
2659         * doc/emacs/text.texi (Quotation Marks):
2660         Give the C-x 8 shorthands for curved quotes.
2661         Cross-reference to "Quotation Marks".
2663 2015-06-17  Daiki Ueno  <ueno@gnu.org>
2665         Add pinentry.el for better GnuPG integration
2666         * lisp/pinentry.el: New file.
2667         * etc/NEWS: Add entry about pinentry.el.
2668         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
2669         (Bug#20550)
2671 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2673         * lisp/emacs-lisp/package.el: Slightly better error reporting.
2675 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
2677         (define-minor-mode): Use setq-default for :global minor modes
2678         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
2679         Use setq-default for :global minor modes (bug#20712).
2681 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
2683         Avoid infloop in redisplay with tall images
2684         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
2685         down near ZV.  (Bug#20808)
2686         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
2687         instead of CHARPOS.
2689 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
2691         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2692         Fix error reporting.
2694         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
2696         * lisp/emacs-lisp/package.el: Revert buffer after any operation
2697         Call `package-menu--post-refresh' after any operation that changes
2698         the package database (`package-install' and `package-delete').  To
2699         avoid performance issues in large transactions, these functions
2700         add `post-refresh' to `post-command-hook' instead of calling it
2701         immediately.
2702         (package-menu--mark-or-notify-upgrades): New function.
2703         (list-packages): Add it to `package--post-download-archives-hook'.
2704         (package-menu--post-refresh): Lose the upgrade-checking code, add
2705         code to remove itself from `post-command-hook'.
2706         (package-install, package-delete): Add it to `post-command-hook'.
2707         (package-menu-execute): Don't call `package-menu--post-refresh'.
2709 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
2711         Add missing function xref-location-group for elisp-mode.
2712         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
2714 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
2716         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
2717         The behavior now matches the description in the manual.  (Bug#20783)
2719 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
2721         Update tutorials/TUTORIAL.cn
2722         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
2724 2015-06-17  Glenn Morris  <rgm@gnu.org>
2726         Generate char-script-table from Unicode source.  (Bug#20789)
2727         * admin/unidata/Makefile.in (AWK): New, set by configure.
2728         (all): Add charscript.el.
2729         (blocks): New variable.
2730         (charscript.el, ${unidir}/charscript.el): New targets.
2731         (extraclean): Also remove generated charscript.el.
2732         * admin/unidata/blocks.awk: New script.
2733         * admin/unidata/Blocks.txt: New data file, from unicode.org.
2734         * lisp/international/characters.el: Load charscript.
2735         * src/Makefile.in (charscript): New variable.
2736         (${charscript}): New target.
2737         (${lispintdir}/characters.elc): Depend on charscript.elc.
2738         (temacs$(EXEEXT)): Depend on charscript.
2740         * lisp/international/characters.el (char-script-table): Tweak
2741         some ranges to better match the source.  (Bug#20789#17)
2743         Remove "no-byte-compile: t" from a few files.
2744         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
2745         * lisp/obsolete/patcomp.el: No reason not to compile these.
2747 2015-06-16  Glenn Morris  <rgm@gnu.org>
2749         Fix some typos in copied Unicode data.  (Bug#20789)
2750         * lisp/international/characters.el (char-script-table):
2751         * lisp/international/fontset.el (script-representative-chars)
2752         (setup-default-fontset): Fix typos.
2754         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
2755         Don't print filename twice (it's in the prefix now).
2757         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
2758         No longer needed.
2760         Address a compilation warning.
2761         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
2762         Replace 't' with '_' in pcase.
2764         Address some check-declare warnings.
2765         * lisp/simple.el (tabulated-list-print):
2766         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
2767         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
2768         (ns-get-selection): Update declarations.
2770         Address some compilation warnings.
2771         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
2772         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
2773         Replace 't' with '_' in pcase.
2775         Address some compilation warnings.
2776         * lisp/face-remap.el (text-scale-adjust):
2777         * lisp/menu-bar.el (popup-menu-normalize-position):
2778         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
2779         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
2780         * lisp/emacs-lisp/generator.el (cps--transform-1):
2781         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
2782         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
2783         * lisp/progmodes/octave.el (octave-goto-function-definition)
2784         (octave-find-definition-default-filename):
2785         Replace 't' with '_' in pcase.
2787         * lisp/emacs-lisp/pcase.el (pcase--u1):
2788         Paper-over today's bootstrap failure.
2790 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
2792         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
2794         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
2796         Better confirmation message in `find-alternate-file' (Bug#20830)
2797         * lisp/files.el (find-alternate-file'): Improve the confirmation
2798         message to show the buffer name.
2800         Better docstring for null. (Bug#20815)
2801         * src/data.c (null): Improves the docstring, saying what null returns
2802         when OBJECT is non-nil.
2804 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2806         * lisp/net/newst-treeview.el: Use lexical-binding.
2808         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
2809         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
2810         New auxiliary function, extracted from filepos-to-bufferpos.
2811         Make sure it terminates.
2812         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
2813         Add support for the `exact' quality.
2815 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
2817         Identify feeds in newsticker treeview with :nt-feed property
2818         * lisp/net/newst-treeview.el:
2819         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
2821 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2823         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
2824         (pcase--self-quoting-p): Floats aren't self-quoting.
2825         (pcase): Tweak docstring.
2826         (pcase--u1): Deprecate the t pattern.  Improve error detection for
2827         the nil pattern.
2828         (\`): Tweak docstring.  Signal an error for unrecognized cases.
2829         (bug#20784)
2831 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
2833         Fix infloop in filepos-to-bufferpos
2834         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
2835         offset calculation, and make it conditional on the eol-type of the
2836         file's encoding.  (Bug#20825)
2838 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
2840         Fix handling of image cache refcounts.  (Bug#20802)
2841         This backports Eli Zaretskii's solution of this problem for W32
2842         to X and NS.
2843         * src/nsfns.m (image_cache_refcount): Define unconditionally.
2844         (unwind_create_frame): If the image cache's reference count
2845         hasn't been updated yet, do that now.
2846         (Fx_create_frame): Set image_cache_refcount unconditionally.
2847         * src/xfns.c (image_cache_refcount): Define unconditionally.
2848         (unwind_create_frame): If the image cache's reference count
2849         hasn't been updated yet, do that now.
2850         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
2851         unconditionally.
2852         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
2853         X and NS.
2855 2015-06-16  Nils Ackermann  <nils@ackermath.info>
2857         Improve reftex-label-regexps default value
2858         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
2859         keyvals label regexp more strict to better cope with unbalanced
2860         brackets common in math documents.
2862 2015-06-16  Glenn Morris  <rgm@gnu.org>
2864         * doc/emacs/calendar.texi (Format of Diary File):
2865         Move "nonmarking" from here...
2866         (Displaying the Diary): ... to here.
2868         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
2869         Swap the order of these nodes.
2870         * doc/emacs/emacs.texi: Update detailed menu for the above change.
2872         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
2873         Update date of examples.
2874         (Diary, Format of Diary File): Move example from former to latter.
2875         Reduce duplication.
2877         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
2878         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
2879         Don't set no-byte-compile in the outputs.
2880         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
2882 2015-06-15  Glenn Morris  <rgm@gnu.org>
2884         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
2885         * doc/emacs/calendar.texi (Diary, Format of Diary File):
2886         Update for above diary-file change.
2887         : * etc/NEWS: Mention this.
2889         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
2890         (apply-macro-to-region-lines): Use user-error.
2892         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
2893         (pages-directory-for-addresses): Doc fixes.
2895 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
2897         * lisp/info.el: Cleanup bytepos/charpos issues
2898         * lisp/international/mule-util.el: Use lexical-binding.
2899         (filepos-to-bufferpos): New function.
2900         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
2901         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
2902         (Info-read-subfile, Info-search): Use 0-based file positions.
2904         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
2905         (perl--syntax-exp-intro-keywords): New var.
2906         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
2907         (bug#20800).
2909 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2911         Fix quoting when making derived mode docstring
2912         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2913         Nest regexp-quote inside format, not the reverse.
2914         Problem reported by Artur Malabarba in:
2915         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
2917 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
2919         Fix current-iso639-language on MS-Windows
2920         * lisp/international/mule-cmds.el (set-locale-environment):
2921         Downcase the locale name before interning it.  This is so the
2922         'current-iso639-language' on MS-Windows matches the ':lang'
2923         property of font-spec objects.
2925         Limit Symbola usage some more
2926         * lisp/international/fontset.el (setup-default-fontset): Limit
2927         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
2928         (Bug#20727)
2930 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
2932         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2934 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
2936         Spelling fixes
2938 2015-06-14  Glenn Morris  <rgm@gnu.org>
2940         * lisp/version.el (emacs-repository-version-git): Demote errors.
2941         Check result is a hash.
2943 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2945         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
2946         Catch errors that happen before going async.  (Bug#20809)
2948 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
2950         Another improvement of documentation of set-fontset-font
2951         * doc/lispref/display.texi (Fontsets): Say explicitly that
2952         CHARACTER can be a single codepoint.
2953         * src/fontset.c (Fset_fontset_font): Doc fix.
2955         Another improvement for symbol and punctuation characters
2956         * lisp/international/fontset.el (setup-default-fontset): Exclude
2957         from Symbola character ranges for symbols and punctuation covered
2958         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
2959         installed and where its coverage of symbols and punctuation is
2960         known to be good.  (Bug#20727)
2962 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
2964         Some generic support for multi-mode indentation.
2965                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
2966                 variable.
2967                 (prog-first-column, prog-widen): New convenience functions.
2969 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2971         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2972         Don't assume that `tabulated-list-printer' will leave point at the
2973         end of the buffer.  (Bug#20810)
2975 2015-06-13  Glenn Morris  <rgm@gnu.org>
2977         Tweaks for getting repository version; a bit more like it was for bzr.
2978         * lisp/version.el (emacs-repository-version-git)
2979         (emacs-repository--version-git-1): New functions,
2980         split from emacs-repository-get-version.
2981         (emacs-repository-get-version): Make the second argument meaningful.
2983         * lisp/startup.el (command-line-1): Inform if skipping relative
2984         file names due to deleted PWD.
2986         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
2987         when starup directory is missing.  (Bug#18851)
2988         (errno.h): Include it.
2990 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2992         Better fix for documenting `X as "`X"
2993         Fix suggested by Stefan Monnier.
2994         * lisp/help-fns.el (help-fns--signature):
2995         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
2996         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2997         Don't treat `X specially, as help-fns--signature now handles this.
2999 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
3001         Improve the default fontset when Symbola is not installed
3002         * lisp/international/fontset.el (setup-default-fontset): Only
3003         prepend Symbola and FreeMono font specs for symbols and
3004         punctuation; do not replace the default spec for them.  This
3005         should have better results when Symbola/FreeMono are not
3006         installed.  (Bug#20727)
3008         Improve documentation of ':lang' in font specs
3009         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
3010         use of the ':lang' property of the font spec.
3011         * doc/emacs/frames.texi (Fonts): Document the language names that
3012         can be in the STYLE part of XLFD.
3013         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
3014         property.
3016         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
3018         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
3020         Revert last change in fontset.el
3021         * lisp/international/fontset.el (setup-default-fontset): Revert
3022         the change "Configure Symbola font only if installed", since font
3023         search is evidently not yet set up when this function is called.
3024         (Bug#20727)
3026 2015-06-12  Glenn Morris  <rgm@gnu.org>
3028         Ensure early startup warnings are visible at the end.  (Bug#20792)
3029         * lisp/emacs-lisp/warnings.el (display-warning):
3030         If startup isn't complete, delay the warning.
3031         * lisp/startup.el (normal-top-level, command-line):
3032         Let display-warning automatically handle the needed delays.
3033         Run delayed-warnings-hook.
3035         * lisp/version.el (emacs-repository-get-version):
3036         Avoid calling external executable if possible.  (Bug#20799)
3038 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3040         Document `X as "`X", not as "(` X)"
3041         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
3042         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
3044         * src/print.c (print_object): Minor simplification.
3046 2015-06-12  Glenn Morris  <rgm@gnu.org>
3048         * src/buffer.c (init_buffer): Add final newline to message.
3050 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3052         Configure Symbola font only if installed
3053         * lisp/international/fontset.el (setup-default-fontset):
3054         Don't specify the Symbola font if it's not installed.
3055         Likewise for FreeMono.  (Bug#20727)
3057 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
3059         Configure Symbola font only for symbols and punctuation
3060         * lisp/international/fontset.el (setup-default-fontset): Leave
3061         only symbols and punctuation in the fontset setup for Symbola
3062         font; remove "Greek and Coptic" and "Cyrillic Supplement".
3063         (Bug#20798)
3065 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
3067         Fix crash in fontset-info
3068         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
3069         non-nil.
3071 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
3073         Port to Solaris 10 sparc + Sun C 5.13
3074         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
3075         Adjust to process.c change.
3076         * src/process.c (create_process): Declare volatile variables at
3077         top level of this function, so that they're less likely to be
3078         reused later in the function in the code executed by the vforked
3079         child.  Do not declare locals used only in the vforked child, as
3080         they might share memory with locals still live in the parent.
3081         Instead, use the same variables in the child as in the parent.
3082         This works around a subtle bug that causes a garbage collector
3083         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
3085 2015-06-12  Glenn Morris  <rgm@gnu.org>
3087         * lisp/startup.el (normal-top-level): Don't let *Messages* get
3088         a nil default-directory.
3090 2015-06-11  Glenn Morris  <rgm@gnu.org>
3092         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
3094         Some progress towards starting with PWD deleted.  (Bug#18851)
3095         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
3096         * lisp/startup.el (normal-top-level, command-line-1):
3097         * lisp/minibuffer.el (read-file-name-default):
3098         Handle default-directory being nil.
3100 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3102         Fix "not a tty" bug on Solaris 10
3103         * configure.ac (PTY_OPEN): Define to plain 'open'
3104         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
3105         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
3106         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
3107         hosts that call grantpt which does its work via a setuid subcommand
3108         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
3109         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
3110         seems relevant in that case too.
3112 2015-06-11  Juri Linkov  <juri@linkov.net>
3114         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
3115         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
3116         (Bug#20785)
3118 2015-06-11  Glenn Morris  <rgm@gnu.org>
3120         * lisp/international/characters.el (char-script-table): Fix typo.
3122 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
3124         Fix quoting of help for functions with odd names
3125         While investigating Bug#20759, I discovered other quoting problems:
3126         C-h f mishandled characters like backslash and quote in function names.
3127         This fix changes the behavior so that 'C-h f pcase RET' now
3128         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
3129         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
3130         in src/lread.c's read1 function says that the backslash will be
3131         needed starting in Emacs 25, which implies that 'format' is
3132         correct and the old pcase documention was wrong to omit the backslash.
3133         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
3134         * lisp/help-fns.el (help-fns--signature):
3135         * lisp/help.el (help-add-fundoc-usage):
3136         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
3137         Use help--make-usage-docstring rather than formatting
3138         help-make-usage.
3139         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
3140         Return raw docstring.
3141         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
3142         raw docstring.  Take more care to distinguish raw from cooked dstrings.
3143         (describe-function-1): Let help-fns--signature substitute
3144         command keys.
3145         * lisp/help.el (help--docstring-quote): New function.
3146         (help-split-fundoc): Use it, to quote funny characters more
3147         systematically.
3148         (help--make-usage): Rename from help-make-usage, since this
3149         should be private.  Leave an obsolete alias for the old name.
3150         (help--make-usage-docstring): New function.
3151         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
3153 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
3155         * lisp/thingatpt.el (in-string-p): Revert last change,
3156         since in-string-p is not used in thingatpt.el but only from outside.
3157         Also, use lexical binding.
3159 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
3161         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
3162         * test/automated/let-alist.el (let-alist-cons): Test it.
3164 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
3166         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
3168 2015-06-10  Glenn Morris  <rgm@gnu.org>
3170         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
3172         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
3173         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
3174         * admin/gitmerge.el (gitmerge-commit-message):
3175         Exclude "skipped" messages from ChangeLog once again.
3177         Slight namespace cleanup for thingatpt.el.
3178         * lisp/thingatpt.el (thing-at-point--in-string-p)
3179         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
3180         (thing-at-point--read-from-whole-string): Rename from
3181         old versions without "thing-at-point--" prefix.
3182         Keep old versions as obsolete aliases.  Update all uses.
3184         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
3185         Move requiring of finder from here...
3186         (checkdoc-package-keywords): ... to here.
3188         Use 'user-error' in a few calendar files.
3189         * lisp/calendar/appt.el (appt-add):
3190         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
3191         (calendar-generate):
3192         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
3193         Replace 'error' with 'user-error'.
3195         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
3197         * lisp/files-x.el (add-file-local-variable):
3198         Special-case 'lexical-binding'.  (Bug#20641)
3200         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
3201         No longer autoload.
3202         * doc/misc/autotype.texi (Executables):
3203         Undocument executable-self-display.
3205         * lisp/progmodes/executable.el (executable-self-display):
3206         Use non-obsolete tail syntax.  (Bug#20779)
3207         (executable-self-display): Doc update.
3209 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
3211         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
3212         (finder-known-keywords): Silence byte-compiler.
3214 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
3216         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
3218         * lisp/progmodes/sh-script.el: Better handle nested quotes
3219         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
3220         (sh-font-lock-quoted-subshell): Make sure double quotes within single
3221         quotes don't mistakenly end prematurely the surrounding string.
3223         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
3225 2015-06-09  Glenn Morris  <rgm@gnu.org>
3227         * test/automated/Makefile.in (ELFILES): Sort.
3229         * Makefile.in (SUBDIR_MAKEFILES):
3230         * lwlib/Makefile.in (WARN_CFLAGS):
3231         Use built-in Make functions rather than echo+sed.
3233 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
3235         Update char-script-table
3236         * lisp/international/characters.el (char-script-table): Update
3237         from Unicode 8.0 Draft.
3239         Improve font selection for punctuation and other symbols
3240         * src/fontset.c (face_for_char): If the character's script is
3241         'symbol', and the font used for ASCII face has a glyph for it, use
3242         the font for the ASCII face instead of searching the fontsets.
3243         This comes instead of NS-specific code that used the current
3244         face's font instead, which is now disabled due to undesirable
3245         consequences.  (Bug#20727)
3247 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
3249         Skip past `#' to find BEG
3250         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
3251         past `#' to find BEG (bug#20771).
3252         * test/automated/elisp-mode-tests.el
3253         (elisp-completes-functions-after-hash-quote): New test.
3255 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3257         Fix compilation warning/error in --without-x builds
3258         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
3259         code on HAVE_WINDOW_SYSTEM.
3261         Improve the default fontset wrt symbols
3262         * lisp/international/fontset.el (setup-default-fontset): Better
3263         setup of fontset-default for symbols: use Symbola and FreeMono.
3264         (Bug#20727)
3266 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3268         Add new command checkdoc-package-keywords
3269         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
3270           defcustom.
3271         (checkdoc-list-of-strings-p): Add doc.
3272         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
3273         non-nil, call `checkdoc-package-keywords'.
3274         (checkdoc-get-keywords): New defun.
3275         (checkdoc-package-keywords): New command. Warns if the current file
3276         has package.el-style keywords that aren't in `finder-known-keywords'.
3277         * etc/NEWS: Add entry.
3279 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
3281         Avoid crashes when key-binding is called from a timer
3282         * src/keymap.c (Fkey_binding): Don't segfault if called with an
3283         empty vector as KEY.  (Bug#20705)
3285         Fix a thinko in arc-mode.el
3286         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
3287         non-Zip64 case.  (Bug#20769)
3289 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
3291         * lisp/emacs-lisp/package.el (package-delete): Make interactive
3293 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
3295         checkdoc.el (checkdoc-file): New function
3296         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
3297           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
3298           to the standard output.
3299         (bug#20754)
3301 2015-06-07  Glenn Morris  <rgm@gnu.org>
3303         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
3305         * src/font.c (syms_of_font) <font-log>: Doc fix.
3307         Remove the obsolete leading "*" from some C doc strings.
3308         * src/coding.c (syms_of_coding):
3309         * src/font.c (syms_of_font): Remove leading "*" from docs.
3310         * lisp/cus-start.el (enable-character-translation): Add it.
3312 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
3314         Move gen_origin from program to data
3315         That way, 'make change-history' needs to change only ChangeLog.2,
3316         instead of having to change two files.
3317         * ChangeLog.2: Add commit info for range that this file covers.
3318         * Makefile.in (new_commit_regexp): New macro.
3319         (change-history-nocommit): Simplify, by putting what used to be
3320         the gen_origin value into the data (ChangeLog.2) rather than
3321         into the program (gitlog-to-emacslog).
3322         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
3323         the input file (e.g., ChangeLog.2) rather than by having a
3324         constant in the program.  Substitute it into the output.
3326 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
3328         Escape any quotes in the function name
3329         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
3330         function name (bug#20759).
3332 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
3334         Adapt 'struct timespec' to next release of MinGW runtime
3335         * nt/inc/ms-w32.h (struct timespec): Don't declare if
3336         __struct_timespec_defined is defined.
3338 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
3340         Merge from gnulib
3341         This incorporates:
3342         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
3343         2015-06-05 stdio: Don't redefine gets when using C++
3344         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
3345         2015-06-02 file-has-acl: fix build on Mac OS X 10
3346         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
3347         2015-06-01 pthread_sigmask: discount system version if a simple macro
3348         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
3349         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
3350         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
3351         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
3352         * lib/gnulib.mk: Regenerate.
3354 2015-06-06  Juri Linkov  <juri@linkov.net>
3356         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
3357         before calling grep-compute-defaults because now it affects the
3358         command lines computed in grep-compute-defaults. (Bug#20728)
3360 2015-06-06  Glenn Morris  <rgm@gnu.org>
3362         Address some compilation warnings.
3363         * lisp/international/mule-cmds.el (w32-get-console-codepage)
3364         (w32-get-console-output-codepage):
3365         * lisp/progmodes/elisp-mode.el (xref-collect-references):
3366         * lisp/version.el (cairo-version-string): Declare.
3367         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
3369 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3371         Fix display when a font claims large values of ascent and descent
3372         This fixes bug#20628.
3373         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
3374         coordinate of a hollow cursor glyph when the original glyph's
3375         ascent is too small.
3376         (get_font_ascent_descent, normal_char_ascent_descent)
3377         (normal_char_height): New functions.
3378         (handle_single_display_spec, append_space_for_newline)
3379         (calc_pixel_width_or_height, produce_stretch_glyph)
3380         (calc_line_height_property): Use normal_char_ascent_descent and
3381         normal_char_height.
3382         (x_produce_glyphs): When font-global values of ascent and descent
3383         are too large, use per-character glyph metrics instead, if
3384         possible.  But don't allow the glyph row's ascent and descent
3385         values become smaller than the values from the metrics of the
3386         font's "normal" character.
3387         * src/xftfont.c (xftfont_draw):
3388         * src/w32font.c (w32font_draw): Correct the values of ascent and
3389         descent used to draw glyphless characters' hex code in a box.
3390         * src/xterm.c (x_draw_glyph_string_background):
3391         * src/xdisp.c (x_produce_glyphs):
3392         * src/w32term.c (x_draw_glyph_string_background):
3393         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
3394         to detect fonts whose global ascent and descent values are too
3395         large to be used in layout decision, and redraw the background
3396         when that happens.
3397         * src/dispextern.h (FONT_TOO_HIGH): New macro.
3398         (get_font_ascent_descent): Add prototype.
3399         * src/xterm.c (x_new_font):
3400         * src/w32term.c (x_new_font):
3401         * src/nsterm.m (x_new_font):
3402         * src/font.c (font_open_entity):
3403         * src/composite.c (composition_gstring_width): Use
3404         get_font_ascent_descent to obtain reasonable values for ascent and
3405         descent of a font.
3407 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3409         Add assertion in adjust_point_for_property
3410         * src/keyboard.c (adjust_point_for_property): Add eassert for
3411         current buffer being shown in selected window.
3413 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
3415         Replace uses of in-string-p; make it obsolete
3416         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
3417         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
3419 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
3421         Fix Dired display of an explicit list of files by ls-lisp.el
3422         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
3423         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
3424         correct for when displaying individual files separately, not as
3425         part of listing a directory, in which case these values are not
3426         recomputed by 'ls-lisp-insert-directory', but used verbatim.
3428         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
3430 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
3432         Do not adjust point in a non-selected window
3433         * src/keyboard.c (command_loop_1): Do not adjust point when
3434         current buffer is not shown in selected window (Bug#20590).
3436         * etc/DEBUG: Mention 'maybe_call_debugger'
3438 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
3440         Fix a unit test for map.el
3441         * test/automated/map-tests.el (test-map-let): Fix the test to work
3442         with the new syntax of `map-let'.
3444         * lisp/emacs-lisp/map.el (map-let): Better docstring.
3446         Better syntax for the map pcase pattern
3447         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
3448         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
3450         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
3452         Fix a byte-compiler error in map-put and map-delete
3453         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
3454         called with a symbol.
3456 2015-06-05  Glenn Morris  <rgm@gnu.org>
3458         * admin/gitmerge.el (gitmerge-commit-message):
3459         Revert to including "skipped" messages in ChangeLog once again.
3461 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
3463         Use string> instead of equiv lambda with string<
3464         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
3465         lambda with string<.
3467 2015-06-05  Glenn Morris  <rgm@gnu.org>
3469         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
3470         (map--delete-array): Fix typo.
3472         * test/automated/map-tests.el: Replace "assert" with "should".
3474         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
3475         (SUBDIRS_REL): Derive from SUBDIRS.
3477         Tweak some build messages.
3478         * lisp/Makefile.in ($(lisp)/loaddefs.el):
3479         * lisp/cus-dep.el (custom-make-dependencies):
3480         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
3481         * lisp/international/titdic-cnv.el (batch-titdic-convert):
3482         Don't say how to compile.
3484 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
3486         Omit U+0332 COMBINING LOW LINE in previous change
3487         It turns out that it does not work on Ubuntu 15.04.
3489         Fix transliteration of Bahá'í months
3490         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
3491         Improve quality of Latin transliteration of Bahá'í month names.
3493         Fix curved quotes in a few places
3494         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
3495         The strings in question are not doc strings, so this partially
3496         undoes the recent change that assumed they were doc strings.
3497         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
3498         * lisp/info.el (Info-finder-find-node):
3499         Use curved quotes.
3500         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
3501         Also allow curved quotes in doc strings.
3503 2015-06-04  Glenn Morris  <rgm@gnu.org>
3505         * lisp/Makefile.in (AM_V_at): Add missing definition.
3507         * lisp/Makefile.in: Quieten output a bit.
3508         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
3509         Don't echo directories, since the commands we invoke print them.
3511         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
3512         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
3513         (SUBDIRS_SUBDIRS): New variables.
3514         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
3515         Remove.
3516         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
3517         (update-subdirs, compile-main, compile-clean):
3518         Replace "setwins" usage with new "SUBDIRS" variables.
3520         * lisp/vc/compare-w.el (compare-windows-get-window-function):
3521         Fix :version tag.
3523 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3525         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
3527         Undo removal of x_clear_area call on expose for GTK3 or cairo.
3528         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
3529         exposed area.  (Bug#20677)
3531 2015-06-04  Glenn Morris  <rgm@gnu.org>
3533         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
3535         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
3537         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
3538         Rename from quail-lao-update-translation, since lao.el defines that.
3540 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
3542         Handle new-style advice in find-funct
3543         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
3544         Handle new-style advice.  Return the symbol's function definition.
3545         (Bug#20718)
3546         (find-function-library): Update accordingly.
3548 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
3550         Merge branch 'map'
3552         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
3554         Add new function string-greaterp
3555         * lisp/subr.el (string-greaterp): New function.  Also aliased to
3556         `string>'.
3557         * test/automated/subr-tests.el (string-comparison-test): Add unit
3558         tests for `string>'and `string<'.
3559         * src/fns.c (string-lessp): Better docstring.
3561 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
3563         Fix timezone-related functions on MS-Windows
3564         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
3565         'xputenv', even if no reallocation of tzvalbuf was necessary.
3566         This fixes a bug in timezone-related functions on MS-Windows.
3567         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
3569 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3571         Don't pass raw directory name to 'error'
3572         * lisp/files.el (basic-save-buffer-2): Avoid format error if
3573         a directory name contains a string like "%s".
3575 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
3577         Override 'grep --color=always'
3578         * lisp/progmodes/xref.el (xref-collect-matches):
3579         Override --color=always in grep-find-template.
3581 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3583         Fix error introduced recently in file-notify-tests.el
3584         * test/automated/file-notify-tests.el
3585         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
3586         (file-notify--deftest-remote): Revert previous patch, not
3587         necessary anymore.
3589 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
3591         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
3592         Starting from a display string after a newline, point went to the
3593         previous line.  Also, fix an inadvertent use of a buffer position
3594         with FETCH_BYTE.  (Bug#20701)
3596 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
3598         Instrument file-notify-test.el in order to catch hydra error.
3599         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
3600         Wrap body by `ignore-case', in order to trap non-local errors.
3602 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3604         Undo previous changes in non-toolkit scroll bar drawing.
3605         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
3606         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
3608 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
3610         * .gitignore: Also ignore doc/*/*/*.html and .ps.
3612         Support quotes 'like this' in info files
3613         This is possible when 'makeinfo --disable-encoding' is used
3614         in Texinfo 5.
3615         * lisp/calc/calc-help.el (calc-describe-thing):
3616         * lisp/gnus/gnus-art.el (gnus-button-alist):
3617         * lisp/info.el (Info-find-index-name):
3618         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3619         Also support quotes 'like this'.
3620         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
3621         * lisp/finder.el (finder-font-lock-keywords): Remove var that
3622         hasn't been used in years, instead of bothering to fix its quoting.
3624 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3626         * .gitignore: Remove !test/etags/html-src/*.html.
3627         It's no longer needed, since *.html was removed.  Sort.
3629 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3631         Restore <D> instead of '.' in grep-find-template
3632         * lisp/cedet/semantic/symref/grep.el
3633         (semantic-symref-grep-use-template): Update a comment.
3634         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
3635         instead of '.' in grep-find-template (bug#20719).
3636         (rgrep): Pass nil as the directory to rgrep-default-command.
3637         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
3638         default value for DIR.
3639         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
3640         workaround.
3642 2015-06-02  Glenn Morris  <rgm@gnu.org>
3644         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
3646         * configure.ac (emacs_config_features): Add Cairo.
3648         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
3650 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
3652         Ensure, that autorevert works for remote files in file-notify-tests.el
3653         * test/automated/file-notify-tests.el (file-notify--test-desc):
3654         New defvar.
3655         (file-notify--test-remote-enabled)
3656         (file-notify-test00-availability, file-notify-test01-add-watch)
3657         (file-notify-test02-events): Use it.
3658         (file-notify--test-event-test): Check proper descriptor.
3659         (file-notify-test03-autorevert): Ensure, that
3660         `visited-file-modtime' has changed.
3661         (Bug#20392)
3663 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
3665         Add a pcase pattern for maps and `map-let' based on it
3666         * lisp/emacs-lisp/map.el (map-let): New macro.
3667         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
3668         * test/automated/map-tests.el: New test for `map-let'.
3670 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
3672         Reuse rgrep mechanics in xref-find-regexp
3673         * lisp/progmodes/grep.el (rgrep-default-command):
3674         Extract from `rgrep'.
3675         * lisp/progmodes/xref.el (xref-collect-references): Split from
3676         `xref-collect-matches'.  Only handle the case of symbol search.
3677         (xref-collect-matches): Instead of Semantic Symref, use
3678         `rgrep-default-command', to take advantage of its directory and
3679         file ignore settings.
3680         (xref--collect-match): Remove the last argument, leaving the
3681         regexp construction up to the caller.
3682         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
3683         Change to take the xref-collect- function to use as an argument.
3684         (elisp-xref-find): Update accordingly.
3685         * lisp/progmodes/etags.el (etags--xref-find-matches)
3686         (etags-xref-find): Same.
3688         Move xref-elisp-location to elisp-mode.el
3689         * lisp/progmodes/xref.el (xref-elisp-location)
3690         (xref-make-elisp-location, xref-location-marker): Remove here.
3691         (xref--xref): Don't limit the type of the location slot.
3692         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
3693         Define as a cl-struct here.
3694         (xref-location-marker): Move here.
3696 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
3698         Minor tweaks for .gitignore
3699         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
3700         ignore admin/notes/tags that might be ignored as TAGS on
3701         case-insensitive filesystems.  (Bug#20710)
3703 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
3705         Generate curved quotes in ert doc
3706         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
3707         (ert-results-mode-menu)
3708         (ert-results-pop-to-backtrace-for-test-at-point)
3709         (ert-results-pop-to-messages-for-test-at-point)
3710         (ert-results-pop-to-should-forms-for-test-at-point)
3711         (ert-describe-test):
3712         Quote ‘like this’, not `like this', when generating doc strings
3713         and the like.
3714         * test/automated/ert-x-tests.el (ert-test-describe-test):
3715         Allow quoting ‘like this’.
3717 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
3719         Add test for previous commit
3720         * test/automated/replace-tests.el: New file.
3721         (query-replace--split-string-tests): Add test for previous commit.
3723         Avoid confusion in query-replace history when replacing NUL chars
3724         * lisp/replace.el (query-replace--split-string): New function.
3725         (query-replace-read-from): Rely on the 'separator' property
3726         instead of searching for the NUL character (Bug#20690).
3728 2015-06-02  Glenn Morris  <rgm@gnu.org>
3730         Merge from origin/emacs-24
3731         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3733         * admin/gitmerge.el (gitmerge-commit-message):
3734         Exclude "skipped" messages from ChangeLog.
3736 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
3738         Sync with Tramp repository
3739         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
3740         messages.
3741         (tramp-handle-make-auto-save-file-name): When calling
3742         `make-auto-save-file-name' internally, make sure it uses Unix-like
3743         behavior, not Windows-like behavior.
3744         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
3745         the local case, because "chown" might fail on w32.
3746         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
3747         for XEmacs.
3749 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
3751         MS-Windows followup for batch stdout/stderr output changes
3752         * lisp/international/mule-cmds.el (set-locale-environment): In
3753         batch mode, use console codepages for keyboard and terminal
3754         encoding.  (Bug#20545)
3756         Update .gitattributes for DOS EOL files
3757         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
3758         CRLF end-of-line format.
3760         NS equivalents of xterm.c and w32term.c changes
3761         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
3762         glyph string background also when the font in use claims
3763         preposterously large global height value.  Helps to remove
3764         artifacts left from previous displays when glyphless characters
3765         are displayed as hex code in a box.
3766         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
3767         value for FRAME_LINE_HEIGHT, even when a font claims very large
3768         value for its height.
3770 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
3772         Avoid grave accent quoting in stderr diagnostics
3773         A few Emacs diagnostics go directly to stderr, and so can't easily
3774         contain curved quotes (as non-UTF-8 locales might mishandle them).
3775         Instead of bothering to add support for this rarity, reword the
3776         diagnostics so that they don't use grave accent to quote.
3777         * src/alloc.c (mark_memory): Fix comment.
3778         * src/buffer.c (init_buffer):
3779         * src/dispnew.c (init_display):
3780         * src/emacs.c (main, sort_args):
3781         * src/lread.c (dir_warning):
3782         * src/term.c (init_tty):
3783         * src/unexmacosx.c (unexec):
3784         * src/xfns.c (select_visual):
3785         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
3786         Reword stderr diagnostics to avoid quoting `like this'.
3787         * src/unexmacosx.c: Include errno.h.
3788         * src/xfns.c (select_visual): Encode value for locale.
3790 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3792         Treat batch stdout/stderr like standard display
3793         Calls like (print FOO) could generate improperly encoded or
3794         hard-to-read output if FOO contains characters outside the system
3795         locale.  Fix this by treating batch stdout and stderr like
3796         interactive standard display, when it comes to transliterating and
3797         encoding characters (Bug#20545).
3798         * doc/emacs/mule.texi (Communication Coding):
3799         * doc/lispref/display.texi (Active Display Table):
3800         * doc/lispref/nonascii.texi (Locales):
3801         * etc/NEWS:
3802         * src/coding.c (syms_of_coding):
3803         * src/dispnew.c (syms_of_display):
3804         Document this.
3805         * src/print.c: Include disptab.h.
3806         (printchar_to_stream): New function, with much of the guts of the
3807         old Fexternal_debugging_output, except this one also uses the
3808         standard display table.
3809         (printchar, strout, Fexternal_debugging_output): Use it.
3811 2015-05-31  Glenn Morris  <rgm@gnu.org>
3813         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
3815 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
3817         Remove unused DEFSYMs
3818         Remove DEFSYMs that aren't used at the C level.  Also:
3819         * src/decompress.c (Qzlib_dll):
3820         * src/font.c (Qunicode_sip):
3821         * src/frame.c (Qtip_frame):
3822         * src/ftfont.c (Qserif):
3823         * src/gnutls.c (Qgnutls_dll):
3824         * src/xml.c (Qlibxml2_dll):
3825         Move from here ...
3826         * src/w32fns.c (syms_of_w32fns): ... to here,
3827         as these are used only on MS-Windows.
3829 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
3831         Use another default value for tramp-histfile-override
3832         * lisp/net/tramp-sh.el (tramp-histfile-override):
3833         Use ".tramp_history" as default.
3834         Fixes: debbugs:#20446
3836 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
3838         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
3840 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
3842         * etc/NEWS: Add an entry about map.el
3844         Improve the docstring of functions in map.el
3845         Since a map is not a data structure but a concept, adding information
3846         about the possible types of maps can be useful information.
3847         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
3848         each public function.
3850 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
3852         Faster implementation of map-empty-p
3853         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
3854         specific tests depending on the type of the map.
3856         * lisp/emacs-lisp/map.el: Better docstrings.
3858 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
3860         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
3862 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
3864         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
3866         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
3868         Fix a false negative in `map-elt' with alists and values being nil
3869         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
3870         found but its associated value is nil, do not return the default
3871         value.
3872         * test/automated/map-tests.el: Add a regression test.
3874 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
3876         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
3878         Do not signal an error when trying to delete a key from an array
3879         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
3880         the key is present to avoid signaling an error.
3881         * test/automated/map-tests.el: Add a test for deleting non-existing
3882         keys from maps.
3884         * lisp/emacs-lisp/map.el: Better docstring.
3886         Minor improvement in map-elt.
3887         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
3888         doing a lookup in arrays, but check the boundaries of the array
3889         instead.
3890         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
3891         and a negative integer as key.
3893 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
3895         * test/automated/map-tests.el: Refactoring of test methods.
3897         * test/automated/map-tests.el: Renamed from map-test.el.
3899 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
3901         * lisp/emacs-lisp/map.el (map-into): Better error message.
3903         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
3905         Throw an error when converting a map into an unknown map type
3906         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
3907         * test/automated/map-test.el: Add a regression test.
3909         New library map.el similar to seq.el but for mapping data structures.
3910         * test/automated/map-test.el: New file.
3911         * lisp/emacs-lisp/map.el: New file.
3913 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3915         Make sure there's no explicit tag name
3916         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
3917         there's no explicit tag name (bug#20629).
3919 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3921         Remove format2
3922         * src/editfns.c, src/lisp.h (format2): Remove.
3923         It is more trouble than it's worth, now that we have CALLN.
3924         This is just a minor refactoring.
3925         * src/buffer.c (Fkill_buffer):
3926         * src/dbusbind.c (XD_OBJECT_TO_STRING):
3927         * src/fileio.c (barf_or_query_if_file_exists):
3928         Adjust to format2 going away.
3930         Don't misencode C-generated messages
3931         Also, be more consistent about calls to 'Fmessage' vs 'message'.
3932         * src/alloc.c (Fgc_status):
3933         Prefer AUTO_STRING to build_string for Fmessage call.
3934         * src/data.c (Fmake_variable_buffer_local)
3935         (Fmake_local_variable, Fmake_variable_frame_local):
3936         * src/doc.c (store_function_docstring):
3937         Use Fmessage, not message, since the argument can contain
3938         non-ASCII characters, and this can cause the resulting message
3939         to be incorrectly encoded for the current environment.
3940         * src/fns.c (maybe_resize_hash_table):
3941         * src/xselect.c (x_clipboard_manager_save_all):
3942         Use message, not Fmessage, since Fmessage's power isn't needed here.
3943         * src/process.c (Fmake_network_process): Reword message to avoid %s.
3944         * src/xdisp.c (vmessage): Document restrictions on message contents.
3945         (message_nolog) [false]: Remove unused code.
3947         Use \r rather than ^M in string literals
3948         This is less likely to cause problems on platforms that
3949         use CRLF (or CR!) termination for lines.
3951         Update .gitattributes to match current sources
3952         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
3953         * .gitattributes: Accommodate tests that insist on DOS format.
3954         Remove test/automated/data/decompress/foo-gzipped.
3955         Add etc/e/eterm-color.
3957 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3959         Document 'face-ignored-fonts'
3960         * doc/emacs/mule.texi (Modifying Fontsets): Document
3961         face-ignored-fonts.  (Bug#20628)
3963         Add etags test for the new -Q option
3964         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3965         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3966         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3967         test-case changes below.
3968         * test/etags/ETAGS.good_6: New file.
3969         * test/etags/cp-src/x.cc: New file.
3970         * test/etags/Makefile (CPSRC): Add x.cc.
3971         (check): Add one more test, for -Q.
3973 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3975         Use list for the tags completion table, not obarray
3976         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
3977         list instead of an obarray
3978         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
3979         (tags-completion-table): Combine those lists.
3980         (tags-completion-table): Update the docstring.
3982 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3984         Restore EOL format testing in etags
3985         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3986         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3987         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3988         test-case changes below.
3989         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
3990         * test/etags/cp-src/c.C (B): Add back stray CR character.
3991         * test/etags/c-src/dostorture.c: Add back.
3992         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
3994 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
3996         Declare Emacs on MS-Windows to be DPI-aware
3997         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
3998         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
3999         This avoids Windows entering compatibility mode for Emacs,
4000         which causes fonts to look less nice.
4002 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
4004         Improve Tramp traces.
4005         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
4006         * lisp/net/tramp.el (tramp-debug-message): Use it.
4008 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
4010         backup-buffer minor reworking of internals
4011         * lisp/files.el (backup-buffer): Rework to avoid a couple of
4012         unused locals inadvertently introduced in the previous change.
4014         backup-buffer now reports .emacs.d/%backup% ills
4015         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
4016         fails due to disk space exhaustion or whatever, do not pretend
4017         that it succeeded.  More generally, do a better job of checking
4018         for I/O failures, and limit the scope of the condition-case to
4019         just the operations where file errors should be caught and ignored
4020         (Bug#20595).  Also, don't bother trying to delete later backups if
4021         an earlier deletion fails, as this is a sign of trouble and it's
4022         better to stop when there's trouble.
4024         copy-file now truncates output after writing
4025         * src/fileio.c (Fcopy_file): Truncate output after writing rather
4026         than before.  This is more likely to work than truncation before
4027         writing, if the file system is out of space or the user is over
4028         disk quota (Bug#20595).  Also, check for read errors.
4030 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
4032         * lisp/emacs-lisp/package.el: Don't load from parent dir
4033         (package-load-all-descriptors): Don't load descriptors from
4034         directories above the package directories.
4036 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4038         Merge from gnulib
4039         This incorporates the following (Bug#20681):
4040         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
4041         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
4042         * lib/set-permissions.c: Copy from gnulib.
4044 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
4046         Improve Tramp traces.
4047         * lisp/net/tramp.el (tramp-call-process-region): New defun.
4048         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
4050 2015-05-29  Glenn Morris  <rgm@gnu.org>
4052         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
4054 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
4056         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
4057         The signature was changed in the cairo branch, merged on 2015-05-23.
4058         This oversight broke compiling only the non-toolkit X version.
4060 2015-05-29  Samer Masterson  <samer@samertm.com>
4062         * doc/lispref/os.texi: Update initial-buffer-choice docs.
4064 2015-05-29  Glenn Morris  <rgm@gnu.org>
4066         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
4067         Mark as an expected failure.
4069 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4071         Change package test to look for curved quotes
4072         * test/automated/package-test.el (package-test-describe-package)
4073         (package-test-signed): Search for curved single quotes as well as
4074         for grave accent and apostrophe.
4076 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
4078         gnus-art.el: Re-revert last change
4079         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
4080         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
4082 2015-05-28  Samer Masterson  <samer@samertm.com>
4084         Show files when `initial-buffer-choice' is non-nil
4085         * startup.el (command-line-1): When Emacs is given a file as an
4086         argument and `initial-buffer-choice' is non-nil, display both the file
4087         and `initial-buffer-choice'.  For more than one file, show
4088         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
4089         commands out of the command line arg parser.
4090         (initial-buffer-choice): Clarify docstring.
4092 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
4094         Fix last commit
4095         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
4096         (gnulib module qcopy-acl): Add back, as it is harmless.  This
4097         minimizes differences wrt lib/gnulib.mk.
4099         Fix the MS-Windows build as followup to gnulib update
4100         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
4101         set-permissions.c, as they don't compile on MinGW.
4102         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
4104 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
4106         Revert my change to gnus-art.el
4107         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
4108         It wasn't that important, and it caused a Gnus build to fail.  See:
4109         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
4111         New minor mode Electric Quote
4112         This lets you easily insert quotes ‘like this’ by typing
4113         quotes `like this', and similarly you can easily insert
4114         quotes “like this” by typing quotes ``like this'' (Bug#20545).
4115         * doc/emacs/basic.texi (Inserting Text):
4116         * doc/emacs/modes.texi (Minor Modes):
4117         * etc/NEWS: Document it.
4118         * doc/emacs/text.texi (Quotation Marks): New section.
4119         * lisp/electric.el (electric-quote-comment)
4120         (electric-quote-string, electric-quote-paragraph):
4121         New custom vars.
4122         (electric--insertable-p)
4123         (electric-quote-post-self-insert-function): New functions.
4124         (electric-quote-mode, electric-quote-local-mode): New minor modes.
4125         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4126         Add curved single quotes to electric-pair-text-pairs.
4127         Set electric-quote-string in this buffer.
4129         A few more doc string fixes (Bug#20385)
4131         Accept curved quotes in doc strings
4132         * lisp/info-look.el (info-lookup-guess-custom-symbol):
4133         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
4135         Generate curved quotes in pseudo-info nodes
4136         * lisp/info.el (Info-virtual-index-find-node)
4137         (Info-virtual-index, Info-apropos-find-node, info-apropos):
4138         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
4140         Fix minor quoting problems in doc strings
4141         Most of these fixes involve escaping grave accents that are
4142         actually intended to be grave accents, not left quotes.
4143         (Bug#20385)
4145         Support curved quotes in doc strings
4146         Emacs's traditional doc string style has been to quote symbols
4147         `like this'.  This worked well on now-obsolete terminals where
4148         ` and ' were symmetric quotes, but nowadays curved quotes
4149         ‘like this’ look better.  Support quoting the new way too.
4150         (Bug#20385)
4151         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
4152         ‘like-this’ as well as `like-this'.
4153         * etc/NEWS: Mention this.
4154         * lisp/cedet/mode-local.el (overload-docstring-extension)
4155         (mode-local-print-binding, mode-local-describe-bindings-2):
4156         * lisp/cus-theme.el (describe-theme-1):
4157         * lisp/descr-text.el (describe-text-properties-1, describe-char):
4158         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
4159         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
4160         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
4161         (eieio-help-constructor):
4162         * lisp/emacs-lisp/package.el (describe-package-1):
4163         * lisp/faces.el (describe-face):
4164         * lisp/help-fns.el (help-fns--key-bindings)
4165         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
4166         (help-fns--interactive-only, describe-function-1):
4167         (describe-variable):
4168         * lisp/help.el (describe-mode):
4169         * lisp/international/mule-cmds.el (describe-input-method)
4170         (describe-language-environment):
4171         * lisp/international/mule-diag.el (describe-character-set)
4172         (print-coding-system-briefly, list-input-methods)
4173         (list-input-methods-1):
4174         Insert curved quotes rather than grave accent and apostrophe.
4175         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4176         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
4177         (checkdoc-proper-noun-region-engine):
4178         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
4179         (lisp-cl-font-lock-keywords-2):
4180         * lisp/finder.el (finder-font-lock-keywords):
4181         * lisp/gnus/gnus-art.el (gnus-button-alist):
4182         * lisp/help-fns.el (help-do-arg-highlight)
4183         (describe-function-1, describe-variable):
4184         * lisp/help-mode.el (help-xref-symbol-regexp)
4185         (help-xref-info-regexp, help-xref-url-regexp):
4186         * lisp/help.el (describe-mode):
4187         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
4188         * lisp/wid-edit.el (widget-documentation-link-regexp):
4189         Parse symbols quoted ‘like-this’ as well as `like-this'.
4190         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
4191         Add "‘" and "’" to electric-pair-text-pairs.
4192         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
4193         (elisp-completion-at-point, elisp--preceding-sexp):
4194         Also treat "‘" and "’" as quoting chars.
4196         substitute-command-keys now curves quotes
4197         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
4198         * doc/lispref/help.texi (Keys in Documentation):
4199         * etc/NEWS: Document this.
4200         * src/doc.c (Fsubstitute_command_keys): Implement it.
4202 2015-05-28  Glenn Morris  <rgm@gnu.org>
4204         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
4205         (rmail-summary-by-topic, rmail-summary-by-senders):
4206         No longer strip leading/trailing whitespace.
4208         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
4209         (f90-no-block-limit): Add "enum".  (Bug#20680)
4210         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
4211         New tests.
4213 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4215         * lisp/isearch.el (isearch--current-buffer): Give a default value.
4217         Un-revert changes mistakenly dropped by f9fabb2b
4219 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4221         Merge from gnulib
4222         This incorporates:
4223         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
4224         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
4225         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
4226         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
4227         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
4228         2015-05-26 stdio: fix probe on mingw under gcc 5.1
4229         * admin/merge-gnulib (GNULIB_MODULES):
4230         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
4231         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
4232         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
4233         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
4234         Get latest versions from gnulib.
4235         * lib/get-permissions.c, lib/set-permissions.c: New files.
4236         * lib/gnulib.mk, m4/gnulib-comp.m4:
4237         Regenerate.
4238         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
4240 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
4242         Delete the old process in vc-setup-buffer
4243         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
4244         process here.
4245         (vc-do-command): Rather than here (bug#20608).
4247 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
4249         Avoid gratuitous delete-dups in face-at-point.
4250         * lisp/faces.el (face-at-point): Do not compute the properly
4251         ordered, duplicate-free list if only a single value is
4252         requested anyway.  (Bug#20519)
4254         Show the exact C-x 8 RET invocation in describe-char.
4255         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
4256         invocation instead of a template.  (Bug#20522)
4258 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
4260         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
4261         (package-menu--post-refresh): Call `tabulated-list-print' with the
4262         UPDATE argument.  This only affects the refresh action, the revert
4263         action still erases tags.
4264         (package-menu-get-status): Change `assq' to `assoc'.
4265         (package-menu--mark-upgrades-1): New function.
4266         (package-menu--mark-upgrades-pending): New variable.
4267         (package-menu-mark-upgrades): Use them to delay marking until
4268         after refresh is done.
4269         (package-menu--post-refresh): Call mark-upgrades-1 if
4270         mark-upgrades-pending is non-nil.
4272 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4274         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
4276 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
4278         * lisp/isearch.el (isearch--current-buffer): New var
4279         (isearch-update): Set cursor-sensor-inhibit here.
4280         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
4282         Change inhibit-point-motion-hooks to t
4283         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
4284         to t and document it as obsolete.
4286 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
4288         Support ZIP files that use Zip64 extensions
4289         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
4290         format of central directory offsets used by Zip64 extensions.
4291         (Bug#20665)
4293 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
4295         New test tramp-test30-make-auto-save-file-name
4296         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
4297         (tramp-test31-special-characters)
4298         (tramp-test31-special-characters-with-stat)
4299         (tramp-test31-special-characters-with-perl)
4300         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
4301         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
4302         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
4303         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
4305         Improve tramp-handle-make-auto-save-file-name
4306         * tramp.el (tramp-auto-save-directory): Add :tags.
4307         (tramp-handle-make-auto-save-file-name): Let native
4308         `make-auto-save-file-name' use `auto-save-file-name-transforms',
4309         if `tramp-auto-save-directory' is not set.
4311 2015-05-27  Glenn Morris  <rgm@gnu.org>
4313         No longer set dired-directory in eshell.  (Bug#16477)
4314         * lisp/eshell/esh-mode.el (eshell-mode):
4315         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
4317         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
4319         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
4320         * lisp/progmodes/cc-mode.el (c-mode-help-address):
4321         Change to submit@debbugs.
4322         (c-mode-bug-package): New constant.
4323         (mail-position-on-field): Declare.
4324         (c-submit-bug-report): Insert X-Debbugs-Package header.
4325         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
4326         Mention debbugs.gnu.org.
4328 2015-05-26  Glenn Morris  <rgm@gnu.org>
4330         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
4331         (rmail-summary-by-recipients, rmail-summary-by-topic)
4332         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
4333         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
4335 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4337         Handle curved quotes in info files
4338         * lisp/calc/calc-help.el (calc-describe-thing):
4339         * lisp/info.el (Info-find-index-name)
4340         (Info-try-follow-nearest-node, Info-fontify-node):
4341         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
4342         In info files, process quotes ‘like this’ the same way we process
4343         quotes `like this'.  This catches a few places we missed earlier.
4345 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
4347         xref-prompt-for-identifier: Use a list value
4348         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
4349         value, to be interpreted as a list of commands.
4350         (xref--prompt-p): New function.
4351         (xref--read-identifier): Use it.
4353 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
4355         Teach MS-Windows font back-end return per-glyph ascent/descent
4356         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
4357         values.
4358         * src/w32font.c (w32font_text_extents): Compute, cache, and
4359         accumulate per-glyph ascent and descent values, instead of copying
4360         global values from the font.  If the values are not available from
4361         the font data, i.e., non-TTF fonts, fall back on font-global values.
4362         (compute_metrics): Compute and return per-glyph ascent and descent
4363         values, if returned by GetGlyphOutlineW, falling back on
4364         font-global values.  (Bug#20628)
4365         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
4366         height of rectangle to be drawn, to be compatible with
4367         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
4368         box, when per-glyph ascent/descent values are used.
4370 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
4372         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
4373         (tabulated-list-print): Don't sort if sorter is nil
4375 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
4377         Fix Bug#20621
4378         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
4379         are major modes which set `auto-save-mode' on their own rules;
4380         Tramp shall not overwrite such settings.
4381         (Bug#20621)
4383 2015-05-26  Glenn Morris  <rgm@gnu.org>
4385         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
4386         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
4387         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
4388         Doc updates.
4389         (vc-dir-mode): Remove unnecessary autoload.
4391 2015-05-25  Philipp Stephani  <phst@google.com>
4393         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
4394         (xterm--extra-capabilities-type): Add `getSelection'.
4395         (xterm--query): Add `no-async' argument.
4396         (xterm--init-activate-get-selection): New function.
4397         (terminal-init-xterm): Use it.
4398         (xterm--init-modify-other-keys): Rename from
4399         terminal-init-xterm-modify-other-keys.
4400         (xterm--init-bracketed-paste-mode): Rename from
4401         terminal-init-xterm-bracketed-paste-mode.
4402         (xterm--init-activate-set-selection): Rename from
4403         terminal-init-xterm-activate-set-selection.
4404         (xterm--selection-char): New function.
4405         (gui-backend-set-selection): Use it.  Use the &context to only apply
4406         this method in terminals where we enabled the feature.
4407         (gui-backend-get-selection): New method.
4409 2015-05-25  Daniel Colascione  <dancol@dancol.org>
4411         Add C-language keyword constants to C++
4412         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
4413         keyword constants to C++.
4415 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
4417         Make TAGS files more portable to MS-Windows
4418         * etc/NEWS: Document this.
4419         * lib-src/etags.c (readline_internal) [DOS_NT]:
4420         Don't treat CRs differently from GNUish hosts.
4421         * lisp/progmodes/etags.el (etags-goto-tag-location):
4422         Adjust STARTPOS to account for the skipped CRs in dos-style files.
4424 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4426         Improve fix of debbugs:20634 in tramp-sh.el
4428 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4430         Fix a typo in last commit
4431         * lib-src/etags.c (C_entries): Fix a typo.
4432         * test/etags/ETAGS.good_1:
4433         * test/etags/ETAGS.good_2:
4434         * test/etags/ETAGS.good_3:
4435         * test/etags/ETAGS.good_4:
4436         * test/etags/ETAGS.good_5:
4437         * test/etags/CTAGS.good: Update due to the change in etags.c.
4439         Fix tagging of class members in C-like OO languages
4440         * lib-src/etags.c (longopts): Add new option --class-qualify and
4441         its shorthand -Q.
4442         (print_help): Add help text for --class-qualify.
4443         (main): Add handling of -Q.
4444         (consider_token, C_entries) <omethodparm>: Append argument types
4445         to Objective C methods only if --class-qualify was specified.
4446         Qualify C++, Objective C, and Java class members with their class
4447         names only if --class-qualify was specified.
4448         (C_entries): If --class-qualify was not specified, remove the
4449         namespace and class qualifiers from tag names of C++ methods.
4450         This allows to use etags.el as xref back-end without the
4451         tag-symbol-match-p method, which greatly increases the number of
4452         potentially false positives.  (Bug#20629)
4453         * doc/man/etags.1: Update to document the new --class-qualify
4454         option.
4455         * test/etags/ETAGS.good_1:
4456         * test/etags/ETAGS.good_2:
4457         * test/etags/ETAGS.good_3:
4458         * test/etags/ETAGS.good_4:
4459         * test/etags/ETAGS.good_5:
4460         * test/etags/CTAGS.good: Update due to changes in etags.c.
4462 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4464         (cl-generic-define-method): Side effects are evil (bug#20644)
4465         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
4466         cons-cells that might be used as keys in an `equal' hash-table.
4468 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
4470         Make erc timestamps visible again
4471         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
4472         timestamps visible again (if requested).
4474 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
4476         Fix last change in etags.c that broke tagging compresed files
4477         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
4478         quoting of decompression shell command for MS-Windows/MS-DOS.
4480 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
4482         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
4483         (Bug#20639)
4485 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4487         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
4489 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
4491         Fix IPv6 addresses in Tramp
4492         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
4493         Add sqare brackets around host name.
4495 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
4497         Inhibit `epa-file-handler' in Tramp
4498         (Bug#20634)
4499         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
4500         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
4501         `epa-file-handler'.
4503 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
4505         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
4506         (pcase-let): Document the behavior in case the pattern doesn't match.
4508 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
4510         * lisp/emacs-lisp/tabulated-list.el: New optional print method
4511         (tabulated-list-print): New optional argument, UPDATE.  If
4512         non-nil, the list is printed by only adding and deleting the
4513         changed entries, instead of erasing the whole buffer.  This method
4514         is much faster when few or no entries have changed.
4515         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4516         * etc/NEWS: Document it.
4518         * lisp/emacs-lisp/tabulated-list.el: Improve printing
4519         (tabulated-list--get-sorter): New function.
4520         (tabulated-list-print): Restore window-line when remember-pos is
4521         passed and optimize away the `nreverse'.
4523 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
4525         Simpilify etags TEX mode scanning
4526         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
4527         Remove static vars.
4528         (TeX_commands): Deduce escapes here instead.
4529         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
4530         This removes the need for a reset_input call.
4532         Improve etags I/O error reporting
4533         * lib-src/etags.c:
4534         Don't include sys/types.h and sys/stat.h; no longer needed.
4535         (infilename): New static var.
4536         (process_file_name): Don't call 'stat'.  Instead, just open the
4537         file for reading and report any errors.  Don't bother making
4538         a copy of the file argument; it's not needed.  Be more careful to
4539         use the failing errno when reporting an error.
4540         Quote the real name better (though no perfectly)
4541         when passing it to the shell.
4542         (reset_input): New function, which reports I/O errors.
4543         All uses of 'rewind' changed to use this function.
4544         (perhaps_more_input): New function, which also checks for
4545         I/O errors.  All uses of 'feof' changed to use this function.
4546         (analyze_regex): Report an error if fclose fails.
4547         (readline_internal): Report an error if getc fails.
4548         (etags_mktmp): Return an error if close fails.
4550         etags.c: avoid side effects in 'if'
4551         * lib-src/etags.c (process_file_name, Perl_functions)
4552         (TEX_decode_env): Hoist side effects into previous statement.
4554         .gitignore tweaks
4555         * .gitignore: Ignore all *.stamp files.  Sort.
4556         Ignore [0-9]*.txt (commonly used name for git patches)
4557         and /vc-dwim-log-* (vc-dwim temporary).
4559 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
4561         Fix last change in etags.c, which failed the test suite
4562         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
4563         before the last change.
4565 2015-05-23  Glenn Morris  <rgm@gnu.org>
4567         Remove charset map files from repository, generate in first bootstrap
4568         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
4569         (all): Create the stamp file.
4570         (extraclean): Delete the stamp file.
4571         * src/Makefile.in (lispintdir, charsets): New variables.
4572         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
4573         New rules.
4574         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
4575         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4576         * etc/charsets/*.map: Remove from repository.
4578 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4580         Cleanup etags.c to use locale-independent code
4581         Although this doesn't alter behavior (as etags doesn't use
4582         setlocale), the new version is more clearly locale-independent and
4583         the executable is a bit smaller on my platform.
4584         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
4585         Include <c-ctype.h> instead of <ctype.h>.
4586         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
4587         (begtk, midtk):
4588         Remove; no longer needed.
4589         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
4590         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
4591         c_islower, c_tolower, respectively.
4592         (notinname, begtoken, intoken, endtoken): Rewrite as functions
4593         instead of macros, and initialize the tables at compile-time
4594         rather than at run-time.
4596         Put default action first in src/Makefile
4597         * src/Makefile.in (all): Put this rule before lisp.mk.
4598         That way, plain 'make' works in the src directory again.
4600 2015-05-23  Glenn Morris  <rgm@gnu.org>
4602         * Makefile.in: Fix extraclean rule.
4603         (extraclean_dirs): New.
4604         (extraclean): Use it.
4606 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4608         Avoid compiler warning in image.c on MS-Windows
4609         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
4610         warning in image.c.
4612 2015-05-23  Glenn Morris  <rgm@gnu.org>
4614         Fix --without-toolkit-scroll-bars builds.
4615         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
4616         Add new argument to x_clear_area1.
4617         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
4618         Update x_clear_area arguments.
4620         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
4621         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
4622         Change to included version.
4623         (LOCAL, local, totalclean): Remove.
4624         (extraclean): Delete all generated files.
4626 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4628         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
4630         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
4632         tags-completion-at-point-function: Don't trust the find-tag function
4633         * lisp/progmodes/etags.el (tags-completion-at-point-function):
4634         Don't trust the find-tag function.
4636 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4638         Pacify --enable-gcc-warnings
4639         * src/frame.h (x_query_color): Remove redundant extern decl.
4640         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
4641         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
4642         (ftcrfont_text_extents, ftcrfont_draw):
4643         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
4644         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
4645         (x_ins_del_lines, frame_highlight, frame_unhighlight)
4646         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
4647         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
4648         (x_update_window_begin, x_connection_closed)
4649         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4650         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4651         (*x_gc_get_ext_data, x_extension_initialize)
4652         (x_cr_accumulate_data):
4653         Remove redundant static decl.  Many of these GCC doesn't complain
4654         about, but we might as well clean out the duplication while we're
4655         in the neighborhood.
4656         * src/xterm.c (x_fill_trapezoid_for_relief):
4657         Remove decl of nonexistent function.
4659 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
4661         Replace gui-method macros with cl-generic with &context
4662         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
4663         (gui-method-declare, gui-call): Remove.
4664         (frame-creation-function): Use cl-defgeneric.
4665         (make-frame): Adjust callers.
4666         * lisp/menu-bar.el (menu-bar-edit-menu):
4667         Use gui-backend-selection-exists-p.
4668         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
4669         (gui-backend-get-selection): New cl-generic to replace
4670         gui-get-selection method.
4671         (gui-backend-set-selection): New cl-generic to replace
4672         gui-set-selection method.
4673         (gui-selection-owner-p): New cl-generic to replace
4674         gui-selection-owner-p method.
4675         (gui-backend-selection-exists-p): New cl-generic to replace
4676         gui-selection-exists-p method.  Adjust all callers.
4677         * lisp/server.el (server-create-window-system-frame): Don't ignore
4678         window-system spec even when unsupported.
4679         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
4680         * lisp/startup.el (handle-args-function, window-system-initialization):
4681         Use cl-defgeneric.
4682         (command-line): Adjust calls accordingly.
4683         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
4684         a window-system-initialization method.
4685         (handle-args-function, frame-creation-function): Use cl-defmethod.
4686         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4687         (gui-get-selection): Use cl-defmethod on the new functions instead.
4688         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
4689         a gui-backend-get-selection method.
4690         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
4691         Use cl-defmethod on the new functions instead.
4692         (msdos-window-system-initialization): Turn into
4693         a window-system-initialization method.
4694         (frame-creation-function, handle-args-function): Use cl-defmethod.
4695         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
4696         a window-system-initialization method.
4697         (handle-args-function, frame-creation-function): Use cl-defmethod.
4698         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4699         (gui-get-selection): Use cl-defmethod on the new functions instead.
4700         * lisp/term/x-win.el (x-window-system-initialization): Turn into
4701         a window-system-initialization method.
4702         (handle-args-function, frame-creation-function): Use cl-defmethod.
4703         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
4704         (gui-get-selection): Use cl-defmethod on the new functions instead.
4705         * lisp/term/xterm.el (xterm--set-selection): Turn into
4706         a gui-backend-set-selection method.
4707         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
4708         (Fns_selection_owner_p): Remove unused arg `terminal'.
4709         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
4711 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4713         Revert "Fix etags Bug#20629 that broke C++ support."
4714         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
4716 2015-05-23  Jan D  <jan.h.d@swipnet.se>
4718         Fix etags Bug#20629 that broke C++ support.
4719         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
4720         from Sun May 10 (Bug#20629).
4722         Merge branch 'cairo'.
4723         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
4724         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
4726         Merge branch 'master' into cairo
4728         Fixes to compile cairo branch without cairo.
4729         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
4730         first argument.
4731         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
4732         USE_CAIRO.
4734 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
4736         * lisp/emacs-lisp/package.el: Always update selected-packages
4737         (package--update-selected-packages): New function.
4738         (package-menu-execute): Use it before starting the transaction,
4739         this way the list of selected packages is updated even when the
4740         transaction fails.
4741         (package-menu--perform-transaction): Don't edit selected-packages.
4743 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
4745         Fix etags reading of compressed files
4746         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
4747         Include fcntl.h, for O_CLOEXEC.
4748         (process_file_name): Don't use 'popen', whose streams cannot be
4749         rewound.  Instead, uncompress the file to a temporary file,
4750         created by 'etags_mktmp', and read from that as usual.
4751         (etags_mktmp): New function.
4752         * test/etags/ETAGS.good_1:
4753         * test/etags/ETAGS.good_2:
4754         * test/etags/ETAGS.good_3:
4755         * test/etags/ETAGS.good_4:
4756         * test/etags/ETAGS.good_5: Update to be consistent with latest
4757         changes in etags.c regarding reading compressed files.
4759         Improve documentation of 'set-fontset-font'
4760         * doc/lispref/display.texi (Fontsets): Document the value of nil
4761         for the 3rd argument of 'set-fontset-font'.
4763         Fix documentation of forward-line
4764         * src/cmds.c (Fforward_line): Clarify the return value if the line
4765         at end of accessible portion of the buffer has no newline.
4766         * doc/lispref/positions.texi (Text Lines): Document what happens
4767         if the line at end of accessible portion of buffer has no newline.
4768         (Bug#20587)
4770 2015-05-22  Glenn Morris  <rgm@gnu.org>
4772         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
4774         * admin/charsets/mapconv (LC_ALL): Set to C.
4776         * Makefile.in: Add admin/charsets into top-level clean rules.
4777         (clean): Add admin/charsets.
4778         (maybeclean_dirs): New variable.
4779         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
4781         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
4783 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
4785         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
4787 2015-05-22  Glenn Morris  <rgm@gnu.org>
4789         Generate admin/charsets Makefile via configure, and make more portable.
4790         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
4791         (admin/charsets/Makefile): Generate it.
4792         * admin/charsets/Makefile.in: Rename from Makefile.
4793         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
4794         New variables, set by configure.
4795         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
4796         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
4797         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
4798         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
4799         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
4800         (all): Declare PHONY.
4801         (local): New PHONY target.
4802         (map_template): New template.  Use to define short PHONY aliases.
4803         (*.map): Add directory prefixes to targets and prerequisites.
4804         Respect make verbosity.
4805         (JISC6226.map): Replace non-portable sed append without newline.
4806         (install): Remove rule.
4807         (clean): Only delete temporary sedscript.
4808         (bootstrap-clean, distclean, maintainer-clean, extraclean)
4809         (totalclean): New PHONY rules.
4810         * admin/charsets/mapconv (BASE): Replace basename with expr.
4811         (FILE): Add "mapfiles" subdirectory.
4812         (AWK): New variable.  Use throughout in place of "awk".
4813         (main): Use "gunzip -c" in place of "zcat".
4814         Don't leave whitespace before "p", for older sed.
4815         * admin/charsets/mapfiles/PTCP154: Add final newline,
4816         to make older sed versions happy.
4818 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
4820         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
4821         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
4822         (auto-revert-notify-watch-descriptor): Use defvar-local.
4823         (find-file-hook, auto-revert-tail-mode, )
4824         (auto-revert-notify-add-watch): Use setq-local.
4825         (auto-revert-notify-add-watch): Don't call make-local-variable on
4826         kill-buffer-hook (bug#20601).
4828 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
4830         Change defgeneric so it doesn't completely redefine the function
4831         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
4832         previously defined methods.
4833         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
4834         (cl--generic-prefill-dispatchers): Only define during compilation.
4835         (cl-method-qualifiers): Remove redundant alias.
4836         (help-fns-short-filename): Silence byte-compiler.
4837         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
4839 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4841         (package-menu-execute): Remove reference to remove-dups
4843 2015-05-21  kwhite  <kwhite@gnu.org>
4845         * lisp/erc/erc.el: Hide network/channel messages
4846         (erc-network-hide-list, etc-channel-hide-list): New lists to define
4847         message types per network/channel.
4848         (erc-add-targets): New function to parse list of targets
4849         (erc-hide-current-message-p): Modified to check for new targets
4851 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4853         Don't quote nil and t in doc strings
4854         This is as per "Tips for Documentation Strings" in the elisp manual.
4855         For consistency, do the same in diagnostics and comments.
4857 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
4859         Fix a minor problem with mouse-face on mode line
4860         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
4861         mouse face also if the mouse pointer hovers above mode-line glyphs
4862         that don't come from any Lisp string.  (Bug#20620)
4864 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
4866         * lisp/emacs-lisp/package.el: Fix selected-package logic
4867         (package-menu-execute): Mark as selected all non-upgrade packages
4868         being installed.
4869         (package-menu--perform-transaction): Don't mark anything.
4871         * lisp/emacs-lisp/package.el: Mode-line progress report
4872         (package-menu--transaction-status): New variable.
4873         (package-menu-mode, package-menu--perform-transaction): Use it.
4875         * lisp/emacs-lisp/package.el: Better transaction messages
4876         (package-menu--partition-transaction): New function.
4877         (package-menu--prompt-transaction-p, package-menu-execute): Use
4878         it.
4879         (package-menu--perform-transaction): Don't do any messaging.
4881         * lisp/emacs-lisp/package.el: Revert async package transactions
4882         (package-menu-async): Update doc.
4883         (package-install-from-archive, package-download-transaction)
4884         (package-install, package-menu--perform-transaction)
4885         (package-menu-execute): Remove asynchronous functionality.
4887 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
4889         Revert doc string changes to f90.el
4890         Problem reported by Glenn Morris in:
4891         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
4892         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4893         Revert recent changes to doc strings, as it's intended that they
4894         use grave accent, not quote.
4896 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
4898         Improve parameter name
4900         Add new inline function `hash-table-empty-p'
4902 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
4904         Don't require help-fns when not needed
4905         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
4906         * lisp/emacs-lisp/elint.el:
4907         Don't require help-fns at the top level.
4908         * lisp/emacs-lisp/advice.el (ad-arglist):
4909         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
4910         Don't require help-fns.  (Bug#17001)
4912 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
4914         Fix slash collapsing in etags on MS-Windows
4915         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
4916         MS-Windows code from the Posix code, and support collapsing both
4917         forward- and back-slashes on MS-Windows.  Fixes a regression found
4918         by the test suite.
4920         Improve documentation of glyphless-char-display
4921         * doc/lispref/display.texi (Glyphless Chars): Improve
4922         documentation of glyphless character display.
4924         Fix "acronym" display of glyphless characters on w32
4925         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
4926         ignore "acronym" substitutes of 1 character for glyphless characters.
4928 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
4930         Add an automated test for let-when-compile
4931         * test/automated/subr-tests.el (let-when-compile): New test.
4933         Add let-when-compile macro instead of using pcase-let
4934         * lisp/subr.el (let-when-compile): New let-like macro that makes its
4935         bindings known to macros like `eval-when-compile' in the body.
4936         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
4937           `let-when-compile'. Also comment out the unused lexical var
4938           `el-kws-re'.
4939         The change greatly improves readability, while providing almost the
4940         same (even shorter) byte code: instead of pre-evaluating 10 variables,
4941         tossing them into a list, and destructuring that list a full screen
4942         page later, the variables are simply bound as they are evaluated,
4943         wrapped individually in `eval-when-compile'.
4945 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
4947         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
4948         (package-delete-button-action): New function.
4949         (describe-package-1): Add Delete button.
4951         * lisp/emacs-lisp/package.el: Better dependency description
4952         (package--used-elsewhere-p): New optional arg, ALL, and return
4953         package-desc objects instead of names.
4954         (package-delete): Update accordingly.
4955         (describe-package-1): Describe which packages require the package.
4957 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
4959         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
4960         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
4961         Fix doc-string (Bug#20533).
4963         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
4964         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
4965         (switch-to-buffer): If the selected window is strongly dedicated
4966         to its buffer, signal error before prompting for buffer name.  Handle
4967         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
4968         * doc/lispref/windows.texi (Switching Buffers): Document
4969         `switch-to-buffer-in-dedicated-window'.
4971 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4973         Prefer "this" to “this” in doc strings
4974         This mostly just straightens quotes introduced in my previous patch.
4975         Suggested by Dmitry Gutov in:
4976         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
4977         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
4978         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
4979         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
4980         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
4981         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
4982         Prefer straight double quotes to curved double quotes in doc strings.
4984         Fix minor quoting problems in doc strings
4985         These were glitches regardless of how or whether we tackle the
4986         problem of grave accent in doc strings.
4987         * lisp/calc/calc-aent.el (math-restore-placeholders):
4988         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
4989         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
4990         * lisp/leim/quail/hebrew.el ("hebrew-new")
4991         ("hebrew-biblical-sil"):
4992         * lisp/leim/quail/thai.el ("thai-kesmanee"):
4993         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
4994         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
4995         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
4996         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
4997         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
4998         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
4999         (semantic-tag-components):
5000         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
5001         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
5002         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
5003         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
5004         * lisp/emacs-lisp/generator.el (iter-next):
5005         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
5006         (gnus-article-mode-syntax-table):
5007         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
5008         * lisp/net/soap-client.el (soap-wsdl-get):
5009         * lisp/net/telnet.el (telnet-mode):
5010         * lisp/org/org-compat.el (org-number-sequence):
5011         * lisp/org/org.el (org-remove-highlights-with-change)
5012         (org-structure-template-alist):
5013         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
5014         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
5015         (handwrite-12pt, handwrite-13pt):
5016         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
5017         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
5018         * lisp/progmodes/verilog-mode.el (verilog-tool)
5019         (verilog-string-replace-matches, verilog-preprocess)
5020         (verilog-auto-insert-lisp, verilog-auto-insert-last):
5021         * lisp/textmodes/makeinfo.el (makeinfo-options):
5022         * src/font.c (Ffont_spec):
5023         Fix minor quoting problems in doc strings, e.g., missing quote,
5024         ``x'' where `x' was meant, etc.
5025         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
5026         Fix minor quoting problem in other string.
5027         * lisp/leim/quail/ethiopic.el ("ethiopic"):
5028         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
5029         Omit unnecessary quotes.
5030         * lisp/faces.el (set-face-attribute, set-face-underline)
5031         (set-face-inverse-video, x-create-frame-with-faces):
5032         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
5033         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
5034         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
5035         * lisp/net/tramp.el (tramp-methods):
5036         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
5037         * lisp/textmodes/artist.el (artist-ellipse-right-char)
5038         (artist-ellipse-left-char, artist-vaporize-fuzziness)
5039         (artist-spray-chars, artist-mode, artist-replace-string)
5040         (artist-put-pixel, artist-text-see-thru):
5041         * lisp/vc/ediff-util.el (ediff-submit-report):
5042         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
5043         Use double-quotes rather than TeX markup in doc strings.
5044         * lisp/skeleton.el (skeleton-pair-insert-maybe):
5045         Reword to avoid the need for grave accent and apostrophe.
5046         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
5047         Don't use grave and acute accents to quote.
5049 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
5051         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
5053 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
5055         Try to port new etags tests to MS-Windows
5056         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5057         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5058         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5059         Adjust to test-case changes below.
5060         * test/etags/Makefile (CSRC): Remove dostorture.c.
5061         Whatever it was trying to test, wasn't working portably.
5062         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
5063         just a line-ending problem.
5064         * test/etags/c-src/dostorture.c: Remove.
5065         * test/etags/cp-src/c.C: Remove stray CR.
5066         * test/etags/html-src/algrthms.html: Remove trailing CRs.
5067         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
5068         but if someone edits it later it should stay UTF-8-compatible.
5070 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
5072         Fix display of overlapping window-specific overlays
5073         * src/keyboard.c (adjust_point_for_property): When adjusting point
5074         due to display strings, ignore overlays that are specific to
5075         windows other than the currently selected one.
5076         * src/xdisp.c (handle_single_display_spec): If the display
5077         property comes from an overlay, arrange for buffer iteration to
5078         resume only after the end of that overlay.  (Bug#20607)
5080 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
5082         New command icomplete-force-complete-and-exit
5083         * lisp/icomplete.el (icomplete-force-complete-and-exit):
5084         New command
5085         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
5086         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
5087         (icomplete-minibuffer-map): Bind C-j to it.
5088         (icomplete-forward-completions, icomplete-backward-completions):
5089         Mention the new command in the docstring.
5090         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
5091         the previous fix for bug#17545.
5093 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
5095         Fix last commit
5097         In Elisp manual explain how to override window manager positioning (Bug#20552)
5098         * doc/lispref/frames.texi (Position Parameters): Give example of
5099         how to override a window manager positioning decision.
5101         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
5102         * src/frame.c (Fdelete_frame): In doc-string mention that frame
5103         can't be deleted if it has a surrogate minibuffer.
5104         * doc/lispref/frames.texi (Minibuffers and Frames)
5105         (Deleting Frames): Explain "surrogate minibuffer frames".
5107         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
5108         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
5110 2015-05-18  Glenn Morris  <rgm@gnu.org>
5112         Add option to ignore commit lines matching a pattern in ChangeLog.
5113         * build-aux/gitlog-to-changelog: Add --ignore-line option.
5114         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
5116 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
5118         Don't skip new etags tests on non-UTF-8 hosts
5119         Problem reported by Eli Zaretskii for MS-Windows.
5120         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
5121         (LC_ALL): Set to C if the current locale isn't UTF-8.
5122         (.PHONY): Remove ediff_1 thru ediff_5.
5123         (check): Always run.
5125 2015-05-18  Glenn Morris  <rgm@gnu.org>
5127         * lisp/calculator.el (calculator-funcall):
5128         * lisp/textmodes/artist.el (artist-spray-random-points):
5129         Use standard degree/radian conversion utilities.
5131         Further lisp-complete-symbol related cleanup.
5132         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
5133         Unadvertise non-functional argument.  Replace obsolete alias.
5135 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5137         Add a test case for Maven warning ouput
5138         * test/automated/compile-tests.el
5139         (compile-tests--test-regexps-data): Add a case for Maven warning
5140         ouput.
5141         (compile--test-error-line): Check the compilation message type, if
5142         it's specified in the test data.
5144 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
5146         Update Maven compilation-mode entry to distinguish warnings
5147         * lisp/progmodes/compile.el
5148         (compilation-error-regexp-alist-alist): Update Maven entry to
5149         distinguish warnings (bug#20556).
5151 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
5153         * test/automated/sgml-mode-tests.el: New file.
5155 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
5157         Improve handling of the first Git revision
5158         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
5159         there's no next entry, delete until the end of the buffer.
5160         (log-view-end-of-defun-1): Stop at eob.
5161         * lisp/vc/vc-annotate.el
5162         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
5163         when previous-revision is nil.
5164         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
5165         with `--' to avoid ambiguity.
5166         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
5167         returned revision string.
5168         (vc-git-annotate-time): Expect `^' before the first revision.
5169         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
5170         REV1 is nil, and REV2 is not.
5171         * lisp/vc/vc.el: Update the description of the `diff' function.
5173 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
5175         Allow checkdoc to be called in batch
5176         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
5177           is non-nil, echo the error with `warn'.
5178         How it can be used in -batch:
5179         (with-current-buffer (find-file "checkdoc.el")
5180           (checkdoc-current-buffer t))
5182 2015-05-18  Glenn Morris  <rgm@gnu.org>
5184         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
5186 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5188         * admin/notes/unicode: New section "binary files".
5190         Change new etags test to use UTF-8 encoding
5191         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
5192         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
5193         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
5194         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
5195         * test/etags/html-src/softwarelibero.html:
5196         Switch to UTF-8 encoding.
5197         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
5198         Remove Makefile, as it's too incestuous to have the test input
5199         include the build procedure.
5200         (UTF8_LOCALE, UTF_ENCODING): New macros.
5201         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
5202         (check): Skip if not UTF-8.
5203         (.PHONY): New rule.
5204         (FRC): Remove, as superseded by .PHONY.  All uses removed.
5205         (regexfile): Prefer printf to echo when outputting oddball chars.
5206         (.PRECIOUS): Remove, as these files are not built.
5208         Rename 'foo-gzipped' to 'foo.gz'
5209         * test/automated/data/decompress/foo.gz:
5210         Rename from test/automated/data/decompress/foo-gzipped,
5211         to make it easier for other tools to tell that it's compressed.
5212         * test/automated/zlib-tests.el (zlib--decompress):
5213         Adjust to renamed file.
5215 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
5217         Set up default-directory
5218         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
5219         binding for `v'.
5220         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
5221         appropriate value for default-directory.
5223 2015-05-17  Samer Masterson  <samer@samertm.com>
5225         * lisp/eshell/em-term.el (eshell-term-sentinel):
5226         No-op by default, only kills term buffer if
5227         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
5228         (eshell-destroy-buffer-when-process-dies): New custom to preserve
5229         previous behavior.
5231         eshell: Introduce new buffer syntax
5232         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
5233         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
5234         needed (Bug#19319).
5235         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
5236         (eshell-get-target): Remove shorthand-specific code.
5237         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
5238         '#<buffer-name>'.
5240 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5242         Merge branch 'master' into cairo
5244 2015-04-26  Jan D  <jan.h.d@swipnet.se>
5246         Merge branch 'master' into cairo
5248         Add PBM support for cairo.
5249         * src/image.c (xcolor_to_argb32): New function.
5250         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
5251         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
5252         XImagePtr if ! USE_CAIRO.
5253         (pbm_load): Add cairo support.
5255 2015-04-12  Jan D  <jan.h.d@swipnet.se>
5257         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
5258         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
5259         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
5260         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
5261         x_free_cr_resources.
5263         Handle specified bg in images.  Use generic libpng code for PNG:s.
5264         * src/image.c (get_spec_bg_or_alpha_as_argb)
5265         (create_cairo_image_surface): New functions when USE_CAIRO.
5266         (xpm_load): Call the above functions.  Handle XPM without mask
5267         when USE_CAIRO.
5268         (png_load_body): Handle USE_CAIRO case.
5269         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
5270         instead.
5271         (jpeg_load_body): Call create_cairo_image_surface.
5272         (gif_load, svg_load_image): Handle specified background, call
5273         create_cairo_image_surface.
5274         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
5276 2015-04-11  Jan D  <jan.h.d@swipnet.se>
5278         Support GIF and Tiff with cairo.
5279         * configure.ac: Allow jpeg with cairo.
5280         Allow tiff and gif with cairo.
5281         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5282         (tiff_load): Create cairo image surface if USE_CAIRO.
5283         (gif_load): Ditto.
5285         Support JPEG with USE_CAIRO.
5286         * configure.ac: Allow jpeg with cairo.
5287         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
5289 2015-04-05  Jan D  <jan.h.d@swipnet.se>
5291         Support RSVG and cairo.
5292         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
5293         * src/dispextern.h (struct image): add cr_data2 if cairo.
5294         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
5295         (x_clear_image): Free cr_data and cr_data2 if set.
5296         (xpm_load): Assign data to cr_data2.
5297         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
5299 2015-04-03  Jan D  <jan.h.d@swipnet.se>
5301         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
5302         * configure.ac (HAVE_RSVG): Move after cairo.
5303         (USE_CAIRO): Disable rsvg, don't disable Xpm.
5304         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
5305         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
5306         don't return early.
5307         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
5308         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
5309         and create a surface.
5311         Tool tips for menus did not show any text.
5312         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
5313         tip frames, the geometry may be wrong.
5315         Merge branch 'master' into cairo, fixes tooltips not shown.
5317         Merge branch 'master' into cairo
5319         Add CAIRO_CFLAGS to lwlib/Makefile.in
5320         * Makefile.in (CAIRO_CFLAGS): Add.
5322 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5324         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
5326 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5328         Draw outermost line using black relief and erase corners also for cairo.
5329         * xterm.c [USE_CAIRO]: Include math.h.
5330         (enum corners) [USE_CAIRO]: New enum.
5331         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
5332         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
5333         than 1, draw the outermost line using the black relief.
5335         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
5337 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5339         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
5341         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
5343         Use int instead of unsigned int for width and height args.
5344         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
5345         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
5346         width and height args.
5348         Modernize k&r cairo-related function declarations.
5349         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5350         (xg_print_frames_dialog): Modernize k&r declarations.
5351         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
5352         (Fx_print_frames_dialog): Modernize k&r declarations.
5353         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
5354         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
5355         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5356         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
5357         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
5358         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5359         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
5360         (x_clear_area): Modernize k&r declarations.
5362         Implement wave-style variant of underlining for cairo.
5363         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
5364         (x_draw_underwave) [USE_CAIRO]: Use it.
5366         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
5368 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
5370         Fix fringe bitmap initialization for cairo.
5371         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
5372         cairo image surface.
5373         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
5375 2015-02-11  Jan D  <jan.h.d@swipnet.se>
5377         Add cairo drawing.
5378         * configure.ac (with-cairo): New option.
5379         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
5380         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
5381         Output "Does Emacs use cairo?".
5382         * lisp/version.el (emacs-version): Add cairo version.
5383         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
5384         (FONT_OBJ): Add comment about ftcrfont.
5385         (ALL_CFLAGS): Add CAIRO_CFLAGS.
5386         (LIBES): Add CAIRO_LIBS.
5387         * src/dispextern.h (struct image): Add cr_data for cairo.
5388         (x_cr_init_fringe): Declare.
5389         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
5390         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
5391         * src/fringe.c (x_cr_init_fringe): New function name that shares code
5392         with w32_init_fringe.
5393         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
5394         * src/ftfont.c (ftfont_info_size); New global variable.
5395         (ftfont_open2): New extern function almost the same as old ftfont_open,
5396         but takes the font_object as argument.
5397         (ftfont_open): Build font object and call ftfont_open2.
5398         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
5399         * src/gtkutil.c (xg_clear_under_internal_border)
5400         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
5401         queue_draw if not cairo.  Change args to x_clear_area.
5402         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
5403         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
5404         (xg_print_frames_dialog): New functions for printing.
5405         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
5406         (xg_print_frames_dialog): Declare.
5407         * src/image.c: Add defined (USE_CAIRO) for PNG.
5408         Add !defined USE_CAIRO for W32 PNG code.
5409         (x_clear_image): If cairo, destroy the surface in cr_data.
5410         (png_load): Add new cairo compatible implementation.
5411         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
5412         * src/xfns.c: New section Printing.
5413         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
5414         (x-print-frames-dialog): New printing functions.
5415         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
5416         cairo.
5417         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
5418         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
5419         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
5420         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
5421         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
5422         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
5423         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
5424         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
5425         Declare.
5426         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
5427         (max_fringe_bmp, fringe_bmp): New variables.
5428         (x_gc_get_ext_data, x_extension_initialize)
5429         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
5430         (x_set_cr_source_with_gc_foreground)
5431         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
5432         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
5433         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
5434         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
5435         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
5436         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
5437         (x_update_begin): Create cairo surface if needed.
5438         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
5439         (x_update_end): Paint cairo drawing surface to xlib surface.
5440         (x_clear_under_internal_border, x_after_update_window_line): Adjust
5441         arguments to x_clear_area.
5442         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
5443         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
5444         of XSetClipMask.
5445         (x_set_glyph_string_clipping)
5446         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
5447         instead of XSetClipRectangles.
5448         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
5449         x_fill_rectangle instead of XFillRectangle.
5450         (x_draw_glyph_string_foreground)
5451         (x_draw_composite_glyph_string_foreground)
5452         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
5453         of XDrawRectangle.
5454         (x_draw_relief_rect): Add code for USE_CAIRO.
5455         Call x_reset_clip_rectangles instead of XSetClipMask.
5456         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
5457         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
5458         instead of XSetClipMask.
5459         (x_draw_image_foreground, x_draw_image_foreground_1):
5460         x_draw_rectangle instead of XDrawRectangle.
5461         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
5462         XFillRectangle.
5463         (x_draw_image_glyph_string): If img has cr_data, use it as
5464         a cairo surface.
5465         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
5466         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
5467         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
5468         x_reset_clip_rectangles instead of XSetClipMask.
5469         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
5470         (x_clear_area1): New function that calls XClearArea.
5471         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
5472         non-cairo.
5473         (x_clear_frame): x_clear_window instead of XClearWindow.
5474         (x_scroll_run): Set frame garbaged if cairo.
5475         (XTmouse_position): Initialize *part to 0.
5476         (x_scroll_bar_create): Adjust arguments to x_clear_area.
5477         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
5478         x_fill_rectangle instead of XFillRectangle.
5479         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
5480         arguments to x_clear_area.
5481         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
5482         (handle_one_xevent): Adjust arguments to x_clear_area.
5483         Destroy cairo surface for frame if ConfigureNotify.
5484         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
5485         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
5486         x_reset_clip_rectangles instead of XSetClipMask.
5487         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
5488         x_reset_clip_rectangles instead of XSetClipMask.
5489         (x_clear_frame_area): Adjust arguments to x_clear_area.
5490         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
5491         (x_term_init): Call x_extension_initialize if cairo.
5492         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
5493         x_cr_destroy_fringe_bitmap for cairo.
5494         (x_initialize): Call x_cr_init_fringe for cairo.
5495         * src/xterm.h: Add include of cairo header files.
5496         (x_bitmap_record): Add img if cairo.
5497         (x_gc_ext_data): New struct for cairo.
5498         (x_display_info): Add ext_codes for cairo.
5499         (x_output): Add cr_context and cr_surface for cairo.
5500         (x_clear_area): Change arguments from Display*/Window to frame pointer.
5501         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
5502         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
5503         (x_cr_draw_frame, x_cr_export_frames): Declare.
5505 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
5507         Fix integer-valued `mouse-highlight' (Bug#20590)
5508         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
5510 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
5512         MS-Windows followup for ASCIIfication of curved quotes
5513         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
5514         test for curved quotes being displayable, after switching the
5515         terminal encoding.  (Bug#20545)
5517 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
5519         Spelling fixes
5521 2015-05-17  Jan D  <jan.h.d@swipnet.se>
5523         Add comment that x_shift_glyphs_for_insert is never called.
5524         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
5525         comment that this function is never called.
5527 2015-05-16  Glenn Morris  <rgm@gnu.org>
5529         * src/lisp.mk: Remove from repository and generate at build-time.
5530         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
5531         (shortlisp_filter): New variable.
5532         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
5533         (distclean): Remove lisp.mk.
5534         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
5535         * lisp/loadup.el: Tweak layout to make it easier to parse.
5536         * make-dist: Do not distribute src/lisp.mk.
5538 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5540         Display shorter dates in Git annotate output
5541         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
5542         format (when not overridden with vc-git-annotate-switches).
5543         (vc-git-annotate-time): Support the short format, as well as ISO
5544         8601 that has been used until now (bug#5428).
5546 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
5548         ASCIIfy curved quotes on displays lacking them
5549         * lisp/international/mule-cmds.el (set-locale-environment):
5550         If curved quotes don't work, display straight ASCII approximations
5551         (Bug#20545).
5553 2015-05-16  Glenn Morris  <rgm@gnu.org>
5555         Small src/Makefile simplification.
5556         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
5557         * src/Makefile.in (lisp): Derive from shortlisp.
5558         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
5560 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
5562         * lisp/help-mode.el (help-go-forward): Doc fix.
5563         (Bug#20577)
5565         * doc/lispref/debugging.texi (Profiling): Improve indexing.
5566         (Bug#20576)
5568 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5570         Use `unless' to have one fewer `not'
5571         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
5572         have one fewer `not'.
5574         Remove redundant :group declarations from vc-git.el
5575         * lisp/vc/vc-git.el (vc-git-diff-switches)
5576         (vc-git-annotate-switches, vc-git-resolve-conflicts)
5577         (vc-git-program, vc-git-root-log-format): Remove the redundant
5578         :group declarations.
5580 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
5582         Removes the predicate from lisp-complete-symbol (Bug#20456)
5583         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
5584         and remove it from the docstring.
5586 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
5588         Add new option vc-git-resolve-conflicts
5589         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
5590         (vc-git-find-file-hook): Add to after-save-hook only when the
5591         above is non-nil.
5592         (vc-git-resolve-when-done): Update to honor the new variable.
5593         (Bug#20292)
5595 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
5597         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
5598         (tabulated-list-init-header): Document new behavior.
5599         (tabulated-list-print-fake-header): No nothing if
5600         `tabulated-list--header-string' is nil.
5601         (tabulated-list--header-string): Add a docstring.
5602         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
5603         * etc/NEWS: Document it.
5605 2015-05-15  Leo Liu  <sdl.web@gmail.com>
5607         Revert "Fix cps--gensym"
5608         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
5609           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
5611 2015-05-15  Glenn Morris  <rgm@gnu.org>
5613         Replace AC_SUBST_FILE in configure with include in Makefiles.
5614         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
5615         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
5616         (AUTO_DEPEND): New output variable.
5617         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
5618         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5619         (lwlib_deps_frag): Replace by conditional include.
5620         * lwlib/autodeps.mk: Remove file.
5621         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
5622         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5623         (oldxmenu_deps_frag): Replace by conditional include.
5624         * oldXMenu/autodeps.mk: Remove file.
5625         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
5626         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
5627         (lisp_frag): Replace by an include.
5628         (deps_frag): Replace by conditional include.
5629         * src/autodeps.mk: Remove file.
5631         Tweak japanese.el's loading of dependencies.
5632         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
5633         * lisp/language/japanese.el: Use require rather than load.
5634         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
5635         Provide a feature.
5636         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
5637         Provide a feature in the generated file.
5639 2015-05-15  Jan D  <jan.h.d@swipnet.se>
5641         Fix NS warnings.
5642         * nsmenu.m (ns_popup_dialog)
5643         * nsimage.m (initFromXBM:width:height:fg:bg:)
5644         * nsfns.m (Fx_create_frame): Remove unused variables.
5645         (Fns_read_file_name): Initialize fname, remove ret.
5646         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
5647         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
5648         variable.
5649         (init): Add parantesis in if.
5650         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
5652 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5654         Fix a enum conversion warning in macfont.m
5655         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
5656         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
5658 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
5660         Support de-alt dictionary with Aspell.
5661         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
5662         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
5664 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5666         cus-start.el: Add ns-confirm-quit.
5667         * cus-start.el: Add ns-confirm-quit.
5669         Fix warnings on OSX 10.10.
5670         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
5671         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
5672         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
5673         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
5674         * nsimage.m (allocInitFromFile, setPixmapData): Only call
5675         setScalesWhenResized for OSX < 10.6.
5676         * nsterm.h (EmacsScroller): Declare scrollerWidth.
5677         * nsterm.m (ns_copy_bits): New function that does not use deprecated
5678         NSCopyBits.
5679         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
5680         (runAlertPanel): New function.
5681         (applicationShouldTerminate:): Call runAlertPanel.
5682         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
5683         for OSX < 10.10.
5684         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
5685         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
5686         (draggingEntered:): Returns NSDragOperation.
5687         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
5689 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5691         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
5692         (package--init-file-ensured): New variable.
5693         (package-initialize, package--ensure-init-file): Use it.
5695 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
5697         Honor :fore/background for XBM on NS (Bug#14969).
5698         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
5699         initFromXBM takes bg, fg args, remove flip arg.
5700         (ns_image_from_XBM): Add bg, fg args.
5701         * image.c (x_create_bitmap_from_data)
5702         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
5703         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
5704         Remove flip arg.
5705         (initFromSkipXBM): Move code to initFromXBM.
5706         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
5707         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
5708         false.
5709         Remove bit flipping (bitPat, swt), generated incorrect images when
5710         width/height wasn't a multiple of 8.
5711         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
5712         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
5713         flip arg.
5715 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
5717         * lisp/emacs-lisp/package.el: Be more careful with the init file
5718         (package--ensure-init-file): Check that user-init-file is set,
5719         exists, is readable, and is writable.  (Bug#20584)
5720         Also expand the docstring.
5722 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
5724         Sync with upstream verilog-mode revision 6232468
5725         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
5726         (verilog-highlight-grouping-keywords): Fix use of face when
5727         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
5728         Pompa.
5729         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
5730         parent is reset, bug906. Reported by Ken Schmidt.
5731         (verilog-auto-inout-module): Add fourth regexp argument to
5732         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
5733         bug856. Reported by John Tillema.
5734         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
5735         modport if signal attachment is itself a modport.  Reported by
5736         Matthew Lovell.
5737         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
5738         always_comb and always_latch, bug844.  Reported by Greg Hilton.
5739         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
5740         with many curly-bracket pairs, bug663.
5741         (verilog-set-auto-endcomments): Fix end comments for functions of
5742         type void, etc.  Reported by Alex Reed.
5743         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
5744         caused by indent-line-to deleting tabls pre 24.5.
5745         (verilog-nameable-item-re): Fix nameable items that can have an
5746         end-identifier to include endchecker, endgroup, endprogram,
5747         endproperty, and endsequence.  Reported by Alex Reed.
5748         (verilog-label-be): When auto-commenting a buffer, consider
5749         auto-comments on all known keywords (not just a subset thereof).
5750         Reported by Alex Reed.
5751         (verilog-auto-end-comment-lines-re)
5752         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
5753         Automatically comment property/endproperty blocks to match other
5754         similar blocks like sequence/endsequence, function/endfunction,
5755         etc. Reported by Alex Reed.
5756         (verilog-set-auto-endcomments): Detect the function- or task-name
5757         when auto-commenting blocks that lack an explicit
5758         portlist. Reported by Alex Reed.
5759         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
5760         allow post-AUTO user fixups, bug826. Reported by Dennis
5761         Muhlestein.
5762         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
5763         is nil, fix indenting initial/final to match always statements,
5764         bug825. Reported by Tim Clapp.
5765         (verilog-extended-complete-re): Fix indentation of DPI-C imports
5766         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
5767         Mao and Jason Forkey.
5768         (verilog-read-decls): Fix parsing typed interfaces.  Fix
5769         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
5770         Fix localparam not being ignored in AUTOINSTPARAM,
5771         bug889. Reported by Shannon Hill.
5772         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
5773         bug793.  Reported by Pierre-David Pfister.
5774         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
5775         verilog-auto-arg-format to support newlines in AUTOARG. Reported
5776         by Jie Xiao.
5777         (verilog-batch-execute-func): Do not batch re-auto files loaded by
5778         Local Variables. Fix printing "no changes to be saved" with
5779         verilog-batch. Reported by Dan Dever.
5780         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
5781         interface-only modules, bug721.  Reported by Dean Hoyt.
5782         Author: Alex Reed <acreed4@gmail.com>
5783         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
5784         treat '<keyword>:<identifier>' as the start of a labeled
5785         statement, bug905.  Reported by Enzo Chi.
5786         (verilog-directive-re, verilog-compiler-directives)
5787         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
5788         directives (plus some extras) when determining indentation, bug
5789         901.  Reported by Bernd Beuster.
5790         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
5791         iff expression doesn't start with word-character, bug900.
5792         (verilog-optional-signed-range-re, verilog-optional-signed-re):
5793         Fix incorrect indentation/alignment of unsigned declarations,
5794         bug897.
5795         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
5796         always constructs, bug895.
5797         (verilog-calc-1): Fix verilog-mode constraint indentation,
5798         bug324. Reported by Eric Mastromarchi.
5799         (verilog-beg-of-statement): Fix indenting for some forms of
5800         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
5801         continued assignment incorrect if first line ends with ']',
5802         bug437. Reported by Dan Dever.  Fix indention of cover inside an
5803         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
5804         blocks, bug842.
5805         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
5806         bug859. Reported by Kaushal Modi.
5807         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
5808         (verilog-backward-token): Fix indenting sensitivity lists with
5809         named events, bug840.  Reed.
5810         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
5811         nil not honoring 'forever', 'foreach', and 'do' keywords.
5813 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
5815         Check for invalid GTK+ monitor scales
5816         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
5817         INT_MAX for too-large scales.  All callers changed to assume the
5818         result is valid (Bug#20432).
5819         (xg_frame_set_char_size, xg_update_scrollbar_pos):
5820         Calculate scale only if needed.
5821         show ASCII approximations instead.
5823 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
5825         Fix daemon crashes when linum-mode is turned on early on
5826         * src/window.c (Fwindow_end): Don't try calling display engine
5827         functions on initial-frame frame.  (Bug#20565)
5829         Fix selective diff browsing in Ediff
5830         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
5831         beginning of the region before searching for the
5832         ediff-regexp-focus-* regexps.  (Bug#20568)
5834 2015-05-14  Jan D  <jan.h.d@swipnet.se>
5836         Fixes Bug#20142.
5837         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
5838         in the main loop, even for Gtk 3 (Bug#20142).
5840         Don't access display after i/o error (Bug#19147).
5841         * xterm.c (x_connection_closed): Add third arg ioerror.
5842         If ioerror, set display to 0 (Bug#19147).
5843         (x_error_quitter): Call x_connection_closed with third arg false.
5844         (x_io_error_quitter): Call x_connection_closed with third arg true.
5846         Handle GTK_SCALE, fixes Bug#20432.
5847         * gtkutil.c (xg_get_gdk_scale): New function.
5848         (xg_frame_set_char_size)
5849         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
5850         (xg_get_default_scrollbar_height)
5851         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
5852         when setting sizes (Bug#20432).
5854 2015-05-13  Leo Liu  <sdl.web@gmail.com>
5856         Fix cps--gensym
5857         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
5859 2015-05-13  Glenn Morris  <rgm@gnu.org>
5861         Fix bootstrap (void function cl-member).
5862         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
5863         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
5865 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
5867         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
5868         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
5869         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
5870         Avoid defalias for closures which are not immutable.
5871         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
5872         dispatchers table with various entries.
5873         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
5874         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
5876 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
5878         Improve tagging of C bindings in DEFVAR_*
5879         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
5880         from DEFVAR_*.
5882 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
5884         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
5886 2015-05-12  Glenn Morris  <rgm@gnu.org>
5888         * lisp/progmodes/tcl.el (tcl-filter):
5889         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
5891         Add basic VC push support.
5892         * lisp/vc/vc.el (vc-push): New autoloaded command.
5893         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
5894         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
5895         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
5896         (vc-bzr-push): New.
5897         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
5898         (vc-git-pull): Reimplement using vc-git--pushpull.
5899         (vc-git-push): New.
5900         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
5901         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
5902         * doc/emacs/maintaining.texi (Pulling / Pushing):
5903         Rename from "VC Pull".  Mention pushing.
5904         (VC With A Merging VCS, VC Change Log): Update xrefs.
5905         (Branches): Update menu.
5906         * doc/emacs/emacs.texi: Update menu.
5907         * etc/NEWS: Mention this.
5909 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
5911         Improve the seq pcase pattern and the `seq-let' macro
5912         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
5913         object is a sequence, and binds each element of ARGS to the
5914         corresponding element of the sequence.
5916 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
5918         Fix tags created from DEFVAR_* declarations in C
5919         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
5920         to make tags extracted from DEFVAR_* declarations more accurate.
5922         Add a test suite for etags
5923         * test/etags/: New test suite, adapted from
5924         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
5925         whose original author is Francesco Potortì <pot@gnu.org>.
5927         Fix tagging of symbols in C enumerations
5928         * lib-src/etags.c (consider_token): Don't tag symbols in
5929         expressions that assign values to enum constants.  See
5930         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
5931         for details.
5932         (C_entries): Reset fvdef to fvnone after processing a preprocessor
5933         conditional and after a comma outside of parentheses.
5935 2015-05-12  Glenn Morris  <rgm@gnu.org>
5937         * lisp/url/url-handlers.el (url-file-name-completion)
5938         (url-file-name-all-completions): Silence compiler.
5940         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
5942         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
5944 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
5946         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
5947         (cl--generic-mandatory-args): Remove.
5948         (cl--generic-split-args): New function.
5949         (cl-generic-define, cl--generic-lambda): Use it.
5950         (cl-generic-define-method): Use it as well, and add support for
5951         context args.
5952         (cl--generic-get-dispatcher): Handle &context dispatch.
5953         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
5954         (cl--generic-dispatchers): Pre-fill.
5955         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
5957 2015-05-11  Glenn Morris  <rgm@gnu.org>
5959         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
5961 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
5963         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
5964         * lisp/term/rxvt.el: Require term/xterm.
5965         (rxvt-function-map): Use xterm-rxvt-function-map.
5966         (rxvt-standard-colors): Move before first use.
5967         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
5968         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
5969         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
5970         Move shared bindings between rxvt and xterm to it.
5971         (xterm-function-map): Use it.  Move the xterm-paste binding to
5972         xterm-rxvt-function-map (bug#20444).
5973         (xterm-standard-colors): Move before first use.
5974         (xterm--push-map): New function.
5975         (xterm-register-default-colors): Take standard colors as argument.
5976         (terminal-init-xterm): Use it.  Adjust call to
5977         xterm-register-default-colors.
5979 2015-05-11  Glenn Morris  <rgm@gnu.org>
5981         * lisp/term/x-win.el: Quieten --without-x compilation.
5982         (x-own-selection-internal, x-disown-selection-internal)
5983         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
5984         Declare.
5986         * Makefile.in (emacslog): Remove srcdir.
5987         (ChangeLog): Update for the above.
5989 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5991         Spelling fix
5993 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5995         python.el: better limit for looking-back calls
5996         * lisp/progmodes/python.el (python-shell-accept-process-output):
5997         Use last comint prompt start as limit for looking-back.
5999 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
6001         CEDET (srecode-insert-fcn): Fix use of oref on a class
6002         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
6003         a class.  Reported by Pierre Lorenzon.
6004         (srecode-template-inserter-point): Remove declaration.
6006         CEDET (srecode-create-dictionary): Avoid obsolete object name
6007         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
6008         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
6010 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
6012         C-x 8 shorthands for curved quotes, Euro, etc.
6013         Although C-x 8 lets you insert arbitrary Unicode characters,
6014         it's awkward to use this to insert commonly used symbols such as curved
6015         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
6016         characters commonly found in English text and in basic math.
6017         For example, assuming the Alt key works on your keyboard and iso-transl
6018         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
6019         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
6020         (Bug#20499)
6021         * doc/emacs/mule.texi (Unibyte Mode):
6022         A few other printing characters now work too.
6023         * etc/NEWS: Document this.
6024         * lisp/international/iso-transl.el (iso-transl-char-map):
6025         Also support the following characters:
6026         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
6028 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6030         Add xref-find-regexp
6031         * lisp/progmodes/xref.el (xref-find-function): Describe the
6032         `matches' action.
6033         (xref-find-regexp): New command, using it.
6034         (xref-collect-references): Rename to xref-collect-matches.
6035         (xref--collect-reference): Rename to xref--collect-match.
6036         (xref-collect-matches, xref--collect-match): Accept new argument,
6037         KIND.  Update accordingly.
6038         (xref--regexp-to-extended): New function.
6039         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
6040         `matches' action.
6041         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
6042         * lisp/progmodes/etags.el (etags-xref-find):
6043         Support the `matches' action.
6044         (etags--xref-find-matches): New function.
6046 2015-05-10  Glenn Morris  <rgm@gnu.org>
6048         * Makefile.in: Fixes for recent change-history changes.
6049         (change-history-nocommit): Update footer regexp.
6050         Ensure output script stays executable.
6052 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
6054         New version of `seq-let' based on a pcase pattern
6055         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
6056         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
6058 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
6060         Add basic HTML5 tags and a template
6061         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
6062         (html-tag-alist): Add HTML5 tags.
6063         (html-tag-help): Add new tags descriptions.
6064         (html-navigational-links): Template for nav links.
6065         (html-html5-template): Template for a HTML5 page.
6067 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
6069         semantic/symref/grep: Don't use word boundaries
6070         * lisp/cedet/semantic/symref/grep.el
6071         (semantic-symref-perform-search): Instead of wrapping input in
6072         word boundaries, check that the characters before and after are
6073         not word constituents.
6075         semantic/symref/grep: Support regexp search
6076         * lisp/cedet/semantic/symref.el
6077         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
6078         the search type is regexp.
6079         * lisp/cedet/semantic/symref/grep.el
6080         (semantic-symref-perform-search): Support the regexp search type.
6081         Pass -E to Grep when it's used.
6083         semantic-symref-regexp: Allow to input an arbitrary string
6084         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
6085         Allow to input an arbitrary string interactively.
6087         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
6088         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6089         Remove tag-symbol-match-p from the default value
6090         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
6092         Declare find-tag obsolete
6093         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
6094         xref-find-definitions.
6096 2015-05-10  Jan D  <jan.h.d@swipnet.se>
6098         Draw composite string correctly (Bug#20537).
6099         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
6100         (ns_draw_glyph_string): Call it (Bug#20537).
6102 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
6104         Avoid infloop in ERC
6105         * lisp/simple.el (line-move-to-column): Ignore field boundaries
6106         while computing line beginning position.  (Bug#20498)
6108 2015-05-08  Glenn Morris  <rgm@gnu.org>
6110         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
6111         * build-aux/gitlog-to-emacslog: Check called from right directory.
6112         (srcprefix): Remove.
6114         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
6115         * Makefile.in (ChangeLog): No longer pass "distprefix".
6116         * make-dist: Update "make ChangeLog" syntax for the above change.
6118         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
6119         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
6121         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
6123         Add command-line option-parsing to gitlog-to-emacslog.
6124         * build-aux/gitlog-to-emacslog: Add command-line options.
6125         By default, refuse to remove an existing output file.
6126         * Makefile.in (CHANGELOG): Update default.
6127         (ChangeLog): Do not test for existing file.
6128         (change-history-nocommit): Ensure temp file does not exist.
6130         Quieten --without-x compilation.
6131         * lisp/term/common-win.el: Provide a feature.
6132         * lisp/term/x-win.el (term/common-win): Require it.
6134         * lisp/dired-aux.el (dired-do-print): Require lpr.
6136         Quieten compilation, eg in --without-x builds.
6137         * lisp/dired-aux.el (lpr-printer-switch):
6138         * lisp/frame.el (tool-bar-height):
6139         * lisp/linum.el (font-info):
6140         * lisp/window.el (font-info, overflow-newline-into-fringe)
6141         (tool-bar-height):
6142         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
6143         * lisp/gnus/gnus-util.el (iswitchb-mode):
6144         * lisp/mail/rmailmm.el (libxml-parse-html-region):
6145         * lisp/net/nsm.el (gnutls-peer-status)
6146         (gnutls-peer-status-warning-describe):
6147         * lisp/net/shr.el (libxml-parse-xml-region):
6148         * lisp/url/url-http.el (gnutls-peer-status): Declare.
6150 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
6152         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
6153         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
6154         `subclass' since they're never called with a class.
6155         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
6156         srecode-dictionary-child-p.
6158 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
6160         help--binding-locus: Document argument POSITION.
6161         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
6163 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
6165         Merge from gnulib.
6166         * doc/misc/texinfo.tex: Get latest version.
6168 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
6170         ffap.el (ffap-read-file-or-url): Fix completing-read call
6171         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
6172           `completing-read' should be a symbol.
6174 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
6176         Verify file modifications by other programs
6177         * src/filelock.c (lock_file): Check whether the file was modified
6178         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
6180         Fix keyboard macros that include function keys
6181         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
6182         keys in the macro before returning.  (Bug#20454)
6184 2015-05-08  Glenn Morris  <rgm@gnu.org>
6186         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
6187         "Copyright-paperwork-exempt".  (Bug#20324)
6189         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
6190         (log-edit-rewrite-tiny-change): New variable.
6191         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
6192         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
6193         * etc/NEWS: Mention this.
6195         * lisp/calc/calc.el (math-zerop): Declare.
6197         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
6199 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6201         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
6202         Support the case when BINDINGS is a single tuple.  (Bug#20525)
6204         * etc/NEWS: Fix typo in commit 14bb519
6206 2015-05-07  Jan D  <jan.h.d@swipnet.se>
6208         Warn for multiple display crash for all Gtk+ versions.
6209         * configure.ac: Warn for multiple display crash for all Gtk+
6210         versions.  Output URL to Gtk+ bug (Bug#20452).
6212         ns-win.el (ns-paste-secondary): Use gui-get-selection.
6213         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
6215 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
6217         * lisp/emacs-lisp/package.el: New "external" package status
6218         An external package is any installed package that's not built-in
6219         and not from `package-user-dir', which usually means it's from an
6220         entry in `package-directory-list'.  They are treated much like
6221         built-in packages, in that they cannot be through the Package Menu
6222         deleted and are not considered for upgrades.
6223         (package-desc-status): Identify if a package is installed outside
6224         `package-user-dir'.
6225         (package-menu--print-info-simple)
6226         (package-menu--status-predicate): Add support for it.
6227         * etc/NEWS: Document it.
6229 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6231         * lisp/mail/rmail.el: Use lexical-binding
6232         (rmail-bury): Remove unused var `buffer-to-bury'.
6233         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
6234         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
6235         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
6236         (rmail-insert-inbox-text): Remove unused var `movemail'.
6237         (rmail-add-mbox-headers): Remove unused var `limit'.
6238         (rmail-undelete-previous-message): Remove unused var `value'.
6239         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
6240         `resent-reply-to'.
6241         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
6242         (rmail-restore-desktop-buffer): Rename arguments.
6244 2015-05-06  Glenn Morris  <rgm@gnu.org>
6246         * Makefile.in (change-history-commit): Add missing piece of previous.
6248         Avoid unnecessary bumping of Makefile.in's timestamp.
6249         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
6250         (emacslog): New variable.
6251         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
6252         (unchanged-history-files): Use $emacslog rather than Makefile.in.
6253         (change-history-nocommit): Store hash in $emacslog.
6254         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
6255         * admin/update_autogen (changelog_files): Update for the above.
6257         * Makefile.in: Don't always insist on removing existing "ChangeLog".
6258         (CHANGELOG): New variable.
6259         (no-ChangeLog): Remove.
6260         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
6261         (change-history-nocommit): Use a temp file rather than insisting
6262         on deletion of any existing "ChangeLog".
6264         * build-aux/gitlog-to-emacslog: Allow specification of output.
6266         * admin/update_autogen: Add option to update ChangeLog.
6267         (usage): Mention -H.
6268         (changelog_flag, changelog_n, changelog_files): New variables.
6269         (main): Check for -H, and maybe run change-history-nocommit.
6271 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6273         * lisp/subr.el (delete-dups): Pre-size the hashtable.
6275         (define-modify-macro): Make sure cl--arglist-args is defined
6276         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
6277         cl--arglist-args is defined (bug#20517).
6279 2015-05-06  Glenn Morris  <rgm@gnu.org>
6281         * Makefile.in (change-history-nocommit): New.
6283 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6285         Only cancel timer when it is non-nil
6286         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
6287         timer when it is non-nil
6288         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
6290 2015-05-06  Glenn Morris  <rgm@gnu.org>
6292         Quieten cedet compilation
6293         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
6294         Invert fboundp test to quieten on current Emacs.
6295         * lisp/cedet/ede/config.el (ede-shell-run-something)
6296         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
6297         (semanticdb-refresh-table): Declare.
6298         (ede-preprocessor-map): Require semantic/db.
6300         Quieten cc-mode compilation
6301         * lisp/progmodes/cc-awk.el (c-forward-sws):
6302         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
6303         Declare.
6305 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6307         lisp/subr.el (delete-dups): Avoid nreverse.
6309 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
6311         * lisp/subr.el (delete-dups): Make it destructive again.
6313 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
6315         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
6317 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6319         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
6320         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
6321         (testcover--read): Rename from testcover-read.  Change calling convention.
6322         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
6323         (testcover-start): Use add-function.  Move edebug-all-defs binding to
6324         testcover--read.
6325         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
6326         (testcover-mark): Remove unused var `item'.
6327         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
6329 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
6331         lisp/subr.el (delete-dups): Use a hash table
6332         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
6333           use a hash table. This can result in ~500 times speed-up for typical
6334           collections of size 5000, like that of `load-library'.
6336 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
6338         CEDET: Avoid `oref' on classes in a few more cases
6339         * lisp/cedet/ede/generic.el (ede-find-target):
6340         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
6341         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
6342         var `prefix'.
6344         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
6345         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
6346         (semantic-symref-perform-search): Remove unused var `pat'.
6348         CEDET (srecode-compile-inserter): Avoid `oref' on classes
6349         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
6350         Avoid `oref' on classes (bug#20491).
6351         (srecode-compile-split-code): Remove unused var `key'.
6353 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
6355         Clean up pulse.el a little
6356         * lisp/cedet/pulse.el (pulse): Remove.
6357         (pulse-momentary-timer): Save instead of the stop time.
6358         (pulse-momentary-highlight-overlay): Call
6359         pulse-momentary-unhighlight first thing. Treat
6360         pulse-momentary-overlay as a single value, not a list. Save the
6361         created timer. Only pass the stop time to the timer.
6362         (pulse-tick): Update accordingly.
6363         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
6364         single value. Cancel the timer.
6366 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
6368         Support the biblatex journaltitle field
6369         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
6370         Support the biblatex journaltitle field.
6372 2015-05-05  Glenn Morris  <rgm@gnu.org>
6374         Minor declare-function improvement
6375         * lisp/emacs-lisp/bytecomp.el
6376         (byte-compile-macroexpand-declare-function):
6377         Handle declarations after calls.  (Bug#20509)
6379         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
6381         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
6383 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6385         Pulse using a timer
6386         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
6387         (pulse-momentary-highlight-overlay): Set up the timer instead of
6388         calling `pulse'
6389         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
6390         (pulse-tick): New function.
6391         (pulse-momentary-unhighlight): Cut off the stop time.
6392         (pulse-delay): Update the docstring WRT to not using sit-for.
6394         Add semantic/symref/grep file patterns for ruby-mode
6395         * lisp/cedet/semantic/symref/grep.el
6396         (semantic-symref-filepattern-alist): Add patterns for
6397         ruby-mode. Clarify the docstring.
6399         Don't require match
6400         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
6401         match. That doesn't work for every command, and some identifier
6402         completion tables are bound to be imperfect anyway.
6404 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
6406         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
6407         (semantic-grammar--template-expand): New function.
6408         (semantic-grammar-header, semantic-grammar-footer): Use it.
6409         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
6410         (semantic-grammar-file-regexp): Refine regexp.
6411         (semantic-grammar-eldoc-get-macro-docstring):
6412         Use elisp-get-fnsym-args-string when available.
6413         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
6414         instead of the old eldoc-* names.
6415         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
6416         from elisp-mode.el.  Tweak calling convention.
6417         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
6418         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
6419         elisp--get-fnsym-args-string.
6420         (elisp--highlight-function-argument): Add `prefix' arg.
6421         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
6422         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
6424 2015-05-05  Glenn Morris  <rgm@gnu.org>
6426         * lisp/help-fns.el (describe-function-1):
6427         Handle builtins with advertised calling conventions.  (Bug#20479)
6429 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6431         Merge branch 'seq-let'
6433         Update `seq-let' documentation
6434         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
6435         with the support of  `&rest'.
6437         Add support for &rest in `seq-let'
6438         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
6439         in the argument list.
6440         * test/automated/seq-tests.el: Add a test for parsing and binding
6441         `&rest' in `seq-let'.
6443 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
6445         Spelling fixes
6447 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
6449         * eieio-custom.el (eieio-object-value-get): Add missing increment
6450         (Bug#20467)
6452         (eieio-object-value-create): Adjust to new slots representation
6453         (Bug#20467)
6454         * eieio-custom.el (eieio-object-value-create):
6455         Fix missed adjustment to new representation of slots metadata.
6457 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
6459         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
6461 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
6463         Work around "Attempt to modify read-only object"
6464         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
6465         elisp--xref-find-definitions, to work around "Attempt to modify
6466         read-only object" error.
6468         Only skip some variables that have function counterparts
6469         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6470         Only skip minor-mode-named variable if it's defined in a Lisp
6471         file, and it's in minor-mode-list (bug#20506).
6472         * test/automated/elisp-mode-tests.el
6473         (elisp-xref-finds-both-function-and-variable)
6474         (elisp-xref-finds-only-function-for-minor-mode): New tests.
6476 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6478         Buttonize the whole line, including the number at the beginning
6479         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
6480         previous change.
6481         (xref--insert-xrefs): Buttonize the whole line, including the
6482         number at the beginning.
6484         Make sure we're inside the let bindings
6485         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6486         Make sure we're inside the let bindings.
6487         * test/automated/elisp-mode-tests.el
6488         (elisp-completes-functions-after-let-bindings): New test.
6490 2015-05-04  Glenn Morris  <rgm@gnu.org>
6492         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
6493         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
6494         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
6495         Remove outdated declarations.
6497         Replace instances of "(eval-when-compile (autoload ...))"
6498         * lisp/gnus/gnus-art.el (nneething-get-file-name):
6499         Declare rather than autoload.
6500         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
6501         Remove pointless autoload.
6502         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
6503         (gnus-topic-create-topic, gnus-topic-enter-dribble):
6504         Declare rather than autoload.
6505         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
6506         (mailcap-extension-to-mime): Autoload at run-time.
6507         * lisp/gnus/mm-util.el (latin-unity-massage-name)
6508         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
6509         (latin-unity-representations-present-region):
6510         Declare rather than autoload.
6511         * lisp/gnus/mml-smime.el (epg-make-context)
6512         (epg-passphrase-callback-function): Autoload at run-time.
6513         (epg-context-set-signers, epg-context-result-for)
6514         (epg-new-signature-digest-algorithm)
6515         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
6516         (epg-sign-string, epg-encrypt-string)
6517         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
6518         (epg-configuration, epg-expand-group, epa-select-keys):
6519         Declare rather than autoload.
6520         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
6521         Autoload at run-time.
6522         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
6523         (gnus-registry-get-id-key, gnus-registry-action):
6524         Declare rather than autoload.
6525         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
6526         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
6527         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
6528         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
6529         (spam-stat-split-fancy): Remove pointless autoloads.
6530         * lisp/net/mairix.el: Load gnus-util when compiling.
6531         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
6532         (message-field-value): Declare rather than autoload.
6533         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
6534         Check gnus-alive-p is fbound.
6535         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
6536         (vm-check-for-killed-summary, vm-error-if-folder-empty)
6537         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
6538         Declare rather than autoload.
6540         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
6542         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
6543         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
6545         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
6547         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
6549         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
6550         * lisp/emacs-lisp/package.el (epg-signature-status):
6551         Fix declarations.
6553         * lisp/play/gametree.el (gametree-show-children-and-entry)
6554         (gametree-apply-layout, gametree-mouse-show-subtree)
6555         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
6557         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
6558         Handle cl-defgeneric, cl-defmethod.
6560 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6562         Highlight both type and symbol name
6563         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
6564         Highlight both type and symbol name.
6566         Insert, highlight and align line numbers in xref output
6567         * lisp/progmodes/etags.el (xref-location-line): Specialize for
6568         xref-etags-location.
6569         * lisp/progmodes/xref.el (xref-location-line): New generic method.
6570         (xref-file-location): Add reader for the line slot.
6571         (xref--location-at-point): Skip to the `xref-location' property.
6572         (xref--collect-reference): Drop the line number from description.
6573         (xref--insert-xrefs): Insert, highlight and align line numbers.
6575 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6577         Fix previous commit
6579 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6581         Don't pulse the indentation, or the newline
6582         * lisp/cedet/pulse.el (pulse-lighten-highlight)
6583         (pulse-reset-face): Fall back to the inherited background
6584         attribute in FACE.
6585         (pulse-momentary-highlight-region): Add autoload cookie.
6586         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
6587         indentation, or the newline, if the line's non-empty
6588         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
6590 2015-05-04  Daniel Colascione  <dancol@dancol.org>
6592         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
6593         * doc/lispref/positions.texi (Excursions): Document
6594         `save-mark-and-excursion'.
6595         * lisp/font-lock.el (font-lock-fontify-block): Use
6596         `save-mark-and-excursion' instead of `save-excursion', restoring
6597         Emacs 24 behavior.
6598         * lisp/simple.el (save-mark-and-excursion--save)
6599         (save-mark-and-excursion--restore): New functions.
6600         (save-mark-and-excursion): New user macro.
6601         * src/editfns.c (Fsave_excursion): Mention
6602         `save-mark-and-excursion' in `save-excursion' documentation.
6604 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
6606         Classify lone symbol inside let varlist as variable
6607         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6608         Classify lone symbol inside let varlist as variable.
6609         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
6610         New test.
6612         Add xref-pulse-on-jump
6613         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
6614         Add autoload cookie.
6615         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
6616         (xref--maybe-pulse): New function.
6617         (xref-pop-marker-stack, xref--pop-to-location)
6618         (xref--display-position): Use it.
6619         (xref--location-at-point): Use back-to-indentation.
6621 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
6623         * lisp/org/org-{macs,list}.el: Fix lexical warnings
6624         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
6625         (org-list-get-next-item, org-list-get-prev-item)
6626         (org-list-get-children): Mark unused arg `struct'.
6627         (org-list-use-alpha-bul-p): Remove unused var `bul'.
6628         (org-toggle-checkbox): Mark unused var.
6629         (org-update-checkbox-count): Remove unused var `box-num'.
6630         (org-adapt-indentation): Declare.
6631         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
6632         (org-list-send-list): Remove unused var `txt'.
6633         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
6634         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
6635         * lisp/org/org-macs.el: Use `declare'.
6636         (org-with-limited-levels): Declare dyn-bound vars.
6638 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
6640         Fix minor issues with CEDET on MS-Windows
6641         * lisp/cedet/semantic/symref/idutils.el
6642         (semantic-symref-parse-tool-output-one-line): Fix the search
6643         regexp to match MS-Windows file names with drive letters.
6644         (Bug#19468)
6645         * lisp/cedet/semantic/symref/grep.el
6646         (semantic-symref-grep-use-template): Remove "--color=always" from
6647         Grep switches on MS-Windows.
6648         (semantic-symref-grep-shell): Use shell-file-name as the default
6649         value, so this works not only on Posix platforms.
6650         (semantic-symref-perform-search): Use shell-quote-argument instead
6651         of literal '..' for portable quoting of Grep command-line
6652         argument.  Use shell-command-switch instead of a literal "-c".
6653         * lisp/cedet/semantic/bovine/gcc.el
6654         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
6655         for an absolute file name in a portable way.
6657 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
6659         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
6660         (package-import-keyring, package-refresh-contents)
6661         (package-compute-transaction, package--save-selected-packages)
6662         (package-install-from-archive, package-delete)
6663         (package-menu--perform-transaction): Use `inhibit-message'
6664         instead.
6665         (package--compile): Set `warning-minimum-level' to :error.
6667 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
6669         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
6670         (terminal-init-screen): Use it (bug#20356).
6671         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
6672         (xterm--extra-capabilities-type): New const.
6673         (xterm-extra-capabilities): Use it.
6674         (xterm--version-handler): Lower the pseudo-version for `screen'.
6676 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
6678         xref--insert-xrefs: Tweak the faces
6679         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
6680         Always insert a newline at the end (to avoid mouse-face background
6681         tail at the last line).
6683         elisp-completion-at-point: Prioritize being quoted over funpos
6684         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
6685         Only consider function position when not inside quoted form
6686         (bug#20425).
6687         * test/automated/elisp-mode-tests.el: New file.
6689         Stop vc-print-log from jumping to the top
6690         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
6691         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
6692         is not specified.
6693         (vc-incoming-outgoing-internal): Always pass nil.
6694         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
6695         call it, and don't set vc-sentinel-movepoint (bug#15322).
6696         (vc-print-root-log): Don't fetch the root working revision, nor
6697         pass it to vc-print-log-internal.
6699 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
6701         Fix display of keyboard layouts for right-to-left scripts
6702         * lisp/international/quail.el (quail-insert-kbd-layout): Force
6703         left-to-right paragraph direction.
6705 2015-05-02  K. Handa  <handa@gnu.org>
6707         * cmds.c (internal_self_insert): When we insert spaces for
6708         padding, set point before the padding spaces, not after them.
6710 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
6712         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
6714 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
6716         Fix etags-xref-find for references
6717         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
6718         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
6719         directory if no tags tables are loaded (bug#19468).
6721 2015-05-02  Philipp Stephani  <phst@google.com>
6723         Update the options in whitespace-style defcustom
6724         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
6725         `repeat' because the option is really set-like.  Add missing
6726         options.  Reorder options to match the order in the
6727         documentation.  (Bug#20346)
6729 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
6731         Fix error diagnostics of c-macro-expand
6732         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
6733         too early if no start-marker string was found -- that generally
6734         means cpp exited abnormally, and we still want to show its error
6735         messages to the user.
6737         Don't require Texinfo 5.0 for Emacs documentation
6738         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
6739         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
6740         "@codequoteundirected on", respectively, to avoid requiring
6741         Texinfo 5.x for Emacs documentation.
6743 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
6745         * lisp/files.el (pwd):
6746         When called with a prefix argument, insert the current default
6747         directory at point.
6749 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
6751         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
6752         * lisp/isearch.el (isearch-mode-map): Don't inhibit
6753         function-key-map remapping for backspace (bug#20466).
6755 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
6757         Implement xref-find-references in etags and elisp-mode
6758         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
6759         (elisp-xref-find): Use it.
6760         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
6761         * lisp/progmodes/xref.el (xref-collect-references):
6762         (xref--collect-reference): New functions.
6764 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
6766         Prefer plain characters to Texinfo circumlocutions
6767         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
6768         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
6770         Fix single-quoting style in PDF manuals
6771         The PDF versions of the GNU manuals used curved single quotes to
6772         represent grave accent and apostrophe, which made it a pain to cut
6773         and paste code examples from them.  Fix the PDF versions to use
6774         grave accent and apostrophe for Lisp source code, keystrokes, etc.
6775         This change does not affect the info files, nor does it affect
6776         ordinary uses of curved single quotes in PDF.
6777         * doc/emacs/docstyle.texi: New file, which specifies treatment for
6778         grave accent and apostrophe, as well as the document encoding.
6779         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
6780         * doc/lispintro/emacs-lisp-intro.texi:
6781         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
6782         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
6783         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
6784         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
6785         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
6786         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
6787         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
6788         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
6789         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
6790         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
6791         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
6792         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
6793         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
6794         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
6795         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
6796         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
6797         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
6798         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
6799         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
6800         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
6801         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
6802         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
6803         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
6804         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
6805         * doc/misc/woman.texi:
6806         Use it instead of '@documentencoding UTF-8', to lessen the need for
6807         global changes like this in the future.
6808         * doc/emacs/Makefile.in (EMACS_XTRA):
6809         * doc/lispintro/Makefile.in (srcs):
6810         * doc/lispref/Makefile.in (srcs):
6811         Add dependency on docstyle.texi.
6812         * doc/misc/Makefile.in (style): New macro.
6813         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
6814         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
6815         Use it.
6817 2015-05-01  Glenn Morris  <rgm@gnu.org>
6819         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
6821         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
6822         (help-fns--signature): Declare.
6824         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
6826 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
6828         New macro seq-let, providing destructuring support to seq.el
6829         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
6830         to `cl-destructuring-bind' but works on all sequence types supported
6831         by `seq.el'.  Bump version number to 1.6.
6832         * test/automated/seq-tests.el: Add tests for seq-let.
6833         * doc/lispref/sequences.texi: Add documentation for seq-let.
6835 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
6837         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
6839 2015-05-01  Glenn Morris  <rgm@gnu.org>
6841         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
6843 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
6845         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
6846         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
6847         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
6848         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
6849         (Bug#20445).
6851 2015-05-01  K. Handa  <handa@gnu.org>
6853         * mule-cmds.el (input-method-use-echo-area): Change :type to
6854         'boolean.
6856 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6858         Start using proportional fonts in eww by default
6859         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
6860         it seems to work well.
6862         Fix links in tables in shr
6863         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
6864         makes (some) links in tables not work.
6866 2015-05-01  Jan D  <jan.h.d@swipnet.se>
6868         (ns-get-cut-buffer-internal): Remove this alias.
6869         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
6871 2015-04-30  Glenn Morris  <rgm@gnu.org>
6873         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
6874         Update for 2015-02-08 change to indirect-function.
6876         * lisp/term/ns-win.el (ns-get-selection-internal):
6877         Remove declaration for function deleted 2014-10-21.
6879         * lisp/dom.el: Load subr-x when compiling, for when-let.
6881         Silence some compilation warnings
6882         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
6883         * lisp/emulation/cua-base.el (delete-active-region):
6884         * lisp/net/net-utils.el (w32-get-console-output-codepage):
6885         * lisp/term/ns-win.el (ns-own-selection-internal)
6886         (ns-disown-selection-internal, ns-selection-owner-p)
6887         (ns-selection-exists-p, ns-get-selection):
6888         Declare for compiler..
6890         Function declaration updates prompted by 'make check-declare'
6891         * lisp/emacs-lisp/package.el (lm-homepage):
6892         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
6893         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
6894         * lisp/gnus/mml.el (libxml-parse-html-region):
6895         * lisp/gnus/nnrss.el (libxml-parse-html-region):
6896         * lisp/net/eww.el (libxml-parse-html-region):
6897         * lisp/net/shr.el (libxml-parse-html-region):
6898         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
6899         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
6900         * lisp/vc/vc-git.el (vc-annotate-convert-time):
6901         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
6902         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
6903         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
6904         Update declaration.
6906         Remove compatibility code for 20-year old function renaming
6907         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
6908         Make it an obsolete alias.
6909         (idlwave-shell-filter): Change all uses to comint-output-filter.
6911 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
6913         Add ace-window face config
6914         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
6915         configuration.
6917 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
6919         Unclutter 'make doc' output a bit
6920         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
6921         Use make subst rather than sh IFS to split target string apart.
6922         This makes 'make' output easier to follow.
6924         Merge from gnulib
6925         * doc/misc/texinfo.tex: Update from gnulib.
6927 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
6929         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
6930         (package-menu--print-info): Obsolete.
6931         (package-menu--print-info-simple): New function.
6932         (package-menu--refresh): Use it, simplify code, and improve
6933         performance.
6934         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
6935         Tiny performance improvement.
6937         * lisp/emacs-lisp/package.el (package--message): inhibit-message
6939 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
6941         Omit -Wstrict-overflow workaround in GCC 5
6942         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
6943         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
6945         Merge from gnulib
6946         This incorporates:
6947         2015-04-29 extern-inline: no need for workaround in GCC 5.1
6948         2015-04-26 file-has-acl: port to CentOS 6
6949         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
6951 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
6953         Set next-error-* in xref--xref-buffer-mode
6954         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
6955         `next-error-last-buffer'.
6956         (xref--next-error-function): New function.
6957         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
6959 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
6961         python.el: Fix warnings on looking-back calls missing LIMIT
6962         * lisp/progmodes/python.el (python-shell-accept-process-output):
6963         Pass LIMIT arg to looking-back.
6965 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6967         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
6968         (package--download-and-read-archives): Use pushnew instead of
6969         append.  If something terrible happened during a previous
6970         download, simply refreshing should now make things work again.
6972 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
6974         Introduce etags-xref-find-definitions-tag-order
6975         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6976         New variable.
6977         (etags--xref-find-definitions): Use it (bug#19468).
6979 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
6981         PATH- and completion-related fixes in Eshell on MS-Windows
6982         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
6983         MS-Windows, prepend "." to list of directories produced from PATH,
6984         as Windows always implicitly searches the current directory first.
6985         (eshell-force-execution): Make it have a non-nil default value on
6986         MS-Windows and MS-DOS.
6987         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
6988         eshell-force-execution is non-nil, complete on readable files and
6989         directories, not only executables.  When running on MS-Windows,
6990         prepend "." to list of directories produced from PATH, as Windows
6991         always implicitly searches the current directory first.
6993 2015-04-29  Sam Steingold  <sds@gnu.org>
6995         bury RCIRC buffers when there is no activity
6996         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
6997         (rcirc-bury-buffers): new function
6998         (rcirc-next-active-buffer): when there is no new activity, use
6999         `rcirc-bury-buffers' to hide all RCIRC buffers
7001 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
7003         Fix DBUS query result parsing for secrets-search-items
7004         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
7005         parsing.  The function assumed that return value of the
7006         SearchItems method called on a collection is a list of two lists,
7007         however this is true only when no collection is specified.  GNOME
7008         had used to incorrectly return a list of two lists in both cases,
7009         but this was already fixed:
7010         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
7011         incorrect information in the secrets-search-items’ docstring.
7012         (Bug#20449)
7014 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
7016         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
7017         (byte-compile--message): Use `inhibit-message' instead of hiding
7018         the previous message with (message nil).
7020 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
7022         Remove the deprecated INTERNAL_FIELD macro by expanding it
7023         * src/lisp.h (INTERNAL_FIELD): Remove.
7024         (DEFVAR_KBOARD): Modify accordingly.
7025         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
7026         * syntax.c: Adjust users.
7027         * src/buffer.c (compact_buffer): Use BVAR.
7029 2015-04-29  Glenn Morris  <rgm@gnu.org>
7031         Replace an obsolete function alias
7032         * lisp/isearch.el (isearch-yank-x-selection):
7033         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
7034         (mouse-drag-secondary-moving):
7035         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7036         Replace obsolete alias x-get-selection with gui-get-selection.
7038 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
7040         * lisp/mail/rmailsum.el: Use lexical-binding.
7042 2015-04-29  Glenn Morris  <rgm@gnu.org>
7044         * test/automated/package-test.el (package-test-update-archives-async):
7045         Skip test on hydra.nixos.org.
7047 2015-04-28  Glenn Morris  <rgm@gnu.org>
7049         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
7050         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
7051         (foldout-mouse-hide-or-exit): Use new names for outline functions.
7053         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
7054         Update for 2014-06-26 hideif.el change.
7056         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
7057         (rmail--decode-and-apply): New function.
7058         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
7060         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
7062 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7064         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
7065         (package-menu--refresh): Delegate obsolete-hiding to
7066         `package--remove-hidden'.
7067         (package--remove-hidden): Disregard high-priority package if it is
7068         older than the installed one.
7070 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
7072         Update source file encoding list
7073         Update admin/notes/unicode, along with coding system cookies in
7074         other files, so that the two match each other better.
7075         * admin/notes/unicode: lisp/language/ethio-util.el and
7076         lisp/language/ethiopic.el also use utf-8-emacs.
7077         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
7078         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
7079         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
7080         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
7081         * etc/refcards/sk-survival.tex:
7082         Add "coding: utf-8" so that this file is not mishandled in a
7083         Latin-1 or Big-5 locale.
7084         * lisp/international/robin.el, lisp/org/ox-ascii.el:
7085         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
7086         * lisp/language/ethio-util.el: Fix trailer.
7088 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
7090         Fix synchronous invocation of Ispell
7091         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
7092         value to ispell-process-directory before calling ispell-init-process.
7093         Don't call set-process-coding-system if ispell-async-processp is nil.
7094         (Bug#20448)
7096 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
7098         * lisp/emacs-lisp/package.el: Skip space and comments in init file
7099         (package--ensure-init-file): Insert snippet at first
7100         non-whitespace non-comments line.  Respects local-vars at the top
7101         of the file.
7103 2015-04-28  Glenn Morris  <rgm@gnu.org>
7105         * lisp/mail/rmail.el (rmail-copy-headers):
7106         Handle rmail-nonignored-headers being nil.  (Bug#18878)
7108         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
7110         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
7111         Don't get confused by a bzrlib version mismatch warning.
7113 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7115         Change default location of EUDC options file
7116         * NEWS: Document change to EUDC options file's default location.
7117         * lisp/net/eudc-vars.el (eudc-options-file): Use
7118         `locate-user-emacs-file' to change default options file location.
7120 2015-04-27  Glenn Morris  <rgm@gnu.org>
7122         * test/automated/package-test.el (package-test-update-archives-async):
7123         Try to handle the test server script dying.
7125 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7127         * lisp/saveplace.el (save-place-mode): New minor mode.
7128         (save-place): Redefine as an obsolete alias.
7130         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
7131         * lisp/midnight.el: Use lexical-binding.
7132         (midnight-mode): Make it a proper minor mode.
7133         (midnight-buffer-display-time): Make arg non-optional.
7134         (midnight-find): Remove.
7135         (clean-buffer-list-kill-never-regexps)
7136         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
7137         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
7138         contain functions.
7139         (clean-buffer-list): Use cl-find.
7140         Allow clean-buffer-list-kill-never-regexps to contain functions.
7142 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
7144         Bump version of seq.el to 1.5
7145         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
7146           from seq-doseq.  Bump version number of seq.el.
7148 2015-04-27  Glenn Morris  <rgm@gnu.org>
7150         * lisp/mail/rmail.el (rmail-reply):
7151         Decode subject before matching "Re:" prefix.  (Bug#20396)
7153 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
7155         * lisp/emacs-lisp/package.el: Small improvements
7156         (package--with-work-buffer-async): More informative error.
7157         (package-install-user-selected-packages): Rename to
7158         `package-install-selected-packages'.
7160 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7162         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
7163         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
7164         (eieio--class-make): Remove leftover `tag'.
7166 2015-04-27  Glenn Morris  <rgm@gnu.org>
7168         * lisp/gnus/message.el (gnus-extract-address-components):
7169         Remove bogus declaration that was masking previous problem.
7171 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
7173         * lisp/gnus/message.el (message-insert-formatted-citation-line):
7174         Fix typo.  (Bug#20318)
7176 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7178         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
7180         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
7181         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
7182         the buffer in yet another frame.
7183         (reftex-toc-visit-location): Make sure toc-window has focus at the end
7184         when `final' is nil.
7185         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
7186         silence warnings.  Use `--' to clarify that it's internal.
7187         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
7188         (reftex-toc-promote): Clarify unused argument.
7189         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
7190         Add `reftex--' prefix.  Fix all users.
7191         (reftex-toc-promote-prepare): Use _ for dummy variable.
7192         (reftex-toc-restore-region): Rename `m
7194 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
7196         Fix a typo in bibtex.el
7197         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
7198         last change.  (Bug#20429)
7200         Fix redisplay of frame after loading new fonts
7201         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
7202         frame because new fonts were loaded, disable all redisplay
7203         optimizations on that frame by calling SET_FRAME_GARBAGED.
7204         (Bug#20410)
7206 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
7208         * lisp/info.el (Info-menu): Properly provide the `default'
7209         (Bug#20391)
7211         * elisp-mode.el: Catch errors from `documentation'
7212         (Bug#20418)
7213         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
7214         Catch errors from documentation.
7215         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
7217 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
7219         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
7220         Remove redundant ":group 'package".
7222 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
7224         Fix a typo in rmail.el
7225         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
7226         last commit.  (Bug#20429)
7228 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
7230         Introduce xref-prompt-for-identifier
7231         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
7232         (xref--read-identifier): Use it
7233         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
7235 2015-04-26  João Távora  <joaotavora@gmail.com>
7237         `tex-insert-quote' after single `'' opens quotes instead of closing
7238         Without this, it's very hard to precede double quotes with the
7239         apostrophe character, i.e. insert the sequence '``
7240         (quote-backquote-backquote), commonly useful in portuguese, for
7241         instance.
7242         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
7243         chars making `tex-insert-quote' be in the "opening" context.
7245 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
7247         Pass `id' to `completing-read' as def instead of initial input
7248         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
7249         as the default value instead of initial input
7250         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
7252 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
7254         Don't freeze with unreadable processes
7255         Don't freeze if an exiting process can't be read from. (Bug#19860).
7256         This fixes a bug I introduced in
7257         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
7258         "* process.c: Add sanity checks for file descriptors."
7259         Dmitry Gutov did most of the legwork in finding the problem.
7260         * src/process.c (wait_reading_process_output):
7261         Treat non-running processes that can't be read from
7262         the same as other non-running processes.
7264 2015-04-25  Alan Mackenzie  <acm@muc.de>
7266         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
7267         * lisp/subr.el (remove-yank-excluded-properties): put
7268         `with-silent-modifications' around only the last three lines of code.
7270 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
7272         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
7273         (package--all-keywords): Deleted variable.
7275         * etc/NEWS: Document package-hiding functionality
7277 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
7279         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
7281         Clarify the doc string of 'replace-regexp-in-string'
7282         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
7284         Improve doc string of 'insert-buffer-substring'
7285         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
7287         MS-Windows followup for the recent gnulib update
7288         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
7289         acl-internal.c.
7291 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
7293         Spelling fixes
7295         Merge from gnulib
7296         This incorporates:
7297         2015-04-24 file-has-acl: new module, split from acl
7298         2015-04-24 manywarnings: add GCC 5.1 warnings
7299         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
7300         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
7301         2015-04-15 acl: On Linux, check for acls without libacl
7302         2015-04-14 tempname: avoid unused parameter warnings (trivial)
7303         * lib/acl-internal.c: New file, from gnulib.
7304         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
7305         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
7306         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
7307         Update from gnulib.
7309         Port --enable-gcc-warnings to GCC 5.1 x86-64
7310         * lib-src/ebrowse.c (dump_sym):
7311         * lib-src/hexl.c (main):
7312         * src/ccl.c (ccl_driver):
7313         * src/character.c (string_escape_byte8):
7314         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
7315         * src/gnutls.c (Fgnutls_boot):
7316         * src/gtkutil.c (xg_check_special_colors):
7317         * src/image.c (x_build_heuristic_mask):
7318         * src/print.c (safe_debug_print, print_object):
7319         * src/term.c (produce_glyphless_glyph):
7320         * src/xdisp.c (get_next_display_element)
7321         (produce_glyphless_glyph):
7322         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
7323         Don't use a signed format to print an unsigned integer, or vice
7324         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
7325         * src/image.c (png_load_body, jpeg_load_body):
7326         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
7328 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
7330         Add new faces to tsdh-light-theme
7331         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
7332         definitions for Info-quoted, ace-jump-face-foreground,
7333         hl-paren-face, show-paren-match, and show-paren-mismatch.
7335 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
7337         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
7339 2015-04-24  Glenn Morris  <rgm@gnu.org>
7341         * build-aux/gitlog-to-emacslog:
7342         Use raw log format rather than wrapped one.
7344 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
7346         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
7347         (seq-doseq): Fix out-of-scope binding.
7348         Don't call `seq-length at every iteration.
7349         Reduce `if's from 3 to 2 per iteration.
7350         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
7352 2015-04-24  Glenn Morris  <rgm@gnu.org>
7354         * lisp/textmodes/text-mode.el (text-mode-hook):
7355         Move text-mode-hook-identify to default.
7357         * lisp/mouse.el (minor-mode-menu-from-indicator):
7358         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
7360         * lisp/help-fns.el (describe-function): More type checking.
7361         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
7363         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
7364         (Bug#20325)
7366 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
7368         shr: strip leading whitespace when expanding URLs
7369         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
7371 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
7373         Clarify "co-authored" some more
7375         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
7377         Clarify doc strings of functions that search for properties
7378         * src/textprop.c (Fnext_char_property_change)
7379         (Fprevious_char_property_change)
7380         (Fnext_single_char_property_change)
7381         (Fprevious_single_char_property_change, Fnext_property_change)
7382         (Fnext_single_property_change, Fprevious_property_change)
7383         (Fprevious_single_property_change): Clarify doc strings wrt return
7384         value and the optional LIMIT argument.  (Bug#20411)
7386 2015-04-24  Glenn Morris  <rgm@gnu.org>
7388         * test/automated/message-mode-tests.el (message-mode-propertize):
7389         Handle non-writable HOME; eg on hydra.nixos.org.
7391 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
7393         Avoid starting threads by w32-shell-execute
7394         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
7395         local file names, before invoking ShellExecute.  (Bug#20220)
7397 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
7399         Fix following doc-links in `widget-documentation-link-action'
7400         * lisp/wid-edit.el (widget-documentation-link-action): Make
7401         following doc-links less simplistic (Bug#20398).
7403 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7405         Improve EUDC manual
7406         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
7408 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
7410         Omit needless "\ " after multibyte then newline
7411         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
7412         (print_object): When print-escape-multibyte is non-nil and a
7413         multibyte character is followed by a newline or formfeed, followed
7414         by a hex digit, don't output a needless "\ " before the hex digit.
7415         * test/automated/print-tests.el (print-hex-backslash): New test.
7417 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
7419         Add a new `inhibit-message' variable
7420         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
7421         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
7422         `inhibit_message' is non-zero.
7423         * etc/NEWS: Add an entry.
7424         * doc/lispref/display.texi: Add an entry for `inhibit-message',
7425           mention it in `message'.
7427 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7429         Fix last fix in `display-buffer-record-window'.
7430         * lisp/window.el (display-buffer-record-window): Fix last fix.
7432 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
7434         Minor edits in CONTRIBUTE
7435         * CONTRIBUTE: Rearrange instructions about log messages.
7436         Use "Git" capitalized all over.
7437         Use 2 spaces between sentences.
7439 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
7441         * lisp/files.el (basic-save-buffer): Fix argument
7443         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
7444         In case `(and (null custom-file) init-file-had-error)' do the same
7445         thing we'd do if `(null user-init-file)', which is to either error out
7446         or return nil.  This is in line with `custom-save-all' which would
7447         throw an error in that situation. (bug#20355)
7449         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
7450         (package-menu-hide-low-priority): New variable, see its doc.
7451         (package-archive-priorities): Update doc.
7452         (package-desc-priority): New function.
7453         (package-desc-priority-version): Use it.
7454         (package--remove-hidden): New function.
7455         (package-menu--refresh): Use it.
7457         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
7458         (package-menu--hide-obsolete): New variable.
7459         (package--remove-hidden): Use it.
7460         (package-menu-hide-obsolete): New interactive function to toggle
7461         the variable.
7462         (package--quick-help-keys): Document it.
7463         (package-menu-async): Add :version tag.
7464         (package-menu-mode-map): Bind package-menu-hide-obsolete.
7465         (package-desc-status): Indicate non-installed obsolete packages as
7466         avail-obso.
7467         (package-menu-mark-install): Allow installation of avail-obso.
7468         (package-menu--status-predicate): Sort avail-obso with available.
7470 2015-04-22  Alan Mackenzie  <acm@muc.de>
7472         On C-y, stop some text property entries being written into buffer-undo-list
7473         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
7474         `with-silent-modifications'.
7476 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
7478         In display-buffer-record-window record selected window if necessary.
7479         * lisp/window.el (display-buffer-record-window): Store selected window
7480         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
7482 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
7484         Fix reftex-citation bug
7485         * reftex-cite.el (reftex-extract-bib-entries): Fix
7486         `wrong-type-argument stringp nil' error that occurs when AUCTeX
7487         integration is enabled and there are no citations in the document
7488         so far.
7490 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
7492         Add or reset based on the presence of MERGE_HEAD
7493         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
7494         `vc-git-resolve-when-done' to `after-save-hook' in either case.
7495         (vc-git-conflicted-files): Add a TODO.
7496         (vc-git-resolve-when-done): Depending on the presence of
7497         MERGE_HEAD, either update the resolved file in the index, or
7498         remove it from there.  (Bug#20292)
7500 2015-04-21  Glenn Morris  <rgm@gnu.org>
7502         * lisp/custom.el (custom-declare-group): No need to purecopy
7503         custom-current-group-alist members following recent change to set
7504         it to nil before dumping.
7506         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
7507         (Bug#20399)
7509 2015-04-21  Daniel Colascione  <dancol@dancol.org>
7511         Unbreak no-op buffer save message
7512         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
7513         (basic-save-buffer): Accept called-interactively as an argument instead of
7514         directly invoking called-interactively-p, which will always yield nil
7515         in that context.
7517 2015-04-21  Alan Mackenzie  <acm@muc.de>
7519         CC Mode: Do nothing in before/after-change-functions for text property changes
7520         Fixes bug#20266.
7521         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
7522         yank-handled-properties buffer local, and remove 'category from it.
7523         (c-called-from-text-property-change-p): New function.
7524         (c-before-change): Don't do anything if a call of the new function
7525         returns non-nil.
7526         (c-after-change): Don't do much if a call of the new function returns
7527         non-nil.
7528         (c-extend-after-change-region): Put changes to text property 'fontified
7529         inside c-save-buffer-state.
7531 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
7533         Fix byte-compiler warnings about looking-back.
7534         * lisp/vc/log-view.el (log-view-end-of-defun-1):
7535         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
7536         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
7537         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
7538         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
7539         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
7540         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
7541         * lisp/org/org.el (org-insert-heading, org-sort-entries):
7542         * lisp/org/org-mouse.el (org-mouse-end-headline)
7543         (org-mouse-context-menu):
7544         * lisp/org/org-clock.el (org-clock-cancel):
7545         * lisp/man.el (Man-default-man-entry):
7546         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
7547         (rmail-ensure-blank-line):
7548         * lisp/mail/footnote.el (Footnote-delete-footnote):
7549         * lisp/mail/emacsbug.el (report-emacs-bug):
7550         * lisp/info.el (Info-follow-reference, Info-fontify-node):
7551         * lisp/info-look.el (info-lookup-guess-custom-symbol):
7552         * lisp/help-fns.el (help-fns--key-bindings):
7553         * lisp/files.el (hack-local-variables):
7554         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
7555         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
7556         (viper-complete-filename-or-exit):
7557         * lisp/emulation/viper-cmd.el (viper-backward-indent):
7558         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
7559         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
7560         * lisp/cus-edit.el (custom-face-edit-value-create):
7561         * lisp/calendar/todo-mode.el (todo-set-item-priority)
7562         (todo-filter-items-1, todo-convert-legacy-files)
7563         (todo-prefix-overlays): Add explicit second arg to looking-back.
7565 2015-04-20  Glenn Morris  <rgm@gnu.org>
7567         Avoid non-nil current-load-list at startup
7568         * src/process.c (init_process_emacs): Move Fprovide statement...
7569         (syms_of_process): ... to here.
7571         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
7573         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
7575 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
7577         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
7578         (Bug#20330)
7580 2015-04-20  Glenn Morris  <rgm@gnu.org>
7582         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
7584         Tweak exec-path in uninstalled case
7585         * src/callproc.c (init_callproc): If running uninstalled, do not
7586         include eventual installation libexec directory in exec-path.
7588 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
7590         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
7591         (package-menu-filter): Accept a list of keywords.
7592         (package--all-keywords): New variable to cache known keywords.
7593         (package-all-keywords): Populate it if necessary.
7594         (package-refresh-contents): Reset it.
7596         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
7597         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
7598         as special keywords which match agains package archive and status
7599         respectively.
7600         * etc/NEWS: Document it.
7602 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
7604         Describe and index "empty overlays".
7605         * doc/lispref/display.texi (Overlays): Improve indexing.
7606         (Managing Overlays): Describe "empty" overlays.
7607         (Overlay Properties, Finding Overlays): Add cross-reference to
7608         where empty overlays are described.
7610 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7612         Spelling fixes
7614         Quote 'like this' in top-level files
7615         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
7616         Prefer to single-quote 'like this' (instead of the older style
7617         `like this').
7618         * configure.ac: Fix some space-before-tab problems that 'git commit'
7619         complained about.
7621         Use bool for boolean in textprop.c, undo.c
7622         * src/textprop.c (soft, hard): Now constants instead of macros.
7623         (validate_plist): Rewrite to avoid need for boolean local.
7624         (interval_has_all_properties, interval_has_some_properties)
7625         (interval_has_some_properties_list, add_properties)
7626         (remove_properties, get_char_property_and_overlay)
7627         (Fnext_single_char_property_change)
7628         (Fprevious_single_char_property_change, add_text_properties_1)
7629         (Fremove_text_properties, Fremove_list_of_text_properties)
7630         (copy_text_properties):
7631         * src/tparam.c (tparam1):
7632         * src/undo.c (record_change, record_property_change)
7633         (syms_of_undo):
7634         Use 'true' and 'false' for booleans.
7636 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7638         Call `smerge-start-session' even when dealing with a stash conflict
7639         * lisp/vc/vc-git.el (vc-git-find-file-hook):
7640         Call `smerge-start-session' even when dealing with a stash
7641         conflict (bug#20292).
7643 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
7645         Add option to eshell/clear to clear scrollback.
7646         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
7647         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
7648         scrollback contents are cleared.
7649         * etc/NEWS: Describe change.
7650         * doc/misc/eshell.texi: Add entry for `clear'.
7652 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7654         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
7655         where either will do.
7657 2015-04-19  Steve Purcell  <steve@sanityinc.com>
7659         Assume package archive-contents are UTF8-encoded
7660         * lisp/emacs-lisp/package.el (package--read-archive-file):
7661         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
7662         downloaded and cached archive-contents files, so that non-ASCII
7663         characters in package descriptions are displayed correctly in the
7664         `list-packages' menu. (Bug#20231)
7666 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
7668         Abort when looking at stashed changes
7669         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
7670         stashed changes (bug#20292).
7672 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
7674         Refactor low-level printing for simplicity
7675         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
7676         PRINTPREPARE; doable now that we assume C99.  All callers changed.
7677         (PRINTCHAR): Remove, as it adds more mystery than clarity.
7678         All callers changed.
7679         (strout): Assume that caller computes length.  All callers changed.
7680         (print_c_string): New function.
7681         (write_string, write_string_1): Compute length instead of asking
7682         the caller to compute it.  All callers changed.
7683         (write_string): Simplify by using write_string_1.
7684         (write_string_1): Simplify by using print_c_string.
7685         (Fterpri): Compute default val more clearly.
7686         (Fprin1_to_string, print_object):
7687         Assume C99 to avoid unnecessary nesting.
7688         (print_object): Prefer print_c_string to multiple printchar, or
7689         to calling strout with -1 length.  Coalesce into sprintf when
7690         this is easy.
7692 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
7694         Prefer "Bug#1234" in commit messages (Bug#20325)
7695         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
7696         as this isn't useful for Git.
7697         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
7699 2015-04-18  Glenn Morris  <rgm@gnu.org>
7701         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
7702         (Bug#19506)
7704 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
7706         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
7707         (Bug#19505)
7709 2015-04-18  Glenn Morris  <rgm@gnu.org>
7711         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
7713         * doc/emacs/misc.texi (Sorting): Small edit.
7714         (Bug#19896)
7716         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
7718 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
7720         css-mode.el: Support multi-line comment filling
7721         (Bug#20256)
7722         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
7723         comment filling.
7724         (css-adaptive-fill): New function.
7725         (css-mode): Set `adaptive-fill-function'.
7726         (scss-mode): Set `comment-continue'.
7728 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
7730         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
7732 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
7734         Minor improvements in Bulgarian input methods
7735         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
7736         Replace U+042C with U+045D, as the former character is not used in
7737         the modern Bulgarian language.
7738         (Bug#20350)
7740 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7742         Improve EUDC manual
7743         * eudc.texi (LDAP Configuration): Mention simple and SASL
7744         authentication schemes.  Add index items.  Shorten example server
7745         name.
7747 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
7749         Don't show both feature and function with the same name
7750         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7751         Don't show both feature and function with the same name.
7753         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
7754         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
7755         Avoid returning both the variable and the function for the same
7756         minor mode.
7758 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
7760         Fix fontification of keywords clobbered by the prompt.
7761         * lisp/comint.el (comint-output-filter): Remove the uses of
7762         with-silent-modifications I introduced as part of the last change.
7763         This fixes, e.g., erratically missing highlighting when running
7764         ./configure --help; ./configure in a shell-mode buffer with
7765         compilation-shell-minor-mode turned on.
7767 2015-04-17  Glenn Morris  <rgm@gnu.org>
7769         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
7771 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7773         * lisp/indent.el (indent-region): Don't deactivate the mark
7774         (Bug#20357)
7776 2015-04-17  Sam Steingold  <sds@gnu.org>
7778         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
7780 2015-04-16  Leo Liu  <sdl.web@gmail.com>
7782         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
7784 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
7786         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
7788 2015-04-16  Glenn Morris  <rgm@gnu.org>
7790         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
7792 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
7794         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
7795         * configure.ac (LIBJPEG): Leave it empty for MinGW.
7797 2015-04-16  Glenn Morris  <rgm@gnu.org>
7799         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
7800         to avoid rogue setting after startup.
7802 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
7804         Pre-4.6 GCC succeeds with unknown option
7805         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
7806         (Bug#20338)
7808 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7810         '[:graph:]' now excludes whitespace, not just ' '
7811         * doc/lispref/searching.texi (Char Classes):
7812         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
7813         sans whitespace (not sans space).
7814         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
7815         not just space.
7816         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
7818 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7820         (looking-back): Make the second arg non-optional.
7821         * lisp/subr.el (substitute-key-definition-key, special-form-p)
7822         (macrop): Drop deprecated second arg to indirect-function.
7823         (looking-back): Make the second arg non-optional.
7825         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
7826         command is actually sent to the shell.
7828 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7830         Port jpeg configuration to Solaris 10 with Sun C
7831         * configure.ac: Check for jpeglib 6b by trying to link it, instead
7832         of relying on cpp magic that has problems in practice.  Check for
7833         both jpeglib.h and jerror.h features.  Remove special case for
7834         mingw32, which should no longer be needed (and if it were needed,
7835         should now be addressable by hotwiring emacs_cv_jpeglib).
7836         (Bug#20332)
7838 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7840         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
7841         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
7842         Move to elisp-mode.el.
7843         (lisp-mode-variables): (Re)move elisp-specific settings.
7844         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
7845         from lisp-mode-variables.
7846         (elisp--font-lock-flush-elisp-buffers): New function, moved from
7847         lisp-mode.el.
7849         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
7850         Avoid pathological slowdown at top-level in large file.
7852 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7854         Standardize names of ChangeLog history files
7855         Suggested by Glenn Morris in:
7856         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7857         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
7858         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
7859         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
7860         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
7861         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
7862         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
7863         Remove.
7865         Split top-level entries into pre- and post-April 7
7866         This more clearly distingiushes pre-April-7 ChangeLog entries (which
7867         are for top-level files only) from post-April-7 entries (which are
7868         about files at all levels.  Problem reported by Glenn Morris in:
7869         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
7870         * ChangeLog.1: Move post-April-7 entries from here ...
7871         * ChangeLog.2: ... to this new file.
7872         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
7874 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7876         Fix recent cus-start changes that added customize-rogues
7877         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
7878         vars early.
7879         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
7881 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
7883         Define cl-concatenate as an alias to seq-concatenate
7884         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
7885           code by making cl-concatenate an alias to seq-concatenate.
7887 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
7889         * src/lread.c (intern_1): Make sure we'd find the symbol we add
7890         (Bug#20334)
7891         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
7893 2015-04-15  Glenn Morris  <rgm@gnu.org>
7895         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
7897 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
7899         Clean up gnus-uu saving code slightly
7900         * gnus-uu.el (gnus-uu-save-article): Make the
7901         save-restriction/widen calls make more sense.
7903 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
7905         Make [:graph:] act like [:print:] sans space
7906         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
7907         [:graph:] so that it matches everything that [:print:] does,
7908         except for space.
7909         * doc/lispref/searching.texi (Char Classes):
7910         * etc/NEWS:
7911         * lisp/emacs-lisp/rx.el (rx):
7912         Document [:graph:] to be [:print:] sans ' '.
7913         * src/character.c, src/character.h (graphicp): New function.
7914         * src/regex.c (ISGRAPH) [emacs]: Use it.
7915         (BIT_GRAPH): New macro.
7916         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
7917         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
7918         Return BIT_GRAPH for RECC_GRAPH.
7919         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
7920         and ISPRINT if BIT_PRINT.
7922 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7924         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
7925         Don't use call-next-method in a cl-defmethod.
7927         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
7928         (eieio--class-p): Remove, provided by cl-defstruct.
7930 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
7932         Add seq-intersection and seq-difference to the seq library
7933         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
7934         functions.
7935         * test/automated/seq-tests.el: Add tests for seq-intersection and
7936         seq-difference.
7937         * doc/lispref/sequences.texi: Add documentation for seq-intersection
7938         and seq-difference.
7940 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
7942         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
7944 2015-04-14  Sam Steingold  <sds@gnu.org>
7946         package--ensure-init-file: widen requires save-restriction
7948 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
7950         Improve the commit-msg Git hook for unibyte environments
7951         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
7952         in unibyte environments.  (Suggested by Paul Eggert
7953         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
7954         [:print:], based on UTF-8 sequences of the unprintable characters.
7956         Describe problems with cursor caused by Windows Magnifier
7957         * etc/PROBLEMS: Describe the problem with cursor shape on
7958         MS-Windows due to Windows Magnifier.
7959         (Bug#20271)
7961         Make [:print:] support non-ASCII characters correctly
7962         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
7963         (BIT_PRINT): New bit mask.
7964         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
7965         * src/character.c (printablep): New function.
7966         * src/character.h (printablep): Add prototype.
7967         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
7968         of 'print', 'alnum', and 'alphabetic'.
7969         * doc/lispref/searching.texi (Char Classes): Document the new
7970         behavior of [:print:].
7971         * etc/NEWS: Mention the new behavior of [:print:].
7973         Assign correct general-category and names to surrogates
7974         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
7975         surrogates.  This avoids assigning them the default
7976         general-category of 'Cn', i.e. unassigned codepoints.
7977         (unidata-get-name): Give surrogates synthetic names.
7979 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
7981         Assume C89 offsetof in xterm.c, xlwmenu.c
7982         * lwlib/xlwmenu.c (offset):
7983         * src/xterm.c (cvt_string_to_pixel_args):
7984         Use offsetof, not XtOffset.
7986 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7988         Assume C89 offsetof in widget.c
7989         * src/widget.c (XtOffset): Remove; no longer needed.
7990         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
7992         Fix think-o in previous patch
7993         * src/window.c (count_windows, get_leaf_windows):
7994         Don't optimize count_windows incorrectly.
7996 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7998         Avoid some int overflows in window.c
7999         * src/print.c (print_object):
8000         * src/window.c (sequence_number):
8001         * src/window.h (struct window.sequence_number):
8002         Don't assume window sequence number fits in int.
8003         * src/window.c (window_select_count):
8004         * src/window.h (struct window.use_time, window_select_count):
8005         Don't assume window use time fits in int.
8006         * src/window.c (Fsplit_window_internal):
8007         Don't assume user-supplied integer, or sum, fits in int.
8008         (Fset_window_configuration, count_windows, get_leaf_windows)
8009         (save_window_save, Fcurrent_window_configuration):
8010         Use ptrdiff_t for object counts.
8011         (Fset_window_configuration): Omit unused local 'n'.
8012         (count_windows): Simplify by writing in terms of get_leaf_windows.
8013         (get_leaf_windows): Don't store through FLAT if it's null.
8014         (extract_dimension): New static function.
8015         (set_window_margins, set_window_fringes, set_window_scroll_bars):
8016         Use it to avoid undefined behavior when converting user-supplied
8017         integer to 'int'.
8019 2015-04-13  Glenn Morris  <rgm@gnu.org>
8021         Minor doc copyedits
8022         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
8023         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
8025 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8027         [Gnus] Catch the invalid-operation that idna.el will issue
8028         * lisp/gnus/gnus-art.el (gnus-use-idna):
8029         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
8030         * lisp/gnus/message.el (message-use-idna):
8031         Catch the invalid-operation that idna.el will issue.
8033 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
8035         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
8037 2015-04-13  Sam Steingold  <sds@gnu.org>
8039         package--ensure-init-file: widen before looking for "(package-initialize)"
8041 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
8043         Change diff-switches default to `-u'
8044         (Bug#20290)
8045         * doc/emacs/files.texi (Comparing Files): Document the new default
8046         value of `diff-switches'.
8047         * doc/emacs/trouble.texi (Sending Patches): Document the preference
8048         for unified diff format.  Escape the plus in the suggested `-F' regexp
8049         value.
8050         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
8052 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8054         (gnus-group--setup-tool-bar-update): Fix last change
8055         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
8056         cursor-sensor-functions should be a list of functions.
8058 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8060         Use gmm-called-interactively-p in Gnus
8061         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
8063 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8065         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
8066         (Bug#20321)
8067         * lisp/cus-start.el (read-buffer-function): Don't advertize
8068         iswitchb-read-buffer any more.
8069         (iswitchb): Don't tweak this obsolete group any more.
8071 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
8073         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
8075         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
8076         Adding a string after a constructor's argument list will use
8077         that string as the constructor function docstring.  If this string
8078         is absent but the struct itself was given a docstring, use that as
8079         the constructor's docstring.
8080         Fixes (bug#17284).
8082 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8084         Deprecate `intangible' and `point-entered' properties
8085         * lisp/emacs-lisp/cursor-sensor.el: New file.
8086         * lisp/simple.el (pre-redisplay-functions): New hook.
8087         (redisplay--pre-redisplay-functions): New function.
8088         (pre-redisplay-function): Use it.
8089         (minibuffer-avoid-prompt): Mark obsolete.
8090         (redisplay--update-region-highlight): Adapt it to work as a function on
8091         pre-redisplay-functions.
8092         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
8093         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
8094         than point-entered to make the prompt intangible.
8095         * lisp/forms.el: Move `provide' calls to the end.
8096         (forms-mode): Don't use `run-hooks' on a local var.
8097         (forms--make-format, forms--make-format-elt-using-text-properties):
8098         Use cursor-intangible rather than `intangible'.
8099         (forms-mode): Enable cursor-intangible-mode.
8100         * lisp/isearch.el (isearch-mode): Use defvar-local.
8101         (cursor-sensor-inhibit): Declare.
8102         (isearch-mode): Set cursor-sensor-inhibit.
8103         (isearch-done): Set it back.
8104         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
8105         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
8106         any more.
8107         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
8108         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
8109         Add Edebug spec.
8110         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
8111         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
8112         inhibit-point-motion-hooks any more.
8113         (ses--cell-at-pos, ses--curcell): New functions, extracted from
8114         ses-set-curcell.
8115         (ses-set-curcell): Use them.
8116         (ses-print-cell, ses-setup): Use cursor-intangible instead of
8117         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
8118         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
8119         Use ses--cell-at-pos.
8120         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
8121         extracted from ses-command-hook.  Make them work with multiple windows
8122         displaying the same buffer.
8123         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
8124         Enable cursor-intangible-mode.
8125         (ses-command-hook): Remove cell highlight and mode-line update code.
8126         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
8127         Update for new name of text-property holding the cell name.
8128         (ses-rename-cell): Don't mess with mode-line-process.
8129         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
8130         cursor-sensor-functions property instead of point-entered.
8131         (erc-insert-timestamp-right, erc-format-timestamp):
8132         Use cursor-intangible rather than `intangible'.
8133         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
8134         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
8135         cursor-sensor-mode if needed.
8136         (erc-echo-timestamp): Adapt to calling convention of
8137         cursor-sensor-functions.
8138         (erc-insert-timestamp-right): Remove unused vars `current-window' and
8139         `indent'.
8140         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
8141         (gnus-update-group-mark-positions): Remove unused `topic' var.
8142         (gnus-group-insert-group-line): Remove unused var `header'.
8143         (gnus-group--setup-tool-bar-update): New function.
8144         (gnus-group-insert-group-line): Use it.
8145         (gnus-group-update-eval-form): Declare local
8146         dynamically-bound variables.
8147         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
8148         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
8149         (gnus-group-prepare-topics, gnus-topic-update-topic)
8150         (gnus-topic-change-level, gnus-topic-catchup-articles)
8151         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
8152         Use inhibit-read-only.
8153         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
8154         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
8155         * lisp/textmodes/reftex-index.el (reftex-display-index):
8156         Use cursor-intangible-mode if available.
8157         (reftex-index-post-command-hook): Check cursor-intangible.
8158         * lisp/textmodes/reftex-toc.el (reftex-toc):
8159         Use cursor-intangible-mode if available.
8160         (reftex-toc-recenter, reftex-toc-post-command-hook):
8161         Check cursor-intangible.
8162         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
8163         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
8164         (sgml-tags-invisible): Use with-silent-modifications and
8165         inhibit-read-only.  Enable cursor-sensor-mode.
8166         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
8167         calling convention of cursor-sensor-functions.
8168         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
8169         (table-point-entered-cell-hook, table-point-left-cell-hook):
8170         Don't autoload.
8171         (table-cell-entered-state): Remove var.
8172         (table--put-cell-point-entered/left-property)
8173         (table--remove-cell-properties):
8174         Use cursor-sensor-functions rather than point-entered/left.
8175         (table--point-entered/left-cell-function): Merge
8176         table--point-entered-cell-function and table--point-left-cell-function
8177         and adjust to calling convention of cursor-sensor-functions.
8179         Update ldef-boots.el
8181         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
8183         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
8185         Collapse successive char deletions in the undo log
8186         * src/cmds.c (remove_excessive_undo_boundaries): New function,
8187         extracted from Fself_insert_command.
8188         (Fdelete_char, Fself_insert_command): Use it.
8189         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
8190         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
8192         xterm and OSC 52: Add NEWS entry, and tweak the code
8193         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
8194         top-level.
8195         (terminal-init-xterm-activate-set-selection): Set a terminal property.
8196         (xterm--set-selection): Use it instead of checking the value of
8197         `terminal-initted'.  Don't use string-bytes.
8199 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
8201         xterm.el: Implement OSC-52 functionality for setting the X selection
8202         * lisp/term/xterm.el (xterm-max-cut-length): New var.
8203         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
8204         (terminal-init-xterm, xterm--version-handler): Use them.
8206 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8208         Remove left over code from when we used an obsolete/loaddefs.el file
8209         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
8210         we used an obsolete/loaddefs.el file.
8212         * cedet/semantic/fw.el: Use declare.
8213         * cedet/semantic/fw.el (semantic-exit-on-input)
8214         (semanticdb-without-unloaded-file-searches): Use declare.
8215         (semantic-fw-add-edebug-spec): Remove.
8217         (completion-lisp-mode-hook): Use completion-separator-chars
8218         * lisp/completion.el (completion-lisp-mode-hook):
8219         Use completion-separator-chars rather than local key binding.
8221         * src/*.c: Set deactivate_mark buffer-locally
8222         (Bug#20260)
8223         * src/insdel.c (prepare_to_modify_buffer_1):
8224         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
8225         buffer-locally.
8227 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8229         python.el: Keep symmetry on sexp navigation with parens
8230         (Bug#19954)
8231         * lisp/progmodes/python.el
8232         (python-nav--forward-sexp): Add argument skip-parens-p.
8233         (python-nav-forward-sexp, python-nav-backward-sexp)
8234         (python-nav-forward-sexp-safe)
8235         (python-nav-backward-sexp-safe): Use it.
8236         * test/automated/python-tests.el
8237         (python-nav-forward-sexp-1): Fix test.
8239 2015-04-12  João Távora  <joaotavora@gmail.com>
8241         Don't use `setq-local' in Gnus code
8242         This might break upstream builds with older Emacsen
8243         * lisp/gnus/message.el (message-mode): Use `set' and
8244         `make-local-variable' instead of `setq-local'.
8246 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
8248         Update Makefile.in's .PHONY dependencies
8249         * Makefile.in (change-history-commit, master-branch-is-current)
8250         (no-ChangeLog): Now phony.
8252         Remove configure's --with-mmdf option
8253         * configure.ac (MAIL_USE_MMDF): Remove.
8254         * etc/NEWS: Document this.
8255         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
8256         (Bug#20308)
8258         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
8259         That way, 'make install' won't think it's a man page.
8260         Reported by Ashish SHUKLA in:
8261         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
8263         Improve 'make change-history' prereq tests
8264         * Makefile.in (gen_origin): Fix to match what's in the master branch.
8265         (no-ChangeLog, master-branch-is-current): New rules.
8266         (change-history): Depend on them, to avoid similar future problems.
8267         Escape the local-variables string to pacify Emacs when editing
8268         Makefile.in.
8270 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8272         * test/automated/package-test.el (with-package-test): Kill Packages buffer
8274         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
8275         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
8276         "Upgrade" last, and use capitalized instead of all-caps.
8278         * lisp/emacs-lisp/package.el: Completely silence async operations
8279         (package--make-autoloads-and-stuff): Silence autoloads.
8280         (package--save-selected-packages): New function, silences
8281         `customize-save-variable'.
8282         (package--user-selected-p, package-install-from-buffer)
8283         (package-delete, package-install): Use it.
8284         (package-install-from-archive)
8285         (package-menu--perform-transaction): Silence.
8286         (package-menu-execute): Feedback when operation starts.
8288         Use delay-mode-hooks when visiting the init-file
8289         * lisp/emacs-lisp/package.el (package--ensure-init-file):
8290         delay-mode-hooks
8291         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
8293         * lisp/files.el: Only message when saving if save-silently is nil
8294         (save-silently): New variable.
8295         (files--message): New function.
8296         (find-file-noselect, save-buffer, basic-save-buffer)
8297         (basic-save-buffer-2, save-some-buffers, not-modified)
8298         (append-to-file): Use them.
8300 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
8302         Support debug declarations in pcase macros
8303         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
8304         (pcase-UPAT): Use it.  Remove "`".
8305         (pcase--edebug-match-macro): New function.
8306         (pcase-defmacro): Support debug declarations.
8307         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
8308         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
8309         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
8311         pcase.el: Edebug support for `app' and vector patterns
8312         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
8313         (pcase-UPAT): Use it. Support `app' patterns.
8314         (pcase-QPAT): Support vector patterns.
8316         edebug.el: Disambiguate vector specifications
8317         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
8318         `(vector ...)' as a vector specification, not as a sublist.
8320         (gnus-summary-refer-thread): Don't clobber unread articles
8321         This fixes a bug where `A T' causes "random" articles to become marked
8322         as read.
8323         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
8324         gnus-newsgroup-unreads remains sorted.
8326         mouse-sel.el: Fix mouse-sel-get-selection-function
8327         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
8328         Use gui--last-selected-text-primary instead of no longer existing
8329         gui-last-selected-text.
8331         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
8333         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
8335 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8337         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
8339         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
8341         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
8342         (byte-compile--interactive): New var.
8343         (byte-compile--message): New function.
8344         (byte-compile-log-1, byte-force-recompile)
8345         (byte-recompile-directory, byte-recompile-file)
8346         (byte-compile-file, compile-defun)
8347         (byte-compile-file-form-defmumble, byte-compile)
8348         (byte-compile-file-form-defalias, display-call-tree): Use it.
8350         * lisp/files.el: Don't message when nothing happened
8351         (save-some-buffers, basic-save-buffer): Before messaging to say
8352         "nothing was saved" check if (called-interactively-p 'any).
8354 2015-04-12  João Távora  <joaotavora@gmail.com>
8356         Summary: Improve sexp-based movement in message-mode
8357         Works by giving citations and smileys a different syntax.  This helps
8358         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
8359         sexp-based movement.
8360         * lisp/gnus/message.el (message--syntax-propertize): New function.
8361         (message-mode): Set syntax-related vars.
8362         (message-smileys): New variable.
8363         * test/automated/message-mode-tests.el: New file
8365 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8367         Use bool for boolean in window.c
8368         * src/window.c: Omit unnecessary static function decls.
8369         (adjust_window_count, select_window, Fselect_window)
8370         (window_body_width, Fwindow_body_height, Fwindow_body_width)
8371         (set_window_hscroll, check_window_containing, Fwindow_at)
8372         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
8373         (unshow_buffer, replace_window, recombine_windows)
8374         (add_window_to_list, candidate_window_p, next_window)
8375         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
8376         (Fget_buffer_window, Fdelete_other_windows_internal)
8377         (replace_buffer_in_windows_safely, set_window_buffer)
8378         (Fset_window_buffer, Fforce_window_update)
8379         (temp_output_buffer_show, make_parent_window)
8380         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
8381         (resize_frame_windows, Fsplit_window_internal)
8382         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
8383         (Fresize_mini_window_internal, mark_window_cursors_off)
8384         (window_scroll, window_scroll_pixel_based)
8385         (window_scroll_line_based, scroll_command, Fscroll_other_window)
8386         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
8387         (Fmove_to_window_line, Fset_window_configuration)
8388         (delete_all_child_windows, apply_window_adjustment)
8389         (set_window_fringes, set_window_scroll_bars)
8390         (Fset_window_vscroll, foreach_window, foreach_window_1)
8391         (compare_window_configurations, Fcompare_window_configurations):
8392         Prefer 'bool', 'true', and 'false' for booleans.
8393         * src/window.h (WINDOW_MODE_LINE_LINES)
8394         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
8396 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
8398         Speed up byte-compilation and autoload generation by avoiding mode-hooks
8399         This prevents emacs-lisp-mode-hook from being run everytime an
8400         autoload file is generated, which can account for a fraction of
8401         package installation time depending on the hooks the user has
8402         configured.
8403         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
8404         * lisp/emacs-lisp/autoload.el (autoload-find-file)
8405         (autoload-find-generated-file): Use delay-mode-hooks.
8407         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
8408         (package-menu-refresh): Respect async and do new package checking.
8409         (list-packages): Use `package-menu-refresh' instead of repeating code.
8411         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
8412         (package--quick-help-keys): New variable.
8413         (package--prettify-quick-help-key): New function.
8414         (package-menu-quick-help): Use it.
8416         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
8417         (package--build-compatibility-table): require finder
8419         * test/automated/package-test.el: Fix new test
8421         * lisp/emacs-lisp/package.el: Silence async operations
8422         (package--silence): New variable.
8423         (package--message): New function.
8424         (package-import-keyring, package-refresh-contents)
8425         (package-compute-transaction, package-install, package-delete)
8426         (package-menu--perform-transaction, package-menu-execute): Use it.
8428         * test/automated/package-test.el: Test async functionality
8429         (package-test-update-archives-async): New test
8431 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8433         Utilize `make-process' in epg.el
8434         * lisp/epg.el (epg-error-output): Abolish.
8435         (epg-context): New slot `error-buffer'.
8436         (epg--start): Use `make-process' and `make-pipe-process'.
8437         (epg--process-filter): Remove code separating stderr from stdout.
8438         (epg-wait-for-completion): Simplify `error-output' handling.
8439         (epg-reset): Dispose error buffer.
8441 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8443         * .gitignore: Ignore doc temps and outputs.
8445         Port commit-msg to MSYS Bash+Gawk
8446         See Eli Zaretskii in:
8447         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
8448         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
8449         (cent_sign, print_at_sign, at_sign): Revert previous change.
8450         (print_at_sign): Prepend "BEGIN".
8451         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
8453         Port commit-msg to broken MS-Windows shell
8454         * build-aux/git-hooks/commit-msg (cent_sign):
8455         Just use UTF-8 here rather than ASCII + printf, as the latter fails
8456         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
8457         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
8459 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
8461         Support GnuTLS v3.4 and later on MS-Windows
8462         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
8463         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
8464         GnuTLS DLL to load according to value of libgnutls-version.
8465         (Bug#20294)
8467 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
8469         Minor quoting etc. fixes to misc manuals
8470         Fix some minor quoting and spacing issues.  Distinguish more
8471         clearly among grave accent and apostrophe (which are ASCII) and
8472         single quote (which is not).  Prefer the standard terms
8473         "apostrophe" and "grave accent" to alternative names that can be
8474         confusing.  Use apostrophes to single-quote ASCII text.
8475         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
8476         rather than approximating it in ASCII with grave accent.
8478 2015-04-11  Daiki Ueno  <ueno@gnu.org>
8480         Respect more keyword args in `make-process'
8481         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
8482         keywords as documented.
8484 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
8486         Extract ChangeLog entries when committing a directory
8487         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
8488         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
8489         Add a FIXME comment.
8490         (log-edit-changelog-entries): Extract from
8491         `log-edit-changelog-entries', handle FILE being a directory
8492         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
8494 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8496         Fix problems found by --enable-gcc-warnings
8497         * src/process.c (create_process, Fmake_pipe_process)
8498         (Fmake_network_process): Omit unused locals.
8500         Fix commit-msg to handle scissors lines
8501         * build-aux/git-hooks/commit-msg:
8502         Ignore every line after a scissors line, such as a line generated
8503         by 'git commit -v'.  Problem reported by Johan Bockgård in:
8504         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
8506         port commit-msg to Gawk 3.0.4 (1999)
8507         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
8508         (print_at_sign, at_sign): New vars.  Use them to avoid problems
8509         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
8510         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8512         Have commit-msg report commit failure
8513         * build-aux/git-hooks/commit-msg: If the commit is aborted,
8514         say so.  Simplify by doing this at the end.  Problem reported
8515         by Eli Zaretskii in:
8516         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
8518 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
8520         Clean up LDAP Configuration section of EUDC manual
8521         * doc/misc/eudc.texi: Combine indices.
8522         (LDAP Configuration): Use command markup.  Add index entries.
8523         Change formatting.  Wrap long lines.  Add noindent markup.
8525 2015-04-10  Daiki Ueno  <ueno@gnu.org>
8527         Add facility to collect stderr of async subprocess
8528         * src/w32.h (register_aux_fd): New function declaration.
8529         * src/w32.c (register_aux_fd): New function.
8530         * src/process.h (struct Lisp_Process): New member stderrproc.
8531         * src/process.c (PIPECONN_P): New macro.
8532         (PIPECONN1_P): New macro.
8533         (Fdelete_process, Fprocess_status, Fset_process_buffer)
8534         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
8535         (Fcontinue_process): Handle pipe process specially.
8536         (create_process): Respect p->stderrproc.
8537         (Fmake_pipe_process): New function.
8538         (Fmake_process): Add new keyword argument :stderr.
8539         (wait_reading_process_output): Specially handle a pipe process when
8540         it gets an EOF.
8541         (syms_of_process): Register Qpipe and Smake_pipe_process.
8542         * doc/lispref/processes.texi (Asynchronous Processes): Document
8543         `make-pipe-process' and `:stderr' keyword of `make-process'.
8544         * lisp/subr.el (start-process): Suggest to use `make-process' handle
8545         standard error separately.
8546         * test/automated/process-tests.el (process-test-stderr-buffer)
8547         (process-test-stderr-filter): New tests.
8548         * etc/NEWS: Mention new process type `pipe' and its usage with the
8549         `:stderr' keyword of `make-process'.
8551 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
8553         Minor quoting etc. fixes to lispref manual
8554         * doc/lispref/tips.texi (Documentation Tips):
8555         Distinguish more clearly among grave accent, apostrophe,
8556         and single quote.
8557         * doc/lispref/README, doc/lispref/buffers.texi:
8558         * doc/lispref/commands.texi, doc/lispref/control.texi:
8559         * doc/lispref/customize.texi, doc/lispref/display.texi:
8560         * doc/lispref/elisp.texi, doc/lispref/files.texi:
8561         * doc/lispref/frames.texi, doc/lispref/hash.texi:
8562         * doc/lispref/help.texi, doc/lispref/internals.texi:
8563         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
8564         * doc/lispref/markers.texi, doc/lispref/modes.texi:
8565         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
8566         * doc/lispref/os.texi, doc/lispref/positions.texi:
8567         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
8568         * doc/lispref/text.texi, doc/lispref/tips.texi:
8569         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
8570         Use American-style double quoting in ordinary text,
8571         and quote 'like this' when single-quoting in ASCII text.
8572         Also, fix some minor spacing issues.
8574 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
8576         Handle symlinked test directory in tramp-tests.el
8577         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
8578         (tramp--test-check-files): Use `file-truename' for directories.
8580 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
8582         Fix 'recenter' when visual-line-mode is turned on
8583         * src/window.c (Frecenter): Use the same code for GUI and TTY
8584         frames alike; use vmotion only for "initial" frames.  This is
8585         because vmotion doesn't support visual-line-mode.  Rewrite the
8586         'iarg >= 0' case to use move_it_* functions instead of using
8587         vmotion, for the same reason.  Fix the clipping of the argument
8588         value to support scroll-margin in all cases and avoid unwarranted
8589         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
8590         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
8591         which see.
8593 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8595         * abbrev.el (define-abbrev-table): Refine last change.
8597         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
8598         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
8599         use of c[ad]+r", so as to keep the "cl-" prefix on all
8600         cl-lib definitions.
8602         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
8604         * lisp/cedet/semantic: Remove some dead code
8605         * lisp/cedet/semantic/util-modes.el
8606         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
8607         any more.
8608         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
8609         not supported any more.
8610         (semantic-safe): Use `declare'.
8611         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
8612         (semantic-tag-intangible-p): Remove unused functions.
8613         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
8614         Remove unused function.
8616         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
8617         (gnus-article-hide-text, gnus-article-unhide-text)
8618         (gnus-article-unhide-text-type): Remove special handling of
8619         `intangible' since that property is not used any more.
8620         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
8622 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8624         Use the VC root in `log-edit-listfun'
8625         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
8626         `log-edit-listfun'.
8628 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
8630         Fix description of Unix time, mention new function.
8631         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
8632         Unix time.
8633         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
8634         (Basic Operations on Units): Mention `calc-convert-exact-units'.
8636 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
8638         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
8640 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
8642         (log-edit-insert-changelog-entries): Don't add newline after the last entry
8643         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
8644         Don't add newline after the last entry.
8646 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
8648         css-mode.el: Add "not" pseudo-class
8649         (Bug#20267)
8650         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
8651         list of CSS pseudo-classes.
8653 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8655         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
8657 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
8659         Stop messing with the EMACS env var
8660         * misc.texi (Interactive Shell): Remove description of EMACS env var.
8662 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8664         Adapt 'make change-history' to coding cookie
8665         * Makefile.in (change-history): Adjust to change of format of
8666         ChangeLog file, which now has a coding cookie before an indented
8667         copyright notice.
8669 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
8671         Adapt 'make change-history' to coding cookie
8672         * Makefile.in (change-history): Adjust to change of format of
8673         ChangeLog file, which now has a coding cookie before an indented
8674         copyright notice.
8676         gitlog-to-changelog coding cookie and mv -i
8677         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
8678         for copyright notice prototype, so that we get a proper "coding:"
8679         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
8680         existing ChangeLog.  Problems reported by Eli Zaretskii in:
8681         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
8683         Merge from gnulib
8684         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
8685         2015-04-09 gitlog-to-changelog: port to MS-Windows
8687 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
8689         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
8690         (Bug#20212)
8692 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
8694         Stop messing with the EMACS env var
8695         (Bug#20202)
8696         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
8697         * lisp/comint.el (comint-exec-1):
8698         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
8699         * lisp/progmodes/compile.el (compilation-start): Same and bring
8700         INSIDE_EMACS's format in line with other users.
8702         css-mode.el (css-smie-rules): Fix indentation after complex selectors
8703         (Bug#20282)
8704         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
8705         inner structure of selectors.
8707 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8709         python.el: Indent docstring lines to base-indent
8710         (Bug#19595)
8711         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
8712         an initial patch.
8713         * lisp/progmodes/python.el
8714         (python-indent-context): Add :inside-docstring context.
8715         (python-indent--calculate-indentation): Handle :inside-docstring.
8716         (python-indent-region): Re-indent docstrings.
8717         * test/automated/python-tests.el (python-indent-region-5)
8718         (python-indent-inside-string-2): Fix tests.
8720         python.el: Increase native completion robustness
8721         (Bug#19755)
8722         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
8723         this and providing useful ideas.
8724         * lisp/progmodes/python.el
8725         (python-shell-completion-native-output-timeout): Increase value.
8726         (python-shell-completion-native-try-output-timeout): New var.
8727         (python-shell-completion-native-try): Use it.
8728         (python-shell-completion-native-setup): New readline setup avoids
8729         polluting current context, ensures output when no-completions are
8730         available and includes output end marker.
8731         (python-shell-completion-native-get-completions): Trigger with one
8732         tab only.  Call accept-process-output until output end is found or
8733         python-shell-completion-native-output-timeout is exceeded.
8735 2015-04-08  Samer Masterson  <samer@samertm.com>
8737         * lisp/eshell: Make backslash a no-op in front of normal chars
8738         (Bug#8531)
8739         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
8740         (eshell-parse-backslash): Return escaped character after backslash
8741         if it is special.  Otherwise, if the backslash is not in a quoted
8742         string, ignore the backslash and return the character after; if
8743         the backslash is in a quoted string, return the backslash and the
8744         character after.
8745         * test/automated/eshell.el (eshell-test/escape-nonspecial)
8746         (eshell-test/escape-nonspecial-unicode)
8747         (eshell-test/escape-nonspecial-quoted)
8748         (eshell-test/escape-special-quoted): Add tests for new
8749         `eshell-parse-backslash' behavior.
8751 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
8753         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
8754         after the file name.
8755         (Bug#20276)
8757 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8759         Minor quoting etc. fixes to Emacs manual
8760         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
8761         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
8762         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
8763         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
8764         * doc/emacs/indent.texi, doc/emacs/macos.texi:
8765         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
8766         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
8767         * doc/emacs/search.texi, doc/emacs/trouble.texi:
8768         * doc/emacs/vc1-xtra.texi:
8769         Use American-style double quoting in ordinary text,
8770         and quote 'like this' when single-quoting in ASCII text.
8771         Also, fix some minor spacing issues.
8773         Minor quoting etc. fixes to elisp intro
8774         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
8775         American-style double quoting in ordinary text.  In ASCII text,
8776         consistently quote 'like this' instead of `like this', unless
8777         Emacs requires the latter.
8779 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
8781         * CONTRIBUTE: Mention log-edit-insert-changelog.
8783         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
8785 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
8787         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
8789 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8791         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
8792         (Bug#20270)
8793         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
8794         Fix inheritance of initargs.
8796 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
8798         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
8799         while dowloading information.
8801         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
8802         (package--ensure-init-file): Check file contents before visiting.
8803         (package-initialize): Call it.
8804         (package-install-from-buffer, package-install): Don't call it.
8806 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
8808         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
8809         (Bug#17517)
8811 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
8813         Fix nasty scoping bug in tramp-cache.el
8814         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
8816 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
8818         Add notice to visual commands section
8819         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
8820         such as git call less with its -F option which omits pagination if
8821         the contents is less than one page long.  This interferes with
8822         eshell's visual (sub-)commands.
8824 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
8826         ffap: Support environment variable expansion in file names
8827         (Bug#19839)
8828         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
8829         environment variable expansion in file names.
8831 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8833         Prefer double-quote to accent-grave in man pages
8835 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8837         (Bug#20257)
8838         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
8840 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
8842         Update etc/PROBLEMS.
8843         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
8844         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
8845         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
8846         respectively); other minor updates and tweaks.  (Bug#20011)
8848 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8850         Add doc strings for some Isearch state vars
8851         * lisp/misearch.el (multi-isearch-buffer-list)
8852         (multi-isearch-file-list): Add doc strings.
8853         (Bug#20232)
8855 2015-04-07  Alan Mackenzie  <acm@muc.de>
8857         Always mark "<" and ">" in #include directives with text properties.
8858         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
8859         matcher" with an invocation of c-make-font-lock-search-function to allow
8860         fontification when there's no trailing space on an "#include <..>" line.
8862 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
8864         Generate a ChangeLog file from commit logs
8865         * .gitignore: Add 'ChangeLog'.
8866         * build-aux/gitlog-to-changelog: New file, from Gnulib.
8867         * build-aux/gitlog-to-emacslog: New file.
8868         * CONTRIBUTE: Document the revised workflow.
8869         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
8870         instead of just special cases.
8871         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
8872         (ChangeLog, unchanged-history-files, change-history)
8873         (change-history-commit): New rules.
8874         * admin/admin.el (make-manuals-dist--1):
8875         Don't worry about doc/ChangeLog.
8876         * admin/authors.el: Add a FIXME.
8877         * admin/make-tarball.txt:
8878         * lisp/calendar/icalendar.el:
8879         * lisp/gnus/deuglify.el:
8880         * lisp/obsolete/gulp.el:
8881         * lwlib/README:
8882         Adjust to renamed ChangeLog history files.
8883         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
8884         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
8885         Remove obsolete discussion of merging ChangeLog files.
8886         New section "Maintaining ChangeLog history".
8887         * build-aux/git-hooks/pre-commit:
8888         Reject attempts to commit files named 'ChangeLog'.
8889         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
8890         * make-dist: Make and distribute top-level ChangeLog if there's a
8891         .git directory.  Distribute the new ChangeLog history files
8892         instead of scattered ChangeLog files.  Distribute the new files
8893         gitlog-to-changelog and gitlog-to-emacslog.
8894         (Bug#19113)
8896         Rename ChangeLogs for gitlog-to-changelog
8897         This patch was implemented via the following shell commands:
8898         find * -name ChangeLog |
8899         sed 's,.*,git mv & &.1,
8900         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
8901         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
8902         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
8903         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
8904         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
8905         sh
8906         git commit -am"[this commit message]"
8908 This file records repository revisions from
8909 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
8910 commit 9596accf506e66153d9a24828d530543edd8f4b8 (inclusive).
8911 See ChangeLog.1 for earlier changes.
8913 ;; Local Variables:
8914 ;; coding: utf-8
8915 ;; End:
8917   Copyright (C) 2015 Free Software Foundation, Inc.
8919   This file is part of GNU Emacs.
8921   GNU Emacs is free software: you can redistribute it and/or modify
8922   it under the terms of the GNU General Public License as published by
8923   the Free Software Foundation, either version 3 of the License, or
8924   (at your option) any later version.
8926   GNU Emacs is distributed in the hope that it will be useful,
8927   but WITHOUT ANY WARRANTY; without even the implied warranty of
8928   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
8929   GNU General Public License for more details.
8931   You should have received a copy of the GNU General Public License
8932   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.