Abolish temporary buffer management for xref
[emacs.git] / ChangeLog.2
blob599a4c85b9ca56921366762523ce8d32ce59a027
1 2015-10-31  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3         ntlm.el: Change version to 2.0.0
5 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
7         Fix bug#21762
8         * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with
9         `eql' instead of `=' to accommodate the case that (syntax-after (point))
10         returns nil.
11         * test/automated/python-tests.el (python-indent-inside-paren-7):
12         New test.
14 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
16         * test/automated/python-tests.el: Avoid warnings.
17         (python-tests-with-temp-buffer, python-tests-with-temp-file):
18         Bind `python-indent-guess-indent-offset' to nil.
20 2015-10-31  Juanma Barranquero  <lekktu@gmail.com>
22         * src/alloc.c: Silence compiler warnings.
23         (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC.
25 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
27         * etc/NEWS: Fix js-jsx-mode entry punctuation.
29 2015-10-31  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
31         Add JSX indentation via js-jsx-mode  (Bug#21799)
33         * progmodes/js.el: Add JSX indentation support.
34         (js--jsx-end-tag-re)
35         (js--jsx-after-tag-re): New variables.
36         (js--jsx-find-before-tag)
37         (js--jsx-indented-element-p)
38         (js--as-sgml)
39         (js--expression-in-sgml-indent-line)
40         (js-jsx-indent-line)
41         (js-jsx-mode): New functions.
42         * test/indent/js-jsx.el: New file.
43         * etc/NEWS: Add information about js-jsx-mode.
45 2015-10-31  Michael Albinus  <michael.albinus@gmx.de>
47         Minor fix in filenotify.el
49         * lisp/filenotify.el (file-notify--event-file-name)
50         (file-notify--event-file1-name): Normalize result with
51         `directory-file-name'.
53 2015-10-31  Eli Zaretskii  <eliz@gnu.org>
55         Avoid errors in redisplay--pre-redisplay-functions
57         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't
58         use 'bobp', instead compare window-point with 1.  (Bug#21730)
60 2015-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62         Merge from gnulib
64         This incorporates:
65         2015-10-30 intprops: add WRAPV and const flavors for GCC 5
66         2015-10-25 stdalign: port to Sun C 5.9
67         * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h:
68         Copy from gnulib.
70 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
72         * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro.
73         (w32_compare_strings): Adjust for the correction.
75 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
77         * test/automated/vc-tests.el (vc-test--state)
78         (vc-test--working-revision, vc-test--checkout-model):
79         Add result messages.
81 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
83         * test/automated/faces-tests.el: Add another test
85 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
87         * lisp/faces.el (faces--attribute-at-point): Fix bug
88         introduced by previous commit.
90 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
92         * test/automated/faces-tests.el: New file.
94 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
96         * lisp/faces.el: Refactor common code and fix a bug.
97         (faces--attribute-at-point): New function.  Fix a bug when the
98         face at point is a list of faces and the desired attribute is not
99         on the first one.
100         (foreground-color-at-point, background-color-at-point): Use it.
102 2015-10-30  Przemysław Wojnowski  <esperanto@cumego.com>
104         * etc/tutorials/TUTORIAL.translators: Fix PL names.
106 2015-10-30  Juanma Barranquero  <lekktu@gmail.com>
108         * lisp/character-fold.el: Provide `character-fold'.
110 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
112         * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces
113         for Gnus and ivy.
115 2015-10-30  Michael Albinus  <michael.albinus@gmx.de>
117         Some minor fixes for tramp-gvfs.el
119         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
120         An attribute returned by gvfs-info might be empty.  In case of
121         undetermined uid or gid, return "UNKNOWN" or -1, respectively.
122         (tramp-zeroconf-parse-service-device-names): New defun.
123         Derived from `tramp-zeroconf-parse-workstation-device-names'.
124         (top): Add completion functions for "afp" and "smb" methods.
126 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
128         * test/automated/character-fold-tests.el: New file
130 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
132         * test/automated/sort-tests.el: New file.
133         Tests in this file are randomly generated and then tested with
134         regular, reverse, and case-fold sorting.
136 2015-10-30  Eli Zaretskii  <eliz@gnu.org>
138         Describe known problems with pinning Emacs to taskbar
140         * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar
141         on Windows 10.  For the details, see the discussion starting at
142         http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html.
144 2015-10-30  Artur Malabarba  <bruce.connor.am@gmail.com>
146         * lisp/isearch.el: Avoid an error that blocks isearch.
147         (isearch-update): Don't error if `isearch--current-buffer' has
148         been killed.
150         * test/automated/isearch-tests.el (isearch--test-update):
151         New file.
153 2015-10-30  Phil Sainty  <psainty@orcon.net.nz>
155         Fix documentation of 'beginning/end-of-buffer'
157         * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify
158         conditions under which the mark will be pushed at the previous
159         position.  (Bug#21748)
161 2015-10-30  Tassilo Horn  <tsdh@gnu.org>
163         Add RefTeX feature idea: editing RefTeX TOC buffers
165         More face defs for ivy, swiper, ace-window, eshell
167 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
169         * lisp/gnus/auth-source.el: Silence lexical-binding warnings.
170         (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to
171         just VAR.
172         (auth-source-backend-parse): Use make-instance.
173         (auth-source-search): Remove unused key args.
174         Remove unused vars `accessor-key' and `backend'.  Avoid `eval'.
175         (auth-source-search-backends): Use slot names rather than their initarg.
176         (auth-source-netrc-create):
177         (auth-source-delete):
178         (auth-source-secrets-create, auth-source-plstore-search)
179         (auth-source-macos-keychain-create, auth-source-macos-keychain-search)
180         (auth-source-plstore-create, auth-source-netrc-search)
181         (auth-source-netrc-parse): Remove unused key args.
182         (auth-source-forget+): Simplify the arglist.
183         (auth-source-macos-keychain-search-items)
184         (auth-source-token-passphrase-callback-function): Mark unused args.
185         (auth-source-epa-extract-gpg-token): Remove unused var `plain'.
186         (pp-escape-newlines): Declare.
187         (auto-source--symbol-keyword): New function.
188         (auth-source-plstore-create, auth-source-netrc-create)
189         (auth-source-netrc-normalize): Use it.
190         (auth-source-netrc-search): Don't pass :delete to
191         auth-source-netrc-parse since it doesn't use it.
192         (auth-source-plstore-create, auth-source-netrc-create): Use plist-get
193         symbol-value to index in keyword args.
194         (auth-source-macos-keychain-result-append): Avoid setq.
195         (auth-source-netrc-create): Remove unused vars `file' and `add'.
196         (auth-source-user-or-password): Remove unused var `cname'.
198 2015-10-29  Juri Linkov  <juri@linkov.net>
200         * lisp/dired.el (dired-unmark-all-files-query): Declare.
201         (dired-unmark-all-files): Let-bind it and use instead of ‘query’.
202         (Bug#21746)
204 2015-10-29  Juri Linkov  <juri@linkov.net>
206         * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol
207         to go to the beginning of text line instead of command line.
208         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html
210 2015-10-29  Eli Zaretskii  <eliz@gnu.org>
212         Fix encoding of saving *Help* buffers
214         * lisp/help-fns.el (describe-function-1): If we use curved quotes,
215         set help buffer's buffer-file-coding-system to UTF-8.  (Bug#21780)
217 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
219         * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context.
220         (cl--generic-derived-specializers): New function.
221         (cl--generic-derived-generalizer): New generalizer.
222         (cl-generic-generalizers): New specializer (derived-mode MODE).
223         (cl--generic-split-args): Apply the rewriter, if any.
224         (cl-generic-define-context-rewriter): New macro.
225         (major-mode): Use it to define a new context-rewriter, so we can write
226         `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'.
228         * lisp/frame.el (window-system): New context-rewriter so we can write
229         `(window-system VAL)' instead of (window-system (eql VAL)).
230         (cl--generic-split-args): Apply the rewriter, if any.
231         (frame-creation-function): Use the new syntax.
233         * lisp/term/x-win.el (window-system-initialization)
234         (handle-args-function, frame-creation-function)
235         (gui-backend-set-selection, gui-backend-selection-owner-p)
236         (gui-backend-selection-exists-p, gui-backend-get-selection):
237         * lisp/term/w32-win.el (window-system-initialization)
238         (handle-args-function, frame-creation-function)
239         (gui-backend-set-selection, gui-backend-get-selection)
240         (gui-backend-selection-owner-p, gui-backend-selection-exists-p):
241         * lisp/term/pc-win.el (gui-backend-get-selection)
242         (gui-backend-selection-exists-p, gui-backend-selection-owner-p)
243         (gui-backend-set-selection, window-system-initialization)
244         (frame-creation-function, handle-args-function):
245         * lisp/term/ns-win.el (window-system-initialization)
246         (handle-args-function, frame-creation-function)
247         (gui-backend-set-selection, gui-backend-selection-exists-p)
248         (gui-backend-get-selection):
249         * lisp/startup.el (handle-args-function):
250         * lisp/term/xterm.el (gui-backend-get-selection)
251         (gui-backend-set-selection): Use the new syntax.
253 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
255         * test/indent/css-mode.css: Add tests for url(...) syntax.
257 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
259         * lisp/emacs-lisp/smie.el: Use `declare' for `pure'.
260         (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2)
261         (smie-prec2->grammar): Use `declare'.
263 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
265         * lisp/emacs-lisp/cl-generic.el: Accomodate future changes.
266         (cl--generic-generalizer): Add `name' field.
267         (cl-generic-make-generalizer): Add corresponding `name' argument.
268         (cl-generic-define-generalizer): New macro.
269         (cl--generic-head-generalizer, cl--generic-eql-generalizer)
270         (cl--generic-struct-generalizer, cl--generic-typeof-generalizer)
271         (cl--generic-t-generalizer): Use it.
272         (cl-generic-ensure-function): Add `noerror' argument.
273         (cl-generic-define): Use it so we don't follow aliases.
274         (cl-generic-define-method): Preserve pre-existing ordering of methods.
275         (cl--generic-arg-specializer): New function.
276         (cl--generic-cache-miss): Use it.
277         (cl-generic-generalizers): Only fset a temporary definition
278         during bootstrap.
279         (cl--generic-struct-tag, cl--generic-struct-specializers):
280         Allow extra arguments.
282         * lisp/emacs-lisp/eieio-compat.el
283         (eieio--generic-static-symbol-generalizer)
284         (eieio--generic-static-object-generalizer):
285         Use cl-generic-define-generalizer.
286         (eieio--generic-static-symbol-specializers): Allow extra arguments.
288         * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer)
289         (eieio--generic-subclass-generalizer):
290         Use cl-generic-define-generalizer.
291         (eieio--generic-subclass-specializers): Allow extra arguments.
293 2015-10-29  Stefan Monnier  <monnier@iro.umontreal.ca>
295         * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope.
297 2015-10-29  Michael Albinus  <michael.albinus@gmx.de>
299         Add "afp" method to Tramp
301         * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method.
303         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method.
304         (tramp-gvfs-handle-expand-file-name)
305         (tramp-gvfs-handler-mounted-unmounted)
306         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
307         (tramp-gvfs-maybe-open-connection): Support also "afp".
308         (tramp-gvfs-handle-file-attributes): Handle the case of empty
309         "owner::user" and "owner::group" entries.
311 2015-10-29  Andy Moreton  <andrewjmoreton@gmail.com>
313         Handle negative coordinates in ‘x_calc_absolute_position’
315         * src/w32term.c (x_calc_absolute_position): Find display origin to
316         allow for negative coordinates.
318 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
320         (internal--syntax-propertize): Save match-data here (bug#21766)
322         * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data.
323         * lisp/simple.el (delete-trailing-whitespace): Undo last change.
325 2015-10-28  Dmitry Gutov  <dgutov@yandex.ru>
327         Don't require default-directory to end with a slash
329         * doc/lispref/files.texi (Magic File Names): Document the change
330         in unhandled-file-name-directory.
332         * lisp/url/url-handlers.el
333         (url-handler-unhandled-file-name-directory): Update accordingly.
335         * src/buffer.c (default-directory): Update the docsting.
337         * src/fileio.c (unhandled-file-name-directory): Default to calling
338         `file-name-as-directory'
339         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html).
341 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
343         * lisp/isearch.el: Delete some outdated comments.
345 2015-10-28  Vibhav Pant  <vibhavp@gmail.com>
347         Fix eshell/clear not working if the output has a small line count
349         * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the
350         number of newlines to be inserted. This fixes the issue where
351         eshell/clear wouldn't work if the prompt was not at the bottom of the
352         window, and the output wasn't too long.
354 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
356         * lisp/files.el (write-file): Use vc-refresh-state.
358         * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state.
360         * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state.
362 2015-10-28  Stefan Monnier  <monnier@iro.umontreal.ca>
364         * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations.
365         (macroexp-unprogn): Make sure we never return an empty list.
366         (macroexp-if): Remove unused (and unsafe) optimization.
367         Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does
368         occur occasionally.
370 2015-10-28  Juanma Barranquero  <lekktu@gmail.com>
372         Fix bug#21766 and add test
373         * lisp/simple.el (delete-trailing-whitespace): Save match data when
374         calling `skip-syntax-backward'.
375         * test/automated/simple-test.el (simple-delete-trailing-whitespace):
376         New test.
378 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
380         * doc/lispref/sequences.texi (Sequence Functions): Fix typo.
382 2015-10-28  Paul Eggert  <eggert@cs.ucla.edu>
384         * src/dispnew.c (init_display): Simplify overflow checking.
386 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
388         * lisp/character-fold.el (character-fold-to-regexp): Fix case
389         where string ends in space
391 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
393         * lisp/emacs-lisp/seq.el (seq-mapn): New function.
395         * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn.
397 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
399         * lisp/character-fold.el: Make compatible with lax-whitespace.
400         (character-fold-to-regexp): Rework internals to play nice with
401         lax-whitespacing.
403         When the user types a space, we want to match the table entry for
404         ?\s, which is generally a regexp like "[ ...]".  However, the
405         `search-spaces-regexp' variable doesn't "see" spaces inside these
406         regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to
407         manually expose a space).
409         Furthermore, the lax search engine acts on a bunch of spaces, not
410         on individual spaces, so if the string contains sequential spaces
411         like "  ", we need to keep them grouped together like this:
412         "\\(  \\|[ ...][ ...]\\)".
414 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
416         * lisp/isearch.el: Refactor momentary messages.
417         (isearch--momentary-message): New function.
418         (isearch-toggle-lax-whitespace, isearch-toggle-case-fold)
419         (isearch-toggle-invisible): Use it.
421 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
423         * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'.
424         (isearch-define-mode-toggle): New macro.
425         (isearch-toggle-invisible): Rename to
426         `isearch-define-mode-toggle'.
427         (isearch-toggle-case-fold, isearch-toggle-invisible)
428         (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define
429         with `isearch-define-mode-toggle'.
431 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
433         Avoid using `add-to-list' on a let-local var in tramp-smb.el
435         * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun.
436         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it.
438 2015-10-28  Anders Lindgren  <andlind@gmail.com>
440         Merge branch 'master' of /Volumes/HD2/build/emacs-git-ssh
442         Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/emacs
444         Merge branch 'master' of /Volumes/HD2/build/emacs-git-ssh
446 2015-10-28  Michael Albinus  <michael.albinus@gmx.de>
448         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
449         Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups'
450         does not exist in XEmacs 21.4.
452 2015-10-28  Anders Lindgren  <andlind@gmail.com>
454         Fixed OS X startup crash
456         Input events started to arrive before ns_term_init() was finished.
457         Solved by blocking input.  This also seems to correct the "You
458         can't open the application "Emacs" because it may be damaged or
459         incomplete" error issued when double-clicking on the Emacs
460         application.
462         * nsterm.m (ns_constrain_all_frames, ns_init_term): Block input.
463         * nsterm.m (ns_send_appdefined, EmacsApp): Trace output.
465 2015-10-28  Anders Lindgren  <andlind@gmail.com>
467         Merge branch 'master' of ssh://git.sv.gnu.org/srv/git/emacs
469 2015-10-28  Artur Malabarba  <bruce.connor.am@gmail.com>
471         * src/process.c (Fget_buffer_process): Improve docstring.
472         Document the fact that it doesn't return dead processes.
474 2015-10-28  Anders Lindgren  <andlind@gmail.com>
476         Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame.
478         * nsterm.h (struct ns_output): New flag, in_animation.
479         * nsfns.m (Fx_create_frame): Initialize in_animation flag.
480         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set
481         in_animation flag around call to "setVisible". Set new tool bar
482         height before call to setVisible.
483         * nsterm.m (x_set_window_size): Don't call [view setRow:
484         andColumns:] as this fools the subsequent call to updateFrameSize
485         from performing the real resize.
486         (windowDidResize): Don't update anything when in_animation is
487         non-zero.
489         Trace output.
491         * nsmenu.m (free_frame_tool_bar, update_frame_tool_bar)
492         (EmacsToolbar):
493         * nsterm.m (x_set_window_size, updateFrameSize)
494         ([EmacsView setRows: andColumns:])
496 2015-10-28  Nicolas Petton  <nicolas@petton.fr>
498         * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro.
500 2015-10-28  Tassilo Horn  <tsdh@gnu.org>
502         Prettify TeX macros not ending in a word char
504         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
505         Prettify macros which don't end in a word character.
507 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
509         Pipe Hg commit descriptions through 'tabindent'
511         * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description
512         through 'tabindent'.
513         (vc-hg-log-view-mode): Set tab-width to 2 locally.
514         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html)
516 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
518         * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var.
519         (tramp-smb-handle-directory-files): Use `delete-dups'.
521         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
523 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
525         * lisp/international/ccl.el: Use lexical-binding.
526         (ccl-compile-if): Remove unused var `false-ic'.
527         (ccl-compile-write-repeat): Remove unused var `i'.
528         (ccl-compile-map-single): Remove unused var `id'.
529         (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the
530         dynamic var `ccl-code'.
532 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
534         * lisp/json.el (json-new-object): Optimize trivial `list' call.
536 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
538         * lisp/help.el: Fix bug with incorrect arglist string.
539         (help-add-fundoc-usage): Don't mistake a mis-formatted string
540         for a list.
542 2015-10-27  Stefan Monnier  <monnier@iro.umontreal.ca>
544         * lisp/gnus/gnus-topic.el: Silence some warnings.
545         (gnus-topic-prepare-topic): Remove unused var `topic'.
546         (gnus-topic-remove-topic): Mark unused arg `hide'.
547         (gnus-tmp-header): Declare.
548         (gnus-topic-goto-missing-group): Remove unused var `entry'.
549         (gnus-topic-unmark-topic): Mark unused arg `dummy'.
550         (gnus-topic-copy-matching): Mark unused arg `copyp'.
551         Move initialization of `topic' into its declaration.
553 2015-10-27  Stephen Leake  <stephen_leake@stephe-leake.org>
555         Minor CEDET fixes
557         * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call):
558         Handle warnings from gtags about invalid options.
559         (cedet-gnu-global-create/update-database): Do incremental update
560         properly.
562         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
563         Get monotone root right.
565 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
567         Fall back to polling in autorevert when needed
569         * lisp/autorevert.el (auto-revert-notify-handler): When a
570         `stopped' event arrives from file notification, fall back to polling.
572         * test/automated/file-notify-tests.el
573         (file-notify-test03-autorevert): Extend test for polling when file
574         notification ceases to work.
576 2015-10-27  Dmitry Gutov  <dgutov@yandex.ru>
578         Show full commit messages in 'hg log' when appropriate
580         * lisp/vc/vc-hg.el (vc-hg-log-format): New variable.
581         (vc-hg-print-log, vc-hg-expanded-log-entry): Use it.
582         (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html)
584 2015-10-27  Nicolas Petton  <nicolas@petton.fr>
586         Use a plain SVG file for the icon
588         * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG
589           format instead of the Inkscape SVG format.
591 2015-10-27  Michael Albinus  <michael.albinus@gmx.de>
593         Fix subtle bug in auto-revert-tests.el
595         * test/automated/auto-revert-tests.el
596         (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages*
597         buffer where it belongs to.  (Bug#21668)
599 2015-10-26  Nicolas Petton  <nicolas@petton.fr>
601         * lisp/emacs-lisp/map.el: Better docstrings.
603         * lisp/emacs-lisp/seq.el: Better docstrings.
605         * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence.
607 2015-10-26  Phillip Lord  <phillip.lord@russet.org.uk>
609         * lisp/emacs-lisp/ert.el: Print results without newline escaping.
611 2015-10-26  Stephen Leake  <stephen_leake@stephe-leake.org>
613         Clarify that load-path contents should be directory file names
615         * doc/lispref/files.texi (Directory Names): Define and use "directory
616         file name".  Recommend `expand-file-name'.
618         * src/lread.c (load-path): Fix doc string; elements are directory file
619         names.
621 2015-10-26  Eli Zaretskii  <eliz@gnu.org>
623         Fix simple-test.el test
625         * test/automated/simple-test.el (simple-test--dummy-buffer):
626         Make sure indentation doesn't use TABs, otherwise the 6th test
627         might fail.
629 2015-10-26  Mark Oteiza  <mvoteiza@udel.edu>
631         * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width.
632         `substring' does not account for full width characters.
634 2015-10-26  Michael Albinus  <michael.albinus@gmx.de>
636         Further work on `stopped' events in filenotify.el
638         * doc/lispref/os.texi (File Notifications): Rework examples.
640         * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter.
641         (file-notify--rm-descriptor, file-notify-callback): Improve check
642         for sending `stopped' event.
643         (file-notify-add-watch): Check for more events for `inotify'.
645         * test/automated/file-notify-tests.el
646         (file-notify--test-expected-events): New defvar.
647         (file-notify--test-with-events): Use it.
648         (file-notify--test-cleanup): Make it more robust when deleting
649         directories.
650         (file-notify--test-event-test): Check also for watched directories.
651         (file-notify--test-event-handler): Suppress temporary .#files.
652         (file-notify-test02-events, file-notify-test04-file-validity):
653         Rework `stopped' events.
654         (file-notify-test05-dir-validity): Wait for events when appropriate.
656 2015-10-26  Artur Malabarba  <bruce.connor.am@gmail.com>
658         * src/keyboard.c (post-command-hook): Shorten docstring.
660 2015-10-26  Tassilo Horn  <tsdh@gnu.org>
662         Fix infinite loop in sh-script's SMIE code
664         * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite
665         loop (bug#21747).
667 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
669         * lisp/isearch.el (search-default-regexp-mode): Revert to nil.
670         Character-fold search _still_ doesn't play well with
671         lax-whitespace.  So disable it by default (again) for now.
673 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
675         * lisp/isearch.el: No visual feedback for default search mode.
676         During an isearch where character-folding is the default, we don't
677         want to take up minibuffer space just to tell the user that
678         "Char-fold " is on.  The same goes for other modes, if the user
679         changes the default.  In contrast, if the user toggles OFF the
680         default mode, they should see "Literal", to distinguish it from
681         the default mode.
682         (isearch--describe-regexp-mode): Return "" if describing the
683         default mode, and return "literal " if describing a plain search
684         and it is not default.
686 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
688         * test/automated/simple-test.el: New file.
689         Define tests for `newline' and `open-line'.
691 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
693         * lisp/simple.el (open-line): Integrate with electric-indent-mode.
694         Also run `post-self-insert-hook' when called interactively.
696 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
698         * lisp/simple.el (open-line): Fix docstring.
699         Also explain apparently redundant line.
701 2015-10-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
702             Alexandru Harsanyi  <AlexHarsanyi@gmail.com>
704         Sync with soap-client repository, version 3.0.1
706         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
707         Bump version to 3.0.1.
709         * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page.
711         * lisp/net/soap-client.el, lisp/net/soap-inspect.el:
712         Bump version to 3.0.0.
714         * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch.
716         * lisp/net/soap-client.el: Merge in changes from Emacs master branch.
718         * lisp/net/soap-inspect.el: Shorten first line description.
720         * lisp/net/soap-client.el: Make a small whitespace fix.
722         * lisp/net/soap-inspect.el: Update copyright years.
724         * lisp/net/soap-client.el (soap-encoded-namespaces): Move above
725         first use in soap-encode-xs-element.
727         * lisp/net/soap-client.el (soap-type-is-array?): new defun
728         (soap-encode-xs-element): handle array elements in this function
729         (soap-encode-xs-complex-type): flag error if asked to encode an
730         array type, this is handled in `soap-encode-xs-element'
732         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group):
733         Do not print type for attribute group.
735         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group)
736         New function.
737         (soap-inspect-xs-attribute-group): Likewise.
739         * lisp/net/soap-inspect.el
740         (soap-resolve-references-for-xs-attribute-group): Resolve
741         references of attributes in an attribute group.
743         * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute
744         type directly, not through soap-wsdl-get.
746         * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference
747         nil if reference attribute is nil.
749         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
750         Convert XML schema attributes to xsd:string.
752         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute):
753         New function.
754         (soap-sample-value-for-xs-simple-type): Prepend attributes to result.
755         (soap-sample-value-for-xs-complex-type): Likewise.
756         (soap-inspect-xs-attribute): New function.
757         (soap-inspect-xs-simple-type): Print attributes.
758         (soap-inspect-xs-complex-type): Likewise.
760         * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type):
761         Resolve references for attributes.
762         (soap-resolve-references-for-xs-complex-type): Likewise.
764         * lisp/net/soap-client.el (soap-xml-node-find-matching-child):
765         Rename from soap-xml-node-first-child.
766         (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child.
767         (soap-xs-parse-simple-type): Likewise.
769         * lisp/net/soap-client.el (soap-invoke-async): Add error checking.
771         * lisp/net/soap-client.el (soap-invoke-internal): New function.
772         (soap-invoke-async): Call soap-invoke-internal.
773         (soap-invoke): Likewise.
775         * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to
776         url-retrieve callback is killed.
778         * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node):
779         Rename function.
780         (soap-parse-wsdl-phase-fetch-imports): Likewise.
781         (soap-parse-wsdl-phase-parse-schema): Likewise.
782         (soap-parse-wsdl-phase-fetch-schema): Likewise.
783         (soap-parse-wsdl-phase-finish-parsing): Likewise.
784         (soap-parse-wsdl): Update calls.
786         * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation.
788         * lisp/net/soap-client.el (soap-invoke-async): New function.
789         (soap-invoke): Reimplement using soap-invoke-async.
791         * lisp/net/soap-client.el (soap-parse-server-response):
792         Improve docstring.
793         (soap-invoke): Inline call to soap-parse-server-response.
795         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
796         Prevent incorrect warning.
798         * lisp/net/soap-client.el (soap-parse-server-response):
799         Rename soap-process-url-response.  Destroy the mime part.
800         (soap-invoke): Call soap-parse-server-response.
802         * lisp/net/soap-client.el: Update copyright date.
804         * lisp/net/soap-client.el: Fix checkdoc issues.
806         * lisp/net/soap-client.el: Fix indentation and long lines.
808         * lisp/net/soap-client.el (soap-time-format): Remove variable.
809         (soap-encode-xs-basic-type): Simplify date-time format detection.
810         (soap-decode-xs-basic-type): Remove soap-time-format support.
812         * lisp/net/soap-client.el (soap-process-url-response): New function.
813         (soap-fetch-xml-from-url): Call soap-process-url-response.
814         (soap-parse-wsdl-phase-1): New function.
815         (soap-parse-wsdl-phase-2): Likewise.
816         (soap-parse-wsdl-phase-3): Likewise.
817         (soap-parse-wsdl-phase-4): Likewise.
818         (soap-parse-wsdl-phase-5): Likewise.
819         (soap-parse-wsdl): Call phase functions.
821         * lisp/net/soap-client.el (soap-decode-xs-basic-type):
822         Remove one-argument and call.
824         * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring.
826         * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable.
827         (soap-parse-schema): Add wsdl argument.  Look up XML schema
828         imports from wsdl.
829         (soap-load-wsdl): Do not set soap-xmlschema-imports.
830         (soap-parse-wsdl): Get XML schema imports from wsdl.
832         * lisp/net/soap-client.el (soap-current-file): Remove variable.
833         (soap-wsdl): Add current-file slot.
834         (soap-fetch-xml-from-url): Add wsdl argument.  Look up current
835         file from wsdl.
836         (soap-fetch-xml-from-file): Likewise.
837         (soap-fetch-xml): Likewise.
838         (soap-load-wsdl): Always create wsdl object first.
839         (soap-parse-wsdl): Pass wsdl to soap-fetch-xml.
841         * lisp/net/soap-client.el (soap-xs-element): Add is-group slot.
842         (soap-xs-parse-element): Set is-group slot.
843         (soap-resolve-references-for-xs-element): Skip is-group elements.
844         (soap-xs-complex-type): Add is-group slot.
845         (soap-xs-parse-complex-type): Set is-group slot.
846         (soap-xs-parse-sequence): Parse xsd:group elements.
847         (soap-resolve-references-for-xs-complex-type): Inline elements
848         from referenced xsd:group nodes.
849         (soap-parse-schema): Parse xsd:group nodes.
851         * lisp/net/soap-client.el (soap-invoke):
852         Don't set url-http-version to 1.0.
854         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
855         Allow choice nodes to accept multiple values.
857         * lisp/net/soap-client.el (soap-encode-body): Check parameters argument
858         for extra header values.
860         * lisp/net/soap-client.el (soap-well-known-xmlns):
861         Add wsa and wsaw tags.
862         (soap-operation): Add input-action and output-action slots.
863         (soap-parse-operation): Parse wsaw:Action nodes.
864         (soap-encode-body): Encode service-url for WS-Addressing.
865         (soap-create-envelope): Likewise.
866         (soap-invoke): Update soap-create-envelope call to provide
867         service-url argument.
869         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
870         Support xsi:type override attribute.
871         (soap-decode-array): Likewise.
873         * lisp/net/soap-client.el (soap-parse-schema):
874         Handle location attribute.
876         * lisp/net/soap-client.el (soap-decode-type): Check that multiRef
877         matched validation regexp.
879         * lisp/net/soap-client.el (soap-encode-xs-simple-type):
880         Encode xsd:list nodes.
881         (soap-decode-xs-simple-type): Decode xsd:list nodes.
883         * lisp/net/soap-client.el (soap-get-candidate-elements):
884         Fix reference handling.
886         * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot.
887         (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes.
888         (soap-xs-add-list): New function.
890         * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is
891         expected, interpret nil as "false".
893         * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth,
894         gYear, gMonthDay, gDay and gMonth.
896         * lisp/net/soap-client.el (soap-time-format): New variable.
897         (soap-encode-xs-basic-type): Handle dateTime, time, date,
898         gYearMonth, gYear, gMonthDay, gDay and gMonth.
899         (soap-decode-date-time): New function.
900         (soap-decode-xs-basic-type): Use soap-decode-date-time.
902         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value
903         after encoding.
904         (soap-decode-xs-basic-type): Validate value before decoding.
906         * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function.
907         (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type.
909         * lisp/net/soap-client.el (soap-xs-add-union): Append result to base
910         instead of overwriting it.
911         (soap-validate-xs-simple-type): Add union support.
913         * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern
914         to Emacs regexp using xsdre-translate.
915         (soap-validate-xs-simple-type): Validate value against pattern.
917         * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of
918         inline simpleType nodes.
919         (soap-decode-type): Handle union types.
921         * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type
922         attributes.
924         * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename
925         from soap-xs-attribute-group-consolidate, all callers updated
926         (soap-get-xs-attributes): Rename from
927         soap-xs-attributes-consolidate, all callers updated
929         * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot.
930         (soap-xs-attribute-group): New type.
931         (soap-xs-parse-attribute-group): New function.
932         (soap-resolve-references-for-xs-attribute-group): Likewise.
933         (soap-xs-add-extension): Handle attribute groups.
934         (soap-resolve-references-for-xs-simple-type): Likewise.
935         (soap-xs-parse-complex-type): Likewise.
936         (soap-xs-parse-extension-or-restriction): Likewise.
937         (soap-resolve-references-for-xs-complex-type): Likewise.
938         (soap-xs-attribute-group-consolidate): New function.
939         (soap-xs-attributes-consolidate): Handle attribute groups.
940         (soap-parse-schema): Likewise.
942         * lisp/net/soap-client.el (soap-encode-xs-basic-type):
943         Fix boolean encoding.
945         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref
946         element names in warnings.
948         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing.
950         * lisp/net/soap-client.el (soap-decode-xs-complex-type):
951         Eliminate invalid warnings for choice types.
953         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
954         Also encode base type attributes.
956         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation
957         warning.  Print e-name in warnings, or element if e-name is nil.
959         * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot.
960         (soap-xs-parse-element): Set substitution-group.
961         (soap-resolve-references-for-xs-element): Populate alternatives slot.
962         (soap-get-candidate-elements): New function.
963         (soap-encode-xs-complex-type): Iterate through all candidate elements.
964         Handle types with nil type indicator.  Fix warning logic.
966         * lisp/net/soap-client.el (soap-current-wsdl): Move declaration
967         earlier in the file to prevent compiler warning.
969         * lisp/net/soap-client.el (soap-node-optional): New function.
970         (soap-node-multiple): Likewise.
971         (soap-xs-parse-element): Call soap-node-optional and
972         soap-node-multiple.
973         (soap-xs-complex-type): Add optional? and multiple? slots.
974         (soap-xml-get-children-fq): New function.
975         (soap-xs-element-get-fq-name): Likewise.
976         (soap-xs-complex-type-optional-p): Likewise.
977         (soap-xs-complex-type-multiple-p): Likewise.
978         (soap-xs-attributes-consolidate): Likewise.
979         (soap-decode-xs-attributes): Likewise.
980         (soap-decode-xs-complex-type): Decode types with nil type indicator.
981         Support children that use local namespaces.  Decode attributes.
982         Add type considerations to optional? and multiple? warnings.
984         * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction):
985         Store parsed attributes.
986         (soap-encode-xs-complex-type-attributes): Encode custom attributes.
988         * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes):
989         Don't add the xsi:type attribute (Exchange refuses requests which have
990         this attribute).
992         * lisp/net/soap-client.el, soap-inspect.el: Convert to lexical binding,
993         correct compiler warnings about unused function arguments and
994         local variables.
996         * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil
997         type indicator.
998         (soap-parse-envelope): Handle response headers.
999         (soap-parse-response): Likewise.  Only return non-nil decoded values.
1001         * lisp/net/soap-client.el (soap-validate-xs-simple-type):
1002         Return validated value.
1004         * lisp/net/soap-client.el (soap-xs-parse-element)
1005         (soap-xs-parse-simple-type)
1006         (soap-xs-parse-complex-type)
1007         (soap-parse-message)
1008         (soap-parse-operation): Add the current namespace to the element
1009         being created.
1010         (soap-resolve-references-for-xs-element)
1011         (soap-resolve-references-for-xs-simple-type)
1012         (soap-resolve-references-for-xs-complex-type)
1013         (soap-resolve-references-for-operation): Resolve the namespace to
1014         the namespace tag.
1015         (soap-make-wsdl): specify a namespace tag when creating the xsd
1016         and soapenc namespaces
1017         (soap-wsdl-resolve-references): don't update namespace tags in
1018         elements here
1019         (soap-parse-port-type): bind the urn: to soap-target-xmlns
1020         (soap-encode-body): don't add nil namespace tags to
1021         soap-encoded-namespaces
1023         * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object
1024         for registering the soap-inspect method.  Make debbugs tests pass.
1025         * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the
1026         type name, also skip string only nodes when decoding a structure.
1027         (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice
1028         types too.
1029         (soap-encode-body): Grab the header value from the param table.
1031         * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element):
1032         New function.
1033         (soap-encode-xs-element): Don't encode nil value unless needed.
1035         * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`.
1036         (soap-parse-binding): Parse the message parts required in the body.
1037         (soap-encode-body): Encode only the parts that are declared to be
1038         part of the body.
1040         * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name
1041         when writing out the tag.
1042         (soap-encode-body): Remove hack that inserts the xmlns in the
1043         element attributes list.
1045         * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot.
1046         (soap-xs-parse-attribute): Default slot is set from the XML
1047         "fixed" attribute.
1048         (soap-encode-xs-complex-type-attributes): Encode any attributes
1049         that have a default value.  Also, don't put the xsi:nil attribute
1050         when the complex type has no content anyway.
1052         * lisp/net/soap-client.el (soap-well-known-xmlns):
1053         Add the xml namespace.
1054         (soap-local-xmlns): Start with the xml namespace.
1055         (soap-xml-node-first-child): Skip xsd:annotation nodes too.
1056         (soap-make-xs-basic-types): More xsd types added.
1057         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
1058         Handle "language", "time", "date", "nonNegativeInteger".
1059         (soap-resolve-references-for-xs-element): Don't signal an error if
1060         the element does not have a type.
1061         (soap-xs-parse-simple-type): Subtypes are handled with ecase,
1062         added stum for xsd:list.
1063         (soap-xs-add-union): Call soap-l2fq on all union members.
1064         (soap-xs-add-extension): Call soap-l2fq on the base member.
1065         (soap-resolve-references-for-xs-simple-type): Don't signal an
1066         error if the simple type has no base.
1067         (soap-resolve-references-for-xs-simple-type): Bugfix, call
1068         soap-wsdl-get on each type of the base.
1070         * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute):
1071         Referenced type can be eiher a simple type or a basic type.
1072         (soap-xs-add-restriction)
1073         (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base.
1074         (soap-make-xs-basic-types)
1075         (soap-encode-xs-basic-type, soap-decode-xs-basic-type):
1076         Add support for more XMLSchema basic types.
1077         (soap-current-file, soap-xmlschema-imports): New defvars.
1078         (soap-parse-schema): Add locations from xsd:import tags to
1079         `soap-xmlschema-imports'.
1080         (soap-wsdl): Make destructor private.
1081         (soap-make-wsdl): New defun, SOAP-WSDL object constructor.
1082         (soap-wsdl-add-alias): Check if we try to replace aliases.
1083         (soap-fetch-xml-from-url, soap-fetch-xml-from-file)
1084         (soap-fetch-xml): New defuns.
1085         (soap-load-wsdl): Update to load the WSDL from either a file or
1086         an url.
1087         (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'.
1088         (soap-parse-wsdl): Process wsdl:import tags and imports from
1089         `soap-xmlschema-imports'.
1090         * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of
1091         symbol-name.
1092         (soap-l2fq): Make the name part always a string.
1093         (soap-name-p): New defun, used for name tests.
1095         * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type):
1096         Supply sample values for choice types with a special tag.
1097         * lisp/net/soap-client.el (soap-encode-xs-complex-type):
1098         Handle anonymous elements correctly.
1099         (soap-encode-value): Accept nodes that have no namespace tag.
1101         * lisp/net/soap-client.el (soap-invoke): Encode the string for
1102         `url-request-data' as UTF-8.  Fixes issue 16.
1104 2015-10-25  Eli Zaretskii  <eliz@gnu.org>
1106         * lisp/progmodes/grep.el (grep): Doc fix.  (Bug#21754)
1108 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1110         * src/keyboard.c (post-command-hook): Extend the docstring.
1111         Mainly, explain how to use it without hanging Emacs, or giving the
1112         impression that it is hanging.  Also mention `pre-command-hook'.
1113         (pre-command-hook): Mention `post-command-hook'.
1115 2015-10-25  Artur Malabarba  <bruce.connor.am@gmail.com>
1117         * lisp/custom.el (custom-declare-variable): Shorten code again.
1118         Without using pcase this time.  We can't use pcase because it is
1119         loaded after custom in loadup.el.  Also add a comment explaining
1120         this to future dummies like me.
1122 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
1124         * doc/lispref/os.texi (File Notifications): Document `stopped event'.
1126 2015-10-25  Michael Albinus  <michael.albinus@gmx.de>
1128         Introduce `stopped' event in file notification
1130         * lisp/filenotify.el (file-notify--rm-descriptor): New defun.
1131         (file-notify-rm-watch): Use it.
1132         (file-notify-callback): Implement `stopped' event.
1133         (file-notify-add-watch): Mention `stopped' in the docstring.
1134         Check, that upper directory exists.
1136         * test/automated/file-notify-tests.el (file-notify-test01-add-watch):
1137         Add two test cases.
1138         (file-notify-test02-events): Handle also `stopped' event.
1139         (file-notify-test04-file-validity): Add another test case.
1141 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
1143         Revert commit that broke 'make bootstrap'
1145         * lisp/custom.el (custom-declare-variable): Revert commit
1146         79fac080d277fed07b3c192890ad59d36d9f83b6.  custom.el needs to work
1147         even when pcase has not been defined yet, when doing bootstrapping.
1149 2015-10-25  Paul Eggert  <eggert@cs.ucla.edu>
1151         Port recent inline functions fix to Standard C
1153         * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove.
1154         All uses rewritten to define the function directly rather than to
1155         use a macro to define the function.  This conforms to Standard C,
1156         which does not allow stray semicolons at the top level.  I hope it
1157         also avoids the problems with TAGS.  Those macros, though clever,
1158         were pretty confusing anyway, and it wasn’t clear they were worth
1159         the aggravation even without the TAGS problem.
1161 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1163         * lisp/isearch.el: Make character-fold search the default again.
1165 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1167         * lisp/character-fold.el: Many improvements.
1168         (character-fold-search-forward, character-fold-search-backward):
1169         New command.
1170         (character-fold-to-regexp): Remove lax-whitespace hack.
1171         (character-fold-search): Remove variable.  Only isearch and
1172         query-replace use char-folding, and they both have their own
1173         variables to configure that.
1175 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1177         * lisp/isearch.el: Generalize definition of regexp-function toggles.
1178         (isearch-specify-regexp-function): New macro for specifying
1179         possible values of `isearch-regexp-function'.
1180         (isearch-toggle-character-fold, isearch-toggle-symbol)
1181         (isearch-toggle-word): Define with `isearch-specify-regexp-function'.
1183 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1185         * lisp/isearch.el (search-default-regexp-mode): New variable.
1186         (isearch-mode): Use it.
1188 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1190         * lisp/isearch.el (search-exit-option, search-slow-window-lines)
1191         (search-slow-speed, search-upper-case)
1192         (search-nonincremental-instead, search-whitespace-regexp)
1193         (search-invisible, isearch-hide-immediately)
1194         (isearch-resume-in-command-history, search-ring-max)
1195         (regexp-search-ring-max, search-ring-update, search-highlight)
1196         (isearch-fail): Delete :group entries.
1198 2015-10-24  Artur Malabarba  <bruce.connor.am@gmail.com>
1200         * lisp/custom.el (custom-declare-variable): Shorten code a bit.
1202 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
1204         addpm.c: Silence some warnings.
1206         * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction
1207         to LPBYTE.
1208         (add_registry): Pass NULL to optional lpClass argument of
1209         RegCreateKeyEx, not an empty string.
1211 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
1213         addpm.c: Do not add obsolete GTK libraries to the path.
1215         * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete.
1216         (add_registry): Remove variables `size' and `gtk_key'.
1217         Do not add the GTK DLL directory to the library search path; it is
1218         confusing behavior (in particular, the same Emacs version with and
1219         without invoking addpm will use a different path), and the GTK image
1220         libraries are obsolete anyway.
1222 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
1224         addpm.c: Replace existing registry entries, but do not create new ones
1226         * nt/addpm.c (add_registry): If the Emacs registry key exists, replace
1227         existing values from previous versions, but do not add new ones; the
1228         key could exist for other reasons unrelated to old Emacsen, like X-style
1229         resources, or to set some environment variables like HOME or LANG, and
1230         in that case we don't want to populate it with obsolete values.
1232 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
1234         * nt/addpm.c (add_registry): Do not compute unused return value.
1236 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
1238         addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx
1240         * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of
1241         RegOpenKeyEx, not REG_OPTION_NON_VOLATILE.  This doesn't change
1242         current behavior because REG_OPTION_NON_VOLATILE is defined to
1243         be 0L anyway, but that option is actually documented only for
1244         RegCreateKeyEx.
1246 2015-10-24  Juanma Barranquero  <lekktu@gmail.com>
1248         * src/w32notify.c (Fw32notify_add_watch): Fix version check.
1250 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
1252         Update frame title when redisplay scrolls selected window
1254         * src/xdisp.c (redisplay_window): Reconsider the frame's title
1255         when the mode-line of the frame's selected window needs to be
1256         updated.
1258 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
1260         Update frame title when scrolling the selected window
1262         * src/window.c (wset_update_mode_line): New function, sets either
1263         the window's update_mode_line flag or the global update_mode_lines
1264         variable.
1265         (Fset_window_start, set_window_buffer, window_scroll_pixel_based)
1266         (window_scroll_line_based): Call it instead of only setting the
1267         window's update_mode_line flag.
1269 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
1271         An even better fix for bug#21739
1273         * src/window.c (set_window_buffer): If the window is the frame's
1274         selected window, set update_mode_lines, not the window's
1275         update_mode_line flag.
1276         * src/buffer.c (Fkill_buffer): Undo last change.
1277         (set_update_modelines_for_buf): Function deleted.
1279 2015-10-24  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1281         Sync with soap-client repository, version 3.0.0
1283 2015-10-24  Nicolas Petton  <nicolas@petton.fr>
1285         Update the new icon
1287         Move the E slightly to the right in the circle.
1289         * etc/images/icons/hicolor/128x128/apps/emacs.png:
1290         * etc/images/icons/hicolor/16x16/apps/emacs.png:
1291         * etc/images/icons/hicolor/24x24/apps/emacs.png:
1292         * etc/images/icons/hicolor/32x32/apps/emacs.png:
1293         * etc/images/icons/hicolor/48x48/apps/emacs.png:
1294         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
1295         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
1296         * nt/icons/emacs.ico: New icom update.
1298 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
1300         Avoid missing inline functions from lisp.h in TAGS
1302         * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the
1303         need to end each invocation with a semi-colon.
1304         Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN
1305         and LISP_MACRO_DEFUN_VOID.  This is to avoid missing in TAGS
1306         inline functions defined immediately after each invocation, and
1307         also avoid tagging every invocation of these macros.
1309 2015-10-24  Eli Zaretskii  <eliz@gnu.org>
1311         A better fix for bug#21739
1313         * src/buffer.c (set_update_modelines_for_buf): New function.
1314         (Fkill_buffer): Use it to set the global variable
1315         update_mode_lines if the killed buffer was displayed in some
1316         window.  Don't set windows_or_buffers_changed.  This is a better
1317         fix for bug#21739 than the previous fix, since it will cause only
1318         redisplay of mode lines, not of entire windows, but will still
1319         catch attention of x_consider_frame_title in xdisp.c, which
1320         redraws the frame title.
1322 2015-10-24  Tassilo Horn  <tsdh@gnu.org>
1324         * lisp/dired-aux.el (dired-compress-files-alist): Add support for
1325         tar.bz2 and tar.xz archives.
1327 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
1329         Fix infloop in redisplay introduced by a recent change
1331         * src/xdisp.c (redisplay_internal): Avoid inflooping when
1332         redisplaying the selected window sets the selected frame's
1333         redisplay flag.  (Bug#21745)
1335 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
1337         * lisp/emacs-lisp/thunk.el: Better documentation.
1339 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
1341         Replace the old icon for Windows and Mac OSX
1343         * nt/icons/emacs.ico:
1344         * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns:
1345         Use the new icons.
1347 2015-10-23  Stephen Leake  <stephen_leake@stephe-leake.org>
1349         * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file):
1350         `load-path' should contain only directory names.
1352 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
1354         New library thunk.el
1356         thunk.el is extracted from stream.el in ELPA, with additional tests.
1358         * lisp/emacs-lisp/thunk.el: New file.
1359         * test/automated/thunk-tests.el: New file.
1360         * etc/NEWS: Add information about thunk.el
1362 2015-10-23  Michael Albinus  <michael.albinus@gmx.de>
1364         Fix bug#21669
1366         * lisp/filenotify.el (file-notify-rm-watch): Improve check for
1367         calling low-level functions.
1369         * test/automated/file-notify-tests.el (file-notify--test-timeout):
1370         Decrase to 6 seconds for remote directories.
1371         (file-notify-test02-events): Expect different number of
1372         `attribute-changed' events for the local and remote cases.  Apply
1373         short delays between the operations, in order to receive all
1374         events in the remote case.  Combine `attribute-change' tests.
1375         (Bug#21669)
1377 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
1379         Decode the HTML source when displaying it in EWW
1381         * lisp/net/eww.el (eww-view-source): Decode the HTML source
1382         according to its headers.
1384 2015-10-23  Nicolas Petton  <nicolas@petton.fr>
1386         New default icon
1388         * etc/images/icons/hicolor/128x128/apps/emacs23.png:
1389         * etc/images/icons/hicolor/16x16/apps/emacs23.png:
1390         * etc/images/icons/hicolor/24x24/apps/emacs23.png:
1391         * etc/images/icons/hicolor/32x32/apps/emacs23.png:
1392         * etc/images/icons/hicolor/48x48/apps/emacs23.png:
1393         * etc/images/icons/hicolor/scalable/apps/emacs23.svg:
1394         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg:
1395         Move the old logo files to emacs23.*.
1396         * etc/images/icons/hicolor/128x128/apps/emacs.png:
1397         * etc/images/icons/hicolor/16x16/apps/emacs.png:
1398         * etc/images/icons/hicolor/24x24/apps/emacs.png:
1399         * etc/images/icons/hicolor/32x32/apps/emacs.png:
1400         * etc/images/icons/hicolor/48x48/apps/emacs.png:
1401         * etc/images/icons/hicolor/scalable/apps/emacs.svg:
1402         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
1403         New files.
1404         * etc/images/icons/README: Update the copyright information.
1406 2015-10-23  Eli Zaretskii  <eliz@gnu.org>
1408         Fix redisplay of frame title when current buffer is killed
1410         * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a
1411         non-zero value, to redisplay more than just the affected windows.
1412         (Bug#21739)
1414 2015-10-23  Anders Lindgren  <andlind@gmail.com>
1416         NextSten maximization and NSTRACE rewrite
1418         Full-height, full-width, and maximized windows now cover the
1419         entire screen (except the menu bar), including the part where the
1420         system dock is placed.  The system zoom animation is no longer
1421         used.
1423         Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the
1424         original size.
1426         * src/nsterm.m (ns_menu_bar_height): New function, return height of
1427         the menu bar, or 0 when it's hidden.
1428         (constrain_frame_rect): New function for constraining a frame.
1429         (ns_constrain_all_frames): Set frame size explicitly rather than
1430         relying on the system doing it for us by writing back the current
1431         frame size.
1432         (windowWillUseStandardFrame): Register non-maximized width or
1433         height as new user size.  When entering full width or height,
1434         the other size component is taken from the user size.
1435         (fullscreenState): New method for accessing the fullscreen state.
1436         (constrainFrameRect): Restrict frame to be placed under the menu bar,
1437         if present.  The old version, sometimes, restricted the height of a
1438         frame to the screen, this version never does this.
1439         (zoom): Perform zoom by setting the frame to the full size of the
1440         screen (minus the menu bar).  The default system function, with the
1441         zoom animation, is no longer used, as the final frame size doesn't
1442         cover the entire screen.
1444         Rework how to constrain resizing to the character grid.  The old
1445         system used "resizeIncrements" in NSWindows.  However, once a frame
1446         was resized so that it was not aligned to the text grid, it
1447         remained unaligned even after a resize.  In addition, it conflicted
1448         when resizing a fullheight window.
1450         * src/nsterm.m (windowWillResize): Restrict frame size to text grid,
1451         unless when pixelwise frame resizing is enabled.
1452         (updateFrameSize, initFrameFromEmacs)
1453         (toggleFullScreen, handleFS): Don't set resizeIncrements.
1455         Redesign the NS trace system.  The call structure is represented
1456         using indentations and vertical lines.  The NSTRACE macro accepts
1457         printf-style arguments.  New macros for printing various
1458         information.
1460         * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system.
1461         (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new
1462         block (typically a function), accept printf-style arguments.
1463         (NSTRACE_MSG): Macro for extra information, accepts
1464         printf-style arguments.
1465         (NSTRACE_what): Macros for printing various types.
1466         (NSTRACE_FMT_what): Macro with printf format string snippets.
1467         (NSTRACE_ARG_what): Macros for passing printf-style arguments,
1468         corresponds to NSTRACE_FMT_what.
1469         (NSTRACE_RETURN): Macro to print return value, accept
1470         printf-style arguments.
1471         (NSTRACE_RETURN_what): Macros to print return value for
1472         various types.
1474         * nsterm.m: Remove old NSTRACE macro
1475         * src/nsterm.m (nstrace_num): Trace counter.
1476         (nstrace_depth): Current call depth.
1477         (nstrace_leave): NSTRACE support function, called when the
1478         local variable "nstrace_enabled" goes out of scope using the
1479         "cleanup" extension.
1480         (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function.
1481         (constrain_frame_rect, ns_constrain_all_frames)
1482         (ns_update_auto_hide_menu_bar, ns_update_begin)
1483         (ns_update_window_begin, update_window_end, ns_update_end)
1484         (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower)
1485         (ns_frame_rehighlight, x_make_frame_visible)
1486         (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources)
1487         (x_destroy_window, x_set_offset, x_set_window_size)
1488         (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp)
1489         (ns_defined_color, frame_set_mouse_pixel_position)
1490         (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date)
1491         (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars)
1492         (ns_clear_frame, ns_clear_frame_area, ns_scroll_run)
1493         (ns_after_update_window_line, ns_shift_glyphs_for_insert)
1494         (dumpcursor, ns_draw_vertical_window_border)
1495         (ns_draw_window_divider, ns_draw_relief)
1496         (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background)
1497         (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined)
1498         (ns_read_socket, ns_select, ns_set_vertical_scroll_bar)
1499         (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars)
1500         (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal)
1501         (ns_create_terminal, ns_term_init, sendEvent)
1502         (applicationDidFinishLaunching, applicationDidBecomeActive)
1503         (timeout_handler, fd_handler, EmacsView_dealloc, changeFont)
1504         (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown)
1505         (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp)
1506         (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved)
1507         (mouse_autoselect_window, in_window, mouseDragged)
1508         (rightMouseDragged, otherMouseDragged, windowShouldClose)
1509         (updateFrameSize, windowWillResize, windowDidResize)
1510         (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize)
1511         (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize)
1512         (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen)
1513         (windowDidEnterFullScreen, windowWillExitFullScreen)
1514         (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue)
1515         (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect)
1516         (draggingEntered, performDragOperation, validRequestorForSendType)
1517         (setMiniwindowImage, constrainFrameRect, performZoom, zoom)
1518         (EmacsScroller_initFrame, EmacsScroller_setFrame)
1519         (EmacsScroller_dealloc, condemn, reprieve, judge)
1520         (resetCursorRects, setPosition, EmacsScroller_mouseDown)
1521         (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system.
1523         * nsfns.m: Remove old NSTRACE macro
1524         * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name)
1525         (x_implicitly_set_name, x_set_title, ns_set_name_as_filename)
1526         (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system.
1528         * nsimage.m: Remove old NSTRACE macro
1529         * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM)
1530         (ns_image_from_bitmap_file, ns_load_image): Use new trace system.
1532         * nsmenu.m: Remove old NSTRACE macro
1533         * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog):
1534         Use new trace system.
1536 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
1538         No need to use eval-and-compile
1540         * lisp/gnus/auth-source.el: Do require epg (when compiling) before
1541         autoload epg functions.
1543 2015-10-22  Katsumi Yamaoka  <yamaoka@jpl.org>
1545         Fix auth-source-epa-make-gpg-token compilation (bug#21724)
1547         * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for
1548         epg-context-set-passphrase-callback, epg-decrypt-string, and
1549         epg-encrypt-string; require epg when compiling for the setf-method
1550         for epg-context-armor. (bug#21724)
1552 2015-10-22  Eli Zaretskii  <eliz@gnu.org>
1554         Include file cleanup for w32 files in src directory
1556         * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h,
1557         fontset.h, blockinput.h.
1558         * src/w32uniscribe.c: Don't include dispextern.h, character.h,
1559         charset.h, fontset.h.
1560         * src/w32term.c: Don't include systty.h, systime.h, charset.h,
1561         character.h, ccl.h, dispextern.h, disptab.h, intervals.h,
1562         process.h, atimer.h, keymap.h, w32heap.h.  Include bitmap/gray.xbm
1563         in an ifdef-ed away block.
1564         Include fcntl.h for CYGWIN.
1565         (set_frame_param): Remove unused function.
1566         * src/w32select.c: Don't include charset.h and composite.h.
1567         (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings
1568         due to pointer signedness mismatches.
1569         * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings
1570         due to pointer signedness mismatches.
1571         * src/w32proc.c: Include unistd.h.  Don't include systime.h,
1572         process.h, dispextern.h.
1573         (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name)
1574         (Fw32_application_type): Avoid compiler warnings due to pointer
1575         signedness mismatches.
1576         * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h,
1577         character.h, charset.h, dispextern.h.
1578         (simple_dialog_show, add_menu_item): Avoid compiler warnings due
1579         to pointer signedness mismatches.
1580         * src/w32inevt.c: Don't include dispextern.h, window.h,
1581         termhooks.h, w32heap.h.
1582         * src/w32font.c: Don't include dispextern.h, character.h,
1583         charset.h, fontset.h, font.h.
1584         (intern_font_name, add_font_entity_to_list)
1585         (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont)
1586         (list_all_matching_fonts): Avoid compiler warnings due to pointer
1587         signedness mismatches.
1588         * src/w32fns.c: Don't include character.h, intervals.h,
1589         dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h,
1590         termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h.
1591         (w32_color_map_lookup, add_system_logical_colors_to_map)
1592         (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p)
1593         (Fxw_color_values, x_display_info_for_name, Fset_message_beep)
1594         (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash)
1595         (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid
1596         compiler warnings, mainly due to pointer signedness mismatches.
1597         (unwind_create_frame_1): Remove unused function.
1598         * src/w32console.c: Don't include character.h, disptab.h, frame.h,
1599         window.h, termhooks.h, dispextern.h.
1600         (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer
1601         signedness mismatch.
1602         * src/w32.c: Include c-strcase.h and systty.h.  Don't include
1603         w32heap.h.
1605 2015-10-22  Tassilo Horn  <tsdh@gnu.org>
1607         Improve doc-view wrt. auto-revert-mode
1609         * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file
1610         is corrupted (bug#21729).
1611         (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function.
1613 2015-10-22  Oleh Krehel  <ohwoeowho@gmail.com>
1615         Describe dired-do-compress-to in the manual
1617         * etc/NEWS: Update.
1619         * lisp/dired-aux.el: Fix typo.
1621         * doc/emacs/dired.texi: Add entry.
1623 2015-10-22  Jürgen Hötzel  <juergen@archlinux.org>
1625         Further fix for proper locale handling in tramp-gvfs.el
1627         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
1628         Just suppress LC_MESSAGES locale category settings.
1630 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
1632         New lispref section “Security Considerations”
1634         This attempts to document some of the issues recently discussed
1635         on emacs-devel, and to indicate other such issues.  The section
1636         could be a lot longer.
1637         * doc/lispref/os.texi (Security Considerations):
1638         New node.
1639         * doc/lispref/elisp.texi (Top):
1640         * doc/lispref/processes.texi (Shell Arguments):
1641         * lisp/subr.el (shell-quote-argument):
1642         * src/callproc.c (syms_of_callproc):
1643         Reference it.
1645 2015-10-21  Paul Eggert  <eggert@cs.ucla.edu>
1647         Merge from gnulib
1649         This incorporates:
1650         2015-10-18 stdalign: work around pre-4.9 GCC x86 bug
1651         2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull
1652         * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c:
1653         Copy from gnulib.
1655 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
1657         * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks.
1658         (mailcap-viewer-passes-test): Do it instead.  Thanks to Stefan Monnier.
1660 2015-10-21  Ken Brown  <kbrown@cornell.edu>
1662         Further include-file cleanup
1664         * src/sheap.c: Include stdlib.h.
1665         * src/unexcw.c: Include string.h.
1667 2015-10-21  Eli Zaretskii  <eliz@gnu.org>
1669         Fix logic in 'server-kill-emacs-query-function'
1671         * lisp/server.el (server-kill-emacs-query-function): Correct the
1672         logic that controls whether the user is asked for confirmation.
1673         (Bug#21723)
1675 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1677         * lisp/isearch.el (isearch-search-fun-default): Simplify logic.
1678         (isearch--lax-regexp-function-p): New function.
1680 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1682         * lisp/isearch.el: Support lax-whitespace in regexp-function searches.
1683         (isearch-search-fun-default): Let-bind `search-spaces-regexp'
1684         around `isearch-regexp-function'.
1686 2015-10-21  Artur Malabarba  <bruce.connor.am@gmail.com>
1688         * lisp/isearch.el: Rename word search to regexp-function search.
1689         `isearch-word' went well beyond its original purpose, and the name
1690         no longer makes sense.  It is now called
1691         `isearch-regexp-function', and its value should always be a function
1692         that converts a string to a regexp (though setting it to t is still
1693         supported for now).
1694         (isearch-word): Make obsolete.
1695         (isearch-regexp-function): New variable.
1696         (isearch-mode, isearch-done, isearch--state, isearch--set-state)
1697         (with-isearch-suspended, isearch-toggle-regexp)
1698         (isearch-toggle-word, isearch-toggle-symbol)
1699         (isearch-toggle-character-fold, isearch-query-replace)
1700         (isearch-occur, isearch-highlight-regexp)
1701         (isearch-search-and-update, isearch-message-prefix)
1702         (isearch-search-fun-default, isearch-search)
1703         (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
1704         Use it.
1705         (isearch-lazy-highlight-regexp-function): New var.
1706         (isearch-lazy-highlight-word): Make obsolete.
1707         (isearch--describe-regexp-mode): New function.
1708         (isearch--describe-word-mode): Make obsolete.
1710         * lisp/info.el (Info-isearch-search):
1711         * lisp/replace.el (replace-search, replace-highlight):
1712         * lisp/obsolete/longlines.el (longlines-search-function):
1713         * lisp/hexl.el (hexl-isearch-search-function):
1714         * lisp/cedet/semantic/senator.el (senator-isearch-search-fun):
1715         Use the new var.
1717 2015-10-21  Oleh Krehel  <ohwoeowho@gmail.com>
1719         Add dired-do-compress-to command bound to "c"
1721         * lisp/dired-aux.el (dired-shell-command): Use the caller's
1722           `default-directory', return the result of `process-file'.
1723         (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't
1724         used by default.
1725         (dired-compress-files-alist): New defvar.
1726         (dired-do-compress-to): New command.
1728         * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c".
1729         (dired-do-compress-to): Add an autoload entry.
1731         * etc/NEWS: Add two entries.
1733 2015-10-21  Tassilo Horn  <tsdh@gnu.org>
1735         Make RefTeX work with LaTeX subfiles package
1737         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles
1738         document class argument as master file for referencing purposes.
1740 2015-10-21  Katsumi Yamaoka  <yamaoka@jpl.org>
1742         * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix.
1744 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
1746         Include-file cleanup for src directory
1748         Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707).
1749         In a few cases, add ‘#include "foo.h"’ if the file needs foo.h
1750         but does not include it directly.  As a general rule, a source
1751         file should include foo.h if it needs the interfaces that foo.h
1752         defines.
1753         * src/alloc.c: Don’t include process.h.  Include dispextern.h,
1754         systime.h.
1755         * src/atimer.c: Don’t include blockinput.h.
1756         * src/buffer.c: Include coding.h, systime.h.  Don’t include
1757         keyboard.h, coding.h.
1758         * src/callint.c: Don’t include commands.h, keymap.h.
1759         * src/callproc.c: Don’t include character.h, ccl.h, composite.h,
1760         systty.h, termhooks.h.
1761         * src/casetab.c: Don’t include character.h.
1762         * src/category.c: Don’t include charset.h, keymap.h.
1763         * src/ccl.h: Don’t include character.h.
1764         * src/character.c: Don’t include charset.h.
1765         * src/charset.c: Don’t include disptab.h.
1766         * src/chartab.c: Don’t include ccl.h.
1767         * src/cm.c: Don’t include frame.h, termhooks.h.
1768         * src/cmds.c: Don’t include window.h, dispextern.h.
1769         * src/coding.c: Don’t include window.h, frame.h.
1770         * src/composite.c: Include composite.h.  Don’t include window.h,
1771         font.h.
1772         * src/data.c: Don’t include syssignal.h, termhooks.h, font.h.
1773         * src/dbusbind.c: Don’t include frame.h.
1774         * src/decompress.c: Don’t include character.h.
1775         * src/dired.c: Don’t include character.h, commands.h, charset.h.
1776         * src/dispnew.c: Don’t include character.h, indent.h, intervals.h,
1777         process.h, timespec.h.  Include systime.h.
1778         * src/doc.c: Include coding.h.  Don’t include keyboard.h.
1779         * src/editfns.c: Include composite.h.  Don’t include frame.h.
1780         * src/emacs.c: Include fcntl.h, coding.h.  Don’t include
1781         commands.h, systty.h..
1782         * src/fileio.c: Don’t include intervals.h, dispextern.h.
1783         Include composite.h.
1784         * src/filelock.c: Don’t include character.h, systime.h.
1785         * src/fns.c: Don’t include time.h, commands.h, keyboard.h,
1786         keymap.h, frame.h, blockinput.h, xterm.h.  Include composite.h.
1787         * src/font.c: Include termhooks.h.
1788         * src/font.h: Don’t include ccl.h, frame.h.  Add forward decls of
1789         struct composition_it, struct face, struct glyph_string.
1790         * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h,
1791         intervals.h, window.h, termhooks.h.
1792         * src/frame.c: Don’t include character.h, commands.h, font.h.
1793         * src/frame.h: Don’t include dispextern.h.
1794         * src/fringe.c: Don’t include character.h.
1795         * src/ftcrfont.c: Don’t include dispextern.h, frame.h,
1796         character.h, charset.h, fontset.h.
1797         * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h,
1798         fontset.h.
1799         * src/ftxfont.c: Don’t include dispextern.h, character.h,
1800         charset.h, fontset.h.
1801         * src/gfilenotify.c: Don’t include frame.h, process.h.
1802         * src/gtkutil.c: Include dispextern.h, frame.h, systime.h.
1803         Don’t include syssignal.h, buffer.h, charset.h, font.h.
1804         * src/gtkutil.h: Don’t include frame.h.
1805         * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h.
1806         Don’t include character.h.
1807         * src/indent.c: Don’t include keyboard.h, termchar.h.
1808         * src/inotify.c: Don’t include character.h, frame.h.
1809         * src/insdel.c: Include composite.h.  Don’t include blockinput.h.
1810         * src/intervals.c: Don’t include character.h, keyboard.h.
1811         * src/intervals.h: Don’t include dispextern.h, composite.h.
1812         * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h.
1813         Include coding.h.
1814         * src/keyboard.h: Don’t incldue systime.h.
1815         * src/keymap.c: Don’t include charset.h, frame.h.
1816         * src/lread.c: Include dispextern.h and systime.h.
1817         Don’t include frame.h.  Include systime.h.
1818         * src/macros.c: Don’t include commands.h, character.h, buffer.h.
1819         * src/menu.c: Include character.h, coding.h.  Don’t include
1820         dispextern.h.
1821         * src/menu.h: Don’t include systime.h.
1822         * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h,
1823         intervals.h, termhooks.h.
1824         * src/print.c: Include coding.h.  Don’t include keyboard.h,
1825         window.h, dispextern.h, termchar.h, termhooks.h, font.h.
1826         Add forward decl of struct terminal.
1827         * src/process.c: Don’t include termhooks.h, commands.h,
1828         dispextern.h, composite.h.
1829         * src/region-cache.c: Don’t include character.h.
1830         * src/scroll.c: Don’t include keyboard.h, window.h.
1831         * src/search.c: Don’t include category.h, commands.h.
1832         * src/sound.c: Don’t include dispextern.h.
1833         * src/syntax.c: Don’t include command.h, keymap.h.
1834         * src/sysdep.c: Don’t include window.h, dispextern.h.
1835         * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’,
1836         * src/term.c: Don’t include systty.h, intervals.h, xterm.h.
1837         * src/terminal.c: Include character.h.
1838         Don’t include charset.h, coding.h.
1839         * src/textprop.c: Don’t include character.h.
1840         * src/undo.c: Don’t include character.h, commands.h, window.h.
1841         * src/unexsol.c: Don’t include character.h, charset.h.
1842         * src/widget.c: Include widget.h.  Don’t include keyboard.h,
1843         window.h, dispextern.h, blockinput.h, character.h, font.h.
1844         * src/widgetprv.h: Don’t include widget.h.
1845         * src/window.c: Don’t include character.h, menu.h, intervals.h.
1846         * src/xdisp.c: Include composite.h, systime.h.  Don’t include
1847         macros.h, process.h.
1848         * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h,
1849         intervals.h.
1850         * src/xfns.c: Don’t include menu.h, character.h, intervals.h,
1851         epaths.h, fontset.h, systime.h, atimer.h, termchar.h.
1852         * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h.
1853         * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h.
1854         * src/xgselect.c: Don’t include timespec.h, frame.h.
1855         Include systime.h.
1856         * src/xgselect.h: Don’t include time.h.
1857         Use a forward decl to struct timespec instead.
1858         * src/xmenu.c: Don’t include keymap.h, character.h, charset.h,
1859         dispextern.h.  Include systime.h.
1860         * src/xml.c: Don’t include character.h.
1861         * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h.
1862         * src/xselect.c: Don’t include dispextern.h, character.h,
1863         buffer.h, process.h.
1864         * src/xsmfns.c: Don’t include systime.h, sysselect.h.
1865         * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h,
1866         intervals.h process.h, keymap.h, xgselect.h.  Include composite.h.
1868 2015-10-20  Paul Eggert  <eggert@cs.ucla.edu>
1870         (/ N) now returns the reciprocal of N
1872         This is more compatible with Common Lisp and XEmacs (Bug#21690).  See:
1873         http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html
1874         * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb)
1875         (color-xyz-to-srgb, color-xyz-to-lab):
1876         * lisp/emacs-lisp/cl-extra.el (cl-float-limits):
1877         * lisp/net/shr-color.el (shr-color-hue-to-rgb)
1878         (shr-color-hsl-to-rgb-fractions):
1879         Exploit the change to simplify the code a bit.
1880         * lisp/emacs-lisp/bytecomp.el (byte-compile-quo):
1881         Don’t complain about single-argument calls to ‘/’.
1882         * src/data.c (arith_driver, float_arith_driver):
1883         Implement the change.
1885 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
1887         Call vc-dir-refresh after stash operations
1889         * lisp/vc/vc-git.el (vc-git-stash-apply-at-point)
1890         (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960).
1892         * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well,
1893         since it can be abbreviated (as returned by vc-find-root).
1895 2015-10-20  Dmitry Gutov  <dgutov@yandex.ru>
1897         * lisp/vc/vc-svn.el:
1898         * lisp/vc/vc-mtn.el:
1899         * lisp/vc/vc-hg.el:
1900         * lisp/vc/vc-cvs.el:
1901         * lisp/vc/vc-git.el:
1902         * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore.
1903         Its usages have been replaced with vc-run-delayed.
1905 2015-10-20  Dima Kogan  <dima@secretsauce.net>
1907         Fix memory leak in fontset handling
1909         * src/font.c (copy_font_spec): Make a deep copy of the input
1910         argument FONT.  (Bug#21651)
1912 2015-10-20  Michael Sperber  <mike@xemacs.org>
1914         * lisp/gnus/mailcap.el (mailcap-mime-data):
1915         Conditonalize `doc-view-mode', which does not exist on XEmacs.
1917 2015-10-20  Oleh Krehel  <ohwoeowho@gmail.com>
1919         Update the way directories are compressed
1921         * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe
1922         for *.tar.gz decompression to use a pipe.
1923         Add an entry for the default directory compression (to *.tar.g).
1924         (dired-compress-file): Update.
1926         See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html.
1928 2015-10-20  Michael Sperber  <mike@xemacs.org>
1930         Unbreak `group' option for `mail-sources'
1932         * nnml.el (nnml-retrieve-groups, nnml-request-scan):
1933         * nnmail.el (nnmail-get-new-mail-per-group)
1934         (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'.
1936 2015-10-19  Nicolas Petton  <nicolas@petton.fr>
1938         New function seq-position
1940         * lisp/emacs-lisp/seq.el (seq-position): New function.
1941         * test/automated/seq-tests.el: New tests for seq-position.
1942         * doc/lispref/sequences.texi: Add documentation for `seq-position'.
1944 2015-10-19  Ken Brown  <kbrown@cornell.edu>
1946         Enable --with-wide-int build on 32-bit Cygwin
1948         * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86
1949         and x86_64 to enable --with-wide-int build on 32-bit Cygwin.
1951 2015-10-19  Glenn Morris  <rgm@gnu.org>
1953         * doc/emacs/ack.texi (Acknowledgments): Small, sad, update.
1955 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
1957         Resurrect image loading under auto-image-file-mode
1959         * src/image.c (x_find_image_fd): Handle the case of -2 returned by
1960         'openp' specially.  This special case was lost in the changes on
1961         2015-08-18.  (Bug#21685)
1963 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
1965         Fix return value of 'set-file-extended-attributes'
1967         * lisp/files.el (set-file-extended-attributes): Return non-nil
1968         when setting either ACLs or SELinux context succeeds.  Document
1969         the return value.  (Bug#21699)
1971         * doc/lispref/files.texi (Changing Files): Document the return
1972         value of set-file-extended-attributes.
1974 2015-10-19  Eli Zaretskii  <eliz@gnu.org>
1976         Improve documentation of functions that change files
1978         * doc/lispref/files.texi (Changing Files): Document that these
1979         functions signal an error on failure.
1981 2015-10-18  Eli Zaretskii  <eliz@gnu.org>
1983         Fix doc string of 'shell-quote-argument'
1985         * lisp/subr.el (shell-quote-argument): Doc fix.  (Bug#21702)
1987 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
1989         Some minor Tramp changes
1991         * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning.
1993         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
1994         Expand `tramp-auto-save-directory'.
1996 2015-10-18  Michael Albinus  <michael.albinus@gmx.de>
1998         Minor edits in Tramp
2000         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp):
2001         Declare it.
2003         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
2004         Remove declaration.
2006 2015-10-17  Mark Oteiza  <mvoteiza@udel.edu>
2008         * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list.
2010 2015-10-17  Eli Zaretskii  <eliz@gnu.org>
2012         Avoid crashes when redisplayng a window changes faces or fonts
2014         * src/xdisp.c (redisplay_internal): If redisplaying the selected
2015         window or one of the frames turns on the frame's 'redisplay' flag,
2016         redisplay again.  (Bug#21428)
2018         * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag.
2020 2015-10-17  Michael Albinus  <michael.albinus@gmx.de>
2022         Solve timimg issues in file-notify-tests.el
2024         * test/automated/file-notify-tests.el (file-notify-test02-events):
2025         Rectify `attribute-change' tests.  There are timing issues with
2026         gfilenotify.  (Bug#21669)
2028 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2030         Fix quoting of data within htmlfontify doc
2032         * doc/misc/htmlfontify.texi (Data Structures, Customization):
2033         Fix quoting of data structures.  A Lisp quote is needed only
2034         when data appears within Lisp code.
2036 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2038         * lisp/emacs-lisp/package.el: Reload archive-contents if
2039         priorities change.
2040         (package--old-archive-priorities): New variable.
2041         (package-read-all-archive-contents, package-menu--refresh): Use it
2042         to decide when the `package-archive-contents' needs to be read
2043         again.
2045 2015-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2047         Make src headers idempotent and standalone
2049         Redo src/*.h so that each include file is idempotent (that is, can
2050         be included multiple times with the latter inclusions having no
2051         effect) and standalone (that is, can be included by itself,
2052         with no include file other than config.h needed as a prerequisite).
2053         This is standard practice in GNU programs nowadays.
2054         * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h:
2055         * src/charset.h, src/coding.h, src/commands.h, src/disptab.h:
2056         * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h:
2057         * src/regex.h [emacs]:
2058         * src/syntax.h, src/systty.h, src/termhooks.h:
2059         Include lisp.h, for Lisp_Object.
2060         * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h:
2061         * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h:
2062         * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h:
2063         * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h:
2064         * src/termopts.h, src/tparam.h, src/unexec.h:
2065         Protect against multiple inclusion.
2066         * src/buffer.h: Include character.h, for STRING_CHAR.
2067         * src/emacsgtkfixed.h (struct frame):
2068         * src/fontset.h (struct face):
2069         * src/region-cache.h (struct buffer):
2070         * src/termhooks.h (struct glyph):
2071         * src/xsettings.h (struct x_display_info):
2072         Add possibly-forward decl.
2073         * src/syntax.h: Include buffer.h, for BVAR.
2074         * src/sysselect.h: Include lisp.h, for eassume.
2075         * src/termchar.h: Include <stdio.h>, for FILE.
2076         * src/widget.h: Include <X11/IntrinsicP.h>, for Widget.
2077         * src/xsettings.h: Include <X11/Xlib.h>, for XEvent.
2079 2015-10-16  Jürgen Hötzel  <juergen@archlinux.org>
2081         Handle symlink targets containing spaces in tramp-gvfs.el
2083         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
2084         Handle symlink targets containing spaces.
2086 2015-10-16  Artur Malabarba  <bruce.connor.am@gmail.com>
2088         * lisp/custom.el (custom-theme-load-path): Demote to defvar.
2090         `custom-theme-load-path' was a defcustom, but it shouldn't be for the
2091         same reason that `load-path' shouldn't.  Setting it via the customize
2092         interface is a trap for the user.
2094         Installed themes commonly add themselves to this variable, which means
2095         its value is not fit for being saved (it will permanently remember dirs
2096         that don't exist anymore).
2098         This is aggravated by the fact that Emacs always applies the `user'
2099         theme on top of any theme that's loaded, since this will apply the old
2100         variable value and remove any new directories that had been recently
2101         added by themes themselves.
2103         Not to mention, we already have `custom-theme-directory', which is safe
2104         to customize.
2106 2015-10-16  Stefan Monnier  <monnier@iro.umontreal.ca>
2108         * lisp/mpc.el: Rename the new toggling commands.
2109         (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single)
2110         (mpc-toggle-shuffle): Add "-toggle" in the name.
2112 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
2114         Improve the doc string of 'completion-boundaries'
2116         * lisp/minibuffer.el (completion-boundaries): Rename the argument
2117         TABLE to COLLECTION, for consistency with other high-level
2118         completion functions.  Document how COLLECTION is called if it
2119         is a function.  (Bug#21644)
2121 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
2123         * lisp/dired-aux.el (dired-shell-command): Fix compile warning.
2125 2015-10-16  Oleh Krehel  <ohwoeowho@gmail.com>
2127         Make dired-do-compress work for *.zip files
2129         * lisp/dired-aux.el (dired-check-process): Transform the top-level
2130           comment into a docstring.
2131         (dired-shell-command): New command.  This mirrors
2132         `dired-check-process', but is more user-friendly for passing
2133         arguments.
2134         (dired-compress-file-suffixes): Allow to specify the command switches
2135         along with input (%i) and output (%o) inside the PROGRAM part.
2136         Add an entry for *.zip files, and update the entry for *.tar.gz files
2137         to the new style.  Update the docstring.
2138         (dired-compress-file): When PROGRAM matches %i or %o, use the new
2139         logic.
2140         (dired-update-file-line): Avoid an error when at end of buffer.
2142         Fixes bug#21637.
2144 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
2146         Minor improvement in documentation of internals
2148         * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT.
2150 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
2152         Improve documentation of COLLECTION in completion functions
2154         * doc/lispref/minibuf.texi (Minibuffer Completion): Add a
2155         cross-reference to "Programmed Completion".
2157         * src/minibuf.c (Fcompleting_read): Improve the doc string.
2158         (Bug#21644)
2160 2015-10-16  Eli Zaretskii  <eliz@gnu.org>
2162         Add more release info to etc/HISTORY
2164         * etc/HISTORY: Add more release information about 19.x and 20.x
2165         versions.
2167 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2169         New file etc/HISTORY
2171         * admin/FOR-RELEASE: Procedure for etc/HISTORY.
2172         * etc/HISTORY: New file.
2173         * etc/NEWS: Mention it.
2175 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
2177         js-mode: Don't misindent generator methods
2179         * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish
2180         generator methods from multiplication operator
2181         (https://github.com/mooz/js2-mode/issues/275).
2183 2015-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2185         Fix animation timeout delay calculation
2187         * lisp/image.el (image-animate-timeout):
2188         Don’t assume speed is floating-point.
2190 2015-10-15  Mark Oteiza  <mvoteiza@udel.edu>
2192         Add commands for controlling MPD modes
2194         * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat)
2195         (mpc-cmd-single): New functions.
2196         (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands.
2197         (mpc-mode-menu): Add new commands as menu items.
2199 2015-10-15  Dmitry Gutov  <dgutov@yandex.ru>
2201         Refer to `(elisp)Basic Completion' in completing-read docstring
2203         * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic
2204         Completion' in the docstring (bug#21644).
2206 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
2208         * lisp/mpc.el (mpc-format): Always push form to pred
2210 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2212         Spelling fixes
2214         * configure.ac (bitmapdir): Fix misspelling of bmd_acc.
2215         * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems):
2216         Fix misspelling of nonexistent file name.
2218 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
2220         * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings
2222 2015-10-14  Michael Albinus  <michael.albinus@gmx.de>
2224         Some editing fixes in Tramp
2226         * lisp/net/tramp-gvfs.el:
2227         * doc/misc/tramp.texi: "customer option" -> "custom option".
2229         * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring.
2231 2015-10-14  Jürgen Hötzel  <juergen@archlinux.org>
2233         Use proper localization in tramp-gvfs.el
2235         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
2236         Suppress localized settings in order to proper parse gfvs output.
2238 2015-10-14  Warren Lynn  <wrn.lynn@gmail.com>  (tiny change)
2240         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
2241         Quote argument in proper order.  (Bug#21562)
2243 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
2245         Fix typos in docstrings
2247         * lisp/emacs-lisp/map.el:
2248         * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase
2249           macros.
2251 2015-10-14  Mark Oteiza  <mvoteiza@udel.edu>
2253         * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live.
2255 2015-10-14  Oleh Krehel  <ohwoeowho@gmail.com>
2257         Make dired-jump work with tar-subfile-mode
2259         * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of
2260           emitting an error, switch to `tar-superior-buffer'.
2262 2015-10-14  Juanma Barranquero  <lekktu@gmail.com>
2264         * .gitignore: Add build-aux/ar-lib.
2266 2015-10-14  Nicolas Petton  <nicolas@petton.fr>
2268         Better docstrings in seq.el and map.el
2270         * lisp/emacs-lisp/map.el:
2271         * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns.
2273 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2275         Merge from gnulib
2277         This incorporates:
2278         2015-10-13 binary-io, u64, unistd: port to strict C
2279         2015-09-26 c-ctype: do not worry about EBCDIC + char signed
2280         2015-09-25 c-ctype: port better to z/OS EBCDIC
2281         2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash
2282         * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c:
2283         * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4:
2284         Copy from gnulib.
2286 2015-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2288         Take XPNTR private
2290         * src/alloc.c (PURE_POINTER_P): Remove.
2291         All uses replaced with PURE_P.
2292         (XPNTR_OR_SYMBOL_OFFSET): New function.
2293         (XPNTR): Move here from lisp.h.
2294         Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET.
2295         (mark_maybe_object, valid_lisp_object_p, survives_gc_p):
2296         Remove unnecessary cast.
2297         (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR,
2298         to avoid an unnecessary runtime test for symbols.
2299         * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c.
2300         Only alloc.c needs XPNTR now.
2302 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
2304         Add MPC play/pause command
2306         * lisp/mpc.el (mpc-toggle-play): New command.
2307         (mpc-mode-map): Bind it to "s".
2308         (mpc-mode-menu): Add corresponding menu item.
2310 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
2312         Add bindings and menu items for prev and next tracks
2314         * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next,
2315         "<" to mpc-prev.
2316         (mpc-mode-menu): Add corresponding menu items
2318 2015-10-13  Ken Raeburn  <raeburn@raeburn.org>
2320         Reduce face-related consing during frame creation.
2322         * faces.el (face--attributes-unspecified): Compute the "unspecified"
2323         attribute list once.
2324         (face-spec-reset-face): Use it instead of building the list.
2326 2015-10-13  Ken Raeburn  <raeburn@permabit.com>
2328         Do process ConfigureNotify events indicating size changes.
2330         * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify
2331         events don't have the same size, process each one.
2333 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
2335         Derive mpc-mode from special-mode
2337         lisp/mpc.el (mpc-mode-map): Make from sparse keymap.  Unbind g.
2338         (mpc-mode): Derive from special mode.
2339         (mpc-songs-mode-map): Don't set parent keymap.
2341 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
2343         Fix error messages for when covers are not found.
2345         The last change to mpc-format let the binding to file call
2346         mpc-file-local-copy with nil argument.  Instead, employ if-let here
2347         so nil bindings don't result in needless computation and errors.
2348         * lisp/mpc.el: Require 'subr-x at compile time.
2349         * lisp/mpc.el (mpc-format): Use if-let.
2351 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
2353         Make dired-do-compress work for *.tar.gz files
2355         * lisp/dired-aux.el (dired-compress-file-suffixes): Associate
2356           "tar -zxvf" to *.tar.gz; update docstring.
2358         (dired-compress-file): Allow to specify switches after the command in
2359         `dired-compress-file-suffixes'.
2361 2015-10-13  Oleh Krehel  <ohwoeowho@gmail.com>
2363         Make dired-do-compress work for directories
2365         * lisp/dired-aux.el (dired-compress-file): When FILE is a directory,
2366           instead of emitting an error, call "tar -czf FILE.tar.gz FILE".
2367         Also convert the top comment into a docstring.
2369 2015-10-13  Stefan Monnier  <monnier@iro.umontreal.ca>
2371         * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active'
2373         ... since it might come straight from the memoizing table.
2375 2015-10-13  Juanma Barranquero  <lekktu@gmail.com>
2377         * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame.
2379 2015-10-13  Mark Oteiza  <mvoteiza@udel.edu>
2381         Use special-mode in eww list modes
2383         * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode)
2384         (eww-buffers-mode): Derive from special-mode and remove redundant
2385         setting of buffer-read-only.
2386         (eww-mode-map): Remove redundant keymap parent setting.
2387         (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map):
2388         Remove redundant keymap suppressions and mappings.
2390 2015-10-13  Martin Rudalics  <rudalics@gmx.at>
2392         Allow setting frame pixel sizes from frame parameters (Bug#21415)
2394         Also fix some misfeatures in frame (re-)sizing code, add more
2395         debugging information and remove some dead code.
2397         * lisp/frame.el (frame-notice-user-settings, make-frame): Change
2398         parameter names when setting `frame-size-history'.
2399         (frame--size-history): New function.
2401         * src/frame.c (frame_inhibit_resize): If frame has not been made
2402         yet, return t if inhibit_horizontal_resize or
2403         inhibit_vertical_resize bit have been set.
2404         (adjust_frame_size): Simplify.
2405         (make_frame): Initialize inhibit_horizontal_resize,
2406         inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized.
2407         (Fframe_after_make_frame): Reset inhibit_horizontal_resize and
2408         inhibit_vertical_resize slots.
2409         (x_set_frame_parameters): Handle `text-pixels' specification for
2410         width and height parameters.  Don't consider new_height or
2411         new_width changes.  Call adjust_frame_size instead of
2412         Fset_frame_size.
2413         (x_figure_window_size): Two new arguments x_width and y_width
2414         returning frame's figures width and height.  Calculate tool bar
2415         height before frame sizes so SET_FRAME_HEIGHT can pick it up.
2416         Handle `text-pixels' specification for width and height
2417         parameters.
2418         (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size)
2419         (Qx_set_window_size_1, Qx_set_window_size_2)
2420         (Qx_set_window_size_3, Qx_set_menu_bar_lines)
2421         (Qupdate_frame_menubar, Qfree_frame_menubar_1)
2422         (Qfree_frame_menubar_2): New symbols.
2423         * src/frame.h (structure frame): New booleans
2424         tool_bar_redisplayed, tool_bar_resized,
2425         inhibit_horizontal_resize, inhibit_vertical_resize.
2426         (x_figure_window_size): Update external declaration.
2427         * src/gtkutil.c (xg_frame_set_char_size): Set size hints before
2428         calling gtk_window_resize.
2429         (update_frame_tool_bar): Make inhibiting of frame resizing more
2430         discriminative.  Set tool_bar_resized bit.
2431         * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame
2432         resizing more discriminative.  Call adjust_frame_size instead of
2433         x_set_window_size.
2434         (Fx_create_frame): Handle x_width and x_height if
2435         set by x_figure_window_size.
2436         * src/nsterm.m (x_set_window_size): For GNUSTEP build don't
2437         subtract 3 from tool bar height.
2438         (x_set_window_size): Add frame_size_history_add call.
2439         (x_new_font): Call adjust_frame_size instead of
2440         x_set_window_size.
2441         * src/w32fns.c (x_change_tool_bar_height): Reset
2442         tool_bar_redisplayed and tool_bar_resized bits when adding tool
2443         bar.  Make inhibiting of frame resizing more discriminative.
2444         (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case.
2445         (Fx_create_frame): Handle x_width and x_height if set by
2446         x_figure_window_size.  Set size hints before adjusting frame size.
2447         (x_create_tip_frame): Adjust x_figure_window_size call.
2448         * src/w32term.c (x_set_window_size): Add frame_size_history_add
2449         call.
2450         * src/widget.c (set_frame_size): Remove dead code.  Add
2451         frame_size_history_add call.  When frame_resize_pixelwise is t
2452         use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of
2453         pixel_width and pixel_height.
2454         (update_various_frame_slots): Remove dead code.
2455         (EmacsFrameResize): Add more information in
2456         frame_size_history_add call.
2457         (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise
2458         is not set.
2459         * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits.
2460         * src/xfns.c (x_set_menu_bar_lines): Change argument name.
2461         (x_change_tool_bar_height): Reset tool_bar_redisplayed and
2462         tool_bar_resized bits when adding tool bar.  Make inhibiting of
2463         frame resizing more discriminative.
2464         (Fx_create_frame): Handle x_width and x_height if set by
2465         x_figure_window_size.  Set size hints before adjusting frame size.
2466         (x_create_tip_frame): Adjust x_figure_window_size call.
2467         * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially.
2468         (set_frame_menubar): On Lucid never add core-border-width to
2469         avoid that adding XtNinternalBorderWidth adds it again.
2470         (free_frame_menubar): Handle frame_inhibit_resize true for Motif.
2471         * src/xterm.c (x_new_font): In non-toolkit case handle size
2472         change of menu bar.
2473         (x_set_window_size_1): Fix calls to frame_size_history_add.
2474         (x_wm_set_size_hint): Remove dead code.  Set
2475         size_hints.min_width and size_hints.min_height to base_width and
2476         base_height.
2478 2015-10-13  Michael Albinus  <michael.albinus@gmx.de>
2480         * test/automated/file-notify-tests.el (file-notify--test-timeout):
2481         Add docstring.  Increase to 10 seconds for remote
2482         directories.  (Bug#21669)
2484 2015-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2486         Unmacroize ebrowse.c and etags.c a bit
2488         * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant.
2489         (streq, filename_eq, set_flag, has_flag): Now inline functions.
2490         (set_flag): First arg is now an address, not an lvalue.
2491         All callers changed.
2492         (filename_eq, set_flag, has_flag):
2493         Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG.
2494         All callers changed.
2495         * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq):
2496         Now inline functions.  Remove asserts that are unnecessary these
2497         days (and in some cases were too-generous anyway).
2499 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
2501         Use highlight for current items
2503         * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select):
2504         Apply highlight face instead of region face.
2506 2015-10-12  Mark Oteiza  <mvoteiza@udel.edu>
2508         Search for more cover image names in MPC
2510         * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg
2511         case insensitively
2513 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
2515         Remove or comment out unused variables
2517         * src/w32fns.c (x_set_mouse_color): Comment out variables cursor,
2518         nontext_cursor, mode_cursor, hand_cursor and count.
2519         (x_change_tool_bar_height): Remove variable old_text_height.
2520         (deliver_wm_chars): Remove variable strip_Alt.
2521         (Fw32_shell_execute): Remove variable document_a.
2522         (Fw32_frame_geometry): Remove variable fullboth.
2523         * src/w32term.c (w32_setup_relief_color): Comment out variable
2524         w32_display_info.
2525         (w32_horizontal_scroll_bar_handle_click): Remove variables start, end.
2526         (w32_read_socket): Comment out variables rows, columns.
2527         * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest.
2529 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
2531         * src/w32proc.c (sys_select): Fix bitwise test.
2533 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
2535         Minor typo corrections in doc strings
2537         * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position):
2538         Doc fixes.
2540 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
2542         * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports.
2544 2015-10-12  Eli Zaretskii  <eliz@gnu.org>
2546         Attempt to avoid crashes in plist-member
2548         * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test
2549         and a call to XCDR.  (Bug#21655)
2551 2015-10-12  Mike FABIAN  <mfabian@redhat.com>
2553         * lisp/select.el (gui-get-primary-selection): In
2554         gui-get-primary-selection use gui--selection-value-internal (Bug#20906)
2556 2015-10-12  Tassilo Horn  <tsdh@gnu.org>
2558         Support RTF in doc-view
2560         * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension.
2562 2015-10-12  Juanma Barranquero  <lekktu@gmail.com>
2564         * src/w32fns.c (get_wm_chars): Increment counter, not pointer.
2566 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
2568         Replace the usage of an obsolete function in auth-source.el
2570         * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token):
2571         Replace an usage of `epg-context-set-armor' with `setf'.
2573 2015-10-11  Nicolas Petton  <nicolas@petton.fr>
2575         * lisp/gnus/auth-source.el: Use sharp-quoting with functions.
2577 2015-10-11  Jay Belanger  <jay.p.belanger@gmail.com>
2579         Have calc-yank recognize numbers in different bases.
2581         * lisp/calc/calc-yank.el (math-number-regexp): New function.
2582         (calc-yank): Use `math-number-regexp' to recognize numbers.
2584 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
2586         Handle an opaque-move X11 window manager operation more efficiently
2588         * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is
2589         followed by more ConfigureNotify events for the same window, process
2590         only the last one.
2592 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
2594         Fix cursor setting for tip frame; re-enable cursor generation
2596         * src/xfns.c (x_create_tip_frame): Include the cursor in the window
2597         attributes sent when creating the new X window.  Don't skip setting
2598         the pointerColor parameter.
2600 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
2602         Rewrite x_set_mouse_color to sync less
2604         We can track serial numbers of X requests and correlate error events
2605         with the associated requests.  This way we can identify errors for
2606         specific calls without having to use XSync after every one.
2608         * src/xfns.c (enum mouse_cursor): New type.
2609         (struct mouse_cursor_types, struct mouse_cursor_data): New types.
2610         (mouse_cursor_types): New array listing the Lisp variables and default
2611         cursor appearances for each cursor type.
2612         (x_set_mouse_color_handler): New function; checks error event serial
2613         number against submitted requests.
2614         (x_set_mouse_color): Updated to use the new error handler callback,
2615         and to be more table-driven, to simplify repetitious code.
2617 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
2619         Add x_catch_errors_with_handler
2621         * src/xterm.c (struct x_error_message_stack): Add new fields for a
2622         callback function and associated data pointer.
2623         (x_error_catcher): If the callback function is set, call it after
2624         saving the error message string.
2625         (x_catch_errors_with_handler): Renamed from x_catch_errors but now
2626         accepts a callback function and data pointer.
2627         (x_catch_errors): Now a wrapper function.
2628         * src/xterm.h (x_special_error_handler): New typedef.
2629         (x_catch_errors_with_handler): Declare.
2631 2015-10-11  Ken Raeburn  <raeburn@raeburn.org>
2633         Introduce x_uncatch_errors_after_check to reduce XSync calls
2635         Both x_had_errors_p and x_check_errors call XSync, so if they're
2636         immediately followed by x_uncatch_errors, its XSync call will be
2637         redundant, resulting in a wasted round trip to the X server.
2639         * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of
2640         x_uncatch_errors without the XSync call.
2641         (XTmouse_position, x_wm_supports):
2642         * src/xfns.c (x_set_mouse_color):
2643         * src/xmenu.c (Fx_menu_bar_open_internal):
2644         * src/xselect.c (x_own_selection, x_get_foreign_selection):
2645         (Fx_get_atom_name): Call it instead of x_uncatch_errors.
2646         * src/xterm.h (x_uncatch_errors_after_check): Declare.
2648 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
2650         Document the optional prefix to `calc-yank'
2652         * doc/misc/calc.texi (Yanking into the Stack): Document the optional
2653         prefix to `calc-yank'.
2654         * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from
2655         the Calc buffer are yanked back unchanged.
2657 2015-10-10  Mark Oteiza  <mvoteiza@udel.edu>
2659         * lisp/calendar/calendar.el: Display buffer before executing body.
2661         In each use of this macro, the modeline is derived from a window width
2662         calculation, which will be wrong if (display-buffer) splits the window
2663         horizontally.
2665 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2667         Use ‘echo’ safely with ‘\’ or leading ‘-’
2669         POSIX says that ‘echo FOO’ produces implementation-defined output
2670         if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU
2671         behavior in that case.
2672         * Makefile.in (removenullpaths): Remove.
2673         (epaths-force): Rewrite to avoid the need for ‘echo’.
2674         (install-etc): Be clearer about escaping the shell metacharacters
2675         ‘\’ and ‘$’.
2676         * Makefile.in (install-arch-indep, install-etcdoc):
2677         * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config:
2678         * admin/quick-install-emacs, build-aux/gitlog-to-emacslog:
2679         * configure.ac, lib-src/rcs2log, make-dist:
2680         * src/Makefile.in (lisp.mk):
2681         Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed.
2682         For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’
2683         if $foo can contain arbitrary characters.
2684         * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues.
2685         * doc/lispref/two-volume.make (vol1.pdf):
2686         * test/etags/make-src/Makefile (web ftp publish):
2687         Use ‘printf’ rather than ‘echo -e’.
2689 2015-10-10  Kaushal Modi  <kaushal.modi@gmail.com>
2691         Allow numbers with different radixes to be yanked.
2693         * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the
2694         default base 10.
2696 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2698         Improve CHECK_IMPURE and PURE_P speedup
2700         * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR.
2702 2015-10-10  Jay Belanger  <jay.p.belanger@gmail.com>
2704         Use events instead of chars to keep track of steps.
2706         * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars
2707         to keep track of steps.
2709 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2711         Fix --enable-gcc-warnings problem with older GCC
2713         * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END.
2714         This is for building with --enable-gcc-warnings with
2715         GCC 4.6 through 5.0.
2717 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
2719         Fix vertical-motion in truncated lines that end in a stretch
2721         * src/indent.c (Fvertical_motion): Expect overshoot when point is
2722         beyond window margin and lines are truncated, even if we have a
2723         stretch at point.  (Bug#21468)
2725 2015-10-10  Eli Zaretskii  <eliz@gnu.org>
2727         Avoid link-time errors due to inline functions
2729         * src/emacs.c: Include puresize.h, to avoid link-time errors in
2730         unoptimized builds due to PURE_P and CHECK_IMPURE, which are now
2731         inline functions.
2733 2015-10-10  Andreas Schwab  <schwab@linux-m68k.org>
2735         * src/data.c (Faset): Fix last change.
2737 2015-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2739         CHECK_IMPURE and PURE_P speedup
2741         * src/intervals.c (create_root_interval):
2742         Do CHECK_IMPURE only for strings; not needed for buffers.
2743         Prefer ! STRINGP to BUFFERP, for a tad more speed.
2744         * src/puresize.h (CHECK_IMPURE, PURE_P):
2745         Now inline functions instead of macros.
2746         (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility.
2747         All callers changed.
2748         (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR.
2749         All callers changed.
2751 2015-10-09  Noah Friedman  <friedman@splode.com>
2753         (tramp-open-connection-setup-interactive-shell): Send -onlcr as well.
2755 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2757         * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move*
2759         our after-change-function, rather than re-adding it if it was removed.
2761 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2763         * lisp/cedet/ede: Silence some compiler warnings
2765         * lisp/cedet/ede.el: Require cl-lib.  Silence some compiler warnings.
2766         (ede-menu-obj-of-class-p): Use cl-some rather than `eval'.
2767         (ede-apply-object-keymap, ede-reset-all-buffers)
2768         (ede-auto-add-to-target): Use dolist.
2769         (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check):
2770         Use field names rather than initarg names in `oref'.
2771         (ede-load-project-file): Remove unused var `file'.
2772         (ede-map-any-target-p): Use cl-some rather than ede-map-targets.
2773         (ede-set): Remove unused var `a'.
2775         * lisp/cedet/ede/emacs.el: Silence some compiler warnings.
2776         (ede-project-autoload): Avoid the old-style "name" argument.
2777         (ede-emacs-find-matching-target): Use field names rather than initarg
2778         names in `oref'.
2780         * lisp/cedet/ede/linux.el: Silence some compiler warnings.
2781         (ede-linux-load, ede-project-autoload): Avoid the old-style
2782         "name" argument.
2783         (ede-linux-find-matching-target): Use field names rather than initarg
2784         names in `oref'.
2786 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2788         * lisp/textmodes/reftex.el: Silence byte-compiler warnings.
2790 2015-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
2792         * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid
2793         indenting too far after ":-".
2795 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
2797         Update case-table and categories of recently added characters
2799         * lisp/international/characters.el: Update information about Latin
2800         Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended,
2801         Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi
2802         blocks.  (Byug#21654)
2804 2015-10-09  Martin Rudalics  <rudalics@gmx.at>
2806         * src/frame.c (adjust_frame_size): In minibuffer-only windows
2807         don't count minibuffer height twice.  (Bug#21643)
2809 2015-10-09  Eli Zaretskii  <eliz@gnu.org>
2811         Avoid inflooping in font-lock
2813         * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind
2814         inhibit-field-text-motion around the call to
2815         line-beginning-position, to avoid inflooping.  (Bug#21615)
2817 2015-10-09  Tassilo Horn  <tsdh@gnu.org>
2819         Refactor duplicated code; ensure default is in completions
2821         * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps):
2822         New function.
2823         (reftex-extract-bib-entries): Use it.
2824         (reftex-extract-bib-entries-from-thebibliography): Use it.
2826 2015-10-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
2828         * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst"
2829         in the example.
2831 2015-10-08  Stefan Monnier  <monnier@iro.umontreal.ca>
2833         * lisp/calc/calc.el: Silence byte-compiler warnings.
2834         (calc-scan-for-dels): Use ignore-errors.
2835         (calc-dispatch, calc-do-dispatch): Make unused arg optional.
2836         (calc-read-key-sequence): Remove unused var `prompt2'.
2837         (calc-kill-stack-buffer): Remove unused var `buflist'.
2838         (calc): Remove unused var `oldbuf'.
2839         (calc-refresh): Use inhibit-read-only.
2840         (calc-can-abbrev-vectors): Declare.
2841         (calc-record): Remove unused var `mainbuf'.
2842         (math-sub-bignum): Remove unused var `sum'.
2843         (math-svo-c, math-svo-wid, math-svo-off): Declare.
2845 2015-10-08  Daiki Ueno  <ueno@gnu.org>
2847         Use g_clear_error instead of g_error_free
2849         * src/image.c: Define g_clear_error instead of g_error_free.
2850         (init_svg_functions): Resolve symbol g_clear_error instead of
2851         g_error_free.
2852         (svg_load_image): Use g_clear_error instead of g_error_free, to
2853         suppress GLib warnings when ERR is not set.  See bug#21641.
2855 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2857         * src/image.c (image_size_error): Simplify.
2859 2015-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2861         Fix problems caught with --enable-gcc-warnings
2863         * src/image.c (lookup_rgb_color):
2864         * src/xfns.c (x_defined_color):
2865         * src/xterm.c (x_parse_color):
2866         Remove unused locals.
2868 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
2870         * lisp/calc/calc.el (calc-digit-start-entry): Fix typo.
2872 2015-10-08  Jay Belanger  <jay.p.belanger@gmail.com>
2874         Format initial input uniformly
2876         * lisp/calc/calc.el (calc-digit-start-entry): New function.
2877         * lisp/calc/calc.el (calcDigit-start):
2878         * lisp/calc/calc-aent.el (calc-alg-digit-entry):
2879         Use `calc-digit-start-entry' to format input.
2881 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
2883         Disable non-working pointerColor setting for X tooltip frame
2885         It generates a bunch of server traffic, but there's some bug wherein
2886         the new mouse cursor settings don't seem to get used.  In most
2887         situations the cursor isn't likely to be seen anyway, so it's not
2888         urgent to fix.
2890         * src/xfns.c (x_create_tip_frame): Don't set pointerColor.
2892 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
2894         Reduce some unnecessary X calls
2896         * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry
2897         call.  If border width is wanted, get it from the XGetGeometry call
2898         instead of calling XGetWindowAttributes on the same window.  Skip some
2899         X calls if we've already detected an error from the X server.
2900         * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p.
2901         (handle_one_xevent): Delete XSync call before x_uncatch_errors.
2903 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
2905         Reduce color allocation/query traffic in the TrueColor case
2907         When working with an X visual with TrueColor class, pixel values can
2908         be generated from the RGB values according to mask value provided by
2909         the server on connection.  Some of the image-handling code was already
2910         doing this.
2912         * src/xterm.h (x_make_truecolor_pixel): New function; code taken from
2913         lookup_rgb_color.
2914         (x_mutable_colormap): New function.
2915         * src/image.c (lookup_rgb_color): Move pixel composition code to
2916         x_make_truecolor_pixel.
2917         (x_kill_gs_process): Call x_mutable_colormap.
2918         * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call
2919         x_mutable_colormap.
2920         * src/xftfont.c (xftfont_get_colors): Call x_query_colors.
2921         * src/xterm.c (x_query_colors): For a TrueColor display, decompose the
2922         pixel value into RGB values directly, and don't send a request to the
2923         server.
2924         (x_alloc_nearest_color): For a TrueColor display, construct the pixel
2925         value with x_make_truecolor_pixel.
2926         (x_copy_color): For an immutable color map, just return the provided
2927         pixel value.
2929 2015-10-08  Ken Raeburn  <raeburn@raeburn.org>
2931         Cache XParseColor results in the X display info structure
2933         With repeated lookups of foreground and background colors for multiple
2934         faces per frame, we issue a lot of redundant color name lookups to the
2935         X server, waiting every time for the response.  On a remote network
2936         with, say, 30ms round-trip time, this can add nearly a full second to
2937         creation of a new frame.
2939         * src/gtkutil.c (xg_check_special_colors): Call x_parse_color.
2940         * src/image.c (get_spec_bg_or_alpha_as_argb):
2941         (xpm_init_color_cache, xpm_lookup_color):
2942         * src/xfns.c (x_defined_color):
2943         * src/xterm.c (x_parse_color): New function; caches color names not
2944         starting with "#" in the display-info structure.
2945         (x_delete_display): Delete the cache content.
2946         * src/xterm.h (struct color_name_cache_entry): New type.
2947         (x_parse_color): Declare.
2948         (struct x_display_info): Add a new field for the cache.
2950 2015-10-07  Stefan Monnier  <monnier@iro.umontreal.ca>
2952         * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local.
2954 2015-10-07  Eli Zaretskii  <eliz@gnu.org>
2956         Fix segfault in image_size_error
2958         * src/image.c (image_size_error): Pass a Lisp string to
2959         image_error, not a C string.  (Bug#21641)
2961 2015-10-07  Simen Heggestøyl  <simenheg@gmail.com>
2963         Highlight CSS variable definitions
2965         * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept
2966         CSS variables.  (Bug#21638)
2968 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2970         * test/automated/tabulated-list-test.el: New file.
2971         Test bug#21639 and some basic functionality.
2973 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2975         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort):
2976         Check if column can be sorted before trying.  (Bug#21639)
2978 2015-10-07  Nicolas Richard  <youngfrog@members.fsf.org>
2980         Add test for `self-insert-command' (bug#21633)
2982         * test/automated/cmds-tests.el: New file.
2984 2015-10-07  Martin Rudalics  <rudalics@gmx.at>
2986         * src/window.c (resize_frame_windows): Don't set root window's
2987         top position when resizing horizontally.
2989 2015-10-07  Artur Malabarba  <bruce.connor.am@gmail.com>
2991         * lisp/progmodes/prog-mode.el (prettify-symbols-alist):
2992         Document more possible values.
2994 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2996         * lisp/textmodes/tex-mode.el: Use lexical-binding.
2998 2015-10-06  Stefan Monnier  <monnier@iro.umontreal.ca>
3000         * lisp/indent.el (indent--default-inside-comment): New function.
3001         (indent-for-tab-command): Use it for `noindent' indentation.
3003 2015-10-06  Paul Eggert  <eggert@cs.ucla.edu>
3005         Fix bug in GC_CHECK_MARKED_OBJECTS check
3007         * src/alloc.c (mark_object): Fix bug in checking code.
3008         When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
3009         CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
3010         CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
3011         bucket.  The bug did not affect behavior either in the normal case
3012         where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
3013         not have an internal error that a properly-written
3014         CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
3016 2015-10-06  Tassilo Horn  <tsdh@gnu.org>
3018         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
3019         Add prettified version for \\Bbb{Q}.
3021 2015-10-06  Artur Malabarba  <bruce.connor.am@gmail.com>
3023         * test/automated/package-test.el (package-test-install-single):
3024         Add a test for bug#21625.
3026 2015-10-06  Aaron Ecay  <aaronecay@gmail.com>
3028         * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is
3029           not a package-desc object.  Also clarify documentation.  (Bug#21625)
3031 2015-10-06  Eli Zaretskii  <eliz@gnu.org>
3033         Fix display of characters adjacent to ZWJ and ZWNJ
3035         * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control")
3036         characters the same as directional formatting controls.
3037         (bidi_level_of_next_char): Include all Bn characters in rule L1,
3038         as mandated by the UBA.
3040 2015-10-06  Andreas Schwab  <schwab@suse.de>
3042         * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative
3043         number.  (Bug#21633)
3045 2015-10-05  Xue Fuqiao  <xfq.free@gmail.com>
3047         * doc/lispref/objects.texi (Window Type): Add a cross reference.
3049         * src/buffer.c (syms_of_buffer): Typo fix.  (Bug#21622)
3051 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
3053         * lisp/language/misc-lang.el (composition-function-table):
3054         Fix entries for Arabic and Syriac.
3056 2015-10-05  Damien Cassou  <damien@cassou.me>
3058         Add first unit tests for auth-source.el
3060         * test/automated/auth-source-tests.el: New file.
3062 2015-10-05  Eli Zaretskii  <eliz@gnu.org>
3064         Remove redundant redisplay code
3066         * src/xdisp.c (redisplay_internal, try_cursor_movement)
3067         (try_window_reusing_current_matrix, try_window_id): Remove
3068         redundant restrictions on redisplay optimizations based on the
3069         frame's 'redisplay' flag.  See
3070         http://osdir.com/ml/general/2015-10/msg02110.html for the relevant
3071         discussions.
3073 2015-10-04  Stefan Monnier  <monnier@iro.umontreal.ca>
3075         * src/xdisp.c (windows_or_buffers_changed): Improve docstring.
3077 2015-10-04  Xue Fuqiao  <xfq.free@gmail.com>
3079         Update tutorials/TUTORIAL.cn
3081         * etc/tutorials/TUTORIAL.cn: Improve translation.
3083 2015-10-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3085         * src/macfont.m (macfont_encode_char, syms_of_macfont):
3086         Remove unused vars.
3088 2015-10-04  Stefan Merten  <stefan@merten-home.de>
3090         Pull in version numbers from rst.el upstream release.
3092         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
3093         (rst-svn-timestamp, rst-official-version)
3094         (rst-official-cvs-rev, rst-package-emacs-version-alist):
3095         Update version numbers.
3097 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
3099         * test/automated/coding-tests.el: New file.
3101 2015-10-04  Michael Albinus  <michael.albinus@gmx.de>
3103         Improve XEmacs compatibility of Tramp
3105         * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp):
3106         Declare if it doesn't exist.
3107         (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21.
3108         (redisplay): Make it an alias if it doesn't exist.
3110         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use
3111         `file-remote-p' (due to XEmacs compatibility).
3113         * lisp/net/trampver.el (locate-dominating-file)
3114         (tramp-compat-replace-regexp-in-string): Autoload.
3115         (tramp-repository-get-version): Do not dupe byte-compiler.
3117 2015-09-02  K. Handa  <handa@gnu.org>
3119         fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined
3121         * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]:
3122         Adjusted for the change of type of elements in the array
3123         MFLTGlyphString.glyphs.
3125 2015-10-04  Eli Zaretskii  <eliz@gnu.org>
3126             Michael Heerdegen  <michael_heerdegen@web.de>
3128         shr: fix too long lines in rendered buffers (Bug#21012)
3130         * lisp/net/shr.el (shr-insert-document, shr-fill-text):
3131         Correct calculation of available width.
3132         (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten
3133         is nil.
3135 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
3137         Restore blank line before next section, erroneously erased
3138         in my previous commit
3140         * etc/compilation.txt (symbol ant): Add an additional trailing blank
3141         line to this section, so that there are two of them immediately before
3142         the next section.
3144 2015-10-04  Vincent Belaïche  <vincentb1@users.sourceforge.net>
3146         Support MSW filename style for ant compilation error regexp
3148         * etc/compilation.txt (symbol ant):
3149         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
3150         Support MSW filename style.
3152 2015-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3154         * nt/INSTALL: Minor spelling and quote fixes.
3156         * lisp/ibuffer.el: Fix docstring length (Bug#21541).
3158 2015-10-03  Simen Heggestøyl  <simenheg@gmail.com>
3160         Maintain ordering of JSON object keys by default
3162         * lisp/json.el (json-object-type): Mention order handling in doc-string.
3163         (json--plist-reverse): New utility function.
3164         (json-read-object): Maintain ordering for alists and plists.
3165         (json-pretty-print): Ensure that ordering is maintained.
3167         * test/automated/json-tests.el (test-json-plist-reverse): New test for
3168         `json--plist-reverse'.
3169         (json-read-simple-alist): Update test to accommodate for changes in
3170         `json-read-object'.
3172         * etc/NEWS: Document the new behavior of the pretty printing functions.
3174 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
3176         * src/coding.c (complement_process_encoding_system): Revert last change.
3178 2015-10-03  Ulf Jasper  <ulf.jasper@web.de>
3180         * admin/MAINTAINERS: Add entry for Ulf Jasper.
3182 2015-10-03  Xue Fuqiao  <xfq.free@gmail.com>
3184         Doc fix for `defmacro'
3186         * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now.
3188 2015-10-03  Andreas Schwab  <schwab@linux-m68k.org>
3190         More validatation of coding systems
3192         * src/fileio.c (Finsert_file_contents): Remove redundant
3193         coding-system check.
3194         (choose_write_coding_system): Likewise.
3195         * src/coding.c (complement_process_encoding_system): Check argument
3196         for valid coding system.
3198 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
3200         Avoid crashes in coding_inherit_eol_type
3202         * src/coding.c (coding_inherit_eol_type): Check the validity of
3203         the arguments.  Suggested by Andreas Schwab <schwab@linux-m68k.org>.
3204         (Bug#21602)
3206 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
3208         More validatation of coding system in 'write-region'
3210         * src/coding.c (choose_write_coding_system): More validation of
3211         coding-system from various sources.  Suggested by Andreas Schwab
3212         <schwab@linux-m68k.org>.  (Bug#21602)
3214 2015-10-03  Eli Zaretskii  <eliz@gnu.org>
3216         Avoid crashes due to invalid coding-system
3218         * src/fileio.c (choose_write_coding_system)
3219         (Finsert_file_contents): Check validity of coding-system-for-write
3220         and coding-system-for-read bound by the caller.  (Bug#21602)
3222 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
3224         Adapt to new prettify-symbols-unprettify-at-point default
3226         * etc/NEWS: Mention that unprettication of symbol at point is off
3227         by default.
3229 2015-10-03  Tassilo Horn  <tsdh@gnu.org>
3231         Revert my two recent process.c changes
3233         Revert "Improve last commit to process.c" and "Remove callback-handled
3234         channels from Available set" because they did not fix bug#21313.
3236         This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and
3237         27f871907cc24f33a7d12ac3a4ab71a88f0bc554.
3239 2015-10-02  Markus Triska  <triska@metalevel.at>
3241         * lisp/progmodes/prolog.el: Update and extend operator table.
3242         (prolog-smie-grammar): Add multifile, public etc.
3244 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
3246         Allow autogen even when Git is not installed
3248         * autogen.sh: Test ‘git status’ before trying to use Git.
3250 2015-10-02  Stefan Monnier  <monnier@iro.umontreal.ca>
3252         * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes.
3253         Adjust lto/lfrom when we have uncommitted changes.
3255 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
3257         Fix problems found by clang 3.5.0
3259         * src/cmds.c (Fdelete_char): Don’t assume XINT returns int.
3260         * src/font.c (font_parse_family_registry):
3261         Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int.
3263 2015-10-02  Eli Zaretskii  <eliz@gnu.org>
3265         * nt/INSTALL: Update instructions for running autogen.sh.
3267         * nt/INSTALL: Point to ezwinports for libXpm binaries.
3269 2015-10-02  Daniel Colascione  <dancol@dancol.org>
3271         Fix winner in cl-lib not loaded case
3273         * lisp/winner.el (winner-change-fun): Don't use cl-lib functions
3274         without requiring CL
3276 2015-10-02  Paul Eggert  <eggert@cs.ucla.edu>
3278         Fix a few problems with directed quotes
3280         This is in response to a problem report by Kaushal Modi in:
3281         http://bugs.gnu.org/21588#25
3282         * lisp/cedet/mode-local.el (describe-mode-local-overload):
3283         * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header):
3284         * lisp/info-xref.el (info-xref-check-all-custom):
3285         * lisp/mail/emacsbug.el (report-emacs-bug-hook):
3286         Prefer directed to undirected single quotes in diagnostics.
3288 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
3290         Revert "Attempt to fix slow redisplay caused by last changes"
3292         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
3293         (try_cursor_movement): Don't relax requirements for redisplay
3294         optimizations for the selected frame.  (Bug#21597)
3296         This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59.
3298 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
3300         Fix slow redisplay when daemon frame exists
3302         * src/xdisp.c (redisplay_internal): Don't consider daemon frames
3303         when looking for frames that need to be redisplayed.  (Bug#21597)
3305 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
3307         Attempt to fix slow redisplay caused by last changes
3309         * src/xdisp.c (try_window_id, try_window_reusing_current_matrix)
3310         (try_cursor_movement): Relax requirements for redisplay
3311         optimizations for the selected frame.  (Bug#21597)
3313 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
3315         * src/dired.c (Ffile_name_completion, Ffile_name_all_completions):
3316         Improve doc string.
3318 2015-10-01  Stephen Leake  <stephen_leake@stephe-leake.org>
3320         * lisp/minibuffer.el (minibuffer-completion-help):
3321         Set default base-size, in case completion table does not set it.
3323 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
3325         Fix GUD display of GDB output with non-ASCII text
3327         * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom.
3328         (gdb-mi-decode): New function.
3329         (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil,
3330         decode octal escapes in GDB output.  (Bug#21572)
3332 2015-10-01  Eli Zaretskii  <eliz@gnu.org>
3334         * nt/INSTALL: Document where to find XPM support files.
3336 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
3338         Un- and re-prettification are not exclusive
3340         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
3341         Re-apply prettification to previous symbol also when unprettifying
3342         next one.
3344 2015-10-01  Tassilo Horn  <tsdh@gnu.org>
3346         Don't unprettify symbol at point by default
3348         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
3349         Default to disabled (nil).
3351 2015-09-30  Artur Malabarba  <bruce.connor.am@gmail.com>
3353         * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point):
3354         Support unprettifying when point is after a symbol.
3356         * etc/NEWS: Document `prettify-symbols-unprettify-at-point'.
3358 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
3360         Avoid assertion violations in push_prefix_prop
3362         * src/xdisp.c (push_prefix_prop): Avoid assertion violations when
3363         a line that has a line-prefix defined starts with an image.  (Bug#21428)
3365 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
3367         Disable some display optimizations when frames need redisplay
3369         These optimizations were previously disabled by the
3370         windows_or_buffers_changed flag, which now is not set
3371         when only some frames need to be redrawn.
3372         * src/xdisp.c (redisplay_internal): Redisplay any frame whose
3373         'redisplay' flag is set.
3374         (try_window_reusing_current_matrix, try_window_id)
3375         (try_cursor_movement): Disable these optimizations when the
3376         frame's 'redisplay' flag is set.
3378 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
3380         Don't modify buffer by unprettification
3382         * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol):
3383         (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't
3384         modify buffer when setting/removing custom prettify-symbols-start/end
3385         text properties.  Add them to font-lock-extra-managed-props, too.
3387 2015-09-30  Stefan Monnier  <monnier@iro.umontreal.ca>
3389         Try to avoid redisplaying all frames when creating a new one
3391         * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height):
3392         * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face)
3393         (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter):
3394         * src/frame.c (x_set_screen_gamma): Set the specific frame's
3395         `redisplay' bit rather than windows_or_buffers_changed.
3397         * src/window.c (apply_window_adjustment): Remove redundant setting of
3398         windows_or_buffers_changed.
3400         * src/xdisp.c (redisplay_internal): Set the specific frame's
3401         `redisplay' bit rather than update_mode_lines in response to
3402         cursor_type_changed.
3403         (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables.
3404         (AINC): Adjust accordingly.
3406 2015-09-30  Tassilo Horn  <tsdh@gnu.org>
3408         Implement unprettification of symbol at point
3410         * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the
3411         symbol at point.
3412         (prettify-symbols--current-symbol-bounds): New variable.
3413         (prettify-symbols--post-command-hook): New function.
3414         (prettify-symbols-unprettify-at-point): New defcustom.
3415         (prettify-symbols-mode): Use it.
3416         (prettify-symbols--compose-symbol): Use them.
3418 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3420         * src/macfont.m (mac_font_descriptor_supports_languages):
3421         Regard "zh" as synonym of "zh-Hans".
3423 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3425         Work around crash when displaying etc/HELLO on OS X 10.11
3427         * src/macfont.m (mac_font_get_weight)
3428         (mac_font_descriptor_get_adjusted_weight): New functions.
3429         (macfont_store_descriptor_attributes): Adjust weight.
3431 2015-09-30  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
3433         * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO.
3435 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
3437         * lisp/arc-mode.el (archive-rar-summarize): Better alignment
3438         of the columns.
3440 2015-09-30  Nicolas Petton  <nicolas@petton.fr>
3442         Use unar and lsar to handle RAR archives in arc-mode
3444         * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely
3445         on unar and lsar instead of unrar-free for RAR archives (bug#17663).
3447 2015-09-30  Wieland Hoffmann  <themineo@gmail.com>  (tiny change)
3449         Clarify :create in auth-source's docs
3451         * lisp/gnus/auth-source.el (auth-source-search):
3452         Clarify :create's meaning.
3454 2015-09-30  Phil Sainty  <psainty@orcon.net.nz>
3456         Avoid empty -path arguments in rgrep
3458         * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from
3459         the list produced according to grep-find-ignored-directories,
3460         before passing it to Find/Grep invocation.  (Bug#21548)
3462 2015-09-30  Eli Zaretskii  <eliz@gnu.org>
3464         Clarify documentation of pos-visible-in-window-p
3466         * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of
3467         t for POS.  See
3468         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html
3469         for the original report.
3471         * doc/lispref/windows.texi (Window Start and End): Clarify the
3472         meaning of t for the POSITION argument of pos-visible-in-window-p.
3474 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
3476         * lisp/progmodes/prolog.el: Fix various indentation cases.
3477         (prolog-operator-chars): New const (add \\).
3478         (prolog-smie-forward-token, prolog-smie-backward-token): Use it.
3479         (prolog-smie-rules): Add rules according to bug#21526.
3481 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
3483         * lisp/progmodes/sh-script.el: Old "dumb" continued line indent.
3484         (sh-indent-after-continuation): Add new value `always' (bug#17620)
3485         (sh-smie-sh-rules): Remove old handling of continued lines.
3486         (sh-smie--indent-continuation): New function.
3487         (sh-set-shell): Use it.
3489 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
3491         * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun.
3492         Remove redundant :group keyword args.
3493         (octave-begin-keywords, octave-else-keywords, octave-end-keywords):
3494         Remove variables.
3495         (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to
3496         turn them into compile-time variables.
3497         Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules.
3498         Add rules for break, continue, return, global, and persistent.
3499         Refine the rule for "until".
3500         (octave-smie--funcall-p, octave-smie--end-index-p)
3501         (octave-smie--in-parens-p): New functions.
3502         (octave-smie-backward-token, octave-smie-forward-token): Use them to
3503         distinguish the "enumeration" function and the "end" index from
3504         their corresponding keywords.
3505         (octave--block-offset-keywords): New constant.
3506         (octave-smie-rules): Use it.  Adjust rules for new global/persistent
3507         parsing.
3508         (octave-reserved-words): Redefine using octave-smie-grammar.
3509         (octave-font-lock-keywords): Use octave-smie--funcall-p and
3510         octave-smie--end-index-p.
3512 2015-09-29  Stefan Monnier  <monnier@iro.umontreal.ca>
3514         * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*.
3516 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
3518         * nt/INSTALL: Remove references to GTK site.
3519         That site no longer offers Windows downloads.
3521 2015-09-29  Eli Zaretskii  <eliz@gnu.org>
3523         * nt/INSTALL: Add instructions for installing Git.
3525 2015-09-29  Katsumi Yamaoka  <yamaoka@jpl.org>
3527         * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to
3528         use colors.  Suggested by Eli Zaretskii.
3530 2015-09-28  Katsumi Yamaoka  <yamaoka@jpl.org>
3532         * lisp/net/shr.el (shr-colorize-region): Don't do it on a system
3533         not supporting 256 above colors (bug#21557).
3535 2015-09-28  Dmitry Gutov  <dgutov@yandex.ru>
3537         Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files"
3539         This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055.
3541 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
3543         Add documentation for seq.el
3545         * doc/lispref/sequences.texi: Add documentation regarding extending
3546         seq.el, as well as missing documentation for seq-elt, seq-length, seq-p,
3547         seq-do and seq-map.
3549 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
3551         Better documentation for seq-some
3553         * doc/lispref/sequences.texi:
3554         * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to
3555         guarantee that the returned value is the first non-nil value that
3556         resulted from applying the predicate.
3558 2015-09-28  Nicolas Petton  <nicolas@petton.fr>
3560         * lisp/arc-mode.el: Sharp-quote function arguments.
3562 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
3564         Avoid redisplay error in ediff-regions-wordwise
3566         * lisp/vc/ediff-util.el
3567         (ediff-clone-buffer-for-region-comparison): Make sure the mark is
3568         set before activating it.  (Bug#21567)
3570 2015-09-28  Eli Zaretskii  <eliz@gnu.org>
3572         Another attempt to fix crashes due to prematurely freed faces
3574         * src/xdisp.c (redisplay_internal): Inhibit freeing of realized
3575         faces for as long as we might have desired matrices that reference
3576         those faces.  (Bug#21428)
3578 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
3580         Add auctex development list email address
3582 2015-09-28  Tassilo Horn  <tsdh@gnu.org>
3584         * admin/MAINTAINERS: Add entries for AUCTeX team and myself.
3586 2015-09-28  Arash Esbati  <esbati@gmx.de>  (tiny change)
3588         Improve wrapfig package support and caption parsing
3590         * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin):
3591         Correct description string and add wraptable environment.
3592         (reftex-default-context-regexps): Improve caption regexp.
3594 2015-09-28  Anders Lindgren  <andlind@gmail.com>
3596         Respect value of frame_resize_pixelwise when handling fullscreen state
3598         * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when
3599         setting size increments.
3601 2015-09-27  Michael Albinus  <michael.albinus@gmx.de>
3603         * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable.
3605 2015-09-27  Simen Heggestøyl  <simenheg@gmail.com>
3607         Add prettify-symbols-alist for js-mode
3609         * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst.
3610         (js-mode): Use it.
3612 2015-09-27  Eli Zaretskii  <eliz@gnu.org>
3614         * nt/subdirs.el: File deleted (no longer used).
3616 2015-09-26  Alan Mackenzie  <acm@muc.de>
3618         Fix follow-scroll-up/down, making them replacements for scroll-up/down
3620         1. Allow point to move between follow windows in scroll operations.
3621         2. Fix bug where `right-char' just before EOB caused spurious scrolling,
3622         when EOB was isolated in the last follow window.
3624         * lisp/follow.el (follow-fixed-window): New variable.
3625         (follow-get-scrolled-point): New function.
3626         (follow-scrol-up, follow-scroll-down): Add autoload cookies.
3627         Reformulate the code.  Put `scroll-command' properties on the functions.
3628         Correct minor errors in ...-down's doc string and code.
3629         (follow-calc-win-end): Amend incomplete doc string.  Use
3630         `pos-visible-in-window-p' to check whether EOB is in the window.
3631         (follow-estimate-first-window-start): Correct an off-by-1 error.
3632         (follow-adjust-window): Add handling for explicit scrolling operations.
3634 2015-09-26  Paul Eggert  <eggert@cs.ucla.edu>
3636         * admin/MAINTAINERS: Add self, plus list some more files
3637         sans maintaners.
3639 2015-09-26  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
3641         New DWIM commands for changing letter-case
3643         * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim):
3644         New functions.  (Bug#21501)
3646 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
3648         * etc/PROBLEMS: Document problems with pasting on MS-Windows.
3650 2015-09-26  Eli Zaretskii  <eliz@gnu.org>
3652         Make face realization be more frame-specific
3654         * src/frame.h (struct f): New flag face_change.
3655         * src/xfaces.c (Finternal_make_lisp_face)
3656         (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute)
3657         (update_face_from_frame_parameter): Set the face_change flag only
3658         for the frame whose faces are affected.
3659         * src/xdisp.c (init_iterator): If a frame's face_change flag is
3660         set, free faces only on that frame.
3661         (redisplay_internal): Disable "display optimization 1" if the
3662         frame's face_change flag is set.
3663         (redisplay_window): Don't allow skipping a window's redisplay if
3664         its frame's face_change flag is set.
3665         * src/frame.c (x_set_screen_gamma): Instead of calling
3666         Fclear_face_cache, call clear_face_cache and set
3667         windows_or_buffers_changed to a non-zero value.  This avoids
3668         setting the global face_change flag that triggers face realization
3669         on all frames and thorough redisplay of all of them.
3671         * lisp/term/tty-colors.el (tty-register-default-colors): Don't
3672         clear face cache if the selected frame is a GUI frame.
3674 2015-09-26  Tassilo Horn  <tsdh@gnu.org>
3676         Remove font-latex specific check
3678         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
3679         Use syntax-ppss data to identify verbatim contents.
3681 2015-09-25  Tassilo Horn  <tsdh@gnu.org>
3683         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
3684         Fix some false negatives.
3686 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
3688         Reorder Windows version in Emacs manifests
3690         * nt/emacs-x64.manifest:
3691         * nt/emacs-x86.manifest: Reorder Windows version from lowest to
3692         highest.
3694 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
3696         Update Emacs manifest files for Windows 10
3698         * nt/emacs-x86.manifest:
3699         * nt/emacs-x64.manifest: Declare compatibility with Windows 10.
3701 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
3703         Avoid non-ASCII decoding errors in C src files
3705         * src/nsterm.m:
3706         * src/lisp.h:
3707         * src/editfns.c:
3708         * src/doprnt.c: Add 'coding' cookies -- these files include
3709         Unicode characters and should be decoded as UTF-8.
3711 2015-09-25  Alan Mackenzie  <acm@muc.de>
3713         Resurrect edebug-set-initial-mode, repurposing it to set the global mode
3715         * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and
3716         amend to match current modes and functions.
3717         (edebug-set-initial-mode): Uncomment and change from setting a defun's
3718         `edebug-initial-mode''s property to setting the variable
3719         `edebug-initial-mode'.
3720         (top level): Create new binding C-x C-a C-m for
3721         `edebug-set-initial-mode'.
3723         * doc/lispref/edebug.texi (Edebug Execution Modes): Document
3724         `edebug-set-initial-mode' and its new key binding.
3725         (Edebug Options): Mention the new command in the pertinent place.
3727         * etc/NEWS: Write entry for this change.
3729 2015-09-25  Eli Zaretskii  <eliz@gnu.org>
3731         Avoid non-ASCII decoding errors in Texinfo files
3733         * doc/misc/tramp.texi:
3734         * doc/lispref/strings.texi:
3735         * doc/lispref/positions.texi:
3736         * doc/lispref/help.texi:
3737         * doc/lispref/functions.texi:
3738         * doc/lispintro/emacs-lisp-intro.texi:
3739         * doc/emacs/text.texi:
3740         * doc/emacs/modes.texi:
3741         * doc/emacs/mini.texi:
3742         * doc/emacs/display.texi:
3743         * doc/emacs/custom.texi:
3744         * doc/emacs/basic.texi: Add 'coding' cookies -- these files use
3745         Unicode characters and should be decoded as UTF-8.
3746         * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII
3747         apostrophe unnecessarily.
3749 2015-09-25  Paul Eggert  <eggert@cs.ucla.edu>
3751         Merge from gnulib
3753         This incorporates:
3754         2015-09-25 c-ctype: rewrite to use inline functions
3755         2015-09-24 maint: add coding cookies to non-ASCII sources
3756         2015-09-24 gitlog-to-changelog: trim only trailing whitespaces
3757         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
3758         * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c:
3759         * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c:
3760         * lib/set-permissions.c:
3761         Copy from gnulib.
3763 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
3765         Update publicsuffix.txt from upstream
3767         * etc/publicsuffix.txt: Update from
3768         https://publicsuffix.org/list/effective_tld_names.dat
3769         dated 2015-09-24 17:29:21 UTC.
3771 2015-09-24  Eli Zaretskii  <eliz@gnu.org>
3773         Prevent timers from messing up TTY menus
3775         * src/term.c (tty_menu_activate): Inhibit redisplay for as long as
3776         the TTY menu is open.  (Bug#21530)
3778 2015-09-24  Paul Eggert  <eggert@cs.ucla.edu>
3780         No need to mention K&R C in c-mode intro
3782 2015-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
3784         Fix recent bootstrap problems
3786         * src/syntax.c (parse_sexp_propertize): Fix last fix.
3787         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo.
3788         * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv.
3790 2015-09-24  Michael Albinus  <michael.albinus@gmx.de>
3792         * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate.
3794 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
3796         Properly quote nested xml comments (Bug#6267) (Bug#20001)
3798         * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function.
3799         (nxml-mode): Set comment-quote-nested-function.
3801 2015-09-23  Ivan Andrus  <darthandrus@gmail.com>
3803         Allow major-modes full control over quoting nested comments
3805         * lisp/newcomment.el (comment-quote-nested-function): New variable.
3806         (comment-quote-nested-default): New function.
3807         (comment-quote-nested): Use `comment-quote-nested-function'.
3809 2015-09-23  Paul Eggert  <eggert@cs.ucla.edu>
3811         Prefer CALLN in a few more places
3813         * src/macfont.m (macfont_set_family_cache):
3814         * src/nsterm.m (append2):
3815         * src/xterm.c (x_cr_export_frames):
3816         Prefer CALLN to allocating the arg arrays by hand.
3818 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
3820         Adapt file-notify-test02-events test case
3822         * test/automated/file-notify-tests.el (file-notify-test02-events):
3823         Create a new watch for every test.
3825 2015-09-23  Michael Albinus  <michael.albinus@gmx.de>
3827         Continue gfilenotify.c implementation of missing parts
3829         * lisp/filenotify.el (file-notify-add-watch): Append `flags' to
3830         `gfile-add-watch' call.
3831         (file-notify-rm-watch): Modify `file-notify-descriptors' only
3832         after calling the low level functions.
3834         * src/gfilenotify.c (dir_monitor_callback): Check, whether
3835         event_type is expected.
3836         (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS.
3837         (Fgfile_rm_watch): Fix typo.
3838         (syms_of_gfilenotify): Declare Qchange and Qattribute_change.
3840 2015-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
3842         * src/syntax.c (parse_sexp_propertize): Handle spurious
3843         e_property_truncated flag.
3844         (update_syntax_table_forward): Remove invalid assertion.
3846 2015-09-23  Eli Zaretskii  <eliz@gnu.org>
3848         * src/xdisp.c (produce_stretch_glyph): Support ':relative-width'
3849         space display spec on text-mode terminals, by calling
3850         PRODUCE_GLYPHS instead of x_produce_glyphs.  Remove the
3851         HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the
3852         test for a GUI frame.
3854 2015-09-23  Oleh Krehel  <ohwoeowho@gmail.com>
3856         Move let-when-compile to lisp-mode.el
3858         This fixes the bootstrapping problem of `let-when-compile' using
3859         `cl-progv' while being in subr.el (i.e. before cl stuff was loaded).
3861 2015-09-23  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3863         * lisp/url/url-http.el (url-http-parse-headers): Do not
3864         automatically include Authorization header in redirect.
3865         (Bug#21350)
3867 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
3869         Clarify documentation of ':relative-width'
3871         * doc/lispref/display.texi (Specified Space): Document that
3872         ':relative-width' is only supported on GUI frames.
3874 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
3876         Fix 'current-column' in presence of :relative-width
3878         * src/indent.c (check_display_width): Support ':relative-width'
3879         in a display spec that specifies a stretch glyph.  (Bug#21533)
3881 2015-09-22  Ken Manheimer  <ken.manheimer@gmail.com>
3883         Reformat the pdbtrack remote-file fix ChangeLog.2 entry
3885         ... to conform better to CONTRIBUTE guidelines.
3887 2015-09-22  Stefan Monnier  <monnier@iro.umontreal.ca>
3889         * lisp/progmodes/prolog.el: Fix indentation of empty line
3891         * lisp/emacs-lisp/smie.el (smie-rules-function): Document new
3892         `empty-line-token' element.
3893         (smie-indent-empty-line): New function.
3894         (smie-indent-functions): Add it.
3896         * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro
3897         behavior and use the new `empty-line-token' element (bug#21526).
3898         (prolog-mode-variables): Fix comment-start-skip setting to match
3899         comment-start.
3901         * test/indent/prolog.prolog: Add nested indentation tests.
3903         * lisp/newcomment.el (comment-normalize-vars): Fix default value of
3904         comment-start-skip not to misuse submatch 1.
3906 2015-09-22  Alan Mackenzie  <acm@muc.de>
3908         Make description of `edebug-initial-mode' user friendly
3910         Fixes bug#21365.
3912         * dec/lispref/edebug.texi (Edebug Execution Modes): Change the
3913         description of `edebug-initial-mode' from that of its implementation
3914         to that of its visual effect and use.  Move the paragraph higher up.
3916 2015-09-22  Eli Zaretskii  <eliz@gnu.org>
3918         lisp/progmodes/gud.el (gud-format-command): Fix last commit
3920         * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal
3921         functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'.
3923 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
3925         Improve last commit to process.c
3927 2015-09-22  Michael Albinus  <michael.albinus@gmx.de>
3929         Implement gfile-valid-p
3931         * lisp/filenotify.el (file-notify-callback): Fix typo.
3932         (gfile-valid-p): Remove defalias.
3934         * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if
3935         the file or directory to be watched is deleted.
3936         (Fgfile_add_watch): Make watch_object a triple.
3937         (Fgfile_rm_watch): Check, whether watch is cancelled already.
3938         (Fgfile_valid_p): New defun.
3939         (syms_of_gfilenotify): Declare Sgfile_valid_p.
3941 2015-09-22  Tassilo Horn  <tsdh@gnu.org>
3943         Remove callback-handled channels from Available set
3945         * src/process.c (wait_reading_process_output): Remove channel from
3946         Available set if it is handled by a callback, e.g., dbus or
3947         inotify (bug#21313).
3949 2015-09-21  Mark Oteiza  <mvoteiza@udel.edu>
3951         Use lunate epsilon for TeX \epsilon
3953         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
3954         Add \varepsilon using GREEK SMALL LETTER EPSILON, and change
3955         \epsilon to use GREEK LUNATE EPSILON SYMBOL
3957 2015-09-21  Stefan Monnier  <monnier@iro.umontreal.ca>
3959         * lisp/progmodes/prolog.el: Fix nested electric if-then-else
3961         * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost
3962         rather than outermost paren (bug#21526).
3964 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
3966         Improve git diff hunk headers for .el, .texi
3968         Problem reported by Alan Mackenzie in:
3969         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html
3970         * .gitattributes (*.el, *.texi): New patterns.
3971         * autogen.sh: Configure diff.elisp.xfuncname and
3972         diff.texinfo.xfuncname if using Git.
3974 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
3976         Don't rely on defaults in decoding UTF-8 encoded Lisp files
3978         * lisp/replace.el:
3979         * lisp/textmodes/rst.el:
3980         * lisp/whitespace.el: Add an explicit UTF-8 encoding tag.
3982 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
3984         Clarify or replace a few \u escapes
3986         * doc/lispref/nonascii.texi (Character Properties)
3987         More-detailed commentary for \u escapes.
3988         * lisp/progmodes/python.el (python--prettify-symbols-alist):
3989         * lisp/replace.el (query-replace-from-to-separator):
3990         * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def)
3991         (rst-mode-syntax-table):
3992         * lisp/whitespace.el (whitespace-display-mappings):
3993         Prefer actual character to \u escape when this makes the code
3994         easier to follow in the usual case where Unicode chars can be
3995         displayed.
3997 2015-09-21  Paul Eggert  <eggert@cs.ucla.edu>
3999         Pacify GCC -Wmaybe-uninitialized in xdisp.c
4001         * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather
4002         than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with
4003         charpos.  The loop should always execute at least once anyway.
4005 2015-09-21  Tassilo Horn  <tsdh@gnu.org>
4007         Signal error on invalid regexp
4009         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
4010         Signal an error when the user tries searching with a regexp
4011         matching the empty string.
4013 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
4015         Another fix of file-notify-tests for w32notify
4017         * test/automated/file-notify-tests.el (file-notify-test02-events):
4018         Further adaptation for w32notify: reduce the number of expected
4019         'changed' events.  (Bug#21435)
4021 2015-09-21  Michael Albinus  <michael.albinus@gmx.de>
4023         Adapt tests and manual for w32notify
4025         * doc/lispref/os.texi (File Notifications): w32notify does not
4026         send `attribute-changed' events.
4028         * test/automated/file-notify-tests.el (file-notify--test-with-events):
4029         Simplify parameters.  Adapt all callees.
4030         (file-notify-test02-events): w32notify does not send
4031         `attribute-changed' events.
4032         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
4033         Do not skip in case of w32notify.  Simply ignore this part of the test.
4035 2015-09-21  Dima Kogan  <dima@secretsauce.net>
4037         Fix setting breakpoints when remote-debugging
4039         * lisp/progmodes/gud.el (gud-format-command): Send localized file
4040         names to the debugger running on the remote.  (Bug#13304)
4042 2015-09-21  Nicolas Petton  <nicolas@petton.fr>
4044         Better docstring and parameter name for seq-find
4046         * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename
4047         the parameter `sentinel' to `default'.
4049         * doc/lispref/sequences.texi (Sequence Functions): Update the
4050           documentation for `seq-find' accordingly.
4052 2015-09-21  Eli Zaretskii  <eliz@gnu.org>
4054         Avoid infinite recursion while displaying box face
4056         * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of
4057         the previous string/buffer character position under bidi
4058         iteration.  (Bug#21428)
4060 2015-09-21  Anders Lindgren  <andlind@gmail.com>
4062         Keep upper edge unchanged when changing size of NS frame
4064         * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged
4065         (Bug#21415).
4067 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4069         * lisp/progmodes/prolog.el: Improve handling of if/then/else.
4070         (prolog-smie-rules): Accomodate standard if/then/else special
4071         indentation.
4072         (prolog-mode): Add . to electric-indent-chars.
4073         (prolog-electric--if-then-else): Re-indent the line before adding space
4074         after the new char (bug#21526).
4076 2015-09-20  Mark Oteiza  <mvoteiza@udel.edu>
4078         Add prettify symbols to python-mode
4080         * lisp/progmodes/python.el (python-prettify-symbols-alist):
4081         New variable.
4082         (python-mode): Use it
4084 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4086         * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete.
4088 2015-09-20  Jostein Kjønigsen  <jostein@secure.kjonigsen.net>  (tiny change)
4090         (compilation-error-regexp-alist-alist): Tone down guile-file
4092         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
4093         Make guile-file a bit less enthusiastic (bug#21496).
4095 2015-09-20  Drew Csillag  <drew@thecsillags.com>
4097         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords):
4098         Fix m4_* highlighting.
4100         * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition
4101         of commands when they have a "m4_" prefix.
4103 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
4105         '.' -> `.' in doc string
4107         * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote
4108         individual chars with grave quotes instead of straight quotes, as
4109         this works better when they are translated to curved quotes.
4111 2015-09-20  Michael Albinus  <michael.albinus@gmx.de>
4113         Improve file notifications, especially for Tramp
4115         * doc/lispref/files.texi (Magic File Names):
4116         Mention `file-notify-valid-p'.
4118         * doc/lispref/os.texi (File Notifications):
4119         Describe `file-notify-valid-p'.
4121         * etc/NEWS: Add `file-notify-valid-p'.
4123         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
4124         Improve implementation.
4125         (tramp-gvfs-monitor-file-process-filter): Rename from
4126         `tramp-gvfs-file-gvfs-monitor-file-process-filter'.  Delete
4127         process if appropriate.
4129         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
4130         Improve implementation.
4131         (tramp-sh-gvfs-monitor-dir-process-filter): Rename from
4132         `tramp-sh-file-gvfs-monitor-dir-process-filter'.  Delete process
4133         if appropriate.
4134         (tramp-sh-inotifywait-process-filter): Rename from
4135         `tramp-sh-file-inotifywait-process-filter'.  Delete process if
4136         appropriate.
4138         * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch):
4139         Use `delete-process'.
4140         (tramp-handle-file-notify-valid-p): Check also, that file or
4141         directory to be watched still exists.
4143         * test/automated/file-notify-tests.el (file-notify--test-timeout):
4144         New defun.  Use it at all places a timeout is needed.
4145         (file-notify--test-cleanup): Delete directories recursively.
4146         Cleanup also Tramp connections.
4147         (file-notify-test02-events): Add tests for `attribute-change'.
4148         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
4149         Add tests for `file-notify-rm-watch'.
4151 2015-09-20  Paul Eggert  <eggert@cs.ucla.edu>
4153         Use %s to format strings instead of splicing them
4155         If FOO might contain quotes that are part of a file or variable
4156         name, the quotes should not be translated when showing FOO’s name
4157         in a diagnostic.  So, for example, (message (concat (FOO ": bar")))
4158         is not quite right, as it would translate FOO’s quotes.
4159         Change it to (message "%s: bar" FOO) instead.
4160         * lisp/allout.el (allout-process-exposed):
4161         * lisp/calc/calc-ext.el (calc-do-prefix-help):
4162         * lisp/calc/calc-store.el (calc-store-into):
4163         * lisp/calendar/todo-mode.el (todo-category-completions):
4164         * lisp/cedet/semantic/complete.el (semantic-completion-message):
4165         * lisp/org/ob-latex.el (convert-pdf):
4166         * lisp/org/org-crypt.el (org-crypt-check-auto-save):
4167         * lisp/org/ox-latex.el (org-latex-compile):
4168         * lisp/org/ox-man.el (org-man-compile):
4169         * lisp/org/ox-odt.el (org-odt--export-wrap):
4170         * lisp/org/ox-texinfo.el (org-texinfo-compile):
4171         * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p):
4172         * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func)
4173         (verilog-signals-combine-bus, verilog-read-defines)
4174         (verilog-getopt-file, verilog-expand-dirnames)
4175         (verilog-modi-lookup, verilog-modi-modport-lookup-one):
4176         * lisp/term/ns-win.el (ns-spi-service-call):
4177         Use %s to avoid translating quotes of file names etc. in diagnostics.
4179 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4181         * lisp/progmodes/js.el (js--syntax-begin-function): Remove.
4182         (js-mode): Don't set syntax-begin-function.
4184 2015-09-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4186         * lisp/font-lock.el (font-lock-compile-keywords): Don't assume
4187         syntax-begin-function is a symbol.
4189 2015-09-20  Eli Zaretskii  <eliz@gnu.org>
4191         Improve documentation of 'run-at-time'
4192         * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string.
4193         In particular, don't refer to 'diary-entry-time', because it is
4194         unavailable until diary-lib is loaded.  Also, refer to
4195         'timer-duration-words', not 'timer-duration', as the latter's doc
4196         string says nothing about the accepted strings.
4198 2015-09-19  Jay Belanger  <jay.p.belanger@gmail.com>
4200         * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message.
4202 2015-09-19  Ken Manheimer  <ken.manheimer@gmail.com>
4204         Repair pdbtrack remote file tracking
4205         * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer):
4206         Rectify pdbtrack so it follows transitions from one remote source
4207         file to the next.
4209 2015-09-19  Artur Malabarba  <bruce.connor.am@gmail.com>
4211         * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting.
4213 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
4215         Adapt vc-src to the old-new vc-checkin API
4216         * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an
4217         additional optional parameter.
4219 2015-09-19  Simen Heggestøyl  <simenheg@gmail.com>
4221         Add overflow module to CSS property list
4222         * lisp/textmodes/css-mode.el (css-property-ids): Add properties
4223         from CSS Overflow Module Level 3.
4225 2015-09-19  Eli Zaretskii  <eliz@gnu.org>
4227         Fix documentation of "C-u C-x v v"
4228         * doc/emacs/maintaining.texi (Advanced C-x v v): Make the
4229         documentation of "C-u C-x v v" match what the code does.
4231         Resurrect the ability to specify a revision in vc-next-action
4232         * lisp/vc/vc-bzr.el (vc-bzr-checkin):
4233         * lisp/vc/vc-dav.el (vc-dav-checkin):
4234         * lisp/vc/vc-git.el (vc-git-checkin):
4235         * lisp/vc/vc-hg.el (vc-hg-checkin):
4236         * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore
4237         an additional optional argument, the revision to checkin.
4238         * lisp/vc/vc-sccs.el (vc-sccs-checkin):
4239         * lisp/vc/vc-cvs.el (vc-cvs-checkin):
4240         * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify
4241         a revision to checkin.
4242         * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the
4243         revision when checking in files.
4244         See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html
4245         for the details.
4247 2015-09-18  Wilson Snyder  <wsnyder@wsnyder.org>
4249         * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function)
4250         (verilog-decls-princ, verilog-modport-princ)
4251         (verilog-modi-modport-lookup-one): Fix checkdoc warnings.
4253 2015-09-17  Jay Belanger  <jay.p.belanger@gmail.com>
4255         Fix the routine for help on Calc's prefixes
4256         * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable.
4257         (calc-do-prefix-help): Use `read-char' to determine the next Calc
4258         command.
4260 2015-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
4262         * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove.
4263         (font-lock-fontify-block): Don't let-bind it.
4264         (font-lock-compile-keywords): Don't use it.
4265         (font-lock-set-defaults): Don't set it.  Allow the variable alist to
4266         start one slot earlier, instead.
4267         * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function):
4268         Don't declare.
4269         (syntax-ppss): Don't use it either.
4270         * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN
4271         from docstring.
4272         * doc/emacs/display.texi (Font Lock): Don't mention
4273         font-lock-beginning-of-syntax-function.
4274         * doc/lispref/modes.texi (Font Lock Basics): Update description of
4275         font-lock-defaults.
4276         (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function.
4277         * lisp/loadhist.el (unload-feature-special-hooks):
4278         Remove font-lock-beginning-of-syntax-function.
4279         * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region):
4280         * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind
4281         font-lock-beginning-of-syntax-function.
4283 2015-09-17  Paul Eggert  <eggert@cs.ucla.edu>
4285         Backslash cleanup in Elisp source files
4286         This patch should not change behavior.  It typically omits backslashes
4287         where they are redundant (e.g., in the string literal "^\$").
4288         In a few places, insert backslashes where they make regular
4289         expressions clearer: e.g., replace "^\*" (equivalent to "^*") with
4290         "^\\*", which has the same effect as a regular expression.
4291         Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs,
4292         and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with
4293         RCS IDs, as that makes it clearer that the backslash is intended.
4295         Some more minor backslash fixes
4296         * test/automated/compile-tests.el (compile-tests--test-regexps-data):
4297         * test/automated/info-xref.el (info-xref-test-write-file):
4298         Double backslashes in strings.
4300         Fix several backslash typos in Elisp strings
4301         * lisp/calendar/todo-mode.el (todo-files, todo-rename-file)
4302         (todo-find-filtered-items-file, todo-reset-nondiary-marker)
4303         (todo-reset-done-string, todo-reset-comment-string)
4304         (todo-reset-highlight-item):
4305         * lisp/erc/erc-networks.el (erc-networks-alist):
4306         * lisp/gnus/gnus-art.el (gnus-button-handle-library):
4307         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url):
4308         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
4309         (nntp-telnet-shell-prompt):
4310         * lisp/gnus/spam-report.el (spam-report-gmane-regex):
4311         * lisp/image-dired.el (image-dired-rotate-original):
4312         (image-dired-get-exif-file-name):
4313         * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx):
4314         * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict):
4315         * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p):
4316         * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions):
4317         * lisp/net/shr-color.el (shr-color->hexadecimal):
4318         * lisp/org/org-bibtex.el (org-bibtex-fields):
4319         * lisp/org/org-docview.el (org-docview-export):
4320         * lisp/org/org-entities.el (org-entities):
4321         * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string):
4322         * lisp/progmodes/cperl-mode.el (cperl-indent-exp):
4323         * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp)
4324         (ebnf-style-database):
4325         * lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
4326         * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
4327         * lisp/progmodes/sql.el (sql-product-alist):
4328         * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist)
4329         (verilog-error-font-lock-keywords)
4330         (verilog-assignment-operator-re):
4331         * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist):
4332         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file):
4333         * lisp/vc/add-log.el (change-log-version-number-regexp-list):
4334         Fix typo by replacing ‘\’ with ‘\\’ in a string literal.
4335         For example, to get the regular expression ‘\.’ use the string
4336         literal "\\.", not "\." (which is equivalent to ".").
4337         * lisp/emulation/viper-util.el (viper-glob-unix-files):
4338         Remove stray ‘\j’ from string.
4339         * lisp/gnus/nntp.el (nntp-via-shell-prompt)
4340         (nntp-telnet-shell-prompt):
4341         Treat > like $ when matching a shell prompt.
4342         * lisp/progmodes/make-mode.el (makefile-browse):
4343         Properly quote a diagnostic.
4345         Fix minor quoting problems in diagnostics
4346         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
4347         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
4348         Follow text-quoting-style in diagnostic, and quote a file name.
4350 2015-09-17  Eli Zaretskii  <eliz@gnu.org>
4352         * doc/lispref/frames.texi (Cursor Parameters):
4353         Document 'x-stretch-cursor'.
4355 2015-09-16  Paul Eggert  <eggert@cs.ucla.edu>
4357         Omit unnecessary \ before paren in C docstrings
4358         Although \( is needed in docstrings in Elisp code, it is not needed in
4359         docstrings in C code, since C function definitiions do not start with
4360         a parenthesis.  The backslashes made the docstrings a bit harder to
4361         read and to format in columns.  Also, some C docstrings had ( in
4362         column 1 and this did not appear to be causing any problems.  So,
4363         simplify C docstrings by replacing \( with ( and \) with ).
4365         A few more minor quoting fixes in a script and a text file
4367         Minor quoting fixes in scripts and doc
4368         Prefer straight quotes in random script files, as they are not
4369         converted.  Prefer grave quotes in a couple of places in the manual
4370         that were missed earlier, as these quotes are converted.
4372         Minor backslash fixes in manuals and scripts
4373         * Makefile.in (install-arch-indep):
4374         * admin/charsets/compact.awk:
4375         * admin/charsets/gb180302.awk (gb_to_index):
4376         * admin/charsets/gb180304.awk (gb_to_index):
4377         Avoid undefined behavior in Awk regular expression backslashes.
4378         * doc/misc/efaq.texi (Matching parentheses):
4379         Omit unnecessary backslashes.
4380         * doc/misc/gnus-faq.texi (FAQ 5-8):
4381         Avoid undefined behavior in suggested sed backslash usage.
4383         Add -Wswitch to --enable-gcc-warnings
4384         Make --enable-gcc-warnings a bit pickier, by also using -Wswitch.
4385         * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch.
4386         * lib-src/etags.c (main, consider_token, C_entries):
4387         * src/coding.c (encode_invocation_designation):
4388         * src/data.c (Ftype_of):
4389         * src/eval.c (Fdefvaralias, default_toplevel_binding)
4390         (Fbacktrace__locals, mark_specpdl):
4391         * src/lisp.h (record_xmalloc):
4392         * src/syntax.c (scan_lists, scan_sexps_forward):
4393         * src/window.c (window_relative_x_coord):
4394         * src/xdisp.c (push_it, pop_it):
4395         * src/xterm.c (xg_scroll_callback, x_check_fullscreen):
4396         Error out or do nothing (as appropriate) if a switch statement
4397         with an enum value does not cover all of the enum.
4398         * src/dispextern.h (struct iterator_stack_entry.u.comp):
4399         Remove unused member discovered by using -Wswitch.
4400         * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch.
4401         * src/vm-limit.c (check_memory_limits):
4402         Simplify warning-diagnostic computation by using a table.
4404         etags ‘fatal’ function is now printf-like
4405         * lib-src/etags.c (fatal): Now printf-like.  All callers changed.
4406         Also, now static; not clear why it needed to be extern.
4407         (verror): New function, with most of the old contents of ‘error’.
4408         (fatal, error): Use it.
4410 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
4412         More adaptations in file-notify-tests.el
4413         * test/automated/file-notify-tests.el
4414         (file-notify-test05-dir-validity): Skip for w32notify in
4415         batch-mode.  (Bug#21432)
4417 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
4419         Adapt test in file-notify-tests.el
4420         * test/automated/file-notify-tests.el
4421         (file-notify-test04-file-validity): Skip for w32notify in
4422         batch-mode.  Add test lost last commit.
4424 2015-09-16  Dima Kogan  <dima@secretsauce.net>
4426         winner no longer holds on to dead frames
4427         * lisp/winner.el (winner-change-fun): Cull dead frames.
4428         This prevents a potentially massive memory leak.  See:
4429         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html
4431 2015-09-16  Michael Albinus  <michael.albinus@gmx.de>
4433         Use common report_file_notify_error function
4434         * src/fileio.c (report_file_notify_error): New function.
4435         * src/inotify.c (report_inotify_error): Remove function.
4436         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
4437         (Finotify_rm_watch): Use report_file_notify_error.
4438         * src/lisp.h (report_file_notify_error): Declare external function.
4439         * src/w32notify.c (report_w32notify_error): Remove function.
4440         (Fw32notify_add_watch, Fw32notify_rm_watch):
4441         Use report_file_notify_error.
4443 2015-09-16  Jay Belanger  <jay.p.belanger@gmail.com>
4445         Fix documentation.
4446         * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of
4447         the documentation of the root mean square.
4449 2015-09-16  Martin Rudalics  <rudalics@gmx.at>
4451         Remove tool_bar_redisplayed_once and associated code.
4452         * src/frame.h (tool_bar_redisplayed_once): Remove slot.
4453         * src/frame.c (make_frame, x_set_font): Remove initialization of
4454         f->tool_bar_redisplayed_once.
4455         * src/w32fns.c (x_change_tool_bar_height):
4456         * src/xfns.c (x_change_tool_bar_height): Don't check for
4457         f->tool_bar_redisplayed_once.
4458         * src/xdisp.c (redisplay_internal): Remove handling of
4459         f->tool_bar_redisplayed_once.
4461 2015-09-16  Eli Zaretskii  <eliz@gnu.org>
4463         Restore some of the quoting in the manuals
4464         * doc/lispref/windows.texi (Coordinates and Windows)
4465         (Coordinates and Windows):
4466         * doc/lispref/variables.texi (Lexical Binding)
4467         (File Local Variables):
4468         * doc/lispref/text.texi (Format Properties):
4469         * doc/lispref/symbols.texi (Symbol Components):
4470         * doc/lispref/strings.texi (Creating Strings):
4471         * doc/lispref/sequences.texi (Sequence Functions):
4472         * doc/lispref/searching.texi (Regexp Special, Regexp Search)
4473         (Search and Replace):
4474         * doc/lispref/processes.texi (Bindat Spec):
4475         * doc/lispref/os.texi (Idle Timers):
4476         * doc/lispref/objects.texi (Basic Char Syntax):
4477         * doc/lispref/numbers.texi (Float Basics, Random Numbers):
4478         * doc/lispref/nonascii.texi (Character Properties):
4479         * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks)
4480         (Mode Line Variables):
4481         * doc/lispref/minibuf.texi (Text from Minibuffer):
4482         * doc/lispref/loading.texi (Autoload):
4483         * doc/lispref/keymaps.texi (Controlling Active Maps):
4484         * doc/lispref/frames.texi (Frame Layout, Size and Position)
4485         (Size Parameters, Implied Frame Resizing):
4486         * doc/lispref/files.texi (Changing Files, Magic File Names):
4487         * doc/lispref/eval.texi (Self-Evaluating Forms):
4488         * doc/lispref/display.texi (Progress, Abstract Display)
4489         (Abstract Display Example, Bidirectional Display):
4490         * doc/lispref/commands.texi (Event Mod):
4491         * doc/emacs/windows.texi (Displaying Buffers):
4492         * doc/emacs/trouble.texi (Bug Criteria, Checklist):
4493         * doc/emacs/text.texi (Enriched Text):
4494         * doc/emacs/programs.texi (MixedCase Words):
4495         * doc/emacs/picture-xtra.texi (Insert in Picture)
4496         (Tabs in Picture):
4497         * doc/emacs/misc.texi (Emacs Server, Printing):
4498         * doc/emacs/mini.texi (Minibuffer History):
4499         * doc/emacs/maintaining.texi (Old Revisions, VC Change Log)
4500         (Pulling / Pushing):
4501         * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard):
4502         * doc/emacs/help.texi (Help, Help Echo):
4503         * doc/emacs/glossary.texi (Glossary):
4504         * doc/emacs/frames.texi (Mouse Commands, Creating Frames)
4505         (Frame Commands):
4506         * doc/emacs/files.texi (Reverting, Saving, Directories):
4507         * doc/emacs/entering.texi (Exiting):
4508         * doc/emacs/emacs.texi (Top):
4509         * doc/emacs/cmdargs.texi (Window Size X, Icons X):
4510         * doc/emacs/anti.texi (Antinews): Restore quoting of text where
4511         appropriate or replace quoting with @dfn.
4512         * doc/misc/ediff.texi (Window and Frame Configuration):
4513         * doc/lispref/processes.texi (Network Feature Testing):
4514         * doc/lispref/display.texi (Display Margins): Quote the phrase
4515         after "a.k.a." where appropriate.
4517 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
4519         Clarify reftex-extra-bindings docs
4520         * lisp/textmodes/reftex-vars.el (reftex-extra-bindings):
4521         * doc/misc/reftex.texi (Key Bindings): Document that the variable
4522         only has an effect at load-time.
4524 2015-09-16  Daniel McClanahan  <danieldmcclanahan@gmail.com>  (tiny change)
4526         * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix
4527         search argument.  (Bug#21492) (Bug#21493)
4529 2015-09-16  Tassilo Horn  <tsdh@gnu.org>
4531         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
4532         Add pretty symbols for \qquad and \varrho.
4534 2015-09-15  Jay Belanger  <jay.p.belanger@gmail.com>
4536         Add new functions for the root mean square of a (Calc) vector
4537         * lisp/calc/calc-stats.el (calcFunc-rms, calc-vector-rms):
4538         New functions.
4539         * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for
4540         `calc-vector-rms', add autoloads for `calc-vector-rms' and
4541         `calcFunc-rms'.
4542         * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for
4543         `calcFunc-rms'.
4544         * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for
4545         `calc-vector-rms'.
4546         * doc/misc/calc.texi (Single-Variable Statistics): Document the rms
4547         command.
4549 2015-09-15  Stephen Leake  <stephen_leake@stephe-leake.org>
4551         Add monotone EDE generic project
4552         * lisp/cedet/ede/generic.el (ede-enable-generic-projects):
4553         Add monotone generic project.
4555         Revert premature commit
4556         * doc/lispref/files.texi: Revert premature commit of change to
4557         file-name-all-completions.
4559         Fix a bug in elisp--xref-find-definitions related to cl-generic defaults
4560         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug
4561         with cl-generic defaults.
4562         (elisp--xref-find-references): Add doc string.
4563         * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve
4564         tests to find bug.
4566         Fix bugs in eieio-oref-default related to class symbols
4567         * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly.
4568         (eieio-oref-default): Handle class properly.
4570 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4572         Quote “fullboth” when defining it
4573         * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth”
4574         and rewrite the containing paragraph, which was awkward.  (Bug#21472).
4576 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
4578         Minor doc fix in emacs/ack.texi
4579         * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the
4580         first argument.
4582 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
4584         Adapt tests in auto-revert-tests.el
4585         * test/automated/auto-revert-tests.el (auto-revert--timeout):
4586         Make it a defconst.
4587         (auto-revert--wait-for-revert): New defun.
4588         (auto-revert-test00-auto-revert-mode)
4589         (auto-revert-test01-auto-revert-tail-mode)
4590         (auto-revert-test02-auto-revert-mode-dired): Use it.
4592 2015-09-15  Stefan Monnier  <monnier@iro.umontreal.ca>
4594         * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const.
4595         Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used.
4596         (cl-lib-fdefs): Add defgeneric.
4597         (cl-kw): Add all elements of eieio-kw and cl-lib-kw.
4598         (eieio-kw, cl-lib-kw, el-kw): Remove.
4600 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4602         Quote less in manuals
4603         The manuals often used quotes ``...'' when it is better to use @dfn or
4604         @code or capitalized words or no quoting at all.  For example, there is
4605         no need for the `` and '' in “if a variable has one effect for
4606         @code{nil} values and another effect for ``non-@code{nil}'' values”.
4607         Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate
4608         unnecessary quoting like this, and to use @dfn etc. instead when called
4609         for (Bug#21472).
4611 2015-09-15  Mark Oteiza  <mvoteiza@udel.edu>
4613         * lisp/custom.el (load-theme): Only compute hash when needed.
4615 2015-09-15  Paul Eggert  <eggert@cs.ucla.edu>
4617         Pacify --enable-gcc-warnings
4618         * src/inotify.c (report_inotify_error): Declare it _Noreturn.
4620 2015-09-15  Michael Albinus  <michael.albinus@gmx.de>
4622         Improve error reports in inotify.c
4623         * src/inotify.c (report_inotify_error): New function.  Clone of
4624         report_w32notify_error.
4625         (inotify_callback, symbol_to_inotifymask, Finotify_add_watch)
4626         (Finotify_rm_watch): Use it.
4628 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
4630         Fix the file-notify tests for watch validation on w32
4631         * test/automated/file-notify-tests.el
4632         (file-notify-test04-file-validity): Move the directory deletion
4633         out of the file-notify--test-with-events macro.
4634         (file-notify-test04-file-validity)
4635         (file-notify-test05-dir-validity): Enlarge the timeout of
4636         read-event to 0.5, as 0.1 is borderline on w32.  (Bug#21432)
4638 2015-09-15  Tassilo Horn  <tsdh@gnu.org>
4640         Use OPEN BOX instead of space for \quad.
4641         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX
4642         character for \quad instead of a space.
4644 2015-09-15  Eli Zaretskii  <eliz@gnu.org>
4646         Add missing *.pbm images
4647         * etc/images/connect.pbm: New file.
4648         * etc/images/custom/down-pushed.pbm: New file.
4649         * etc/images/custom/down.pbm: New file.
4650         * etc/images/custom/right-pushed.pbm: New file.
4651         * etc/images/custom/right.pbm: New file.
4652         * etc/images/describe.pbm: New file.
4653         * etc/images/disconnect.pbm: New file.
4654         * etc/images/ezimage/bits.pbm: New file.
4655         * etc/images/ezimage/bitsbang.pbm: New file.
4656         * etc/images/ezimage/box-minus.pbm: New file.
4657         * etc/images/ezimage/box-plus.pbm: New file.
4658         * etc/images/ezimage/box.pbm: New file.
4659         * etc/images/ezimage/checkmark.pbm: New file.
4660         * etc/images/ezimage/dir-minus.pbm: New file.
4661         * etc/images/ezimage/dir-plus.pbm: New file.
4662         * etc/images/ezimage/dir.pbm: New file.
4663         * etc/images/ezimage/doc-minus.pbm: New file.
4664         * etc/images/ezimage/doc-plus.pbm: New file.
4665         * etc/images/ezimage/doc.pbm: New file.
4666         * etc/images/ezimage/info.pbm: New file.
4667         * etc/images/ezimage/key.pbm: New file.
4668         * etc/images/ezimage/label.pbm: New file.
4669         * etc/images/ezimage/lock.pbm: New file.
4670         * etc/images/ezimage/mail.pbm: New file.
4671         * etc/images/ezimage/page-minus.pbm: New file.
4672         * etc/images/ezimage/page-plus.pbm: New file.
4673         * etc/images/ezimage/page.pbm: New file.
4674         * etc/images/ezimage/tag-gt.pbm: New file.
4675         * etc/images/ezimage/tag-minus.pbm: New file.
4676         * etc/images/ezimage/tag-plus.pbm: New file.
4677         * etc/images/ezimage/tag-type.pbm: New file.
4678         * etc/images/ezimage/tag-v.pbm: New file.
4679         * etc/images/ezimage/tag.pbm: New file.
4680         * etc/images/ezimage/unlock.pbm: New file.
4681         * etc/images/gnus/important.pbm: New file.
4682         * etc/images/gnus/mail-send.pbm: New file.
4683         * etc/images/gnus/receipt.pbm: New file.
4684         * etc/images/gnus/toggle-subscription.pbm: New file.
4685         * etc/images/gnus/unimportant.pbm: New file.
4686         * etc/images/gud/all.pbm: New file.
4687         * etc/images/gud/rcont.pbm: New file.
4688         * etc/images/gud/recstart.pbm: New file.
4689         * etc/images/gud/recstop.pbm: New file.
4690         * etc/images/gud/rfinish.pbm: New file.
4691         * etc/images/gud/rnext.pbm: New file.
4692         * etc/images/gud/rnexti.pbm: New file.
4693         * etc/images/gud/rstep.pbm: New file.
4694         * etc/images/gud/rstepi.pbm: New file.
4695         * etc/images/gud/thread.pbm: New file.
4696         * etc/images/lock-broken.pbm: New file.
4697         * etc/images/lock-ok.pbm: New file.
4698         * etc/images/lock.pbm: New file.
4699         * etc/images/mail/copy.pbm: New file.
4700         * etc/images/mail/forward.pbm: New file.
4701         * etc/images/mail/not-spam.pbm: New file.
4702         * etc/images/mail/outbox.pbm: New file.
4703         * etc/images/mail/preview.pbm: New file.
4704         * etc/images/mail/save-draft.pbm: New file.
4705         * etc/images/mh-logo.pbm: New file.
4706         * etc/images/mpc/add.pbm: New file.
4707         * etc/images/mpc/ffwd.pbm: New file.
4708         * etc/images/mpc/next.pbm: New file.
4709         * etc/images/mpc/pause.pbm: New file.
4710         * etc/images/mpc/play.pbm: New file.
4711         * etc/images/mpc/prev.pbm: New file.
4712         * etc/images/mpc/rewind.pbm: New file.
4713         * etc/images/mpc/stop.pbm: New file.
4714         * etc/images/redo.pbm: New file.
4715         * etc/images/smilies/braindamaged.pbm: New file.
4716         * etc/images/smilies/cry.pbm: New file.
4717         * etc/images/smilies/dead.pbm: New file.
4718         * etc/images/smilies/evil.pbm: New file.
4719         * etc/images/smilies/forced.pbm: New file.
4720         * etc/images/smilies/grin.pbm: New file.
4721         * etc/images/smilies/indifferent.pbm: New file.
4722         * etc/images/sort-ascending.pbm: New file.
4723         * etc/images/sort-column-ascending.pbm: New file.
4724         * etc/images/sort-criteria.pbm: New file.
4725         * etc/images/sort-descending.pbm: New file.
4726         * etc/images/sort-row-ascending.pbm: New file.
4727         * etc/images/unchecked.pbm: New file.
4728         * etc/images/zoom-in.pbm: New file.
4729         * etc/images/README: Update instructions for PBM files.
4731         Add separator.pbm tool-bar image
4732         * etc/images/separator.pbm: New file.  Having it avoids the side
4733         effect of changing the tool-bar height when the default font's size
4734         changes and XPM image support is not available, due to the SPC
4735         characters that are left in the Lisp string used to display the tool
4736         bar, because there are no images to display instead of those SPC
4737         characters.
4739         Make show-paren-match face visible on mono-color displays
4740         * lisp/faces.el (show-paren-match): Use the underline face for
4741         mono-color displays.  (Bug#21481)
4743 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
4745         Don’t double-encode non-ASCII mail clipboard
4746         * lisp/mail/mailclient.el (mailclient-send-it):
4747         Also fix the case when mailclient-place-body-on-clipboard-flag
4748         is non-nil.  Problem reported by Eli Zaretskii (Bug#21471#37).
4750 2015-09-14  Michael Albinus  <michael.albinus@gmx.de>
4752         Adapt file-notify-tests.el test cases
4753         * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'.
4754         * src/inotify.c (Finotify_valid_p): Adapt docstring.
4755         * test/automated/file-notify-tests.el
4756         (file-notify-test03-autorevert)
4757         (file-notify-test04-file-validity)
4758         (file-notify-test04-file-validity-remote)
4759         (file-notify-test05-dir-validity)
4760         (file-notify-test05-dir-validity-remote): Adapt docstring.
4761         (file-notify-test04-file-validity): Let events arrive before
4762         calling final `file-notify-valid-p'.  Do not ignore errors.
4763         (file-notify-test05-dir-validity): Do not manipulate
4764         `temporary-file-directory', it isn't necessary.  Let events arrive
4765         before calling final `file-notify-valid-p'.  Do not ignore errors.
4767 2015-09-14  Paul Eggert  <eggert@cs.ucla.edu>
4769         Don’t double-encode non-ASCII for mail client
4770         * lisp/mail/mailclient.el (mailclient-encode-string-as-url):
4771         Use RFC 6068’s list of unreserved characters.
4772         (mailclient-send-it): When encoding the body as a URL,
4773         first decode it as per Content-Type: and Content-Transfer-Encoding:,
4774         as URLs must use percent-encoded UTF-8 (Bug#21471).
4775         * doc/misc/url.texi (mailto): Update RFC number.
4777 2015-09-14  Stefan Monnier  <monnier@iro.umontreal.ca>
4779         * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist.
4781 2015-09-14  Alan Mackenzie  <acm@muc.de>
4783         Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs
4784         (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with
4785         `cadr/car'.
4787 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
4789         Clarify documentation of char-table extra slots
4790         * doc/lispref/sequences.texi (Char-Tables): Clarify that extra
4791         slot numbers are zero-based.  (Bug#21467)
4793 2015-09-14  Alan Mackenzie  <acm@muc.de>
4795         Elisp mode: Make font-lock and imenu handle escaped characters in symbols
4796         Fixes bug#21449.
4797         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression)
4798         (lisp--el-match-keyword, lisp-el-font-lock-keywords-1)
4799         (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2)
4800         (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p):
4801         Insert "\\|\\\\." into regexps which match symbols.
4803 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
4805         Improve the doc string of w32notify-valid-p
4806         * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string
4807         that removing a watch makes its object invalid.
4809 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
4811         Fix tests for file-notify-valid-p
4812         * test/automated/file-notify-tests.el (file-notify--test-cleanup):
4813         Use delete-directory to delete file-notify--test-tmpfile if it is
4814         a directory.  Likewise for file-notify--test-tmpfile1.
4815         (file-notify-test04-file-validity)
4816         (file-notify-test05-dir-validity): Delete the parent directory of
4817         the test.  Ignore errors when cleaning up after the test.
4819 2015-09-14  Eli Zaretskii  <eliz@gnu.org>
4821         Report file-notify-error in w32notify.c
4822         * src/w32notify.c (report_w32notify_error): New function.
4823         (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report
4824         errors, instead of calling report_file_error.  (Bug#21432)
4826         Implement w32notify-valid-p
4827         * src/w32notify.c (Fw32notify_valid_p): New function.  (Bug#21432)
4828         * lisp/filenotify.el (w32notify-valid-p): No longer an alias for
4829         'identity'.
4831 2015-09-14  Tassilo Horn  <tsdh@gnu.org>
4833         Test file-notify-valid-p
4834         * test/automated/file-notify-tests.el
4835         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
4836         New tests.
4838 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
4840         Fix markup in ELisp manual
4841         * doc/lispref/frames.texi (Font and Color Parameters): Fix markup
4842         of the 'alpha' parameter value.  (Bug#21470)
4844 2015-09-13  Michael Albinus  <michael.albinus@gmx.de>
4846         Introduce `file-notify-valid-p'
4847         * lisp/filenotify.el (file-notify-valid-p): New defun.
4848         (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'.
4849         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
4850         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
4851         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
4852         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
4853         <file-notify-valid-p>: Add handler.
4854         * lisp/net/tramp.el (tramp-file-name-for-operation):
4855         Add `file-notify-valid-p'.
4856         (tramp-handle-file-notify-valid-p): New defun.
4857         * src/inotify.c (Finotify_valid_p): New defun.
4858         (syms_of_inotify): Declare Sinotify_valid_p.
4860 2015-09-13  Paul Eggert  <eggert@cs.ucla.edu>
4862         Port Unicode char detection to FreeBSD+svgalib
4863         Problem reported by Ashish SHUKLA in:
4864         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html
4865         * configure.ac: Check for struct unipair.unicode instead of for
4866         <linux/kd.h>, since that’s more specific to what the code
4867         actually needs.
4868         * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H.
4870         * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468).
4872 2015-09-13  Eli Zaretskii  <eliz@gnu.org>
4874         Fix vertical cursor motion across overlay strings with newlines
4875         * src/indent.c (Fvertical_motion): Don't leave point in the middle
4876         of an overlay string with newlines, as that will position the
4877         cursor after the string at whatever column is there.  (Bug#21468)
4879 2015-09-12  Michael Albinus  <michael.albinus@gmx.de>
4881         Fix tests in file-notify-tests.el
4882         * test/automated/file-notify-tests.el: Remove Tramp declarations.
4883         (file-notify-test00-availability): Print remote command w/o Tramp
4884         internal functions.
4885         (file-notify-test02-events, file-notify-test02-events-remote):
4886         Adapt docstring.
4887         (file-notify-test03-autorevert): Use `format-message' when
4888         inspecting *Messages* buffer.
4890 2015-09-12  Stefan Monnier  <monnier@iro.umontreal.ca>
4892         Bind inhibit-modification-hooks rather than a/b-c-f
4893         * lisp/wid-edit.el (widget-editable-list-insert-before)
4894         (widget-editable-list-delete-at):
4895         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres)
4896         (cperl-font-lock-unfontify-region-function):
4897         * lisp/progmodes/antlr-mode.el (save-buffer-state-x):
4898         * lisp/obsolete/longlines.el (longlines-mode):
4899         * lisp/obsolete/fast-lock.el (save-buffer-state):
4900         * lisp/mouse.el (mouse-save-then-kill-delete-region):
4901         * lisp/gnus/message.el (message-hide-headers):
4902         * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter):
4903         * lisp/ibuffer.el (ibuffer-update-title-and-summary)
4904         (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather
4905         than after/before-change-functions to nil.
4907 2015-09-11  Stefan Monnier  <monnier@iro.umontreal.ca>
4909         (jit-lock-deferred-fontify): Pay attention to skipped redisplays
4910         * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh
4911         the buffers, even if the forced redisplay is interrupted.
4913         * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects
4915         Merge syntax-propertize--done and parse-sexp-propertize-done
4916         * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove.
4917         (syntax-propertize): Set syntax-propertize--done even if
4918         syntax-propertize-function is nil.  Avoid recursive invocations.
4919         (syntax-propertize-chunks): New var.
4920         (internal--syntax-propertize): Use it.  Rename from syntax--jit-propertize.
4921         Simplify.
4922         (parse-sexp-propertize-function): Don't set any more.
4923         * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed.
4924         (parse_sexp_propertize): Don't assume charpos is not yet propertized.
4925         Call Qinternal__syntax_propertize instead of
4926         Vparse_sexp_propertize_function.  Truncate e_property if needed.
4927         (update_syntax_table_forward): Streamline.
4928         (syms_of_syntax): Define Qinternal__syntax_propertize.
4929         (syntax_propertize__done): Rename from parse_sexp_propertize_done.
4931 2015-09-11  Paul Eggert  <eggert@cs.ucla.edu>
4933         Prefer straight quoting in some text files
4934         Mostly this just changes ` to ' in static text.  Some exceptions:
4935         * INSTALL.REPO: Use curved quotes, as the diagnostic in question
4936         typically does that now.
4937         * admin/quick-install-emacs (TRY, top level):
4938         Use straight quoting in diagnostics.
4939         * src/README: Fix working-directory confusion.
4941         * CONTRIBUTE: Move send-email here from git-workflow.
4943 2015-09-11  Michael Albinus  <michael.albinus@gmx.de>
4945         Improve file notifications in Tramp
4946         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
4947         Set proper events to watch for.
4948         (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only
4949         watched events.
4951 2015-09-11  Eli Zaretskii  <eliz@gnu.org>
4953         Fix NS build with --enable-checking='glyphs'
4954         * src/nsfns.m (unwind_create_frame): Make the preprocessor
4955         conditionals for referencing 'dpyinfo' consistent throughout the
4956         function.  (Bug#21426)
4958 2015-09-10  Nicolas Petton  <nicolas@petton.fr>
4960         Add seq-find
4961         This function is similar to `seq-some' but returns the found element.
4962         In the cases where nil can be the found element, a sentinel optional
4963         argument can be provided to avoid ambiguities.
4964         * lisp/emacs-lisp/seq.el (seq-find): New function.
4965         * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'.
4966         * doc/lispref/sequences.texi (Sequence Functions): Add documentation for
4967         seq-find.
4969 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
4971         Document file-notify--test-with-events.
4972         * test/automated/file-notify-tests.el (file-notify--test-with-events):
4973         Add docstring.
4975 2015-09-10  Michael Albinus  <michael.albinus@gmx.de>
4977         Report used native library in file-notify-tests.el
4978         * test/automated/file-notify-tests.el
4979         (tramp-get-remote-gvfs-monitor-dir)
4980         (tramp-get-remote-inotifywait): Declare them.
4981         (file-notify-test00-availability): Print used native library.
4983 2015-09-10  Mark Oteiza  <mvoteiza@udel.edu>
4985         * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p.
4986         (mpc-file-local-copy): Check for absolute path.  Check more config
4987         locations.
4989 2015-09-10  Eli Zaretskii  <eliz@gnu.org>
4991         Improve documentation of categories
4992         * doc/lispref/syntax.texi (Categories): Clarify the example of
4993         using define-category and modify-category-entry.  (Bug#21448)
4995 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
4997         Revert some stray curved quotes I missed earlier
4998         Problem reported by David Kastrup in:
4999         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html
5000         * lisp/international/mule-cmds.el (leim-list-header):
5001         Use format-message with an ASCII-only format.
5003         Prefer NUMBERP to spelling it out
5004         * src/editfns.c (styled_format):
5005         * src/frame.h (NUMVAL):
5006         * src/image.c (parse_image_spec):
5007         * src/lisp.h (CHECK_NUMBER_OR_FLOAT)
5008         (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER):
5009         * src/process.c (Fsignal_process):
5010         * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p):
5011         * src/xfaces.c (check_lface_attrs):
5012         * src/xselect.c (x_fill_property_data, x_send_client_event):
5013         Use NUMBERP rather than INTEGERP || FLOATP.
5015 2015-09-10  Tassilo Horn  <tsdh@gnu.org>
5017         Improve file-notify-tests
5018         * test/automated/file-notify-tests.el: Use lexical-binding.
5019         (file-notify--test-cleanup): New function.
5020         (file-notify-test00-availability, file-notify-test01-add-watch)
5021         (file-notify-test02-events, file-notify-test03-autorevert): Use it.
5022         (file-notify--test-with-events): New macro.
5023         (file-notify-test02-events): Use it.
5025 2015-09-10  Paul Eggert  <eggert@cs.ucla.edu>
5027         Add patch-sending instructions to git-workflow
5028         From a suggestion by Mitchel Humpherys in:
5029         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html
5030         * admin/notes/git-workflow (Sending patches): New section.
5032         Port to GIFLIB 5.0.6 and later
5033         Problem reported by Mitchel Humpherys in:
5034         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html
5035         * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro.
5036         (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]:
5037         (gif_load) [HAVE_GIF]: Use it.
5039 2015-09-10  Glenn Morris  <rgm@gnu.org>
5041         * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix.
5043 2015-09-09  Glenn Morris  <rgm@gnu.org>
5045         * test/automated/file-notify-tests.el (file-notify-test02-events):
5046         Fix recent change.
5048 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
5050         Refix movemail GCC pacification
5051         Problem reported by Ken Brown in:
5052         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html
5053         * lib-src/movemail.c (main): Fix previous change.
5055 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5057         * lisp/calendar/time-date.el (time-to-seconds, time-less-p):
5058         Mark unused vars with underscore.
5060         * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation...
5061         (parse_sexp_propertize): ...from here.
5063         * lisp/filenotify.el: Use lexical-binding
5064         (file-notify-add-watch): Avoid add-to-list.
5066 2015-09-09  Tassilo Horn  <tsdh@gnu.org>
5068         Start checking event types in file-notify tests
5069         * test/automated/file-notify-tests.el (file-notify--test-events):
5070         New variable.
5071         (file-notify--test-event-handler): Append received event to
5072         file-notify--test-events for later analysis.
5073         (file-notify-test02-events): Assert that the expected notifications have
5074         arrived in the expected order.
5076 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
5078         Merge from gnulib and texinfo
5079         This incorporates:
5080         2015-08-03 Improve port of stdalign to C++11
5081         * lib/stdalign.in.h: Copy from gnulib.
5082         * doc/misc/texinfo.tex: Copy from texinfo.
5084 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5086         Make syntax.c call syntax-propertize on demand
5087         * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function.
5088         (parse-sexp-propertize-function): Use it.
5089         (syntax-propertize): Disable parse-sexp-propertize-function.
5090         * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward):
5091         New functions.
5092         (syms_of_syntax): New vars `parse-sexp-propertize-done' and
5093         `parse-sexp-propertize-function'.
5094         * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field.
5095         (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward.
5096         (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated.
5097         * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize):
5098         Don't assume `point' is set.
5100 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
5102         Fix indentation of an @example in ELisp manual
5103         * doc/lispref/syntax.texi (Categories): Untabify the example.
5104         (Bug#21448)
5106 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
5108         Define internal-char-font even if --without-x
5109         The function is used now even in non-graphical environments.
5110         Problem reported by Glenn Morris in:
5111         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html
5112         * src/font.c (Finternal_char_font): Move here ...
5113         * src/fontset.c (Finternal_char_font): ... from here.
5115 2015-09-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5117         * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers):
5118         Remove warning.
5120 2015-09-09  Eli Zaretskii  <eliz@gnu.org>
5122         Fix display of complex local data types in GDB-MI
5123         * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a
5124         variable has no value, display "<complex data type>" as a
5125         placeholder, instead of a confusing "nil".  (Bug#21438)
5127 2015-09-09  Oleh Krehel  <ohwoeowho@gmail.com>
5129         Remove redundant redefinition of seq-drop-while from seq.el
5130         * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once.
5132 2015-09-09  Phil Sainty  <psainty@orcon.net.nz>
5134         * lisp/emacs-lisp/package.el (package--ensure-init-file):
5135         More robust check for `package-initialize' calls in init file.
5136         This function accepts an optional argument, but calls passing
5137         an argument would not have been detected.
5139 2015-09-09  Paul Eggert  <eggert@cs.ucla.edu>
5141         Port movemail to RHEL 6 with --enable-gcc-warnings
5142         * lib-src/movemail.c (main): Declare local only if needed.
5144         Port recent Linux console changes to RHEL 6
5145         * src/terminal.c [HAVE_LINUX_KD_H]: Include <sys/ioctl.h>.
5147         Improvements for curved quotes on Linux consule
5148         This should help Emacs work better out-of-the-box on Linux consoles,
5149         which have only limited support for displaying Unicode characters.
5150         Also, undo the recent change that caused text-quoting-style to
5151         affect quote display on terminals, so that the two features are
5152         independent.  See Alan Mackenzie in:
5153         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html
5154         Finally, add a style parameter to startup--setup-quote-display,
5155         so that this function can also be invoked after startup, with
5156         different styles depending on user preference at the time.
5157         * configure.ac: Check for linux/kd.h header.
5158         * doc/emacs/display.texi (Text Display): Document quote display.
5159         * doc/lispref/display.texi (Active Display Table):
5160         * etc/NEWS:
5161         * lisp/startup.el (startup--setup-quote-display, command-line):
5162         text-quoting-style no longer affects quote display.
5163         * doc/lispref/frames.texi (Terminal Parameters): Fix typo.
5164         * lisp/international/mule-util.el (char-displayable-p):
5165         * lisp/startup.el (startup--setup-quote-display):
5166         On a text terminal supporting glyph codes, use the reported
5167         glyph codes instead of the terminal coding system, as this
5168         is more accurate on the Linux console.
5169         * lisp/startup.el (startup--setup-quote-display):
5170         New optional arg STYLE.
5171         * src/fontset.c (Finternal_char_font):
5172         Report glyph codes for a text terminal, if they are available.
5173         Currently this is supported only for the Linux console.
5174         * src/termhooks.h (struct terminal): New member glyph-code-table.
5175         * src/terminal.c [HAVE_LINUX_KD_H]: Include <errno.h>, <linux/kd.h>.
5176         (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function.
5177         (terminal_glyph_code): New function.
5179 2015-09-08  Juri Linkov  <juri@linkov.net>
5181         * lisp/info.el (Info-fontify-node): Don't stop at the non-title
5182         underline.  (Bug#21433)
5184 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5186         * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec.
5188 2015-09-08  Tassilo Horn  <tsdh@gnu.org>
5190         Fix double-reporting of rename events with inotify
5191         * lisp/filenotify.el (file-notify-callback): Fix double-reporting
5192         of rename events with inotify (bug#21435).
5194 2015-09-08  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
5196         * lisp/play/tetris.el (tetris-move-down): New command (bug#21360).
5197         (tetris-mode-map): Use it.
5199 2015-09-08  Stefan Monnier  <monnier@iro.umontreal.ca>
5201         Remove a few simple cases of global redisplay
5202         * src/dispnew.c (redraw_frame): Don't redisplay all frames.
5203         * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit
5204         rather than returning a "resized_p" boolean.
5205         (redisplay_internal): Adjust call accordingly.
5206         * src/xfaces.c (free_realized_faces): Don't redisplay all frames.
5207         (free_all_realized_faces): Set windows_or_buffers_changed so as to ease
5208         tracking of this undesirable situation.
5210         * src/process.c (status_notify): Avoid global redisplay (bug#11822)
5211         * src/process.c (status_notify): Only set the update_mode_line on the
5212         relevant buffers rather than setting it globally.
5214 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5216         * lisp/electric.el (electric-quote-post-self-insert-function):
5217         Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode).
5218         (electric-quote-mode): Activate everywhere in message-mode.
5220 2015-09-07  Paul Eggert  <eggert@cs.ucla.edu>
5222         Go back to grave quoting in source-code docstrings etc.
5223         This reverts almost all my recent changes to use curved quotes
5224         in docstrings and/or strings used for error diagnostics.
5225         There are a few exceptions, e.g., Bahá’í proper names.
5226         * admin/unidata/unidata-gen.el (unidata-gen-table):
5227         * lisp/abbrev.el (expand-region-abbrevs):
5228         * lisp/align.el (align-region):
5229         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet)
5230         (outlineify-sticky):
5231         * lisp/apropos.el (apropos-library):
5232         * lisp/bookmark.el (bookmark-default-annotation-text):
5233         * lisp/button.el (button-category-symbol, button-put)
5234         (make-text-button):
5235         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
5236         * lisp/calc/calc-embed.el (calc-do-embedded):
5237         * lisp/calc/calc-ext.el (calc-user-function-list):
5238         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
5239         * lisp/calc/calc-help.el (calc-describe-key)
5240         (calc-describe-thing, calc-full-help):
5241         * lisp/calc/calc-lang.el (calc-c-language)
5242         (math-parse-fortran-vector-end, math-parse-tex-sum)
5243         (math-parse-eqn-matrix, math-parse-eqn-prime)
5244         (calc-yacas-language, calc-maxima-language, calc-giac-language)
5245         (math-read-giac-subscr, math-read-math-subscr)
5246         (math-read-big-rec, math-read-big-balance):
5247         * lisp/calc/calc-misc.el (calc-help, report-calc-bug):
5248         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
5249         (calc-auto-recompute):
5250         * lisp/calc/calc-prog.el (calc-fix-token-name)
5251         (calc-read-parse-table-part, calc-user-define-invocation)
5252         (math-do-arg-check):
5253         * lisp/calc/calc-store.el (calc-edit-variable):
5254         * lisp/calc/calc-units.el (math-build-units-table-buffer):
5255         * lisp/calc/calc-vec.el (math-read-brackets):
5256         * lisp/calc/calc-yank.el (calc-edit-mode):
5257         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
5258         * lisp/calendar/appt.el (appt-display-message):
5259         * lisp/calendar/diary-lib.el (diary-check-diary-file)
5260         (diary-mail-entries, diary-from-outlook):
5261         * lisp/calendar/icalendar.el (icalendar-export-region)
5262         (icalendar--convert-float-to-ical)
5263         (icalendar--convert-date-to-ical)
5264         (icalendar--convert-ical-to-diary)
5265         (icalendar--convert-recurring-to-diary)
5266         (icalendar--add-diary-entry):
5267         * lisp/calendar/time-date.el (format-seconds):
5268         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
5269         (timeclock-make-hours-explicit, timeclock-log-data):
5270         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
5271         (todo-item-mark, todo-check-format)
5272         (todo-insert-item--next-param, todo-edit-item--next-key)
5273         (todo-mode):
5274         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
5275         * lisp/cedet/mode-local.el (describe-mode-local-overload)
5276         (mode-local-print-binding, mode-local-describe-bindings-2):
5277         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
5278         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
5279         * lisp/cus-start.el (standard):
5280         * lisp/cus-theme.el (describe-theme-1):
5281         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
5282         (custom--sort-vars-1, load-theme):
5283         * lisp/descr-text.el (describe-text-properties-1, describe-char):
5284         * lisp/dired-x.el (dired-do-run-mail):
5285         * lisp/dired.el (dired-log):
5286         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
5287         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
5288         (ad-disable-advice, ad-remove-advice, ad-set-argument)
5289         (ad-set-arguments, ad--defalias-fset, ad-activate)
5290         (ad-deactivate):
5291         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
5292         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
5293         (byte-optimize-while, byte-optimize-apply):
5294         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
5295         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
5296         (byte-compile-log-file, byte-compile-format-warn)
5297         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
5298         (byte-compile-cl-warn)
5299         (byte-compile-warn-about-unresolved-functions)
5300         (byte-compile-file, byte-compile--declare-var)
5301         (byte-compile-file-form-defmumble, byte-compile-form)
5302         (byte-compile-normal-call, byte-compile-check-variable)
5303         (byte-compile-variable-ref, byte-compile-variable-set)
5304         (byte-compile-subr-wrong-args, byte-compile-setq-default)
5305         (byte-compile-negation-optimizer)
5306         (byte-compile-condition-case--old)
5307         (byte-compile-condition-case--new, byte-compile-save-excursion)
5308         (byte-compile-defvar, byte-compile-autoload)
5309         (byte-compile-lambda-form)
5310         (byte-compile-make-variable-buffer-local, display-call-tree)
5311         (batch-byte-compile):
5312         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use):
5313         * lisp/emacs-lisp/chart.el (chart-space-usage):
5314         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
5315         (check-declare-warn, check-declare-file)
5316         (check-declare-directory):
5317         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
5318         (checkdoc-message-text-engine):
5319         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer)
5320         (cl--describe-class):
5321         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
5322         (cl--generic-describe, cl-generic-generalizers):
5323         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
5324         (cl-symbol-macrolet):
5325         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
5326         * lisp/emacs-lisp/copyright.el (copyright)
5327         (copyright-update-directory):
5328         * lisp/emacs-lisp/edebug.el (edebug-read-list):
5329         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
5330         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
5331         (eieio-oref):
5332         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
5333         * lisp/emacs-lisp/eieio-speedbar.el:
5334         (eieio-speedbar-child-make-tag-lines)
5335         (eieio-speedbar-child-description):
5336         * lisp/emacs-lisp/eieio.el (defclass, change-class):
5337         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
5338         (elint-init-form, elint-check-defalias-form)
5339         (elint-check-let-form):
5340         * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu)
5341         (ert-results-pop-to-backtrace-for-test-at-point)
5342         (ert-results-pop-to-messages-for-test-at-point)
5343         (ert-results-pop-to-should-forms-for-test-at-point)
5344         (ert-describe-test):
5345         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
5346         (find-function-library):
5347         * lisp/emacs-lisp/generator.el (iter-yield):
5348         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
5349         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
5350         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
5351         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
5352         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
5353         (advice--make, define-advice):
5354         * lisp/emacs-lisp/package-x.el (package-upload-file):
5355         * lisp/emacs-lisp/package.el (package-version-join)
5356         (package-disabled-p, package-activate-1, package-activate)
5357         (package--download-one-archive)
5358         (package--download-and-read-archives)
5359         (package-compute-transaction, package-install-from-archive)
5360         (package-install, package-install-selected-packages)
5361         (package-delete, package-autoremove, describe-package-1)
5362         (package-install-button-action, package-delete-button-action)
5363         (package-menu-hide-package, package-menu--list-to-prompt)
5364         (package-menu--perform-transaction)
5365         (package-menu--find-and-notify-upgrades):
5366         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
5367         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
5368         * lisp/emacs-lisp/ring.el (ring-previous, ring-next):
5369         * lisp/emacs-lisp/rx.el (rx-check, rx-anything)
5370         (rx-check-any-string, rx-check-any, rx-check-not, rx-=)
5371         (rx-repeat, rx-check-backref, rx-syntax, rx-check-category)
5372         (rx-form):
5373         * lisp/emacs-lisp/smie.el (smie-config-save):
5374         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
5375         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
5376         * lisp/emacs-lisp/testcover.el (testcover-1value):
5377         * lisp/emacs-lisp/timer.el (timer-event-handler):
5378         * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments)
5379         (viper-toggle-search-style, viper-kill-buffer)
5380         (viper-brac-function):
5381         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
5382         * lisp/env.el (setenv):
5383         * lisp/erc/erc-button.el (erc-nick-popup):
5384         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english):
5385         * lisp/eshell/em-dirs.el (eshell/cd):
5386         * lisp/eshell/em-glob.el (eshell-glob-regexp)
5387         (eshell-glob-entries):
5388         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
5389         * lisp/eshell/esh-opt.el (eshell-show-usage):
5390         * lisp/facemenu.el (facemenu-add-new-face)
5391         (facemenu-add-new-color):
5392         * lisp/faces.el (read-face-name, read-face-font, describe-face)
5393         (x-resolve-font-name):
5394         * lisp/files-x.el (modify-file-local-variable):
5395         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
5396         (set-auto-mode, hack-one-local-variable--obsolete)
5397         (dir-locals-set-directory-class, write-file, basic-save-buffer)
5398         (delete-directory, copy-directory, recover-session)
5399         (recover-session-finish, insert-directory)
5400         (file-modes-char-to-who, file-modes-symbolic-to-number)
5401         (move-file-to-trash):
5402         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer):
5403         * lisp/find-cmd.el (find-generic, find-to-string):
5404         * lisp/finder.el (finder-commentary):
5405         * lisp/font-lock.el (font-lock-fontify-buffer):
5406         * lisp/format.el (format-write-file, format-find-file)
5407         (format-insert-file):
5408         * lisp/frame.el (get-device-terminal, select-frame-by-name):
5409         * lisp/fringe.el (fringe--check-style):
5410         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
5411         * lisp/help-fns.el (help-fns--key-bindings)
5412         (help-fns--compiler-macro, help-fns--parent-mode)
5413         (help-fns--obsolete, help-fns--interactive-only)
5414         (describe-function-1, describe-variable):
5415         * lisp/help.el (describe-mode)
5416         (describe-minor-mode-from-indicator):
5417         * lisp/image.el (image-type):
5418         * lisp/international/ccl.el (ccl-dump):
5419         * lisp/international/fontset.el (x-must-resolve-font-name):
5420         * lisp/international/mule-cmds.el (prefer-coding-system)
5421         (select-safe-coding-system-interactively)
5422         (select-safe-coding-system, activate-input-method)
5423         (toggle-input-method, describe-current-input-method)
5424         (describe-language-environment):
5425         * lisp/international/mule-conf.el (code-offset):
5426         * lisp/international/mule-diag.el (describe-character-set)
5427         (list-input-methods-1):
5428         * lisp/mail/feedmail.el (feedmail-run-the-queue):
5429         * lisp/mouse.el (minor-mode-menu-from-indicator):
5430         * lisp/mpc.el (mpc-playlist-rename):
5431         * lisp/msb.el (msb--choose-menu):
5432         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
5433         * lisp/net/imap.el (imap-interactive-login):
5434         * lisp/net/mairix.el (mairix-widget-create-query):
5435         * lisp/net/newst-backend.el (newsticker--sentinel-work):
5436         * lisp/net/newst-treeview.el (newsticker--treeview-load):
5437         * lisp/net/rlogin.el (rlogin):
5438         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
5439         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
5440         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
5441         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
5442         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
5443         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
5444         (org-babel-goto-named-result):
5445         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
5446         * lisp/org/ob-ref.el (org-babel-ref-resolve):
5447         * lisp/org/org-agenda.el (org-agenda-prepare):
5448         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
5449         (org-clock-resolve):
5450         * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag):
5451         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
5452         * lisp/org/org-habit.el (org-habit-parse-todo):
5453         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
5454         (org-mouse-context-menu):
5455         * lisp/org/org-table.el (org-table-edit-formulas):
5456         * lisp/org/ox.el (org-export-async-start):
5457         * lisp/proced.el (proced-log):
5458         * lisp/progmodes/ada-mode.el (ada-get-indent-case)
5459         (ada-check-matching-start, ada-goto-matching-start):
5460         * lisp/progmodes/ada-prj.el (ada-prj-display-page):
5461         * lisp/progmodes/ada-xref.el (ada-find-executable):
5462         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
5463         * lisp/progmodes/etags.el (etags-tags-apropos-additional):
5464         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
5465         (flymake-start-syntax-check-process):
5466         * lisp/progmodes/python.el (python-shell-get-process-or-error)
5467         (python-define-auxiliary-skeleton):
5468         * lisp/progmodes/sql.el (sql-comint):
5469         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
5470         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate):
5471         * lisp/recentf.el (recentf-open-files):
5472         * lisp/replace.el (query-replace-read-from)
5473         (occur-after-change-function, occur-1):
5474         * lisp/scroll-bar.el (scroll-bar-columns):
5475         * lisp/server.el (server-get-auth-key):
5476         * lisp/simple.el (execute-extended-command)
5477         (undo-outer-limit-truncate, list-processes--refresh)
5478         (compose-mail, set-variable, choose-completion-string)
5479         (define-alternatives):
5480         * lisp/startup.el (site-run-file, tty-handle-args, command-line)
5481         (command-line-1):
5482         * lisp/subr.el (noreturn, define-error, add-to-list)
5483         (read-char-choice, version-to-list):
5484         * lisp/term/common-win.el (x-handle-xrm-switch)
5485         (x-handle-name-switch, x-handle-args):
5486         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
5487         * lisp/textmodes/reftex-ref.el (reftex-label):
5488         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
5489         * lisp/textmodes/two-column.el (2C-split):
5490         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
5491         (tutorial--find-changed-keys):
5492         * lisp/type-break.el (type-break-noninteractive-query):
5493         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
5494         (wdired-do-perm-changes):
5495         * lisp/whitespace.el (whitespace-report-region):
5496         Prefer grave quoting in source-code strings used to generate help
5497         and diagnostics.
5498         * lisp/faces.el (face-documentation):
5499         No need to convert quotes, since the result is a docstring.
5500         * lisp/info.el (Info-virtual-index-find-node)
5501         (Info-virtual-index, info-apropos):
5502         Simplify by generating only curved quotes, since info files are
5503         typically that ways nowadays anyway.
5504         * lisp/international/mule-diag.el (list-input-methods):
5505         Don’t assume text quoting style is curved.
5506         * lisp/org/org-bibtex.el (org-bibtex-fields):
5507         Revert my recent changes, going back to the old quoting style.
5509 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5511         * lisp/emacs-lisp/package.el: Reduce autoloading before compiling.
5512         (package--autoloads-file-name)
5513         (package--activate-autoloads-and-load-path): New function.
5514         (package-activate-1): Delegate autoloading and load-path
5515         configuration to `package--activate-autoloads-and-load-path'.
5516         (package--compile): Before compilation, call
5517         `package--activate-autoloads-and-load-path' instead of
5518         `package-activate-1'.
5520 2015-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>
5522         * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403).
5524 2015-09-07  Eli Zaretskii  <eliz@gnu.org>
5526         Fix deletion of symlinks to directories on MS-Windows
5527         * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a
5528         symlink to a directory, try again with 'rmdir'.
5529         (is_symlink): If the argument is a symlink to a directory, set a
5530         bit in the return value to indicate that fact.
5532 2015-09-07  Artur Malabarba  <bruce.connor.am@gmail.com>
5534         * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup
5535         When `package-initialize' is called as part of loading the init file,
5536         the user probably doesn't want it to be called again afterwards.
5537         In this situation, `package-initialize' now sets
5538         `package-enable-at-startup' to nil to prevent that.  The user can have
5539         the old behavior by setting this variable to t after the call to
5540         `package-initialize'.  (Bug#21423)
5541         * doc/emacs/package.texi (Package Installation): Document it.
5542         * doc/lispref/package.texi (Packaging Basics): Document it.
5543         * etc/NEWS: Document it.
5545 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5547         Bump version of ntlm.el to 2.00
5548         * lisp/net/ntlm.el: Bump version to 2.00.  New maintainer.
5549         Add comm keyword.
5551 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
5553         * doc/misc/gnus.texi (Mail Source Specifiers):
5554         Allow :mailbox to be a list.
5556 2015-09-06  Dmitry Gutov  <dgutov@yandex.ru>
5558         * lisp/progmodes/etags.el (etags-tags-completion-table):
5559         Allow even one non-regular character before the implicit tag name.
5560         Reported at http://emacs.stackexchange.com/questions/15269/.
5562 2015-09-06  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
5564         Add support for NTLMv2 authentication
5565         * lisp/net/ntlm.el (ntlm): New customization group.
5566         (ntlm-compatibility-level): New defcustom.
5567         (ntlm-compute-timestamp): New function.
5568         (ntlm-generate-nonce): Likewise.
5569         (ntlm-build-auth-response): Add support for NTLMv2 authentication.
5571 2015-09-06  Artur Malabarba  <bruce.connor.am@gmail.com>
5573         * lisp/emacs-lisp/package.el: Rename custom faces.
5574         All of the recently introduced faces, like `package-name-face', have
5575         been renamed to no end in `-face' to comply with the convention
5576         described in (info "(elisp) Defining Faces").
5577         (package-name, package-description)
5578         (package-status-built-in, package-status-external)
5579         (package-status-available, package-status-new)
5580         (package-status-held, package-status-disabled)
5581         (package-status-installed, package-status-dependency)
5582         (package-status-unsigned, package-status-incompat)
5583         (package-status-avail-obso): New faces.
5584         (package-menu--print-info-simple): Use them.
5586 2015-09-06  Adam Sjøgren  <asjo@koldfront.dk>
5588         mail-source.el: Make the imap mail-source's :mailbox handle a list
5589         * lisp/gnus/mail-source.el (mail-source-fetch-imap):
5590         Allow :mailbox to be  a list.
5592 2015-09-06  Eric Abrahamsen  <eric@ericabrahamsen.net>
5594         nnimap.el: Handle nil arg to nnimap-request-group
5595         * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg.
5596         This arg isn't always passed in, check it's not nil before making it
5597         into a list.  The active arg will also be nil if the group is new,
5598         check for that.
5600 2015-09-06  Michael Albinus  <michael.albinus@gmx.de>
5602         File notifications: Support renaming over directory boundaries
5603         * lisp/filenotify.el (file-notify-handle-event):
5604         (file-notify--pending-event): Adapt docstring.
5605         (file-notify--descriptor, file-notify-callback): Reimplement in
5606         order to support renaming over directory boundaries.
5607         (file-notify-add-watch): Adapt `file-notify--descriptor' call.
5608         * doc/lispref/os.texi (File Notifications): Remove limitation of
5609         file renaming to the same directory.
5611 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
5613         Spelling fix (Bug#21420)
5615 2015-09-05  Nicolas Petton  <nicolas@petton.fr>
5617         Improve the semantic of map-some
5618         Update map-some to return the returned by the predicate, similar to
5619         seq-some.
5620         * lisp/emacs-lisp/map.el (map-some): Update the function to return the
5621           return value of the predicate.
5622         * test/automated/map-tests.el (test-map-some): Update the test to check
5623           for non-nil values only.
5625         Rename map-contains-key-p and map-some-p
5626         Remove the "-p" suffix from both function names.
5627         * lisp/emacs-lisp/map.el (map-contains-key, map-some):
5628           Rename the functions.
5629         * test/automated/map-tests.el (test-map-contains-key, test-map-some):
5630           Update both test functions.
5632         Improve the semantic of seq-some
5633         Update seq-some to return non-nil if the predicate returns non-nil for
5634         any element of the seq, in which case the returned value is the one
5635         returned by the predicate.
5636         * lisp/emacs-lisp/seq.el (seq-some): Update the function and its
5637           docstring.
5638         * test/automated/seq-tests.el (test-seq-some): Add a regression test.
5639         * doc/lispref/sequences.texi (Sequence Functions): Update the
5640           documentation for seq-some.
5642         Rename seq-some-p to seq-some and seq-contains-p to seq-contains
5643         * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions
5644           without the "-p" prefix.
5645         * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update
5646           the tests accordingly.
5647         * doc/lispref/sequences.texi (Sequence Functions): Update the
5648           documentation for seq.el.
5650 2015-09-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
5652         text-quoting-style for usage of fn names with ‘’
5653         * lisp/help.el (help--docstring-quote): Don’t assume
5654         text-quoting-style is ‘curve’ when generating usage strings for
5655         functions whose names contain curved quotes.
5657 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
5659         Fix fix for describe-function keybinding confusion
5660         This fixes a bug introduced by the previous patch.
5661         * lisp/help-fns.el (help-fns--signature):
5662         Last arg of help-fns--signature is now a buffer, or nil if a
5663         raw signature is wanted.  All callers changed.
5664         (describe-function-1): Use this to do the right thing with signatures.
5666 2015-09-05  Johan Bockgård  <bojohan@gnu.org>
5668         * doc/lispref/frames.texi (Mouse Tracking): Fix typo.
5670         Use PAT rather than UPAT in pcase macros
5671         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
5672         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>: Use PAT rather
5673           than UPAT.
5675 2015-09-05  Paul Eggert  <eggert@cs.ucla.edu>
5677         Fix describe-function keybinding confusion
5678         * lisp/help-fns.el (describe-function-1): Compute signature
5679         in the original buffer, not in standard-output, so that
5680         substitute-command-keys uses the proper keybindings.
5681         This fixes Bug#21412, introduced in commit
5682         2015-06-11T10:23:46-0700!eggert@cs.ucla.edu.
5684 2015-09-05  Xue Fuqiao  <xfq.free@gmail.com>
5686         * doc/emacs/programs.texi (Program Modes): Remove an index entry.
5688 2015-09-05  Robert Pluim  <rpluim@gmail.com>  (tiny change)
5690         Avoid read error messages from 'inotify'
5691         * src/process.c (wait_reading_process_output): Add a
5692         'tls_available' set and manipulate it instead of 'Available' when
5693         checking TLS inputs.  Assign the value to 'Available' only if we
5694         find any TLS data waiting to be read.  This avoids error messages
5695         from 'inotify' that tries to read data it shouldn't.  (Bug#21337)
5697 2015-09-05  Eli Zaretskii  <eliz@gnu.org>
5699         Avoid errors in thing-at-point with 2nd argument non-nil
5700         * lisp/thingatpt.el (thing-at-point): Only call 'length' on
5701         sequences.  (Bug#21391)
5703 2015-09-05  Philip  <pipcet@gmail.com>  (tiny change)
5705         Fix segfaults due to using a stale face ID
5706         * src/xdisp.c (forget_escape_and_glyphless_faces): New function.
5707         (display_echo_area_1, redisplay_internal): Call it to avoid
5708         reusing stale face IDs for 'escape-glyph' and 'glyphless-char'
5709         faces, which could case a segfault if the frame's face cache was
5710         freed since the last redisplay.  (Bug#21394)
5711         * src/xfaces.c (free_realized_faces):
5712         Call forget_escape_and_glyphless_faces.
5713         * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype.
5715 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
5717         Fix minor problems with " in manual
5719 2015-09-04  Michael Albinus  <michael.albinus@gmx.de>
5721         * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc
5722         multi-hop files.
5724 2015-09-04  Paul Eggert  <eggert@cs.ucla.edu>
5726         Support automated ‘make check’ in non-C locale
5727         This lets the builder optionally test Emacs behavior in other locales.
5728         The C locale is still the default for tests.
5729         * test/automated/Makefile.in (TEST_LOCALE): New macro.
5730         (emacs): Use it.
5731         * test/automated/flymake-tests.el (flymake-tests--current-face):
5732         Use C locale for subprocesses so that tests behave as expected.
5733         * test/automated/python-tests.el:
5734         (python-shell-prompt-validate-regexps-1)
5735         (python-shell-prompt-validate-regexps-2)
5736         (python-shell-prompt-validate-regexps-3)
5737         (python-shell-prompt-validate-regexps-4)
5738         (python-shell-prompt-validate-regexps-5)
5739         (python-shell-prompt-validate-regexps-6)
5740         (python-shell-prompt-set-calculated-regexps-1):
5741         Adjust expected output to match locale.
5742         * test/automated/tildify-tests.el (tildify-test--test)
5743         (tildify-space-test--test, tildify-space-undo-test--test):
5744         This test assumes UTF-8 encoding.
5746 2015-09-03  Paul Eggert  <eggert@cs.ucla.edu>
5748         Fix some more docstring etc. quoting problems
5749         Mostly these fixes prevent the transliteration of apostrophes
5750         that should stay apostrophes.  Also, prefer curved quotes in
5751         Bahá’í proper names, as that’s the preferred Bahá’í style and
5752         these names are chock-full of non-ASCII characters anyway.
5753         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload)
5754         (eieio-defclass-internal):
5755         * lisp/emacs-lisp/eieio.el (defclass):
5756         * lisp/hi-lock.el (hi-lock-mode):
5757         Don’t transliterate Lisp apostrophes when generating a
5758         doc string or diagnostic.
5759         * lisp/international/mule-diag.el (list-coding-systems-1):
5760         * lisp/international/ogonek.el (ogonek-jak, ogonek-how):
5761         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
5762         * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer):
5763         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
5764         Substitute quotes before putting them in the help buffer.
5766 2015-09-03  Stefan Monnier  <monnier@iro.umontreal.ca>
5768         Re-add the notion of echo_prompt lost in the translation
5769         * src/keyboard.h (struct kboard): Replace echo_after_prompt with new
5770         echo_prompt which contains the actual string.  Update all uses.
5771         * src/keyboard.c (kset_echo_prompt): New function.
5772         (echo_update): Add echo_prompt at the very beginning.
5773         (read_char): Remove workaround for bug#19875, not needed any more.
5774         (read_key_sequence): Set echo_prompt rather than echo_string
5775         (bug#21403).
5776         (mark_kboards): Mark echo_prompt.
5778         Fix disassembly of non-compiled lexical functions (bug#21377)
5779         * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg.
5780         * lisp/emacs-lisp/disass.el: Use lexical-binding.
5781         (disassemble): Recognize `closure's as well.
5782         (disassemble-internal): Use indirect-function and
5783         help-function-arglist, and accept `closure's.
5784         (disassemble-internal): Use interactive-form.
5785         (disassemble-1): Use functionp.
5787         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p):
5788         Don't compose inside verbatim blocks!
5790 2015-09-03  Mark Oteiza  <mvoteiza@udel.edu>
5792         * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:"
5793         (bug#19441).
5795         * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394).
5797 2015-09-03  Dmitry Gutov  <dgutov@yandex.ru>
5799         vc-git-mode-line-string: Explicitly re-apply the face
5800         * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply
5801         the face (bug#21404).
5803 2015-09-02  Paul Eggert  <eggert@cs.ucla.edu>
5805         Treat initial-scratch-message as a doc string
5806         * doc/emacs/building.texi (Lisp Interaction):
5807         * doc/lispref/os.texi (Startup Summary):
5808         * etc/NEWS: Document this.
5809         * lisp/startup.el (initial-scratch-message):
5810         Look up find-file’s key rather than hardcoding it.
5811         (command-line-1): Substitute the doc string.
5812         This also substitutes the quotes, which will help test display
5813         quoting at startup.
5815         Fix describe-char bug with glyphs on terminals
5816         * lisp/descr-text.el (describe-char): Terminals can have glyphs in
5817         buffers too, so don’t treat them differently from graphic displays.
5818         Without this fix, describe-char would throw an error on a terminal
5819         if given a glyph with a non-default face.
5821         Follow text-quoting-style in display table init
5822         This attempts to fix a problem reported by Alan Mackenzie in:
5823         http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html
5824         * doc/lispref/display.texi (Active Display Table):
5825         Mention how text-quoting-style affects it.
5826         * doc/lispref/help.texi (Keys in Documentation):
5827         Say how to set text-quoting-style in ~/.emacs.
5828         * etc/NEWS: Document the change.
5829         * lisp/startup.el (startup--setup-quote-display):
5830         Follow user preference if text-quoting-style is set.
5831         (command-line): Setup quote display again if user expresses
5832         a preference in .emacs.
5834 2015-09-02  K. Handa  <handa@gnu.org>
5836         Fix typo
5837         * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask
5838         -> OTF_positioning_type_components_mask.
5840         Fix previous change
5841         * src/ftfont.c (ftfont_drive_otf): Remember some bits of
5842         OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type.
5844 2015-09-01  David Caldwell  <david@porkrind.org>  (tiny change)
5846         * lisp/vc/vc-hooks.el (vc-refresh-state): New command.
5847         Rename from vc-find-file-hook and make interactive.
5848         (vc-find-file-hook): Redefine as obsolete alias.
5850 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5852         Escape ` and ' in doc
5853         Escape apostrophes and grave accents in docstrings if they are
5854         are supposed to stand for themselves and are not quotes.  Remove
5855         apostrophes from docstring examples like ‘'(calendar-nth-named-day
5856         -1 0 10 year)’ that confuse source code with data.  Do some other
5857         minor docstring fixups as well, e.g., insert a missing close quote.
5859 2015-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
5861         Generalize the prefix-command machinery of C-u
5862         * lisp/simple.el (prefix-command-echo-keystrokes-functions)
5863         (prefix-command-preserve-state-hook): New hooks.
5864         (internal-echo-keystrokes-prefix): New function.
5865         (prefix-command--needs-update, prefix-command--last-echo): New vars.
5866         (prefix-command-update, prefix-command-preserve): New functions.
5867         (reset-this-command-lengths): New compatibility definition.
5868         (universal-argument--mode): Call prefix-command-update.
5869         (universal-argument, universal-argument-more, negative-argument)
5870         (digit-argument): Call prefix-command-preserve-state.
5871         * src/keyboard.c: Call internal-echo-keystrokes-prefix to build
5872         the "prefix argument" to echo.
5873         (this_command_key_count_reset, before_command_key_count)
5874         (before_command_echo_length): Delete variables.
5875         (echo_add_key): Always add a space.
5876         (echo_char): Remove.
5877         (echo_dash): Don't give up when this_command_key_count is 0, since that
5878         is now the case after a prefix command.
5879         (echo_update): New function, extracted from echo_now.
5880         (echo_now): Use it.
5881         (add_command_key, read_char, record_menu_key): Remove old disabled code.
5882         (command_loop_1): Don't refrain from pushing an undo boundary when
5883         prefix-arg is set.  Remove other prefix-arg special case, now handled
5884         directly in the prefix commands instead.  But call echo_now if there's
5885         a prefix state to echo.
5886         (read_char, record_menu_key): Use echo_update instead of echo_char.
5887         (read_key_sequence): Use echo_now rather than echo_dash/echo_char.
5888         (Freset_this_command_lengths): Delete function.
5889         (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix.
5890         (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths.
5891         * lisp/simple.el: Use those new hooks for C-u.
5892         (universal-argument--description): New function.
5893         (prefix-command-echo-keystrokes-functions): Use it.
5894         (universal-argument--preserve): New function.
5895         (prefix-command-preserve-state-hook): Use it.
5896         (command-execute): Call prefix-command-update if needed.
5897         * lisp/kmacro.el (kmacro-step-edit-prefix-commands)
5898         (kmacro-step-edit-prefix-index): Delete variables.
5899         (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc
5900         support for prefix arg commands.
5901         (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index.
5902         * lisp/emulation/cua-base.el (cua--prefix-override-replay)
5903         (cua--shift-control-prefix): Use prefix-command-preserve-state.
5904         Remove now unused arg `arg'.
5905         (cua--prefix-override-handler, cua--prefix-repeat-handler)
5906         (cua--shift-control-c-prefix, cua--shift-control-x-prefix):
5907         Update accordingly.
5908         (cua--prefix-override-timeout): Don't call reset-this-command-lengths
5909         any more.
5910         (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active
5911         if the mark is not set.
5913 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5915         Rework quoting in Emacs Lisp Introduction
5916         * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression)
5917         (if in more detail, type-of-animal in detail, else): Rework the
5918         early example to use " rather than ' so that we don’t burden
5919         complete novices with the low-priority detail of text quoting style.
5920         (Complete zap-to-char, kill-region, Complete copy-region-as-kill)
5921         (kill-new function, kill-ring-yank-pointer)
5922         (Complete forward-sentence, Loading Files)
5923         (Code for current-kill, Code for current-kill, yank):
5924         Resurrect the Emacs 22 versions of the code, which uses grave
5925         quoting style in doc strings.
5926         (Complete zap-to-char): Mention how quoting works in doc strings.
5928         Setup quote display only if interactive
5929         * lisp/startup.el (command-line):
5930         Skip call to startup--setup-quote-display if noninteractive.
5931         Without this change, python-shell-prompt-validate-regexps-1
5932         fails in test/automated/python-tests.el when run in an
5933         en_US.utf8 locale on Fedora.
5935 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
5937         Use defalias at the top level
5938         * lisp/gnus/gnus-util.el (gnus-format-message):
5939         * lisp/net/tls.el (tls-format-message): Use defalias at the top level
5940         so as to make eval-and-compile unnecessary.  Thanks to Stefan Monnier.
5942 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5944         terminal-init-w32console mimicks command-line
5945         Problem reported by Eli Zaretskii.
5946         * lisp/startup.el (startup--setup-quote-display):
5947         New function, refactored from a part of ‘command-line’.
5948         (command-line): Use it.
5949         * lisp/term/w32console.el (terminal-init-w32console):
5950         Use it, so that this function stays consistent with ‘command-line’.
5952         Display replacement quotes with shadow glyphs
5953         * lisp/startup.el (command-line): When displaying ASCII
5954         replacements for curved quotes, use a shadow glyph instead of a
5955         regular one, to avoid ambiguity.
5957 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
5959         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Mask "Password:".
5961 2015-09-01  Paul Eggert  <eggert@cs.ucla.edu>
5963         Docstring fixes re quotes in C code
5964         Fix some docstring quoting problems, mostly by escaping apostrophe.
5966 2015-09-01  Michael Albinus  <michael.albinus@gmx.de>
5968         Some Tramp password fixes
5969         * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords
5970         of the hops.
5971         * lisp/net/tramp-sh.el (tramp-methods) <sudo>: Move "-p" "Password:"
5972         at the beginning of the command.  Otherwise, it could be
5973         interpreted as password prompt if the remote host echoes the
5974         command.
5975         (tramp-remote-coding-commands): Add "openssl enc -base64".
5977 2015-09-01  Dmitry Gutov  <dgutov@yandex.ru>
5979         Make vc-git-working-revision always return the commit hash
5980         * lisp/vc/vc-git.el (vc-git-working-revision):
5981         Return the commit hash (bug#21383).
5982         (vc-git--symbolic-ref): New function, extracted from above.
5983         (vc-git-mode-line-string): Use it.
5985 2015-09-01  K. Handa  <handa@gnu.org>
5987         Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs
5988         * src/ftfont.c (MFLTGlyphFT): New type.
5989         (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf)
5990         (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of
5991         elements in the array MFLTGlyphString.glyphs.
5993 2015-09-01  Stephen Leake  <stephen_leake@stephe-leake.org>
5995         Improve comments in elisp-mode.el, elisp-mode-tests.el
5996         * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments.
5998         Delete Emacs 25 test in mode-local.el
5999         * lisp/cedet/mode-local.el (describe-mode-local-overload):
6000         Fix missed an edit in previous commit.
6002         Show all known mode-local overrides in *Help*
6003         * lisp/cedet/mode-local.el (describe-mode-local-overload):
6004         Assume Emacs 25. Add all known mode-local overrides.
6006 2015-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
6008         * lisp/gnus/gnus-sum.el (gnus-summary-search-article):
6009         Ensure that the article where the search word is found is displayed
6010         and pointed to in the summary buffer.
6012 2015-08-31  Zachary Kanfer  <zkanfer@gmail.com>  (tiny change)
6014         * lisp/newcomment.el (comment-dwim): Use `use-region-p'.
6015         When the region is active, but is empty (length 0), act as though
6016         the region was not active; that is, put a comment at the end of
6017         the line.  (Bug#21119)
6019 2015-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
6021         Port tls.el to older Emacs
6022         * lisp/net/tls.el (tls-format-message):
6023         Alias to format-message, or format if not available.
6024         (open-tls-stream): Use it.
6026 2015-08-31  Rüdiger Sonderfeld  <ruediger@c-plusplus.net>
6028         hideif.el: Recognize .h++ as C++ header
6029         * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++.
6031         isearch: Document character folding mode
6032         * lisp/isearch.el (isearch-forward):
6033         Mention `isearch-toggle-character-fold' in doc string.
6035 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6037         Quoting fixes in ERC and Eshell
6038         * lisp/erc/erc-autoaway.el (erc-autoaway-set-away):
6039         * lisp/erc/erc-backend.el (define-erc-response-handler):
6040         * lisp/erc/erc-fill.el (erc-fill-static-center):
6041         * lisp/eshell/em-dirs.el (eshell-save-some-last-dir):
6042         * lisp/eshell/em-glob.el (eshell-glob-entries):
6043         * lisp/eshell/em-hist.el (eshell-save-some-history):
6044         * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm)
6045         (eshell-shuffle-files):
6046         * lisp/eshell/esh-cmd.el (eshell-do-eval):
6047         * lisp/eshell/esh-proc.el (eshell-process-interact)
6048         (eshell-query-kill-processes):
6049         Respect ‘text-quoting-style’ in diagnostics and doc strings.
6051         Quoting fixes in Gnus
6052         * lisp/gnus/gnus-agent.el:
6053         (gnus-agent-possibly-synchronize-flags-server):
6054         * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files):
6055         * lisp/gnus/gnus-eform.el (gnus-edit-form):
6056         * lisp/gnus/gnus-group.el (gnus-group-edit-group)
6057         (gnus-group-nnimap-edit-acl):
6058         * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters):
6059         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
6060         * lisp/gnus/message.el (message-strip-subject-encoded-words)
6061         (message-check-recipients, message-send-form-letter):
6062         * lisp/gnus/mm-decode.el (mm-display-part):
6063         * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1):
6064         * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert)
6065         (mml-smime-get-ldap-cert):
6066         * lisp/gnus/spam-report.el (spam-report-process-queue):
6067         Respect ‘text-quoting-style’ in diagnostics.
6068         * lisp/gnus/gnus-art.el (article-display-face)
6069         * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from):
6070         Use straight quoting in email.
6071         * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string):
6072         Escape apostrophes in doc strings.
6074         Quoting fixes in lisp mail, mh-e, net, url
6075         * lisp/mail/emacsbug.el (report-emacs-bug)
6076         (report-emacs-bug-hook): Use straight quotes in outgoing email,
6077         * lisp/mail/feedmail.el (feedmail-message-action-help-blat):
6078         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
6079         * lisp/mail/rmailout.el (rmail-output-read-file-name):
6080         * lisp/net/imap.el (imap-interactive-login):
6081         * lisp/net/tls.el (open-tls-stream):
6082         * lisp/url/url-auth.el (url-register-auth-scheme):
6083         Respect ‘text-quoting-style’ in diagnostics.
6084         * lisp/mh-e/mh-e.el (mh-sortm-args):
6085         Quote docstring example using text quotes, not as a Lisp quote.
6087 2015-08-31  Stephen Leake  <stephen_leake@stephe-leake.org>
6089         Fix some byte-compiler warnings in EDE
6090         This fixes a bug that caused ede-generic-new-autoloader to overwrite the
6091         existing autoloader list, rather than add to it.
6092         * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name
6093         argument to eieio class constructor.
6094         (ede-show-supported-projects): New.
6095         (ede-add-project-autoload): Replace obsolete `eieio-object-name-string'
6096         with (oref ... name).
6097         (ede-auto-load-project): Use slot name, not initarg key.
6098         * lisp/cedet/ede/generic.el (ede-generic-load)
6099         (ede-generic-find-matching-target): Use slot name, not initarg key.
6100         (ede-find-target): Use oref-default on class name.
6101         (ede-generic-new-autoloader): Delete obsolete name argument to eieio
6102         class constructor.
6103         (ede-enable-generic-projects): Make project type names unique.
6105 2015-08-31  Eli Zaretskii  <eliz@gnu.org>
6107         Fix directory accessibility tests for w32 network volumes
6108         * src/w32.c (faccessat): Don't fail with network volumes without a
6109         share.
6110         (w32_accessible_directory_p): Handle network volumes without a
6111         share.
6113         Fix handling long file names in readdir on MS-Windows
6114         * src/w32.c (sys_readdir): Append "\*" to the directory after
6115         converting it to UTF-16/ANSI, not before, to avoid overflowing the
6116         260-character limit on file names in filename_to_utf16/ansi.
6118         Make file-accessible-directory-p reliable on MS-Windows
6119         * src/w32.c (w32_accessible_directory_p): New function.
6120         * src/w32.h (w32_accessible_directory_p): Add prototype.
6121         * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call
6122         w32_accessible_directory_p to test a directory for accessibility
6123         by the current user.  (Bug#21346)
6124         (Ffile_accessible_directory_p): Remove the w32 specific caveat
6125         from the doc string.
6127 2015-08-31  Martin Rudalics  <rudalics@gmx.at>
6129         Don't call do_pending_window_change in signal handlers (Bug#21380)
6130         * src/gtkutil.c (xg_frame_resized):
6131         * src/xterm.c (x_set_window_size):
6132         * src/w32term.c (x_set_window_size): Don't call
6133         do_pending_window_change.
6135 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6137         Quoting fixes in lisp/org
6138         * lisp/org/org-agenda.el (org-search-view, org-todo-list)
6139         (org-tags-view):
6140         * lisp/org/org-capture.el (org-capture-mode)
6141         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
6142         (org-ctags-ask-append-topic):
6143         * lisp/org/org.el (org-time-string-to-time)
6144         (org-time-string-to-absolute):
6145         * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file)
6146         (org-ctags-ask-append-topic):
6147         * lisp/org/org.el (org-time-string-to-time)
6148         (org-time-string-to-absolute):
6149         Respect ‘text-quoting-style’ in diagnostics.
6150         * lisp/org/org-agenda.el (org-agenda-custom-commands)
6151         (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s.
6152         * lisp/org/org-capture.el (org-capture-fill-template):
6153         Avoid contraction in output file that might be ASCII.
6154         * lisp/org/org-compat.el (format-message):
6155         Define if not already defined, for backward compatibility.
6156         * lisp/org/org-src.el (org-edit-src-save):
6157         * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c):
6158         Escape apostrophes in diagnostics.
6160         Treat “instead” strings as docstrings
6161         * lisp/emacs-lisp/bytecomp.el (byte-compile-form):
6162         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
6163         Substitute quotes in instead strings.
6165 2015-08-31  Nicolas Petton  <nicolas@petton.fr>
6167         Better documentation of seq-let
6168         * doc/lispref/sequences.texi (Sequence Functions): Rephrase the
6169         documentation of seq-let.
6171 2015-08-31  Paul Eggert  <eggert@cs.ucla.edu>
6173         * lisp/international/ccl.el: Fix quoting.
6175         Quoting fixes in lisp/international and lisp/leim
6176         * lisp/international/ccl.el (ccl-dump, ccl-dump-call):
6177         * lisp/international/ja-dic-utl.el (skkdic-lookup-key):
6178         * lisp/international/mule-cmds.el:
6179         (select-safe-coding-system-interactively, leim-list-file-name):
6180         * lisp/international/quail.el (quail-use-package, quail-help):
6181         * lisp/international/titdic-cnv.el (tit-process-header)
6182         (miscdic-convert):
6183         Respect text quoting style in doc strings and diagnostics.
6184         * lisp/international/quail.el (lisp/international/quail.el):
6185         * lisp/leim/quail/ethiopic.el ("ethiopic"):
6186         Escape apostrophes in doc strings.
6188         Make ‘text-quoting-style’ a plain defvar
6189         It doesn’t need customization, as it’s likely useful only by experts.
6190         Suggested by Stefan Monnier in:
6191         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html
6192         * lisp/cus-start.el: Remove doc.c section for builtin customized vars.
6194         Quoting fixes in lisp/textmodes
6195         * lisp/textmodes/bibtex.el (bibtex-validate)
6196         (bibtex-validate-globally, bibtex-search-entries):
6197         * lisp/textmodes/ispell.el (ispell-command-loop):
6198         * lisp/textmodes/page-ext.el (search-pages, pages-directory):
6199         * lisp/textmodes/texinfmt.el (texinfmt-version)
6200         (texinfo-format-region, texinfo-format-buffer-1):
6201         * lisp/textmodes/two-column.el (2C-split):
6202         Respect text quoting style in doc strings and diagnostics.
6203         * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal):
6204         * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode):
6205         Escape apostrophes in doc strings.
6207         Documentation fixes re quotes
6208         Prefer curved quotes in examples if users will typically see
6209         curved quotes when the examples run.
6210         Mention format-message when appropriate.
6211         Don’t use @code in examples.
6212         Quote an apostrophe with @kbd.
6214         Quoting fixes in lisp/progmodes
6215         * lisp/progmodes/cc-engine.el (c-bos-report-error):
6216         * lisp/progmodes/cpp.el (cpp-edit-reset):
6217         * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos):
6218         * lisp/progmodes/etags.el (etags-tags-apropos-additional)
6219         (etags-tags-apropos, list-tags, tags-apropos):
6220         * lisp/progmodes/executable.el (executable-set-magic):
6221         * lisp/progmodes/octave.el (octave-sync-function-file-names)
6222         (octave-help, octave-find-definition-default-filename)
6223         (octave-find-definition):
6224         Respect text quoting style in doc strings and diagnostics.
6225         * lisp/progmodes/cc-langs.el (c-populate-syntax-table):
6226         * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths):
6227         * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote):
6228         Escape apostrophes in doc strings.
6229         * lisp/progmodes/cmacexp.el (c-macro-expansion):
6230         Use straight quoting in ASCII comment.
6231         * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string)
6232         (idlwave-pad-keyword):
6233         * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate)
6234         (vhdl-electric-open-bracket, vhdl-electric-close-bracket):
6235         (vhdl-electric-semicolon, vhdl-electric-comma)
6236         (vhdl-electric-period, vhdl-electric-equal):
6237         Use directed quotes in diagnostics and doc strings.
6239 2015-08-30  Xue Fuqiao  <xfq.free@gmail.com>
6241         Minor documentation and NEWS tweak
6242         * doc/lispintro/emacs-lisp-intro.texi (fwd-para let):
6243         Add an index entry.
6244         * etc/NEWS: Fix a typo in character-fold-to-regexp.
6246 2015-08-30  Michael Albinus  <michael.albinus@gmx.de>
6248         * lisp/net/tramp-sh.el (tramp-convert-file-attributes):
6249         Revert patch from 2015-08-24.  Tramp shall behave like for local files.
6250         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
6251         Adapt test.
6253 2015-08-30  Paul Eggert  <eggert@cs.ucla.edu>
6255         Text quoting fixes in cedet, emulation, emacs-lisp
6256         * lisp/cedet/ede.el (ede-check-project-directory):
6257         * lisp/cedet/semantic/analyze/debug.el
6258         (semantic-analyzer-debug-insert-include-summary):
6259         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
6260         * lisp/cedet/semantic/decorate/include.el
6261         (semantic-decoration-unknown-include-describe)
6262         (semantic-decoration-all-include-summary):
6263         * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump):
6264         * lisp/emulation/edt.el (edt-load-keys):
6265         * lisp/emulation/viper-cmd.el
6266         (viper-display-current-destructive-command)
6267         (viper-query-replace, viper-brac-function):
6268         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile):
6269         * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro):
6270         Respect text quoting style in doc string or diagnostic.
6271         * lisp/cedet/mode-local.el (describe-mode-local-overload):
6272         Use format-message to avoid overtranslating quotes.
6273         * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p):
6274         Escape an apostrophe in a docstring.
6275         * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string.
6277 2015-08-29  Daniel Colascione  <dancol@dancol.org>
6279         Fix which-func for curly quotes: look for symbol, not message
6280         * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new
6281         imenu-unavailable error symbol instead of trying to match message
6282         exactly.
6283         * lisp/imenu.el (imenu-unavailable): New error.
6284         (imenu-unavailable-error): New function.
6286 2015-08-29  Eli Zaretskii  <eliz@gnu.org>
6288         Fix Python tests on MS-Windows
6289         * test/automated/python-tests.el
6290         (python-shell-calculate-command-1): Run python-shell-interpreter
6291         through shell-quote-argument before comparing with what
6292         python-shell-calculate-command returns.
6293         (python-shell-calculate-pythonpath-1)
6294         (python-shell-calculate-pythonpath-2)
6295         (python-shell-calculate-process-environment-2): Use path-separator
6296         instead of a literal ':'.
6297         (python-shell-calculate-exec-path-2)
6298         (python-shell-calculate-exec-path-3)
6299         (python-shell-calculate-exec-path-4)
6300         (python-shell-with-environment-1)
6301         (python-shell-with-environment-2): Run "/env/bin" through
6302         expand-file-name before comparing with exec-path.  (Bug#21375)
6304 2015-08-29  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6306         Use Core Text types/functions/variables/enumerators directly
6307         * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits)
6308         (CharacterCollection): Remove typedefs.  All uses replaced with
6309         definitions.
6310         (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE)
6311         (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE)
6312         (MAC_FONT_CASCADE_LIST_ATTRIBUTE)
6313         (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE)
6314         (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT)
6315         (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT)
6316         (MAC_FONT_SLANT_TRAIT): Remove macros.  All uses replaced with
6317         definitions.
6318         (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD)
6319         (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS)
6320         (MAC_FONT_FORMAT_BITMAP)
6321         (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING)
6322         (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators.
6323         All uses replaced with definitions.
6324         (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace)
6325         (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping)
6326         (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault):
6327         Add compatibility enumerators for older versions.
6328         (mac_font_descriptor_create_with_attributes)
6329         (mac_font_descriptor_create_matching_font_descriptors)
6330         (mac_font_descriptor_create_matching_font_descriptor)
6331         (mac_font_descriptor_copy_attribute)
6332         (mac_font_descriptor_supports_languages)
6333         (mac_font_create_with_name, mac_font_get_size)
6334         (mac_font_copy_family_name, mac_font_copy_character_set)
6335         (mac_font_get_glyphs_for_characters, mac_font_get_ascent)
6336         (mac_font_get_descent, mac_font_get_leading)
6337         (mac_font_get_underline_position)
6338         (mac_font_get_underline_thickness, mac_font_copy_graphics_font)
6339         (mac_font_copy_non_synthetic_table): Remove macros.  All uses
6340         replaced with definitions.
6341         (mac_font_create_preferred_family_for_attributes)
6342         (mac_font_get_advance_width_for_glyph)
6343         (mac_font_get_bounding_rect_for_glyph)
6344         (mac_font_create_available_families, mac_font_shape):
6345         Remove macros for renamed functions.
6346         (mac_nsctfont_copy_font_descriptor): Remove unused macro.
6347         * src/macterm.m (mac_font_descriptor_supports_languages):
6348         Rename from mac_ctfont_descriptor_supports_languages.
6349         (mac_font_create_preferred_family_for_attributes): Rename from
6350         mac_ctfont_create_preferred_family_for_attributes.
6351         (mac_font_get_advance_width_for_glyph): Rename from
6352         mac_ctfont_get_advance_width_for_glyph.
6353         Use kCTFontOrientationDefault also for older versions.
6354         (mac_font_get_bounding_rect_for_glyph): Rename from
6355         mac_ctfont_get_bounding_rect_for_glyph.
6356         Use kCTFontOrientationDefault also for older versions.
6357         (mac_font_create_available_families): Rename from
6358         mac_ctfont_create_available_families.
6359         (mac_font_equal_in_postscript_name): Rename from
6360         mac_ctfont_equal_in_postscript_name.  All uses changed.
6361         (mac_font_create_line_with_string_and_font): Rename from
6362         mac_ctfont_create_line_with_string_and_font.  All uses changed.
6363         (mac_font_shape): Rename from mac_ctfont_shape.
6364         (mac_font_family_compare): Remove unused declaration.
6366 2015-08-29  Paul Eggert  <eggert@cs.ucla.edu>
6368         Fix minor text quoting in calc, calendar, vc
6369         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
6370         * lisp/calc/calc-help.el (calc-j-prefix-help):
6371         * lisp/calc/calc-misc.el (calc-help):
6372         * lisp/calc/calc.el (calc-algebraic-mode, calc-mode):
6373         Escape an apostrophe in a docstring.
6374         * lisp/calc/calc-forms.el (calc-hms-notation):
6375         * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode):
6376         Escape an apostrophe in a diagnostic.
6377         * lisp/calc/calc-misc.el (calc-help):
6378         * lisp/calendar/diary-lib.el (diary-include-files):
6379         * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark):
6380         * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace):
6381         * lisp/vc/ediff-diff.el (ediff-same-contents):
6382         * lisp/vc/ediff-merg.el (ediff-re-merge):
6383         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
6384         * lisp/vc/ediff-util.el (ediff-test-save-region)
6385         (ediff-status-info):
6386         * lisp/vc/ediff.el (ediff-merge-revisions)
6387         (ediff-merge-revisions-with-ancestor):
6388         * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice):
6389         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
6390         Respect text quoting style in doc string or diagnostic.
6391         * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop):
6392         * lisp/vc/add-log.el (change-log-goto-source):
6393         Avoid double-formatting.
6394         * lisp/vc/ediff-init.el (format-message):
6395         New backward-compatibility alias.
6397 2015-08-28  Paul Eggert  <eggert@cs.ucla.edu>
6399         Fix minor text quoting problems in lisp top level
6400         * lisp/apropos.el (apropos-describe-plist):
6401         * lisp/cus-theme.el (customize-themes):
6402         * lisp/dired.el (dired-log):
6403         * lisp/help-fns.el (describe-variable):
6404         * lisp/hexl.el (hexl-insert-multibyte-char):
6405         * lisp/info.el (Info-finder-find-node):
6406         * lisp/json.el (json-read-string):
6407         * lisp/novice.el (disabled-command-function)
6408         (disabled-command-function):
6409         * lisp/startup.el (normal-mouse-startup-screen):
6410         * lisp/woman.el (WoMan-log, WoMan-warn):
6411         Respect text quoting style in doc string or diagnostic.
6412         * lisp/replace.el (replace-character-fold):
6413         * src/syntax.c (Fmodify_syntax_entry):
6414         Escape an apostrophe in a docstring.
6415         * lisp/tempo.el (tempo-define-template):
6416         Remove confusing apostrophe from docstring.
6417         * lisp/whitespace.el (whitespace-mark-x):
6418         Use directed quotes in docstring.
6420 2015-08-28  Simen Heggestøyl  <simenheg@gmail.com>
6422         Fix indentation rule in css-mode
6423         * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of
6424         brackets in presence of pseudo-selectors.  (Bug#21328)
6426 2015-08-28  Eli Zaretskii  <eliz@gnu.org>
6428         Fix a bug in recording a macro while flyspell-mode is active
6429         * lisp/subr.el (sit-for): Don't call read-event when recording a
6430         macro.  (Bug#21329)
6432 2015-08-27  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
6434         Tweak startup screen quoting
6435         * lisp/startup.el (normal-splash-screen): Use standard
6436         "M-" abbrevation rather than a confusingly-different one.
6437         (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’.
6439 2015-08-27  Paul Eggert  <eggert@cs.ucla.edu>
6441         Add test case for ‘format’ bug and refactor
6442         * src/editfns.c (styled_format): Refactor internally, mostly by
6443         moving declarations closer to uses.  This should not affect behavior.
6444         * test/automated/textprop-tests.el (textprop-tests-format): New test.
6446         Fix ‘format’ bug with property offsets
6447         * src/editfns.c (styled_format): Fix recently-introduced ‘format’
6448         bug in calculating string property offsets (Bug#21351).
6450         Use straight quotes in lib-src diagnostics
6451         These auxiliary programs can’t use Emacs’s text-quoting-style,
6452         and it’s too much trouble to redo that mechanism by hand.
6453         So just use straight quotes for now.
6454         * lib-src/ebrowse.c (main):
6455         * lib-src/emacsclient.c (decode_options, main):
6456         * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help)
6457         (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help)
6458         (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help)
6459         (none_help, print_language_names, print_help, add_regex)
6460         (suggest_asking_for_help):
6461         * lib-src/make-docfile.c (write_c_args, scan_c_stream):
6462         Use straight quotes in diagnostics.
6464         ‘text-quoting-style’ fixes for admin
6465         * admin/admin.el (cusver-scan, cusver-check):
6466         * admin/authors.el (authors-canonical-file-name):
6467         * admin/bzrmerge.el (bzrmerge-missing):
6468         Respect ‘text-quoting-style’ in diagnostics.
6470 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
6472         Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS
6473         This removes the need for GCPRO1 etc.  Suggested by Stefan Monnier in:
6474         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html
6475         * doc/lispref/internals.texi (Writing Emacs Primitives):
6476         * etc/NEWS:
6477         Document the change.
6478         * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies)
6479         (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live)
6480         (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise):
6481         * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]:
6482         * src/eval.c (gcpro_level) [DEBUG_GCPRO]:
6483         * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK)
6484         (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
6485         (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
6486         (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6)
6487         (GCPRO7, UNGCPRO, RETURN_UNGCPRO):
6488         Remove.  All uses removed.  The code now assumes
6489         GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS.
6490         * src/bytecode.c (relocate_byte_stack):
6491         Rename from unmark_byte_stack, since it now only relocates.
6492         All callers changed.
6493         * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2
6494         with GCPROs removed.
6495         * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1.
6496         * test/automated/finalizer-tests.el (finalizer-basic)
6497         (finalizer-circular-reference, finalizer-cross-reference)
6498         (finalizer-error):
6499         * test/automated/generator-tests.el (cps-test-iter-close-finalizer):
6500         Remove tests, as they depend on gc-precise.
6502 2015-08-26  Nicolas Petton  <nicolas@petton.fr>
6504         Improve seq-concatenate for new sequence types
6505         Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to
6506         ensure that concatenation happens on sequences only.  This makes it
6507         possible to use `seq-concatenate' for new types of seqs.
6508         * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate):
6509         New function used in `seq-concatenate'.
6510         * test/automated/seq-tests.el (test-seq-into-sequence): New unit test
6511         for seq-into-sequence.
6513 2015-08-26  Stephen Leake  <stephen_leake@stephe-leake.org>
6515         Add mode local overrides to xref-find-definitions
6516         * lisp/cedet/mode-local.el (xref-mode-local--override-present)
6517         (xref-mode-local-overload): New; add mode local overrides to
6518         xref-find-definitions.
6519         * test/automated/elisp-mode-tests.el: Add mode local override tests.
6520         (xref-elisp-test-run): Handle indented defuns.
6521         (xref-elisp-generic-*): Improve doc strings.
6522         * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New.
6523         (elisp--xref-find-definitions): Use it.
6525         Add mode local overrides to describe-function
6526         * lisp/cedet/mode-local.el (describe-mode-local-overload):
6527         New; add mode local overrides to describe-function.
6528         * etc/NEWS: Document change.
6530 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
6532         Prefer straight quoting in some etc text files
6533         These files are plain text and might be used by non-Emacs apps.
6534         They’re mostly ASCII, so just use straight quotes.
6536         Fix quoting in ‘message_with_string’
6537         * src/nsfont.m (nsfont_open): Use directed quotes in format; they
6538         should work now.
6539         * src/xdisp.c (message_to_stderr): New function, refactored from
6540         part of ‘message3_nolog’.
6541         (message3_nolog): Use it.
6542         (message_with_string): Use it.  Don’t mishandle NUL bytes when
6543         noninteractive.  Prefer AUTO_STRING when it’s most likely faster.
6544         Use ‘format-message’, not ‘format’, so that quotes are translated.
6546 2015-08-26  Eli Zaretskii  <eliz@gnu.org>
6548         Mention false positives of file-accessible-directory on w32
6549         * src/fileio.c (Ffile_accessible_directory_p): Doc fix.
6550         (Bug#21346)
6552 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
6554         Treat error strings as help
6555         * src/print.c (print_error_message): Translate quotes and command
6556         keys in errmsg so that users see, e.g., "Symbol’s value as
6557         variable is void: foo" when text-quoting-style is curved.
6559 2015-08-26  Michael Albinus  <michael.albinus@gmx.de>
6561         * lisp/net/tramp-cache.el (top): Use `message', not `format-message'.
6563 2015-08-26  Paul Eggert  <eggert@cs.ucla.edu>
6565         Top-level elisp files respect ‘text-quoting-style’
6566         In top-level elisp files, use format-message in diagnostic formats,
6567         so that they follow user preference as per ‘text-quoting-style’
6568         rather than being hard-coded to quote `like this'.
6569         * lisp/allout.el (allout-get-configvar-values):
6570         * lisp/apropos.el (apropos-symbols-internal):
6571         * lisp/dired-aux.el (dired-do-shell-command, dired-create-files)
6572         (dired-do-create-files-regexp, dired-create-files-non-directory):
6573         * lisp/dired-x.el (dired-do-run-mail):
6574         * lisp/dired.el (dired-log, dired-dnd-handle-local-file):
6575         * lisp/disp-table.el (standard-display-european):
6576         * lisp/find-dired.el (find-dired):
6577         * lisp/forms.el (forms-mode):
6578         * lisp/ido.el (ido-buffer-internal):
6579         * lisp/info.el (Info-index-next):
6580         * lisp/outline.el (outline-invent-heading):
6581         * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send):
6582         * lisp/proced.el (proced-log):
6583         * lisp/ps-print.el (ps-print-preprint, ps-get-size):
6584         * lisp/recentf.el (recentf-open-files, recentf-save-list):
6585         * lisp/savehist.el (savehist-save):
6586         * lisp/server.el (server-ensure-safe-dir):
6587         * lisp/ses.el (ses-rename-cell):
6588         * lisp/simple.el (list-processes--refresh):
6589         * lisp/startup.el (command-line):
6590         * lisp/strokes.el (strokes-unset-last-stroke)
6591         (strokes-execute-stroke):
6592         Use format-message so that quotes are restyled.
6593         * lisp/cus-edit.el (custom-raised-buttons, customize-browse):
6594         Don’t quote ‘raised’.
6595         * lisp/descr-text.el (describe-char):
6596         * lisp/dirtrack.el (dirtrack-debug-message):
6597         * lisp/hexl.el (hexl-insert-multibyte-char):
6598         Apply substitute-command-keys to help string.
6599         * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes)
6600         (wdired-do-perm-changes):
6601         Let dired-log do the formatting.
6603 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6605         Go back to grave quoting in Tramp
6606         * lisp/net/tramp-adb.el:
6607         * lisp/net/tramp-cache.el:
6608         * lisp/net/tramp-compat.el:
6609         * lisp/net/tramp-gvfs.el:
6610         * lisp/net/tramp-gw.el:
6611         * lisp/net/tramp-sh.el:
6612         * lisp/net/tramp-smb.el:
6613         * lisp/net/tramp.el:
6614         Stick with grave quoting in diagnostics strings.  This is more
6615         portable to older Emacs, desirable for Tramp.
6616         * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’,
6617         for diagnostic that needs requoting.
6618         * lisp/net/tramp-compat.el (format-message):
6619         Fall back on simple ‘format’, since that’s good enough now.
6621         Go back to grave quoting in Gnus
6622         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
6623         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
6624         (gnus-agent-fetch-headers):
6625         * lisp/gnus/gnus-int.el (gnus-start-news-server):
6626         * lisp/gnus/gnus-registry.el:
6627         (gnus-registry--split-fancy-with-parent-internal)
6628         (gnus-registry-post-process-groups):
6629         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
6630         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
6631         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
6632         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
6633         * lisp/gnus/spam.el (spam-check-blackholes):
6634         Stick with grave quoting in diagnostics strings.  This is more
6635         portable to older Emacs, desirable for Gnus.
6637         Fix customization of text-quoting-style
6638         * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation):
6639         * lisp/wid-edit.el (widget-docstring):
6640         Get raw docstring here since it’s cooked later and should not be
6641         cooked twice.
6642         * lisp/cus-edit.el (custom-group-value-create):
6643         Cook the docstring before inserting it.
6644         * lisp/cus-start.el (text-quoting-style): Quote the customization
6645         docstrings according to the new rules.  Give curved examples.
6647         format-message now curves ` and '
6648         That way, the caller doesn’t have to use curved quotes to
6649         get diagnostics that match the text-quoting-style preferences.
6650         Suggested by Dmitry Gutov in:
6651         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html
6652         This means we no longer need %qs, so remove that format.
6653         While we’re at it, fix an unlikely bug and lessen the pressure
6654         on the garbage collector by processing the string once rather
6655         than twice in the usual case.
6656         * doc/lispref/strings.texi (Formatting Strings):
6657         * etc/NEWS: Document this.
6658         * lisp/subr.el (format-message): Remove; now done in C.
6659         * src/callint.c (Fcall_interactively):
6660         * src/editfns.c (Fmessage, Fmessage_box):
6661         Use Fformat_message instead of Finternal__text_restyle
6662         followed by Fformat.
6663         * src/doc.c (LSQM, RSQM): Remove; all uses changed to use
6664         uLSQM and uRSQM.
6665         (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string
6666         when pure ASCII now suffices.  Fix unlikely bug when parsing
6667         unibyte string containing non-ASCII bytes.  Use inline code
6668         rather than memcpy, as it’s a tiny number of bytes.
6669         (Finternal__text_restyle): Remove; no longer used.
6670         (syms_of_doc): Don’t declare it.
6671         * src/editfns.c (Fformat): Rewrite in terms of new function
6672         ‘styled_format’.
6673         (Fformat_message): New function, moved here from subr.el.
6674         (styled_format): New function, with the old guts of Fformat,
6675         except it now optionally transliterates quotes, and it transliterates
6676         traditional grave accent and apostrophe quoting as well.
6677         Remove recently-added q flag; no longer needed or used.
6678         (syms_of_editfns): Define format-message.
6679         * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
6680         Remove; no longer need to be global symbols.
6681         * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat,
6682         so that callers can use `%s'.
6683         * src/image.c (image_size_error, xbm_load_image, xbm_load)
6684         (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load)
6685         (gif_load, imagemagick_load_image, imagemagick_load, svg_load)
6686         (svg_load_image, gs_load, x_kill_gs_process):
6687         * src/lread.c (load_warn_old_style_backquotes):
6688         * src/xfaces.c (load_pixmap):
6689         * src/xselect.c (x_clipboard_manager_error_1):
6690         Use `%s' instead of %qs in formats.
6692 2015-08-25  Eli Zaretskii  <eliz@gnu.org>
6694         Minor fixes in doc/emacs/search.texi
6695         * doc/emacs/search.texi (Basic Isearch): Fix a typo.
6696         (Special Isearch): Use @w{} to generate several consecutive spaces
6697         with Texinfo 6.  (Bug#21345)
6699 2015-08-25  Michael Albinus  <michael.albinus@gmx.de>
6701         * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode)
6702         (tramp-awk-coding-test): New defconsts.
6703         (tramp-remote-coding-commands): Use them.
6704         (tramp-find-inline-encoding): Check for Perl only if necessary.
6706 2015-08-25  Xue Fuqiao  <xfq.free@gmail.com>
6708         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some
6709         index entries for the special form `quote'.
6711 2015-08-25  Paul Eggert  <eggert@cs.ucla.edu>
6713         Spelling fixes
6715         Gnus format-message typo fix
6716         * lisp/gnus/gnus-util.el (gnus-format-message):
6717         Fix typo when running in older Emacs.
6719         Prefer directed to neutral quotes in docstings and diagnostics.
6720         In docstrings, escape apostrophes that would otherwise be translated
6721         to curved quotes using the newer, simpler rules.
6722         * admin/unidata/unidata-gen.el (unidata-gen-table):
6723         * lisp/align.el (align-region):
6724         * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet):
6725         * lisp/bookmark.el (bookmark-default-annotation-text):
6726         * lisp/calc/calc-aent.el (math-read-if, math-read-factor):
6727         * lisp/calc/calc-lang.el (math-read-giac-subscr)
6728         (math-read-math-subscr):
6729         * lisp/calc/calc-misc.el (report-calc-bug):
6730         * lisp/calc/calc-prog.el (calc-fix-token-name)
6731         (calc-read-parse-table-part):
6732         * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules):
6733         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
6734         * lisp/dabbrev.el (dabbrev-expand):
6735         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
6736         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
6737         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
6738         * lisp/emulation/viper-cmd.el (viper-toggle-search-style):
6739         * lisp/erc/erc-button.el (erc-nick-popup):
6740         * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login):
6741         * lisp/eshell/em-dirs.el (eshell/cd):
6742         * lisp/eshell/em-glob.el (eshell-glob-regexp):
6743         * lisp/eshell/em-pred.el (eshell-parse-modifiers):
6744         * lisp/eshell/esh-arg.el (eshell-parse-arguments):
6745         * lisp/eshell/esh-opt.el (eshell-show-usage):
6746         * lisp/files-x.el (modify-file-local-variable):
6747         * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer)
6748         (filesets-update-pre010505):
6749         * lisp/find-cmd.el (find-generic, find-to-string):
6750         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
6751         * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer)
6752         (gnus-agent-fetch-headers):
6753         * lisp/gnus/gnus-int.el (gnus-start-news-server):
6754         * lisp/gnus/gnus-registry.el:
6755         (gnus-registry--split-fancy-with-parent-internal):
6756         * lisp/gnus/gnus-score.el (gnus-summary-increase-score):
6757         * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc):
6758         * lisp/gnus/gnus-topic.el (gnus-topic-rename):
6759         * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days):
6760         * lisp/gnus/nnmairix.el (nnmairix-widget-create-query):
6761         * lisp/gnus/spam.el (spam-check-blackholes):
6762         * lisp/mail/feedmail.el (feedmail-run-the-queue):
6763         * lisp/mpc.el (mpc-playlist-rename):
6764         * lisp/net/ange-ftp.el (ange-ftp-shell-command):
6765         * lisp/net/mairix.el (mairix-widget-create-query):
6766         * lisp/net/tramp-cache.el:
6767         * lisp/obsolete/otodo-mode.el (todo-more-important-p):
6768         * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region):
6769         * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region):
6770         * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region):
6771         * lisp/org/ob-core.el (org-babel-goto-named-src-block)
6772         (org-babel-goto-named-result):
6773         * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap):
6774         * lisp/org/ob-ref.el (org-babel-ref-resolve):
6775         * lisp/org/org-agenda.el (org-agenda-prepare):
6776         * lisp/org/org-bibtex.el (org-bibtex-fields):
6777         * lisp/org/org-clock.el (org-clock-notify-once-if-expired)
6778         (org-clock-resolve):
6779         * lisp/org/org-feed.el (org-feed-parse-atom-entry):
6780         * lisp/org/org-habit.el (org-habit-parse-todo):
6781         * lisp/org/org-mouse.el (org-mouse-popup-global-menu)
6782         (org-mouse-context-menu):
6783         * lisp/org/org-table.el (org-table-edit-formulas):
6784         * lisp/org/ox.el (org-export-async-start):
6785         * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question)
6786         (dun-rooms, dun-endgame-questions):
6787         * lisp/progmodes/ada-mode.el (ada-goto-matching-start):
6788         * lisp/progmodes/ada-xref.el (ada-find-executable):
6789         * lisp/progmodes/antlr-mode.el (antlr-options-alists):
6790         * lisp/progmodes/flymake.el (flymake-parse-err-lines)
6791         (flymake-start-syntax-check-process):
6792         * lisp/progmodes/python.el (python-define-auxiliary-skeleton):
6793         * lisp/progmodes/sql.el (sql-comint):
6794         * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point):
6795         * lisp/server.el (server-get-auth-key):
6796         * lisp/subr.el (version-to-list):
6797         * lisp/textmodes/reftex-ref.el (reftex-label):
6798         * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label):
6799         * lisp/vc/ediff-diff.el (ediff-same-contents):
6800         * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string):
6801         * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests):
6802         Use directed rather than neutral quotes in diagnostics.
6804         Treat ' like ’ even when not matching `
6805         This is simpler and easier to explain, and should encourage better
6806         typography.  Do this in Electric Quote mode and when translating
6807         quotes in docstrings.  Inspired by a suggestion by Dmitry Gutov in:
6808         https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html
6809         * doc/emacs/text.texi (Quotation Marks):
6810         * doc/lispref/help.texi (Keys in Documentation):
6811         * etc/NEWS:
6812         Document this.
6813         * lisp/electric.el (electric-quote-post-self-insert-function):
6814         * src/doc.c (Fsubstitute_command_keys):
6815         Always treat ' like ’ even when not matched by an open quote.
6817 2015-08-25  Glenn Morris  <rgm@gnu.org>
6819         * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example.
6820         * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo.
6822 2015-08-24  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
6824         * src/macfont.m (macfont_create_family_with_symbol):
6825         Accept localized names.
6827 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6829         Tramp diagnostics as per ‘text-quoting-style’
6830         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename)
6831         (tramp-adb-get-ls-command, tramp-adb-handle-make-directory)
6832         (tramp-adb-handle-delete-directory)
6833         (tramp-adb-handle-delete-file)
6834         (tramp-adb-handle-file-local-copy)
6835         (tramp-adb-handle-write-region, tramp-adb-handle-copy-file)
6836         (tramp-adb-send-command-and-check, tramp-adb-wait-for-output)
6837         (tramp-adb-maybe-open-connection):
6838         * lisp/net/tramp-cache.el:
6839         * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory)
6840         (tramp-compat-octal-to-decimal)
6841         (tramp-compat-coding-system-change-eol-conversion):
6842         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler)
6843         (tramp-gvfs-do-copy-or-rename-file)
6844         (tramp-gvfs-handle-delete-directory)
6845         (tramp-gvfs-handle-delete-file)
6846         (tramp-gvfs-handle-expand-file-name)
6847         (tramp-gvfs-handle-file-local-copy)
6848         (tramp-gvfs-handle-file-notify-add-watch)
6849         (tramp-gvfs-handle-make-directory)
6850         (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name):
6851         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
6852         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
6853         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
6854         (tramp-sh-handle-set-visited-file-modtime)
6855         (tramp-sh-handle-set-file-modes)
6856         (tramp-sh-handle-file-name-all-completions)
6857         (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file)
6858         (tramp-do-copy-or-rename-file-directly)
6859         (tramp-do-copy-or-rename-file-out-of-band)
6860         (tramp-sh-handle-make-directory)
6861         (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file)
6862         (tramp-sh-handle-insert-directory, tramp-process-sentinel)
6863         (tramp-sh-handle-start-file-process)
6864         (tramp-sh-handle-file-local-copy)
6865         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
6866         (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script)
6867         (tramp-find-file-exists-command, tramp-open-shell)
6868         (tramp-find-shell)
6869         (tramp-open-connection-setup-interactive-shell)
6870         (tramp-find-inline-encoding, tramp-find-inline-compress)
6871         (tramp-compute-multi-hops, tramp-maybe-open-connection)
6872         (tramp-wait-for-output, tramp-send-command-and-check)
6873         (tramp-send-command-and-read, tramp-get-remote-path)
6874         (tramp-get-ls-command, tramp-get-ls-command-with-dired)
6875         (tramp-get-ls-command-with-quoting-style)
6876         (tramp-get-test-command, tramp-get-remote-ln)
6877         (tramp-get-remote-perl, tramp-get-remote-stat)
6878         (tramp-get-remote-readlink, tramp-get-remote-trash)
6879         (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir)
6880         (tramp-get-remote-inotifywait, tramp-get-remote-id)
6881         (tramp-get-remote-python):
6882         * lisp/net/tramp-smb.el (tramp-smb-errors)
6883         (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file)
6884         (tramp-smb-handle-delete-directory)
6885         (tramp-smb-handle-delete-file)
6886         (tramp-smb-handle-file-local-copy)
6887         (tramp-smb-handle-make-directory)
6888         (tramp-smb-handle-make-directory-internal)
6889         (tramp-smb-handle-make-symbolic-link)
6890         (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl)
6891         (tramp-smb-handle-set-file-modes)
6892         (tramp-smb-handle-write-region, tramp-smb-get-file-entries):
6893         * lisp/net/tramp.el (tramp-debug-message, tramp-error)
6894         (tramp-process-actions):
6895         Generate diagnostics according to ‘text-quoting-style’, by
6896         using curved quotes in format strings and ‘format-message’
6897         when appropriate.
6898         * lisp/net/tramp-compat.el (format-message):
6899         Define a replacement, if it’s an older version of Emacs
6900         that doesn’t have it already.
6902         * etc/NEWS: Clarify text-quoting-style and electric-quote-mode.
6904 2015-08-24  Xue Fuqiao  <xfq.free@gmail.com>
6906         Fix documentation for `save-excursion'
6907         * doc/lispref/positions.texi (Excursions):
6908         * doc/lispintro/emacs-lisp-intro.texi (save-excursion)
6909         (Template for save-excursion, Point and mark): `save-excursion'
6910         does not save&restore the mark any more.
6912 2015-08-24  Michael Albinus  <michael.albinus@gmx.de>
6914         * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker):
6915         New defconsts.
6916         (tramp-do-file-attributes-with-stat)
6917         (tramp-do-directory-files-and-attributes-with-stat): Use them.
6918         (tramp-convert-file-attributes): Remove double slashes in symlinks.
6919         * test/automated/tramp-tests.el (tramp-test18-file-attributes):
6920         Handle symlinks with "//" in the file name.
6922         Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el.
6924 2015-08-24  Nicolas Petton  <nicolas@petton.fr>
6926         Fix cl-subseq and cl-concatenate
6927         * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use
6928         seq functions.
6929         * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in
6930         seq-concatenate.
6932 2015-08-24  Pip Cet  <pipcet@gmail.com>  (tiny change)
6934         Fix full-screen code when there is no window manager (Bug#21317)
6935         * src/xterm.h (x_wm_supports): Declare external.
6936         * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export.
6937         (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename.
6938         (x_check_fullscreen): Call `x_wm_set_size_hint', restore
6939         `fullscreen' frame parameter.
6940         * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running
6941         without a window manager.
6943 2015-08-24  Glenn Morris  <rgm@gnu.org>
6945         * lisp/version.el (emacs-version): No longer include build host.
6946         * doc/lispref/intro.texi (Version Info): Update example.
6948 2015-08-24  Paul Eggert  <eggert@cs.ucla.edu>
6950         * doc/lispref/elisp.texi: Fix typo in previous change.
6952         More-conservative ‘format’ quote restyling
6953         Instead of restyling curved quotes for every call to ‘format’,
6954         create a new function ‘format-message’ that does the restyling,
6955         and using the new function instead of ‘format’ only in contexts
6956         where this seems appropriate.
6957         Problem reported by Dmitry Gutov and Andreas Schwab in:
6958         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html
6959         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html
6960         * doc/lispref/commands.texi (Using Interactive):
6961         * doc/lispref/control.texi (Signaling Errors, Signaling Errors):
6962         * doc/lispref/display.texi (Displaying Messages, Progress):
6963         * doc/lispref/elisp.texi:
6964         * doc/lispref/help.texi (Keys in Documentation):
6965         * doc/lispref/minibuf.texi (Minibuffer Misc):
6966         * doc/lispref/strings.texi (Formatting Strings):
6967         * etc/NEWS:
6968         Document the changes.
6969         * lisp/abbrev.el (expand-region-abbrevs):
6970         * lisp/apropos.el (apropos-library):
6971         * lisp/calc/calc-ext.el (calc-record-message)
6972         (calc-user-function-list):
6973         * lisp/calc/calc-help.el (calc-describe-key, calc-full-help):
6974         * lisp/calc/calc-lang.el (math-read-big-balance):
6975         * lisp/calc/calc-store.el (calc-edit-variable):
6976         * lisp/calc/calc-units.el (math-build-units-table-buffer):
6977         * lisp/calc/calc-yank.el (calc-edit-mode):
6978         * lisp/calendar/icalendar.el (icalendar-export-region)
6979         (icalendar--add-diary-entry):
6980         * lisp/cedet/mode-local.el (mode-local-print-binding)
6981         (mode-local-describe-bindings-2):
6982         * lisp/cedet/semantic/complete.el (semantic-completion-message):
6983         * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed):
6984         * lisp/cedet/semantic/wisent/comp.el (wisent-log):
6985         * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report):
6986         * lisp/descr-text.el (describe-text-properties-1, describe-char):
6987         * lisp/dframe.el (dframe-message):
6988         * lisp/dired-aux.el (dired-query):
6989         * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1):
6990         * lisp/emacs-lisp/bytecomp.el (byte-compile-log)
6991         (byte-compile-log-file, byte-compile-warn, byte-compile-form):
6992         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
6993         (cconv-analyze-form):
6994         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
6995         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
6996         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet):
6997         * lisp/emacs-lisp/edebug.el (edebug-format):
6998         * lisp/emacs-lisp/eieio-core.el (eieio-oref):
6999         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message)
7000         (eldoc-message):
7001         * lisp/emacs-lisp/elint.el (elint-file, elint-log):
7002         * lisp/emacs-lisp/find-func.el (find-function-library):
7003         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
7004         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
7005         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
7006         * lisp/emacs-lisp/package.el (package-compute-transaction)
7007         (package-install-button-action, package-delete-button-action)
7008         (package-menu--list-to-prompt):
7009         * lisp/emacs-lisp/timer.el (timer-event-handler):
7010         * lisp/emacs-lisp/warnings.el (lwarn, warn):
7011         * lisp/emulation/viper-cmd.el:
7012         (viper-toggle-parse-sexp-ignore-comments)
7013         (viper-kill-buffer, viper-brac-function):
7014         * lisp/emulation/viper-macs.el (viper-record-kbd-macro):
7015         * lisp/facemenu.el (facemenu-add-new-face):
7016         * lisp/faces.el (face-documentation, read-face-name)
7017         (face-read-string, read-face-font, describe-face):
7018         * lisp/files.el (find-alternate-file, hack-local-variables)
7019         (hack-one-local-variable--obsolete, write-file)
7020         (basic-save-buffer, delete-directory):
7021         * lisp/format.el (format-write-file, format-find-file)
7022         (format-insert-file):
7023         * lisp/help-fns.el (help-fns--key-bindings)
7024         (help-fns--compiler-macro, help-fns--obsolete)
7025         (help-fns--interactive-only, describe-function-1)
7026         (describe-variable):
7027         * lisp/help.el (describe-mode):
7028         * lisp/info-xref.el (info-xref-output):
7029         * lisp/info.el (Info-virtual-index-find-node)
7030         (Info-virtual-index, info-apropos):
7031         * lisp/international/kkc.el (kkc-error):
7032         * lisp/international/mule-cmds.el:
7033         (select-safe-coding-system-interactively)
7034         (select-safe-coding-system, describe-input-method):
7035         * lisp/international/mule-conf.el (code-offset):
7036         * lisp/international/mule-diag.el (describe-character-set)
7037         (list-input-methods-1):
7038         * lisp/international/quail.el (quail-error):
7039         * lisp/minibuffer.el (minibuffer-message):
7040         * lisp/mpc.el (mpc--debug):
7041         * lisp/msb.el (msb--choose-menu):
7042         * lisp/net/ange-ftp.el (ange-ftp-message):
7043         * lisp/net/gnutls.el (gnutls-message-maybe):
7044         * lisp/net/newst-backend.el (newsticker--sentinel-work):
7045         * lisp/net/newst-treeview.el (newsticker--treeview-load):
7046         * lisp/net/nsm.el (nsm-query-user):
7047         * lisp/net/rlogin.el (rlogin):
7048         * lisp/net/soap-client.el (soap-warning):
7049         * lisp/net/tramp.el (tramp-debug-message):
7050         * lisp/nxml/nxml-outln.el (nxml-report-outline-error):
7051         * lisp/nxml/nxml-parse.el (nxml-parse-error):
7052         * lisp/nxml/rng-cmpct.el (rng-c-error):
7053         * lisp/nxml/rng-match.el (rng-compile-error):
7054         * lisp/nxml/rng-uri.el (rng-uri-error):
7055         * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer):
7056         * lisp/org/org-ctags.el:
7057         (org-ctags-ask-rebuild-tags-file-then-find-tag):
7058         * lisp/proced.el (proced-log):
7059         * lisp/progmodes/ebnf2ps.el (ebnf-log):
7060         * lisp/progmodes/flymake.el (flymake-log):
7061         * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle):
7062         * lisp/replace.el (occur-1):
7063         * lisp/simple.el (execute-extended-command)
7064         (undo-outer-limit-truncate, define-alternatives):
7065         * lisp/startup.el (command-line):
7066         * lisp/subr.el (error, user-error, add-to-list):
7067         * lisp/tutorial.el (tutorial--describe-nonstandard-key)
7068         (tutorial--find-changed-keys):
7069         * src/callint.c (Fcall_interactively):
7070         * src/editfns.c (Fmessage, Fmessage_box):
7071         Restyle the quotes of format strings intended for use as a
7072         diagnostic, when restyling seems appropriate.
7073         * lisp/subr.el (format-message): New function.
7074         * src/doc.c (Finternal__text_restyle): New function.
7075         (syms_of_doc): Define it.
7077 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
7079         * etc/NEWS: The new ‘q’ flag is not an incompatible change.
7081 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7083         python.el: Fix python-shell-buffer-substring on indented code
7084         (Bug#21086)
7085         * lisp/progmodes/python.el (python-shell-buffer-substring):
7086         Respect current line indentation when calculating string.
7087         * test/automated/python-tests.el
7088         (python-shell-buffer-substring-10)
7089         (python-shell-buffer-substring-11)
7090         (python-shell-buffer-substring-12): New tests.
7092 2015-08-23  Paul Eggert  <eggert@cs.ucla.edu>
7094         Fix minor glitches from ‘format’ reversion
7095         * doc/lispref/strings.texi (Formatting Strings):
7096         After reversion, ‘text-quoting-style’ is documented in ‘Keys in
7097         Documentation’, not below.
7098         * src/syntax.c (Finternal_describe_syntax_value):
7099         Prefer AUTO_STRING to build_string where either will do, as
7100         AUTO_STRING is a bit faster.
7102 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7104         python.el: Defer shell setup code until first interactive prompt
7105         * lisp/progmodes/python.el
7106         (python-shell-comint-watch-for-first-prompt-output-filter):
7107         New function.
7108         (inferior-python-mode): Use it.
7109         (python-shell-first-prompt-hook): New hook.
7110         (python-shell-send-setup-code)
7111         (python-shell-completion-native-turn-on-maybe-with-msg): Attach to
7112         this hook instead of inferior-python-hook.
7114 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
7116         Remove the calls to `seq-into` from `seq-concatenate`
7117         Since most new types of seq would have to be defined as sequences (cons
7118         cells or CL structs, mostly), there is no need to convert the seqs to
7119         sequences (which can be a fairly expensive operation).
7120         * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are
7121         sequences.
7123 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7125         python.el: Fix completion for pdb interactions
7126         * lisp/progmodes/python.el (python-shell-completion-setup-code):
7127         Simplify.  Toggle print_mode for native wrapped completer.
7128         (python-shell-completion-native-setup): Ensure process buffer.
7129         Add print_mode attribute to completer wrapper to toggle returning
7130         or printing candidates.
7131         (python-shell-completion-native-get-completions): Cleanup.
7132         (python-shell-completion-get-completions): Cleanup.
7133         (python-shell-completion-at-point): Perform prompt checks.
7134         Force fallback completion in pdb interactions.
7136 2015-08-23  Nicolas Petton  <nicolas@petton.fr>
7138         Make seq.el more extensible by using cl-defmethod
7139         * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to
7140         make it easier to extend seq.el with new "seq types".
7141         * test/automated/seq-tests.el (test-setf-seq-elt): New test.
7142         * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of
7143         subseq in cl-extra.el, and use it in seq.el.
7145 2015-08-23  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7147         python.el: Fix prompt detection with user overridden interpreter
7148         * lisp/progmodes/python.el (python-shell-prompt-detect):
7149         Honor buffer local python-shell-interpreter and
7150         python-shell-interpreter-interactive-arg.
7152 2015-08-23  Eli Zaretskii  <eliz@gnu.org>
7154         Support exec-directory with non-ASCII characters on Windows
7155         * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded
7156         in the system's ANSI codepage, when it is used for invoking
7157         cmdproxy.
7159 2015-08-23  Andreas Schwab  <schwab@linux-m68k.org>
7161         Revert "Extend ‘format’ to translate curved quotes"
7162         This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08.
7164         Revert "Prefer ‘format’ to ‘substitute-command-keys’"
7165         This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111.
7167 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
7169         * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers):
7170         Clarify "invisible window".
7172 2015-08-23  Xue Fuqiao  <xfq.free@gmail.com>
7174         * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for
7175         magic-fallback-mode-alist.
7177 2015-08-22  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7179         python.el: fallback completion, ffap and eldoc setup enhancements
7180         Setup codes are now sent continuously so that the current frame is
7181         always taken into account.  This allows working within debuggers
7182         and always keeping a fresh version of setup codes that will return
7183         proper results.
7184         * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup.
7185         (python-shell-send-setup-code): Send code only when
7186         python-shell-setup-codes is non-nil.
7187         (python-shell-completion-string-code): Cleanup trailing newline.
7188         (python-shell-completion-get-completions): Always use
7189         python-shell-completion-setup-code.
7190         (python-ffap-setup-code): Work with any object, not only modules.
7191         (python-ffap-string-code): Cleanup trailing newline.
7192         (python-ffap-module-path): Always use python-ffap-setup-code.
7193         (python-eldoc-string-code): Cleanup trailing newline.
7194         (python-eldoc--get-doc-at-point): Always use
7195         python-eldoc-setup-code.  Return non-nil only if docstring is
7196         found.
7198         python.el: Increase native completion robustness
7199         * lisp/progmodes/python.el (python-shell-completion-native-setup):
7200         Make completer print real candidates and just return dummy ones to
7201         avoid input modification.
7202         (python-shell-completion-native-get-completions): Set
7203         comint-redirect-insert-matching-regexp to non-nil and make
7204         comint-redirect-finished-regexp match the last dummy candidate.
7205         Use python-shell-accept-process-output to wait for the full list
7206         of candidates.
7208 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
7210         Fix invocation of programs via cmdproxy.exe
7211         * src/w32proc.c (sys_spawnve): Use exec-directory, not
7212         invocation-directory, for finding cmdproxy.exe.  When Emacs is
7213         run from the source tree, look for cmdproxy.exe in the same source
7214         tree.  (Bug#21323)
7216 2015-08-22  Simen Heggestøyl  <simenheg@gmail.com>
7218         Handle comments inside unquoted URIs in css-mode
7219         * lisp/textmodes/css-mode.el (css--uri-re): New defconst.
7220         (css-syntax-propertize-function): New defconst.
7221         (css--font-lock-keywords): Handle parens around unquoted URIs.
7222         (css-mode): Set `syntax-propertize-function'.
7224 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
7226         Support invocation of Hunspell with multiple dictionaries
7227         * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file):
7228         Support lists of dictionaries of the form "DICT1,DICT2,...".
7229         (ispell-hunspell-add-multi-dic): New command.  (Bug#20495)
7231         Minor formatting changes in ispell.el
7232         * lisp/textmodes/ispell.el (ispell-create-debug-buffer)
7233         (ispell-print-if-debug, ispell-aspell-find-dictionary)
7234         (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist)
7235         (ispell-hunspell-dictionary-alist)
7236         (ispell-hunspell-fill-dictionary-entry)
7237         (ispell-find-hunspell-dictionaries, ispell-send-replacement)
7238         (ispell-buffer-with-debug, ispell-complete-word)
7239         (ispell-current-dictionary, ispell-current-personal-dictionary)
7240         (ispell-accept-output, ispell-minor-mode)
7241         (ispell-personal-dictionary, ispell-dictionary-alist)
7242         (ispell-really-aspell, ispell-really-hunspell)
7243         (ispell-encoding8-command, ispell-aspell-supports-utf8)
7244         (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params):
7245         Fix whitespace, inconsistent capitalization, and arguments in doc
7246         strings.
7248 2015-08-22  Martin Rudalics  <rudalics@gmx.at>
7250         * lisp/window.el (adjust-window-trailing-edge): Fix bug where this
7251         function refused to resize a size-preserved window.
7253 2015-08-22  Eli Zaretskii  <eliz@gnu.org>
7255         * doc/lispref/windows.texi (Selecting Windows): Improve
7256         documentation and indexing of 'window-use-time'.
7258 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7260         * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el:
7261         * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el:
7262         * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el:
7263         * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el:
7264         * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el:
7265         * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el:
7266         * lisp/progmodes/cc-align.el, lisp/net/soap-client.el:
7267         Fix up commenting style.
7269 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7271         text-quoting-style in emacs-lisp diagnostics
7272         * lisp/emacs-lisp/advice.el (ad-read-advised-function)
7273         (ad-read-advice-class, ad-read-advice-name, ad-enable-advice)
7274         (ad-disable-advice, ad-remove-advice, ad-set-argument)
7275         (ad-set-arguments):
7276         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand)
7277         (byte-compile-unfold-lambda, byte-optimize-form-code-walker)
7278         (byte-optimize-while, byte-optimize-apply):
7279         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode)
7280         (byte-compile-log-file, byte-compile-format-warn)
7281         (byte-compile-nogroup-warn, byte-compile-arglist-warn)
7282         (byte-compile-cl-warn)
7283         (byte-compile-warn-about-unresolved-functions)
7284         (byte-compile-file, byte-compile-fix-header)
7285         (byte-compile--declare-var, byte-compile-file-form-defmumble)
7286         (byte-compile-form, byte-compile-normal-call)
7287         (byte-compile-variable-ref, byte-compile-variable-set)
7288         (byte-compile-subr-wrong-args, byte-compile-setq-default)
7289         (byte-compile-negation-optimizer)
7290         (byte-compile-condition-case--old)
7291         (byte-compile-condition-case--new, byte-compile-save-excursion)
7292         (byte-compile-defvar, byte-compile-autoload)
7293         (byte-compile-lambda-form)
7294         (byte-compile-make-variable-buffer-local, display-call-tree)
7295         (batch-byte-compile):
7296         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
7297         (cconv-analyze-form):
7298         * lisp/emacs-lisp/chart.el (chart-space-usage):
7299         * lisp/emacs-lisp/check-declare.el (check-declare-scan)
7300         (check-declare-warn, check-declare-file)
7301         (check-declare-directory):
7302         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
7303         (checkdoc-message-text-engine):
7304         * lisp/emacs-lisp/cl-extra.el (cl-parse-integer):
7305         * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody)
7306         (cl-symbol-macrolet):
7307         * lisp/emacs-lisp/cl.el (cl-unload-function, flet):
7308         * lisp/emacs-lisp/copyright.el (copyright)
7309         (copyright-update-directory):
7310         * lisp/emacs-lisp/edebug.el (edebug-read-list):
7311         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read):
7312         * lisp/emacs-lisp/eieio-core.el (eieio--slot-override)
7313         (eieio-oref, eieio-oset-default):
7314         * lisp/emacs-lisp/eieio-speedbar.el:
7315         (eieio-speedbar-child-make-tag-lines)
7316         (eieio-speedbar-child-description):
7317         * lisp/emacs-lisp/eieio.el (defclass, change-class):
7318         * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms)
7319         (elint-init-form, elint-check-defalias-form)
7320         (elint-check-let-form):
7321         * lisp/emacs-lisp/ert.el (ert-get-test):
7322         * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol)
7323         (find-function-library):
7324         * lisp/emacs-lisp/generator.el (iter-yield):
7325         * lisp/emacs-lisp/gv.el (gv-define-simple-setter):
7326         * lisp/emacs-lisp/lisp-mnt.el (lm-verify):
7327         * lisp/emacs-lisp/package-x.el (package-upload-file):
7328         * lisp/emacs-lisp/package.el (package-version-join)
7329         (package-disabled-p, package-activate-1, package-activate)
7330         (package--download-one-archive)
7331         (package--download-and-read-archives)
7332         (package-compute-transaction, package-install-from-archive)
7333         (package-install, package-install-selected-packages)
7334         (package-delete, package-autoremove)
7335         (package-install-button-action, package-delete-button-action)
7336         (package-menu-hide-package, package-menu--list-to-prompt)
7337         (package-menu--perform-transaction)
7338         (package-menu--find-and-notify-upgrades):
7339         * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1):
7340         * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode):
7341         * lisp/emacs-lisp/ring.el (ring-next, ring-previous):
7342         * lisp/emacs-lisp/rx.el (rx-check, rx-anything):
7343         * lisp/emacs-lisp/smie.el (smie-config-save):
7344         * lisp/emacs-lisp/subr-x.el (internal--check-binding):
7345         * lisp/emacs-lisp/testcover.el (testcover-1value):
7346         Use curved quotes in diagnostic format strings.
7348 2015-08-21  Fabián Ezequiel Gallina  <fgallina@gnu.org>
7350         python.el: Ensure remote process-environment on non-interactive processes
7351         * lisp/progmodes/python.el
7352         (python-shell-tramp-refresh-process-environment): New function.
7353         (python-shell-with-environment): Use it.
7354         * test/automated/python-tests.el (python-shell-with-environment-2):
7355         Update.
7357         python.el: Enhancements to process environment setup.
7358         * lisp/progmodes/python.el (python-shell-process-environment)
7359         (python-shell-extra-pythonpaths, python-shell-exec-path)
7360         (python-shell-virtualenv-root): Update docstring.  Remove :safe.
7361         (python-shell-setup-codes): Remove :safe.
7362         (python-shell-remote-exec-path): New defcustom.
7363         (python-shell--add-to-path-with-priority): New macro.
7364         (python-shell-calculate-pythonpath): Give priority to
7365         python-shell-extra-pythonpaths.  Update docstring.
7366         (python-shell-calculate-process-environment): Give priority to
7367         python-shell-process-environment.  Update docstring.
7368         (python-shell-calculate-exec-path): Give priority to
7369         python-shell-exec-path and calculated virtualenv bin directory.
7370         Update docstring.
7371         (python-shell-tramp-refresh-remote-path): New function.
7372         (python-shell-with-environment): Use it when working remotely and
7373         do not modify tramp-remote-path.  Allow nesting.
7374         (python-shell-calculate-command): Remove useless
7375         python-shell-with-environment call.
7376         * test/automated/python-tests.el (python-shell-calculate-pythonpath-1)
7377         (python-shell-calculate-pythonpath-2)
7378         (python-shell-calculate-process-environment-6)
7379         (python-shell-calculate-process-environment-7)
7380         (python-shell-calculate-process-environment-8)
7381         (python-shell-calculate-exec-path-3)
7382         (python-shell-calculate-exec-path-4)
7383         (python-shell-calculate-exec-path-5)
7384         (python-shell-calculate-exec-path-6)
7385         (python-shell-with-environment-3): New tests.
7386         (python-shell-calculate-process-environment-2)
7387         (python-shell-calculate-process-environment-3)
7388         (python-shell-calculate-process-environment-4)
7389         (python-shell-calculate-process-environment-5)
7390         (python-shell-calculate-exec-path-1)
7391         (python-shell-calculate-exec-path-2)
7392         (python-shell-with-environment-1)
7393         (python-shell-with-environment-2): Update and simplify.
7395 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7397         Avoid hard-coding "M-x command" in docstrings
7398         * lisp/calendar/todo-mode.el (todo-mode):
7399         * lisp/desktop.el (desktop-save-mode):
7400         * lisp/edmacro.el (edit-kbd-macro):
7401         * lisp/emacs-lisp/package.el (package-menu-execute):
7402         * lisp/emulation/viper-cmd.el (viper-ask-level):
7403         * lisp/emulation/viper-init.el (viper-expert-level):
7404         * lisp/filesets.el (filesets-add-buffer):
7405         * lisp/follow.el (follow-mode):
7406         * lisp/gnus/auth-source.el (auth-sources):
7407         * lisp/international/ogonek.el (ogonek-informacja)
7408         (ogonek-information):
7409         * lisp/net/tramp.el (tramp-process-actions):
7410         * lisp/org/org-gnus.el (org-gnus-no-new-news):
7411         * lisp/org/org.el (org-ellipsis):
7412         * lisp/progmodes/python.el (python-shell-get-process-or-error):
7413         * lisp/progmodes/vhdl-mode.el (vhdl-mode):
7414         * lisp/server.el (server-start):
7415         * lisp/type-break.el (type-break-noninteractive-query):
7416         * lisp/userlock.el (ask-user-about-supersession-help):
7417         * lisp/whitespace.el (whitespace-report-region):
7418         Prefer (substitute-command-keys "`\\[foo-command]'")
7419         to "`M-x foo-command'" in docstrings and the like.
7421 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
7423         Use add-function for prettify-symbols-compose-predicate
7424         * lisp/textmodes/tex-mode.el (tex-common-initialization): Set
7425         prettify-symbols-compose-predicate in terms of add-function.
7426         * etc/NEWS: Mention prettify-symbols-compose-predicate and
7427         prettify-symbols-mode support in tex-mode.
7429 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7431         * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun.
7432         (smie-indent-exps, smie-indent-keyword): Use it.
7433         * test/indent/css-mode.css: Test alignment with leading comment.
7435 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7437         Respect text-quoting-style in (*Finder*) menus
7438         * lisp/info.el (info--prettify-description):
7439         Treat description as a docstring, so that it's requoted as
7440         per text-quoting-style.
7442 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
7444         Document `window-use-time' in Elisp manual
7445         * doc/lispref/windows.texi (Selecting Windows): Document
7446         `window-use-time'.
7448 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
7450         * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600.
7451         This is a cleaner fix for Bug#21260 than the previous change.
7453 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7455         Respect text-quoting-style in calc
7456         In calc, tespect text-quoting-style preference in diagnostic
7457         formats and fix a few similar problems in docstrings.
7458         * lisp/calc/calc-aent.el (math-read-factor):
7459         * lisp/calc/calc-embed.el (calc-do-embedded):
7460         * lisp/calc/calc-ext.el (calc-user-function-list)
7461         * lisp/calc/calc-graph.el (calc-graph-show-dumb):
7462         * lisp/calc/calc-help.el (calc-describe-key)
7463         (calc-describe-thing):
7464         * lisp/calc/calc-lang.el (calc-c-language)
7465         (math-parse-fortran-vector-end, math-parse-tex-sum)
7466         (math-parse-eqn-matrix, math-parse-eqn-prime)
7467         (calc-yacas-language, calc-maxima-language, calc-giac-language)
7468         (math-read-big-rec, math-read-big-balance):
7469         * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes)
7470         (calc-auto-recompute):
7471         * lisp/calc/calc-prog.el (calc-user-define-invocation)
7472         (math-do-arg-check):
7473         * lisp/calc/calc-store.el (calc-edit-variable):
7474         * lisp/calc/calc-units.el (math-build-units-table-buffer):
7475         * lisp/calc/calc-vec.el (math-read-brackets):
7476         * lisp/calc/calc-yank.el (calc-edit-mode):
7477         * lisp/calc/calc.el (calc, calc-do, calc-user-invocation):
7478         Use curved quotes in diagnostic format strings.
7479         * lisp/calc/calc-help.el (calc-describe-thing):
7480         Format docstrings with substitute-command-keys.
7481         * lisp/calc/calc-help.el (calc-j-prefix-help):
7482         * lisp/calc/calc-misc.el (calc-help):
7483         * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help):
7484         Escape a docstring "`".
7486 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
7488         Fix documentation of 'menu-set-font' and 'set-frame-font'
7489         * lisp/menu-bar.el (menu-set-font): Doc fix.  (Bug#21303)
7490         * doc/lispref/frames.texi (Frame Font): Document that
7491         set-frame-font with the last argument 't' will also make the font
7492         the default for the future GUI frames.
7494         Document '--create-frame' option to emacsclient
7495         * doc/emacs/misc.texi (emacsclient Options): Document the
7496         '--create-frame' option.  (Bug#21308)
7498 2015-08-21  Stefan Monnier  <monnier@iro.umontreal.ca>
7500         * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize.
7502 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
7504         Document 'get-mru-window' in the ELisp manual
7505         * doc/lispref/windows.texi (Cyclic Window Ordering): Document
7506         'get-mru-window'.  (Bug#21306)
7508         Clarify documentation of 'get-buffer-window-list'
7509         * doc/lispref/windows.texi (Buffers and Windows): Mention that the
7510         current window, if relevant, will be the first in the list
7511         returned by 'get-buffer-window-list'.
7512         * lisp/window.el (get-buffer-window-list): Doc fix.  (Bug#21305)
7514 2015-08-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
7516         In `ielm' use `pop-to-buffer-same-window' (Bug#20848)
7517         * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of
7518         `switch-to-buffer'.
7520 2015-08-21  Kaushal Modi  <kaushal.modi@gmail.com>  (tiny change)
7522         In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047)
7523         * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use
7524         `display-buffer' instead of `switch-to-buffer'.
7526 2015-08-21  Paul Eggert  <eggert@cs.ucla.edu>
7528         Follow user preference in calendar diagnostics
7529         Respect text-quoting-style preference in diagnostic formats by
7530         using curved quotes (which are translated as per text-quoting-style)
7531         instead of grave accent and apostrophe (which are not).
7532         * lisp/calendar/appt.el (appt-display-message):
7533         * lisp/calendar/diary-lib.el (diary-check-diary-file)
7534         (diary-mail-entries, diary-from-outlook):
7535         * lisp/calendar/icalendar.el (icalendar-export-region)
7536         (icalendar--convert-float-to-ical)
7537         (icalendar--convert-date-to-ical)
7538         (icalendar--convert-ical-to-diary)
7539         (icalendar--convert-recurring-to-diary)
7540         (icalendar--add-diary-entry):
7541         * lisp/calendar/time-date.el (format-seconds):
7542         * lisp/calendar/timeclock.el (timeclock-mode-line-display)
7543         (timeclock-make-hours-explicit):
7544         * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category)
7545         (todo-item-mark, todo-check-format)
7546         (todo-insert-item--next-param, todo-edit-item--next-key)
7547         (todo-mode):
7548         Use curved quotes in diagnostic format strings.
7549         * lisp/calendar/icalendar.el (icalendar-import-format-sample):
7550         * test/automated/icalendar-tests.el (icalendar--import-format-sample):
7551         Just use straight quoting for simple test case.
7553 2015-08-21  Michael Albinus  <michael.albinus@gmx.de>
7555         * src/gfilenotify.c (Fgfile_add_watch):
7556         Handle errors from g_file_monitor.
7558 2015-08-21  Martin Rudalics  <rudalics@gmx.at>
7560         In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame"
7561         * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less
7562         frame" instead of "non-minibuffer frame".
7564         Fix frame geometry related text
7565         * doc/lispref/frames.texi (Frame Layout):
7566         Rename `x-frame-geometry' to `frame-geometry'.
7567         * doc/lispref/frames.texi (Mouse Position):
7568         * doc/lispref/windows.texi (Coordinates and Windows):
7569         Use `set-mouse-absolute-pixel-position' instead of
7570         `x-set-mouse-absolute-pixel-position'.
7572         Sanitize frame geometry related functions
7573         * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry.
7574         (Fx_frame_edges): Rename to Fns_frame_edges.
7575         * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry.
7576         (Fx_frame_edges): Rename to Fw32_frame_edges.
7577         (Fx_mouse_absolute_pixel_position): Rename to
7578         Fw32_mouse_absolute_pixel_position.
7579         (Fx_set_mouse_absolute_pixel_position): Rename to
7580         Fw32_set_mouse_absolute_pixel_position.
7581         * lisp/frame.el (x-frame-geometry, w32-frame-geometry)
7582         (ns-frame-geometry, x-frame-edges, w32-frame-edges)
7583         (ns-frame-edges, w32-mouse-absolute-pixel-position)
7584         (x-mouse-absolute-pixel-position)
7585         (w32-set-mouse-absolute-pixel-position)
7586         (x-set-mouse-absolute-pixel-position): Declare.
7587         (frame-geometry, mouse-absolute-pixel-position)
7588         (set-mouse-absolute-pixel-position): New functions.
7589         (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges.
7591 2015-08-21  Eli Zaretskii  <eliz@gnu.org>
7593         Fix MinGW64 build broken by latest w32uniscribe.c changes
7594         * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for
7595         MinGW64.  Reported by Andy Moreton <andrewjmoreton@gmail.com>.
7596         (Bug#21260)
7598 2015-08-21  Tassilo Horn  <tsdh@gnu.org>
7600         Add TeX defaults for prettify-symbol-mode
7601         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist):
7602         Rename from tex-prettify-symbols-alist.
7603         (tex--prettify-symbols-compose-p): New function.
7604         (tex-common-initialization): Use them as prettify-symbols-alist
7605         and prettify-symbols-compose-predicate.
7607         Generalize prettify-symbols to arbitrary modes
7608         * lisp/progmodes/prog-mode.el
7609         (prettify-symbols-default-compose-p): New function.
7610         (prettify-symbols-compose-predicate): New variable.
7611         (prettify-symbols--compose-symbol): Use it.
7613 2015-08-20  Paul Eggert  <eggert@cs.ucla.edu>
7615         Don't quote symbols 'like-this' in docstrings etc.
7616         * admin/unidata/uvs.el (uvs-insert-fields-as-bytes):
7617         * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region):
7618         * lisp/allout.el (allout-add-resumptions, allout-mode):
7619         * lisp/calculator.el (calculator-operators):
7620         * lisp/cedet/data-debug.el (dd-propertize):
7621         * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program):
7622         * lisp/cedet/semantic/analyze/debug.el:
7623         (semantic-analyzer-debug-global-miss-text):
7624         * lisp/cedet/semantic/lex-spp.el:
7625         (semantic-lex-spp-replace-or-symbol-or-keyword):
7626         * lisp/cedet/semantic/symref.el:
7627         (semantic-symref-cleanup-recent-buffers-fcn):
7628         * lisp/cedet/semantic/tag.el (semantic-tag-class):
7629         * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom):
7630         * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close):
7631         * lisp/gnus/pop3.el (pop3-authentication-scheme):
7632         * lisp/help-fns.el (describe-function-orig-buffer):
7633         * lisp/imenu.el (imenu--history-list):
7634         * lisp/mail/feedmail.el (feedmail-confirm-outgoing)
7635         (feedmail-display-full-frame, feedmail-deduce-bcc-where)
7636         (feedmail-queue-default-file-slug)
7637         (feedmail-queue-buffer-file-name):
7638         * lisp/net/mairix.el (mairix-searches-mode-map):
7639         * lisp/net/newst-backend.el (newsticker-retrieval-method)
7640         (newsticker-auto-mark-filter-list):
7641         * lisp/obsolete/vi.el (vi-mode):
7642         * lisp/progmodes/cc-engine.el (c-literal-type):
7643         * lisp/progmodes/cpp.el (cpp-face):
7644         * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper):
7645         * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref):
7646         * lisp/progmodes/pascal.el (pascal-auto-lineup):
7647         * lisp/progmodes/prog-mode.el (prog-widen):
7648         * lisp/progmodes/verilog-mode.el (verilog-regexp-words)
7649         (verilog-auto-lineup, verilog-auto-reset-widths)
7650         (verilog-auto-arg-format, verilog-auto-inst-template-numbers):
7651         * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition)
7652         (flyspell-maybe-correct-doubling):
7653         * lisp/textmodes/table.el (table-justify, table-justify-cell)
7654         (table-justify-row, table-justify-column, table-insert-sequence)
7655         (table--justify-cell-contents):
7656         * lisp/url/url-auth.el (url-get-authentication):
7657         * lisp/window.el (display-buffer-record-window):
7658         * lisp/xml.el (xml-parse-file, xml-parse-region):
7659         * src/gfilenotify.c (Fgfile_add_watch):
7660         Don't quote symbols with apostrophes in doc strings.
7661         Use asymmetric quotes instead.
7662         * lisp/cedet/semantic/complete.el (semantic-displayor-show-request):
7663         Likewise for symbol in diagnostic.
7664         * lisp/image.el (image-extension-data):
7665         * lisp/register.el (frame-configuration-to-register):
7666         * src/buffer.c (syms_of_buffer):
7667         Remove bogus apostrophes after symbols.
7668         * lisp/thumbs.el (thumbs-conversion-program):
7669         Quote Lisp string values using double-quotes, not apostrophes.
7671 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
7673         Describe frame geometry and related functions in Elisp manual
7674         * doc/lispref/display.texi (Size of Displayed Text, Line Height)
7675         (Showing Images): Update references.
7676         * doc/lispref/elisp.texi (Top): Update node listing.
7677         * doc/lispref/frames.texi (Frame Geometry): New node.
7678         Move `Size and Position' section here.
7679         (Size Parameters): Update references.
7680         (Mouse Position): Update references and nomenclature.
7681         Describe new functions `x-mouse-absolute-pixel-position' and
7682         `x-set-mouse-absolute-pixel-position'.
7683         * doc/lispref/windows.texi (Window Sizes): Update references.
7684         (Resizing Windows): Update references.  Move description of
7685         `fit-frame-to-buffer' here.
7686         (Coordinates and Windows): Update nomenclature and references.
7687         Describe new arguments of `window-edges'.  Comment out
7688         descriptions of `window-left-column', `window-top-line',
7689         `window-pixel-left' and `window-pixel-top'.  Describe
7690         `window-absolute-pixel-position'.
7692 2015-08-20  Alan Mackenzie  <acm@muc.de>
7694         Handling of `c-parse-state'.  Fix low level bug.
7695         * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards):
7696         Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'.
7698 2015-08-20  Andreas Politz  <politza@hochschule-trier.de>
7700         * lisp/wid-edit.el (widget-color--choose-action): Quit *Color*
7701         window instead of deleting it.
7703 2015-08-20  Martin Rudalics  <rudalics@gmx.at>
7705         In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar
7706         * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to
7707         determine whether frame has a titlebar.
7708         Suggested by Eli Zaretskii <eliz@gnu.org>
7710 2015-08-20  Tassilo Horn  <tsdh@gnu.org>
7712         Add a prettify-symbols-alist for (La)TeX
7713         * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist):
7714         New variable holding an alist suitable as prettify-symbols-alist in
7715         (La)TeX modes.
7717 2015-08-19  Alan Mackenzie  <acm@muc.de>
7719         Make electric-pair-mode, delete-selection-mode and CC Mode cooperate.
7720         Fixes debbugs#21275.
7721         In Emacs >= 25, let electric-pair-mode take precedence over
7722         delete-selection-mode.
7723         * lisp/delsel.el (delete-selection-uses-region-p): New function,
7724         previously a lambda expression in a property value for
7725         `self-insert-command'.
7726         (top-level): Set the `delete-selection' property of
7727         `self-insert-command' to `delete-selection-uses-region-p'.
7728         * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection'
7729         property for c-electric-\(brace\|paren\) the value
7730         `delete-selection-uses-region-p' when the latter function exists.
7732 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7734         Fix key binding quoting in tutorial *Help*
7735         * lisp/tutorial.el (tutorial--describe-nonstandard-key):
7736         When generating help for custom key bindings, use the user-preferred
7737         quoting style rather than hardcoding the grave style.
7739 2015-08-19  Eli Zaretskii  <eliz@gnu.org>
7741         Improve and future-proof OTF fonts support in w32uniscribe.c
7742         * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary
7743         about the expected results and why the new Uniscribe APIs are not
7744         used in this function.
7745         (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc)
7746         (ScriptGetFontFeatureTags_Proc): New function typedefs.
7747         (uniscribe_new_apis): New static variable.
7748         (uniscribe_check_features): New function, implements OTF features
7749         verification while correctly accounting for features in the list
7750         after the nil member, if any.
7751         (uniscribe_check_otf_1): New function, retrieves the features
7752         supported by the font for the requested script and language using
7753         the Uniscribe APIs available from Windows Vista onwards.
7754         (uniscribe_check_otf): If the new Uniscribe APIs are available,
7755         use them in preference to reading the font data directly.  Call
7756         uniscribe_check_features to verify that the requested features are
7757         supported, replacing the original incomplete code.
7758         (syms_of_w32uniscribe): Initialize function pointers for the new
7759         Uniscribe APIs.  (Bug#21260)
7760         (otf_features): Scan the script, langsys, and feature arrays back
7761         to front, so that the result we return has them in alphabetical
7762         order, like ftfont.c does.
7763         * src/w32fns.c (syms_of_w32fns) <w32-disable-new-uniscribe-apis>:
7764         New variable for debugging w32uniscribe.c code.
7766 2015-08-19  Artur Malabarba  <bruce.connor.am@gmail.com>
7768         * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87
7769         Remove usage of `isearch-lax-whitespace' inside the `iearch-word'
7770         clause of `isearch-search-fun-default'.  That lax variable does not
7771         refer to lax-whitespacing.  Related to (bug#21777).
7772         This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c.
7773         * lisp/character-fold.el (character-fold-search): Set to nil.
7774         Default to nil for now, until someone implements proper
7775         lax-whitespacing with char-fold searching.
7777 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
7779         Fix doc-string of `help-mode-finish'.
7780         * lisp/help-mode.el (help-mode-finish): Fix doc-string.
7782         In nsimage.m include coding.h (Bug#21292)
7783         * src/nsimage.m (top-level): Include coding.h (Bug#21292).
7785         Move window edge functions to Elisp.
7786         * src/window.c (Fwindow_edges, Fwindow_pixel_edges)
7787         (Fwindow_absolute_pixel_edges, Fwindow_inside_edges)
7788         (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges):
7789         Move to window.el.
7790         (calc_absolute_offset): Remove.
7791         * lisp/frame.el (frame-edges): New function.
7792         * lisp/window.el (window-edges, window-pixel-edges)
7793         (window-absolute-pixel-edges): Move here from window.c.
7794         (window-body-edges, window-body-pixel-edges)
7795         (window-absolute-body-pixel-edges): Move here from window.c and
7796         rename "inside" to "body".  Keep old names as aliases.
7797         (window-absolute-pixel-position): New function.
7799 2015-08-19  Katsumi Yamaoka  <yamaoka@jpl.org>
7801         [Gnus]: Use overlay functions directly
7802         * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part)
7803         (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header)
7804         (gnus-article-highlight-signature, gnus-article-extend-url-button)
7805         (gnus-article-add-button, gnus-insert-prev-page-button)
7806         (gnus-insert-next-page-button, gnus-insert-mime-security-button):
7807         * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays)
7808         (gnus-cite-add-face):
7809         * lisp/gnus/gnus-html.el (gnus-html-wash-tags):
7810         * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys)
7811         (gnus-tree-recenter, gnus-highlight-selected-tree):
7812         * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads)
7813         (gnus-summary-show-thread, gnus-summary-hide-thread)
7814         (gnus-highlight-selected-summary):
7815         * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines):
7816         * lisp/gnus/message.el (message-fix-before-sending)
7817         (message-toggle-image-thumbnails):
7818         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
7819         * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts):
7820         Use overlay functions directly instead of using gnus-overlay-*,
7821         message-overlay-*, and sieve-overlay-*.
7822         * lisp/gnus/gnus-sum.el (gnus-remove-overlays):
7823         * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay)
7824         (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put)
7825         (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start)
7826         (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in):
7827         * lisp/gnus/message.el (message-delete-overlay, message-make-overlay)
7828         (message-overlay-get, message-overlay-put, message-overlays-in):
7829         * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put)
7830         (sieve-overlays-at): Remove.
7832 2015-08-19  Martin Rudalics  <rudalics@gmx.at>
7834         In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version
7835         * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64
7836         builds can use the declaration from the system headers.
7837         (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new
7838         definition of TITLEBAR_INFO.
7839         Suggested by Eli Zaretskii  <eliz@gnu.org>
7841 2015-08-19  Glenn Morris  <rgm@gnu.org>
7843         * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P".
7845 2015-08-19  Paul Eggert  <eggert@cs.ucla.edu>
7847         Use new q ‘format’ flag when fixing quotes in C
7848         * src/image.c (image_size_error): New function.  All uses of
7849         image_error with "Invalid image size ..."  changed to use it.
7850         * src/image.c (image_size_error, xbm_load_image, xbm_load)
7851         (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body)
7852         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
7853         (imagemagick_load, svg_load, svg_load_image, gs_load)
7854         (x_kill_gs_process):
7855         * src/lread.c (load_warn_old_style_backquotes):
7856         * src/xfaces.c (load_pixmap):
7857         * src/xselect.c (x_clipboard_manager_error_1):
7858         Use %qs, not uLSQM and uRSQM.
7859         * src/syntax.c (Finternal_describe_syntax_value):
7860         Prefer Fsubstitute_command_keys to Fformat, as this lets
7861         us use AUTO_STRING.
7862         * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument,
7863         as it's now guaranteed to be ASCII.
7864         * src/xselect.c (x_clipboard_manager_error_2):
7865         Avoid grave accent in low-level stderr diagnostic.
7867 2015-08-19  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
7869         New q flag for ‘format’
7870         * doc/lispref/processes.texi (Sentinels):
7871         Don't hardwire grave quoting style in example.
7872         * doc/lispref/strings.texi (Formatting Strings):
7873         * etc/NEWS:
7874         Document new q flag.
7875         * src/editfns.c (Fformat): Implement it.
7877 2015-08-18  Daiki Ueno  <ueno@gnu.org>
7879         pinentry.el: Add debugging support
7880         * lisp/net/pinentry.el (pinentry-debug): New variable.
7881         (pinentry-debug-buffer): New variable.
7882         (pinentry--process-filter): Send input to the debug buffer, if
7883         `pinentry-debug' is set.
7885         pinentry.el: Improve multiline prompt
7886         * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface.
7887         (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM
7888         command.
7890 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7892         Fix multibyte confusion in diagnostics
7893         * src/print.c (print_error_message):
7894         Don't assume that the caller's name is unibyte.
7895         * src/xdisp.c (vadd_to_log):
7896         Don't assume that the formatted diagnostic is unibyte.
7898         Fix file name encodings in diagnostics
7899         Also, close some minor races when opening image files, by opening
7900         them once instead of multiple times.
7901         * src/gtkutil.c (xg_get_image_for_pixmap):
7902         * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load)
7903         (svg_load):
7904         * src/nsimage.m (allocInitFromFile:):
7905         * src/xfns.c (xg_set_icon):
7906         Encode file name, since x_find_image_file no longer does that.
7907         * src/image.c (x_find_image_fd): New function.
7908         (x_find_image_file): Use it.  Do not encode resulting file name,
7909         since callers sometimes need it decoded.
7910         (slurp_file): File arg is now a fd, not a file name.
7911         All callers changed.  This saves us having to open the file twice.
7912         (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body)
7913         (svg_load):
7914         Use x_find_image_fd and fdopen to save a file-open.
7915         Report file name that failed.
7916         * src/lread.c (openp): If PREDICATE is t, open the file in binary mode.
7918 2015-08-18  Dmitry Gutov  <dgutov@yandex.ru>
7920         Allow blink-matching-paren to jump off screen
7921         * doc/emacs/programs.texi (Matching): Mention the
7922         `blink-matching-paren' value `jump-offscreen'.
7923         * lisp/simple.el (blink-matching-paren): New possible value.
7924         (blink-matching-paren-on-screen): Clarify the docstring.
7925         (blink-matching-open): Handle `jump-offscreen' (bug#21286).
7927         Refine the previous change
7928         * lisp/simple.el (blink-matching-open): Use minibuffer-message
7929         outside of save-excursion (bug#21286).
7931 2015-08-18  Martin Rudalics  <rudalics@gmx.at>
7933         Rewrite and add frame geometry related functions.
7934         * src/frame.c (Fframe_position): New function.
7935         (Fset_frame_position): Rename parameters and rewrite doc-string.
7936         (syms_of_frame): Remove Qframe_position, Qframe_outer_size,
7937         Qtitle_height and Qframe_inner_size.  Add Qouter_edges,
7938         Qouter_position, Qouter_size, Qnative_edges, Qinner_edges,
7939         Qtitle_bar_size.
7940         * src/nsfns.m (frame_geometry): New function.
7941         (Fx_frame_geometry): Call frame_geometry.
7942         (Fx_frame_edges): New function.
7943         * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO)
7944         (GetTitleBarInfo_Proc): Define these so we can use the
7945         GetTitleBarInfo API.
7946         (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove.
7947         (Fx_frame_geometry): Rewrite.
7948         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
7949         (Fx_set_mouse_absolute_pixel_position): New functions.
7950         * src/xfns.c (frame_geometry): New function.
7951         (Fx_frame_geometry): Call frame_geometry.
7952         (Fx_frame_edges, Fx_mouse_absolute_pixel_position)
7953         (Fx_set_mouse_absolute_pixel_position): New functions.
7955 2015-08-18  Michael Albinus  <michael.albinus@gmx.de>
7957         Improve Tramp's compatibility
7958         * lisp/net/tramp.el (tramp-get-method-parameter):
7959         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
7960         (tramp-adb-get-device):
7961         * lisp/net/trampver.el (tramp-repository-get-version):
7962         Use `tramp-compat-replace-regexp-in-string'.
7964 2015-08-18  Pierre Téchoueyres  <pierre.techoueyres@free.fr>  (tiny change)
7966         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable):
7967         Encode/decode string.
7969 2015-08-18  Paul Eggert  <eggert@cs.ucla.edu>
7971         Clarify what happens to match data on failure
7972         Problem reported by Ernesto Alfonso (Bug#21279).
7973         * doc/lispref/searching.texi (Regexp Search, Simple Match Data):
7974         Document more carefully what happens to match data after a failed
7975         search.
7976         * src/search.c (Fmatch_beginning, Fmatch_end): Document that
7977         the return value is undefined if the last search failed.
7978         (Fmatch_data): Simplify doc string line 1.
7980 2015-08-18  Daiki Ueno  <ueno@gnu.org>
7982         Revert "pinentry.el: Support external passphrase cache"
7983         This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337.
7984         pinentry.el shouldn't directly interact with the secrets service,
7985         but ask the caller to cache the passphrase.
7987 2015-08-17  Xue Fuqiao  <xfq.free@gmail.com>
7989         * doc/emacs/sending.texi (Mail Misc): Fix two index entries for
7990         Message mode hooks.
7992 2015-08-17  Daiki Ueno  <ueno@gnu.org>
7994         epg.el: Make gpgconf output parsing future proof
7995         * lisp/epg.el (epg--start): Count the number of fields in "gpgconf
7996         --list-options" output.
7998         pinentry.el: Support external passphrase cache
7999         * lisp/net/pinentry.el (pinentry-use-secrets): New user option.
8000         (pinentry--allow-external-password-cache): New local variable.
8001         (pinentry--key-info): New local variable.
8002         (secrets-enabled, secrets-search-items, secrets-get-secret):
8003         Declare.
8004         (pinentry--send-passphrase): New function, split from
8005         `pinentry--process-filter'.
8006         (pinentry--process-filter): Use secrets.el to retrieve passphrase
8007         from login keyring.
8009         pinentry.el: Popup window for multiline prompt
8010         * lisp/net/pinentry.el (pinentry): New custom group.
8011         (pinentry-popup-prompt-window): New user option.
8012         (pinentry-prompt-window-height): New user option.
8013         (pinentry--prompt-buffer): New variable.
8014         (pinentry-prompt-mode-map): New variable.
8015         (pinentry-prompt-mode): New function.
8016         (pinentry--prompt): New function.
8017         (pinentry--process-filter): Use `pinentry--prompt' instead of
8018         `read-passwd' and `y-or-n-p'.
8020 2015-08-17  Katsumi Yamaoka  <yamaoka@jpl.org>
8022         message.el: Silent the byte compiler
8023         * lisp/gnus/message.el (message-overlay-put, message-make-overlay)
8024         (message-kill-all-overlays, message-overlays-in, message-overlay-get)
8025         (message-delete-overlay, message-window-inside-pixel-edges):
8026         Declare before using.
8028         * lisp/gnus/message.el (message-overlay-get, message-overlays-in)
8029         (message-window-inside-pixel-edges): XEmacs compatible functions.
8031 2015-08-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
8033         * lisp/gnus/message.el (message-toggle-image-thumbnails): New command.
8035 2015-08-17  Noah Friedman  <friedman@splode.com>
8037         * lisp/simple.el (blink-matching-open): Restore point before
8038         calling minibuffer-message.
8040 2015-08-17  Ronnie Schnell  <ronnie@driver-aces.com>
8042         * lisp/play/dunnet.el: Update version number in header (now
8043         matches help).
8045 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
8047         Curved quotes in --batch diagnostics in non-UTF-8
8048         When run with --batch, check that curved quotes are compatible with
8049         the system locale before outputting them in diagnostics.
8050         Problem reported by Eli Zaretskii in:
8051         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html
8052         * lisp/startup.el (command-line): Set internal--text-quoting-flag
8053         after the standard display table is initialized.
8054         * src/doc.c (default_to_grave_quoting_style): New function.
8055         (text_quoting_style): Use it.
8056         (text_quoting_flag): New static var, visible to Lisp as
8057         internal--text-quoting-flag.
8058         * src/emacs.c: Include <wchar.h> if available.
8059         (using_utf8): New function.
8060         (main): Use it to initialize text_quoting_flag.
8061         * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]:
8062         Don't define, as it's not needed and it clashes with wchar.h.
8064 2015-08-17  Glenn Morris  <rgm@gnu.org>
8066         * doc/misc/tramp.texi (Configuration): Reword to avoid warning
8067         from makeinfo about spurious "Note:" cross-reference, and for grammar.
8069 2015-08-17  Ilya Zakharevich  <ilya@math.berkeley.edu>
8071         Minor change in variable initialization on MS-Windows
8072         * src/w32fns.c <after_dead_key>: Initialize to -1.
8073         (deliver_wm_chars): If after_deadkey is zero, don't set after_dead
8074         non-zero.
8076         Fix a bug with LWindow key remapping on MS-Windows
8077         * src/w32fns.c (deliver_wm_chars): Fix a typo.  (Bug#21276)
8079 2015-08-17  Eli Zaretskii  <eliz@gnu.org>
8081         Improve fontset support for latest OTF script tags
8082         * lisp/international/fontset.el (otf-script-alist): Add some
8083         missing script tags.
8084         (setup-default-fontset): Include settings for v2 versions of the
8085         script tags used by some modern OTF/TTF fonts.
8087 2015-08-17  Paul Eggert  <eggert@cs.ucla.edu>
8089         Spelling fixes
8091 2015-08-16  Paul Eggert  <eggert@cs.ucla.edu>
8093         Use curved quotes in core elisp diagnostics
8094         In the core elisp files, use curved quotes in diagnostic formats,
8095         so that they follow user preference as per ‘text-quoting-style’
8096         rather than being hard-coded to quote `like this'.
8097         * lisp/abbrev.el (expand-region-abbrevs):
8098         * lisp/button.el (button-category-symbol, button-put)
8099         (make-text-button):
8100         * lisp/cus-start.el:
8101         * lisp/custom.el (custom-add-dependencies, custom-check-theme)
8102         (custom--sort-vars-1, load-theme):
8103         * lisp/emacs-lisp/byte-run.el (defun, defsubst):
8104         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric)
8105         (cl-generic-generalizers):
8106         * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning):
8107         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
8108         * lisp/emacs-lisp/nadvice.el (advice--make-docstring)
8109         (advice--make, define-advice):
8110         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag):
8111         * lisp/emacs-lisp/timer.el (timer-event-handler):
8112         * lisp/env.el (setenv):
8113         * lisp/facemenu.el (facemenu-add-new-face)
8114         (facemenu-add-new-color):
8115         * lisp/faces.el (face-documentation, read-face-name)
8116         (face-read-string, read-face-font, face-spec-set-match-display)
8117         (read-color, x-resolve-font-name):
8118         * lisp/files.el (locate-user-emacs-file, find-alternate-file)
8119         (set-auto-mode, hack-local-variables)
8120         (hack-one-local-variable--obsolete)
8121         (dir-locals-set-directory-class, write-file)
8122         (basic-save-buffer, delete-directory, copy-directory)
8123         (recover-session, recover-session-finish, insert-directory)
8124         (file-modes-char-to-who, file-modes-symbolic-to-number)
8125         (move-file-to-trash):
8126         * lisp/font-lock.el (font-lock-fontify-buffer):
8127         * lisp/format.el (format-write-file, format-find-file)
8128         (format-insert-file):
8129         * lisp/frame.el (get-device-terminal, select-frame-by-name):
8130         * lisp/fringe.el (fringe--check-style):
8131         * lisp/help.el (describe-minor-mode-from-indicator):
8132         * lisp/image.el (image-type):
8133         * lisp/international/fontset.el (x-must-resolve-font-name):
8134         * lisp/international/mule-cmds.el (prefer-coding-system)
8135         (select-safe-coding-system-interactively)
8136         (select-safe-coding-system, activate-input-method)
8137         (toggle-input-method, describe-current-input-method):
8138         * lisp/international/mule-conf.el (code-offset):
8139         * lisp/mouse.el (minor-mode-menu-from-indicator):
8140         * lisp/replace.el (query-replace-read-from)
8141         (occur-after-change-function, occur-1):
8142         * lisp/scroll-bar.el (scroll-bar-columns):
8143         * lisp/simple.el (execute-extended-command)
8144         (undo-outer-limit-truncate, compose-mail, set-variable)
8145         (choose-completion-string, define-alternatives):
8146         * lisp/startup.el (site-run-file, tty-handle-args)
8147         (command-line, command-line-1):
8148         * lisp/subr.el (noreturn, define-error, add-to-list)
8149         (read-char-choice):
8150         * lisp/term/common-win.el (x-handle-xrm-switch)
8151         (x-handle-name-switch, x-handle-args):
8152         * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid):
8153         Use curved quotes in diagnostics.
8154         * lisp/international/mule.el (find-auto-coding):
8155         Use " to quote in a diagnostic, to be consistent with the rest of
8156         this file.
8158         Convert lisp/term/x-win.el to UTF-8
8159         * lisp/term/x-win.el: Convert to UTF-8.  This doesn't affect
8160         runtime behavior, and the file is multilingual so compile-time
8161         appearance shouldn't be an issue.
8162         * admin/notes/unicode: Document this.
8164 2015-08-16  Wilson Snyder  <wsnyder@wsnyder.org>
8166         Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU.
8167         * lisp/progmodes/verilog-mode.el: Fix some non-automated indent
8168         issues and comments, bug#943.
8169         (verilog-type-font-keywords): Cycle delay operators like ##1 and
8170         ##[0:$] are now highlighted in their entirety similarly to the #
8171         delay-control operator.  Likewise, the followed-by operators #-#
8172         and #=# are no longer partially highlighed.
8173         (verilog-backward-syntactic-ws-quick)
8174         (verilog-skip-backward-comments): Minor performance improvements
8175         to buffer traversal functions for reduced latency.
8176         (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the
8177         keyword 'final' follows 'assert/assume/cover', then it is part of
8178         a deferred immediate assertion item and should not be treated as a
8179         final construct for indentation.  Reported by Yuri Sugihara.
8180         (verilog-do-indent): Virtual task/function/class definition lines
8181         should not be considered as declarations.  Reported by Enzo Chi.
8182         (verilog-do-indent): Do not falsely indent to '=' of
8183         property/sequence operators on subsequent lines of a multi-line
8184         statement.
8185         (verilog-assignment-operator-re): Fix '!==' operator and add
8186         support for '<->', ':/', '#-#', and '#=#' operators.
8187         (verilog-calculate-indent, verilog-label-be): Enable
8188         case-sensitive regular expression parsing when looking for
8189         keywords.
8190         (verilog-calc-1): Detect 'pure virtual method' declarations which
8191         exist in abstract classes.  Reported by Enzo Chi and Kaushal Modi.
8192         (verilog-backward-ws&directives): When moving back to the start of
8193         a line and the preceeding line ended with an escaped-newline, then
8194         jump up one line.  This properly consumes a multi-line
8195         pre-processor directive.  Reported by Kaushal Modi.
8196         (verilog-dpi-import-export-re, verilog-extended-complete-re)
8197         (verilog-calc-1): Teach verilog-mode to properly indent after a
8198         DPI import/export statement that resides outside of a module.
8199         Reported by Kaushal Modi.
8200         (verilog-extended-complete-re): Update regexp to match both
8201         "DPI-C" and "DPI".  Reported by Kaushal Modi.
8203 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
8205         substitute-command-keys a few more doc strings
8206         * lisp/allout.el (outlineify-sticky):
8207         * lisp/files.el (hack-one-local-variable--obsolete):
8208         * lisp/help-fns.el (help-fns--obsolete, describe-variable):
8209         Use substitute-command-keys on some doc strings so that
8210         they don't use hard-coded key bindings or quoting styles.
8212         Fix quoting in Fformat calls
8213         * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load)
8214         (xpm_load, xpm_load_image, pbm_load, png_load_body)
8215         (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image)
8216         (imagemagick_load, svg_load, svg_load_image, gs_load)
8217         (x_kill_gs_process):
8218         * src/lread.c (load_warn_old_style_backquotes):
8219         * src/xfaces.c (load_pixmap):
8220         * src/xselect.c (x_clipboard_manager_error_1):
8221         Quote diagnostics according to user preference when calling
8222         Fformat or its derivatives.
8224 2015-08-15  Glenn Morris  <rgm@gnu.org>
8226         * admin/admin.el (set-version, set-copyright): Remove deleted files.
8228 2015-08-15  Stephen Leake  <stephen_leake@stephe-leake.org>
8230         Allow describe-function helpers to access buffer-local values
8231         This will be used by cedet/mode-local.el `describe-mode-local-override'
8232         on `help-fns-describe-function-functions' in upstream CEDET.
8233         * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in
8234         `describe-function'.
8235         (describe-function): Bind it, save it on the help xref stack.
8237         Handle pulse-background being nil
8238         * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit
8239         pulse-background, handle it being nil.
8241 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
8243         Fix "\`" confusion in Lisp strings
8244         * admin/authors.el (authors-canonical-author-name):
8245         Fix typo by using "\\`" not "\`" in string RE.
8246         * lisp/obsolete/complete.el (PC-complete-as-file-name):
8247         * lisp/obsolete/vi.el (vi-backward-blank-delimited-word):
8248         * lisp/progmodes/verilog-mode.el (verilog-mode-map):
8249         Use plain "`", not the equivalent-but-confusing "\`", in strings.
8250         * lisp/textmodes/texinfmt.el: Fix comment likewise.
8252 2015-08-15  Dani Moncayo  <dmoncayo@gmail.com>
8254         * nt/zipdist.bat: Remove -- no longer used.
8256 2015-08-15  Jürgen Hötzel  <juergen@archlinux.org>
8258         * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled"
8259         rather than "getenforce".
8260         (tramp-sh-handle-set-file-selinux-context): Do not
8261         cache SELinux context if not all context components are given.
8263 2015-08-15  Eli Zaretskii  <eliz@gnu.org>
8265         Add doc strings to 2 help-mode.el functions
8266         * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc
8267         strings.  (Bug#21263)
8269         Remove files used by the old MS-Windows specific build procedure
8270         * admin/unidata/makefile.w32-in:
8271         * doc/emacs/makefile.w32-in:
8272         * doc/lispintro/makefile.w32-in:
8273         * doc/lispref/makefile.w32-in:
8274         * doc/misc/makefile.w32-in:
8275         * leim/makefile.w32-in:
8276         * lib-src/makefile.w32-in:
8277         * lib/makefile.w32-in:
8278         * lisp/makefile.w32-in:
8279         * nt/INSTALL.OLD:
8280         * nt/config.nt:
8281         * nt/emacs-src.tags:
8282         * nt/envadd.bat:
8283         * nt/gmake.defs:
8284         * nt/makefile.w32-in:
8285         * nt/multi-install-info.bat:
8286         * nt/nmake.defs:
8287         * nt/paths.h:
8288         * src/makefile.w32-in: Files deleted.
8289         * nt/configure.bat: Remove everything except the blurb about the
8290         new build procedure.
8291         * make-dist: Remove references to makefile.w32-in in various
8292         directories, and to files in nt/ that were deleted.
8293         * etc/NEWS: Mention the fact that the files were dropped.
8295 2015-08-15  Paul Eggert  <eggert@cs.ucla.edu>
8297         * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR.
8298         (Bug#21248)
8300 2015-08-14  Paul Eggert  <eggert@cs.ucla.edu>
8302         Default to inotify instead of gfile
8303         * configure.ac (with_file_notification): Fix typo that
8304         prevented suppression of file notification if HAVE_NS.
8305         (NOTIFY_OBJ): Prefer inotify to gfile if both exist and
8306         with_file_notification is 'yes' (Bug#21241).
8307         * etc/NEWS: Mention this.
8309         Fix broken URLs for ISO-IR
8310         * doc/emacs/mule.texi (Charsets):
8311         * lisp/international/mule-conf.el:
8312         Fix broken URL (Bug#21248).
8314         Low-level diagnostics now use ‘text-quoting-style’
8315         * src/doprnt.c (doprnt):
8316         Format ` and ' as per ‘text-quoting-style’.
8317         * src/xdisp.c (vmessage, message): Mention that the format should
8318         not contain ` or '.
8320         Prefer ‘format’ to ‘substitute-command-keys’
8321         * src/character.h (uLSQM, uRSQM): Move here ...
8322         * src/doc.c (uLSQM, uRSQM): ... from here.
8323         * src/doc.c (Fsubstitute_command_keys):
8324         * src/syntax.c (Finternal_describe_syntax_value):
8325         * lisp/cedet/mode-local.el (mode-local-print-binding)
8326         (mode-local-describe-bindings-2):
8327         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
8328         * lisp/cus-theme.el (describe-theme-1):
8329         * lisp/descr-text.el (describe-text-properties-1, describe-char):
8330         * lisp/emacs-lisp/cl-extra.el (cl--describe-class):
8331         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
8332         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor):
8333         * lisp/emacs-lisp/package.el (describe-package-1):
8334         * lisp/faces.el (describe-face):
8335         * lisp/help-fns.el (help-fns--key-bindings)
8336         (help-fns--compiler-macro, help-fns--parent-mode)
8337         (help-fns--obsolete, help-fns--interactive-only)
8338         (describe-function-1, describe-variable):
8339         * lisp/help.el (describe-mode):
8340         Prefer ‘format’ to ‘substitute-command-keys’ when either will do
8341         to implement quoting style.  This generally makes the code simpler.
8343         Extend ‘format’ to translate curved quotes
8344         This is a followup to the recent doc string change, and deals with
8345         diagnostics and the like.  This patch is more conservative than
8346         the doc string change, in that the behavior of ‘format’ changes
8347         only if its first arg contains curved quotes and the user prefers
8348         straight or grave quotes.  (Come to think of it, perhaps we should
8349         be similarly conservative with doc strings too, but that can wait.)
8350         The upside of this conservatism is that existing usage is almost
8351         surely unaffected.  The downside is that we'll eventually have to
8352         change Emacs's format strings to use curved quotes in places where
8353         the user might want curved quotes, but that's a simple and
8354         mechanical translation that I'm willing to do later.  (Bug#21222)
8355         * doc/lispref/help.texi (Keys in Documentation):
8356         Move description of text-quoting-style from here ...
8357         * doc/lispref/strings.texi (Formatting Strings):
8358         ... to here, and describe new behavior of ‘format’.
8359         * etc/NEWS: Describe new behavior.
8360         * lisp/calc/calc-help.el (calc-describe-thing):
8361         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
8362         * lisp/info.el (Info-find-index-name):
8363         Use ‘concat’ rather than ‘format’ to avoid misinterpretation
8364         of recently-added curved quotes.
8365         * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2):
8366         Move from here ...
8367         * src/lisp.h: ... to here.
8368         * src/doc.c (text_quoting_style): New function.
8369         (Fsubstitute_command_keys): Use it.
8370         * src/editfns.c (Fformat): Implement new behavior.
8371         * src/lisp.h (enum text_quoting_style): New enum.
8373 2015-08-14  Stefan Monnier  <monnier@iro.umontreal.ca>
8375         * src/keyboard.c: Use false/true instead of 0/1 for booleans.
8376         * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean.
8378 2015-08-14  Michael Albinus  <michael.albinus@gmx.de>
8380         * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect
8381         stderr to /dev/null, this is done in `tramp-send-command-and-check'.
8383 2015-08-14  Jürgen Hötzel  <juergen@archlinux.org>
8385         Flush file properties in Tramp
8386         * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes)
8387         (tramp-sh-handle-set-file-times):
8388         * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes)
8389         (tramp-adb-handle-set-file-times): Flush the file properties of
8390         the directory.
8392 2015-08-14  Ronnie Schnell  <ronnie@driver-aces.com>
8394         * doc/emacs/misc.text (Amusements): Fixed typo.
8396 2015-08-14  Eli Zaretskii  <eliz@gnu.org>
8398         Don't miss warnings about removing string text properties while dumping
8399         * src/alloc.c (purecopy): Warn about removing a string's text
8400         properties even when the same string was already pure-copied
8401         earlier.
8402         * lisp/progmodes/elisp-mode.el (elisp--xref-format)
8403         (elisp--xref-format-extra): Fix the commentary.
8405 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8407         * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049).
8409 2015-08-13  Magnus Henoch  <magnus.henoch@gmail.com>
8411         * lisp/progmodes/compile.el: Use lexical-binding.
8412         (compilation-move-to-column): Assume 8-wide TABs (bug#21038).
8414 2015-08-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8416         (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037)
8417         * lisp/uniquify.el: Remove redundant `:group's.
8419 2015-08-13  Jürgen Hötzel  <juergen@archlinux.org>
8421         * lisp/net/tramp-adb.el
8422         (tramp-adb-handle-directory-files-and-attributes): Make a copy of
8423         result to prevent modification of the tramp-cache by side effects.
8424         Use the correct cache key.
8426 2015-08-13  Paul Eggert  <eggert@cs.ucla.edu>
8428         Make add_to_log varargs
8429         * src/alloc.c (run_finalizer_handler):
8430         * src/charset.c (load_charset_map_from_vector):
8431         * src/nsimage.m (ns_load_image):
8432         * src/xfaces.c (load_pixmap, load_color2):
8433         Simplify, now that add_to_log has a variable number of args.
8434         * src/image.c (image_error): Take a variable number of args.
8435         Callers simplified.
8436         * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs.
8437         * src/xdisp.c (format_nargs, vadd_to_log): New functions.
8438         (add_to_log): Make varargs, and reimplement in terms of vadd_to_log.
8439         * src/xfaces.c (merge_face_ref): Fix typo that omitted color name.
8441         Optional args for holiday-greek-orthodox-easter
8442         * etc/NEWS: Document this.
8443         * lisp/calendar/holidays.el (holiday-greek-orthodox-easter):
8444         Add optional args N and STRING, mimicking the API and code of
8445         ‘holiday-easter-etc’.  From suggestion by Foivos S. Zakkak (Bug#21256).
8447 2015-08-13  Stephen Leake  <stephen_leake@stephe-leake.org>
8449         xref-find-definitions: Exclude more generic function items.
8450         * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method):
8451         Add doc string.
8452         (cl--generic-find-defgeneric-regexp): New.
8453         (find-function-regexp-alist): Add it.
8454         * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from
8455         elisp-mode.el, change to search for ";;; Code:"
8456         (find-alias-regexp): Move here from elisp-mode.el, cleaned up.
8457         (find-function-regexp-alist): Add them.
8458         * lisp/progmodes/elisp-mode.el:
8459         (elisp--xref-format, elisp--xref-format-extra): Change back to
8460         defvar due to bug#21237.
8461         (elisp--xref-find-definitions): Exclude co-located default methods for
8462         generic functions.  Also exclude implicitly declared defgeneric.
8463         (elisp--xref-find-definitions): Handle C source properly.  Exclude minor
8464         mode variables defined by 'define-minor-mode'.
8465         * test/automated/elisp-mode-tests.el: Declare generic functions, add
8466         tests for them.
8467         (xref-elisp-test-run): Fix bug.
8468         (emacs-test-dir): Improve initial value.
8469         (find-defs-defun-defvar-el): Don't expect defvar.
8470         (find-defs-feature-el): Match change to find-feature-regexp.
8472 2015-08-13  Eli Zaretskii  <eliz@gnu.org>
8474         Improve warning about purecopy of strings with properties
8475         * src/alloc.c (purecopy): Show the offending string with the
8476         warning about removing its text properties.
8478 2015-08-12  Alan Mackenzie  <acm@muc.de>
8480         Introduce new macros to cover Emacs's new names in cl-lib.el
8481         This also eliminates `mapcan' warnings in XEmacs.
8482         * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to
8483         characterise [X]Emacs versions.
8484         (top-level): Require either 'cl or 'cl-lib, depending on
8485         c--mapcan-status.
8486         Change this back to cc-external-require from an eval-when-compile
8487         require.
8488         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
8489         (c--delete-duplicates): New macros which expand into either old or new
8490         names.
8491         (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros
8492         rather than the old names.
8493         * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan
8494         rather than mapcan.
8495         * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan.
8496         * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib,
8497         depending on c--mapcan-status.
8498         (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp)
8499         (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key)
8500         (c-not-decl-init-keywords, c-not-primitive-type-keywords)
8501         (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds)
8502         (c-decl-block-key, c-keywords, c-keywords-obarray)
8503         (c-regular-keywords-regexp, c-primary-expr-regexp)
8504         (c-primary-expr-regexp, c-block-prefix-disallowed-chars)
8505         (c-known-type-key, c-nonlabel-token-key)
8506         (c-make-init-lang-vars-fun): Use the new macros rather than the old
8507         names.
8509 2015-08-12  Oleh Krehel  <ohwoeowho@gmail.com>
8511         loadhist.el (read-feature): Conform to completing-read
8512         * lisp/loadhist.el (read-feature): According to `completing-read'
8513         documentation, if collection is a list, then it must be a list of
8514         strings, not a list of symbols like before.
8516 2015-08-12  David Kastrup  <dak@gnu.org>
8518         Deal gracefully with up-events (Bug#19746)
8519         * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier)
8520         (parse_modifiers_uncached): React gracefully to "up-" modifiers:
8521         those may easily be injected by user-level Lisp code.
8522         (read_key_sequence): Discard unbound up-events like unbound
8523         down-events: they are even more likely only relevant for special
8524         purposes.
8525         While Emacs will not produce up-events on its own currently (those are
8526         converted to drag or click events before being converted to
8527         Lisp-readable structures), the input queue can be made to contain them
8528         by synthesizing events to `unread-command-events'.  Emacs should deal
8529         consistently with such events.
8531 2015-08-12  Eli Zaretskii  <eliz@gnu.org>
8533         Fix display of thin lines whose newline has line-height property of t
8534         * src/xdisp.c (append_space_for_newline): Don't try to fix ascent
8535         and descent values of non-empty glyph rows, since they could have
8536         forced low values deliberately.  (Bug#21243)
8538 2015-08-12  Richard Stallman  <rms@gnu.org>
8540         Offer to combine multiple To or CC fields.
8541         * lisp/mail/sendmail.el (mail-combine-fields): New function.
8542         (mail-send): Call 'mail-combine-fields'.
8544         Don't decrypt encrypted files.
8545         * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t.
8547         Handle encrypted mbox files.
8548         * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt
8549         the mbox file if necessary.
8551         Re-enable mime processing after decryption.  Add 'decrypt' keyword.
8552         * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine.
8553         (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out.
8554         In a mime message, reenable Mime and show the parts that
8555         were shown before.
8556         Add keyword "decrypt" if anything decrypted.
8558         epa-inhibit inhibits auto-recognition of .gpg files
8559         * lisp/epa-file.el (epa-inhibit): New variable.
8560         (epa-file-handler): Check epa-inhibit.
8562 2015-08-12  Artur Malabarba  <bruce.connor.am@gmail.com>
8564         * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion.
8566 2015-08-11  Fabián Ezequiel Gallina  <fgallina@gnu.org>
8568         Respect python.el imenu when semantic-mode is off
8569         Fixes bug#21220
8570         * lisp/cedet/semantic/wisent/python.el: Do not force
8571         wisent-python-default-setup on python-mode-hook.
8573 2015-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8575         Give names to Unicode code points in C code
8576         * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN)
8577         (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN)
8578         (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK)
8579         (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR)
8580         (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET)
8581         (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET)
8582         (OBJECT_REPLACEMENT_CHARACTER):
8583         New named constants for Unicode code points.
8584         * src/bidi.c (bidi_fetch_char, CANONICAL_EQU):
8585         * src/composite.c (char_composable_p):
8586         * src/lread.c (readevalloop, read1):
8587         * src/xdisp.c (get_next_display_element):
8588         Use them.
8589         * src/doc.c (LEFT_SINGLE_QUOTATION_POINT):
8590         Remove; now in character.h.
8592 2015-08-11  Stephen Leake  <stephen_leake@stephe-leake.org>
8594         elisp--xref-find-definitions handle cl-defstuct default constructor
8595         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME.
8596         (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod.
8597         (elisp--xref-find-definitions): Handle cl-defstuct default constructor.
8598         * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out
8599         from xref-elisp-test for ease of debugging.
8600         (xref-elisp-deftest): Rename from xref-elisp-test.
8601         (find-defs-constructor): New test.
8602         (find-defs-defgeneric-el): Match batch test config.
8603         (compile): Required for find-defs compilation-minor-mode test.
8604         (find-defs-defvar-el): Match code change.
8605         (find-defs-face-el): Match code change.
8606         * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions):
8607         Improve doc string.
8609 2015-08-11  Stefan Monnier  <monnier@iro.umontreal.ca>
8611         * lisp/replace.el (perform-replace): Document `replacements'.
8612         (perform-replace): Move the description of the format of `replacements'
8613         from the body's comment to the doc string.
8615 2015-08-11  Jürgen Hötzel  <juergen@archlinux.org>
8617         * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape
8618         sequence.  Recent adb version send initial escape sequences, even
8619         when terminal type is set to TERM=dumb.
8621 2015-08-10  Stephen Leake  <stephen_leake@stephe-leake.org>
8623         Rewrite elisp--xref-find-definitions to handle many more cases; add tests
8624         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
8625         Function deleted.
8626         (elisp--xref-format-cl-defmethod): New defconst.
8627         (find-feature-regexp, find-alias-regexp): New defcustoms.
8628         (elisp--xref-make-xref): New function.
8629         (elisp--xref-find-definitions): Rewrite using the above, handle many
8630         more cases.  Always output all available definitions.
8631         (xref-location-marker): No need for special cases.
8632         * test/automated/elisp-mode-tests.el: Add more tests of
8633         elisp--xref-find-definitions, improve current tests.
8635 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
8637         Fix recording of events pushed onto unread-command-events
8638         * src/keyboard.c (read_char): Make sure events read from
8639         unread-command-events and unread-post-input-method-events are
8640         always recorded by record_char.  Reported by David Kastrup
8641         <dak@gnu.org>, see
8642         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html.
8644 2015-08-10  Samer Masterson  <samer@samertm.com>
8646         Set file buffer as current for "--file"
8647         * lisp/startup.el (command-line-1): Set file buffer as current before
8648         it is displayed so it can be used with options like "--eval".
8649         (Bug#21095)
8651 2015-08-10  Eli Zaretskii  <eliz@gnu.org>
8653         Avoid setting LC_NUMERIC on MS-Windows to anything but "C"
8654         * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale
8655         after setting LC_ALL to the desired locale, to avoid affecting how
8656         numbers are read and printed.  (Bug#21223)
8658 2015-08-10  Alan Mackenzie  <acm@muc.de>
8660         Fix "Invalid search bound (wrong side of point)" in fontification
8661         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping
8662         an initialization expression, check point is not beyond the
8663         fontification limit.
8665 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
8667         Fix DPI calculation when Xft/DPI is default
8668         * src/xsettings.c (parse_settings): Don't use Xft/DPI default
8669         value of -1, which evaluates to 2**32 - 1 (Bug#21152).
8670         Remove unnecessary cast while we're in the neighborhood.
8672 2015-08-09  Dmitry Gutov  <dgutov@yandex.ru>
8674         Add project-vc-search-path and project-vc-ignores
8675         * lisp/progmodes/project.el (project-vc): New group.
8676         (project-vc-search-path, project-vc-ignores): New variables.
8677         (project--value-in-dir): Utility function.
8678         (project-search-path, project-ignores): Use them.
8679         * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./'
8680         at bos.  Don't add extra `/'.  Don't prepend with `*' if replaced.
8682 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
8684         Fix some minor quoting issues with grave accent
8685         * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]:
8686         Remove redundant quotes.
8687         * src/doc.c (uLSQM, uRSQM): New macros.
8688         * src/doc.c (Fsubstitute_command_keys):
8689         * src/syntax.c (Finternal_describe_syntax_value): Follow the user
8690         preference for quotes rather than hardcoding the ‘grave’ style.
8691         * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT)
8692         (re_match_2_internal) [DEBUG]: In debugging output, quote C
8693         strings with "...", not `...'.
8695         ChangeLog.2 ignores remote-tracking merges
8696         * build-aux/gitlog-to-emacslog: Ignore commit logs matching
8697         "Merge remote-tracking branch '.*'" too.  See Eli Zaretskii in:
8698         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html
8700 2015-08-09  Nicolas Richard  <youngfrog@members.fsf.org>
8702         Use kpsewhich in ffap-latex-mode, if available
8703         * lisp/ffap.el (ffap-latex-guess-rules): New variable.
8704         (ffap-latex-mode): Use kpsewhich if available.
8706         ffap: disallow braces in filenames for tex modes
8707         * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow
8708         braces in tex-related modes.
8710         Remove useless backslashes from ffap-string-at-point-mode-alist
8711         * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and
8712         misleading backslashes from default value.
8714         Augment docstring of ffap-string-at-point-mode-alist
8715         * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG
8716         and END are handled.
8718 2015-08-09  Paul Eggert  <eggert@cs.ucla.edu>
8720         * lisp/org/org-src.el (org-edit-src-code)
8721         (org-edit-fixed-width-region):
8722         * lisp/simple.el (completion-setup-function):
8723         Remove calls to substitute-command-keys that always just return
8724         their argument.
8726 2015-08-09  Daiki Ueno  <ueno@gnu.org>
8728         * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'.
8729         (Bug#21210)
8731 2015-08-09  Ivan Kanis  <ivan@kanis.fr>
8733         Fix link to source code in help window
8734         * lisp/help-fns.el (find-lisp-object-file-name): Remove code that
8735         will never work due to Glenn Morris change a6d63d9 on Apr 20 2013
8736         'No longer include timestamp in header of .elc files'.  Add code
8737         that will return .el source file in load-path.
8739 2015-08-09  Artur Malabarba  <bruce.connor.am@gmail.com>
8741         * lisp/isearch.el (isearch-search-fun-default): (Bug#21164)
8742         Respect `isearch-lax-whitespace' when searching through
8743         `isearch-word'.
8745 2015-08-08  Stefan Monnier  <monnier@iro.umontreal.ca>
8747         * test/automated/ert-tests.el (ert-test-deftest): Add FIXME.
8749         * org.el: Fix up some lexical scoping warnings, and use dolist
8750         * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map)
8751         (org-set-regexps-and-options, org-assign-fast-keys)
8752         (org-contextualize-keys, org-contextualize-validate-key)
8753         (org-notes-order-reversed-p, org-local-logging, org-map-entries)
8754         (org-find-olp, org-find-exact-heading-in-directory)
8755         (org-cycle-agenda-files, org-release-buffers, org-fill-template)
8756         (org-agenda-prepare-buffers, org-occur-in-agenda-files)
8757         (org-replace-escapes): Use dolist.
8758         (org-mode): Optimize away XEmacs-only code.
8759         (org-refile-get-targets): Remove unused var `f'.
8760         (org-fast-todo-selection): Remove unused var `e'.
8761         (org-make-tags-matcher): Use dolist.  Remove unused var `term'.
8762         (org-fast-tag-selection): Use dolist.  Remove unused var `e'.
8763         (org-format-latex): Use dolist.  Remove unused var `e'.
8764         (org-toggle-heading): Access vars lexically rather than dynamically.
8765         (org-backward-sentence, org-forward-sentence, org-meta-return)
8766         (org-kill-line): Mark arg as unused.
8767         (org-submit-bug-report): Silence compiler warning.
8768         (org-occur-in-agenda-files): Don't use add-to-list on local vars.
8769         (org-get-cursor-date): Remove unused var `tm'.
8770         (org-comment-or-uncomment-region): Use standard name `_'.
8771         (reftex-docstruct-symbol, reftex-cite-format): Declare to
8772         silence byte-compiler.
8773         (org-reftex-citation): Add `org--' prefix to dynamically scoped
8774         `rds' var.
8776 2015-08-08  Paul Eggert  <eggert@cs.ucla.edu>
8778         Electric quote if coding is undecided or no conv
8779         * lisp/electric.el (electric--insertable-p): Also say that a
8780         string is insertable if the buffer file coding system is undecided
8781         or uses no conversion, as curved quotes will work in either case.
8783         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration.
8785 2015-08-08  Eli Zaretskii  <eliz@gnu.org>
8787         Fix overlay string display regressions introduced in Emacs 24.5
8788         * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this
8789         buffer position, if we move the iterator to a new position as
8790         result of jumping over text covered by a "replacing" display
8791         property.
8792         * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests.
8794         Support recovery from C stack overflow on MS-Windows
8795         * src/w32fns.c (w32_reset_stack_overflow_guard)
8796         (stack_overflow_handler): New functions for handling C stack
8797         overflow exceptions.
8798         (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions
8799         specially, and zero out except_addr if we do.
8800         (globals_of_w32fns): Initialize dwMainThreadId in non-interactive
8801         mode.
8802         * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to
8803         the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for
8804         the MinGW build, but the code guarded by that is for Posix hosts.
8805         * src/keyboard.c (command_loop) [WINDOWSNT]:
8806         Call w32_reset_stack_overflow_guard.
8807         * nt/inc/ms-w32.h (sigjmp_buf): New typedef.
8808         (sigsetjmp): New macro.
8809         (w32_reset_stack_overflow_guard): Declare the prototype.
8810         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW.
8812 2015-08-07  Phillip Lord  <phillip.lord@newcastle.ac.uk>
8814         Improve error signalling for seq-subseq
8815         * lisp/seq.el (seq-subseq): The existing behavior is to error
8816         when indexes are too large, but to silently ignore numbers which
8817         are too negative for lists.  String and vector handling errors in
8818         both cases.  This has been regularized.  Error signaling behavior
8819         has been explicitly added to the doc string.
8821         * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is
8822         therefore also impacted by this change.  Update the doc string
8823         to reflect this.
8825         * test/automated/seq-tests.el (test-seq-subseq): Tests have been
8826         added for these exceptional cases, as well as one non exceptional
8827         base case.
8829 2015-08-07  Jürgen Hötzel  <juergen@archlinux.org>
8831         Improve error checking in tramp-adb.el
8832         * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p):
8833         Improve error checking.  "ls -l" on Android in Enforcing mode can
8834         print "lstat './FILENAME failed: Permission denied".
8836 2015-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
8838         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on
8839         non-struct vectors.
8841 2015-08-07  Stephen Leake  <stephen_leake@stephe-leake.org>
8843         Fix typo in lisp/window.el, more `display-buffer-use-some-frame'
8844         * lisp/window.el: Fix typo that broke build.
8845         (display-buffer--action-function-custom-type):
8846         Add `display-buffer-use-some-frame'.
8847         (display-buffer): Add `display-buffer-use-some-frame' to doc string.
8849         Add support for 'inhibit-same-window in 'display-buffer-use-some-frame'
8850         * lisp/window.el (display-buffer-use-some-frame): Add support for
8851         'inhibit-same-window in alist.
8852         * doc/windows.texi (display-buffer-use-some-frame): Doc support for
8853         'inhibit-same-window in alist.
8855 2015-08-07  Eli Zaretskii  <eliz@gnu.org>
8857         Avoid infinite loop in display of invisible text in strings
8858         * src/xdisp.c (handle_invisible_prop): If the next change of
8859         invisibility spec does not mean the beginning of a visible text,
8860         update the string position from which to start the search for the
8861         next invisibility change.  This avoids an infinite loop when we
8862         have more than one invisibility spec that are made inactive by
8863         buffer-invisibility-spec.  Simplify code.  (Bug#21200)
8864         * test/redisplay-testsuite.el (test-redisplay-4): Add a test case
8865         for the situation that caused bug #21200.
8867 2015-08-06  Artur Malabarba  <bruce.connor.am@gmail.com>
8869         * lisp/emacs-lisp/package.el: Simplify describe-package-1
8870         (package-help-section-name-face): New face.
8871         (package--print-help-section): New function.
8872         (describe-package-1): Refactor section printing.
8873         (package-make-button): Use face instead of font-lock-face, which
8874         doesn't work on buttons.
8876         * lisp/emacs-lisp/package.el: Define custom faces
8877         (package-name-face, package-description-face)
8878         (package-status-built-in-face, package-status-external-face)
8879         (package-status-available-face, package-status-new-face)
8880         (package-status-held-face, package-status-disabled-face)
8881         (package-status-installed-face, package-status-dependency-face)
8882         (package-status-unsigned-face, package-status-incompat-face)
8883         (package-status-avail-obso-face): New faces.
8884         (package-menu--print-info-simple): Use them.
8886 2015-08-05  Paul Eggert  <eggert@cs.ucla.edu>
8888         Fix some confusion with ‘format’
8889         * lisp/allout-widgets.el (allout-widgets-before-change-handler)
8890         (allout-graphics-modification-handler):
8891         Protect arbitrary string in a format context with "%s" format.
8892         * lisp/avoid.el:
8893         * lisp/cedet/semantic/bovine/scm.el: Fix comment.
8894         * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical):
8895         * lisp/erc/erc-button.el (erc-button-beats-to-time):
8896         * lisp/gnus/message.el (message-send-form-letter):
8897         * lisp/org/ob-core.el (org-babel-check-evaluate)
8898         (org-babel-confirm-evaluate):
8899         * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran):
8900         * lisp/org/ox-latex.el (org-latex-compile):
8901         * lisp/org/ox-man.el (org-man-compile):
8902         * lisp/org/ox-odt.el (org-odt-template):
8903         * lisp/org/ox-texinfo.el (org-texinfo-compile):
8904         * lisp/progmodes/prolog.el (prolog-help-info)
8905         (prolog-view-predspec):
8906         * lisp/progmodes/ruby-mode.el (ruby-parse-partial):
8907         * lisp/progmodes/verilog-mode.el (verilog-showscopes):
8908         * lisp/textmodes/rst.el (rst-replace-lines):
8909         Change (message (format ...)) to (message ...), and likewise
8910         for ‘error’.  This lessens the probability of confusion when the
8911         output of ‘format’ contains ‘%’.
8913 2015-08-05  Artur Malabarba  <bruce.connor.am@gmail.com>
8915         * lisp/replace.el (replace-character-fold): Default to nil.
8917         * lisp/character-fold.el: Fix lax whitespace.
8918         (character-fold-table): Don't make space match other whitespace chars.
8919         (character-fold-to-regexp): Simplify lax behavior.
8921 2015-08-05  Dmitry Gutov  <dgutov@yandex.ru>
8923         Preserve window point in xref-find-definitions-other-window
8924         Fix the problem reported by Ingo Logmar in
8925         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html
8926         * lisp/progmodes/xref.el (xref--goto-char): Extract from
8927         xref--goto-location.
8928         (xref--pop-to-location): Use it.  Replace xref--goto-location with
8929         a direct xref-location-marker call.
8930         (xref--show-location): Likewise.
8931         (xref--display-position): Use xref--goto-char.
8933         * lisp/progmodes/project.el: Add a paragraph to the front matter.
8935 2015-08-04  David Kastrup  <dak@gnu.org>
8937         * lisp/vc/emerge.el (emerge-show-file-name):
8938         * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash)
8939         (vhdl-comment-insert, vhdl-hooked-abbrev):
8940         * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring):
8941         * lisp/progmodes/fortran.el (fortran-window-create-momentarily):
8942         * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu):
8943         * lisp/progmodes/cperl-mode.el (cperl-putback-char):
8944         * lisp/obsolete/vip.el (vip-escape-to-emacs)
8945         (vip-prefix-arg-value, vip-prefix-arg-com):
8946         * lisp/obsolete/terminal.el (te-escape-extended-command-unread):
8947         * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation)
8948         (quail-tibkey-update-translation):
8949         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
8950         * lisp/leim/quail/lao.el (quail-lao-update-translation):
8951         * lisp/leim/quail/japanese.el (quail-japanese-update-translation)
8952         (quail-japanese-self-insert-and-switch-to-alpha):
8953         * lisp/leim/quail/hangul.el (hangul2-input-method)
8954         (hangul3-input-method, hangul390-input-method):
8955         * lisp/language/hanja-util.el (hangul-to-hanja-char):
8956         * lisp/international/robin.el (robin-input-method):
8957         * lisp/international/quail.el (quail-start-translation)
8958         (quail-start-conversion):
8959         * lisp/gnus/gnus-art.el (gnus-article-describe-key)
8960         (gnus-article-describe-key-briefly):
8961         * lisp/eshell/em-hist.el (eshell-list-history):
8962         * lisp/term.el (term-dynamic-list-input-ring)
8963         (term-dynamic-list-completions):
8964         * lisp/subr.el (momentary-string-display):
8965         * lisp/simple.el (read-quoted-char):
8966         * lisp/pcomplete.el (pcomplete-show-completions):
8967         * lisp/kmacro.el (kmacro-repeat-on-last-key):
8968         * lisp/info.el (Info-summary):
8969         * lisp/ehelp.el (electric-help-command-loop):
8970         * lisp/ebuff-menu.el (electric-buffer-list)
8971         (Electric-buffer-menu-exit):
8972         * lisp/double.el (double-translate-key):
8973         * lisp/comint.el (comint-dynamic-list-input-ring)
8974         (comint-dynamic-list-completions): Do not overwrite preexisting
8975         contents of `unread-command-events' when putting new events into it.
8977 2015-08-04  Daniel Colascione  <dancol@dancol.org>
8979         Improve ansi-color filtering of unrecognized escape sequences
8980         * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting
8981         escape sequences.
8982         (ansi-color-filter-apply, ansi-color-apply): Filter out
8983         unrecognized escape sequences.
8985 2015-08-04  Artur Malabarba  <bruce.connor.am@gmail.com>
8987         * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu
8988         definitions to `easy-menu-define', improve a couple to account for
8989         async, and add a couple of new commands.
8991 2015-08-03  Jürgen Hötzel  <juergen@archlinux.org>
8993         * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo.
8995 2015-08-03  Ingo Lohmar  <i.lohmar@gmail.com>
8997         Add new 'calendar-weekend-days' option
8998         Make the days receiving the 'calendar-weekend-header' face freely
8999         customizable, as they differ by region/culture.
9000         * doc/emacs/calendar.texi (Move to Beginning or End): Document the
9001         new variable.
9002         * lisp/calendar/calendar.el (calendar-generate-month): New variable
9003         calendar-weekend-days to customize day header fontification.
9005 2015-08-03  Paul Eggert  <eggert@cs.ucla.edu>
9007         Redo text-quoting-style variable
9008         Rename help-quote-translation to text-quoting-style,
9009         and use symbols rather than characters as values.
9010         This follows suggestions along these lines by Alan Mackenzie in:
9011         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html
9012         and by Drew Adams in:
9013         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html
9014         * doc/lispref/help.texi (Keys in Documentation)
9015         * etc/NEWS:
9016         * lisp/cus-start.el (standard):
9017         * src/doc.c (Fsubstitute_command_keys, syms_of_doc):
9018         Document and/or implement the new behavior instead of the old.
9019         (syms_of_doc): New symbols 'grave' and 'straight'.
9021 2015-08-03  Nikolaus Rath  <Nikolaus@rath.org>
9023         nnimap.el: Use IMAP MOVE extension if available
9024         * lisp/gnus/nnimap.el (nnimap-request-move-article)
9025         (nnimap-process-expiry-targets, nnimap-split-incoming-mail):
9026         Use MOVE extension if available.
9028         nnimap.el: Explicitly ask for server capabilities
9029         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full
9030         capabilities will be returned in the login-result.
9032 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
9034         Treat help strings like other doc strings
9035         * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this.
9036         * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to
9037         substitute-command-keys.
9038         * src/keyboard.c (show_help_echo, parse_menu_item): Call
9039         substitute-command-keys on the help string before displaying it.
9041         Also mention "curly quotes"
9042         See Drew Adams's email in:
9043         http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html
9044         * doc/lispref/help.texi (Keys in Documentation):
9045         Add index entry "curly quotes".
9046         * etc/NEWS: Use the phrase "curly quotes" too.
9048         ede-proj-target-makefile docstring tweaks
9049         * lisp/cedet/ede/proj.el (ede-proj-target-makefile):
9050         Consistently use "all:" to describe the all: target,
9051         replacing three different and confusingly-quoted usages.
9053 2015-08-02  Evgeny Fraimovitch  <johnlen7@gmail.com>  (tiny change)
9055         Don't abort emacsclientw when -a was specified
9056         * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error
9057         out if we are in emacsclientw and -a was specified.
9059 2015-08-02  Eli Zaretskii  <eliz@gnu.org>
9061         Fix handling of 1st keystroke on MS-Windows
9062         * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1.
9063         This is needed to correctly handle the session's first keystroke,
9064         if it has any modifiers.  (Bug#19994)
9066 2015-08-02  Paul Eggert  <eggert@cs.ucla.edu>
9068         Substitute some customization etc. doc strings
9069         These changes apply substitute-command-keys to some
9070         doc strings that were going through untranslated
9071         when creating customization or other widgets.
9072         * lisp/cus-edit.el (custom-group-value-create):
9073         * lisp/wid-edit.el (widget-default-create):
9074         (widget-push-button-value-create):
9075         Treat the widget tag as a doc string.
9076         * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot):
9077         Treat the :documentation value as a doc string.
9078         * lisp/wid-edit.el (widget-choose):
9079         Treat the choice names as doc strings.
9080         (widget-default-create): Treat the :doc value as a doc string.
9081         (widget-toggle-value-create): Treat the :on and :off values
9082         as doc strings.
9083         (widget-documentation-string-value-create):
9084         Substitute the doc string.
9086 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
9088         Add a second argument to project-ignores
9089         * lisp/progmodes/project.el (project-ignores): Add a second
9090         argument DIR.
9091         * lisp/progmodes/project.el (project-ignores): Only include the VC
9092         ignores if DIR is the VC root.
9093         * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly.
9095 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
9097         Prevent incorrect display when 'line-spacing' variable is set
9098         * src/xdisp.c (try_window_id): Give up this optimization if the
9099         buffer has its 'line-spacing' variable set non-nil.
9101 2015-08-01  Dmitry Gutov  <dgutov@yandex.ru>
9103         Don't pass NOVISIT to find-file
9104         * lisp/progmodes/etags.el (next-file):
9105         Don't pass NOVISIT to find-file (bug#21175).
9107         Ignore buffer restriction for tags-loop-eval
9108         * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer
9109         restriction (bug#21167).
9111 2015-08-01  Eli Zaretskii  <eliz@gnu.org>
9113         Fix a thinko in 'ffap-gopher-at-point'
9114         * lisp/ffap.el (ffap-gopher-at-point): Fix last change.  (Bug#21168)
9116         Honor 'line-spacing' for empty lines
9117         * src/xdisp.c (append_space_for_newline): Honor 'line-height'
9118         property and 'line-spacing' frame parameter or variable or
9119         property for empty lines, by doing the same processing as in
9120         x_produce_glyph for newline characters.  (Bug#21165)
9122 2015-08-01  Paul Eggert  <eggert@cs.ucla.edu>
9124         Simplify by assuming C99 integer division
9125         * src/floatfns.c (ceiling2, floor2, truncate2):
9126         Assume C99 (i.e., Fortran) semantics for integer division.
9127         This simplifies the code.
9129 2015-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9131         Don't overflow if computing approximate percentage
9132         * lisp/align.el (align-region):
9133         * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream):
9134         * lisp/cedet/semantic/wisent.el (wisent-parse-region):
9135         * lisp/cus-edit.el (custom-buffer-create-internal):
9136         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop)
9137         (checkdoc-message-interactive-ispell-loop, checkdoc-next-error)
9138         (checkdoc-next-message-error):
9139         * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list):
9140         * lisp/epa.el (epa-progress-callback-function):
9141         * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command):
9142         * lisp/ffap.el (ffap-menu-rescan):
9143         * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
9144         * lisp/gnus/nndiary.el (nndiary-retrieve-headers):
9145         * lisp/gnus/nneething.el (nneething-retrieve-headers):
9146         * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers):
9147         * lisp/gnus/nnmh.el (nnmh-retrieve-headers):
9148         * lisp/gnus/nnml.el (nnml-retrieve-headers):
9149         * lisp/gnus/nnspool.el (nnspool-retrieve-headers):
9150         * lisp/gnus/nntp.el (nntp-retrieve-headers)
9151         (nntp-retrieve-articles):
9152         * lisp/imenu.el (imenu--relative-position):
9153         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
9154         (skkdic-convert-okuri-nasi):
9155         * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash):
9156         * lisp/nxml/rng-valid.el (rng-compute-mode-line-string):
9157         * lisp/org/org-list.el (org-update-checkbox-count):
9158         * lisp/org/org.el (org-table-map-tables)
9159         (org-update-parent-todo-statistics):
9160         * lisp/play/decipher.el (decipher-insert-frequency-counts)
9161         (decipher-analyze-buffer):
9162         * lisp/profiler.el (profiler-format-percent):
9163         * lisp/progmodes/cc-cmds.el (c-progress-update):
9164         * lisp/progmodes/cpp.el (cpp-highlight-buffer):
9165         * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info)
9166         (idlwave-list-load-path-shadows):
9167         * lisp/progmodes/opascal.el (opascal-step-progress):
9168         * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
9169         (vhdl-scan-directory-contents):
9170         * lisp/textmodes/bibtex.el (bibtex-progress-message):
9171         * lisp/textmodes/flyspell.el (flyspell-small-region)
9172         (flyspell-external-point-words):
9173         * lisp/textmodes/table.el (table-recognize):
9174         Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating
9175         progress-report percentages and the like.  This avoids problems
9176         if (* 100 NUMERATOR) would overflow.
9177         * lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
9178         * lisp/gnus/registry.el (registry-reindex):
9179         Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues.
9180         * lisp/descr-text.el (describe-char):
9181         * lisp/org/org-colview.el (org-nofm-to-completion):
9182         * lisp/ps-print.el (ps-plot):
9183         * lisp/simple.el (what-cursor-position):
9184         Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a
9185         more-complicated and less-accurate approximation.
9187         Fix some int overflows in profiler.c
9188         * src/profiler.c (make_log): Make args EMACS_INT, not int,
9189         to avoid unwanted behavior on 'int' overflow.
9190         (make_log, evict_lower_half, record_backtrace):
9191         Use ptrdiff_t, not int, for object indexes.
9193         Port to pedantic memcpy
9194         * src/keyboard.c (menu_bar_items, tool_bar_items):
9195         * src/xrdb.c (magic_db):
9196         Port to pedantic memcpy implementations that reject memcpy (0, 0, 0).
9198         Merge from gnulib
9199         This incorporates:
9200         2015-07-29 time_rz: port to pedantic memcpy
9201         * lib/time_rz.c: Copy from gnulib.
9203 2015-07-31  Artur Malabarba  <bruce.connor.am@gmail.com>
9205         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
9206         When updating the very last entry, tabulated-list-print would
9207         erase it and then try to look at the next one (which obviously
9208         isn't there).
9210 2015-07-31  Eli Zaretskii  <eliz@gnu.org>
9212         Allow to use the old key processing code on MS-Windows
9213         * src/w32fns.c (syms_of_w32fns) <w32-use-fallback-wm-chars-method>:
9214         New variable.
9215         (w32_wnd_proc): Use it to invoke the old code that processed
9216         character keys, as fallback, when this variable is non-nil.
9217         Fix typos in comments.  (Bug#19994)
9219 2015-07-31  Ilya Zakharevich  <ilya@math.berkeley.edu>
9221         Improve handling of Unicode keyboard input on MS-Windows
9222         * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions.
9223         (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging.
9224         (w32_wnd_proc): Call deliver_wm_chars to process non-special keys
9225         upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages.  If that is
9226         successful, don't call TranslateMessage.  (Bug#19994)
9228 2015-07-30  Dmitry Gutov  <dgutov@yandex.ru>
9230         Fix default-directory in changeset diffs after vc-print-log
9231         * lisp/vc/log-view.el (log-view-diff-common): Move the
9232         revision-granularity check back into log-view-diff-changeset.
9233         (log-view-diff-changeset): Bind default-directory to the current
9234         VC root.
9236         Rename project-directories to project-roots
9237         * lisp/progmodes/project.el (project-search-path-function)
9238         (project-search-path): Update the docstring.
9239         (project-directories): Rename to `project-roots', update all
9240         callers and implementations accordingly.
9241         (project-root): Remove.
9242         * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.*
9243         as the default file mask.
9245 2015-07-30  Eli Zaretskii  <eliz@gnu.org>
9247         Support long URLs in w32-shell-execute
9248         * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16
9249         and filename_to_ansi to convert the DOCUMENT argument, as it could
9250         be a URL that is not limited to MAX_PATH characters.  Instead, use
9251         MultiByteToWideChar directly, and allocate heap storage as
9252         required to accommodate the converted string.  Likewise with
9253         non-Unicode operation.  Ensure OPERATION is null-terminated, even
9254         if it is longer than 32K bytes.  (Bug#21158)
9256 2015-07-30  Stephen Leake  <stephen_leake@stephe-leake.org>
9258         * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev.
9260 2015-07-29  Stephen Leake  <stephen_leake@stephe-leake.org>
9262         Add docs for display-buffer action display-buffer-use-some-frame
9263         * lisp/window.el (display-buffer-use-some-frame): Improve doc string.
9264         * doc/lispref/windows.texi (Display Action Functions):
9265         Add display-buffer-use-some-frame.
9266         * etc/NEWS: Mention display-buffer-use-some-frame.
9268         Add display-buffer action display-buffer-use-some-frame
9269         * lisp/window.el (display-buffer-use-some-frame): New.
9271         Handle vc-mtn error more gently
9272         * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when
9273         branch is nil.
9275 2015-07-29  Michael Albinus  <michael.albinus@gmx.de>
9277         Fix Tramp problems with multihops, and nc
9278         * lisp/net/tramp-cache.el (tramp-get-file-property)
9279         (tramp-set-file-property, tramp-flush-file-property)
9280         (tramp-get-connection-property, tramp-set-connection-property)
9281         (tramp-flush-connection-property): Remove hop from vector.
9282         * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors.
9283         * lisp/net/tramp-sh.el (tramp-methods) <nc>: Separate STDERR.
9284         (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of
9285         netstat to 60".
9286         (tramp-sh-handle-start-file-process): Do not show hops in prompt.
9287         * lisp/net/tramp.el (tramp-handle-file-name-as-directory)
9288         (tramp-handle-file-name-directory, tramp-handle-file-remote-p):
9289         Keep hop in result.
9290         * test/automated/tramp-tests.el (tramp-test02-file-name-dissect):
9291         Add hop tests.
9293 2015-07-29  Eli Zaretskii  <eliz@gnu.org>
9295         Resurrect highlighting of repeated words by Flyspell Mode
9296         * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word
9297         characters between point and the doublon candidate, so that
9298         flyspell-word-search-backward finds it.  (Bug#21157)
9300         Fix redisplay of large images on expose events
9301         * src/xdisp.c (expose_window, expose_area): Avoid comparisons
9302         between signed negative values and unsigned values.  This
9303         prevented redisplay on expose events when the window showed a very
9304         large image.
9306 2015-07-29  Paul Eggert  <eggert@cs.ucla.edu>
9308         Remove unnecessary stack overflow dependency
9309         * configure.ac (HAVE_STACK_OVERFLOW_HANDLING):
9310         Don't worry about $ac_cv_header_sys_resource_h and
9311         $ac_cv_func_getrlimit, as they're no longer needed for this.
9312         Problem reported by Eli Zaretskii in:
9313         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html
9315 2015-07-28  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
9317         Pacify compilation -Wincompatible-pointer-types warnings
9318         * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation
9319         warning.
9320         (CompareStringW_Proc): New typedef.
9321         (w32_compare_strings): Use it, to pacify compiler warnings under
9322         "-Wincompatible-pointer-types".
9323         * src/w32fns.c (GetDiskFreeSpaceExW_Proc)
9324         (GetDiskFreeSpaceExA_Proc): New typedefs.
9325         (Ffile_system_info): Use them, to pacify compiler warnings under
9326         "-Wincompatible-pointer-types".
9328 2015-07-28  Paul Eggert  <eggert@cs.ucla.edu>
9330         Fix subscript error in calculate_direct_scrolling
9331         Use slightly-longer cost vectors.  Without this change,
9332         calculate_direct_scrolling can have a subscript violation when
9333         FRAME_LINES (frame) <= delta.
9334         * src/scroll.c (calculate_scrolling, calculate_direct_scrolling)
9335         (line_ins_del, do_line_insertion_deletion_costs):
9336         Allocate and use slightly-larger cost vectors, ones based on
9337         FRAME_TOTAL_LINES instead of FRAME_LINES.
9339         Fix uninitalized value in encode_coding_object
9340         * src/coding.c (encode_coding_object): Also initialize
9341         coding->src_pos and coding->src_pos_byte when NILP (src_object).
9342         This avoids later use of uninitialized storage.
9344 2015-07-27  Xue Fuqiao  <xfq.free@gmail.com>
9346         * doc/lispref/variables.texi (Variable Aliases): Typo fix.
9347         (Bug#21141)
9349 2015-07-27  Paul Eggert  <eggert@cs.ucla.edu>
9351         Merge from gnulib
9352         This incorporates:
9353         2015-07-27 time_rz: port better to MinGW
9354         2015-07-27 time: port __need_time_t to MinGW
9355         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
9356         * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib.
9357         * lib/time-internal.h: New file, from gnulib.
9359 2015-07-27  Eli Zaretskii  <eliz@gnu.org>
9361         Handle NULL pointers in w32heap.c allocation routines
9362         * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not
9363         freeable".
9364         (realloc_after_dump, realloc_before_dump, free_before_dump):
9365         Handle NULL pointers gracefully, as Emacs now seems to expect that.
9367         Fix Cairo build without PNG
9368         * src/image.c: Define PNG function when USE_CAIRO is defined, even
9369         if HAVE_PNG is not.  (Bug#21133)
9371         MS-Windows follow-up for recent TZ-related changes
9372         * nt/mingw-cfg.site (ac_cv_header_pthread_h)
9373         (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid
9374         picking up 'struct timespec' from pthread.h, if it is installed on
9375         the user's system.  We want either the definitions from MinGW
9376         system headers, if available, or the Gnulib replacements if not.
9377         * nt/inc/ms-w32.h <struct timespec>: Don't define, as we now use
9378         lib/time.h.
9379         * lib/time.in.h: Don't let __need_* symbols affect what happens on
9380         MinGW.  These symbols are defined by MinGW system headers, but we
9381         don't want that to affect whether Gnulib portions of the header
9382         are or aren't used.
9384 2015-07-26  Paul Eggert  <eggert@cs.ucla.edu>
9386         * src/ftfont.c (ftfont_close): Add comment re Bug#20890.
9388         New optional ZONE arg for format-time-string etc.
9389         This simplifies time conversions in other time zones.
9390         It also prevents display-time-world tampering with TZ (Bug#21020).
9391         * admin/admin.el (add-release-logs):
9392         Use improved add-log-time-format API.
9393         * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm.
9394         (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv.
9395         * configure.ac (tzalloc): Remove test for this, since
9396         Emacs no longer uses HAVE_TZALLOC directly.
9397         * doc/lispref/os.texi (Time of Day, Time Conversion)
9398         (Time Parsing):
9399         * etc/NEWS: Document the new behavior.
9400         Merge from gnulib, incorporating:
9401         2015-07-25 strftime: fix newly-introduced bug on Solaris
9402         2015-07-23 fprintftime, strftime: use timezone_t args
9403         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
9404         * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4:
9405         * m4/time_h.m4:
9406         Update from gnulib.
9407         * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4:
9408         New files from gnulib.
9409         * lisp/time-stamp.el (time-stamp-string):
9410         * lisp/time.el (display-time-world-list)
9411         (display-time-world-display):
9412         Use new API, with time zone arg.
9413         * lisp/time.el (display-time-world-display):
9414         Fix race when current-time advances while we're running.
9415         * lisp/vc/add-log.el (add-log-iso8601-time-zone)
9416         (add-log-iso8601-time-string): Accept optional time zone arg.
9417         * lisp/vc/add-log.el (add-change-log-entry):
9418         * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg.
9419         * nt/gnulib.mk: Propagate lib/gnulib.mk changes here.
9420         Add rules for the time module, since they're now needed
9421         for tzalloc etc.
9422         * src/conf_post.h (getenv_TZ, setenv_TZ): New macros.
9423         (emacs_getenv_TZ, emacs_setenv_TZ): New decls.
9424         * src/editfns.c: Include errno.h.
9425         (set_time_zone_rule): Omit unnecessary forward decl.
9426         (initial_tz): Remove, replacing with ...
9427         (local_tz, wall_clock_tz, utc_tz): New static vars and constants.
9428         (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1).
9429         (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree)
9430         (tzlookup): New static functions.
9431         (init_editfns): New arg DUMPING.  All uses changed.
9432         (init_editfns): Omit most initialization if dumping, not if
9433         !initialized.  Initialize wall_clock_tz and local_tz.
9434         (emacs_nmemftime, format_time_string): Time zone argument can now
9435         be any time zone, not just a boolean for UTC or local time.  All
9436         callers changed.
9437         (Fformat_time_string, Fencode_time, Fcurrent_time_string)
9438         (Fcurrent_time_zone): New optional arg ZONE.
9439         (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take
9440         the same form as with the other new additions.
9441         (decode_time_zone): Remove; no longer needed.
9442         (tzvalbuf): Now file-scope.
9443         (emacs_getenv_TZ, emacs_setenv_TZ): New functions.
9444         (syms_of_editfns): Define Qwall.
9445         * src/editfns.c (mktime_z) [!HAVE_TZALLOC]:
9446         * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree)
9447         [!HAVE_TZALLOC]:
9448         Remove; now supplied by gnulib.
9449         * src/emacs.c (main):
9450         * src/lisp.h (init_editfns): Adjust to init_editfns API change.
9452 2015-07-26  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
9454         Fix infinite loop in delete-consecutive-dups
9455         * lisp/subr.el (delete-consecutive-dups): Work even if the last
9456         element is nil (Bug#20588).  Avoid rescan of a circular list in
9457         deletion of last element.
9459 2015-07-26  Martin Rudalics  <rudalics@gmx.at>
9461         Have `x-frame-geometry' return nil for terminal and initial
9462         frames (Bug#21132)
9463         * src/nsfns.m (Fx_frame_geometry):
9464         * src/xfns.c (Fx_frame_geometry): Return nil for initial and
9465         terminal frames.
9466         * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect)
9467         (Fx_frame_geometry): Return nil for terminal frames
9469 2015-07-26  HOSOYA Kei  <hosoyakei.free@gmail.com>  (tiny change)
9471         * etc/tutorials/TUTORIAL.ja: Improve translation.
9473 2015-07-25  Eli Zaretskii  <eliz@gnu.org>
9475         Avoid crashes when w32 GUI functions are called in -batch
9476         * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect)
9477         (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call
9478         FRAME_W32_WINDOW for initial frame.  (Bug#21132)
9480         Fix flyspell-check-previous-highlighted-word
9481         * lisp/textmodes/flyspell.el
9482         (flyspell-check-previous-highlighted-word): Really accept a
9483         numeric argument, as the doc string describes.  Fix an off-by-one
9484         error in looking up overlays, so invocation with point immediately
9485         after a word would check that word.  Clarify the doc string as
9486         Suggested by N. Jackson <nljlistbox2@gmail.com>.  (Bug#21129)
9488 2015-07-24  Michael Albinus  <michael.albinus@gmx.de>
9490         Minor cleanup in tramp-tests.el
9491         * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*):
9492         Implement using the documented interface
9493         `tramp-connection-properties', rather than with internal functions.
9495 2015-07-24  Harald Hanche-Olsen  <hanche@math.ntnu.no>  (tiny change)
9497         Pass lambdas to `skeleton-read'
9498         * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function.
9499         * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass
9500         lambdas to `skeleton-read' (bug#20386).
9502 2015-07-24  Eli Zaretskii  <eliz@gnu.org>
9504         * INSTALL (DETAILED BUILDING AND INSTALLATION):
9505         Mention --without-imagemagick.
9507         Don't require GUI frames and mouse for Flyspell menus
9508         * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point)
9509         (flyspell-emacs-popup): Require neither a GUI frame nor mouse
9510         support, since pop-up menus work with text terminals and can be
9511         controlled via the keyboard.
9513         Improve documentation of Flyspell commands
9514         * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that
9515         can be invoked via the keyboard.  Mention those commands by name
9516         and add them to the fn index.  (Bug#21125)
9518 2015-07-23  Michael Albinus  <michael.albinus@gmx.de>
9520         Fix some Tramp problems with HP-UX
9521         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
9522         Add "tab0" to stty call.
9523         * test/automated/tramp-tests.el (tramp-persistency-file-name):
9524         Set to nil.
9525         (tramp--test-hpux-p): New defun.
9526         (tramp--test-utf8): Use it.
9528 2015-07-22  Glenn Morris  <rgm@gnu.org>
9530         * build-aux/update-subdirs: Put "no-update-autoloads: t" in output.
9532 2015-07-22  Eli Zaretskii  <eliz@gnu.org>
9534         Fix point positioning in ffap-next-guess
9535         * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region,
9536         as our callers expect.  This was clobbered as part of fixing
9537         bug#5673.  (Bug#21107)
9538         (ffap-gopher-at-point): Set ffap-string-at-point-region.
9540 2015-07-22  Martin Rudalics  <rudalics@gmx.at>
9542         * lisp/window.el (even-window-sizes): Fix customization type.
9544         Optionally even widths of `display-buffer' windows.  (Bug#21100)
9545         * lisp/window.el (quit-restore-window): Restore width if
9546         requested.
9547         (display-buffer-record-window): Record width when window is
9548         reused and horizontally combined.
9549         (even-window-sizes): New option to allow evening window widths.
9550         (even-window-heights): Defalias to `even-window-sizes'.
9551         (window--even-window-heights): Rename to
9552         `window--even-window-sizes'.  Handle side-by-side windows.
9553         (display-buffer-use-some-window): Call `window--even-window-sizes'
9554         instead of `window--even-window-heights'.
9555         * lisp/help.el (resize-temp-buffer-window): Fix indentation.
9556         * doc/lispref/windows.texi (Choosing Window Options): Describe
9557         `even-window-sizes'.
9558         (Coordinates and Windows): Fix typo.
9560 2015-07-22  Stephen Leake  <stephen_leake@stephe-leake.org>
9562         Add file name to autoload error messages
9563         * lisp/emacs-lisp/autoload.el (autoload-save-buffers):
9564         Add condition-case to add file name to error message.
9566 2015-07-22  Michael Albinus  <michael.albinus@gmx.de>
9568         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
9569         Use 0.0.0.1 as test host.
9571 2015-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
9573         (advice--called-interactively-skip): Fix inf-loop (bug#21083)
9574         * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip):
9575         Fix inf-loop (bug#21083).
9577 2015-07-21  Glenn Morris  <rgm@gnu.org>
9579         * test/automated/package-test.el (package-test-signed):
9580         Update for recent changes.
9582         * test/automated/elisp-mode-tests.el
9583         (elisp-xref-finds-both-function-and-variable)
9584         (elisp-xref-finds-only-function-for-minor-mode):
9585         Update for recent xref name changes.
9587 2015-07-21  Dmitry Gutov  <dgutov@yandex.ru>
9589         Make eldoc timer non-repeatable
9590         * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer
9591         non-repeatable.  Since it's on post-command hook, that just wasted
9592         CPU cycles.
9594 2015-07-21  Michael Albinus  <michael.albinus@gmx.de>
9596         Mention `tramp-connection-properties' in NEWS
9598         Sync with Tramp repository
9599         * doc/misc/tramp.texi (Configuration): Note, that Tramp must be
9600         required prior changing its configuration.
9601         (Connection caching, Predefined connection information)
9602         (Remote shell setup): Fix typos.
9603         (Predefined connection information): Describe, how to overwrite
9604         parameters of `tramp-methods'.
9605         (Remote programs, Remote processes, Traces and Profiles):
9606         Simplify example.
9607         (Remote programs): Remove superfluous comment.
9608         * doc/misc/trampver.texi: Update release number.
9609         * lisp/net/tramp-cache.el (tramp-connection-properties):
9610         Adapt docstring.
9611         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun.
9612         (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it.
9613         (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling,
9614         "gvfs-mkdir -p ..." does not work robust.
9615         (tramp-gvfs-maybe-open-connection):
9616         Adapt `tramp-get-method-parameter' call.
9617         * lisp/net/tramp-sh.el (tramp-methods):
9618         Add `tramp-remote-shell-login' parameter where it fits.
9619         (tramp-get-remote-path): Use it.
9620         (tramp-make-copy-program-file-name): Fix quoting for "psftp" method.
9621         (all): Adapt `tramp-get-method-parameter' calls.
9622         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
9623         (tramp-get-method-parameter): Replace argument METHOD by VEC.
9624         Check also for hits in `tramp-connection-properties'.  Adapt docstring.
9625         (tramp-get-remote-tmpdir): Cache only the local name of tmpdir.
9626         (all): Adapt `tramp-get-method-parameter' calls.
9627         * lisp/net/trampver.el Update release number.
9628         * test/automated/tramp-tests.el (tramp--instrument-test-case):
9629         Add "^make-symbolic-link not supported$" to `debug-ignored-errors'.
9630         (tramp-test13-make-directory, tramp--test-adb-p)
9631         (tramp--test-smb-or-windows-nt-p): Simplify.
9632         (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns.
9633         (tramp--test-special-characters): Fix docstring.  Add gvfs and
9634         ftp tests.
9635         (tramp--test-utf8): Fix docstring.
9637 2015-07-20  Dmitry Gutov  <dgutov@yandex.ru>
9639         Add new xref-query-replace command
9640         * lisp/progmodes/xref.el (xref--match-buffer-bounds):
9641         New function, extracted from xref-pulse-momentarily.
9642         (xref-query-replace): New command.
9643         (xref--query-replace-1): New helper function.
9644         (xref--xref-buffer-mode-map): Add `r' binding.
9646 2015-07-20  Paul Eggert  <eggert@cs.ucla.edu>
9648         Simplify icalendar decoding of Z dates
9649         * lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
9650         Simplify calculation of time strings with trailing "Z".
9652 2015-07-19  Dmitry Gutov  <dgutov@yandex.ru>
9654         Do not corrupt grep-find-ignored-files
9655         * lisp/progmodes/project.el (project-ignores): Change the order of
9656         the arguments to nconc, in order not to corrupt grep-find-ignored-files.
9658         Add xref-match-item, and use it
9659         * lisp/progmodes/xref.el (xref-match-bounds): New generic function.
9660         (xref-file-location): Add reader for the column slot.
9661         (xref-match-item): New class.
9662         (xref-match-bounds): A method implementation for it.
9663         (xref-make-match): New constructor function.
9664         (xref--current-item): New private variable.
9665         (xref-pulse-momentarily): Use it.
9666         (xref--pop-to-location): Change the first argument to an xref
9667         item, instead of location, bind xref--current-item.
9668         Update all callers.
9669         (xref-next-line, xref-prev-line, xref--next-error-function)
9670         (xref--mouse-2): Look for the property `xref-item',
9671         instead of `xref-location'.
9672         (xref--item-at-point): Likewise.  This function replaces
9673         `xref-location-at-point'.  Update all callers.
9674         (xref--insert-xrefs): Add the `xref-item' text property, instead
9675         of `xref-location'.
9676         (xref--collect-match): Use xref-make-match.
9678         * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'.
9679         Update all references.
9681         * lisp/progmodes/xref.el (xref--xref): Rename the `description'
9682         slot to `summary'.
9684         vc-hg: Perform the print-log call asynchronously
9685         * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call
9686         asynchronously (bug#21067).
9688         Add xref-after-jump-hook and xref-after-return-hook
9689         * lisp/progmodes/xref.el (xref-after-jump-hook)
9690         (xref-after-return-hook): New hooks.
9691         (xref-pulse-on-jump): Remove, in favor of the above.
9692         (xref-pulse-momentarily): Rename from xref--maybe-pulse.
9693         (xref--pop-to-location, xref--display-position)
9694         (xref-pop-marker-stack): Use the new hooks, as requested in
9695         http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html
9697 2015-07-19  Bozhidar Batsov  <bozhidar@batsov.com>
9699         * lisp/progmodes/js.el (js-mode): Correct the lighter.
9701 2015-07-19  Leo Liu  <sdl.web@gmail.com>
9703         Fix a bug in cfengine3-mode
9704         * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil
9705         eldoc-documentation-function.
9707 2015-07-18  Julien Danjou  <julien@danjou.info>
9709         sieve-mode: support "body" test command
9710         * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords):
9711         Add missing "body" test command.
9713 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
9715         Fix info-apropos when the default encoding is Latin-N
9716         * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to
9717         'undecided', so that it is set to the encoding of the Info file we
9718         are about to insert.  Otherwise, 'info-apropos' will fail to find
9719         some index nodes in some UTF-8 encoded files, if the buffer's
9720         previous encoding is Latin-N or some such.
9722 2015-07-18  Ivan Andrus  <darthandrus@gmail.com>
9724         * lisp/epg.el (epg--start): Check that gpgconf can be found
9725         before calling it.
9727         Expose more file types to OS X that Emacs understands
9728         * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for
9729         sty, dtx, json, and org files.  Export UTIs for el, elc, and org files.
9731 2015-07-18  Eli Zaretskii  <eliz@gnu.org>
9733         Fix visual-order cursor movement when lines are truncated
9734         * src/xdisp.c (Fmove_point_visually): When lines are truncated,
9735         simulate display in a window of infinite width, to allow move_it_*
9736         functions reach positions outside of normal window dimensions.
9737         Remove code that tried to handle a subset of these situations by
9738         manual iteration of buffer text.  (Bug#17777)
9740         Fix following Info cross-references to anchors
9741         * lisp/info.el (Info-read-subfile): Add to the returned value the
9742         length of subfile preamble, after converting it to file's byte
9743         offset, as expected by the caller.  Use bufferpos-to-filepos.
9744         (Info-find-node-2): If searching for a node with a
9745         1000-character slop fails, try again with a 10000-character slop,
9746         to account for known bugs in Texinfo 5.0 and 5.1.  (Bug#21055)
9747         * lisp/international/mule-util.el (bufferpos-to-filepos): New
9748         function.
9749         * etc/NEWS: Mention bufferpos-to-filepos.
9751         Fix scrolling backwards on TTY frames under scroll-conservatively
9752         * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error
9753         in moving backwards on TTY frames.  (Bug#21080)
9755 2015-07-17  Dmitry Gutov  <dgutov@yandex.ru>
9757         Consider a jsdoc tag to be a beginning of a paragraph as well
9758         * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to
9759         consider a jsdoc tag to be a beginning of a paragraph as well.
9761 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
9763         * lisp/emacs-lisp/package.el: Fix warnings.
9765         * lisp/emacs-lisp/package.el (package-buffer-info):
9766         Add author and maintainers to `package-buffer-info'.
9768         * lisp/emacs-lisp/package.el: Many small changes.
9769         Replace all instances of 'face with 'font-lock-face.
9770         (describe-package-1): Improve some strings and move the summary
9771         up the list.
9772         (package-install-file): Update docstring.
9773         (package-menu-hide-package): Bind to `H'.
9775         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
9776         Fix error handling.
9778 2015-07-17  Paul Eggert  <eggert@cs.ucla.edu>
9780         Fix hang with large yanks This should fix the bug fixed by Mike
9781         Crowe's patch in:
9782         https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html
9783         A problem in this area has been reported by several users; see
9784         Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283.
9785         This fix differs from Mike Crowe's patch in that it should avoid a
9786         race condition that could lose SIGIO signals.  ignore_sigio dates
9787         back to the 1980s when some platforms couldn't block signals, and
9788         could only ignore them, which led to races when signals arrived
9789         while being ignored.  We shouldn't have to worry about those old
9790         platforms now.
9791         * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove.
9792         * src/emacs.c (shut_down_emacs):
9793         Don't call ignore_sigio; unrequest_sigio should suffice.
9794         * src/keyboard.c (kbd_buffer_store_buffered_event):
9795         Use unrequest_sigio, not ignore_sigio.
9796         (kbd_buffer_get_event):
9797         Call request_sigio when getting the ball rolling again.
9799 2015-07-17  Artur Malabarba  <bruce.connor.am@gmail.com>
9801         * lisp/obsolete/longlines.el (longlines-search-function):
9802         Fallback on `isearch-search-fun-default'.
9804 2015-07-17  Tassilo Horn  <tsdh@gnu.org>
9806         Support @-mentions
9807         * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion
9808         of mentions/messages with @nick instead of just nick.
9810 2015-07-16  Michael Albinus  <michael.albinus@gmx.de>
9812         Fix bug#20943
9813         * lisp/autorevert.el (auto-revert-handler): Do not check for
9814         `buffer-modified-p'.
9815         * lisp/files.el (buffer-stale--default-function): Check for
9816         `buffer-modified-p'.
9817         * test/automated/auto-revert-tests.el
9818         (auto-revert-test02-auto-revert-mode-dired): Adapt test.
9820 2015-07-16  Ari Roponen  <ari.roponen@gmail.com>
9822         Fix delete-dups bug on long lists
9823         * lisp/subr.el (delete-dups):
9824         Don't mistakenly keep some dups when applied to long lists.
9826 2015-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9828         Better heuristic for C stack overflow
9829         Improve the heuristic for distinguishing stack overflows from
9830         other SIGSEGV causes (Bug#21004).  Corinna Vinschen explained that
9831         the getrlimit method wasn't portable to Cygwin; see:
9832         https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html
9833         Corinna suggested pthread_getattr_np but this also has problems.
9834         Instead, replace the low-level system stuff with a simple
9835         heuristic based on known good stack addresses.
9836         * src/eval.c, src/lisp.h (near_C_stack_top): New function.
9837         * src/sysdep.c: Don't include <sys/resource.h>.
9838         (stack_direction): Remove.  All uses removed.
9839         (stack_overflow): New function.
9840         (handle_sigsegv): Use it instead of incorrect getrlimit heuristic.
9841         Make SEGV fatal in non-main threads.
9843 2015-07-16  Daiki Ueno  <ueno@gnu.org>
9845         epg: Automatically start pinentry server
9846         * lisp/epg-config.el (epg-gpgconf-program): New variable.
9847         * lisp/epg.el (epg--start): Call `pinentry-start' if
9848         allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf.
9850 2015-07-15  Katsumi Yamaoka  <yamaoka@jpl.org>
9852         * lisp/gnus/nnimap.el: Fix my last bogus change.
9853         Reinstall Stefan Monnier's change that was made in
9854         <83d824bc4041332f338ad7e5e830f443535aa300>.
9856 2015-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9858         Merge from gnulib
9859         This incorporates:
9860         2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls
9861         2015-07-05 acl-permissions: Fix on FreeBSD
9862         2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos
9863         * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c:
9864         * lib/set-permissions.c: Copy from gnulib.
9866         Port to stricter C99
9867         * src/keyboard.h (kbd_buffer_store_event_hold):
9868         Don't return a void expression.
9870 2015-07-15  Xue Fuqiao  <xfq.free@gmail.com>
9872         * doc/emacs/frames.texi (Creating Frames):
9873         Fix the command `C-x 5 m' runs.
9875 2015-07-14  Michael Albinus  <michael.albinus@gmx.de>
9877         New autorevert tests
9878         * test/automated/auto-revert-tests.el: New file.
9880 2015-07-14  Paul Eggert  <eggert@cs.ucla.edu>
9882         Clear gcprolist etc. after stack overflow
9883         After stack overflow, command_loop calls init_eval, and this needs to
9884         clear gcprolist and byte_stack_list (Bug#20996).
9885         * src/alloc.c (init_alloc):
9886         Move gcprolist and byte_stack_list initialization from here ...
9887         * src/eval.c (init_eval): ... to here.
9889 2015-07-13  Xue Fuqiao  <xfq.free@gmail.com>
9891         * doc/emacs/windows.texi (Pop Up Window): Fix the description
9892         of `C-x 4 m'.
9894 2015-07-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9896         Avoid deprecated enums in mac-ct font backend driver
9897         * src/macfont.m (mac_font_copy_default_descriptors_for_language)
9898         (mac_ctfont_get_advance_width_for_glyph)
9899         (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums.
9901         Cache font family in mac-ct font backend driver
9902         * src/macfont.m (macfont_family_cache): New variable.
9903         (syms_of_macfont): Initialize it.
9904         (macfont_available_families_cache): New variable.
9905         (macfont_invalidate_family_cache, macfont_get_family_cache_if_present)
9906         (macfont_set_family_cache, macfont_invalidate_available_families_cache)
9907         (macfont_handle_font_change_notification)
9908         (macfont_init_font_change_handler)
9909         (macfont_copy_available_families_cache): New functions.
9910         (macfont_create_family_with_symbol): Use font family caches.
9911         (macfont_list, macfont_list_family):
9912         Use macfont_copy_available_families_cache instead of
9913         mac_font_create_available_families.
9915 2015-07-12  Dmitry Gutov  <dgutov@yandex.ru>
9917         Show the default value in the prompt
9918         * lisp/progmodes/xref.el: Add `M-?' binding for
9919         xref-find-references.  Declare functions `grep-read-files' and
9920         `grep-expand-template'.
9921         (xref--read-identifier): Show the default value in the prompt.
9923         * lisp/progmodes/xref.el (xref-find-regexp): When called with
9924         prefix argument, ask for file patterns to search as well.  When
9925         prompting for the directory, require an existing one.
9926         (xref-collect-matches): Add a new argument, FILES.  Use it in the
9927         above function.
9929         Add `project-ignores'
9930         * lisp/progmodes/project.el (project-ignores): New generic
9931         function, and an implementation for the VC project type.
9932         * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a
9933         variant of rgrep-default-command that handles a generic list of
9934         ignores.
9935         (xref-collect-matches): Use it, and pass through to it the value
9936         of the newly added argument.
9937         (xref-find-regexp): Handle ignored paths within the project.
9938         Remove outdated comment.
9939         * lisp/vc/vc.el (vc-default-ignore-completion-table):
9940         Skip the comments and the empty lines.
9942 2015-07-12  Xue Fuqiao  <xfq.free@gmail.com>
9944         * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference.
9946 2015-07-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
9948         gnus-registry.el: Correct function argument order
9949         * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark):
9950         Reverse the order of function arguments.
9952 2015-07-11  Dmitry Gutov  <dgutov@yandex.ru>
9954         Bind grep-highlight-matches to nil
9955         * lisp/progmodes/xref.el (xref-collect-matches):
9956         Bind grep-highlight-matches to nil (bug#20728).
9958 2015-07-11  Nikolaus Rath  <Nikolaus@rath.org>
9960         nnimap.el: Fix IMAP message size parsing
9961         * lisp/gnus/nnimap.el (nnimap-transform-headers):
9962         Don't assume that UID comes before RFC822.SIZE.
9964 2015-07-10  Stefan Monnier  <monnier@iro.umontreal.ca>
9966         * lisp/gnus/nnimap.el: Clean up "unused var" warnings
9967         (auth-source-creation-prompts): Declare.
9968         (nnimap-retrieve-headers, nnimap-status-message)
9969         (nnimap-request-create-group, nnimap-request-delete-group)
9970         (nnimap-close-group, nnimap-request-move-article)
9971         (nnimap-request-accept-article, nnimap-request-newgroups)
9972         (nnimap-request-post, nnimap-dummy-active-number)
9973         (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars.
9974         (nnimap-parse-flags): Remove unused var `p'.
9975         (nnimap-retrieve-group-data-early): Remove unused var `groups'.
9976         (nnimap-flags-to-marks): Remove unused var `totalp'.
9978 2015-07-10  Andy Moreton  <andrewjmoreton@gmail.com>  (tiny change)
9980         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB.
9982 2015-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
9984         * src/macfont.m (macfont_list): Ignore font families lacking
9985         font descriptors.
9987 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
9989         Don't check the exit status, it can be misleading
9990         * lisp/progmodes/xref.el (xref-collect-matches): Don't check the
9991         exit status, it can be misleading.
9993         Introduce a Project API
9994         * lisp/progmodes/project.el: New file.
9995         * lisp/cedet/ede.el (project-try-ede): New function.
9996         (project-root): New implementation.
9997         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
9998         Set project-search-path-function.
9999         (elisp--xref-find-references): Delegate some logic to
10000         project-search-path.
10001         (elisp-search-path): New function.
10002         (elisp-xref-find): Don't implement `matches' anymore.
10003         * lisp/progmodes/etags.el: Don't implement `matches'.
10004         Delegate some logic to project-search-path.
10005         (etags-search-path): New function.
10006         * lisp/progmodes/xref.el (xref-find-function):
10007         Remove `matches' from the API.
10008         (xref-find-regexp): Move whatever common logic was in elisp and
10009         etags implementations, and search the directories returned by
10010         project-directories and project-search-path.
10012 2015-07-09  Nicolas Petton  <nicolas@petton.fr>
10014         * test/automated/map-tests.el (test-map-delete-return-value):
10015         Uncomment test.
10017         Add support for gv.el in map.el
10018         * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander.
10019         * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'.
10020         * test/automated/map-tests.el: Update tests to work with the new
10021         implementations of map-elt and map-put.
10023 2015-07-09  Glenn Morris  <rgm@gnu.org>
10025         * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol.
10027 2015-07-09  Dmitry Gutov  <dgutov@yandex.ru>
10029         Syntax-propertize until the end of the line first
10030         * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize
10031         until the end of the line first.
10033 2015-07-09  Xue Fuqiao  <xfq.free@gmail.com>
10035         * doc/emacs/files.texi (File Archives): Add a cross reference.
10037 2015-07-08  Nikolaus Rath  <Nikolaus@rath.org>
10039         nnimap.el: Handle plain value for nnimap-stream
10040         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query
10041         capabilities, so that a 'plain value for the `nnimap-stream' server
10042         variable is handled correctly.
10043         * doc/misc/gnus.texi (Customizing the IMAP Connection):
10044         Document the 'plain option.
10046 2015-07-08  Leo Liu  <sdl.web@gmail.com>
10048         Fix bug in thing-at-point--bounds-of-well-formed-url
10049         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make
10050         sure boundary contains current point.
10052 2015-07-08  Dmitry Gutov  <dgutov@yandex.ru>
10054         * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse'
10055         in the end.
10057         Declare whitespace-line-column a safe file-local
10058         * lisp/whitespace.el (whitespace-line-column): Declare to be a
10059         safe file-local when the value is an integer.
10061 2015-07-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
10063         gnus-group.el: Check if group names are already strings
10064         * lisp/gnus/gnus-group.el (gnus-group-group-name):
10065         The group name may already be a string.
10066         Specifically, in the group list reached from the *Server* buffer,
10067         the 'gnus-group text property returns a string.  Everywhere else
10068         it returns a symbol.
10070         nnimap.el: Remove unused let variables
10071         * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used.
10073 2015-07-08  Eli Zaretskii  <eliz@gnu.org>
10075         Support "maximized" property of runemacs's shortcut
10076         * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass
10077         the '--maximized' switch to Emacs.
10079         Support "minimized" property of runemacs's shortcut
10080         * nt/runemacs.c (WinMain): If runemacs is invoked "minimized",
10081         pass the '--iconic' switch to Emacs.  (Bug#20991)
10083 2015-07-08  Xue Fuqiao  <xfq.free@gmail.com>
10085         Doc fixes
10086         * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c
10087         C-w' in Diff mode.
10088         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
10089         Add a cross reference.
10091 2015-07-08  Nicolas Richard  <youngfrog@members.fsf.org>
10093         * lisp/obsolete/landmark.el: Add Obsolete-since header.
10095 2015-07-07  Glenn Morris  <rgm@gnu.org>
10097         * test/automated/ert-tests.el (ert-test-deftest):
10098         Update for recent changes.
10100 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
10102         (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros
10103         * lisp/emacs-lisp/gv.el (gv-setter): New function.
10104         (gv-invalid-place): New error.
10105         (gv-get): Use them.
10106         (gv-synthetic-place, gv-delay-error): New places.
10107         * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove.
10108         (cl-defgeneric, cl-defmethod): Use gv-setter.
10110 2015-07-07  Fabrice Popineau  <fabrice.popineau@gmail.com>
10112         Make vc-tests work with MSYS svn program
10113         * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when
10114         svn is an MSYS program.
10116 2015-07-07  Ken Brown  <kbrown@cornell.edu>
10118         Improve recent change to emacsclient on Cygwin
10119         * lisp/server.el (server-process-filter): Remove redundant check
10120         that 'cygwin-convert-file-name-from-windows' is defined as a
10121         function on Cygwin.  Don't call that function unless its argument
10122         starts with a drive letter.
10124 2015-07-07  Artur Malabarba  <bruce.connor.am@gmail.com>
10126         * lisp/emacs-lisp/package.el (package-compute-transaction):
10127         Fix void variable due to `found-something' being in the wrong `let'.
10129 2015-07-07  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
10131         * lisp/play/landmark.el: Move to lisp/obsolete/.
10133 2015-07-07  Martin Rudalics  <rudalics@gmx.at>
10135         Have `x-show-tip' handle `right' and `bottom' frame parameters
10136         * src/nsfns.m (compute_tip_xy, Fx_show_tip)
10137         * src/w32fns.c (compute_tip_xy, Fx_show_tip)
10138         * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning
10139         tooltips also via `right' and `bottom' frame parameters.
10141 2015-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
10143         Add online-help support to describe types
10144         * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el.
10145         (describe-symbol): Improve the selection of default.
10146         * lisp/help-mode.el: Require cl-lib.
10147         (describe-symbol-backends): Move from help-fns.el.
10148         (help-make-xrefs): Use it.
10149         * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry
10150         for types.
10151         (cl--typedef-regexp): New const.
10152         (find-function-regexp-alist): Add entry for types.
10153         (cl-help-type, cl-type-definition): New buttons.
10154         (cl-find-class): New function.
10155         (cl-describe-type): New command.
10156         (cl--describe-class, cl--describe-class-slot)
10157         (cl--describe-class-slots): New functions, moved from eieio-opt.el.
10158         * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation)
10159         (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p):
10160         New functions.  Moved from eieio-opt.el.
10161         (cl--generic-class-parents): New function, extracted from
10162         cl--generic-struct-specializers.
10163         (cl--generic-struct-specializers): Use it.
10164         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist.
10165         Improve constructor's docstrings.
10166         (cl-struct-unknown-slot): New error.
10167         (cl-struct-slot-offset): Use it.
10168         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type
10169         definition in current-load-list.
10170         * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var.
10171         (eieio--add-new-slot): Set it.
10172         (eieio-defclass-internal): Use new name for current-load-list.
10173         (eieio-oref): Add compiler-macro to warn about unknown slots.
10174         * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names
10175         as compile-time as well.  Improve constructor docstrings.
10176         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
10177         (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el.
10178         (eieio-class-def): Remove button.
10179         (eieio-help-constructor): Use new name for load-history element.
10180         (eieio--specializers-apply-to-class-p, eieio-all-generic-functions)
10181         (eieio-method-documentation): Move to cl-generic.el.
10182         (eieio-display-method-list): Use new names.
10183         * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression):
10184         Add "define-linline".
10185         (lisp-fdefs): Remove "defsubst".
10186         (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline".
10187         * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var.
10188         (macroexp--warn-and-return): Use it to avoid inf-loops.
10189         Add `compile-only' argument.
10191 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
10193         python.el: Fix local/remote shell environment setup
10194         * lisp/progmodes/python.el (python-shell-with-environment):
10195         Fix remote/local environment setup.
10196         * test/automated/python-tests.el (python-shell-with-environment-1)
10197         (python-shell-with-environment-2): New tests.
10199 2015-07-06  Glenn Morris  <rgm@gnu.org>
10201         * lisp/simple.el (set-variable): Tweak recent doc fix.
10203 2015-07-06  Ken Brown  <kbrown@cornell.edu>
10205         * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE.
10207 2015-07-06  Glenn Morris  <rgm@gnu.org>
10209         * lisp/simple.el (set-variable): Use user-error for type mismatch.
10211 2015-07-06  Ken Brown  <kbrown@cornell.edu>
10213         * src/emacs.c (main): Don't increase the stack size on Cygwin.
10215 2015-07-06  Stefan Monnier  <monnier@iro.umontreal.ca>
10217         (describe-symbol): Rewrite describe-function-or-variable
10218         * lisp/help-fns.el (describe-symbol-backends): New var.
10219         (help-xref-stack-item): Declare.
10220         (describe-symbol): Rename from describe-function-or-variable.
10221         Rewrite using describe-symbol-backends instead of help-xref-interned.
10222         * lisp/help.el (help-map): Use it.
10223         * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it.
10224         (help-xref-interned): Make it into an obsolete alias.
10226         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore
10227         `file' arg (bug#20972).  Always use utf-8-emacs.  Use with-temp-buffer
10228         and cl-letf.
10230 2015-07-06  Wolfgang Jenkner  <wjenkner@inode.at>
10232         Fix parsing glitches in dired-mark-sexp (bug#13575)
10233         * lisp/dired-x.el (dired-x--string-to-number): New function.
10234         (dired-mark-sexp): Use it.  Tweak dired-re-inode-size.  Fix usage
10235         of directory-listing-before-filename-regexp.  Consider
10236         forward-word harmful and replace it.  Add more verbiage in
10237         comments and doc string.
10239 2015-07-06  Fabián Ezequiel Gallina  <fgallina@gnu.org>
10241         python.el: Respect process environment for remote shells
10242         * lisp/progmodes/python.el
10243         (python-shell-calculate-process-environment): Calculate
10244         process-environment or tramp-remote-process-environment depending
10245         whether current file is remote.
10246         (python-shell-calculate-exec-path): Calculate exec-path or
10247         tramp-remote-path depending whether current file is remote.
10248         (python-shell-with-environment): New macro.
10249         (python-shell-prompt-detect, python-shell-calculate-command)
10250         (python-shell-make-comint, python-check): Use it.
10252         python.el: Avoid making let-bound defvars buffer local  (Bug#18244)
10253         * lisp/progmodes/python.el (python-shell--interpreter)
10254         (python-shell--interpreter-args): New vars.
10255         (inferior-python-mode, python-shell-make-comint): Use them.
10257         python.el: Fixes for IPython 3.x  (Bug#20580)
10258         * lisp/progmodes/python.el:
10259         (python-shell-completion-native-setup): Fix IPython 3.x setup.
10260         (python-shell-completion-native-get-completions): Fix timeout
10261         logic.
10263         python.el: Fix mark-defun behavior  (Bug#19665)
10264         * lisp/progmodes/python.el (python-mark-defun): New function.
10265         * test/automated/python-tests.el (python-mark-defun-1)
10266         (python-mark-defun-2, python-mark-defun-3): New tests.
10268 2015-07-05  Glenn Morris  <rgm@gnu.org>
10270         * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists
10271         such as "extends(parent), private".  (Bug#20969)
10272         * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b):
10273         New tests.
10275 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10277         Avoid duplicate calls to current_timespec
10278         * src/process.c (wait_reading_process_output):
10279         Cache current_timespec results as long as we're not waiting.
10281 2015-07-05  Ian Kelling  <ian@iankelling.org>
10283         Avoid returning early reading process output due to SIGIO
10284         * src/process.c (wait_reading_process_output): Extend the behavior of
10285         not breaking due to not finding output when a timer has lowered the
10286         timeout to include when SIGIO lowers the timeout.
10288         Don't return as fast reading any process output
10289         * src/process.c (wait_reading_process_output):
10290         The patch for Bug#17647 returns too fast sometimes when reading
10291         from any processes.  Revert part of it, and limit the timeout more
10292         sensibly (Bug#20978).
10294         Refactor timeouts in wait_reading_process_output
10295         * src/process.c (wait_reading_process_output):
10296         Simplify timeouts with an enum.  Remove a redundant condition.
10297         (Bug#20978)
10299         Remove ADAPTIVE_READ_BUFFERING ifdef
10300         * src/process.c (make-process, make-pipe-process, deactivate_process)
10301         (wait_reading_process_output, read_process_output, send_process)
10302         (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally
10303         added in case there was an operating system in which it was not
10304         useful.  That was 11 years ago and it hasn't happened.  Make
10305         development easier by not considering the effect of changes on a
10306         theoretical OS where this is disabled (Bug#20978).
10308 2015-07-05  Glenn Morris  <rgm@gnu.org>
10310         * lisp/simple.el (set-variable): Doc fix.
10312         * lisp/progmodes/fortran.el (fortran-line-length): Doc fix.
10314 2015-07-05  Ian Kelling  <ian@iankelling.org>
10316         accept-process-output fix
10317         This is a followon to the fix for bug#17647 (Bug#20976).
10318         * src/process.c (status_notify): Fix too high return in some cases.
10320 2015-07-05  Artur Malabarba  <bruce.connor.am@gmail.com>
10322         * lisp/character-fold.el (character-fold-table):
10323         Only fold decompositions if at least one character is non-spacing.
10324         (Bug#20975)
10326 2015-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10328         Merge from gnulib
10329         This incorporates:
10330         2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos
10331         2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard
10332         2015-07-02 update-copyright: fix test failure with perl >= 5.22
10333         2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr'
10334         2015-07-01 acl: fix definition of acl_from_mode on FreeBSD
10335         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h:
10336         * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib.
10338 2015-07-05  Christoph Wedler  <christoph.wedler@sap.com>
10340         Respect `prog-indentation-context' in python.el
10341         * lisp/progmodes/python.el (python-indent-guess-indent-offset)
10342         (python-indent-context, python-indent--calculate-indentation)
10343         (python-info-current-defun)
10344         (python-info-dedenter-opening-block-message)
10345         (python-info-line-ends-backslash-p)
10346         (python-info-beginning-of-backslash)
10347         (python-info-continuation-line-p): Use `prog-widen'.
10348         (python-indent--calculate-indentation)
10349         (python-indent--calculate-levels)
10350         (python-indent-calculate-indentation): Use `prog-first-column'.
10351         (python-indent--calculate-levels): Simplify.
10352         Ignore also initial empty lines for syntax calculation.
10353         * lisp/progmodes/python.el (python-indent-context): Return
10354         :no-indent for first non-empty line, not just in line 1.
10355         * test/automated/python-tests.el (python-indent-base-case)
10356         (python-indent-inside-paren-1, python-indent-inside-paren-2)
10357         (python-indent-inside-paren-3, python-indent-inside-paren-4)
10358         (python-indent-inside-paren-5, python-indent-inside-paren-6)
10359         (python-indent-after-backslash-1)
10360         (python-indent-after-backslash-2)
10361         (python-indent-after-backslash-3)
10362         (python-indent-after-backslash-4, python-indent-inside-string-1):
10363         Expect :no-indent for first non-empty line.
10365 2015-07-04  Daniel Colascione  <dancol@dancol.org>
10367         Factor isearch word description into new function
10368         * lisp/isearch.el (isearch--describe-word-mode): New function.
10369         (isearch-message-prefix, isearch-query-replace): Use it.
10371 2015-07-04  Eli Zaretskii  <eliz@gnu.org>
10373         Fix mouse pointer on w32 when a menu is active
10374         * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer
10375         shape while a menu is in use.  This started happening since we now
10376         send WM_EMACS_SHOWCURSOR messages when the mouse moves.
10378 2015-07-04  Martin Rudalics  <rudalics@gmx.at>
10380         Fix processing of alpha parameter for Windows tip frames  (Bug#17344)
10381         * src/w32fns.c (x_create_tip_frame): Fix processing alpha
10382         parameter.  (Bug#17344)
10384         Have `compilation-set-window' use right window for getting fringes
10385         (Bug#20829)
10386         * lisp/progmodes/compile.el (compilation-set-window):
10387         Take `window-fringes' from argument window.
10389 2015-07-03  Glenn Morris  <rgm@gnu.org>
10391         Update eieio tests for recent eieio-core change.
10392         * test/automated/eieio-test-persist.el (persist-test-save-and-compare):
10393         * test/automated/eieio-tests.el
10394         (eieio-test-32-slot-attribute-override-2):
10395         Replace the deleted eieio--class-v with cl--find-class.
10397 2015-07-03  Martin Rudalics  <rudalics@gmx.at>
10399         Fix some issues with `window-divider-mode'
10400         * lisp/frame.el (window-divider-default-places): New option.
10401         (window-divider-mode): Remove option.
10402         (window-divider-mode): Make it a "regular" minor mode.
10403         (window-divider-width-valid-p): Drop frame- prefix.
10404         (window-divider-mode-apply): New argument ENABLE.  Drop frame-
10405         prefix.  Handle `window-divider-default-places'.
10406         (frame--window-divider-mode-set-and-apply): Remove.
10407         (window-divider-default-bottom-width)
10408         (window-divider-default-right-width): Drop :group entries.
10409         * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider)
10410         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
10411         (menu-bar-no-window-divider): Set `window-divider-default-places'
10412         and call `window-divider-mode'.
10413         * doc/emacs/frames.texi (Window Dividers): Document
10414         `window-divider-default-places'.
10416 2015-07-02  Xue Fuqiao  <xfq.free@gmail.com>
10418         * doc/emacs/display.texi (Displaying Boundaries):
10419         * doc/emacs/search.texi (Word Search): Add cross references.
10421 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
10423         -batch should not affect ‘’ -> `' display
10424         * lisp/startup.el (command-line): Do the ‘’ -> `' check even if
10425         -batch (Bug#20926).
10427 2015-07-02  Stefan Monnier  <monnier@iro.umontreal.ca>
10429         * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove
10430         * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el:
10431         * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el:
10432         Use cl--find-class instead.
10434         * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951).
10436 2015-07-02  Martin Rudalics  <rudalics@gmx.at>
10438         Some further fixes in Change Window node (Bug#20183)
10439         * doc/emacs/windows.texi (Change Window): Replace "rearranging"
10440         by "resizing" in section title.  Add some concept indices.
10441         Suggested by N. Jackson (Bug#20183).
10443         * doc/emacs/windows.texi (Change Window): Reference window
10444         dividers.
10446         Document new `window-divider-mode'.
10447         * lisp/frame.el (window-divider-mode): Fix doc-string.
10448         * doc/emacs/frames.texi (Window Dividers): New section.
10450         Improve accessibility of window dividers (Bug#20183)
10451         * lisp/faces.el (window-divider)
10452         (window-divider-first-pixel, window-divider-last-pixel): Change
10453         membership from `frames' to `window-divider' customization group.
10454         * lisp/frame.el (window-divider): New customization group.
10455         (window-divider-mode): New minor mode.
10456         (window-divider-default-bottom-width)
10457         (window-divider-default-right-width): New options.
10458         (frame--window-divider-previous-mode): New variable.
10459         (frame-window-divider-width-valid-p)
10460         (frame--window-divider-mode-apply)
10461         (frame--window-divider-mode-set-and-apply): New functions.
10462         * lisp/menu-bar.el (menu-bar-options-save): Save
10463         window-divider-mode settings.
10464         (menu-bar-window-divider-customize)
10465         (menu-bar-bottom-and-right-window-divider)
10466         (menu-bar-right-window-divider, menu-bar-bottom-window-divider)
10467         (menu-bar-no-window-divider): New functions.
10468         (menu-bar-showhide-window-divider-menu): New variable.
10469         (menu-bar-showhide-menu): Show/hide window divider menu.
10470         * lisp/mouse.el (mouse-split-window-vertically)
10471         (mouse-split-window-horizontally): Replace `error' by
10472         `user-error'.  Bind `window-combination-resize' to nil.
10473         (top-level): Add/reorder mouse key bindings on mode- and
10474         vertical-line.
10476 2015-07-02  Paul Eggert  <eggert@cs.ucla.edu>
10478         Don't display ‘’ as `' under X in en_GB
10479         The curved quote setup code invokes (char-displayable-p ?‘),
10480         but this isn’t reliable until after the X frame replaces the
10481         terminal frame (Bug#20926).
10482         * lisp/international/mule-cmds.el (set-locale-environment):
10483         Move curved quote setup code from here ...
10484         * lisp/startup.el (command-line): ... to here, after creating
10485         the X frame.
10487 2015-07-01  Nicolas Richard  <youngfrog@members.fsf.org>
10489         * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring.
10491         * lisp/ido.el (ido-restrict-to-matches): Add an optional argument
10492         to reverse the meaning (Bug#15631).
10494 2015-07-01  Eli Zaretskii  <eliz@gnu.org>
10496         Be more tolerant to fonts named "Foobar-12"
10497         * src/frame.c (x_set_font): If font_spec_from_name returns nil,
10498         don't barf; instead, request a new fontset to be generated.  This
10499         avoids unnecessarily rejecting fonts named against XLFD rules.  See
10500         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html,
10501         for the description of the original problem.
10502         * lisp/faces.el (set-face-attribute): Don't be fooled too easily
10503         by a hyphen in a font's name.
10505         Fix value of posn-at-pont in R2L lines
10506         * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel
10507         coordinate of -1, for a newline in a right-to-left line that
10508         overflowed into the left fringe.
10510 2015-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
10512         (cl--copy-slot-descriptor): Copy the `props' alist as well
10513         * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1):
10514         Rename from cl--copy-slot-descriptor.
10515         (cl--copy-slot-descriptor): New function.  Copy the alist (bug#20914).
10517 2015-06-30  Stefan Monnier  <monnier@iro.umontreal.ca>
10519         * lisp/term/xterm.el (xterm--query): Avoid generating garbage
10520         (xterm-query-timeout): New var.
10521         (xterm--query): Use it.  Fallback on async method if we timeout before
10522         getting the first byte of the reply (bug#12354).
10524 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10526         Spelling fixes
10527         * lisp/character-fold.el (character-fold-search):
10528         * lisp/emacs-lisp/package.el (package-hidden-regexps):
10529         Fix typos.
10531 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
10533         * doc/emacs/frames.texi (Frame Commands): Typo fix.  (Bug#20946)
10535 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10537         In strings, prefer plain ` and ' to \` and \'
10538         * lisp/allout.el (allout-insert-listified):
10539         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode):
10540         * lisp/ls-lisp.el (ls-lisp-UCA-like-collation)
10541         (ls-lisp-string-lessp):
10542         * lisp/menu-bar.el (menu-bar-open):
10543         * lisp/obsolete/otodo-mode.el (todo-top-priorities):
10544         * lisp/progmodes/compile.el (compile):
10545         * lisp/progmodes/etags.el (tags-loop-scan):
10546         * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation):
10547         * lisp/subr.el (posn-actual-col-row):
10548         * lisp/term/pc-win.el (x-list-fonts):
10549         * lisp/textmodes/texinfmt.el (texinfmt-version):
10550         * lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
10551         * lisp/time.el (display-time-world-list):
10552         * lisp/tmm.el (tmm-menubar):
10553         * src/buffer.c (syms_of_buffer):
10554         * src/fileio.c (syms_of_fileio):
10555         Omit unnecessary and confusing backslash before quote.
10556         * lisp/erc/erc.el (erc-cmd-LASTLOG):
10557         * lisp/progmodes/flymake.el (flymake-fix-file-name):
10558         * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p):
10559         Fix string that was intended to escape a backslash and not a quote.
10561 2015-06-30  Glenn Morris  <rgm@gnu.org>
10563         * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition.
10565         * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC):
10566         Replace hard-coded lists with wildcard + filter-out.
10568         * configure.ac (system-configuration-features): Add X11, NS.
10570         Improve reproducibility of generated loaddefs file
10571         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
10572         Make the return value the modtime of the input file (if no autoloads).
10573         (update-directory-autoloads): In the "no autoloads" section,
10574         use "most recent modtime" rather than "current time".
10576 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10578         * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic.
10579         (Bug#20930)
10581 2015-06-30  Nicolas Petton  <nicolas@petton.fr>
10583         * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max.
10585         Add seq-min and seq-max
10586         Bump version number.
10587         * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions.
10588         * test/automated/seq-tests.el: Add tests for seq-min and seq-max.
10590 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
10592         Make sure sleep-for always delays for as long as it's told
10593         * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in
10594         a loop, to ensure we always wait exactly the required amount of
10595         time.  (Bug#15990)
10597 2015-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10599         Fix pointer signedness glitch
10600         * src/font.c (font_load_for_lface): Use SSDATA, not SDATA.
10602 2015-06-30  Eli Zaretskii  <eliz@gnu.org>
10604         Don't block changes in mouse pointer inside 'track-mouse'
10605         * etc/NEWS:
10606         * doc/lispref/frames.texi (Mouse Tracking): Document the special
10607         effect of setting 'track-mouse' to 'dragging'.
10608         * lisp/textmodes/artist.el (artist-mouse-draw-continously):
10609         * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration):
10610         * lisp/mouse-drag.el (mouse-drag-throw):
10611         * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging'
10612         to avoid changes in the shape of the mouse pointer.
10613         * src/xdisp.c (define_frame_cursor1): Don't change the mouse
10614         pointer shape when do_mouse_tracking has the value of 'dragging',
10615         not just any non-nil value.  (Bug#20934)
10616         (syms_of_xdisp): DEFSYM 'dragging'.
10618 2015-06-30  Artur Malabarba  <bruce.connor.am@gmail.com>
10620         * lisp/isearch.el (isearch-toggle-word): Fix toggle.
10622         * lisp/emacs-lisp/package.el (package-compute-transaction):
10623         Don't assume version sorting.
10625         * lisp/emacs-lisp/package.el (package--save-selected-packages):
10626         Don't save before init time, to avoid overwriting configurations.
10627         (Bug#20855)
10629 2015-06-30  Xue Fuqiao  <xfq.free@gmail.com>
10631         * doc/emacs/display.texi (Standard Faces, Fringes): Add cross
10632         references.
10634 2015-06-29  Ted Zlatanov  <tzz@lifelogs.com>
10636         Update for the upcoming CFEngine 3.7 release: support macros and
10637         quoted context strings; reformat JSON; indent promise attributes 2
10638         units by default; give function parameter descriptions in the eldoc
10639         glue.
10640         * lisp/progmodes/cfengine.el: Update version and docs and fix name.
10641         Autoload `json-pretty-print'.  Support new features in 3.7.
10642         (cfengine-parameters-indent): Set default promise attribute indent to
10643         2 more than the promise itself.
10644         (cfengine3-macro-regex): New variable to match the new macro syntax.
10645         (cfengine3-font-lock-keywords): Use it to highlight macros.
10646         (cfengine3-indent-line): Use it to indent macros to column 0.
10647         (cfengine3-class-selector-regex): Update for the new quoted strings
10648         format.
10649         (cfengine3-reformat-json-string): New function to reformat a JSON
10650         string using `json-pretty-print'.
10651         (cfengine3-format-function-docstring): Use function parameter
10652         description if it's provided by the cf-promises syntax dump.
10654 2015-06-29  Michael R. Mauger  <michael@mauger.com>
10656         Cygwin emacsclient handles w32 file names
10657         * lisp/server.el (server-process-filter): Allow Cygwin's
10658         emacsclient to be used as a file handler on MS-Windows.
10660 2015-06-29  Katsumi Yamaoka  <yamaoka@jpl.org>
10662         * lisp/isearch.el (isearch-exit): Don't call isearch-done twice
10663         (bug#20925).
10665 2015-06-29  Eli Zaretskii  <eliz@gnu.org>
10667         * doc/lispref/text.texi (Sticky Properties): Improve wording.
10668         (Bug#20924)
10670         Allow font names that end in "-NN", where NN is a number
10671         * src/font.c (font_load_for_lface): If the font-spec didn't match
10672         any available fonts, try again without interpreting trailing "-NN"
10673         as the font size.  For the description of the original problem, see
10674         http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html
10676         .gdbinit followup to changes in !USE_LSB_TAG
10677         * src/.gdbinit (xgetsym): Don't left-shift $ptr even under
10678         !USE_LSB_TAG, as Emacs no longer does.
10680 2015-06-29  Wolfgang Jenkner  <wjenkner@inode.at>
10682         * lisp/calc-store.el (calc-insert-permanent-variable): Heed case.
10683         Otherwise `s p' of f and F will stomp on each other's value.
10684         (Bug#20916)
10686 2015-06-29  Artur Malabarba  <bruce.connor.am@gmail.com>
10688         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
10689         Don't block remember-pos if buffer isn't displayed.  (Bug#20921)
10691 2015-06-29  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
10693         * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point
10694         as additional guess.
10696         * lisp/emacs-lisp/package.el (describe-package): Convert the guess
10697         to a string.
10699 2015-06-28  Paul Eggert  <eggert@cs.ucla.edu>
10701         apropos-library quoting fix
10702         * lisp/apropos.el (apropos-library): Quote library consistently
10703         with the rest of the quoting used by apropos.
10705         Clarify interpreter-mode-alist doc
10706         * lisp/files.el (interpreter-mode-alist):
10707         Reword to avoid confusing quoting that wasn't working anyway.
10709 2015-06-28  Michael Albinus  <michael.albinus@gmx.de>
10711         Sync with Tramp 2.2.12
10712         * doc/misc/trampver.texi:
10713         * lisp/net/trampver.el: Update release number.
10714         * test/automated/tramp-tests.el (tramp-test13-make-directory):
10715         Fix cleanup.
10717 2015-06-28  Artur Malabarba  <bruce.connor.am@gmail.com>
10719         * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913).
10721 2015-06-27  Dmitry Gutov  <dgutov@yandex.ru>
10723         Bind grep-highlight-matches around the rgrep call
10724         * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches
10725         around the rgrep call (bug#20728).
10727         Put "--color" before the other options in grep-command
10728         * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color"
10729         before the other options in grep-command (bug#20912).
10731         Add --color Grep option to the command dynamically
10732         * lisp/progmodes/grep.el (grep-template, grep-find-template):
10733         Update the description for <C>.  (Bug#20728)
10734         (grep-compute-defaults): Don't add the --color option to
10735         grep-options.  Only add it to grep-command.
10736         (grep-expand-keywords): Expand the env value opts into <C>.
10737         (grep-expand-template): Replace cf in the env with the opts list,
10738         that can include -i and --color.
10739         * lisp/progmodes/xref.el (xref-collect-matches): Do not remove
10740         "--color=always" from the template, because we don't have to.
10742 2015-06-27  Paul Eggert  <eggert@cs.ucla.edu>
10744         cl-extra fixes for most-negative-fixnum
10745         * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random):
10746         Don't mishandle an argument equal to most-negative-fixnum,
10747         whose absolute value equals itself.
10748         (cl-gcd, cl-lcm): Use dolist rather than doing it by hand.
10750         Initialize cl--gensym-counter to 0
10751         Previously it was initialized to a random value, which made it
10752         harder to reproduce earlier Emacs runs.  The need for a random
10753         value went away when Emacs introduced and used the #: syntax for
10754         uninterned symbols (Bug#20862).
10755         * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility):
10756         Document that cl--gensym-counter now starts with 0.
10757         * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove.
10758         (cl--random-time): Move to near only remaining use.
10759         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0.
10761         Improve docstring for macroexp-let2
10762         * lisp/emacs-lisp/macroexp.el (macroexp-let2):
10763         Improve as per suggestion by RMS in:
10764         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html
10765         Also, rename args to match new doc string.
10767 2015-06-27  Eli Zaretskii  <eliz@gnu.org>
10769         Fix VC test suite on MS-Windows
10770         * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL
10771         always starts with 3 slashes after the colon.
10772         * test/automated/vc-tests.el (vc-test--create-repo-function): Use
10773         'w32-application-type' to invoke CVS on MS-Windows with properly
10774         formatted CVSROOT directory name.
10776         Add a new function w32-application-type
10777         * src/w32proc.c (Fw32_application_type): New function.
10779         Avoid error in TLS connections due to incorrect format
10780         * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in
10781         the call to 'error', instead of the unsupported %u.  Reported by
10782         lo2net <fangtao0901@gmail.com>.  (Bug#20908)
10784 2015-06-26  Artur Malabarba  <bruce.connor.am@gmail.com>
10786         * lisp/replace.el (replace-search): Fix regexp case (bug#20901).
10788 2015-06-26  Leo Liu  <sdl.web@gmail.com>
10790         * lisp/emacs-lisp/cl-indent.el: Fix indentation for
10791         `with-output-to-string' in elisp.
10793         Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of
10794         with-output-to-string".
10795         This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd.
10797 2015-06-26  Eli Zaretskii  <eliz@gnu.org>
10799         Minor corrections in ELisp manual
10800         * doc/lispref/nonascii.texi (Character Properties): Correct
10801         inaccuracies in description of values of the Unicode properties.
10803         Fix invisible mouse pointers on Windows.
10804         * src/w32fns.c: Include windowsx.h.
10805         (w32_wnd_proc): If the mouse moved and the mouse pointer is
10806         invisible, make it visible again even when the main (Lisp)
10807         thread is busy.
10808         * src/w32term.c (w32_toggle_invisible_pointer): Rather then
10809         garbaging the frame have the input thread call SetCursor.
10811 2015-06-26  Martin Rudalics  <rudalics@gmx.at>
10813         Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922)
10814         * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible
10815         for WM_SETCURSOR and WM_EMACS_SETCURSOR cases.
10816         * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible.
10817         (w32_toggle_invisible_pointer): New function.
10818         (w32_create_terminal): Add w32_toggle_invisible_pointer as
10819         toggle_invisible_pointer_hook for this terminal.
10821 2015-06-25  Xue Fuqiao  <xfq.free@gmail.com>
10823         Doc fix for deletion commands
10824         'delete-char' does not respect the value of 'delete-active-region'.
10825         * doc/emacs/killing.texi (Deletion):
10826         Fix documentation for some single-char deletion commands.
10828         * doc/emacs/help.texi (Apropos):
10829         Improve documentation of 'apropos-do-all'.
10831         * doc/emacs/help.texi (Help Summary):
10832         Improve documentation of 'describe-mode'.
10834 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10836         Fix submake dependency bug with .h files
10837         * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)):
10838         Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h
10839         before the submake in $(libsrc) would spin off a subsubmake
10840         for $(lib) in parallel with our submake for $(lib) (Bug#20894).
10842 2015-06-25  Artur Malabarba  <bruce.connor.am@gmail.com>
10844         * lisp/character-fold.el (character-fold-table): Reuse `table'.
10846 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10848         Translate undisplayable ‘ to `
10849         * doc/lispref/help.texi (Keys in Documentation):
10850         * lisp/international/mule-cmds.el (set-locale-environment):
10851         * lisp/term/w32console.el (terminal-init-w32console):
10852         * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation):
10853         If ‘ is not displayable, transliterate it to `, not to '.  See:
10854         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html
10856         Fix C99 incompatibilities in Cairo code
10857         * src/image.c (xpm_load) [USE_CAIRO]:
10858         * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]:
10859         Fix pointer signedness problem.
10861 2015-06-25  Oleh Krehel  <ohwoeowho@gmail.com>
10863         lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string
10864         * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function):
10865         `with-output-to-string' should have the same indent as `progn'.
10866         This is in line with the declaration of `with-output-to-string'.
10868 2015-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10870         Get ‘./configure; make -C src emacs’ to work
10871         Without this fix, lib/fcntl.h isn't built in time (Bug#20894).
10872         * lib-src/Makefile.in (../lib/libgnu.a):
10873         * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a.
10875 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10877         Fix GC bugs --with-wide-int and Qnil == 0
10878         Use the same alignment for the !USE_LSB_TAG case as for the
10879         more-typical USE_LSB_TAG case.  The attempt to support arbitrary
10880         alignments with !USE_LSB_TAG had subtle bugs in garbage collection
10881         once we changed the representation of symbols so that Qnil == 0.
10882         Problem reported by Eli Zaretskii (Bug#20862).
10883         * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]:
10884         * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol)
10885         (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc):
10886         Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG.
10887         * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove.
10888         This optimization in the !USE_LSB_TAG case is no longer valid when
10889         symbols are represented via offsets.  Change the only use to
10890         assume that pointers might hide in objects.
10891         * src/lisp.h (alignas) [!USE_LSB_TAG]:
10892         Require support in this case, too.
10893         (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset.
10894         This is OK, because the !USE_LSB_TAG case now applies only when
10895         Lisp_Object is wider than void *, so there's no longer any need
10896         to shift the offset.  Not shifting the offset means that
10897         symbol representations have the same alignment as pointers,
10898         which the GC assumes.
10900 2015-06-24  Xue Fuqiao  <xfq.free@gmail.com>
10902         * doc/lispintro/emacs-lisp-intro.texi (Data types):
10903         Improve documentation of 'substring'.
10905 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10907         * lisp/character-fold.el (character-fold-table): Fix table generation.
10909 2015-06-24  Glenn Morris  <rgm@gnu.org>
10911         * nextstep/Makefile.in (all): Make it the first target.
10912         (../src/emacs${EXEEXT}): Add rule for making it.
10914 2015-06-24  Artur Malabarba  <bruce.connor.am@gmail.com>
10916         * etc/NEWS: Fix mention to old function name.
10918         * lisp/character-fold.el: New file (Bug#20887)
10919         (character-fold-to-regexp): New function.
10920         * lisp/replace.el (replace-search): Check value of
10921         `character-fold-search'.
10922         * lisp/isearch.el: Move character-folding code to
10923         character-fold.el
10924         (isearch-toggle-character-fold): New command.
10925         (isearch-mode-map): Bind it to "\M-sf".
10926         (isearch-mode): Check value of `character-fold-search'.
10928 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10930         lisp/subr.el (remove-from-invisibility-spec): Handle the t case
10931         * lisp/subr.el (remove-from-invisibility-spec): Make sure `element'
10932         is visible even if it's not yet in buffer-invisibility-spec (bug#20468).
10934         * lisp/progmodes/xref.el (xref-location-group, xref-location-marker)
10935         (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref.
10937 2015-06-24  Glenn Morris  <rgm@gnu.org>
10939         * Makefile.in (install-arch-dep): Don't set sticky bit on the binary.
10941 2015-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
10943         lisp/gnus/nnmaildir.el: Silence lexical warnings
10944         * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more
10945         functional style.
10946         (nnmaildir--update-nov): Remove unused var `numdir'.
10947         (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups)
10948         (nnmaildir-request-group, nnmaildir-request-create-group)
10949         (nnmaildir-request-post, nnmaildir-request-move-article)
10950         (nnmaildir-request-accept-article, nnmaildir-active-number):
10951         Mark unused args.
10952         (nnmaildir-get-new-mail, nnmaildir-group-alist)
10953         (nnmaildir-active-file): Declare.
10954         (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'.
10955         (nnmaildir-request-update-info): Remove unused vars `dotfile', `num',
10956         `mark', `end', `new-mark', and `mark-sym'.
10957         (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir',
10958         `nlist2'.
10959         (nnmaildir-request-expire-articles):
10960         Remove unused vars `article', `stop' and `nlist2'.
10961         (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and
10962         `end'.  Use nnmaildir--article when dyn-binding is needed.
10963         Give the value directly in the `let' for `del-mark', `del-action',
10964         `add-action', and `set-action'.  Don't use `add-to-list' on a local var.
10965         (nnmaildir-close-server): Declare those local vars that need to be
10966         dyn-bound.
10968 2015-06-24  Paul Eggert  <eggert@cs.ucla.edu>
10970         * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local.
10972         Port selection info fix to clang
10973         * src/keyboard.h (kbd_buffer_store_event_hold):
10974         Don't assume C11 semantics for alignof (Bug#20756).
10976         Fix bug that munged selection info
10977         On some optimizing C compilers, copying a structure did not
10978         copy the padding bytes between elements, and the type punning
10979         between struct input_data and struct selection_input_data did
10980         not work.  Change the C code to use a proper union type instead.
10981         Problem reported by YAMAMOTO Mitsuharu (Bug#20756).
10982         * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr)
10983         (readable_events, discard_mouse_events, kbd_buffer_events_waiting)
10984         (kbd_buffer_get_event, process_special_events, stuff_buffered_input)
10985         (mark_kboards):
10986         Use union buffered_input_event, not struct input_event.
10987         (clear_event, deliver_input_available_signal, process_special_events):
10988         Remove unnecessary forward decls.
10989         (kbd_buffer_store_buffered_event): New function, mostly just the
10990         old kbd_buffer_store_event_hold, except its argument is of type
10991         union buffered_input_event, not struct input_event.
10992         (kbd_buffer_unget_event): Define only if HAVE_X11, since it's
10993         not needed otherwise.  Argument is now of type
10994         struct selection_input_event *, not struct input_event *.
10995         All callers changed.
10996         (clear_event): Arg is now of type union buffered_input_event *,
10997         not struct input_event *.  All callers changed.
10998         * src/keyboard.h [HAVE_X11]: Include "xterm.h".
10999         (union buffered_input_event): New type.
11000         (kbd_buffer_store_event_hold): Now an inline function,
11001         defined here.
11002         * src/termhooks.h (EVENT_KIND_WIDTH): New constant.
11003         (struct input_event): Use it.
11004         * src/xselect.c (struct selection_event_queue):
11005         Make elements be of type struct selection_input_event,
11006         not struct input_event.
11007         (selection_input_event_equal): New static function.
11008         (x_queue_event): Use it.
11009         (x_queue_event, x_decline_selection_request)
11010         (x_selection_current_request, x_reply_selection_request)
11011         (x_handle_selection_request, x_handle_selection_clear)
11012         (x_handle_selection_event): Use struct selection_input_event,
11013         not struct input_event.  All callers changed.
11014         (x_convert_selection): Omit unused first arg.  All callers changed.
11015         (Fx_disown_selection_internal): Omit unnecessary union.
11016         * src/xterm.c (handle_one_xevent): Use new union buffered_input_event
11017         rather than rolling our own equivalent.  Prefer sie.kind when
11018         setting up that kind of structure.
11019         Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold.
11020         * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH.
11021         (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO)
11022         (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION)
11023         (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY)
11024         (SELECTION_EVENT_TIME, x_handle_selection_event):
11025         Arg is now of type struct selection_input_event *)
11026         not struct input_event *.  All callers changed.
11028 2015-06-23  Glenn Morris  <rgm@gnu.org>
11030         * Makefile.in (install-arch-dep): Simplify with Make conditionals.
11032 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
11034         * lisp/isearch.el: Fold many unicode characters to ASCII.
11035         (isearch-character-fold-search, isearch--character-fold-extras)
11036         (isearch--character-fold-table): New variable.
11037         (isearch--character-folded-regexp): New function.
11038         (isearch-search-fun-default): Use them.
11039         * lisp/replace.el (replace-character-fold): New variable.
11040         (replace-search): Use it.
11041         * etc/NEWS: Document it.
11043 2015-06-23  Glenn Morris  <rgm@gnu.org>
11045         Check for an input event before showing a dialog box.  (Bug#20813)
11046         * lisp/subr.el (y-or-n-p):
11047         * src/fns.c (Fyes_or_no_p): Check last-input-event as well
11048         as last-nonmenu-event.
11050 2015-06-23  Jürgen Hartmann  <juergen_hartman_@hotmail.com>  (tiny change)
11052         Respect ‘switch-to-visible-buffer’ more rigidly.  (Bug#20861)
11053         * lisp/window.el (switch-to-visible-buffer): Doc adjustment.
11054         (switch-to-prev-buffer, switch-to-next-buffer): Respect
11055         switch-to-visible-buffer independent of the windows history.
11057 2015-06-23  Paul Eggert  <eggert@cs.ucla.edu>
11059         * src/keyboard.c (last_timer_event): Remove unused var.
11061 2015-06-23  Artur Malabarba  <bruce.connor.am@gmail.com>
11063         * test/automated/package-test.el (package-test-update-listing):
11064         Fix test.
11066 2015-06-23  Glenn Morris  <rgm@gnu.org>
11068         Revert 2014-06-25 nextstep/Makefile change.
11069         * nextstep/Makefile.in (${ns_appbindir}): Remove rule.
11070         (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule,
11071         not as an order-only prerequisite.
11073         * configure.ac (--with-ns): Enable by default on OS X.
11075 2015-06-23  Leo Liu  <sdl.web@gmail.com>
11077         Fix shell-for/backward-command to exclude spaces
11078         * lisp/shell.el (shell-forward-command, shell-backward-command):
11079           Handle the 'move case from re-search-forward/backward.
11080           fixes debbugs:20873
11082 2015-06-22  Juri Linkov  <juri@linkov.net>
11084         * lisp/replace.el (query-replace-read-from): Add separator to
11085         the local binding of text-property-default-nonsticky.  (Bug#20690)
11087         * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'.
11088         (Bug#20785)
11090 2015-06-22  Ken Brown  <kbrown@cornell.edu>
11092         Enable CPU profiling on Cygwin
11093         * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous
11094         change that undefined this.
11095         (SIGEV_SIGNAL): Ensure that this is defined as a macro.
11096         * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on
11097           Cygwin.
11099         Improve diagnostics of profiler-cpu-start
11100         * src/profiler.c (setup_cpu_timer): Change return type to 'int';
11101         return -1 if the sampling interval is invalid.
11102         (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer'
11103         fails.  (Bug#20843)
11105 2015-06-22  Artur Malabarba  <bruce.connor.am@gmail.com>
11107         * lisp/emacs-lisp/package.el: Exclude packages by name.
11108         (package-hidden-regexps): New variable.
11109         (package-menu--refresh): Use it.
11110         (package-menu-hide-package): New command.
11112         * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding.
11114 2015-06-22  Eli Zaretskii  <eliz@gnu.org>
11116         Fix debug-timer-check on systems without HAVE_TIMERFD
11117         * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run
11118         the expired timers, since wait_reading_process_output doesn't.
11119         (debug_timer_callback): Enlarge the tolerance to 20 msec.
11121         Fix RCS crashes in vc-test
11122         * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old
11123         ports of 'ci' on MS-Windows by always passing the -t- switch.
11125 2015-06-22  Glenn Morris  <rgm@gnu.org>
11127         * doc/emacs/package.texi (Packages):
11128         * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references.
11130         * doc/misc/efaq-w32.texi (Downloading): Copyedits.  (Bug#20851)
11132 2015-06-22  Paul Eggert  <eggert@cs.ucla.edu>
11134         Port tests to help-quote-translation
11135         * test/automated/ert-x-tests.el (ert-test-describe-test):
11136         * test/automated/package-test.el (package-test-describe-package)
11137         (package-test-signed): Allow straight quotes, too.
11139 2015-06-22  Dmitry Gutov  <dgutov@yandex.ru>
11141         Make find-function-on-key use the current window
11142         * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it):
11143         Extract from `find-function-on-key', add a second argument.
11144         (find-function-on-key): Use it (bug#19679).
11145         (find-function-on-key-other-window)
11146         (find-function-on-key-other-frame): New commands.
11148 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
11150         Revert "Define `map-elt' as a generalized variable"
11151         This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6.
11153 2015-06-21  Ken Brown  <kbrown@cornell.edu>
11155         Drop support for CPU profiling on Cygwin
11156         * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin.
11157         (Bug#20843)
11159 2015-06-21  Paul Eggert  <eggert@cs.ucla.edu>
11161         Fix some “nested” quoting confusion in doc strings
11162         * lisp/emacs-lisp/advice.el (ad-map-arglists):
11163         * lisp/kermit.el (kermit-clean-on):
11164         * lisp/mh-e/mh-comp.el (mh-repl-group-formfile):
11165         * src/keyboard.c (Frecursive_edit):
11166         Use curved quotes when quoting text containing apostrophe,
11167         so that the apostrophe isn't curved in the output.
11169 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
11171         Define `map-elt' as a generalized variable
11172         * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander.
11173         * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code.
11174         * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a
11175         `setf' with `map-elt'.
11176         * test/automated/map-tests.el: Comment out `test-map-put-literal'.
11178 2015-06-21  Michael Albinus  <michael.albinus@gmx.de>
11180         Improve error handling in tramp-adb.el
11181         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
11182         Improve error handling.
11184 2015-06-21  Nicolas Petton  <nicolas@petton.fr>
11186         Reuse `alist-get' in map.el
11187         * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist
11188         elements.
11190 2015-06-21  Eli Zaretskii  <eliz@gnu.org>
11192         Fix bytecomp-tests--warnings when $TMPDIR has a long name
11193         * test/automated/bytecomp-tests.el (bytecomp-tests--warnings):
11194         Allow the warning to begin on the 3rd, not only 2nd line, which
11195         happens if temporary-file-directory has a very long name.
11197         Expect 2 icalendar tests to fail on MS-Windows
11198         * test/automated/icalendar-tests.el (icalendar-import-with-timezone)
11199         (icalendar-real-world): Make them expected failures on MS-Windows.
11201 2015-06-20  Paul Eggert  <eggert@cs.ucla.edu>
11203         Improve port of settings UI to older displays
11204         * lisp/cus-start.el (standard): Don't assume curved quotes are
11205         easily distinguishable when users are tinkering with a setting
11206         that affects how curved quotes are generated.
11208         Fix quoting in electric-quote-mode doc string
11209         * lisp/electric.el (electric-quote-mode): Fix quoting.
11210         This is a fallout from the recent change introducing
11211         ‘help-quote-translation’.
11213         Spelling fix
11215         * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib.
11217         * src/doc.c (syms_of_doc): Remove unused symbols.
11219 2015-06-20  Martin Rudalics  <rudalics@gmx.at>
11221         * lisp/window.el (window-state-put): Undedicate target window
11222         before putting STATE into it.  (Bug#20848)
11224 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
11226         Merge from origin/emacs-24
11227         a5e6f33 Fixes: debbugs:20832
11228         b9f02cf Fixes: debbugs:20832
11230 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
11232         Fix file-in-directory-p when the directory is UNC
11233         * lisp/files.el (file-in-directory-p): Support files and
11234         directories that begin with "//".  (Bug#20844)
11236 2015-06-19  Stephen Berman  <stephen.berman@gmx.net>
11238         * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file
11239         in the minibuffer.  (Bug#20832)
11241 2015-06-19  Nicolas Richard  <youngfrog@members.fsf.org>
11243         * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer
11244         for adding new todo file is empty but modified.  (Bug#20832)
11246 2015-06-19  Stefan Monnier  <monnier@iro.umontreal.ca>
11248         (filepos-to-bufferpos): Further tweaks to the utf-16 code
11249         * lisp/international/mule-util.el (filepos-to-bufferpos):
11250         Fix typo.  Move non-exact check to the utf-16 branch (the only one
11251         affected).  Don't use byte-to-position for the utf-16 case.
11253 2015-06-19  Eli Zaretskii  <eliz@gnu.org>
11255         Minor fixes in filepos-to-bufferpos
11256         * lisp/international/mule-util.el (filepos-to-bufferpos): Remove
11257         test for utf-8-emacs.  Exempt single-byte encodings from the
11258         'use-exact' path when QUALITY is 'exact'.  Test UTF-16 encodings
11259         for BOM before subtracting 2 bytes.  Use 'identity' when adjusting
11260         UTF-16 encoded files for CR-LF EOLs.
11262 2015-06-19  Paul Eggert  <eggert@cs.ucla.edu>
11264         Improve the optional translation of quotes
11265         Fix several problems with the recently-added custom variable
11266         help-quote-translation where the code would quote inconsistently
11267         in help buffers.  Add support for quoting 'like this', which
11268         is common in other GNU programs in ASCII environments.  Change
11269         help-quote-translation to use more mnemonic values: values are now the
11270         initial quoting char, e.g., (setq help-quote-translation ?`) gets the
11271         traditional Emacs help-buffer quoting style `like this'.  Change the
11272         default behavior of substitute-command-keys to match what's done in
11273         set-locale-environment, i.e., quote ‘like this’ if displayable,
11274         'like this' otherwise.
11275         * doc/lispref/help.texi (Keys in Documentation): Document
11276         new behavior of substitute-command-keys, and document
11277         help-quote-translation.
11278         * doc/lispref/tips.texi (Documentation Tips):
11279         Mention the effect of help-quote-translation.
11280         * etc/NEWS: Mention new behavior of substitute-command-keys,
11281         and merge help-quote-translation news into it.
11282         When talking about doc strings, mention new ways to type quotes.
11283         * lisp/cedet/mode-local.el (overload-docstring-extension):
11284         Revert my recent change to this function, which shouldn't be
11285         needed as the result is a doc string.
11286         * lisp/cedet/mode-local.el (mode-local-print-binding)
11287         (mode-local-describe-bindings-2):
11288         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
11289         * lisp/cus-theme.el (describe-theme-1):
11290         * lisp/descr-text.el (describe-text-properties-1, describe-char):
11291         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
11292         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
11293         (eieio-help-constructor):
11294         * lisp/emacs-lisp/package.el (describe-package-1):
11295         * lisp/faces.el (describe-face):
11296         * lisp/help-fns.el (help-fns--key-bindings)
11297         (help-fns--compiler-macro, help-fns--parent-mode)
11298         (help-fns--obsolete, help-fns--interactive-only)
11299         (describe-function-1, describe-variable):
11300         * lisp/help.el (describe-mode):
11301         Use substitute-command-keys to ensure a more-consistent quoting
11302         style in help buffers.
11303         * lisp/cus-start.el (standard):
11304         Document new help-quote-translation behavior.
11305         * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs):
11306         * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp)
11307         (help-xref-url-regexp):
11308         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
11309         * lisp/wid-edit.el (widget-documentation-link-regexp):
11310         Also match 'foo', in case we're in a help buffer generated when
11311         help-quote-translation is ?'.
11312         * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR.
11313         (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0)
11314         (uRSQM1, uRSQM2, LSQM, RSQM): New constants.
11315         (Fsubstitute_command_keys): Document and implement new behavior.
11316         (Vhelp_quote_translation): Document new behavior.
11318 2015-06-18  Glenn Morris  <rgm@gnu.org>
11320         * lisp/cus-start.el (help-quote-translation): Add :version.
11322         * src/doc.c (Fsubstitute_command_keys): Make previous change compile.
11324 2015-06-18  Alan Mackenzie  <acm@muc.de>
11326         Make translation of quotes to curly in doc strings optional.
11327         * src/doc.c (traditional, prefer-unicode): New symbols.
11328         (help-quote-translation): New variable.
11329         (Fsubstitute_command_keys): Make translation of quotes dependent on
11330         `help-quote-translation'; also translate curly quotes back to ASCII
11331         ones.
11332         * lisp/cus-start.el (top-level): Add a customization entry for
11333         `help-quote-translation'.
11335 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
11337         * lisp/emacs-lisp/package.el: Don't always propagate async errors
11338         (package--with-work-buffer-async): Only propagate the error if the
11339         callback returns non-nil.
11340         (package--download-one-archive): Return nil on the signature
11341         checking callback if we accept unsigned.
11342         (package--download-and-read-archives): Return non-nil on the
11343         archive download callback.
11345 2015-06-18  Martin Rudalics  <rudalics@gmx.at>
11347         Set image_cache_refcount before x_default_parameter calls.  (Bug#20802)
11348         * src/nsfns.m (Fx_create_frame):
11349         * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting
11350         image_cache_refcount before first x_default_parameter call.
11352 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
11354         Improve and extend filepos-to-bufferpos
11355         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
11356         Don't barf if F returns nil for some argument.
11357         (filepos-to-bufferpos): Expand to support UTF-16 and not assume
11358         that every encoding of type 'charset' is single-byte.
11360 2015-06-18  Artur Malabarba  <bruce.connor.am@gmail.com>
11362         * lisp/emacs-lisp/package.el (package-menu--perform-transaction):
11363         Properly delete packages.  (Bug#20836)
11365 2015-06-18  Eli Zaretskii  <eliz@gnu.org>
11367         Update data files from just-released Unicode 8.0
11368         * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft
11369         status.
11370         * test/BidiCharacterTest.txt: Update from Unicode 8.0.
11371         * admin/unidata/BidiMirroring.txt:
11372         * admin/unidata/BidiBrackets.txt:
11373         * admin/unidata/UnicodeData.txt: Update from Unicode 8.0.
11375 2015-06-18  Paul Eggert  <eggert@cs.ucla.edu>
11377         Document curved quotes a bit better
11378         * doc/emacs/basic.texi (Inserting Text):
11379         Mention C-x 8.  Change example to use curved quote rather
11380         than infinity, as this lets us give more ways to do it.
11381         * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts
11382         and quotation marks.
11383         * doc/emacs/text.texi (Quotation Marks):
11384         * doc/lispref/tips.texi (Documentation Tips):
11385         Add "curly quotes" and "curved quotes" to the index.
11386         * doc/emacs/text.texi (Quotation Marks):
11387         Give the C-x 8 shorthands for curved quotes.
11388         Cross-reference to "Quotation Marks".
11390 2015-06-17  Daiki Ueno  <ueno@gnu.org>
11392         Add pinentry.el for better GnuPG integration
11393         * lisp/pinentry.el: New file.
11394         * etc/NEWS: Add entry about pinentry.el.
11395         * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar.
11396         (Bug#20550)
11398 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
11400         * lisp/emacs-lisp/package.el: Slightly better error reporting.
11402 2015-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
11404         (define-minor-mode): Use setq-default for :global minor modes
11405         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
11406         Use setq-default for :global minor modes (bug#20712).
11408 2015-06-17  Eli Zaretskii  <eliz@gnu.org>
11410         Avoid infloop in redisplay with tall images
11411         * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling
11412         down near ZV.  (Bug#20808)
11413         Call bidi_unshelve_cache to avoid memory leaks.  Use IT_CHARPOS
11414         instead of CHARPOS.
11416 2015-06-17  Artur Malabarba  <bruce.connor.am@gmail.com>
11418         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
11419         Fix error reporting.
11421         * lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el
11423         * lisp/emacs-lisp/package.el: Revert buffer after any operation
11424         Call `package-menu--post-refresh' after any operation that changes
11425         the package database (`package-install' and `package-delete').  To
11426         avoid performance issues in large transactions, these functions
11427         add `post-refresh' to `post-command-hook' instead of calling it
11428         immediately.
11429         (package-menu--mark-or-notify-upgrades): New function.
11430         (list-packages): Add it to `package--post-download-archives-hook'.
11431         (package-menu--post-refresh): Lose the upgrade-checking code, add
11432         code to remove itself from `post-command-hook'.
11433         (package-install, package-delete): Add it to `post-command-hook'.
11434         (package-menu-execute): Don't call `package-menu--post-refresh'.
11436 2015-06-17  Stephen Leake  <stephen_leake@stephe-leake.org>
11438         Add missing function xref-location-group for elisp-mode.
11439         * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group.
11441 2015-06-17  Wolfgang Jenkner  <wjenkner@inode.at>
11443         * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary.
11444         The behavior now matches the description in the manual.  (Bug#20783)
11446 2015-06-17  Xue Fuqiao  <xfq.free@gmail.com>
11448         * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
11450 2015-06-17  Glenn Morris  <rgm@gnu.org>
11452         Generate char-script-table from Unicode source.  (Bug#20789)
11453         * admin/unidata/Makefile.in (AWK): New, set by configure.
11454         (all): Add charscript.el.
11455         (blocks): New variable.
11456         (charscript.el, ${unidir}/charscript.el): New targets.
11457         (extraclean): Also remove generated charscript.el.
11458         * admin/unidata/blocks.awk: New script.
11459         * admin/unidata/Blocks.txt: New data file, from unicode.org.
11460         * lisp/international/characters.el: Load charscript.
11461         * src/Makefile.in (charscript): New variable.
11462         (${charscript}): New target.
11463         (${lispintdir}/characters.elc): Depend on charscript.elc.
11464         (temacs$(EXEEXT)): Depend on charscript.
11466         * lisp/international/characters.el (char-script-table): Tweak
11467         some ranges to better match the source.  (Bug#20789#17)
11469         Remove "no-byte-compile: t" from a few files.
11470         * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el:
11471         * lisp/obsolete/patcomp.el: No reason not to compile these.
11473 2015-06-16  Glenn Morris  <rgm@gnu.org>
11475         Fix some typos in copied Unicode data.  (Bug#20789)
11476         * lisp/international/characters.el (char-script-table):
11477         * lisp/international/fontset.el (script-representative-chars)
11478         (setup-default-fontset): Fix typos.
11480         * lisp/emacs-lisp/check-declare.el (check-declare-warn):
11481         Don't print filename twice (it's in the prefix now).
11483         * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround.
11484         No longer needed.
11486         Address a compilation warning.
11487         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias):
11488         Replace 't' with '_' in pcase.
11490         Address some check-declare warnings.
11491         * lisp/simple.el (tabulated-list-print):
11492         * lisp/progmodes/elisp-mode.el (xref-collect-matches):
11493         * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p)
11494         (ns-get-selection): Update declarations.
11496         Address some compilation warnings.
11497         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
11498         * lisp/vc/vc-git.el (vc-git-file-type-as-string):
11499         Replace 't' with '_' in pcase.
11501         Address some compilation warnings.
11502         * lisp/face-remap.el (text-scale-adjust):
11503         * lisp/menu-bar.el (popup-menu-normalize-position):
11504         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand):
11505         * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn):
11506         * lisp/emacs-lisp/generator.el (cps--transform-1):
11507         * lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
11508         * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string):
11509         * lisp/progmodes/octave.el (octave-goto-function-definition)
11510         (octave-find-definition-default-filename):
11511         Replace 't' with '_' in pcase.
11513         * lisp/emacs-lisp/pcase.el (pcase--u1):
11514         Paper-over today's bootstrap failure.
11516 2015-06-16  Nicolas Petton  <nicolas@petton.fr>
11518         * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase.
11520         * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning.
11522         Better confirmation message in `find-alternate-file' (Bug#20830)
11523         * lisp/files.el (find-alternate-file'): Improve the confirmation
11524         message to show the buffer name.
11526         Better docstring for null.  (Bug#20815)
11527         * src/data.c (null): Improves the docstring, saying what null returns
11528         when OBJECT is non-nil.
11530 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
11532         * lisp/net/newst-treeview.el: Use lexical-binding.
11534         (filepos-to-bufferpos): Add missing cases.  Make sure it terminates.
11535         * lisp/international/mule-util.el (filepos-to-bufferpos--dos):
11536         New auxiliary function, extracted from filepos-to-bufferpos.
11537         Make sure it terminates.
11538         (filepos-to-bufferpos): Use it to fix the latin-1-dos case.
11539         Add support for the `exact' quality.
11541 2015-06-16  Cédric Chépied  <cedric.chepied@gmail.com>
11543         Identify feeds in newsticker treeview with :nt-feed property
11544         * lisp/net/newst-treeview.el:
11545         (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag.
11547 2015-06-16  Stefan Monnier  <monnier@iro.umontreal.ca>
11549         * lisp/emacs-lisp/pcase.el: Improve docs and error handling.
11550         (pcase--self-quoting-p): Floats aren't self-quoting.
11551         (pcase): Tweak docstring.
11552         (pcase--u1): Deprecate the t pattern.  Improve error detection for
11553         the nil pattern.
11554         (\`): Tweak docstring.  Signal an error for unrecognized cases.
11555         (bug#20784)
11557 2015-06-16  Eli Zaretskii  <eliz@gnu.org>
11559         Fix infloop in filepos-to-bufferpos
11560         * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL
11561         offset calculation, and make it conditional on the eol-type of the
11562         file's encoding.  (Bug#20825)
11564 2015-06-16  Martin Rudalics  <rudalics@gmx.at>
11566         Fix handling of image cache refcounts.  (Bug#20802)
11567         This backports Eli Zaretskii's solution of this problem for W32
11568         to X and NS.
11569         * src/nsfns.m (image_cache_refcount): Define unconditionally.
11570         (unwind_create_frame): If the image cache's reference count
11571         hasn't been updated yet, do that now.
11572         (Fx_create_frame): Set image_cache_refcount unconditionally.
11573         * src/xfns.c (image_cache_refcount): Define unconditionally.
11574         (unwind_create_frame): If the image cache's reference count
11575         hasn't been updated yet, do that now.
11576         (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount
11577         unconditionally.
11578         * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on
11579         X and NS.
11581 2015-06-16  Nils Ackermann  <nils@ackermath.info>
11583         Improve reftex-label-regexps default value
11584         * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make
11585         keyvals label regexp more strict to better cope with unbalanced
11586         brackets common in math documents.
11588 2015-06-16  Glenn Morris  <rgm@gnu.org>
11590         * doc/emacs/calendar.texi (Format of Diary File):
11591         Move "nonmarking" from here...
11592         (Displaying the Diary): ... to here.
11594         * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary):
11595         Swap the order of these nodes.
11596         * doc/emacs/emacs.texi: Update detailed menu for the above change.
11598         * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries):
11599         Update date of examples.
11600         (Diary, Format of Diary File): Move example from former to latter.
11601         Reduce duplication.
11603         No need for cp51932.el, eucjp-ms.el to not be compiled any more.
11604         * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk:
11605         Don't set no-byte-compile in the outputs.
11606         * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms.
11608 2015-06-15  Glenn Morris  <rgm@gnu.org>
11610         * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file.
11611         * doc/emacs/calendar.texi (Diary, Format of Diary File):
11612         Update for above diary-file change.
11614         * lisp/macros.el (name-last-kbd-macro, kbd-macro-query)
11615         (apply-macro-to-region-lines): Use user-error.
11617         * lisp/textmodes/page-ext.el (add-new-page, pages-directory)
11618         (pages-directory-for-addresses): Doc fixes.
11620 2015-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
11622         * lisp/info.el: Cleanup bytepos/charpos issues
11623         * lisp/international/mule-util.el: Use lexical-binding.
11624         (filepos-to-bufferpos): New function.
11625         * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions.
11626         (Info-find-node-2): Use filepos-to-bufferpos (bug#20704).
11627         (Info-read-subfile, Info-search): Use 0-based file positions.
11629         * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/
11630         (perl--syntax-exp-intro-keywords): New var.
11631         (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it.
11632         (bug#20800).
11634 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11636         Fix quoting when making derived mode docstring
11637         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
11638         Nest regexp-quote inside format, not the reverse.
11639         Problem reported by Artur Malabarba in:
11640         http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html
11642 2015-06-15  Eli Zaretskii  <eliz@gnu.org>
11644         Fix current-iso639-language on MS-Windows
11645         * lisp/international/mule-cmds.el (set-locale-environment):
11646         Downcase the locale name before interning it.  This is so the
11647         'current-iso639-language' on MS-Windows matches the ':lang'
11648         property of font-spec objects.
11650         Limit Symbola usage some more
11651         * lisp/international/fontset.el (setup-default-fontset): Limit
11652         Symbol coverage of Currency Symbols to u+20B6..u+20CF.
11653         (Bug#20727)
11655 2015-06-15  Nicolas Petton  <nicolas@petton.fr>
11657         * lisp/emacs-lisp/map.el (map-let): Better docstring.
11659 2015-06-15  Paul Eggert  <eggert@cs.ucla.edu>
11661         * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f):
11662         (help-fns-test-funny-names): Spelling fixes.
11664 2015-06-14  Glenn Morris  <rgm@gnu.org>
11666         * lisp/version.el (emacs-repository-version-git): Demote errors.
11667         Check result is a hash.
11669 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
11671         * lisp/emacs-lisp/package.el (package--with-work-buffer-async):
11672         Catch errors that happen before going async.  (Bug#20809)
11674 2015-06-14  Eli Zaretskii  <eliz@gnu.org>
11676         Another improvement of documentation of set-fontset-font
11677         * doc/lispref/display.texi (Fontsets): Say explicitly that
11678         CHARACTER can be a single codepoint.
11679         * src/fontset.c (Fset_fontset_font): Doc fix.
11681         Another improvement for symbol and punctuation characters
11682         * lisp/international/fontset.el (setup-default-fontset): Exclude
11683         from Symbola character ranges for symbols and punctuation covered
11684         well by popular Unicode fonts.  Prefer fixed-misc Unicode font, if
11685         installed and where its coverage of symbols and punctuation is
11686         known to be good.  (Bug#20727)
11688 2015-06-14  Christoph Wedler  <christoph.wedler@sap.com>
11690         Some generic support for multi-mode indentation.
11691         * lisp/progmodes/prog-mode.el (prog-indentation-context):
11692         New variable.
11693         (prog-first-column, prog-widen): New convenience functions.
11695 2015-06-14  Artur Malabarba  <bruce.connor.am@gmail.com>
11697         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
11698         Don't assume that `tabulated-list-printer' will leave point at the
11699         end of the buffer.  (Bug#20810)
11701 2015-06-13  Glenn Morris  <rgm@gnu.org>
11703         Tweaks for getting repository version; a bit more like it was for bzr
11704         * lisp/version.el (emacs-repository-version-git)
11705         (emacs-repository--version-git-1): New functions,
11706         split from emacs-repository-get-version.
11707         (emacs-repository-get-version): Make the second argument meaningful.
11709         * lisp/startup.el (command-line-1): Inform if skipping relative
11710         file names due to deleted PWD.
11712         * src/xsmfns.c (x_session_initialize): Avoid libSM crash
11713         when starup directory is missing.  (Bug#18851)
11714         (errno.h): Include it.
11716 2015-06-13  Paul Eggert  <eggert@cs.ucla.edu>
11718         Better fix for documenting `X as "`X"
11719         Fix suggested by Stefan Monnier.
11720         * lisp/help-fns.el (help-fns--signature):
11721         Insert "`X", not "(\` X)", when documenting `X (Bug#20759).
11722         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
11723         Don't treat `X specially, as help-fns--signature now handles this.
11725 2015-06-13  Eli Zaretskii  <eliz@gnu.org>
11727         Improve the default fontset when Symbola is not installed
11728         * lisp/international/fontset.el (setup-default-fontset): Only
11729         prepend Symbola and FreeMono font specs for symbols and
11730         punctuation; do not replace the default spec for them.  This
11731         should have better results when Symbola/FreeMono are not
11732         installed.  (Bug#20727)
11734         Improve documentation of ':lang' in font specs
11735         * src/font.c (Ffont_spec): Doc fix: elaborate on the values and
11736         use of the ':lang' property of the font spec.
11737         * doc/emacs/frames.texi (Fonts): Document the language names that
11738         can be in the STYLE part of XLFD.
11739         * doc/lispref/display.texi (Low-Level Font): Document the ':lang'
11740         property.
11742         * nt/README: Don't advertise the (obsolescent) w32 FAQ.
11744         * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ.
11746         Revert last change in fontset.el
11747         * lisp/international/fontset.el (setup-default-fontset): Revert
11748         the change "Configure Symbola font only if installed", since font
11749         search is evidently not yet set up when this function is called.
11750         (Bug#20727)
11752 2015-06-12  Glenn Morris  <rgm@gnu.org>
11754         Ensure early startup warnings are visible at the end.  (Bug#20792)
11755         * lisp/emacs-lisp/warnings.el (display-warning):
11756         If startup isn't complete, delay the warning.
11757         * lisp/startup.el (normal-top-level, command-line):
11758         Let display-warning automatically handle the needed delays.
11759         Run delayed-warnings-hook.
11761         * lisp/version.el (emacs-repository-get-version):
11762         Avoid calling external executable if possible.  (Bug#20799)
11764 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11766         Document `X as "`X", not as "(` X)"
11767         * lisp/help.el (help-split-fundoc, help--make-usage-docstring):
11768         Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759).
11770         * src/print.c (print_object): Minor simplification.
11772 2015-06-12  Glenn Morris  <rgm@gnu.org>
11774         * src/buffer.c (init_buffer): Add final newline to message.
11776 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11778         Configure Symbola font only if installed
11779         * lisp/international/fontset.el (setup-default-fontset):
11780         Don't specify the Symbola font if it's not installed.
11781         Likewise for FreeMono.  (Bug#20727)
11783 2015-06-12  Eli Zaretskii  <eliz@gnu.org>
11785         Configure Symbola font only for symbols and punctuation
11786         * lisp/international/fontset.el (setup-default-fontset): Leave
11787         only symbols and punctuation in the fontset setup for Symbola
11788         font; remove "Greek and Coptic" and "Cyrillic Supplement".
11789         (Bug#20798)
11791 2015-06-12  Andreas Schwab  <schwab@linux-m68k.org>
11793         Fix crash in fontset-info
11794         * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is
11795         non-nil.
11797 2015-06-12  Paul Eggert  <eggert@cs.ucla.edu>
11799         Port to Solaris 10 sparc + Sun C 5.13
11800         * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]:
11801         Adjust to process.c change.
11802         * src/process.c (create_process): Declare volatile variables at
11803         top level of this function, so that they're less likely to be
11804         reused later in the function in the code executed by the vforked
11805         child.  Do not declare locals used only in the vforked child, as
11806         they might share memory with locals still live in the parent.
11807         Instead, use the same variables in the child as in the parent.
11808         This works around a subtle bug that causes a garbage collector
11809         crash when Emacs is built with Sun C 5.13 sparc on Solaris 10.
11811 2015-06-12  Glenn Morris  <rgm@gnu.org>
11813         * lisp/startup.el (normal-top-level): Don't let *Messages* get
11814         a nil default-directory.
11816 2015-06-11  Glenn Morris  <rgm@gnu.org>
11818         * lisp/startup.el (normal-top-level): Use delay-warning.  (Bug#20792)
11820         Some progress towards starting with PWD deleted.  (Bug#18851)
11821         * src/buffer.c (init_buffer): Handle get_current_dir_name failures.
11822         * lisp/startup.el (normal-top-level, command-line-1):
11823         * lisp/minibuffer.el (read-file-name-default):
11824         Handle default-directory being nil.
11826 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
11828         Fix "not a tty" bug on Solaris 10
11829         * configure.ac (PTY_OPEN): Define to plain 'open'
11830         on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set.
11831         * src/process.c (allocate_pty): Set the O_CLOEXEC flag after
11832         calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived
11833         hosts that call grantpt which does its work via a setuid subcommand
11834         (Bug#19191, Bug#19927, Bug#20555, Bug#20686).
11835         Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it
11836         seems relevant in that case too.
11838 2015-06-11  Juri Linkov  <juri@linkov.net>
11840         * lisp/bindings.el (debug-ignored-errors): Add mark-inactive.
11841         * lisp/simple.el (kill-region): Replace 'error' with 'user-error'.
11842         (Bug#20785)
11844 2015-06-11  Glenn Morris  <rgm@gnu.org>
11846         * lisp/international/characters.el (char-script-table): Fix typo.
11848 2015-06-11  Paul Eggert  <eggert@cs.ucla.edu>
11850         Fix quoting of help for functions with odd names
11851         While investigating Bug#20759, I discovered other quoting problems:
11852         C-h f mishandled characters like backslash and quote in function names.
11853         This fix changes the behavior so that 'C-h f pcase RET' now
11854         generates "... (\` QPAT) ..." instead of "... (` QPAT) ...",
11855         because '(format "%S" '(` FOO))' returns "(\\` FOO)".  A comment
11856         in src/lread.c's read1 function says that the backslash will be
11857         needed starting in Emacs 25, which implies that 'format' is
11858         correct and the old pcase documention was wrong to omit the backslash.
11859         * lisp/emacs-lisp/nadvice.el (advice--make-docstring):
11860         * lisp/help-fns.el (help-fns--signature):
11861         * lisp/help.el (help-add-fundoc-usage):
11862         * lisp/progmodes/elisp-mode.el (elisp-function-argstring):
11863         Use help--make-usage-docstring rather than formatting
11864         help-make-usage.
11865         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
11866         Return raw docstring.
11867         * lisp/help-fns.el (help-fns--signature): New arg RAW, to return
11868         raw docstring.  Take more care to distinguish raw from cooked dstrings.
11869         (describe-function-1): Let help-fns--signature substitute
11870         command keys.
11871         * lisp/help.el (help--docstring-quote): New function.
11872         (help-split-fundoc): Use it, to quote funny characters more
11873         systematically.
11874         (help--make-usage): Rename from help-make-usage, since this
11875         should be private.  Leave an obsolete alias for the old name.
11876         (help--make-usage-docstring): New function.
11877         * test/automated/help-fns.el (help-fns-test-funny-names): New test.
11879 2015-06-11  Stefan Monnier  <monnier@iro.umontreal.ca>
11881         * lisp/thingatpt.el (in-string-p): Revert last change,
11882         since in-string-p is not used in thingatpt.el but only from outside.
11883         Also, use lexical binding.
11885 2015-06-11  Artur Malabarba  <bruce.connor.am@gmail.com>
11887         * lisp/let-alist.el (let-alist--deep-dot-search): Fix cons.
11888         * test/automated/let-alist.el (let-alist-cons): Test it.
11890 2015-06-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
11892         * src/syntax.c (Fbackward_prefix_chars): Reword docstring.
11894 2015-06-10  Glenn Morris  <rgm@gnu.org>
11896         * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits.
11898         Improve generated ChangeLog for gitmerge.el commits.  (Bug#20717)
11899         * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits.
11900         * admin/gitmerge.el (gitmerge-commit-message):
11901         Exclude "skipped" messages from ChangeLog once again.
11903         Slight namespace cleanup for thingatpt.el.
11904         * lisp/thingatpt.el (thing-at-point--in-string-p)
11905         (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp)
11906         (thing-at-point--read-from-whole-string): Rename from
11907         old versions without "thing-at-point--" prefix.
11908         Keep old versions as obsolete aliases.  Update all uses.
11910         * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords):
11911         Move requiring of finder from here...
11912         (checkdoc-package-keywords): ... to here.
11914         Use 'user-error' in a few calendar files.
11915         * lisp/calendar/appt.el (appt-add):
11916         * lisp/calendar/calendar.el (calendar-absolute-from-gregorian)
11917         (calendar-generate):
11918         * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic):
11919         Replace 'error' with 'user-error'.
11921         * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error.
11923         * lisp/files-x.el (add-file-local-variable):
11924         Special-case 'lexical-binding'.  (Bug#20641)
11926         * lisp/progmodes/executable.el (executable-self-display): Obsolete.
11927         No longer autoload.
11928         * doc/misc/autotype.texi (Executables):
11929         Undocument executable-self-display.
11931         * lisp/progmodes/executable.el (executable-self-display):
11932         Use non-obsolete tail syntax.  (Bug#20779)
11933         (executable-self-display): Doc update.
11935 2015-06-10  Stefan Monnier  <monnier@iro.umontreal.ca>
11937         * lisp/emacs-lisp/checkdoc.el: Use lexical-binding
11938         (finder-known-keywords): Silence byte-compiler.
11940 2015-06-09  Stefan Monnier  <monnier@iro.umontreal.ca>
11942         * lisp/simple.el (eval-expression): Macroexpand before evaluating
11943         (bug#20730).
11945         * lisp/progmodes/sh-script.el: Better handle nested quotes.
11946         (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683).
11947         (sh-font-lock-quoted-subshell): Make sure double quotes within single
11948         quotes don't mistakenly end prematurely the surrounding string.
11950         * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct.
11952 2015-06-09  Glenn Morris  <rgm@gnu.org>
11954         * test/automated/Makefile.in (ELFILES): Sort.
11956         * Makefile.in (SUBDIR_MAKEFILES):
11957         * lwlib/Makefile.in (WARN_CFLAGS):
11958         Use built-in Make functions rather than echo+sed.
11960 2015-06-09  Eli Zaretskii  <eliz@gnu.org>
11962         Update char-script-table
11963         * lisp/international/characters.el (char-script-table): Update
11964         from Unicode 8.0 Draft.
11966         Improve font selection for punctuation and other symbols
11967         * src/fontset.c (face_for_char): If the character's script is
11968         'symbol', and the font used for ASCII face has a glyph for it, use
11969         the font for the ASCII face instead of searching the fontsets.
11970         This comes instead of NS-specific code that used the current
11971         face's font instead, which is now disabled due to undesirable
11972         consequences.  (Bug#20727)
11974 2015-06-08  Dmitry Gutov  <dgutov@yandex.ru>
11976         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
11977         Skip past `#' to find BEG (bug#20771).
11978         * test/automated/elisp-mode-tests.el
11979         (elisp-completes-functions-after-hash-quote): New test.
11981 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
11983         Fix compilation warning/error in --without-x builds
11984         * src/xdisp.c (append_space_for_newline): Condition GUI-specific
11985         code on HAVE_WINDOW_SYSTEM.
11987         Improve the default fontset wrt symbols
11988         * lisp/international/fontset.el (setup-default-fontset): Better
11989         setup of fontset-default for symbols: use Symbola and FreeMono.
11990         (Bug#20727)
11992 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
11994         Add new command checkdoc-package-keywords
11995         * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag):
11996         New defcustom.
11997         (checkdoc-list-of-strings-p): Add doc.
11998         (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is
11999         non-nil, call `checkdoc-package-keywords'.
12000         (checkdoc-get-keywords): New defun.
12001         (checkdoc-package-keywords): New command.  Warns if the current file
12002         has package.el-style keywords that aren't in `finder-known-keywords'.
12003         * etc/NEWS: Add entry.
12005 2015-06-08  Eli Zaretskii  <eliz@gnu.org>
12007         Avoid crashes when key-binding is called from a timer
12008         * src/keymap.c (Fkey_binding): Don't segfault if called with an
12009         empty vector as KEY.  (Bug#20705)
12011         Fix a thinko in arc-mode.el
12012         * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the
12013         non-Zip64 case.  (Bug#20769)
12015 2015-06-08  Artur Malabarba  <bruce.connor.am@gmail.com>
12017         * lisp/emacs-lisp/package.el (package-delete): Make interactive.
12019 2015-06-08  Oleh Krehel  <ohwoeowho@gmail.com>
12021         * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function.
12022         (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to
12023         "*warn*", print the warning to the standard output.  (bug#20754)
12025 2015-06-07  Glenn Morris  <rgm@gnu.org>
12027         * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog.
12029         * src/font.c (syms_of_font) <font-log>: Doc fix.
12031         Remove the obsolete leading "*" from some C doc strings.
12032         * src/coding.c (syms_of_coding):
12033         * src/font.c (syms_of_font): Remove leading "*" from docs.
12034         * lisp/cus-start.el (enable-character-translation): Add it.
12036 2015-06-07  Paul Eggert  <eggert@cs.ucla.edu>
12038         Move gen_origin from program to data
12039         That way, 'make change-history' needs to change only ChangeLog.2,
12040         instead of having to change two files.
12041         * ChangeLog.2: Add commit info for range that this file covers.
12042         * Makefile.in (new_commit_regexp): New macro.
12043         (change-history-nocommit): Simplify, by putting what used to be
12044         the gen_origin value into the data (ChangeLog.2) rather than
12045         into the program (gitlog-to-emacslog).
12046         * build-aux/gitlog-to-emacslog (gen_origin): Calculate from
12047         the input file (e.g., ChangeLog.2) rather than by having a
12048         constant in the program.  Substitute it into the output.
12050 2015-06-07  Dmitry Gutov  <dgutov@yandex.ru>
12052         * lisp/help-fns.el (help-fns--signature): Quote any quotes in the
12053         function name (bug#20759).
12055 2015-06-07  Eli Zaretskii  <eliz@gnu.org>
12057         Adapt 'struct timespec' to next release of MinGW runtime
12058         * nt/inc/ms-w32.h (struct timespec): Don't declare if
12059         __struct_timespec_defined is defined.
12061 2015-06-06  Paul Eggert  <eggert@cs.ucla.edu>
12063         Merge from gnulib
12064         This incorporates:
12065         2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const
12066         2015-06-05 stdio: Don't redefine gets when using C++
12067         2015-06-05 acl-permissions: port to AIX, C89 HP-UX
12068         2015-06-02 file-has-acl: fix build on Mac OS X 10
12069         2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line
12070         2015-06-01 pthread_sigmask: discount system version if a simple macro
12071         2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug
12072         * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c:
12073         * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h:
12074         * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib.
12075         * lib/gnulib.mk: Regenerate.
12077 2015-06-06  Juri Linkov  <juri@linkov.net>
12079         * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches
12080         before calling grep-compute-defaults because now it affects the
12081         command lines computed in grep-compute-defaults.  (Bug#20728)
12083 2015-06-06  Glenn Morris  <rgm@gnu.org>
12085         Address some compilation warnings.
12086         * lisp/international/mule-cmds.el (w32-get-console-codepage)
12087         (w32-get-console-output-codepage):
12088         * lisp/progmodes/elisp-mode.el (xref-collect-references):
12089         * lisp/version.el (cairo-version-string): Declare.
12090         * lisp/erc/erc.el (erc-nickname-in-use): Fix typo.
12092 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
12094         Fix display when a font claims large values of ascent and descent
12095         This fixes bug#20628.
12096         * src/xdisp.c (get_phys_cursor_geometry): Correct the Y
12097         coordinate of a hollow cursor glyph when the original glyph's
12098         ascent is too small.
12099         (get_font_ascent_descent, normal_char_ascent_descent)
12100         (normal_char_height): New functions.
12101         (handle_single_display_spec, append_space_for_newline)
12102         (calc_pixel_width_or_height, produce_stretch_glyph)
12103         (calc_line_height_property): Use normal_char_ascent_descent and
12104         normal_char_height.
12105         (x_produce_glyphs): When font-global values of ascent and descent
12106         are too large, use per-character glyph metrics instead, if
12107         possible.  But don't allow the glyph row's ascent and descent
12108         values become smaller than the values from the metrics of the
12109         font's "normal" character.
12110         * src/xftfont.c (xftfont_draw):
12111         * src/w32font.c (w32font_draw): Correct the values of ascent and
12112         descent used to draw glyphless characters' hex code in a box.
12113         * src/xterm.c (x_draw_glyph_string_background):
12114         * src/xdisp.c (x_produce_glyphs):
12115         * src/w32term.c (x_draw_glyph_string_background):
12116         * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH
12117         to detect fonts whose global ascent and descent values are too
12118         large to be used in layout decision, and redraw the background
12119         when that happens.
12120         * src/dispextern.h (FONT_TOO_HIGH): New macro.
12121         (get_font_ascent_descent): Add prototype.
12122         * src/xterm.c (x_new_font):
12123         * src/w32term.c (x_new_font):
12124         * src/nsterm.m (x_new_font):
12125         * src/font.c (font_open_entity):
12126         * src/composite.c (composition_gstring_width):
12127         Use get_font_ascent_descent to obtain reasonable values for ascent
12128         and descent of a font.
12130 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
12132         Add assertion in adjust_point_for_property
12133         * src/keyboard.c (adjust_point_for_property): Add eassert for
12134         current buffer being shown in selected window.
12136 2015-06-06  Dmitry Gutov  <dgutov@yandex.ru>
12138         Replace uses of in-string-p; make it obsolete
12139         * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732).
12140         (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead.
12142 2015-06-06  Eli Zaretskii  <eliz@gnu.org>
12144         Fix Dired display of an explicit list of files by ls-lisp.el
12145         * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt)
12146         (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be
12147         correct for when displaying individual files separately, not as
12148         part of listing a directory, in which case these values are not
12149         recomputed by 'ls-lisp-insert-directory', but used verbatim.
12151         * lisp/dired.el (dired): Doc fix.  (Bug#20739)
12153 2015-06-06  Nicolas Richard  <youngfrog@members.fsf.org>
12155         Do not adjust point in a non-selected window
12156         * src/keyboard.c (command_loop_1): Do not adjust point when
12157         current buffer is not shown in selected window (Bug#20590).
12159         * etc/DEBUG: Mention 'maybe_call_debugger'
12161 2015-06-05  Nicolas Petton  <nicolas@petton.fr>
12163         Fix a unit test for map.el
12164         * test/automated/map-tests.el (test-map-let): Fix the test to work
12165         with the new syntax of `map-let'.
12167         * lisp/emacs-lisp/map.el (map-let): Better docstring.
12169         Better syntax for the map pcase pattern
12170         * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take
12171         bindings of the form (KEY PAT) or SYMBOL.  KEY is not quoted.
12173         * lisp/emacs-lisp/map.el (map--dispatch): Better docstring.
12175         Fix a byte-compiler error in map-put and map-delete
12176         * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is
12177         called with a symbol.
12179 2015-06-05  Glenn Morris  <rgm@gnu.org>
12181         * admin/gitmerge.el (gitmerge-commit-message):
12182         Revert to including "skipped" messages in ChangeLog once again.
12184 2015-06-05  Tassilo Horn  <tsdh@gnu.org>
12186         Use string> instead of equiv lambda with string<
12187         * lisp/help.el (view-emacs-news): Use string> instead of equivalent
12188         lambda with string<.
12190 2015-06-05  Glenn Morris  <rgm@gnu.org>
12192         * lisp/emacs-lisp/map.el (map--dispatch): Move before use.
12193         (map--delete-array): Fix typo.
12195         * test/automated/map-tests.el: Replace "assert" with "should".
12197         * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS.
12198         (SUBDIRS_REL): Derive from SUBDIRS.
12200         Tweak some build messages.
12201         * lisp/Makefile.in ($(lisp)/loaddefs.el):
12202         * lisp/cus-dep.el (custom-make-dependencies):
12203         * lisp/finder.el (finder-compile-keywords): Say what we are doing.
12204         * lisp/international/titdic-cnv.el (batch-titdic-convert):
12205         Don't say how to compile.
12207 2015-06-05  Paul Eggert  <eggert@cs.ucla.edu>
12209         Omit U+0332 COMBINING LOW LINE in previous change
12210         It turns out that it does not work on Ubuntu 15.04.
12212         Fix transliteration of Bahá'í months
12213         * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array):
12214         Improve quality of Latin transliteration of Bahá'í month names.
12216         Fix curved quotes in a few places
12217         * lisp/calc/calc-misc.el (calc-help): Fix quoting.
12218         The strings in question are not doc strings, so this partially
12219         undoes the recent change that assumed they were doc strings.
12220         * lisp/cedet/srecode/srt-mode.el (srecode-macro-help):
12221         * lisp/info.el (Info-finder-find-node):
12222         Use curved quotes.
12223         * lisp/emacs-lisp/derived.el (derived-mode-make-docstring):
12224         Also allow curved quotes in doc strings.
12226 2015-06-04  Glenn Morris  <rgm@gnu.org>
12228         * lisp/Makefile.in (AM_V_at): Add missing definition.
12230         * lisp/Makefile.in: Quieten output a bit.
12231         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el):
12232         Don't echo directories, since the commands we invoke print them.
12234         * lisp/Makefile.in: Replace shell fragments in variables with $(shell).
12235         (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER)
12236         (SUBDIRS_SUBDIRS): New variables.
12237         (setwins, setwins_almost, setwins_finder, setwins_for_subdirs):
12238         Remove.
12239         ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el)
12240         (update-subdirs, compile-main, compile-clean):
12241         Replace "setwins" usage with new "SUBDIRS" variables.
12243         * lisp/vc/compare-w.el (compare-windows-get-window-function):
12244         Fix :version tag.
12246 2015-06-04  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12248         * src/ftfont.c (ftfont_open2): Round divisions by upEM.
12250         Undo removal of x_clear_area call on expose for GTK3 or cairo
12251         * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]:
12252         Clear exposed area.  (Bug#20677)
12254 2015-06-04  Glenn Morris  <rgm@gnu.org>
12256         * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash.
12258         * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot.
12260         * lisp/leim/quail/lrt.el (quail-lrt-update-translation):
12261         Rename from quail-lao-update-translation, since lao.el defines that.
12263 2015-06-04  Dmitry Gutov  <dgutov@yandex.ru>
12265         Handle new-style advice in find-funct
12266         * lisp/emacs-lisp/find-func.el (find-function-advised-original):
12267         Handle new-style advice.  Return the symbol's function definition.
12268         (Bug#20718)
12269         (find-function-library): Update accordingly.
12271 2015-06-04  Nicolas Petton  <nicolas@petton.fr>
12273         Merge branch 'map'
12275         * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro.
12277         Add new function string-greaterp
12278         * lisp/subr.el (string-greaterp): New function.  Also aliased to
12279         `string>'.
12280         * test/automated/subr-tests.el (string-comparison-test): Add unit
12281         tests for `string>'and `string<'.
12282         * src/fns.c (string-lessp): Better docstring.
12284 2015-06-04  Eli Zaretskii  <eliz@gnu.org>
12286         Fix timezone-related functions on MS-Windows
12287         * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call
12288         'xputenv', even if no reallocation of tzvalbuf was necessary.
12289         This fixes a bug in timezone-related functions on MS-Windows.
12290         Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
12292 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
12294         Don't pass raw directory name to 'error'
12295         * lisp/files.el (basic-save-buffer-2): Avoid format error if
12296         a directory name contains a string like "%s".
12298 2015-06-03  Dmitry Gutov  <dgutov@yandex.ru>
12300         Override 'grep --color=always'
12301         * lisp/progmodes/xref.el (xref-collect-matches):
12302         Override --color=always in grep-find-template.
12304 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
12306         Fix error introduced recently in file-notify-tests.el
12307         * test/automated/file-notify-tests.el
12308         (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'.
12309         (file-notify--deftest-remote): Revert previous patch, not
12310         necessary anymore.
12312 2015-06-03  Wolfgang Jenkner  <wjenkner@inode.at>
12314         * src/indent.c (Fvertical_motion): Amend motion by 0 lines.
12315         Starting from a display string after a newline, point went to the
12316         previous line.  Also, fix an inadvertent use of a buffer position
12317         with FETCH_BYTE.  (Bug#20701)
12319 2015-06-03  Michael Albinus  <michael.albinus@gmx.de>
12321         Instrument file-notify-test.el in order to catch hydra error
12322         * test/automated/file-notify-tests.el (file-notify--deftest-remote):
12323         Wrap body by `ignore-case', in order to trap non-local errors.
12325 2015-06-03  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
12327         Undo previous changes in non-toolkit scroll bar drawing
12328         * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose)
12329         [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window.  (Bug#20668)
12331 2015-06-03  Paul Eggert  <eggert@cs.ucla.edu>
12333         * .gitignore: Also ignore doc/*/*/*.html and .ps.
12335         Support quotes 'like this' in info files
12336         This is possible when 'makeinfo --disable-encoding' is used
12337         in Texinfo 5.
12338         * lisp/calc/calc-help.el (calc-describe-thing):
12339         * lisp/gnus/gnus-art.el (gnus-button-alist):
12340         * lisp/info.el (Info-find-index-name):
12341         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
12342         Also support quotes 'like this'.
12343         * lisp/calc/calc-help.el (calc-describe-thing): Simplify.
12344         * lisp/finder.el (finder-font-lock-keywords): Remove var that
12345         hasn't been used in years, instead of bothering to fix its quoting.
12347 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12349         * .gitignore: Remove !test/etags/html-src/*.html.
12350         It's no longer needed, since *.html was removed.  Sort.
12352 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
12354         Restore <D> instead of '.' in grep-find-template
12355         * lisp/cedet/semantic/symref/grep.el
12356         (semantic-symref-grep-use-template): Update a comment.
12357         * lisp/progmodes/grep.el (grep-compute-defaults): Restore <D>
12358         instead of '.' in grep-find-template (bug#20719).
12359         (rgrep): Pass nil as the directory to rgrep-default-command.
12360         * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the
12361         default value for DIR.
12362         * lisp/progmodes/xref.el (xref-collect-matches): Drop the
12363         workaround.
12365 2015-06-02  Glenn Morris  <rgm@gnu.org>
12367         * configure.ac (emacs_config_features): Add X toolkit and scroll-bars.
12369         * configure.ac (emacs_config_features): Add Cairo.
12371         * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later.
12373 2015-06-02  Michael Albinus  <michael.albinus@gmx.de>
12375         Ensure that autorevert works for remote files in file-notify-tests.el
12376         * test/automated/file-notify-tests.el (file-notify--test-desc):
12377         New defvar.
12378         (file-notify--test-remote-enabled)
12379         (file-notify-test00-availability, file-notify-test01-add-watch)
12380         (file-notify-test02-events): Use it.
12381         (file-notify--test-event-test): Check proper descriptor.
12382         (file-notify-test03-autorevert): Ensure that
12383         `visited-file-modtime' has changed.  (Bug#20392)
12385 2015-06-02  Nicolas Petton  <nicolas@petton.fr>
12387         Add a pcase pattern for maps and `map-let' based on it
12388         * lisp/emacs-lisp/map.el (map-let): New macro.
12389         (map--make-pcase-bindings, map--make-pcase-patterns): New functions.
12390         * test/automated/map-tests.el: New test for `map-let'.
12392 2015-06-02  Dmitry Gutov  <dgutov@yandex.ru>
12394         Reuse rgrep mechanics in xref-find-regexp
12395         * lisp/progmodes/grep.el (rgrep-default-command):
12396         Extract from `rgrep'.
12397         * lisp/progmodes/xref.el (xref-collect-references): Split from
12398         `xref-collect-matches'.  Only handle the case of symbol search.
12399         (xref-collect-matches): Instead of Semantic Symref, use
12400         `rgrep-default-command', to take advantage of its directory and
12401         file ignore settings.
12402         (xref--collect-match): Remove the last argument, leaving the
12403         regexp construction up to the caller.
12404         * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches):
12405         Change to take the xref-collect- function to use as an argument.
12406         (elisp-xref-find): Update accordingly.
12407         * lisp/progmodes/etags.el (etags--xref-find-matches)
12408         (etags-xref-find): Same.
12410         Move xref-elisp-location to elisp-mode.el
12411         * lisp/progmodes/xref.el (xref-elisp-location)
12412         (xref-make-elisp-location, xref-location-marker): Remove here.
12413         (xref--xref): Don't limit the type of the location slot.
12414         * lisp/progmodes/elisp-mode.el (xref-elisp-location):
12415         Define as a cl-struct here.
12416         (xref-location-marker): Move here.
12418 2015-06-02  Eli Zaretskii  <eliz@gnu.org>
12420         Minor tweaks for .gitignore
12421         * .gitignore: Don't ignore versioned *.html and *.ps files.
12422         Don't ignore admin/notes/tags that might be ignored as TAGS
12423         on case-insensitive filesystems.  (Bug#20710)
12425 2015-06-02  Paul Eggert  <eggert@cs.ucla.edu>
12427         Generate curved quotes in ert doc
12428         * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc)
12429         (ert-results-mode-menu)
12430         (ert-results-pop-to-backtrace-for-test-at-point)
12431         (ert-results-pop-to-messages-for-test-at-point)
12432         (ert-results-pop-to-should-forms-for-test-at-point)
12433         (ert-describe-test):
12434         Quote ‘like this’, not `like this', when generating doc strings
12435         and the like.
12436         * test/automated/ert-x-tests.el (ert-test-describe-test):
12437         Allow quoting ‘like this’.
12439 2015-06-02  Nicolas Richard  <youngfrog@members.fsf.org>
12441         Add test for previous commit
12442         * test/automated/replace-tests.el: New file.
12443         (query-replace--split-string-tests): Add test for previous commit.
12445         Avoid confusion in query-replace history when replacing NUL chars
12446         * lisp/replace.el (query-replace--split-string): New function.
12447         (query-replace-read-from): Rely on the 'separator' property
12448         instead of searching for the NUL character (Bug#20690).
12450 2015-06-02  Glenn Morris  <rgm@gnu.org>
12452         Merge from origin/emacs-24
12453         8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
12455         * admin/gitmerge.el (gitmerge-commit-message):
12456         Exclude "skipped" messages from ChangeLog.
12458 2015-06-01  Michael Albinus  <michael.albinus@gmx.de>
12460         Sync with Tramp repository
12461         * lisp/net/tramp.el (tramp-message): Dump connection buffer error
12462         messages.
12463         (tramp-handle-make-auto-save-file-name): When calling
12464         `make-auto-save-file-name' internally, make sure it uses Unix-like
12465         behavior, not Windows-like behavior.
12466         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for
12467         the local case, because "chown" might fail on w32.
12468         * lisp/net/trampver.el (tramp-repository-get-version): Don't run
12469         for XEmacs.
12471 2015-06-01  Eli Zaretskii  <eliz@gnu.org>
12473         MS-Windows followup for batch stdout/stderr output changes
12474         * lisp/international/mule-cmds.el (set-locale-environment):
12475         In batch mode, use console codepages for keyboard and terminal
12476         encoding.  (Bug#20545)
12478         Update .gitattributes for DOS EOL files
12479         * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS
12480         CRLF end-of-line format.
12482         NS equivalents of xterm.c and w32term.c changes
12483         * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of
12484         glyph string background also when the font in use claims
12485         preposterously large global height value.  Helps to remove
12486         artifacts left from previous displays when glyphless characters
12487         are displayed as hex code in a box.
12488         (x_new_font): Call get_font_ascent_descent to obtain a reasonable
12489         value for FRAME_LINE_HEIGHT, even when a font claims very large
12490         value for its height.
12492 2015-06-01  Paul Eggert  <eggert@cs.ucla.edu>
12494         Avoid grave accent quoting in stderr diagnostics
12495         A few Emacs diagnostics go directly to stderr, and so can't easily
12496         contain curved quotes (as non-UTF-8 locales might mishandle them).
12497         Instead of bothering to add support for this rarity, reword the
12498         diagnostics so that they don't use grave accent to quote.
12499         * src/alloc.c (mark_memory): Fix comment.
12500         * src/buffer.c (init_buffer):
12501         * src/dispnew.c (init_display):
12502         * src/emacs.c (main, sort_args):
12503         * src/lread.c (dir_warning):
12504         * src/term.c (init_tty):
12505         * src/unexmacosx.c (unexec):
12506         * src/xfns.c (select_visual):
12507         * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter):
12508         Reword stderr diagnostics to avoid quoting `like this'.
12509         * src/unexmacosx.c: Include errno.h.
12510         * src/xfns.c (select_visual): Encode value for locale.
12512 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
12514         Treat batch stdout/stderr like standard display
12515         Calls like (print FOO) could generate improperly encoded or
12516         hard-to-read output if FOO contains characters outside the system
12517         locale.  Fix this by treating batch stdout and stderr like
12518         interactive standard display, when it comes to transliterating and
12519         encoding characters (Bug#20545).
12520         * doc/emacs/mule.texi (Communication Coding):
12521         * doc/lispref/display.texi (Active Display Table):
12522         * doc/lispref/nonascii.texi (Locales):
12523         * etc/NEWS:
12524         * src/coding.c (syms_of_coding):
12525         * src/dispnew.c (syms_of_display):
12526         Document this.
12527         * src/print.c: Include disptab.h.
12528         (printchar_to_stream): New function, with much of the guts of the
12529         old Fexternal_debugging_output, except this one also uses the
12530         standard display table.
12531         (printchar, strout, Fexternal_debugging_output): Use it.
12533 2015-05-31  Glenn Morris  <rgm@gnu.org>
12535         * src/emacs.c (syms_of_emacs) <system-configuration-features>: Doc fix.
12537 2015-05-31  Paul Eggert  <eggert@cs.ucla.edu>
12539         Remove DEFSYMs that aren't used at the C level.  Also:
12540         * src/decompress.c (Qzlib_dll):
12541         * src/font.c (Qunicode_sip):
12542         * src/frame.c (Qtip_frame):
12543         * src/ftfont.c (Qserif):
12544         * src/gnutls.c (Qgnutls_dll):
12545         * src/xml.c (Qlibxml2_dll):
12546         Move from here ...
12547         * src/w32fns.c (syms_of_w32fns): ... to here,
12548         as these are used only on MS-Windows.
12550 2015-05-31  Michael Albinus  <michael.albinus@gmx.de>
12552         Use another default value for tramp-histfile-override
12553         * lisp/net/tramp-sh.el (tramp-histfile-override):
12554         Use ".tramp_history" as default.
12555         Fixes bug#20446
12557 2015-05-29  Nicolas Petton  <nicolas@petton.fr>
12559         * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual.
12561 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
12563         * etc/NEWS: Add an entry about map.el.
12565         Improve the docstring of functions in map.el
12566         Since a map is not a data structure but a concept, adding information
12567         about the possible types of maps can be useful information.
12568         * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to
12569         each public function.
12571 2015-04-29  Nicolas Petton  <nicolas@petton.fr>
12573         * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using
12574         specific tests depending on the type of the map.
12576         * lisp/emacs-lisp/map.el: Better docstrings.
12578 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
12580         * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda.
12582 2015-04-25  Nicolas Petton  <nicolas@petton.fr>
12584         * lisp/emacs-lisp/map.el (map--elt-list): Better docstring.
12586         * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring.
12588         Fix a false negative in `map-elt' with alists and values being nil
12589         * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is
12590         found but its associated value is nil, do not return the default
12591         value.
12592         * test/automated/map-tests.el: Add a regression test.
12594 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
12596         * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring.
12598         Do not signal an error when trying to delete a key from an array
12599         * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if
12600         the key is present to avoid signaling an error.
12601         * test/automated/map-tests.el: Add a test for deleting non-existing
12602         keys from maps.
12604         * lisp/emacs-lisp/map.el: Better docstring.
12606         Minor improvement in map-elt
12607         * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when
12608         doing a lookup in arrays, but check the boundaries of the array
12609         instead.
12610         * test/automated/map-tests.el: Adds a test for `map-elt' with arrays
12611         and a negative integer as key.
12613 2015-04-21  Nicolas Petton  <nicolas@petton.fr>
12615         * test/automated/map-tests.el: Refactoring of test methods.
12617         * test/automated/map-tests.el: Renamed from map-test.el.
12619 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
12621         * lisp/emacs-lisp/map.el (map-into): Better error message.
12623         * lisp/emacs-lisp/map.el: Remove byte-compilation warnings.
12625         Throw an error when converting a map into an unknown map type
12626         * lisp/emacs-lisp/map.el (map-into): Throw an error if type is
12627         not valid.
12628         * test/automated/map-test.el: Add a regression test.
12630         New library map.el similar to seq.el but for mapping data structures.
12631         * test/automated/map-test.el: New file.
12632         * lisp/emacs-lisp/map.el: New file.
12634 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
12636         * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure
12637         there's no explicit tag name (bug#20629).
12639 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12641         Remove format2
12642         * src/editfns.c, src/lisp.h (format2): Remove.
12643         It is more trouble than it's worth, now that we have CALLN.
12644         This is just a minor refactoring.
12645         * src/buffer.c (Fkill_buffer):
12646         * src/dbusbind.c (XD_OBJECT_TO_STRING):
12647         * src/fileio.c (barf_or_query_if_file_exists):
12648         Adjust to format2 going away.
12650         Don't misencode C-generated messages
12651         Also, be more consistent about calls to 'Fmessage' vs 'message'.
12652         * src/alloc.c (Fgc_status):
12653         Prefer AUTO_STRING to build_string for Fmessage call.
12654         * src/data.c (Fmake_variable_buffer_local)
12655         (Fmake_local_variable, Fmake_variable_frame_local):
12656         * src/doc.c (store_function_docstring):
12657         Use Fmessage, not message, since the argument can contain
12658         non-ASCII characters, and this can cause the resulting message
12659         to be incorrectly encoded for the current environment.
12660         * src/fns.c (maybe_resize_hash_table):
12661         * src/xselect.c (x_clipboard_manager_save_all):
12662         Use message, not Fmessage, since Fmessage's power isn't needed here.
12663         * src/process.c (Fmake_network_process): Reword message to avoid %s.
12664         * src/xdisp.c (vmessage): Document restrictions on message contents.
12665         (message_nolog) [false]: Remove unused code.
12667         Use \r rather than ^M in string literals
12668         This is less likely to cause problems on platforms that
12669         use CRLF (or CR!) termination for lines.
12671         Update .gitattributes to match current sources
12672         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html
12673         * .gitattributes: Accommodate tests that insist on DOS format.
12674         Remove test/automated/data/decompress/foo-gzipped.
12675         Add etc/e/eterm-color.
12677 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
12679         * doc/emacs/mule.texi (Modifying Fontsets):
12680         Document face-ignored-fonts.  (Bug#20628)
12682         Add etags test for the new -Q option
12683         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
12684         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
12685         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
12686         test-case changes below.
12687         * test/etags/ETAGS.good_6: New file.
12688         * test/etags/cp-src/x.cc: New file.
12689         * test/etags/Makefile (CPSRC): Add x.cc.
12690         (check): Add one more test, for -Q.
12692 2015-05-30  Dmitry Gutov  <dgutov@yandex.ru>
12694         Use list for the tags completion table, not obarray
12695         * lisp/progmodes/etags.el (etags-tags-completion-table): Return a
12696         list instead of an obarray
12697         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html).
12698         (tags-completion-table): Combine those lists.
12699         (tags-completion-table): Update the docstring.
12701 2015-05-30  Eli Zaretskii  <eliz@gnu.org>
12703         Restore EOL format testing in etags
12704         * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2:
12705         * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4:
12706         * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to
12707         test-case changes below.
12708         * test/etags/html-src/algrthms.html: Convert back to DOS EOL format.
12709         * test/etags/cp-src/c.C (B): Add back stray CR character.
12710         * test/etags/c-src/dostorture.c: Add back.
12711         * test/etags/Makefile (CSRC): Add back c-src/dostorture.c.
12713 2015-05-30  Vitaly Takmazov  <vitalyster@gmail.com>  (tiny change)
12715         Declare Emacs on MS-Windows to be DPI-aware
12716         * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware.
12717         * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware.
12718         This avoids Windows entering compatibility mode for Emacs,
12719         which causes fonts to look less nice.
12721 2015-05-30  Michael Albinus  <michael.albinus@gmx.de>
12723         Improve Tramp traces
12724         * lisp/net/trampver.el (tramp-repository-get-version): New defun.
12725         * lisp/net/tramp.el (tramp-debug-message): Use it.
12727 2015-05-30  Paul Eggert  <eggert@cs.ucla.edu>
12729         backup-buffer minor reworking of internals
12730         * lisp/files.el (backup-buffer): Rework to avoid a couple of
12731         unused locals inadvertently introduced in the previous change.
12733         backup-buffer now reports .emacs.d/%backup% ills
12734         * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup%
12735         fails due to disk space exhaustion or whatever, do not pretend
12736         that it succeeded.  More generally, do a better job of checking
12737         for I/O failures, and limit the scope of the condition-case to
12738         just the operations where file errors should be caught and ignored
12739         (Bug#20595).  Also, don't bother trying to delete later backups if
12740         an earlier deletion fails, as this is a sign of trouble and it's
12741         better to stop when there's trouble.
12743         copy-file now truncates output after writing
12744         * src/fileio.c (Fcopy_file): Truncate output after writing rather
12745         than before.  This is more likely to work than truncation before
12746         writing, if the file system is out of space or the user is over
12747         disk quota (Bug#20595).  Also, check for read errors.
12749 2015-05-29  Artur Malabarba  <bruce.connor.am@gmail.com>
12751         * lisp/emacs-lisp/package.el (package-load-all-descriptors):
12752         Don't load descriptors from directories above the package directories.
12754 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12756         Merge from gnulib
12757         This incorporates the following (Bug#20681):
12758         2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX
12759         2015-05-29 acl-permissions: Fix build on Solaris and Cygwin
12760         * lib/set-permissions.c: Copy from gnulib.
12762 2015-05-29  Michael Albinus  <michael.albinus@gmx.de>
12764         Improve Tramp traces
12765         * lisp/net/tramp.el (tramp-call-process-region): New defun.
12766         * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it.
12768 2015-05-29  Glenn Morris  <rgm@gnu.org>
12770         * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org.
12772 2015-05-29  Wolfgang Jenkner  <wjenkner@inode.at>
12774         * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area.
12775         The signature was changed in the cairo branch, merged on 2015-05-23.
12776         This oversight broke compiling only the non-toolkit X version.
12778 2015-05-29  Samer Masterson  <samer@samertm.com>
12780         * doc/lispref/os.texi: Update initial-buffer-choice docs.
12782 2015-05-29  Glenn Morris  <rgm@gnu.org>
12784         * test/automated/vc-tests.el (vc-test-rcs04-checkout-model):
12785         Mark as an expected failure.
12787 2015-05-29  Paul Eggert  <eggert@cs.ucla.edu>
12789         Change package test to look for curved quotes
12790         * test/automated/package-test.el (package-test-describe-package)
12791         (package-test-signed): Search for curved single quotes as well as
12792         for grave accent and apostrophe.
12794 2015-05-28  Katsumi Yamaoka  <yamaoka@jpl.org>
12796         * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change.
12797         cf. <http://news.gmane.org/group/gmane.emacs.devel/thread=186896>
12799 2015-05-28  Samer Masterson  <samer@samertm.com>
12801         Show files when `initial-buffer-choice' is non-nil
12802         * lisp/startup.el (command-line-1): When Emacs is given a file as an
12803         argument and `initial-buffer-choice' is non-nil, display both the file
12804         and `initial-buffer-choice'.  For more than one file, show
12805         `initial-buffer-choice' and *Buffer List*.  Refactor display-changing
12806         commands out of the command line arg parser.
12807         (initial-buffer-choice): Clarify docstring.
12809 2015-05-28  Eli Zaretskii  <eliz@gnu.org>
12811         Fix last commit
12812         * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back.
12813         (gnulib module qcopy-acl): Add back, as it is harmless.  This
12814         minimizes differences wrt lib/gnulib.mk.
12816         Fix the MS-Windows build as followup to gnulib update
12817         * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and
12818         set-permissions.c, as they don't compile on MinGW.
12819         (gnulib module qcopy-acl): Remove, as it needs set-permissions.c.
12821 2015-05-28  Paul Eggert  <eggert@cs.ucla.edu>
12823         Revert my change to gnus-art.el
12824         * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change.
12825         It wasn't that important, and it caused a Gnus build to fail.  See:
12826         http://www.randomsample.de:4456/builders/emacs-devel/builds/734
12828         New minor mode Electric Quote
12829         This lets you easily insert quotes ‘like this’ by typing
12830         quotes `like this', and similarly you can easily insert
12831         quotes “like this” by typing quotes ``like this'' (Bug#20545).
12832         * doc/emacs/basic.texi (Inserting Text):
12833         * doc/emacs/modes.texi (Minor Modes):
12834         * etc/NEWS: Document it.
12835         * doc/emacs/text.texi (Quotation Marks): New section.
12836         * lisp/electric.el (electric-quote-comment)
12837         (electric-quote-string, electric-quote-paragraph):
12838         New custom vars.
12839         (electric--insertable-p)
12840         (electric-quote-post-self-insert-function): New functions.
12841         (electric-quote-mode, electric-quote-local-mode): New minor modes.
12842         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
12843         Add curved single quotes to electric-pair-text-pairs.
12844         Set electric-quote-string in this buffer.
12846         A few more doc string fixes (Bug#20385)
12848         Accept curved quotes in doc strings
12849         * lisp/info-look.el (info-lookup-guess-custom-symbol):
12850         (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc.
12852         Generate curved quotes in pseudo-info nodes
12853         * lisp/info.el (Info-virtual-index-find-node)
12854         (Info-virtual-index, Info-apropos-find-node, info-apropos):
12855         Quote ‘like this’, not `like this', when generating pseudo-info nodes.
12857         Fix minor quoting problems in doc strings
12858         Most of these fixes involve escaping grave accents that are
12859         actually intended to be grave accents, not left quotes.
12860         (Bug#20385)
12862         Support curved quotes in doc strings
12863         Emacs's traditional doc string style has been to quote symbols
12864         `like this'.  This worked well on now-obsolete terminals where
12865         ` and ' were symmetric quotes, but nowadays curved quotes
12866         ‘like this’ look better.  Support quoting the new way too.
12867         (Bug#20385)
12868         * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted
12869         ‘like-this’ as well as `like-this'.
12870         * etc/NEWS: Mention this.
12871         * lisp/cedet/mode-local.el (overload-docstring-extension)
12872         (mode-local-print-binding, mode-local-describe-bindings-2):
12873         * lisp/cus-theme.el (describe-theme-1):
12874         * lisp/descr-text.el (describe-text-properties-1, describe-char):
12875         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
12876         * lisp/emacs-lisp/cl-generic.el (cl--generic-describe):
12877         * lisp/emacs-lisp/eieio-opt.el (eieio-help-class)
12878         (eieio-help-constructor):
12879         * lisp/emacs-lisp/package.el (describe-package-1):
12880         * lisp/faces.el (describe-face):
12881         * lisp/help-fns.el (help-fns--key-bindings)
12882         (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete):
12883         (help-fns--interactive-only, describe-function-1):
12884         (describe-variable):
12885         * lisp/help.el (describe-mode):
12886         * lisp/international/mule-cmds.el (describe-input-method)
12887         (describe-language-environment):
12888         * lisp/international/mule-diag.el (describe-character-set)
12889         (print-coding-system-briefly, list-input-methods)
12890         (list-input-methods-1):
12891         Insert curved quotes rather than grave accent and apostrophe.
12892         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
12893         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine)
12894         (checkdoc-proper-noun-region-engine):
12895         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2)
12896         (lisp-cl-font-lock-keywords-2):
12897         * lisp/finder.el (finder-font-lock-keywords):
12898         * lisp/gnus/gnus-art.el (gnus-button-alist):
12899         * lisp/help-fns.el (help-do-arg-highlight)
12900         (describe-function-1, describe-variable):
12901         * lisp/help-mode.el (help-xref-symbol-regexp)
12902         (help-xref-info-regexp, help-xref-url-regexp):
12903         * lisp/help.el (describe-mode):
12904         * lisp/international/mule-cmds.el (help-xref-mule-regexp-template):
12905         * lisp/wid-edit.el (widget-documentation-link-regexp):
12906         Parse symbols quoted ‘like-this’ as well as `like-this'.
12907         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
12908         Add "‘" and "’" to electric-pair-text-pairs.
12909         (elisp--form-quoted-p): Also allow "‘" as a quoting char.
12910         (elisp-completion-at-point, elisp--preceding-sexp):
12911         Also treat "‘" and "’" as quoting chars.
12913         substitute-command-keys now curves quotes
12914         So, for example, it turns "`abc'" into "‘abc’" (Bug#20385).
12915         * doc/lispref/help.texi (Keys in Documentation):
12916         * etc/NEWS: Document this.
12917         * src/doc.c (Fsubstitute_command_keys): Implement it.
12919 2015-05-28  Glenn Morris  <rgm@gnu.org>
12921         * lisp/mail/rmailsum.el (rmail-summary-by-recipients)
12922         (rmail-summary-by-topic, rmail-summary-by-senders):
12923         No longer strip leading/trailing whitespace.
12925         * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends".
12926         (f90-no-block-limit): Add "enum".  (Bug#20680)
12927         * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b):
12928         New tests.
12930 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12932         * lisp/isearch.el (isearch--current-buffer): Give a default value.
12933         Un-revert changes mistakenly dropped by f9fabb2b.
12935 2015-05-27  Paul Eggert  <eggert@cs.ucla.edu>
12937         Merge from gnulib
12938         This incorporates:
12939         2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666)
12940         2015-05-27 file-has-acl: Split feature tests again (Bug#20667)
12941         2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE
12942         2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+
12943         2015-05-26 inttypes: force correct mingw PRIdMAX even without <stdio.h>
12944         2015-05-26 stdio: fix probe on mingw under gcc 5.1
12945         * admin/merge-gnulib (GNULIB_MODULES):
12946         Replace qacl with qcopy-acl, since we don't need the rest of qacl.
12947         * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h:
12948         * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c:
12949         * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4:
12950         Get latest versions from gnulib.
12951         * lib/get-permissions.c, lib/set-permissions.c: New files.
12952         * lib/gnulib.mk, m4/gnulib-comp.m4:
12953         Regenerate.
12954         * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand.
12956 2015-05-27  Dmitry Gutov  <dgutov@yandex.ru>
12958         * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old
12959         process here.
12960         (vc-do-command): Rather than here (bug#20608).
12962 2015-05-27  Ivan Shmakov  <ivan@siamics.net>
12964         Avoid gratuitous delete-dups in face-at-point
12965         * lisp/faces.el (face-at-point): Do not compute the properly
12966         ordered, duplicate-free list if only a single value is
12967         requested anyway.  (Bug#20519)
12969         Show the exact C-x 8 RET invocation in describe-char
12970         * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET
12971         invocation instead of a template.  (Bug#20522)
12973 2015-05-27  Artur Malabarba  <bruce.connor.am@gmail.com>
12975         * lisp/emacs-lisp/package.el: Don't erase tags on refresh.
12976         (package-menu--post-refresh): Call `tabulated-list-print' with the
12977         UPDATE argument.  This only affects the refresh action, the revert
12978         action still erases tags.
12979         (package-menu-get-status): Change `assq' to `assoc'.
12980         (package-menu--mark-upgrades-1): New function.
12981         (package-menu--mark-upgrades-pending): New variable.
12982         (package-menu-mark-upgrades): Use them to delay marking until
12983         after refresh is done.
12984         (package-menu--post-refresh): Call mark-upgrades-1 if
12985         mark-upgrades-pending is non-nil.
12987 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
12989         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
12990         Fix typo in "Improve tramp-handle-make-auto-save-file-name"
12991         (commit 3953c4be2816537be95520605d45b866dc731f4b).
12993 2015-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12995         * lisp/isearch.el (isearch--current-buffer): New var.
12996         (isearch-update): Set cursor-sensor-inhibit here.
12997         (isearch-done): Unset cursor-sensor-inhibit in the right buffer
12998         (bug#20532).
13000         Change inhibit-point-motion-hooks to t
13001         * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks
13002         to t and document it as obsolete.
13004 2015-05-27  Eli Zaretskii  <eliz@gnu.org>
13006         Support ZIP files that use Zip64 extensions
13007         * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP
13008         format of central directory offsets used by Zip64 extensions.
13009         (Bug#20665)
13011 2015-05-27  Michael Albinus  <michael.albinus@gmx.de>
13013         New test tramp-test30-make-auto-save-file-name
13014         * test/automated/tramp-tests.el
13015         (tramp-test30-make-auto-save-file-name): New test.
13016         (tramp-test31-special-characters)
13017         (tramp-test31-special-characters-with-stat)
13018         (tramp-test31-special-characters-with-perl)
13019         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
13020         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
13021         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
13022         (tramp-test34-recursive-load, tramp-test35-unload): Rename.
13024         Improve tramp-handle-make-auto-save-file-name
13025         * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags.
13026         (tramp-handle-make-auto-save-file-name): Let native
13027         `make-auto-save-file-name' use `auto-save-file-name-transforms',
13028         if `tramp-auto-save-directory' is not set.
13030 2015-05-27  Glenn Morris  <rgm@gnu.org>
13032         No longer set dired-directory in eshell.  (Bug#16477)
13033         * lisp/eshell/esh-mode.el (eshell-mode):
13034         * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory.
13036         * lisp/mail/sendmail.el (mail-position-on-field): Doc fix.
13038         Make c-submit-bug-report file reports at debbugs.gnu.org.  (Bug#15784)
13039         * lisp/progmodes/cc-mode.el (c-mode-help-address):
13040         Change to submit@debbugs.
13041         (c-mode-bug-package): New constant.
13042         (mail-position-on-field): Declare.
13043         (c-submit-bug-report): Insert X-Debbugs-Package header.
13044         * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports):
13045         Mention debbugs.gnu.org.
13047 2015-05-26  Glenn Morris  <rgm@gnu.org>
13049         * lisp/mail/rmailsum.el: Commas no longer separate regexps.  (Bug#19026)
13050         (rmail-summary-by-recipients, rmail-summary-by-topic)
13051         (rmail-summary-by-senders): No longer use mail-comma-list-regexp.
13052         * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change.
13054 2015-05-26  Paul Eggert  <eggert@cs.ucla.edu>
13056         Handle curved quotes in info files
13057         * lisp/calc/calc-help.el (calc-describe-thing):
13058         * lisp/info.el (Info-find-index-name)
13059         (Info-try-follow-nearest-node, Info-fontify-node):
13060         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
13061         In info files, process quotes ‘like this’ the same way we process
13062         quotes `like this'.  This catches a few places we missed earlier.
13064 2015-05-26  Dmitry Gutov  <dgutov@yandex.ru>
13066         xref-prompt-for-identifier: Use a list value
13067         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list
13068         value, to be interpreted as a list of commands.
13069         (xref--prompt-p): New function.
13070         (xref--read-identifier): Use it.
13072 2015-05-26  Eli Zaretskii  <eliz@gnu.org>
13074         Teach MS-Windows font back-end return per-glyph ascent/descent
13075         * src/w32font.h (struct w32_metric_cache): Add ascent and descent
13076         values.
13077         * src/w32font.c (w32font_text_extents): Compute, cache, and
13078         accumulate per-glyph ascent and descent values, instead of copying
13079         global values from the font.  If the values are not available from
13080         the font data, i.e., non-TTF fonts, fall back on font-global values.
13081         (compute_metrics): Compute and return per-glyph ascent and descent
13082         values, if returned by GetGlyphOutlineW, falling back on
13083         font-global values.  (Bug#20628)
13084         * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and
13085         height of rectangle to be drawn, to be compatible with
13086         XDrawRectangle.  Fixes glyphless-char display as hex codes in a
13087         box, when per-glyph ascent/descent values are used.
13089 2015-05-26  Artur Malabarba  <bruce.connor.am@gmail.com>
13091         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print):
13092         Don't sort if sorter is nil.
13094 2015-05-26  Michael Albinus  <michael.albinus@gmx.de>
13096         Fix Bug#20621
13097         * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it.  There
13098         are major modes which set `auto-save-mode' on their own rules;
13099         Tramp shall not overwrite such settings.
13101 2015-05-26  Glenn Morris  <rgm@gnu.org>
13103         * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork.
13104         (desktop-load-file): Guess that "foobar" defines "foobar-mode".
13105         (desktop-buffer-mode-handlers, desktop-minor-mode-handlers):
13106         Doc updates.
13107         (vc-dir-mode): Remove unnecessary autoload.
13109 2015-05-25  Philipp Stephani  <phst@google.com>
13111         * lisp/term/xterm.el: Add gui-get-selection support via OSC-52.
13112         (xterm--extra-capabilities-type): Add `getSelection'.
13113         (xterm--query): Add `no-async' argument.
13114         (xterm--init-activate-get-selection): New function.
13115         (terminal-init-xterm): Use it.
13116         (xterm--init-modify-other-keys): Rename from
13117         terminal-init-xterm-modify-other-keys.
13118         (xterm--init-bracketed-paste-mode): Rename from
13119         terminal-init-xterm-bracketed-paste-mode.
13120         (xterm--init-activate-set-selection): Rename from
13121         terminal-init-xterm-activate-set-selection.
13122         (xterm--selection-char): New function.
13123         (gui-backend-set-selection): Use it.  Use the &context to only apply
13124         this method in terminals where we enabled the feature.
13125         (gui-backend-get-selection): New method.
13127 2015-05-25  Daniel Colascione  <dancol@dancol.org>
13129         * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language
13130         keyword constants to C++.
13132 2015-05-25  Paul Eggert  <eggert@cs.ucla.edu>
13134         Make TAGS files more portable to MS-Windows
13135         * etc/NEWS: Document this.
13136         * lib-src/etags.c (readline_internal) [DOS_NT]:
13137         Don't treat CRs differently from GNUish hosts.
13138         * lisp/progmodes/etags.el (etags-goto-tag-location):
13139         Adjust STARTPOS to account for the skipped CRs in dos-style files.
13141 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
13143         Improve fix of bug#20634 in tramp-sh.el
13145 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
13147         Fix a typo in last commit
13148         * lib-src/etags.c (C_entries): Fix a typo.
13149         * test/etags/ETAGS.good_1:
13150         * test/etags/ETAGS.good_2:
13151         * test/etags/ETAGS.good_3:
13152         * test/etags/ETAGS.good_4:
13153         * test/etags/ETAGS.good_5:
13154         * test/etags/CTAGS.good: Update due to the change in etags.c.
13156         Fix tagging of class members in C-like OO languages
13157         * lib-src/etags.c (longopts): Add new option --class-qualify and
13158         its shorthand -Q.
13159         (print_help): Add help text for --class-qualify.
13160         (main): Add handling of -Q.
13161         (consider_token, C_entries) <omethodparm>: Append argument types
13162         to Objective C methods only if --class-qualify was specified.
13163         Qualify C++, Objective C, and Java class members with their class
13164         names only if --class-qualify was specified.
13165         (C_entries): If --class-qualify was not specified, remove the
13166         namespace and class qualifiers from tag names of C++ methods.
13167         This allows to use etags.el as xref back-end without the
13168         tag-symbol-match-p method, which greatly increases the number of
13169         potentially false positives.  (Bug#20629)
13170         * doc/man/etags.1: Update to document the new --class-qualify
13171         option.
13172         * test/etags/ETAGS.good_1:
13173         * test/etags/ETAGS.good_2:
13174         * test/etags/ETAGS.good_3:
13175         * test/etags/ETAGS.good_4:
13176         * test/etags/ETAGS.good_5:
13177         * test/etags/CTAGS.good: Update due to changes in etags.c.
13179 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
13181         (cl-generic-define-method): Side effects are evil (bug#20644)
13182         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse
13183         cons-cells that might be used as keys in an `equal' hash-table.
13185 2015-05-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
13187         Make erc timestamps visible again
13188         * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec):
13189         Make timestamps visible again (if requested).
13191 2015-05-25  Eli Zaretskii  <eliz@gnu.org>
13193         Fix last change in etags.c that broke tagging compresed files
13194         * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix
13195         quoting of decompression shell command for MS-Windows/MS-DOS.
13197 2015-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
13199         * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist.
13200         (Bug#20639)
13202 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
13204         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
13205         Fix typo in "Inhibit `epa-file-handler' in Tramp"
13206         (commit 89035e247591c8d688fce922b7079881aa110f33).
13208 2015-05-25  Orivej Desh  <orivej@gmx.fr>  (tiny change)
13210         Fix IPv6 addresses in Tramp
13211         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
13212         Add square brackets around host name.
13214 2015-05-25  Michael Albinus  <michael.albinus@gmx.de>
13216         Inhibit `epa-file-handler' in Tramp (Bug#20634)
13217         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer)
13218         (tramp-sh-handle-insert-file-contents-literally): Inhibit also
13219         `epa-file-handler'.
13221 2015-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
13223         * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring.
13224         (pcase-let): Document the behavior in case the pattern doesn't match.
13226 2015-05-24  Artur Malabarba  <bruce.connor.am@gmail.com>
13228         * lisp/emacs-lisp/tabulated-list.el: New optional print method.
13229         (tabulated-list-print): New optional argument, UPDATE.  If
13230         non-nil, the list is printed by only adding and deleting the
13231         changed entries, instead of erasing the whole buffer.  This method
13232         is much faster when few or no entries have changed.
13233         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
13234         * etc/NEWS: Document it.
13236         * lisp/emacs-lisp/tabulated-list.el: Improve printing.
13237         (tabulated-list--get-sorter): New function.
13238         (tabulated-list-print): Restore window-line when remember-pos is
13239         passed and optimize away the `nreverse'.
13241 2015-05-24  Paul Eggert  <eggert@cs.ucla.edu>
13243         Simpilify etags TEX mode scanning
13244         * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp):
13245         Remove static vars.
13246         (TeX_commands): Deduce escapes here instead.
13247         (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed.
13248         This removes the need for a reset_input call.
13250         Improve etags I/O error reporting
13251         * lib-src/etags.c:
13252         Don't include sys/types.h and sys/stat.h; no longer needed.
13253         (infilename): New static var.
13254         (process_file_name): Don't call 'stat'.  Instead, just open the
13255         file for reading and report any errors.  Don't bother making
13256         a copy of the file argument; it's not needed.  Be more careful to
13257         use the failing errno when reporting an error.
13258         Quote the real name better (though no perfectly)
13259         when passing it to the shell.
13260         (reset_input): New function, which reports I/O errors.
13261         All uses of 'rewind' changed to use this function.
13262         (perhaps_more_input): New function, which also checks for
13263         I/O errors.  All uses of 'feof' changed to use this function.
13264         (analyze_regex): Report an error if fclose fails.
13265         (readline_internal): Report an error if getc fails.
13266         (etags_mktmp): Return an error if close fails.
13268         etags.c: avoid side effects in 'if'
13269         * lib-src/etags.c (process_file_name, Perl_functions)
13270         (TEX_decode_env): Hoist side effects into previous statement.
13272         .gitignore tweaks
13273         * .gitignore: Ignore all *.stamp files.  Sort.
13274         Ignore [0-9]*.txt (commonly used name for git patches)
13275         and /vc-dwim-log-* (vc-dwim temporary).
13277 2015-05-24  Eli Zaretskii  <eliz@gnu.org>
13279         Fix last change in etags.c, which failed the test suite
13280         * lib-src/etags.c (intoken): Add '$' to the set, as it was there
13281         before the last change.
13283 2015-05-23  Glenn Morris  <rgm@gnu.org>
13285         Remove charset map files from repository, generate in first bootstrap
13286         * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New.
13287         (all): Create the stamp file.
13288         (extraclean): Delete the stamp file.
13289         * src/Makefile.in (lispintdir, charsets): New variables.
13290         (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}):
13291         New rules.
13292         (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets.
13293         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
13294         * etc/charsets/*.map: Remove from repository.
13296 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13298         Cleanup etags.c to use locale-independent code
13299         Although this doesn't alter behavior (as etags doesn't use
13300         setlocale), the new version is more clearly locale-independent and
13301         the executable is a bit smaller on my platform.
13302         * lib-src/etags.c: Include <limits.h>, for UCHAR_MAX.
13303         Include <c-ctype.h> instead of <ctype.h>.
13304         (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk)
13305         (begtk, midtk):
13306         Remove; no longer needed.
13307         (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove.
13308         All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit,
13309         c_islower, c_tolower, respectively.
13310         (notinname, begtoken, intoken, endtoken): Rewrite as functions
13311         instead of macros, and initialize the tables at compile-time
13312         rather than at run-time.
13314         Put default action first in src/Makefile
13315         * src/Makefile.in (all): Put this rule before lisp.mk.
13316         That way, plain 'make' works in the src directory again.
13318 2015-05-23  Glenn Morris  <rgm@gnu.org>
13320         * Makefile.in: Fix extraclean rule.
13321         (extraclean_dirs): New.
13322         (extraclean): Use it.
13324 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
13326         Avoid compiler warning in image.c on MS-Windows
13327         * src/w32term.h (x_query_color): Add prototype, to avoid compiler
13328         warning in image.c.
13330 2015-05-23  Glenn Morris  <rgm@gnu.org>
13332         Fix --without-toolkit-scroll-bars builds.
13333         * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]:
13334         Add new argument to x_clear_area1.
13335         (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
13336         Update x_clear_area arguments.
13338         * admin/charsets/glibc/: New directory, imported from glibc 2.21.
13339         * admin/charsets/Makefile.in (GLIBC_CHARMAPS):
13340         Change to included version.
13341         (LOCAL, local, totalclean): Remove.
13342         (extraclean): Delete all generated files.
13344 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13346         * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume
13347         CVS/Entries exists.
13349         * lisp/progmodes/xref.el (xref-find-apropos): Use read-string.
13351         * lisp/progmodes/etags.el (tags-completion-at-point-function):
13352         Don't trust the find-tag function.
13354 2015-05-23  Paul Eggert  <eggert@cs.ucla.edu>
13356         Pacify --enable-gcc-warnings
13357         * src/frame.h (x_query_color): Remove redundant extern decl.
13358         * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list)
13359         (ftcrfont_match, ftcrfont_open, ftcrfont_close)
13360         (ftcrfont_text_extents, ftcrfont_draw):
13361         * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end)
13362         (XTframe_up_to_date, x_clear_area1, x_clear_frame)
13363         (x_ins_del_lines, frame_highlight, frame_unhighlight)
13364         (x_new_focus_frame, x_focus_changed, XTframe_rehighlight)
13365         (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin)
13366         (x_update_window_begin, x_connection_closed)
13367         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
13368         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
13369         (*x_gc_get_ext_data, x_extension_initialize)
13370         (x_cr_accumulate_data):
13371         Remove redundant static decl.  Many of these GCC doesn't complain
13372         about, but we might as well clean out the duplication while we're
13373         in the neighborhood.
13374         * src/xterm.c (x_fill_trapezoid_for_relief):
13375         Remove decl of nonexistent function.
13377 2015-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
13379         Replace gui-method macros with cl-generic with &context
13380         * lisp/frame.el (gui-method--name, gui-method, gui-method-define)
13381         (gui-method-declare, gui-call): Remove.
13382         (frame-creation-function): Use cl-defgeneric.
13383         (make-frame): Adjust callers.
13384         * lisp/menu-bar.el (menu-bar-edit-menu):
13385         Use gui-backend-selection-exists-p.
13386         * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection.
13387         (gui-backend-get-selection): New cl-generic to replace
13388         gui-get-selection method.
13389         (gui-backend-set-selection): New cl-generic to replace
13390         gui-set-selection method.
13391         (gui-selection-owner-p): New cl-generic to replace
13392         gui-selection-owner-p method.
13393         (gui-backend-selection-exists-p): New cl-generic to replace
13394         gui-selection-exists-p method.  Adjust all callers.
13395         * lisp/server.el (server-create-window-system-frame): Don't ignore
13396         window-system spec even when unsupported.
13397         * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions.
13398         * lisp/startup.el (handle-args-function, window-system-initialization):
13399         Use cl-defgeneric.
13400         (command-line): Adjust calls accordingly.
13401         * lisp/term/ns-win.el (ns-window-system-initialization): Turn into
13402         a window-system-initialization method.
13403         (handle-args-function, frame-creation-function): Use cl-defmethod.
13404         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
13405         (gui-get-selection): Use cl-defmethod on the new functions instead.
13406         * lisp/term/pc-win.el (w16-get-selection-value): Turn into
13407         a gui-backend-get-selection method.
13408         (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection):
13409         Use cl-defmethod on the new functions instead.
13410         (msdos-window-system-initialization): Turn into
13411         a window-system-initialization method.
13412         (frame-creation-function, handle-args-function): Use cl-defmethod.
13413         * lisp/term/w32-win.el (w32-window-system-initialization): Turn into
13414         a window-system-initialization method.
13415         (handle-args-function, frame-creation-function): Use cl-defmethod.
13416         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
13417         (gui-get-selection): Use cl-defmethod on the new functions instead.
13418         * lisp/term/x-win.el (x-window-system-initialization): Turn into
13419         a window-system-initialization method.
13420         (handle-args-function, frame-creation-function): Use cl-defmethod.
13421         (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p)
13422         (gui-get-selection): Use cl-defmethod on the new functions instead.
13423         * lisp/term/xterm.el (xterm--set-selection): Turn into
13424         a gui-backend-set-selection method.
13425         * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'.
13426         (Fns_selection_owner_p): Remove unused arg `terminal'.
13427         (Fns_get_selection): Remove unused args `time_stamp' and `terminal'.
13429 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
13431         Revert "Fix etags Bug#20629 that broke C++ support"
13432         This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748.
13434 2015-05-23  Jan D  <jan.h.d@swipnet.se>
13436         Fix etags Bug#20629 that broke C++ support
13437         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
13438         Revert commit from Sun May 10 (Bug#20629).
13440         Merge branch 'cairo'.
13441         Main work done by YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>.
13442         Small fixes and image work by Jan D. <jan.h.d@swipnet.se>.
13444         Merge branch 'master' into cairo
13446         Fixes to compile cairo branch without cairo
13447         * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as
13448         first argument.
13449         * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with
13450         USE_CAIRO.
13452 2015-05-23  Artur Malabarba  <bruce.connor.am@gmail.com>
13454         * lisp/emacs-lisp/package.el: Always update selected-packages.
13455         (package--update-selected-packages): New function.
13456         (package-menu-execute): Use it before starting the transaction,
13457         this way the list of selected packages is updated even when the
13458         transaction fails.
13459         (package-menu--perform-transaction): Don't edit selected-packages.
13461 2015-05-23  Eli Zaretskii  <eliz@gnu.org>
13463         Fix etags reading of compressed files
13464         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define.
13465         Include fcntl.h, for O_CLOEXEC.
13466         (process_file_name): Don't use 'popen', whose streams cannot be
13467         rewound.  Instead, uncompress the file to a temporary file,
13468         created by 'etags_mktmp', and read from that as usual.
13469         (etags_mktmp): New function.
13470         * test/etags/ETAGS.good_1:
13471         * test/etags/ETAGS.good_2:
13472         * test/etags/ETAGS.good_3:
13473         * test/etags/ETAGS.good_4:
13474         * test/etags/ETAGS.good_5: Update to be consistent with latest
13475         changes in etags.c regarding reading compressed files.
13477         Improve documentation of 'set-fontset-font'
13478         * doc/lispref/display.texi (Fontsets): Document the value of nil
13479         for the 3rd argument of 'set-fontset-font'.
13481         Fix documentation of forward-line
13482         * src/cmds.c (Fforward_line): Clarify the return value if the line
13483         at end of accessible portion of the buffer has no newline.
13484         * doc/lispref/positions.texi (Text Lines): Document what happens
13485         if the line at end of accessible portion of buffer has no newline.
13486         (Bug#20587)
13488 2015-05-22  Glenn Morris  <rgm@gnu.org>
13490         * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases.
13492         * admin/charsets/mapconv (LC_ALL): Set to C.
13494         * Makefile.in: Add admin/charsets into top-level clean rules.
13495         (clean): Add admin/charsets.
13496         (maybeclean_dirs): New variable.
13497         (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs.
13499         * admin/charsets/Makefile.in (LOCAL, local): Fix members.
13501 2015-05-22  Artur Malabarba  <bruce.connor.am@gmail.com>
13503         * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc.
13505 2015-05-22  Glenn Morris  <rgm@gnu.org>
13507         Generate admin/charsets Makefile via configure, and make more portable
13508         * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile.
13509         (admin/charsets/Makefile): Generate it.
13510         * admin/charsets/Makefile.in: Rename from Makefile.
13511         (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY):
13512         New variables, set by configure.
13513         (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_)
13514         (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0)
13515         (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932)
13516         (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables.
13517         (TRANS_TABLE, CHARSETS): Add directory prefix to value.
13518         (all): Declare PHONY.
13519         (local): New PHONY target.
13520         (map_template): New template.  Use to define short PHONY aliases.
13521         (*.map): Add directory prefixes to targets and prerequisites.
13522         Respect make verbosity.
13523         (JISC6226.map): Replace non-portable sed append without newline.
13524         (install): Remove rule.
13525         (clean): Only delete temporary sedscript.
13526         (bootstrap-clean, distclean, maintainer-clean, extraclean)
13527         (totalclean): New PHONY rules.
13528         * admin/charsets/mapconv (BASE): Replace basename with expr.
13529         (FILE): Add "mapfiles" subdirectory.
13530         (AWK): New variable.  Use throughout in place of "awk".
13531         (main): Use "gunzip -c" in place of "zcat".
13532         Don't leave whitespace before "p", for older sed.
13533         * admin/charsets/mapfiles/PTCP154: Add final newline,
13534         to make older sed versions happy.
13536 2015-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
13538         * lisp/autorevert.el: Use lexical-binding.  Fix hook usage.
13539         (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p)
13540         (auto-revert-notify-watch-descriptor): Use defvar-local.
13541         (find-file-hook, auto-revert-tail-mode)
13542         (auto-revert-notify-add-watch): Use setq-local.
13543         (auto-revert-notify-add-watch): Don't call make-local-variable on
13544         kill-buffer-hook (bug#20601).
13546 2015-05-21  Stefan Monnier  <monnier@iro.umontreal.ca>
13548         Change defgeneric so it doesn't completely redefine the function
13549         * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away
13550         previously defined methods.
13551         (cl-generic-define-method): Let-bind purify-flag instead of
13552         using `fset'.
13553         (cl--generic-prefill-dispatchers): Only define during compilation.
13554         (cl-method-qualifiers): Remove redundant alias.
13555         (help-fns-short-filename): Silence byte-compiler.
13556         * test/automated/cl-generic-tests.el:
13557         Adjust to new defgeneric semantics.
13559 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
13561         * lisp/emacs-lisp/package.el (package-menu-execute):
13562         Remove reference to remove-dups.
13564 2015-05-21  kwhite  <kwhite@gnu.org>
13566         * lisp/erc/erc.el: Hide network/channel messages.
13567         (erc-network-hide-list, etc-channel-hide-list): New lists to define
13568         message types per network/channel.
13569         (erc-add-targets): New function to parse list of targets.
13570         (erc-hide-current-message-p): Modified to check for new targets.
13572 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13574         Don't quote nil and t in doc strings
13575         This is as per "Tips for Documentation Strings" in the elisp manual.
13576         For consistency, do the same in diagnostics and comments.
13578 2015-05-21  Eli Zaretskii  <eliz@gnu.org>
13580         Fix a minor problem with mouse-face on mode line
13581         * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the
13582         mouse face also if the mouse pointer hovers above mode-line glyphs
13583         that don't come from any Lisp string.  (Bug#20620)
13585 2015-05-21  Artur Malabarba  <bruce.connor.am@gmail.com>
13587         * lisp/emacs-lisp/package.el: Fix selected-package logic.
13588         (package-menu-execute): Mark as selected all non-upgrade packages
13589         being installed.
13590         (package-menu--perform-transaction): Don't mark anything.
13592         * lisp/emacs-lisp/package.el: Mode-line progress report.
13593         (package-menu--transaction-status): New variable.
13594         (package-menu-mode, package-menu--perform-transaction): Use it.
13596         * lisp/emacs-lisp/package.el: Better transaction messages.
13597         (package-menu--partition-transaction): New function.
13598         (package-menu--prompt-transaction-p, package-menu-execute):
13599         Use it.
13600         (package-menu--perform-transaction): Don't do any messaging.
13602         * lisp/emacs-lisp/package.el: Revert async package transactions.
13603         (package-menu-async): Update doc.
13604         (package-install-from-archive, package-download-transaction)
13605         (package-install, package-menu--perform-transaction)
13606         (package-menu-execute): Remove asynchronous functionality.
13608 2015-05-21  Paul Eggert  <eggert@cs.ucla.edu>
13610         Revert doc string changes to f90.el
13611         Problem reported by Glenn Morris in:
13612         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html
13613         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
13614         Revert recent changes to doc strings, as it's intended that they
13615         use grave accent, not quote.
13617 2015-05-20  Bozhidar Batsov  <bozhidar@batsov.com>
13619         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p):
13620         Improve parameter name.
13622         * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function.
13624 2015-05-20  Paul Eggert  <eggert@cs.ucla.edu>
13626         Don't require help-fns when not needed
13627         * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el:
13628         * lisp/emacs-lisp/elint.el:
13629         Don't require help-fns at the top level
13630         * lisp/emacs-lisp/advice.el (ad-arglist):
13631         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
13632         Don't require help-fns.  (Bug#17001)
13634 2015-05-20  Eli Zaretskii  <eliz@gnu.org>
13636         Fix slash collapsing in etags on MS-Windows
13637         * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the
13638         MS-Windows code from the Posix code, and support collapsing both
13639         forward- and back-slashes on MS-Windows.  Fixes a regression found
13640         by the test suite.
13642         Improve documentation of glyphless-char-display
13643         * doc/lispref/display.texi (Glyphless Chars): Improve
13644         documentation of glyphless character display.
13646         Fix "acronym" display of glyphless characters on w32
13647         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't
13648         ignore "acronym" substitutes of 1 character for glyphless characters.
13650 2015-05-20  Oleh Krehel  <ohwoeowho@gmail.com>
13652         Add an automated test for let-when-compile
13653         * test/automated/subr-tests.el (let-when-compile): New test.
13655         Add let-when-compile macro instead of using pcase-let
13656         * lisp/subr.el (let-when-compile): New let-like macro that makes its
13657         bindings known to macros like `eval-when-compile' in the body.
13658         * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to
13659         a `let-when-compile'.  Also comment out the unused lexical var
13660         `el-kws-re'.
13661         The change greatly improves readability, while providing almost the
13662         same (even shorter) byte code: instead of pre-evaluating 10 variables,
13663         tossing them into a list, and destructuring that list a full screen
13664         page later, the variables are simply bound as they are evaluated,
13665         wrapped individually in `eval-when-compile'.
13667 2015-05-20  Artur Malabarba  <bruce.connor.am@gmail.com>
13669         * lisp/emacs-lisp/package.el: "Delete" button in Help buffer.
13670         (package-delete-button-action): New function.
13671         (describe-package-1): Add Delete button.
13673         * lisp/emacs-lisp/package.el: Better dependency description.
13674         (package--used-elsewhere-p): New optional arg, ALL, and return
13675         package-desc objects instead of names.
13676         (package-delete): Update accordingly.
13677         (describe-package-1): Describe which packages require the package.
13679 2015-05-20  Martin Rudalics  <rudalics@gmx.at>
13681         Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533)
13682         * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame.
13683         Fix doc-string.
13685         Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472)
13686         * lisp/window.el (switch-to-buffer-in-dedicated-window): New option.
13687         (switch-to-buffer): If the selected window is strongly dedicated
13688         to its buffer, signal error before prompting for buffer name.
13689         Handle `switch-to-buffer-in-dedicated-window'.
13690         * doc/lispref/windows.texi (Switching Buffers):
13691         Document `switch-to-buffer-in-dedicated-window'.
13693 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13695         Prefer "this" to “this” in doc strings
13696         This mostly just straightens quotes introduced in my previous patch.
13697         Suggested by Dmitry Gutov in:
13698         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html
13699         * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el:
13700         * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el:
13701         * lisp/textmodes/artist.el, lisp/textmodes/rst.el:
13702         * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el:
13703         * lisp/vc/log-edit.el, lisp/xt-mouse.el:
13704         Prefer straight double quotes to curved double quotes in doc strings.
13706         Fix minor quoting problems in doc strings
13707         These were glitches regardless of how or whether we tackle the
13708         problem of grave accent in doc strings.
13709         * lisp/calc/calc-aent.el (math-restore-placeholders):
13710         * lisp/ido.el (ido-ignore-buffers, ido-ignore-files):
13711         * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"):
13712         * lisp/leim/quail/hebrew.el ("hebrew-new")
13713         ("hebrew-biblical-sil"):
13714         * lisp/leim/quail/thai.el ("thai-kesmanee"):
13715         * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars):
13716         Used curved quotes to avoid ambiguities like ‘`''’ in doc strings.
13717         * lisp/calendar/calendar.el (calendar-month-abbrev-array):
13718         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn):
13719         * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass):
13720         * lisp/cedet/semantic/tag.el (semantic-tag-copy)
13721         (semantic-tag-components):
13722         * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp):
13723         * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring):
13724         * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp):
13725         * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine):
13726         * lisp/emacs-lisp/generator.el (iter-next):
13727         * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers)
13728         (gnus-article-mode-syntax-table):
13729         * lisp/net/rlogin.el (rlogin-directory-tracking-mode):
13730         * lisp/net/soap-client.el (soap-wsdl-get):
13731         * lisp/net/telnet.el (telnet-mode):
13732         * lisp/org/org-compat.el (org-number-sequence):
13733         * lisp/org/org.el (org-remove-highlights-with-change)
13734         (org-structure-template-alist):
13735         * lisp/org/ox-html.el (org-html-link-org-files-as-html):
13736         * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt)
13737         (handwrite-12pt, handwrite-13pt):
13738         * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start):
13739         * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev):
13740         * lisp/progmodes/verilog-mode.el (verilog-tool)
13741         (verilog-string-replace-matches, verilog-preprocess)
13742         (verilog-auto-insert-lisp, verilog-auto-insert-last):
13743         * lisp/textmodes/makeinfo.el (makeinfo-options):
13744         * src/font.c (Ffont_spec):
13745         Fix minor quoting problems in doc strings, e.g., missing quote,
13746         ``x'' where `x' was meant, etc.
13747         * lisp/erc/erc-backend.el (erc-process-sentinel-2):
13748         Fix minor quoting problem in other string.
13749         * lisp/leim/quail/ethiopic.el ("ethiopic"):
13750         * lisp/term/tvi970.el (tvi970-set-keypad-mode):
13751         Omit unnecessary quotes.
13752         * lisp/faces.el (set-face-attribute, set-face-underline)
13753         (set-face-inverse-video, x-create-frame-with-faces):
13754         * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl):
13755         * lisp/mail/supercite.el (sc-attribs-%@-addresses)
13756         (sc-attribs-!-addresses, sc-attribs-<>-addresses):
13757         * lisp/net/tramp.el (tramp-methods):
13758         * lisp/recentf.el (recentf-show-file-shortcuts-flag):
13759         * lisp/textmodes/artist.el (artist-ellipse-right-char)
13760         (artist-ellipse-left-char, artist-vaporize-fuzziness)
13761         (artist-spray-chars, artist-mode, artist-replace-string)
13762         (artist-put-pixel, artist-text-see-thru):
13763         * lisp/vc/ediff-util.el (ediff-submit-report):
13764         * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs):
13765         Use double-quotes rather than TeX markup in doc strings.
13766         * lisp/skeleton.el (skeleton-pair-insert-maybe):
13767         Reword to avoid the need for grave accent and apostrophe.
13768         * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence):
13769         Don't use grave and acute accents to quote.
13771 2015-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
13773         * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1):
13774         Silence compiler.
13776 2015-05-19  Paul Eggert  <eggert@cs.ucla.edu>
13778         Try to port new etags tests to MS-Windows
13779         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
13780         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
13781         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
13782         Adjust to test-case changes below.
13783         * test/etags/Makefile (CSRC): Remove dostorture.c.
13784         Whatever it was trying to test, wasn't working portably.
13785         (LC_ALL): Remove.  Apparently there wasn't an encoding problem,
13786         just a line-ending problem.
13787         * test/etags/c-src/dostorture.c: Remove.
13788         * test/etags/cp-src/c.C: Remove stray CR.
13789         * test/etags/html-src/algrthms.html: Remove trailing CRs.
13790         State UTF-8 as the encoding.  The file is ASCII so it doesn't matter,
13791         but if someone edits it later it should stay UTF-8-compatible.
13793 2015-05-19  Eli Zaretskii  <eliz@gnu.org>
13795         Fix display of overlapping window-specific overlays
13796         * src/keyboard.c (adjust_point_for_property): When adjusting point
13797         due to display strings, ignore overlays that are specific to
13798         windows other than the currently selected one.
13799         * src/xdisp.c (handle_single_display_spec): If the display
13800         property comes from an overlay, arrange for buffer iteration to
13801         resume only after the end of that overlay.  (Bug#20607)
13803 2015-05-19  Dmitry Gutov  <dgutov@yandex.ru>
13805         New command icomplete-force-complete-and-exit
13806         * lisp/icomplete.el (icomplete-force-complete-and-exit):
13807         New command
13808         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html)
13809         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html).
13810         (icomplete-minibuffer-map): Bind C-j to it.
13811         (icomplete-forward-completions, icomplete-backward-completions):
13812         Mention the new command in the docstring.
13813         * lisp/minibuffer.el (minibuffer-force-complete-and-exit):
13814         Revert the previous fix for bug#17545.
13816 2015-05-19  Martin Rudalics  <rudalics@gmx.at>
13818         Fix last commit
13820         In Elisp manual explain how to override window manager positioning
13821         (Bug#20552)
13822         * doc/lispref/frames.texi (Position Parameters): Give example of
13823         how to override a window manager positioning decision.
13825         Clarify concept of "surrogate minibuffer frames" (Bug#20538)
13826         * src/frame.c (Fdelete_frame): In doc-string mention that frame
13827         can't be deleted if it has a surrogate minibuffer.
13828         * doc/lispref/frames.texi (Minibuffers and Frames)
13829         (Deleting Frames): Explain "surrogate minibuffer frames".
13831         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB.
13833 2015-05-18  Glenn Morris  <rgm@gnu.org>
13835         Add option to ignore commit lines matching a pattern in ChangeLog
13836         * build-aux/gitlog-to-changelog: Add --ignore-line option.
13837         * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '.
13839 2015-05-18  Paul Eggert  <eggert@cs.ucla.edu>
13841         Don't skip new etags tests on non-UTF-8 hosts
13842         Problem reported by Eli Zaretskii for MS-Windows.
13843         * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove.
13844         (LC_ALL): Set to C if the current locale isn't UTF-8.
13845         (.PHONY): Remove ediff_1 thru ediff_5.
13846         (check): Always run.
13848 2015-05-18  Glenn Morris  <rgm@gnu.org>
13850         * lisp/calculator.el (calculator-funcall):
13851         * lisp/textmodes/artist.el (artist-spray-random-points):
13852         Use standard degree/radian conversion utilities.
13854         Further lisp-complete-symbol related cleanup.
13855         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol):
13856         Unadvertise non-functional argument.  Replace obsolete alias.
13858 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
13860         Add a test case for Maven warning ouput
13861         * test/automated/compile-tests.el
13862         (compile-tests--test-regexps-data): Add a case for Maven warning
13863         ouput.
13864         (compile--test-error-line): Check the compilation message type, if
13865         it's specified in the test data.
13867 2015-05-18  Paul Pogonyshev  <pogonyshev@gmail.com>
13869         Update Maven compilation-mode entry to distinguish warnings
13870         * lisp/progmodes/compile.el
13871         (compilation-error-regexp-alist-alist): Update Maven entry to
13872         distinguish warnings (bug#20556).
13874 2015-05-18  Przemysław Wojnowski  <esperanto@cumego.com>
13876         * test/automated/sgml-mode-tests.el: New file.
13878 2015-05-18  Dmitry Gutov  <dgutov@yandex.ru>
13880         Improve handling of the first Git revision
13881         * lisp/vc/log-view.el (log-view-toggle-entry-display): When
13882         there's no next entry, delete until the end of the buffer.
13883         (log-view-end-of-defun-1): Stop at eob.
13884         * lisp/vc/vc-annotate.el
13885         (vc-annotate-show-diff-revision-at-line-internal): Don't give up
13886         when previous-revision is nil.
13887         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments
13888         with `--' to avoid ambiguity.
13889         (vc-git-annotate-extract-revision-at-line): Exclude `^' from the
13890         returned revision string.
13891         (vc-git-annotate-time): Expect `^' before the first revision.
13892         * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if
13893         REV1 is nil, and REV2 is not.
13894         * lisp/vc/vc.el: Update the description of the `diff' function.
13896 2015-05-18  Oleh Krehel  <ohwoeowho@gmail.com>
13898         Allow checkdoc to be called in batch
13899         * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive'
13900         is non-nil, echo the error with `warn'.
13901         How it can be used in -batch:
13902         (with-current-buffer (find-file "checkdoc.el")
13903           (checkdoc-current-buffer t))
13905 2015-05-18  Glenn Morris  <rgm@gnu.org>
13907         * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi.
13909 2015-05-17  Paul Eggert  <eggert@cs.ucla.edu>
13911         * admin/notes/unicode: New section "binary files".
13913         Change new etags test to use UTF-8 encoding
13914         * test/etags/CTAGS.good, test/etags/ETAGS.good_1:
13915         * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3:
13916         * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5:
13917         * test/etags/html-src/index.shtml, test/etags/html-src/software.html:
13918         * test/etags/html-src/softwarelibero.html:
13919         Switch to UTF-8 encoding.
13920         * test/etags/Makefile (SRCS): Adjust to switch to UTF-8.
13921         Remove Makefile, as it's too incestuous to have the test input
13922         include the build procedure.
13923         (UTF8_LOCALE, UTF_ENCODING): New macros.
13924         (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8.
13925         (check): Skip if not UTF-8.
13926         (.PHONY): New rule.
13927         (FRC): Remove, as superseded by .PHONY.  All uses removed.
13928         (regexfile): Prefer printf to echo when outputting oddball chars.
13929         (.PRECIOUS): Remove, as these files are not built.
13931         Rename 'foo-gzipped' to 'foo.gz'
13932         * test/automated/data/decompress/foo.gz:
13933         Rename from test/automated/data/decompress/foo-gzipped,
13934         to make it easier for other tools to tell that it's compressed.
13935         * test/automated/zlib-tests.el (zlib--decompress):
13936         Adjust to renamed file.
13938 2015-05-17  Dmitry Gutov  <dgutov@yandex.ru>
13940         Set up default-directory
13941         * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate
13942         binding for `v'.
13943         (vc-annotate-show-changeset-diff-revision-at-line): Set up an
13944         appropriate value for default-directory.
13946 2015-05-17  Samer Masterson  <samer@samertm.com>
13948         * lisp/eshell/em-term.el (eshell-term-sentinel):
13949         No-op by default, only kills term buffer if
13950         `eshell-destroy-buffer-when-process-dies' is non-nil.  (Bug#18108)
13951         (eshell-destroy-buffer-when-process-dies): New custom to preserve
13952         previous behavior.
13954         eshell: Introduce new buffer syntax
13955         The new buffer syntax '#<buffer-name>' is equivalent to '#<buffer
13956         buffer-name>'.  Remove `eshell-buffer-shorthand', as it is no longer
13957         needed (Bug#19319).
13958         * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove.
13959         (eshell-get-target): Remove shorthand-specific code.
13960         * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse
13961         '#<buffer-name>'.
13963 2015-05-17  Jan D  <jan.h.d@swipnet.se>
13965         Merge branch 'master' into cairo
13967 2015-04-26  Jan D  <jan.h.d@swipnet.se>
13969         Merge branch 'master' into cairo
13971         Add PBM support for cairo
13972         * src/image.c (xcolor_to_argb32): New function.
13973         (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32.
13974         (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use
13975         XImagePtr if ! USE_CAIRO.
13976         (pbm_load): Add cairo support.
13978 2015-04-12  Jan D  <jan.h.d@swipnet.se>
13980         * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw.
13981         (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert)
13982         (x_free_frame_resources): Rename x_prepare_for_xlibdraw to
13983         x_free_cr_resources.
13985         Handle specified bg in images.  Use generic libpng code for PNGs.
13986         * src/image.c (get_spec_bg_or_alpha_as_argb)
13987         (create_cairo_image_surface): New functions when USE_CAIRO.
13988         (xpm_load): Call the above functions.  Handle XPM without mask
13989         when USE_CAIRO.
13990         (png_load_body): Handle USE_CAIRO case.
13991         (png_load): Remove USE_CAIRO specific fuction, modify png_load_body
13992         instead.
13993         (jpeg_load_body): Call create_cairo_image_surface.
13994         (gif_load, svg_load_image): Handle specified background, call
13995         create_cairo_image_surface.
13996         * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO.
13998 2015-04-11  Jan D  <jan.h.d@swipnet.se>
14000         Support GIF and TIFF with cairo
14001         * configure.ac: Allow jpeg with cairo.
14002         Allow tiff and gif with cairo.
14003         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
14004         (tiff_load): Create cairo image surface if USE_CAIRO.
14005         (gif_load): Ditto.
14007         Support JPEG with USE_CAIRO
14008         * configure.ac: Allow jpeg with cairo.
14009         * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO.
14011 2015-04-05  Jan D  <jan.h.d@swipnet.se>
14013         Support RSVG and cairo
14014         * configure.ac: Allow rsvg with cairo.  Move back HAVE_RSVG.
14015         * src/dispextern.h (struct image): Add cr_data2 if cairo.
14016         * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO.
14017         (x_clear_image): Free cr_data and cr_data2 if set.
14018         (xpm_load): Assign data to cr_data2.
14019         (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32.
14021 2015-04-03  Jan D  <jan.h.d@swipnet.se>
14023         Introduce limited Xpm support (32 bit ZPixmap) for Cairo
14024         * configure.ac (HAVE_RSVG): Move after cairo.
14025         (USE_CAIRO): Disable rsvg, don't disable Xpm.
14026         * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO.
14027         (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and
14028         don't return early.
14029         (ALLOC_XPM_COLORS): Don't define when USE_CAIRO.
14030         (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32
14031         and create a surface.
14033         Tool tips for menus did not show any text.
14034         * src/xterm.c (x_update_begin): Don't create any surface for non-visible
14035         tip frames, the geometry may be wrong.
14037         Merge branch 'master' into cairo, fixes tooltips not shown.
14039         Merge branch 'master' into cairo
14041         Add CAIRO_CFLAGS to lwlib/Makefile.in
14042         * Makefile.in (CAIRO_CFLAGS): Add.
14044 2015-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14046         * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen.
14048 2015-02-16  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14050         Draw outermost line using black relief and erase corners also for cairo.
14051         * src/xterm.c [USE_CAIRO]: Include math.h.
14052         (enum corners) [USE_CAIRO]: New enum.
14053         (x_erase_corners_for_relief) [USE_CAIRO]: New function.
14054         (x_draw_relief_rect) [USE_CAIRO]: Use it.  If box width is larger
14055         than 1, draw the outermost line using the black relief.
14057         * src/xterm.c (x_fill_trapezoid_for_relief):
14058         Remove unnecessary cairo_close_path.
14060 2015-02-15  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14062         * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping.
14064         * src/xterm.c (x_draw_stretch_glyph_string):
14065         Call x_reset_clip_rectangles instead of XSetClipMask.
14067         Use int instead of unsigned int for width and height args.
14068         * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle)
14069         (x_fill_trapezoid_for_relief): Use int instead of unsigned int for
14070         width and height args.
14072         Modernize k&r cairo-related function declarations.
14073         * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page)
14074         (xg_print_frames_dialog): Modernize k&r declarations.
14075         * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup)
14076         (Fx_print_frames_dialog): Modernize k&r declarations.
14077         * src/xterm.c (x_gc_get_ext_data, x_extension_initialize)
14078         (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground)
14079         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
14080         (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data)
14081         (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw)
14082         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
14083         (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief)
14084         (x_clear_area): Modernize k&r declarations.
14086         Implement wave-style variant of underlining for cairo.
14087         * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function.
14088         (x_draw_underwave) [USE_CAIRO]: Use it.
14090         * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle
14091         instead of XFillRectangle.
14093 2015-02-13  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
14095         Fix fringe bitmap initialization for cairo
14096         * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap
14097         data for cairo image surface.
14098         * src/xterm.c (x_cr_define_fringe_bitmap):
14099         Call cairo_surface_mark_dirty.
14101 2015-02-11  Jan D  <jan.h.d@swipnet.se>
14103         Add cairo drawing
14104         * configure.ac (with-cairo): New option.
14105         (USE_CAIRO): Default to yes for Gtk+ 3.  Add code to test for cairo,
14106         set CAIRO_CFLAGS, CAIRO_LIBS.  Add ftcrfonto to FONT_OBJ if cairo.
14107         Output "Does Emacs use cairo?".
14108         * lisp/version.el (emacs-version): Add cairo version.
14109         * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables.
14110         (FONT_OBJ): Add comment about ftcrfont.
14111         (ALL_CFLAGS): Add CAIRO_CFLAGS.
14112         (LIBES): Add CAIRO_LIBS.
14113         * src/dispextern.h (struct image): Add cr_data for cairo.
14114         (x_cr_init_fringe): Declare.
14115         * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo.
14116         * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare
14117         * src/fringe.c (x_cr_init_fringe): New function name that shares code
14118         with w32_init_fringe.
14119         * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver.
14120         * src/ftfont.c (ftfont_info_size); New global variable.
14121         (ftfont_open2): New extern function almost the same as old ftfont_open,
14122         but takes the font_object as argument.
14123         (ftfont_open): Build font object and call ftfont_open2.
14124         * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare.
14125         * src/gtkutil.c (xg_clear_under_internal_border)
14126         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
14127         Only queue_draw if not cairo.  Change args to x_clear_area.
14128         (xg_get_font): Use Qftcr when using cairo, Qxft otherwise.
14129         (xg_page_setup_dialog, xg_get_page_setup, draw_page)
14130         (xg_print_frames_dialog): New functions for printing.
14131         * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup)
14132         (xg_print_frames_dialog): Declare.
14133         * src/image.c: Add defined (USE_CAIRO) for PNG.
14134         Add !defined USE_CAIRO for W32 PNG code.
14135         (x_clear_image): If cairo, destroy the surface in cr_data.
14136         (png_load): Add new cairo compatible implementation.
14137         (lookup_image_type): Add defined (USE_CAIRO) for define png_type.
14138         * src/xfns.c: New section Printing.
14139         (x-export-frames, x-page-setup-dialog, x-get-page-setup)
14140         (x-print-frames-dialog): New printing functions.
14141         (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo.
14142         (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin,
14143         Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape).
14144         (syms_of_xfns): Provide cairo and defvar cairo-version-string.
14145         defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog.
14146         * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw)
14147         (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle)
14148         (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window)
14149         (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data):
14150         Declare.
14151         (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros.
14152         (max_fringe_bmp, fringe_bmp): New variables.
14153         (x_gc_get_ext_data, x_extension_initialize)
14154         (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip)
14155         (x_set_cr_source_with_gc_foreground)
14156         (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap)
14157         (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame)
14158         (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames)
14159         (x_prepare_for_xlibdraw, x_set_clip_rectangles)
14160         (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle)
14161         (x_clear_window, x_fill_trapezoid_for_relief): New functions.
14162         (x_update_begin): Create cairo surface if needed.
14163         (x_draw_vertical_window_border): Call x_fill_rectangle for cairo.
14164         (x_update_end): Paint cairo drawing surface to xlib surface.
14165         (x_clear_under_internal_border, x_after_update_window_line): Adjust
14166         arguments to x_clear_area.
14167         (x_draw_fringe_bitmap): Call x_fill_rectangle.  Get GC values and
14168         call x_cr_draw_image for cairo.  Call x_reset_clip_rectangles instead
14169         of XSetClipMask.
14170         (x_set_glyph_string_clipping)
14171         (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles
14172         instead of XSetClipRectangles.
14173         (x_clear_glyph_string_rect, x_draw_glyph_string_background):
14174         Use x_fill_rectangle instead of XFillRectangle.
14175         (x_draw_glyph_string_foreground)
14176         (x_draw_composite_glyph_string_foreground)
14177         (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle
14178         instead of XDrawRectangle.
14179         (x_draw_relief_rect): Add code for USE_CAIRO.
14180         Call x_reset_clip_rectangles instead of XSetClipMask.
14181         (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles,
14182         x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles
14183         instead of XSetClipMask.
14184         (x_draw_image_foreground, x_draw_image_foreground_1):
14185         x_draw_rectangle instead of XDrawRectangle.
14186         (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of
14187         XFillRectangle.
14188         (x_draw_image_glyph_string): If img has cr_data, use it as
14189         a cairo surface.
14190         (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of
14191         XSetClipRectangles, x_fill_rectangle instead of XFillRectangle.
14192         (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle.,
14193         x_reset_clip_rectangles instead of XSetClipMask.
14194         (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw.
14195         (x_clear_area1): New function that calls XClearArea.
14196         (x_clear_area): Takes frame as parameter, calls x_clear_area1 for
14197         non-cairo.
14198         (x_clear_frame): x_clear_window instead of XClearWindow.
14199         (x_scroll_run): Set frame garbaged if cairo.
14200         (XTmouse_position): Initialize *part to 0.
14201         (x_scroll_bar_create): Adjust arguments to x_clear_area.
14202         (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area,
14203         x_fill_rectangle instead of XFillRectangle.
14204         (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust
14205         arguments to x_clear_area.
14206         (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle.
14207         (handle_one_xevent): Adjust arguments to x_clear_area.
14208         Destroy cairo surface for frame if ConfigureNotify.
14209         (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles.
14210         (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle,
14211         x_reset_clip_rectangles instead of XSetClipMask.
14212         (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle,
14213         x_reset_clip_rectangles instead of XSetClipMask.
14214         (x_clear_frame_area): Adjust arguments to x_clear_area.
14215         (x_free_frame_resources): Call x_prepare_for_xlibdraw.
14216         (x_term_init): Call x_extension_initialize if cairo.
14217         (x_redisplay_interface): Add x_cr_define_fringe_bitmap,
14218         x_cr_destroy_fringe_bitmap for cairo.
14219         (x_initialize): Call x_cr_init_fringe for cairo.
14220         * src/xterm.h: Add include of cairo header files.
14221         (x_bitmap_record): Add img if cairo.
14222         (x_gc_ext_data): New struct for cairo.
14223         (x_display_info): Add ext_codes for cairo.
14224         (x_output): Add cr_context and cr_surface for cairo.
14225         (x_clear_area): Change arguments from Display*/Window to frame pointer.
14226         (x_query_color, x_begin_cr_clip, x_end_cr_clip)
14227         (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background)
14228         (x_cr_draw_frame, x_cr_export_frames): Declare.
14230 2015-05-17  Johan Bockgård  <bojohan@gnu.org>
14232         Fix integer-valued `mouse-highlight' (Bug#20590)
14233         * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope.
14235 2015-05-17  Eli Zaretskii  <eliz@gnu.org>
14237         MS-Windows followup for ASCIIfication of curved quotes
14238         * lisp/term/w32console.el (terminal-init-w32console): Repeat the
14239         test for curved quotes being displayable, after switching the
14240         terminal encoding.  (Bug#20545)
14242 2015-05-17  Jan D  <jan.h.d@swipnet.se>
14244         Add comment that x_shift_glyphs_for_insert is never called
14245         * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface):
14246         Add comment that this function is never called.
14248 2015-05-16  Glenn Morris  <rgm@gnu.org>
14250         * src/lisp.mk: Remove from repository and generate at build-time.
14251         * src/Makefile.in (lisp.mk): New rule to generate from loadup.el.
14252         (shortlisp_filter): New variable.
14253         (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk.
14254         (distclean): Remove lisp.mk.
14255         * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk.
14256         * lisp/loadup.el: Tweak layout to make it easier to parse.
14257         * make-dist: Do not distribute src/lisp.mk.
14259 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
14261         Display shorter dates in Git annotate output
14262         * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date
14263         format (when not overridden with vc-git-annotate-switches).
14264         (vc-git-annotate-time): Support the short format, as well as ISO
14265         8601 that has been used until now (bug#5428).
14267 2015-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14269         ASCIIfy curved quotes on displays lacking them
14270         * lisp/international/mule-cmds.el (set-locale-environment):
14271         If curved quotes don't work, display straight ASCII approximations
14272         (Bug#20545).
14274 2015-05-16  Glenn Morris  <rgm@gnu.org>
14276         Small src/Makefile simplification
14277         * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix.
14278         * src/Makefile.in (lisp): Derive from shortlisp.
14279         ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk.
14281 2015-05-16  Eli Zaretskii  <eliz@gnu.org>
14283         * lisp/help-mode.el (help-go-forward): Doc fix.
14284         (Bug#20577)
14286         * doc/lispref/debugging.texi (Profiling): Improve indexing.
14287         (Bug#20576)
14289 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
14291         * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to
14292         have one fewer `not'.
14294         * lisp/vc/vc-git.el (vc-git-diff-switches)
14295         (vc-git-annotate-switches, vc-git-resolve-conflicts)
14296         (vc-git-program, vc-git-root-log-format): Remove the redundant
14297         :group declarations.
14299 2015-05-16  Nicolas Petton  <nicolas@petton.fr>
14301         Removes the predicate from lisp-complete-symbol (Bug#20456)
14302         * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate
14303         and remove it from the docstring.
14305 2015-05-16  Dmitry Gutov  <dgutov@yandex.ru>
14307         Add new option vc-git-resolve-conflicts
14308         * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable.
14309         (vc-git-find-file-hook): Add to after-save-hook only when the
14310         above is non-nil.
14311         (vc-git-resolve-when-done): Update to honor the new variable.
14312         (Bug#20292)
14314 2015-05-16  Artur Malabarba  <bruce.connor.am@gmail.com>
14316         * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string.
14317         (tabulated-list-init-header): Document new behavior.
14318         (tabulated-list-print-fake-header): Do nothing if
14319         `tabulated-list--header-string' is nil.
14320         (tabulated-list--header-string): Add a docstring.
14321         * doc/lispref/modes.texi (Tabulated List Mode): Document it.
14322         * etc/NEWS: Document it.
14324 2015-05-15  Leo Liu  <sdl.web@gmail.com>
14326         Revert "Fix cps--gensym"
14327         * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit
14328         fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14.
14330 2015-05-15  Glenn Morris  <rgm@gnu.org>
14332         Replace AC_SUBST_FILE in configure with include in Makefiles
14333         * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag)
14334         (oldxmenu_deps_frag, lisp_frag): Remove output variables/files.
14335         (AUTO_DEPEND): New output variable.
14336         * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure.
14337         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
14338         (lwlib_deps_frag): Replace by conditional include.
14339         * lwlib/autodeps.mk: Remove file.
14340         * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure.
14341         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
14342         (oldxmenu_deps_frag): Replace by conditional include.
14343         * oldXMenu/autodeps.mk: Remove file.
14344         * src/Makefile.in (AUTO_DEPEND): New, set by configure.
14345         (DEPFLAGS, MKDEPDIR): Set directly via conditional.
14346         (lisp_frag): Replace by an include.
14347         (deps_frag): Replace by conditional include.
14348         * src/autodeps.mk: Remove file.
14350         Tweak japanese.el's loading of dependencies
14351         * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms.
14352         * lisp/language/japanese.el: Use require rather than load.
14353         * lisp/international/cp51932.el, lisp/international/eucjp-ms.el:
14354         Provide a feature.
14355         * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk:
14356         Provide a feature in the generated file.
14358 2015-05-15  Jan D  <jan.h.d@swipnet.se>
14360         Fix NS warnings
14361         * src/nsmenu.m (ns_popup_dialog)
14362         * src/nsimage.m (initFromXBM:width:height:fg:bg:)
14363         * src/nsfns.m (Fx_create_frame): Remove unused variables.
14364         (Fns_read_file_name): Initialize fname, remove ret.
14365         * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch.
14366         (ns_get_color, ns_set_horizontal_scroll_bar, keyDown):
14367         Remove unused variable.
14368         (init): Add parantesis in if.
14369         (ns_create_terminal): Assign set_horizontal_scroll_bar_hook.
14371 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
14373         Fix a enum conversion warning in macfont.m
14374         * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection.
14375         (MAC_CHARACTER_COLLECTION_*): Use the NS variants.
14377 2015-05-15  Eli Zaretskii  <eliz@gnu.org>
14379         * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary):
14380         Support Aspell dictionaries with names like "de-alt".  (Bug#20581)
14382 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
14384         * lisp/cus-start.el: Add ns-confirm-quit.
14386         Fix warnings on OSX 10.10
14387         * src/nsfns.m (MODAL_OK_RESPONSE): New define for different
14388         OSX versions.
14389         (Fns_read_file_name): Check against MODAL_OK_RESPONSE.
14390         (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7
14391         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:)
14392         * src/nsimage.m (allocInitFromFile, setPixmapData): Only call
14393         setScalesWhenResized for OSX < 10.6.
14394         * src/nsterm.h (EmacsScroller): Declare scrollerWidth.
14395         * src/nsterm.m (ns_copy_bits): New function that does not use
14396         deprecated NSCopyBits.
14397         (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits.
14398         (runAlertPanel): New function.
14399         (applicationShouldTerminate:): Call runAlertPanel.
14400         (initFrameFromEmacs, toggleFullScreen:): Only call
14401         useOptimizedDrawing for OSX < 10.10.
14402         (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10.
14403         (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int.
14404         (draggingEntered:): Returns NSDragOperation.
14405         (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7.
14407 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
14409         * lisp/emacs-lisp/package.el: Don't ensure-init during startup.
14410         (package--init-file-ensured): New variable.
14411         (package-initialize, package--ensure-init-file): Use it.
14413 2015-05-15  Jan Djärv  <jan.h.d@swipnet.se>
14415         Honor :fore/background for XBM on NS (Bug#14969)
14416         * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM,
14417         initFromXBM takes bg, fg args, remove flip arg.
14418         (ns_image_from_XBM): Add bg, fg args.
14419         * src/image.c (x_create_bitmap_from_data)
14420         (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args.
14421         * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to
14422         initFromXBM.  Remove flip arg.
14423         (initFromSkipXBM): Move code to initFromXBM.
14424         (initFromXBM): Actually set fg and bg, instead of playing alpha games.
14425         Use fg, bg from args (Bug#14969).  Remove if (length) section, was
14426         always false.
14427         Remove bit flipping (bitPat, swt), generated incorrect images when
14428         width/height wasn't a multiple of 8.
14429         (setXBMColor:): Modify planes by comparing to saved xbm_fg.
14430         * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args,
14431         remove flip arg.
14433 2015-05-15  Artur Malabarba  <bruce.connor.am@gmail.com>
14435         * lisp/emacs-lisp/package.el: Be more careful with the init file.
14436         (package--ensure-init-file): Check that user-init-file is set,
14437         exists, is readable, and is writable.  (Bug#20584)
14438         Also expand the docstring.
14440 2015-05-14  Wilson Snyder  <wsnyder@wsnyder.org>
14442         Sync with upstream verilog-mode revision 6232468
14443         * lisp/progmodes/verilog-mode.el
14444         (verilog-font-lock-grouping-keywords-face)
14445         (verilog-highlight-grouping-keywords): Fix use of face when
14446         `verilog-highlight-grouping-keywords' set.  Reported by Jeff Pompa.
14447         (verilog-auto-reset): Fix AUTORESET to ignore member resets if
14448         parent is reset, bug906.  Reported by Ken Schmidt.
14449         (verilog-auto-inout-module): Add fourth regexp argument to
14450         AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856.
14451         Reported by John Tillema.
14452         (verilog-auto-inst-port): Fix AUTOINST interfaces to not show
14453         modport if signal attachment is itself a modport.  Reported by
14454         Matthew Lovell.
14455         (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with
14456         always_comb and always_latch, bug844.  Reported by Greg Hilton.
14457         (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging
14458         with many curly-bracket pairs, bug663.
14459         (verilog-set-auto-endcomments): Fix end comments for functions of
14460         type void, etc.  Reported by Alex Reed.
14461         (verilog-do-indent): Fix electric tab deleting form-feeds.  Note
14462         caused by indent-line-to deleting tabls pre 24.5.
14463         (verilog-nameable-item-re): Fix nameable items that can have an
14464         end-identifier to include endchecker, endgroup, endprogram,
14465         endproperty, and endsequence.  Reported by Alex Reed.
14466         (verilog-label-be): When auto-commenting a buffer, consider
14467         auto-comments on all known keywords (not just a subset thereof).
14468         Reported by Alex Reed.
14469         (verilog-auto-end-comment-lines-re)
14470         (verilog-end-block-ordered-re, verilog-set-auto-endcomments):
14471         Automatically comment property/endproperty blocks to match other
14472         similar blocks like sequence/endsequence, function/endfunction, etc.
14473         Reported by Alex Reed.
14474         (verilog-set-auto-endcomments): Detect the function- or task-name
14475         when auto-commenting blocks that lack an explicit portlist.
14476         Reported by Alex Reed.
14477         (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to
14478         allow post-AUTO user fixups, bug826.  Reported by Dennis Muhlestein.
14479         (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if'
14480         is nil, fix indenting initial/final to match always statements,
14481         bug825.  Reported by Tim Clapp.
14482         (verilog-extended-complete-re): Fix indentation of DPI-C imports
14483         with c_identifiers, and DPI-C imports, bug557.  Reported by ZeDong
14484         Mao and Jason Forkey.
14485         (verilog-read-decls): Fix parsing typed interfaces.  Fix
14486         AUTOINOUTMODPORT missing types.  Reported by Stephan Bourduas.
14487         Fix localparam not being ignored in AUTOINSTPARAM,
14488         bug889.  Reported by Shannon Hill.
14489         (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY,
14490         bug793.  Reported by Pierre-David Pfister.
14491         (verilog-auto-arg-format, verilog-auto-arg-ports):
14492         Add verilog-auto-arg-format to support newlines in AUTOARG.
14493         Reported by Jie Xiao.
14494         (verilog-batch-execute-func): Do not batch re-auto files loaded by
14495         Local Variables.  Fix printing "no changes to be saved" with
14496         verilog-batch.  Reported by Dan Dever.
14497         (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting
14498         interface-only modules, bug721.  Reported by Dean Hoyt.
14499         Author: Alex Reed <acreed4@gmail.com>
14500         * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement):
14501         Don't treat '<keyword>:<identifier>' as the start of a labeled
14502         statement, bug905.  Reported by Enzo Chi.
14503         (verilog-directive-re, verilog-compiler-directives)
14504         (verilog-keywords): Match full set of IEEE 2012-1800 compiler
14505         directives (plus some extras) when determining indentation, bug
14506         901.  Reported by Bernd Beuster.
14507         (verilog-at-constraint-p): Fix indentation of coverpoint bins if
14508         iff expression doesn't start with word-character, bug900.
14509         (verilog-optional-signed-range-re, verilog-optional-signed-re):
14510         Fix incorrect indentation/alignment of unsigned declarations,
14511         bug897.
14512         (verilog-looking-back, verilog-in-attribute-p): Fix labeling of
14513         always constructs, bug895.
14514         (verilog-calc-1): Fix verilog-mode constraint indentation, bug324.
14515         Reported by Eric Mastromarchi.
14516         (verilog-beg-of-statement): Fix indenting for some forms of
14517         constraintsm bug433.  Reported by Brad Parker.  Fix indentation of
14518         continued assignment incorrect if first line ends with ']', bug437.
14519         Reported by Dan Dever.  Fix indention of cover inside an
14520         ifdef, bug 862.  Reported by Bernd Beuster.  Fix labeling do-while
14521         blocks, bug842.
14522         (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859.
14523         Reported by Kaushal Modi.
14524         (verilog-set-auto-endcomments): Fix endlabel end comments, bug888.
14525         (verilog-backward-token): Fix indenting sensitivity lists with
14526         named events, bug840.  Reed.
14527         (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if'
14528         nil not honoring 'forever', 'foreach', and 'do' keywords.
14530 2015-05-14  Paul Eggert  <eggert@cs.ucla.edu>
14532         Check for invalid GTK+ monitor scales
14533         * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales,
14534         INT_MAX for too-large scales.  All callers changed to assume the
14535         result is valid (Bug#20432).
14536         (xg_frame_set_char_size, xg_update_scrollbar_pos):
14537         Calculate scale only if needed.
14538         Show ASCII approximations instead.
14540 2015-05-14  Eli Zaretskii  <eliz@gnu.org>
14542         Fix daemon crashes when linum-mode is turned on early on
14543         * src/window.c (Fwindow_end): Don't try calling display engine
14544         functions on initial-frame frame.  (Bug#20565)
14546         Fix selective diff browsing in Ediff
14547         * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches):
14548         Go to the beginning of the region before searching for the
14549         ediff-regexp-focus-* regexps.  (Bug#20568)
14551 2015-05-14  Jan D  <jan.h.d@swipnet.se>
14553         Fixes bug#20142
14554         * src/gtkutil.c (delete_cb): Don't send delete event here, it does
14555         arrive in the main loop, even for Gtk 3 (Bug#20142).
14557         Don't access display after i/o error (Bug#19147).
14558         * src/xterm.c (x_connection_closed): Add third arg ioerror.
14559         If ioerror, set display to 0 (Bug#19147).
14560         (x_error_quitter): Call x_connection_closed with third arg false.
14561         (x_io_error_quitter): Call x_connection_closed with third arg true.
14563         Handle GTK_SCALE, fixes Bug#20432.
14564         * src/gtkutil.c (xg_get_gdk_scale): New function.
14565         (xg_frame_set_char_size)
14566         (x_wm_set_size_hint, xg_get_default_scrollbar_width)
14567         (xg_get_default_scrollbar_height)
14568         (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account
14569         when setting sizes (Bug#20432).
14571 2015-05-13  Leo Liu  <sdl.web@gmail.com>
14573         * lisp/emacs-lisp/generator.el (cps--gensym): Fix.
14575 2015-05-13  Glenn Morris  <rgm@gnu.org>
14577         Fix bootstrap (void function cl-member).
14578         * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file.
14579         * lisp/emacs-lisp/cl-seq.el: Provide a feature.
14581 2015-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
14583         * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload
14584         * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc.
14585         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
14586         Avoid defalias for closures which are not immutable.
14587         (cl--generic-prefill-dispatchers): New macro.  Use it to prefill
14588         the dispatchers table with various entries.
14589         * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook):
14590         * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook.
14592 2015-05-13  Eli Zaretskii  <eliz@gnu.org>
14594         Improve tagging of C bindings in DEFVAR_*
14595         * src/Makefile.in (TAGS): Add --regex options to tag the C binding
14596         from DEFVAR_*.
14598 2015-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14600         * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548).
14602 2015-05-12  Glenn Morris  <rgm@gnu.org>
14604         * lisp/progmodes/tcl.el (tcl-filter):
14605         Handle comint-prompt-read-only like gud.el does.  (Bug#20549)
14607         Add basic VC push support
14608         * lisp/vc/vc.el (vc-push): New autoloaded command.
14609         * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push.
14610         * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull.
14611         (vc-bzr-pull): Reimplement using vc-bzr--pushpull.
14612         (vc-bzr-push): New.
14613         * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull.
14614         (vc-git-pull): Reimplement using vc-git--pushpull.
14615         (vc-git-push): New.
14616         * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull.
14617         (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull.
14618         * doc/emacs/maintaining.texi (Pulling / Pushing):
14619         Rename from "VC Pull".  Mention pushing.
14620         (VC With A Merging VCS, VC Change Log): Update xrefs.
14621         (Branches): Update menu.
14622         * doc/emacs/emacs.texi: Update menu.
14623         * etc/NEWS: Mention this.
14625 2015-05-12  Nicolas Petton  <nicolas@petton.fr>
14627         Improve the seq pcase pattern and the `seq-let' macro
14628         * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the
14629         object is a sequence, and binds each element of ARGS to the
14630         corresponding element of the sequence.
14632 2015-05-12  Eli Zaretskii  <eliz@gnu.org>
14634         Fix tags created from DEFVAR_* declarations in C
14635         * src/Makefile.in (TAGS): Improve the --regex argument to etags,
14636         to make tags extracted from DEFVAR_* declarations more accurate.
14638         Add a test suite for etags
14639         * test/etags/: New test suite, adapted from
14640         http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2,
14641         whose original author is Francesco Potortì <pot@gnu.org>.
14643         Fix tagging of symbols in C enumerations
14644         * lib-src/etags.c (consider_token): Don't tag symbols in
14645         expressions that assign values to enum constants.  See
14646         http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html
14647         for details.
14648         (C_entries): Reset fvdef to fvnone after processing a preprocessor
14649         conditional and after a comma outside of parentheses.
14651 2015-05-12  Glenn Morris  <rgm@gnu.org>
14653         * lisp/url/url-handlers.el (url-file-name-completion)
14654         (url-file-name-all-completions): Silence compiler.
14656         * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias.
14658         * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time.  (Bug#20554)
14660 2015-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
14662         * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments
14663         (cl--generic-mandatory-args): Remove.
14664         (cl--generic-split-args): New function.
14665         (cl-generic-define, cl--generic-lambda): Use it.
14666         (cl-generic-define-method): Use it as well, and add support for
14667         context args.
14668         (cl--generic-get-dispatcher): Handle &context dispatch.
14669         (cl--generic-cache-miss): `dispatch-arg' can now be a
14670         context expression.
14671         (cl--generic-dispatchers): Pre-fill.
14672         * test/automated/cl-generic-tests.el (sm-generic-test-12-context):
14673         New test.
14675 2015-05-11  Glenn Morris  <rgm@gnu.org>
14677         * make-dist: Abort if "make ChangeLog" fails.  Add "--no-changelog".
14679 2015-05-11  Stefan Monnier  <monnier@iro.umontreal.ca>
14681         * lisp/term/xterm.el: Fix xterm-paste handling for rxvt
14682         * lisp/term/rxvt.el: Require term/xterm.
14683         (rxvt-function-map): Use xterm-rxvt-function-map.
14684         (rxvt-standard-colors): Move before first use.
14685         (terminal-init-rxvt): Use xterm--push-map and
14686         xterm-register-default-colors.
14687         (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove.
14688         * lisp/term/xterm.el (xterm-rxvt-function-map): New var.
14689         Move shared bindings between rxvt and xterm to it.
14690         (xterm-function-map): Use it.  Move the xterm-paste binding to
14691         xterm-rxvt-function-map (bug#20444).
14692         (xterm-standard-colors): Move before first use.
14693         (xterm--push-map): New function.
14694         (xterm-register-default-colors): Take standard colors as argument.
14695         (terminal-init-xterm): Use it.  Adjust call to
14696         xterm-register-default-colors.
14698 2015-05-11  Glenn Morris  <rgm@gnu.org>
14700         * lisp/term/x-win.el: Quieten --without-x compilation.
14701         (x-own-selection-internal, x-disown-selection-internal)
14702         (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal):
14703         Declare.
14705         * Makefile.in (emacslog): Remove srcdir.
14706         (ChangeLog): Update for the above.
14708 2015-05-10  Fabián Ezequiel Gallina  <fgallina@gnu.org>
14710         python.el: better limit for looking-back calls
14711         * lisp/progmodes/python.el (python-shell-accept-process-output):
14712         Use last comint prompt start as limit for looking-back.
14714 2015-05-10  Stefan Monnier  <monnier@iro.umontreal.ca>
14716         CEDET (srecode-insert-fcn): Fix use of oref on a class
14717         * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref
14718         on a class.  Reported by Pierre Lorenzon.
14719         (srecode-template-inserter-point): Remove declaration.
14721         CEDET (srecode-create-dictionary): Avoid obsolete object name
14722         * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary):
14723         Don't use a symbol as an object name.  Reported by Pierre Lorenzon.
14725 2015-05-10  Paul Eggert  <eggert@cs.ucla.edu>
14727         C-x 8 shorthands for curved quotes, Euro, etc.
14728         Although C-x 8 lets you insert arbitrary Unicode characters,
14729         it's awkward to use this to insert commonly used symbols such as curved
14730         quotes, the Euro symbol, etc.  This patch adds simpler sequences for
14731         characters commonly found in English text and in basic math.
14732         For example, assuming the Alt key works on your keyboard and iso-transl
14733         is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET"
14734         to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK).
14735         (Bug#20499)
14736         * doc/emacs/mule.texi (Unibyte Mode):
14737         A few other printing characters now work too.
14738         * etc/NEWS: Document this.
14739         * lisp/international/iso-transl.el (iso-transl-char-map):
14740         Also support the following characters:
14741         ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥
14743 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
14745         Add xref-find-regexp
14746         * lisp/progmodes/xref.el (xref-find-function): Describe the
14747         `matches' action.
14748         (xref-find-regexp): New command, using it.
14749         (xref-collect-references): Rename to xref-collect-matches.
14750         (xref--collect-reference): Rename to xref--collect-match.
14751         (xref-collect-matches, xref--collect-match): Accept new argument,
14752         KIND.  Update accordingly.
14753         (xref--regexp-to-extended): New function.
14754         * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the
14755         `matches' action.
14756         (elisp--xref-find-matches): Accept new argument.  Resolve a FIXME.
14757         * lisp/progmodes/etags.el (etags-xref-find):
14758         Support the `matches' action.
14759         (etags--xref-find-matches): New function.
14761 2015-05-10  Glenn Morris  <rgm@gnu.org>
14763         * Makefile.in: Fixes for recent change-history changes.
14764         (change-history-nocommit): Update footer regexp.
14765         Ensure output script stays executable.
14767 2015-05-10  Nicolas Petton  <nicolas@petton.fr>
14769         New version of `seq-let' based on a pcase pattern
14770         * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a
14771         pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1).
14773 2015-05-10  Przemysław Wojnowski  <esperanto@cumego.com>
14775         Add basic HTML5 tags and a template
14776         * lisp/textmodes/sgml-mode.el: Basic HTML5 support.
14777         (html-tag-alist): Add HTML5 tags.
14778         (html-tag-help): Add new tags descriptions.
14779         (html-navigational-links): Template for nav links.
14780         (html-html5-template): Template for a HTML5 page.
14782 2015-05-10  Dmitry Gutov  <dgutov@yandex.ru>
14784         semantic/symref/grep: Don't use word boundaries
14785         * lisp/cedet/semantic/symref/grep.el
14786         (semantic-symref-perform-search): Instead of wrapping input in
14787         word boundaries, check that the characters before and after are
14788         not word constituents.
14790         semantic/symref/grep: Support regexp search
14791         * lisp/cedet/semantic/symref.el
14792         (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when
14793         the search type is regexp.
14794         * lisp/cedet/semantic/symref/grep.el
14795         (semantic-symref-perform-search): Support the regexp search type.
14796         Pass -E to Grep when it's used.
14798         semantic-symref-regexp: Allow to input an arbitrary string
14799         * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp):
14800         Allow to input an arbitrary string interactively.
14802         Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order
14803         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
14804         Remove tag-symbol-match-p from the default value
14805         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html).
14807         Declare find-tag obsolete
14808         * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of
14809         xref-find-definitions.
14811 2015-05-10  Jan D  <jan.h.d@swipnet.se>
14813         Draw composite string correctly (Bug#20537)
14814         * src/nsterm.m (ns_draw_composite_glyph_string_foreground):
14815         New function.
14816         (ns_draw_glyph_string): Call it.
14818 2015-05-09  Eli Zaretskii  <eliz@gnu.org>
14820         Avoid infloop in ERC
14821         * lisp/simple.el (line-move-to-column): Ignore field boundaries
14822         while computing line beginning position.  (Bug#20498)
14824 2015-05-08  Glenn Morris  <rgm@gnu.org>
14826         * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead.
14827         * build-aux/gitlog-to-emacslog: Check called from right directory.
14828         (srcprefix): Remove.
14830         * build-aux/gitlog-to-emacslog: Get rid of "distprefix".
14831         * Makefile.in (ChangeLog): No longer pass "distprefix".
14832         * make-dist: Update "make ChangeLog" syntax for the above change.
14834         * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2".
14835         * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog.
14837         * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer.
14839         Add command-line option-parsing to gitlog-to-emacslog
14840         * build-aux/gitlog-to-emacslog: Add command-line options.
14841         By default, refuse to remove an existing output file.
14842         * Makefile.in (CHANGELOG): Update default.
14843         (ChangeLog): Do not test for existing file.
14844         (change-history-nocommit): Ensure temp file does not exist.
14846         Quieten --without-x compilation
14847         * lisp/term/common-win.el: Provide a feature.
14848         * lisp/term/x-win.el (term/common-win): Require it.
14850         * lisp/dired-aux.el (dired-do-print): Require lpr.
14852         Quieten compilation, eg in --without-x builds
14853         * lisp/dired-aux.el (lpr-printer-switch):
14854         * lisp/frame.el (tool-bar-height):
14855         * lisp/linum.el (font-info):
14856         * lisp/window.el (font-info, overflow-newline-into-fringe)
14857         (tool-bar-height):
14858         * lisp/emacs-lisp/package-x.el (tar-data-buffer):
14859         * lisp/gnus/gnus-util.el (iswitchb-mode):
14860         * lisp/mail/rmailmm.el (libxml-parse-html-region):
14861         * lisp/net/nsm.el (gnutls-peer-status)
14862         (gnutls-peer-status-warning-describe):
14863         * lisp/net/shr.el (libxml-parse-xml-region):
14864         * lisp/url/url-http.el (gnutls-peer-status): Declare.
14866 2015-05-08  Stefan Monnier  <monnier@iro.umontreal.ca>
14868         CEDET (srecode-pop, srecode-peek): Don't use `subclass'
14869         * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use
14870         `subclass' since they're never called with a class.
14871         (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete
14872         srecode-dictionary-child-p.
14874 2015-05-08  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
14876         * lisp/help.el (help--binding-locus): Document argument POSITION.
14877         (Bug#20530)
14879 2015-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14881         Merge from gnulib
14882         * doc/misc/texinfo.tex: Get latest version.
14884 2015-05-08  Oleh Krehel  <ohwoeowho@gmail.com>
14886         ffap.el (ffap-read-file-or-url): Fix completing-read call
14887         * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of
14888         `completing-read' should be a symbol.
14890 2015-05-08  Eli Zaretskii  <eliz@gnu.org>
14892         Verify file modifications by other programs
14893         * src/filelock.c (lock_file): Check whether the file was modified
14894         since it was visited even if 'create-lockfiles' is nil.  (Bug#18828)
14896         Fix keyboard macros that include function keys
14897         * src/keyboard.c (read_char_minibuf_menu_prompt): Record function
14898         keys in the macro before returning.  (Bug#20454)
14900 2015-05-08  Glenn Morris  <rgm@gnu.org>
14902         * build-aux/gitlog-to-changelog: Treat "Tiny-change" like
14903         "Copyright-paperwork-exempt".  (Bug#20324)
14905         * lisp/vc/log-edit.el: Handle "(tiny change)".  (Bug#20324)
14906         (log-edit-rewrite-tiny-change): New variable.
14907         (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt".
14908         (log-edit-changelog-ours-p): Set log-edit-author to a cons.
14909         * etc/NEWS: Mention this.
14911         * lisp/calc/calc.el (math-zerop): Declare.
14913         * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare.
14915 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14917         * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec.
14918         Support the case when BINDINGS is a single tuple.  (Bug#20525)
14920         * etc/NEWS: Fix typo in previous commit
14921         (14bb519f1034ddb38ce375cbad7095d9b07f8b26).
14923 2015-05-07  Jan D  <jan.h.d@swipnet.se>
14925         * configure.ac: Warn for multiple display crash for all Gtk+ versions.
14926         Output URL to Gtk+ bug (Bug#20452).
14928         * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection.
14930 2015-05-07  Artur Malabarba  <bruce.connor.am@gmail.com>
14932         * lisp/emacs-lisp/package.el: New "external" package status.
14933         An external package is any installed package that's not built-in
14934         and not from `package-user-dir', which usually means it's from an
14935         entry in `package-directory-list'.  They are treated much like
14936         built-in packages, in that they cannot be through the Package Menu
14937         deleted and are not considered for upgrades.
14938         (package-desc-status): Identify if a package is installed outside
14939         `package-user-dir'.
14940         (package-menu--print-info-simple)
14941         (package-menu--status-predicate): Add support for it.
14942         * etc/NEWS: Document it.
14944 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
14946         * lisp/mail/rmail.el: Use lexical-binding.
14947         (rmail-bury): Remove unused var `buffer-to-bury'.
14948         (rmail-get-new-mail): Remove unused vars `opoint' and `success'.
14949         (rmail-parse-url): Remove unused var `proto', `user', and `host'.
14950         (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'.
14951         (rmail-insert-inbox-text): Remove unused var `movemail'.
14952         (rmail-add-mbox-headers): Remove unused var `limit'.
14953         (rmail-undelete-previous-message): Remove unused var `value'.
14954         (rmail-reply): Remove unused vars `resent-to', `resent-cc',
14955         `resent-reply-to'.
14956         (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare.
14957         (rmail-restore-desktop-buffer): Rename arguments.
14959 2015-05-06  Glenn Morris  <rgm@gnu.org>
14961         * Makefile.in (change-history-commit): Add missing piece of previous.
14963         Avoid unnecessary bumping of Makefile.in's timestamp
14964         * Makefile.in (gen_origin): Move to gitlog-to-emacslog.
14965         (emacslog): New variable.
14966         (ChangeLog): Use $emacslog.  Don't pass $gen_origin.
14967         (unchanged-history-files): Use $emacslog rather than Makefile.in.
14968         (change-history-nocommit): Store hash in $emacslog.
14969         * build-aux/gitlog-to-emacslog (gen_origin): Move default here.
14970         * admin/update_autogen (changelog_files): Update for the above.
14972         * Makefile.in: Don't always insist on removing existing "ChangeLog".
14973         (CHANGELOG): New variable.
14974         (no-ChangeLog): Remove.
14975         (ChangeLog): Replace "no-ChangeLog"; pass output file to script.
14976         (change-history-nocommit): Use a temp file rather than insisting
14977         on deletion of any existing "ChangeLog".
14979         * build-aux/gitlog-to-emacslog: Allow specification of output.
14981         * admin/update_autogen: Add option to update ChangeLog.
14982         (usage): Mention -H.
14983         (changelog_flag, changelog_n, changelog_files): New variables.
14984         (main): Check for -H, and maybe run change-history-nocommit.
14986 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
14988         * lisp/subr.el (delete-dups): Pre-size the hashtable.
14990         * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure
14991         cl--arglist-args is defined (bug#20517).
14993 2015-05-06  Glenn Morris  <rgm@gnu.org>
14995         * Makefile.in (change-history-nocommit): New.
14997 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
14999         * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel
15000         timer when it is non-nil
15001         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html).
15003 2015-05-06  Glenn Morris  <rgm@gnu.org>
15005         Quieten CEDET compilation
15006         * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag):
15007         Invert fboundp test to quieten on current Emacs.
15008         * lisp/cedet/ede/config.el (ede-shell-run-something)
15009         (semanticdb-file-table-object, semanticdb-needs-refresh-p)
15010         (semanticdb-refresh-table): Declare.
15011         (ede-preprocessor-map): Require semantic/db.
15013         Quieten cc-mode compilation
15014         * lisp/progmodes/cc-awk.el (c-forward-sws):
15015         * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword):
15016         Declare.
15018 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
15020         * lisp/subr.el (delete-dups): Avoid nreverse.
15022 2015-05-06  Artur Malabarba  <bruce.connor.am@gmail.com>
15024         * lisp/subr.el (delete-dups): Make it destructive again.
15026 2015-05-06  Paul Eggert  <eggert@cs.ucla.edu>
15028         * doc/lispref/sequences.texi (Sequence Functions): Fix quoting.
15030 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
15032         * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487).
15033         * lisp/emacs-lisp/testcover.el: Use lexical-binding.
15034         (testcover--read): Rename from testcover-read.  Change calling
15035         convention.  Use edebug-read-and-maybe-wrap-form now that edebug-read
15036         is gone.
15037         (testcover-start): Use add-function.  Move edebug-all-defs binding to
15038         testcover--read.
15039         (testcover-this-defun): Tighten scope of edebug-all-defs binding.
15040         (testcover-mark): Remove unused var `item'.
15041         * src/lread.c (syms_of_lread): Default load-read-function to `read'.
15043 2015-05-06  Oleh Krehel  <ohwoeowho@gmail.com>
15045         * lisp/subr.el (delete-dups): When there are more than 100 candidates,
15046           use a hash table.  This can result in ~500 times speed-up for typical
15047           collections of size 5000, like that of `load-library'.
15049 2015-05-06  Stefan Monnier  <monnier@iro.umontreal.ca>
15051         CEDET: Avoid `oref' on classes in a few more cases
15052         * lisp/cedet/ede/generic.el (ede-find-target):
15053         * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes.
15054         * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused
15055         var `prefix'.
15057         * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings.
15058         (grepflags, greppattern): Declare.
15059         (semantic-symref-perform-search): Remove unused var `pat'.
15061         CEDET (srecode-compile-inserter): Avoid `oref' on classes
15062         * lisp/cedet/srecode/compile.el (srecode-compile-inserter):
15063         Avoid `oref' on classes (bug#20491).
15064         (srecode-compile-split-code): Remove unused var `key'.
15066 2015-05-06  Dmitry Gutov  <dgutov@yandex.ru>
15068         Clean up pulse.el a little
15069         * lisp/cedet/pulse.el (pulse): Remove.
15070         (pulse-momentary-timer): Save instead of the stop time.
15071         (pulse-momentary-highlight-overlay):
15072         Call pulse-momentary-unhighlight first thing.
15073         Treat pulse-momentary-overlay as a single value, not a list.
15074         Save the created timer.  Only pass the stop time to the timer.
15075         (pulse-tick): Update accordingly.
15076         (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a
15077         single value.  Cancel the timer.
15079 2015-05-06  Tassilo Horn  <tsdh@gnu.org>
15081         * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry):
15082         Support the biblatex journaltitle field.
15084 2015-05-05  Glenn Morris  <rgm@gnu.org>
15086         Minor declare-function improvement
15087         * lisp/emacs-lisp/bytecomp.el
15088         (byte-compile-macroexpand-declare-function):
15089         Handle declarations after calls.  (Bug#20509)
15091         * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration.
15093         * lisp/w32-fns.el (w32-shell-name): Silence compiler.
15095 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
15097         Pulse using a timer
15098         * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable.
15099         (pulse-momentary-highlight-overlay): Set up the timer instead of
15100         calling `pulse'
15101         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/).
15102         (pulse-tick): New function.
15103         (pulse-momentary-unhighlight): Cut off the stop time.
15104         (pulse-delay): Update the docstring WRT to not using sit-for.
15106         Add semantic/symref/grep file patterns for ruby-mode
15107         * lisp/cedet/semantic/symref/grep.el
15108         (semantic-symref-filepattern-alist): Add patterns for ruby-mode.
15109         Clarify the docstring.
15111         Don't require match
15112         * lisp/progmodes/xref.el (xref--read-identifier): Don't require
15113         match.  That doesn't work for every command, and some identifier
15114         completion tables are bound to be imperfect anyway.
15116 2015-05-05  Stefan Monnier  <monnier@iro.umontreal.ca>
15118         * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505).
15119         (semantic-grammar--template-expand): New function.
15120         (semantic-grammar-header, semantic-grammar-footer): Use it.
15121         (semantic-grammar--lex-block-specs): Remove unused var `block-spec'.
15122         (semantic-grammar-file-regexp): Refine regexp.
15123         (semantic-grammar-eldoc-get-macro-docstring):
15124         Use elisp-get-fnsym-args-string when available.
15125         (semantic-idle-summary-current-symbol-info): Use new elisp-* names
15126         instead of the old eldoc-* names.
15127         * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back
15128         from elisp-mode.el.  Tweak calling convention.
15129         * lisp/progmodes/elisp-mode.el (package-user-dir): Declare.
15130         (elisp-get-fnsym-args-string): Add `prefix' argument.  Rename from
15131         elisp--get-fnsym-args-string.
15132         (elisp--highlight-function-argument): Add `prefix' arg.
15133         (elisp-get-var-docstring): Rename from elisp--get-var-docstring.
15134         (elisp--docstring-format-sym-doc): Move back to eldoc.el.
15136 2015-05-05  Glenn Morris  <rgm@gnu.org>
15138         * lisp/help-fns.el (describe-function-1):
15139         Handle builtins with advertised calling conventions.  (Bug#20479)
15141 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
15143         Merge branch 'seq-let'
15145         Update `seq-let' documentation
15146         * doc/lispref/sequences.texi: Update the documentation of `seq-let'
15147         with the support of  `&rest'.
15149         Add support for &rest in `seq-let'
15150         * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest'
15151         in the argument list.
15152         * test/automated/seq-tests.el: Add a test for parsing and binding
15153         `&rest' in `seq-let'.
15155 2015-05-05  Pierre Lorenzon  <devel@pollock-nageoire.net>  (tiny change)
15157         * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get):
15158         Add missing increment (Bug#20467).
15159         (eieio-object-value-create): Adjust to new slots representation
15160         (Bug#20467).
15161         (eieio-object-value-create): Fix missed adjustment to new
15162         representation of slots metadata.
15164 2015-05-05  Nicolas Petton  <nicolas@petton.fr>
15166         * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring.
15168 2015-05-05  Dmitry Gutov  <dgutov@yandex.ru>
15170         Work around "Attempt to modify read-only object"
15171         * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from
15172         elisp--xref-find-definitions, to work around "Attempt to modify
15173         read-only object" error.
15175         Only skip some variables that have function counterparts
15176         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
15177         Only skip minor-mode-named variable if it's defined in a Lisp
15178         file, and it's in minor-mode-list (bug#20506).
15179         * test/automated/elisp-mode-tests.el
15180         (elisp-xref-finds-both-function-and-variable)
15181         (elisp-xref-finds-only-function-for-minor-mode): New tests.
15183 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
15185         * lisp/progmodes/xref.el (xref--location-at-point): Revert the
15186         previous change.
15187         (xref--insert-xrefs): Buttonize the whole line, including the
15188         number at the beginning.
15190         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
15191         Make sure we're inside the let bindings.
15192         * test/automated/elisp-mode-tests.el
15193         (elisp-completes-functions-after-let-bindings): New test.
15195 2015-05-04  Glenn Morris  <rgm@gnu.org>
15197         * lisp/cedet/semantic/grammar.el (eldoc-function-argstring)
15198         (eldoc-docstring-format-sym-doc, eldoc-last-data-store)
15199         (eldoc-get-fnsym-args-string, eldoc-get-var-docstring):
15200         Remove outdated declarations.
15202         Replace instances of "(eval-when-compile (autoload ...))"
15203         * lisp/gnus/gnus-art.el (nneething-get-file-name):
15204         Declare rather than autoload.
15205         * lisp/gnus/gnus-async.el (gnus-html-prefetch-images):
15206         Remove pointless autoload.
15207         * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time.
15208         (gnus-topic-create-topic, gnus-topic-enter-dribble):
15209         Declare rather than autoload.
15210         * lisp/gnus/mm-archive.el (gnus-recursive-directory-files)
15211         (mailcap-extension-to-mime): Autoload at run-time.
15212         * lisp/gnus/mm-util.el (latin-unity-massage-name)
15213         (latin-unity-maybe-remap, latin-unity-representations-feasible-region)
15214         (latin-unity-representations-present-region):
15215         Declare rather than autoload.
15216         * lisp/gnus/mml-smime.el (epg-make-context)
15217         (epg-passphrase-callback-function): Autoload at run-time.
15218         (epg-context-set-signers, epg-context-result-for)
15219         (epg-new-signature-digest-algorithm)
15220         (epg-verify-result-to-string, epg-list-keys, epg-verify-string)
15221         (epg-sign-string, epg-encrypt-string)
15222         (epg-context-set-passphrase-callback, epg-sub-key-fingerprint)
15223         (epg-configuration, epg-expand-group, epa-select-keys):
15224         Declare rather than autoload.
15225         * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query):
15226         Autoload at run-time.
15227         (gnus-group-topic-name, nnimap-buffer, nnimap-command)
15228         (gnus-registry-get-id-key, gnus-registry-action):
15229         Declare rather than autoload.
15230         * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time.
15231         * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam)
15232         (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam)
15233         (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save)
15234         (spam-stat-split-fancy): Remove pointless autoloads.
15235         * lisp/net/mairix.el: Load gnus-util when compiling.
15236         (gnus-group-read-ephemeral-group, gnus-summary-toggle-header)
15237         (message-field-value): Declare rather than autoload.
15238         (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field):
15239         Check gnus-alive-p is fbound.
15240         (vm-quit, vm-visit-folder, vm-select-folder-buffer)
15241         (vm-check-for-killed-summary, vm-error-if-folder-empty)
15242         (vm-get-header-contents, vm-select-marked-or-prefixed-messages):
15243         Declare rather than autoload.
15245         * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload.
15247         * lisp/gnus/mml-smime.el (epg-key-sub-key-list)
15248         (epg-sub-key-capability, epg-sub-key-validity): Fix declarations.
15250         * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare.
15252         * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration.
15254         * lisp/allout.el (epg-user-id-string, epg-key-user-id-list):
15255         * lisp/emacs-lisp/package.el (epg-signature-status):
15256         Fix declarations.
15258         * lisp/play/gametree.el (gametree-show-children-and-entry)
15259         (gametree-apply-layout, gametree-mouse-show-subtree)
15260         (gametree-mouse-hide-subtree): Replace obsolete outline aliases.
15262         * lisp/emacs-lisp/check-declare.el (check-declare-verify):
15263         Handle cl-defgeneric, cl-defmethod.
15265 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
15267         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
15268         Highlight both type and symbol name.
15270         Insert, highlight and align line numbers in xref output
15271         * lisp/progmodes/etags.el (xref-location-line): Specialize for
15272         xref-etags-location.
15273         * lisp/progmodes/xref.el (xref-location-line): New generic method.
15274         (xref-file-location): Add reader for the line slot.
15275         (xref--location-at-point): Skip to the `xref-location' property.
15276         (xref--collect-reference): Drop the line number from description.
15277         (xref--insert-xrefs): Insert, highlight and align line numbers.
15279 2015-05-04  Daniel Colascione  <dancol@dancol.org>
15281         * lisp/simple.el (save-mark-and-excursion--save)
15282         (save-mark-and-excursion--restore): Fix previous commit
15283         (255a011f0ecf004b31c59945b10154b10fac3af1).
15285 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
15287         Don't pulse the indentation, or the newline
15288         * lisp/cedet/pulse.el (pulse-lighten-highlight)
15289         (pulse-reset-face): Fall back to the inherited background
15290         attribute in FACE.
15291         (pulse-momentary-highlight-region): Add autoload cookie.
15292         * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the
15293         indentation, or the newline, if the line's non-empty
15294         (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html).
15296 2015-05-04  Daniel Colascione  <dancol@dancol.org>
15298         Add `save-mark-and-excursion', which has the old
15299         `save-excursion' behavior
15300         * doc/lispref/positions.texi (Excursions):
15301         Document `save-mark-and-excursion'.
15302         * lisp/font-lock.el (font-lock-fontify-block):
15303         Use `save-mark-and-excursion' instead of `save-excursion',
15304         restoring Emacs 24 behavior.
15305         * lisp/simple.el (save-mark-and-excursion--save)
15306         (save-mark-and-excursion--restore): New functions.
15307         (save-mark-and-excursion): New user macro.
15308         * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion'
15309         in `save-excursion' documentation.
15311 2015-05-04  Dmitry Gutov  <dgutov@yandex.ru>
15313         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
15314         Classify lone symbol inside let varlist as variable.
15315         * test/automated/elisp-mode-tests.el
15316         (completest-variables-in-let-bindings): New test.
15318         Add xref-pulse-on-jump
15319         * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line):
15320         Add autoload cookie.
15321         * lisp/progmodes/xref.el (xref-pulse-on-jump): New option.
15322         (xref--maybe-pulse): New function.
15323         (xref-pop-marker-stack, xref--pop-to-location)
15324         (xref--display-position): Use it.
15325         (xref--location-at-point): Use back-to-indentation.
15327 2015-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
15329         lisp/org/org-{macs,list}.el: Fix lexical warnings
15330         * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'.
15331         (org-list-get-next-item, org-list-get-prev-item)
15332         (org-list-get-children): Mark unused arg `struct'.
15333         (org-list-use-alpha-bul-p): Remove unused var `bul'.
15334         (org-toggle-checkbox): Mark unused var.
15335         (org-update-checkbox-count): Remove unused var `box-num'.
15336         (org-adapt-indentation): Declare.
15337         (org-list-parse-list): Declare var instead of adding a dummy duplicate.
15338         (org-list-send-list): Remove unused var `txt'.
15339         (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'.
15340         (org-list-to-subtree): Add prefix to dyn-bind var, and declare them.
15341         * lisp/org/org-macs.el: Use `declare'.
15342         (org-with-limited-levels): Declare dyn-bound vars.
15344 2015-05-04  Eli Zaretskii  <eliz@gnu.org>
15346         Fix minor issues with CEDET on MS-Windows
15347         * lisp/cedet/semantic/symref/idutils.el
15348         (semantic-symref-parse-tool-output-one-line): Fix the search
15349         regexp to match MS-Windows file names with drive letters.
15350         (Bug#19468)
15351         * lisp/cedet/semantic/symref/grep.el
15352         (semantic-symref-grep-use-template): Remove "--color=always" from
15353         Grep switches on MS-Windows.
15354         (semantic-symref-grep-shell): Use shell-file-name as the default
15355         value, so this works not only on Posix platforms.
15356         (semantic-symref-perform-search): Use shell-quote-argument instead
15357         of literal '..' for portable quoting of Grep command-line
15358         argument.  Use shell-command-switch instead of a literal "-c".
15359         * lisp/cedet/semantic/bovine/gcc.el
15360         (semantic-gcc-get-include-paths): Use file-name-absolute-p to test
15361         for an absolute file name in a portable way.
15363 2015-05-04  Artur Malabarba  <bruce.connor.am@gmail.com>
15365         * lisp/emacs-lisp/package.el: Remove `package--silence' variable.
15366         (package-import-keyring, package-refresh-contents)
15367         (package-compute-transaction, package--save-selected-packages)
15368         (package-install-from-archive, package-delete)
15369         (package-menu--perform-transaction): Use `inhibit-message' instead.
15370         (package--compile): Set `warning-minimum-level' to :error.
15372 2015-05-03  Stefan Monnier  <monnier@iro.umontreal.ca>
15374         * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom.
15375         (terminal-init-screen): Use it (bug#20356).
15376         * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'.
15377         (xterm--extra-capabilities-type): New const.
15378         (xterm-extra-capabilities): Use it.
15379         (xterm--version-handler): Lower the pseudo-version for `screen'.
15381 2015-05-03  Dmitry Gutov  <dgutov@yandex.ru>
15383         * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces.
15384         Always insert a newline at the end (to avoid mouse-face background
15385         tail at the last line).
15387         elisp-completion-at-point: Prioritize being quoted over funpos
15388         * lisp/progmodes/elisp-mode.el (elisp-completion-at-point):
15389         Only consider function position when not inside quoted form
15390         (bug#20425).
15391         * test/automated/elisp-mode-tests.el: New file.
15393         Stop vc-print-log from jumping to the top
15394         * lisp/vc/vc.el (vc-print-log-internal): Pass nil
15395         GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION
15396         is not specified.
15397         (vc-incoming-outgoing-internal): Always pass nil.
15398         (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't
15399         call it, and don't set vc-sentinel-movepoint (bug#15322).
15400         (vc-print-root-log): Don't fetch the root working revision, nor
15401         pass it to vc-print-log-internal.
15403 2015-05-02  Michael Vehrs  <Michael.Burschik@gmx.de>
15405         Fix display of keyboard layouts for right-to-left scripts
15406         * lisp/international/quail.el (quail-insert-kbd-layout):
15407         Force left-to-right paragraph direction.
15409 2015-05-02  K. Handa  <handa@gnu.org>
15411         * src/cmds.c (internal_self_insert): When we insert spaces for
15412         padding, set point before the padding spaces, not after them.
15414 2015-05-02  Nicolas Petton  <nicolas@petton.fr>
15416         * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'.
15418 2015-05-02  Dmitry Gutov  <dgutov@yandex.ru>
15420         Fix etags-xref-find for references
15421         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references):
15422         Use `cl-mapcan'.
15423         * lisp/progmodes/etags.el (etags-xref-find): Ditto.  Prompt for
15424         directory if no tags tables are loaded (bug#19468).
15426 2015-05-02  Philipp Stephani  <phst@google.com>
15428         Update the options in whitespace-style defcustom
15429         * lisp/whitespace.el (whitespace-style): Use `set' instead of a
15430         `repeat' because the option is really set-like.  Add missing
15431         options.  Reorder options to match the order in the
15432         documentation.  (Bug#20346)
15434 2015-05-02  Eli Zaretskii  <eliz@gnu.org>
15436         Fix error diagnostics of c-macro-expand
15437         * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out
15438         too early if no start-marker string was found -- that generally
15439         means cpp exited abnormally, and we still want to show its error
15440         messages to the user.
15442         Don't require Texinfo 5.0 for Emacs documentation
15443         * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and
15444         "@set txicodequotebacktick" instead of "@codequotebacktick on" and
15445         "@codequoteundirected on", respectively, to avoid requiring
15446         Texinfo 5.x for Emacs documentation.
15448 2015-05-01  Simen Heggestøyl  <simenheg@gmail.com>
15450         * lisp/files.el (pwd):
15451         When called with a prefix argument, insert the current default
15452         directory at point.
15454 2015-05-01  Stefan Monnier  <monnier@iro.umontreal.ca>
15456         * lisp/isearch.el (isearch-mode-map): Allow backspace remapping
15457         * lisp/isearch.el (isearch-mode-map): Don't inhibit
15458         function-key-map remapping for backspace (bug#20466).
15460 2015-05-01  Dmitry Gutov  <dgutov@yandex.ru>
15462         Implement xref-find-references in etags and elisp-mode
15463         * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function.
15464         (elisp-xref-find): Use it.
15465         * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'.
15466         * lisp/progmodes/xref.el (xref-collect-references):
15467         (xref--collect-reference): New functions.
15469 2015-05-01  Paul Eggert  <eggert@cs.ucla.edu>
15471         Prefer plain characters to Texinfo circumlocutions
15472         For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois',
15473         'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources.
15475         Fix single-quoting style in PDF manuals
15476         The PDF versions of the GNU manuals used curved single quotes to
15477         represent grave accent and apostrophe, which made it a pain to cut
15478         and paste code examples from them.  Fix the PDF versions to use
15479         grave accent and apostrophe for Lisp source code, keystrokes, etc.
15480         This change does not affect the info files, nor does it affect
15481         ordinary uses of curved single quotes in PDF.
15482         * doc/emacs/docstyle.texi: New file, which specifies treatment for
15483         grave accent and apostrophe, as well as the document encoding.
15484         * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi:
15485         * doc/lispintro/emacs-lisp-intro.texi:
15486         * doc/lispref/back.texi, doc/lispref/book-spine.texi:
15487         * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi:
15488         * doc/misc/ada-mode.texi, doc/misc/auth.texi:
15489         * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi:
15490         * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi:
15491         * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi:
15492         * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi:
15493         * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi:
15494         * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi:
15495         * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi:
15496         * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi:
15497         * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi:
15498         * doc/misc/gnus.texi, doc/misc/htmlfontify.texi:
15499         * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi:
15500         * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi:
15501         * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi:
15502         * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi:
15503         * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi:
15504         * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi:
15505         * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi:
15506         * doc/misc/smtpmail.texi, doc/misc/speedbar.texi:
15507         * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi:
15508         * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi:
15509         * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi:
15510         * doc/misc/woman.texi:
15511         Use it instead of '@documentencoding UTF-8', to lessen the need for
15512         global changes like this in the future.
15513         * doc/emacs/Makefile.in (EMACS_XTRA):
15514         * doc/lispintro/Makefile.in (srcs):
15515         * doc/lispref/Makefile.in (srcs):
15516         Add dependency on docstyle.texi.
15517         * doc/misc/Makefile.in (style): New macro.
15518         (${buildinfodir}/%.info, %.dvi, %.pdf, %.html)
15519         (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps):
15520         Use it.
15522 2015-05-01  Glenn Morris  <rgm@gnu.org>
15524         * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it.
15526         * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match)
15527         (help-fns--signature): Declare.
15529         * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns.
15531 2015-05-01  Nicolas Petton  <nicolas@petton.fr>
15533         New macro seq-let, providing destructuring support to seq.el
15534         * lisp/emacs-lisp/seq.el (seq-let): New macro.  `seq-let' is similar
15535         to `cl-destructuring-bind' but works on all sequence types supported
15536         by `seq.el'.  Bump version number to 1.6.
15537         * test/automated/seq-tests.el: Add tests for seq-let.
15538         * doc/lispref/sequences.texi: Add documentation for seq-let.
15540 2015-05-01  Pontus Michael  <m.pontus@gmail.com>
15542         * lisp/simple.el (blink-matching-open): Better behavior in minibuffer.
15544 2015-05-01  Glenn Morris  <rgm@gnu.org>
15546         * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous.
15548 2015-05-01  Artur Malabarba  <bruce.connor.am@gmail.com>
15550         * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations"
15551         This reverts commit 9a7ddde977378cb5276a81476ae458889c403267.
15552         This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d.
15553         With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'".
15554         (Bug#20445).
15556 2015-05-01  K. Handa  <handa@gnu.org>
15558         * lisp/international/mule-cmds.el (input-method-use-echo-area):
15559         Change :type to 'boolean.
15561 2015-05-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
15563         Start using proportional fonts in eww by default
15564         * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since
15565         it seems to work well.
15567         Fix links in tables in shr
15568         * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that
15569         makes (some) links in tables not work.
15571 2015-05-01  Jan D  <jan.h.d@swipnet.se>
15573         * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias.
15575 2015-04-30  Glenn Morris  <rgm@gnu.org>
15577         * lisp/emacs-lisp/ert.el (ert--special-operator-p):
15578         Update for 2015-02-08 change to indirect-function.
15580         * lisp/term/ns-win.el (ns-get-selection-internal):
15581         Remove declaration for function deleted 2014-10-21.
15583         * lisp/dom.el: Load subr-x when compiling, for when-let.
15585         Silence some compilation warnings
15586         * lisp/emacs-lisp/check-declare.el (compilation-forget-errors):
15587         * lisp/emulation/cua-base.el (delete-active-region):
15588         * lisp/net/net-utils.el (w32-get-console-output-codepage):
15589         * lisp/term/ns-win.el (ns-own-selection-internal)
15590         (ns-disown-selection-internal, ns-selection-owner-p)
15591         (ns-selection-exists-p, ns-get-selection):
15592         Declare for compiler.
15594         Function declaration updates prompted by 'make check-declare'
15595         * lisp/emacs-lisp/package.el (lm-homepage):
15596         * lisp/gnus/gnus-util.el (iswitchb-read-buffer):
15597         * lisp/gnus/mm-decode.el (libxml-parse-html-region):
15598         * lisp/gnus/mml.el (libxml-parse-html-region):
15599         * lisp/gnus/nnrss.el (libxml-parse-html-region):
15600         * lisp/net/eww.el (libxml-parse-html-region):
15601         * lisp/net/shr.el (libxml-parse-html-region):
15602         * lisp/vc/vc-bzr.el (vc-annotate-convert-time):
15603         * lisp/vc/vc-cvs.el (vc-annotate-convert-time):
15604         * lisp/vc/vc-git.el (vc-annotate-convert-time):
15605         * lisp/vc/vc-hg.el (vc-annotate-convert-time):
15606         * lisp/vc/vc-mtn.el (vc-annotate-convert-time):
15607         * lisp/vc/vc-rcs.el (vc-annotate-convert-time):
15608         Update declaration.
15610         Remove compatibility code for 20-year old function renaming
15611         * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter):
15612         Make it an obsolete alias.
15613         (idlwave-shell-filter): Change all uses to comint-output-filter.
15615 2015-04-30  Tassilo Horn  <tsdh@gnu.org>
15617         Add ace-window face config
15618         * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face
15619         configuration.
15621 2015-04-30  Paul Eggert  <eggert@cs.ucla.edu>
15623         Unclutter 'make doc' output a bit
15624         * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)):
15625         Use make subst rather than sh IFS to split target string apart.
15626         This makes 'make' output easier to follow.
15628         Merge from gnulib
15629         * doc/misc/texinfo.tex: Update from gnulib.
15631 2015-04-30  Artur Malabarba  <bruce.connor.am@gmail.com>
15633         * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh.
15634         (package-menu--print-info): Obsolete.
15635         (package-menu--print-info-simple): New function.
15636         (package-menu--refresh): Use it, simplify code, and improve
15637         performance.
15638         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
15639         Tiny performance improvement.
15641         * lisp/emacs-lisp/package.el (package--message): inhibit-message.
15643 2015-04-29  Paul Eggert  <eggert@cs.ucla.edu>
15645         Omit -Wstrict-overflow workaround in GCC 5
15646         * src/process.c: Remove workaround for GCC -Wstrict-overflow bug
15647         if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1.
15649         Merge from gnulib
15650         This incorporates:
15651         2015-04-29 extern-inline: no need for workaround in GCC 5.1
15652         2015-04-26 file-has-acl: port to CentOS 6
15653         * m4/acl.m4, m4/extern-inline.m4: Update from gnulib.
15655 2015-04-29  Helmut Eller  <eller.helmut@gmail.com>
15657         Set next-error-* in xref--xref-buffer-mode
15658         * lisp/progmodes/xref.el (xref--xref-buffer-mode):
15659         Set `next-error-function' and `next-error-last-buffer'.
15660         (xref--next-error-function): New function.
15661         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html)
15663 2015-04-29  Fabián Ezequiel Gallina  <fgallina@gnu.org>
15665         python.el: Fix warnings on looking-back calls missing LIMIT
15666         * lisp/progmodes/python.el (python-shell-accept-process-output):
15667         Pass LIMIT arg to looking-back.
15669 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
15671         * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress.
15672         (package--download-and-read-archives): Use pushnew instead of
15673         append.  If something terrible happened during a previous
15674         download, simply refreshing should now make things work again.
15676 2015-04-29  Dmitry Gutov  <dgutov@yandex.ru>
15678         Introduce etags-xref-find-definitions-tag-order
15679         * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order):
15680         New variable.
15681         (etags--xref-find-definitions): Use it (bug#19468).
15683 2015-04-29  Eli Zaretskii  <eliz@gnu.org>
15685         PATH- and completion-related fixes in Eshell on MS-Windows
15686         * lisp/eshell/esh-ext.el (eshell-search-path): When running on
15687         MS-Windows, prepend "." to list of directories produced from PATH,
15688         as Windows always implicitly searches the current directory first.
15689         (eshell-force-execution): Make it have a non-nil default value on
15690         MS-Windows and MS-DOS.
15691         * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If
15692         eshell-force-execution is non-nil, complete on readable files and
15693         directories, not only executables.  When running on MS-Windows,
15694         prepend "." to list of directories produced from PATH, as Windows
15695         always implicitly searches the current directory first.
15697 2015-04-29  Sam Steingold  <sds@gnu.org>
15699         Bury RCIRC buffers when there is no activity
15700         * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove.
15701         (rcirc-bury-buffers): New function.
15702         (rcirc-next-active-buffer): When there is no new activity, use
15703         `rcirc-bury-buffers' to hide all RCIRC buffers.
15705 2015-04-29  Krzysztof Jurewicz  <krzysztof.jurewicz@gmail.com>  (tiny change)
15707         Fix DBUS query result parsing for secrets-search-items
15708         * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result
15709         parsing.  The function assumed that return value of the
15710         SearchItems method called on a collection is a list of two lists,
15711         however this is true only when no collection is specified.  GNOME
15712         had used to incorrectly return a list of two lists in both cases,
15713         but this was already fixed:
15714         https://bugzilla.gnome.org/show_bug.cgi?id=695115 .  Also fix an
15715         incorrect information in the secrets-search-items’ docstring.
15716         (Bug#20449)
15718 2015-04-29  Artur Malabarba  <bruce.connor.am@gmail.com>
15720         * lisp/emacs-lisp/bytecomp.el (byte-compile--message):
15721         Use `inhibit-message' instead of hiding the previous message
15722         with (message nil).
15724 2015-04-29  Oleh Krehel  <ohwoeowho@gmail.com>
15726         Remove the deprecated INTERNAL_FIELD macro by expanding it
15727         * src/lisp.h (INTERNAL_FIELD): Remove.
15728         (DEFVAR_KBOARD): Modify accordingly.
15729         * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c:
15730         * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users.
15731         * src/buffer.c (compact_buffer): Use BVAR.
15733 2015-04-29  Glenn Morris  <rgm@gnu.org>
15735         Replace an obsolete function alias
15736         * lisp/isearch.el (isearch-yank-x-selection):
15737         * lisp/mouse-copy.el (mouse-drag-secondary-pasting)
15738         (mouse-drag-secondary-moving):
15739         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
15740         Replace obsolete alias x-get-selection with gui-get-selection.
15742 2015-04-29  Stefan Monnier  <monnier@iro.umontreal.ca>
15744         * lisp/mail/rmailsum.el: Use lexical-binding.
15746 2015-04-29  Glenn Morris  <rgm@gnu.org>
15748         * test/automated/package-test.el (package-test-update-archives-async):
15749         Skip test on hydra.nixos.org.
15751 2015-04-28  Glenn Morris  <rgm@gnu.org>
15753         * lisp/foldout.el: Update for 2015-01-30 outline.el changes.
15754         (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show)
15755         (foldout-mouse-hide-or-exit): Use new names for outline functions.
15757         * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if):
15758         Update for 2014-06-26 hideif.el change.
15760         * lisp/mail/rmailsum.el: Fix search for encoded subjects.  (Bug#19088)
15761         (rmail--decode-and-apply): New function.
15762         (rmail-message-regexp-p-1, rmail-message-subject-p): Use it.
15764         * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type.
15766 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
15768         * lisp/emacs-lisp/package.el: Fix priority-hiding corner case
15769         (package-menu--refresh): Delegate obsolete-hiding to
15770         `package--remove-hidden'.
15771         (package--remove-hidden): Disregard high-priority package if it is
15772         older than the installed one.
15774 2015-04-28  Paul Eggert  <eggert@cs.ucla.edu>
15776         Update source file encoding list
15777         Update admin/notes/unicode, along with coding system cookies in
15778         other files, so that the two match each other better.
15779         * admin/notes/unicode: lisp/language/ethio-util.el and
15780         lisp/language/ethiopic.el also use utf-8-emacs.
15781         * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi:
15782         * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex:
15783         * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex:
15784         * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex:
15785         * etc/refcards/sk-survival.tex:
15786         Add "coding: utf-8" so that this file is not mishandled in a
15787         Latin-1 or Big-5 locale.
15788         * lisp/international/robin.el, lisp/org/ox-ascii.el:
15789         Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files.
15790         * lisp/language/ethio-util.el: Fix trailer.
15792 2015-04-28  Eli Zaretskii  <eliz@gnu.org>
15794         Fix synchronous invocation of Ispell
15795         * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil
15796         value to ispell-process-directory before calling ispell-init-process.
15797         Don't call set-process-coding-system if ispell-async-processp is nil.
15798         (Bug#20448)
15800 2015-04-28  Artur Malabarba  <bruce.connor.am@gmail.com>
15802         * lisp/emacs-lisp/package.el: Skip space and comments in init file
15803         (package--ensure-init-file): Insert snippet at first
15804         non-whitespace non-comments line.  Respects local-vars at the top
15805         of the file.
15807 2015-04-28  Glenn Morris  <rgm@gnu.org>
15809         * lisp/mail/rmail.el (rmail-copy-headers):
15810         Handle rmail-nonignored-headers being nil.  (Bug#18878)
15812         * lisp/subr.el (delay-mode-hooks): Fix doc typo.
15814         * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status):
15815         Don't get confused by a bzrlib version mismatch warning.
15817 2015-04-27  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
15819         Change default location of EUDC options file
15820         * etc/NEWS: Document change to EUDC options file's default location.
15821         * lisp/net/eudc-vars.el (eudc-options-file): Use
15822         `locate-user-emacs-file' to change default options file location.
15824 2015-04-27  Glenn Morris  <rgm@gnu.org>
15826         * test/automated/package-test.el (package-test-update-archives-async):
15827         Try to handle the test server script dying.
15829 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15831         * lisp/saveplace.el (save-place-mode): New minor mode.
15832         (save-place): Redefine as an obsolete alias.
15834         * lisp/midnight.el: Make it a minor mode.  Allow predicates.
15835         * lisp/midnight.el: Use lexical-binding.
15836         (midnight-mode): Make it a proper minor mode.
15837         (midnight-buffer-display-time): Make arg non-optional.
15838         (midnight-find): Remove.
15839         (clean-buffer-list-kill-never-regexps)
15840         (clean-buffer-list-kill-regexps): Tweak type for new function choice.
15841         (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to
15842         contain functions.
15843         (clean-buffer-list): Use cl-find.
15844         Allow clean-buffer-list-kill-never-regexps to contain functions.
15846 2015-04-27  Nicolas Petton  <nicolas@petton.fr>
15848         Bump version of seq.el to 1.5
15849         * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value
15850         from seq-doseq.  Bump version number of seq.el.
15852 2015-04-27  Glenn Morris  <rgm@gnu.org>
15854         * lisp/mail/rmail.el (rmail-reply):
15855         Decode subject before matching "Re:" prefix.  (Bug#20396)
15857 2015-04-27  Artur Malabarba  <bruce.connor.am@gmail.com>
15859         * lisp/emacs-lisp/package.el: Small improvements
15860         (package--with-work-buffer-async): More informative error.
15861         (package-install-user-selected-packages): Rename to
15862         `package-install-selected-packages'.
15864 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15866         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last
15867         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change.
15868         (eieio--class-make): Remove leftover `tag'.
15870 2015-04-27  Glenn Morris  <rgm@gnu.org>
15872         * lisp/gnus/message.el (gnus-extract-address-components):
15873         Remove bogus declaration that was masking previous problem.
15875 2015-04-27  Nicolas Graner  <nicolas.graner@u-psud.fr>  (tiny change)
15877         * lisp/gnus/message.el (message-insert-formatted-citation-line):
15878         Fix typo.  (Bug#20318)
15880 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15882         * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc.
15884         * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior
15885         * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying
15886         the buffer in yet another frame.
15887         (reftex-toc-visit-location): Make sure toc-window has focus at the end
15888         when `final' is nil.
15889         (reftex--rebuilding-toc): Defvar to avoid `boundp' and
15890         silence warnings.  Use `--' to clarify that it's internal.
15891         (reftex-toc-next, reftex-toc-previous, reftex-toc-demote)
15892         (reftex-toc-promote): Clarify unused argument.
15893         (reftex--pro-or-de, reftex--start-line, reftex--mark-line):
15894         Add `reftex--' prefix.  Fix all users.
15895         (reftex-toc-promote-prepare): Use _ for dummy variable.
15896         (reftex-toc-restore-region): Rename `m.
15898 2015-04-27  Eli Zaretskii  <eliz@gnu.org>
15900         Fix a typo in bibtex.el
15901         * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from
15902         last change.  (Bug#20429)
15904         Fix redisplay of frame after loading new fonts
15905         * src/xdisp.c (redisplay_internal): When retrying redisplay of
15906         a frame because new fonts were loaded, disable all redisplay
15907         optimizations on that frame by calling SET_FRAME_GARBAGED.
15908         (Bug#20410)
15910 2015-04-27  Stefan Monnier  <monnier@iro.umontreal.ca>
15912         * lisp/info.el (Info-menu): Properly provide the `default'
15913         (Bug#20391)
15915         * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string):
15916         Catch errors from documentation (bug#20418).
15917         (emacs-lisp-mode-abbrev-table): Remove redundant defvar.
15919 2015-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
15921         * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler.
15922         Remove redundant ":group 'package".
15924 2015-04-26  Eli Zaretskii  <eliz@gnu.org>
15926         Fix a typo in rmail.el
15927         * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the
15928         last commit.  (Bug#20429)
15930 2015-04-26  Dmitry Gutov  <dgutov@yandex.ru>
15932         Introduce xref-prompt-for-identifier
15933         * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option.
15934         (xref--read-identifier): Use it
15935         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html).
15937 2015-04-26  João Távora  <joaotavora@gmail.com>
15939         `tex-insert-quote' after single `'' opens quotes instead of closing
15940         Without this, it's very hard to precede double quotes with the
15941         apostrophe character, i.e. insert the sequence '``
15942         (quote-backquote-backquote), commonly useful in portuguese, for
15943         instance.
15944         * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of
15945         preceding chars making `tex-insert-quote' be in the "opening" context.
15947 2015-04-25  Dmitry Gutov  <dgutov@yandex.ru>
15949         Pass `id' to `completing-read' as def instead of initial input
15950         * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to
15951         `completing-read' as the default value instead of initial input
15952         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html).
15954 2015-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15956         Don't freeze with unreadable processes
15957         Don't freeze if an exiting process can't be read from.  (Bug#19860).
15958         This fixes a bug I introduced in
15959         2014-07-08T07:24:07Z@eggert@cs.ucla.edu
15960         "* process.c: Add sanity checks for file descriptors."
15961         Dmitry Gutov did most of the legwork in finding the problem.
15962         * src/process.c (wait_reading_process_output):
15963         Treat non-running processes that can't be read from
15964         the same as other non-running processes.
15966 2015-04-25  Alan Mackenzie  <acm@muc.de>
15968         Fix change from 2015-04-22 "On C-y, stop some text property entries ..."
15969         * lisp/subr.el (remove-yank-excluded-properties): Put
15970         `with-silent-modifications' around only the last three lines of code.
15972 2015-04-25  Artur Malabarba  <bruce.connor.am@gmail.com>
15974         * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache
15975         (package--all-keywords): Deleted variable.
15977         * etc/NEWS: Document package-hiding functionality.
15979 2015-04-25  Eli Zaretskii  <eliz@gnu.org>
15981         * lisp/window.el (recenter-last-op): Doc fix.  (Bug#20419)
15983         Clarify the doc string of 'replace-regexp-in-string'
15984         * lisp/subr.el (replace-regexp-in-string): Doc fix.  (Bug#20395)
15986         Improve doc string of 'insert-buffer-substring'
15987         * src/editfns.c (Finsert_buffer_substring): Doc fix.  (Bug#20421)
15989         MS-Windows followup for the recent gnulib update
15990         * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with
15991         acl-internal.c.
15993 2015-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15995         Spelling fixes
15997         Merge from gnulib
15998         This incorporates:
15999         2015-04-24 file-has-acl: new module, split from acl
16000         2015-04-24 manywarnings: add GCC 5.1 warnings
16001         2015-04-21 lstat: fix cross-compilation 'ln -s' problem
16002         2015-04-15 qacl: Simplify HP-UX acl_nontrivial check
16003         2015-04-15 acl: On Linux, check for acls without libacl
16004         2015-04-14 tempname: avoid unused parameter warnings (trivial)
16005         * lib/acl-internal.c: New file, from gnulib.
16006         * lib/file-has-acl.c: Remove; no longer imported from gnulib.
16007         * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c:
16008         * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4:
16009         Update from gnulib.
16011         Port --enable-gcc-warnings to GCC 5.1 x86-64
16012         * lib-src/ebrowse.c (dump_sym):
16013         * lib-src/hexl.c (main):
16014         * src/ccl.c (ccl_driver):
16015         * src/character.c (string_escape_byte8):
16016         * src/dbusbind.c (xd_retrieve_arg, xd_add_watch):
16017         * src/gnutls.c (Fgnutls_boot):
16018         * src/gtkutil.c (xg_check_special_colors):
16019         * src/image.c (x_build_heuristic_mask):
16020         * src/print.c (safe_debug_print, print_object):
16021         * src/term.c (produce_glyphless_glyph):
16022         * src/xdisp.c (get_next_display_element)
16023         (produce_glyphless_glyph):
16024         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
16025         Don't use a signed format to print an unsigned integer, or vice
16026         versa.  GCC 5.1's new -Wformat-signedness option warns about this.
16027         * src/image.c (png_load_body, jpeg_load_body):
16028         Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561).
16030 2015-04-24  Tassilo Horn  <tsdh@gnu.org>
16032         Add new faces to tsdh-light-theme
16033         * etc/themes/tsdh-light-theme.el (tsdh-light): New face
16034         definitions for Info-quoted, ace-jump-face-foreground,
16035         hl-paren-face, show-paren-match, and show-paren-mismatch.
16037 2015-04-24  Nicolas Petton  <nicolas@petton.fr>
16039         * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro.
16041 2015-04-24  Glenn Morris  <rgm@gnu.org>
16043         * build-aux/gitlog-to-emacslog:
16044         Use raw log format rather than wrapped one.
16046 2015-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
16048         * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code.
16049         (seq-doseq): Fix out-of-scope binding.
16050         Don't call `seq-length at every iteration.
16051         Reduce `if's from 3 to 2 per iteration.
16052         (emacs-lisp-mode-hook): Don't tweak in Emacs≥25.
16054 2015-04-24  Glenn Morris  <rgm@gnu.org>
16056         * lisp/textmodes/text-mode.el (text-mode-hook):
16057         Move text-mode-hook-identify to default.
16059         * lisp/mouse.el (minor-mode-menu-from-indicator):
16060         Handle non-function members of minor-mode-map-alist.  (Bug#20201)
16062         * lisp/help-fns.el (describe-function): More type checking.
16063         (describe-function-1): Handle changed symbol-function.  (Bug#20201)
16065         * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)".
16066         (Bug#20325)
16068 2015-04-24  Andreas Schwab  <schwab@linux-m68k.org>
16070         shr: strip leading whitespace when expanding URLs
16071         * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL.
16073 2015-04-24  Eli Zaretskii  <eliz@gnu.org>
16075         Clarify "co-authored" some more
16077         * CONTRIBUTE: Clarify "co-authored-by".  (Bug#20400)
16079         Clarify doc strings of functions that search for properties
16080         * src/textprop.c (Fnext_char_property_change)
16081         (Fprevious_char_property_change)
16082         (Fnext_single_char_property_change)
16083         (Fprevious_single_char_property_change, Fnext_property_change)
16084         (Fnext_single_property_change, Fprevious_property_change)
16085         (Fprevious_single_property_change): Clarify doc strings wrt return
16086         value and the optional LIMIT argument.  (Bug#20411)
16088 2015-04-24  Glenn Morris  <rgm@gnu.org>
16090         * test/automated/message-mode-tests.el (message-mode-propertize):
16091         Handle non-writable HOME; eg on hydra.nixos.org.
16093 2015-04-23  Eli Zaretskii  <eliz@gnu.org>
16095         Avoid starting threads by w32-shell-execute
16096         * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into
16097         local file names, before invoking ShellExecute.  (Bug#20220)
16099 2015-04-23  Martin Rudalics  <rudalics@gmx.at>
16101         Fix following doc-links in `widget-documentation-link-action'
16102         * lisp/wid-edit.el (widget-documentation-link-action): Make
16103         following doc-links less simplistic (Bug#20398).
16105 2015-04-22  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
16107         Improve EUDC manual
16108         * doc/misc/eudc.texi (Troubleshooting):
16109         New LDAP troubleshooting subsection.
16111 2015-04-22  Paul Eggert  <eggert@cs.ucla.edu>
16113         Omit needless "\ " after multibyte then newline
16114         * src/print.c: Include <c-ctype.h>, for c_isxdigit.
16115         (print_object): When print-escape-multibyte is non-nil and a
16116         multibyte character is followed by a newline or formfeed, followed
16117         by a hex digit, don't output a needless "\ " before the hex digit.
16118         * test/automated/print-tests.el (print-hex-backslash): New test.
16120 2015-04-22  Oleh Krehel  <ohwoeowho@gmail.com>
16122         Add a new `inhibit-message' variable
16123         * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'.
16124         (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when
16125         `inhibit_message' is non-zero.
16126         * etc/NEWS: Add an entry.
16127         * doc/lispref/display.texi: Add an entry for `inhibit-message',
16128         mention it in `message'.
16130 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
16132         Fix last fix in `display-buffer-record-window'.
16133         * lisp/window.el (display-buffer-record-window): Fix last fix.
16135 2015-04-22  Eli Zaretskii  <eliz@gnu.org>
16137         Minor edits in CONTRIBUTE
16138         * CONTRIBUTE: Rearrange instructions about log messages.
16139         Use "Git" capitalized all over.
16140         Use 2 spaces between sentences.
16142 2015-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
16144         * lisp/files.el (basic-save-buffer): Fix argument.
16146         * lisp/cus-edit.el (custom-file): Consider init-file-had-error.
16147         In case `(and (null custom-file) init-file-had-error)' do the same
16148         thing we'd do if `(null user-init-file)', which is to either error out
16149         or return nil.  This is in line with `custom-save-all' which would
16150         throw an error in that situation.  (Bug#20355)
16152         * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu.
16153         (package-menu-hide-low-priority): New variable, see its doc.
16154         (package-archive-priorities): Update doc.
16155         (package-desc-priority): New function.
16156         (package-desc-priority-version): Use it.
16157         (package--remove-hidden): New function.
16158         (package-menu--refresh): Use it.
16160         * lisp/emacs-lisp/package.el: Implement displaying obsolete packages.
16161         (package-menu--hide-obsolete): New variable.
16162         (package--remove-hidden): Use it.
16163         (package-menu-hide-obsolete): New interactive function to toggle
16164         the variable.
16165         (package--quick-help-keys): Document it.
16166         (package-menu-async): Add :version tag.
16167         (package-menu-mode-map): Bind package-menu-hide-obsolete.
16168         (package-desc-status): Indicate non-installed obsolete packages as
16169         avail-obso.
16170         (package-menu-mark-install): Allow installation of avail-obso.
16171         (package-menu--status-predicate): Sort avail-obso with available.
16173 2015-04-22  Alan Mackenzie  <acm@muc.de>
16175         On C-y, stop some text property entries being written into buffer-undo-list
16176         * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in
16177         `with-silent-modifications'.
16179 2015-04-22  Martin Rudalics  <rudalics@gmx.at>
16181         In display-buffer-record-window record selected window if necessary
16182         * lisp/window.el (display-buffer-record-window): Store selected window
16183         if it differs from 3rd element of 'quit-restore' parameter (Bug#20353).
16185 2015-04-22  Tassilo Horn  <tsdh@gnu.org>
16187         Fix reftex-citation bug
16188         * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries):
16189         Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX
16190         integration is enabled and there are no citations in the document
16191         so far.
16193 2015-04-21  Dmitry Gutov  <dgutov@yandex.ru>
16195         Add or reset based on the presence of MERGE_HEAD
16196         * lisp/vc/vc-git.el (vc-git-find-file-hook): Add
16197         `vc-git-resolve-when-done' to `after-save-hook' in either case.
16198         (vc-git-conflicted-files): Add a TODO.
16199         (vc-git-resolve-when-done): Depending on the presence of
16200         MERGE_HEAD, either update the resolved file in the index, or
16201         remove it from there.  (Bug#20292)
16203 2015-04-21  Glenn Morris  <rgm@gnu.org>
16205         * lisp/custom.el (custom-declare-group): No need to purecopy
16206         custom-current-group-alist members following recent change to set
16207         it to nil before dumping.
16209         * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2.
16210         (Bug#20399)
16212 2015-04-21  Daniel Colascione  <dancol@dancol.org>
16214         Unbreak no-op buffer save message
16215         * lisp/files.el (basic-save-buffer): Accept called-interactively as
16216         an argument instead of directly invoking called-interactively-p,
16217         which will always yield nil in that context.
16219 2015-04-21  Alan Mackenzie  <acm@muc.de>
16221         CC Mode: Do nothing in before/after-change-functions for text
16222         property changes
16223         Fixes bug#20266.
16224         * lisp/progmodes/cc-mode.el (c-basic-common-init): Make
16225         yank-handled-properties buffer local, and remove 'category from it.
16226         (c-called-from-text-property-change-p): New function.
16227         (c-before-change): Don't do anything if a call of the new function
16228         returns non-nil.
16229         (c-after-change): Don't do much if a call of the new function returns
16230         non-nil.
16231         (c-extend-after-change-region): Put changes to text property 'fontified
16232         inside c-save-buffer-state.
16234 2015-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
16236         Fix byte-compiler warnings about looking-back
16237         * lisp/vc/log-view.el (log-view-end-of-defun-1):
16238         * lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
16239         * lisp/textmodes/reftex-ref.el (reftex-goto-label):
16240         * lisp/textmodes/bibtex.el (bibtex-insert-kill):
16241         * lisp/progmodes/sh-script.el (sh--maybe-here-document):
16242         * lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
16243         * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
16244         * lisp/org/org.el (org-insert-heading, org-sort-entries):
16245         * lisp/org/org-mouse.el (org-mouse-end-headline)
16246         (org-mouse-context-menu):
16247         * lisp/org/org-clock.el (org-clock-cancel):
16248         * lisp/man.el (Man-default-man-entry):
16249         * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
16250         (rmail-ensure-blank-line):
16251         * lisp/mail/footnote.el (Footnote-delete-footnote):
16252         * lisp/mail/emacsbug.el (report-emacs-bug):
16253         * lisp/info.el (Info-follow-reference, Info-fontify-node):
16254         * lisp/info-look.el (info-lookup-guess-custom-symbol):
16255         * lisp/help-fns.el (help-fns--key-bindings):
16256         * lisp/files.el (hack-local-variables):
16257         * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
16258         (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
16259         (viper-complete-filename-or-exit):
16260         * lisp/emulation/viper-cmd.el (viper-backward-indent):
16261         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
16262         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
16263         * lisp/cus-edit.el (custom-face-edit-value-create):
16264         * lisp/calendar/todo-mode.el (todo-set-item-priority)
16265         (todo-filter-items-1, todo-convert-legacy-files)
16266         (todo-prefix-overlays): Add explicit second arg to looking-back.
16268 2015-04-20  Glenn Morris  <rgm@gnu.org>
16270         Avoid non-nil current-load-list at startup
16271         * src/process.c (init_process_emacs): Move Fprovide statement...
16272         (syms_of_process): ... to here.
16274         * lisp/loadup.el (custom-current-group-alist): Reset before dumping.
16276         * lisp/startup.el (command-line) <site-run-file>: Avoid rogue value
16277         in emacs -Q.
16279 2015-04-20  Ludovic Courtès  <ludo@gnu.org>
16281         * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary.
16282         (Bug#20330)
16284 2015-04-20  Glenn Morris  <rgm@gnu.org>
16286         * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue.
16288         Tweak exec-path in uninstalled case
16289         * src/callproc.c (init_callproc): If running uninstalled, do not
16290         include eventual installation libexec directory in exec-path.
16292 2015-04-20  Artur Malabarba  <bruce.connor.am@gmail.com>
16294         * lisp/emacs-lisp/package.el: Filter by multiple keywords and
16295         cache keywords.
16296         (package-menu-filter): Accept a list of keywords.
16297         (package--all-keywords): New variable to cache known keywords.
16298         (package-all-keywords): Populate it if necessary.
16299         (package-refresh-contents): Reset it.
16301         * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords
16302         (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx"
16303         as special keywords which match agains package archive and status
16304         respectively.
16305         * etc/NEWS: Document it.
16307 2015-04-20  Eli Zaretskii  <eliz@gnu.org>
16309         Describe and index "empty overlays".
16310         * doc/lispref/display.texi (Overlays): Improve indexing.
16311         (Managing Overlays): Describe "empty" overlays.
16312         (Overlay Properties, Finding Overlays): Add cross-reference to
16313         where empty overlays are described.
16315 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
16317         Spelling fixes
16319         Quote 'like this' in top-level files
16320         * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist:
16321         Prefer to single-quote 'like this' (instead of the older style
16322         `like this').
16323         * configure.ac: Fix some space-before-tab problems that 'git commit'
16324         complained about.
16326         Use bool for boolean in textprop.c, undo.c
16327         * src/textprop.c (soft, hard): Now constants instead of macros.
16328         (validate_plist): Rewrite to avoid need for boolean local.
16329         (interval_has_all_properties, interval_has_some_properties)
16330         (interval_has_some_properties_list, add_properties)
16331         (remove_properties, get_char_property_and_overlay)
16332         (Fnext_single_char_property_change)
16333         (Fprevious_single_char_property_change, add_text_properties_1)
16334         (Fremove_text_properties, Fremove_list_of_text_properties)
16335         (copy_text_properties):
16336         * src/tparam.c (tparam1):
16337         * src/undo.c (record_change, record_property_change)
16338         (syms_of_undo):
16339         Use 'true' and 'false' for booleans.
16341 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
16343         * lisp/vc/vc-git.el (vc-git-find-file-hook):
16344         Call `smerge-start-session' even when dealing with a stash
16345         conflict (bug#20292).
16347 2015-04-19  Vibhav Pant  <vibhavp@gmail.com>
16349         Add option to eshell/clear to clear scrollback.
16350         * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function.
16351         (eshell/clear): Add an optional SCROLLBACK argument.  If non-nil,
16352         scrollback contents are cleared.
16353         * etc/NEWS: Describe change.
16354         * doc/misc/eshell.texi: Add entry for `clear'.
16356 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
16358         * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned'
16359         where either will do.
16361 2015-04-19  Steve Purcell  <steve@sanityinc.com>
16363         Assume package archive-contents are UTF8-encoded
16364         * lisp/emacs-lisp/package.el (package--read-archive-file):
16365         Set `coding-system-for-read' explicitly to 'utf-8 when reading the
16366         downloaded and cached archive-contents files, so that non-ASCII
16367         characters in package descriptions are displayed correctly in the
16368         `list-packages' menu.  (Bug#20231)
16370 2015-04-19  Dmitry Gutov  <dgutov@yandex.ru>
16372         Abort when looking at stashed changes
16373         * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at
16374         stashed changes (bug#20292).
16376 2015-04-19  Paul Eggert  <eggert@cs.ucla.edu>
16378         Refactor low-level printing for simplicity
16379         * src/print.c (PRINTDECLARE): Remove.  Move its contents into
16380         PRINTPREPARE; doable now that we assume C99.  All callers changed.
16381         (PRINTCHAR): Remove, as it adds more mystery than clarity.
16382         All callers changed.
16383         (strout): Assume that caller computes length.  All callers changed.
16384         (print_c_string): New function.
16385         (write_string, write_string_1): Compute length instead of asking
16386         the caller to compute it.  All callers changed.
16387         (write_string): Simplify by using write_string_1.
16388         (write_string_1): Simplify by using print_c_string.
16389         (Fterpri): Compute default val more clearly.
16390         (Fprin1_to_string, print_object):
16391         Assume C99 to avoid unnecessary nesting.
16392         (print_object): Prefer print_c_string to multiple printchar, or
16393         to calling strout with -1 length.  Coalesce into sprintf when
16394         this is easy.
16396 2015-04-18  Paul Eggert  <eggert@cs.ucla.edu>
16398         Prefer "Bug#1234" in commit messages (Bug#20325)
16399         * .dir-locals.el (log-edit-mode): Don't rewrite Bug#,
16400         as this isn't useful for Git.
16401         * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234".
16403 2015-04-18  Glenn Morris  <rgm@gnu.org>
16405         * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc.
16406         (Bug#19506)
16408 2015-04-18  Tom Willemse  <tom@ryuslash.org>  (tiny change)
16410         * lisp/elec-pair.el (electric-pair-post-self-insert-function):
16411         Do not use `chomp' as a function.  (Bug#19505)
16413 2015-04-18  Glenn Morris  <rgm@gnu.org>
16415         * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes.
16417         * doc/emacs/misc.texi (Sorting): Small edit.
16418         (Bug#19896)
16420         * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps.
16422 2015-04-18  Simen Heggestøyl  <simenheg@gmail.com>
16424         css-mode.el: Support multi-line comment filling
16425         (Bug#20256)
16426         * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line
16427         comment filling.
16428         (css-adaptive-fill): New function.
16429         (css-mode): Set `adaptive-fill-function'.
16430         (scss-mode): Set `comment-continue'.
16432 2015-04-18  Nicolas Petton  <nicolas@petton.fr>
16434         * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into):
16435         Better error messages.
16437 2015-04-18  Ivan Radanov Ivanov  <ivanradanov@yahoo.co.uk>  (tiny change)
16439         Minor improvements in Bulgarian input methods
16440         * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds):
16441         Replace U+042C with U+045D, as the former character is not used in
16442         the modern Bulgarian language.
16443         (Bug#20350)
16445 2015-04-17  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
16447         Improve EUDC manual
16448         * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL
16449         authentication schemes.  Add index items.  Shorten example server
16450         name.
16452 2015-04-17  Dmitry Gutov  <dgutov@yandex.ru>
16454         Don't show both feature and function with the same name
16455         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
16456         Don't show both feature and function with the same name.
16458         (elisp--xref-identifier-location): Skip variable, if it's also
16459         a function
16460         * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location):
16461         Avoid returning both the variable and the function for the same
16462         minor mode.
16464 2015-04-17  Wolfgang Jenkner  <wjenkner@inode.at>
16466         Fix fontification of keywords clobbered by the prompt
16467         * lisp/comint.el (comint-output-filter): Remove the uses of
16468         with-silent-modifications I introduced as part of the last change.
16469         This fixes, e.g., erratically missing highlighting when running
16470         ./configure --help; ./configure in a shell-mode buffer with
16471         compilation-shell-minor-mode turned on.
16473 2015-04-17  Glenn Morris  <rgm@gnu.org>
16475         * admin/authors.el (authors-valid-file-names)
16476         (authors-renamed-files-alist): Additions.
16478 2015-04-17  Stefan Monnier  <monnier@iro.umontreal.ca>
16480         * lisp/indent.el (indent-region): Don't deactivate the mark.
16481         (Bug#20357)
16483 2015-04-17  Sam Steingold  <sds@gnu.org>
16485         * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable.
16487 2015-04-16  Leo Liu  <sdl.web@gmail.com>
16489         * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg.
16491 2015-04-16  Stefan Monnier  <monnier@iro.umontreal.ca>
16493         * lisp/erc/erc-pcomplete.el (erc-pcomplete):
16494         Don't use `pcomplete' any more.
16496 2015-04-16  Glenn Morris  <rgm@gnu.org>
16498         * admin/authors.el (authors-lax-changelogs): Update for erc changes.
16500 2015-04-16  Eli Zaretskii  <eliz@gnu.org>
16502         Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL
16503         * configure.ac (LIBJPEG): Leave it empty for MinGW.
16505 2015-04-16  Glenn Morris  <rgm@gnu.org>
16507         * lisp/replace.el (query-replace-from-to-separator):
16508         Delay initialization to avoid rogue setting after startup.
16510 2015-04-16  Paul Eggert  <eggert@cs.ucla.edu>
16512         Pre-4.6 GCC succeeds with unknown option
16513         * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC.
16514         (Bug#20338)
16516 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
16518         '[:graph:]' now excludes whitespace, not just ' '
16519         * doc/lispref/searching.texi (Char Classes):
16520         * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:]
16521         sans whitespace (not sans space).
16522         * src/character.c (graphicp): Exclude all Unicode whitespace chars,
16523         not just space.
16524         * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE).
16526 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
16528         * lisp/subr.el (substitute-key-definition-key, special-form-p)
16529         (macrop): Drop deprecated second arg to indirect-function.
16530         (looking-back): Make the second arg non-optional.
16532         * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which
16533         command is actually sent to the shell.
16535 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
16537         Port jpeg configuration to Solaris 10 with Sun C
16538         * configure.ac: Check for jpeglib 6b by trying to link it, instead
16539         of relying on cpp magic that has problems in practice.  Check for
16540         both jpeglib.h and jerror.h features.  Remove special case for
16541         mingw32, which should no longer be needed (and if it were needed,
16542         should now be addressable by hotwiring emacs_cv_jpeglib).
16543         (Bug#20332)
16545 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
16547         Move some Elisp-specific code from lisp-mode.el to elisp-mode.el
16548         * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers):
16549         Move to elisp-mode.el.
16550         (lisp-mode-variables): (Re)move elisp-specific settings.
16551         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed
16552         from lisp-mode-variables.
16553         (elisp--font-lock-flush-elisp-buffers): New function, moved from
16554         lisp-mode.el.
16556         * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p):
16557         Avoid pathological slowdown at top-level in large file.
16559 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
16561         Standardize names of ChangeLog history files
16562         Suggested by Glenn Morris in:
16563         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
16564         * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page.
16565         * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01.
16566         * lisp/erc/ChangeLog.1: New file, containing the old contents of ...
16567         * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03:
16568         * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06:
16569         * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09:
16570         Remove.
16572         Split top-level entries into pre- and post-April 7
16573         This more clearly distingiushes pre-April-7 ChangeLog entries (which
16574         are for top-level files only) from post-April-7 entries (which are
16575         about files at all levels.  Problem reported by Glenn Morris in:
16576         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html
16577         * ChangeLog.1: Move post-April-7 entries from here ...
16578         * ChangeLog.2: ... to this new file.
16579         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2.
16581 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
16583         Fix recent cus-start changes that added customize-rogues
16584         * lisp/cus-start.el (custom-delayed-init-variables): Initialize the
16585         vars early.
16586         * lisp/loadup.el ("cus-start"): Move to the end to reduce
16587         customize-rogue.
16589 2015-04-15  Nicolas Petton  <nicolas@petton.fr>
16591         Define cl-concatenate as an alias to seq-concatenate
16592         * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated
16593           code by making cl-concatenate an alias to seq-concatenate.
16595 2015-04-15  Stefan Monnier  <monnier@iro.umontreal.ca>
16597         * src/lread.c (intern_1): Make sure we'd find the symbol we add
16598         (Bug#20334)
16599         * src/xfaces.c (resolve_face_name): Don't use `intern' with
16600         Lisp_Strings.
16602 2015-04-15  Glenn Morris  <rgm@gnu.org>
16604         * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous.
16606 2015-04-15  Lars Magne Ingebrigtsen  <larsi@gnus.org>
16608         Clean up gnus-uu saving code slightly
16609         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the
16610         save-restriction/widen calls make more sense.
16612 2015-04-15  Paul Eggert  <eggert@cs.ucla.edu>
16614         Make [:graph:] act like [:print:] sans space
16615         In POSIX [[:print:]] is equivalent to [ [:graph:]], so change
16616         [:graph:] so that it matches everything that [:print:] does,
16617         except for space.
16618         * doc/lispref/searching.texi (Char Classes):
16619         * etc/NEWS:
16620         * lisp/emacs-lisp/rx.el (rx):
16621         Document [:graph:] to be [:print:] sans ' '.
16622         * src/character.c, src/character.h (graphicp): New function.
16623         * src/regex.c (ISGRAPH) [emacs]: Use it.
16624         (BIT_GRAPH): New macro.
16625         (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH.
16626         (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]:
16627         Return BIT_GRAPH for RECC_GRAPH.
16628         (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH,
16629         and ISPRINT if BIT_PRINT.
16631 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16633         automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>:
16634         Don't use call-next-method in a cl-defmethod.
16636         * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class
16637         (eieio--class-p): Remove, provided by cl-defstruct.
16639 2015-04-14  Nicolas Petton  <nicolas@petton.fr>
16641         Add seq-intersection and seq-difference to the seq library
16642         * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference):
16643         New functions.
16644         * test/automated/seq-tests.el: Add tests for seq-intersection and
16645         seq-difference.
16646         * doc/lispref/sequences.texi: Add documentation for seq-intersection
16647         and seq-difference.
16649 2015-04-14  Stefan Monnier  <monnier@iro.umontreal.ca>
16651         * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline,
16652         to avoid leaking internals.
16654 2015-04-14  Sam Steingold  <sds@gnu.org>
16656         package--ensure-init-file: widen requires save-restriction
16658 2015-04-14  Eli Zaretskii  <eliz@gnu.org>
16660         Improve the commit-msg Git hook for unibyte environments
16661         * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk
16662         in unibyte environments.  (Suggested by Paul Eggert
16663         <eggert@cs.ucla.edu>.)  Use a more accurate approximation to
16664         [:print:], based on UTF-8 sequences of the unprintable characters.
16666         Describe problems with cursor caused by Windows Magnifier
16667         * etc/PROBLEMS: Describe the problem with cursor shape on
16668         MS-Windows due to Windows Magnifier.
16669         (Bug#20271)
16671         Make [:print:] support non-ASCII characters correctly
16672         * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters.
16673         (BIT_PRINT): New bit mask.
16674         (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT.
16675         * src/character.c (printablep): New function.
16676         * src/character.h (printablep): Add prototype.
16677         * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior
16678         of 'print', 'alnum', and 'alphabetic'.
16679         * doc/lispref/searching.texi (Char Classes): Document the new
16680         behavior of [:print:].
16681         * etc/NEWS: Mention the new behavior of [:print:].
16683         Assign correct general-category and names to surrogates
16684         * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore
16685         surrogates.  This avoids assigning them the default
16686         general-category of 'Cn', i.e. unassigned codepoints.
16687         (unidata-get-name): Give surrogates synthetic names.
16689 2015-04-14  Paul Eggert  <eggert@cs.ucla.edu>
16691         Assume C89 offsetof in xterm.c, xlwmenu.c
16692         * lwlib/xlwmenu.c (offset):
16693         * src/xterm.c (cvt_string_to_pixel_args):
16694         Use offsetof, not XtOffset.
16696 2015-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
16698         Assume C89 offsetof in widget.c
16699         * src/widget.c (XtOffset): Remove; no longer needed.
16700         (offset): Implement via offsetof instead of via pre-C89 XtOffset hack.
16702         Fix think-o in previous patch
16703         * src/window.c (count_windows, get_leaf_windows):
16704         Don't optimize count_windows incorrectly.
16706 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
16708         Avoid some int overflows in window.c
16709         * src/print.c (print_object):
16710         * src/window.c (sequence_number):
16711         * src/window.h (struct window.sequence_number):
16712         Don't assume window sequence number fits in int.
16713         * src/window.c (window_select_count):
16714         * src/window.h (struct window.use_time, window_select_count):
16715         Don't assume window use time fits in int.
16716         * src/window.c (Fsplit_window_internal):
16717         Don't assume user-supplied integer, or sum, fits in int.
16718         (Fset_window_configuration, count_windows, get_leaf_windows)
16719         (save_window_save, Fcurrent_window_configuration):
16720         Use ptrdiff_t for object counts.
16721         (Fset_window_configuration): Omit unused local 'n'.
16722         (count_windows): Simplify by writing in terms of get_leaf_windows.
16723         (get_leaf_windows): Don't store through FLAT if it's null.
16724         (extract_dimension): New static function.
16725         (set_window_margins, set_window_fringes, set_window_scroll_bars):
16726         Use it to avoid undefined behavior when converting user-supplied
16727         integer to 'int'.
16729 2015-04-13  Glenn Morris  <rgm@gnu.org>
16731         Minor doc copyedits
16732         * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo.
16733         * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix.
16735 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
16737         [Gnus] Catch the invalid-operation that idna.el will issue
16738         * lisp/gnus/gnus-art.el (gnus-use-idna):
16739         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message):
16740         * lisp/gnus/message.el (message-use-idna):
16741         Catch the invalid-operation that idna.el will issue.
16743 2015-04-13  Paul Eggert  <eggert@cs.ucla.edu>
16745         * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u.
16747 2015-04-13  Sam Steingold  <sds@gnu.org>
16749         package--ensure-init-file: widen before looking for
16750         "(package-initialize)"
16752 2015-04-13  Dmitry Gutov  <dgutov@yandex.ru>
16754         Change diff-switches default to `-u' (Bug#20290)
16755         * doc/emacs/files.texi (Comparing Files): Document the new default
16756         value of `diff-switches'.
16757         * doc/emacs/trouble.texi (Sending Patches): Document the preference
16758         for unified diff format.  Escape the plus in the suggested `-F' regexp
16759         value.
16760         * lisp/vc/diff.el (diff-switches): Change the default to `-u'.
16762 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16764         (gnus-group--setup-tool-bar-update): Fix last change
16765         * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update):
16766         cursor-sensor-functions should be a list of functions.
16768 2015-04-13  Katsumi Yamaoka  <yamaoka@jpl.org>
16770         * lisp/gnus/gnus-topic.el (gnus-topic-mode):
16771         Use gmm-called-interactively-p.
16773 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16775         * lisp/loadup.el ("cus-start"): Load it after loaddefs.el
16776         (Bug#20321)
16777         * lisp/cus-start.el (read-buffer-function): Don't advertise
16778         iswitchb-read-buffer any more.
16779         (iswitchb): Don't tweak this obsolete group any more.
16781 2015-04-13  Artur Malabarba  <bruce.connor.am@gmail.com>
16783         * lisp/emacs-lisp/package.el: Fix package--ensure-init-file.
16785         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings.
16786         Adding a string after a constructor's argument list will use
16787         that string as the constructor function docstring.  If this string
16788         is absent but the struct itself was given a docstring, use that as
16789         the constructor's docstring.
16790         Fixes bug#17284.
16792 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16794         Deprecate `intangible' and `point-entered' properties
16795         * lisp/emacs-lisp/cursor-sensor.el: New file.
16796         * lisp/simple.el (pre-redisplay-functions): New hook.
16797         (redisplay--pre-redisplay-functions): New function.
16798         (pre-redisplay-function): Use it.
16799         (minibuffer-avoid-prompt): Mark obsolete.
16800         (redisplay--update-region-highlight): Adapt it to work as a function on
16801         pre-redisplay-functions.
16802         * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun.
16803         (minibuffer-prompt-properties): Use it.  Use cursor-intangible rather
16804         than point-entered to make the prompt intangible.
16805         * lisp/forms.el: Move `provide' calls to the end.
16806         (forms-mode): Don't use `run-hooks' on a local var.
16807         (forms--make-format, forms--make-format-elt-using-text-properties):
16808         Use cursor-intangible rather than `intangible'.
16809         (forms-mode): Enable cursor-intangible-mode.
16810         * lisp/isearch.el (isearch-mode): Use defvar-local.
16811         (cursor-sensor-inhibit): Declare.
16812         (isearch-mode): Set cursor-sensor-inhibit.
16813         (isearch-done): Set it back.
16814         (isearch-open-overlay-temporary, isearch-open-necessary-overlays)
16815         (isearch-close-unnecessary-overlays): Don't bother with `intangible'
16816         any more.
16817         * lisp/ses.el (ses-localvars): Remove `mode-line-process'.
16818         (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer):
16819         Add Edebug spec.
16820         (ses-goto-print, ses-print-cell, ses-adjust-print-width)
16821         (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind
16822         inhibit-point-motion-hooks any more.
16823         (ses--cell-at-pos, ses--curcell): New functions, extracted from
16824         ses-set-curcell.
16825         (ses-set-curcell): Use them.
16826         (ses-print-cell, ses-setup): Use cursor-intangible instead of
16827         `intangible'.  Make sure cursor-intangible isn't sticky at BOB.
16828         (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all):
16829         Use ses--cell-at-pos.
16830         (ses--mode-line-process, ses--cursor-sensor-highlight): New functions,
16831         extracted from ses-command-hook.  Make them work with multiple windows
16832         displaying the same buffer.
16833         (ses-mode): Use them via mode-line-process and pre-redisplay-functions.
16834         Enable cursor-intangible-mode.
16835         (ses-command-hook): Remove cell highlight and mode-line update code.
16836         (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column):
16837         Update for new name of text-property holding the cell name.
16838         (ses-rename-cell): Don't mess with mode-line-process.
16839         * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new
16840         cursor-sensor-functions property instead of point-entered.
16841         (erc-insert-timestamp-right, erc-format-timestamp):
16842         Use cursor-intangible rather than `intangible'.
16843         (erc-munge-invisibility-spec): Use add-to-invisibility-spec and
16844         remove-from-invisibility-spec.  Enable cursor-intangible-mode and
16845         cursor-sensor-mode if needed.
16846         (erc-echo-timestamp): Adapt to calling convention of
16847         cursor-sensor-functions.
16848         (erc-insert-timestamp-right): Remove unused vars `current-window' and
16849         `indent'.
16850         * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare.
16851         (gnus-update-group-mark-positions): Remove unused `topic' var.
16852         (gnus-group-insert-group-line): Remove unused var `header'.
16853         (gnus-group--setup-tool-bar-update): New function.
16854         (gnus-group-insert-group-line): Use it.
16855         (gnus-group-update-eval-form): Declare local
16856         dynamically-bound variables.
16857         (gnus-group-unsubscribe-group): Use \` and \' to match string bounds.
16858         * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic)
16859         (gnus-group-prepare-topics, gnus-topic-update-topic)
16860         (gnus-topic-change-level, gnus-topic-catchup-articles)
16861         (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent):
16862         Use inhibit-read-only.
16863         (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update.
16864         (gnus-topic-mode): Use define-minor-mode and derived-mode-p.
16865         * lisp/textmodes/reftex-index.el (reftex-display-index):
16866         Use cursor-intangible-mode if available.
16867         (reftex-index-post-command-hook): Check cursor-intangible.
16868         * lisp/textmodes/reftex-toc.el (reftex-toc):
16869         Use cursor-intangible-mode if available.
16870         (reftex-toc-recenter, reftex-toc-post-command-hook):
16871         Check cursor-intangible.
16872         * lisp/textmodes/sgml-mode.el: Use lexical-binding.
16873         (sgml-tag): Use cursor-sensor-functions instead of point-entered.
16874         (sgml-tags-invisible): Use with-silent-modifications and
16875         inhibit-read-only.  Enable cursor-sensor-mode.
16876         (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to
16877         calling convention of cursor-sensor-functions.
16878         * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook)
16879         (table-point-entered-cell-hook, table-point-left-cell-hook):
16880         Don't autoload.
16881         (table-cell-entered-state): Remove var.
16882         (table--put-cell-point-entered/left-property)
16883         (table--remove-cell-properties):
16884         Use cursor-sensor-functions rather than point-entered/left.
16885         (table--point-entered/left-cell-function): Merge
16886         table--point-entered-cell-function and table--point-left-cell-function
16887         and adjust to calling convention of cursor-sensor-functions.
16889         Update ldef-boots.el
16891         * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well.
16893         * doc/misc/eieio.texi: Don't advertise now obsolete constructs
16895         Collapse successive char deletions in the undo log
16896         * src/cmds.c (remove_excessive_undo_boundaries): New function,
16897         extracted from Fself_insert_command.
16898         (Fdelete_char, Fself_insert_command): Use it.
16899         * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'.
16900         * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special.
16902         xterm and OSC 52: Add NEWS entry, and tweak the code
16903         * lisp/term/xterm.el (gui-set-selection) <nil>: Move method definition
16904         to top-level.
16905         (terminal-init-xterm-activate-set-selection): Set a terminal property.
16906         (xterm--set-selection): Use it instead of checking the value of
16907         `terminal-initted'.  Don't use string-bytes.
16909 2015-04-13  Philipp Stephani  <p.stephani2@gmail.com>
16911         xterm.el: Implement OSC-52 functionality for setting the X selection
16912         * lisp/term/xterm.el (xterm-max-cut-length): New var.
16913         (xterm--set-selection, terminal-init-xterm-activate-set-selection):
16914         New funs.
16915         (terminal-init-xterm, xterm--version-handler): Use them.
16917 2015-04-13  Stefan Monnier  <monnier@iro.umontreal.ca>
16919         Remove left over code from when we used an obsolete/loaddefs.el file
16920         * lisp/subr.el (do-after-load-evaluation): Remove left over code from
16921         when we used an obsolete/loaddefs.el file.
16923         * lisp/cedet/semantic/fw.el (semantic-exit-on-input)
16924         (semanticdb-without-unloaded-file-searches): Use declare.
16925         (semantic-fw-add-edebug-spec): Remove.
16927         * lisp/completion.el (completion-lisp-mode-hook):
16928         Use completion-separator-chars rather than local key binding.
16930         * src/*.c: Set deactivate_mark buffer-locally
16931         (Bug#20260)
16932         * src/insdel.c (prepare_to_modify_buffer_1):
16933         * src/fileio.c (Finsert_file_contents): Set deactivate_mark
16934         buffer-locally.
16936 2015-04-12  Fabián Ezequiel Gallina  <fgallina@gnu.org>
16938         python.el: Keep symmetry on sexp navigation with parens
16939         (Bug#19954)
16940         * lisp/progmodes/python.el
16941         (python-nav--forward-sexp): Add argument skip-parens-p.
16942         (python-nav-forward-sexp, python-nav-backward-sexp)
16943         (python-nav-forward-sexp-safe)
16944         (python-nav-backward-sexp-safe): Use it.
16945         * test/automated/python-tests.el
16946         (python-nav-forward-sexp-1): Fix test.
16948 2015-04-12  João Távora  <joaotavora@gmail.com>
16950         Don't use `setq-local' in Gnus code
16951         This might break upstream builds with older Emacsen
16952         * lisp/gnus/message.el (message-mode): Use `set' and
16953         `make-local-variable' instead of `setq-local'.
16955 2015-04-12  Paul Eggert  <eggert@cs.ucla.edu>
16957         Update Makefile.in's .PHONY dependencies
16958         * Makefile.in (change-history-commit, master-branch-is-current)
16959         (no-ChangeLog): Now phony.
16961         Remove configure's --with-mmdf option
16962         * configure.ac (MAIL_USE_MMDF): Remove.
16963         * etc/NEWS: Document this.
16964         * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined.
16965         (Bug#20308)
16967         * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1.
16968         That way, 'make install' won't think it's a man page.
16969         Reported by Ashish SHUKLA in:
16970         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html
16972         Improve 'make change-history' prereq tests
16973         * Makefile.in (gen_origin): Fix to match what's in the master branch.
16974         (no-ChangeLog, master-branch-is-current): New rules.
16975         (change-history): Depend on them, to avoid similar future problems.
16976         Escape the local-variables string to pacify Emacs when editing
16977         Makefile.in.
16979 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
16981         * test/automated/package-test.el (with-package-test):
16982         Kill Packages buffer.
16984         * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt.
16985         (package-menu--prompt-transaction-p): Prompt for "Delete" first,
16986         "Upgrade" last, and use capitalized instead of all-caps.
16988         * lisp/emacs-lisp/package.el: Completely silence async operations.
16989         (package--make-autoloads-and-stuff): Silence autoloads.
16990         (package--save-selected-packages): New function, silences
16991         `customize-save-variable'.
16992         (package--user-selected-p, package-install-from-buffer)
16993         (package-delete, package-install): Use it.
16994         (package-install-from-archive)
16995         (package-menu--perform-transaction): Silence.
16996         (package-menu-execute): Feedback when operation starts.
16998         Use delay-mode-hooks when visiting the init-file
16999         * lisp/emacs-lisp/package.el (package--ensure-init-file):
17000         delay-mode-hooks.
17001         * lisp/cus-edit.el (custom-save-all): delay-mode-hooks.
17003         * lisp/files.el: Only message when saving if save-silently is nil.
17004         (save-silently): New variable.
17005         (files--message): New function.
17006         (find-file-noselect, save-buffer, basic-save-buffer)
17007         (basic-save-buffer-2, save-some-buffers, not-modified)
17008         (append-to-file): Use them.
17010 2015-04-12  Johan Bockgård  <bojohan@gnu.org>
17012         Support debug declarations in pcase macros
17013         * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec.
17014         (pcase-UPAT): Use it.  Remove "`".
17015         (pcase--edebug-match-macro): New function.
17016         (pcase-defmacro): Support debug declarations.
17017         * lisp/emacs-lisp/cl-macs.el (cl-struct) <pcase-defmacro>:
17018         * lisp/emacs-lisp/eieio.el (eieio) <pcase-defmacro>:
17019         * lisp/emacs-lisp/pcase.el (\`): <pcase-defmacro>:
17020         Add debug declaration.
17022         pcase.el: Edebug support for `app' and vector patterns
17023         * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec.
17024         (pcase-UPAT): Use it.  Support `app' patterns.
17025         (pcase-QPAT): Support vector patterns.
17027         edebug.el: Disambiguate vector specifications
17028         * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat
17029         `(vector ...)' as a vector specification, not as a sublist.
17031         (gnus-summary-refer-thread): Don't clobber unread articles
17032         This fixes a bug where `A T' causes "random" articles to become marked
17033         as read.
17034         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure
17035         gnus-newsgroup-unreads remains sorted.
17037         mouse-sel.el: Fix mouse-sel-get-selection-function
17038         * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function):
17039         Use gui--last-selected-text-primary instead of no longer existing
17040         gui-last-selected-text.
17042         * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL.
17044         * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area.
17046 2015-04-12  Artur Malabarba  <bruce.connor.am@gmail.com>
17048         * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate.
17050         * lisp/emacs-lisp/package.el (list-packages): Call refresh in
17051         right buffer.
17053         * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations.
17054         (byte-compile--interactive): New var.
17055         (byte-compile--message): New function.
17056         (byte-compile-log-1, byte-force-recompile)
17057         (byte-recompile-directory, byte-recompile-file)
17058         (byte-compile-file, compile-defun)
17059         (byte-compile-file-form-defmumble, byte-compile)
17060         (byte-compile-file-form-defalias, display-call-tree): Use it.
17062         * lisp/files.el: Don't message when nothing happened.
17063         (save-some-buffers, basic-save-buffer): Before messaging to say
17064         "nothing was saved" check if (called-interactively-p 'any).
17066 2015-04-12  João Távora  <joaotavora@gmail.com>
17068         Summary: Improve sexp-based movement in message-mode
17069         Works by giving citations and smileys a different syntax.  This helps
17070         modes like `show-paren-mode', `electric-pair-mode', and C-M-*
17071         sexp-based movement.
17072         * lisp/gnus/message.el (message--syntax-propertize): New function.
17073         (message-mode): Set syntax-related vars.
17074         (message-smileys): New variable.
17075         * test/automated/message-mode-tests.el: New file
17077 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
17079         Use bool for boolean in window.c
17080         * src/window.c: Omit unnecessary static function decls.
17081         (adjust_window_count, select_window, Fselect_window)
17082         (window_body_width, Fwindow_body_height, Fwindow_body_width)
17083         (set_window_hscroll, check_window_containing, Fwindow_at)
17084         (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p)
17085         (unshow_buffer, replace_window, recombine_windows)
17086         (add_window_to_list, candidate_window_p, next_window)
17087         (Fnext_window, Fprevious_window, window_loop, check_all_windows)
17088         (Fget_buffer_window, Fdelete_other_windows_internal)
17089         (replace_buffer_in_windows_safely, set_window_buffer)
17090         (Fset_window_buffer, Fforce_window_update)
17091         (temp_output_buffer_show, make_parent_window)
17092         (window_resize_check, window_resize_apply, Fwindow_resize_apply)
17093         (resize_frame_windows, Fsplit_window_internal)
17094         (Fdelete_window_internal, grow_mini_window, shrink_mini_window)
17095         (Fresize_mini_window_internal, mark_window_cursors_off)
17096         (window_scroll, window_scroll_pixel_based)
17097         (window_scroll_line_based, scroll_command, Fscroll_other_window)
17098         (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter)
17099         (Fmove_to_window_line, Fset_window_configuration)
17100         (delete_all_child_windows, apply_window_adjustment)
17101         (set_window_fringes, set_window_scroll_bars)
17102         (Fset_window_vscroll, foreach_window, foreach_window_1)
17103         (compare_window_configurations, Fcompare_window_configurations):
17104         Prefer 'bool', 'true', and 'false' for booleans.
17105         * src/window.h (WINDOW_MODE_LINE_LINES)
17106         (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value.
17108 2015-04-11  Artur Malabarba  <bruce.connor.am@gmail.com>
17110         Speed up byte-compilation and autoload generation by avoiding mode-hooks
17111         This prevents emacs-lisp-mode-hook from being run everytime an
17112         autoload file is generated, which can account for a fraction of
17113         package installation time depending on the hooks the user has
17114         configured.
17115         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks.
17116         * lisp/emacs-lisp/autoload.el (autoload-find-file)
17117         (autoload-find-generated-file): Use delay-mode-hooks.
17119         * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'.
17120         (package-menu-refresh): Respect async and do new package checking.
17121         (list-packages): Use `package-menu-refresh' instead of repeating code.
17123         * lisp/emacs-lisp/package.el: Improve package-menu-quick-help.
17124         (package--quick-help-keys): New variable.
17125         (package--prettify-quick-help-key): New function.
17126         (package-menu-quick-help): Use it.
17128         * lisp/emacs-lisp/package.el: Fix initially wrong compat table.
17129         (package--build-compatibility-table): Require finder.
17131         * test/automated/package-test.el: Fix new test.
17133         * lisp/emacs-lisp/package.el: Silence async operations.
17134         (package--silence): New variable.
17135         (package--message): New function.
17136         (package-import-keyring, package-refresh-contents)
17137         (package-compute-transaction, package-install, package-delete)
17138         (package-menu--perform-transaction, package-menu-execute): Use it.
17140         * test/automated/package-test.el: Test async functionality.
17141         (package-test-update-archives-async): New test.
17143 2015-04-11  Daiki Ueno  <ueno@gnu.org>
17145         Utilize `make-process' in epg.el
17146         * lisp/epg.el (epg-error-output): Abolish.
17147         (epg-context): New slot `error-buffer'.
17148         (epg--start): Use `make-process' and `make-pipe-process'.
17149         (epg--process-filter): Remove code separating stderr from stdout.
17150         (epg-wait-for-completion): Simplify `error-output' handling.
17151         (epg-reset): Dispose error buffer.
17153 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
17155         * .gitignore: Ignore doc temps and outputs.
17157         Port commit-msg to MSYS Bash+Gawk
17158         See Eli Zaretskii in:
17159         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html
17160         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format)
17161         (cent_sign, print_at_sign, at_sign): Revert previous change.
17162         (print_at_sign): Prepend "BEGIN".
17163         (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk.
17165         Port commit-msg to broken MS-Windows shell
17166         * build-aux/git-hooks/commit-msg (cent_sign):
17167         Just use UTF-8 here rather than ASCII + printf, as the latter fails
17168         on a broken MS-Windows shell.  Reported by Eli Zaretskii in:
17169         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html
17171 2015-04-11  Chris Zheng  <chriszheng99@gmail.com>  (tiny change)
17173         Support GnuTLS v3.4 and later on MS-Windows
17174         * src/gnutls.c (syms_of_gnutls) <libgnutls-version>: New DEFSYM.
17175         * lisp/term/w32-win.el (dynamic-library-alist): Determine which
17176         GnuTLS DLL to load according to value of libgnutls-version.
17177         (Bug#20294)
17179 2015-04-11  Paul Eggert  <eggert@cs.ucla.edu>
17181         Minor quoting etc. fixes to misc manuals
17182         Fix some minor quoting and spacing issues.  Distinguish more
17183         clearly among grave accent and apostrophe (which are ASCII) and
17184         single quote (which is not).  Prefer the standard terms
17185         "apostrophe" and "grave accent" to alternative names that can be
17186         confusing.  Use apostrophes to single-quote ASCII text.
17187         * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8
17188         rather than approximating it in ASCII with grave accent.
17190 2015-04-11  Daiki Ueno  <ueno@gnu.org>
17192         Respect more keyword args in `make-process'
17193         * src/process.c (Fmake_process): Respect `:sentinel' and `:filter'
17194         keywords as documented.
17196 2015-04-10  Dmitry Gutov  <dgutov@yandex.ru>
17198         Extract ChangeLog entries when committing a directory
17199         * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment.
17200         * lisp/vc/log-edit.el (log-edit-changelog-insert-entries):
17201         Add a FIXME comment.
17202         (log-edit-changelog-entries): Extract from
17203         `log-edit-changelog-entries', handle FILE being a directory
17204         (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html).
17206 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
17208         Fix problems found by --enable-gcc-warnings
17209         * src/process.c (create_process, Fmake_pipe_process)
17210         (Fmake_network_process): Omit unused locals.
17212         Fix commit-msg to handle scissors lines
17213         * build-aux/git-hooks/commit-msg:
17214         Ignore every line after a scissors line, such as a line generated
17215         by 'git commit -v'.  Problem reported by Johan Bockgård in:
17216         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html
17218         port commit-msg to Gawk 3.0.4 (1999)
17219         * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign)
17220         (print_at_sign, at_sign): New vars.  Use them to avoid problems
17221         Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS.  See:
17222         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
17224         Have commit-msg report commit failure
17225         * build-aux/git-hooks/commit-msg: If the commit is aborted,
17226         say so.  Simplify by doing this at the end.  Problem reported
17227         by Eli Zaretskii in:
17228         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html
17230 2015-04-10  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
17232         Clean up LDAP Configuration section of EUDC manual
17233         * doc/misc/eudc.texi: Combine indices.
17234         (LDAP Configuration): Use command markup.  Add index entries.
17235         Change formatting.  Wrap long lines.  Add noindent markup.
17237 2015-04-10  Daiki Ueno  <ueno@gnu.org>
17239         Add facility to collect stderr of async subprocess
17240         * src/w32.h (register_aux_fd): New function declaration.
17241         * src/w32.c (register_aux_fd): New function.
17242         * src/process.h (struct Lisp_Process): New member stderrproc.
17243         * src/process.c (PIPECONN_P): New macro.
17244         (PIPECONN1_P): New macro.
17245         (Fdelete_process, Fprocess_status, Fset_process_buffer)
17246         (Fset_process_filter, Fset_process_sentinel, Fstop_process)
17247         (Fcontinue_process): Handle pipe process specially.
17248         (create_process): Respect p->stderrproc.
17249         (Fmake_pipe_process): New function.
17250         (Fmake_process): Add new keyword argument :stderr.
17251         (wait_reading_process_output): Specially handle a pipe process when
17252         it gets an EOF.
17253         (syms_of_process): Register Qpipe and Smake_pipe_process.
17254         * doc/lispref/processes.texi (Asynchronous Processes): Document
17255         `make-pipe-process' and `:stderr' keyword of `make-process'.
17256         * lisp/subr.el (start-process): Suggest to use `make-process' handle
17257         standard error separately.
17258         * test/automated/process-tests.el (process-test-stderr-buffer)
17259         (process-test-stderr-filter): New tests.
17260         * etc/NEWS: Mention new process type `pipe' and its usage with the
17261         `:stderr' keyword of `make-process'.
17263 2015-04-10  Paul Eggert  <eggert@cs.ucla.edu>
17265         Minor quoting etc. fixes to lispref manual
17266         * doc/lispref/tips.texi (Documentation Tips):
17267         Distinguish more clearly among grave accent, apostrophe,
17268         and single quote.
17269         * doc/lispref/README, doc/lispref/buffers.texi:
17270         * doc/lispref/commands.texi, doc/lispref/control.texi:
17271         * doc/lispref/customize.texi, doc/lispref/display.texi:
17272         * doc/lispref/elisp.texi, doc/lispref/files.texi:
17273         * doc/lispref/frames.texi, doc/lispref/hash.texi:
17274         * doc/lispref/help.texi, doc/lispref/internals.texi:
17275         * doc/lispref/loading.texi, doc/lispref/makefile.w32-in:
17276         * doc/lispref/markers.texi, doc/lispref/modes.texi:
17277         * doc/lispref/nonascii.texi, doc/lispref/objects.texi:
17278         * doc/lispref/os.texi, doc/lispref/positions.texi:
17279         * doc/lispref/strings.texi, doc/lispref/syntax.texi:
17280         * doc/lispref/text.texi, doc/lispref/tips.texi:
17281         * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi:
17282         Use American-style double quoting in ordinary text,
17283         and quote 'like this' when single-quoting in ASCII text.
17284         Also, fix some minor spacing issues.
17286 2015-04-10  Michael Albinus  <michael.albinus@gmx.de>
17288         Handle symlinked test directory in tramp-tests.el
17289         * test/automated/tramp-tests.el (tramp-test18-file-attributes)
17290         (tramp--test-check-files): Use `file-truename' for directories.
17292 2015-04-10  Eli Zaretskii  <eliz@gnu.org>
17294         Fix 'recenter' when visual-line-mode is turned on
17295         * src/window.c (Frecenter): Use the same code for GUI and TTY
17296         frames alike; use vmotion only for "initial" frames.  This is
17297         because vmotion doesn't support visual-line-mode.  Rewrite the
17298         'iarg >= 0' case to use move_it_* functions instead of using
17299         vmotion, for the same reason.  Fix the clipping of the argument
17300         value to support scroll-margin in all cases and avoid unwarranted
17301         recentering.  Reported by Milan Stanojević <milanst@gmail.com> in
17302         http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html,
17303         which see.
17305 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
17307         * lisp/abbrev.el (define-abbrev-table): Refine last change.
17309         * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize
17310         use of c[ad]+r", so as to keep the "cl-" prefix on all
17311         cl-lib definitions.
17313         * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2):
17314         Use inhibit-point-motion-hooks.
17316         * lisp/cedet/semantic: Remove some dead code.
17317         * lisp/cedet/semantic/util-modes.el
17318         (semantic-stickyfunc-header-line-format): Emacs<22 is not supported
17319         any more.
17320         * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is
17321         not supported any more.
17322         (semantic-safe): Use `declare'.
17323         * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible)
17324         (semantic-tag-intangible-p): Remove unused functions.
17325         * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges):
17326         Remove unused function.
17328         * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify.
17329         (gnus-article-hide-text, gnus-article-unhide-text)
17330         (gnus-article-unhide-text-type): Remove special handling of
17331         `intangible' since that property is not used any more.
17332         (gnus-article-treat-body-boundary): Use gnus-hidden-properties.
17334 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
17336         Use the VC root in `log-edit-listfun'
17337         * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in
17338         `log-edit-listfun'.
17340 2015-04-09  Jay Belanger  <jay.p.belanger@gmail.com>
17342         Fix description of Unix time, mention new function.
17343         * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for
17344         Unix time.
17345         * doc/misc/calc.texi (Date Forms): Fix description of Unix time.
17346         (Basic Operations on Units): Mention `calc-convert-exact-units'.
17348 2015-04-09  Artur Malabarba  <bruce.connor.am@gmail.com>
17350         * lisp/emacs-lisp/package.el: Use mode-line-process for notification.
17352 2015-04-09  Dmitry Gutov  <dgutov@yandex.ru>
17354         * lisp/vc/log-edit.el (log-edit-insert-changelog-entries):
17355         Don't add newline after the last entry.
17357 2015-04-09  Simen Heggestøyl  <simenheg@gmail.com>
17359         css-mode.el: Add "not" pseudo-class
17360         (Bug#20267)
17361         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to
17362         list of CSS pseudo-classes.
17364 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
17366         * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var".
17368 2015-04-09  Michael Albinus  <michael.albinus@gmx.de>
17370         Stop messing with the EMACS env var
17371         * doc/emacs/misc.texi (Interactive Shell): Remove description of
17372         EMACS env var.
17374 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17376         Adapt 'make change-history' to coding cookie
17377         * Makefile.in (change-history): Adjust to change of format of
17378         ChangeLog file, which now has a coding cookie before an indented
17379         copyright notice.
17381 2015-04-09  Paul Eggert  <eggert@cs.ucla.edu>
17383         Adapt 'make change-history' to coding cookie
17384         * Makefile.in (change-history): Adjust to change of format of
17385         ChangeLog file, which now has a coding cookie before an indented
17386         copyright notice.
17388         gitlog-to-changelog coding cookie and mv -i
17389         * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in,
17390         for copyright notice prototype, so that we get a proper "coding:"
17391         cookie.  Use 'mv -i' to avoid unconditionally overwriting an
17392         existing ChangeLog.  Problems reported by Eli Zaretskii in:
17393         http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html
17395         Merge from gnulib
17396         * build-aux/gitlog-to-changelog: Update from gnulib, incorporating:
17397         2015-04-09 gitlog-to-changelog: port to MS-Windows
17399 2015-04-09  Boruch Baum  <boruch_baum@gmx.com>  (tiny change)
17401         * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop.
17402         (Bug#20212)
17404 2015-04-09  Stefan Monnier  <monnier@iro.umontreal.ca>
17406         Stop messing with the EMACS env var
17407         (Bug#20202)
17408         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
17409         * lisp/comint.el (comint-exec-1):
17410         * lisp/term.el (term-exec-1): Don't set EMACS envvar.
17411         * lisp/progmodes/compile.el (compilation-start): Same and bring
17412         INSIDE_EMACS's format in line with other users.
17414         css-mode.el (css-smie-rules): Fix indentation after complex selectors
17415         (Bug#20282)
17416         * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by
17417         inner structure of selectors.
17419 2015-04-08  Fabián Ezequiel Gallina  <fgallina@gnu.org>
17421         python.el: Indent docstring lines to base-indent
17422         (Bug#19595)
17423         Thanks to immerrr <immerrr@gmail.com> for reporting and providing
17424         an initial patch.
17425         * lisp/progmodes/python.el
17426         (python-indent-context): Add :inside-docstring context.
17427         (python-indent--calculate-indentation): Handle :inside-docstring.
17428         (python-indent-region): Re-indent docstrings.
17429         * test/automated/python-tests.el (python-indent-region-5)
17430         (python-indent-inside-string-2): Fix tests.
17432         python.el: Increase native completion robustness
17433         (Bug#19755)
17434         Thanks to Carlos Pita <carlosjosepita@gmail.com> for reporting
17435         this and providing useful ideas.
17436         * lisp/progmodes/python.el
17437         (python-shell-completion-native-output-timeout): Increase value.
17438         (python-shell-completion-native-try-output-timeout): New var.
17439         (python-shell-completion-native-try): Use it.
17440         (python-shell-completion-native-setup): New readline setup avoids
17441         polluting current context, ensures output when no-completions are
17442         available and includes output end marker.
17443         (python-shell-completion-native-get-completions): Trigger with one
17444         tab only.  Call accept-process-output until output end is found or
17445         python-shell-completion-native-output-timeout is exceeded.
17447 2015-04-08  Samer Masterson  <samer@samertm.com>
17449         * lisp/eshell: Make backslash a no-op in front of normal chars
17450         (Bug#8531)
17451         * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment.
17452         (eshell-parse-backslash): Return escaped character after backslash
17453         if it is special.  Otherwise, if the backslash is not in a quoted
17454         string, ignore the backslash and return the character after; if
17455         the backslash is in a quoted string, return the backslash and the
17456         character after.
17457         * test/automated/eshell.el (eshell-test/escape-nonspecial)
17458         (eshell-test/escape-nonspecial-unicode)
17459         (eshell-test/escape-nonspecial-quoted)
17460         (eshell-test/escape-special-quoted): Add tests for new
17461         `eshell-parse-backslash' behavior.
17463 2015-04-08  Gustav Hållberg  <gustav@gmail.com>  (tiny change)
17465         * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB
17466         after the file name.
17467         (Bug#20276)
17469 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17471         Minor quoting etc. fixes to Emacs manual
17472         * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi:
17473         * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi:
17474         * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi:
17475         * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi:
17476         * doc/emacs/indent.texi, doc/emacs/macos.texi:
17477         * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in:
17478         * doc/emacs/programs.texi, doc/emacs/rmail.texi:
17479         * doc/emacs/search.texi, doc/emacs/trouble.texi:
17480         * doc/emacs/vc1-xtra.texi:
17481         Use American-style double quoting in ordinary text,
17482         and quote 'like this' when single-quoting in ASCII text.
17483         Also, fix some minor spacing issues.
17485         Minor quoting etc. fixes to elisp intro
17486         * doc/lispintro/emacs-lisp-intro.texi: Consistently use
17487         American-style double quoting in ordinary text.  In ASCII text,
17488         consistently quote 'like this' instead of `like this', unless
17489         Emacs requires the latter.
17491 2015-04-08  Dmitry Gutov  <dgutov@yandex.ru>
17493         * CONTRIBUTE: Mention log-edit-insert-changelog.
17495         * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually.
17497 2015-04-08  Paul Eggert  <eggert@cs.ucla.edu>
17499         * doc/misc/calc.texi (Summary): Avoid '@:' when usurped.
17501 2015-04-08  Stefan Monnier  <monnier@iro.umontreal.ca>
17503         * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass):
17504         Fix inheritance of initargs.  (Bug#20270)
17506 2015-04-08  Artur Malabarba  <bruce.connor.am@gmail.com>
17508         * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification
17509         while dowloading information.
17511         * lisp/emacs-lisp/package.el: More conservative `ensure-init-file'
17512         (package--ensure-init-file): Check file contents before visiting.
17513         (package-initialize): Call it.
17514         (package-install-from-buffer, package-install): Don't call it.
17516 2015-04-08  Eli Zaretskii  <eliz@gnu.org>
17518         * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800.
17519         (Bug#17517)
17521 2015-04-08  Michael Albinus  <michael.albinus@gmx.de>
17523         * lisp/net/tramp-cache.el (tramp-flush-file-property):
17524         Fix nasty scoping bug.
17526 2015-04-08  Tassilo Horn  <tsdh@gnu.org>
17528         Add notice to visual commands section
17529         * doc/misc/eshell.texi (Input/Output): Add notice that some tools
17530         such as git call less with its -F option which omits pagination if
17531         the contents is less than one page long.  This interferes with
17532         eshell's visual (sub-)commands.
17534 2015-04-07  Dmitry Gutov  <dgutov@yandex.ru>
17536         * lisp/ffap.el (ffap-string-at-point-mode-alist): Support
17537         environment variable expansion in file names.  (Bug#19839)
17539 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17541         Prefer double-quote to accent-grave in man pages
17543 2015-04-07  Stefan Monnier  <monnier@iro.umontreal.ca>
17545         (Bug#20257)
17546         * lisp/files.el (set-visited-file-name): Clear auto-save if nil.
17548 2015-04-07  Ivan Shmakov  <ivan@siamics.net>
17550         Update etc/PROBLEMS.
17551         * etc/PROBLEMS: Mention visible-cursor; a few more mentions of
17552         ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and
17553         'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows',
17554         respectively); other minor updates and tweaks.  (Bug#20011)
17556 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17558         Add doc strings for some Isearch state vars
17559         * lisp/misearch.el (multi-isearch-buffer-list)
17560         (multi-isearch-file-list): Add doc strings.
17561         (Bug#20232)
17563 2015-04-07  Alan Mackenzie  <acm@muc.de>
17565         Always mark "<" and ">" in #include directives with text properties.
17566         * lisp/progmodes/c-fonts.el (c-cpp-matchers): Replace a font-lock
17567         "anchored matcher" with an invocation of
17568         c-make-font-lock-search-function to allow fontification when there's
17569         no trailing space on an "#include <..>" line.
17571 2015-04-07  Paul Eggert  <eggert@cs.ucla.edu>
17573         Generate a ChangeLog file from commit logs
17574         * .gitignore: Add 'ChangeLog'.
17575         * build-aux/gitlog-to-changelog: New file, from Gnulib.
17576         * build-aux/gitlog-to-emacslog: New file.
17577         * CONTRIBUTE: Document the revised workflow.
17578         * Makefile.in (clean): Remove *.tmp and etc/*.tmp*
17579         instead of just special cases.
17580         (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars.
17581         (ChangeLog, unchanged-history-files, change-history)
17582         (change-history-commit): New rules.
17583         * admin/admin.el (make-manuals-dist--1):
17584         Don't worry about doc/ChangeLog.
17585         * admin/authors.el: Add a FIXME.
17586         * admin/make-tarball.txt:
17587         * lisp/calendar/icalendar.el:
17588         * lisp/gnus/deuglify.el:
17589         * lisp/obsolete/gulp.el:
17590         * lwlib/README:
17591         Adjust to renamed ChangeLog history files.
17592         * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog.
17593         * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr.
17594         Remove obsolete discussion of merging ChangeLog files.
17595         New section "Maintaining ChangeLog history".
17596         * build-aux/git-hooks/pre-commit:
17597         Reject attempts to commit files named 'ChangeLog'.
17598         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
17599         * make-dist: Make and distribute top-level ChangeLog if there's a
17600         .git directory.  Distribute the new ChangeLog history files
17601         instead of scattered ChangeLog files.  Distribute the new files
17602         gitlog-to-changelog and gitlog-to-emacslog.
17603         (Bug#19113)
17605         Rename ChangeLogs for gitlog-to-changelog
17606         This patch was implemented via the following shell commands:
17607         find * -name ChangeLog |
17608         sed 's,.*,git mv & &.1,
17609         s, lisp/ChangeLog\.1$, lisp/ChangeLog.17,
17610         s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09,
17611         s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3,
17612         s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2,
17613         s, src/ChangeLog\.1$, src/ChangeLog.13,' |
17614         sh
17615         git commit -am"[this commit message]"
17617 This file records repository revisions from
17618 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
17619 commit cb56d4cec80a4da41710e2fa68dcd3d95e2a8e4c (inclusive).
17620 See ChangeLog.1 for earlier changes.
17622 ;; Local Variables:
17623 ;; coding: utf-8
17624 ;; End:
17626   Copyright (C) 2015 Free Software Foundation, Inc.
17628   This file is part of GNU Emacs.
17630   GNU Emacs is free software: you can redistribute it and/or modify
17631   it under the terms of the GNU General Public License as published by
17632   the Free Software Foundation, either version 3 of the License, or
17633   (at your option) any later version.
17635   GNU Emacs is distributed in the hope that it will be useful,
17636   but WITHOUT ANY WARRANTY; without even the implied warranty of
17637   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17638   GNU General Public License for more details.
17640   You should have received a copy of the GNU General Public License
17641   along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.