* lisp/emacs-lisp/package.el (package--with-work-buffer-async):
[emacs.git] / ChangeLog.2
blob3fd30d6730defcfe57f9e323e26ecd62415989c6
1 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
3         gnus-registry.el: Correct function argument order
4         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
5         Reverse the order of function arguments.
7 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
9         Bind grep-highlight-matches to nil
10         * lisp/progmodes/xref.el (xref-collect-matches):
11         Bind grep-highlight-matches to nil (bug#20728).
13 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
15         nnimap.el: Fix IMAP message size parsing
16         * lisp/gnus/nnimap.el (nnimap-transform-headers):
17         Don't assume that UID comes before RFC822.SIZE.
19 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
21         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
22         (auth-source-creation-prompts): Declare.
23         (nnimap-retrieve-headers, nnimap-status-message)
24         (nnimap-request-create-group, nnimap-request-delete-group)
25         (nnimap-close-group, nnimap-request-move-article)
26         (nnimap-request-accept-article, nnimap-request-newgroups)
27         (nnimap-request-post, nnimap-dummy-active-number)
28         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
29         (nnimap-parse-flags): Remove unused var `p'.
30         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
31         (nnimap-flags-to-marks): Remove unused var `totalp'.
33 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
35         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
37 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
39         * src/macfont.m (macfont_list): Ignore font families lacking font descriptors.
41 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
43         Don't check the exit status, it can be misleading
44         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
45         exit status, it can be misleading.
47         Introduce a Project API
48         * lisp/progmodes/project.el: New file.
49         * lisp/cedet/ede.el: (project-try-ede): New function.
50         (project-root): New implementation.
51         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
52         Set project-search-path-function.
53         (elisp--xref-find-references): Delegate some logic to
54         project-search-path.
55         (elisp-search-path): New function.
56         (elisp-xref-find): Don't implement `matches' anymore.
57         * lisp/progmodes/etags.el: Don't implement `matches'.
58         Delegate some logic to project-search-path.
59         (etags-search-path): New function.
60         * lisp/progmodes/xref.el (xref-find-function):
61         Remove `matches' from the API.
62         (xref-find-regexp): Move whatever common logic was in elisp and
63         etags implementations, and search the directories returned by
64         project-directories and project-search-path.
66 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
68         * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test.
70         Add support for gv.el in map.el
71         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
72         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
73         * test/automated/map-tests.el: Update tests to work with the new
74         implementations of map-elt and map-put.
76 2015-07-09  Glenn Morris  <rgm@gnu.org>
78         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
80 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
82         Syntax-propertize until the end of the line first
83         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
84         until the end of the line first.
86 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
88         * doc/emacs/files.texi (File Archives): Add a cross reference.
90 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
92         nnimap.el: Handle plain value for nnimap-stream
93         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
94         capabilities, so that a 'plain value for the `nnimap-stream' server
95         variable is handled correctly.
96         * doc/misc/gnus.texi (Customizing the IMAP Connection):
97         Document the 'plain option.
99 2015-07-08  Leo Liu  <sdl.web@gmail.com>
101         Fix bug in thing-at-point--bounds-of-well-formed-url
102         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
103           sure boundary contains current point.
105 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
107         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end.
109         Declare whitespace-line-column a safe file-local
110         * lisp/whitespace.el (whitespace-line-column): Declare to be a
111         safe file-local when the value is an integer.
113 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
115         gnus-group.el: Check if group names are already strings
116         * lisp/gnus/gnus-group.el (gnus-group-group-name):
117         The group name may already be a string.
118         Specifically, in the group list reached from the *Server* buffer,
119         the 'gnus-group text property returns a string.  Everywhere else
120         it returns a symbol.
122         nnimap.el: Remove unused let variables
123         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
125 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
127         Support "maximized" property of runemacs's shortcut
128         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
129         the '--maximized' switch to Emacs.
131         Support "minimized" property of runemacs's shortcut
132         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
133         pass the '--iconic' switch to Emacs.  (Bug#20991)
135 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
137         Doc fixes
138         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
139         C-w' in Diff mode.
140         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
141         Add a cross reference.
143 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
145         * lisp/obsolete/landmark.el: Add Obsolete-since header
147 2015-07-07  Glenn Morris  <rgm@gnu.org>
149         * test/automated/ert-tests.el (ert-test-deftest):
150         Update for recent changes.
152 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
154         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
155         * lisp/emacs-lisp/gv.el (gv-setter): New function.
156         (gv-invalid-place): New error.
157         (gv-get): Use them.
158         (gv-synthetic-place, gv-delay-error): New places.
159         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
160         (cl-defgeneric, cl-defmethod): Use gv-setter.
162 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
164         Make vc-tests work with MSYS svn program
165         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
166         svn is an MSYS program.
168 2015-07-07  Ken Brown  <kbrown@cornell.edu>
170         Improve recent change to emacsclient on Cygwin
171         * lisp/server.el (server-process-filter): Remove redundant check
172         that 'cygwin-convert-file-name-from-windows' is defined as a
173         function on Cygwin.  Don't call that function unless its argument
174         starts with a drive letter.
176 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
178         * lisp/emacs-lisp/package.el (package-compute-transaction): Bug fix
179         Fix void variable due to `found-something' being in the wrong `let'.
181 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
183         * lisp/play/landmark.el: Move to lisp/obsolete/
185 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
187         Have `x-show-tip' handle `right' and `bottom' frame parameters.
188         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
189         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
190         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
191         tooltips also via `right' and `bottom' frame parameters.
193 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
195         Add online-help support to describe types
196         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
197         (describe-symbol): Improve the selection of default.
198         * lisp/help-mode.el: Require cl-lib.
199         (describe-symbol-backends): Move from help-fns.el.
200         (help-make-xrefs): Use it.
201         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
202         for types.
203         (cl--typedef-regexp): New const.
204         (find-function-regexp-alist): Add entry for types.
205         (cl-help-type, cl-type-definition): New buttons.
206         (cl-find-class): New function.
207         (cl-describe-type): New command.
208         (cl--describe-class, cl--describe-class-slot)
209         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
210         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
211         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
212         New functions.  Moved from eieio-opt.el.
213         (cl--generic-class-parents): New function, extracted from
214         cl--generic-struct-specializers.
215         (cl--generic-struct-specializers): Use it.
216         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
217         Improve constructor's docstrings.
218         (cl-struct-unknown-slot): New error.
219         (cl-struct-slot-offset): Use it.
220         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
221         definition in current-load-list.
222         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
223         (eieio--add-new-slot): Set it.
224         (eieio-defclass-internal): Use new name for current-load-list.
225         (eieio-oref): Add compiler-macro to warn about unknown slots.
226         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
227         as compile-time as well.  Improve constructor docstrings.
228         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
229         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
230         (eieio-class-def): Remove button.
231         (eieio-help-constructor): Use new name for load-history element.
232         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
233         (eieio-method-documentation): Move to cl-generic.el.
234         (eieio-display-method-list): Use new names.
235         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
236         Add "define-linline".
237         (lisp-fdefs): Remove "defsubst".
238         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
239         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
240         (macroexp--warn-and-return): Use it to avoid inf-loops.
241         Add `compile-only' argument.
243 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
245         python.el: Fix local/remote shell environment setup
246         * lisp/progmodes/python.el (python-shell-with-environment): Fix
247         remote/local environment setup.
248         * test/automated/python-tests.el (python-shell-with-environment-1)
249         (python-shell-with-environment-2): New tests.
251 2015-07-06  Glenn Morris  <rgm@gnu.org>
253         * lisp/simple.el (set-variable): Tweak recent doc fix.
255 2015-07-06  Ken Brown  <kbrown@cornell.edu>
257         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE
259 2015-07-06  Glenn Morris  <rgm@gnu.org>
261         * lisp/simple.el (set-variable): Use user-error for type mismatch.
263 2015-07-06  Ken Brown  <kbrown@cornell.edu>
265         * src/emacs.c (main): Don't increase the stack size on Cygwin
267 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
269         (describe-symbol): Rewrite describe-function-or-variable
270         * lisp/help-fns.el (describe-symbol-backends): New var.
271         (help-xref-stack-item): Declare.
272         (describe-symbol): Rename from describe-function-or-variable.
273         Rewrite using describe-symbol-backends instead of help-xref-interned.
274         * lisp/help.el (help-map): Use it.
275         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
276         (help-xref-interned): Make it into an obsolete alias.
278         (eieio-persistent-save): Don't ignore `file' arg (bug#20972)
279         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
280         `file' arg.  Always use utf-8-emacs.  Use with-temp-buffer and cl-letf.
282 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
284         Fix parsing glitches in dired-mark-sexp (bug#13575)
285         * lisp/dired-x.el (dired-x--string-to-number): New function.
286         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
287         of directory-listing-before-filename-regexp.  Consider
288         forward-word harmful and replace it.  Add more verbiage in
289         comments and doc string.
291 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
293         python.el: Respect process environment for remote shells
294         * lisp/progmodes/python.el
295         (python-shell-calculate-process-environment): Calculate
296         process-environment or tramp-remote-process-environment depending
297         whether current file is remote.
298         (python-shell-calculate-exec-path): Calculate exec-path or
299         tramp-remote-path depending whether current file is remote.
300         (python-shell-with-environment): New macro.
301         (python-shell-prompt-detect, python-shell-calculate-command)
302         (python-shell-make-comint, python-check): Use it.
304         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
305         * lisp/progmodes/python.el (python-shell--interpreter)
306         (python-shell--interpreter-args): New vars.
307         (inferior-python-mode, python-shell-make-comint): Use them.
309         python.el: Fixes for IPython 3.x  (Bug#20580)
310         * lisp/progmodes/python.el:
311         (python-shell-completion-native-setup): Fix IPython 3.x setup.
312         (python-shell-completion-native-get-completions): Fix timeout
313         logic.
315         python.el: Fix mark-defun behavior  (Bug#19665)
316         * lisp/progmodes/python.el: (python-mark-defun): New function.
317         * test/automated/python-tests.el (python-mark-defun-1)
318         (python-mark-defun-2, python-mark-defun-3): New tests.
320 2015-07-05  Glenn Morris  <rgm@gnu.org>
322         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
323         such as "extends(parent), private".  (Bug#20969)
324         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
325         New tests.
327 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
329         Avoid duplicate calls to current_timespec
330         * src/process.c (wait_reading_process_output):
331         Cache current_timespec results as long as we're not waiting.
333 2015-07-05  Ian Kelling  <ian@iankelling.org>
335         Avoid returning early reading process output due to SIGIO
336         * src/process.c (wait_reading_process_output): Extend the behavior of
337         not breaking due to not finding output when a timer has lowered the
338         timeout to include when SIGIO lowers the timeout.
340         Don't return as fast reading any process output
341         * src/process.c (wait_reading_process_output):
342         The patch for Bug#17647 returns too fast sometimes when reading
343         from any processes. Revert part of it, and limit the timeout more
344         sensibly (Bug#20978).
346         Refactor timeouts in wait_reading_process_output
347         * src/process.c (wait_reading_process_output):
348         Simplify timeouts with an enum.  Remove a redundant condition.
349         (Bug#20978)
351         Remove ADAPTIVE_READ_BUFFERING ifdef
352         * src/process.c (make-process, make-pipe-process, deactivate_process)
353         (wait_reading_process_output, read_process_output, send_process)
354         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
355         added in case there was an operating system in which it was not
356         useful.  That was 11 years ago and it hasn't happened.  Make
357         development easier by not considering the effect of changes on a
358         theoretical OS where this is disabled (Bug#20978).
360 2015-07-05  Glenn Morris  <rgm@gnu.org>
362         * lisp/simple.el (set-variable): Doc fix.
364         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
366 2015-07-05  Ian Kelling  <ian@iankelling.org>
368         accept-process-output fix
369         This is a followon to the fix for Bug#17647 (Bug#20976).
370         * src/process.c (status_notify): Fix too high return in some cases.
372 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
374         * lisp/character-fold.el (character-fold-table):
375         Only fold decompositions if at least one character is non-spacing.
376         (Bug#20975)
378 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
380         Merge from gnulib
381         This incorporates:
382         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
383         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
384         2015-07-02 update-copyright: fix test failure with perl >= 5.22
385         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
386         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
387         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
388         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
390 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
392         Respect `prog-indentation-context' in python.el
393         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
394         (python-indent-context, python-indent--calculate-indentation)
395         (python-info-current-defun)
396         (python-info-dedenter-opening-block-message)
397         (python-info-line-ends-backslash-p)
398         (python-info-beginning-of-backslash)
399         (python-info-continuation-line-p): Use `prog-widen'.
400         (python-indent--calculate-indentation)
401         (python-indent--calculate-levels)
402         (python-indent-calculate-indentation): Use `prog-first-column'.
403         (python-indent--calculate-levels): Simplify.
404         Ignore also initial empty lines for syntax calculation.
405         * lisp/progmodes/python.el (python-indent-context): Return
406         :no-indent for first non-empty line, not just in line 1.
407         * test/automated/python-tests.el (python-indent-base-case)
408         (python-indent-inside-paren-1, python-indent-inside-paren-2)
409         (python-indent-inside-paren-3, python-indent-inside-paren-4)
410         (python-indent-inside-paren-5, python-indent-inside-paren-6)
411         (python-indent-after-backslash-1)
412         (python-indent-after-backslash-2)
413         (python-indent-after-backslash-3)
414         (python-indent-after-backslash-4, python-indent-inside-string-1):
415         Expect :no-indent for first non-empty line.
417 2015-07-04  Daniel Colascione  <dancol@dancol.org>
419         Factor isearch word description into new function
420         * lisp/isearch.el (isearch--describe-word-mode): New function.
421         (isearch-message-prefix, isearch-query-replace): Use it.
423 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
425         Fix mouse pointer on w32 when a menu is active
426         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
427         shape while a menu is in use.  This started happening since we now
428         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
430 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
432         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
433         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
434         parameter.  (Bug#17344)
436         Have `compilation-set-window' use right window for getting fringes (Bug#20829)
437         * lisp/progmodes/compile.el (compilation-set-window): Take
438         `window-fringes' from argument window.  (Bug#20829)
440 2015-07-03  Glenn Morris  <rgm@gnu.org>
442         Update eieio tests for recent eieio-core change.
443         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
444         * test/automated/eieio-tests.el
445         (eieio-test-32-slot-attribute-override-2):
446         Replace the deleted eieio--class-v with cl--find-class.
448 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
450         Fix some issues with `window-divider-mode'
451         * lisp/frame.el (window-divider-default-places): New option.
452         (window-divider-mode): Remove option.
453         (window-divider-mode): Make it a "regular" minor mode.
454         (window-divider-width-valid-p): Drop frame- prefix.
455         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
456         prefix.  Handle `window-divider-default-places'.
457         (frame--window-divider-mode-set-and-apply): Remove.
458         (window-divider-default-bottom-width)
459         (window-divider-default-right-width): Drop :group entries.
460         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
461         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
462         (menu-bar-no-window-divider): Set `window-divider-default-places'
463         and call `window-divider-mode'.
464         * doc/emacs/frames.texi (Window Dividers): Document
465         `window-divider-default-places'.
467 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
469         Add cross references in documentation
470         * doc/emacs/display.texi (Displaying Boundaries):
471         * doc/emacs/search.texi (Word Search): Add cross references.
473 2015-07-02  Eli Zaretskii  <eliz@gnu.org>
475         ;* src/bidi.c (bpa_stack_entry): Update commentary for Unicode 8.0.
477 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
479         -batch should not affect ‘’ -> `' display
480         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
481         -batch (Bug#20926).
483 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
485         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
486         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el,
487           lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
488         Use cl--find-class instead.
490         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
492 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
494         Some further fixes in Change Window node.  (Bug#20183)
495         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
496         by "resizing" in section title.  Add some concept indices.
497         Suggested by N. Jackson (Bug#20183).
499         Reference window dividers in Change Window section.
500         * doc/emacs/windows.texi (Change Window): Reference window
501         dividers.
503         Document new `window-divider-mode'.
504         * lisp/frame.el (window-divider-mode): Fix doc-string.
505         * doc/emacs/frames.texi (Window Dividers): New section.
507         Improve accessibility of window dividers.  (Bug#20183)
508         * lisp/faces.el (window-divider)
509         (window-divider-first-pixel, window-divider-last-pixel): Change
510         membership from `frames' to `window-divider' customization group.
511         * lisp/frame.el (window-divider): New customization group.
512         (window-divider-mode): New minor mode.
513         (window-divider-default-bottom-width)
514         (window-divider-default-right-width): New options.
515         (frame--window-divider-previous-mode): New variable.
516         (frame-window-divider-width-valid-p)
517         (frame--window-divider-mode-apply)
518         (frame--window-divider-mode-set-and-apply): New functions.
519         * lisp/menu-bar.el (menu-bar-options-save): Save
520         window-divider-mode settings.
521         (menu-bar-window-divider-customize)
522         (menu-bar-bottom-and-right-window-divider)
523         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
524         (menu-bar-no-window-divider): New functions.
525         (menu-bar-showhide-window-divider-menu): New variable.
526         (menu-bar-showhide-menu): Show/hide window divider menu.
527         * lisp/mouse.el (mouse-split-window-vertically)
528         (mouse-split-window-horizontally): Replace `error' by
529         `user-error'.  Bind `window-combination-resize' to nil.
530         (top-level): Add/reorder mouse key bindings on mode- and
531         vertical-line.
533 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
535         Don't display ‘’ as `' under X in en_GB
536         The curved quote setup code invokes (char-displayable-p ?‘),
537         but this isn’t reliable until after the X frame replaces the
538         terminal frame (Bug#20926).
539         * lisp/international/mule-cmds.el (set-locale-environment):
540         Move curved quote setup code from here ...
541         * lisp/startup.el (command-line): ... to here, after creating
542         the X frame.
544 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
546         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring
548         Add argument to reverse the meaning of ido-restrict-to-matches
549         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
550         to reverse the meaning (Bug#15631).
552 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
554         Be more tolerant to fonts named "Foobar-12"
555         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
556         don't barf; instead, request a new fontset to be generated.  This
557         avoids unnecessarily rejecting fonts named against XLFD rules.  See
558         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
559         for the description of the original problem.
560         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
561         by a hyphen in a font's name.
563         Fix value of posn-at-pont in R2L lines
564         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
565         coordinate of -1, for a newline in a right-to-left line that
566         overflowed into the left fringe.
568 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
570         (cl--copy-slot-descriptor): Copy the `props' alist as well
571         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
572         Rename from cl--copy-slot-descriptor.
573         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
575 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
577         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
578         (xterm-query-timeout): New var.
579         (xterm--query): Use it.  Fallback on async method if we timeout before
580         getting the first byte of the reply (bug#12354).
582 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
584         Spelling fixes
586 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
588         * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946)
590 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
592         In strings, prefer plain ` and ' to \` and \'
593         * lisp/allout.el (allout-insert-listified):
594         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
595         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
596         (ls-lisp-string-lessp):
597         * lisp/menu-bar.el (menu-bar-open):
598         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
599         * lisp/progmodes/compile.el (compile):
600         * lisp/progmodes/etags.el (tags-loop-scan):
601         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
602         * lisp/subr.el (posn-actual-col-row):
603         * lisp/term/pc-win.el (x-list-fonts):
604         * lisp/textmodes/texinfmt.el (texinfmt-version):
605         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
606         * lisp/time.el (display-time-world-list):
607         * lisp/tmm.el (tmm-menubar):
608         * src/buffer.c (syms_of_buffer):
609         * src/fileio.c (syms_of_fileio):
610         Omit unnecessary and confusing backslash before quote.
611         * lisp/erc/erc.el (erc-cmd-LASTLOG):
612         * lisp/progmodes/flymake.el (flymake-fix-file-name):
613         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
614         Fix string that was intended to escape a backslash and not a quote.
616 2015-06-30  Glenn Morris  <rgm@gnu.org>
618         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
620         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
621         Replace hard-coded lists with wildcard + filter-out.
623         * configure.ac (system-configuration-features): Add X11, NS.
625         Improve reproducibility of generated loaddefs file.
626         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
627         Make the return value the modtime of the input file (if no autoloads).
628         (update-directory-autoloads): In the "no autoloads" section,
629         use "most recent modtime" rather than "current time".
631 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
633         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic
634         (Bug#20930)
636 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
638         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
640         Add seq-min and seq-max
641         Bump version number.
642         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
643         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
645 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
647         Make sure sleep-for always delays for as long as it's told
648         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
649         a loop, to ensure we always wait exactly the required amount of
650         time.  (Bug#15990)
652 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
654         Fix pointer signedness glitch
655         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
657 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
659         Don't block changes in mouse pointer inside 'track-mouse'
660         * etc/NEWS:
661         * doc/lispref/frames.texi (Mouse Tracking): Document the special
662         effect of setting 'track-mouse' to 'dragging'.
663         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
664         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
665         * lisp/mouse-drag.el (mouse-drag-throw):
666         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
667         to avoid changes in the shape of the mouse pointer.
668         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
669         pointer shape when do_mouse_tracking has the value of 'dragging',
670         not just any non-nil value.  (Bug#20934)
671         (syms_of_xdisp): DEFSYM 'dragging'.
673 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
675         * lisp/isearch.el (isearch-toggle-word): Fix toggle
677         * lisp/emacs-lisp/package.el (package-compute-transaction):
678         Don't assume version sorting.
680         * lisp/emacs-lisp/package.el (package--save-selected-packages):
681         Don't save before init time, to avoid overwriting configurations.
682         (Bug#20855)
684 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
686         Add cross references.
687         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
688         references.
690 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
692         cfengine.el: update for the upcoming CFEngine 3.7 release
693         Update for the upcoming CFEngine 3.7 release: support macros and
694         quoted context strings; reformat JSON; indent promise attributes 2
695         units by default; give function parameter descriptions in the eldoc
696         glue.
697         * cfengine.el: Update version and docs and fix name.  Autoload
698         `json-pretty-print'.  Support new features in 3.7.
699         (cfengine-parameters-indent): Set default promise attribute indent to
700         2 more than the promise itself.
701         (cfengine3-macro-regex): New variable to match the new macro syntax.
702         (cfengine3-font-lock-keywords): Use it to highlight macros.
703         (cfengine3-indent-line): Use it to indent macros to column 0.
704         (cfengine3-class-selector-regex): Update for the new quoted strings
705         format.
706         (cfengine3-reformat-json-string): New function to reformat a JSON
707         string using `json-pretty-print'.
708         (cfengine3-format-function-docstring): Use function parameter
709         description if it's provided by the cf-promises syntax dump.
711 2015-06-29  Michael R. Mauger  <michael@mauger.com>
713         Cygwin emacsclient handles w32 file names
715 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
717         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925).
719 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
721         * doc/lispref/text.texi (Sticky Properties): Improve wording.
722         (Bug#20924)
724         Allow font names that end in "-NN", where NN is a number
725         * src/font.c (font_load_for_lface): If the font-spec didn't match
726         any available fonts, try again without interpreting trailing "-NN"
727         as the font size.  For the description of the original problem, see
728         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
730         .gdbinit followup to changes in !USE_LSB_TAG
731         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
732         !USE_LSB_TAG, as Emacs no longer does.
734 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
736         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
737         Otherwise `s p' of f and F will stomp on each other's value.  (Bug#20916)
739 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
741         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
742         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
744 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
746         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess
748         * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string
750 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
752         apropos-library quoting fix
753         * lisp/apropos.el (apropos-library): Quote library consistently
754         with the rest of the quoting used by apropos.
756         Clarify interpreter-mode-alist doc
757         * lisp/files.el (interpreter-mode-alist):
758         Reword to avoid confusing quoting that wasn't working anyway.
760 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
762         Sync with Tramp 2.2.12
763         * doc/misc/trampver.texi:
764         * lisp/net/trampver.el: Update release number.
765         * test/automated/tramp-tests.el (tramp-test13-make-directory):
766         Fix cleanup.
768 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
770         * lisp/isearch.el (isearch-mode): Don't char-fold regexps
771         (bug#20913)
773 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
775         Bind grep-highlight-matches around the rgrep call
776         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
777         around the rgrep call (bug#20728).
779         Put "--color" before the other options in grep-command
780         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
781         before the other options in grep-command (bug#20912).
783         Add --color Grep option to the command dynamically
784         * lisp/progmodes/grep.el (grep-template, grep-find-template):
785         Update the description for <C>.  (Bug#20728)
786         (grep-compute-defaults): Don't add the --color option to
787         grep-options.  Only add it to grep-command.
788         (grep-expand-keywords): Expand the env value opts into <C>.
789         (grep-expand-template): Replace cf in the env with the opts list,
790         that can include -i and --color.
791         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
792         "--color=always" from the template, because we don't have to.
794 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
796         cl-extra fixes for most-negative-fixnum
797         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
798         Don't mishandle an argument equal to most-negative-fixnum,
799         whose absolute value equals itself.
800         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
802         Initialize cl--gensym-counter to 0
803         Previously it was initialized to a random value, which made it
804         harder to reproduce earlier Emacs runs.  The need for a random
805         value went away when Emacs introduced and used the #: syntax for
806         uninterned symbols (Bug#20862).
807         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
808         Document that cl--gensym-counter now starts with 0.
809         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
810         (cl--random-time): Move to near only remaining use.
811         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
813         Improve docstring for macroexp-let2
814         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
815         Improve as per suggestion by RMS in:
816         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
817         Also, rename args to match new doc string.
819 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
821         Fix VC test suite on MS-Windows
822         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
823         always starts with 3 slashes after the colon.
824         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
825         'w32-application-type' to invoke CVS on MS-Windows with properly
826         formatted CVSROOT directory name.
828         Add a new function w32-application-type
829         * src/w32proc.c (Fw32_application_type): New function.
831         Avoid error in TLS connections due to incorrect format
832         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
833         the call to 'error', instead of the unsupported %u.  Reported by
834         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
836 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
838         * lisp/replace.el (replace-search): Fix regexp case (bug#20901)
840 2015-06-26  Leo Liu  <sdl.web@gmail.com>
842         Fix indentation for with-output-to-string
843         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
844           `with-output-to-string' in elisp.
845           Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string"
846           This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
848 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
850         Minor corrections in ELisp manual
851         * doc/lispref/nonascii.texi (Character Properties): Correct
852         inaccuracies in description of values of the Unicode properties.
854         Fix invisible mouse pointers on Windows.
855         * src/w32fns.c: Include windowsx.h.
856         (w32_wnd_proc): If the mouse moved and the mouse pointer is
857         invisible, make it visible again even when the main (Lisp)
858         thread is busy.
859         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
860         garbaging the frame have the input thread call SetCursor.
862 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
864         Provide invisible mouse pointers on Windows.  (Bug#6105) (Bug#12922)
865         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
866         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
867         * src/w32term.c (w32_hide_hourglass): Handle
868         f->pointer_invisible.
869         (w32_toggle_invisible_pointer): New function.
870         (w32_create_terminal): Add w32_toggle_invisible_pointer as
871         toggle_invisible_pointer_hook for this terminal.
873 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
875         Doc fix for deletion commands
876         'delete-char' does not respect the value of 'delete-active-region'.
877         * doc/emacs/killing.texi (Deletion):
878         Fix documentation for some single-char deletion commands.
880         * doc/emacs/help.texi (Apropos):
881         Improve documentation of 'apropos-do-all'.
883         * doc/emacs/help.texi (Help Summary):
884         Improve documentation of 'describe-mode'.
886 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
888         Fix submake dependency bug with .h files
889         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
890         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
891         before the submake in $(libsrc) would spin off a subsubmake
892         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
894 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
896         * lisp/character-fold.el (character-fold-table): Reuse `table'
898 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
900         Translate undisplayable ‘ to `
901         * doc/lispref/help.texi (Keys in Documentation):
902         * lisp/international/mule-cmds.el (set-locale-environment):
903         * lisp/term/w32console.el (terminal-init-w32console):
904         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
905         If ‘ is not displayable, transliterate it to `, not to '.  See:
906         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
908         Fix C99 incompatibilities in Cairo code
909         * src/image.c (xpm_load) [USE_CAIRO]:
910         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
911         Fix pointer signedness problem.
913 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
915         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
916         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
917           `with-output-to-string' should have the same indent as `progn'.
918           This is in line with the declaration of `with-output-to-string'.
920 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
922         Get ‘./configure; make -C src emacs’ to work
923         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
924         * lib-src/Makefile.in (../lib/libgnu.a):
925         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
927 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
929         Fix GC bugs --with-wide-int and Qnil == 0
930         Use the same alignment for the !USE_LSB_TAG case as for the
931         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
932         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
933         once we changed the representation of symbols so that Qnil == 0.
934         Problem reported by Eli Zaretskii (Bug#20862).
935         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
936         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
937         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
938         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
939         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
940         This optimization in the !USE_LSB_TAG case is no longer valid when
941         symbols are represented via offsets.  Change the only use to
942         assume that pointers might hide in objects.
943         * src/lisp.h (alignas) [!USE_LSB_TAG]:
944         Require support in this case, too.
945         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
946         This is OK, because the !USE_LSB_TAG case now applies only when
947         Lisp_Object is wider than void *, so there's no longer any need
948         to shift the offset.  Not shifting the offset means that
949         symbol representations have the same alignment as pointers,
950         which the GC assumes.
952 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
954         * doc/lispintro/emacs-lisp-intro.texi (Data types):
955         Improve documentation of 'substring'.
957 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
959         * lisp/character-fold.el (character-fold-table): Fix table generation
961 2015-06-24  Glenn Morris  <rgm@gnu.org>
963         * nextstep/Makefile.in (all): Make it the first target.
964         (../src/emacs${EXEEXT}): Add rule for making it.
966 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
968         * etc/NEWS: Fix mention to old function name
970         * lisp/character-fold.el: New file (Bug#20887)
971         (character-fold-to-regexp): New function.
972         * lisp/replace.el (replace-search): Check value of
973         `character-fold-search'.
974         * lisp/isearch.el: Move character-folding code to
975         character-fold.el
976         (isearch-toggle-character-fold): New command.
977         (isearch-mode-map): Bind it to "\M-sf".
978         (isearch-mode): Check value of `character-fold-search'.
980 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
982         * lisp/subr.el (remove-from-invisibility-spec): Handle the t case
983         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
984         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
986         * lisp/progmodes/xref.el: Avoid init-args in oref.
987         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
988         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
990 2015-06-24  Glenn Morris  <rgm@gnu.org>
992         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
994 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
996         * lisp/gnus/nnmaildir.el: Silence lexical warnings
997         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
998         functional style.
999         (nnmaildir--update-nov): Remove unused var `numdir'.
1000         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
1001         (nnmaildir-request-group, nnmaildir-request-create-group)
1002         (nnmaildir-request-post, nnmaildir-request-move-article)
1003         (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args.
1004         (nnmaildir-get-new-mail, nnmaildir-group-alist)
1005         (nnmaildir-active-file): Declare.
1006         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
1007         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
1008         `mark', `end', `new-mark', and `mark-sym'.
1009         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
1010         `nlist2'.
1011         (nnmaildir-request-expire-articles):
1012         Remove unused vars `article', `stop' and `nlist2'.
1013         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
1014         `end'.  Use nnmaildir--article when dyn-binding is needed.
1015         Give the value directly in the `let' for `del-mark', `del-action',
1016         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
1017         (nnmaildir-close-server): Declare those local vars that need to be
1018         dyn-bound.
1020 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
1022         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
1024         Port selection info fix to clang
1025         * src/keyboard.h (kbd_buffer_store_event_hold):
1026         Don't assume C11 semantics for alignof (Bug#20756).
1028         Fix bug that munged selection info
1029         On some optimizing C compilers, copying a structure did not
1030         copy the padding bytes between elements, and the type punning
1031         between struct input_data and struct selection_input_data did
1032         not work.  Change the C code to use a proper union type instead.
1033         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
1034         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
1035         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
1036         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
1037         (mark_kboards):
1038         Use union buffered_input_event, not struct input_event.
1039         (clear_event, deliver_input_available_signal, process_special_events):
1040         Remove unnecessary forward decls.
1041         (kbd_buffer_store_buffered_event): New function, mostly just the
1042         old kbd_buffer_store_event_hold, except its argument is of type
1043         union buffered_input_event, not struct input_event.
1044         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
1045         not needed otherwise.  Argument is now of type
1046         struct selection_input_event *, not struct input_event *.
1047         All callers changed.
1048         (clear_event): Arg is now of type union buffered_input_event *,
1049         not struct input_event *.  All callers changed.
1050         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
1051         (union buffered_input_event): New type.
1052         (kbd_buffer_store_event_hold): Now an inline function,
1053         defined here.
1054         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
1055         (struct input_event): Use it.
1056         * src/xselect.c (struct selection_event_queue):
1057         Make elements be of type struct selection_input_event,
1058         not struct input_event.
1059         (selection_input_event_equal): New static function.
1060         (x_queue_event): Use it.
1061         (x_queue_event, x_decline_selection_request)
1062         (x_selection_current_request, x_reply_selection_request)
1063         (x_handle_selection_request, x_handle_selection_clear)
1064         (x_handle_selection_event): Use struct selection_input_event,
1065         not struct input_event.  All callers changed.
1066         (x_convert_selection): Omit unused first arg.  All callers changed.
1067         (Fx_disown_selection_internal): Omit unnecessary union.
1068         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
1069         rather than rolling our own equivalent.  Prefer sie.kind when
1070         setting up that kind of structure.
1071         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
1072         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
1073         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
1074         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
1075         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
1076         (SELECTION_EVENT_TIME, x_handle_selection_event):
1077         Arg is now of type struct selection_input_event *)
1078         not struct input_event *.  All callers changed.
1080 2015-06-23  Glenn Morris  <rgm@gnu.org>
1082         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
1084 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1086         * lisp/isearch.el: Fold many unicode characters to ASCII
1087         (isearch-character-fold-search, isearch--character-fold-extras)
1088         (isearch--character-fold-table): New variable.
1089         (isearch--character-folded-regexp): New function.
1090         (isearch-search-fun-default): Use them.
1091         * lisp/replace.el (replace-character-fold): New variable.
1092         (replace-search): Use it.
1093         * etc/NEWS: Document it.
1095 2015-06-23  Glenn Morris  <rgm@gnu.org>
1097         Check for an input event before showing a dialog box.  (Bug#20813)
1098         * lisp/subr.el (y-or-n-p):
1099         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
1100         as last-nonmenu-event.
1102 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
1104         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
1105         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
1106         (switch-to-prev-buffer, switch-to-next-buffer): Respect
1107         switch-to-visible-buffer independent of the windows history.
1109 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
1111         * src/keyboard.c (last_timer_event): Remove unused var.
1113 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
1115         * test/automated/package-test.el (package-test-update-listing):
1116         Fix test.
1118 2015-06-23  Glenn Morris  <rgm@gnu.org>
1120         Revert 2014-06-25 nextstep/Makefile change.
1121         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
1122         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
1123         not as an order-only prerequisite.
1125         * configure.ac (--with-ns): Enable by default on OS X.
1127 2015-06-23  Leo Liu  <sdl.web@gmail.com>
1129         Fix shell-for/backward-command to exclude spaces
1130         * lisp/shell.el (shell-forward-command, shell-backward-command):
1131           Handle the 'move case from re-search-forward/backward.
1132           fixes debbugs:20873
1134 2015-06-22  Juri Linkov  <juri@linkov.net>
1136         * lisp/replace.el (query-replace-read-from): Add separator to
1137         the local binding of text-property-default-nonsticky.  (Bug#20690)
1139         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
1140         (Bug#20785)
1142 2015-06-22  Ken Brown  <kbrown@cornell.edu>
1144         Enable CPU profiling on Cygwin
1145         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
1146         change that undefined this.
1147         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
1148         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
1149           Cygwin.
1151         Improve diagnostics of profiler-cpu-start
1152         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
1153         return -1 if the sampling interval is invalid.
1154         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
1155         fails.  (Bug#20843)
1157 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
1159         * lisp/emacs-lisp/package.el: Exclude packages by name
1160         (package-hidden-regexps): New variable.
1161         (package-menu--refresh): Use it.
1162         (package-menu-hide-package): New command.
1164         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding
1166 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
1168         Fix debug-timer-check on systems without HAVE_TIMERFD
1169         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
1170         the expired timers, since wait_reading_process_output doesn't.
1171         (debug_timer_callback): Enlarge the tolerance to 20 msec.
1173         Fix RCS crashes in vc-test
1174         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
1175         ports of 'ci' on MS-Windows by always passing the -t- switch.
1177 2015-06-22  Glenn Morris  <rgm@gnu.org>
1179         * doc/emacs/package.texi (Packages):
1180         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
1182         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
1184 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
1186         Port tests to help-quote-translation
1187         * test/automated/ert-x-tests.el (ert-test-describe-test):
1188         * test/automated/package-test.el (package-test-describe-package)
1189         (package-test-signed): Allow straight quotes, too.
1191 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
1193         Make find-function-on-key use the current window
1194         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
1195         Extract from `find-function-on-key', add a second argument.
1196         (find-function-on-key): Use it (bug#19679).
1197         (find-function-on-key-other-window)
1198         (find-function-on-key-other-frame): New commands.
1200 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1202         Revert "Define `map-elt' as a generalized variable"
1203         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
1205 2015-06-21  Ken Brown  <kbrown@cornell.edu>
1207         Drop support for CPU profiling on Cygwin
1208         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
1209         (Bug#20843)
1211 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
1213         Fix some “nested” quoting confusion in doc strings
1214         * lisp/emacs-lisp/advice.el (ad-map-arglists):
1215         * lisp/kermit.el (kermit-clean-on):
1216         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
1217         * src/keyboard.c (Frecursive_edit):
1218         Use curved quotes when quoting text containing apostrophe,
1219         so that the apostrophe isn't curved in the output.
1221 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1223         Define `map-elt' as a generalized variable
1224         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
1225         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
1226         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
1227         `setf' with `map-elt'.
1228         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
1230 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
1232         Improve error handling in tramp-adb.el
1233         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
1234         Improve error handling.
1236 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
1238         Reuse `alist-get' in map.el
1239         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
1240         elements.
1242 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
1244         Fix bytecomp-tests--warnings when $TMPDIR has a long name
1245         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
1246         Allow the warning to begin on the 3rd, not only 2nd line, which
1247         happens if temporary-file-directory has a very long name.
1249         Expect 2 icalendar tests to fail on MS-Windows
1250         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
1251         (icalendar-real-world): Make them expected failures on MS-Windows.
1253 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
1255         Improve port of settings UI to older displays
1256         * lisp/cus-start.el (standard): Don't assume curved quotes are
1257         easily distinguishable when users are tinkering with a setting
1258         that affects how curved quotes are generated.
1260         Fix quoting in electric-quote-mode doc string
1261         * lisp/electric.el (electric-quote-mode): Fix quoting.
1262         This is a fallout from the recent change introducing
1263         ‘help-quote-translation’.
1265         Spelling fix
1267         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
1269         * src/doc.c (syms_of_doc): Remove unused symbols.
1271 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
1273         In ‘window-state-put’ undedicate target window.  (Bug#20848)
1274         * lisp/window.el (window-state-put): Undedicate target window
1275         before putting STATE into it.  (Bug#20848)
1277 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1279         Merge from origin/emacs-24
1280         a5e6f33 Fixes: debbugs:20832
1281         b9f02cf Fixes: debbugs:20832
1283 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
1285         Fix file-in-directory-p when the directory is UNC
1286         * lisp/files.el (file-in-directory-p): Support files and
1287         directories that begin with "//".  (Bug#20844)
1289 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
1291         (Bug#20832)
1292         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
1293         in the minibuffer.
1295 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
1297         (Bug#20832)
1298         * lisp/calendar/todo-mode.el (todo-show): Signal an error
1299         if buffer for adding new todo file is empty but modified.
1301 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
1303         (filepos-to-bufferpos): Further tweaks to the utf-16 code
1304         * lisp/international/mule-util.el (filepos-to-bufferpos):
1305         Fix typo.  Move non-exact check to the utf-16 branch (the only one
1306         affected).  Don't use byte-to-position for the utf-16 case.
1308 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
1310         Minor fixes in filepos-to-bufferpos
1311         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
1312         test for utf-8-emacs.  Exempt single-byte encodings from the
1313         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
1314         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
1315         UTF-16 encoded files for CR-LF EOLs.
1317 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
1319         Improve the optional translation of quotes
1320         Fix several problems with the recently-added custom variable
1321         help-quote-translation where the code would quote inconsistently
1322         in help buffers.  Add support for quoting 'like this', which
1323         is common in other GNU programs in ASCII environments.  Change
1324         help-quote-translation to use more mnemonic values: values are now the
1325         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
1326         traditional Emacs help-buffer quoting style `like this'.  Change the
1327         default behavior of substitute-command-keys to match what's done in
1328         set-locale-environment, i.e., quote ‘like this’ if displayable,
1329         'like this' otherwise.
1330         * doc/lispref/help.texi (Keys in Documentation): Document
1331         new behavior of substitute-command-keys, and document
1332         help-quote-translation.
1333         * doc/lispref/tips.texi (Documentation Tips):
1334         Mention the effect of help-quote-translation.
1335         * etc/NEWS: Mention new behavior of substitute-command-keys,
1336         and merge help-quote-translation news into it.
1337         When talking about doc strings, mention new ways to type quotes.
1338         * lisp/cedet/mode-local.el (overload-docstring-extension):
1339         Revert my recent change to this function, which shouldn't be
1340         needed as the result is a doc string.
1341         * lisp/cedet/mode-local.el (mode-local-print-binding)
1342         (mode-local-describe-bindings-2):
1343         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
1344         * lisp/cus-theme.el (describe-theme-1):
1345         * lisp/descr-text.el (describe-text-properties-1, describe-char):
1346         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
1347         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
1348         (eieio-help-constructor):
1349         * lisp/emacs-lisp/package.el (describe-package-1):
1350         * lisp/faces.el (describe-face):
1351         * lisp/help-fns.el (help-fns--key-bindings)
1352         (help-fns--compiler-macro, help-fns--parent-mode)
1353         (help-fns--obsolete, help-fns--interactive-only)
1354         (describe-function-1, describe-variable):
1355         * lisp/help.el (describe-mode):
1356         Use substitute-command-keys to ensure a more-consistent quoting
1357         style in help buffers.
1358         * lisp/cus-start.el (standard):
1359         Document new help-quote-translation behavior.
1360         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
1361         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
1362         (help-xref-url-regexp):
1363         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
1364         * lisp/wid-edit.el (widget-documentation-link-regexp):
1365         Also match 'foo', in case we're in a help buffer generated when
1366         help-quote-translation is ?'.
1367         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
1368         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
1369         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
1370         (Fsubstitute_command_keys): Document and implement new behavior.
1371         (Vhelp_quote_translation): Document new behavior.
1373 2015-06-18  Glenn Morris  <rgm@gnu.org>
1375         * lisp/cus-start.el (help-quote-translation): Add :version.
1377         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
1379 2015-06-18  Alan Mackenzie  <acm@muc.de>
1381         Make translation of quotes to curly in doc strings optional.
1382         src/doc.c (traditional, prefer-unicode): new symbols.
1383         (help-quote-translation): new variable.
1384         (Fsubstitute_command_keys): make translation of quotes dependent on
1385         `help-quote-translation'; also translate curly quotes back to ASCII
1386         ones.
1387         lisp/cus-start.el (top-level): Add a customization entry for
1388         `help-quote-translation'.
1390 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1392         * lisp/emacs-lisp/package.el: Don't always propagate async errors
1393         (package--with-work-buffer-async): Only propagate the error if the
1394         callback returns non-nil.
1395         (package--download-one-archive): Return nil on the signature
1396         checking callback if we accept unsigned.
1397         (package--download-and-read-archives): Return non-nil on the
1398         archive download callback.
1400 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
1402         Fix last fix"
1404         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
1405         * src/nsfns.m (Fx_create_frame):
1406         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
1407         image_cache_refcount before first x_default_parameter call.
1409 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1411         Improve and extend filepos-to-bufferpos
1412         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
1413         Don't barf if F returns nil for some argument.
1414         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
1415         that every encoding of type 'charset' is single-byte.
1417 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
1419         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
1420         Properly delete packages.  (Bug#20836)
1422 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
1424         Update data files from just-released Unicode 8.0
1425         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
1426         status.
1427         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
1428         * admin/unidata/BidiMirroring.txt:
1429         * admin/unidata/BidiBrackets.txt:
1430         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
1432 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
1434         Document curved quotes a bit better
1435         * doc/emacs/basic.texi (Inserting Text):
1436         Mention C-x 8.  Change example to use curved quote rather
1437         than infinity, as this lets us give more ways to do it.
1438         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
1439         and quotation marks.
1440         * doc/emacs/text.texi (Quotation Marks):
1441         * doc/lispref/tips.texi (Documentation Tips):
1442         Add "curly quotes" and "curved quotes" to the index.
1443         * doc/emacs/text.texi (Quotation Marks):
1444         Give the C-x 8 shorthands for curved quotes.
1445         Cross-reference to "Quotation Marks".
1447 2015-06-17  Daiki Ueno  <ueno@gnu.org>
1449         Add pinentry.el for better GnuPG integration
1450         * lisp/pinentry.el: New file.
1451         * etc/NEWS: Add entry about pinentry.el.
1452         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
1453         (Bug#20550)
1455 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1457         * lisp/emacs-lisp/package.el: Slightly better error reporting.
1459 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
1461         (define-minor-mode): Use setq-default for :global minor modes
1462         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
1463         Use setq-default for :global minor modes (bug#20712).
1465 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
1467         Avoid infloop in redisplay with tall images
1468         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
1469         down near ZV.  (Bug#20808)
1470         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
1471         instead of CHARPOS.
1473 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
1475         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1476         Fix error reporting.
1478         * lisp/let-alist.el: move to lisp/emacs-lisp/let-alist.el
1480         * lisp/emacs-lisp/package.el: Revert buffer after any operation
1481         Call `package-menu--post-refresh' after any operation that changes
1482         the package database (`package-install' and `package-delete').  To
1483         avoid performance issues in large transactions, these functions
1484         add `post-refresh' to `post-command-hook' instead of calling it
1485         immediately.
1486         (package-menu--mark-or-notify-upgrades): New function.
1487         (list-packages): Add it to `package--post-download-archives-hook'.
1488         (package-menu--post-refresh): Lose the upgrade-checking code, add
1489         code to remove itself from `post-command-hook'.
1490         (package-install, package-delete): Add it to `post-command-hook'.
1491         (package-menu-execute): Don't call `package-menu--post-refresh'.
1493 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
1495         Add missing function xref-location-group for elisp-mode.
1496         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
1498 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
1500         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
1501         The behavior now matches the description in the manual.  (Bug#20783)
1503 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
1505         Update tutorials/TUTORIAL.cn
1506         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
1508 2015-06-17  Glenn Morris  <rgm@gnu.org>
1510         Generate char-script-table from Unicode source.  (Bug#20789)
1511         * admin/unidata/Makefile.in (AWK): New, set by configure.
1512         (all): Add charscript.el.
1513         (blocks): New variable.
1514         (charscript.el, ${unidir}/charscript.el): New targets.
1515         (extraclean): Also remove generated charscript.el.
1516         * admin/unidata/blocks.awk: New script.
1517         * admin/unidata/Blocks.txt: New data file, from unicode.org.
1518         * lisp/international/characters.el: Load charscript.
1519         * src/Makefile.in (charscript): New variable.
1520         (${charscript}): New target.
1521         (${lispintdir}/characters.elc): Depend on charscript.elc.
1522         (temacs$(EXEEXT)): Depend on charscript.
1524         * lisp/international/characters.el (char-script-table): Tweak
1525         some ranges to better match the source.  (Bug#20789#17)
1527         Remove "no-byte-compile: t" from a few files.
1528         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
1529         * lisp/obsolete/patcomp.el: No reason not to compile these.
1531 2015-06-16  Glenn Morris  <rgm@gnu.org>
1533         Fix some typos in copied Unicode data.  (Bug#20789)
1534         * lisp/international/characters.el (char-script-table):
1535         * lisp/international/fontset.el (script-representative-chars)
1536         (setup-default-fontset): Fix typos.
1538         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
1539         Don't print filename twice (it's in the prefix now).
1541         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
1542         No longer needed.
1544         Address a compilation warning.
1545         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
1546         Replace 't' with '_' in pcase.
1548         Address some check-declare warnings.
1549         * lisp/simple.el (tabulated-list-print):
1550         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
1551         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
1552         (ns-get-selection): Update declarations.
1554         Address some compilation warnings.
1555         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
1556         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
1557         Replace 't' with '_' in pcase.
1559         Address some compilation warnings.
1560         * lisp/face-remap.el (text-scale-adjust):
1561         * lisp/menu-bar.el (popup-menu-normalize-position):
1562         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
1563         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
1564         * lisp/emacs-lisp/generator.el (cps--transform-1):
1565         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
1566         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
1567         * lisp/progmodes/octave.el (octave-goto-function-definition)
1568         (octave-find-definition-default-filename):
1569         Replace 't' with '_' in pcase.
1571         * lisp/emacs-lisp/pcase.el (pcase--u1):
1572         Paper-over today's bootstrap failure.
1574 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
1576         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
1578         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
1580         Better confirmation message in `find-alternate-file' (Bug#20830)
1581         * lisp/files.el (find-alternate-file'): Improve the confirmation
1582         message to show the buffer name.
1584         Better docstring for null. (Bug#20815)
1585         * src/data.c (null): Improves the docstring, saying what null returns
1586         when OBJECT is non-nil.
1588 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
1590         * lisp/net/newst-treeview.el: Use lexical-binding.
1592         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
1593         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
1594         New auxiliary function, extracted from filepos-to-bufferpos.
1595         Make sure it terminates.
1596         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
1597         Add support for the `exact' quality.
1599 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
1601         Identify feeds in newsticker treeview with :nt-feed property
1602         * lisp/net/newst-treeview.el:
1603         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
1605 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
1607         * lisp/emacs-lisp/pcase.el: Improve docs and error handling
1608         (pcase--self-quoting-p): Floats aren't self-quoting.
1609         (pcase): Tweak docstring.
1610         (pcase--u1): Deprecate the t pattern.  Improve error detection for
1611         the nil pattern.
1612         (\`): Tweak docstring.  Signal an error for unrecognized cases.
1613         (bug#20784)
1615 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
1617         Fix infloop in filepos-to-bufferpos
1618         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
1619         offset calculation, and make it conditional on the eol-type of the
1620         file's encoding.  (Bug#20825)
1622 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
1624         Fix handling of image cache refcounts.  (Bug#20802)
1625         This backports Eli Zaretskii's solution of this problem for W32
1626         to X and NS.
1627         * src/nsfns.m (image_cache_refcount): Define unconditionally.
1628         (unwind_create_frame): If the image cache's reference count
1629         hasn't been updated yet, do that now.
1630         (Fx_create_frame): Set image_cache_refcount unconditionally.
1631         * src/xfns.c (image_cache_refcount): Define unconditionally.
1632         (unwind_create_frame): If the image cache's reference count
1633         hasn't been updated yet, do that now.
1634         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
1635         unconditionally.
1636         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
1637         X and NS.
1639 2015-06-16  Nils Ackermann  <nils@ackermath.info>
1641         Improve reftex-label-regexps default value
1642         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
1643         keyvals label regexp more strict to better cope with unbalanced
1644         brackets common in math documents.
1646 2015-06-16  Glenn Morris  <rgm@gnu.org>
1648         * doc/emacs/calendar.texi (Format of Diary File):
1649         Move "nonmarking" from here...
1650         (Displaying the Diary): ... to here.
1652         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
1653         Swap the order of these nodes.
1654         * doc/emacs/emacs.texi: Update detailed menu for the above change.
1656         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
1657         Update date of examples.
1658         (Diary, Format of Diary File): Move example from former to latter.
1659         Reduce duplication.
1661         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
1662         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
1663         Don't set no-byte-compile in the outputs.
1664         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
1666 2015-06-15  Glenn Morris  <rgm@gnu.org>
1668         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
1669         * doc/emacs/calendar.texi (Diary, Format of Diary File):
1670         Update for above diary-file change.
1671         : * etc/NEWS: Mention this.
1673         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
1674         (apply-macro-to-region-lines): Use user-error.
1676         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
1677         (pages-directory-for-addresses): Doc fixes.
1679 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
1681         * lisp/info.el: Cleanup bytepos/charpos issues
1682         * lisp/international/mule-util.el: Use lexical-binding.
1683         (filepos-to-bufferpos): New function.
1684         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
1685         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
1686         (Info-read-subfile, Info-search): Use 0-based file positions.
1688         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
1689         (perl--syntax-exp-intro-keywords): New var.
1690         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
1691         (bug#20800).
1693 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1695         Fix quoting when making derived mode docstring
1696         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
1697         Nest regexp-quote inside format, not the reverse.
1698         Problem reported by Artur Malabarba in:
1699         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
1701 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
1703         ;* src/fontset.c: Update obsolete commentary.
1705         Fix current-iso639-language on MS-Windows
1706         * lisp/international/mule-cmds.el (set-locale-environment):
1707         Downcase the locale name before interning it.  This is so the
1708         'current-iso639-language' on MS-Windows matches the ':lang'
1709         property of font-spec objects.
1711         Limit Symbola usage some more
1712         * lisp/international/fontset.el (setup-default-fontset): Limit
1713         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
1714         (Bug#20727)
1716 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
1718         * lisp/emacs-lisp/map.el (map-let): Better docstring.
1720 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
1722         Spelling fixes
1724 2015-06-14  Glenn Morris  <rgm@gnu.org>
1726         * lisp/version.el (emacs-repository-version-git): Demote errors.
1727         Check result is a hash.
1729 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
1731         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
1732         Catch errors that happen before going async.  (Bug#20809)
1734 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
1736         Another improvement of documentation of set-fontset-font
1737         * doc/lispref/display.texi (Fontsets): Say explicitly that
1738         CHARACTER can be a single codepoint.
1739         * src/fontset.c (Fset_fontset_font): Doc fix.
1741         Another improvement for symbol and punctuation characters
1742         * lisp/international/fontset.el (setup-default-fontset): Exclude
1743         from Symbola character ranges for symbols and punctuation covered
1744         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
1745         installed and where its coverage of symbols and punctuation is
1746         known to be good.  (Bug#20727)
1748 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
1750         Some generic support for multi-mode indentation.
1751                 * lisp/progmodes/prog-mode.el (prog-indentation-context): New
1752                 variable.
1753                 (prog-first-column, prog-widen): New convenience functions.
1755 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
1757         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
1758         Don't assume that `tabulated-list-printer' will leave point at the
1759         end of the buffer.  (Bug#20810)
1761 2015-06-13  Glenn Morris  <rgm@gnu.org>
1763         Tweaks for getting repository version; a bit more like it was for bzr.
1764         * lisp/version.el (emacs-repository-version-git)
1765         (emacs-repository--version-git-1): New functions,
1766         split from emacs-repository-get-version.
1767         (emacs-repository-get-version): Make the second argument meaningful.
1769         * lisp/startup.el (command-line-1): Inform if skipping relative
1770         file names due to deleted PWD.
1772         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
1773         when starup directory is missing.  (Bug#18851)
1774         (errno.h): Include it.
1776 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
1778         Better fix for documenting `X as "`X"
1779         Fix suggested by Stefan Monnier.
1780         * lisp/help-fns.el (help-fns--signature):
1781         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
1782         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
1783         Don't treat `X specially, as help-fns--signature now handles this.
1785 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
1787         Improve the default fontset when Symbola is not installed
1788         * lisp/international/fontset.el (setup-default-fontset): Only
1789         prepend Symbola and FreeMono font specs for symbols and
1790         punctuation; do not replace the default spec for them.  This
1791         should have better results when Symbola/FreeMono are not
1792         installed.  (Bug#20727)
1794         Improve documentation of ':lang' in font specs
1795         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
1796         use of the ':lang' property of the font spec.
1797         * doc/emacs/frames.texi (Fonts): Document the language names that
1798         can be in the STYLE part of XLFD.
1799         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
1800         property.
1802         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
1804         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
1806         Revert last change in fontset.el
1807         * lisp/international/fontset.el (setup-default-fontset): Revert
1808         the change "Configure Symbola font only if installed", since font
1809         search is evidently not yet set up when this function is called.
1810         (Bug#20727)
1812 2015-06-12  Glenn Morris  <rgm@gnu.org>
1814         Ensure early startup warnings are visible at the end.  (Bug#20792)
1815         * lisp/emacs-lisp/warnings.el (display-warning):
1816         If startup isn't complete, delay the warning.
1817         * lisp/startup.el (normal-top-level, command-line):
1818         Let display-warning automatically handle the needed delays.
1819         Run delayed-warnings-hook.
1821         * lisp/version.el (emacs-repository-get-version):
1822         Avoid calling external executable if possible.  (Bug#20799)
1824 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1826         Document `X as "`X", not as "(` X)"
1827         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
1828         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
1830         * src/print.c (print_object): Minor simplification.
1832 2015-06-12  Glenn Morris  <rgm@gnu.org>
1834         * src/buffer.c (init_buffer): Add final newline to message.
1836 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1838         Configure Symbola font only if installed
1839         * lisp/international/fontset.el (setup-default-fontset):
1840         Don't specify the Symbola font if it's not installed.
1841         Likewise for FreeMono.  (Bug#20727)
1843 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
1845         Configure Symbola font only for symbols and punctuation
1846         * lisp/international/fontset.el (setup-default-fontset): Leave
1847         only symbols and punctuation in the fontset setup for Symbola
1848         font; remove "Greek and Coptic" and "Cyrillic Supplement".
1849         (Bug#20798)
1851 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
1853         Fix crash in fontset-info
1854         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
1855         non-nil.
1857 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
1859         Port to Solaris 10 sparc + Sun C 5.13
1860         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
1861         Adjust to process.c change.
1862         * src/process.c (create_process): Declare volatile variables at
1863         top level of this function, so that they're less likely to be
1864         reused later in the function in the code executed by the vforked
1865         child.  Do not declare locals used only in the vforked child, as
1866         they might share memory with locals still live in the parent.
1867         Instead, use the same variables in the child as in the parent.
1868         This works around a subtle bug that causes a garbage collector
1869         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
1871 2015-06-12  Glenn Morris  <rgm@gnu.org>
1873         * lisp/startup.el (normal-top-level): Don't let *Messages* get
1874         a nil default-directory.
1876 2015-06-11  Glenn Morris  <rgm@gnu.org>
1878         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
1880         Some progress towards starting with PWD deleted.  (Bug#18851)
1881         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
1882         * lisp/startup.el (normal-top-level, command-line-1):
1883         * lisp/minibuffer.el (read-file-name-default):
1884         Handle default-directory being nil.
1886 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
1888         Fix "not a tty" bug on Solaris 10
1889         * configure.ac (PTY_OPEN): Define to plain 'open'
1890         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
1891         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
1892         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
1893         hosts that call grantpt which does its work via a setuid subcommand
1894         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
1895         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
1896         seems relevant in that case too.
1898 2015-06-11  Juri Linkov  <juri@linkov.net>
1900         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
1901         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
1902         (Bug#20785)
1904 2015-06-11  Glenn Morris  <rgm@gnu.org>
1906         * lisp/international/characters.el (char-script-table): Fix typo.
1908 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
1910         Fix quoting of help for functions with odd names
1911         While investigating Bug#20759, I discovered other quoting problems:
1912         C-h f mishandled characters like backslash and quote in function names.
1913         This fix changes the behavior so that 'C-h f pcase RET' now
1914         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
1915         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
1916         in src/lread.c's read1 function says that the backslash will be
1917         needed starting in Emacs 25, which implies that 'format' is
1918         correct and the old pcase documention was wrong to omit the backslash.
1919         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
1920         * lisp/help-fns.el (help-fns--signature):
1921         * lisp/help.el (help-add-fundoc-usage):
1922         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
1923         Use help--make-usage-docstring rather than formatting
1924         help-make-usage.
1925         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
1926         Return raw docstring.
1927         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
1928         raw docstring.  Take more care to distinguish raw from cooked dstrings.
1929         (describe-function-1): Let help-fns--signature substitute
1930         command keys.
1931         * lisp/help.el (help--docstring-quote): New function.
1932         (help-split-fundoc): Use it, to quote funny characters more
1933         systematically.
1934         (help--make-usage): Rename from help-make-usage, since this
1935         should be private.  Leave an obsolete alias for the old name.
1936         (help--make-usage-docstring): New function.
1937         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
1939 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
1941         * lisp/thingatpt.el (in-string-p): Revert last change,
1942         since in-string-p is not used in thingatpt.el but only from outside.
1943         Also, use lexical binding.
1945 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
1947         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons
1948         * test/automated/let-alist.el (let-alist-cons): Test it.
1950 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
1952         * src/syntax.c (Fbackward_prefix_chars): Reword docstring
1954 2015-06-10  Glenn Morris  <rgm@gnu.org>
1956         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
1958         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
1959         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
1960         * admin/gitmerge.el (gitmerge-commit-message):
1961         Exclude "skipped" messages from ChangeLog once again.
1963         Slight namespace cleanup for thingatpt.el.
1964         * lisp/thingatpt.el (thing-at-point--in-string-p)
1965         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
1966         (thing-at-point--read-from-whole-string): Rename from
1967         old versions without "thing-at-point--" prefix.
1968         Keep old versions as obsolete aliases.  Update all uses.
1970         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
1971         Move requiring of finder from here...
1972         (checkdoc-package-keywords): ... to here.
1974         Use 'user-error' in a few calendar files.
1975         * lisp/calendar/appt.el (appt-add):
1976         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
1977         (calendar-generate):
1978         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
1979         Replace 'error' with 'user-error'.
1981         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
1983         * lisp/files-x.el (add-file-local-variable):
1984         Special-case 'lexical-binding'.  (Bug#20641)
1986         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
1987         No longer autoload.
1988         * doc/misc/autotype.texi (Executables):
1989         Undocument executable-self-display.
1991         * lisp/progmodes/executable.el (executable-self-display):
1992         Use non-obsolete tail syntax.  (Bug#20779)
1993         (executable-self-display): Doc update.
1995 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1997         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
1998         (finder-known-keywords): Silence byte-compiler.
2000 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2002         * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730)
2004         * lisp/progmodes/sh-script.el: Better handle nested quotes
2005         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
2006         (sh-font-lock-quoted-subshell): Make sure double quotes within single
2007         quotes don't mistakenly end prematurely the surrounding string.
2009         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
2011 2015-06-09  Glenn Morris  <rgm@gnu.org>
2013         * test/automated/Makefile.in (ELFILES): Sort.
2015         * Makefile.in (SUBDIR_MAKEFILES):
2016         * lwlib/Makefile.in (WARN_CFLAGS):
2017         Use built-in Make functions rather than echo+sed.
2019 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
2021         Update char-script-table
2022         * lisp/international/characters.el (char-script-table): Update
2023         from Unicode 8.0 Draft.
2025         Improve font selection for punctuation and other symbols
2026         * src/fontset.c (face_for_char): If the character's script is
2027         'symbol', and the font used for ASCII face has a glyph for it, use
2028         the font for the ASCII face instead of searching the fontsets.
2029         This comes instead of NS-specific code that used the current
2030         face's font instead, which is now disabled due to undesirable
2031         consequences.  (Bug#20727)
2033 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
2035         Skip past `#' to find BEG
2036         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip
2037         past `#' to find BEG (bug#20771).
2038         * test/automated/elisp-mode-tests.el
2039         (elisp-completes-functions-after-hash-quote): New test.
2041 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2043         Fix compilation warning/error in --without-x builds
2044         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
2045         code on HAVE_WINDOW_SYSTEM.
2047         Improve the default fontset wrt symbols
2048         * lisp/international/fontset.el (setup-default-fontset): Better
2049         setup of fontset-default for symbols: use Symbola and FreeMono.
2050         (Bug#20727)
2052 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2054         Add new command checkdoc-package-keywords
2055         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New
2056           defcustom.
2057         (checkdoc-list-of-strings-p): Add doc.
2058         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
2059         non-nil, call `checkdoc-package-keywords'.
2060         (checkdoc-get-keywords): New defun.
2061         (checkdoc-package-keywords): New command. Warns if the current file
2062         has package.el-style keywords that aren't in `finder-known-keywords'.
2063         * etc/NEWS: Add entry.
2065 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
2067         Avoid crashes when key-binding is called from a timer
2068         * src/keymap.c (Fkey_binding): Don't segfault if called with an
2069         empty vector as KEY.  (Bug#20705)
2071         Fix a thinko in arc-mode.el
2072         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
2073         non-Zip64 case.  (Bug#20769)
2075 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
2077         * lisp/emacs-lisp/package.el (package-delete): Make interactive
2079 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
2081         checkdoc.el (checkdoc-file): New function
2082         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When
2083           `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning
2084           to the standard output.
2085         (bug#20754)
2087 2015-06-07  Glenn Morris  <rgm@gnu.org>
2089         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
2091         * src/font.c (syms_of_font) <font-log>: Doc fix.
2093         Remove the obsolete leading "*" from some C doc strings.
2094         * src/coding.c (syms_of_coding):
2095         * src/font.c (syms_of_font): Remove leading "*" from docs.
2096         * lisp/cus-start.el (enable-character-translation): Add it.
2098 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
2100         Move gen_origin from program to data
2101         That way, 'make change-history' needs to change only ChangeLog.2,
2102         instead of having to change two files.
2103         * ChangeLog.2: Add commit info for range that this file covers.
2104         * Makefile.in (new_commit_regexp): New macro.
2105         (change-history-nocommit): Simplify, by putting what used to be
2106         the gen_origin value into the data (ChangeLog.2) rather than
2107         into the program (gitlog-to-emacslog).
2108         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
2109         the input file (e.g., ChangeLog.2) rather than by having a
2110         constant in the program.  Substitute it into the output.
2112 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
2114         Escape any quotes in the function name
2115         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
2116         function name (bug#20759).
2118 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
2120         Adapt 'struct timespec' to next release of MinGW runtime
2121         * nt/inc/ms-w32.h (struct timespec): Don't declare if
2122         __struct_timespec_defined is defined.
2124 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
2126         Merge from gnulib
2127         This incorporates:
2128         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
2129         2015-06-05 stdio: Don't redefine gets when using C++
2130         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
2131         2015-06-02 file-has-acl: fix build on Mac OS X 10
2132         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
2133         2015-06-01 pthread_sigmask: discount system version if a simple macro
2134         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
2135         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
2136         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
2137         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
2138         * lib/gnulib.mk: Regenerate.
2140 2015-06-06  Juri Linkov  <juri@linkov.net>
2142         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
2143         before calling grep-compute-defaults because now it affects the
2144         command lines computed in grep-compute-defaults. (Bug#20728)
2146 2015-06-06  Glenn Morris  <rgm@gnu.org>
2148         Address some compilation warnings.
2149         * lisp/international/mule-cmds.el (w32-get-console-codepage)
2150         (w32-get-console-output-codepage):
2151         * lisp/progmodes/elisp-mode.el (xref-collect-references):
2152         * lisp/version.el (cairo-version-string): Declare.
2153         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
2155 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
2157         Fix display when a font claims large values of ascent and descent
2158         This fixes bug#20628.
2159         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
2160         coordinate of a hollow cursor glyph when the original glyph's
2161         ascent is too small.
2162         (get_font_ascent_descent, normal_char_ascent_descent)
2163         (normal_char_height): New functions.
2164         (handle_single_display_spec, append_space_for_newline)
2165         (calc_pixel_width_or_height, produce_stretch_glyph)
2166         (calc_line_height_property): Use normal_char_ascent_descent and
2167         normal_char_height.
2168         (x_produce_glyphs): When font-global values of ascent and descent
2169         are too large, use per-character glyph metrics instead, if
2170         possible.  But don't allow the glyph row's ascent and descent
2171         values become smaller than the values from the metrics of the
2172         font's "normal" character.
2173         * src/xftfont.c (xftfont_draw):
2174         * src/w32font.c (w32font_draw): Correct the values of ascent and
2175         descent used to draw glyphless characters' hex code in a box.
2176         * src/xterm.c (x_draw_glyph_string_background):
2177         * src/xdisp.c (x_produce_glyphs):
2178         * src/w32term.c (x_draw_glyph_string_background):
2179         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
2180         to detect fonts whose global ascent and descent values are too
2181         large to be used in layout decision, and redraw the background
2182         when that happens.
2183         * src/dispextern.h (FONT_TOO_HIGH): New macro.
2184         (get_font_ascent_descent): Add prototype.
2185         * src/xterm.c (x_new_font):
2186         * src/w32term.c (x_new_font):
2187         * src/nsterm.m (x_new_font):
2188         * src/font.c (font_open_entity):
2189         * src/composite.c (composition_gstring_width): Use
2190         get_font_ascent_descent to obtain reasonable values for ascent and
2191         descent of a font.
2193 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
2195         Add assertion in adjust_point_for_property
2196         * src/keyboard.c (adjust_point_for_property): Add eassert for
2197         current buffer being shown in selected window.
2199 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
2201         Replace uses of in-string-p; make it obsolete
2202         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
2203         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
2205 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
2207         Fix Dired display of an explicit list of files by ls-lisp.el
2208         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
2209         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
2210         correct for when displaying individual files separately, not as
2211         part of listing a directory, in which case these values are not
2212         recomputed by 'ls-lisp-insert-directory', but used verbatim.
2214         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
2216 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
2218         Do not adjust point in a non-selected window
2219         * src/keyboard.c (command_loop_1): Do not adjust point when
2220         current buffer is not shown in selected window (Bug#20590).
2222         * etc/DEBUG: Mention 'maybe_call_debugger'
2224 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
2226         Fix a unit test for map.el
2227         * test/automated/map-tests.el (test-map-let): Fix the test to work
2228         with the new syntax of `map-let'.
2230         * lisp/emacs-lisp/map.el (map-let): Better docstring.
2232         Better syntax for the map pcase pattern
2233         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
2234         bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted.
2236         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
2238         Fix a byte-compiler error in map-put and map-delete
2239         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
2240         called with a symbol.
2242 2015-06-05  Glenn Morris  <rgm@gnu.org>
2244         * admin/gitmerge.el (gitmerge-commit-message):
2245         Revert to including "skipped" messages in ChangeLog once again.
2247 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
2249         Use string> instead of equiv lambda with string<
2250         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
2251         lambda with string<.
2253 2015-06-05  Glenn Morris  <rgm@gnu.org>
2255         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
2256         (map--delete-array): Fix typo.
2258         * test/automated/map-tests.el: Replace "assert" with "should".
2260         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
2261         (SUBDIRS_REL): Derive from SUBDIRS.
2263         Tweak some build messages.
2264         * lisp/Makefile.in ($(lisp)/loaddefs.el):
2265         * lisp/cus-dep.el (custom-make-dependencies):
2266         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
2267         * lisp/international/titdic-cnv.el (batch-titdic-convert):
2268         Don't say how to compile.
2270 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
2272         Omit U+0332 COMBINING LOW LINE in previous change
2273         It turns out that it does not work on Ubuntu 15.04.
2275         Fix transliteration of Bahá'í months
2276         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
2277         Improve quality of Latin transliteration of Bahá'í month names.
2279         Fix curved quotes in a few places
2280         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
2281         The strings in question are not doc strings, so this partially
2282         undoes the recent change that assumed they were doc strings.
2283         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
2284         * lisp/info.el (Info-finder-find-node):
2285         Use curved quotes.
2286         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
2287         Also allow curved quotes in doc strings.
2289 2015-06-04  Glenn Morris  <rgm@gnu.org>
2291         * lisp/Makefile.in (AM_V_at): Add missing definition.
2293         * lisp/Makefile.in: Quieten output a bit.
2294         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
2295         Don't echo directories, since the commands we invoke print them.
2297         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
2298         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
2299         (SUBDIRS_SUBDIRS): New variables.
2300         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
2301         Remove.
2302         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
2303         (update-subdirs, compile-main, compile-clean):
2304         Replace "setwins" usage with new "SUBDIRS" variables.
2306         * lisp/vc/compare-w.el (compare-windows-get-window-function):
2307         Fix :version tag.
2309 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2311         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
2313         Undo removal of x_clear_area call on expose for GTK3 or cairo.
2314         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear
2315         exposed area.  (Bug#20677)
2317 2015-06-04  Glenn Morris  <rgm@gnu.org>
2319         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
2321         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
2323         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
2324         Rename from quail-lao-update-translation, since lao.el defines that.
2326 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
2328         Handle new-style advice in find-funct
2329         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
2330         Handle new-style advice.  Return the symbol's function definition.
2331         (Bug#20718)
2332         (find-function-library): Update accordingly.
2334 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
2336         Merge branch 'map'
2338         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
2340         Add new function string-greaterp
2341         * lisp/subr.el (string-greaterp): New function.  Also aliased to
2342         `string>'.
2343         * test/automated/subr-tests.el (string-comparison-test): Add unit
2344         tests for `string>'and `string<'.
2345         * src/fns.c (string-lessp): Better docstring.
2347 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
2349         Fix timezone-related functions on MS-Windows
2350         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
2351         'xputenv', even if no reallocation of tzvalbuf was necessary.
2352         This fixes a bug in timezone-related functions on MS-Windows.
2353         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
2355 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2357         Don't pass raw directory name to 'error'
2358         * lisp/files.el (basic-save-buffer-2): Avoid format error if
2359         a directory name contains a string like "%s".
2361 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
2363         Override 'grep --color=always'
2364         * lisp/progmodes/xref.el (xref-collect-matches):
2365         Override --color=always in grep-find-template.
2367 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
2369         Fix error introduced recently in file-notify-tests.el
2370         * test/automated/file-notify-tests.el
2371         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
2372         (file-notify--deftest-remote): Revert previous patch, not
2373         necessary anymore.
2375 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
2377         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
2378         Starting from a display string after a newline, point went to the
2379         previous line.  Also, fix an inadvertent use of a buffer position
2380         with FETCH_BYTE.  (Bug#20701)
2382 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
2384         Instrument file-notify-test.el in order to catch hydra error.
2385         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
2386         Wrap body by `ignore-case', in order to trap non-local errors.
2388 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2390         Undo previous changes in non-toolkit scroll bar drawing.
2391         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
2392         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
2394 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
2396         * .gitignore: Also ignore doc/*/*/*.html and .ps.
2398         Support quotes 'like this' in info files
2399         This is possible when 'makeinfo --disable-encoding' is used
2400         in Texinfo 5.
2401         * lisp/calc/calc-help.el (calc-describe-thing):
2402         * lisp/gnus/gnus-art.el (gnus-button-alist):
2403         * lisp/info.el (Info-find-index-name):
2404         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
2405         Also support quotes 'like this'.
2406         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
2407         * lisp/finder.el (finder-font-lock-keywords): Remove var that
2408         hasn't been used in years, instead of bothering to fix its quoting.
2410 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2412         * .gitignore: Remove !test/etags/html-src/*.html.
2413         It's no longer needed, since *.html was removed.  Sort.
2415 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2417         Restore <D> instead of '.' in grep-find-template
2418         * lisp/cedet/semantic/symref/grep.el
2419         (semantic-symref-grep-use-template): Update a comment.
2420         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
2421         instead of '.' in grep-find-template (bug#20719).
2422         (rgrep): Pass nil as the directory to rgrep-default-command.
2423         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
2424         default value for DIR.
2425         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
2426         workaround.
2428 2015-06-02  Glenn Morris  <rgm@gnu.org>
2430         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
2432         * configure.ac (emacs_config_features): Add Cairo.
2434         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
2436 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
2438         Ensure, that autorevert works for remote files in file-notify-tests.el
2439         * test/automated/file-notify-tests.el (file-notify--test-desc):
2440         New defvar.
2441         (file-notify--test-remote-enabled)
2442         (file-notify-test00-availability, file-notify-test01-add-watch)
2443         (file-notify-test02-events): Use it.
2444         (file-notify--test-event-test): Check proper descriptor.
2445         (file-notify-test03-autorevert): Ensure, that
2446         `visited-file-modtime' has changed.
2447         (Bug#20392)
2449 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
2451         Add a pcase pattern for maps and `map-let' based on it
2452         * lisp/emacs-lisp/map.el (map-let): New macro.
2453         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
2454         * test/automated/map-tests.el: New test for `map-let'.
2456 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
2458         Reuse rgrep mechanics in xref-find-regexp
2459         * lisp/progmodes/grep.el (rgrep-default-command):
2460         Extract from `rgrep'.
2461         * lisp/progmodes/xref.el (xref-collect-references): Split from
2462         `xref-collect-matches'.  Only handle the case of symbol search.
2463         (xref-collect-matches): Instead of Semantic Symref, use
2464         `rgrep-default-command', to take advantage of its directory and
2465         file ignore settings.
2466         (xref--collect-match): Remove the last argument, leaving the
2467         regexp construction up to the caller.
2468         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
2469         Change to take the xref-collect- function to use as an argument.
2470         (elisp-xref-find): Update accordingly.
2471         * lisp/progmodes/etags.el (etags--xref-find-matches)
2472         (etags-xref-find): Same.
2474         Move xref-elisp-location to elisp-mode.el
2475         * lisp/progmodes/xref.el (xref-elisp-location)
2476         (xref-make-elisp-location, xref-location-marker): Remove here.
2477         (xref--xref): Don't limit the type of the location slot.
2478         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
2479         Define as a cl-struct here.
2480         (xref-location-marker): Move here.
2482 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
2484         Minor tweaks for .gitignore
2485         * .gitignore: Don't ignore versioned *.html and *.ps files.  Don't
2486         ignore admin/notes/tags that might be ignored as TAGS on
2487         case-insensitive filesystems.  (Bug#20710)
2489 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
2491         Generate curved quotes in ert doc
2492         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
2493         (ert-results-mode-menu)
2494         (ert-results-pop-to-backtrace-for-test-at-point)
2495         (ert-results-pop-to-messages-for-test-at-point)
2496         (ert-results-pop-to-should-forms-for-test-at-point)
2497         (ert-describe-test):
2498         Quote ‘like this’, not `like this', when generating doc strings
2499         and the like.
2500         * test/automated/ert-x-tests.el (ert-test-describe-test):
2501         Allow quoting ‘like this’.
2503 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
2505         Add test for previous commit
2506         * test/automated/replace-tests.el: New file.
2507         (query-replace--split-string-tests): Add test for previous commit.
2509         Avoid confusion in query-replace history when replacing NUL chars
2510         * lisp/replace.el (query-replace--split-string): New function.
2511         (query-replace-read-from): Rely on the 'separator' property
2512         instead of searching for the NUL character (Bug#20690).
2514 2015-06-02  Glenn Morris  <rgm@gnu.org>
2516         Merge from origin/emacs-24
2517         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
2519         * admin/gitmerge.el (gitmerge-commit-message):
2520         Exclude "skipped" messages from ChangeLog.
2522 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
2524         Sync with Tramp repository
2525         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
2526         messages.
2527         (tramp-handle-make-auto-save-file-name): When calling
2528         `make-auto-save-file-name' internally, make sure it uses Unix-like
2529         behavior, not Windows-like behavior.
2530         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
2531         the local case, because "chown" might fail on w32.
2532         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
2533         for XEmacs.
2535 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
2537         MS-Windows followup for batch stdout/stderr output changes
2538         * lisp/international/mule-cmds.el (set-locale-environment): In
2539         batch mode, use console codepages for keyboard and terminal
2540         encoding.  (Bug#20545)
2542         Update .gitattributes for DOS EOL files
2543         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
2544         CRLF end-of-line format.
2546         NS equivalents of xterm.c and w32term.c changes
2547         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
2548         glyph string background also when the font in use claims
2549         preposterously large global height value.  Helps to remove
2550         artifacts left from previous displays when glyphless characters
2551         are displayed as hex code in a box.
2552         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
2553         value for FRAME_LINE_HEIGHT, even when a font claims very large
2554         value for its height.
2556 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
2558         Avoid grave accent quoting in stderr diagnostics
2559         A few Emacs diagnostics go directly to stderr, and so can't easily
2560         contain curved quotes (as non-UTF-8 locales might mishandle them).
2561         Instead of bothering to add support for this rarity, reword the
2562         diagnostics so that they don't use grave accent to quote.
2563         * src/alloc.c (mark_memory): Fix comment.
2564         * src/buffer.c (init_buffer):
2565         * src/dispnew.c (init_display):
2566         * src/emacs.c (main, sort_args):
2567         * src/lread.c (dir_warning):
2568         * src/term.c (init_tty):
2569         * src/unexmacosx.c (unexec):
2570         * src/xfns.c (select_visual):
2571         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
2572         Reword stderr diagnostics to avoid quoting `like this'.
2573         * src/unexmacosx.c: Include errno.h.
2574         * src/xfns.c (select_visual): Encode value for locale.
2576 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
2578         Treat batch stdout/stderr like standard display
2579         Calls like (print FOO) could generate improperly encoded or
2580         hard-to-read output if FOO contains characters outside the system
2581         locale.  Fix this by treating batch stdout and stderr like
2582         interactive standard display, when it comes to transliterating and
2583         encoding characters (Bug#20545).
2584         * doc/emacs/mule.texi (Communication Coding):
2585         * doc/lispref/display.texi (Active Display Table):
2586         * doc/lispref/nonascii.texi (Locales):
2587         * etc/NEWS:
2588         * src/coding.c (syms_of_coding):
2589         * src/dispnew.c (syms_of_display):
2590         Document this.
2591         * src/print.c: Include disptab.h.
2592         (printchar_to_stream): New function, with much of the guts of the
2593         old Fexternal_debugging_output, except this one also uses the
2594         standard display table.
2595         (printchar, strout, Fexternal_debugging_output): Use it.
2597 2015-05-31  Glenn Morris  <rgm@gnu.org>
2599         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
2601 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
2603         Remove unused DEFSYMs
2604         Remove DEFSYMs that aren't used at the C level.  Also:
2605         * src/decompress.c (Qzlib_dll):
2606         * src/font.c (Qunicode_sip):
2607         * src/frame.c (Qtip_frame):
2608         * src/ftfont.c (Qserif):
2609         * src/gnutls.c (Qgnutls_dll):
2610         * src/xml.c (Qlibxml2_dll):
2611         Move from here ...
2612         * src/w32fns.c (syms_of_w32fns): ... to here,
2613         as these are used only on MS-Windows.
2615 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
2617         Use another default value for tramp-histfile-override
2618         * lisp/net/tramp-sh.el (tramp-histfile-override):
2619         Use ".tramp_history" as default.
2620         Fixes: debbugs:#20446
2622 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
2624         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
2626 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
2628         * etc/NEWS: Add an entry about map.el
2630         Improve the docstring of functions in map.el
2631         Since a map is not a data structure but a concept, adding information
2632         about the possible types of maps can be useful information.
2633         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
2634         each public function.
2636 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
2638         Faster implementation of map-empty-p
2639         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
2640         specific tests depending on the type of the map.
2642         * lisp/emacs-lisp/map.el: Better docstrings.
2644 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
2646         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda
2648 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
2650         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
2652         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
2654         Fix a false negative in `map-elt' with alists and values being nil
2655         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
2656         found but its associated value is nil, do not return the default
2657         value.
2658         * test/automated/map-tests.el: Add a regression test.
2660 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
2662         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
2664         Do not signal an error when trying to delete a key from an array
2665         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
2666         the key is present to avoid signaling an error.
2667         * test/automated/map-tests.el: Add a test for deleting non-existing
2668         keys from maps.
2670         * lisp/emacs-lisp/map.el: Better docstring.
2672         Minor improvement in map-elt.
2673         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
2674         doing a lookup in arrays, but check the boundaries of the array
2675         instead.
2676         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
2677         and a negative integer as key.
2679 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
2681         * test/automated/map-tests.el: Refactoring of test methods.
2683         * test/automated/map-tests.el: Renamed from map-test.el.
2685 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
2687         * lisp/emacs-lisp/map.el (map-into): Better error message.
2689         * lisp/emacs-lisp/map.el: Removes byte-compilation warnings.
2691         Throw an error when converting a map into an unknown map type
2692         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid.
2693         * test/automated/map-test.el: Add a regression test.
2695         New library map.el similar to seq.el but for mapping data structures.
2696         * test/automated/map-test.el: New file.
2697         * lisp/emacs-lisp/map.el: New file.
2699 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
2701         Make sure there's no explicit tag name
2702         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
2703         there's no explicit tag name (bug#20629).
2705 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
2707         Remove format2
2708         * src/editfns.c, src/lisp.h (format2): Remove.
2709         It is more trouble than it's worth, now that we have CALLN.
2710         This is just a minor refactoring.
2711         * src/buffer.c (Fkill_buffer):
2712         * src/dbusbind.c (XD_OBJECT_TO_STRING):
2713         * src/fileio.c (barf_or_query_if_file_exists):
2714         Adjust to format2 going away.
2716         Don't misencode C-generated messages
2717         Also, be more consistent about calls to 'Fmessage' vs 'message'.
2718         * src/alloc.c (Fgc_status):
2719         Prefer AUTO_STRING to build_string for Fmessage call.
2720         * src/data.c (Fmake_variable_buffer_local)
2721         (Fmake_local_variable, Fmake_variable_frame_local):
2722         * src/doc.c (store_function_docstring):
2723         Use Fmessage, not message, since the argument can contain
2724         non-ASCII characters, and this can cause the resulting message
2725         to be incorrectly encoded for the current environment.
2726         * src/fns.c (maybe_resize_hash_table):
2727         * src/xselect.c (x_clipboard_manager_save_all):
2728         Use message, not Fmessage, since Fmessage's power isn't needed here.
2729         * src/process.c (Fmake_network_process): Reword message to avoid %s.
2730         * src/xdisp.c (vmessage): Document restrictions on message contents.
2731         (message_nolog) [false]: Remove unused code.
2733         Use \r rather than ^M in string literals
2734         This is less likely to cause problems on platforms that
2735         use CRLF (or CR!) termination for lines.
2737         Update .gitattributes to match current sources
2738         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
2739         * .gitattributes: Accommodate tests that insist on DOS format.
2740         Remove test/automated/data/decompress/foo-gzipped.
2741         Add etc/e/eterm-color.
2743 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
2745         Document 'face-ignored-fonts'
2746         * doc/emacs/mule.texi (Modifying Fontsets): Document
2747         face-ignored-fonts.  (Bug#20628)
2749         Add etags test for the new -Q option
2750         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
2751         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
2752         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
2753         test-case changes below.
2754         * test/etags/ETAGS.good_6: New file.
2755         * test/etags/cp-src/x.cc: New file.
2756         * test/etags/Makefile (CPSRC): Add x.cc.
2757         (check): Add one more test, for -Q.
2759 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
2761         Use list for the tags completion table, not obarray
2762         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
2763         list instead of an obarray
2764         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
2765         (tags-completion-table): Combine those lists.
2766         (tags-completion-table): Update the docstring.
2768 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
2770         Restore EOL format testing in etags
2771         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
2772         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
2773         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
2774         test-case changes below.
2775         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
2776         * test/etags/cp-src/c.C (B): Add back stray CR character.
2777         * test/etags/c-src/dostorture.c: Add back.
2778         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
2780 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
2782         Declare Emacs on MS-Windows to be DPI-aware
2783         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
2784         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
2785         This avoids Windows entering compatibility mode for Emacs,
2786         which causes fonts to look less nice.
2788 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
2790         Improve Tramp traces.
2791         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
2792         * lisp/net/tramp.el (tramp-debug-message): Use it.
2794 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
2796         backup-buffer minor reworking of internals
2797         * lisp/files.el (backup-buffer): Rework to avoid a couple of
2798         unused locals inadvertently introduced in the previous change.
2800         backup-buffer now reports .emacs.d/%backup% ills
2801         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
2802         fails due to disk space exhaustion or whatever, do not pretend
2803         that it succeeded.  More generally, do a better job of checking
2804         for I/O failures, and limit the scope of the condition-case to
2805         just the operations where file errors should be caught and ignored
2806         (Bug#20595).  Also, don't bother trying to delete later backups if
2807         an earlier deletion fails, as this is a sign of trouble and it's
2808         better to stop when there's trouble.
2810         copy-file now truncates output after writing
2811         * src/fileio.c (Fcopy_file): Truncate output after writing rather
2812         than before.  This is more likely to work than truncation before
2813         writing, if the file system is out of space or the user is over
2814         disk quota (Bug#20595).  Also, check for read errors.
2816 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
2818         * lisp/emacs-lisp/package.el: Don't load from parent dir
2819         (package-load-all-descriptors): Don't load descriptors from
2820         directories above the package directories.
2822 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2824         Merge from gnulib
2825         This incorporates the following (Bug#20681):
2826         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
2827         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
2828         * lib/set-permissions.c: Copy from gnulib.
2830 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
2832         Improve Tramp traces.
2833         * lisp/net/tramp.el (tramp-call-process-region): New defun.
2834         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
2836 2015-05-29  Glenn Morris  <rgm@gnu.org>
2838         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
2840 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
2842         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
2843         The signature was changed in the cairo branch, merged on 2015-05-23.
2844         This oversight broke compiling only the non-toolkit X version.
2846 2015-05-29  Samer Masterson  <samer@samertm.com>
2848         * doc/lispref/os.texi: Update initial-buffer-choice docs.
2850 2015-05-29  Glenn Morris  <rgm@gnu.org>
2852         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
2853         Mark as an expected failure.
2855 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
2857         Change package test to look for curved quotes
2858         * test/automated/package-test.el (package-test-describe-package)
2859         (package-test-signed): Search for curved single quotes as well as
2860         for grave accent and apostrophe.
2862 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
2864         gnus-art.el: Re-revert last change
2865         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
2866         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
2868 2015-05-28  Samer Masterson  <samer@samertm.com>
2870         Show files when `initial-buffer-choice' is non-nil
2871         * startup.el (command-line-1): When Emacs is given a file as an
2872         argument and `initial-buffer-choice' is non-nil, display both the file
2873         and `initial-buffer-choice'.  For more than one file, show
2874         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
2875         commands out of the command line arg parser.
2876         (initial-buffer-choice): Clarify docstring.
2878 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
2880         Fix last commit
2881         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
2882         (gnulib module qcopy-acl): Add back, as it is harmless.  This
2883         minimizes differences wrt lib/gnulib.mk.
2885         Fix the MS-Windows build as followup to gnulib update
2886         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
2887         set-permissions.c, as they don't compile on MinGW.
2888         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
2890 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
2892         Revert my change to gnus-art.el
2893         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
2894         It wasn't that important, and it caused a Gnus build to fail.  See:
2895         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
2897         New minor mode Electric Quote
2898         This lets you easily insert quotes ‘like this’ by typing
2899         quotes `like this', and similarly you can easily insert
2900         quotes “like this” by typing quotes ``like this'' (Bug#20545).
2901         * doc/emacs/basic.texi (Inserting Text):
2902         * doc/emacs/modes.texi (Minor Modes):
2903         * etc/NEWS: Document it.
2904         * doc/emacs/text.texi (Quotation Marks): New section.
2905         * lisp/electric.el (electric-quote-comment)
2906         (electric-quote-string, electric-quote-paragraph):
2907         New custom vars.
2908         (electric--insertable-p)
2909         (electric-quote-post-self-insert-function): New functions.
2910         (electric-quote-mode, electric-quote-local-mode): New minor modes.
2911         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2912         Add curved single quotes to electric-pair-text-pairs.
2913         Set electric-quote-string in this buffer.
2915         A few more doc string fixes (Bug#20385)
2917         Accept curved quotes in doc strings
2918         * lisp/info-look.el (info-lookup-guess-custom-symbol):
2919         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
2921         Generate curved quotes in pseudo-info nodes
2922         * lisp/info.el (Info-virtual-index-find-node)
2923         (Info-virtual-index, Info-apropos-find-node, info-apropos):
2924         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
2926         Fix minor quoting problems in doc strings
2927         Most of these fixes involve escaping grave accents that are
2928         actually intended to be grave accents, not left quotes.
2929         (Bug#20385)
2931         Support curved quotes in doc strings
2932         Emacs's traditional doc string style has been to quote symbols
2933         `like this'.  This worked well on now-obsolete terminals where
2934         ` and ' were symmetric quotes, but nowadays curved quotes
2935         ‘like this’ look better.  Support quoting the new way too.
2936         (Bug#20385)
2937         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
2938         ‘like-this’ as well as `like-this'.
2939         * etc/NEWS: Mention this.
2940         * lisp/cedet/mode-local.el (overload-docstring-extension)
2941         (mode-local-print-binding, mode-local-describe-bindings-2):
2942         * lisp/cus-theme.el (describe-theme-1):
2943         * lisp/descr-text.el (describe-text-properties-1, describe-char):
2944         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
2945         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
2946         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
2947         (eieio-help-constructor):
2948         * lisp/emacs-lisp/package.el (describe-package-1):
2949         * lisp/faces.el (describe-face):
2950         * lisp/help-fns.el (help-fns--key-bindings)
2951         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
2952         (help-fns--interactive-only, describe-function-1):
2953         (describe-variable):
2954         * lisp/help.el (describe-mode):
2955         * lisp/international/mule-cmds.el (describe-input-method)
2956         (describe-language-environment):
2957         * lisp/international/mule-diag.el (describe-character-set)
2958         (print-coding-system-briefly, list-input-methods)
2959         (list-input-methods-1):
2960         Insert curved quotes rather than grave accent and apostrophe.
2961         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
2962         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
2963         (checkdoc-proper-noun-region-engine):
2964         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
2965         (lisp-cl-font-lock-keywords-2):
2966         * lisp/finder.el (finder-font-lock-keywords):
2967         * lisp/gnus/gnus-art.el (gnus-button-alist):
2968         * lisp/help-fns.el (help-do-arg-highlight)
2969         (describe-function-1, describe-variable):
2970         * lisp/help-mode.el (help-xref-symbol-regexp)
2971         (help-xref-info-regexp, help-xref-url-regexp):
2972         * lisp/help.el (describe-mode):
2973         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
2974         * lisp/wid-edit.el (widget-documentation-link-regexp):
2975         Parse symbols quoted ‘like-this’ as well as `like-this'.
2976         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
2977         Add "‘" and "’" to electric-pair-text-pairs.
2978         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
2979         (elisp-completion-at-point, elisp--preceding-sexp):
2980         Also treat "‘" and "’" as quoting chars.
2982         substitute-command-keys now curves quotes
2983         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
2984         * doc/lispref/help.texi (Keys in Documentation):
2985         * etc/NEWS: Document this.
2986         * src/doc.c (Fsubstitute_command_keys): Implement it.
2988 2015-05-28  Glenn Morris  <rgm@gnu.org>
2990         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
2991         (rmail-summary-by-topic, rmail-summary-by-senders):
2992         No longer strip leading/trailing whitespace.
2994         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
2995         (f90-no-block-limit): Add "enum".  (Bug#20680)
2996         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
2997         New tests.
2999 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3001         * lisp/isearch.el (isearch--current-buffer): Give a default value.
3003         Un-revert changes mistakenly dropped by f9fabb2b
3005 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3007         Merge from gnulib
3008         This incorporates:
3009         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
3010         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
3011         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
3012         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
3013         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
3014         2015-05-26 stdio: fix probe on mingw under gcc 5.1
3015         * admin/merge-gnulib (GNULIB_MODULES):
3016         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
3017         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
3018         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
3019         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
3020         Get latest versions from gnulib.
3021         * lib/get-permissions.c, lib/set-permissions.c: New files.
3022         * lib/gnulib.mk, m4/gnulib-comp.m4:
3023         Regenerate.
3024         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
3026 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
3028         Delete the old process in vc-setup-buffer
3029         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
3030         process here.
3031         (vc-do-command): Rather than here (bug#20608).
3033 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
3035         Avoid gratuitous delete-dups in face-at-point.
3036         * lisp/faces.el (face-at-point): Do not compute the properly
3037         ordered, duplicate-free list if only a single value is
3038         requested anyway.  (Bug#20519)
3040         Show the exact C-x 8 RET invocation in describe-char.
3041         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
3042         invocation instead of a template.  (Bug#20522)
3044 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
3046         * lisp/emacs-lisp/package.el: Don't erase tags on refresh
3047         (package-menu--post-refresh): Call `tabulated-list-print' with the
3048         UPDATE argument.  This only affects the refresh action, the revert
3049         action still erases tags.
3050         (package-menu-get-status): Change `assq' to `assoc'.
3051         (package-menu--mark-upgrades-1): New function.
3052         (package-menu--mark-upgrades-pending): New variable.
3053         (package-menu-mark-upgrades): Use them to delay marking until
3054         after refresh is done.
3055         (package-menu--post-refresh): Call mark-upgrades-1 if
3056         mark-upgrades-pending is non-nil.
3058 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3060         Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b
3062 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
3064         * lisp/isearch.el (isearch--current-buffer): New var
3065         (isearch-update): Set cursor-sensor-inhibit here.
3066         (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532).
3068         Change inhibit-point-motion-hooks to t
3069         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
3070         to t and document it as obsolete.
3072 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
3074         Support ZIP files that use Zip64 extensions
3075         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
3076         format of central directory offsets used by Zip64 extensions.
3077         (Bug#20665)
3079 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
3081         New test tramp-test30-make-auto-save-file-name
3082         * tramp-tests.el (tramp-test30-make-auto-save-file-name): New test.
3083         (tramp-test31-special-characters)
3084         (tramp-test31-special-characters-with-stat)
3085         (tramp-test31-special-characters-with-perl)
3086         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
3087         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
3088         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
3089         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
3091         Improve tramp-handle-make-auto-save-file-name
3092         * tramp.el (tramp-auto-save-directory): Add :tags.
3093         (tramp-handle-make-auto-save-file-name): Let native
3094         `make-auto-save-file-name' use `auto-save-file-name-transforms',
3095         if `tramp-auto-save-directory' is not set.
3097 2015-05-27  Glenn Morris  <rgm@gnu.org>
3099         No longer set dired-directory in eshell.  (Bug#16477)
3100         * lisp/eshell/esh-mode.el (eshell-mode):
3101         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
3103         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
3105         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
3106         * lisp/progmodes/cc-mode.el (c-mode-help-address):
3107         Change to submit@debbugs.
3108         (c-mode-bug-package): New constant.
3109         (mail-position-on-field): Declare.
3110         (c-submit-bug-report): Insert X-Debbugs-Package header.
3111         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
3112         Mention debbugs.gnu.org.
3114 2015-05-26  Glenn Morris  <rgm@gnu.org>
3116         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
3117         (rmail-summary-by-recipients, rmail-summary-by-topic)
3118         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
3119         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
3121 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3123         Handle curved quotes in info files
3124         * lisp/calc/calc-help.el (calc-describe-thing):
3125         * lisp/info.el (Info-find-index-name)
3126         (Info-try-follow-nearest-node, Info-fontify-node):
3127         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
3128         In info files, process quotes ‘like this’ the same way we process
3129         quotes `like this'.  This catches a few places we missed earlier.
3131 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
3133         xref-prompt-for-identifier: Use a list value
3134         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
3135         value, to be interpreted as a list of commands.
3136         (xref--prompt-p): New function.
3137         (xref--read-identifier): Use it.
3139 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
3141         Teach MS-Windows font back-end return per-glyph ascent/descent
3142         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
3143         values.
3144         * src/w32font.c (w32font_text_extents): Compute, cache, and
3145         accumulate per-glyph ascent and descent values, instead of copying
3146         global values from the font.  If the values are not available from
3147         the font data, i.e., non-TTF fonts, fall back on font-global values.
3148         (compute_metrics): Compute and return per-glyph ascent and descent
3149         values, if returned by GetGlyphOutlineW, falling back on
3150         font-global values.  (Bug#20628)
3151         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
3152         height of rectangle to be drawn, to be compatible with
3153         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
3154         box, when per-glyph ascent/descent values are used.
3156 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
3158         * lisp/emacs-lisp/tabulated-list.el: Don't sort without sorter
3159         (tabulated-list-print): Don't sort if sorter is nil
3161 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
3163         Fix Bug#20621
3164         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
3165         are major modes which set `auto-save-mode' on their own rules;
3166         Tramp shall not overwrite such settings.
3167         (Bug#20621)
3169 2015-05-26  Glenn Morris  <rgm@gnu.org>
3171         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
3172         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
3173         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
3174         Doc updates.
3175         (vc-dir-mode): Remove unnecessary autoload.
3177 2015-05-25  Philipp Stephani  <phst@google.com>
3179         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52
3180         (xterm--extra-capabilities-type): Add `getSelection'.
3181         (xterm--query): Add `no-async' argument.
3182         (xterm--init-activate-get-selection): New function.
3183         (terminal-init-xterm): Use it.
3184         (xterm--init-modify-other-keys): Rename from
3185         terminal-init-xterm-modify-other-keys.
3186         (xterm--init-bracketed-paste-mode): Rename from
3187         terminal-init-xterm-bracketed-paste-mode.
3188         (xterm--init-activate-set-selection): Rename from
3189         terminal-init-xterm-activate-set-selection.
3190         (xterm--selection-char): New function.
3191         (gui-backend-set-selection): Use it.  Use the &context to only apply
3192         this method in terminals where we enabled the feature.
3193         (gui-backend-get-selection): New method.
3195 2015-05-25  Daniel Colascione  <dancol@dancol.org>
3197         Add C-language keyword constants to C++
3198         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
3199         keyword constants to C++.
3201 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
3203         Make TAGS files more portable to MS-Windows
3204         * etc/NEWS: Document this.
3205         * lib-src/etags.c (readline_internal) [DOS_NT]:
3206         Don't treat CRs differently from GNUish hosts.
3207         * lisp/progmodes/etags.el (etags-goto-tag-location):
3208         Adjust STARTPOS to account for the skipped CRs in dos-style files.
3210 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3212         Improve fix of debbugs:20634 in tramp-sh.el
3214 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
3216         Fix a typo in last commit
3217         * lib-src/etags.c (C_entries): Fix a typo.
3218         * test/etags/ETAGS.good_1:
3219         * test/etags/ETAGS.good_2:
3220         * test/etags/ETAGS.good_3:
3221         * test/etags/ETAGS.good_4:
3222         * test/etags/ETAGS.good_5:
3223         * test/etags/CTAGS.good: Update due to the change in etags.c.
3225         Fix tagging of class members in C-like OO languages
3226         * lib-src/etags.c (longopts): Add new option --class-qualify and
3227         its shorthand -Q.
3228         (print_help): Add help text for --class-qualify.
3229         (main): Add handling of -Q.
3230         (consider_token, C_entries) <omethodparm>: Append argument types
3231         to Objective C methods only if --class-qualify was specified.
3232         Qualify C++, Objective C, and Java class members with their class
3233         names only if --class-qualify was specified.
3234         (C_entries): If --class-qualify was not specified, remove the
3235         namespace and class qualifiers from tag names of C++ methods.
3236         This allows to use etags.el as xref back-end without the
3237         tag-symbol-match-p method, which greatly increases the number of
3238         potentially false positives.  (Bug#20629)
3239         * doc/man/etags.1: Update to document the new --class-qualify
3240         option.
3241         * test/etags/ETAGS.good_1:
3242         * test/etags/ETAGS.good_2:
3243         * test/etags/ETAGS.good_3:
3244         * test/etags/ETAGS.good_4:
3245         * test/etags/ETAGS.good_5:
3246         * test/etags/CTAGS.good: Update due to changes in etags.c.
3248 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3250         (cl-generic-define-method): Side effects are evil (bug#20644)
3251         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
3252         cons-cells that might be used as keys in an `equal' hash-table.
3254 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
3256         Make erc timestamps visible again
3257         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make
3258         timestamps visible again (if requested).
3260 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
3262         Fix last change in etags.c that broke tagging compresed files
3263         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
3264         quoting of decompression shell command for MS-Windows/MS-DOS.
3266 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3268         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist
3269         (Bug#20639)
3271 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3273         Fix typo in 89035e247591c8d688fce922b7079881aa110f33
3275 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
3277         Fix IPv6 addresses in Tramp
3278         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
3279         Add sqare brackets around host name.
3281 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
3283         Inhibit `epa-file-handler' in Tramp
3284         (Bug#20634)
3285         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
3286         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
3287         `epa-file-handler'.
3289 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3291         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring
3292         (pcase-let): Document the behavior in case the pattern doesn't match.
3294 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
3296         * lisp/emacs-lisp/tabulated-list.el: New optional print method
3297         (tabulated-list-print): New optional argument, UPDATE.  If
3298         non-nil, the list is printed by only adding and deleting the
3299         changed entries, instead of erasing the whole buffer.  This method
3300         is much faster when few or no entries have changed.
3301         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
3302         * etc/NEWS: Document it.
3304         * lisp/emacs-lisp/tabulated-list.el: Improve printing
3305         (tabulated-list--get-sorter): New function.
3306         (tabulated-list-print): Restore window-line when remember-pos is
3307         passed and optimize away the `nreverse'.
3309 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
3311         Simpilify etags TEX mode scanning
3312         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
3313         Remove static vars.
3314         (TeX_commands): Deduce escapes here instead.
3315         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
3316         This removes the need for a reset_input call.
3318         Improve etags I/O error reporting
3319         * lib-src/etags.c:
3320         Don't include sys/types.h and sys/stat.h; no longer needed.
3321         (infilename): New static var.
3322         (process_file_name): Don't call 'stat'.  Instead, just open the
3323         file for reading and report any errors.  Don't bother making
3324         a copy of the file argument; it's not needed.  Be more careful to
3325         use the failing errno when reporting an error.
3326         Quote the real name better (though no perfectly)
3327         when passing it to the shell.
3328         (reset_input): New function, which reports I/O errors.
3329         All uses of 'rewind' changed to use this function.
3330         (perhaps_more_input): New function, which also checks for
3331         I/O errors.  All uses of 'feof' changed to use this function.
3332         (analyze_regex): Report an error if fclose fails.
3333         (readline_internal): Report an error if getc fails.
3334         (etags_mktmp): Return an error if close fails.
3336         etags.c: avoid side effects in 'if'
3337         * lib-src/etags.c (process_file_name, Perl_functions)
3338         (TEX_decode_env): Hoist side effects into previous statement.
3340         .gitignore tweaks
3341         * .gitignore: Ignore all *.stamp files.  Sort.
3342         Ignore [0-9]*.txt (commonly used name for git patches)
3343         and /vc-dwim-log-* (vc-dwim temporary).
3345 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
3347         Fix last change in etags.c, which failed the test suite
3348         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
3349         before the last change.
3351 2015-05-23  Glenn Morris  <rgm@gnu.org>
3353         Remove charset map files from repository, generate in first bootstrap
3354         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
3355         (all): Create the stamp file.
3356         (extraclean): Delete the stamp file.
3357         * src/Makefile.in (lispintdir, charsets): New variables.
3358         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
3359         New rules.
3360         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
3361         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
3362         * etc/charsets/*.map: Remove from repository.
3364 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3366         Cleanup etags.c to use locale-independent code
3367         Although this doesn't alter behavior (as etags doesn't use
3368         setlocale), the new version is more clearly locale-independent and
3369         the executable is a bit smaller on my platform.
3370         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
3371         Include <c-ctype.h> instead of <ctype.h>.
3372         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
3373         (begtk, midtk):
3374         Remove; no longer needed.
3375         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
3376         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
3377         c_islower, c_tolower, respectively.
3378         (notinname, begtoken, intoken, endtoken): Rewrite as functions
3379         instead of macros, and initialize the tables at compile-time
3380         rather than at run-time.
3382         Put default action first in src/Makefile
3383         * src/Makefile.in (all): Put this rule before lisp.mk.
3384         That way, plain 'make' works in the src directory again.
3386 2015-05-23  Glenn Morris  <rgm@gnu.org>
3388         * Makefile.in: Fix extraclean rule.
3389         (extraclean_dirs): New.
3390         (extraclean): Use it.
3392 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3394         Avoid compiler warning in image.c on MS-Windows
3395         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
3396         warning in image.c.
3398 2015-05-23  Glenn Morris  <rgm@gnu.org>
3400         Fix --without-toolkit-scroll-bars builds.
3401         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
3402         Add new argument to x_clear_area1.
3403         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3404         Update x_clear_area arguments.
3406         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
3407         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
3408         Change to included version.
3409         (LOCAL, local, totalclean): Remove.
3410         (extraclean): Delete all generated files.
3412 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3414         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists.
3416         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
3418         tags-completion-at-point-function: Don't trust the find-tag function
3419         * lisp/progmodes/etags.el (tags-completion-at-point-function):
3420         Don't trust the find-tag function.
3422 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3424         Pacify --enable-gcc-warnings
3425         * src/frame.h (x_query_color): Remove redundant extern decl.
3426         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
3427         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
3428         (ftcrfont_text_extents, ftcrfont_draw):
3429         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
3430         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
3431         (x_ins_del_lines, frame_highlight, frame_unhighlight)
3432         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
3433         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
3434         (x_update_window_begin, x_connection_closed)
3435         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
3436         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
3437         (*x_gc_get_ext_data, x_extension_initialize)
3438         (x_cr_accumulate_data):
3439         Remove redundant static decl.  Many of these GCC doesn't complain
3440         about, but we might as well clean out the duplication while we're
3441         in the neighborhood.
3442         * src/xterm.c (x_fill_trapezoid_for_relief):
3443         Remove decl of nonexistent function.
3445 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3447         Replace gui-method macros with cl-generic with &context
3448         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
3449         (gui-method-declare, gui-call): Remove.
3450         (frame-creation-function): Use cl-defgeneric.
3451         (make-frame): Adjust callers.
3452         * lisp/menu-bar.el (menu-bar-edit-menu):
3453         Use gui-backend-selection-exists-p.
3454         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
3455         (gui-backend-get-selection): New cl-generic to replace
3456         gui-get-selection method.
3457         (gui-backend-set-selection): New cl-generic to replace
3458         gui-set-selection method.
3459         (gui-selection-owner-p): New cl-generic to replace
3460         gui-selection-owner-p method.
3461         (gui-backend-selection-exists-p): New cl-generic to replace
3462         gui-selection-exists-p method.  Adjust all callers.
3463         * lisp/server.el (server-create-window-system-frame): Don't ignore
3464         window-system spec even when unsupported.
3465         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
3466         * lisp/startup.el (handle-args-function, window-system-initialization):
3467         Use cl-defgeneric.
3468         (command-line): Adjust calls accordingly.
3469         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
3470         a window-system-initialization method.
3471         (handle-args-function, frame-creation-function): Use cl-defmethod.
3472         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3473         (gui-get-selection): Use cl-defmethod on the new functions instead.
3474         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
3475         a gui-backend-get-selection method.
3476         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
3477         Use cl-defmethod on the new functions instead.
3478         (msdos-window-system-initialization): Turn into
3479         a window-system-initialization method.
3480         (frame-creation-function, handle-args-function): Use cl-defmethod.
3481         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
3482         a window-system-initialization method.
3483         (handle-args-function, frame-creation-function): Use cl-defmethod.
3484         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3485         (gui-get-selection): Use cl-defmethod on the new functions instead.
3486         * lisp/term/x-win.el (x-window-system-initialization): Turn into
3487         a window-system-initialization method.
3488         (handle-args-function, frame-creation-function): Use cl-defmethod.
3489         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
3490         (gui-get-selection): Use cl-defmethod on the new functions instead.
3491         * lisp/term/xterm.el (xterm--set-selection): Turn into
3492         a gui-backend-set-selection method.
3493         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
3494         (Fns_selection_owner_p): Remove unused arg `terminal'.
3495         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
3497 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3499         Revert "Fix etags Bug#20629 that broke C++ support."
3500         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
3502 2015-05-23  Jan D  <jan.h.d@swipnet.se>
3504         Fix etags Bug#20629 that broke C++ support.
3505         * etags.el (etags-xref-find-definitions-tag-order): Revert commit
3506         from Sun May 10 (Bug#20629).
3508         Merge branch 'cairo'.
3509         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
3510         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
3512         Merge branch 'master' into cairo
3514         Fixes to compile cairo branch without cairo.
3515         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
3516         first argument.
3517         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
3518         USE_CAIRO.
3520 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
3522         * lisp/emacs-lisp/package.el: Always update selected-packages
3523         (package--update-selected-packages): New function.
3524         (package-menu-execute): Use it before starting the transaction,
3525         this way the list of selected packages is updated even when the
3526         transaction fails.
3527         (package-menu--perform-transaction): Don't edit selected-packages.
3529 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
3531         Fix etags reading of compressed files
3532         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
3533         Include fcntl.h, for O_CLOEXEC.
3534         (process_file_name): Don't use 'popen', whose streams cannot be
3535         rewound.  Instead, uncompress the file to a temporary file,
3536         created by 'etags_mktmp', and read from that as usual.
3537         (etags_mktmp): New function.
3538         * test/etags/ETAGS.good_1:
3539         * test/etags/ETAGS.good_2:
3540         * test/etags/ETAGS.good_3:
3541         * test/etags/ETAGS.good_4:
3542         * test/etags/ETAGS.good_5: Update to be consistent with latest
3543         changes in etags.c regarding reading compressed files.
3545         Improve documentation of 'set-fontset-font'
3546         * doc/lispref/display.texi (Fontsets): Document the value of nil
3547         for the 3rd argument of 'set-fontset-font'.
3549         Fix documentation of forward-line
3550         * src/cmds.c (Fforward_line): Clarify the return value if the line
3551         at end of accessible portion of the buffer has no newline.
3552         * doc/lispref/positions.texi (Text Lines): Document what happens
3553         if the line at end of accessible portion of buffer has no newline.
3554         (Bug#20587)
3556 2015-05-22  Glenn Morris  <rgm@gnu.org>
3558         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
3560         * admin/charsets/mapconv (LC_ALL): Set to C.
3562         * Makefile.in: Add admin/charsets into top-level clean rules.
3563         (clean): Add admin/charsets.
3564         (maybeclean_dirs): New variable.
3565         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
3567         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
3569 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
3571         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc
3573 2015-05-22  Glenn Morris  <rgm@gnu.org>
3575         Generate admin/charsets Makefile via configure, and make more portable.
3576         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
3577         (admin/charsets/Makefile): Generate it.
3578         * admin/charsets/Makefile.in: Rename from Makefile.
3579         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
3580         New variables, set by configure.
3581         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
3582         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
3583         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
3584         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
3585         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
3586         (all): Declare PHONY.
3587         (local): New PHONY target.
3588         (map_template): New template.  Use to define short PHONY aliases.
3589         (*.map): Add directory prefixes to targets and prerequisites.
3590         Respect make verbosity.
3591         (JISC6226.map): Replace non-portable sed append without newline.
3592         (install): Remove rule.
3593         (clean): Only delete temporary sedscript.
3594         (bootstrap-clean, distclean, maintainer-clean, extraclean)
3595         (totalclean): New PHONY rules.
3596         * admin/charsets/mapconv (BASE): Replace basename with expr.
3597         (FILE): Add "mapfiles" subdirectory.
3598         (AWK): New variable.  Use throughout in place of "awk".
3599         (main): Use "gunzip -c" in place of "zcat".
3600         Don't leave whitespace before "p", for older sed.
3601         * admin/charsets/mapfiles/PTCP154: Add final newline,
3602         to make older sed versions happy.
3604 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
3606         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
3607         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
3608         (auto-revert-notify-watch-descriptor): Use defvar-local.
3609         (find-file-hook, auto-revert-tail-mode, )
3610         (auto-revert-notify-add-watch): Use setq-local.
3611         (auto-revert-notify-add-watch): Don't call make-local-variable on
3612         kill-buffer-hook (bug#20601).
3614 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3616         Change defgeneric so it doesn't completely redefine the function
3617         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
3618         previously defined methods.
3619         (cl-generic-define-method): Let-bind purify-flag instead of using `fset'.
3620         (cl--generic-prefill-dispatchers): Only define during compilation.
3621         (cl-method-qualifiers): Remove redundant alias.
3622         (help-fns-short-filename): Silence byte-compiler.
3623         * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics.
3625 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
3627         (package-menu-execute): Remove reference to remove-dups
3629 2015-05-21  kwhite  <kwhite@gnu.org>
3631         * lisp/erc/erc.el: Hide network/channel messages
3632         (erc-network-hide-list, etc-channel-hide-list): New lists to define
3633         message types per network/channel.
3634         (erc-add-targets): New function to parse list of targets
3635         (erc-hide-current-message-p): Modified to check for new targets
3637 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3639         Don't quote nil and t in doc strings
3640         This is as per "Tips for Documentation Strings" in the elisp manual.
3641         For consistency, do the same in diagnostics and comments.
3643 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
3645         Fix a minor problem with mouse-face on mode line
3646         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
3647         mouse face also if the mouse pointer hovers above mode-line glyphs
3648         that don't come from any Lisp string.  (Bug#20620)
3650 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
3652         * lisp/emacs-lisp/package.el: Fix selected-package logic
3653         (package-menu-execute): Mark as selected all non-upgrade packages
3654         being installed.
3655         (package-menu--perform-transaction): Don't mark anything.
3657         * lisp/emacs-lisp/package.el: Mode-line progress report
3658         (package-menu--transaction-status): New variable.
3659         (package-menu-mode, package-menu--perform-transaction): Use it.
3661         * lisp/emacs-lisp/package.el: Better transaction messages
3662         (package-menu--partition-transaction): New function.
3663         (package-menu--prompt-transaction-p, package-menu-execute): Use
3664         it.
3665         (package-menu--perform-transaction): Don't do any messaging.
3667         * lisp/emacs-lisp/package.el: Revert async package transactions
3668         (package-menu-async): Update doc.
3669         (package-install-from-archive, package-download-transaction)
3670         (package-install, package-menu--perform-transaction)
3671         (package-menu-execute): Remove asynchronous functionality.
3673 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
3675         Revert doc string changes to f90.el
3676         Problem reported by Glenn Morris in:
3677         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
3678         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
3679         Revert recent changes to doc strings, as it's intended that they
3680         use grave accent, not quote.
3682 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
3684         Improve parameter name
3686         Add new inline function `hash-table-empty-p'
3688 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
3690         Don't require help-fns when not needed
3691         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
3692         * lisp/emacs-lisp/elint.el:
3693         Don't require help-fns at the top level.
3694         * lisp/emacs-lisp/advice.el (ad-arglist):
3695         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
3696         Don't require help-fns.  (Bug#17001)
3698 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
3700         Fix slash collapsing in etags on MS-Windows
3701         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
3702         MS-Windows code from the Posix code, and support collapsing both
3703         forward- and back-slashes on MS-Windows.  Fixes a regression found
3704         by the test suite.
3706         Improve documentation of glyphless-char-display
3707         * doc/lispref/display.texi (Glyphless Chars): Improve
3708         documentation of glyphless character display.
3710         Fix "acronym" display of glyphless characters on w32
3711         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
3712         ignore "acronym" substitutes of 1 character for glyphless characters.
3714 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
3716         Add an automated test for let-when-compile
3717         * test/automated/subr-tests.el (let-when-compile): New test.
3719         Add let-when-compile macro instead of using pcase-let
3720         * lisp/subr.el (let-when-compile): New let-like macro that makes its
3721         bindings known to macros like `eval-when-compile' in the body.
3722         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a
3723           `let-when-compile'. Also comment out the unused lexical var
3724           `el-kws-re'.
3725         The change greatly improves readability, while providing almost the
3726         same (even shorter) byte code: instead of pre-evaluating 10 variables,
3727         tossing them into a list, and destructuring that list a full screen
3728         page later, the variables are simply bound as they are evaluated,
3729         wrapped individually in `eval-when-compile'.
3731 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
3733         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer
3734         (package-delete-button-action): New function.
3735         (describe-package-1): Add Delete button.
3737         * lisp/emacs-lisp/package.el: Better dependency description
3738         (package--used-elsewhere-p): New optional arg, ALL, and return
3739         package-desc objects instead of names.
3740         (package-delete): Update accordingly.
3741         (describe-package-1): Describe which packages require the package.
3743 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
3745         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
3746         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
3747         Fix doc-string (Bug#20533).
3749         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
3750         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
3751         (switch-to-buffer): If the selected window is strongly dedicated
3752         to its buffer, signal error before prompting for buffer name.  Handle
3753         `switch-to-buffer-in-dedicated-window'.  (Bug#20472)
3754         * doc/lispref/windows.texi (Switching Buffers): Document
3755         `switch-to-buffer-in-dedicated-window'.
3757 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3759         Prefer "this" to “this” in doc strings
3760         This mostly just straightens quotes introduced in my previous patch.
3761         Suggested by Dmitry Gutov in:
3762         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
3763         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
3764         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
3765         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
3766         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
3767         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
3768         Prefer straight double quotes to curved double quotes in doc strings.
3770         Fix minor quoting problems in doc strings
3771         These were glitches regardless of how or whether we tackle the
3772         problem of grave accent in doc strings.
3773         * lisp/calc/calc-aent.el (math-restore-placeholders):
3774         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
3775         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
3776         * lisp/leim/quail/hebrew.el ("hebrew-new")
3777         ("hebrew-biblical-sil"):
3778         * lisp/leim/quail/thai.el ("thai-kesmanee"):
3779         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
3780         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
3781         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
3782         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
3783         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
3784         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
3785         (semantic-tag-components):
3786         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
3787         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
3788         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
3789         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
3790         * lisp/emacs-lisp/generator.el (iter-next):
3791         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
3792         (gnus-article-mode-syntax-table):
3793         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
3794         * lisp/net/soap-client.el (soap-wsdl-get):
3795         * lisp/net/telnet.el (telnet-mode):
3796         * lisp/org/org-compat.el (org-number-sequence):
3797         * lisp/org/org.el (org-remove-highlights-with-change)
3798         (org-structure-template-alist):
3799         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
3800         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
3801         (handwrite-12pt, handwrite-13pt):
3802         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
3803         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
3804         * lisp/progmodes/verilog-mode.el (verilog-tool)
3805         (verilog-string-replace-matches, verilog-preprocess)
3806         (verilog-auto-insert-lisp, verilog-auto-insert-last):
3807         * lisp/textmodes/makeinfo.el (makeinfo-options):
3808         * src/font.c (Ffont_spec):
3809         Fix minor quoting problems in doc strings, e.g., missing quote,
3810         ``x'' where `x' was meant, etc.
3811         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
3812         Fix minor quoting problem in other string.
3813         * lisp/leim/quail/ethiopic.el ("ethiopic"):
3814         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
3815         Omit unnecessary quotes.
3816         * lisp/faces.el (set-face-attribute, set-face-underline)
3817         (set-face-inverse-video, x-create-frame-with-faces):
3818         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
3819         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
3820         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
3821         * lisp/net/tramp.el (tramp-methods):
3822         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
3823         * lisp/textmodes/artist.el (artist-ellipse-right-char)
3824         (artist-ellipse-left-char, artist-vaporize-fuzziness)
3825         (artist-spray-chars, artist-mode, artist-replace-string)
3826         (artist-put-pixel, artist-text-see-thru):
3827         * lisp/vc/ediff-util.el (ediff-submit-report):
3828         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
3829         Use double-quotes rather than TeX markup in doc strings.
3830         * lisp/skeleton.el (skeleton-pair-insert-maybe):
3831         Reword to avoid the need for grave accent and apostrophe.
3832         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
3833         Don't use grave and acute accents to quote.
3835 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
3837         * emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler
3839 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
3841         Try to port new etags tests to MS-Windows
3842         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
3843         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
3844         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
3845         Adjust to test-case changes below.
3846         * test/etags/Makefile (CSRC): Remove dostorture.c.
3847         Whatever it was trying to test, wasn't working portably.
3848         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
3849         just a line-ending problem.
3850         * test/etags/c-src/dostorture.c: Remove.
3851         * test/etags/cp-src/c.C: Remove stray CR.
3852         * test/etags/html-src/algrthms.html: Remove trailing CRs.
3853         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
3854         but if someone edits it later it should stay UTF-8-compatible.
3856 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
3858         Fix display of overlapping window-specific overlays
3859         * src/keyboard.c (adjust_point_for_property): When adjusting point
3860         due to display strings, ignore overlays that are specific to
3861         windows other than the currently selected one.
3862         * src/xdisp.c (handle_single_display_spec): If the display
3863         property comes from an overlay, arrange for buffer iteration to
3864         resume only after the end of that overlay.  (Bug#20607)
3866 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
3868         New command icomplete-force-complete-and-exit
3869         * lisp/icomplete.el (icomplete-force-complete-and-exit):
3870         New command
3871         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
3872         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
3873         (icomplete-minibuffer-map): Bind C-j to it.
3874         (icomplete-forward-completions, icomplete-backward-completions):
3875         Mention the new command in the docstring.
3876         * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert
3877         the previous fix for bug#17545.
3879 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
3881         Fix last commit
3883         In Elisp manual explain how to override window manager positioning (Bug#20552)
3884         * doc/lispref/frames.texi (Position Parameters): Give example of
3885         how to override a window manager positioning decision.
3887         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
3888         * src/frame.c (Fdelete_frame): In doc-string mention that frame
3889         can't be deleted if it has a surrogate minibuffer.
3890         * doc/lispref/frames.texi (Minibuffers and Frames)
3891         (Deleting Frames): Explain "surrogate minibuffer frames".
3893         In w32heap.c bump DUMPED_HEAP_SIZE to 19/12 MB
3894         * emacs-git/quick/src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
3896 2015-05-18  Glenn Morris  <rgm@gnu.org>
3898         Add option to ignore commit lines matching a pattern in ChangeLog.
3899         * build-aux/gitlog-to-changelog: Add --ignore-line option.
3900         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
3902 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3904         Don't skip new etags tests on non-UTF-8 hosts
3905         Problem reported by Eli Zaretskii for MS-Windows.
3906         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
3907         (LC_ALL): Set to C if the current locale isn't UTF-8.
3908         (.PHONY): Remove ediff_1 thru ediff_5.
3909         (check): Always run.
3911 2015-05-18  Glenn Morris  <rgm@gnu.org>
3913         * lisp/calculator.el (calculator-funcall):
3914         * lisp/textmodes/artist.el (artist-spray-random-points):
3915         Use standard degree/radian conversion utilities.
3917         Further lisp-complete-symbol related cleanup.
3918         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
3919         Unadvertise non-functional argument.  Replace obsolete alias.
3921 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
3923         Add a test case for Maven warning ouput
3924         * test/automated/compile-tests.el
3925         (compile-tests--test-regexps-data): Add a case for Maven warning
3926         ouput.
3927         (compile--test-error-line): Check the compilation message type, if
3928         it's specified in the test data.
3930 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
3932         Update Maven compilation-mode entry to distinguish warnings
3933         * lisp/progmodes/compile.el
3934         (compilation-error-regexp-alist-alist): Update Maven entry to
3935         distinguish warnings (bug#20556).
3937 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
3939         * test/automated/sgml-mode-tests.el: New file.
3941 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
3943         Improve handling of the first Git revision
3944         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
3945         there's no next entry, delete until the end of the buffer.
3946         (log-view-end-of-defun-1): Stop at eob.
3947         * lisp/vc/vc-annotate.el
3948         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
3949         when previous-revision is nil.
3950         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
3951         with `--' to avoid ambiguity.
3952         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
3953         returned revision string.
3954         (vc-git-annotate-time): Expect `^' before the first revision.
3955         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
3956         REV1 is nil, and REV2 is not.
3957         * lisp/vc/vc.el: Update the description of the `diff' function.
3959 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
3961         Allow checkdoc to be called in batch
3962         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
3963           is non-nil, echo the error with `warn'.
3964         How it can be used in -batch:
3965         (with-current-buffer (find-file "checkdoc.el")
3966           (checkdoc-current-buffer t))
3968 2015-05-18  Glenn Morris  <rgm@gnu.org>
3970         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
3972 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
3974         * admin/notes/unicode: New section "binary files".
3976         Change new etags test to use UTF-8 encoding
3977         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
3978         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
3979         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
3980         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
3981         * test/etags/html-src/softwarelibero.html:
3982         Switch to UTF-8 encoding.
3983         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
3984         Remove Makefile, as it's too incestuous to have the test input
3985         include the build procedure.
3986         (UTF8_LOCALE, UTF_ENCODING): New macros.
3987         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
3988         (check): Skip if not UTF-8.
3989         (.PHONY): New rule.
3990         (FRC): Remove, as superseded by .PHONY.  All uses removed.
3991         (regexfile): Prefer printf to echo when outputting oddball chars.
3992         (.PRECIOUS): Remove, as these files are not built.
3994         Rename 'foo-gzipped' to 'foo.gz'
3995         * test/automated/data/decompress/foo.gz:
3996         Rename from test/automated/data/decompress/foo-gzipped,
3997         to make it easier for other tools to tell that it's compressed.
3998         * test/automated/zlib-tests.el (zlib--decompress):
3999         Adjust to renamed file.
4001 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
4003         Set up default-directory
4004         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
4005         binding for `v'.
4006         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
4007         appropriate value for default-directory.
4009 2015-05-17  Samer Masterson  <samer@samertm.com>
4011         * lisp/eshell/em-term.el (eshell-term-sentinel):
4012         No-op by default, only kills term buffer if
4013         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
4014         (eshell-destroy-buffer-when-process-dies): New custom to preserve
4015         previous behavior.
4017         eshell: Introduce new buffer syntax
4018         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
4019         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
4020         needed (Bug#19319).
4021         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
4022         (eshell-get-target): Remove shorthand-specific code.
4023         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
4024         '#<buffer-name>'.
4026 2015-05-17  Jan D  <jan.h.d@swipnet.se>
4028         Merge branch 'master' into cairo
4030 2015-04-26  Jan D  <jan.h.d@swipnet.se>
4032         Merge branch 'master' into cairo
4034         Add PBM support for cairo.
4035         * src/image.c (xcolor_to_argb32): New function.
4036         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
4037         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
4038         XImagePtr if ! USE_CAIRO.
4039         (pbm_load): Add cairo support.
4041 2015-04-12  Jan D  <jan.h.d@swipnet.se>
4043         x_free_cr_resources: Renamed from x_prepare_for_xlibdraw.
4044         * src/xterm.c (x_free_cr_resources): Renamed from x_prepare_for_xlibdraw.
4045         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
4046         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
4047         x_free_cr_resources.
4049         Handle specified bg in images.  Use generic libpng code for PNG:s.
4050         * src/image.c (get_spec_bg_or_alpha_as_argb)
4051         (create_cairo_image_surface): New functions when USE_CAIRO.
4052         (xpm_load): Call the above functions.  Handle XPM without mask
4053         when USE_CAIRO.
4054         (png_load_body): Handle USE_CAIRO case.
4055         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
4056         instead.
4057         (jpeg_load_body): Call create_cairo_image_surface.
4058         (gif_load, svg_load_image): Handle specified background, call
4059         create_cairo_image_surface.
4060         * src/xterm.c (x_draw_image_glyph_string): Added missing USE_CAIRO.
4062 2015-04-11  Jan D  <jan.h.d@swipnet.se>
4064         Support GIF and Tiff with cairo.
4065         * configure.ac: Allow jpeg with cairo.
4066         Allow tiff and gif with cairo.
4067         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4068         (tiff_load): Create cairo image surface if USE_CAIRO.
4069         (gif_load): Ditto.
4071         Support JPEG with USE_CAIRO.
4072         * configure.ac: Allow jpeg with cairo.
4073         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
4075 2015-04-05  Jan D  <jan.h.d@swipnet.se>
4077         Support RSVG and cairo.
4078         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
4079         * src/dispextern.h (struct image): add cr_data2 if cairo.
4080         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
4081         (x_clear_image): Free cr_data and cr_data2 if set.
4082         (xpm_load): Assign data to cr_data2.
4083         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
4085 2015-04-03  Jan D  <jan.h.d@swipnet.se>
4087         Introduce limited Xpm support (32 bit ZPixmap) for Cairo.
4088         * configure.ac (HAVE_RSVG): Move after cairo.
4089         (USE_CAIRO): Disable rsvg, don't disable Xpm.
4090         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
4091         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
4092         don't return early.
4093         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
4094         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
4095         and create a surface.
4097         Tool tips for menus did not show any text.
4098         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
4099         tip frames, the geometry may be wrong.
4101         Merge branch 'master' into cairo, fixes tooltips not shown.
4103         Merge branch 'master' into cairo
4105         Add CAIRO_CFLAGS to lwlib/Makefile.in
4106         * Makefile.in (CAIRO_CFLAGS): Add.
4108 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4110         * ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
4112 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4114         Draw outermost line using black relief and erase corners also for cairo.
4115         * xterm.c [USE_CAIRO]: Include math.h.
4116         (enum corners) [USE_CAIRO]: New enum.
4117         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
4118         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
4119         than 1, draw the outermost line using the black relief.
4121         * xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path.
4123 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4125         * xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
4127         * xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask.
4129         Use int instead of unsigned int for width and height args.
4130         * xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
4131         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
4132         width and height args.
4134         Modernize k&r cairo-related function declarations.
4135         * gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
4136         (xg_print_frames_dialog): Modernize k&r declarations.
4137         * xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
4138         (Fx_print_frames_dialog): Modernize k&r declarations.
4139         * xterm.c (x_gc_get_ext_data, x_extension_initialize, x_begin_cr_clip)
4140         (x_end_cr_clip, x_set_cr_source_with_gc_foreground)
4141         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
4142         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
4143         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
4144         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4145         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
4146         (x_clear_area): Modernize k&r declarations.
4148         Implement wave-style variant of underlining for cairo.
4149         * xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
4150         (x_draw_underwave) [USE_CAIRO]: Use it.
4152         * xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle.
4154 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
4156         Fix fringe bitmap initialization for cairo.
4157         * fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for
4158         cairo image surface.
4159         * xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty.
4161 2015-02-11  Jan D  <jan.h.d@swipnet.se>
4163         Add cairo drawing.
4164         * configure.ac (with-cairo): New option.
4165         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
4166         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
4167         Output "Does Emacs use cairo?".
4168         * lisp/version.el (emacs-version): Add cairo version.
4169         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
4170         (FONT_OBJ): Add comment about ftcrfont.
4171         (ALL_CFLAGS): Add CAIRO_CFLAGS.
4172         (LIBES): Add CAIRO_LIBS.
4173         * src/dispextern.h (struct image): Add cr_data for cairo.
4174         (x_cr_init_fringe): Declare.
4175         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
4176         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
4177         * src/fringe.c (x_cr_init_fringe): New function name that shares code
4178         with w32_init_fringe.
4179         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
4180         * src/ftfont.c (ftfont_info_size); New global variable.
4181         (ftfont_open2): New extern function almost the same as old ftfont_open,
4182         but takes the font_object as argument.
4183         (ftfont_open): Build font object and call ftfont_open2.
4184         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
4185         * src/gtkutil.c (xg_clear_under_internal_border)
4186         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only
4187         queue_draw if not cairo.  Change args to x_clear_area.
4188         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
4189         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
4190         (xg_print_frames_dialog): New functions for printing.
4191         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
4192         (xg_print_frames_dialog): Declare.
4193         * src/image.c: Add defined (USE_CAIRO) for PNG.
4194         Add !defined USE_CAIRO for W32 PNG code.
4195         (x_clear_image): If cairo, destroy the surface in cr_data.
4196         (png_load): Add new cairo compatible implementation.
4197         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
4198         * src/xfns.c: New section Printing.
4199         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
4200         (x-print-frames-dialog): New printing functions.
4201         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if
4202         cairo.
4203         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
4204         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
4205         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
4206         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
4207         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
4208         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
4209         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
4210         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
4211         Declare.
4212         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
4213         (max_fringe_bmp, fringe_bmp): New variables.
4214         (x_gc_get_ext_data, x_extension_initialize)
4215         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
4216         (x_set_cr_source_with_gc_foreground)
4217         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
4218         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
4219         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
4220         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
4221         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
4222         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
4223         (x_update_begin): Create cairo surface if needed.
4224         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
4225         (x_update_end): Paint cairo drawing surface to xlib surface.
4226         (x_clear_under_internal_border, x_after_update_window_line): Adjust
4227         arguments to x_clear_area.
4228         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
4229         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
4230         of XSetClipMask.
4231         (x_set_glyph_string_clipping)
4232         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
4233         instead of XSetClipRectangles.
4234         (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use
4235         x_fill_rectangle instead of XFillRectangle.
4236         (x_draw_glyph_string_foreground)
4237         (x_draw_composite_glyph_string_foreground)
4238         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead
4239         of XDrawRectangle.
4240         (x_draw_relief_rect): Add code for USE_CAIRO.
4241         Call x_reset_clip_rectangles instead of XSetClipMask.
4242         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
4243         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
4244         instead of XSetClipMask.
4245         (x_draw_image_foreground, x_draw_image_foreground_1):
4246         x_draw_rectangle instead of XDrawRectangle.
4247         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
4248         XFillRectangle.
4249         (x_draw_image_glyph_string): If img has cr_data, use it as
4250         a cairo surface.
4251         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
4252         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
4253         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
4254         x_reset_clip_rectangles instead of XSetClipMask.
4255         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
4256         (x_clear_area1): New function that calls XClearArea.
4257         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
4258         non-cairo.
4259         (x_clear_frame): x_clear_window instead of XClearWindow.
4260         (x_scroll_run): Set frame garbaged if cairo.
4261         (XTmouse_position): Initialize *part to 0.
4262         (x_scroll_bar_create): Adjust arguments to x_clear_area.
4263         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
4264         x_fill_rectangle instead of XFillRectangle.
4265         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
4266         arguments to x_clear_area.
4267         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
4268         (handle_one_xevent): Adjust arguments to x_clear_area.
4269         Destroy cairo surface for frame if ConfigureNotify.
4270         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
4271         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
4272         x_reset_clip_rectangles instead of XSetClipMask.
4273         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
4274         x_reset_clip_rectangles instead of XSetClipMask.
4275         (x_clear_frame_area): Adjust arguments to x_clear_area.
4276         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
4277         (x_term_init): Call x_extension_initialize if cairo.
4278         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
4279         x_cr_destroy_fringe_bitmap for cairo.
4280         (x_initialize): Call x_cr_init_fringe for cairo.
4281         * src/xterm.h: Add include of cairo header files.
4282         (x_bitmap_record): Add img if cairo.
4283         (x_gc_ext_data): New struct for cairo.
4284         (x_display_info): Add ext_codes for cairo.
4285         (x_output): Add cr_context and cr_surface for cairo.
4286         (x_clear_area): Change arguments from Display*/Window to frame pointer.
4287         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
4288         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
4289         (x_cr_draw_frame, x_cr_export_frames): Declare.
4291 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
4293         Fix integer-valued `mouse-highlight' (Bug#20590)
4294         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
4296 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
4298         MS-Windows followup for ASCIIfication of curved quotes
4299         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
4300         test for curved quotes being displayable, after switching the
4301         terminal encoding.  (Bug#20545)
4303 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
4305         Spelling fixes
4307 2015-05-17  Jan D  <jan.h.d@swipnet.se>
4309         Add comment that x_shift_glyphs_for_insert is never called.
4310         * xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add
4311         comment that this function is never called.
4313 2015-05-16  Glenn Morris  <rgm@gnu.org>
4315         * src/lisp.mk: Remove from repository and generate at build-time.
4316         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
4317         (shortlisp_filter): New variable.
4318         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
4319         (distclean): Remove lisp.mk.
4320         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
4321         * lisp/loadup.el: Tweak layout to make it easier to parse.
4322         * make-dist: Do not distribute src/lisp.mk.
4324 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4326         Display shorter dates in Git annotate output
4327         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
4328         format (when not overridden with vc-git-annotate-switches).
4329         (vc-git-annotate-time): Support the short format, as well as ISO
4330         8601 that has been used until now (bug#5428).
4332 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
4334         ASCIIfy curved quotes on displays lacking them
4335         * lisp/international/mule-cmds.el (set-locale-environment):
4336         If curved quotes don't work, display straight ASCII approximations
4337         (Bug#20545).
4339 2015-05-16  Glenn Morris  <rgm@gnu.org>
4341         Small src/Makefile simplification.
4342         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
4343         * src/Makefile.in (lisp): Derive from shortlisp.
4344         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
4346 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
4348         * lisp/help-mode.el (help-go-forward): Doc fix.
4349         (Bug#20577)
4351         * doc/lispref/debugging.texi (Profiling): Improve indexing.
4352         (Bug#20576)
4354 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4356         Use `unless' to have one fewer `not'
4357         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
4358         have one fewer `not'.
4360         Remove redundant :group declarations from vc-git.el
4361         * lisp/vc/vc-git.el (vc-git-diff-switches)
4362         (vc-git-annotate-switches, vc-git-resolve-conflicts)
4363         (vc-git-program, vc-git-root-log-format): Remove the redundant
4364         :group declarations.
4366 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
4368         Removes the predicate from lisp-complete-symbol (Bug#20456)
4369         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
4370         and remove it from the docstring.
4372 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
4374         Add new option vc-git-resolve-conflicts
4375         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
4376         (vc-git-find-file-hook): Add to after-save-hook only when the
4377         above is non-nil.
4378         (vc-git-resolve-when-done): Update to honor the new variable.
4379         (Bug#20292)
4381 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
4383         * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string
4384         (tabulated-list-init-header): Document new behavior.
4385         (tabulated-list-print-fake-header): No nothing if
4386         `tabulated-list--header-string' is nil.
4387         (tabulated-list--header-string): Add a docstring.
4388         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
4389         * etc/NEWS: Document it.
4391 2015-05-15  Leo Liu  <sdl.web@gmail.com>
4393         Revert "Fix cps--gensym"
4394         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
4395           fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
4397 2015-05-15  Glenn Morris  <rgm@gnu.org>
4399         Replace AC_SUBST_FILE in configure with include in Makefiles.
4400         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
4401         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
4402         (AUTO_DEPEND): New output variable.
4403         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
4404         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4405         (lwlib_deps_frag): Replace by conditional include.
4406         * lwlib/autodeps.mk: Remove file.
4407         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
4408         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4409         (oldxmenu_deps_frag): Replace by conditional include.
4410         * oldXMenu/autodeps.mk: Remove file.
4411         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
4412         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
4413         (lisp_frag): Replace by an include.
4414         (deps_frag): Replace by conditional include.
4415         * src/autodeps.mk: Remove file.
4417         Tweak japanese.el's loading of dependencies.
4418         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
4419         * lisp/language/japanese.el: Use require rather than load.
4420         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
4421         Provide a feature.
4422         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
4423         Provide a feature in the generated file.
4425 2015-05-15  Jan D  <jan.h.d@swipnet.se>
4427         Fix NS warnings.
4428         * nsmenu.m (ns_popup_dialog)
4429         * nsimage.m (initFromXBM:width:height:fg:bg:)
4430         * nsfns.m (Fx_create_frame): Remove unused variables.
4431         (Fns_read_file_name): Initialize fname, remove ret.
4432         * nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
4433         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused
4434         variable.
4435         (init): Add parantesis in if.
4436         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
4438 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4440         Fix a enum conversion warning in macfont.m
4441         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
4442         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
4444 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
4446         Support de-alt dictionary with Aspell.
4447         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
4448         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
4450 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4452         cus-start.el: Add ns-confirm-quit.
4453         * cus-start.el: Add ns-confirm-quit.
4455         Fix warnings on OSX 10.10.
4456         * nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions.
4457         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
4458         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
4459         * nsmenu.m (initWithContentRect:styleMask:backing:defer:)
4460         * nsimage.m (allocInitFromFile, setPixmapData): Only call
4461         setScalesWhenResized for OSX < 10.6.
4462         * nsterm.h (EmacsScroller): Declare scrollerWidth.
4463         * nsterm.m (ns_copy_bits): New function that does not use deprecated
4464         NSCopyBits.
4465         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
4466         (runAlertPanel): New function.
4467         (applicationShouldTerminate:): Call runAlertPanel.
4468         (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing
4469         for OSX < 10.10.
4470         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
4471         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
4472         (draggingEntered:): Returns NSDragOperation.
4473         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
4475 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4477         * lisp/emacs-lisp/package.el: Don't ensure-init during startup
4478         (package--init-file-ensured): New variable.
4479         (package-initialize, package--ensure-init-file): Use it.
4481 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
4483         Honor :fore/background for XBM on NS (Bug#14969).
4484         * nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
4485         initFromXBM takes bg, fg args, remove flip arg.
4486         (ns_image_from_XBM): Add bg, fg args.
4487         * image.c (x_create_bitmap_from_data)
4488         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
4489         * nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM.
4490         Remove flip arg.
4491         (initFromSkipXBM): Move code to initFromXBM.
4492         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
4493         Use fg, bg from args (Bug#14969).  Remove if (length) section, was always
4494         false.
4495         Remove bit flipping (bitPat, swt), generated incorrect images when
4496         width/height wasn't a multiple of 8.
4497         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
4498         * nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove
4499         flip arg.
4501 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
4503         * lisp/emacs-lisp/package.el: Be more careful with the init file
4504         (package--ensure-init-file): Check that user-init-file is set,
4505         exists, is readable, and is writable.  (Bug#20584)
4506         Also expand the docstring.
4508 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
4510         Sync with upstream verilog-mode revision 6232468
4511         * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face)
4512         (verilog-highlight-grouping-keywords): Fix use of face when
4513         `verilog-highlight-grouping-keywords' set.  Reported by Jeff
4514         Pompa.
4515         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
4516         parent is reset, bug906. Reported by Ken Schmidt.
4517         (verilog-auto-inout-module): Add fourth regexp argument to
4518         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match,
4519         bug856. Reported by John Tillema.
4520         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
4521         modport if signal attachment is itself a modport.  Reported by
4522         Matthew Lovell.
4523         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
4524         always_comb and always_latch, bug844.  Reported by Greg Hilton.
4525         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
4526         with many curly-bracket pairs, bug663.
4527         (verilog-set-auto-endcomments): Fix end comments for functions of
4528         type void, etc.  Reported by Alex Reed.
4529         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
4530         caused by indent-line-to deleting tabls pre 24.5.
4531         (verilog-nameable-item-re): Fix nameable items that can have an
4532         end-identifier to include endchecker, endgroup, endprogram,
4533         endproperty, and endsequence.  Reported by Alex Reed.
4534         (verilog-label-be): When auto-commenting a buffer, consider
4535         auto-comments on all known keywords (not just a subset thereof).
4536         Reported by Alex Reed.
4537         (verilog-auto-end-comment-lines-re)
4538         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
4539         Automatically comment property/endproperty blocks to match other
4540         similar blocks like sequence/endsequence, function/endfunction,
4541         etc. Reported by Alex Reed.
4542         (verilog-set-auto-endcomments): Detect the function- or task-name
4543         when auto-commenting blocks that lack an explicit
4544         portlist. Reported by Alex Reed.
4545         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
4546         allow post-AUTO user fixups, bug826. Reported by Dennis
4547         Muhlestein.
4548         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
4549         is nil, fix indenting initial/final to match always statements,
4550         bug825. Reported by Tim Clapp.
4551         (verilog-extended-complete-re): Fix indentation of DPI-C imports
4552         with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong
4553         Mao and Jason Forkey.
4554         (verilog-read-decls): Fix parsing typed interfaces.  Fix
4555         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
4556         Fix localparam not being ignored in AUTOINSTPARAM,
4557         bug889. Reported by Shannon Hill.
4558         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
4559         bug793.  Reported by Pierre-David Pfister.
4560         (verilog-auto-arg-format, verilog-auto-arg-ports): Add
4561         verilog-auto-arg-format to support newlines in AUTOARG. Reported
4562         by Jie Xiao.
4563         (verilog-batch-execute-func): Do not batch re-auto files loaded by
4564         Local Variables. Fix printing "no changes to be saved" with
4565         verilog-batch. Reported by Dan Dever.
4566         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
4567         interface-only modules, bug721.  Reported by Dean Hoyt.
4568         Author: Alex Reed <acreed4@gmail.com>
4569         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't
4570         treat '<keyword>:<identifier>' as the start of a labeled
4571         statement, bug905.  Reported by Enzo Chi.
4572         (verilog-directive-re, verilog-compiler-directives)
4573         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
4574         directives (plus some extras) when determining indentation, bug
4575         901.  Reported by Bernd Beuster.
4576         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
4577         iff expression doesn't start with word-character, bug900.
4578         (verilog-optional-signed-range-re, verilog-optional-signed-re):
4579         Fix incorrect indentation/alignment of unsigned declarations,
4580         bug897.
4581         (verilog-looking-back, verilog-in-attribute-p): Fix labling of
4582         always constructs, bug895.
4583         (verilog-calc-1): Fix verilog-mode constraint indentation,
4584         bug324. Reported by Eric Mastromarchi.
4585         (verilog-beg-of-statement): Fix indenting for some forms of
4586         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
4587         continued assignment incorrect if first line ends with ']',
4588         bug437. Reported by Dan Dever.  Fix indention of cover inside an
4589         ifdef, bug 862. Reported by Bernd Beuster Fix labeling do-while
4590         blocks, bug842.
4591         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning,
4592         bug859. Reported by Kaushal Modi.
4593         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
4594         (verilog-backward-token): Fix indenting sensitivity lists with
4595         named events, bug840.  Reed.
4596         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
4597         nil not honoring 'forever', 'foreach', and 'do' keywords.
4599 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4601         Check for invalid GTK+ monitor scales
4602         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
4603         INT_MAX for too-large scales.  All callers changed to assume the
4604         result is valid (Bug#20432).
4605         (xg_frame_set_char_size, xg_update_scrollbar_pos):
4606         Calculate scale only if needed.
4607         show ASCII approximations instead.
4609 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
4611         Fix daemon crashes when linum-mode is turned on early on
4612         * src/window.c (Fwindow_end): Don't try calling display engine
4613         functions on initial-frame frame.  (Bug#20565)
4615         Fix selective diff browsing in Ediff
4616         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the
4617         beginning of the region before searching for the
4618         ediff-regexp-focus-* regexps.  (Bug#20568)
4620 2015-05-14  Jan D  <jan.h.d@swipnet.se>
4622         Fixes Bug#20142.
4623         * gtkutil.c (delete_cb): Don't send delete event here, it does arrive
4624         in the main loop, even for Gtk 3 (Bug#20142).
4626         Don't access display after i/o error (Bug#19147).
4627         * xterm.c (x_connection_closed): Add third arg ioerror.
4628         If ioerror, set display to 0 (Bug#19147).
4629         (x_error_quitter): Call x_connection_closed with third arg false.
4630         (x_io_error_quitter): Call x_connection_closed with third arg true.
4632         Handle GTK_SCALE, fixes Bug#20432.
4633         * gtkutil.c (xg_get_gdk_scale): New function.
4634         (xg_frame_set_char_size)
4635         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
4636         (xg_get_default_scrollbar_height)
4637         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
4638         when setting sizes (Bug#20432).
4640 2015-05-13  Leo Liu  <sdl.web@gmail.com>
4642         Fix cps--gensym
4643         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
4645 2015-05-13  Glenn Morris  <rgm@gnu.org>
4647         Fix bootstrap (void function cl-member).
4648         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
4649         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
4651 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
4653         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
4654         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
4655         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
4656         Avoid defalias for closures which are not immutable.
4657         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill the
4658         dispatchers table with various entries.
4659         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
4660         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
4662 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
4664         Improve tagging of C bindings in DEFVAR_*
4665         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
4666         from DEFVAR_*.
4668 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
4670         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
4672 2015-05-12  Glenn Morris  <rgm@gnu.org>
4674         * lisp/progmodes/tcl.el (tcl-filter):
4675         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
4677         Add basic VC push support.
4678         * lisp/vc/vc.el (vc-push): New autoloaded command.
4679         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
4680         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
4681         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
4682         (vc-bzr-push): New.
4683         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
4684         (vc-git-pull): Reimplement using vc-git--pushpull.
4685         (vc-git-push): New.
4686         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
4687         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
4688         * doc/emacs/maintaining.texi (Pulling / Pushing):
4689         Rename from "VC Pull".  Mention pushing.
4690         (VC With A Merging VCS, VC Change Log): Update xrefs.
4691         (Branches): Update menu.
4692         * doc/emacs/emacs.texi: Update menu.
4693         * etc/NEWS: Mention this.
4695 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
4697         Improve the seq pcase pattern and the `seq-let' macro
4698         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
4699         object is a sequence, and binds each element of ARGS to the
4700         corresponding element of the sequence.
4702 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
4704         Fix tags created from DEFVAR_* declarations in C
4705         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
4706         to make tags extracted from DEFVAR_* declarations more accurate.
4708         Add a test suite for etags
4709         * test/etags/: New test suite, adapted from
4710         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
4711         whose original author is Francesco Potortì <pot@gnu.org>.
4713         Fix tagging of symbols in C enumerations
4714         * lib-src/etags.c (consider_token): Don't tag symbols in
4715         expressions that assign values to enum constants.  See
4716         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
4717         for details.
4718         (C_entries): Reset fvdef to fvnone after processing a preprocessor
4719         conditional and after a comma outside of parentheses.
4721 2015-05-12  Glenn Morris  <rgm@gnu.org>
4723         * lisp/url/url-handlers.el (url-file-name-completion)
4724         (url-file-name-all-completions): Silence compiler.
4726         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
4728         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
4730 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
4732         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
4733         (cl--generic-mandatory-args): Remove.
4734         (cl--generic-split-args): New function.
4735         (cl-generic-define, cl--generic-lambda): Use it.
4736         (cl-generic-define-method): Use it as well, and add support for
4737         context args.
4738         (cl--generic-get-dispatcher): Handle &context dispatch.
4739         (cl--generic-cache-miss): `dispatch-arg' can now be a context expression.
4740         (cl--generic-dispatchers): Pre-fill.
4741         * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test.
4743 2015-05-11  Glenn Morris  <rgm@gnu.org>
4745         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
4747 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
4749         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
4750         * lisp/term/rxvt.el: Require term/xterm.
4751         (rxvt-function-map): Use xterm-rxvt-function-map.
4752         (rxvt-standard-colors): Move before first use.
4753         (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors.
4754         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
4755         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
4756         Move shared bindings between rxvt and xterm to it.
4757         (xterm-function-map): Use it.  Move the xterm-paste binding to
4758         xterm-rxvt-function-map (bug#20444).
4759         (xterm-standard-colors): Move before first use.
4760         (xterm--push-map): New function.
4761         (xterm-register-default-colors): Take standard colors as argument.
4762         (terminal-init-xterm): Use it.  Adjust call to
4763         xterm-register-default-colors.
4765 2015-05-11  Glenn Morris  <rgm@gnu.org>
4767         * lisp/term/x-win.el: Quieten --without-x compilation.
4768         (x-own-selection-internal, x-disown-selection-internal)
4769         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
4770         Declare.
4772         * Makefile.in (emacslog): Remove srcdir.
4773         (ChangeLog): Update for the above.
4775 2015-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4777         Spelling fix
4779 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
4781         python.el: better limit for looking-back calls
4782         * lisp/progmodes/python.el (python-shell-accept-process-output):
4783         Use last comint prompt start as limit for looking-back.
4785 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
4787         CEDET (srecode-insert-fcn): Fix use of oref on a class
4788         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on
4789         a class.  Reported by Pierre Lorenzon.
4790         (srecode-template-inserter-point): Remove declaration.
4792         CEDET (srecode-create-dictionary): Avoid obsolete object name
4793         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
4794         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
4796 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4798         C-x 8 shorthands for curved quotes, Euro, etc.
4799         Although C-x 8 lets you insert arbitrary Unicode characters,
4800         it's awkward to use this to insert commonly used symbols such as curved
4801         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
4802         characters commonly found in English text and in basic math.
4803         For example, assuming the Alt key works on your keyboard and iso-transl
4804         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
4805         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
4806         (Bug#20499)
4807         * doc/emacs/mule.texi (Unibyte Mode):
4808         A few other printing characters now work too.
4809         * etc/NEWS: Document this.
4810         * lisp/international/iso-transl.el (iso-transl-char-map):
4811         Also support the following characters:
4812         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
4814 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
4816         Add xref-find-regexp
4817         * lisp/progmodes/xref.el (xref-find-function): Describe the
4818         `matches' action.
4819         (xref-find-regexp): New command, using it.
4820         (xref-collect-references): Rename to xref-collect-matches.
4821         (xref--collect-reference): Rename to xref--collect-match.
4822         (xref-collect-matches, xref--collect-match): Accept new argument,
4823         KIND.  Update accordingly.
4824         (xref--regexp-to-extended): New function.
4825         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
4826         `matches' action.
4827         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
4828         * lisp/progmodes/etags.el (etags-xref-find):
4829         Support the `matches' action.
4830         (etags--xref-find-matches): New function.
4832 2015-05-10  Glenn Morris  <rgm@gnu.org>
4834         * Makefile.in: Fixes for recent change-history changes.
4835         (change-history-nocommit): Update footer regexp.
4836         Ensure output script stays executable.
4838 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
4840         New version of `seq-let' based on a pcase pattern
4841         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
4842         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
4844 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
4846         Add basic HTML5 tags and a template
4847         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
4848         (html-tag-alist): Add HTML5 tags.
4849         (html-tag-help): Add new tags descriptions.
4850         (html-navigational-links): Template for nav links.
4851         (html-html5-template): Template for a HTML5 page.
4853 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
4855         semantic/symref/grep: Don't use word boundaries
4856         * lisp/cedet/semantic/symref/grep.el
4857         (semantic-symref-perform-search): Instead of wrapping input in
4858         word boundaries, check that the characters before and after are
4859         not word constituents.
4861         semantic/symref/grep: Support regexp search
4862         * lisp/cedet/semantic/symref.el
4863         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
4864         the search type is regexp.
4865         * lisp/cedet/semantic/symref/grep.el
4866         (semantic-symref-perform-search): Support the regexp search type.
4867         Pass -E to Grep when it's used.
4869         semantic-symref-regexp: Allow to input an arbitrary string
4870         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
4871         Allow to input an arbitrary string interactively.
4873         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
4874         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
4875         Remove tag-symbol-match-p from the default value
4876         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
4878         Declare find-tag obsolete
4879         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
4880         xref-find-definitions.
4882 2015-05-10  Jan D  <jan.h.d@swipnet.se>
4884         Draw composite string correctly (Bug#20537).
4885         * nsterm.m (ns_draw_composite_glyph_string_foreground): New function.
4886         (ns_draw_glyph_string): Call it (Bug#20537).
4888 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
4890         Avoid infloop in ERC
4891         * lisp/simple.el (line-move-to-column): Ignore field boundaries
4892         while computing line beginning position.  (Bug#20498)
4894 2015-05-08  Glenn Morris  <rgm@gnu.org>
4896         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
4897         * build-aux/gitlog-to-emacslog: Check called from right directory.
4898         (srcprefix): Remove.
4900         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
4901         * Makefile.in (ChangeLog): No longer pass "distprefix".
4902         * make-dist: Update "make ChangeLog" syntax for the above change.
4904         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
4905         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
4907         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
4909         Add command-line option-parsing to gitlog-to-emacslog.
4910         * build-aux/gitlog-to-emacslog: Add command-line options.
4911         By default, refuse to remove an existing output file.
4912         * Makefile.in (CHANGELOG): Update default.
4913         (ChangeLog): Do not test for existing file.
4914         (change-history-nocommit): Ensure temp file does not exist.
4916         Quieten --without-x compilation.
4917         * lisp/term/common-win.el: Provide a feature.
4918         * lisp/term/x-win.el (term/common-win): Require it.
4920         * lisp/dired-aux.el (dired-do-print): Require lpr.
4922         Quieten compilation, eg in --without-x builds.
4923         * lisp/dired-aux.el (lpr-printer-switch):
4924         * lisp/frame.el (tool-bar-height):
4925         * lisp/linum.el (font-info):
4926         * lisp/window.el (font-info, overflow-newline-into-fringe)
4927         (tool-bar-height):
4928         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
4929         * lisp/gnus/gnus-util.el (iswitchb-mode):
4930         * lisp/mail/rmailmm.el (libxml-parse-html-region):
4931         * lisp/net/nsm.el (gnutls-peer-status)
4932         (gnutls-peer-status-warning-describe):
4933         * lisp/net/shr.el (libxml-parse-xml-region):
4934         * lisp/url/url-http.el (gnutls-peer-status): Declare.
4936 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
4938         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
4939         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
4940         `subclass' since they're never called with a class.
4941         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
4942         srecode-dictionary-child-p.
4944 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
4946         help--binding-locus: Document argument POSITION.
4947         * lisp/help.el (help--binding-locus): Document argument POSITION. (bug#20530)
4949 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
4951         Merge from gnulib.
4952         * doc/misc/texinfo.tex: Get latest version.
4954 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
4956         ffap.el (ffap-read-file-or-url): Fix completing-read call
4957         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
4958           `completing-read' should be a symbol.
4960 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
4962         Verify file modifications by other programs
4963         * src/filelock.c (lock_file): Check whether the file was modified
4964         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
4966         Fix keyboard macros that include function keys
4967         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
4968         keys in the macro before returning.  (Bug#20454)
4970 2015-05-08  Glenn Morris  <rgm@gnu.org>
4972         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
4973         "Copyright-paperwork-exempt".  (Bug#20324)
4975         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
4976         (log-edit-rewrite-tiny-change): New variable.
4977         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
4978         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
4979         * etc/NEWS: Mention this.
4981         * lisp/calc/calc.el (math-zerop): Declare.
4983         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
4985 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
4987         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec
4988         Support the case when BINDINGS is a single tuple.  (Bug#20525)
4990         * etc/NEWS: Fix typo in commit 14bb519
4992 2015-05-07  Jan D  <jan.h.d@swipnet.se>
4994         Warn for multiple display crash for all Gtk+ versions.
4995         * configure.ac: Warn for multiple display crash for all Gtk+
4996         versions.  Output URL to Gtk+ bug (Bug#20452).
4998         ns-win.el (ns-paste-secondary): Use gui-get-selection.
4999         * ns-win.el (ns-paste-secondary): Use gui-get-selection.
5001 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5003         * lisp/emacs-lisp/package.el: New "external" package status
5004         An external package is any installed package that's not built-in
5005         and not from `package-user-dir', which usually means it's from an
5006         entry in `package-directory-list'.  They are treated much like
5007         built-in packages, in that they cannot be through the Package Menu
5008         deleted and are not considered for upgrades.
5009         (package-desc-status): Identify if a package is installed outside
5010         `package-user-dir'.
5011         (package-menu--print-info-simple)
5012         (package-menu--status-predicate): Add support for it.
5013         * etc/NEWS: Document it.
5015 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5017         * lisp/mail/rmail.el: Use lexical-binding
5018         (rmail-bury): Remove unused var `buffer-to-bury'.
5019         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
5020         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
5021         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
5022         (rmail-insert-inbox-text): Remove unused var `movemail'.
5023         (rmail-add-mbox-headers): Remove unused var `limit'.
5024         (rmail-undelete-previous-message): Remove unused var `value'.
5025         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
5026         `resent-reply-to'.
5027         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
5028         (rmail-restore-desktop-buffer): Rename arguments.
5030 2015-05-06  Glenn Morris  <rgm@gnu.org>
5032         * Makefile.in (change-history-commit): Add missing piece of previous.
5034         Avoid unnecessary bumping of Makefile.in's timestamp.
5035         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
5036         (emacslog): New variable.
5037         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
5038         (unchanged-history-files): Use $emacslog rather than Makefile.in.
5039         (change-history-nocommit): Store hash in $emacslog.
5040         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
5041         * admin/update_autogen (changelog_files): Update for the above.
5043         * Makefile.in: Don't always insist on removing existing "ChangeLog".
5044         (CHANGELOG): New variable.
5045         (no-ChangeLog): Remove.
5046         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
5047         (change-history-nocommit): Use a temp file rather than insisting
5048         on deletion of any existing "ChangeLog".
5050         * build-aux/gitlog-to-emacslog: Allow specification of output.
5052         * admin/update_autogen: Add option to update ChangeLog.
5053         (usage): Mention -H.
5054         (changelog_flag, changelog_n, changelog_files): New variables.
5055         (main): Check for -H, and maybe run change-history-nocommit.
5057 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5059         * lisp/subr.el (delete-dups): Pre-size the hashtable.
5061         (define-modify-macro): Make sure cl--arglist-args is defined
5062         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
5063         cl--arglist-args is defined (bug#20517).
5065 2015-05-06  Glenn Morris  <rgm@gnu.org>
5067         * Makefile.in (change-history-nocommit): New.
5069 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
5071         Only cancel timer when it is non-nil
5072         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
5073         timer when it is non-nil
5074         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
5076 2015-05-06  Glenn Morris  <rgm@gnu.org>
5078         Quieten cedet compilation
5079         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
5080         Invert fboundp test to quieten on current Emacs.
5081         * lisp/cedet/ede/config.el (ede-shell-run-something)
5082         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
5083         (semanticdb-refresh-table): Declare.
5084         (ede-preprocessor-map): Require semantic/db.
5086         Quieten cc-mode compilation
5087         * lisp/progmodes/cc-awk.el (c-forward-sws):
5088         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
5089         Declare.
5091 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
5093         lisp/subr.el (delete-dups): Avoid nreverse.
5095 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
5097         * lisp/subr.el (delete-dups): Make it destructive again.
5099 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
5101         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
5103 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5105         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487)
5106         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
5107         (testcover--read): Rename from testcover-read.  Change calling convention.
5108         Use edebug-read-and-maybe-wrap-form now that edebug-read is gone.
5109         (testcover-start): Use add-function.  Move edebug-all-defs binding to
5110         testcover--read.
5111         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
5112         (testcover-mark): Remove unused var `item'.
5113         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
5115 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
5117         lisp/subr.el (delete-dups): Use a hash table
5118         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
5119           use a hash table. This can result in ~500 times speed-up for typical
5120           collections of size 5000, like that of `load-library'.
5122 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
5124         CEDET: Avoid `oref' on classes in a few more cases
5125         * lisp/cedet/ede/generic.el (ede-find-target):
5126         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
5127         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
5128         var `prefix'.
5130         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings
5131         * lisp/cedet/semantic/symref/grep.el (grepflags, greppattern): Declare.
5132         (semantic-symref-perform-search): Remove unused var `pat'.
5134         CEDET (srecode-compile-inserter): Avoid `oref' on classes
5135         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
5136         Avoid `oref' on classes (bug#20491).
5137         (srecode-compile-split-code): Remove unused var `key'.
5139 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
5141         Clean up pulse.el a little
5142         * lisp/cedet/pulse.el (pulse): Remove.
5143         (pulse-momentary-timer): Save instead of the stop time.
5144         (pulse-momentary-highlight-overlay): Call
5145         pulse-momentary-unhighlight first thing. Treat
5146         pulse-momentary-overlay as a single value, not a list. Save the
5147         created timer. Only pass the stop time to the timer.
5148         (pulse-tick): Update accordingly.
5149         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
5150         single value. Cancel the timer.
5152 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
5154         Support the biblatex journaltitle field
5155         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
5156         Support the biblatex journaltitle field.
5158 2015-05-05  Glenn Morris  <rgm@gnu.org>
5160         Minor declare-function improvement
5161         * lisp/emacs-lisp/bytecomp.el
5162         (byte-compile-macroexpand-declare-function):
5163         Handle declarations after calls.  (Bug#20509)
5165         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
5167         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
5169 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
5171         Pulse using a timer
5172         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
5173         (pulse-momentary-highlight-overlay): Set up the timer instead of
5174         calling `pulse'
5175         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
5176         (pulse-tick): New function.
5177         (pulse-momentary-unhighlight): Cut off the stop time.
5178         (pulse-delay): Update the docstring WRT to not using sit-for.
5180         Add semantic/symref/grep file patterns for ruby-mode
5181         * lisp/cedet/semantic/symref/grep.el
5182         (semantic-symref-filepattern-alist): Add patterns for
5183         ruby-mode. Clarify the docstring.
5185         Don't require match
5186         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
5187         match. That doesn't work for every command, and some identifier
5188         completion tables are bound to be imperfect anyway.
5190 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
5192         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505)
5193         (semantic-grammar--template-expand): New function.
5194         (semantic-grammar-header, semantic-grammar-footer): Use it.
5195         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
5196         (semantic-grammar-file-regexp): Refine regexp.
5197         (semantic-grammar-eldoc-get-macro-docstring):
5198         Use elisp-get-fnsym-args-string when available.
5199         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
5200         instead of the old eldoc-* names.
5201         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
5202         from elisp-mode.el.  Tweak calling convention.
5203         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
5204         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
5205         elisp--get-fnsym-args-string.
5206         (elisp--highlight-function-argument): Add `prefix' arg.
5207         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
5208         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
5210 2015-05-05  Glenn Morris  <rgm@gnu.org>
5212         * lisp/help-fns.el (describe-function-1):
5213         Handle builtins with advertised calling conventions.  (Bug#20479)
5215 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
5217         Merge branch 'seq-let'
5219         Update `seq-let' documentation
5220         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
5221         with the support of  `&rest'.
5223         Add support for &rest in `seq-let'
5224         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
5225         in the argument list.
5226         * test/automated/seq-tests.el: Add a test for parsing and binding
5227         `&rest' in `seq-let'.
5229 2015-05-05  Paul Eggert  <eggert@cs.ucla.edu>
5231         Spelling fixes
5233 2015-05-05  (tiny change) Pierre Lorenzon  <devel@pollock-nageoire.net>
5235         * eieio-custom.el (eieio-object-value-get): Add missing increment
5236         (Bug#20467)
5238         (eieio-object-value-create): Adjust to new slots representation
5239         (Bug#20467)
5240         * eieio-custom.el (eieio-object-value-create):
5241         Fix missed adjustment to new representation of slots metadata.
5243 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
5245         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
5247 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
5249         Work around "Attempt to modify read-only object"
5250         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
5251         elisp--xref-find-definitions, to work around "Attempt to modify
5252         read-only object" error.
5254         Only skip some variables that have function counterparts
5255         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
5256         Only skip minor-mode-named variable if it's defined in a Lisp
5257         file, and it's in minor-mode-list (bug#20506).
5258         * test/automated/elisp-mode-tests.el
5259         (elisp-xref-finds-both-function-and-variable)
5260         (elisp-xref-finds-only-function-for-minor-mode): New tests.
5262 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5264         Buttonize the whole line, including the number at the beginning
5265         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
5266         previous change.
5267         (xref--insert-xrefs): Buttonize the whole line, including the
5268         number at the beginning.
5270         Make sure we're inside the let bindings
5271         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5272         Make sure we're inside the let bindings.
5273         * test/automated/elisp-mode-tests.el
5274         (elisp-completes-functions-after-let-bindings): New test.
5276 2015-05-04  Glenn Morris  <rgm@gnu.org>
5278         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
5279         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
5280         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
5281         Remove outdated declarations.
5283         Replace instances of "(eval-when-compile (autoload ...))"
5284         * lisp/gnus/gnus-art.el (nneething-get-file-name):
5285         Declare rather than autoload.
5286         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
5287         Remove pointless autoload.
5288         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
5289         (gnus-topic-create-topic, gnus-topic-enter-dribble):
5290         Declare rather than autoload.
5291         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
5292         (mailcap-extension-to-mime): Autoload at run-time.
5293         * lisp/gnus/mm-util.el (latin-unity-massage-name)
5294         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
5295         (latin-unity-representations-present-region):
5296         Declare rather than autoload.
5297         * lisp/gnus/mml-smime.el (epg-make-context)
5298         (epg-passphrase-callback-function): Autoload at run-time.
5299         (epg-context-set-signers, epg-context-result-for)
5300         (epg-new-signature-digest-algorithm)
5301         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
5302         (epg-sign-string, epg-encrypt-string)
5303         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
5304         (epg-configuration, epg-expand-group, epa-select-keys):
5305         Declare rather than autoload.
5306         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
5307         Autoload at run-time.
5308         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
5309         (gnus-registry-get-id-key, gnus-registry-action):
5310         Declare rather than autoload.
5311         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
5312         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
5313         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
5314         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
5315         (spam-stat-split-fancy): Remove pointless autoloads.
5316         * lisp/net/mairix.el: Load gnus-util when compiling.
5317         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
5318         (message-field-value): Declare rather than autoload.
5319         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
5320         Check gnus-alive-p is fbound.
5321         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
5322         (vm-check-for-killed-summary, vm-error-if-folder-empty)
5323         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
5324         Declare rather than autoload.
5326         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
5328         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
5329         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
5331         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
5333         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
5335         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
5336         * lisp/emacs-lisp/package.el (epg-signature-status):
5337         Fix declarations.
5339         * lisp/play/gametree.el (gametree-show-children-and-entry)
5340         (gametree-apply-layout, gametree-mouse-show-subtree)
5341         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
5343         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
5344         Handle cl-defgeneric, cl-defmethod.
5346 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5348         Highlight both type and symbol name
5349         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
5350         Highlight both type and symbol name.
5352         Insert, highlight and align line numbers in xref output
5353         * lisp/progmodes/etags.el (xref-location-line): Specialize for
5354         xref-etags-location.
5355         * lisp/progmodes/xref.el (xref-location-line): New generic method.
5356         (xref-file-location): Add reader for the line slot.
5357         (xref--location-at-point): Skip to the `xref-location' property.
5358         (xref--collect-reference): Drop the line number from description.
5359         (xref--insert-xrefs): Insert, highlight and align line numbers.
5361 2015-05-04  Daniel Colascione  <dancol@dancol.org>
5363         Fix previous commit
5365 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5367         Don't pulse the indentation, or the newline
5368         * lisp/cedet/pulse.el (pulse-lighten-highlight)
5369         (pulse-reset-face): Fall back to the inherited background
5370         attribute in FACE.
5371         (pulse-momentary-highlight-region): Add autoload cookie.
5372         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
5373         indentation, or the newline, if the line's non-empty
5374         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
5376 2015-05-04  Daniel Colascione  <dancol@dancol.org>
5378         Add `save-mark-and-excursion', which has the old `save-excursion' behavior
5379         * doc/lispref/positions.texi (Excursions): Document
5380         `save-mark-and-excursion'.
5381         * lisp/font-lock.el (font-lock-fontify-block): Use
5382         `save-mark-and-excursion' instead of `save-excursion', restoring
5383         Emacs 24 behavior.
5384         * lisp/simple.el (save-mark-and-excursion--save)
5385         (save-mark-and-excursion--restore): New functions.
5386         (save-mark-and-excursion): New user macro.
5387         * src/editfns.c (Fsave_excursion): Mention
5388         `save-mark-and-excursion' in `save-excursion' documentation.
5390 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
5392         Classify lone symbol inside let varlist as variable
5393         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5394         Classify lone symbol inside let varlist as variable.
5395         * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings):
5396         New test.
5398         Add xref-pulse-on-jump
5399         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
5400         Add autoload cookie.
5401         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
5402         (xref--maybe-pulse): New function.
5403         (xref-pop-marker-stack, xref--pop-to-location)
5404         (xref--display-position): Use it.
5405         (xref--location-at-point): Use back-to-indentation.
5407 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
5409         * lisp/org/org-{macs,list}.el: Fix lexical warnings
5410         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
5411         (org-list-get-next-item, org-list-get-prev-item)
5412         (org-list-get-children): Mark unused arg `struct'.
5413         (org-list-use-alpha-bul-p): Remove unused var `bul'.
5414         (org-toggle-checkbox): Mark unused var.
5415         (org-update-checkbox-count): Remove unused var `box-num'.
5416         (org-adapt-indentation): Declare.
5417         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
5418         (org-list-send-list): Remove unused var `txt'.
5419         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
5420         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
5421         * lisp/org/org-macs.el: Use `declare'.
5422         (org-with-limited-levels): Declare dyn-bound vars.
5424 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
5426         Fix minor issues with CEDET on MS-Windows
5427         * lisp/cedet/semantic/symref/idutils.el
5428         (semantic-symref-parse-tool-output-one-line): Fix the search
5429         regexp to match MS-Windows file names with drive letters.
5430         (Bug#19468)
5431         * lisp/cedet/semantic/symref/grep.el
5432         (semantic-symref-grep-use-template): Remove "--color=always" from
5433         Grep switches on MS-Windows.
5434         (semantic-symref-grep-shell): Use shell-file-name as the default
5435         value, so this works not only on Posix platforms.
5436         (semantic-symref-perform-search): Use shell-quote-argument instead
5437         of literal '..' for portable quoting of Grep command-line
5438         argument.  Use shell-command-switch instead of a literal "-c".
5439         * lisp/cedet/semantic/bovine/gcc.el
5440         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
5441         for an absolute file name in a portable way.
5443 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
5445         * lisp/emacs-lisp/package.el: Remove `package--silence' variable
5446         (package-import-keyring, package-refresh-contents)
5447         (package-compute-transaction, package--save-selected-packages)
5448         (package-install-from-archive, package-delete)
5449         (package-menu--perform-transaction): Use `inhibit-message'
5450         instead.
5451         (package--compile): Set `warning-minimum-level' to :error.
5453 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
5455         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom
5456         (terminal-init-screen): Use it (bug#20356).
5457         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
5458         (xterm--extra-capabilities-type): New const.
5459         (xterm-extra-capabilities): Use it.
5460         (xterm--version-handler): Lower the pseudo-version for `screen'.
5462 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
5464         xref--insert-xrefs: Tweak the faces
5465         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
5466         Always insert a newline at the end (to avoid mouse-face background
5467         tail at the last line).
5469         elisp-completion-at-point: Prioritize being quoted over funpos
5470         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
5471         Only consider function position when not inside quoted form
5472         (bug#20425).
5473         * test/automated/elisp-mode-tests.el: New file.
5475         Stop vc-print-log from jumping to the top
5476         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
5477         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
5478         is not specified.
5479         (vc-incoming-outgoing-internal): Always pass nil.
5480         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
5481         call it, and don't set vc-sentinel-movepoint (bug#15322).
5482         (vc-print-root-log): Don't fetch the root working revision, nor
5483         pass it to vc-print-log-internal.
5485 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
5487         Fix display of keyboard layouts for right-to-left scripts
5488         * lisp/international/quail.el (quail-insert-kbd-layout): Force
5489         left-to-right paragraph direction.
5491 2015-05-02  K. Handa  <handa@gnu.org>
5493         * cmds.c (internal_self_insert): When we insert spaces for
5494         padding, set point before the padding spaces, not after them.
5496 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
5498         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
5500 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
5502         Fix etags-xref-find for references
5503         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'.
5504         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
5505         directory if no tags tables are loaded (bug#19468).
5507 2015-05-02  Philipp Stephani  <phst@google.com>
5509         Update the options in whitespace-style defcustom
5510         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
5511         `repeat' because the option is really set-like.  Add missing
5512         options.  Reorder options to match the order in the
5513         documentation.  (Bug#20346)
5515 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
5517         Fix error diagnostics of c-macro-expand
5518         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
5519         too early if no start-marker string was found -- that generally
5520         means cpp exited abnormally, and we still want to show its error
5521         messages to the user.
5523         Don't require Texinfo 5.0 for Emacs documentation
5524         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
5525         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
5526         "@codequoteundirected on", respectively, to avoid requiring
5527         Texinfo 5.x for Emacs documentation.
5529 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
5531         * lisp/files.el (pwd):
5532         When called with a prefix argument, insert the current default
5533         directory at point.
5535 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
5537         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
5538         * lisp/isearch.el (isearch-mode-map): Don't inhibit
5539         function-key-map remapping for backspace (bug#20466).
5541 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
5543         Implement xref-find-references in etags and elisp-mode
5544         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
5545         (elisp-xref-find): Use it.
5546         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
5547         * lisp/progmodes/xref.el (xref-collect-references):
5548         (xref--collect-reference): New functions.
5550 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
5552         Prefer plain characters to Texinfo circumlocutions
5553         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
5554         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
5556         Fix single-quoting style in PDF manuals
5557         The PDF versions of the GNU manuals used curved single quotes to
5558         represent grave accent and apostrophe, which made it a pain to cut
5559         and paste code examples from them.  Fix the PDF versions to use
5560         grave accent and apostrophe for Lisp source code, keystrokes, etc.
5561         This change does not affect the info files, nor does it affect
5562         ordinary uses of curved single quotes in PDF.
5563         * doc/emacs/docstyle.texi: New file, which specifies treatment for
5564         grave accent and apostrophe, as well as the document encoding.
5565         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
5566         * doc/lispintro/emacs-lisp-intro.texi:
5567         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
5568         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
5569         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
5570         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
5571         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
5572         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
5573         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
5574         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
5575         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
5576         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
5577         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
5578         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
5579         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
5580         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
5581         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
5582         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
5583         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
5584         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
5585         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
5586         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
5587         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
5588         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
5589         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
5590         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
5591         * doc/misc/woman.texi:
5592         Use it instead of '@documentencoding UTF-8', to lessen the need for
5593         global changes like this in the future.
5594         * doc/emacs/Makefile.in (EMACS_XTRA):
5595         * doc/lispintro/Makefile.in (srcs):
5596         * doc/lispref/Makefile.in (srcs):
5597         Add dependency on docstyle.texi.
5598         * doc/misc/Makefile.in (style): New macro.
5599         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
5600         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
5601         Use it.
5603 2015-05-01  Glenn Morris  <rgm@gnu.org>
5605         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
5607         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
5608         (help-fns--signature): Declare.
5610         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
5612 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
5614         New macro seq-let, providing destructuring support to seq.el
5615         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
5616         to `cl-destructuring-bind' but works on all sequence types supported
5617         by `seq.el'.  Bump version number to 1.6.
5618         * test/automated/seq-tests.el: Add tests for seq-let.
5619         * doc/lispref/sequences.texi: Add documentation for seq-let.
5621 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
5623         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer
5625 2015-05-01  Glenn Morris  <rgm@gnu.org>
5627         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
5629 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
5631         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
5632         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
5633         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
5634         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
5635         (Bug#20445).
5637 2015-05-01  K. Handa  <handa@gnu.org>
5639         * mule-cmds.el (input-method-use-echo-area): Change :type to
5640         'boolean.
5642 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
5644         Start using proportional fonts in eww by default
5645         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
5646         it seems to work well.
5648         Fix links in tables in shr
5649         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
5650         makes (some) links in tables not work.
5652 2015-05-01  Jan D  <jan.h.d@swipnet.se>
5654         (ns-get-cut-buffer-internal): Remove this alias.
5655         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
5657 2015-04-30  Glenn Morris  <rgm@gnu.org>
5659         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
5660         Update for 2015-02-08 change to indirect-function.
5662         * lisp/term/ns-win.el (ns-get-selection-internal):
5663         Remove declaration for function deleted 2014-10-21.
5665         * lisp/dom.el: Load subr-x when compiling, for when-let.
5667         Silence some compilation warnings
5668         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
5669         * lisp/emulation/cua-base.el (delete-active-region):
5670         * lisp/net/net-utils.el (w32-get-console-output-codepage):
5671         * lisp/term/ns-win.el (ns-own-selection-internal)
5672         (ns-disown-selection-internal, ns-selection-owner-p)
5673         (ns-selection-exists-p, ns-get-selection):
5674         Declare for compiler..
5676         Function declaration updates prompted by 'make check-declare'
5677         * lisp/emacs-lisp/package.el (lm-homepage):
5678         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
5679         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
5680         * lisp/gnus/mml.el (libxml-parse-html-region):
5681         * lisp/gnus/nnrss.el (libxml-parse-html-region):
5682         * lisp/net/eww.el (libxml-parse-html-region):
5683         * lisp/net/shr.el (libxml-parse-html-region):
5684         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
5685         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
5686         * lisp/vc/vc-git.el (vc-annotate-convert-time):
5687         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
5688         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
5689         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
5690         Update declaration.
5692         Remove compatibility code for 20-year old function renaming
5693         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
5694         Make it an obsolete alias.
5695         (idlwave-shell-filter): Change all uses to comint-output-filter.
5697 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
5699         Add ace-window face config
5700         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
5701         configuration.
5703 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
5705         Unclutter 'make doc' output a bit
5706         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
5707         Use make subst rather than sh IFS to split target string apart.
5708         This makes 'make' output easier to follow.
5710         Merge from gnulib
5711         * doc/misc/texinfo.tex: Update from gnulib.
5713 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
5715         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh
5716         (package-menu--print-info): Obsolete.
5717         (package-menu--print-info-simple): New function.
5718         (package-menu--refresh): Use it, simplify code, and improve
5719         performance.
5720         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
5721         Tiny performance improvement.
5723         * lisp/emacs-lisp/package.el (package--message): inhibit-message
5725 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
5727         Omit -Wstrict-overflow workaround in GCC 5
5728         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
5729         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
5731         Merge from gnulib
5732         This incorporates:
5733         2015-04-29 extern-inline: no need for workaround in GCC 5.1
5734         2015-04-26 file-has-acl: port to CentOS 6
5735         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
5737 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
5739         Set next-error-* in xref--xref-buffer-mode
5740         * xref.el (xref--xref-buffer-mode): Set `next-error-function' and
5741         `next-error-last-buffer'.
5742         (xref--next-error-function): New function.
5743         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
5745 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
5747         python.el: Fix warnings on looking-back calls missing LIMIT
5748         * lisp/progmodes/python.el (python-shell-accept-process-output):
5749         Pass LIMIT arg to looking-back.
5751 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5753         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress
5754         (package--download-and-read-archives): Use pushnew instead of
5755         append.  If something terrible happened during a previous
5756         download, simply refreshing should now make things work again.
5758 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
5760         Introduce etags-xref-find-definitions-tag-order
5761         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
5762         New variable.
5763         (etags--xref-find-definitions): Use it (bug#19468).
5765 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
5767         PATH- and completion-related fixes in Eshell on MS-Windows
5768         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
5769         MS-Windows, prepend "." to list of directories produced from PATH,
5770         as Windows always implicitly searches the current directory first.
5771         (eshell-force-execution): Make it have a non-nil default value on
5772         MS-Windows and MS-DOS.
5773         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
5774         eshell-force-execution is non-nil, complete on readable files and
5775         directories, not only executables.  When running on MS-Windows,
5776         prepend "." to list of directories produced from PATH, as Windows
5777         always implicitly searches the current directory first.
5779 2015-04-29  Sam Steingold  <sds@gnu.org>
5781         bury RCIRC buffers when there is no activity
5782         lisp/net/rcirc.el (rcirc-non-irc-buffer): remove
5783         (rcirc-bury-buffers): new function
5784         (rcirc-next-active-buffer): when there is no new activity, use
5785         `rcirc-bury-buffers' to hide all RCIRC buffers
5787 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
5789         Fix DBUS query result parsing for secrets-search-items
5790         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
5791         parsing.  The function assumed that return value of the
5792         SearchItems method called on a collection is a list of two lists,
5793         however this is true only when no collection is specified.  GNOME
5794         had used to incorrectly return a list of two lists in both cases,
5795         but this was already fixed:
5796         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
5797         incorrect information in the secrets-search-items’ docstring.
5798         (Bug#20449)
5800 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
5802         * lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'
5803         (byte-compile--message): Use `inhibit-message' instead of hiding
5804         the previous message with (message nil).
5806 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
5808         Remove the deprecated INTERNAL_FIELD macro by expanding it
5809         * src/lisp.h (INTERNAL_FIELD): Remove.
5810         (DEFVAR_KBOARD): Modify accordingly.
5811         * alloc.c, buffer.c, buffer.h, category.c, keyboard.c, keyboard.h:
5812         * syntax.c: Adjust users.
5813         * src/buffer.c (compact_buffer): Use BVAR.
5815 2015-04-29  Glenn Morris  <rgm@gnu.org>
5817         Replace an obsolete function alias
5818         * lisp/isearch.el (isearch-yank-x-selection):
5819         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
5820         (mouse-drag-secondary-moving):
5821         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
5822         Replace obsolete alias x-get-selection with gui-get-selection.
5824 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
5826         * lisp/mail/rmailsum.el: Use lexical-binding.
5828 2015-04-29  Glenn Morris  <rgm@gnu.org>
5830         * test/automated/package-test.el (package-test-update-archives-async):
5831         Skip test on hydra.nixos.org.
5833 2015-04-28  Glenn Morris  <rgm@gnu.org>
5835         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
5836         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
5837         (foldout-mouse-hide-or-exit): Use new names for outline functions.
5839         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
5840         Update for 2014-06-26 hideif.el change.
5842         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
5843         (rmail--decode-and-apply): New function.
5844         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
5846         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
5848 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5850         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
5851         (package-menu--refresh): Delegate obsolete-hiding to
5852         `package--remove-hidden'.
5853         (package--remove-hidden): Disregard high-priority package if it is
5854         older than the installed one.
5856 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
5858         Update source file encoding list
5859         Update admin/notes/unicode, along with coding system cookies in
5860         other files, so that the two match each other better.
5861         * admin/notes/unicode: lisp/language/ethio-util.el and
5862         lisp/language/ethiopic.el also use utf-8-emacs.
5863         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
5864         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
5865         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
5866         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
5867         * etc/refcards/sk-survival.tex:
5868         Add "coding: utf-8" so that this file is not mishandled in a
5869         Latin-1 or Big-5 locale.
5870         * lisp/international/robin.el, lisp/org/ox-ascii.el:
5871         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
5872         * lisp/language/ethio-util.el: Fix trailer.
5874 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
5876         Fix synchronous invocation of Ispell
5877         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
5878         value to ispell-process-directory before calling ispell-init-process.
5879         Don't call set-process-coding-system if ispell-async-processp is nil.
5880         (Bug#20448)
5882 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
5884         * lisp/emacs-lisp/package.el: Skip space and comments in init file
5885         (package--ensure-init-file): Insert snippet at first
5886         non-whitespace non-comments line.  Respects local-vars at the top
5887         of the file.
5889 2015-04-28  Glenn Morris  <rgm@gnu.org>
5891         * lisp/mail/rmail.el (rmail-copy-headers):
5892         Handle rmail-nonignored-headers being nil.  (Bug#18878)
5894         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
5896         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
5897         Don't get confused by a bzrlib version mismatch warning.
5899 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5901         Change default location of EUDC options file
5902         * NEWS: Document change to EUDC options file's default location.
5903         * lisp/net/eudc-vars.el (eudc-options-file): Use
5904         `locate-user-emacs-file' to change default options file location.
5906 2015-04-27  Glenn Morris  <rgm@gnu.org>
5908         * test/automated/package-test.el (package-test-update-archives-async):
5909         Try to handle the test server script dying.
5911 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5913         * lisp/saveplace.el (save-place-mode): New minor mode.
5914         (save-place): Redefine as an obsolete alias.
5916         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
5917         * lisp/midnight.el: Use lexical-binding.
5918         (midnight-mode): Make it a proper minor mode.
5919         (midnight-buffer-display-time): Make arg non-optional.
5920         (midnight-find): Remove.
5921         (clean-buffer-list-kill-never-regexps)
5922         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
5923         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
5924         contain functions.
5925         (clean-buffer-list): Use cl-find.
5926         Allow clean-buffer-list-kill-never-regexps to contain functions.
5928 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
5930         Bump version of seq.el to 1.5
5931         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
5932           from seq-doseq.  Bump version number of seq.el.
5934 2015-04-27  Glenn Morris  <rgm@gnu.org>
5936         * lisp/mail/rmail.el (rmail-reply):
5937         Decode subject before matching "Re:" prefix.  (Bug#20396)
5939 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
5941         * lisp/emacs-lisp/package.el: Small improvements
5942         (package--with-work-buffer-async): More informative error.
5943         (package-install-user-selected-packages): Rename to
5944         `package-install-selected-packages'.
5946 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5948         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
5949         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
5950         (eieio--class-make): Remove leftover `tag'.
5952 2015-04-27  Glenn Morris  <rgm@gnu.org>
5954         * lisp/gnus/message.el (gnus-extract-address-components):
5955         Remove bogus declaration that was masking previous problem.
5957 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
5959         * lisp/gnus/message.el (message-insert-formatted-citation-line):
5960         Fix typo.  (Bug#20318)
5962 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5964         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
5966         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
5967         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
5968         the buffer in yet another frame.
5969         (reftex-toc-visit-location): Make sure toc-window has focus at the end
5970         when `final' is nil.
5971         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
5972         silence warnings.  Use `--' to clarify that it's internal.
5973         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
5974         (reftex-toc-promote): Clarify unused argument.
5975         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
5976         Add `reftex--' prefix.  Fix all users.
5977         (reftex-toc-promote-prepare): Use _ for dummy variable.
5978         (reftex-toc-restore-region): Rename `m
5980 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
5982         Fix a typo in bibtex.el
5983         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
5984         last change.  (Bug#20429)
5986         Fix redisplay of frame after loading new fonts
5987         * src/xdisp.c (redisplay_internal): When retrying redisplay of a
5988         frame because new fonts were loaded, disable all redisplay
5989         optimizations on that frame by calling SET_FRAME_GARBAGED.
5990         (Bug#20410)
5992 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
5994         * lisp/info.el (Info-menu): Properly provide the `default'
5995         (Bug#20391)
5997         * elisp-mode.el: Catch errors from `documentation'
5998         (Bug#20418)
5999         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
6000         Catch errors from documentation.
6001         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
6003 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
6005         lisp/emacs-lisp/package.el: Move variables to silence byte-compiler
6006         Remove redundant ":group 'package".
6008 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
6010         Fix a typo in rmail.el
6011         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
6012         last commit.  (Bug#20429)
6014 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
6016         Introduce xref-prompt-for-identifier
6017         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
6018         (xref--read-identifier): Use it
6019         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
6021 2015-04-26  João Távora  <joaotavora@gmail.com>
6023         `tex-insert-quote' after single `'' opens quotes instead of closing
6024         Without this, it's very hard to precede double quotes with the
6025         apostrophe character, i.e. insert the sequence '``
6026         (quote-backquote-backquote), commonly useful in portuguese, for
6027         instance.
6028         * tex-mode.el (tex-insert-quote): Add ?' to the list of preceding
6029         chars making `tex-insert-quote' be in the "opening" context.
6031 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
6033         Pass `id' to `completing-read' as def instead of initial input
6034         * xref.el (xref--read-identifier): Pass `id' to `completing-read'
6035         as the default value instead of initial input
6036         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
6038 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
6040         Don't freeze with unreadable processes
6041         Don't freeze if an exiting process can't be read from. (Bug#19860).
6042         This fixes a bug I introduced in
6043         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
6044         "* process.c: Add sanity checks for file descriptors."
6045         Dmitry Gutov did most of the legwork in finding the problem.
6046         * src/process.c (wait_reading_process_output):
6047         Treat non-running processes that can't be read from
6048         the same as other non-running processes.
6050 2015-04-25  Alan Mackenzie  <acm@muc.de>
6052         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
6053         * lisp/subr.el (remove-yank-excluded-properties): put
6054         `with-silent-modifications' around only the last three lines of code.
6056 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
6058         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
6059         (package--all-keywords): Deleted variable.
6061         * etc/NEWS: Document package-hiding functionality
6063 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
6065         lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
6067         Clarify the doc string of 'replace-regexp-in-string'
6068         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
6070         Improve doc string of 'insert-buffer-substring'
6071         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
6073         MS-Windows followup for the recent gnulib update
6074         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
6075         acl-internal.c.
6077 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
6079         Spelling fixes
6081         Merge from gnulib
6082         This incorporates:
6083         2015-04-24 file-has-acl: new module, split from acl
6084         2015-04-24 manywarnings: add GCC 5.1 warnings
6085         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
6086         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
6087         2015-04-15 acl: On Linux, check for acls without libacl
6088         2015-04-14 tempname: avoid unused parameter warnings (trivial)
6089         * lib/acl-internal.c: New file, from gnulib.
6090         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
6091         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
6092         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
6093         Update from gnulib.
6095         Port --enable-gcc-warnings to GCC 5.1 x86-64
6096         * lib-src/ebrowse.c (dump_sym):
6097         * lib-src/hexl.c (main):
6098         * src/ccl.c (ccl_driver):
6099         * src/character.c (string_escape_byte8):
6100         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
6101         * src/gnutls.c (Fgnutls_boot):
6102         * src/gtkutil.c (xg_check_special_colors):
6103         * src/image.c (x_build_heuristic_mask):
6104         * src/print.c (safe_debug_print, print_object):
6105         * src/term.c (produce_glyphless_glyph):
6106         * src/xdisp.c (get_next_display_element)
6107         (produce_glyphless_glyph):
6108         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
6109         Don't use a signed format to print an unsigned integer, or vice
6110         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
6111         * src/image.c (png_load_body, jpeg_load_body):
6112         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
6114 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
6116         Add new faces to tsdh-light-theme
6117         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
6118         definitions for Info-quoted, ace-jump-face-foreground,
6119         hl-paren-face, show-paren-match, and show-paren-mismatch.
6121 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
6123         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
6125 2015-04-24  Glenn Morris  <rgm@gnu.org>
6127         * build-aux/gitlog-to-emacslog:
6128         Use raw log format rather than wrapped one.
6130 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
6132         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code
6133         (seq-doseq): Fix out-of-scope binding.
6134         Don't call `seq-length at every iteration.
6135         Reduce `if's from 3 to 2 per iteration.
6136         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
6138 2015-04-24  Glenn Morris  <rgm@gnu.org>
6140         * lisp/textmodes/text-mode.el (text-mode-hook):
6141         Move text-mode-hook-identify to default.
6143         * lisp/mouse.el (minor-mode-menu-from-indicator):
6144         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
6146         * lisp/help-fns.el (describe-function): More type checking.
6147         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
6149         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
6150         (Bug#20325)
6152 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
6154         shr: strip leading whitespace when expanding URLs
6155         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
6157 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
6159         Clarify "co-authored" some more
6161         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
6163         Clarify doc strings of functions that search for properties
6164         * src/textprop.c (Fnext_char_property_change)
6165         (Fprevious_char_property_change)
6166         (Fnext_single_char_property_change)
6167         (Fprevious_single_char_property_change, Fnext_property_change)
6168         (Fnext_single_property_change, Fprevious_property_change)
6169         (Fprevious_single_property_change): Clarify doc strings wrt return
6170         value and the optional LIMIT argument.  (Bug#20411)
6172 2015-04-24  Glenn Morris  <rgm@gnu.org>
6174         * test/automated/message-mode-tests.el (message-mode-propertize):
6175         Handle non-writable HOME; eg on hydra.nixos.org.
6177 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
6179         Avoid starting threads by w32-shell-execute
6180         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
6181         local file names, before invoking ShellExecute.  (Bug#20220)
6183 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
6185         Fix following doc-links in `widget-documentation-link-action'
6186         * lisp/wid-edit.el (widget-documentation-link-action): Make
6187         following doc-links less simplistic (Bug#20398).
6189 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6191         Improve EUDC manual
6192         * eudc.texi (Troubleshooting): New LDAP troubleshooting subsection.
6194 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
6196         Omit needless "\ " after multibyte then newline
6197         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
6198         (print_object): When print-escape-multibyte is non-nil and a
6199         multibyte character is followed by a newline or formfeed, followed
6200         by a hex digit, don't output a needless "\ " before the hex digit.
6201         * test/automated/print-tests.el (print-hex-backslash): New test.
6203 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
6205         Add a new `inhibit-message' variable
6206         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
6207         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
6208         `inhibit_message' is non-zero.
6209         * etc/NEWS: Add an entry.
6210         * doc/lispref/display.texi: Add an entry for `inhibit-message',
6211           mention it in `message'.
6213 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
6215         Fix last fix in `display-buffer-record-window'.
6216         * lisp/window.el (display-buffer-record-window): Fix last fix.
6218 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
6220         Minor edits in CONTRIBUTE
6221         * CONTRIBUTE: Rearrange instructions about log messages.
6222         Use "Git" capitalized all over.
6223         Use 2 spaces between sentences.
6225 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
6227         * lisp/files.el (basic-save-buffer): Fix argument
6229         * lisp/cus-edit.el (custom-file): Consider init-file-had-error
6230         In case `(and (null custom-file) init-file-had-error)' do the same
6231         thing we'd do if `(null user-init-file)', which is to either error out
6232         or return nil.  This is in line with `custom-save-all' which would
6233         throw an error in that situation. (bug#20355)
6235         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu
6236         (package-menu-hide-low-priority): New variable, see its doc.
6237         (package-archive-priorities): Update doc.
6238         (package-desc-priority): New function.
6239         (package-desc-priority-version): Use it.
6240         (package--remove-hidden): New function.
6241         (package-menu--refresh): Use it.
6243         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages
6244         (package-menu--hide-obsolete): New variable.
6245         (package--remove-hidden): Use it.
6246         (package-menu-hide-obsolete): New interactive function to toggle
6247         the variable.
6248         (package--quick-help-keys): Document it.
6249         (package-menu-async): Add :version tag.
6250         (package-menu-mode-map): Bind package-menu-hide-obsolete.
6251         (package-desc-status): Indicate non-installed obsolete packages as
6252         avail-obso.
6253         (package-menu-mark-install): Allow installation of avail-obso.
6254         (package-menu--status-predicate): Sort avail-obso with available.
6256 2015-04-22  Alan Mackenzie  <acm@muc.de>
6258         On C-y, stop some text property entries being written into buffer-undo-list
6259         lisp/subr.el (remove-yank-excluded-properties): enclose the code in
6260         `with-silent-modifications'.
6262 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
6264         In display-buffer-record-window record selected window if necessary.
6265         * lisp/window.el (display-buffer-record-window): Store selected window
6266         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
6268 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
6270         Fix reftex-citation bug
6271         * reftex-cite.el (reftex-extract-bib-entries): Fix
6272         `wrong-type-argument stringp nil' error that occurs when AUCTeX
6273         integration is enabled and there are no citations in the document
6274         so far.
6276 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
6278         Add or reset based on the presence of MERGE_HEAD
6279         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
6280         `vc-git-resolve-when-done' to `after-save-hook' in either case.
6281         (vc-git-conflicted-files): Add a TODO.
6282         (vc-git-resolve-when-done): Depending on the presence of
6283         MERGE_HEAD, either update the resolved file in the index, or
6284         remove it from there.  (Bug#20292)
6286 2015-04-21  Glenn Morris  <rgm@gnu.org>
6288         * lisp/custom.el (custom-declare-group): No need to purecopy
6289         custom-current-group-alist members following recent change to set
6290         it to nil before dumping.
6292         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
6293         (Bug#20399)
6295 2015-04-21  Daniel Colascione  <dancol@dancol.org>
6297         Unbreak no-op buffer save message
6298         * lisp/files.el (save-buffer): Pass interactive flag to `basic-save-buffer`
6299         (basic-save-buffer): Accept called-interactively as an argument instead of
6300         directly invoking called-interactively-p, which will always yield nil
6301         in that context.
6303 2015-04-21  Alan Mackenzie  <acm@muc.de>
6305         CC Mode: Do nothing in before/after-change-functions for text property changes
6306         Fixes bug#20266.
6307         lisp/progmodes/cc-mode.el (c-basic-common-init): Make
6308         yank-handled-properties buffer local, and remove 'category from it.
6309         (c-called-from-text-property-change-p): New function.
6310         (c-before-change): Don't do anything if a call of the new function
6311         returns non-nil.
6312         (c-after-change): Don't do much if a call of the new function returns
6313         non-nil.
6314         (c-extend-after-change-region): Put changes to text property 'fontified
6315         inside c-save-buffer-state.
6317 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
6319         Fix byte-compiler warnings about looking-back.
6320         * lisp/vc/log-view.el (log-view-end-of-defun-1):
6321         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
6322         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
6323         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
6324         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
6325         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
6326         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
6327         * lisp/org/org.el (org-insert-heading, org-sort-entries):
6328         * lisp/org/org-mouse.el (org-mouse-end-headline)
6329         (org-mouse-context-menu):
6330         * lisp/org/org-clock.el (org-clock-cancel):
6331         * lisp/man.el (Man-default-man-entry):
6332         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
6333         (rmail-ensure-blank-line):
6334         * lisp/mail/footnote.el (Footnote-delete-footnote):
6335         * lisp/mail/emacsbug.el (report-emacs-bug):
6336         * lisp/info.el (Info-follow-reference, Info-fontify-node):
6337         * lisp/info-look.el (info-lookup-guess-custom-symbol):
6338         * lisp/help-fns.el (help-fns--key-bindings):
6339         * lisp/files.el (hack-local-variables):
6340         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
6341         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
6342         (viper-complete-filename-or-exit):
6343         * lisp/emulation/viper-cmd.el (viper-backward-indent):
6344         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
6345         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
6346         * lisp/cus-edit.el (custom-face-edit-value-create):
6347         * lisp/calendar/todo-mode.el (todo-set-item-priority)
6348         (todo-filter-items-1, todo-convert-legacy-files)
6349         (todo-prefix-overlays): Add explicit second arg to looking-back.
6351 2015-04-20  Glenn Morris  <rgm@gnu.org>
6353         Avoid non-nil current-load-list at startup
6354         * src/process.c (init_process_emacs): Move Fprovide statement...
6355         (syms_of_process): ... to here.
6357         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
6359         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value in emacs -Q.
6361 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
6363         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
6364         (Bug#20330)
6366 2015-04-20  Glenn Morris  <rgm@gnu.org>
6368         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
6370         Tweak exec-path in uninstalled case
6371         * src/callproc.c (init_callproc): If running uninstalled, do not
6372         include eventual installation libexec directory in exec-path.
6374 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
6376         * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords
6377         (package-menu-filter): Accept a list of keywords.
6378         (package--all-keywords): New variable to cache known keywords.
6379         (package-all-keywords): Populate it if necessary.
6380         (package-refresh-contents): Reset it.
6382         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
6383         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
6384         as special keywords which match agains package archive and status
6385         respectively.
6386         * etc/NEWS: Document it.
6388 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
6390         Describe and index "empty overlays".
6391         * doc/lispref/display.texi (Overlays): Improve indexing.
6392         (Managing Overlays): Describe "empty" overlays.
6393         (Overlay Properties, Finding Overlays): Add cross-reference to
6394         where empty overlays are described.
6396 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6398         Spelling fixes
6400         Quote 'like this' in top-level files
6401         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
6402         Prefer to single-quote 'like this' (instead of the older style
6403         `like this').
6404         * configure.ac: Fix some space-before-tab problems that 'git commit'
6405         complained about.
6407         Use bool for boolean in textprop.c, undo.c
6408         * src/textprop.c (soft, hard): Now constants instead of macros.
6409         (validate_plist): Rewrite to avoid need for boolean local.
6410         (interval_has_all_properties, interval_has_some_properties)
6411         (interval_has_some_properties_list, add_properties)
6412         (remove_properties, get_char_property_and_overlay)
6413         (Fnext_single_char_property_change)
6414         (Fprevious_single_char_property_change, add_text_properties_1)
6415         (Fremove_text_properties, Fremove_list_of_text_properties)
6416         (copy_text_properties):
6417         * src/tparam.c (tparam1):
6418         * src/undo.c (record_change, record_property_change)
6419         (syms_of_undo):
6420         Use 'true' and 'false' for booleans.
6422 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6424         Call `smerge-start-session' even when dealing with a stash conflict
6425         * lisp/vc/vc-git.el (vc-git-find-file-hook):
6426         Call `smerge-start-session' even when dealing with a stash
6427         conflict (bug#20292).
6429 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
6431         Add option to eshell/clear to clear scrollback.
6432         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
6433         (eshell/clear): Add an optional SCROLLBACK argument. If non-nil,
6434         scrollback contents are cleared.
6435         * etc/NEWS: Describe change.
6436         * doc/misc/eshell.texi: Add entry for `clear'.
6438 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6440         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
6441         where either will do.
6443 2015-04-19  Steve Purcell  <steve@sanityinc.com>
6445         Assume package archive-contents are UTF8-encoded
6446         * lisp/emacs-lisp/package.el (package--read-archive-file):
6447         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
6448         downloaded and cached archive-contents files, so that non-ASCII
6449         characters in package descriptions are displayed correctly in the
6450         `list-packages' menu. (Bug#20231)
6452 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
6454         Abort when looking at stashed changes
6455         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
6456         stashed changes (bug#20292).
6458 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
6460         Refactor low-level printing for simplicity
6461         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
6462         PRINTPREPARE; doable now that we assume C99.  All callers changed.
6463         (PRINTCHAR): Remove, as it adds more mystery than clarity.
6464         All callers changed.
6465         (strout): Assume that caller computes length.  All callers changed.
6466         (print_c_string): New function.
6467         (write_string, write_string_1): Compute length instead of asking
6468         the caller to compute it.  All callers changed.
6469         (write_string): Simplify by using write_string_1.
6470         (write_string_1): Simplify by using print_c_string.
6471         (Fterpri): Compute default val more clearly.
6472         (Fprin1_to_string, print_object):
6473         Assume C99 to avoid unnecessary nesting.
6474         (print_object): Prefer print_c_string to multiple printchar, or
6475         to calling strout with -1 length.  Coalesce into sprintf when
6476         this is easy.
6478 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
6480         Prefer "Bug#1234" in commit messages (Bug#20325)
6481         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
6482         as this isn't useful for Git.
6483         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
6485 2015-04-18  Glenn Morris  <rgm@gnu.org>
6487         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
6488         (Bug#19506)
6490 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
6492         * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function.
6493         (Bug#19505)
6495 2015-04-18  Glenn Morris  <rgm@gnu.org>
6497         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
6499         * doc/emacs/misc.texi (Sorting): Small edit.
6500         (Bug#19896)
6502         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
6504 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
6506         css-mode.el: Support multi-line comment filling
6507         (Bug#20256)
6508         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
6509         comment filling.
6510         (css-adaptive-fill): New function.
6511         (css-mode): Set `adaptive-fill-function'.
6512         (scss-mode): Set `comment-continue'.
6514 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
6516         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages.
6518 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
6520         Minor improvements in Bulgarian input methods
6521         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
6522         Replace U+042C with U+045D, as the former character is not used in
6523         the modern Bulgarian language.
6524         (Bug#20350)
6526 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
6528         Improve EUDC manual
6529         * eudc.texi (LDAP Configuration): Mention simple and SASL
6530         authentication schemes.  Add index items.  Shorten example server
6531         name.
6533 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
6535         Don't show both feature and function with the same name
6536         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6537         Don't show both feature and function with the same name.
6539         (elisp--xref-identifier-location): Skip variable, if it's also a functiong
6540         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
6541         Avoid returning both the variable and the function for the same
6542         minor mode.
6544 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
6546         Fix fontification of keywords clobbered by the prompt.
6547         * lisp/comint.el (comint-output-filter): Remove the uses of
6548         with-silent-modifications I introduced as part of the last change.
6549         This fixes, e.g., erratically missing highlighting when running
6550         ./configure --help; ./configure in a shell-mode buffer with
6551         compilation-shell-minor-mode turned on.
6553 2015-04-17  Glenn Morris  <rgm@gnu.org>
6555         * admin/authors.el (authors-valid-file-names, authors-renamed-files-alist): Additions.
6557 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
6559         * lisp/indent.el (indent-region): Don't deactivate the mark
6560         (Bug#20357)
6562 2015-04-17  Sam Steingold  <sds@gnu.org>
6564         lisp/net/rcirc.el (defun-rcirc-command): mark `target' as ignorable
6566 2015-04-16  Leo Liu  <sdl.web@gmail.com>
6568         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
6570 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
6572         * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more.
6574 2015-04-16  Glenn Morris  <rgm@gnu.org>
6576         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
6578 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
6580         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
6581         * configure.ac (LIBJPEG): Leave it empty for MinGW.
6583 2015-04-16  Glenn Morris  <rgm@gnu.org>
6585         * lisp/replace.el (query-replace-from-to-separator): Delay initialization
6586         to avoid rogue setting after startup.
6588 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
6590         Pre-4.6 GCC succeeds with unknown option
6591         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
6592         (Bug#20338)
6594 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6596         '[:graph:]' now excludes whitespace, not just ' '
6597         * doc/lispref/searching.texi (Char Classes):
6598         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
6599         sans whitespace (not sans space).
6600         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
6601         not just space.
6602         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
6604 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6606         (looking-back): Make the second arg non-optional.
6607         * lisp/subr.el (substitute-key-definition-key, special-form-p)
6608         (macrop): Drop deprecated second arg to indirect-function.
6609         (looking-back): Make the second arg non-optional.
6611         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
6612         command is actually sent to the shell.
6614 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6616         Port jpeg configuration to Solaris 10 with Sun C
6617         * configure.ac: Check for jpeglib 6b by trying to link it, instead
6618         of relying on cpp magic that has problems in practice.  Check for
6619         both jpeglib.h and jerror.h features.  Remove special case for
6620         mingw32, which should no longer be needed (and if it were needed,
6621         should now be addressable by hotwiring emacs_cv_jpeglib).
6622         (Bug#20332)
6624 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6626         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
6627         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
6628         Move to elisp-mode.el.
6629         (lisp-mode-variables): (Re)move elisp-specific settings.
6630         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
6631         from lisp-mode-variables.
6632         (elisp--font-lock-flush-elisp-buffers): New function, moved from
6633         lisp-mode.el.
6635         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
6636         Avoid pathological slowdown at top-level in large file.
6638 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6640         Standardize names of ChangeLog history files
6641         Suggested by Glenn Morris in:
6642         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
6643         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
6644         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
6645         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
6646         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
6647         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
6648         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
6649         Remove.
6651         Split top-level entries into pre- and post-April 7
6652         This more clearly distingiushes pre-April-7 ChangeLog entries (which
6653         are for top-level files only) from post-April-7 entries (which are
6654         about files at all levels.  Problem reported by Glenn Morris in:
6655         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
6656         * ChangeLog.1: Move post-April-7 entries from here ...
6657         * ChangeLog.2: ... to this new file.
6658         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
6660 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6662         Fix recent cus-start changes that added customize-rogues
6663         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
6664         vars early.
6665         * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue.
6667 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
6669         Define cl-concatenate as an alias to seq-concatenate
6670         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
6671           code by making cl-concatenate an alias to seq-concatenate.
6673 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
6675         * src/lread.c (intern_1): Make sure we'd find the symbol we add
6676         (Bug#20334)
6677         * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings.
6679 2015-04-15  Glenn Morris  <rgm@gnu.org>
6681         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
6683 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
6685         Clean up gnus-uu saving code slightly
6686         * gnus-uu.el (gnus-uu-save-article): Make the
6687         save-restriction/widen calls make more sense.
6689 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
6691         Make [:graph:] act like [:print:] sans space
6692         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
6693         [:graph:] so that it matches everything that [:print:] does,
6694         except for space.
6695         * doc/lispref/searching.texi (Char Classes):
6696         * etc/NEWS:
6697         * lisp/emacs-lisp/rx.el (rx):
6698         Document [:graph:] to be [:print:] sans ' '.
6699         * src/character.c, src/character.h (graphicp): New function.
6700         * src/regex.c (ISGRAPH) [emacs]: Use it.
6701         (BIT_GRAPH): New macro.
6702         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
6703         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
6704         Return BIT_GRAPH for RECC_GRAPH.
6705         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
6706         and ISPRINT if BIT_PRINT.
6708 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
6710         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
6711         Don't use call-next-method in a cl-defmethod.
6713         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
6714         (eieio--class-p): Remove, provided by cl-defstruct.
6716 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
6718         Add seq-intersection and seq-difference to the seq library
6719         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New
6720         functions.
6721         * test/automated/seq-tests.el: Add tests for seq-intersection and
6722         seq-difference.
6723         * doc/lispref/sequences.texi: Add documentation for seq-intersection
6724         and seq-difference.
6726 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
6728         * eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals
6730 2015-04-14  Sam Steingold  <sds@gnu.org>
6732         package--ensure-init-file: widen requires save-restriction
6734 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
6736         Improve the commit-msg Git hook for unibyte environments
6737         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
6738         in unibyte environments.  (Suggested by Paul Eggert
6739         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
6740         [:print:], based on UTF-8 sequences of the unprintable characters.
6742         Describe problems with cursor caused by Windows Magnifier
6743         * etc/PROBLEMS: Describe the problem with cursor shape on
6744         MS-Windows due to Windows Magnifier.
6745         (Bug#20271)
6747         Make [:print:] support non-ASCII characters correctly
6748         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
6749         (BIT_PRINT): New bit mask.
6750         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
6751         * src/character.c (printablep): New function.
6752         * src/character.h (printablep): Add prototype.
6753         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
6754         of 'print', 'alnum', and 'alphabetic'.
6755         * doc/lispref/searching.texi (Char Classes): Document the new
6756         behavior of [:print:].
6757         * etc/NEWS: Mention the new behavior of [:print:].
6759         Assign correct general-category and names to surrogates
6760         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
6761         surrogates.  This avoids assigning them the default
6762         general-category of 'Cn', i.e. unassigned codepoints.
6763         (unidata-get-name): Give surrogates synthetic names.
6765 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
6767         Assume C89 offsetof in xterm.c, xlwmenu.c
6768         * lwlib/xlwmenu.c (offset):
6769         * src/xterm.c (cvt_string_to_pixel_args):
6770         Use offsetof, not XtOffset.
6772 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
6774         Assume C89 offsetof in widget.c
6775         * src/widget.c (XtOffset): Remove; no longer needed.
6776         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
6778         Fix think-o in previous patch
6779         * src/window.c (count_windows, get_leaf_windows):
6780         Don't optimize count_windows incorrectly.
6782 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6784         Avoid some int overflows in window.c
6785         * src/print.c (print_object):
6786         * src/window.c (sequence_number):
6787         * src/window.h (struct window.sequence_number):
6788         Don't assume window sequence number fits in int.
6789         * src/window.c (window_select_count):
6790         * src/window.h (struct window.use_time, window_select_count):
6791         Don't assume window use time fits in int.
6792         * src/window.c (Fsplit_window_internal):
6793         Don't assume user-supplied integer, or sum, fits in int.
6794         (Fset_window_configuration, count_windows, get_leaf_windows)
6795         (save_window_save, Fcurrent_window_configuration):
6796         Use ptrdiff_t for object counts.
6797         (Fset_window_configuration): Omit unused local 'n'.
6798         (count_windows): Simplify by writing in terms of get_leaf_windows.
6799         (get_leaf_windows): Don't store through FLAT if it's null.
6800         (extract_dimension): New static function.
6801         (set_window_margins, set_window_fringes, set_window_scroll_bars):
6802         Use it to avoid undefined behavior when converting user-supplied
6803         integer to 'int'.
6805 2015-04-13  Glenn Morris  <rgm@gnu.org>
6807         Minor doc copyedits
6808         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
6809         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
6811 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
6813         [Gnus] Catch the invalid-operation that idna.el will issue
6814         * lisp/gnus/gnus-art.el (gnus-use-idna):
6815         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
6816         * lisp/gnus/message.el (message-use-idna):
6817         Catch the invalid-operation that idna.el will issue.
6819 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
6821         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
6823 2015-04-13  Sam Steingold  <sds@gnu.org>
6825         package--ensure-init-file: widen before looking for "(package-initialize)"
6827 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
6829         Change diff-switches default to `-u'
6830         (Bug#20290)
6831         * doc/emacs/files.texi (Comparing Files): Document the new default
6832         value of `diff-switches'.
6833         * doc/emacs/trouble.texi (Sending Patches): Document the preference
6834         for unified diff format.  Escape the plus in the suggested `-F' regexp
6835         value.
6836         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
6838 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6840         (gnus-group--setup-tool-bar-update): Fix last change
6841         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
6842         cursor-sensor-functions should be a list of functions.
6844 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
6846         Use gmm-called-interactively-p in Gnus
6847         * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p.
6849 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6851         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
6852         (Bug#20321)
6853         * lisp/cus-start.el (read-buffer-function): Don't advertize
6854         iswitchb-read-buffer any more.
6855         (iswitchb): Don't tweak this obsolete group any more.
6857 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
6859         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file
6861         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings
6862         Adding a string after a constructor's argument list will use
6863         that string as the constructor function docstring.  If this string
6864         is absent but the struct itself was given a docstring, use that as
6865         the constructor's docstring.
6866         Fixes (bug#17284).
6868 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6870         Deprecate `intangible' and `point-entered' properties
6871         * lisp/emacs-lisp/cursor-sensor.el: New file.
6872         * lisp/simple.el (pre-redisplay-functions): New hook.
6873         (redisplay--pre-redisplay-functions): New function.
6874         (pre-redisplay-function): Use it.
6875         (minibuffer-avoid-prompt): Mark obsolete.
6876         (redisplay--update-region-highlight): Adapt it to work as a function on
6877         pre-redisplay-functions.
6878         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
6879         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
6880         than point-entered to make the prompt intangible.
6881         * lisp/forms.el: Move `provide' calls to the end.
6882         (forms-mode): Don't use `run-hooks' on a local var.
6883         (forms--make-format, forms--make-format-elt-using-text-properties):
6884         Use cursor-intangible rather than `intangible'.
6885         (forms-mode): Enable cursor-intangible-mode.
6886         * lisp/isearch.el (isearch-mode): Use defvar-local.
6887         (cursor-sensor-inhibit): Declare.
6888         (isearch-mode): Set cursor-sensor-inhibit.
6889         (isearch-done): Set it back.
6890         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
6891         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
6892         any more.
6893         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
6894         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
6895         Add Edebug spec.
6896         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
6897         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
6898         inhibit-point-motion-hooks any more.
6899         (ses--cell-at-pos, ses--curcell): New functions, extracted from
6900         ses-set-curcell.
6901         (ses-set-curcell): Use them.
6902         (ses-print-cell, ses-setup): Use cursor-intangible instead of
6903         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
6904         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
6905         Use ses--cell-at-pos.
6906         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
6907         extracted from ses-command-hook.  Make them work with multiple windows
6908         displaying the same buffer.
6909         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
6910         Enable cursor-intangible-mode.
6911         (ses-command-hook): Remove cell highlight and mode-line update code.
6912         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
6913         Update for new name of text-property holding the cell name.
6914         (ses-rename-cell): Don't mess with mode-line-process.
6915         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
6916         cursor-sensor-functions property instead of point-entered.
6917         (erc-insert-timestamp-right, erc-format-timestamp):
6918         Use cursor-intangible rather than `intangible'.
6919         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
6920         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
6921         cursor-sensor-mode if needed.
6922         (erc-echo-timestamp): Adapt to calling convention of
6923         cursor-sensor-functions.
6924         (erc-insert-timestamp-right): Remove unused vars `current-window' and
6925         `indent'.
6926         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
6927         (gnus-update-group-mark-positions): Remove unused `topic' var.
6928         (gnus-group-insert-group-line): Remove unused var `header'.
6929         (gnus-group--setup-tool-bar-update): New function.
6930         (gnus-group-insert-group-line): Use it.
6931         (gnus-group-update-eval-form): Declare local
6932         dynamically-bound variables.
6933         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
6934         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
6935         (gnus-group-prepare-topics, gnus-topic-update-topic)
6936         (gnus-topic-change-level, gnus-topic-catchup-articles)
6937         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
6938         Use inhibit-read-only.
6939         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
6940         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
6941         * lisp/textmodes/reftex-index.el (reftex-display-index):
6942         Use cursor-intangible-mode if available.
6943         (reftex-index-post-command-hook): Check cursor-intangible.
6944         * lisp/textmodes/reftex-toc.el (reftex-toc):
6945         Use cursor-intangible-mode if available.
6946         (reftex-toc-recenter, reftex-toc-post-command-hook):
6947         Check cursor-intangible.
6948         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
6949         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
6950         (sgml-tags-invisible): Use with-silent-modifications and
6951         inhibit-read-only.  Enable cursor-sensor-mode.
6952         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
6953         calling convention of cursor-sensor-functions.
6954         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
6955         (table-point-entered-cell-hook, table-point-left-cell-hook):
6956         Don't autoload.
6957         (table-cell-entered-state): Remove var.
6958         (table--put-cell-point-entered/left-property)
6959         (table--remove-cell-properties):
6960         Use cursor-sensor-functions rather than point-entered/left.
6961         (table--point-entered/left-cell-function): Merge
6962         table--point-entered-cell-function and table--point-left-cell-function
6963         and adjust to calling convention of cursor-sensor-functions.
6965         Update ldef-boots.el
6967         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
6969         * doc/misc/eieio.texi: Don't advertize now obsolete constructs
6971         Collapse successive char deletions in the undo log
6972         * src/cmds.c (remove_excessive_undo_boundaries): New function,
6973         extracted from Fself_insert_command.
6974         (Fdelete_char, Fself_insert_command): Use it.
6975         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
6976         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
6978         xterm and OSC 52: Add NEWS entry, and tweak the code
6979         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition to
6980         top-level.
6981         (terminal-init-xterm-activate-set-selection): Set a terminal property.
6982         (xterm--set-selection): Use it instead of checking the value of
6983         `terminal-initted'.  Don't use string-bytes.
6985 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
6987         xterm.el: Implement OSC-52 functionality for setting the X selection
6988         * lisp/term/xterm.el (xterm-max-cut-length): New var.
6989         (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs.
6990         (terminal-init-xterm, xterm--version-handler): Use them.
6992 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
6994         Remove left over code from when we used an obsolete/loaddefs.el file
6995         * lisp/subr.el (do-after-load-evaluation): Remove left over code from when
6996         we used an obsolete/loaddefs.el file.
6998         * cedet/semantic/fw.el: Use declare.
6999         * cedet/semantic/fw.el (semantic-exit-on-input)
7000         (semanticdb-without-unloaded-file-searches): Use declare.
7001         (semantic-fw-add-edebug-spec): Remove.
7003         (completion-lisp-mode-hook): Use completion-separator-chars
7004         * lisp/completion.el (completion-lisp-mode-hook):
7005         Use completion-separator-chars rather than local key binding.
7007         * src/*.c: Set deactivate_mark buffer-locally
7008         (Bug#20260)
7009         * src/insdel.c (prepare_to_modify_buffer_1):
7010         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
7011         buffer-locally.
7013 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7015         python.el: Keep symmetry on sexp navigation with parens
7016         (Bug#19954)
7017         * lisp/progmodes/python.el
7018         (python-nav--forward-sexp): Add argument skip-parens-p.
7019         (python-nav-forward-sexp, python-nav-backward-sexp)
7020         (python-nav-forward-sexp-safe)
7021         (python-nav-backward-sexp-safe): Use it.
7022         * test/automated/python-tests.el
7023         (python-nav-forward-sexp-1): Fix test.
7025 2015-04-12  João Távora  <joaotavora@gmail.com>
7027         Don't use `setq-local' in Gnus code
7028         This might break upstream builds with older Emacsen
7029         * lisp/gnus/message.el (message-mode): Use `set' and
7030         `make-local-variable' instead of `setq-local'.
7032 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
7034         Update Makefile.in's .PHONY dependencies
7035         * Makefile.in (change-history-commit, master-branch-is-current)
7036         (no-ChangeLog): Now phony.
7038         Remove configure's --with-mmdf option
7039         * configure.ac (MAIL_USE_MMDF): Remove.
7040         * etc/NEWS: Document this.
7041         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
7042         (Bug#20308)
7044         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
7045         That way, 'make install' won't think it's a man page.
7046         Reported by Ashish SHUKLA in:
7047         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
7049         Improve 'make change-history' prereq tests
7050         * Makefile.in (gen_origin): Fix to match what's in the master branch.
7051         (no-ChangeLog, master-branch-is-current): New rules.
7052         (change-history): Depend on them, to avoid similar future problems.
7053         Escape the local-variables string to pacify Emacs when editing
7054         Makefile.in.
7056 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7058         * test/automated/package-test.el (with-package-test): Kill Packages buffer
7060         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt
7061         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
7062         "Upgrade" last, and use capitalized instead of all-caps.
7064         * lisp/emacs-lisp/package.el: Completely silence async operations
7065         (package--make-autoloads-and-stuff): Silence autoloads.
7066         (package--save-selected-packages): New function, silences
7067         `customize-save-variable'.
7068         (package--user-selected-p, package-install-from-buffer)
7069         (package-delete, package-install): Use it.
7070         (package-install-from-archive)
7071         (package-menu--perform-transaction): Silence.
7072         (package-menu-execute): Feedback when operation starts.
7074         Use delay-mode-hooks when visiting the init-file
7075         * lisp/emacs-lisp/package.el (package--ensure-init-file):
7076         delay-mode-hooks
7077         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks
7079         * lisp/files.el: Only message when saving if save-silently is nil
7080         (save-silently): New variable.
7081         (files--message): New function.
7082         (find-file-noselect, save-buffer, basic-save-buffer)
7083         (basic-save-buffer-2, save-some-buffers, not-modified)
7084         (append-to-file): Use them.
7086 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
7088         Support debug declarations in pcase macros
7089         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
7090         (pcase-UPAT): Use it.  Remove "`".
7091         (pcase--edebug-match-macro): New function.
7092         (pcase-defmacro): Support debug declarations.
7093         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
7094         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
7095         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>: Add debug declaration.
7097         pcase.el: Edebug support for `app' and vector patterns
7098         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
7099         (pcase-UPAT): Use it. Support `app' patterns.
7100         (pcase-QPAT): Support vector patterns.
7102         edebug.el: Disambiguate vector specifications
7103         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
7104         `(vector ...)' as a vector specification, not as a sublist.
7106         (gnus-summary-refer-thread): Don't clobber unread articles
7107         This fixes a bug where `A T' causes "random" articles to become marked
7108         as read.
7109         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
7110         gnus-newsgroup-unreads remains sorted.
7112         mouse-sel.el: Fix mouse-sel-get-selection-function
7113         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
7114         Use gui--last-selected-text-primary instead of no longer existing
7115         gui-last-selected-text.
7117         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
7119         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
7121 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
7123         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate
7125         * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer
7127         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations
7128         (byte-compile--interactive): New var.
7129         (byte-compile--message): New function.
7130         (byte-compile-log-1, byte-force-recompile)
7131         (byte-recompile-directory, byte-recompile-file)
7132         (byte-compile-file, compile-defun)
7133         (byte-compile-file-form-defmumble, byte-compile)
7134         (byte-compile-file-form-defalias, display-call-tree): Use it.
7136         * lisp/files.el: Don't message when nothing happened
7137         (save-some-buffers, basic-save-buffer): Before messaging to say
7138         "nothing was saved" check if (called-interactively-p 'any).
7140 2015-04-12  João Távora  <joaotavora@gmail.com>
7142         Summary: Improve sexp-based movement in message-mode
7143         Works by giving citations and smileys a different syntax.  This helps
7144         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
7145         sexp-based movement.
7146         * lisp/gnus/message.el (message--syntax-propertize): New function.
7147         (message-mode): Set syntax-related vars.
7148         (message-smileys): New variable.
7149         * test/automated/message-mode-tests.el: New file
7151 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7153         Use bool for boolean in window.c
7154         * src/window.c: Omit unnecessary static function decls.
7155         (adjust_window_count, select_window, Fselect_window)
7156         (window_body_width, Fwindow_body_height, Fwindow_body_width)
7157         (set_window_hscroll, check_window_containing, Fwindow_at)
7158         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
7159         (unshow_buffer, replace_window, recombine_windows)
7160         (add_window_to_list, candidate_window_p, next_window)
7161         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
7162         (Fget_buffer_window, Fdelete_other_windows_internal)
7163         (replace_buffer_in_windows_safely, set_window_buffer)
7164         (Fset_window_buffer, Fforce_window_update)
7165         (temp_output_buffer_show, make_parent_window)
7166         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
7167         (resize_frame_windows, Fsplit_window_internal)
7168         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
7169         (Fresize_mini_window_internal, mark_window_cursors_off)
7170         (window_scroll, window_scroll_pixel_based)
7171         (window_scroll_line_based, scroll_command, Fscroll_other_window)
7172         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
7173         (Fmove_to_window_line, Fset_window_configuration)
7174         (delete_all_child_windows, apply_window_adjustment)
7175         (set_window_fringes, set_window_scroll_bars)
7176         (Fset_window_vscroll, foreach_window, foreach_window_1)
7177         (compare_window_configurations, Fcompare_window_configurations):
7178         Prefer 'bool', 'true', and 'false' for booleans.
7179         * src/window.h (WINDOW_MODE_LINE_LINES)
7180         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
7182 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
7184         Speed up byte-compilation and autoload generation by avoiding mode-hooks
7185         This prevents emacs-lisp-mode-hook from being run everytime an
7186         autoload file is generated, which can account for a fraction of
7187         package installation time depending on the hooks the user has
7188         configured.
7189         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
7190         * lisp/emacs-lisp/autoload.el (autoload-find-file)
7191         (autoload-find-generated-file): Use delay-mode-hooks.
7193         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'
7194         (package-menu-refresh): Respect async and do new package checking.
7195         (list-packages): Use `package-menu-refresh' instead of repeating code.
7197         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help
7198         (package--quick-help-keys): New variable.
7199         (package--prettify-quick-help-key): New function.
7200         (package-menu-quick-help): Use it.
7202         * lisp/emacs-lisp/package.el: Fix initially wrong compat table
7203         (package--build-compatibility-table): require finder
7205         * test/automated/package-test.el: Fix new test
7207         * lisp/emacs-lisp/package.el: Silence async operations
7208         (package--silence): New variable.
7209         (package--message): New function.
7210         (package-import-keyring, package-refresh-contents)
7211         (package-compute-transaction, package-install, package-delete)
7212         (package-menu--perform-transaction, package-menu-execute): Use it.
7214         * test/automated/package-test.el: Test async functionality
7215         (package-test-update-archives-async): New test
7217 2015-04-11  Daiki Ueno  <ueno@gnu.org>
7219         Utilize `make-process' in epg.el
7220         * lisp/epg.el (epg-error-output): Abolish.
7221         (epg-context): New slot `error-buffer'.
7222         (epg--start): Use `make-process' and `make-pipe-process'.
7223         (epg--process-filter): Remove code separating stderr from stdout.
7224         (epg-wait-for-completion): Simplify `error-output' handling.
7225         (epg-reset): Dispose error buffer.
7227 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7229         * .gitignore: Ignore doc temps and outputs.
7231         Port commit-msg to MSYS Bash+Gawk
7232         See Eli Zaretskii in:
7233         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
7234         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
7235         (cent_sign, print_at_sign, at_sign): Revert previous change.
7236         (print_at_sign): Prepend "BEGIN".
7237         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
7239         Port commit-msg to broken MS-Windows shell
7240         * build-aux/git-hooks/commit-msg (cent_sign):
7241         Just use UTF-8 here rather than ASCII + printf, as the latter fails
7242         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
7243         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
7245 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
7247         Support GnuTLS v3.4 and later on MS-Windows
7248         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
7249         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
7250         GnuTLS DLL to load according to value of libgnutls-version.
7251         (Bug#20294)
7253 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
7255         Minor quoting etc. fixes to misc manuals
7256         Fix some minor quoting and spacing issues.  Distinguish more
7257         clearly among grave accent and apostrophe (which are ASCII) and
7258         single quote (which is not).  Prefer the standard terms
7259         "apostrophe" and "grave accent" to alternative names that can be
7260         confusing.  Use apostrophes to single-quote ASCII text.
7261         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
7262         rather than approximating it in ASCII with grave accent.
7264 2015-04-11  Daiki Ueno  <ueno@gnu.org>
7266         Respect more keyword args in `make-process'
7267         * process.c (Fmake_process): Respect `:sentinel' and `:filter'
7268         keywords as documented.
7270 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
7272         Extract ChangeLog entries when committing a directory
7273         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
7274         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
7275         Add a FIXME comment.
7276         (log-edit-changelog-entries): Extract from
7277         `log-edit-changelog-entries', handle FILE being a directory
7278         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
7280 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7282         Fix problems found by --enable-gcc-warnings
7283         * src/process.c (create_process, Fmake_pipe_process)
7284         (Fmake_network_process): Omit unused locals.
7286         Fix commit-msg to handle scissors lines
7287         * build-aux/git-hooks/commit-msg:
7288         Ignore every line after a scissors line, such as a line generated
7289         by 'git commit -v'.  Problem reported by Johan Bockgård in:
7290         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
7292         port commit-msg to Gawk 3.0.4 (1999)
7293         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
7294         (print_at_sign, at_sign): New vars.  Use them to avoid problems
7295         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
7296         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
7298         Have commit-msg report commit failure
7299         * build-aux/git-hooks/commit-msg: If the commit is aborted,
7300         say so.  Simplify by doing this at the end.  Problem reported
7301         by Eli Zaretskii in:
7302         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
7304 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
7306         Clean up LDAP Configuration section of EUDC manual
7307         * doc/misc/eudc.texi: Combine indices.
7308         (LDAP Configuration): Use command markup.  Add index entries.
7309         Change formatting.  Wrap long lines.  Add noindent markup.
7311 2015-04-10  Daiki Ueno  <ueno@gnu.org>
7313         Add facility to collect stderr of async subprocess
7314         * src/w32.h (register_aux_fd): New function declaration.
7315         * src/w32.c (register_aux_fd): New function.
7316         * src/process.h (struct Lisp_Process): New member stderrproc.
7317         * src/process.c (PIPECONN_P): New macro.
7318         (PIPECONN1_P): New macro.
7319         (Fdelete_process, Fprocess_status, Fset_process_buffer)
7320         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
7321         (Fcontinue_process): Handle pipe process specially.
7322         (create_process): Respect p->stderrproc.
7323         (Fmake_pipe_process): New function.
7324         (Fmake_process): Add new keyword argument :stderr.
7325         (wait_reading_process_output): Specially handle a pipe process when
7326         it gets an EOF.
7327         (syms_of_process): Register Qpipe and Smake_pipe_process.
7328         * doc/lispref/processes.texi (Asynchronous Processes): Document
7329         `make-pipe-process' and `:stderr' keyword of `make-process'.
7330         * lisp/subr.el (start-process): Suggest to use `make-process' handle
7331         standard error separately.
7332         * test/automated/process-tests.el (process-test-stderr-buffer)
7333         (process-test-stderr-filter): New tests.
7334         * etc/NEWS: Mention new process type `pipe' and its usage with the
7335         `:stderr' keyword of `make-process'.
7337 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
7339         Minor quoting etc. fixes to lispref manual
7340         * doc/lispref/tips.texi (Documentation Tips):
7341         Distinguish more clearly among grave accent, apostrophe,
7342         and single quote.
7343         * doc/lispref/README, doc/lispref/buffers.texi:
7344         * doc/lispref/commands.texi, doc/lispref/control.texi:
7345         * doc/lispref/customize.texi, doc/lispref/display.texi:
7346         * doc/lispref/elisp.texi, doc/lispref/files.texi:
7347         * doc/lispref/frames.texi, doc/lispref/hash.texi:
7348         * doc/lispref/help.texi, doc/lispref/internals.texi:
7349         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
7350         * doc/lispref/markers.texi, doc/lispref/modes.texi:
7351         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
7352         * doc/lispref/os.texi, doc/lispref/positions.texi:
7353         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
7354         * doc/lispref/text.texi, doc/lispref/tips.texi:
7355         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
7356         Use American-style double quoting in ordinary text,
7357         and quote 'like this' when single-quoting in ASCII text.
7358         Also, fix some minor spacing issues.
7360 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
7362         Handle symlinked test directory in tramp-tests.el
7363         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
7364         (tramp--test-check-files): Use `file-truename' for directories.
7366 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
7368         Fix 'recenter' when visual-line-mode is turned on
7369         * src/window.c (Frecenter): Use the same code for GUI and TTY
7370         frames alike; use vmotion only for "initial" frames.  This is
7371         because vmotion doesn't support visual-line-mode.  Rewrite the
7372         'iarg >= 0' case to use move_it_* functions instead of using
7373         vmotion, for the same reason.  Fix the clipping of the argument
7374         value to support scroll-margin in all cases and avoid unwarranted
7375         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
7376         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
7377         which see.
7379 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7381         * abbrev.el (define-abbrev-table): Refine last change.
7383         cl-lib.el: Partial revert of "2015-04-05 Rationalize c[ad]+r"
7384         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
7385         use of c[ad]+r", so as to keep the "cl-" prefix on all
7386         cl-lib definitions.
7388         * vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks
7390         * lisp/cedet/semantic: Remove some dead code
7391         * lisp/cedet/semantic/util-modes.el
7392         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
7393         any more.
7394         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
7395         not supported any more.
7396         (semantic-safe): Use `declare'.
7397         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
7398         (semantic-tag-intangible-p): Remove unused functions.
7399         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
7400         Remove unused function.
7402         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
7403         (gnus-article-hide-text, gnus-article-unhide-text)
7404         (gnus-article-unhide-text-type): Remove special handling of
7405         `intangible' since that property is not used any more.
7406         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
7408 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7410         Use the VC root in `log-edit-listfun'
7411         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
7412         `log-edit-listfun'.
7414 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
7416         Fix description of Unix time, mention new function.
7417         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
7418         Unix time.
7419         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
7420         (Basic Operations on Units): Mention `calc-convert-exact-units'.
7422 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
7424         * lisp/emacs-lisp/package.el: Use mode-line-process for notification
7426 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
7428         (log-edit-insert-changelog-entries): Don't add newline after the last entry
7429         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
7430         Don't add newline after the last entry.
7432 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
7434         css-mode.el: Add "not" pseudo-class
7435         (Bug#20267)
7436         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
7437         list of CSS pseudo-classes.
7439 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7441         etc/NEWS: Add missing entry for "Stop messing with the EMACS env var"
7443 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
7445         Stop messing with the EMACS env var
7446         * misc.texi (Interactive Shell): Remove description of EMACS env var.
7448 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7450         Adapt 'make change-history' to coding cookie
7451         * Makefile.in (change-history): Adjust to change of format of
7452         ChangeLog file, which now has a coding cookie before an indented
7453         copyright notice.
7455 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
7457         Adapt 'make change-history' to coding cookie
7458         * Makefile.in (change-history): Adjust to change of format of
7459         ChangeLog file, which now has a coding cookie before an indented
7460         copyright notice.
7462         gitlog-to-changelog coding cookie and mv -i
7463         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
7464         for copyright notice prototype, so that we get a proper "coding:"
7465         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
7466         existing ChangeLog.  Problems reported by Eli Zaretskii in:
7467         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
7469         Merge from gnulib
7470         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
7471         2015-04-09 gitlog-to-changelog: port to MS-Windows
7473 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
7475         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
7476         (Bug#20212)
7478 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
7480         Stop messing with the EMACS env var
7481         (Bug#20202)
7482         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
7483         * lisp/comint.el (comint-exec-1):
7484         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
7485         * lisp/progmodes/compile.el (compilation-start): Same and bring
7486         INSIDE_EMACS's format in line with other users.
7488         css-mode.el (css-smie-rules): Fix indentation after complex selectors
7489         (Bug#20282)
7490         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
7491         inner structure of selectors.
7493 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7495         python.el: Indent docstring lines to base-indent
7496         (Bug#19595)
7497         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
7498         an initial patch.
7499         * lisp/progmodes/python.el
7500         (python-indent-context): Add :inside-docstring context.
7501         (python-indent--calculate-indentation): Handle :inside-docstring.
7502         (python-indent-region): Re-indent docstrings.
7503         * test/automated/python-tests.el (python-indent-region-5)
7504         (python-indent-inside-string-2): Fix tests.
7506         python.el: Increase native completion robustness
7507         (Bug#19755)
7508         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
7509         this and providing useful ideas.
7510         * lisp/progmodes/python.el
7511         (python-shell-completion-native-output-timeout): Increase value.
7512         (python-shell-completion-native-try-output-timeout): New var.
7513         (python-shell-completion-native-try): Use it.
7514         (python-shell-completion-native-setup): New readline setup avoids
7515         polluting current context, ensures output when no-completions are
7516         available and includes output end marker.
7517         (python-shell-completion-native-get-completions): Trigger with one
7518         tab only.  Call accept-process-output until output end is found or
7519         python-shell-completion-native-output-timeout is exceeded.
7521 2015-04-08  Samer Masterson  <samer@samertm.com>
7523         * lisp/eshell: Make backslash a no-op in front of normal chars
7524         (Bug#8531)
7525         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
7526         (eshell-parse-backslash): Return escaped character after backslash
7527         if it is special.  Otherwise, if the backslash is not in a quoted
7528         string, ignore the backslash and return the character after; if
7529         the backslash is in a quoted string, return the backslash and the
7530         character after.
7531         * test/automated/eshell.el (eshell-test/escape-nonspecial)
7532         (eshell-test/escape-nonspecial-unicode)
7533         (eshell-test/escape-nonspecial-quoted)
7534         (eshell-test/escape-special-quoted): Add tests for new
7535         `eshell-parse-backslash' behavior.
7537 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
7539         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
7540         after the file name.
7541         (Bug#20276)
7543 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7545         Minor quoting etc. fixes to Emacs manual
7546         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
7547         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
7548         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
7549         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
7550         * doc/emacs/indent.texi, doc/emacs/macos.texi:
7551         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
7552         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
7553         * doc/emacs/search.texi, doc/emacs/trouble.texi:
7554         * doc/emacs/vc1-xtra.texi:
7555         Use American-style double quoting in ordinary text,
7556         and quote 'like this' when single-quoting in ASCII text.
7557         Also, fix some minor spacing issues.
7559         Minor quoting etc. fixes to elisp intro
7560         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
7561         American-style double quoting in ordinary text.  In ASCII text,
7562         consistently quote 'like this' instead of `like this', unless
7563         Emacs requires the latter.
7565 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
7567         * CONTRIBUTE: Mention log-edit-insert-changelog.
7569         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
7571 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
7573         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
7575 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
7577         (eieio-copy-parents-into-subclass): Fix inheritance of initargs
7578         (Bug#20270)
7579         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
7580         Fix inheritance of initargs.
7582 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
7584         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
7585         while dowloading information.
7587         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
7588         (package--ensure-init-file): Check file contents before visiting.
7589         (package-initialize): Call it.
7590         (package-install-from-buffer, package-install): Don't call it.
7592 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
7594         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800
7595         (Bug#17517)
7597 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
7599         Fix nasty scoping bug in tramp-cache.el
7600         * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug.
7602 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
7604         Add notice to visual commands section
7605         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
7606         such as git call less with its -F option which omits pagination if
7607         the contents is less than one page long.  This interferes with
7608         eshell's visual (sub-)commands.
7610 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
7612         ffap: Support environment variable expansion in file names
7613         (Bug#19839)
7614         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
7615         environment variable expansion in file names.
7617 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7619         Prefer double-quote to accent-grave in man pages
7621 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
7623         (Bug#20257)
7624         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
7626 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
7628         Update etc/PROBLEMS.
7629         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
7630         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
7631         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
7632         respectively); other minor updates and tweaks.  (Bug#20011)
7634 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7636         Add doc strings for some Isearch state vars
7637         * lisp/misearch.el (multi-isearch-buffer-list)
7638         (multi-isearch-file-list): Add doc strings.
7639         (Bug#20232)
7641 2015-04-07  Alan Mackenzie  <acm@muc.de>
7643         Always mark "<" and ">" in #include directives with text properties.
7644         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock "anchored
7645         matcher" with an invocation of c-make-font-lock-search-function to allow
7646         fontification when there's no trailing space on an "#include <..>" line.
7648 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
7650         Generate a ChangeLog file from commit logs
7651         * .gitignore: Add 'ChangeLog'.
7652         * build-aux/gitlog-to-changelog: New file, from Gnulib.
7653         * build-aux/gitlog-to-emacslog: New file.
7654         * CONTRIBUTE: Document the revised workflow.
7655         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
7656         instead of just special cases.
7657         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
7658         (ChangeLog, unchanged-history-files, change-history)
7659         (change-history-commit): New rules.
7660         * admin/admin.el (make-manuals-dist--1):
7661         Don't worry about doc/ChangeLog.
7662         * admin/authors.el: Add a FIXME.
7663         * admin/make-tarball.txt:
7664         * lisp/calendar/icalendar.el:
7665         * lisp/gnus/deuglify.el:
7666         * lisp/obsolete/gulp.el:
7667         * lwlib/README:
7668         Adjust to renamed ChangeLog history files.
7669         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
7670         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
7671         Remove obsolete discussion of merging ChangeLog files.
7672         New section "Maintaining ChangeLog history".
7673         * build-aux/git-hooks/pre-commit:
7674         Reject attempts to commit files named 'ChangeLog'.
7675         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
7676         * make-dist: Make and distribute top-level ChangeLog if there's a
7677         .git directory.  Distribute the new ChangeLog history files
7678         instead of scattered ChangeLog files.  Distribute the new files
7679         gitlog-to-changelog and gitlog-to-emacslog.
7680         (Bug#19113)
7682         Rename ChangeLogs for gitlog-to-changelog
7683         This patch was implemented via the following shell commands:
7684         find * -name ChangeLog |
7685         sed 's,.*,git mv & &.1,
7686         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
7687         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
7688         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
7689         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
7690         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
7691         sh
7692         git commit -am"[this commit message]"
7694 This file records repository revisions from
7695 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
7696 commit 168c80efdc3981ffbc6ee731e7681b0386eb1db2 (inclusive).
7697 See ChangeLog.1 for earlier changes.
7699 ;; Local Variables:
7700 ;; coding: utf-8
7701 ;; End:
7703   Copyright (C) 2015 Free Software Foundation, Inc.
7705   This file is part of GNU Emacs.
7707   GNU Emacs is free software: you can redistribute it and/or modify
7708   it under the terms of the GNU General Public License as published by
7709   the Free Software Foundation, either version 3 of the License, or
7710   (at your option) any later version.
7712   GNU Emacs is distributed in the hope that it will be useful,
7713   but WITHOUT ANY WARRANTY; without even the implied warranty of
7714   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
7715   GNU General Public License for more details.
7717   You should have received a copy of the GNU General Public License
7718   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.