Mention `tramp-connection-properties' in NEWS
[emacs.git] / ChangeLog.2
bloba23f1d2ad75c671a3527211797202a42ccd2a658
1 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
3         Correct js-mode's lighter
4         * lisp/progmodes/js.el (js-mode): Correct the lighter.
6 2015-07-19  Leo Liu  <sdl.web@gmail.com>
8         Fix a bug in cfengine3-mode
9         * progmodes/cfengine.el (cfengine3-mode): Handle nil
10           eldoc-documentation-function.
12 2015-07-18  Julien Danjou  <julien@danjou.info>
14         sieve-mode: support "body" test command
15         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
16         Add missing "body" test command.
18 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
20         Fix info-apropos when the default encoding is Latin-N
21         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
22         'undecided', so that it is set to the encoding of the Info file we
23         are about to insert.  Otherwise, 'info-apropos' will fail to find
24         some index nodes in some UTF-8 encoded files, if the buffer's
25         previous encoding is Latin-N or some such.
27 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
29         * epg.el (epg--start): Check that gpgconf can be found before calling it.
31         Expose more file types to OS X that Emacs understands.
32         * Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx,
33         json, and org files.  Export UTIs for el, elc, and org files.
35 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
37         Fix visual-order cursor movement when lines are truncated
38         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
39         simulate display in a window of infinite width, to allow move_it_*
40         functions reach positions outside of normal window dimensions.
41         Remove code that tried to handle a subset of these situations by
42         manual iteration of buffer text.  (Bug#17777)
44         Fix following Info cross-references to anchors
45         * lisp/info.el (Info-read-subfile): Add to the returned value the
46         length of subfile preamble, after converting it to file's byte
47         offset, as expected by the caller.  Use bufferpos-to-filepos.
48         (Info-find-node-2): If searching for a node with a
49         1000-character slop fails, try again with a 10000-character slop,
50         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
51         * lisp/international/mule-util.el (bufferpos-to-filepos): New
52         function.
53         * etc/NEWS: Mention bufferpos-to-filepos.
55         Fix scrolling backwards on TTY frames under scroll-conservatively
56         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
57         in moving backwards on TTY frames.  (Bug#21080)
59 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
61         Consider a jsdoc tag to be a beginning of a paragraph as well
62         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
63         consider a jsdoc tag to be a beginning of a paragraph as well.
65 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
67         * lisp/emacs-lisp/package.el: Fix warnings
69         * lisp/emacs-lisp/package.el (package-buffer-info):
70         Add author and maintainers to `package-buffer-info'.
72         * lisp/emacs-lisp/package.el: Many small changes
73         Replace all instances of 'face with 'font-lock-face.
74         (describe-package-1): Improve some strings and move the summary up the
75         list.
76         (package-install-file): Update docstring.
77         (package-menu-hide-package): Bind to `H'.
79         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
80         Fix error handling.
82 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
84         Fix hang with large yanks This should fix the bug fixed by Mike
85         Crowe's patch in:
86         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
87         A problem in this area has been reported by several users; see
88         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
89         This fix differs from Mike Crowe's patch in that it should avoid a
90         race condition that could lose SIGIO signals.  ignore_sigio dates
91         back to the 1980s when some platforms couldn't block signals, and
92         could only ignore them, which led to races when signals arrived
93         while being ignored.  We shouldn't have to worry about those old
94         platforms now.
95         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
96         * src/emacs.c (shut_down_emacs):
97         Don't call ignore_sigio; unrequest_sigio should suffice.
98         * src/keyboard.c (kbd_buffer_store_buffered_event):
99         Use unrequest_sigio, not ignore_sigio.
100         (kbd_buffer_get_event):
101         Call request_sigio when getting the ball rolling again.
103 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
105         * lisp/obsolete/longlines.el (longlines-search-function):
106         Fallback on `isearch-search-fun-default'.
108 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
110         Support @-mentions
111         * rcirc.el (rcirc-completion-at-point): Support completion of
112         mentions/messages with @nick instead of just nick.
114 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
116         Fix Bug#20943.
117         * lisp/autorevert.el (auto-revert-handler): Do not check for
118         `buffer-modified-p'.
119         * lisp/files.el (buffer-stale--default-function): Check for
120         `buffer-modified-p'.
121         * test/automated/auto-revert-tests.el
122         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
124 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
126         Fix delete-dups bug on long lists
127         * lisp/subr.el (delete-dups):
128         Don't mistakenly keep some dups when applied to long lists.
130 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
132         Better heuristic for C stack overflow
133         Improve the heuristic for distinguishing stack overflows from
134         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
135         the getrlimit method wasn't portable to Cygwin; see:
136         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
137         Corinna suggested pthread_getattr_np but this also has problems.
138         Instead, replace the low-level system stuff with a simple
139         heuristic based on known good stack addresses.
140         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
141         * src/sysdep.c: Don't include <sys/resource.h>.
142         (stack_direction): Remove.  All uses removed.
143         (stack_overflow): New function.
144         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
145         Make SEGV fatal in non-main threads.
147 2015-07-16  Daiki Ueno  <ueno@gnu.org>
149         epg: Automatically start pinentry server
150         * epg-config.el (epg-gpgconf-program): New variable.
151         * epg.el (epg--start): Call `pinentry-start' if
152         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
154 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
156         * lisp/gnus/nnimap.el: Fix my last bogus change
157         Reinstall Stefan Monnier's change that was made in
158         <83d824bc4041332f338ad7e5e830f443535aa300>.
160 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
162         Merge from gnulib
163         This incorporates:
164         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
165         2015-07-05 acl-permissions: Fix on FreeBSD
166         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
167         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
168         * lib/set-permissions.c: Copy from gnulib.
170         Port to stricter C99
171         * src/keyboard.h (kbd_buffer_store_event_hold):
172         Don't return a void expression.
174 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
176         * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs.
178 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
180         New autorevert tests.
181         * test/automated/auto-revert-tests.el: New file.
183 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
185         Clear gcprolist etc. after stack overflow
186         After stack overflow, command_loop calls init_eval, and this needs to
187         clear gcprolist and byte_stack_list (Bug#20996).
188         * src/alloc.c (init_alloc):
189         Move gcprolist and byte_stack_list initialization from here ...
190         * src/eval.c (init_eval): ... to here.
192 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
194         * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'.
196 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
198         Avoid deprecated enums in mac-ct font backend driver
199         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
200         (mac_ctfont_get_advance_width_for_glyph)
201         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
203         Cache font family in mac-ct font backend driver
204         * src/macfont.m (macfont_family_cache): New variable.
205         (syms_of_macfont): Initialize it.
206         (macfont_available_families_cache): New variable.
207         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
208         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
209         (macfont_handle_font_change_notification)
210         (macfont_init_font_change_handler)
211         (macfont_copy_available_families_cache): New functions.
212         (macfont_create_family_with_symbol): Use font family caches.
213         (macfont_list, macfont_list_family): Use
214         macfont_copy_available_families_cache instead of
215         mac_font_create_available_families.
217 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
219         Show the default value in the prompt
220         * lisp/progmodes/xref.el: Add `M-?' binding for
221         xref-find-references.  Declare functions `grep-read-files' and
222         `grep-expand-template'.
223         (xref--read-identifier): Show the default value in the prompt.
225         When called with prefix argument, ask for file patterns to search as well
226         * lisp/progmodes/xref.el (xref-find-regexp): When called with
227         prefix argument, ask for file patterns to search as well.  When
228         prompting for the directory, require an existing one.
229         (xref-collect-matches): Add a new argument, FILES.  Use it in the
230         above function.
232         Add `project-ignores'
233         * lisp/progmodes/project.el (project-ignores): New generic
234         function, and an implementation for the VC project type.
235         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
236         variant of rgrep-default-command that handles a generic list of
237         ignores.
238         (xref-collect-matches): Use it, and pass through to it the value
239         of the newly added argument.
240         (xref-find-regexp): Handle ignored paths within the project.
241         Remove outdated comment.
242         * lisp/vc/vc.el (vc-default-ignore-completion-table):
243         Skip the comments and the empty lines.
245 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
247         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
249 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
251         gnus-registry.el: Correct function argument order
252         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
253         Reverse the order of function arguments.
255 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
257         Bind grep-highlight-matches to nil
258         * lisp/progmodes/xref.el (xref-collect-matches):
259         Bind grep-highlight-matches to nil (bug#20728).
261 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
263         nnimap.el: Fix IMAP message size parsing
264         * lisp/gnus/nnimap.el (nnimap-transform-headers):
265         Don't assume that UID comes before RFC822.SIZE.
267 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
269         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
270         (auth-source-creation-prompts): Declare.
271         (nnimap-retrieve-headers, nnimap-status-message)
272         (nnimap-request-create-group, nnimap-request-delete-group)
273         (nnimap-close-group, nnimap-request-move-article)
274         (nnimap-request-accept-article, nnimap-request-newgroups)
275         (nnimap-request-post, nnimap-dummy-active-number)
276         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
277         (nnimap-parse-flags): Remove unused var `p'.
278         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
279         (nnimap-flags-to-marks): Remove unused var `totalp'.
281 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
283         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
285 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
287         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
289 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
291         Don't check the exit status, it can be misleading
292         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
293         exit status, it can be misleading.
295         Introduce a Project API
296         * lisp/progmodes/project.el: New file.
297         * lisp/cedet/ede.el: (project-try-ede): New function.
298         (project-root): New implementation.
299         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
300         Set project-search-path-function.
301         (elisp--xref-find-references): Delegate some logic to
302         project-search-path.
303         (elisp-search-path): New function.
304         (elisp-xref-find): Don't implement `matches' anymore.
305         * lisp/progmodes/etags.el: Don't implement `matches'.
306         Delegate some logic to project-search-path.
307         (etags-search-path): New function.
308         * lisp/progmodes/xref.el (xref-find-function):
309         Remove `matches' from the API.
310         (xref-find-regexp): Move whatever common logic was in elisp and
311         etags implementations, and search the directories returned by
312         project-directories and project-search-path.
314 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
316         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
318         Add support for gv.el in map.el
319         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
320         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
321         * test/automated/map-tests.el: Update tests to work with the new
322         implementations of map-elt and map-put.
324 2015-07-09  Glenn Morris  <rgm@gnu.org>
326         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
328 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
330         Syntax-propertize until the end of the line first
331         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
332         until the end of the line first.
334 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
336         * doc/emacs/files.texi (File Archives): Add a cross reference.
338 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
340         nnimap.el: Handle plain value for nnimap-stream
341         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
342         capabilities, so that a 'plain value for the `nnimap-stream' server
343         variable is handled correctly.
344         * doc/misc/gnus.texi (Customizing the IMAP Connection):
345         Document the 'plain option.
347 2015-07-08  Leo Liu  <sdl.web@gmail.com>
349         Fix bug in thing-at-point--bounds-of-well-formed-url
350         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
351           sure boundary contains current point.
353 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
355         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
357         Declare whitespace-line-column a safe file-local
358         * lisp/whitespace.el (whitespace-line-column): Declare to be a
359         safe file-local when the value is an integer.
361 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
363         gnus-group.el: Check if group names are already strings
364         * lisp/gnus/gnus-group.el (gnus-group-group-name):
365         The group name may already be a string.
366         Specifically, in the group list reached from the *Server* buffer,
367         the 'gnus-group text property returns a string.  Everywhere else
368         it returns a symbol.
370         nnimap.el: Remove unused let variables
371         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
373 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
375         Support "maximized" property of runemacs's shortcut
376         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
377         the '--maximized' switch to Emacs.
379         Support "minimized" property of runemacs's shortcut
380         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
381         pass the '--iconic' switch to Emacs.  (Bug#20991)
383 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
385         Doc fixes
386         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
387         C-w' in Diff mode.
388         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
389         Add a cross reference.
391 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
393         * lisp/obsolete/landmark.el: Add Obsolete-since header
395 2015-07-07  Glenn Morris  <rgm@gnu.org>
397         * test/automated/ert-tests.el (ert-test-deftest):
398         Update for recent changes.
400 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
402         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
403         * lisp/emacs-lisp/gv.el (gv-setter): New function.
404         (gv-invalid-place): New error.
405         (gv-get): Use them.
406         (gv-synthetic-place, gv-delay-error): New places.
407         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
408         (cl-defgeneric, cl-defmethod): Use gv-setter.
410 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
412         Make vc-tests work with MSYS svn program
413         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
414         svn is an MSYS program.
416 2015-07-07  Ken Brown  <kbrown@cornell.edu>
418         Improve recent change to emacsclient on Cygwin
419         * lisp/server.el (server-process-filter): Remove redundant check
420         that 'cygwin-convert-file-name-from-windows' is defined as a
421         function on Cygwin.  Don't call that function unless its argument
422         starts with a drive letter.
424 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
426         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
427         Fix void variable due to `found-something' being in the wrong `let'.
429 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
431         * lisp/play/landmark.el: Move to lisp/obsolete/
433 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
435         Have `x-show-tip' handle `right' and `bottom' frame parameters.
436         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
437         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
438         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
439         tooltips also via `right' and `bottom' frame parameters.
441 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
443         Add online-help support to describe types
444         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
445         (describe-symbol): Improve the selection of default.
446         * lisp/help-mode.el: Require cl-lib.
447         (describe-symbol-backends): Move from help-fns.el.
448         (help-make-xrefs): Use it.
449         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
450         for types.
451         (cl--typedef-regexp): New const.
452         (find-function-regexp-alist): Add entry for types.
453         (cl-help-type, cl-type-definition): New buttons.
454         (cl-find-class): New function.
455         (cl-describe-type): New command.
456         (cl--describe-class, cl--describe-class-slot)
457         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
458         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
459         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
460         New functions.  Moved from eieio-opt.el.
461         (cl--generic-class-parents): New function, extracted from
462         cl--generic-struct-specializers.
463         (cl--generic-struct-specializers): Use it.
464         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
465         Improve constructor's docstrings.
466         (cl-struct-unknown-slot): New error.
467         (cl-struct-slot-offset): Use it.
468         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
469         definition in current-load-list.
470         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
471         (eieio--add-new-slot): Set it.
472         (eieio-defclass-internal): Use new name for current-load-list.
473         (eieio-oref): Add compiler-macro to warn about unknown slots.
474         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
475         as compile-time as well.  Improve constructor docstrings.
476         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
477         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
478         (eieio-class-def): Remove button.
479         (eieio-help-constructor): Use new name for load-history element.
480         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
481         (eieio-method-documentation): Move to cl-generic.el.
482         (eieio-display-method-list): Use new names.
483         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
484         Add "define-linline".
485         (lisp-fdefs): Remove "defsubst".
486         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
487         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
488         (macroexp--warn-and-return): Use it to avoid inf-loops.
489         Add `compile-only' argument.
491 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
493         python.el: Fix local/remote shell environment setup
494         * lisp/progmodes/python.el (python-shell-with-environment): Fix
495         remote/local environment setup.
496         * test/automated/python-tests.el (python-shell-with-environment-1)
497         (python-shell-with-environment-2): New tests.
499 2015-07-06  Glenn Morris  <rgm@gnu.org>
501         * lisp/simple.el (set-variable): Tweak recent doc fix.
503 2015-07-06  Ken Brown  <kbrown@cornell.edu>
505         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
507 2015-07-06  Glenn Morris  <rgm@gnu.org>
509         * lisp/simple.el (set-variable): Use user-error for type mismatch.
511 2015-07-06  Ken Brown  <kbrown@cornell.edu>
513         * src/emacs.c (main): Don't increase the stack size on Cygwin
515 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
517         (describe-symbol): Rewrite describe-function-or-variable
518         * lisp/help-fns.el (describe-symbol-backends): New var.
519         (help-xref-stack-item): Declare.
520         (describe-symbol): Rename from describe-function-or-variable.
521         Rewrite using describe-symbol-backends instead of help-xref-interned.
522         * lisp/help.el (help-map): Use it.
523         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
524         (help-xref-interned): Make it into an obsolete alias.
526         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
527         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
528         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
530 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
532         Fix parsing glitches in dired-mark-sexp (bug#13575)
533         * lisp/dired-x.el (dired-x--string-to-number): New function.
534         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
535         of directory-listing-before-filename-regexp.  Consider
536         forward-word harmful and replace it.  Add more verbiage in
537         comments and doc string.
539 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
541         python.el: Respect process environment for remote shells
542         * lisp/progmodes/python.el
543         (python-shell-calculate-process-environment): Calculate
544         process-environment or tramp-remote-process-environment depending
545         whether current file is remote.
546         (python-shell-calculate-exec-path): Calculate exec-path or
547         tramp-remote-path depending whether current file is remote.
548         (python-shell-with-environment): New macro.
549         (python-shell-prompt-detect, python-shell-calculate-command)
550         (python-shell-make-comint, python-check): Use it.
552         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
553         * lisp/progmodes/python.el (python-shell--interpreter)
554         (python-shell--interpreter-args): New vars.
555         (inferior-python-mode, python-shell-make-comint): Use them.
557         python.el: Fixes for IPython 3.x  (Bug#20580)
558         * lisp/progmodes/python.el:
559         (python-shell-completion-native-setup): Fix IPython 3.x setup.
560         (python-shell-completion-native-get-completions): Fix timeout
561         logic.
563         python.el: Fix mark-defun behavior  (Bug#19665)
564         * lisp/progmodes/python.el: (python-mark-defun): New function.
565         * test/automated/python-tests.el (python-mark-defun-1)
566         (python-mark-defun-2, python-mark-defun-3): New tests.
568 2015-07-05  Glenn Morris  <rgm@gnu.org>
570         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
571         such as "extends(parent), private".  (Bug#20969)
572         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
573         New tests.
575 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
577         Avoid duplicate calls to current_timespec
578         * src/process.c (wait_reading_process_output):
579         Cache current_timespec results as long as we're not waiting.
581 2015-07-05  Ian Kelling  <ian@iankelling.org>
583         Avoid returning early reading process output due to SIGIO
584         * src/process.c (wait_reading_process_output): Extend the behavior of
585         not breaking due to not finding output when a timer has lowered the
586         timeout to include when SIGIO lowers the timeout.
588         Don't return as fast reading any process output
589         * src/process.c (wait_reading_process_output):
590         The patch for Bug#17647 returns too fast sometimes when reading
591         from any processes. Revert part of it, and limit the timeout more
592         sensibly (Bug#20978).
594         Refactor timeouts in wait_reading_process_output
595         * src/process.c (wait_reading_process_output):
596         Simplify timeouts with an enum.  Remove a redundant condition.
597         (Bug#20978)
599         Remove ADAPTIVE_READ_BUFFERING ifdef
600         * src/process.c (make-process, make-pipe-process, deactivate_process)
601         (wait_reading_process_output, read_process_output, send_process)
602         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
603         added in case there was an operating system in which it was not
604         useful.  That was 11 years ago and it hasn't happened.  Make
605         development easier by not considering the effect of changes on a
606         theoretical OS where this is disabled (Bug#20978).
608 2015-07-05  Glenn Morris  <rgm@gnu.org>
610         * lisp/simple.el (set-variable): Doc fix.
612         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
614 2015-07-05  Ian Kelling  <ian@iankelling.org>
616         accept-process-output fix
617         This is a followon to the fix for Bug#17647 (Bug#20976).
618         * src/process.c (status_notify): Fix too high return in some cases.
620 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
622         * lisp/character-fold.el (character-fold-table):
623         Only fold decompositions if at least one character is non-spacing.
624         (Bug#20975)
626 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
628         Merge from gnulib
629         This incorporates:
630         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
631         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
632         2015-07-02 update-copyright: fix test failure with perl >= 5.22
633         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
634         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
635         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
636         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
638 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
640         Respect `prog-indentation-context' in python.el
641         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
642         (python-indent-context, python-indent--calculate-indentation)
643         (python-info-current-defun)
644         (python-info-dedenter-opening-block-message)
645         (python-info-line-ends-backslash-p)
646         (python-info-beginning-of-backslash)
647         (python-info-continuation-line-p): Use `prog-widen'.
648         (python-indent--calculate-indentation)
649         (python-indent--calculate-levels)
650         (python-indent-calculate-indentation): Use `prog-first-column'.
651         (python-indent--calculate-levels): Simplify.
652         Ignore also initial empty lines for syntax calculation.
653         * lisp/progmodes/python.el (python-indent-context): Return
654         :no-indent for first non-empty line, not just in line 1.
655         * test/automated/python-tests.el (python-indent-base-case)
656         (python-indent-inside-paren-1, python-indent-inside-paren-2)
657         (python-indent-inside-paren-3, python-indent-inside-paren-4)
658         (python-indent-inside-paren-5, python-indent-inside-paren-6)
659         (python-indent-after-backslash-1)
660         (python-indent-after-backslash-2)
661         (python-indent-after-backslash-3)
662         (python-indent-after-backslash-4, python-indent-inside-string-1):
663         Expect :no-indent for first non-empty line.
665 2015-07-04  Daniel Colascione  <dancol@dancol.org>
667         Factor isearch word description into new function
668         * lisp/isearch.el (isearch--describe-word-mode): New function.
669         (isearch-message-prefix, isearch-query-replace): Use it.
671 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
673         Fix mouse pointer on w32 when a menu is active
674         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
675         shape while a menu is in use.  This started happening since we now
676         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
678 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
680         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
681         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
682         parameter.  (Bug#17344)
684         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
685         * lisp/progmodes/compile.el (compilation-set-window): Take
686         `window-fringes' from argument window.  (Bug#20829)
688 2015-07-03  Glenn Morris  <rgm@gnu.org>
690         Update eieio tests for recent eieio-core change.
691         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
692         * test/automated/eieio-tests.el
693         (eieio-test-32-slot-attribute-override-2):
694         Replace the deleted eieio--class-v with cl--find-class.
696 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
698         Fix some issues with `window-divider-mode'
699         * lisp/frame.el (window-divider-default-places): New option.
700         (window-divider-mode): Remove option.
701         (window-divider-mode): Make it a "regular" minor mode.
702         (window-divider-width-valid-p): Drop frame- prefix.
703         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
704         prefix.  Handle `window-divider-default-places'.
705         (frame--window-divider-mode-set-and-apply): Remove.
706         (window-divider-default-bottom-width)
707         (window-divider-default-right-width): Drop :group entries.
708         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
709         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
710         (menu-bar-no-window-divider): Set `window-divider-default-places'
711         and call `window-divider-mode'.
712         * doc/emacs/frames.texi (Window Dividers): Document
713         `window-divider-default-places'.
715 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
717         Add cross references in documentation
718         * doc/emacs/display.texi (Displaying Boundaries):
719         * doc/emacs/search.texi (Word Search): Add cross references.
721 2015-07-02  Eli Zaretskii  <eliz@gnu.org>
723         ;* src/bidi.c (bpa_stack_entry): Update commentary for Unicode 8.0.
725 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
727         -batch should not affect ‘’ -> `' display
728         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
729         -batch (Bug#20926).
731 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
733         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
734         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
735           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
736         Use cl--find-class instead.
738         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
740 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
742         Some further fixes in Change Window node.  (Bug#20183)
743         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
744         by "resizing" in section title.  Add some concept indices.
745         Suggested by N. Jackson (Bug#20183).
747         Reference window dividers in Change Window section.
748         * doc/emacs/windows.texi (Change Window): Reference window
749         dividers.
751         Document new `window-divider-mode'.
752         * lisp/frame.el (window-divider-mode): Fix doc-string.
753         * doc/emacs/frames.texi (Window Dividers): New section.
755         Improve accessibility of window dividers.  (Bug#20183)
756         * lisp/faces.el (window-divider)
757         (window-divider-first-pixel, window-divider-last-pixel): Change
758         membership from `frames' to `window-divider' customization group.
759         * lisp/frame.el (window-divider): New customization group.
760         (window-divider-mode): New minor mode.
761         (window-divider-default-bottom-width)
762         (window-divider-default-right-width): New options.
763         (frame--window-divider-previous-mode): New variable.
764         (frame-window-divider-width-valid-p)
765         (frame--window-divider-mode-apply)
766         (frame--window-divider-mode-set-and-apply): New functions.
767         * lisp/menu-bar.el (menu-bar-options-save): Save
768         window-divider-mode settings.
769         (menu-bar-window-divider-customize)
770         (menu-bar-bottom-and-right-window-divider)
771         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
772         (menu-bar-no-window-divider): New functions.
773         (menu-bar-showhide-window-divider-menu): New variable.
774         (menu-bar-showhide-menu): Show/hide window divider menu.
775         * lisp/mouse.el (mouse-split-window-vertically)
776         (mouse-split-window-horizontally): Replace `error' by
777         `user-error'.  Bind `window-combination-resize' to nil.
778         (top-level): Add/reorder mouse key bindings on mode- and
779         vertical-line.
781 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
783         Don't display ‘’ as `' under X in en_GB
784         The curved quote setup code invokes (char-displayable-p ?‘),
785         but this isn’t reliable until after the X frame replaces the
786         terminal frame (Bug#20926).
787         * lisp/international/mule-cmds.el (set-locale-environment):
788         Move curved quote setup code from here ...
789         * lisp/startup.el (command-line): ... to here, after creating
790         the X frame.
792 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
794         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
796         Add argument to reverse the meaning of ido-restrict-to-matches
797         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
798         to reverse the meaning (Bug#15631).
800 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
802         Be more tolerant to fonts named "Foobar-12"
803         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
804         don't barf; instead, request a new fontset to be generated.  This
805         avoids unnecessarily rejecting fonts named against XLFD rules.  See
806         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
807         for the description of the original problem.
808         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
809         by a hyphen in a font's name.
811         Fix value of posn-at-pont in R2L lines
812         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
813         coordinate of -1, for a newline in a right-to-left line that
814         overflowed into the left fringe.
816 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
818         (cl--copy-slot-descriptor): Copy the `props' alist as well
819         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
820         Rename from cl--copy-slot-descriptor.
821         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
823 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
825         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
826         (xterm-query-timeout): New var.
827         (xterm--query): Use it.  Fallback on async method if we timeout before
828         getting the first byte of the reply (bug#12354).
830 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
832         Spelling fixes
834 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
836         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
838 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
840         In strings, prefer plain ` and ' to \` and \'
841         * lisp/allout.el (allout-insert-listified):
842         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
843         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
844         (ls-lisp-string-lessp):
845         * lisp/menu-bar.el (menu-bar-open):
846         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
847         * lisp/progmodes/compile.el (compile):
848         * lisp/progmodes/etags.el (tags-loop-scan):
849         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
850         * lisp/subr.el (posn-actual-col-row):
851         * lisp/term/pc-win.el (x-list-fonts):
852         * lisp/textmodes/texinfmt.el (texinfmt-version):
853         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
854         * lisp/time.el (display-time-world-list):
855         * lisp/tmm.el (tmm-menubar):
856         * src/buffer.c (syms_of_buffer):
857         * src/fileio.c (syms_of_fileio):
858         Omit unnecessary and confusing backslash before quote.
859         * lisp/erc/erc.el (erc-cmd-LASTLOG):
860         * lisp/progmodes/flymake.el (flymake-fix-file-name):
861         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
862         Fix string that was intended to escape a backslash and not a quote.
864 2015-06-30  Glenn Morris  <rgm@gnu.org>
866         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
868         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
869         Replace hard-coded lists with wildcard + filter-out.
871         * configure.ac (system-configuration-features): Add X11, NS.
873         Improve reproducibility of generated loaddefs file.
874         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
875         Make the return value the modtime of the input file (if no autoloads).
876         (update-directory-autoloads): In the "no autoloads" section,
877         use "most recent modtime" rather than "current time".
879 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
881         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
882         (Bug#20930)
884 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
886         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
888         Add seq-min and seq-max
889         Bump version number.
890         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
891         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
893 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
895         Make sure sleep-for always delays for as long as it's told
896         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
897         a loop, to ensure we always wait exactly the required amount of
898         time.  (Bug#15990)
900 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
902         Fix pointer signedness glitch
903         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
905 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
907         Don't block changes in mouse pointer inside 'track-mouse'
908         * etc/NEWS:
909         * doc/lispref/frames.texi (Mouse Tracking): Document the special
910         effect of setting 'track-mouse' to 'dragging'.
911         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
912         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
913         * lisp/mouse-drag.el (mouse-drag-throw):
914         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
915         to avoid changes in the shape of the mouse pointer.
916         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
917         pointer shape when do_mouse_tracking has the value of 'dragging',
918         not just any non-nil value.  (Bug#20934)
919         (syms_of_xdisp): DEFSYM 'dragging'.
921 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
923         * lisp/isearch.el (isearch-toggle-word): Fix toggle
925         * lisp/emacs-lisp/package.el (package-compute-transaction):
926         Don't assume version sorting.
928         * lisp/emacs-lisp/package.el (package--save-selected-packages):
929         Don't save before init time, to avoid overwriting configurations.
930         (Bug#20855)
932 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
934         Add cross references.
935         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
936         references.
938 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
940         cfengine.el: update for the upcoming CFEngine 3.7 release
941         Update for the upcoming CFEngine 3.7 release: support macros and
942         quoted context strings; reformat JSON; indent promise attributes 2
943         units by default; give function parameter descriptions in the eldoc
944         glue.
945         * cfengine.el: Update version and docs and fix name.  Autoload
946         `json-pretty-print'.  Support new features in 3.7.
947         (cfengine-parameters-indent): Set default promise attribute indent to
948         2 more than the promise itself.
949         (cfengine3-macro-regex): New variable to match the new macro syntax.
950         (cfengine3-font-lock-keywords): Use it to highlight macros.
951         (cfengine3-indent-line): Use it to indent macros to column 0.
952         (cfengine3-class-selector-regex): Update for the new quoted strings
953         format.
954         (cfengine3-reformat-json-string): New function to reformat a JSON
955         string using `json-pretty-print'.
956         (cfengine3-format-function-docstring): Use function parameter
957         description if it's provided by the cf-promises syntax dump.
959 2015-06-29  Michael R. Mauger  <michael@mauger.com>
961         Cygwin emacsclient handles w32 file names
963 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
965         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
967 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
969         * doc/lispref/text.texi (Sticky Properties): Improve wording.
970         (Bug#20924)
972         Allow font names that end in "-NN", where NN is a number
973         * src/font.c (font_load_for_lface): If the font-spec didn't match
974         any available fonts, try again without interpreting trailing "-NN"
975         as the font size.  For the description of the original problem, see
976         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
978         .gdbinit followup to changes in !USE_LSB_TAG
979         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
980         !USE_LSB_TAG, as Emacs no longer does.
982 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
984         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
985         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
987 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
989         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
990         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
992 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
994         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
996         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
998 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
1000         apropos-library quoting fix
1001         * lisp/apropos.el (apropos-library): Quote library consistently
1002         with the rest of the quoting used by apropos.
1004         Clarify interpreter-mode-alist doc
1005         * lisp/files.el (interpreter-mode-alist):
1006         Reword to avoid confusing quoting that wasn't working anyway.
1008 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
1010         Sync with Tramp 2.2.12
1011         * doc/misc/trampver.texi:
1012         * lisp/net/trampver.el: Update release number.
1013         * test/automated/tramp-tests.el (tramp-test13-make-directory):
1014         Fix cleanup.
1016 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
1018         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
1019         (bug#20913)
1021 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
1023         Bind grep-highlight-matches around the rgrep call
1024         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
1025         around the rgrep call (bug#20728).
1027         Put "--color" before the other options in grep-command
1028         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
1029         before the other options in grep-command (bug#20912).
1031         Add --color Grep option to the command dynamically
1032         * lisp/progmodes/grep.el (grep-template, grep-find-template):
1033         Update the description for <C>.  (Bug#20728)
1034         (grep-compute-defaults): Don't add the --color option to
1035         grep-options.  Only add it to grep-command.
1036         (grep-expand-keywords): Expand the env value opts into <C>.
1037         (grep-expand-template): Replace cf in the env with the opts list,
1038         that can include -i and --color.
1039         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
1040         "--color=always" from the template, because we don't have to.
1042 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
1044         cl-extra fixes for most-negative-fixnum
1045         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
1046         Don't mishandle an argument equal to most-negative-fixnum,
1047         whose absolute value equals itself.
1048         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
1050         Initialize cl--gensym-counter to 0
1051         Previously it was initialized to a random value, which made it
1052         harder to reproduce earlier Emacs runs.  The need for a random
1053         value went away when Emacs introduced and used the #: syntax for
1054         uninterned symbols (Bug#20862).
1055         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
1056         Document that cl--gensym-counter now starts with 0.
1057         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
1058         (cl--random-time): Move to near only remaining use.
1059         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
1061         Improve docstring for macroexp-let2
1062         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
1063         Improve as per suggestion by RMS in:
1064         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
1065         Also, rename args to match new doc string.
1067 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
1069         Fix VC test suite on MS-Windows
1070         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
1071         always starts with 3 slashes after the colon.
1072         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
1073         'w32-application-type' to invoke CVS on MS-Windows with properly
1074         formatted CVSROOT directory name.
1076         Add a new function w32-application-type
1077         * src/w32proc.c (Fw32_application_type): New function.
1079         Avoid error in TLS connections due to incorrect format
1080         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
1081         the call to 'error', instead of the unsupported %u.  Reported by
1082         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
1084 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
1086         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
1088 2015-06-26  Leo Liu  <sdl.web@gmail.com>
1090         Fix indentation for with-output-to-string
1091         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
1092           `with-output-to-string' in elisp.
1093           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
1094           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
1096 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
1098         Minor corrections in ELisp manual
1099         * doc/lispref/nonascii.texi (Character Properties): Correct
1100         inaccuracies in description of values of the Unicode properties.
1102         Fix invisible mouse pointers on Windows.
1103         * src/w32fns.c: Include windowsx.h.
1104         (w32_wnd_proc): If the mouse moved and the mouse pointer is
1105         invisible, make it visible again even when the main (Lisp)
1106         thread is busy.
1107         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
1108         garbaging the frame have the input thread call SetCursor.
1110 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
1112         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
1113         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
1114         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
1115         * src/w32term.c (w32_hide_hourglass): Handle
1116         f->pointer_invisible.
1117         (w32_toggle_invisible_pointer): New function.
1118         (w32_create_terminal): Add w32_toggle_invisible_pointer as
1119         toggle_invisible_pointer_hook for this terminal.
1121 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
1123         Doc fix for deletion commands
1124         'delete-char' does not respect the value of 'delete-active-region'.
1125         * doc/emacs/killing.texi (Deletion):
1126         Fix documentation for some single-char deletion commands.
1128         * doc/emacs/help.texi (Apropos):
1129         Improve documentation of 'apropos-do-all'.
1131         * doc/emacs/help.texi (Help Summary):
1132         Improve documentation of 'describe-mode'.
1134 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1136         Fix submake dependency bug with .h files
1137         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
1138         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
1139         before the submake in $(libsrc) would spin off a subsubmake
1140         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
1142 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1144         * lisp/character-fold.el (character-fold-table): Reuse `table'
1146 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1148         Translate undisplayable ‘ to `
1149         * doc/lispref/help.texi (Keys in Documentation):
1150         * lisp/international/mule-cmds.el (set-locale-environment):
1151         * lisp/term/w32console.el (terminal-init-w32console):
1152         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
1153         If ‘ is not displayable, transliterate it to `, not to '.  See:
1154         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
1156         Fix C99 incompatibilities in Cairo code
1157         * src/image.c (xpm_load) [USE_CAIRO]:
1158         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
1159         Fix pointer signedness problem.
1161 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
1163         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
1164         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
1165           `with-output-to-string' should have the same indent as `progn'.
1166           This is in line with the declaration of `with-output-to-string'.
1168 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
1170         Get ‘./configure; make -C src emacs’ to work
1171         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
1172         * lib-src/Makefile.in (../lib/libgnu.a):
1173         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
1175 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1177         Fix GC bugs --with-wide-int and Qnil == 0
1178         Use the same alignment for the !USE_LSB_TAG case as for the
1179         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
1180         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
1181         once we changed the representation of symbols so that Qnil == 0.
1182         Problem reported by Eli Zaretskii (Bug#20862).
1183         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
1184         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
1185         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
1186         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
1187         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
1188         This optimization in the !USE_LSB_TAG case is no longer valid when
1189         symbols are represented via offsets.  Change the only use to
1190         assume that pointers might hide in objects.
1191         * src/lisp.h (alignas) [!USE_LSB_TAG]:
1192         Require support in this case, too.
1193         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
1194         This is OK, because the !USE_LSB_TAG case now applies only when
1195         Lisp_Object is wider than void *, so there's no longer any need
1196         to shift the offset.  Not shifting the offset means that
1197         symbol representations have the same alignment as pointers,
1198         which the GC assumes.
1200 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
1202         * doc/lispintro/emacs-lisp-intro.texi (Data types):
1203         Improve documentation of 'substring'.
1205 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1207         * lisp/character-fold.el (character-fold-table): Fix table generation
1209 2015-06-24  Glenn Morris  <rgm@gnu.org>
1211         * nextstep/Makefile.in (all): Make it the first target.
1212         (../src/emacs${EXEEXT}): Add rule for making it.
1214 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1216         * etc/NEWS: Fix mention to old function name
1218         * lisp/character-fold.el: New file (Bug#20887)
1219         (character-fold-to-regexp): New function.
1220         * lisp/replace.el (replace-search): Check value of
1221         `character-fold-search'.
1222         * lisp/isearch.el: Move character-folding code to
1223         character-fold.el
1224         (isearch-toggle-character-fold): New command.
1225         (isearch-mode-map): Bind it to "\M-sf".
1226         (isearch-mode): Check value of `character-fold-search'.
1228 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1230         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
1231         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
1232         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
1234         * lisp/progmodes/xref.el: Avoid init-args in oref.
1235         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
1236         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
1238 2015-06-24  Glenn Morris  <rgm@gnu.org>
1240         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
1242 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
1244         * lisp/gnus/nnmaildir.el: Silence lexical warnings
1245         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
1246         functional style.
1247         (nnmaildir--update-nov): Remove unused var `numdir'.
1248         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
1249         (nnmaildir-request-group, nnmaildir-request-create-group)
1250         (nnmaildir-request-post, nnmaildir-request-move-article)
1251         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
1252         (nnmaildir-get-new-mail, nnmaildir-group-alist)
1253         (nnmaildir-active-file): Declare.
1254         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
1255         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
1256         `mark', `end', `new-mark', and `mark-sym'.
1257         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
1258         `nlist2'.
1259         (nnmaildir-request-expire-articles):
1260         Remove unused vars `article', `stop' and `nlist2'.
1261         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
1262         `end'.  Use nnmaildir--article when dyn-binding is needed.
1263         Give the value directly in the `let' for `del-mark', `del-action',
1264         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
1265         (nnmaildir-close-server): Declare those local vars that need to be
1266         dyn-bound.
1268 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1270         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
1272         Port selection info fix to clang
1273         * src/keyboard.h (kbd_buffer_store_event_hold):
1274         Don't assume C11 semantics for alignof (Bug#20756).
1276         Fix bug that munged selection info
1277         On some optimizing C compilers, copying a structure did not
1278         copy the padding bytes between elements, and the type punning
1279         between struct input_data and struct selection_input_data did
1280         not work.  Change the C code to use a proper union type instead.
1281         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
1282         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
1283         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
1284         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
1285         (mark_kboards):
1286         Use union buffered_input_event, not struct input_event.
1287         (clear_event, deliver_input_available_signal, process_special_events):
1288         Remove unnecessary forward decls.
1289         (kbd_buffer_store_buffered_event): New function, mostly just the
1290         old kbd_buffer_store_event_hold, except its argument is of type
1291         union buffered_input_event, not struct input_event.
1292         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
1293         not needed otherwise.  Argument is now of type
1294         struct selection_input_event *, not struct input_event *.
1295         All callers changed.
1296         (clear_event): Arg is now of type union buffered_input_event *,
1297         not struct input_event *.  All callers changed.
1298         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
1299         (union buffered_input_event): New type.
1300         (kbd_buffer_store_event_hold): Now an inline function,
1301         defined here.
1302         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
1303         (struct input_event): Use it.
1304         * src/xselect.c (struct selection_event_queue):
1305         Make elements be of type struct selection_input_event,
1306         not struct input_event.
1307         (selection_input_event_equal): New static function.
1308         (x_queue_event): Use it.
1309         (x_queue_event, x_decline_selection_request)
1310         (x_selection_current_request, x_reply_selection_request)
1311         (x_handle_selection_request, x_handle_selection_clear)
1312         (x_handle_selection_event): Use struct selection_input_event,
1313         not struct input_event.  All callers changed.
1314         (x_convert_selection): Omit unused first arg.  All callers changed.
1315         (Fx_disown_selection_internal): Omit unnecessary union.
1316         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
1317         rather than rolling our own equivalent.  Prefer sie.kind when
1318         setting up that kind of structure.
1319         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
1320         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
1321         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
1322         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
1323         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
1324         (SELECTION_EVENT_TIME, x_handle_selection_event):
1325         Arg is now of type struct selection_input_event *)
1326         not struct input_event *.  All callers changed.
1328 2015-06-23  Glenn Morris  <rgm@gnu.org>
1330         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
1332 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1334         * lisp/isearch.el: Fold many unicode characters to ASCII
1335         (isearch-character-fold-search, isearch--character-fold-extras)
1336         (isearch--character-fold-table): New variable.
1337         (isearch--character-folded-regexp): New function.
1338         (isearch-search-fun-default): Use them.
1339         * lisp/replace.el (replace-character-fold): New variable.
1340         (replace-search): Use it.
1341         * etc/NEWS: Document it.
1343 2015-06-23  Glenn Morris  <rgm@gnu.org>
1345         Check for an input event before showing a dialog box.  (Bug#20813)
1346         * lisp/subr.el (y-or-n-p):
1347         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
1348         as last-nonmenu-event.
1350 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
1352         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
1353         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
1354         (switch-to-prev-buffer, switch-to-next-buffer): Respect
1355         switch-to-visible-buffer independent of the windows history.
1357 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1359         * src/keyboard.c (last_timer_event): Remove unused var.
1361 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1363         * test/automated/package-test.el (package-test-update-listing):
1364         Fix test.
1366 2015-06-23  Glenn Morris  <rgm@gnu.org>
1368         Revert 2014-06-25 nextstep/Makefile change.
1369         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
1370         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
1371         not as an order-only prerequisite.
1373         * configure.ac (--with-ns): Enable by default on OS X.
1375 2015-06-23  Leo Liu  <sdl.web@gmail.com>
1377         Fix shell-for/backward-command to exclude spaces
1378         * lisp/shell.el (shell-forward-command, shell-backward-command):
1379           Handle the 'move case from re-search-forward/backward.
1380           fixes debbugs:20873
1382 2015-06-22  Juri Linkov  <juri@linkov.net>
1384         * lisp/replace.el (query-replace-read-from): Add separator to
1385         the local binding of text-property-default-nonsticky.  (Bug#20690)
1387         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
1388         (Bug#20785)
1390 2015-06-22  Ken Brown  <kbrown@cornell.edu>
1392         Enable CPU profiling on Cygwin
1393         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
1394         change that undefined this.
1395         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
1396         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
1397           Cygwin.
1399         Improve diagnostics of profiler-cpu-start
1400         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
1401         return -1 if the sampling interval is invalid.
1402         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
1403         fails.  (Bug#20843)
1405 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
1407         * lisp/emacs-lisp/package.el: Exclude packages by name
1408         (package-hidden-regexps): New variable.
1409         (package-menu--refresh): Use it.
1410         (package-menu-hide-package): New command.
1412         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
1414 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
1416         Fix debug-timer-check on systems without HAVE_TIMERFD
1417         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
1418         the expired timers, since wait_reading_process_output doesn't.
1419         (debug_timer_callback): Enlarge the tolerance to 20 msec.
1421         Fix RCS crashes in vc-test
1422         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
1423         ports of 'ci' on MS-Windows by always passing the -t- switch.
1425 2015-06-22  Glenn Morris  <rgm@gnu.org>
1427         * doc/emacs/package.texi (Packages):
1428         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
1430         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
1432 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
1434         Port tests to help-quote-translation
1435         * test/automated/ert-x-tests.el (ert-test-describe-test):
1436         * test/automated/package-test.el (package-test-describe-package)
1437         (package-test-signed): Allow straight quotes, too.
1439 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
1441         Make find-function-on-key use the current window
1442         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
1443         Extract from `find-function-on-key', add a second argument.
1444         (find-function-on-key): Use it (bug#19679).
1445         (find-function-on-key-other-window)
1446         (find-function-on-key-other-frame): New commands.
1448 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1450         Revert "Define `map-elt' as a generalized variable"
1451         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
1453 2015-06-21  Ken Brown  <kbrown@cornell.edu>
1455         Drop support for CPU profiling on Cygwin
1456         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
1457         (Bug#20843)
1459 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1461         Fix some “nested” quoting confusion in doc strings
1462         * lisp/emacs-lisp/advice.el (ad-map-arglists):
1463         * lisp/kermit.el (kermit-clean-on):
1464         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
1465         * src/keyboard.c (Frecursive_edit):
1466         Use curved quotes when quoting text containing apostrophe,
1467         so that the apostrophe isn't curved in the output.
1469 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1471         Define `map-elt' as a generalized variable
1472         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
1473         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
1474         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
1475         `setf' with `map-elt'.
1476         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
1478 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
1480         Improve error handling in tramp-adb.el
1481         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
1482         Improve error handling.
1484 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1486         Reuse `alist-get' in map.el
1487         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
1488         elements.
1490 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
1492         Fix bytecomp-tests--warnings when $TMPDIR has a long name
1493         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
1494         Allow the warning to begin on the 3rd, not only 2nd line, which
1495         happens if temporary-file-directory has a very long name.
1497         Expect 2 icalendar tests to fail on MS-Windows
1498         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
1499         (icalendar-real-world): Make them expected failures on MS-Windows.
1501 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1503         Improve port of settings UI to older displays
1504         * lisp/cus-start.el (standard): Don't assume curved quotes are
1505         easily distinguishable when users are tinkering with a setting
1506         that affects how curved quotes are generated.
1508         Fix quoting in electric-quote-mode doc string
1509         * lisp/electric.el (electric-quote-mode): Fix quoting.
1510         This is a fallout from the recent change introducing
1511         ‘help-quote-translation’.
1513         Spelling fix
1515         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
1517         * src/doc.c (syms_of_doc): Remove unused symbols.
1519 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
1521         In ‘window-state-put’ undedicate target window.  (Bug#20848)
1522         * lisp/window.el (window-state-put): Undedicate target window
1523         before putting STATE into it.  (Bug#20848)
1525 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1527         Merge from origin/emacs-24
1528         a5e6f33 Fixes: debbugs:20832
1529         b9f02cf Fixes: debbugs:20832
1531 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
1533         Fix file-in-directory-p when the directory is UNC
1534         * lisp/files.el (file-in-directory-p): Support files and
1535         directories that begin with "//".  (Bug#20844)
1537 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
1539         (Bug#20832)
1540         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
1541         in the minibuffer.
1543 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
1545         (Bug#20832)
1546         * lisp/calendar/todo-mode.el (todo-show): Signal an error
1547         if buffer for adding new todo file is empty but modified.
1549 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1551         (filepos-to-bufferpos): Further tweaks to the utf-16 code
1552         * lisp/international/mule-util.el (filepos-to-bufferpos):
1553         Fix typo.  Move non-exact check to the utf-16 branch (the only one
1554         affected).  Don't use byte-to-position for the utf-16 case.
1556 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
1558         Minor fixes in filepos-to-bufferpos
1559         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
1560         test for utf-8-emacs.  Exempt single-byte encodings from the
1561         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
1562         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
1563         UTF-16 encoded files for CR-LF EOLs.
1565 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1567         Improve the optional translation of quotes
1568         Fix several problems with the recently-added custom variable
1569         help-quote-translation where the code would quote inconsistently
1570         in help buffers.  Add support for quoting 'like this', which
1571         is common in other GNU programs in ASCII environments.  Change
1572         help-quote-translation to use more mnemonic values: values are now the
1573         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
1574         traditional Emacs help-buffer quoting style `like this'.  Change the
1575         default behavior of substitute-command-keys to match what's done in
1576         set-locale-environment, i.e., quote ‘like this’ if displayable,
1577         'like this' otherwise.
1578         * doc/lispref/help.texi (Keys in Documentation): Document
1579         new behavior of substitute-command-keys, and document
1580         help-quote-translation.
1581         * doc/lispref/tips.texi (Documentation Tips):
1582         Mention the effect of help-quote-translation.
1583         * etc/NEWS: Mention new behavior of substitute-command-keys,
1584         and merge help-quote-translation news into it.
1585         When talking about doc strings, mention new ways to type quotes.
1586         * lisp/cedet/mode-local.el (overload-docstring-extension):
1587         Revert my recent change to this function, which shouldn't be
1588         needed as the result is a doc string.
1589         * lisp/cedet/mode-local.el (mode-local-print-binding)
1590         (mode-local-describe-bindings-2):
1591         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1592         * lisp/cus-theme.el (describe-theme-1):
1593         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1594         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
1595         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1596         (eieio-help-constructor):
1597         * lisp/emacs-lisp/package.el (describe-package-1):
1598         * lisp/faces.el (describe-face):
1599         * lisp/help-fns.el (help-fns--key-bindings)
1600         (help-fns--compiler-macro, help-fns--parent-mode)
1601         (help-fns--obsolete, help-fns--interactive-only)
1602         (describe-function-1, describe-variable):
1603         * lisp/help.el (describe-mode):
1604         Use substitute-command-keys to ensure a more-consistent quoting
1605         style in help buffers.
1606         * lisp/cus-start.el (standard):
1607         Document new help-quote-translation behavior.
1608         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
1609         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
1610         (help-xref-url-regexp):
1611         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
1612         * lisp/wid-edit.el (widget-documentation-link-regexp):
1613         Also match 'foo', in case we're in a help buffer generated when
1614         help-quote-translation is ?'.
1615         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
1616         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
1617         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
1618         (Fsubstitute_command_keys): Document and implement new behavior.
1619         (Vhelp_quote_translation): Document new behavior.
1621 2015-06-18  Glenn Morris  <rgm@gnu.org>
1623         * lisp/cus-start.el (help-quote-translation): Add :version.
1625         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
1627 2015-06-18  Alan Mackenzie  <acm@muc.de>
1629         Make translation of quotes to curly in doc strings optional.
1630         src/doc.c (traditional, prefer-unicode): new symbols.
1631         (help-quote-translation): new variable.
1632         (Fsubstitute_command_keys): make translation of quotes dependent on
1633         `help-quote-translation'; also translate curly quotes back to ASCII
1634         ones.
1635         lisp/cus-start.el (top-level): Add a customization entry for
1636         `help-quote-translation'.
1638 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1640         * lisp/emacs-lisp/package.el: Don't always propagate async errors
1641         (package--with-work-buffer-async): Only propagate the error if the
1642         callback returns non-nil.
1643         (package--download-one-archive): Return nil on the signature
1644         checking callback if we accept unsigned.
1645         (package--download-and-read-archives): Return non-nil on the
1646         archive download callback.
1648 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
1650         Fix last fix"
1652         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
1653         * src/nsfns.m (Fx_create_frame):
1654         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
1655         image_cache_refcount before first x_default_parameter call.
1657 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1659         Improve and extend filepos-to-bufferpos
1660         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
1661         Don't barf if F returns nil for some argument.
1662         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
1663         that every encoding of type 'charset' is single-byte.
1665 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1667         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
1668         Properly delete packages.  (Bug#20836)
1670 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1672         Update data files from just-released Unicode 8.0
1673         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
1674         status.
1675         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
1676         * admin/unidata/BidiMirroring.txt:
1677         * admin/unidata/BidiBrackets.txt:
1678         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
1680 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
1682         Document curved quotes a bit better
1683         * doc/emacs/basic.texi (Inserting Text):
1684         Mention C-x 8.  Change example to use curved quote rather
1685         than infinity, as this lets us give more ways to do it.
1686         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
1687         and quotation marks.
1688         * doc/emacs/text.texi (Quotation Marks):
1689         * doc/lispref/tips.texi (Documentation Tips):
1690         Add "curly quotes" and "curved quotes" to the index.
1691         * doc/emacs/text.texi (Quotation Marks):
1692         Give the C-x 8 shorthands for curved quotes.
1693         Cross-reference to "Quotation Marks".
1695 2015-06-17  Daiki Ueno  <ueno@gnu.org>
1697         Add pinentry.el for better GnuPG integration
1698         * lisp/pinentry.el: New file.
1699         * etc/NEWS: Add entry about pinentry.el.
1700         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
1701         (Bug#20550)
1703 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1705         * lisp/emacs-lisp/package.el: Slightly better error reporting.
1707 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
1709         (define-minor-mode): Use setq-default for :global minor modes
1710         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
1711         Use setq-default for :global minor modes (bug#20712).
1713 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
1715         Avoid infloop in redisplay with tall images
1716         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
1717         down near ZV.  (Bug#20808)
1718         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
1719         instead of CHARPOS.
1721 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1723         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1724         Fix error reporting.
1726         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
1728         * lisp/emacs-lisp/package.el: Revert buffer after any operation
1729         Call `package-menu--post-refresh' after any operation that changes
1730         the package database (`package-install' and `package-delete').  To
1731         avoid performance issues in large transactions, these functions
1732         add `post-refresh' to `post-command-hook' instead of calling it
1733         immediately.
1734         (package-menu--mark-or-notify-upgrades): New function.
1735         (list-packages): Add it to `package--post-download-archives-hook'.
1736         (package-menu--post-refresh): Lose the upgrade-checking code, add
1737         code to remove itself from `post-command-hook'.
1738         (package-install, package-delete): Add it to `post-command-hook'.
1739         (package-menu-execute): Don't call `package-menu--post-refresh'.
1741 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
1743         Add missing function xref-location-group for elisp-mode.
1744         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
1746 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
1748         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
1749         The behavior now matches the description in the manual.  (Bug#20783)
1751 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
1753         Update tutorials/TUTORIAL.cn
1754         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
1756 2015-06-17  Glenn Morris  <rgm@gnu.org>
1758         Generate char-script-table from Unicode source.  (Bug#20789)
1759         * admin/unidata/Makefile.in (AWK): New, set by configure.
1760         (all): Add charscript.el.
1761         (blocks): New variable.
1762         (charscript.el, ${unidir}/charscript.el): New targets.
1763         (extraclean): Also remove generated charscript.el.
1764         * admin/unidata/blocks.awk: New script.
1765         * admin/unidata/Blocks.txt: New data file, from unicode.org.
1766         * lisp/international/characters.el: Load charscript.
1767         * src/Makefile.in (charscript): New variable.
1768         (${charscript}): New target.
1769         (${lispintdir}/characters.elc): Depend on charscript.elc.
1770         (temacs$(EXEEXT)): Depend on charscript.
1772         * lisp/international/characters.el (char-script-table): Tweak
1773         some ranges to better match the source.  (Bug#20789#17)
1775         Remove "no-byte-compile: t" from a few files.
1776         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
1777         * lisp/obsolete/patcomp.el: No reason not to compile these.
1779 2015-06-16  Glenn Morris  <rgm@gnu.org>
1781         Fix some typos in copied Unicode data.  (Bug#20789)
1782         * lisp/international/characters.el (char-script-table):
1783         * lisp/international/fontset.el (script-representative-chars)
1784         (setup-default-fontset): Fix typos.
1786         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
1787         Don't print filename twice (it's in the prefix now).
1789         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
1790         No longer needed.
1792         Address a compilation warning.
1793         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
1794         Replace 't' with '_' in pcase.
1796         Address some check-declare warnings.
1797         * lisp/simple.el (tabulated-list-print):
1798         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
1799         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
1800         (ns-get-selection): Update declarations.
1802         Address some compilation warnings.
1803         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
1804         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
1805         Replace 't' with '_' in pcase.
1807         Address some compilation warnings.
1808         * lisp/face-remap.el (text-scale-adjust):
1809         * lisp/menu-bar.el (popup-menu-normalize-position):
1810         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
1811         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
1812         * lisp/emacs-lisp/generator.el (cps--transform-1):
1813         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
1814         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
1815         * lisp/progmodes/octave.el (octave-goto-function-definition)
1816         (octave-find-definition-default-filename):
1817         Replace 't' with '_' in pcase.
1819         * lisp/emacs-lisp/pcase.el (pcase--u1):
1820         Paper-over today's bootstrap failure.
1822 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
1824         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
1826         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
1828         Better confirmation message in `find-alternate-file' (Bug#20830)
1829         * lisp/files.el (find-alternate-file'): Improve the confirmation
1830         message to show the buffer name.
1832         Better docstring for null. (Bug#20815)
1833         * src/data.c (null): Improves the docstring, saying what null returns
1834         when OBJECT is non-nil.
1836 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
1838         * lisp/net/newst-treeview.el: Use lexical-binding.
1840         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
1841         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
1842         New auxiliary function, extracted from filepos-to-bufferpos.
1843         Make sure it terminates.
1844         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
1845         Add support for the `exact' quality.
1847 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
1849         Identify feeds in newsticker treeview with :nt-feed property
1850         * lisp/net/newst-treeview.el:
1851         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
1853 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
1855         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
1856         (pcase--self-quoting-p): Floats aren't self-quoting.
1857         (pcase): Tweak docstring.
1858         (pcase--u1): Deprecate the t pattern.  Improve error detection for
1859         the nil pattern.
1860         (\`): Tweak docstring.  Signal an error for unrecognized cases.
1861         (bug#20784)
1863 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
1865         Fix infloop in filepos-to-bufferpos
1866         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
1867         offset calculation, and make it conditional on the eol-type of the
1868         file's encoding.  (Bug#20825)
1870 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
1872         Fix handling of image cache refcounts.  (Bug#20802)
1873         This backports Eli Zaretskii's solution of this problem for W32
1874         to X and NS.
1875         * src/nsfns.m (image_cache_refcount): Define unconditionally.
1876         (unwind_create_frame): If the image cache's reference count
1877         hasn't been updated yet, do that now.
1878         (Fx_create_frame): Set image_cache_refcount unconditionally.
1879         * src/xfns.c (image_cache_refcount): Define unconditionally.
1880         (unwind_create_frame): If the image cache's reference count
1881         hasn't been updated yet, do that now.
1882         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
1883         unconditionally.
1884         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
1885         X and NS.
1887 2015-06-16  Nils Ackermann  <nils@ackermath.info>
1889         Improve reftex-label-regexps default value
1890         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
1891         keyvals label regexp more strict to better cope with unbalanced
1892         brackets common in math documents.
1894 2015-06-16  Glenn Morris  <rgm@gnu.org>
1896         * doc/emacs/calendar.texi (Format of Diary File):
1897         Move "nonmarking" from here...
1898         (Displaying the Diary): ... to here.
1900         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
1901         Swap the order of these nodes.
1902         * doc/emacs/emacs.texi: Update detailed menu for the above change.
1904         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
1905         Update date of examples.
1906         (Diary, Format of Diary File): Move example from former to latter.
1907         Reduce duplication.
1909         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
1910         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
1911         Don't set no-byte-compile in the outputs.
1912         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
1914 2015-06-15  Glenn Morris  <rgm@gnu.org>
1916         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
1917         * doc/emacs/calendar.texi (Diary, Format of Diary File):
1918         Update for above diary-file change.
1919         : * etc/NEWS: Mention this.
1921         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
1922         (apply-macro-to-region-lines): Use user-error.
1924         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
1925         (pages-directory-for-addresses): Doc fixes.
1927 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
1929         * lisp/info.el: Cleanup bytepos/charpos issues
1930         * lisp/international/mule-util.el: Use lexical-binding.
1931         (filepos-to-bufferpos): New function.
1932         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
1933         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
1934         (Info-read-subfile, Info-search): Use 0-based file positions.
1936         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
1937         (perl--syntax-exp-intro-keywords): New var.
1938         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
1939         (bug#20800).
1941 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1943         Fix quoting when making derived mode docstring
1944         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1945         Nest regexp-quote inside format, not the reverse.
1946         Problem reported by Artur Malabarba in:
1947         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
1949 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
1951         ;* src/fontset.c: Update obsolete commentary.
1953         Fix current-iso639-language on MS-Windows
1954         * lisp/international/mule-cmds.el (set-locale-environment):
1955         Downcase the locale name before interning it.  This is so the
1956         'current-iso639-language' on MS-Windows matches the ':lang'
1957         property of font-spec objects.
1959         Limit Symbola usage some more
1960         * lisp/international/fontset.el (setup-default-fontset): Limit
1961         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
1962         (Bug#20727)
1964 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
1966         * lisp/emacs-lisp/map.el (map-let): Better docstring.
1968 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1970         Spelling fixes
1972 2015-06-14  Glenn Morris  <rgm@gnu.org>
1974         * lisp/version.el (emacs-repository-version-git): Demote errors.
1975         Check result is a hash.
1977 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
1979         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1980         Catch errors that happen before going async.  (Bug#20809)
1982 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
1984         Another improvement of documentation of set-fontset-font
1985         * doc/lispref/display.texi (Fontsets): Say explicitly that
1986         CHARACTER can be a single codepoint.
1987         * src/fontset.c (Fset_fontset_font): Doc fix.
1989         Another improvement for symbol and punctuation characters
1990         * lisp/international/fontset.el (setup-default-fontset): Exclude
1991         from Symbola character ranges for symbols and punctuation covered
1992         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
1993         installed and where its coverage of symbols and punctuation is
1994         known to be good.  (Bug#20727)
1996 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
1998         Some generic support for multi-mode indentation.
1999                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
2000                 variable.
2001                 (prog-first-column, prog-widen): New convenience functions.
2003 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
2005         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
2006         Don't assume that `tabulated-list-printer' will leave point at the
2007         end of the buffer.  (Bug#20810)
2009 2015-06-13  Glenn Morris  <rgm@gnu.org>
2011         Tweaks for getting repository version; a bit more like it was for bzr.
2012         * lisp/version.el (emacs-repository-version-git)
2013         (emacs-repository--version-git-1): New functions,
2014         split from emacs-repository-get-version.
2015         (emacs-repository-get-version): Make the second argument meaningful.
2017         * lisp/startup.el (command-line-1): Inform if skipping relative
2018         file names due to deleted PWD.
2020         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
2021         when starup directory is missing.  (Bug#18851)
2022         (errno.h): Include it.
2024 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
2026         Better fix for documenting `X as "`X"
2027         Fix suggested by Stefan Monnier.
2028         * lisp/help-fns.el (help-fns--signature):
2029         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
2030         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2031         Don't treat `X specially, as help-fns--signature now handles this.
2033 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
2035         Improve the default fontset when Symbola is not installed
2036         * lisp/international/fontset.el (setup-default-fontset): Only
2037         prepend Symbola and FreeMono font specs for symbols and
2038         punctuation; do not replace the default spec for them.  This
2039         should have better results when Symbola/FreeMono are not
2040         installed.  (Bug#20727)
2042         Improve documentation of ':lang' in font specs
2043         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
2044         use of the ':lang' property of the font spec.
2045         * doc/emacs/frames.texi (Fonts): Document the language names that
2046         can be in the STYLE part of XLFD.
2047         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
2048         property.
2050         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
2052         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
2054         Revert last change in fontset.el
2055         * lisp/international/fontset.el (setup-default-fontset): Revert
2056         the change "Configure Symbola font only if installed", since font
2057         search is evidently not yet set up when this function is called.
2058         (Bug#20727)
2060 2015-06-12  Glenn Morris  <rgm@gnu.org>
2062         Ensure early startup warnings are visible at the end.  (Bug#20792)
2063         * lisp/emacs-lisp/warnings.el (display-warning):
2064         If startup isn't complete, delay the warning.
2065         * lisp/startup.el (normal-top-level, command-line):
2066         Let display-warning automatically handle the needed delays.
2067         Run delayed-warnings-hook.
2069         * lisp/version.el (emacs-repository-get-version):
2070         Avoid calling external executable if possible.  (Bug#20799)
2072 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2074         Document `X as "`X", not as "(` X)"
2075         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
2076         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
2078         * src/print.c (print_object): Minor simplification.
2080 2015-06-12  Glenn Morris  <rgm@gnu.org>
2082         * src/buffer.c (init_buffer): Add final newline to message.
2084 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2086         Configure Symbola font only if installed
2087         * lisp/international/fontset.el (setup-default-fontset):
2088         Don't specify the Symbola font if it's not installed.
2089         Likewise for FreeMono.  (Bug#20727)
2091 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
2093         Configure Symbola font only for symbols and punctuation
2094         * lisp/international/fontset.el (setup-default-fontset): Leave
2095         only symbols and punctuation in the fontset setup for Symbola
2096         font; remove "Greek and Coptic" and "Cyrillic Supplement".
2097         (Bug#20798)
2099 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
2101         Fix crash in fontset-info
2102         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
2103         non-nil.
2105 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
2107         Port to Solaris 10 sparc + Sun C 5.13
2108         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
2109         Adjust to process.c change.
2110         * src/process.c (create_process): Declare volatile variables at
2111         top level of this function, so that they're less likely to be
2112         reused later in the function in the code executed by the vforked
2113         child.  Do not declare locals used only in the vforked child, as
2114         they might share memory with locals still live in the parent.
2115         Instead, use the same variables in the child as in the parent.
2116         This works around a subtle bug that causes a garbage collector
2117         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
2119 2015-06-12  Glenn Morris  <rgm@gnu.org>
2121         * lisp/startup.el (normal-top-level): Don't let *Messages* get
2122         a nil default-directory.
2124 2015-06-11  Glenn Morris  <rgm@gnu.org>
2126         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
2128         Some progress towards starting with PWD deleted.  (Bug#18851)
2129         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
2130         * lisp/startup.el (normal-top-level, command-line-1):
2131         * lisp/minibuffer.el (read-file-name-default):
2132         Handle default-directory being nil.
2134 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2136         Fix "not a tty" bug on Solaris 10
2137         * configure.ac (PTY_OPEN): Define to plain 'open'
2138         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
2139         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
2140         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
2141         hosts that call grantpt which does its work via a setuid subcommand
2142         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
2143         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
2144         seems relevant in that case too.
2146 2015-06-11  Juri Linkov  <juri@linkov.net>
2148         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
2149         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
2150         (Bug#20785)
2152 2015-06-11  Glenn Morris  <rgm@gnu.org>
2154         * lisp/international/characters.el (char-script-table): Fix typo.
2156 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
2158         Fix quoting of help for functions with odd names
2159         While investigating Bug#20759, I discovered other quoting problems:
2160         C-h f mishandled characters like backslash and quote in function names.
2161         This fix changes the behavior so that 'C-h f pcase RET' now
2162         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
2163         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
2164         in src/lread.c's read1 function says that the backslash will be
2165         needed starting in Emacs 25, which implies that 'format' is
2166         correct and the old pcase documention was wrong to omit the backslash.
2167         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
2168         * lisp/help-fns.el (help-fns--signature):
2169         * lisp/help.el (help-add-fundoc-usage):
2170         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
2171         Use help--make-usage-docstring rather than formatting
2172         help-make-usage.
2173         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
2174         Return raw docstring.
2175         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
2176         raw docstring.  Take more care to distinguish raw from cooked dstrings.
2177         (describe-function-1): Let help-fns--signature substitute
2178         command keys.
2179         * lisp/help.el (help--docstring-quote): New function.
2180         (help-split-fundoc): Use it, to quote funny characters more
2181         systematically.
2182         (help--make-usage): Rename from help-make-usage, since this
2183         should be private.  Leave an obsolete alias for the old name.
2184         (help--make-usage-docstring): New function.
2185         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
2187 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2189         * lisp/thingatpt.el (in-string-p): Revert last change,
2190         since in-string-p is not used in thingatpt.el but only from outside.
2191         Also, use lexical binding.
2193 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
2195         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
2196         * test/automated/let-alist.el (let-alist-cons): Test it.
2198 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
2200         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
2202 2015-06-10  Glenn Morris  <rgm@gnu.org>
2204         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
2206         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
2207         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
2208         * admin/gitmerge.el (gitmerge-commit-message):
2209         Exclude "skipped" messages from ChangeLog once again.
2211         Slight namespace cleanup for thingatpt.el.
2212         * lisp/thingatpt.el (thing-at-point--in-string-p)
2213         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
2214         (thing-at-point--read-from-whole-string): Rename from
2215         old versions without "thing-at-point--" prefix.
2216         Keep old versions as obsolete aliases.  Update all uses.
2218         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
2219         Move requiring of finder from here...
2220         (checkdoc-package-keywords): ... to here.
2222         Use 'user-error' in a few calendar files.
2223         * lisp/calendar/appt.el (appt-add):
2224         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
2225         (calendar-generate):
2226         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
2227         Replace 'error' with 'user-error'.
2229         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
2231         * lisp/files-x.el (add-file-local-variable):
2232         Special-case 'lexical-binding'.  (Bug#20641)
2234         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
2235         No longer autoload.
2236         * doc/misc/autotype.texi (Executables):
2237         Undocument executable-self-display.
2239         * lisp/progmodes/executable.el (executable-self-display):
2240         Use non-obsolete tail syntax.  (Bug#20779)
2241         (executable-self-display): Doc update.
2243 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
2245         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
2246         (finder-known-keywords): Silence byte-compiler.
2248 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2250         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
2252         * lisp/progmodes/sh-script.el: Better handle nested quotes
2253         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
2254         (sh-font-lock-quoted-subshell): Make sure double quotes within single
2255         quotes don't mistakenly end prematurely the surrounding string.
2257         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
2259 2015-06-09  Glenn Morris  <rgm@gnu.org>
2261         * test/automated/Makefile.in (ELFILES): Sort.
2263         * Makefile.in (SUBDIR_MAKEFILES):
2264         * lwlib/Makefile.in (WARN_CFLAGS):
2265         Use built-in Make functions rather than echo+sed.
2267 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
2269         Update char-script-table
2270         * lisp/international/characters.el (char-script-table): Update
2271         from Unicode 8.0 Draft.
2273         Improve font selection for punctuation and other symbols
2274         * src/fontset.c (face_for_char): If the character's script is
2275         'symbol', and the font used for ASCII face has a glyph for it, use
2276         the font for the ASCII face instead of searching the fontsets.
2277         This comes instead of NS-specific code that used the current
2278         face's font instead, which is now disabled due to undesirable
2279         consequences.  (Bug#20727)
2281 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
2283         Skip past `#' to find BEG
2284         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
2285         past `#' to find BEG (bug#20771).
2286         * test/automated/elisp-mode-tests.el
2287         (elisp-completes-functions-after-hash-quote): New test.
2289 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2291         Fix compilation warning/error in --without-x builds
2292         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
2293         code on HAVE_WINDOW_SYSTEM.
2295         Improve the default fontset wrt symbols
2296         * lisp/international/fontset.el (setup-default-fontset): Better
2297         setup of fontset-default for symbols: use Symbola and FreeMono.
2298         (Bug#20727)
2300 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2302         Add new command checkdoc-package-keywords
2303         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
2304           defcustom.
2305         (checkdoc-list-of-strings-p): Add doc.
2306         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
2307         non-nil, call `checkdoc-package-keywords'.
2308         (checkdoc-get-keywords): New defun.
2309         (checkdoc-package-keywords): New command. Warns if the current file
2310         has package.el-style keywords that aren't in `finder-known-keywords'.
2311         * etc/NEWS: Add entry.
2313 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2315         Avoid crashes when key-binding is called from a timer
2316         * src/keymap.c (Fkey_binding): Don't segfault if called with an
2317         empty vector as KEY.  (Bug#20705)
2319         Fix a thinko in arc-mode.el
2320         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
2321         non-Zip64 case.  (Bug#20769)
2323 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
2325         * lisp/emacs-lisp/package.el (package-delete): Make interactive
2327 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2329         checkdoc.el (checkdoc-file): New function
2330         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
2331           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
2332           to the standard output.
2333         (bug#20754)
2335 2015-06-07  Glenn Morris  <rgm@gnu.org>
2337         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
2339         * src/font.c (syms_of_font) <font-log>: Doc fix.
2341         Remove the obsolete leading "*" from some C doc strings.
2342         * src/coding.c (syms_of_coding):
2343         * src/font.c (syms_of_font): Remove leading "*" from docs.
2344         * lisp/cus-start.el (enable-character-translation): Add it.
2346 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
2348         Move gen_origin from program to data
2349         That way, 'make change-history' needs to change only ChangeLog.2,
2350         instead of having to change two files.
2351         * ChangeLog.2: Add commit info for range that this file covers.
2352         * Makefile.in (new_commit_regexp): New macro.
2353         (change-history-nocommit): Simplify, by putting what used to be
2354         the gen_origin value into the data (ChangeLog.2) rather than
2355         into the program (gitlog-to-emacslog).
2356         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
2357         the input file (e.g., ChangeLog.2) rather than by having a
2358         constant in the program.  Substitute it into the output.
2360 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
2362         Escape any quotes in the function name
2363         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
2364         function name (bug#20759).
2366 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
2368         Adapt 'struct timespec' to next release of MinGW runtime
2369         * nt/inc/ms-w32.h (struct timespec): Don't declare if
2370         __struct_timespec_defined is defined.
2372 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
2374         Merge from gnulib
2375         This incorporates:
2376         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
2377         2015-06-05 stdio: Don't redefine gets when using C++
2378         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
2379         2015-06-02 file-has-acl: fix build on Mac OS X 10
2380         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
2381         2015-06-01 pthread_sigmask: discount system version if a simple macro
2382         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
2383         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
2384         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
2385         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
2386         * lib/gnulib.mk: Regenerate.
2388 2015-06-06  Juri Linkov  <juri@linkov.net>
2390         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
2391         before calling grep-compute-defaults because now it affects the
2392         command lines computed in grep-compute-defaults. (Bug#20728)
2394 2015-06-06  Glenn Morris  <rgm@gnu.org>
2396         Address some compilation warnings.
2397         * lisp/international/mule-cmds.el (w32-get-console-codepage)
2398         (w32-get-console-output-codepage):
2399         * lisp/progmodes/elisp-mode.el (xref-collect-references):
2400         * lisp/version.el (cairo-version-string): Declare.
2401         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
2403 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
2405         Fix display when a font claims large values of ascent and descent
2406         This fixes bug#20628.
2407         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
2408         coordinate of a hollow cursor glyph when the original glyph's
2409         ascent is too small.
2410         (get_font_ascent_descent, normal_char_ascent_descent)
2411         (normal_char_height): New functions.
2412         (handle_single_display_spec, append_space_for_newline)
2413         (calc_pixel_width_or_height, produce_stretch_glyph)
2414         (calc_line_height_property): Use normal_char_ascent_descent and
2415         normal_char_height.
2416         (x_produce_glyphs): When font-global values of ascent and descent
2417         are too large, use per-character glyph metrics instead, if
2418         possible.  But don't allow the glyph row's ascent and descent
2419         values become smaller than the values from the metrics of the
2420         font's "normal" character.
2421         * src/xftfont.c (xftfont_draw):
2422         * src/w32font.c (w32font_draw): Correct the values of ascent and
2423         descent used to draw glyphless characters' hex code in a box.
2424         * src/xterm.c (x_draw_glyph_string_background):
2425         * src/xdisp.c (x_produce_glyphs):
2426         * src/w32term.c (x_draw_glyph_string_background):
2427         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
2428         to detect fonts whose global ascent and descent values are too
2429         large to be used in layout decision, and redraw the background
2430         when that happens.
2431         * src/dispextern.h (FONT_TOO_HIGH): New macro.
2432         (get_font_ascent_descent): Add prototype.
2433         * src/xterm.c (x_new_font):
2434         * src/w32term.c (x_new_font):
2435         * src/nsterm.m (x_new_font):
2436         * src/font.c (font_open_entity):
2437         * src/composite.c (composition_gstring_width): Use
2438         get_font_ascent_descent to obtain reasonable values for ascent and
2439         descent of a font.
2441 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
2443         Add assertion in adjust_point_for_property
2444         * src/keyboard.c (adjust_point_for_property): Add eassert for
2445         current buffer being shown in selected window.
2447 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
2449         Replace uses of in-string-p; make it obsolete
2450         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
2451         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
2453 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
2455         Fix Dired display of an explicit list of files by ls-lisp.el
2456         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
2457         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
2458         correct for when displaying individual files separately, not as
2459         part of listing a directory, in which case these values are not
2460         recomputed by 'ls-lisp-insert-directory', but used verbatim.
2462         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
2464 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
2466         Do not adjust point in a non-selected window
2467         * src/keyboard.c (command_loop_1): Do not adjust point when
2468         current buffer is not shown in selected window (Bug#20590).
2470         * etc/DEBUG: Mention 'maybe_call_debugger'
2472 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
2474         Fix a unit test for map.el
2475         * test/automated/map-tests.el (test-map-let): Fix the test to work
2476         with the new syntax of `map-let'.
2478         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2480         Better syntax for the map pcase pattern
2481         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
2482         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
2484         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
2486         Fix a byte-compiler error in map-put and map-delete
2487         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
2488         called with a symbol.
2490 2015-06-05  Glenn Morris  <rgm@gnu.org>
2492         * admin/gitmerge.el (gitmerge-commit-message):
2493         Revert to including "skipped" messages in ChangeLog once again.
2495 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
2497         Use string> instead of equiv lambda with string<
2498         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
2499         lambda with string<.
2501 2015-06-05  Glenn Morris  <rgm@gnu.org>
2503         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
2504         (map--delete-array): Fix typo.
2506         * test/automated/map-tests.el: Replace "assert" with "should".
2508         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
2509         (SUBDIRS_REL): Derive from SUBDIRS.
2511         Tweak some build messages.
2512         * lisp/Makefile.in ($(lisp)/loaddefs.el):
2513         * lisp/cus-dep.el (custom-make-dependencies):
2514         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
2515         * lisp/international/titdic-cnv.el (batch-titdic-convert):
2516         Don't say how to compile.
2518 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
2520         Omit U+0332 COMBINING LOW LINE in previous change
2521         It turns out that it does not work on Ubuntu 15.04.
2523         Fix transliteration of Bahá'í months
2524         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
2525         Improve quality of Latin transliteration of Bahá'í month names.
2527         Fix curved quotes in a few places
2528         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
2529         The strings in question are not doc strings, so this partially
2530         undoes the recent change that assumed they were doc strings.
2531         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2532         * lisp/info.el (Info-finder-find-node):
2533         Use curved quotes.
2534         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2535         Also allow curved quotes in doc strings.
2537 2015-06-04  Glenn Morris  <rgm@gnu.org>
2539         * lisp/Makefile.in (AM_V_at): Add missing definition.
2541         * lisp/Makefile.in: Quieten output a bit.
2542         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
2543         Don't echo directories, since the commands we invoke print them.
2545         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
2546         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
2547         (SUBDIRS_SUBDIRS): New variables.
2548         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
2549         Remove.
2550         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
2551         (update-subdirs, compile-main, compile-clean):
2552         Replace "setwins" usage with new "SUBDIRS" variables.
2554         * lisp/vc/compare-w.el (compare-windows-get-window-function):
2555         Fix :version tag.
2557 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2559         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
2561         Undo removal of x_clear_area call on expose for GTK3 or cairo.
2562         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
2563         exposed area.  (Bug#20677)
2565 2015-06-04  Glenn Morris  <rgm@gnu.org>
2567         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
2569         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
2571         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
2572         Rename from quail-lao-update-translation, since lao.el defines that.
2574 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
2576         Handle new-style advice in find-funct
2577         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
2578         Handle new-style advice.  Return the symbol's function definition.
2579         (Bug#20718)
2580         (find-function-library): Update accordingly.
2582 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
2584         Merge branch 'map'
2586         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
2588         Add new function string-greaterp
2589         * lisp/subr.el (string-greaterp): New function.  Also aliased to
2590         `string>'.
2591         * test/automated/subr-tests.el (string-comparison-test): Add unit
2592         tests for `string>'and `string<'.
2593         * src/fns.c (string-lessp): Better docstring.
2595 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
2597         Fix timezone-related functions on MS-Windows
2598         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
2599         'xputenv', even if no reallocation of tzvalbuf was necessary.
2600         This fixes a bug in timezone-related functions on MS-Windows.
2601         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
2603 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2605         Don't pass raw directory name to 'error'
2606         * lisp/files.el (basic-save-buffer-2): Avoid format error if
2607         a directory name contains a string like "%s".
2609 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
2611         Override 'grep --color=always'
2612         * lisp/progmodes/xref.el (xref-collect-matches):
2613         Override --color=always in grep-find-template.
2615 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
2617         Fix error introduced recently in file-notify-tests.el
2618         * test/automated/file-notify-tests.el
2619         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
2620         (file-notify--deftest-remote): Revert previous patch, not
2621         necessary anymore.
2623 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
2625         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
2626         Starting from a display string after a newline, point went to the
2627         previous line.  Also, fix an inadvertent use of a buffer position
2628         with FETCH_BYTE.  (Bug#20701)
2630 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
2632         Instrument file-notify-test.el in order to catch hydra error.
2633         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
2634         Wrap body by `ignore-case', in order to trap non-local errors.
2636 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2638         Undo previous changes in non-toolkit scroll bar drawing.
2639         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
2640         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
2642 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2644         * .gitignore: Also ignore doc/*/*/*.html and .ps.
2646         Support quotes 'like this' in info files
2647         This is possible when 'makeinfo --disable-encoding' is used
2648         in Texinfo 5.
2649         * lisp/calc/calc-help.el (calc-describe-thing):
2650         * lisp/gnus/gnus-art.el (gnus-button-alist):
2651         * lisp/info.el (Info-find-index-name):
2652         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
2653         Also support quotes 'like this'.
2654         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
2655         * lisp/finder.el (finder-font-lock-keywords): Remove var that
2656         hasn't been used in years, instead of bothering to fix its quoting.
2658 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2660         * .gitignore: Remove !test/etags/html-src/*.html.
2661         It's no longer needed, since *.html was removed.  Sort.
2663 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2665         Restore <D> instead of '.' in grep-find-template
2666         * lisp/cedet/semantic/symref/grep.el
2667         (semantic-symref-grep-use-template): Update a comment.
2668         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
2669         instead of '.' in grep-find-template (bug#20719).
2670         (rgrep): Pass nil as the directory to rgrep-default-command.
2671         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
2672         default value for DIR.
2673         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
2674         workaround.
2676 2015-06-02  Glenn Morris  <rgm@gnu.org>
2678         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
2680         * configure.ac (emacs_config_features): Add Cairo.
2682         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
2684 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
2686         Ensure, that autorevert works for remote files in file-notify-tests.el
2687         * test/automated/file-notify-tests.el (file-notify--test-desc):
2688         New defvar.
2689         (file-notify--test-remote-enabled)
2690         (file-notify-test00-availability, file-notify-test01-add-watch)
2691         (file-notify-test02-events): Use it.
2692         (file-notify--test-event-test): Check proper descriptor.
2693         (file-notify-test03-autorevert): Ensure, that
2694         `visited-file-modtime' has changed.
2695         (Bug#20392)
2697 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
2699         Add a pcase pattern for maps and `map-let' based on it
2700         * lisp/emacs-lisp/map.el (map-let): New macro.
2701         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
2702         * test/automated/map-tests.el: New test for `map-let'.
2704 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2706         Reuse rgrep mechanics in xref-find-regexp
2707         * lisp/progmodes/grep.el (rgrep-default-command):
2708         Extract from `rgrep'.
2709         * lisp/progmodes/xref.el (xref-collect-references): Split from
2710         `xref-collect-matches'.  Only handle the case of symbol search.
2711         (xref-collect-matches): Instead of Semantic Symref, use
2712         `rgrep-default-command', to take advantage of its directory and
2713         file ignore settings.
2714         (xref--collect-match): Remove the last argument, leaving the
2715         regexp construction up to the caller.
2716         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
2717         Change to take the xref-collect- function to use as an argument.
2718         (elisp-xref-find): Update accordingly.
2719         * lisp/progmodes/etags.el (etags--xref-find-matches)
2720         (etags-xref-find): Same.
2722         Move xref-elisp-location to elisp-mode.el
2723         * lisp/progmodes/xref.el (xref-elisp-location)
2724         (xref-make-elisp-location, xref-location-marker): Remove here.
2725         (xref--xref): Don't limit the type of the location slot.
2726         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
2727         Define as a cl-struct here.
2728         (xref-location-marker): Move here.
2730 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
2732         Minor tweaks for .gitignore
2733         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
2734         ignore admin/notes/tags that might be ignored as TAGS on
2735         case-insensitive filesystems.  (Bug#20710)
2737 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2739         Generate curved quotes in ert doc
2740         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
2741         (ert-results-mode-menu)
2742         (ert-results-pop-to-backtrace-for-test-at-point)
2743         (ert-results-pop-to-messages-for-test-at-point)
2744         (ert-results-pop-to-should-forms-for-test-at-point)
2745         (ert-describe-test):
2746         Quote ‘like this’, not `like this', when generating doc strings
2747         and the like.
2748         * test/automated/ert-x-tests.el (ert-test-describe-test):
2749         Allow quoting ‘like this’.
2751 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
2753         Add test for previous commit
2754         * test/automated/replace-tests.el: New file.
2755         (query-replace--split-string-tests): Add test for previous commit.
2757         Avoid confusion in query-replace history when replacing NUL chars
2758         * lisp/replace.el (query-replace--split-string): New function.
2759         (query-replace-read-from): Rely on the 'separator' property
2760         instead of searching for the NUL character (Bug#20690).
2762 2015-06-02  Glenn Morris  <rgm@gnu.org>
2764         Merge from origin/emacs-24
2765         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
2767         * admin/gitmerge.el (gitmerge-commit-message):
2768         Exclude "skipped" messages from ChangeLog.
2770 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
2772         Sync with Tramp repository
2773         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
2774         messages.
2775         (tramp-handle-make-auto-save-file-name): When calling
2776         `make-auto-save-file-name' internally, make sure it uses Unix-like
2777         behavior, not Windows-like behavior.
2778         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
2779         the local case, because "chown" might fail on w32.
2780         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
2781         for XEmacs.
2783 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
2785         MS-Windows followup for batch stdout/stderr output changes
2786         * lisp/international/mule-cmds.el (set-locale-environment): In
2787         batch mode, use console codepages for keyboard and terminal
2788         encoding.  (Bug#20545)
2790         Update .gitattributes for DOS EOL files
2791         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
2792         CRLF end-of-line format.
2794         NS equivalents of xterm.c and w32term.c changes
2795         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
2796         glyph string background also when the font in use claims
2797         preposterously large global height value.  Helps to remove
2798         artifacts left from previous displays when glyphless characters
2799         are displayed as hex code in a box.
2800         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
2801         value for FRAME_LINE_HEIGHT, even when a font claims very large
2802         value for its height.
2804 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
2806         Avoid grave accent quoting in stderr diagnostics
2807         A few Emacs diagnostics go directly to stderr, and so can't easily
2808         contain curved quotes (as non-UTF-8 locales might mishandle them).
2809         Instead of bothering to add support for this rarity, reword the
2810         diagnostics so that they don't use grave accent to quote.
2811         * src/alloc.c (mark_memory): Fix comment.
2812         * src/buffer.c (init_buffer):
2813         * src/dispnew.c (init_display):
2814         * src/emacs.c (main, sort_args):
2815         * src/lread.c (dir_warning):
2816         * src/term.c (init_tty):
2817         * src/unexmacosx.c (unexec):
2818         * src/xfns.c (select_visual):
2819         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
2820         Reword stderr diagnostics to avoid quoting `like this'.
2821         * src/unexmacosx.c: Include errno.h.
2822         * src/xfns.c (select_visual): Encode value for locale.
2824 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
2826         Treat batch stdout/stderr like standard display
2827         Calls like (print FOO) could generate improperly encoded or
2828         hard-to-read output if FOO contains characters outside the system
2829         locale.  Fix this by treating batch stdout and stderr like
2830         interactive standard display, when it comes to transliterating and
2831         encoding characters (Bug#20545).
2832         * doc/emacs/mule.texi (Communication Coding):
2833         * doc/lispref/display.texi (Active Display Table):
2834         * doc/lispref/nonascii.texi (Locales):
2835         * etc/NEWS:
2836         * src/coding.c (syms_of_coding):
2837         * src/dispnew.c (syms_of_display):
2838         Document this.
2839         * src/print.c: Include disptab.h.
2840         (printchar_to_stream): New function, with much of the guts of the
2841         old Fexternal_debugging_output, except this one also uses the
2842         standard display table.
2843         (printchar, strout, Fexternal_debugging_output): Use it.
2845 2015-05-31  Glenn Morris  <rgm@gnu.org>
2847         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
2849 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
2851         Remove unused DEFSYMs
2852         Remove DEFSYMs that aren't used at the C level.  Also:
2853         * src/decompress.c (Qzlib_dll):
2854         * src/font.c (Qunicode_sip):
2855         * src/frame.c (Qtip_frame):
2856         * src/ftfont.c (Qserif):
2857         * src/gnutls.c (Qgnutls_dll):
2858         * src/xml.c (Qlibxml2_dll):
2859         Move from here ...
2860         * src/w32fns.c (syms_of_w32fns): ... to here,
2861         as these are used only on MS-Windows.
2863 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
2865         Use another default value for tramp-histfile-override
2866         * lisp/net/tramp-sh.el (tramp-histfile-override):
2867         Use ".tramp_history" as default.
2868         Fixes: debbugs:#20446
2870 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
2872         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
2874 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
2876         * etc/NEWS: Add an entry about map.el
2878         Improve the docstring of functions in map.el
2879         Since a map is not a data structure but a concept, adding information
2880         about the possible types of maps can be useful information.
2881         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
2882         each public function.
2884 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
2886         Faster implementation of map-empty-p
2887         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
2888         specific tests depending on the type of the map.
2890         * lisp/emacs-lisp/map.el: Better docstrings.
2892 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2894         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
2896 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
2898         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
2900         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
2902         Fix a false negative in `map-elt' with alists and values being nil
2903         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
2904         found but its associated value is nil, do not return the default
2905         value.
2906         * test/automated/map-tests.el: Add a regression test.
2908 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
2910         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
2912         Do not signal an error when trying to delete a key from an array
2913         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
2914         the key is present to avoid signaling an error.
2915         * test/automated/map-tests.el: Add a test for deleting non-existing
2916         keys from maps.
2918         * lisp/emacs-lisp/map.el: Better docstring.
2920         Minor improvement in map-elt.
2921         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
2922         doing a lookup in arrays, but check the boundaries of the array
2923         instead.
2924         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
2925         and a negative integer as key.
2927 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
2929         * test/automated/map-tests.el: Refactoring of test methods.
2931         * test/automated/map-tests.el: Renamed from map-test.el.
2933 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
2935         * lisp/emacs-lisp/map.el (map-into): Better error message.
2937         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
2939         Throw an error when converting a map into an unknown map type
2940         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
2941         * test/automated/map-test.el: Add a regression test.
2943         New library map.el similar to seq.el but for mapping data structures.
2944         * test/automated/map-test.el: New file.
2945         * lisp/emacs-lisp/map.el: New file.
2947 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
2949         Make sure there's no explicit tag name
2950         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
2951         there's no explicit tag name (bug#20629).
2953 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
2955         Remove format2
2956         * src/editfns.c, src/lisp.h (format2): Remove.
2957         It is more trouble than it's worth, now that we have CALLN.
2958         This is just a minor refactoring.
2959         * src/buffer.c (Fkill_buffer):
2960         * src/dbusbind.c (XD_OBJECT_TO_STRING):
2961         * src/fileio.c (barf_or_query_if_file_exists):
2962         Adjust to format2 going away.
2964         Don't misencode C-generated messages
2965         Also, be more consistent about calls to 'Fmessage' vs 'message'.
2966         * src/alloc.c (Fgc_status):
2967         Prefer AUTO_STRING to build_string for Fmessage call.
2968         * src/data.c (Fmake_variable_buffer_local)
2969         (Fmake_local_variable, Fmake_variable_frame_local):
2970         * src/doc.c (store_function_docstring):
2971         Use Fmessage, not message, since the argument can contain
2972         non-ASCII characters, and this can cause the resulting message
2973         to be incorrectly encoded for the current environment.
2974         * src/fns.c (maybe_resize_hash_table):
2975         * src/xselect.c (x_clipboard_manager_save_all):
2976         Use message, not Fmessage, since Fmessage's power isn't needed here.
2977         * src/process.c (Fmake_network_process): Reword message to avoid %s.
2978         * src/xdisp.c (vmessage): Document restrictions on message contents.
2979         (message_nolog) [false]: Remove unused code.
2981         Use \r rather than ^M in string literals
2982         This is less likely to cause problems on platforms that
2983         use CRLF (or CR!) termination for lines.
2985         Update .gitattributes to match current sources
2986         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
2987         * .gitattributes: Accommodate tests that insist on DOS format.
2988         Remove test/automated/data/decompress/foo-gzipped.
2989         Add etc/e/eterm-color.
2991 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
2993         Document 'face-ignored-fonts'
2994         * doc/emacs/mule.texi (Modifying Fontsets): Document
2995         face-ignored-fonts.  (Bug#20628)
2997         Add etags test for the new -Q option
2998         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
2999         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3000         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3001         test-case changes below.
3002         * test/etags/ETAGS.good_6: New file.
3003         * test/etags/cp-src/x.cc: New file.
3004         * test/etags/Makefile (CPSRC): Add x.cc.
3005         (check): Add one more test, for -Q.
3007 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
3009         Use list for the tags completion table, not obarray
3010         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
3011         list instead of an obarray
3012         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
3013         (tags-completion-table): Combine those lists.
3014         (tags-completion-table): Update the docstring.
3016 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
3018         Restore EOL format testing in etags
3019         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
3020         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
3021         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
3022         test-case changes below.
3023         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
3024         * test/etags/cp-src/c.C (B): Add back stray CR character.
3025         * test/etags/c-src/dostorture.c: Add back.
3026         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
3028 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
3030         Declare Emacs on MS-Windows to be DPI-aware
3031         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
3032         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
3033         This avoids Windows entering compatibility mode for Emacs,
3034         which causes fonts to look less nice.
3036 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
3038         Improve Tramp traces.
3039         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
3040         * lisp/net/tramp.el (tramp-debug-message): Use it.
3042 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
3044         backup-buffer minor reworking of internals
3045         * lisp/files.el (backup-buffer): Rework to avoid a couple of
3046         unused locals inadvertently introduced in the previous change.
3048         backup-buffer now reports .emacs.d/%backup% ills
3049         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
3050         fails due to disk space exhaustion or whatever, do not pretend
3051         that it succeeded.  More generally, do a better job of checking
3052         for I/O failures, and limit the scope of the condition-case to
3053         just the operations where file errors should be caught and ignored
3054         (Bug#20595).  Also, don't bother trying to delete later backups if
3055         an earlier deletion fails, as this is a sign of trouble and it's
3056         better to stop when there's trouble.
3058         copy-file now truncates output after writing
3059         * src/fileio.c (Fcopy_file): Truncate output after writing rather
3060         than before.  This is more likely to work than truncation before
3061         writing, if the file system is out of space or the user is over
3062         disk quota (Bug#20595).  Also, check for read errors.
3064 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
3066         * lisp/emacs-lisp/package.el: Don't load from parent dir
3067         (package-load-all-descriptors): Don't load descriptors from
3068         directories above the package directories.
3070 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3072         Merge from gnulib
3073         This incorporates the following (Bug#20681):
3074         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
3075         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
3076         * lib/set-permissions.c: Copy from gnulib.
3078 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
3080         Improve Tramp traces.
3081         * lisp/net/tramp.el (tramp-call-process-region): New defun.
3082         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
3084 2015-05-29  Glenn Morris  <rgm@gnu.org>
3086         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
3088 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
3090         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
3091         The signature was changed in the cairo branch, merged on 2015-05-23.
3092         This oversight broke compiling only the non-toolkit X version.
3094 2015-05-29  Samer Masterson  <samer@samertm.com>
3096         * doc/lispref/os.texi: Update initial-buffer-choice docs.
3098 2015-05-29  Glenn Morris  <rgm@gnu.org>
3100         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
3101         Mark as an expected failure.
3103 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3105         Change package test to look for curved quotes
3106         * test/automated/package-test.el (package-test-describe-package)
3107         (package-test-signed): Search for curved single quotes as well as
3108         for grave accent and apostrophe.
3110 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
3112         gnus-art.el: Re-revert last change
3113         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
3114         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
3116 2015-05-28  Samer Masterson  <samer@samertm.com>
3118         Show files when `initial-buffer-choice' is non-nil
3119         * startup.el (command-line-1): When Emacs is given a file as an
3120         argument and `initial-buffer-choice' is non-nil, display both the file
3121         and `initial-buffer-choice'.  For more than one file, show
3122         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
3123         commands out of the command line arg parser.
3124         (initial-buffer-choice): Clarify docstring.
3126 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
3128         Fix last commit
3129         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
3130         (gnulib module qcopy-acl): Add back, as it is harmless.  This
3131         minimizes differences wrt lib/gnulib.mk.
3133         Fix the MS-Windows build as followup to gnulib update
3134         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
3135         set-permissions.c, as they don't compile on MinGW.
3136         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
3138 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
3140         Revert my change to gnus-art.el
3141         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
3142         It wasn't that important, and it caused a Gnus build to fail.  See:
3143         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
3145         New minor mode Electric Quote
3146         This lets you easily insert quotes ‘like this’ by typing
3147         quotes `like this', and similarly you can easily insert
3148         quotes “like this” by typing quotes ``like this'' (Bug#20545).
3149         * doc/emacs/basic.texi (Inserting Text):
3150         * doc/emacs/modes.texi (Minor Modes):
3151         * etc/NEWS: Document it.
3152         * doc/emacs/text.texi (Quotation Marks): New section.
3153         * lisp/electric.el (electric-quote-comment)
3154         (electric-quote-string, electric-quote-paragraph):
3155         New custom vars.
3156         (electric--insertable-p)
3157         (electric-quote-post-self-insert-function): New functions.
3158         (electric-quote-mode, electric-quote-local-mode): New minor modes.
3159         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3160         Add curved single quotes to electric-pair-text-pairs.
3161         Set electric-quote-string in this buffer.
3163         A few more doc string fixes (Bug#20385)
3165         Accept curved quotes in doc strings
3166         * lisp/info-look.el (info-lookup-guess-custom-symbol):
3167         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
3169         Generate curved quotes in pseudo-info nodes
3170         * lisp/info.el (Info-virtual-index-find-node)
3171         (Info-virtual-index, Info-apropos-find-node, info-apropos):
3172         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
3174         Fix minor quoting problems in doc strings
3175         Most of these fixes involve escaping grave accents that are
3176         actually intended to be grave accents, not left quotes.
3177         (Bug#20385)
3179         Support curved quotes in doc strings
3180         Emacs's traditional doc string style has been to quote symbols
3181         `like this'.  This worked well on now-obsolete terminals where
3182         ` and ' were symmetric quotes, but nowadays curved quotes
3183         ‘like this’ look better.  Support quoting the new way too.
3184         (Bug#20385)
3185         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
3186         ‘like-this’ as well as `like-this'.
3187         * etc/NEWS: Mention this.
3188         * lisp/cedet/mode-local.el (overload-docstring-extension)
3189         (mode-local-print-binding, mode-local-describe-bindings-2):
3190         * lisp/cus-theme.el (describe-theme-1):
3191         * lisp/descr-text.el (describe-text-properties-1, describe-char):
3192         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3193         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
3194         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
3195         (eieio-help-constructor):
3196         * lisp/emacs-lisp/package.el (describe-package-1):
3197         * lisp/faces.el (describe-face):
3198         * lisp/help-fns.el (help-fns--key-bindings)
3199         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
3200         (help-fns--interactive-only, describe-function-1):
3201         (describe-variable):
3202         * lisp/help.el (describe-mode):
3203         * lisp/international/mule-cmds.el (describe-input-method)
3204         (describe-language-environment):
3205         * lisp/international/mule-diag.el (describe-character-set)
3206         (print-coding-system-briefly, list-input-methods)
3207         (list-input-methods-1):
3208         Insert curved quotes rather than grave accent and apostrophe.
3209         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3210         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
3211         (checkdoc-proper-noun-region-engine):
3212         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
3213         (lisp-cl-font-lock-keywords-2):
3214         * lisp/finder.el (finder-font-lock-keywords):
3215         * lisp/gnus/gnus-art.el (gnus-button-alist):
3216         * lisp/help-fns.el (help-do-arg-highlight)
3217         (describe-function-1, describe-variable):
3218         * lisp/help-mode.el (help-xref-symbol-regexp)
3219         (help-xref-info-regexp, help-xref-url-regexp):
3220         * lisp/help.el (describe-mode):
3221         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
3222         * lisp/wid-edit.el (widget-documentation-link-regexp):
3223         Parse symbols quoted ‘like-this’ as well as `like-this'.
3224         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
3225         Add "‘" and "’" to electric-pair-text-pairs.
3226         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
3227         (elisp-completion-at-point, elisp--preceding-sexp):
3228         Also treat "‘" and "’" as quoting chars.
3230         substitute-command-keys now curves quotes
3231         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
3232         * doc/lispref/help.texi (Keys in Documentation):
3233         * etc/NEWS: Document this.
3234         * src/doc.c (Fsubstitute_command_keys): Implement it.
3236 2015-05-28  Glenn Morris  <rgm@gnu.org>
3238         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
3239         (rmail-summary-by-topic, rmail-summary-by-senders):
3240         No longer strip leading/trailing whitespace.
3242         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
3243         (f90-no-block-limit): Add "enum".  (Bug#20680)
3244         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
3245         New tests.
3247 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3249         * lisp/isearch.el (isearch--current-buffer): Give a default value.
3251         Un-revert changes mistakenly dropped by f9fabb2b
3253 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3255         Merge from gnulib
3256         This incorporates:
3257         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
3258         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
3259         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
3260         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
3261         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
3262         2015-05-26 stdio: fix probe on mingw under gcc 5.1
3263         * admin/merge-gnulib (GNULIB_MODULES):
3264         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
3265         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
3266         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
3267         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
3268         Get latest versions from gnulib.
3269         * lib/get-permissions.c, lib/set-permissions.c: New files.
3270         * lib/gnulib.mk, m4/gnulib-comp.m4:
3271         Regenerate.
3272         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
3274 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
3276         Delete the old process in vc-setup-buffer
3277         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
3278         process here.
3279         (vc-do-command): Rather than here (bug#20608).
3281 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
3283         Avoid gratuitous delete-dups in face-at-point.
3284         * lisp/faces.el (face-at-point): Do not compute the properly
3285         ordered, duplicate-free list if only a single value is
3286         requested anyway.  (Bug#20519)
3288         Show the exact C-x 8 RET invocation in describe-char.
3289         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
3290         invocation instead of a template.  (Bug#20522)
3292 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3294         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
3295         (package-menu--post-refresh): Call `tabulated-list-print' with the
3296         UPDATE argument.  This only affects the refresh action, the revert
3297         action still erases tags.
3298         (package-menu-get-status): Change `assq' to `assoc'.
3299         (package-menu--mark-upgrades-1): New function.
3300         (package-menu--mark-upgrades-pending): New variable.
3301         (package-menu-mark-upgrades): Use them to delay marking until
3302         after refresh is done.
3303         (package-menu--post-refresh): Call mark-upgrades-1 if
3304         mark-upgrades-pending is non-nil.
3306 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3308         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
3310 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3312         * lisp/isearch.el (isearch--current-buffer): New var
3313         (isearch-update): Set cursor-sensor-inhibit here.
3314         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
3316         Change inhibit-point-motion-hooks to t
3317         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
3318         to t and document it as obsolete.
3320 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
3322         Support ZIP files that use Zip64 extensions
3323         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
3324         format of central directory offsets used by Zip64 extensions.
3325         (Bug#20665)
3327 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3329         New test tramp-test30-make-auto-save-file-name
3330         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
3331         (tramp-test31-special-characters)
3332         (tramp-test31-special-characters-with-stat)
3333         (tramp-test31-special-characters-with-perl)
3334         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
3335         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
3336         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
3337         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
3339         Improve tramp-handle-make-auto-save-file-name
3340         * tramp.el (tramp-auto-save-directory): Add :tags.
3341         (tramp-handle-make-auto-save-file-name): Let native
3342         `make-auto-save-file-name' use `auto-save-file-name-transforms',
3343         if `tramp-auto-save-directory' is not set.
3345 2015-05-27  Glenn Morris  <rgm@gnu.org>
3347         No longer set dired-directory in eshell.  (Bug#16477)
3348         * lisp/eshell/esh-mode.el (eshell-mode):
3349         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
3351         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
3353         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
3354         * lisp/progmodes/cc-mode.el (c-mode-help-address):
3355         Change to submit@debbugs.
3356         (c-mode-bug-package): New constant.
3357         (mail-position-on-field): Declare.
3358         (c-submit-bug-report): Insert X-Debbugs-Package header.
3359         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
3360         Mention debbugs.gnu.org.
3362 2015-05-26  Glenn Morris  <rgm@gnu.org>
3364         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
3365         (rmail-summary-by-recipients, rmail-summary-by-topic)
3366         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
3367         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
3369 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3371         Handle curved quotes in info files
3372         * lisp/calc/calc-help.el (calc-describe-thing):
3373         * lisp/info.el (Info-find-index-name)
3374         (Info-try-follow-nearest-node, Info-fontify-node):
3375         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3376         In info files, process quotes ‘like this’ the same way we process
3377         quotes `like this'.  This catches a few places we missed earlier.
3379 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
3381         xref-prompt-for-identifier: Use a list value
3382         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
3383         value, to be interpreted as a list of commands.
3384         (xref--prompt-p): New function.
3385         (xref--read-identifier): Use it.
3387 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
3389         Teach MS-Windows font back-end return per-glyph ascent/descent
3390         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
3391         values.
3392         * src/w32font.c (w32font_text_extents): Compute, cache, and
3393         accumulate per-glyph ascent and descent values, instead of copying
3394         global values from the font.  If the values are not available from
3395         the font data, i.e., non-TTF fonts, fall back on font-global values.
3396         (compute_metrics): Compute and return per-glyph ascent and descent
3397         values, if returned by GetGlyphOutlineW, falling back on
3398         font-global values.  (Bug#20628)
3399         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
3400         height of rectangle to be drawn, to be compatible with
3401         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
3402         box, when per-glyph ascent/descent values are used.
3404 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
3406         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
3407         (tabulated-list-print): Don't sort if sorter is nil
3409 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
3411         Fix Bug#20621
3412         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
3413         are major modes which set `auto-save-mode' on their own rules;
3414         Tramp shall not overwrite such settings.
3415         (Bug#20621)
3417 2015-05-26  Glenn Morris  <rgm@gnu.org>
3419         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
3420         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
3421         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
3422         Doc updates.
3423         (vc-dir-mode): Remove unnecessary autoload.
3425 2015-05-25  Philipp Stephani  <phst@google.com>
3427         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
3428         (xterm--extra-capabilities-type): Add `getSelection'.
3429         (xterm--query): Add `no-async' argument.
3430         (xterm--init-activate-get-selection): New function.
3431         (terminal-init-xterm): Use it.
3432         (xterm--init-modify-other-keys): Rename from
3433         terminal-init-xterm-modify-other-keys.
3434         (xterm--init-bracketed-paste-mode): Rename from
3435         terminal-init-xterm-bracketed-paste-mode.
3436         (xterm--init-activate-set-selection): Rename from
3437         terminal-init-xterm-activate-set-selection.
3438         (xterm--selection-char): New function.
3439         (gui-backend-set-selection): Use it.  Use the &context to only apply
3440         this method in terminals where we enabled the feature.
3441         (gui-backend-get-selection): New method.
3443 2015-05-25  Daniel Colascione  <dancol@dancol.org>
3445         Add C-language keyword constants to C++
3446         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
3447         keyword constants to C++.
3449 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
3451         Make TAGS files more portable to MS-Windows
3452         * etc/NEWS: Document this.
3453         * lib-src/etags.c (readline_internal) [DOS_NT]:
3454         Don't treat CRs differently from GNUish hosts.
3455         * lisp/progmodes/etags.el (etags-goto-tag-location):
3456         Adjust STARTPOS to account for the skipped CRs in dos-style files.
3458 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3460         Improve fix of debbugs:20634 in tramp-sh.el
3462 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
3464         Fix a typo in last commit
3465         * lib-src/etags.c (C_entries): Fix a typo.
3466         * test/etags/ETAGS.good_1:
3467         * test/etags/ETAGS.good_2:
3468         * test/etags/ETAGS.good_3:
3469         * test/etags/ETAGS.good_4:
3470         * test/etags/ETAGS.good_5:
3471         * test/etags/CTAGS.good: Update due to the change in etags.c.
3473         Fix tagging of class members in C-like OO languages
3474         * lib-src/etags.c (longopts): Add new option --class-qualify and
3475         its shorthand -Q.
3476         (print_help): Add help text for --class-qualify.
3477         (main): Add handling of -Q.
3478         (consider_token, C_entries) <omethodparm>: Append argument types
3479         to Objective C methods only if --class-qualify was specified.
3480         Qualify C++, Objective C, and Java class members with their class
3481         names only if --class-qualify was specified.
3482         (C_entries): If --class-qualify was not specified, remove the
3483         namespace and class qualifiers from tag names of C++ methods.
3484         This allows to use etags.el as xref back-end without the
3485         tag-symbol-match-p method, which greatly increases the number of
3486         potentially false positives.  (Bug#20629)
3487         * doc/man/etags.1: Update to document the new --class-qualify
3488         option.
3489         * test/etags/ETAGS.good_1:
3490         * test/etags/ETAGS.good_2:
3491         * test/etags/ETAGS.good_3:
3492         * test/etags/ETAGS.good_4:
3493         * test/etags/ETAGS.good_5:
3494         * test/etags/CTAGS.good: Update due to changes in etags.c.
3496 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3498         (cl-generic-define-method): Side effects are evil (bug#20644)
3499         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
3500         cons-cells that might be used as keys in an `equal' hash-table.
3502 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3504         Make erc timestamps visible again
3505         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
3506         timestamps visible again (if requested).
3508 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
3510         Fix last change in etags.c that broke tagging compresed files
3511         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
3512         quoting of decompression shell command for MS-Windows/MS-DOS.
3514 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3516         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
3517         (Bug#20639)
3519 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3521         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
3523 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
3525         Fix IPv6 addresses in Tramp
3526         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
3527         Add sqare brackets around host name.
3529 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3531         Inhibit `epa-file-handler' in Tramp
3532         (Bug#20634)
3533         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
3534         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
3535         `epa-file-handler'.
3537 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3539         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
3540         (pcase-let): Document the behavior in case the pattern doesn't match.
3542 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
3544         * lisp/emacs-lisp/tabulated-list.el: New optional print method
3545         (tabulated-list-print): New optional argument, UPDATE.  If
3546         non-nil, the list is printed by only adding and deleting the
3547         changed entries, instead of erasing the whole buffer.  This method
3548         is much faster when few or no entries have changed.
3549         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
3550         * etc/NEWS: Document it.
3552         * lisp/emacs-lisp/tabulated-list.el: Improve printing
3553         (tabulated-list--get-sorter): New function.
3554         (tabulated-list-print): Restore window-line when remember-pos is
3555         passed and optimize away the `nreverse'.
3557 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
3559         Simpilify etags TEX mode scanning
3560         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
3561         Remove static vars.
3562         (TeX_commands): Deduce escapes here instead.
3563         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
3564         This removes the need for a reset_input call.
3566         Improve etags I/O error reporting
3567         * lib-src/etags.c:
3568         Don't include sys/types.h and sys/stat.h; no longer needed.
3569         (infilename): New static var.
3570         (process_file_name): Don't call 'stat'.  Instead, just open the
3571         file for reading and report any errors.  Don't bother making
3572         a copy of the file argument; it's not needed.  Be more careful to
3573         use the failing errno when reporting an error.
3574         Quote the real name better (though no perfectly)
3575         when passing it to the shell.
3576         (reset_input): New function, which reports I/O errors.
3577         All uses of 'rewind' changed to use this function.
3578         (perhaps_more_input): New function, which also checks for
3579         I/O errors.  All uses of 'feof' changed to use this function.
3580         (analyze_regex): Report an error if fclose fails.
3581         (readline_internal): Report an error if getc fails.
3582         (etags_mktmp): Return an error if close fails.
3584         etags.c: avoid side effects in 'if'
3585         * lib-src/etags.c (process_file_name, Perl_functions)
3586         (TEX_decode_env): Hoist side effects into previous statement.
3588         .gitignore tweaks
3589         * .gitignore: Ignore all *.stamp files.  Sort.
3590         Ignore [0-9]*.txt (commonly used name for git patches)
3591         and /vc-dwim-log-* (vc-dwim temporary).
3593 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
3595         Fix last change in etags.c, which failed the test suite
3596         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
3597         before the last change.
3599 2015-05-23  Glenn Morris  <rgm@gnu.org>
3601         Remove charset map files from repository, generate in first bootstrap
3602         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
3603         (all): Create the stamp file.
3604         (extraclean): Delete the stamp file.
3605         * src/Makefile.in (lispintdir, charsets): New variables.
3606         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
3607         New rules.
3608         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
3609         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
3610         * etc/charsets/*.map: Remove from repository.
3612 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3614         Cleanup etags.c to use locale-independent code
3615         Although this doesn't alter behavior (as etags doesn't use
3616         setlocale), the new version is more clearly locale-independent and
3617         the executable is a bit smaller on my platform.
3618         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
3619         Include <c-ctype.h> instead of <ctype.h>.
3620         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
3621         (begtk, midtk):
3622         Remove; no longer needed.
3623         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
3624         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
3625         c_islower, c_tolower, respectively.
3626         (notinname, begtoken, intoken, endtoken): Rewrite as functions
3627         instead of macros, and initialize the tables at compile-time
3628         rather than at run-time.
3630         Put default action first in src/Makefile
3631         * src/Makefile.in (all): Put this rule before lisp.mk.
3632         That way, plain 'make' works in the src directory again.
3634 2015-05-23  Glenn Morris  <rgm@gnu.org>
3636         * Makefile.in: Fix extraclean rule.
3637         (extraclean_dirs): New.
3638         (extraclean): Use it.
3640 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3642         Avoid compiler warning in image.c on MS-Windows
3643         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
3644         warning in image.c.
3646 2015-05-23  Glenn Morris  <rgm@gnu.org>
3648         Fix --without-toolkit-scroll-bars builds.
3649         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
3650         Add new argument to x_clear_area1.
3651         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3652         Update x_clear_area arguments.
3654         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
3655         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
3656         Change to included version.
3657         (LOCAL, local, totalclean): Remove.
3658         (extraclean): Delete all generated files.
3660 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3662         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
3664         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
3666         tags-completion-at-point-function: Don't trust the find-tag function
3667         * lisp/progmodes/etags.el (tags-completion-at-point-function):
3668         Don't trust the find-tag function.
3670 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3672         Pacify --enable-gcc-warnings
3673         * src/frame.h (x_query_color): Remove redundant extern decl.
3674         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
3675         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
3676         (ftcrfont_text_extents, ftcrfont_draw):
3677         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
3678         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
3679         (x_ins_del_lines, frame_highlight, frame_unhighlight)
3680         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
3681         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
3682         (x_update_window_begin, x_connection_closed)
3683         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3684         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
3685         (*x_gc_get_ext_data, x_extension_initialize)
3686         (x_cr_accumulate_data):
3687         Remove redundant static decl.  Many of these GCC doesn't complain
3688         about, but we might as well clean out the duplication while we're
3689         in the neighborhood.
3690         * src/xterm.c (x_fill_trapezoid_for_relief):
3691         Remove decl of nonexistent function.
3693 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3695         Replace gui-method macros with cl-generic with &context
3696         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
3697         (gui-method-declare, gui-call): Remove.
3698         (frame-creation-function): Use cl-defgeneric.
3699         (make-frame): Adjust callers.
3700         * lisp/menu-bar.el (menu-bar-edit-menu):
3701         Use gui-backend-selection-exists-p.
3702         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
3703         (gui-backend-get-selection): New cl-generic to replace
3704         gui-get-selection method.
3705         (gui-backend-set-selection): New cl-generic to replace
3706         gui-set-selection method.
3707         (gui-selection-owner-p): New cl-generic to replace
3708         gui-selection-owner-p method.
3709         (gui-backend-selection-exists-p): New cl-generic to replace
3710         gui-selection-exists-p method.  Adjust all callers.
3711         * lisp/server.el (server-create-window-system-frame): Don't ignore
3712         window-system spec even when unsupported.
3713         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
3714         * lisp/startup.el (handle-args-function, window-system-initialization):
3715         Use cl-defgeneric.
3716         (command-line): Adjust calls accordingly.
3717         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
3718         a window-system-initialization method.
3719         (handle-args-function, frame-creation-function): Use cl-defmethod.
3720         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3721         (gui-get-selection): Use cl-defmethod on the new functions instead.
3722         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
3723         a gui-backend-get-selection method.
3724         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
3725         Use cl-defmethod on the new functions instead.
3726         (msdos-window-system-initialization): Turn into
3727         a window-system-initialization method.
3728         (frame-creation-function, handle-args-function): Use cl-defmethod.
3729         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
3730         a window-system-initialization method.
3731         (handle-args-function, frame-creation-function): Use cl-defmethod.
3732         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3733         (gui-get-selection): Use cl-defmethod on the new functions instead.
3734         * lisp/term/x-win.el (x-window-system-initialization): Turn into
3735         a window-system-initialization method.
3736         (handle-args-function, frame-creation-function): Use cl-defmethod.
3737         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3738         (gui-get-selection): Use cl-defmethod on the new functions instead.
3739         * lisp/term/xterm.el (xterm--set-selection): Turn into
3740         a gui-backend-set-selection method.
3741         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
3742         (Fns_selection_owner_p): Remove unused arg `terminal'.
3743         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
3745 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3747         Revert "Fix etags Bug#20629 that broke C++ support."
3748         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
3750 2015-05-23  Jan D  <jan.h.d@swipnet.se>
3752         Fix etags Bug#20629 that broke C++ support.
3753         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
3754         from Sun May 10 (Bug#20629).
3756         Merge branch 'cairo'.
3757         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
3758         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
3760         Merge branch 'master' into cairo
3762         Fixes to compile cairo branch without cairo.
3763         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
3764         first argument.
3765         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
3766         USE_CAIRO.
3768 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
3770         * lisp/emacs-lisp/package.el: Always update selected-packages
3771         (package--update-selected-packages): New function.
3772         (package-menu-execute): Use it before starting the transaction,
3773         this way the list of selected packages is updated even when the
3774         transaction fails.
3775         (package-menu--perform-transaction): Don't edit selected-packages.
3777 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3779         Fix etags reading of compressed files
3780         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
3781         Include fcntl.h, for O_CLOEXEC.
3782         (process_file_name): Don't use 'popen', whose streams cannot be
3783         rewound.  Instead, uncompress the file to a temporary file,
3784         created by 'etags_mktmp', and read from that as usual.
3785         (etags_mktmp): New function.
3786         * test/etags/ETAGS.good_1:
3787         * test/etags/ETAGS.good_2:
3788         * test/etags/ETAGS.good_3:
3789         * test/etags/ETAGS.good_4:
3790         * test/etags/ETAGS.good_5: Update to be consistent with latest
3791         changes in etags.c regarding reading compressed files.
3793         Improve documentation of 'set-fontset-font'
3794         * doc/lispref/display.texi (Fontsets): Document the value of nil
3795         for the 3rd argument of 'set-fontset-font'.
3797         Fix documentation of forward-line
3798         * src/cmds.c (Fforward_line): Clarify the return value if the line
3799         at end of accessible portion of the buffer has no newline.
3800         * doc/lispref/positions.texi (Text Lines): Document what happens
3801         if the line at end of accessible portion of buffer has no newline.
3802         (Bug#20587)
3804 2015-05-22  Glenn Morris  <rgm@gnu.org>
3806         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
3808         * admin/charsets/mapconv (LC_ALL): Set to C.
3810         * Makefile.in: Add admin/charsets into top-level clean rules.
3811         (clean): Add admin/charsets.
3812         (maybeclean_dirs): New variable.
3813         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
3815         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
3817 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
3819         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
3821 2015-05-22  Glenn Morris  <rgm@gnu.org>
3823         Generate admin/charsets Makefile via configure, and make more portable.
3824         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
3825         (admin/charsets/Makefile): Generate it.
3826         * admin/charsets/Makefile.in: Rename from Makefile.
3827         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
3828         New variables, set by configure.
3829         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
3830         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
3831         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
3832         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
3833         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
3834         (all): Declare PHONY.
3835         (local): New PHONY target.
3836         (map_template): New template.  Use to define short PHONY aliases.
3837         (*.map): Add directory prefixes to targets and prerequisites.
3838         Respect make verbosity.
3839         (JISC6226.map): Replace non-portable sed append without newline.
3840         (install): Remove rule.
3841         (clean): Only delete temporary sedscript.
3842         (bootstrap-clean, distclean, maintainer-clean, extraclean)
3843         (totalclean): New PHONY rules.
3844         * admin/charsets/mapconv (BASE): Replace basename with expr.
3845         (FILE): Add "mapfiles" subdirectory.
3846         (AWK): New variable.  Use throughout in place of "awk".
3847         (main): Use "gunzip -c" in place of "zcat".
3848         Don't leave whitespace before "p", for older sed.
3849         * admin/charsets/mapfiles/PTCP154: Add final newline,
3850         to make older sed versions happy.
3852 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
3854         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
3855         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
3856         (auto-revert-notify-watch-descriptor): Use defvar-local.
3857         (find-file-hook, auto-revert-tail-mode, )
3858         (auto-revert-notify-add-watch): Use setq-local.
3859         (auto-revert-notify-add-watch): Don't call make-local-variable on
3860         kill-buffer-hook (bug#20601).
3862 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3864         Change defgeneric so it doesn't completely redefine the function
3865         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
3866         previously defined methods.
3867         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
3868         (cl--generic-prefill-dispatchers): Only define during compilation.
3869         (cl-method-qualifiers): Remove redundant alias.
3870         (help-fns-short-filename): Silence byte-compiler.
3871         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
3873 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
3875         (package-menu-execute): Remove reference to remove-dups
3877 2015-05-21  kwhite  <kwhite@gnu.org>
3879         * lisp/erc/erc.el: Hide network/channel messages
3880         (erc-network-hide-list, etc-channel-hide-list): New lists to define
3881         message types per network/channel.
3882         (erc-add-targets): New function to parse list of targets
3883         (erc-hide-current-message-p): Modified to check for new targets
3885 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3887         Don't quote nil and t in doc strings
3888         This is as per "Tips for Documentation Strings" in the elisp manual.
3889         For consistency, do the same in diagnostics and comments.
3891 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
3893         Fix a minor problem with mouse-face on mode line
3894         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
3895         mouse face also if the mouse pointer hovers above mode-line glyphs
3896         that don't come from any Lisp string.  (Bug#20620)
3898 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
3900         * lisp/emacs-lisp/package.el: Fix selected-package logic
3901         (package-menu-execute): Mark as selected all non-upgrade packages
3902         being installed.
3903         (package-menu--perform-transaction): Don't mark anything.
3905         * lisp/emacs-lisp/package.el: Mode-line progress report
3906         (package-menu--transaction-status): New variable.
3907         (package-menu-mode, package-menu--perform-transaction): Use it.
3909         * lisp/emacs-lisp/package.el: Better transaction messages
3910         (package-menu--partition-transaction): New function.
3911         (package-menu--prompt-transaction-p, package-menu-execute): Use
3912         it.
3913         (package-menu--perform-transaction): Don't do any messaging.
3915         * lisp/emacs-lisp/package.el: Revert async package transactions
3916         (package-menu-async): Update doc.
3917         (package-install-from-archive, package-download-transaction)
3918         (package-install, package-menu--perform-transaction)
3919         (package-menu-execute): Remove asynchronous functionality.
3921 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3923         Revert doc string changes to f90.el
3924         Problem reported by Glenn Morris in:
3925         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
3926         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
3927         Revert recent changes to doc strings, as it's intended that they
3928         use grave accent, not quote.
3930 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
3932         Improve parameter name
3934         Add new inline function `hash-table-empty-p'
3936 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3938         Don't require help-fns when not needed
3939         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
3940         * lisp/emacs-lisp/elint.el:
3941         Don't require help-fns at the top level.
3942         * lisp/emacs-lisp/advice.el (ad-arglist):
3943         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
3944         Don't require help-fns.  (Bug#17001)
3946 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
3948         Fix slash collapsing in etags on MS-Windows
3949         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
3950         MS-Windows code from the Posix code, and support collapsing both
3951         forward- and back-slashes on MS-Windows.  Fixes a regression found
3952         by the test suite.
3954         Improve documentation of glyphless-char-display
3955         * doc/lispref/display.texi (Glyphless Chars): Improve
3956         documentation of glyphless character display.
3958         Fix "acronym" display of glyphless characters on w32
3959         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
3960         ignore "acronym" substitutes of 1 character for glyphless characters.
3962 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
3964         Add an automated test for let-when-compile
3965         * test/automated/subr-tests.el (let-when-compile): New test.
3967         Add let-when-compile macro instead of using pcase-let
3968         * lisp/subr.el (let-when-compile): New let-like macro that makes its
3969         bindings known to macros like `eval-when-compile' in the body.
3970         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
3971           `let-when-compile'. Also comment out the unused lexical var
3972           `el-kws-re'.
3973         The change greatly improves readability, while providing almost the
3974         same (even shorter) byte code: instead of pre-evaluating 10 variables,
3975         tossing them into a list, and destructuring that list a full screen
3976         page later, the variables are simply bound as they are evaluated,
3977         wrapped individually in `eval-when-compile'.
3979 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
3981         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
3982         (package-delete-button-action): New function.
3983         (describe-package-1): Add Delete button.
3985         * lisp/emacs-lisp/package.el: Better dependency description
3986         (package--used-elsewhere-p): New optional arg, ALL, and return
3987         package-desc objects instead of names.
3988         (package-delete): Update accordingly.
3989         (describe-package-1): Describe which packages require the package.
3991 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
3993         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
3994         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
3995         Fix doc-string (Bug#20533).
3997         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
3998         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
3999         (switch-to-buffer): If the selected window is strongly dedicated
4000         to its buffer, signal error before prompting for buffer name.  Handle
4001         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
4002         * doc/lispref/windows.texi (Switching Buffers): Document
4003         `switch-to-buffer-in-dedicated-window'.
4005 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4007         Prefer "this" to “this” in doc strings
4008         This mostly just straightens quotes introduced in my previous patch.
4009         Suggested by Dmitry Gutov in:
4010         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
4011         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
4012         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
4013         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
4014         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
4015         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
4016         Prefer straight double quotes to curved double quotes in doc strings.
4018         Fix minor quoting problems in doc strings
4019         These were glitches regardless of how or whether we tackle the
4020         problem of grave accent in doc strings.
4021         * lisp/calc/calc-aent.el (math-restore-placeholders):
4022         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
4023         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
4024         * lisp/leim/quail/hebrew.el ("hebrew-new")
4025         ("hebrew-biblical-sil"):
4026         * lisp/leim/quail/thai.el ("thai-kesmanee"):
4027         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
4028         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
4029         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
4030         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
4031         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
4032         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
4033         (semantic-tag-components):
4034         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
4035         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
4036         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
4037         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
4038         * lisp/emacs-lisp/generator.el (iter-next):
4039         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
4040         (gnus-article-mode-syntax-table):
4041         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
4042         * lisp/net/soap-client.el (soap-wsdl-get):
4043         * lisp/net/telnet.el (telnet-mode):
4044         * lisp/org/org-compat.el (org-number-sequence):
4045         * lisp/org/org.el (org-remove-highlights-with-change)
4046         (org-structure-template-alist):
4047         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
4048         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
4049         (handwrite-12pt, handwrite-13pt):
4050         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
4051         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
4052         * lisp/progmodes/verilog-mode.el (verilog-tool)
4053         (verilog-string-replace-matches, verilog-preprocess)
4054         (verilog-auto-insert-lisp, verilog-auto-insert-last):
4055         * lisp/textmodes/makeinfo.el (makeinfo-options):
4056         * src/font.c (Ffont_spec):
4057         Fix minor quoting problems in doc strings, e.g., missing quote,
4058         ``x'' where `x' was meant, etc.
4059         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
4060         Fix minor quoting problem in other string.
4061         * lisp/leim/quail/ethiopic.el ("ethiopic"):
4062         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
4063         Omit unnecessary quotes.
4064         * lisp/faces.el (set-face-attribute, set-face-underline)
4065         (set-face-inverse-video, x-create-frame-with-faces):
4066         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
4067         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
4068         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
4069         * lisp/net/tramp.el (tramp-methods):
4070         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
4071         * lisp/textmodes/artist.el (artist-ellipse-right-char)
4072         (artist-ellipse-left-char, artist-vaporize-fuzziness)
4073         (artist-spray-chars, artist-mode, artist-replace-string)
4074         (artist-put-pixel, artist-text-see-thru):
4075         * lisp/vc/ediff-util.el (ediff-submit-report):
4076         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
4077         Use double-quotes rather than TeX markup in doc strings.
4078         * lisp/skeleton.el (skeleton-pair-insert-maybe):
4079         Reword to avoid the need for grave accent and apostrophe.
4080         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
4081         Don't use grave and acute accents to quote.
4083 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
4085         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
4087 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
4089         Try to port new etags tests to MS-Windows
4090         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4091         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4092         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4093         Adjust to test-case changes below.
4094         * test/etags/Makefile (CSRC): Remove dostorture.c.
4095         Whatever it was trying to test, wasn't working portably.
4096         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
4097         just a line-ending problem.
4098         * test/etags/c-src/dostorture.c: Remove.
4099         * test/etags/cp-src/c.C: Remove stray CR.
4100         * test/etags/html-src/algrthms.html: Remove trailing CRs.
4101         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
4102         but if someone edits it later it should stay UTF-8-compatible.
4104 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
4106         Fix display of overlapping window-specific overlays
4107         * src/keyboard.c (adjust_point_for_property): When adjusting point
4108         due to display strings, ignore overlays that are specific to
4109         windows other than the currently selected one.
4110         * src/xdisp.c (handle_single_display_spec): If the display
4111         property comes from an overlay, arrange for buffer iteration to
4112         resume only after the end of that overlay.  (Bug#20607)
4114 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
4116         New command icomplete-force-complete-and-exit
4117         * lisp/icomplete.el (icomplete-force-complete-and-exit):
4118         New command
4119         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
4120         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
4121         (icomplete-minibuffer-map): Bind C-j to it.
4122         (icomplete-forward-completions, icomplete-backward-completions):
4123         Mention the new command in the docstring.
4124         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
4125         the previous fix for bug#17545.
4127 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
4129         Fix last commit
4131         In Elisp manual explain how to override window manager positioning (Bug#20552)
4132         * doc/lispref/frames.texi (Position Parameters): Give example of
4133         how to override a window manager positioning decision.
4135         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
4136         * src/frame.c (Fdelete_frame): In doc-string mention that frame
4137         can't be deleted if it has a surrogate minibuffer.
4138         * doc/lispref/frames.texi (Minibuffers and Frames)
4139         (Deleting Frames): Explain "surrogate minibuffer frames".
4141         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
4142         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
4144 2015-05-18  Glenn Morris  <rgm@gnu.org>
4146         Add option to ignore commit lines matching a pattern in ChangeLog.
4147         * build-aux/gitlog-to-changelog: Add --ignore-line option.
4148         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
4150 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4152         Don't skip new etags tests on non-UTF-8 hosts
4153         Problem reported by Eli Zaretskii for MS-Windows.
4154         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
4155         (LC_ALL): Set to C if the current locale isn't UTF-8.
4156         (.PHONY): Remove ediff_1 thru ediff_5.
4157         (check): Always run.
4159 2015-05-18  Glenn Morris  <rgm@gnu.org>
4161         * lisp/calculator.el (calculator-funcall):
4162         * lisp/textmodes/artist.el (artist-spray-random-points):
4163         Use standard degree/radian conversion utilities.
4165         Further lisp-complete-symbol related cleanup.
4166         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
4167         Unadvertise non-functional argument.  Replace obsolete alias.
4169 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4171         Add a test case for Maven warning ouput
4172         * test/automated/compile-tests.el
4173         (compile-tests--test-regexps-data): Add a case for Maven warning
4174         ouput.
4175         (compile--test-error-line): Check the compilation message type, if
4176         it's specified in the test data.
4178 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
4180         Update Maven compilation-mode entry to distinguish warnings
4181         * lisp/progmodes/compile.el
4182         (compilation-error-regexp-alist-alist): Update Maven entry to
4183         distinguish warnings (bug#20556).
4185 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
4187         * test/automated/sgml-mode-tests.el: New file.
4189 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
4191         Improve handling of the first Git revision
4192         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
4193         there's no next entry, delete until the end of the buffer.
4194         (log-view-end-of-defun-1): Stop at eob.
4195         * lisp/vc/vc-annotate.el
4196         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
4197         when previous-revision is nil.
4198         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
4199         with `--' to avoid ambiguity.
4200         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
4201         returned revision string.
4202         (vc-git-annotate-time): Expect `^' before the first revision.
4203         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
4204         REV1 is nil, and REV2 is not.
4205         * lisp/vc/vc.el: Update the description of the `diff' function.
4207 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
4209         Allow checkdoc to be called in batch
4210         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
4211           is non-nil, echo the error with `warn'.
4212         How it can be used in -batch:
4213         (with-current-buffer (find-file "checkdoc.el")
4214           (checkdoc-current-buffer t))
4216 2015-05-18  Glenn Morris  <rgm@gnu.org>
4218         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
4220 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4222         * admin/notes/unicode: New section "binary files".
4224         Change new etags test to use UTF-8 encoding
4225         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
4226         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
4227         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
4228         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
4229         * test/etags/html-src/softwarelibero.html:
4230         Switch to UTF-8 encoding.
4231         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
4232         Remove Makefile, as it's too incestuous to have the test input
4233         include the build procedure.
4234         (UTF8_LOCALE, UTF_ENCODING): New macros.
4235         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
4236         (check): Skip if not UTF-8.
4237         (.PHONY): New rule.
4238         (FRC): Remove, as superseded by .PHONY.  All uses removed.
4239         (regexfile): Prefer printf to echo when outputting oddball chars.
4240         (.PRECIOUS): Remove, as these files are not built.
4242         Rename 'foo-gzipped' to 'foo.gz'
4243         * test/automated/data/decompress/foo.gz:
4244         Rename from test/automated/data/decompress/foo-gzipped,
4245         to make it easier for other tools to tell that it's compressed.
4246         * test/automated/zlib-tests.el (zlib--decompress):
4247         Adjust to renamed file.
4249 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
4251         Set up default-directory
4252         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
4253         binding for `v'.
4254         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
4255         appropriate value for default-directory.
4257 2015-05-17  Samer Masterson  <samer@samertm.com>
4259         * lisp/eshell/em-term.el (eshell-term-sentinel):
4260         No-op by default, only kills term buffer if
4261         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
4262         (eshell-destroy-buffer-when-process-dies): New custom to preserve
4263         previous behavior.
4265         eshell: Introduce new buffer syntax
4266         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
4267         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
4268         needed (Bug#19319).
4269         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
4270         (eshell-get-target): Remove shorthand-specific code.
4271         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
4272         '#<buffer-name>'.
4274 2015-05-17  Jan D  <jan.h.d@swipnet.se>
4276         Merge branch 'master' into cairo
4278 2015-04-26  Jan D  <jan.h.d@swipnet.se>
4280         Merge branch 'master' into cairo
4282         Add PBM support for cairo.
4283         * src/image.c (xcolor_to_argb32): New function.
4284         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
4285         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
4286         XImagePtr if ! USE_CAIRO.
4287         (pbm_load): Add cairo support.
4289 2015-04-12  Jan D  <jan.h.d@swipnet.se>
4291         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
4292         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
4293         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
4294         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
4295         x_free_cr_resources.
4297         Handle specified bg in images.  Use generic libpng code for PNG:s.
4298         * src/image.c (get_spec_bg_or_alpha_as_argb)
4299         (create_cairo_image_surface): New functions when USE_CAIRO.
4300         (xpm_load): Call the above functions.  Handle XPM without mask
4301         when USE_CAIRO.
4302         (png_load_body): Handle USE_CAIRO case.
4303         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
4304         instead.
4305         (jpeg_load_body): Call create_cairo_image_surface.
4306         (gif_load, svg_load_image): Handle specified background, call
4307         create_cairo_image_surface.
4308         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
4310 2015-04-11  Jan D  <jan.h.d@swipnet.se>
4312         Support GIF and Tiff with cairo.
4313         * configure.ac: Allow jpeg with cairo.
4314         Allow tiff and gif with cairo.
4315         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4316         (tiff_load): Create cairo image surface if USE_CAIRO.
4317         (gif_load): Ditto.
4319         Support JPEG with USE_CAIRO.
4320         * configure.ac: Allow jpeg with cairo.
4321         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4323 2015-04-05  Jan D  <jan.h.d@swipnet.se>
4325         Support RSVG and cairo.
4326         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
4327         * src/dispextern.h (struct image): add cr_data2 if cairo.
4328         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
4329         (x_clear_image): Free cr_data and cr_data2 if set.
4330         (xpm_load): Assign data to cr_data2.
4331         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
4333 2015-04-03  Jan D  <jan.h.d@swipnet.se>
4335         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
4336         * configure.ac (HAVE_RSVG): Move after cairo.
4337         (USE_CAIRO): Disable rsvg, don't disable Xpm.
4338         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
4339         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
4340         don't return early.
4341         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
4342         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
4343         and create a surface.
4345         Tool tips for menus did not show any text.
4346         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
4347         tip frames, the geometry may be wrong.
4349         Merge branch 'master' into cairo, fixes tooltips not shown.
4351         Merge branch 'master' into cairo
4353         Add CAIRO_CFLAGS to lwlib/Makefile.in
4354         * Makefile.in (CAIRO_CFLAGS): Add.
4356 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4358         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
4360 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4362         Draw outermost line using black relief and erase corners also for cairo.
4363         * xterm.c [USE_CAIRO]: Include math.h.
4364         (enum corners) [USE_CAIRO]: New enum.
4365         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
4366         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
4367         than 1, draw the outermost line using the black relief.
4369         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
4371 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4373         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
4375         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
4377         Use int instead of unsigned int for width and height args.
4378         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
4379         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
4380         width and height args.
4382         Modernize k&r cairo-related function declarations.
4383         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
4384         (xg_print_frames_dialog): Modernize k&r declarations.
4385         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
4386         (Fx_print_frames_dialog): Modernize k&r declarations.
4387         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
4388         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
4389         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
4390         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
4391         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
4392         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4393         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
4394         (x_clear_area): Modernize k&r declarations.
4396         Implement wave-style variant of underlining for cairo.
4397         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
4398         (x_draw_underwave) [USE_CAIRO]: Use it.
4400         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
4402 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4404         Fix fringe bitmap initialization for cairo.
4405         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
4406         cairo image surface.
4407         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
4409 2015-02-11  Jan D  <jan.h.d@swipnet.se>
4411         Add cairo drawing.
4412         * configure.ac (with-cairo): New option.
4413         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
4414         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
4415         Output "Does Emacs use cairo?".
4416         * lisp/version.el (emacs-version): Add cairo version.
4417         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
4418         (FONT_OBJ): Add comment about ftcrfont.
4419         (ALL_CFLAGS): Add CAIRO_CFLAGS.
4420         (LIBES): Add CAIRO_LIBS.
4421         * src/dispextern.h (struct image): Add cr_data for cairo.
4422         (x_cr_init_fringe): Declare.
4423         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
4424         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
4425         * src/fringe.c (x_cr_init_fringe): New function name that shares code
4426         with w32_init_fringe.
4427         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
4428         * src/ftfont.c (ftfont_info_size); New global variable.
4429         (ftfont_open2): New extern function almost the same as old ftfont_open,
4430         but takes the font_object as argument.
4431         (ftfont_open): Build font object and call ftfont_open2.
4432         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
4433         * src/gtkutil.c (xg_clear_under_internal_border)
4434         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
4435         queue_draw if not cairo.  Change args to x_clear_area.
4436         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
4437         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
4438         (xg_print_frames_dialog): New functions for printing.
4439         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
4440         (xg_print_frames_dialog): Declare.
4441         * src/image.c: Add defined (USE_CAIRO) for PNG.
4442         Add !defined USE_CAIRO for W32 PNG code.
4443         (x_clear_image): If cairo, destroy the surface in cr_data.
4444         (png_load): Add new cairo compatible implementation.
4445         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
4446         * src/xfns.c: New section Printing.
4447         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
4448         (x-print-frames-dialog): New printing functions.
4449         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
4450         cairo.
4451         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
4452         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
4453         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
4454         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
4455         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
4456         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4457         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4458         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
4459         Declare.
4460         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
4461         (max_fringe_bmp, fringe_bmp): New variables.
4462         (x_gc_get_ext_data, x_extension_initialize)
4463         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
4464         (x_set_cr_source_with_gc_foreground)
4465         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
4466         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
4467         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
4468         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
4469         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
4470         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
4471         (x_update_begin): Create cairo surface if needed.
4472         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
4473         (x_update_end): Paint cairo drawing surface to xlib surface.
4474         (x_clear_under_internal_border, x_after_update_window_line): Adjust
4475         arguments to x_clear_area.
4476         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
4477         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
4478         of XSetClipMask.
4479         (x_set_glyph_string_clipping)
4480         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
4481         instead of XSetClipRectangles.
4482         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
4483         x_fill_rectangle instead of XFillRectangle.
4484         (x_draw_glyph_string_foreground)
4485         (x_draw_composite_glyph_string_foreground)
4486         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
4487         of XDrawRectangle.
4488         (x_draw_relief_rect): Add code for USE_CAIRO.
4489         Call x_reset_clip_rectangles instead of XSetClipMask.
4490         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
4491         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
4492         instead of XSetClipMask.
4493         (x_draw_image_foreground, x_draw_image_foreground_1):
4494         x_draw_rectangle instead of XDrawRectangle.
4495         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
4496         XFillRectangle.
4497         (x_draw_image_glyph_string): If img has cr_data, use it as
4498         a cairo surface.
4499         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
4500         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
4501         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
4502         x_reset_clip_rectangles instead of XSetClipMask.
4503         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
4504         (x_clear_area1): New function that calls XClearArea.
4505         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
4506         non-cairo.
4507         (x_clear_frame): x_clear_window instead of XClearWindow.
4508         (x_scroll_run): Set frame garbaged if cairo.
4509         (XTmouse_position): Initialize *part to 0.
4510         (x_scroll_bar_create): Adjust arguments to x_clear_area.
4511         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
4512         x_fill_rectangle instead of XFillRectangle.
4513         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
4514         arguments to x_clear_area.
4515         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
4516         (handle_one_xevent): Adjust arguments to x_clear_area.
4517         Destroy cairo surface for frame if ConfigureNotify.
4518         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
4519         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
4520         x_reset_clip_rectangles instead of XSetClipMask.
4521         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
4522         x_reset_clip_rectangles instead of XSetClipMask.
4523         (x_clear_frame_area): Adjust arguments to x_clear_area.
4524         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
4525         (x_term_init): Call x_extension_initialize if cairo.
4526         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
4527         x_cr_destroy_fringe_bitmap for cairo.
4528         (x_initialize): Call x_cr_init_fringe for cairo.
4529         * src/xterm.h: Add include of cairo header files.
4530         (x_bitmap_record): Add img if cairo.
4531         (x_gc_ext_data): New struct for cairo.
4532         (x_display_info): Add ext_codes for cairo.
4533         (x_output): Add cr_context and cr_surface for cairo.
4534         (x_clear_area): Change arguments from Display*/Window to frame pointer.
4535         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
4536         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
4537         (x_cr_draw_frame, x_cr_export_frames): Declare.
4539 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
4541         Fix integer-valued `mouse-highlight' (Bug#20590)
4542         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
4544 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
4546         MS-Windows followup for ASCIIfication of curved quotes
4547         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
4548         test for curved quotes being displayable, after switching the
4549         terminal encoding.  (Bug#20545)
4551 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4553         Spelling fixes
4555 2015-05-17  Jan D  <jan.h.d@swipnet.se>
4557         Add comment that x_shift_glyphs_for_insert is never called.
4558         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
4559         comment that this function is never called.
4561 2015-05-16  Glenn Morris  <rgm@gnu.org>
4563         * src/lisp.mk: Remove from repository and generate at build-time.
4564         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
4565         (shortlisp_filter): New variable.
4566         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
4567         (distclean): Remove lisp.mk.
4568         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
4569         * lisp/loadup.el: Tweak layout to make it easier to parse.
4570         * make-dist: Do not distribute src/lisp.mk.
4572 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4574         Display shorter dates in Git annotate output
4575         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
4576         format (when not overridden with vc-git-annotate-switches).
4577         (vc-git-annotate-time): Support the short format, as well as ISO
4578         8601 that has been used until now (bug#5428).
4580 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4582         ASCIIfy curved quotes on displays lacking them
4583         * lisp/international/mule-cmds.el (set-locale-environment):
4584         If curved quotes don't work, display straight ASCII approximations
4585         (Bug#20545).
4587 2015-05-16  Glenn Morris  <rgm@gnu.org>
4589         Small src/Makefile simplification.
4590         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
4591         * src/Makefile.in (lisp): Derive from shortlisp.
4592         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
4594 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
4596         * lisp/help-mode.el (help-go-forward): Doc fix.
4597         (Bug#20577)
4599         * doc/lispref/debugging.texi (Profiling): Improve indexing.
4600         (Bug#20576)
4602 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4604         Use `unless' to have one fewer `not'
4605         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
4606         have one fewer `not'.
4608         Remove redundant :group declarations from vc-git.el
4609         * lisp/vc/vc-git.el (vc-git-diff-switches)
4610         (vc-git-annotate-switches, vc-git-resolve-conflicts)
4611         (vc-git-program, vc-git-root-log-format): Remove the redundant
4612         :group declarations.
4614 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
4616         Removes the predicate from lisp-complete-symbol (Bug#20456)
4617         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
4618         and remove it from the docstring.
4620 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4622         Add new option vc-git-resolve-conflicts
4623         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
4624         (vc-git-find-file-hook): Add to after-save-hook only when the
4625         above is non-nil.
4626         (vc-git-resolve-when-done): Update to honor the new variable.
4627         (Bug#20292)
4629 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
4631         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
4632         (tabulated-list-init-header): Document new behavior.
4633         (tabulated-list-print-fake-header): No nothing if
4634         `tabulated-list--header-string' is nil.
4635         (tabulated-list--header-string): Add a docstring.
4636         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4637         * etc/NEWS: Document it.
4639 2015-05-15  Leo Liu  <sdl.web@gmail.com>
4641         Revert "Fix cps--gensym"
4642         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
4643           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
4645 2015-05-15  Glenn Morris  <rgm@gnu.org>
4647         Replace AC_SUBST_FILE in configure with include in Makefiles.
4648         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
4649         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
4650         (AUTO_DEPEND): New output variable.
4651         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
4652         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4653         (lwlib_deps_frag): Replace by conditional include.
4654         * lwlib/autodeps.mk: Remove file.
4655         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
4656         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4657         (oldxmenu_deps_frag): Replace by conditional include.
4658         * oldXMenu/autodeps.mk: Remove file.
4659         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
4660         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4661         (lisp_frag): Replace by an include.
4662         (deps_frag): Replace by conditional include.
4663         * src/autodeps.mk: Remove file.
4665         Tweak japanese.el's loading of dependencies.
4666         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
4667         * lisp/language/japanese.el: Use require rather than load.
4668         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4669         Provide a feature.
4670         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
4671         Provide a feature in the generated file.
4673 2015-05-15  Jan D  <jan.h.d@swipnet.se>
4675         Fix NS warnings.
4676         * nsmenu.m (ns_popup_dialog)
4677         * nsimage.m (initFromXBM:width:height:fg:bg:)
4678         * nsfns.m (Fx_create_frame): Remove unused variables.
4679         (Fns_read_file_name): Initialize fname, remove ret.
4680         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
4681         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
4682         variable.
4683         (init): Add parantesis in if.
4684         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
4686 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4688         Fix a enum conversion warning in macfont.m
4689         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
4690         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
4692 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
4694         Support de-alt dictionary with Aspell.
4695         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
4696         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
4698 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4700         cus-start.el: Add ns-confirm-quit.
4701         * cus-start.el: Add ns-confirm-quit.
4703         Fix warnings on OSX 10.10.
4704         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
4705         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
4706         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
4707         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
4708         * nsimage.m (allocInitFromFile, setPixmapData): Only call
4709         setScalesWhenResized for OSX < 10.6.
4710         * nsterm.h (EmacsScroller): Declare scrollerWidth.
4711         * nsterm.m (ns_copy_bits): New function that does not use deprecated
4712         NSCopyBits.
4713         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
4714         (runAlertPanel): New function.
4715         (applicationShouldTerminate:): Call runAlertPanel.
4716         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
4717         for OSX < 10.10.
4718         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
4719         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
4720         (draggingEntered:): Returns NSDragOperation.
4721         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
4723 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4725         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
4726         (package--init-file-ensured): New variable.
4727         (package-initialize, package--ensure-init-file): Use it.
4729 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4731         Honor :fore/background for XBM on NS (Bug#14969).
4732         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
4733         initFromXBM takes bg, fg args, remove flip arg.
4734         (ns_image_from_XBM): Add bg, fg args.
4735         * image.c (x_create_bitmap_from_data)
4736         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
4737         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
4738         Remove flip arg.
4739         (initFromSkipXBM): Move code to initFromXBM.
4740         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
4741         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
4742         false.
4743         Remove bit flipping (bitPat, swt), generated incorrect images when
4744         width/height wasn't a multiple of 8.
4745         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
4746         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
4747         flip arg.
4749 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4751         * lisp/emacs-lisp/package.el: Be more careful with the init file
4752         (package--ensure-init-file): Check that user-init-file is set,
4753         exists, is readable, and is writable.  (Bug#20584)
4754         Also expand the docstring.
4756 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
4758         Sync with upstream verilog-mode revision 6232468
4759         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
4760         (verilog-highlight-grouping-keywords): Fix use of face when
4761         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
4762         Pompa.
4763         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
4764         parent is reset, bug906. Reported by Ken Schmidt.
4765         (verilog-auto-inout-module): Add fourth regexp argument to
4766         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
4767         bug856. Reported by John Tillema.
4768         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
4769         modport if signal attachment is itself a modport.  Reported by
4770         Matthew Lovell.
4771         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
4772         always_comb and always_latch, bug844.  Reported by Greg Hilton.
4773         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
4774         with many curly-bracket pairs, bug663.
4775         (verilog-set-auto-endcomments): Fix end comments for functions of
4776         type void, etc.  Reported by Alex Reed.
4777         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
4778         caused by indent-line-to deleting tabls pre 24.5.
4779         (verilog-nameable-item-re): Fix nameable items that can have an
4780         end-identifier to include endchecker, endgroup, endprogram,
4781         endproperty, and endsequence.  Reported by Alex Reed.
4782         (verilog-label-be): When auto-commenting a buffer, consider
4783         auto-comments on all known keywords (not just a subset thereof).
4784         Reported by Alex Reed.
4785         (verilog-auto-end-comment-lines-re)
4786         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
4787         Automatically comment property/endproperty blocks to match other
4788         similar blocks like sequence/endsequence, function/endfunction,
4789         etc. Reported by Alex Reed.
4790         (verilog-set-auto-endcomments): Detect the function- or task-name
4791         when auto-commenting blocks that lack an explicit
4792         portlist. Reported by Alex Reed.
4793         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
4794         allow post-AUTO user fixups, bug826. Reported by Dennis
4795         Muhlestein.
4796         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
4797         is nil, fix indenting initial/final to match always statements,
4798         bug825. Reported by Tim Clapp.
4799         (verilog-extended-complete-re): Fix indentation of DPI-C imports
4800         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
4801         Mao and Jason Forkey.
4802         (verilog-read-decls): Fix parsing typed interfaces.  Fix
4803         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
4804         Fix localparam not being ignored in AUTOINSTPARAM,
4805         bug889. Reported by Shannon Hill.
4806         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
4807         bug793.  Reported by Pierre-David Pfister.
4808         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
4809         verilog-auto-arg-format to support newlines in AUTOARG. Reported
4810         by Jie Xiao.
4811         (verilog-batch-execute-func): Do not batch re-auto files loaded by
4812         Local Variables. Fix printing "no changes to be saved" with
4813         verilog-batch. Reported by Dan Dever.
4814         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
4815         interface-only modules, bug721.  Reported by Dean Hoyt.
4816         Author: Alex Reed <acreed4@gmail.com>
4817         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
4818         treat '<keyword>:<identifier>' as the start of a labeled
4819         statement, bug905.  Reported by Enzo Chi.
4820         (verilog-directive-re, verilog-compiler-directives)
4821         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
4822         directives (plus some extras) when determining indentation, bug
4823         901.  Reported by Bernd Beuster.
4824         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
4825         iff expression doesn't start with word-character, bug900.
4826         (verilog-optional-signed-range-re, verilog-optional-signed-re):
4827         Fix incorrect indentation/alignment of unsigned declarations,
4828         bug897.
4829         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
4830         always constructs, bug895.
4831         (verilog-calc-1): Fix verilog-mode constraint indentation,
4832         bug324. Reported by Eric Mastromarchi.
4833         (verilog-beg-of-statement): Fix indenting for some forms of
4834         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
4835         continued assignment incorrect if first line ends with ']',
4836         bug437. Reported by Dan Dever.  Fix indention of cover inside an
4837         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
4838         blocks, bug842.
4839         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
4840         bug859. Reported by Kaushal Modi.
4841         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
4842         (verilog-backward-token): Fix indenting sensitivity lists with
4843         named events, bug840.  Reed.
4844         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
4845         nil not honoring 'forever', 'foreach', and 'do' keywords.
4847 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4849         Check for invalid GTK+ monitor scales
4850         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
4851         INT_MAX for too-large scales.  All callers changed to assume the
4852         result is valid (Bug#20432).
4853         (xg_frame_set_char_size, xg_update_scrollbar_pos):
4854         Calculate scale only if needed.
4855         show ASCII approximations instead.
4857 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
4859         Fix daemon crashes when linum-mode is turned on early on
4860         * src/window.c (Fwindow_end): Don't try calling display engine
4861         functions on initial-frame frame.  (Bug#20565)
4863         Fix selective diff browsing in Ediff
4864         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
4865         beginning of the region before searching for the
4866         ediff-regexp-focus-* regexps.  (Bug#20568)
4868 2015-05-14  Jan D  <jan.h.d@swipnet.se>
4870         Fixes Bug#20142.
4871         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
4872         in the main loop, even for Gtk 3 (Bug#20142).
4874         Don't access display after i/o error (Bug#19147).
4875         * xterm.c (x_connection_closed): Add third arg ioerror.
4876         If ioerror, set display to 0 (Bug#19147).
4877         (x_error_quitter): Call x_connection_closed with third arg false.
4878         (x_io_error_quitter): Call x_connection_closed with third arg true.
4880         Handle GTK_SCALE, fixes Bug#20432.
4881         * gtkutil.c (xg_get_gdk_scale): New function.
4882         (xg_frame_set_char_size)
4883         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
4884         (xg_get_default_scrollbar_height)
4885         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
4886         when setting sizes (Bug#20432).
4888 2015-05-13  Leo Liu  <sdl.web@gmail.com>
4890         Fix cps--gensym
4891         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
4893 2015-05-13  Glenn Morris  <rgm@gnu.org>
4895         Fix bootstrap (void function cl-member).
4896         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
4897         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
4899 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4901         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
4902         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
4903         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
4904         Avoid defalias for closures which are not immutable.
4905         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
4906         dispatchers table with various entries.
4907         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
4908         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
4910 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
4912         Improve tagging of C bindings in DEFVAR_*
4913         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
4914         from DEFVAR_*.
4916 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
4918         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
4920 2015-05-12  Glenn Morris  <rgm@gnu.org>
4922         * lisp/progmodes/tcl.el (tcl-filter):
4923         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
4925         Add basic VC push support.
4926         * lisp/vc/vc.el (vc-push): New autoloaded command.
4927         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
4928         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
4929         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
4930         (vc-bzr-push): New.
4931         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
4932         (vc-git-pull): Reimplement using vc-git--pushpull.
4933         (vc-git-push): New.
4934         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
4935         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
4936         * doc/emacs/maintaining.texi (Pulling / Pushing):
4937         Rename from "VC Pull".  Mention pushing.
4938         (VC With A Merging VCS, VC Change Log): Update xrefs.
4939         (Branches): Update menu.
4940         * doc/emacs/emacs.texi: Update menu.
4941         * etc/NEWS: Mention this.
4943 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
4945         Improve the seq pcase pattern and the `seq-let' macro
4946         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
4947         object is a sequence, and binds each element of ARGS to the
4948         corresponding element of the sequence.
4950 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
4952         Fix tags created from DEFVAR_* declarations in C
4953         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
4954         to make tags extracted from DEFVAR_* declarations more accurate.
4956         Add a test suite for etags
4957         * test/etags/: New test suite, adapted from
4958         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
4959         whose original author is Francesco Potortì <pot@gnu.org>.
4961         Fix tagging of symbols in C enumerations
4962         * lib-src/etags.c (consider_token): Don't tag symbols in
4963         expressions that assign values to enum constants.  See
4964         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
4965         for details.
4966         (C_entries): Reset fvdef to fvnone after processing a preprocessor
4967         conditional and after a comma outside of parentheses.
4969 2015-05-12  Glenn Morris  <rgm@gnu.org>
4971         * lisp/url/url-handlers.el (url-file-name-completion)
4972         (url-file-name-all-completions): Silence compiler.
4974         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
4976         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
4978 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
4980         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
4981         (cl--generic-mandatory-args): Remove.
4982         (cl--generic-split-args): New function.
4983         (cl-generic-define, cl--generic-lambda): Use it.
4984         (cl-generic-define-method): Use it as well, and add support for
4985         context args.
4986         (cl--generic-get-dispatcher): Handle &context dispatch.
4987         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
4988         (cl--generic-dispatchers): Pre-fill.
4989         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
4991 2015-05-11  Glenn Morris  <rgm@gnu.org>
4993         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
4995 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
4997         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
4998         * lisp/term/rxvt.el: Require term/xterm.
4999         (rxvt-function-map): Use xterm-rxvt-function-map.
5000         (rxvt-standard-colors): Move before first use.
5001         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
5002         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
5003         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
5004         Move shared bindings between rxvt and xterm to it.
5005         (xterm-function-map): Use it.  Move the xterm-paste binding to
5006         xterm-rxvt-function-map (bug#20444).
5007         (xterm-standard-colors): Move before first use.
5008         (xterm--push-map): New function.
5009         (xterm-register-default-colors): Take standard colors as argument.
5010         (terminal-init-xterm): Use it.  Adjust call to
5011         xterm-register-default-colors.
5013 2015-05-11  Glenn Morris  <rgm@gnu.org>
5015         * lisp/term/x-win.el: Quieten --without-x compilation.
5016         (x-own-selection-internal, x-disown-selection-internal)
5017         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
5018         Declare.
5020         * Makefile.in (emacslog): Remove srcdir.
5021         (ChangeLog): Update for the above.
5023 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
5025         Spelling fix
5027 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5029         python.el: better limit for looking-back calls
5030         * lisp/progmodes/python.el (python-shell-accept-process-output):
5031         Use last comint prompt start as limit for looking-back.
5033 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
5035         CEDET (srecode-insert-fcn): Fix use of oref on a class
5036         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
5037         a class.  Reported by Pierre Lorenzon.
5038         (srecode-template-inserter-point): Remove declaration.
5040         CEDET (srecode-create-dictionary): Avoid obsolete object name
5041         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
5042         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
5044 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
5046         C-x 8 shorthands for curved quotes, Euro, etc.
5047         Although C-x 8 lets you insert arbitrary Unicode characters,
5048         it's awkward to use this to insert commonly used symbols such as curved
5049         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
5050         characters commonly found in English text and in basic math.
5051         For example, assuming the Alt key works on your keyboard and iso-transl
5052         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
5053         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
5054         (Bug#20499)
5055         * doc/emacs/mule.texi (Unibyte Mode):
5056         A few other printing characters now work too.
5057         * etc/NEWS: Document this.
5058         * lisp/international/iso-transl.el (iso-transl-char-map):
5059         Also support the following characters:
5060         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
5062 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5064         Add xref-find-regexp
5065         * lisp/progmodes/xref.el (xref-find-function): Describe the
5066         `matches' action.
5067         (xref-find-regexp): New command, using it.
5068         (xref-collect-references): Rename to xref-collect-matches.
5069         (xref--collect-reference): Rename to xref--collect-match.
5070         (xref-collect-matches, xref--collect-match): Accept new argument,
5071         KIND.  Update accordingly.
5072         (xref--regexp-to-extended): New function.
5073         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
5074         `matches' action.
5075         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
5076         * lisp/progmodes/etags.el (etags-xref-find):
5077         Support the `matches' action.
5078         (etags--xref-find-matches): New function.
5080 2015-05-10  Glenn Morris  <rgm@gnu.org>
5082         * Makefile.in: Fixes for recent change-history changes.
5083         (change-history-nocommit): Update footer regexp.
5084         Ensure output script stays executable.
5086 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
5088         New version of `seq-let' based on a pcase pattern
5089         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
5090         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
5092 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
5094         Add basic HTML5 tags and a template
5095         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
5096         (html-tag-alist): Add HTML5 tags.
5097         (html-tag-help): Add new tags descriptions.
5098         (html-navigational-links): Template for nav links.
5099         (html-html5-template): Template for a HTML5 page.
5101 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
5103         semantic/symref/grep: Don't use word boundaries
5104         * lisp/cedet/semantic/symref/grep.el
5105         (semantic-symref-perform-search): Instead of wrapping input in
5106         word boundaries, check that the characters before and after are
5107         not word constituents.
5109         semantic/symref/grep: Support regexp search
5110         * lisp/cedet/semantic/symref.el
5111         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
5112         the search type is regexp.
5113         * lisp/cedet/semantic/symref/grep.el
5114         (semantic-symref-perform-search): Support the regexp search type.
5115         Pass -E to Grep when it's used.
5117         semantic-symref-regexp: Allow to input an arbitrary string
5118         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
5119         Allow to input an arbitrary string interactively.
5121         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
5122         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
5123         Remove tag-symbol-match-p from the default value
5124         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
5126         Declare find-tag obsolete
5127         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
5128         xref-find-definitions.
5130 2015-05-10  Jan D  <jan.h.d@swipnet.se>
5132         Draw composite string correctly (Bug#20537).
5133         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
5134         (ns_draw_glyph_string): Call it (Bug#20537).
5136 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
5138         Avoid infloop in ERC
5139         * lisp/simple.el (line-move-to-column): Ignore field boundaries
5140         while computing line beginning position.  (Bug#20498)
5142 2015-05-08  Glenn Morris  <rgm@gnu.org>
5144         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
5145         * build-aux/gitlog-to-emacslog: Check called from right directory.
5146         (srcprefix): Remove.
5148         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
5149         * Makefile.in (ChangeLog): No longer pass "distprefix".
5150         * make-dist: Update "make ChangeLog" syntax for the above change.
5152         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
5153         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
5155         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
5157         Add command-line option-parsing to gitlog-to-emacslog.
5158         * build-aux/gitlog-to-emacslog: Add command-line options.
5159         By default, refuse to remove an existing output file.
5160         * Makefile.in (CHANGELOG): Update default.
5161         (ChangeLog): Do not test for existing file.
5162         (change-history-nocommit): Ensure temp file does not exist.
5164         Quieten --without-x compilation.
5165         * lisp/term/common-win.el: Provide a feature.
5166         * lisp/term/x-win.el (term/common-win): Require it.
5168         * lisp/dired-aux.el (dired-do-print): Require lpr.
5170         Quieten compilation, eg in --without-x builds.
5171         * lisp/dired-aux.el (lpr-printer-switch):
5172         * lisp/frame.el (tool-bar-height):
5173         * lisp/linum.el (font-info):
5174         * lisp/window.el (font-info, overflow-newline-into-fringe)
5175         (tool-bar-height):
5176         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
5177         * lisp/gnus/gnus-util.el (iswitchb-mode):
5178         * lisp/mail/rmailmm.el (libxml-parse-html-region):
5179         * lisp/net/nsm.el (gnutls-peer-status)
5180         (gnutls-peer-status-warning-describe):
5181         * lisp/net/shr.el (libxml-parse-xml-region):
5182         * lisp/url/url-http.el (gnutls-peer-status): Declare.
5184 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5186         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
5187         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
5188         `subclass' since they're never called with a class.
5189         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
5190         srecode-dictionary-child-p.
5192 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
5194         help--binding-locus: Document argument POSITION.
5195         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
5197 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
5199         Merge from gnulib.
5200         * doc/misc/texinfo.tex: Get latest version.
5202 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
5204         ffap.el (ffap-read-file-or-url): Fix completing-read call
5205         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
5206           `completing-read' should be a symbol.
5208 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
5210         Verify file modifications by other programs
5211         * src/filelock.c (lock_file): Check whether the file was modified
5212         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
5214         Fix keyboard macros that include function keys
5215         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
5216         keys in the macro before returning.  (Bug#20454)
5218 2015-05-08  Glenn Morris  <rgm@gnu.org>
5220         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
5221         "Copyright-paperwork-exempt".  (Bug#20324)
5223         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
5224         (log-edit-rewrite-tiny-change): New variable.
5225         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
5226         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
5227         * etc/NEWS: Mention this.
5229         * lisp/calc/calc.el (math-zerop): Declare.
5231         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
5233 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5235         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
5236         Support the case when BINDINGS is a single tuple.  (Bug#20525)
5238         * etc/NEWS: Fix typo in commit 14bb519
5240 2015-05-07  Jan D  <jan.h.d@swipnet.se>
5242         Warn for multiple display crash for all Gtk+ versions.
5243         * configure.ac: Warn for multiple display crash for all Gtk+
5244         versions.  Output URL to Gtk+ bug (Bug#20452).
5246         ns-win.el (ns-paste-secondary): Use gui-get-selection.
5247         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
5249 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5251         * lisp/emacs-lisp/package.el: New "external" package status
5252         An external package is any installed package that's not built-in
5253         and not from `package-user-dir', which usually means it's from an
5254         entry in `package-directory-list'.  They are treated much like
5255         built-in packages, in that they cannot be through the Package Menu
5256         deleted and are not considered for upgrades.
5257         (package-desc-status): Identify if a package is installed outside
5258         `package-user-dir'.
5259         (package-menu--print-info-simple)
5260         (package-menu--status-predicate): Add support for it.
5261         * etc/NEWS: Document it.
5263 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5265         * lisp/mail/rmail.el: Use lexical-binding
5266         (rmail-bury): Remove unused var `buffer-to-bury'.
5267         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
5268         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
5269         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
5270         (rmail-insert-inbox-text): Remove unused var `movemail'.
5271         (rmail-add-mbox-headers): Remove unused var `limit'.
5272         (rmail-undelete-previous-message): Remove unused var `value'.
5273         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
5274         `resent-reply-to'.
5275         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
5276         (rmail-restore-desktop-buffer): Rename arguments.
5278 2015-05-06  Glenn Morris  <rgm@gnu.org>
5280         * Makefile.in (change-history-commit): Add missing piece of previous.
5282         Avoid unnecessary bumping of Makefile.in's timestamp.
5283         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
5284         (emacslog): New variable.
5285         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
5286         (unchanged-history-files): Use $emacslog rather than Makefile.in.
5287         (change-history-nocommit): Store hash in $emacslog.
5288         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
5289         * admin/update_autogen (changelog_files): Update for the above.
5291         * Makefile.in: Don't always insist on removing existing "ChangeLog".
5292         (CHANGELOG): New variable.
5293         (no-ChangeLog): Remove.
5294         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
5295         (change-history-nocommit): Use a temp file rather than insisting
5296         on deletion of any existing "ChangeLog".
5298         * build-aux/gitlog-to-emacslog: Allow specification of output.
5300         * admin/update_autogen: Add option to update ChangeLog.
5301         (usage): Mention -H.
5302         (changelog_flag, changelog_n, changelog_files): New variables.
5303         (main): Check for -H, and maybe run change-history-nocommit.
5305 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5307         * lisp/subr.el (delete-dups): Pre-size the hashtable.
5309         (define-modify-macro): Make sure cl--arglist-args is defined
5310         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
5311         cl--arglist-args is defined (bug#20517).
5313 2015-05-06  Glenn Morris  <rgm@gnu.org>
5315         * Makefile.in (change-history-nocommit): New.
5317 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
5319         Only cancel timer when it is non-nil
5320         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
5321         timer when it is non-nil
5322         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
5324 2015-05-06  Glenn Morris  <rgm@gnu.org>
5326         Quieten cedet compilation
5327         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
5328         Invert fboundp test to quieten on current Emacs.
5329         * lisp/cedet/ede/config.el (ede-shell-run-something)
5330         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
5331         (semanticdb-refresh-table): Declare.
5332         (ede-preprocessor-map): Require semantic/db.
5334         Quieten cc-mode compilation
5335         * lisp/progmodes/cc-awk.el (c-forward-sws):
5336         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
5337         Declare.
5339 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
5341         lisp/subr.el (delete-dups): Avoid nreverse.
5343 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
5345         * lisp/subr.el (delete-dups): Make it destructive again.
5347 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
5349         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
5351 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5353         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
5354         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
5355         (testcover--read): Rename from testcover-read.  Change calling convention.
5356         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
5357         (testcover-start): Use add-function.  Move edebug-all-defs binding to
5358         testcover--read.
5359         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
5360         (testcover-mark): Remove unused var `item'.
5361         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
5363 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
5365         lisp/subr.el (delete-dups): Use a hash table
5366         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
5367           use a hash table. This can result in ~500 times speed-up for typical
5368           collections of size 5000, like that of `load-library'.
5370 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5372         CEDET: Avoid `oref' on classes in a few more cases
5373         * lisp/cedet/ede/generic.el (ede-find-target):
5374         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
5375         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
5376         var `prefix'.
5378         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
5379         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
5380         (semantic-symref-perform-search): Remove unused var `pat'.
5382         CEDET (srecode-compile-inserter): Avoid `oref' on classes
5383         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
5384         Avoid `oref' on classes (bug#20491).
5385         (srecode-compile-split-code): Remove unused var `key'.
5387 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
5389         Clean up pulse.el a little
5390         * lisp/cedet/pulse.el (pulse): Remove.
5391         (pulse-momentary-timer): Save instead of the stop time.
5392         (pulse-momentary-highlight-overlay): Call
5393         pulse-momentary-unhighlight first thing. Treat
5394         pulse-momentary-overlay as a single value, not a list. Save the
5395         created timer. Only pass the stop time to the timer.
5396         (pulse-tick): Update accordingly.
5397         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
5398         single value. Cancel the timer.
5400 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
5402         Support the biblatex journaltitle field
5403         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
5404         Support the biblatex journaltitle field.
5406 2015-05-05  Glenn Morris  <rgm@gnu.org>
5408         Minor declare-function improvement
5409         * lisp/emacs-lisp/bytecomp.el
5410         (byte-compile-macroexpand-declare-function):
5411         Handle declarations after calls.  (Bug#20509)
5413         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
5415         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
5417 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
5419         Pulse using a timer
5420         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
5421         (pulse-momentary-highlight-overlay): Set up the timer instead of
5422         calling `pulse'
5423         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
5424         (pulse-tick): New function.
5425         (pulse-momentary-unhighlight): Cut off the stop time.
5426         (pulse-delay): Update the docstring WRT to not using sit-for.
5428         Add semantic/symref/grep file patterns for ruby-mode
5429         * lisp/cedet/semantic/symref/grep.el
5430         (semantic-symref-filepattern-alist): Add patterns for
5431         ruby-mode. Clarify the docstring.
5433         Don't require match
5434         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
5435         match. That doesn't work for every command, and some identifier
5436         completion tables are bound to be imperfect anyway.
5438 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
5440         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
5441         (semantic-grammar--template-expand): New function.
5442         (semantic-grammar-header, semantic-grammar-footer): Use it.
5443         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
5444         (semantic-grammar-file-regexp): Refine regexp.
5445         (semantic-grammar-eldoc-get-macro-docstring):
5446         Use elisp-get-fnsym-args-string when available.
5447         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
5448         instead of the old eldoc-* names.
5449         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
5450         from elisp-mode.el.  Tweak calling convention.
5451         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
5452         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
5453         elisp--get-fnsym-args-string.
5454         (elisp--highlight-function-argument): Add `prefix' arg.
5455         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
5456         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
5458 2015-05-05  Glenn Morris  <rgm@gnu.org>
5460         * lisp/help-fns.el (describe-function-1):
5461         Handle builtins with advertised calling conventions.  (Bug#20479)
5463 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
5465         Merge branch 'seq-let'
5467         Update `seq-let' documentation
5468         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
5469         with the support of  `&rest'.
5471         Add support for &rest in `seq-let'
5472         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
5473         in the argument list.
5474         * test/automated/seq-tests.el: Add a test for parsing and binding
5475         `&rest' in `seq-let'.
5477 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
5479         Spelling fixes
5481 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
5483         * eieio-custom.el (eieio-object-value-get): Add missing increment
5484         (Bug#20467)
5486         (eieio-object-value-create): Adjust to new slots representation
5487         (Bug#20467)
5488         * eieio-custom.el (eieio-object-value-create):
5489         Fix missed adjustment to new representation of slots metadata.
5491 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
5493         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
5495 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
5497         Work around "Attempt to modify read-only object"
5498         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
5499         elisp--xref-find-definitions, to work around "Attempt to modify
5500         read-only object" error.
5502         Only skip some variables that have function counterparts
5503         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5504         Only skip minor-mode-named variable if it's defined in a Lisp
5505         file, and it's in minor-mode-list (bug#20506).
5506         * test/automated/elisp-mode-tests.el
5507         (elisp-xref-finds-both-function-and-variable)
5508         (elisp-xref-finds-only-function-for-minor-mode): New tests.
5510 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5512         Buttonize the whole line, including the number at the beginning
5513         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
5514         previous change.
5515         (xref--insert-xrefs): Buttonize the whole line, including the
5516         number at the beginning.
5518         Make sure we're inside the let bindings
5519         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5520         Make sure we're inside the let bindings.
5521         * test/automated/elisp-mode-tests.el
5522         (elisp-completes-functions-after-let-bindings): New test.
5524 2015-05-04  Glenn Morris  <rgm@gnu.org>
5526         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
5527         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
5528         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
5529         Remove outdated declarations.
5531         Replace instances of "(eval-when-compile (autoload ...))"
5532         * lisp/gnus/gnus-art.el (nneething-get-file-name):
5533         Declare rather than autoload.
5534         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
5535         Remove pointless autoload.
5536         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
5537         (gnus-topic-create-topic, gnus-topic-enter-dribble):
5538         Declare rather than autoload.
5539         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
5540         (mailcap-extension-to-mime): Autoload at run-time.
5541         * lisp/gnus/mm-util.el (latin-unity-massage-name)
5542         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
5543         (latin-unity-representations-present-region):
5544         Declare rather than autoload.
5545         * lisp/gnus/mml-smime.el (epg-make-context)
5546         (epg-passphrase-callback-function): Autoload at run-time.
5547         (epg-context-set-signers, epg-context-result-for)
5548         (epg-new-signature-digest-algorithm)
5549         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
5550         (epg-sign-string, epg-encrypt-string)
5551         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
5552         (epg-configuration, epg-expand-group, epa-select-keys):
5553         Declare rather than autoload.
5554         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
5555         Autoload at run-time.
5556         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
5557         (gnus-registry-get-id-key, gnus-registry-action):
5558         Declare rather than autoload.
5559         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
5560         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
5561         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
5562         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
5563         (spam-stat-split-fancy): Remove pointless autoloads.
5564         * lisp/net/mairix.el: Load gnus-util when compiling.
5565         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
5566         (message-field-value): Declare rather than autoload.
5567         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
5568         Check gnus-alive-p is fbound.
5569         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
5570         (vm-check-for-killed-summary, vm-error-if-folder-empty)
5571         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
5572         Declare rather than autoload.
5574         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
5576         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
5577         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
5579         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
5581         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
5583         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
5584         * lisp/emacs-lisp/package.el (epg-signature-status):
5585         Fix declarations.
5587         * lisp/play/gametree.el (gametree-show-children-and-entry)
5588         (gametree-apply-layout, gametree-mouse-show-subtree)
5589         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
5591         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
5592         Handle cl-defgeneric, cl-defmethod.
5594 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5596         Highlight both type and symbol name
5597         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
5598         Highlight both type and symbol name.
5600         Insert, highlight and align line numbers in xref output
5601         * lisp/progmodes/etags.el (xref-location-line): Specialize for
5602         xref-etags-location.
5603         * lisp/progmodes/xref.el (xref-location-line): New generic method.
5604         (xref-file-location): Add reader for the line slot.
5605         (xref--location-at-point): Skip to the `xref-location' property.
5606         (xref--collect-reference): Drop the line number from description.
5607         (xref--insert-xrefs): Insert, highlight and align line numbers.
5609 2015-05-04  Daniel Colascione  <dancol@dancol.org>
5611         Fix previous commit
5613 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5615         Don't pulse the indentation, or the newline
5616         * lisp/cedet/pulse.el (pulse-lighten-highlight)
5617         (pulse-reset-face): Fall back to the inherited background
5618         attribute in FACE.
5619         (pulse-momentary-highlight-region): Add autoload cookie.
5620         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
5621         indentation, or the newline, if the line's non-empty
5622         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
5624 2015-05-04  Daniel Colascione  <dancol@dancol.org>
5626         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
5627         * doc/lispref/positions.texi (Excursions): Document
5628         `save-mark-and-excursion'.
5629         * lisp/font-lock.el (font-lock-fontify-block): Use
5630         `save-mark-and-excursion' instead of `save-excursion', restoring
5631         Emacs 24 behavior.
5632         * lisp/simple.el (save-mark-and-excursion--save)
5633         (save-mark-and-excursion--restore): New functions.
5634         (save-mark-and-excursion): New user macro.
5635         * src/editfns.c (Fsave_excursion): Mention
5636         `save-mark-and-excursion' in `save-excursion' documentation.
5638 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5640         Classify lone symbol inside let varlist as variable
5641         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5642         Classify lone symbol inside let varlist as variable.
5643         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
5644         New test.
5646         Add xref-pulse-on-jump
5647         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
5648         Add autoload cookie.
5649         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
5650         (xref--maybe-pulse): New function.
5651         (xref-pop-marker-stack, xref--pop-to-location)
5652         (xref--display-position): Use it.
5653         (xref--location-at-point): Use back-to-indentation.
5655 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
5657         * lisp/org/org-{macs,list}.el: Fix lexical warnings
5658         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
5659         (org-list-get-next-item, org-list-get-prev-item)
5660         (org-list-get-children): Mark unused arg `struct'.
5661         (org-list-use-alpha-bul-p): Remove unused var `bul'.
5662         (org-toggle-checkbox): Mark unused var.
5663         (org-update-checkbox-count): Remove unused var `box-num'.
5664         (org-adapt-indentation): Declare.
5665         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
5666         (org-list-send-list): Remove unused var `txt'.
5667         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
5668         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
5669         * lisp/org/org-macs.el: Use `declare'.
5670         (org-with-limited-levels): Declare dyn-bound vars.
5672 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
5674         Fix minor issues with CEDET on MS-Windows
5675         * lisp/cedet/semantic/symref/idutils.el
5676         (semantic-symref-parse-tool-output-one-line): Fix the search
5677         regexp to match MS-Windows file names with drive letters.
5678         (Bug#19468)
5679         * lisp/cedet/semantic/symref/grep.el
5680         (semantic-symref-grep-use-template): Remove "--color=always" from
5681         Grep switches on MS-Windows.
5682         (semantic-symref-grep-shell): Use shell-file-name as the default
5683         value, so this works not only on Posix platforms.
5684         (semantic-symref-perform-search): Use shell-quote-argument instead
5685         of literal '..' for portable quoting of Grep command-line
5686         argument.  Use shell-command-switch instead of a literal "-c".
5687         * lisp/cedet/semantic/bovine/gcc.el
5688         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
5689         for an absolute file name in a portable way.
5691 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
5693         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
5694         (package-import-keyring, package-refresh-contents)
5695         (package-compute-transaction, package--save-selected-packages)
5696         (package-install-from-archive, package-delete)
5697         (package-menu--perform-transaction): Use `inhibit-message'
5698         instead.
5699         (package--compile): Set `warning-minimum-level' to :error.
5701 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
5703         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
5704         (terminal-init-screen): Use it (bug#20356).
5705         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
5706         (xterm--extra-capabilities-type): New const.
5707         (xterm-extra-capabilities): Use it.
5708         (xterm--version-handler): Lower the pseudo-version for `screen'.
5710 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
5712         xref--insert-xrefs: Tweak the faces
5713         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
5714         Always insert a newline at the end (to avoid mouse-face background
5715         tail at the last line).
5717         elisp-completion-at-point: Prioritize being quoted over funpos
5718         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5719         Only consider function position when not inside quoted form
5720         (bug#20425).
5721         * test/automated/elisp-mode-tests.el: New file.
5723         Stop vc-print-log from jumping to the top
5724         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
5725         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
5726         is not specified.
5727         (vc-incoming-outgoing-internal): Always pass nil.
5728         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
5729         call it, and don't set vc-sentinel-movepoint (bug#15322).
5730         (vc-print-root-log): Don't fetch the root working revision, nor
5731         pass it to vc-print-log-internal.
5733 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
5735         Fix display of keyboard layouts for right-to-left scripts
5736         * lisp/international/quail.el (quail-insert-kbd-layout): Force
5737         left-to-right paragraph direction.
5739 2015-05-02  K. Handa  <handa@gnu.org>
5741         * cmds.c (internal_self_insert): When we insert spaces for
5742         padding, set point before the padding spaces, not after them.
5744 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
5746         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
5748 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
5750         Fix etags-xref-find for references
5751         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
5752         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
5753         directory if no tags tables are loaded (bug#19468).
5755 2015-05-02  Philipp Stephani  <phst@google.com>
5757         Update the options in whitespace-style defcustom
5758         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
5759         `repeat' because the option is really set-like.  Add missing
5760         options.  Reorder options to match the order in the
5761         documentation.  (Bug#20346)
5763 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
5765         Fix error diagnostics of c-macro-expand
5766         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
5767         too early if no start-marker string was found -- that generally
5768         means cpp exited abnormally, and we still want to show its error
5769         messages to the user.
5771         Don't require Texinfo 5.0 for Emacs documentation
5772         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
5773         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
5774         "@codequoteundirected on", respectively, to avoid requiring
5775         Texinfo 5.x for Emacs documentation.
5777 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
5779         * lisp/files.el (pwd):
5780         When called with a prefix argument, insert the current default
5781         directory at point.
5783 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
5785         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
5786         * lisp/isearch.el (isearch-mode-map): Don't inhibit
5787         function-key-map remapping for backspace (bug#20466).
5789 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
5791         Implement xref-find-references in etags and elisp-mode
5792         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
5793         (elisp-xref-find): Use it.
5794         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
5795         * lisp/progmodes/xref.el (xref-collect-references):
5796         (xref--collect-reference): New functions.
5798 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
5800         Prefer plain characters to Texinfo circumlocutions
5801         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
5802         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
5804         Fix single-quoting style in PDF manuals
5805         The PDF versions of the GNU manuals used curved single quotes to
5806         represent grave accent and apostrophe, which made it a pain to cut
5807         and paste code examples from them.  Fix the PDF versions to use
5808         grave accent and apostrophe for Lisp source code, keystrokes, etc.
5809         This change does not affect the info files, nor does it affect
5810         ordinary uses of curved single quotes in PDF.
5811         * doc/emacs/docstyle.texi: New file, which specifies treatment for
5812         grave accent and apostrophe, as well as the document encoding.
5813         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
5814         * doc/lispintro/emacs-lisp-intro.texi:
5815         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
5816         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
5817         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
5818         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
5819         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
5820         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
5821         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
5822         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
5823         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
5824         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
5825         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
5826         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
5827         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
5828         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
5829         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
5830         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
5831         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
5832         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
5833         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
5834         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
5835         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
5836         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
5837         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
5838         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
5839         * doc/misc/woman.texi:
5840         Use it instead of '@documentencoding UTF-8', to lessen the need for
5841         global changes like this in the future.
5842         * doc/emacs/Makefile.in (EMACS_XTRA):
5843         * doc/lispintro/Makefile.in (srcs):
5844         * doc/lispref/Makefile.in (srcs):
5845         Add dependency on docstyle.texi.
5846         * doc/misc/Makefile.in (style): New macro.
5847         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
5848         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
5849         Use it.
5851 2015-05-01  Glenn Morris  <rgm@gnu.org>
5853         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
5855         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
5856         (help-fns--signature): Declare.
5858         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
5860 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
5862         New macro seq-let, providing destructuring support to seq.el
5863         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
5864         to `cl-destructuring-bind' but works on all sequence types supported
5865         by `seq.el'.  Bump version number to 1.6.
5866         * test/automated/seq-tests.el: Add tests for seq-let.
5867         * doc/lispref/sequences.texi: Add documentation for seq-let.
5869 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
5871         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
5873 2015-05-01  Glenn Morris  <rgm@gnu.org>
5875         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
5877 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
5879         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
5880         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
5881         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
5882         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
5883         (Bug#20445).
5885 2015-05-01  K. Handa  <handa@gnu.org>
5887         * mule-cmds.el (input-method-use-echo-area): Change :type to
5888         'boolean.
5890 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5892         Start using proportional fonts in eww by default
5893         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
5894         it seems to work well.
5896         Fix links in tables in shr
5897         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
5898         makes (some) links in tables not work.
5900 2015-05-01  Jan D  <jan.h.d@swipnet.se>
5902         (ns-get-cut-buffer-internal): Remove this alias.
5903         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
5905 2015-04-30  Glenn Morris  <rgm@gnu.org>
5907         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
5908         Update for 2015-02-08 change to indirect-function.
5910         * lisp/term/ns-win.el (ns-get-selection-internal):
5911         Remove declaration for function deleted 2014-10-21.
5913         * lisp/dom.el: Load subr-x when compiling, for when-let.
5915         Silence some compilation warnings
5916         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
5917         * lisp/emulation/cua-base.el (delete-active-region):
5918         * lisp/net/net-utils.el (w32-get-console-output-codepage):
5919         * lisp/term/ns-win.el (ns-own-selection-internal)
5920         (ns-disown-selection-internal, ns-selection-owner-p)
5921         (ns-selection-exists-p, ns-get-selection):
5922         Declare for compiler..
5924         Function declaration updates prompted by 'make check-declare'
5925         * lisp/emacs-lisp/package.el (lm-homepage):
5926         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
5927         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
5928         * lisp/gnus/mml.el (libxml-parse-html-region):
5929         * lisp/gnus/nnrss.el (libxml-parse-html-region):
5930         * lisp/net/eww.el (libxml-parse-html-region):
5931         * lisp/net/shr.el (libxml-parse-html-region):
5932         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
5933         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
5934         * lisp/vc/vc-git.el (vc-annotate-convert-time):
5935         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
5936         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
5937         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
5938         Update declaration.
5940         Remove compatibility code for 20-year old function renaming
5941         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
5942         Make it an obsolete alias.
5943         (idlwave-shell-filter): Change all uses to comint-output-filter.
5945 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
5947         Add ace-window face config
5948         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
5949         configuration.
5951 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
5953         Unclutter 'make doc' output a bit
5954         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
5955         Use make subst rather than sh IFS to split target string apart.
5956         This makes 'make' output easier to follow.
5958         Merge from gnulib
5959         * doc/misc/texinfo.tex: Update from gnulib.
5961 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
5963         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
5964         (package-menu--print-info): Obsolete.
5965         (package-menu--print-info-simple): New function.
5966         (package-menu--refresh): Use it, simplify code, and improve
5967         performance.
5968         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
5969         Tiny performance improvement.
5971         * lisp/emacs-lisp/package.el (package--message): inhibit-message
5973 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
5975         Omit -Wstrict-overflow workaround in GCC 5
5976         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
5977         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
5979         Merge from gnulib
5980         This incorporates:
5981         2015-04-29 extern-inline: no need for workaround in GCC 5.1
5982         2015-04-26 file-has-acl: port to CentOS 6
5983         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
5985 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
5987         Set next-error-* in xref--xref-buffer-mode
5988         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
5989         `next-error-last-buffer'.
5990         (xref--next-error-function): New function.
5991         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
5993 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5995         python.el: Fix warnings on looking-back calls missing LIMIT
5996         * lisp/progmodes/python.el (python-shell-accept-process-output):
5997         Pass LIMIT arg to looking-back.
5999 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6001         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
6002         (package--download-and-read-archives): Use pushnew instead of
6003         append.  If something terrible happened during a previous
6004         download, simply refreshing should now make things work again.
6006 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
6008         Introduce etags-xref-find-definitions-tag-order
6009         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
6010         New variable.
6011         (etags--xref-find-definitions): Use it (bug#19468).
6013 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
6015         PATH- and completion-related fixes in Eshell on MS-Windows
6016         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
6017         MS-Windows, prepend "." to list of directories produced from PATH,
6018         as Windows always implicitly searches the current directory first.
6019         (eshell-force-execution): Make it have a non-nil default value on
6020         MS-Windows and MS-DOS.
6021         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
6022         eshell-force-execution is non-nil, complete on readable files and
6023         directories, not only executables.  When running on MS-Windows,
6024         prepend "." to list of directories produced from PATH, as Windows
6025         always implicitly searches the current directory first.
6027 2015-04-29  Sam Steingold  <sds@gnu.org>
6029         bury RCIRC buffers when there is no activity
6030         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
6031         (rcirc-bury-buffers): new function
6032         (rcirc-next-active-buffer): when there is no new activity, use
6033         `rcirc-bury-buffers' to hide all RCIRC buffers
6035 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
6037         Fix DBUS query result parsing for secrets-search-items
6038         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
6039         parsing.  The function assumed that return value of the
6040         SearchItems method called on a collection is a list of two lists,
6041         however this is true only when no collection is specified.  GNOME
6042         had used to incorrectly return a list of two lists in both cases,
6043         but this was already fixed:
6044         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
6045         incorrect information in the secrets-search-items’ docstring.
6046         (Bug#20449)
6048 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
6050         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
6051         (byte-compile--message): Use `inhibit-message' instead of hiding
6052         the previous message with (message nil).
6054 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
6056         Remove the deprecated INTERNAL_FIELD macro by expanding it
6057         * src/lisp.h (INTERNAL_FIELD): Remove.
6058         (DEFVAR_KBOARD): Modify accordingly.
6059         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
6060         * syntax.c: Adjust users.
6061         * src/buffer.c (compact_buffer): Use BVAR.
6063 2015-04-29  Glenn Morris  <rgm@gnu.org>
6065         Replace an obsolete function alias
6066         * lisp/isearch.el (isearch-yank-x-selection):
6067         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
6068         (mouse-drag-secondary-moving):
6069         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
6070         Replace obsolete alias x-get-selection with gui-get-selection.
6072 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
6074         * lisp/mail/rmailsum.el: Use lexical-binding.
6076 2015-04-29  Glenn Morris  <rgm@gnu.org>
6078         * test/automated/package-test.el (package-test-update-archives-async):
6079         Skip test on hydra.nixos.org.
6081 2015-04-28  Glenn Morris  <rgm@gnu.org>
6083         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
6084         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
6085         (foldout-mouse-hide-or-exit): Use new names for outline functions.
6087         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
6088         Update for 2014-06-26 hideif.el change.
6090         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
6091         (rmail--decode-and-apply): New function.
6092         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
6094         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
6096 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6098         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
6099         (package-menu--refresh): Delegate obsolete-hiding to
6100         `package--remove-hidden'.
6101         (package--remove-hidden): Disregard high-priority package if it is
6102         older than the installed one.
6104 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
6106         Update source file encoding list
6107         Update admin/notes/unicode, along with coding system cookies in
6108         other files, so that the two match each other better.
6109         * admin/notes/unicode: lisp/language/ethio-util.el and
6110         lisp/language/ethiopic.el also use utf-8-emacs.
6111         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
6112         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
6113         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
6114         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
6115         * etc/refcards/sk-survival.tex:
6116         Add "coding: utf-8" so that this file is not mishandled in a
6117         Latin-1 or Big-5 locale.
6118         * lisp/international/robin.el, lisp/org/ox-ascii.el:
6119         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
6120         * lisp/language/ethio-util.el: Fix trailer.
6122 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
6124         Fix synchronous invocation of Ispell
6125         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
6126         value to ispell-process-directory before calling ispell-init-process.
6127         Don't call set-process-coding-system if ispell-async-processp is nil.
6128         (Bug#20448)
6130 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
6132         * lisp/emacs-lisp/package.el: Skip space and comments in init file
6133         (package--ensure-init-file): Insert snippet at first
6134         non-whitespace non-comments line.  Respects local-vars at the top
6135         of the file.
6137 2015-04-28  Glenn Morris  <rgm@gnu.org>
6139         * lisp/mail/rmail.el (rmail-copy-headers):
6140         Handle rmail-nonignored-headers being nil.  (Bug#18878)
6142         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
6144         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
6145         Don't get confused by a bzrlib version mismatch warning.
6147 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6149         Change default location of EUDC options file
6150         * NEWS: Document change to EUDC options file's default location.
6151         * lisp/net/eudc-vars.el (eudc-options-file): Use
6152         `locate-user-emacs-file' to change default options file location.
6154 2015-04-27  Glenn Morris  <rgm@gnu.org>
6156         * test/automated/package-test.el (package-test-update-archives-async):
6157         Try to handle the test server script dying.
6159 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6161         * lisp/saveplace.el (save-place-mode): New minor mode.
6162         (save-place): Redefine as an obsolete alias.
6164         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
6165         * lisp/midnight.el: Use lexical-binding.
6166         (midnight-mode): Make it a proper minor mode.
6167         (midnight-buffer-display-time): Make arg non-optional.
6168         (midnight-find): Remove.
6169         (clean-buffer-list-kill-never-regexps)
6170         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
6171         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
6172         contain functions.
6173         (clean-buffer-list): Use cl-find.
6174         Allow clean-buffer-list-kill-never-regexps to contain functions.
6176 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
6178         Bump version of seq.el to 1.5
6179         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
6180           from seq-doseq.  Bump version number of seq.el.
6182 2015-04-27  Glenn Morris  <rgm@gnu.org>
6184         * lisp/mail/rmail.el (rmail-reply):
6185         Decode subject before matching "Re:" prefix.  (Bug#20396)
6187 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
6189         * lisp/emacs-lisp/package.el: Small improvements
6190         (package--with-work-buffer-async): More informative error.
6191         (package-install-user-selected-packages): Rename to
6192         `package-install-selected-packages'.
6194 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6196         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
6197         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
6198         (eieio--class-make): Remove leftover `tag'.
6200 2015-04-27  Glenn Morris  <rgm@gnu.org>
6202         * lisp/gnus/message.el (gnus-extract-address-components):
6203         Remove bogus declaration that was masking previous problem.
6205 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
6207         * lisp/gnus/message.el (message-insert-formatted-citation-line):
6208         Fix typo.  (Bug#20318)
6210 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6212         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
6214         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
6215         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
6216         the buffer in yet another frame.
6217         (reftex-toc-visit-location): Make sure toc-window has focus at the end
6218         when `final' is nil.
6219         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
6220         silence warnings.  Use `--' to clarify that it's internal.
6221         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
6222         (reftex-toc-promote): Clarify unused argument.
6223         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
6224         Add `reftex--' prefix.  Fix all users.
6225         (reftex-toc-promote-prepare): Use _ for dummy variable.
6226         (reftex-toc-restore-region): Rename `m
6228 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
6230         Fix a typo in bibtex.el
6231         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
6232         last change.  (Bug#20429)
6234         Fix redisplay of frame after loading new fonts
6235         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
6236         frame because new fonts were loaded, disable all redisplay
6237         optimizations on that frame by calling SET_FRAME_GARBAGED.
6238         (Bug#20410)
6240 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
6242         * lisp/info.el (Info-menu): Properly provide the `default'
6243         (Bug#20391)
6245         * elisp-mode.el: Catch errors from `documentation'
6246         (Bug#20418)
6247         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
6248         Catch errors from documentation.
6249         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
6251 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
6253         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
6254         Remove redundant ":group 'package".
6256 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
6258         Fix a typo in rmail.el
6259         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
6260         last commit.  (Bug#20429)
6262 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
6264         Introduce xref-prompt-for-identifier
6265         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
6266         (xref--read-identifier): Use it
6267         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
6269 2015-04-26  João Távora  <joaotavora@gmail.com>
6271         `tex-insert-quote' after single `'' opens quotes instead of closing
6272         Without this, it's very hard to precede double quotes with the
6273         apostrophe character, i.e. insert the sequence '``
6274         (quote-backquote-backquote), commonly useful in portuguese, for
6275         instance.
6276         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
6277         chars making `tex-insert-quote' be in the "opening" context.
6279 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
6281         Pass `id' to `completing-read' as def instead of initial input
6282         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
6283         as the default value instead of initial input
6284         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
6286 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6288         Don't freeze with unreadable processes
6289         Don't freeze if an exiting process can't be read from. (Bug#19860).
6290         This fixes a bug I introduced in
6291         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
6292         "* process.c: Add sanity checks for file descriptors."
6293         Dmitry Gutov did most of the legwork in finding the problem.
6294         * src/process.c (wait_reading_process_output):
6295         Treat non-running processes that can't be read from
6296         the same as other non-running processes.
6298 2015-04-25  Alan Mackenzie  <acm@muc.de>
6300         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
6301         * lisp/subr.el (remove-yank-excluded-properties): put
6302         `with-silent-modifications' around only the last three lines of code.
6304 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6306         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
6307         (package--all-keywords): Deleted variable.
6309         * etc/NEWS: Document package-hiding functionality
6311 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
6313         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
6315         Clarify the doc string of 'replace-regexp-in-string'
6316         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
6318         Improve doc string of 'insert-buffer-substring'
6319         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
6321         MS-Windows followup for the recent gnulib update
6322         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
6323         acl-internal.c.
6325 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6327         Spelling fixes
6329         Merge from gnulib
6330         This incorporates:
6331         2015-04-24 file-has-acl: new module, split from acl
6332         2015-04-24 manywarnings: add GCC 5.1 warnings
6333         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
6334         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
6335         2015-04-15 acl: On Linux, check for acls without libacl
6336         2015-04-14 tempname: avoid unused parameter warnings (trivial)
6337         * lib/acl-internal.c: New file, from gnulib.
6338         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
6339         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
6340         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
6341         Update from gnulib.
6343         Port --enable-gcc-warnings to GCC 5.1 x86-64
6344         * lib-src/ebrowse.c (dump_sym):
6345         * lib-src/hexl.c (main):
6346         * src/ccl.c (ccl_driver):
6347         * src/character.c (string_escape_byte8):
6348         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
6349         * src/gnutls.c (Fgnutls_boot):
6350         * src/gtkutil.c (xg_check_special_colors):
6351         * src/image.c (x_build_heuristic_mask):
6352         * src/print.c (safe_debug_print, print_object):
6353         * src/term.c (produce_glyphless_glyph):
6354         * src/xdisp.c (get_next_display_element)
6355         (produce_glyphless_glyph):
6356         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
6357         Don't use a signed format to print an unsigned integer, or vice
6358         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
6359         * src/image.c (png_load_body, jpeg_load_body):
6360         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
6362 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
6364         Add new faces to tsdh-light-theme
6365         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
6366         definitions for Info-quoted, ace-jump-face-foreground,
6367         hl-paren-face, show-paren-match, and show-paren-mismatch.
6369 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
6371         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
6373 2015-04-24  Glenn Morris  <rgm@gnu.org>
6375         * build-aux/gitlog-to-emacslog:
6376         Use raw log format rather than wrapped one.
6378 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6380         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
6381         (seq-doseq): Fix out-of-scope binding.
6382         Don't call `seq-length at every iteration.
6383         Reduce `if's from 3 to 2 per iteration.
6384         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
6386 2015-04-24  Glenn Morris  <rgm@gnu.org>
6388         * lisp/textmodes/text-mode.el (text-mode-hook):
6389         Move text-mode-hook-identify to default.
6391         * lisp/mouse.el (minor-mode-menu-from-indicator):
6392         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
6394         * lisp/help-fns.el (describe-function): More type checking.
6395         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
6397         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
6398         (Bug#20325)
6400 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
6402         shr: strip leading whitespace when expanding URLs
6403         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
6405 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
6407         Clarify "co-authored" some more
6409         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
6411         Clarify doc strings of functions that search for properties
6412         * src/textprop.c (Fnext_char_property_change)
6413         (Fprevious_char_property_change)
6414         (Fnext_single_char_property_change)
6415         (Fprevious_single_char_property_change, Fnext_property_change)
6416         (Fnext_single_property_change, Fprevious_property_change)
6417         (Fprevious_single_property_change): Clarify doc strings wrt return
6418         value and the optional LIMIT argument.  (Bug#20411)
6420 2015-04-24  Glenn Morris  <rgm@gnu.org>
6422         * test/automated/message-mode-tests.el (message-mode-propertize):
6423         Handle non-writable HOME; eg on hydra.nixos.org.
6425 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
6427         Avoid starting threads by w32-shell-execute
6428         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
6429         local file names, before invoking ShellExecute.  (Bug#20220)
6431 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
6433         Fix following doc-links in `widget-documentation-link-action'
6434         * lisp/wid-edit.el (widget-documentation-link-action): Make
6435         following doc-links less simplistic (Bug#20398).
6437 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6439         Improve EUDC manual
6440         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
6442 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6444         Omit needless "\ " after multibyte then newline
6445         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
6446         (print_object): When print-escape-multibyte is non-nil and a
6447         multibyte character is followed by a newline or formfeed, followed
6448         by a hex digit, don't output a needless "\ " before the hex digit.
6449         * test/automated/print-tests.el (print-hex-backslash): New test.
6451 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
6453         Add a new `inhibit-message' variable
6454         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
6455         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
6456         `inhibit_message' is non-zero.
6457         * etc/NEWS: Add an entry.
6458         * doc/lispref/display.texi: Add an entry for `inhibit-message',
6459           mention it in `message'.
6461 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
6463         Fix last fix in `display-buffer-record-window'.
6464         * lisp/window.el (display-buffer-record-window): Fix last fix.
6466 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
6468         Minor edits in CONTRIBUTE
6469         * CONTRIBUTE: Rearrange instructions about log messages.
6470         Use "Git" capitalized all over.
6471         Use 2 spaces between sentences.
6473 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
6475         * lisp/files.el (basic-save-buffer): Fix argument
6477         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
6478         In case `(and (null custom-file) init-file-had-error)' do the same
6479         thing we'd do if `(null user-init-file)', which is to either error out
6480         or return nil.  This is in line with `custom-save-all' which would
6481         throw an error in that situation. (bug#20355)
6483         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
6484         (package-menu-hide-low-priority): New variable, see its doc.
6485         (package-archive-priorities): Update doc.
6486         (package-desc-priority): New function.
6487         (package-desc-priority-version): Use it.
6488         (package--remove-hidden): New function.
6489         (package-menu--refresh): Use it.
6491         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
6492         (package-menu--hide-obsolete): New variable.
6493         (package--remove-hidden): Use it.
6494         (package-menu-hide-obsolete): New interactive function to toggle
6495         the variable.
6496         (package--quick-help-keys): Document it.
6497         (package-menu-async): Add :version tag.
6498         (package-menu-mode-map): Bind package-menu-hide-obsolete.
6499         (package-desc-status): Indicate non-installed obsolete packages as
6500         avail-obso.
6501         (package-menu-mark-install): Allow installation of avail-obso.
6502         (package-menu--status-predicate): Sort avail-obso with available.
6504 2015-04-22  Alan Mackenzie  <acm@muc.de>
6506         On C-y, stop some text property entries being written into buffer-undo-list
6507         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
6508         `with-silent-modifications'.
6510 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
6512         In display-buffer-record-window record selected window if necessary.
6513         * lisp/window.el (display-buffer-record-window): Store selected window
6514         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
6516 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
6518         Fix reftex-citation bug
6519         * reftex-cite.el (reftex-extract-bib-entries): Fix
6520         `wrong-type-argument stringp nil' error that occurs when AUCTeX
6521         integration is enabled and there are no citations in the document
6522         so far.
6524 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
6526         Add or reset based on the presence of MERGE_HEAD
6527         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
6528         `vc-git-resolve-when-done' to `after-save-hook' in either case.
6529         (vc-git-conflicted-files): Add a TODO.
6530         (vc-git-resolve-when-done): Depending on the presence of
6531         MERGE_HEAD, either update the resolved file in the index, or
6532         remove it from there.  (Bug#20292)
6534 2015-04-21  Glenn Morris  <rgm@gnu.org>
6536         * lisp/custom.el (custom-declare-group): No need to purecopy
6537         custom-current-group-alist members following recent change to set
6538         it to nil before dumping.
6540         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
6541         (Bug#20399)
6543 2015-04-21  Daniel Colascione  <dancol@dancol.org>
6545         Unbreak no-op buffer save message
6546         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
6547         (basic-save-buffer): Accept called-interactively as an argument instead of
6548         directly invoking called-interactively-p, which will always yield nil
6549         in that context.
6551 2015-04-21  Alan Mackenzie  <acm@muc.de>
6553         CC Mode: Do nothing in before/after-change-functions for text property changes
6554         Fixes bug#20266.
6555         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
6556         yank-handled-properties buffer local, and remove 'category from it.
6557         (c-called-from-text-property-change-p): New function.
6558         (c-before-change): Don't do anything if a call of the new function
6559         returns non-nil.
6560         (c-after-change): Don't do much if a call of the new function returns
6561         non-nil.
6562         (c-extend-after-change-region): Put changes to text property 'fontified
6563         inside c-save-buffer-state.
6565 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
6567         Fix byte-compiler warnings about looking-back.
6568         * lisp/vc/log-view.el (log-view-end-of-defun-1):
6569         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
6570         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
6571         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
6572         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
6573         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
6574         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
6575         * lisp/org/org.el (org-insert-heading, org-sort-entries):
6576         * lisp/org/org-mouse.el (org-mouse-end-headline)
6577         (org-mouse-context-menu):
6578         * lisp/org/org-clock.el (org-clock-cancel):
6579         * lisp/man.el (Man-default-man-entry):
6580         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
6581         (rmail-ensure-blank-line):
6582         * lisp/mail/footnote.el (Footnote-delete-footnote):
6583         * lisp/mail/emacsbug.el (report-emacs-bug):
6584         * lisp/info.el (Info-follow-reference, Info-fontify-node):
6585         * lisp/info-look.el (info-lookup-guess-custom-symbol):
6586         * lisp/help-fns.el (help-fns--key-bindings):
6587         * lisp/files.el (hack-local-variables):
6588         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
6589         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
6590         (viper-complete-filename-or-exit):
6591         * lisp/emulation/viper-cmd.el (viper-backward-indent):
6592         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
6593         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
6594         * lisp/cus-edit.el (custom-face-edit-value-create):
6595         * lisp/calendar/todo-mode.el (todo-set-item-priority)
6596         (todo-filter-items-1, todo-convert-legacy-files)
6597         (todo-prefix-overlays): Add explicit second arg to looking-back.
6599 2015-04-20  Glenn Morris  <rgm@gnu.org>
6601         Avoid non-nil current-load-list at startup
6602         * src/process.c (init_process_emacs): Move Fprovide statement...
6603         (syms_of_process): ... to here.
6605         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
6607         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
6609 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
6611         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
6612         (Bug#20330)
6614 2015-04-20  Glenn Morris  <rgm@gnu.org>
6616         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
6618         Tweak exec-path in uninstalled case
6619         * src/callproc.c (init_callproc): If running uninstalled, do not
6620         include eventual installation libexec directory in exec-path.
6622 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
6624         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
6625         (package-menu-filter): Accept a list of keywords.
6626         (package--all-keywords): New variable to cache known keywords.
6627         (package-all-keywords): Populate it if necessary.
6628         (package-refresh-contents): Reset it.
6630         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
6631         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
6632         as special keywords which match agains package archive and status
6633         respectively.
6634         * etc/NEWS: Document it.
6636 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
6638         Describe and index "empty overlays".
6639         * doc/lispref/display.texi (Overlays): Improve indexing.
6640         (Managing Overlays): Describe "empty" overlays.
6641         (Overlay Properties, Finding Overlays): Add cross-reference to
6642         where empty overlays are described.
6644 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6646         Spelling fixes
6648         Quote 'like this' in top-level files
6649         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
6650         Prefer to single-quote 'like this' (instead of the older style
6651         `like this').
6652         * configure.ac: Fix some space-before-tab problems that 'git commit'
6653         complained about.
6655         Use bool for boolean in textprop.c, undo.c
6656         * src/textprop.c (soft, hard): Now constants instead of macros.
6657         (validate_plist): Rewrite to avoid need for boolean local.
6658         (interval_has_all_properties, interval_has_some_properties)
6659         (interval_has_some_properties_list, add_properties)
6660         (remove_properties, get_char_property_and_overlay)
6661         (Fnext_single_char_property_change)
6662         (Fprevious_single_char_property_change, add_text_properties_1)
6663         (Fremove_text_properties, Fremove_list_of_text_properties)
6664         (copy_text_properties):
6665         * src/tparam.c (tparam1):
6666         * src/undo.c (record_change, record_property_change)
6667         (syms_of_undo):
6668         Use 'true' and 'false' for booleans.
6670 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6672         Call `smerge-start-session' even when dealing with a stash conflict
6673         * lisp/vc/vc-git.el (vc-git-find-file-hook):
6674         Call `smerge-start-session' even when dealing with a stash
6675         conflict (bug#20292).
6677 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
6679         Add option to eshell/clear to clear scrollback.
6680         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
6681         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
6682         scrollback contents are cleared.
6683         * etc/NEWS: Describe change.
6684         * doc/misc/eshell.texi: Add entry for `clear'.
6686 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6688         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
6689         where either will do.
6691 2015-04-19  Steve Purcell  <steve@sanityinc.com>
6693         Assume package archive-contents are UTF8-encoded
6694         * lisp/emacs-lisp/package.el (package--read-archive-file):
6695         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
6696         downloaded and cached archive-contents files, so that non-ASCII
6697         characters in package descriptions are displayed correctly in the
6698         `list-packages' menu. (Bug#20231)
6700 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6702         Abort when looking at stashed changes
6703         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
6704         stashed changes (bug#20292).
6706 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6708         Refactor low-level printing for simplicity
6709         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
6710         PRINTPREPARE; doable now that we assume C99.  All callers changed.
6711         (PRINTCHAR): Remove, as it adds more mystery than clarity.
6712         All callers changed.
6713         (strout): Assume that caller computes length.  All callers changed.
6714         (print_c_string): New function.
6715         (write_string, write_string_1): Compute length instead of asking
6716         the caller to compute it.  All callers changed.
6717         (write_string): Simplify by using write_string_1.
6718         (write_string_1): Simplify by using print_c_string.
6719         (Fterpri): Compute default val more clearly.
6720         (Fprin1_to_string, print_object):
6721         Assume C99 to avoid unnecessary nesting.
6722         (print_object): Prefer print_c_string to multiple printchar, or
6723         to calling strout with -1 length.  Coalesce into sprintf when
6724         this is easy.
6726 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
6728         Prefer "Bug#1234" in commit messages (Bug#20325)
6729         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
6730         as this isn't useful for Git.
6731         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
6733 2015-04-18  Glenn Morris  <rgm@gnu.org>
6735         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
6736         (Bug#19506)
6738 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
6740         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
6741         (Bug#19505)
6743 2015-04-18  Glenn Morris  <rgm@gnu.org>
6745         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
6747         * doc/emacs/misc.texi (Sorting): Small edit.
6748         (Bug#19896)
6750         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
6752 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
6754         css-mode.el: Support multi-line comment filling
6755         (Bug#20256)
6756         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
6757         comment filling.
6758         (css-adaptive-fill): New function.
6759         (css-mode): Set `adaptive-fill-function'.
6760         (scss-mode): Set `comment-continue'.
6762 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
6764         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
6766 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
6768         Minor improvements in Bulgarian input methods
6769         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
6770         Replace U+042C with U+045D, as the former character is not used in
6771         the modern Bulgarian language.
6772         (Bug#20350)
6774 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6776         Improve EUDC manual
6777         * eudc.texi (LDAP Configuration): Mention simple and SASL
6778         authentication schemes.  Add index items.  Shorten example server
6779         name.
6781 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
6783         Don't show both feature and function with the same name
6784         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6785         Don't show both feature and function with the same name.
6787         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
6788         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6789         Avoid returning both the variable and the function for the same
6790         minor mode.
6792 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
6794         Fix fontification of keywords clobbered by the prompt.
6795         * lisp/comint.el (comint-output-filter): Remove the uses of
6796         with-silent-modifications I introduced as part of the last change.
6797         This fixes, e.g., erratically missing highlighting when running
6798         ./configure --help; ./configure in a shell-mode buffer with
6799         compilation-shell-minor-mode turned on.
6801 2015-04-17  Glenn Morris  <rgm@gnu.org>
6803         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
6805 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
6807         * lisp/indent.el (indent-region): Don't deactivate the mark
6808         (Bug#20357)
6810 2015-04-17  Sam Steingold  <sds@gnu.org>
6812         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
6814 2015-04-16  Leo Liu  <sdl.web@gmail.com>
6816         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
6818 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
6820         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
6822 2015-04-16  Glenn Morris  <rgm@gnu.org>
6824         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
6826 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
6828         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
6829         * configure.ac (LIBJPEG): Leave it empty for MinGW.
6831 2015-04-16  Glenn Morris  <rgm@gnu.org>
6833         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
6834         to avoid rogue setting after startup.
6836 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
6838         Pre-4.6 GCC succeeds with unknown option
6839         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
6840         (Bug#20338)
6842 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6844         '[:graph:]' now excludes whitespace, not just ' '
6845         * doc/lispref/searching.texi (Char Classes):
6846         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
6847         sans whitespace (not sans space).
6848         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
6849         not just space.
6850         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
6852 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6854         (looking-back): Make the second arg non-optional.
6855         * lisp/subr.el (substitute-key-definition-key, special-form-p)
6856         (macrop): Drop deprecated second arg to indirect-function.
6857         (looking-back): Make the second arg non-optional.
6859         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
6860         command is actually sent to the shell.
6862 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6864         Port jpeg configuration to Solaris 10 with Sun C
6865         * configure.ac: Check for jpeglib 6b by trying to link it, instead
6866         of relying on cpp magic that has problems in practice.  Check for
6867         both jpeglib.h and jerror.h features.  Remove special case for
6868         mingw32, which should no longer be needed (and if it were needed,
6869         should now be addressable by hotwiring emacs_cv_jpeglib).
6870         (Bug#20332)
6872 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6874         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
6875         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
6876         Move to elisp-mode.el.
6877         (lisp-mode-variables): (Re)move elisp-specific settings.
6878         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
6879         from lisp-mode-variables.
6880         (elisp--font-lock-flush-elisp-buffers): New function, moved from
6881         lisp-mode.el.
6883         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
6884         Avoid pathological slowdown at top-level in large file.
6886 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6888         Standardize names of ChangeLog history files
6889         Suggested by Glenn Morris in:
6890         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
6891         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
6892         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
6893         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
6894         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
6895         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
6896         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
6897         Remove.
6899         Split top-level entries into pre- and post-April 7
6900         This more clearly distingiushes pre-April-7 ChangeLog entries (which
6901         are for top-level files only) from post-April-7 entries (which are
6902         about files at all levels.  Problem reported by Glenn Morris in:
6903         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
6904         * ChangeLog.1: Move post-April-7 entries from here ...
6905         * ChangeLog.2: ... to this new file.
6906         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
6908 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6910         Fix recent cus-start changes that added customize-rogues
6911         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
6912         vars early.
6913         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
6915 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
6917         Define cl-concatenate as an alias to seq-concatenate
6918         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
6919           code by making cl-concatenate an alias to seq-concatenate.
6921 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6923         * src/lread.c (intern_1): Make sure we'd find the symbol we add
6924         (Bug#20334)
6925         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
6927 2015-04-15  Glenn Morris  <rgm@gnu.org>
6929         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
6931 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6933         Clean up gnus-uu saving code slightly
6934         * gnus-uu.el (gnus-uu-save-article): Make the
6935         save-restriction/widen calls make more sense.
6937 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6939         Make [:graph:] act like [:print:] sans space
6940         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
6941         [:graph:] so that it matches everything that [:print:] does,
6942         except for space.
6943         * doc/lispref/searching.texi (Char Classes):
6944         * etc/NEWS:
6945         * lisp/emacs-lisp/rx.el (rx):
6946         Document [:graph:] to be [:print:] sans ' '.
6947         * src/character.c, src/character.h (graphicp): New function.
6948         * src/regex.c (ISGRAPH) [emacs]: Use it.
6949         (BIT_GRAPH): New macro.
6950         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
6951         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
6952         Return BIT_GRAPH for RECC_GRAPH.
6953         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
6954         and ISPRINT if BIT_PRINT.
6956 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
6958         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
6959         Don't use call-next-method in a cl-defmethod.
6961         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
6962         (eieio--class-p): Remove, provided by cl-defstruct.
6964 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
6966         Add seq-intersection and seq-difference to the seq library
6967         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
6968         functions.
6969         * test/automated/seq-tests.el: Add tests for seq-intersection and
6970         seq-difference.
6971         * doc/lispref/sequences.texi: Add documentation for seq-intersection
6972         and seq-difference.
6974 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
6976         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
6978 2015-04-14  Sam Steingold  <sds@gnu.org>
6980         package--ensure-init-file: widen requires save-restriction
6982 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
6984         Improve the commit-msg Git hook for unibyte environments
6985         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
6986         in unibyte environments.  (Suggested by Paul Eggert
6987         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
6988         [:print:], based on UTF-8 sequences of the unprintable characters.
6990         Describe problems with cursor caused by Windows Magnifier
6991         * etc/PROBLEMS: Describe the problem with cursor shape on
6992         MS-Windows due to Windows Magnifier.
6993         (Bug#20271)
6995         Make [:print:] support non-ASCII characters correctly
6996         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
6997         (BIT_PRINT): New bit mask.
6998         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
6999         * src/character.c (printablep): New function.
7000         * src/character.h (printablep): Add prototype.
7001         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
7002         of 'print', 'alnum', and 'alphabetic'.
7003         * doc/lispref/searching.texi (Char Classes): Document the new
7004         behavior of [:print:].
7005         * etc/NEWS: Mention the new behavior of [:print:].
7007         Assign correct general-category and names to surrogates
7008         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
7009         surrogates.  This avoids assigning them the default
7010         general-category of 'Cn', i.e. unassigned codepoints.
7011         (unidata-get-name): Give surrogates synthetic names.
7013 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
7015         Assume C89 offsetof in xterm.c, xlwmenu.c
7016         * lwlib/xlwmenu.c (offset):
7017         * src/xterm.c (cvt_string_to_pixel_args):
7018         Use offsetof, not XtOffset.
7020 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7022         Assume C89 offsetof in widget.c
7023         * src/widget.c (XtOffset): Remove; no longer needed.
7024         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
7026         Fix think-o in previous patch
7027         * src/window.c (count_windows, get_leaf_windows):
7028         Don't optimize count_windows incorrectly.
7030 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7032         Avoid some int overflows in window.c
7033         * src/print.c (print_object):
7034         * src/window.c (sequence_number):
7035         * src/window.h (struct window.sequence_number):
7036         Don't assume window sequence number fits in int.
7037         * src/window.c (window_select_count):
7038         * src/window.h (struct window.use_time, window_select_count):
7039         Don't assume window use time fits in int.
7040         * src/window.c (Fsplit_window_internal):
7041         Don't assume user-supplied integer, or sum, fits in int.
7042         (Fset_window_configuration, count_windows, get_leaf_windows)
7043         (save_window_save, Fcurrent_window_configuration):
7044         Use ptrdiff_t for object counts.
7045         (Fset_window_configuration): Omit unused local 'n'.
7046         (count_windows): Simplify by writing in terms of get_leaf_windows.
7047         (get_leaf_windows): Don't store through FLAT if it's null.
7048         (extract_dimension): New static function.
7049         (set_window_margins, set_window_fringes, set_window_scroll_bars):
7050         Use it to avoid undefined behavior when converting user-supplied
7051         integer to 'int'.
7053 2015-04-13  Glenn Morris  <rgm@gnu.org>
7055         Minor doc copyedits
7056         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
7057         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
7059 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7061         [Gnus] Catch the invalid-operation that idna.el will issue
7062         * lisp/gnus/gnus-art.el (gnus-use-idna):
7063         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
7064         * lisp/gnus/message.el (message-use-idna):
7065         Catch the invalid-operation that idna.el will issue.
7067 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
7069         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
7071 2015-04-13  Sam Steingold  <sds@gnu.org>
7073         package--ensure-init-file: widen before looking for "(package-initialize)"
7075 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
7077         Change diff-switches default to `-u'
7078         (Bug#20290)
7079         * doc/emacs/files.texi (Comparing Files): Document the new default
7080         value of `diff-switches'.
7081         * doc/emacs/trouble.texi (Sending Patches): Document the preference
7082         for unified diff format.  Escape the plus in the suggested `-F' regexp
7083         value.
7084         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
7086 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7088         (gnus-group--setup-tool-bar-update): Fix last change
7089         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
7090         cursor-sensor-functions should be a list of functions.
7092 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
7094         Use gmm-called-interactively-p in Gnus
7095         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
7097 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7099         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
7100         (Bug#20321)
7101         * lisp/cus-start.el (read-buffer-function): Don't advertize
7102         iswitchb-read-buffer any more.
7103         (iswitchb): Don't tweak this obsolete group any more.
7105 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
7107         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
7109         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
7110         Adding a string after a constructor's argument list will use
7111         that string as the constructor function docstring.  If this string
7112         is absent but the struct itself was given a docstring, use that as
7113         the constructor's docstring.
7114         Fixes (bug#17284).
7116 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7118         Deprecate `intangible' and `point-entered' properties
7119         * lisp/emacs-lisp/cursor-sensor.el: New file.
7120         * lisp/simple.el (pre-redisplay-functions): New hook.
7121         (redisplay--pre-redisplay-functions): New function.
7122         (pre-redisplay-function): Use it.
7123         (minibuffer-avoid-prompt): Mark obsolete.
7124         (redisplay--update-region-highlight): Adapt it to work as a function on
7125         pre-redisplay-functions.
7126         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
7127         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
7128         than point-entered to make the prompt intangible.
7129         * lisp/forms.el: Move `provide' calls to the end.
7130         (forms-mode): Don't use `run-hooks' on a local var.
7131         (forms--make-format, forms--make-format-elt-using-text-properties):
7132         Use cursor-intangible rather than `intangible'.
7133         (forms-mode): Enable cursor-intangible-mode.
7134         * lisp/isearch.el (isearch-mode): Use defvar-local.
7135         (cursor-sensor-inhibit): Declare.
7136         (isearch-mode): Set cursor-sensor-inhibit.
7137         (isearch-done): Set it back.
7138         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
7139         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
7140         any more.
7141         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
7142         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
7143         Add Edebug spec.
7144         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
7145         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
7146         inhibit-point-motion-hooks any more.
7147         (ses--cell-at-pos, ses--curcell): New functions, extracted from
7148         ses-set-curcell.
7149         (ses-set-curcell): Use them.
7150         (ses-print-cell, ses-setup): Use cursor-intangible instead of
7151         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
7152         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
7153         Use ses--cell-at-pos.
7154         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
7155         extracted from ses-command-hook.  Make them work with multiple windows
7156         displaying the same buffer.
7157         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
7158         Enable cursor-intangible-mode.
7159         (ses-command-hook): Remove cell highlight and mode-line update code.
7160         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
7161         Update for new name of text-property holding the cell name.
7162         (ses-rename-cell): Don't mess with mode-line-process.
7163         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
7164         cursor-sensor-functions property instead of point-entered.
7165         (erc-insert-timestamp-right, erc-format-timestamp):
7166         Use cursor-intangible rather than `intangible'.
7167         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
7168         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
7169         cursor-sensor-mode if needed.
7170         (erc-echo-timestamp): Adapt to calling convention of
7171         cursor-sensor-functions.
7172         (erc-insert-timestamp-right): Remove unused vars `current-window' and
7173         `indent'.
7174         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
7175         (gnus-update-group-mark-positions): Remove unused `topic' var.
7176         (gnus-group-insert-group-line): Remove unused var `header'.
7177         (gnus-group--setup-tool-bar-update): New function.
7178         (gnus-group-insert-group-line): Use it.
7179         (gnus-group-update-eval-form): Declare local
7180         dynamically-bound variables.
7181         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
7182         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
7183         (gnus-group-prepare-topics, gnus-topic-update-topic)
7184         (gnus-topic-change-level, gnus-topic-catchup-articles)
7185         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
7186         Use inhibit-read-only.
7187         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
7188         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
7189         * lisp/textmodes/reftex-index.el (reftex-display-index):
7190         Use cursor-intangible-mode if available.
7191         (reftex-index-post-command-hook): Check cursor-intangible.
7192         * lisp/textmodes/reftex-toc.el (reftex-toc):
7193         Use cursor-intangible-mode if available.
7194         (reftex-toc-recenter, reftex-toc-post-command-hook):
7195         Check cursor-intangible.
7196         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
7197         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
7198         (sgml-tags-invisible): Use with-silent-modifications and
7199         inhibit-read-only.  Enable cursor-sensor-mode.
7200         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
7201         calling convention of cursor-sensor-functions.
7202         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
7203         (table-point-entered-cell-hook, table-point-left-cell-hook):
7204         Don't autoload.
7205         (table-cell-entered-state): Remove var.
7206         (table--put-cell-point-entered/left-property)
7207         (table--remove-cell-properties):
7208         Use cursor-sensor-functions rather than point-entered/left.
7209         (table--point-entered/left-cell-function): Merge
7210         table--point-entered-cell-function and table--point-left-cell-function
7211         and adjust to calling convention of cursor-sensor-functions.
7213         Update ldef-boots.el
7215         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
7217         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
7219         Collapse successive char deletions in the undo log
7220         * src/cmds.c (remove_excessive_undo_boundaries): New function,
7221         extracted from Fself_insert_command.
7222         (Fdelete_char, Fself_insert_command): Use it.
7223         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
7224         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
7226         xterm and OSC 52: Add NEWS entry, and tweak the code
7227         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
7228         top-level.
7229         (terminal-init-xterm-activate-set-selection): Set a terminal property.
7230         (xterm--set-selection): Use it instead of checking the value of
7231         `terminal-initted'.  Don't use string-bytes.
7233 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
7235         xterm.el: Implement OSC-52 functionality for setting the X selection
7236         * lisp/term/xterm.el (xterm-max-cut-length): New var.
7237         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
7238         (terminal-init-xterm, xterm--version-handler): Use them.
7240 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
7242         Remove left over code from when we used an obsolete/loaddefs.el file
7243         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
7244         we used an obsolete/loaddefs.el file.
7246         * cedet/semantic/fw.el: Use declare.
7247         * cedet/semantic/fw.el (semantic-exit-on-input)
7248         (semanticdb-without-unloaded-file-searches): Use declare.
7249         (semantic-fw-add-edebug-spec): Remove.
7251         (completion-lisp-mode-hook): Use completion-separator-chars
7252         * lisp/completion.el (completion-lisp-mode-hook):
7253         Use completion-separator-chars rather than local key binding.
7255         * src/*.c: Set deactivate_mark buffer-locally
7256         (Bug#20260)
7257         * src/insdel.c (prepare_to_modify_buffer_1):
7258         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
7259         buffer-locally.
7261 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7263         python.el: Keep symmetry on sexp navigation with parens
7264         (Bug#19954)
7265         * lisp/progmodes/python.el
7266         (python-nav--forward-sexp): Add argument skip-parens-p.
7267         (python-nav-forward-sexp, python-nav-backward-sexp)
7268         (python-nav-forward-sexp-safe)
7269         (python-nav-backward-sexp-safe): Use it.
7270         * test/automated/python-tests.el
7271         (python-nav-forward-sexp-1): Fix test.
7273 2015-04-12  João Távora  <joaotavora@gmail.com>
7275         Don't use `setq-local' in Gnus code
7276         This might break upstream builds with older Emacsen
7277         * lisp/gnus/message.el (message-mode): Use `set' and
7278         `make-local-variable' instead of `setq-local'.
7280 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
7282         Update Makefile.in's .PHONY dependencies
7283         * Makefile.in (change-history-commit, master-branch-is-current)
7284         (no-ChangeLog): Now phony.
7286         Remove configure's --with-mmdf option
7287         * configure.ac (MAIL_USE_MMDF): Remove.
7288         * etc/NEWS: Document this.
7289         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
7290         (Bug#20308)
7292         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
7293         That way, 'make install' won't think it's a man page.
7294         Reported by Ashish SHUKLA in:
7295         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
7297         Improve 'make change-history' prereq tests
7298         * Makefile.in (gen_origin): Fix to match what's in the master branch.
7299         (no-ChangeLog, master-branch-is-current): New rules.
7300         (change-history): Depend on them, to avoid similar future problems.
7301         Escape the local-variables string to pacify Emacs when editing
7302         Makefile.in.
7304 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7306         * test/automated/package-test.el (with-package-test): Kill Packages buffer
7308         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
7309         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
7310         "Upgrade" last, and use capitalized instead of all-caps.
7312         * lisp/emacs-lisp/package.el: Completely silence async operations
7313         (package--make-autoloads-and-stuff): Silence autoloads.
7314         (package--save-selected-packages): New function, silences
7315         `customize-save-variable'.
7316         (package--user-selected-p, package-install-from-buffer)
7317         (package-delete, package-install): Use it.
7318         (package-install-from-archive)
7319         (package-menu--perform-transaction): Silence.
7320         (package-menu-execute): Feedback when operation starts.
7322         Use delay-mode-hooks when visiting the init-file
7323         * lisp/emacs-lisp/package.el (package--ensure-init-file):
7324         delay-mode-hooks
7325         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
7327         * lisp/files.el: Only message when saving if save-silently is nil
7328         (save-silently): New variable.
7329         (files--message): New function.
7330         (find-file-noselect, save-buffer, basic-save-buffer)
7331         (basic-save-buffer-2, save-some-buffers, not-modified)
7332         (append-to-file): Use them.
7334 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
7336         Support debug declarations in pcase macros
7337         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
7338         (pcase-UPAT): Use it.  Remove "`".
7339         (pcase--edebug-match-macro): New function.
7340         (pcase-defmacro): Support debug declarations.
7341         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
7342         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
7343         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
7345         pcase.el: Edebug support for `app' and vector patterns
7346         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
7347         (pcase-UPAT): Use it. Support `app' patterns.
7348         (pcase-QPAT): Support vector patterns.
7350         edebug.el: Disambiguate vector specifications
7351         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
7352         `(vector ...)' as a vector specification, not as a sublist.
7354         (gnus-summary-refer-thread): Don't clobber unread articles
7355         This fixes a bug where `A T' causes "random" articles to become marked
7356         as read.
7357         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
7358         gnus-newsgroup-unreads remains sorted.
7360         mouse-sel.el: Fix mouse-sel-get-selection-function
7361         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7362         Use gui--last-selected-text-primary instead of no longer existing
7363         gui-last-selected-text.
7365         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
7367         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
7369 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7371         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
7373         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
7375         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
7376         (byte-compile--interactive): New var.
7377         (byte-compile--message): New function.
7378         (byte-compile-log-1, byte-force-recompile)
7379         (byte-recompile-directory, byte-recompile-file)
7380         (byte-compile-file, compile-defun)
7381         (byte-compile-file-form-defmumble, byte-compile)
7382         (byte-compile-file-form-defalias, display-call-tree): Use it.
7384         * lisp/files.el: Don't message when nothing happened
7385         (save-some-buffers, basic-save-buffer): Before messaging to say
7386         "nothing was saved" check if (called-interactively-p 'any).
7388 2015-04-12  João Távora  <joaotavora@gmail.com>
7390         Summary: Improve sexp-based movement in message-mode
7391         Works by giving citations and smileys a different syntax.  This helps
7392         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
7393         sexp-based movement.
7394         * lisp/gnus/message.el (message--syntax-propertize): New function.
7395         (message-mode): Set syntax-related vars.
7396         (message-smileys): New variable.
7397         * test/automated/message-mode-tests.el: New file
7399 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7401         Use bool for boolean in window.c
7402         * src/window.c: Omit unnecessary static function decls.
7403         (adjust_window_count, select_window, Fselect_window)
7404         (window_body_width, Fwindow_body_height, Fwindow_body_width)
7405         (set_window_hscroll, check_window_containing, Fwindow_at)
7406         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
7407         (unshow_buffer, replace_window, recombine_windows)
7408         (add_window_to_list, candidate_window_p, next_window)
7409         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
7410         (Fget_buffer_window, Fdelete_other_windows_internal)
7411         (replace_buffer_in_windows_safely, set_window_buffer)
7412         (Fset_window_buffer, Fforce_window_update)
7413         (temp_output_buffer_show, make_parent_window)
7414         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
7415         (resize_frame_windows, Fsplit_window_internal)
7416         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
7417         (Fresize_mini_window_internal, mark_window_cursors_off)
7418         (window_scroll, window_scroll_pixel_based)
7419         (window_scroll_line_based, scroll_command, Fscroll_other_window)
7420         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
7421         (Fmove_to_window_line, Fset_window_configuration)
7422         (delete_all_child_windows, apply_window_adjustment)
7423         (set_window_fringes, set_window_scroll_bars)
7424         (Fset_window_vscroll, foreach_window, foreach_window_1)
7425         (compare_window_configurations, Fcompare_window_configurations):
7426         Prefer 'bool', 'true', and 'false' for booleans.
7427         * src/window.h (WINDOW_MODE_LINE_LINES)
7428         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
7430 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
7432         Speed up byte-compilation and autoload generation by avoiding mode-hooks
7433         This prevents emacs-lisp-mode-hook from being run everytime an
7434         autoload file is generated, which can account for a fraction of
7435         package installation time depending on the hooks the user has
7436         configured.
7437         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
7438         * lisp/emacs-lisp/autoload.el (autoload-find-file)
7439         (autoload-find-generated-file): Use delay-mode-hooks.
7441         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
7442         (package-menu-refresh): Respect async and do new package checking.
7443         (list-packages): Use `package-menu-refresh' instead of repeating code.
7445         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
7446         (package--quick-help-keys): New variable.
7447         (package--prettify-quick-help-key): New function.
7448         (package-menu-quick-help): Use it.
7450         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
7451         (package--build-compatibility-table): require finder
7453         * test/automated/package-test.el: Fix new test
7455         * lisp/emacs-lisp/package.el: Silence async operations
7456         (package--silence): New variable.
7457         (package--message): New function.
7458         (package-import-keyring, package-refresh-contents)
7459         (package-compute-transaction, package-install, package-delete)
7460         (package-menu--perform-transaction, package-menu-execute): Use it.
7462         * test/automated/package-test.el: Test async functionality
7463         (package-test-update-archives-async): New test
7465 2015-04-11  Daiki Ueno  <ueno@gnu.org>
7467         Utilize `make-process' in epg.el
7468         * lisp/epg.el (epg-error-output): Abolish.
7469         (epg-context): New slot `error-buffer'.
7470         (epg--start): Use `make-process' and `make-pipe-process'.
7471         (epg--process-filter): Remove code separating stderr from stdout.
7472         (epg-wait-for-completion): Simplify `error-output' handling.
7473         (epg-reset): Dispose error buffer.
7475 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7477         * .gitignore: Ignore doc temps and outputs.
7479         Port commit-msg to MSYS Bash+Gawk
7480         See Eli Zaretskii in:
7481         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
7482         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
7483         (cent_sign, print_at_sign, at_sign): Revert previous change.
7484         (print_at_sign): Prepend "BEGIN".
7485         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
7487         Port commit-msg to broken MS-Windows shell
7488         * build-aux/git-hooks/commit-msg (cent_sign):
7489         Just use UTF-8 here rather than ASCII + printf, as the latter fails
7490         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
7491         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
7493 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
7495         Support GnuTLS v3.4 and later on MS-Windows
7496         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
7497         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
7498         GnuTLS DLL to load according to value of libgnutls-version.
7499         (Bug#20294)
7501 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7503         Minor quoting etc. fixes to misc manuals
7504         Fix some minor quoting and spacing issues.  Distinguish more
7505         clearly among grave accent and apostrophe (which are ASCII) and
7506         single quote (which is not).  Prefer the standard terms
7507         "apostrophe" and "grave accent" to alternative names that can be
7508         confusing.  Use apostrophes to single-quote ASCII text.
7509         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
7510         rather than approximating it in ASCII with grave accent.
7512 2015-04-11  Daiki Ueno  <ueno@gnu.org>
7514         Respect more keyword args in `make-process'
7515         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
7516         keywords as documented.
7518 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
7520         Extract ChangeLog entries when committing a directory
7521         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
7522         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
7523         Add a FIXME comment.
7524         (log-edit-changelog-entries): Extract from
7525         `log-edit-changelog-entries', handle FILE being a directory
7526         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
7528 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7530         Fix problems found by --enable-gcc-warnings
7531         * src/process.c (create_process, Fmake_pipe_process)
7532         (Fmake_network_process): Omit unused locals.
7534         Fix commit-msg to handle scissors lines
7535         * build-aux/git-hooks/commit-msg:
7536         Ignore every line after a scissors line, such as a line generated
7537         by 'git commit -v'.  Problem reported by Johan Bockgård in:
7538         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
7540         port commit-msg to Gawk 3.0.4 (1999)
7541         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
7542         (print_at_sign, at_sign): New vars.  Use them to avoid problems
7543         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
7544         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
7546         Have commit-msg report commit failure
7547         * build-aux/git-hooks/commit-msg: If the commit is aborted,
7548         say so.  Simplify by doing this at the end.  Problem reported
7549         by Eli Zaretskii in:
7550         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
7552 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7554         Clean up LDAP Configuration section of EUDC manual
7555         * doc/misc/eudc.texi: Combine indices.
7556         (LDAP Configuration): Use command markup.  Add index entries.
7557         Change formatting.  Wrap long lines.  Add noindent markup.
7559 2015-04-10  Daiki Ueno  <ueno@gnu.org>
7561         Add facility to collect stderr of async subprocess
7562         * src/w32.h (register_aux_fd): New function declaration.
7563         * src/w32.c (register_aux_fd): New function.
7564         * src/process.h (struct Lisp_Process): New member stderrproc.
7565         * src/process.c (PIPECONN_P): New macro.
7566         (PIPECONN1_P): New macro.
7567         (Fdelete_process, Fprocess_status, Fset_process_buffer)
7568         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
7569         (Fcontinue_process): Handle pipe process specially.
7570         (create_process): Respect p->stderrproc.
7571         (Fmake_pipe_process): New function.
7572         (Fmake_process): Add new keyword argument :stderr.
7573         (wait_reading_process_output): Specially handle a pipe process when
7574         it gets an EOF.
7575         (syms_of_process): Register Qpipe and Smake_pipe_process.
7576         * doc/lispref/processes.texi (Asynchronous Processes): Document
7577         `make-pipe-process' and `:stderr' keyword of `make-process'.
7578         * lisp/subr.el (start-process): Suggest to use `make-process' handle
7579         standard error separately.
7580         * test/automated/process-tests.el (process-test-stderr-buffer)
7581         (process-test-stderr-filter): New tests.
7582         * etc/NEWS: Mention new process type `pipe' and its usage with the
7583         `:stderr' keyword of `make-process'.
7585 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7587         Minor quoting etc. fixes to lispref manual
7588         * doc/lispref/tips.texi (Documentation Tips):
7589         Distinguish more clearly among grave accent, apostrophe,
7590         and single quote.
7591         * doc/lispref/README, doc/lispref/buffers.texi:
7592         * doc/lispref/commands.texi, doc/lispref/control.texi:
7593         * doc/lispref/customize.texi, doc/lispref/display.texi:
7594         * doc/lispref/elisp.texi, doc/lispref/files.texi:
7595         * doc/lispref/frames.texi, doc/lispref/hash.texi:
7596         * doc/lispref/help.texi, doc/lispref/internals.texi:
7597         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
7598         * doc/lispref/markers.texi, doc/lispref/modes.texi:
7599         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
7600         * doc/lispref/os.texi, doc/lispref/positions.texi:
7601         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
7602         * doc/lispref/text.texi, doc/lispref/tips.texi:
7603         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
7604         Use American-style double quoting in ordinary text,
7605         and quote 'like this' when single-quoting in ASCII text.
7606         Also, fix some minor spacing issues.
7608 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
7610         Handle symlinked test directory in tramp-tests.el
7611         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
7612         (tramp--test-check-files): Use `file-truename' for directories.
7614 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
7616         Fix 'recenter' when visual-line-mode is turned on
7617         * src/window.c (Frecenter): Use the same code for GUI and TTY
7618         frames alike; use vmotion only for "initial" frames.  This is
7619         because vmotion doesn't support visual-line-mode.  Rewrite the
7620         'iarg >= 0' case to use move_it_* functions instead of using
7621         vmotion, for the same reason.  Fix the clipping of the argument
7622         value to support scroll-margin in all cases and avoid unwarranted
7623         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
7624         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
7625         which see.
7627 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7629         * abbrev.el (define-abbrev-table): Refine last change.
7631         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
7632         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
7633         use of c[ad]+r", so as to keep the "cl-" prefix on all
7634         cl-lib definitions.
7636         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
7638         * lisp/cedet/semantic: Remove some dead code
7639         * lisp/cedet/semantic/util-modes.el
7640         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
7641         any more.
7642         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
7643         not supported any more.
7644         (semantic-safe): Use `declare'.
7645         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
7646         (semantic-tag-intangible-p): Remove unused functions.
7647         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
7648         Remove unused function.
7650         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
7651         (gnus-article-hide-text, gnus-article-unhide-text)
7652         (gnus-article-unhide-text-type): Remove special handling of
7653         `intangible' since that property is not used any more.
7654         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
7656 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7658         Use the VC root in `log-edit-listfun'
7659         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
7660         `log-edit-listfun'.
7662 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
7664         Fix description of Unix time, mention new function.
7665         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
7666         Unix time.
7667         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
7668         (Basic Operations on Units): Mention `calc-convert-exact-units'.
7670 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
7672         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
7674 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7676         (log-edit-insert-changelog-entries): Don't add newline after the last entry
7677         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
7678         Don't add newline after the last entry.
7680 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
7682         css-mode.el: Add "not" pseudo-class
7683         (Bug#20267)
7684         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
7685         list of CSS pseudo-classes.
7687 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7689         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
7691 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
7693         Stop messing with the EMACS env var
7694         * misc.texi (Interactive Shell): Remove description of EMACS env var.
7696 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7698         Adapt 'make change-history' to coding cookie
7699         * Makefile.in (change-history): Adjust to change of format of
7700         ChangeLog file, which now has a coding cookie before an indented
7701         copyright notice.
7703 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7705         Adapt 'make change-history' to coding cookie
7706         * Makefile.in (change-history): Adjust to change of format of
7707         ChangeLog file, which now has a coding cookie before an indented
7708         copyright notice.
7710         gitlog-to-changelog coding cookie and mv -i
7711         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
7712         for copyright notice prototype, so that we get a proper "coding:"
7713         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
7714         existing ChangeLog.  Problems reported by Eli Zaretskii in:
7715         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
7717         Merge from gnulib
7718         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
7719         2015-04-09 gitlog-to-changelog: port to MS-Windows
7721 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
7723         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
7724         (Bug#20212)
7726 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7728         Stop messing with the EMACS env var
7729         (Bug#20202)
7730         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
7731         * lisp/comint.el (comint-exec-1):
7732         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
7733         * lisp/progmodes/compile.el (compilation-start): Same and bring
7734         INSIDE_EMACS's format in line with other users.
7736         css-mode.el (css-smie-rules): Fix indentation after complex selectors
7737         (Bug#20282)
7738         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
7739         inner structure of selectors.
7741 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7743         python.el: Indent docstring lines to base-indent
7744         (Bug#19595)
7745         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
7746         an initial patch.
7747         * lisp/progmodes/python.el
7748         (python-indent-context): Add :inside-docstring context.
7749         (python-indent--calculate-indentation): Handle :inside-docstring.
7750         (python-indent-region): Re-indent docstrings.
7751         * test/automated/python-tests.el (python-indent-region-5)
7752         (python-indent-inside-string-2): Fix tests.
7754         python.el: Increase native completion robustness
7755         (Bug#19755)
7756         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
7757         this and providing useful ideas.
7758         * lisp/progmodes/python.el
7759         (python-shell-completion-native-output-timeout): Increase value.
7760         (python-shell-completion-native-try-output-timeout): New var.
7761         (python-shell-completion-native-try): Use it.
7762         (python-shell-completion-native-setup): New readline setup avoids
7763         polluting current context, ensures output when no-completions are
7764         available and includes output end marker.
7765         (python-shell-completion-native-get-completions): Trigger with one
7766         tab only.  Call accept-process-output until output end is found or
7767         python-shell-completion-native-output-timeout is exceeded.
7769 2015-04-08  Samer Masterson  <samer@samertm.com>
7771         * lisp/eshell: Make backslash a no-op in front of normal chars
7772         (Bug#8531)
7773         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
7774         (eshell-parse-backslash): Return escaped character after backslash
7775         if it is special.  Otherwise, if the backslash is not in a quoted
7776         string, ignore the backslash and return the character after; if
7777         the backslash is in a quoted string, return the backslash and the
7778         character after.
7779         * test/automated/eshell.el (eshell-test/escape-nonspecial)
7780         (eshell-test/escape-nonspecial-unicode)
7781         (eshell-test/escape-nonspecial-quoted)
7782         (eshell-test/escape-special-quoted): Add tests for new
7783         `eshell-parse-backslash' behavior.
7785 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
7787         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
7788         after the file name.
7789         (Bug#20276)
7791 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7793         Minor quoting etc. fixes to Emacs manual
7794         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
7795         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
7796         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
7797         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
7798         * doc/emacs/indent.texi, doc/emacs/macos.texi:
7799         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
7800         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
7801         * doc/emacs/search.texi, doc/emacs/trouble.texi:
7802         * doc/emacs/vc1-xtra.texi:
7803         Use American-style double quoting in ordinary text,
7804         and quote 'like this' when single-quoting in ASCII text.
7805         Also, fix some minor spacing issues.
7807         Minor quoting etc. fixes to elisp intro
7808         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
7809         American-style double quoting in ordinary text.  In ASCII text,
7810         consistently quote 'like this' instead of `like this', unless
7811         Emacs requires the latter.
7813 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
7815         * CONTRIBUTE: Mention log-edit-insert-changelog.
7817         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
7819 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7821         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
7823 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
7825         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
7826         (Bug#20270)
7827         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
7828         Fix inheritance of initargs.
7830 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
7832         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
7833         while dowloading information.
7835         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
7836         (package--ensure-init-file): Check file contents before visiting.
7837         (package-initialize): Call it.
7838         (package-install-from-buffer, package-install): Don't call it.
7840 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
7842         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
7843         (Bug#17517)
7845 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
7847         Fix nasty scoping bug in tramp-cache.el
7848         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
7850 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
7852         Add notice to visual commands section
7853         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
7854         such as git call less with its -F option which omits pagination if
7855         the contents is less than one page long.  This interferes with
7856         eshell's visual (sub-)commands.
7858 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
7860         ffap: Support environment variable expansion in file names
7861         (Bug#19839)
7862         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
7863         environment variable expansion in file names.
7865 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7867         Prefer double-quote to accent-grave in man pages
7869 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
7871         (Bug#20257)
7872         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
7874 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
7876         Update etc/PROBLEMS.
7877         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
7878         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
7879         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
7880         respectively); other minor updates and tweaks.  (Bug#20011)
7882 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7884         Add doc strings for some Isearch state vars
7885         * lisp/misearch.el (multi-isearch-buffer-list)
7886         (multi-isearch-file-list): Add doc strings.
7887         (Bug#20232)
7889 2015-04-07  Alan Mackenzie  <acm@muc.de>
7891         Always mark "<" and ">" in #include directives with text properties.
7892         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
7893         matcher" with an invocation of c-make-font-lock-search-function to allow
7894         fontification when there's no trailing space on an "#include <..>" line.
7896 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7898         Generate a ChangeLog file from commit logs
7899         * .gitignore: Add 'ChangeLog'.
7900         * build-aux/gitlog-to-changelog: New file, from Gnulib.
7901         * build-aux/gitlog-to-emacslog: New file.
7902         * CONTRIBUTE: Document the revised workflow.
7903         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
7904         instead of just special cases.
7905         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
7906         (ChangeLog, unchanged-history-files, change-history)
7907         (change-history-commit): New rules.
7908         * admin/admin.el (make-manuals-dist--1):
7909         Don't worry about doc/ChangeLog.
7910         * admin/authors.el: Add a FIXME.
7911         * admin/make-tarball.txt:
7912         * lisp/calendar/icalendar.el:
7913         * lisp/gnus/deuglify.el:
7914         * lisp/obsolete/gulp.el:
7915         * lwlib/README:
7916         Adjust to renamed ChangeLog history files.
7917         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
7918         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
7919         Remove obsolete discussion of merging ChangeLog files.
7920         New section "Maintaining ChangeLog history".
7921         * build-aux/git-hooks/pre-commit:
7922         Reject attempts to commit files named 'ChangeLog'.
7923         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
7924         * make-dist: Make and distribute top-level ChangeLog if there's a
7925         .git directory.  Distribute the new ChangeLog history files
7926         instead of scattered ChangeLog files.  Distribute the new files
7927         gitlog-to-changelog and gitlog-to-emacslog.
7928         (Bug#19113)
7930         Rename ChangeLogs for gitlog-to-changelog
7931         This patch was implemented via the following shell commands:
7932         find * -name ChangeLog |
7933         sed 's,.*,git mv & &.1,
7934         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
7935         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
7936         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
7937         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
7938         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
7939         sh
7940         git commit -am"[this commit message]"
7942 This file records repository revisions from
7943 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
7944 commit 83fbe89537889219aebe1a36df73ca70e30948af (inclusive).
7945 See ChangeLog.1 for earlier changes.
7947 ;; Local Variables:
7948 ;; coding: utf-8
7949 ;; End:
7951   Copyright (C) 2015 Free Software Foundation, Inc.
7953   This file is part of GNU Emacs.
7955   GNU Emacs is free software: you can redistribute it and/or modify
7956   it under the terms of the GNU General Public License as published by
7957   the Free Software Foundation, either version 3 of the License, or
7958   (at your option) any later version.
7960   GNU Emacs is distributed in the hope that it will be useful,
7961   but WITHOUT ANY WARRANTY; without even the implied warranty of
7962   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7963   GNU General Public License for more details.
7965   You should have received a copy of the GNU General Public License
7966   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.