2015-11-08 Paul Eggert Prefer xpalloc to doubling buffers by hand * src/lread.c (grow_read_buffer): New function, which uses xpalloc. (read1): Use it for simplicity. * src/macros.c (store_kbd_macro_char): * src/minibuf.c (read_minibuf_noninteractive): * src/term.c (encode_terminal_code): * src/xrdb.c (magic_db): Prefer xpalloc to growing buffers by hand. This doesn’t fix any bugs, but simplifies the code a bit. 2015-11-08 Paul Eggert Merge from gnulib This incorporates: 2015-11-05 timespec-sub: fix overflow bug; add tests 2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW 2015-11-03 intprops: add parentheses * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c: Copy from gnulib. 2015-11-07 David Reitter Provide NS notification objects where required to eliminate warnings * src/nsterm.m (windowDidResize:, toggleFullScreen:): Call notification functions with notification objects as per delegate APIs. 2015-11-07 Noam Postavsky Add test for bug #21824 * test/automated/buffer-tests.el: New file. (overlay-modification-hooks-message-other-buf): New test. 2015-11-07 Kelvin White * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771. 2015-11-07 David Reitter Ignore fullscreen exit notifications on NS when frame is dead * src/nsterm.m (windowDidResize:, windowWillExitFullScreen:) (windowDidExitFullScreen:): Return if frame is dead. These functions may be called when a fullscreen frame is closed; they are called before, not after. May address Bug#21428. 2015-11-07 Eli Zaretskii Speed up lookup in redisplay--variables * lisp/frame.el (redisplay--variables): Make it a hash-table. * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables as a hash-table. This speeds up this function by an order of magnitude: where previously a setq was slowed down by 100% by introducing the maybe_set_redisplay test, it is now only 5% slower. (syms_of_xdisp) : Doc fix. 2015-11-07 Artur Malabarba * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug. The defsubst was being created as: (cl-defsubst name (args) ("DOC") ...) * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Add test. 2015-11-07 Mihai Olteanu (tiny change) Update doc string of hexl-mode * lisp/hexl.el (hexl-mode): Doc fix. (Bug#21800) 2015-11-07 Eli Zaretskii Fix error in copy-abbrev-table * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff property of the abbrev-table. (Bug#21828) * test/automated/abbrev-tests.el: New file. 2015-11-07 Michael Albinus Add test to auto-revert-tests.el for Bug#21841 * test/automated/auto-revert-tests.el (auto-revert-test01-auto-revert-several-files): New test. (auto-revert-test02-auto-revert-tail-mode) (auto-revert-test03-auto-revert-mode-dired): Rename them. 2015-11-07 Martin Rudalics * doc/lispref/windows.texi (Coordinates and Windows): Fix typo. 2015-11-07 Martin Rudalics In x_consider_frame_title don't set title of tooltip frames * src/xdisp.c (x_consider_frame_title): Return immediately for tooltip frames to avoid displaying empty tooltips. 2015-11-06 Anders Lindgren Fixed NextStep fullscreen problem (bug#21770). * src/nsterm.m (ns_constrain_all_frames): Don't constrain fullscreen frames. 2015-11-06 Eli Zaretskii Ensure redisplay after evaluation * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Revert last change. * lisp/frame.el (redisplay--variables): Populate the redisplay--variables list. * src/xdisp.c (maybe_set_redisplay): New function. (syms_of_xdisp) : New variable. * src/window.h (maybe_set_redisplay): Declare prototype. * src/data.c (set_internal): Call maybe_set_redisplay. (Bug#21835) 2015-11-06 Artur Malabarba * test/automated/subr-tests.el (subr-test-when): Fix again. 2015-11-06 Eli Zaretskii Don't invoke overlay modification hooks in wrong buffer * src/buffer.c (report_overlay_modification): When called with AFTER non-zero, don't invoke overlay modification hooks if the buffer recorded in last_overlay_modification_hooks is different from the current buffer. (Bug#21824) 2015-11-06 Juanma Barranquero * admin/notes/repo: Fix a few obsolete references to Bazaar. 2015-11-06 Artur Malabarba * test/automated/subr-tests.el (subr-test-when): Fix test. 2015-11-06 Martin Rudalics Avoid division by zero crash observed by Yuan MEI See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html. * src/dispnew.c (required_matrix_height, required_matrix_width): Avoid division by zero. * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 1. 2015-11-06 Eli Zaretskii Ensure redisplay after "C-x C-e" * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure redisplay happens to account for any side effects of the evaluated sexp. (Bug#21835) 2015-11-06 Michael Albinus Skip some file notification tests for cygwin * test/automated/file-notify-tests.el (file-notify--test-with-events): Remove argument TIMEOUT. Adapt all callees. (file-notify-test02-events, file-notify-test04-file-validity): Skip for cygwin. (Bug#21804) 2015-11-05 Stephen Leake * lisp/progmodes/xref.el: Require semantic/symref during compilation. 2015-11-05 Daiki Ueno Suppress redundant Pinentry startup messages * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument. * lisp/epg.el: Declare `pinentry-start'. (epg--start): Call `pinentry-start' with QUIET argument set. 2015-11-05 Xue Fuqiao * doc/emacs/ack.texi (Acknowledgments): Updates. 2015-11-05 Juanma Barranquero * test/automated/elisp-mode-tests.el: Silence some run-time warnings. (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t. 2015-11-05 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add prettification support for \times. 2015-11-05 Juanma Barranquero * test/automated/process-tests.el: Skip tests when bash is unavailable. (process-test-sentinel-accept-process-output) (process-test-sentinel-sit-for): skip-unless bash executable found. 2015-11-05 Eli Zaretskii Add test for bug #21831 * test/automated/process-tests.el (start-process-should-not-modify-arguments): New test. (Bug#21831) Suggested by Nicolas Richard 2015-11-04 Stefan Monnier * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests. (eieio--generic-static-object-generalizer): Fix typo. * test/automated/eieio-tests.el: Byte-compile it again. It looks like the underlying cause of bug#17852 was fixed in the mean time. 2015-11-04 Artur Malabarba Revert "* lisp/subr.el (when): Use `macroexp-progn'" This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8. It breaks bootstrapping (duh). 2015-11-04 Artur Malabarba * lisp/files.el (report-errors): Obsolete. (normal-mode, hack-local-variables, dir-locals-find-file): Use `with-demoted-errors' instead. 2015-11-04 Artur Malabarba * lisp/subr.el (when): Use `macroexp-progn'. * test/automated/subr-tests.el (subr-test-when): New test. 2015-11-04 Juanma Barranquero * lisp/progmodes/xref.el: Doc fixes. (xref-make-file-location, xref-make-buffer-location, xref-make) (xref-make-bogus-location, xref-make-match): Add cross-references. (xref--insert-xrefs): Fix typo in docstring. 2015-11-04 Anders Lindgren Render fringe bitmaps correctly on NextStep (bug#21301) The fringe bitmaps were inverted, the background was not transparent, the image data was horizontally mirrored, and periodic fringe bitmaps were not supported. * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]): When both background and foreground colors are 0, set the background alpha channel to 0 (making the background transparent). When copying the image data, do this from the most significant bit (leftmost) to the least (rightmost), to avoid mirroring. * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits. Add support for periodic images (e.g. the empty line indicator). 2015-11-03 Michael Heerdegen * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring. 2015-11-03 Nicolas Petton * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el. * admin/MAINTAINERS: Add thunk.el. 2015-11-03 Jay Belanger * lisp/calc/calc.el (calc-bug-address): Change maintainer address. 2015-11-03 Michael Albinus Fix a stupid error in gfilenotify.c * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only, if we've got a `deleted' signal AND the file name is the watched one. 2015-11-03 Stephen Leake Fix Bug#21816; case insensitive file system in elisp-mode-tests.el * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Use case-insensitive string compare for file names. (emacs-test-dir): Add 'downcase' to cause case differences (at least on my system). 2015-11-02 Juanma Barranquero flymake-tests.el (warning-predicate-rx-gcc): Fix check * test/automated/flymake-tests.el (warning-predicate-rx-gcc): Also check that "make" is available, not just "gcc". 2015-11-02 Ken Brown Document behavior of collation on Cygwin * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as expected failure on Cygwin. * doc/lispref/strings.texi (Text Comparison): Document that punctuation and whitespace are not ignored for sorting on Cygwin. 2015-11-02 Dani Moncayo * build-aux/msys-to-w32: Prevent double slashes in w32 path list. 2015-11-01 Glenn Morris * lisp/progmodes/f90.el (f90-no-block-limit): Add associate. (Bug#21794) * test/automated/f90.el (f90-test-bug21794): New test. 2015-11-01 Juanma Barranquero Fix incompatibility with TCC in test for bug#18745 * test/automated/process-tests.el (process-test-quoted-batfile): Remove spaces unrelated to the bug being tested. 2015-11-01 Michael Albinus Improve completion in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names): Rename from `tramp-zeroconf-parse-service-device-names'. (tramp-zeroconf-parse-webdav-device-names): Remove. Code merged with `tramp-zeroconf-parse-device-names'. (tramp-gvfs-parse-device-names): New defun. (top): Use it when `tramp-zeroconf-parse-device-names' is not applicable. * lisp/net/tramp.el (tramp-set-completion-function): The argument could also be a zeroconf service type. 2015-10-31 Thomas Fitzsimmons * lisp/net/ntlm.el: Change version to 2.0.0. 2015-10-31 Juanma Barranquero Fix bug#21762 * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with `eql' instead of `=' to accommodate the case that (syntax-after (point)) returns nil. * test/automated/python-tests.el (python-indent-inside-paren-7): New test. 2015-10-31 Juanma Barranquero * test/automated/python-tests.el: Avoid warnings. (python-tests-with-temp-buffer, python-tests-with-temp-file): Bind `python-indent-guess-indent-offset' to nil. 2015-10-31 Juanma Barranquero * src/alloc.c: Silence compiler warnings. (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC. 2015-10-31 Jackson Ray Hamilton * etc/NEWS: Fix js-jsx-mode entry punctuation. 2015-10-31 Jackson Ray Hamilton Add JSX indentation via js-jsx-mode (Bug#21799) * lisp/progmodes/js.el: Add JSX indentation support. (js--jsx-end-tag-re) (js--jsx-after-tag-re): New variables. (js--jsx-find-before-tag) (js--jsx-indented-element-p) (js--as-sgml) (js--expression-in-sgml-indent-line) (js-jsx-indent-line) (js-jsx-mode): New functions. * test/indent/js-jsx.js: New file. * etc/NEWS: Add information about js-jsx-mode. 2015-10-31 Michael Albinus Minor fix in filenotify.el * lisp/filenotify.el (file-notify--event-file-name) (file-notify--event-file1-name): Normalize result with `directory-file-name'. 2015-10-31 Eli Zaretskii Avoid errors in redisplay--pre-redisplay-functions * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't use 'bobp', instead compare window-point with 1. (Bug#21730) 2015-10-30 Paul Eggert Merge from gnulib This incorporates: 2015-10-30 intprops: add WRAPV and const flavors for GCC 5 2015-10-25 stdalign: port to Sun C 5.9 * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h: Copy from gnulib. 2015-10-30 Eli Zaretskii * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro. (w32_compare_strings): Adjust for the correction. 2015-10-30 Michael Albinus * test/automated/vc-tests.el (vc-test--state) (vc-test--working-revision, vc-test--checkout-model): Add result messages. 2015-10-30 Artur Malabarba * test/automated/faces-tests.el: Add another test 2015-10-30 Artur Malabarba * lisp/faces.el (faces--attribute-at-point): Fix bug introduced by previous commit. 2015-10-30 Artur Malabarba * test/automated/faces-tests.el: New file. 2015-10-30 Artur Malabarba * lisp/faces.el: Refactor common code and fix a bug. (faces--attribute-at-point): New function. Fix a bug when the face at point is a list of faces and the desired attribute is not on the first one. (foreground-color-at-point, background-color-at-point): Use it. 2015-10-30 Przemysław Wojnowski * etc/tutorials/TUTORIAL.translators: Fix PL names. 2015-10-30 Juanma Barranquero * lisp/character-fold.el: Provide `character-fold'. 2015-10-30 Tassilo Horn * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces for Gnus and ivy. 2015-10-30 Michael Albinus Some minor fixes for tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): An attribute returned by gvfs-info might be empty. In case of undetermined uid or gid, return "UNKNOWN" or -1, respectively. (tramp-zeroconf-parse-service-device-names): New defun. Derived from `tramp-zeroconf-parse-workstation-device-names'. (top): Add completion functions for "afp" and "smb" methods. 2015-10-30 Artur Malabarba * test/automated/character-fold-tests.el: New file 2015-10-30 Artur Malabarba * test/automated/sort-tests.el: New file. Tests in this file are randomly generated and then tested with regular, reverse, and case-fold sorting. 2015-10-30 Eli Zaretskii Describe known problems with pinning Emacs to taskbar * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar on Windows 10. For the details, see the discussion starting at http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html. 2015-10-30 Artur Malabarba * lisp/isearch.el: Avoid an error that blocks isearch. (isearch-update): Don't error if `isearch--current-buffer' has been killed. * test/automated/isearch-tests.el (isearch--test-update): New file. 2015-10-30 Phil Sainty Fix documentation of 'beginning/end-of-buffer' * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify conditions under which the mark will be pushed at the previous position. (Bug#21748) 2015-10-30 Tassilo Horn Add RefTeX feature idea: editing RefTeX TOC buffers More face defs for ivy, swiper, ace-window, eshell 2015-10-29 Stefan Monnier * lisp/gnus/auth-source.el: Silence lexical-binding warnings. (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to just VAR. (auth-source-backend-parse): Use make-instance. (auth-source-search): Remove unused key args. Remove unused vars `accessor-key' and `backend'. Avoid `eval'. (auth-source-search-backends): Use slot names rather than their initarg. (auth-source-netrc-create): (auth-source-delete): (auth-source-secrets-create, auth-source-plstore-search) (auth-source-macos-keychain-create, auth-source-macos-keychain-search) (auth-source-plstore-create, auth-source-netrc-search) (auth-source-netrc-parse): Remove unused key args. (auth-source-forget+): Simplify the arglist. (auth-source-macos-keychain-search-items) (auth-source-token-passphrase-callback-function): Mark unused args. (auth-source-epa-extract-gpg-token): Remove unused var `plain'. (pp-escape-newlines): Declare. (auto-source--symbol-keyword): New function. (auth-source-plstore-create, auth-source-netrc-create) (auth-source-netrc-normalize): Use it. (auth-source-netrc-search): Don't pass :delete to auth-source-netrc-parse since it doesn't use it. (auth-source-plstore-create, auth-source-netrc-create): Use plist-get symbol-value to index in keyword args. (auth-source-macos-keychain-result-append): Avoid setq. (auth-source-netrc-create): Remove unused vars `file' and `add'. (auth-source-user-or-password): Remove unused var `cname'. 2015-10-29 Juri Linkov * lisp/dired.el (dired-unmark-all-files-query): Declare. (dired-unmark-all-files): Let-bind it and use instead of ‘query’. (Bug#21746) 2015-10-29 Juri Linkov * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol to go to the beginning of text line instead of command line. http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html 2015-10-29 Eli Zaretskii Fix encoding of saving *Help* buffers * lisp/help-fns.el (describe-function-1): If we use curved quotes, set help buffer's buffer-file-coding-system to UTF-8. (Bug#21780) 2015-10-29 Stefan Monnier * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context. (cl--generic-derived-specializers): New function. (cl--generic-derived-generalizer): New generalizer. (cl-generic-generalizers): New specializer (derived-mode MODE). (cl--generic-split-args): Apply the rewriter, if any. (cl-generic-define-context-rewriter): New macro. (major-mode): Use it to define a new context-rewriter, so we can write `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'. * lisp/frame.el (window-system): New context-rewriter so we can write `(window-system VAL)' instead of (window-system (eql VAL)). (cl--generic-split-args): Apply the rewriter, if any. (frame-creation-function): Use the new syntax. * lisp/term/x-win.el (window-system-initialization) (handle-args-function, frame-creation-function) (gui-backend-set-selection, gui-backend-selection-owner-p) (gui-backend-selection-exists-p, gui-backend-get-selection): * lisp/term/w32-win.el (window-system-initialization) (handle-args-function, frame-creation-function) (gui-backend-set-selection, gui-backend-get-selection) (gui-backend-selection-owner-p, gui-backend-selection-exists-p): * lisp/term/pc-win.el (gui-backend-get-selection) (gui-backend-selection-exists-p, gui-backend-selection-owner-p) (gui-backend-set-selection, window-system-initialization) (frame-creation-function, handle-args-function): * lisp/term/ns-win.el (window-system-initialization) (handle-args-function, frame-creation-function) (gui-backend-set-selection, gui-backend-selection-exists-p) (gui-backend-get-selection): * lisp/startup.el (handle-args-function): * lisp/term/xterm.el (gui-backend-get-selection) (gui-backend-set-selection): Use the new syntax. 2015-10-29 Stefan Monnier * test/indent/css-mode.css: Add tests for url(...) syntax. 2015-10-29 Stefan Monnier * lisp/emacs-lisp/smie.el: Use `declare' for `pure'. (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2) (smie-prec2->grammar): Use `declare'. 2015-10-29 Stefan Monnier * lisp/emacs-lisp/cl-generic.el: Accommodate future changes. (cl--generic-generalizer): Add `name' field. (cl-generic-make-generalizer): Add corresponding `name' argument. (cl-generic-define-generalizer): New macro. (cl--generic-head-generalizer, cl--generic-eql-generalizer) (cl--generic-struct-generalizer, cl--generic-typeof-generalizer) (cl--generic-t-generalizer): Use it. (cl-generic-ensure-function): Add `noerror' argument. (cl-generic-define): Use it so we don't follow aliases. (cl-generic-define-method): Preserve pre-existing ordering of methods. (cl--generic-arg-specializer): New function. (cl--generic-cache-miss): Use it. (cl-generic-generalizers): Only fset a temporary definition during bootstrap. (cl--generic-struct-tag, cl--generic-struct-specializers): Allow extra arguments. * lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-generalizer) (eieio--generic-static-object-generalizer): Use cl-generic-define-generalizer. (eieio--generic-static-symbol-specializers): Allow extra arguments. * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer) (eieio--generic-subclass-generalizer): Use cl-generic-define-generalizer. (eieio--generic-subclass-specializers): Allow extra arguments. 2015-10-29 Stefan Monnier * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope. 2015-10-29 Michael Albinus Add "afp" method to Tramp * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method. * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method. (tramp-gvfs-handle-expand-file-name) (tramp-gvfs-handler-mounted-unmounted) (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec) (tramp-gvfs-maybe-open-connection): Support also "afp". (tramp-gvfs-handle-file-attributes): Handle the case of empty "owner::user" and "owner::group" entries. 2015-10-29 Andy Moreton Handle negative coordinates in ‘x_calc_absolute_position’ * src/w32term.c (x_calc_absolute_position): Find display origin to allow for negative coordinates. 2015-10-28 Stefan Monnier (internal--syntax-propertize): Save match-data here (bug#21766) * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data. * lisp/simple.el (delete-trailing-whitespace): Undo last change. 2015-10-28 Dmitry Gutov Don't require default-directory to end with a slash * doc/lispref/files.texi (Magic File Names): Document the change in unhandled-file-name-directory. * lisp/url/url-handlers.el (url-handler-unhandled-file-name-directory): Update accordingly. * src/buffer.c (default-directory): Update the docsting. * src/fileio.c (unhandled-file-name-directory): Default to calling `file-name-as-directory' (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html). 2015-10-28 Artur Malabarba * lisp/isearch.el: Delete some outdated comments. 2015-10-28 Vibhav Pant Fix eshell/clear not working if the output has a small line count * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the number of newlines to be inserted. This fixes the issue where eshell/clear wouldn't work if the prompt was not at the bottom of the window, and the output wasn't too long. 2015-10-28 Stefan Monnier * lisp/files.el (write-file): Use vc-refresh-state. * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state. * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state. 2015-10-28 Stefan Monnier * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations. (macroexp-unprogn): Make sure we never return an empty list. (macroexp-if): Remove unused (and unsafe) optimization. Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does occur occasionally. 2015-10-28 Juanma Barranquero Fix bug#21766 and add test * lisp/simple.el (delete-trailing-whitespace): Save match data when calling `skip-syntax-backward'. * test/automated/simple-test.el (simple-delete-trailing-whitespace): New test. 2015-10-28 Artur Malabarba * doc/lispref/sequences.texi (Sequence Functions): Fix typo. 2015-10-28 Paul Eggert * src/dispnew.c (init_display): Simplify overflow checking. 2015-10-28 Artur Malabarba * lisp/character-fold.el (character-fold-to-regexp): Fix case where string ends in space 2015-10-28 Artur Malabarba * lisp/emacs-lisp/seq.el (seq-mapn): New function. * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn. 2015-10-28 Artur Malabarba * lisp/character-fold.el: Make compatible with lax-whitespace. (character-fold-to-regexp): Rework internals to play nice with lax-whitespacing. When the user types a space, we want to match the table entry for ?\s, which is generally a regexp like "[ ...]". However, the `search-spaces-regexp' variable doesn't "see" spaces inside these regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to manually expose a space). Furthermore, the lax search engine acts on a bunch of spaces, not on individual spaces, so if the string contains sequential spaces like " ", we need to keep them grouped together like this: "\\( \\|[ ...][ ...]\\)". 2015-10-28 Artur Malabarba * lisp/isearch.el: Refactor momentary messages. (isearch--momentary-message): New function. (isearch-toggle-lax-whitespace, isearch-toggle-case-fold) (isearch-toggle-invisible): Use it. 2015-10-28 Artur Malabarba * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'. (isearch-define-mode-toggle): New macro. (isearch-toggle-invisible): Rename to `isearch-define-mode-toggle'. (isearch-toggle-case-fold, isearch-toggle-invisible) (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define with `isearch-define-mode-toggle'. 2015-10-28 Michael Albinus Avoid using `add-to-list' on a let-local var in tramp-smb.el * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun. * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it. 2015-10-28 Michael Albinus * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups' does not exist in XEmacs 21.4. 2015-10-28 Anders Lindgren Fixed OS X startup crash Input events started to arrive before ns_term_init() was finished. Solved by blocking input. This also seems to correct the "You can't open the application "Emacs" because it may be damaged or incomplete" error issued when double-clicking on the Emacs application. * src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input. * src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output. 2015-10-28 Artur Malabarba * src/process.c (Fget_buffer_process): Improve docstring. Document the fact that it doesn't return dead processes. 2015-10-28 Anders Lindgren Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame. * src/nsterm.h (struct ns_output): New flag, in_animation. * src/nsfns.m (Fx_create_frame): Initialize in_animation flag. * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set in_animation flag around call to "setVisible". Set new tool bar height before call to setVisible. * src/nsterm.m (x_set_window_size): Don't call [view setRow: andColumns:] as this fools the subsequent call to updateFrameSize from performing the real resize. (windowDidResize): Don't update anything when in_animation is non-zero. Trace output. * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar) (EmacsToolbar): * src/nsterm.m (x_set_window_size, updateFrameSize) ([EmacsView setRows: andColumns:]) 2015-10-28 Nicolas Petton * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro. 2015-10-28 Tassilo Horn Prettify TeX macros not ending in a word char * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Prettify macros which don't end in a word character. 2015-10-27 Dmitry Gutov Pipe Hg commit descriptions through 'tabindent' * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description through 'tabindent'. (vc-hg-log-view-mode): Set tab-width to 2 locally. (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html) 2015-10-27 Stefan Monnier * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var. (tramp-smb-handle-directory-files): Use `delete-dups'. * lisp/net/tramp.el (auto-save-file-name-transforms): Declare. 2015-10-27 Stefan Monnier * lisp/international/ccl.el: Use lexical-binding. (ccl-compile-if): Remove unused var `false-ic'. (ccl-compile-write-repeat): Remove unused var `i'. (ccl-compile-map-single): Remove unused var `id'. (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the dynamic var `ccl-code'. 2015-10-27 Stefan Monnier * lisp/json.el (json-new-object): Optimize trivial `list' call. 2015-10-27 Stefan Monnier * lisp/help.el: Fix bug with incorrect arglist string. (help-add-fundoc-usage): Don't mistake a mis-formatted string for a list. 2015-10-27 Stefan Monnier * lisp/gnus/gnus-topic.el: Silence some warnings. (gnus-topic-prepare-topic): Remove unused var `topic'. (gnus-topic-remove-topic): Mark unused arg `hide'. (gnus-tmp-header): Declare. (gnus-topic-goto-missing-group): Remove unused var `entry'. (gnus-topic-unmark-topic): Mark unused arg `dummy'. (gnus-topic-copy-matching): Mark unused arg `copyp'. Move initialization of `topic' into its declaration. 2015-10-27 Stephen Leake Minor CEDET fixes * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call): Handle warnings from gtags about invalid options. (cedet-gnu-global-create/update-database): Do incremental update properly. * lisp/cedet/ede/generic.el (ede-enable-generic-projects): Get monotone root right. 2015-10-27 Michael Albinus Fall back to polling in autorevert when needed * lisp/autorevert.el (auto-revert-notify-handler): When a `stopped' event arrives from file notification, fall back to polling. * test/automated/file-notify-tests.el (file-notify-test03-autorevert): Extend test for polling when file notification ceases to work. 2015-10-27 Dmitry Gutov Show full commit messages in 'hg log' when appropriate * lisp/vc/vc-hg.el (vc-hg-log-format): New variable. (vc-hg-print-log, vc-hg-expanded-log-entry): Use it. (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html) 2015-10-27 Nicolas Petton Use a plain SVG file for the icon * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG format instead of the Inkscape SVG format. 2015-10-27 Michael Albinus Fix subtle bug in auto-revert-tests.el * test/automated/auto-revert-tests.el (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages* buffer where it belongs to. (Bug#21668) 2015-10-26 Nicolas Petton * lisp/emacs-lisp/map.el: Better docstrings. * lisp/emacs-lisp/seq.el: Better docstrings. * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence. 2015-10-26 Phillip Lord * lisp/emacs-lisp/ert.el: Print results without newline escaping. 2015-10-26 Stephen Leake Clarify that load-path contents should be directory file names * doc/lispref/files.texi (Directory Names): Define and use "directory file name". Recommend `expand-file-name'. * src/lread.c (load-path): Fix doc string; elements are directory file names. 2015-10-26 Eli Zaretskii Fix simple-test.el test * test/automated/simple-test.el (simple-test--dummy-buffer): Make sure indentation doesn't use TABs, otherwise the 6th test might fail. 2015-10-26 Mark Oteiza * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width. `substring' does not account for full width characters. 2015-10-26 Michael Albinus Further work on `stopped' events in filenotify.el * doc/lispref/os.texi (File Notifications): Rework examples. * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter. (file-notify--rm-descriptor, file-notify-callback): Improve check for sending `stopped' event. (file-notify-add-watch): Check for more events for `inotify'. * test/automated/file-notify-tests.el (file-notify--test-expected-events): New defvar. (file-notify--test-with-events): Use it. (file-notify--test-cleanup): Make it more robust when deleting directories. (file-notify--test-event-test): Check also for watched directories. (file-notify--test-event-handler): Suppress temporary .#files. (file-notify-test02-events, file-notify-test04-file-validity): Rework `stopped' events. (file-notify-test05-dir-validity): Wait for events when appropriate. 2015-10-26 Artur Malabarba * src/keyboard.c (post-command-hook): Shorten docstring. 2015-10-26 Tassilo Horn Fix infinite loop in sh-script's SMIE code * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite loop (bug#21747). 2015-10-25 Artur Malabarba * lisp/isearch.el (search-default-regexp-mode): Revert to nil. Character-fold search _still_ doesn't play well with lax-whitespace. So disable it by default (again) for now. 2015-10-25 Artur Malabarba * lisp/isearch.el: No visual feedback for default search mode. During an isearch where character-folding is the default, we don't want to take up minibuffer space just to tell the user that "Char-fold " is on. The same goes for other modes, if the user changes the default. In contrast, if the user toggles OFF the default mode, they should see "Literal", to distinguish it from the default mode. (isearch--describe-regexp-mode): Return "" if describing the default mode, and return "literal " if describing a plain search and it is not default. 2015-10-25 Artur Malabarba * test/automated/simple-test.el: New file. Define tests for `newline' and `open-line'. 2015-10-25 Artur Malabarba * lisp/simple.el (open-line): Integrate with electric-indent-mode. Also run `post-self-insert-hook' when called interactively. 2015-10-25 Artur Malabarba * lisp/simple.el (open-line): Fix docstring. Also explain apparently redundant line. 2015-10-25 Thomas Fitzsimmons Alexandru Harsanyi Sync with soap-client repository, version 3.0.1 * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Bump version to 3.0.1. * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page. 2015-10-25 Eli Zaretskii * lisp/progmodes/grep.el (grep): Doc fix. (Bug#21754) 2015-10-25 Artur Malabarba * src/keyboard.c (post-command-hook): Extend the docstring. Mainly, explain how to use it without hanging Emacs, or giving the impression that it is hanging. Also mention `pre-command-hook'. (pre-command-hook): Mention `post-command-hook'. 2015-10-25 Artur Malabarba * lisp/custom.el (custom-declare-variable): Shorten code again. Without using pcase this time. We can't use pcase because it is loaded after custom in loadup.el. Also add a comment explaining this to future dummies like me. 2015-10-25 Michael Albinus * doc/lispref/os.texi (File Notifications): Document `stopped event'. 2015-10-25 Michael Albinus Introduce `stopped' event in file notification * lisp/filenotify.el (file-notify--rm-descriptor): New defun. (file-notify-rm-watch): Use it. (file-notify-callback): Implement `stopped' event. (file-notify-add-watch): Mention `stopped' in the docstring. Check, that upper directory exists. * test/automated/file-notify-tests.el (file-notify-test01-add-watch): Add two test cases. (file-notify-test02-events): Handle also `stopped' event. (file-notify-test04-file-validity): Add another test case. 2015-10-25 Paul Eggert Revert commit that broke 'make bootstrap' * lisp/custom.el (custom-declare-variable): Revert commit 79fac080d277fed07b3c192890ad59d36d9f83b6. custom.el needs to work even when pcase has not been defined yet, when doing bootstrapping. 2015-10-25 Paul Eggert Port recent inline functions fix to Standard C * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove. All uses rewritten to define the function directly rather than to use a macro to define the function. This conforms to Standard C, which does not allow stray semicolons at the top level. I hope it also avoids the problems with TAGS. Those macros, though clever, were pretty confusing anyway, and it wasn’t clear they were worth the aggravation even without the TAGS problem. 2015-10-24 Artur Malabarba * lisp/isearch.el: Make character-fold search the default again. 2015-10-24 Artur Malabarba * lisp/character-fold.el: Many improvements. (character-fold-search-forward, character-fold-search-backward): New command. (character-fold-to-regexp): Remove lax-whitespace hack. (character-fold-search): Remove variable. Only isearch and query-replace use char-folding, and they both have their own variables to configure that. 2015-10-24 Artur Malabarba * lisp/isearch.el: Generalize definition of regexp-function toggles. (isearch-specify-regexp-function): New macro for specifying possible values of `isearch-regexp-function'. (isearch-toggle-character-fold, isearch-toggle-symbol) (isearch-toggle-word): Define with `isearch-specify-regexp-function'. 2015-10-24 Artur Malabarba * lisp/isearch.el (search-default-regexp-mode): New variable. (isearch-mode): Use it. 2015-10-24 Artur Malabarba * lisp/isearch.el (search-exit-option, search-slow-window-lines) (search-slow-speed, search-upper-case) (search-nonincremental-instead, search-whitespace-regexp) (search-invisible, isearch-hide-immediately) (isearch-resume-in-command-history, search-ring-max) (regexp-search-ring-max, search-ring-update, search-highlight) (isearch-fail): Delete :group entries. 2015-10-24 Artur Malabarba * lisp/custom.el (custom-declare-variable): Shorten code a bit. 2015-10-24 Juanma Barranquero addpm.c: Silence some warnings. * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction to LPBYTE. (add_registry): Pass NULL to optional lpClass argument of RegCreateKeyEx, not an empty string. 2015-10-24 Juanma Barranquero addpm.c: Do not add obsolete GTK libraries to the path. * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete. (add_registry): Remove variables `size' and `gtk_key'. Do not add the GTK DLL directory to the library search path; it is confusing behavior (in particular, the same Emacs version with and without invoking addpm will use a different path), and the GTK image libraries are obsolete anyway. 2015-10-24 Juanma Barranquero addpm.c: Replace existing registry entries, but do not create new ones * nt/addpm.c (add_registry): If the Emacs registry key exists, replace existing values from previous versions, but do not add new ones; the key could exist for other reasons unrelated to old Emacsen, like X-style resources, or to set some environment variables like HOME or LANG, and in that case we don't want to populate it with obsolete values. 2015-10-24 Juanma Barranquero * nt/addpm.c (add_registry): Do not compute unused return value. 2015-10-24 Juanma Barranquero addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of RegOpenKeyEx, not REG_OPTION_NON_VOLATILE. This doesn't change current behavior because REG_OPTION_NON_VOLATILE is defined to be 0L anyway, but that option is actually documented only for RegCreateKeyEx. 2015-10-24 Juanma Barranquero * src/w32notify.c (Fw32notify_add_watch): Fix version check. 2015-10-24 Eli Zaretskii Update frame title when redisplay scrolls selected window * src/xdisp.c (redisplay_window): Reconsider the frame's title when the mode-line of the frame's selected window needs to be updated. 2015-10-24 Eli Zaretskii Update frame title when scrolling the selected window * src/window.c (wset_update_mode_line): New function, sets either the window's update_mode_line flag or the global update_mode_lines variable. (Fset_window_start, set_window_buffer, window_scroll_pixel_based) (window_scroll_line_based): Call it instead of only setting the window's update_mode_line flag. 2015-10-24 Eli Zaretskii An even better fix for bug#21739 * src/window.c (set_window_buffer): If the window is the frame's selected window, set update_mode_lines, not the window's update_mode_line flag. * src/buffer.c (Fkill_buffer): Undo last change. (set_update_modelines_for_buf): Function deleted. 2015-10-24 Thomas Fitzsimmons Alexandru Harsanyi Sync with soap-client repository, version 3.0.0 * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Bump version to 3.0.0. * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch. * lisp/net/soap-client.el: Merge in changes from Emacs master branch. * lisp/net/soap-inspect.el: Shorten first line description. * lisp/net/soap-client.el: Make a small whitespace fix. * lisp/net/soap-inspect.el: Update copyright years. * lisp/net/soap-client.el (soap-encoded-namespaces): Move above first use in soap-encode-xs-element. * lisp/net/soap-client.el (soap-type-is-array?): new defun (soap-encode-xs-element): handle array elements in this function (soap-encode-xs-complex-type): flag error if asked to encode an array type, this is handled in `soap-encode-xs-element' * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group): Do not print type for attribute group. * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group) New function. (soap-inspect-xs-attribute-group): Likewise. * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-attribute-group): Resolve references of attributes in an attribute group. * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute type directly, not through soap-wsdl-get. * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference nil if reference attribute is nil. * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute): Convert XML schema attributes to xsd:string. * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute): New function. (soap-sample-value-for-xs-simple-type): Prepend attributes to result. (soap-sample-value-for-xs-complex-type): Likewise. (soap-inspect-xs-attribute): New function. (soap-inspect-xs-simple-type): Print attributes. (soap-inspect-xs-complex-type): Likewise. * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type): Resolve references for attributes. (soap-resolve-references-for-xs-complex-type): Likewise. * lisp/net/soap-client.el (soap-xml-node-find-matching-child): Rename from soap-xml-node-first-child. (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child. (soap-xs-parse-simple-type): Likewise. * lisp/net/soap-client.el (soap-invoke-async): Add error checking. * lisp/net/soap-client.el (soap-invoke-internal): New function. (soap-invoke-async): Call soap-invoke-internal. (soap-invoke): Likewise. * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to url-retrieve callback is killed. * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node): Rename function. (soap-parse-wsdl-phase-fetch-imports): Likewise. (soap-parse-wsdl-phase-parse-schema): Likewise. (soap-parse-wsdl-phase-fetch-schema): Likewise. (soap-parse-wsdl-phase-finish-parsing): Likewise. (soap-parse-wsdl): Update calls. * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation. * lisp/net/soap-client.el (soap-invoke-async): New function. (soap-invoke): Reimplement using soap-invoke-async. * lisp/net/soap-client.el (soap-parse-server-response): Improve docstring. (soap-invoke): Inline call to soap-parse-server-response. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Prevent incorrect warning. * lisp/net/soap-client.el (soap-parse-server-response): Rename soap-process-url-response. Destroy the mime part. (soap-invoke): Call soap-parse-server-response. * lisp/net/soap-client.el: Update copyright date. * lisp/net/soap-client.el: Fix checkdoc issues. * lisp/net/soap-client.el: Fix indentation and long lines. * lisp/net/soap-client.el (soap-time-format): Remove variable. (soap-encode-xs-basic-type): Simplify date-time format detection. (soap-decode-xs-basic-type): Remove soap-time-format support. * lisp/net/soap-client.el (soap-process-url-response): New function. (soap-fetch-xml-from-url): Call soap-process-url-response. (soap-parse-wsdl-phase-1): New function. (soap-parse-wsdl-phase-2): Likewise. (soap-parse-wsdl-phase-3): Likewise. (soap-parse-wsdl-phase-4): Likewise. (soap-parse-wsdl-phase-5): Likewise. (soap-parse-wsdl): Call phase functions. * lisp/net/soap-client.el (soap-decode-xs-basic-type): Remove one-argument and call. * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring. * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable. (soap-parse-schema): Add wsdl argument. Look up XML schema imports from wsdl. (soap-load-wsdl): Do not set soap-xmlschema-imports. (soap-parse-wsdl): Get XML schema imports from wsdl. * lisp/net/soap-client.el (soap-current-file): Remove variable. (soap-wsdl): Add current-file slot. (soap-fetch-xml-from-url): Add wsdl argument. Look up current file from wsdl. (soap-fetch-xml-from-file): Likewise. (soap-fetch-xml): Likewise. (soap-load-wsdl): Always create wsdl object first. (soap-parse-wsdl): Pass wsdl to soap-fetch-xml. * lisp/net/soap-client.el (soap-xs-element): Add is-group slot. (soap-xs-parse-element): Set is-group slot. (soap-resolve-references-for-xs-element): Skip is-group elements. (soap-xs-complex-type): Add is-group slot. (soap-xs-parse-complex-type): Set is-group slot. (soap-xs-parse-sequence): Parse xsd:group elements. (soap-resolve-references-for-xs-complex-type): Inline elements from referenced xsd:group nodes. (soap-parse-schema): Parse xsd:group nodes. * lisp/net/soap-client.el (soap-invoke): Don't set url-http-version to 1.0. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Allow choice nodes to accept multiple values. * lisp/net/soap-client.el (soap-encode-body): Check parameters argument for extra header values. * lisp/net/soap-client.el (soap-well-known-xmlns): Add wsa and wsaw tags. (soap-operation): Add input-action and output-action slots. (soap-parse-operation): Parse wsaw:Action nodes. (soap-encode-body): Encode service-url for WS-Addressing. (soap-create-envelope): Likewise. (soap-invoke): Update soap-create-envelope call to provide service-url argument. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Support xsi:type override attribute. (soap-decode-array): Likewise. * lisp/net/soap-client.el (soap-parse-schema): Handle location attribute. * lisp/net/soap-client.el (soap-decode-type): Check that multiRef matched validation regexp. * lisp/net/soap-client.el (soap-encode-xs-simple-type): Encode xsd:list nodes. (soap-decode-xs-simple-type): Decode xsd:list nodes. * lisp/net/soap-client.el (soap-get-candidate-elements): Fix reference handling. * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot. (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes. (soap-xs-add-list): New function. * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is expected, interpret nil as "false". * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth, gYear, gMonthDay, gDay and gMonth. * lisp/net/soap-client.el (soap-time-format): New variable. (soap-encode-xs-basic-type): Handle dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay and gMonth. (soap-decode-date-time): New function. (soap-decode-xs-basic-type): Use soap-decode-date-time. * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value after encoding. (soap-decode-xs-basic-type): Validate value before decoding. * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function. (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type. * lisp/net/soap-client.el (soap-xs-add-union): Append result to base instead of overwriting it. (soap-validate-xs-simple-type): Add union support. * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern to Emacs regexp using xsdre-translate. (soap-validate-xs-simple-type): Validate value against pattern. * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of inline simpleType nodes. (soap-decode-type): Handle union types. * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type attributes. * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename from soap-xs-attribute-group-consolidate, all callers updated (soap-get-xs-attributes): Rename from soap-xs-attributes-consolidate, all callers updated * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot. (soap-xs-attribute-group): New type. (soap-xs-parse-attribute-group): New function. (soap-resolve-references-for-xs-attribute-group): Likewise. (soap-xs-add-extension): Handle attribute groups. (soap-resolve-references-for-xs-simple-type): Likewise. (soap-xs-parse-complex-type): Likewise. (soap-xs-parse-extension-or-restriction): Likewise. (soap-resolve-references-for-xs-complex-type): Likewise. (soap-xs-attribute-group-consolidate): New function. (soap-xs-attributes-consolidate): Handle attribute groups. (soap-parse-schema): Likewise. * lisp/net/soap-client.el (soap-encode-xs-basic-type): Fix boolean encoding. * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref element names in warnings. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Eliminate invalid warnings for choice types. * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes): Also encode base type attributes. * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation warning. Print e-name in warnings, or element if e-name is nil. * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot. (soap-xs-parse-element): Set substitution-group. (soap-resolve-references-for-xs-element): Populate alternatives slot. (soap-get-candidate-elements): New function. (soap-encode-xs-complex-type): Iterate through all candidate elements. Handle types with nil type indicator. Fix warning logic. * lisp/net/soap-client.el (soap-current-wsdl): Move declaration earlier in the file to prevent compiler warning. * lisp/net/soap-client.el (soap-node-optional): New function. (soap-node-multiple): Likewise. (soap-xs-parse-element): Call soap-node-optional and soap-node-multiple. (soap-xs-complex-type): Add optional? and multiple? slots. (soap-xml-get-children-fq): New function. (soap-xs-element-get-fq-name): Likewise. (soap-xs-complex-type-optional-p): Likewise. (soap-xs-complex-type-multiple-p): Likewise. (soap-xs-attributes-consolidate): Likewise. (soap-decode-xs-attributes): Likewise. (soap-decode-xs-complex-type): Decode types with nil type indicator. Support children that use local namespaces. Decode attributes. Add type considerations to optional? and multiple? warnings. * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction): Store parsed attributes. (soap-encode-xs-complex-type-attributes): Encode custom attributes. * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes): Don't add the xsi:type attribute (Exchange refuses requests which have this attribute). * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding, correct compiler warnings about unused function arguments and local variables. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil type indicator. (soap-parse-envelope): Handle response headers. (soap-parse-response): Likewise. Only return non-nil decoded values. * lisp/net/soap-client.el (soap-validate-xs-simple-type): Return validated value. * lisp/net/soap-client.el (soap-xs-parse-element) (soap-xs-parse-simple-type) (soap-xs-parse-complex-type) (soap-parse-message) (soap-parse-operation): Add the current namespace to the element being created. (soap-resolve-references-for-xs-element) (soap-resolve-references-for-xs-simple-type) (soap-resolve-references-for-xs-complex-type) (soap-resolve-references-for-operation): Resolve the namespace to the namespace tag. (soap-make-wsdl): specify a namespace tag when creating the xsd and soapenc namespaces (soap-wsdl-resolve-references): don't update namespace tags in elements here (soap-parse-port-type): bind the urn: to soap-target-xmlns (soap-encode-body): don't add nil namespace tags to soap-encoded-namespaces * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object for registering the soap-inspect method. Make debbugs tests pass. * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the type name, also skip string only nodes when decoding a structure. (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice types too. (soap-encode-body): Grab the header value from the param table. * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element): New function. (soap-encode-xs-element): Don't encode nil value unless needed. * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`. (soap-parse-binding): Parse the message parts required in the body. (soap-encode-body): Encode only the parts that are declared to be part of the body. * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name when writing out the tag. (soap-encode-body): Remove hack that inserts the xmlns in the element attributes list. * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot. (soap-xs-parse-attribute): Default slot is set from the XML "fixed" attribute. (soap-encode-xs-complex-type-attributes): Encode any attributes that have a default value. Also, don't put the xsi:nil attribute when the complex type has no content anyway. * lisp/net/soap-client.el (soap-well-known-xmlns): Add the xml namespace. (soap-local-xmlns): Start with the xml namespace. (soap-xml-node-first-child): Skip xsd:annotation nodes too. (soap-make-xs-basic-types): More xsd types added. (soap-encode-xs-basic-type, soap-decode-xs-basic-type): Handle "language", "time", "date", "nonNegativeInteger". (soap-resolve-references-for-xs-element): Don't signal an error if the element does not have a type. (soap-xs-parse-simple-type): Subtypes are handled with ecase, added stum for xsd:list. (soap-xs-add-union): Call soap-l2fq on all union members. (soap-xs-add-extension): Call soap-l2fq on the base member. (soap-resolve-references-for-xs-simple-type): Don't signal an error if the simple type has no base. (soap-resolve-references-for-xs-simple-type): Bugfix, call soap-wsdl-get on each type of the base. * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute): Referenced type can be eiher a simple type or a basic type. (soap-xs-add-restriction) (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base. (soap-make-xs-basic-types) (soap-encode-xs-basic-type, soap-decode-xs-basic-type): Add support for more XMLSchema basic types. (soap-current-file, soap-xmlschema-imports): New defvars. (soap-parse-schema): Add locations from xsd:import tags to `soap-xmlschema-imports'. (soap-wsdl): Make destructor private. (soap-make-wsdl): New defun, SOAP-WSDL object constructor. (soap-wsdl-add-alias): Check if we try to replace aliases. (soap-fetch-xml-from-url, soap-fetch-xml-from-file) (soap-fetch-xml): New defuns. (soap-load-wsdl): Update to load the WSDL from either a file or an url. (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'. (soap-parse-wsdl): Process wsdl:import tags and imports from `soap-xmlschema-imports'. * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of symbol-name. (soap-l2fq): Make the name part always a string. (soap-name-p): New defun, used for name tests. * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type): Supply sample values for choice types with a special tag. * lisp/net/soap-client.el (soap-encode-xs-complex-type): Handle anonymous elements correctly. (soap-encode-value): Accept nodes that have no namespace tag. * lisp/net/soap-client.el (soap-invoke): Encode the string for `url-request-data' as UTF-8. Fixes issue 16. 2015-10-24 Nicolas Petton Update the new icon Move the E slightly to the right in the circle. * etc/images/icons/hicolor/128x128/apps/emacs.png: * etc/images/icons/hicolor/16x16/apps/emacs.png: * etc/images/icons/hicolor/24x24/apps/emacs.png: * etc/images/icons/hicolor/32x32/apps/emacs.png: * etc/images/icons/hicolor/48x48/apps/emacs.png: * etc/images/icons/hicolor/scalable/apps/emacs.svg: * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns: * nt/icons/emacs.ico: New icom update. 2015-10-24 Eli Zaretskii Avoid missing inline functions from lisp.h in TAGS * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the need to end each invocation with a semi-colon. Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN and LISP_MACRO_DEFUN_VOID. This is to avoid missing in TAGS inline functions defined immediately after each invocation, and also avoid tagging every invocation of these macros. 2015-10-24 Eli Zaretskii A better fix for bug#21739 * src/buffer.c (set_update_modelines_for_buf): New function. (Fkill_buffer): Use it to set the global variable update_mode_lines if the killed buffer was displayed in some window. Don't set windows_or_buffers_changed. This is a better fix for bug#21739 than the previous fix, since it will cause only redisplay of mode lines, not of entire windows, but will still catch attention of x_consider_frame_title in xdisp.c, which redraws the frame title. 2015-10-24 Tassilo Horn * lisp/dired-aux.el (dired-compress-files-alist): Add support for tar.bz2 and tar.xz archives. 2015-10-23 Eli Zaretskii Fix infloop in redisplay introduced by a recent change * src/xdisp.c (redisplay_internal): Avoid inflooping when redisplaying the selected window sets the selected frame's redisplay flag. (Bug#21745) 2015-10-23 Nicolas Petton * lisp/emacs-lisp/thunk.el: Better documentation. 2015-10-23 Nicolas Petton Replace the old icon for Windows and Mac OSX * nt/icons/emacs.ico: * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns: Use the new icons. 2015-10-23 Stephen Leake * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file): `load-path' should contain only directory names. 2015-10-23 Nicolas Petton New library thunk.el thunk.el is extracted from stream.el in ELPA, with additional tests. * lisp/emacs-lisp/thunk.el: New file. * test/automated/thunk-tests.el: New file. * etc/NEWS: Add information about thunk.el 2015-10-23 Michael Albinus Fix bug#21669 * lisp/filenotify.el (file-notify-rm-watch): Improve check for calling low-level functions. * test/automated/file-notify-tests.el (file-notify--test-timeout): Decrase to 6 seconds for remote directories. (file-notify-test02-events): Expect different number of `attribute-changed' events for the local and remote cases. Apply short delays between the operations, in order to receive all events in the remote case. Combine `attribute-change' tests. (Bug#21669) 2015-10-23 Eli Zaretskii Decode the HTML source when displaying it in EWW * lisp/net/eww.el (eww-view-source): Decode the HTML source according to its headers. 2015-10-23 Nicolas Petton New default icon * etc/images/icons/hicolor/128x128/apps/emacs23.png: * etc/images/icons/hicolor/16x16/apps/emacs23.png: * etc/images/icons/hicolor/24x24/apps/emacs23.png: * etc/images/icons/hicolor/32x32/apps/emacs23.png: * etc/images/icons/hicolor/48x48/apps/emacs23.png: * etc/images/icons/hicolor/scalable/apps/emacs23.svg: * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg: Move the old logo files to emacs23.*. * etc/images/icons/hicolor/128x128/apps/emacs.png: * etc/images/icons/hicolor/16x16/apps/emacs.png: * etc/images/icons/hicolor/24x24/apps/emacs.png: * etc/images/icons/hicolor/32x32/apps/emacs.png: * etc/images/icons/hicolor/48x48/apps/emacs.png: * etc/images/icons/hicolor/scalable/apps/emacs.svg: * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg: New files. * etc/images/icons/README: Update the copyright information. 2015-10-23 Eli Zaretskii Fix redisplay of frame title when current buffer is killed * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a non-zero value, to redisplay more than just the affected windows. (Bug#21739) 2015-10-23 Anders Lindgren NextStep maximization and NSTRACE rewrite Full-height, full-width, and maximized windows now cover the entire screen (except the menu bar), including the part where the system dock is placed. The system zoom animation is no longer used. Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the original size. * src/nsterm.m (ns_menu_bar_height): New function, return height of the menu bar, or 0 when it's hidden. (constrain_frame_rect): New function for constraining a frame. (ns_constrain_all_frames): Set frame size explicitly rather than relying on the system doing it for us by writing back the current frame size. (windowWillUseStandardFrame): Register non-maximized width or height as new user size. When entering full width or height, the other size component is taken from the user size. (fullscreenState): New method for accessing the fullscreen state. (constrainFrameRect): Restrict frame to be placed under the menu bar, if present. The old version, sometimes, restricted the height of a frame to the screen, this version never does this. (zoom): Perform zoom by setting the frame to the full size of the screen (minus the menu bar). The default system function, with the zoom animation, is no longer used, as the final frame size doesn't cover the entire screen. Rework how to constrain resizing to the character grid. The old system used "resizeIncrements" in NSWindows. However, once a frame was resized so that it was not aligned to the text grid, it remained unaligned even after a resize. In addition, it conflicted when resizing a fullheight window. * src/nsterm.m (windowWillResize): Restrict frame size to text grid, unless when pixelwise frame resizing is enabled. (updateFrameSize, initFrameFromEmacs) (toggleFullScreen, handleFS): Don't set resizeIncrements. Redesign the NS trace system. The call structure is represented using indentations and vertical lines. The NSTRACE macro accepts printf-style arguments. New macros for printing various information. * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system. (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new block (typically a function), accept printf-style arguments. (NSTRACE_MSG): Macro for extra information, accepts printf-style arguments. (NSTRACE_what): Macros for printing various types. (NSTRACE_FMT_what): Macro with printf format string snippets. (NSTRACE_ARG_what): Macros for passing printf-style arguments, corresponds to NSTRACE_FMT_what. (NSTRACE_RETURN): Macro to print return value, accept printf-style arguments. (NSTRACE_RETURN_what): Macros to print return value for various types. * src/nsterm.m: Remove old NSTRACE macro * src/nsterm.m (nstrace_num): Trace counter. (nstrace_depth): Current call depth. (nstrace_leave): NSTRACE support function, called when the local variable "nstrace_enabled" goes out of scope using the "cleanup" extension. (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function. (constrain_frame_rect, ns_constrain_all_frames) (ns_update_auto_hide_menu_bar, ns_update_begin) (ns_update_window_begin, update_window_end, ns_update_end) (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower) (ns_frame_rehighlight, x_make_frame_visible) (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources) (x_destroy_window, x_set_offset, x_set_window_size) (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp) (ns_defined_color, frame_set_mouse_pixel_position) (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date) (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars) (ns_clear_frame, ns_clear_frame_area, ns_scroll_run) (ns_after_update_window_line, ns_shift_glyphs_for_insert) (dumpcursor, ns_draw_vertical_window_border) (ns_draw_window_divider, ns_draw_relief) (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background) (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined) (ns_read_socket, ns_select, ns_set_vertical_scroll_bar) (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars) (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal) (ns_create_terminal, ns_term_init, sendEvent) (applicationDidFinishLaunching, applicationDidBecomeActive) (timeout_handler, fd_handler, EmacsView_dealloc, changeFont) (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown) (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp) (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved) (mouse_autoselect_window, in_window, mouseDragged) (rightMouseDragged, otherMouseDragged, windowShouldClose) (updateFrameSize, windowWillResize, windowDidResize) (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize) (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize) (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen) (windowDidEnterFullScreen, windowWillExitFullScreen) (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue) (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect) (draggingEntered, performDragOperation, validRequestorForSendType) (setMiniwindowImage, constrainFrameRect, performZoom, zoom) (EmacsScroller_initFrame, EmacsScroller_setFrame) (EmacsScroller_dealloc, condemn, reprieve, judge) (resetCursorRects, setPosition, EmacsScroller_mouseDown) (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system. * src/nsfns.m: Remove old NSTRACE macro * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name) (x_implicitly_set_name, x_set_title, ns_set_name_as_filename) (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system. * src/nsimage.m: Remove old NSTRACE macro * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM) (ns_image_from_bitmap_file, ns_load_image): Use new trace system. * src/nsmenu.m: Remove old NSTRACE macro * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): Use new trace system. 2015-10-22 Katsumi Yamaoka No need to use eval-and-compile * lisp/gnus/auth-source.el: Do require epg (when compiling) before autoload epg functions. 2015-10-22 Katsumi Yamaoka Fix auth-source-epa-make-gpg-token compilation (bug#21724) * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for epg-context-set-passphrase-callback, epg-decrypt-string, and epg-encrypt-string; require epg when compiling for the setf-method for epg-context-armor. (bug#21724) 2015-10-22 Eli Zaretskii Include file cleanup for w32 files in src directory * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h, fontset.h, blockinput.h. * src/w32uniscribe.c: Don't include dispextern.h, character.h, charset.h, fontset.h. * src/w32term.c: Don't include systty.h, systime.h, charset.h, character.h, ccl.h, dispextern.h, disptab.h, intervals.h, process.h, atimer.h, keymap.h, w32heap.h. Include bitmap/gray.xbm in an ifdef-ed away block. Include fcntl.h for CYGWIN. (set_frame_param): Remove unused function. * src/w32select.c: Don't include charset.h and composite.h. (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings due to pointer signedness mismatches. * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings due to pointer signedness mismatches. * src/w32proc.c: Include unistd.h. Don't include systime.h, process.h, dispextern.h. (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name) (Fw32_application_type): Avoid compiler warnings due to pointer signedness mismatches. * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h, character.h, charset.h, dispextern.h. (simple_dialog_show, add_menu_item): Avoid compiler warnings due to pointer signedness mismatches. * src/w32inevt.c: Don't include dispextern.h, window.h, termhooks.h, w32heap.h. * src/w32font.c: Don't include dispextern.h, character.h, charset.h, fontset.h, font.h. (intern_font_name, add_font_entity_to_list) (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont) (list_all_matching_fonts): Avoid compiler warnings due to pointer signedness mismatches. * src/w32fns.c: Don't include character.h, intervals.h, dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h, termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h. (w32_color_map_lookup, add_system_logical_colors_to_map) (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p) (Fxw_color_values, x_display_info_for_name, Fset_message_beep) (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash) (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid compiler warnings, mainly due to pointer signedness mismatches. (unwind_create_frame_1): Remove unused function. * src/w32console.c: Don't include character.h, disptab.h, frame.h, window.h, termhooks.h, dispextern.h. (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer signedness mismatch. * src/w32.c: Include c-strcase.h and systty.h. Don't include w32heap.h. 2015-10-22 Tassilo Horn Improve doc-view wrt. auto-revert-mode * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file is corrupted (bug#21729). (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function. 2015-10-22 Oleh Krehel Describe dired-do-compress-to in the manual * etc/NEWS: Update. * lisp/dired-aux.el: Fix typo. * doc/emacs/dired.texi: Add entry. 2015-10-22 Jürgen Hötzel Further fix for proper locale handling in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): Just suppress LC_MESSAGES locale category settings. 2015-10-21 Paul Eggert New lispref section “Security Considerations” This attempts to document some of the issues recently discussed on emacs-devel, and to indicate other such issues. The section could be a lot longer. * doc/lispref/os.texi (Security Considerations): New node. * doc/lispref/elisp.texi (Top): * doc/lispref/processes.texi (Shell Arguments): * lisp/subr.el (shell-quote-argument): * src/callproc.c (syms_of_callproc): Reference it. 2015-10-21 Paul Eggert Merge from gnulib This incorporates: 2015-10-18 stdalign: work around pre-4.9 GCC x86 bug 2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c: Copy from gnulib. 2015-10-21 Katsumi Yamaoka * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks. (mailcap-viewer-passes-test): Do it instead. Thanks to Stefan Monnier. 2015-10-21 Ken Brown Further include-file cleanup * src/sheap.c: Include stdlib.h. * src/unexcw.c: Include string.h. 2015-10-21 Eli Zaretskii Fix logic in 'server-kill-emacs-query-function' * lisp/server.el (server-kill-emacs-query-function): Correct the logic that controls whether the user is asked for confirmation. (Bug#21723) 2015-10-21 Artur Malabarba * lisp/isearch.el (isearch-search-fun-default): Simplify logic. (isearch--lax-regexp-function-p): New function. 2015-10-21 Artur Malabarba * lisp/isearch.el: Support lax-whitespace in regexp-function searches. (isearch-search-fun-default): Let-bind `search-spaces-regexp' around `isearch-regexp-function'. 2015-10-21 Artur Malabarba * lisp/isearch.el: Rename word search to regexp-function search. `isearch-word' went well beyond its original purpose, and the name no longer makes sense. It is now called `isearch-regexp-function', and its value should always be a function that converts a string to a regexp (though setting it to t is still supported for now). (isearch-word): Make obsolete. (isearch-regexp-function): New variable. (isearch-mode, isearch-done, isearch--state, isearch--set-state) (with-isearch-suspended, isearch-toggle-regexp) (isearch-toggle-word, isearch-toggle-symbol) (isearch-toggle-character-fold, isearch-query-replace) (isearch-occur, isearch-highlight-regexp) (isearch-search-and-update, isearch-message-prefix) (isearch-search-fun-default, isearch-search) (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): Use it. (isearch-lazy-highlight-regexp-function): New var. (isearch-lazy-highlight-word): Make obsolete. (isearch--describe-regexp-mode): New function. (isearch--describe-word-mode): Make obsolete. * lisp/info.el (Info-isearch-search): * lisp/replace.el (replace-search, replace-highlight): * lisp/obsolete/longlines.el (longlines-search-function): * lisp/hexl.el (hexl-isearch-search-function): * lisp/cedet/semantic/senator.el (senator-isearch-search-fun): Use the new var. 2015-10-21 Oleh Krehel Add dired-do-compress-to command bound to "c" * lisp/dired-aux.el (dired-shell-command): Use the caller's `default-directory', return the result of `process-file'. (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't used by default. (dired-compress-files-alist): New defvar. (dired-do-compress-to): New command. * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c". (dired-do-compress-to): Add an autoload entry. * etc/NEWS: Add two entries. 2015-10-21 Tassilo Horn Make RefTeX work with LaTeX subfiles package * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles document class argument as master file for referencing purposes. 2015-10-21 Katsumi Yamaoka * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix. 2015-10-20 Paul Eggert Include-file cleanup for src directory Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707). In a few cases, add ‘#include "foo.h"’ if the file needs foo.h but does not include it directly. As a general rule, a source file should include foo.h if it needs the interfaces that foo.h defines. * src/alloc.c: Don’t include process.h. Include dispextern.h, systime.h. * src/atimer.c: Don’t include blockinput.h. * src/buffer.c: Include coding.h, systime.h. Don’t include keyboard.h, coding.h. * src/callint.c: Don’t include commands.h, keymap.h. * src/callproc.c: Don’t include character.h, ccl.h, composite.h, systty.h, termhooks.h. * src/casetab.c: Don’t include character.h. * src/category.c: Don’t include charset.h, keymap.h. * src/ccl.h: Don’t include character.h. * src/character.c: Don’t include charset.h. * src/charset.c: Don’t include disptab.h. * src/chartab.c: Don’t include ccl.h. * src/cm.c: Don’t include frame.h, termhooks.h. * src/cmds.c: Don’t include window.h, dispextern.h. * src/coding.c: Don’t include window.h, frame.h. * src/composite.c: Include composite.h. Don’t include window.h, font.h. * src/data.c: Don’t include syssignal.h, termhooks.h, font.h. * src/dbusbind.c: Don’t include frame.h. * src/decompress.c: Don’t include character.h. * src/dired.c: Don’t include character.h, commands.h, charset.h. * src/dispnew.c: Don’t include character.h, indent.h, intervals.h, process.h, timespec.h. Include systime.h. * src/doc.c: Include coding.h. Don’t include keyboard.h. * src/editfns.c: Include composite.h. Don’t include frame.h. * src/emacs.c: Include fcntl.h, coding.h. Don’t include commands.h, systty.h.. * src/fileio.c: Don’t include intervals.h, dispextern.h. Include composite.h. * src/filelock.c: Don’t include character.h, systime.h. * src/fns.c: Don’t include time.h, commands.h, keyboard.h, keymap.h, frame.h, blockinput.h, xterm.h. Include composite.h. * src/font.c: Include termhooks.h. * src/font.h: Don’t include ccl.h, frame.h. Add forward decls of struct composition_it, struct face, struct glyph_string. * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h, intervals.h, window.h, termhooks.h. * src/frame.c: Don’t include character.h, commands.h, font.h. * src/frame.h: Don’t include dispextern.h. * src/fringe.c: Don’t include character.h. * src/ftcrfont.c: Don’t include dispextern.h, frame.h, character.h, charset.h, fontset.h. * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h, fontset.h. * src/ftxfont.c: Don’t include dispextern.h, character.h, charset.h, fontset.h. * src/gfilenotify.c: Don’t include frame.h, process.h. * src/gtkutil.c: Include dispextern.h, frame.h, systime.h. Don’t include syssignal.h, buffer.h, charset.h, font.h. * src/gtkutil.h: Don’t include frame.h. * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h. Don’t include character.h. * src/indent.c: Don’t include keyboard.h, termchar.h. * src/inotify.c: Don’t include character.h, frame.h. * src/insdel.c: Include composite.h. Don’t include blockinput.h. * src/intervals.c: Don’t include character.h, keyboard.h. * src/intervals.h: Don’t include dispextern.h, composite.h. * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h. Include coding.h. * src/keyboard.h: Don’t incldue systime.h. * src/keymap.c: Don’t include charset.h, frame.h. * src/lread.c: Include dispextern.h and systime.h. Don’t include frame.h. Include systime.h. * src/macros.c: Don’t include commands.h, character.h, buffer.h. * src/menu.c: Include character.h, coding.h. Don’t include dispextern.h. * src/menu.h: Don’t include systime.h. * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h, intervals.h, termhooks.h. * src/print.c: Include coding.h. Don’t include keyboard.h, window.h, dispextern.h, termchar.h, termhooks.h, font.h. Add forward decl of struct terminal. * src/process.c: Don’t include termhooks.h, commands.h, dispextern.h, composite.h. * src/region-cache.c: Don’t include character.h. * src/scroll.c: Don’t include keyboard.h, window.h. * src/search.c: Don’t include category.h, commands.h. * src/sound.c: Don’t include dispextern.h. * src/syntax.c: Don’t include command.h, keymap.h. * src/sysdep.c: Don’t include window.h, dispextern.h. * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’, * src/term.c: Don’t include systty.h, intervals.h, xterm.h. * src/terminal.c: Include character.h. Don’t include charset.h, coding.h. * src/textprop.c: Don’t include character.h. * src/undo.c: Don’t include character.h, commands.h, window.h. * src/unexsol.c: Don’t include character.h, charset.h. * src/widget.c: Include widget.h. Don’t include keyboard.h, window.h, dispextern.h, blockinput.h, character.h, font.h. * src/widgetprv.h: Don’t include widget.h. * src/window.c: Don’t include character.h, menu.h, intervals.h. * src/xdisp.c: Include composite.h, systime.h. Don’t include macros.h, process.h. * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h, intervals.h. * src/xfns.c: Don’t include menu.h, character.h, intervals.h, epaths.h, fontset.h, systime.h, atimer.h, termchar.h. * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h. * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h. * src/xgselect.c: Don’t include timespec.h, frame.h. Include systime.h. * src/xgselect.h: Don’t include time.h. Use a forward decl to struct timespec instead. * src/xmenu.c: Don’t include keymap.h, character.h, charset.h, dispextern.h. Include systime.h. * src/xml.c: Don’t include character.h. * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h. * src/xselect.c: Don’t include dispextern.h, character.h, buffer.h, process.h. * src/xsmfns.c: Don’t include systime.h, sysselect.h. * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h, intervals.h process.h, keymap.h, xgselect.h. Include composite.h. 2015-10-20 Paul Eggert (/ N) now returns the reciprocal of N This is more compatible with Common Lisp and XEmacs (Bug#21690). See: http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb) (color-xyz-to-srgb, color-xyz-to-lab): * lisp/emacs-lisp/cl-extra.el (cl-float-limits): * lisp/net/shr-color.el (shr-color-hue-to-rgb) (shr-color-hsl-to-rgb-fractions): Exploit the change to simplify the code a bit. * lisp/emacs-lisp/bytecomp.el (byte-compile-quo): Don’t complain about single-argument calls to ‘/’. * src/data.c (arith_driver, float_arith_driver): Implement the change. 2015-10-20 Dmitry Gutov Call vc-dir-refresh after stash operations * lisp/vc/vc-git.el (vc-git-stash-apply-at-point) (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960). * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well, since it can be abbreviated (as returned by vc-find-root). 2015-10-20 Dmitry Gutov * lisp/vc/vc-svn.el: * lisp/vc/vc-mtn.el: * lisp/vc/vc-hg.el: * lisp/vc/vc-cvs.el: * lisp/vc/vc-git.el: * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore. Its usages have been replaced with vc-run-delayed. 2015-10-20 Dima Kogan Fix memory leak in fontset handling * src/font.c (copy_font_spec): Make a deep copy of the input argument FONT. (Bug#21651) 2015-10-20 Michael Sperber * lisp/gnus/mailcap.el (mailcap-mime-data): Conditonalize `doc-view-mode', which does not exist on XEmacs. 2015-10-20 Oleh Krehel Update the way directories are compressed * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe for *.tar.gz decompression to use a pipe. Add an entry for the default directory compression (to *.tar.g). (dired-compress-file): Update. See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html. 2015-10-20 Michael Sperber Unbreak `group' option for `mail-sources' * lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan): * lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group) (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'. 2015-10-19 Nicolas Petton New function seq-position * lisp/emacs-lisp/seq.el (seq-position): New function. * test/automated/seq-tests.el: New tests for seq-position. * doc/lispref/sequences.texi: Add documentation for `seq-position'. 2015-10-19 Ken Brown Enable --with-wide-int build on 32-bit Cygwin * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86 and x86_64 to enable --with-wide-int build on 32-bit Cygwin. 2015-10-19 Glenn Morris * doc/emacs/ack.texi (Acknowledgments): Small, sad, update. 2015-10-19 Eli Zaretskii Resurrect image loading under auto-image-file-mode * src/image.c (x_find_image_fd): Handle the case of -2 returned by 'openp' specially. This special case was lost in the changes on 2015-08-18. (Bug#21685) 2015-10-19 Eli Zaretskii Fix return value of 'set-file-extended-attributes' * lisp/files.el (set-file-extended-attributes): Return non-nil when setting either ACLs or SELinux context succeeds. Document the return value. (Bug#21699) * doc/lispref/files.texi (Changing Files): Document the return value of set-file-extended-attributes. 2015-10-19 Eli Zaretskii Improve documentation of functions that change files * doc/lispref/files.texi (Changing Files): Document that these functions signal an error on failure. 2015-10-18 Eli Zaretskii Fix doc string of 'shell-quote-argument' * lisp/subr.el (shell-quote-argument): Doc fix. (Bug#21702) 2015-10-18 Michael Albinus Some minor Tramp changes * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning. * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): Expand `tramp-auto-save-directory'. 2015-10-18 Michael Albinus Minor edits in Tramp * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp): Declare it. * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp): Remove declaration. 2015-10-17 Mark Oteiza * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list. 2015-10-17 Eli Zaretskii Avoid crashes when redisplayng a window changes faces or fonts * src/xdisp.c (redisplay_internal): If redisplaying the selected window or one of the frames turns on the frame's 'redisplay' flag, redisplay again. (Bug#21428) * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag. 2015-10-17 Michael Albinus Solve timimg issues in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify-test02-events): Rectify `attribute-change' tests. There are timing issues with gfilenotify. (Bug#21669) 2015-10-16 Paul Eggert Fix quoting of data within htmlfontify doc * doc/misc/htmlfontify.texi (Data Structures, Customization): Fix quoting of data structures. A Lisp quote is needed only when data appears within Lisp code. 2015-10-16 Artur Malabarba * lisp/emacs-lisp/package.el: Reload archive-contents if priorities change. (package--old-archive-priorities): New variable. (package-read-all-archive-contents, package-menu--refresh): Use it to decide when the `package-archive-contents' needs to be read again. 2015-10-16 Paul Eggert Make src headers idempotent and standalone Redo src/*.h so that each include file is idempotent (that is, can be included multiple times with the latter inclusions having no effect) and standalone (that is, can be included by itself, with no include file other than config.h needed as a prerequisite). This is standard practice in GNU programs nowadays. * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h: * src/charset.h, src/coding.h, src/commands.h, src/disptab.h: * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h: * src/regex.h [emacs]: * src/syntax.h, src/systty.h, src/termhooks.h: Include lisp.h, for Lisp_Object. * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h: * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h: * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h: * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h: * src/termopts.h, src/tparam.h, src/unexec.h: Protect against multiple inclusion. * src/buffer.h: Include character.h, for STRING_CHAR. * src/emacsgtkfixed.h (struct frame): * src/fontset.h (struct face): * src/region-cache.h (struct buffer): * src/termhooks.h (struct glyph): * src/xsettings.h (struct x_display_info): Add possibly-forward decl. * src/syntax.h: Include buffer.h, for BVAR. * src/sysselect.h: Include lisp.h, for eassume. * src/termchar.h: Include , for FILE. * src/widget.h: Include , for Widget. * src/xsettings.h: Include , for XEvent. 2015-10-16 Jürgen Hötzel Handle symlink targets containing spaces in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): Handle symlink targets containing spaces. 2015-10-16 Artur Malabarba * lisp/custom.el (custom-theme-load-path): Demote to defvar. `custom-theme-load-path' was a defcustom, but it shouldn't be for the same reason that `load-path' shouldn't. Setting it via the customize interface is a trap for the user. Installed themes commonly add themselves to this variable, which means its value is not fit for being saved (it will permanently remember dirs that don't exist anymore). This is aggravated by the fact that Emacs always applies the `user' theme on top of any theme that's loaded, since this will apply the old variable value and remove any new directories that had been recently added by themes themselves. Not to mention, we already have `custom-theme-directory', which is safe to customize. 2015-10-16 Stefan Monnier * lisp/mpc.el: Rename the new toggling commands. (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single) (mpc-toggle-shuffle): Add "-toggle" in the name. 2015-10-16 Eli Zaretskii Improve the doc string of 'completion-boundaries' * lisp/minibuffer.el (completion-boundaries): Rename the argument TABLE to COLLECTION, for consistency with other high-level completion functions. Document how COLLECTION is called if it is a function. (Bug#21644) 2015-10-16 Oleh Krehel * lisp/dired-aux.el (dired-shell-command): Fix compile warning. 2015-10-16 Oleh Krehel Make dired-do-compress work for *.zip files * lisp/dired-aux.el (dired-check-process): Transform the top-level comment into a docstring. (dired-shell-command): New command. This mirrors `dired-check-process', but is more user-friendly for passing arguments. (dired-compress-file-suffixes): Allow to specify the command switches along with input (%i) and output (%o) inside the PROGRAM part. Add an entry for *.zip files, and update the entry for *.tar.gz files to the new style. Update the docstring. (dired-compress-file): When PROGRAM matches %i or %o, use the new logic. (dired-update-file-line): Avoid an error when at end of buffer. Fixes bug#21637. 2015-10-16 Eli Zaretskii Minor improvement in documentation of internals * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT. 2015-10-16 Eli Zaretskii Improve documentation of COLLECTION in completion functions * doc/lispref/minibuf.texi (Minibuffer Completion): Add a cross-reference to "Programmed Completion". * src/minibuf.c (Fcompleting_read): Improve the doc string. (Bug#21644) 2015-10-16 Eli Zaretskii Add more release info to etc/HISTORY * etc/HISTORY: Add more release information about 19.x and 20.x versions. 2015-10-15 Paul Eggert New file etc/HISTORY * admin/FOR-RELEASE: Procedure for etc/HISTORY. * etc/HISTORY: New file. * etc/NEWS: Mention it. 2015-10-15 Dmitry Gutov js-mode: Don't misindent generator methods * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish generator methods from multiplication operator (https://github.com/mooz/js2-mode/issues/275). 2015-10-15 Paul Eggert Fix animation timeout delay calculation * lisp/image.el (image-animate-timeout): Don’t assume speed is floating-point. 2015-10-15 Mark Oteiza Add commands for controlling MPD modes * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat) (mpc-cmd-single): New functions. (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands. (mpc-mode-menu): Add new commands as menu items. 2015-10-15 Dmitry Gutov Refer to `(elisp)Basic Completion' in completing-read docstring * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic Completion' in the docstring (bug#21644). 2015-10-14 Mark Oteiza * lisp/mpc.el (mpc-format): Always push form to pred 2015-10-14 Paul Eggert Spelling fixes * configure.ac (bitmapdir): Fix misspelling of bmd_acc. * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems): Fix misspelling of nonexistent file name. 2015-10-14 Mark Oteiza * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings 2015-10-14 Michael Albinus Some editing fixes in Tramp * lisp/net/tramp-gvfs.el: * doc/misc/tramp.texi: "customer option" -> "custom option". * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring. 2015-10-14 Jürgen Hötzel Use proper localization in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): Suppress localized settings in order to proper parse gfvs output. 2015-10-14 Warren Lynn (tiny change) * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Quote argument in proper order. (Bug#21562) 2015-10-14 Nicolas Petton Fix typos in docstrings * lisp/emacs-lisp/map.el: * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase macros. 2015-10-14 Mark Oteiza * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live. 2015-10-14 Oleh Krehel Make dired-jump work with tar-subfile-mode * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of emitting an error, switch to `tar-superior-buffer'. 2015-10-14 Juanma Barranquero * .gitignore: Add build-aux/ar-lib. 2015-10-14 Nicolas Petton Better docstrings in seq.el and map.el * lisp/emacs-lisp/map.el: * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns. 2015-10-14 Paul Eggert Merge from gnulib This incorporates: 2015-10-13 binary-io, u64, unistd: port to strict C 2015-09-26 c-ctype: do not worry about EBCDIC + char signed 2015-09-25 c-ctype: port better to z/OS EBCDIC 2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c: * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4: Copy from gnulib. 2015-10-14 Paul Eggert Take XPNTR private * src/alloc.c (PURE_POINTER_P): Remove. All uses replaced with PURE_P. (XPNTR_OR_SYMBOL_OFFSET): New function. (XPNTR): Move here from lisp.h. Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET. (mark_maybe_object, valid_lisp_object_p, survives_gc_p): Remove unnecessary cast. (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR, to avoid an unnecessary runtime test for symbols. * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c. Only alloc.c needs XPNTR now. 2015-10-13 Mark Oteiza Add MPC play/pause command * lisp/mpc.el (mpc-toggle-play): New command. (mpc-mode-map): Bind it to "s". (mpc-mode-menu): Add corresponding menu item. 2015-10-13 Mark Oteiza Add bindings and menu items for prev and next tracks * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next, "<" to mpc-prev. (mpc-mode-menu): Add corresponding menu items 2015-10-13 Ken Raeburn Reduce face-related consing during frame creation. * lisp/faces.el (face--attributes-unspecified): Compute the "unspecified" attribute list once. (face-spec-reset-face): Use it instead of building the list. 2015-10-13 Ken Raeburn Do process ConfigureNotify events indicating size changes. * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify events don't have the same size, process each one. 2015-10-13 Mark Oteiza Derive mpc-mode from special-mode lisp/mpc.el (mpc-mode-map): Make from sparse keymap. Unbind g. (mpc-mode): Derive from special mode. (mpc-songs-mode-map): Don't set parent keymap. 2015-10-13 Mark Oteiza Fix error messages for when covers are not found. The last change to mpc-format let the binding to file call mpc-file-local-copy with nil argument. Instead, employ if-let here so nil bindings don't result in needless computation and errors. * lisp/mpc.el: Require 'subr-x at compile time. * lisp/mpc.el (mpc-format): Use if-let. 2015-10-13 Oleh Krehel Make dired-do-compress work for *.tar.gz files * lisp/dired-aux.el (dired-compress-file-suffixes): Associate "tar -zxvf" to *.tar.gz; update docstring. (dired-compress-file): Allow to specify switches after the command in `dired-compress-file-suffixes'. 2015-10-13 Oleh Krehel Make dired-do-compress work for directories * lisp/dired-aux.el (dired-compress-file): When FILE is a directory, instead of emitting an error, call "tar -czf FILE.tar.gz FILE". Also convert the top comment into a docstring. 2015-10-13 Stefan Monnier * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active' ... since it might come straight from the memoizing table. 2015-10-13 Juanma Barranquero * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame. 2015-10-13 Mark Oteiza Use special-mode in eww list modes * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode) (eww-buffers-mode): Derive from special-mode and remove redundant setting of buffer-read-only. (eww-mode-map): Remove redundant keymap parent setting. (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map): Remove redundant keymap suppressions and mappings. 2015-10-13 Martin Rudalics Allow setting frame pixel sizes from frame parameters (Bug#21415) Also fix some misfeatures in frame (re-)sizing code, add more debugging information and remove some dead code. * lisp/frame.el (frame-notice-user-settings, make-frame): Change parameter names when setting `frame-size-history'. (frame--size-history): New function. * src/frame.c (frame_inhibit_resize): If frame has not been made yet, return t if inhibit_horizontal_resize or inhibit_vertical_resize bit have been set. (adjust_frame_size): Simplify. (make_frame): Initialize inhibit_horizontal_resize, inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized. (Fframe_after_make_frame): Reset inhibit_horizontal_resize and inhibit_vertical_resize slots. (x_set_frame_parameters): Handle `text-pixels' specification for width and height parameters. Don't consider new_height or new_width changes. Call adjust_frame_size instead of Fset_frame_size. (x_figure_window_size): Two new arguments x_width and y_width returning frame's figures width and height. Calculate tool bar height before frame sizes so SET_FRAME_HEIGHT can pick it up. Handle `text-pixels' specification for width and height parameters. (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size) (Qx_set_window_size_1, Qx_set_window_size_2) (Qx_set_window_size_3, Qx_set_menu_bar_lines) (Qupdate_frame_menubar, Qfree_frame_menubar_1) (Qfree_frame_menubar_2): New symbols. * src/frame.h (structure frame): New booleans tool_bar_redisplayed, tool_bar_resized, inhibit_horizontal_resize, inhibit_vertical_resize. (x_figure_window_size): Update external declaration. * src/gtkutil.c (xg_frame_set_char_size): Set size hints before calling gtk_window_resize. (update_frame_tool_bar): Make inhibiting of frame resizing more discriminative. Set tool_bar_resized bit. * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame resizing more discriminative. Call adjust_frame_size instead of x_set_window_size. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. * src/nsterm.m (x_set_window_size): For GNUSTEP build don't subtract 3 from tool bar height. (x_set_window_size): Add frame_size_history_add call. (x_new_font): Call adjust_frame_size instead of x_set_window_size. * src/w32fns.c (x_change_tool_bar_height): Reset tool_bar_redisplayed and tool_bar_resized bits when adding tool bar. Make inhibiting of frame resizing more discriminative. (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. Set size hints before adjusting frame size. (x_create_tip_frame): Adjust x_figure_window_size call. * src/w32term.c (x_set_window_size): Add frame_size_history_add call. * src/widget.c (set_frame_size): Remove dead code. Add frame_size_history_add call. When frame_resize_pixelwise is t use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of pixel_width and pixel_height. (update_various_frame_slots): Remove dead code. (EmacsFrameResize): Add more information in frame_size_history_add call. (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise is not set. * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits. * src/xfns.c (x_set_menu_bar_lines): Change argument name. (x_change_tool_bar_height): Reset tool_bar_redisplayed and tool_bar_resized bits when adding tool bar. Make inhibiting of frame resizing more discriminative. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. Set size hints before adjusting frame size. (x_create_tip_frame): Adjust x_figure_window_size call. * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially. (set_frame_menubar): On Lucid never add core-border-width to avoid that adding XtNinternalBorderWidth adds it again. (free_frame_menubar): Handle frame_inhibit_resize true for Motif. * src/xterm.c (x_new_font): In non-toolkit case handle size change of menu bar. (x_set_window_size_1): Fix calls to frame_size_history_add. (x_wm_set_size_hint): Remove dead code. Set size_hints.min_width and size_hints.min_height to base_width and base_height. 2015-10-13 Michael Albinus * test/automated/file-notify-tests.el (file-notify--test-timeout): Add docstring. Increase to 10 seconds for remote directories. (Bug#21669) 2015-10-12 Paul Eggert Unmacroize ebrowse.c and etags.c a bit * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant. (streq, filename_eq, set_flag, has_flag): Now inline functions. (set_flag): First arg is now an address, not an lvalue. All callers changed. (filename_eq, set_flag, has_flag): Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG. All callers changed. * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq): Now inline functions. Remove asserts that are unnecessary these days (and in some cases were too-generous anyway). 2015-10-12 Mark Oteiza Use highlight for current items * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select): Apply highlight face instead of region face. 2015-10-12 Mark Oteiza Search for more cover image names in MPC * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg case insensitively 2015-10-12 Juanma Barranquero Remove or comment out unused variables * src/w32fns.c (x_set_mouse_color): Comment out variables cursor, nontext_cursor, mode_cursor, hand_cursor and count. (x_change_tool_bar_height): Remove variable old_text_height. (deliver_wm_chars): Remove variable strip_Alt. (Fw32_shell_execute): Remove variable document_a. (Fw32_frame_geometry): Remove variable fullboth. * src/w32term.c (w32_setup_relief_color): Comment out variable w32_display_info. (w32_horizontal_scroll_bar_handle_click): Remove variables start, end. (w32_read_socket): Comment out variables rows, columns. * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest. 2015-10-12 Juanma Barranquero * src/w32proc.c (sys_select): Fix bitwise test. 2015-10-12 Eli Zaretskii Minor typo corrections in doc strings * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position): Doc fixes. 2015-10-12 Eli Zaretskii * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports. 2015-10-12 Eli Zaretskii Attempt to avoid crashes in plist-member * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test and a call to XCDR. (Bug#21655) 2015-10-12 Mike FABIAN * lisp/select.el (gui-get-primary-selection): In gui-get-primary-selection use gui--selection-value-internal (Bug#20906) 2015-10-12 Tassilo Horn Support RTF in doc-view * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension. 2015-10-12 Juanma Barranquero * src/w32fns.c (get_wm_chars): Increment counter, not pointer. 2015-10-11 Nicolas Petton Replace the usage of an obsolete function in auth-source.el * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token): Replace an usage of `epg-context-set-armor' with `setf'. 2015-10-11 Nicolas Petton * lisp/gnus/auth-source.el: Use sharp-quoting with functions. 2015-10-11 Jay Belanger Have calc-yank recognize numbers in different bases. * lisp/calc/calc-yank.el (math-number-regexp): New function. (calc-yank): Use `math-number-regexp' to recognize numbers. 2015-10-11 Ken Raeburn Handle an opaque-move X11 window manager operation more efficiently * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is followed by more ConfigureNotify events for the same window, process only the last one. 2015-10-11 Ken Raeburn Fix cursor setting for tip frame; re-enable cursor generation * src/xfns.c (x_create_tip_frame): Include the cursor in the window attributes sent when creating the new X window. Don't skip setting the pointerColor parameter. 2015-10-11 Ken Raeburn Rewrite x_set_mouse_color to sync less We can track serial numbers of X requests and correlate error events with the associated requests. This way we can identify errors for specific calls without having to use XSync after every one. * src/xfns.c (enum mouse_cursor): New type. (struct mouse_cursor_types, struct mouse_cursor_data): New types. (mouse_cursor_types): New array listing the Lisp variables and default cursor appearances for each cursor type. (x_set_mouse_color_handler): New function; checks error event serial number against submitted requests. (x_set_mouse_color): Updated to use the new error handler callback, and to be more table-driven, to simplify repetitious code. 2015-10-11 Ken Raeburn Add x_catch_errors_with_handler * src/xterm.c (struct x_error_message_stack): Add new fields for a callback function and associated data pointer. (x_error_catcher): If the callback function is set, call it after saving the error message string. (x_catch_errors_with_handler): Renamed from x_catch_errors but now accepts a callback function and data pointer. (x_catch_errors): Now a wrapper function. * src/xterm.h (x_special_error_handler): New typedef. (x_catch_errors_with_handler): Declare. 2015-10-11 Ken Raeburn Introduce x_uncatch_errors_after_check to reduce XSync calls Both x_had_errors_p and x_check_errors call XSync, so if they're immediately followed by x_uncatch_errors, its XSync call will be redundant, resulting in a wasted round trip to the X server. * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of x_uncatch_errors without the XSync call. (XTmouse_position, x_wm_supports): * src/xfns.c (x_set_mouse_color): * src/xmenu.c (Fx_menu_bar_open_internal): * src/xselect.c (x_own_selection, x_get_foreign_selection): (Fx_get_atom_name): Call it instead of x_uncatch_errors. * src/xterm.h (x_uncatch_errors_after_check): Declare. 2015-10-10 Jay Belanger Document the optional prefix to `calc-yank' * doc/misc/calc.texi (Yanking into the Stack): Document the optional prefix to `calc-yank'. * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from the Calc buffer are yanked back unchanged. 2015-10-10 Mark Oteiza * lisp/calendar/calendar.el: Display buffer before executing body. In each use of this macro, the modeline is derived from a window width calculation, which will be wrong if (display-buffer) splits the window horizontally. 2015-10-10 Paul Eggert Use ‘echo’ safely with ‘\’ or leading ‘-’ POSIX says that ‘echo FOO’ produces implementation-defined output if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU behavior in that case. * Makefile.in (removenullpaths): Remove. (epaths-force): Rewrite to avoid the need for ‘echo’. (install-etc): Be clearer about escaping the shell metacharacters ‘\’ and ‘$’. * Makefile.in (install-arch-indep, install-etcdoc): * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config: * admin/quick-install-emacs, build-aux/gitlog-to-emacslog: * configure.ac, lib-src/rcs2log, make-dist: * src/Makefile.in (lisp.mk): Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed. For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’ if $foo can contain arbitrary characters. * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues. * doc/lispref/two-volume.make (vol1.pdf): * test/etags/make-src/Makefile (web ftp publish): Use ‘printf’ rather than ‘echo -e’. 2015-10-10 Kaushal Modi Allow numbers with different radixes to be yanked. * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the default base 10. 2015-10-10 Paul Eggert Improve CHECK_IMPURE and PURE_P speedup * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR. 2015-10-10 Jay Belanger Use events instead of chars to keep track of steps. * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars to keep track of steps. 2015-10-10 Paul Eggert Fix --enable-gcc-warnings problem with older GCC * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END. This is for building with --enable-gcc-warnings with GCC 4.6 through 5.0. 2015-10-10 Eli Zaretskii Fix vertical-motion in truncated lines that end in a stretch * src/indent.c (Fvertical_motion): Expect overshoot when point is beyond window margin and lines are truncated, even if we have a stretch at point. (Bug#21468) 2015-10-10 Eli Zaretskii Avoid link-time errors due to inline functions * src/emacs.c: Include puresize.h, to avoid link-time errors in unoptimized builds due to PURE_P and CHECK_IMPURE, which are now inline functions. 2015-10-10 Andreas Schwab * src/data.c (Faset): Fix last change. 2015-10-10 Paul Eggert CHECK_IMPURE and PURE_P speedup * src/intervals.c (create_root_interval): Do CHECK_IMPURE only for strings; not needed for buffers. Prefer ! STRINGP to BUFFERP, for a tad more speed. * src/puresize.h (CHECK_IMPURE, PURE_P): Now inline functions instead of macros. (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility. All callers changed. (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR. All callers changed. 2015-10-09 Noah Friedman (tramp-open-connection-setup-interactive-shell): Send -onlcr as well. 2015-10-09 Stefan Monnier * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move* our after-change-function, rather than re-adding it if it was removed. 2015-10-09 Stefan Monnier * lisp/cedet/ede: Silence some compiler warnings * lisp/cedet/ede.el: Require cl-lib. Silence some compiler warnings. (ede-menu-obj-of-class-p): Use cl-some rather than `eval'. (ede-apply-object-keymap, ede-reset-all-buffers) (ede-auto-add-to-target): Use dolist. (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check): Use field names rather than initarg names in `oref'. (ede-load-project-file): Remove unused var `file'. (ede-map-any-target-p): Use cl-some rather than ede-map-targets. (ede-set): Remove unused var `a'. * lisp/cedet/ede/emacs.el: Silence some compiler warnings. (ede-project-autoload): Avoid the old-style "name" argument. (ede-emacs-find-matching-target): Use field names rather than initarg names in `oref'. * lisp/cedet/ede/linux.el: Silence some compiler warnings. (ede-linux-load, ede-project-autoload): Avoid the old-style "name" argument. (ede-linux-find-matching-target): Use field names rather than initarg names in `oref'. 2015-10-09 Stefan Monnier * lisp/textmodes/reftex.el: Silence byte-compiler warnings. 2015-10-09 Stefan Monnier * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid indenting too far after ":-". 2015-10-09 Eli Zaretskii Update case-table and categories of recently added characters * lisp/international/characters.el: Update information about Latin Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended, Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi blocks. (Byug#21654) 2015-10-09 Martin Rudalics * src/frame.c (adjust_frame_size): In minibuffer-only windows don't count minibuffer height twice. (Bug#21643) 2015-10-09 Eli Zaretskii Avoid inflooping in font-lock * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind inhibit-field-text-motion around the call to line-beginning-position, to avoid inflooping. (Bug#21615) 2015-10-09 Tassilo Horn Refactor duplicated code; ensure default is in completions * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps): New function. (reftex-extract-bib-entries): Use it. (reftex-extract-bib-entries-from-thebibliography): Use it. 2015-10-09 Vincent Belaïche * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst" in the example. 2015-10-08 Stefan Monnier * lisp/calc/calc.el: Silence byte-compiler warnings. (calc-scan-for-dels): Use ignore-errors. (calc-dispatch, calc-do-dispatch): Make unused arg optional. (calc-read-key-sequence): Remove unused var `prompt2'. (calc-kill-stack-buffer): Remove unused var `buflist'. (calc): Remove unused var `oldbuf'. (calc-refresh): Use inhibit-read-only. (calc-can-abbrev-vectors): Declare. (calc-record): Remove unused var `mainbuf'. (math-sub-bignum): Remove unused var `sum'. (math-svo-c, math-svo-wid, math-svo-off): Declare. 2015-10-08 Daiki Ueno Use g_clear_error instead of g_error_free * src/image.c: Define g_clear_error instead of g_error_free. (init_svg_functions): Resolve symbol g_clear_error instead of g_error_free. (svg_load_image): Use g_clear_error instead of g_error_free, to suppress GLib warnings when ERR is not set. See bug#21641. 2015-10-08 Paul Eggert * src/image.c (image_size_error): Simplify. 2015-10-08 Paul Eggert Fix problems caught with --enable-gcc-warnings * src/image.c (lookup_rgb_color): * src/xfns.c (x_defined_color): * src/xterm.c (x_parse_color): Remove unused locals. 2015-10-08 Jay Belanger * lisp/calc/calc.el (calc-digit-start-entry): Fix typo. 2015-10-08 Jay Belanger Format initial input uniformly * lisp/calc/calc.el (calc-digit-start-entry): New function. * lisp/calc/calc.el (calcDigit-start): * lisp/calc/calc-aent.el (calc-alg-digit-entry): Use `calc-digit-start-entry' to format input. 2015-10-08 Ken Raeburn Disable non-working pointerColor setting for X tooltip frame It generates a bunch of server traffic, but there's some bug wherein the new mouse cursor settings don't seem to get used. In most situations the cursor isn't likely to be seen anyway, so it's not urgent to fix. * src/xfns.c (x_create_tip_frame): Don't set pointerColor. 2015-10-08 Ken Raeburn Reduce some unnecessary X calls * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry call. If border width is wanted, get it from the XGetGeometry call instead of calling XGetWindowAttributes on the same window. Skip some X calls if we've already detected an error from the X server. * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p. (handle_one_xevent): Delete XSync call before x_uncatch_errors. 2015-10-08 Ken Raeburn Reduce color allocation/query traffic in the TrueColor case When working with an X visual with TrueColor class, pixel values can be generated from the RGB values according to mask value provided by the server on connection. Some of the image-handling code was already doing this. * src/xterm.h (x_make_truecolor_pixel): New function; code taken from lookup_rgb_color. (x_mutable_colormap): New function. * src/image.c (lookup_rgb_color): Move pixel composition code to x_make_truecolor_pixel. (x_kill_gs_process): Call x_mutable_colormap. * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call x_mutable_colormap. * src/xftfont.c (xftfont_get_colors): Call x_query_colors. * src/xterm.c (x_query_colors): For a TrueColor display, decompose the pixel value into RGB values directly, and don't send a request to the server. (x_alloc_nearest_color): For a TrueColor display, construct the pixel value with x_make_truecolor_pixel. (x_copy_color): For an immutable color map, just return the provided pixel value. 2015-10-08 Ken Raeburn Cache XParseColor results in the X display info structure With repeated lookups of foreground and background colors for multiple faces per frame, we issue a lot of redundant color name lookups to the X server, waiting every time for the response. On a remote network with, say, 30ms round-trip time, this can add nearly a full second to creation of a new frame. * src/gtkutil.c (xg_check_special_colors): Call x_parse_color. * src/image.c (get_spec_bg_or_alpha_as_argb): (xpm_init_color_cache, xpm_lookup_color): * src/xfns.c (x_defined_color): * src/xterm.c (x_parse_color): New function; caches color names not starting with "#" in the display-info structure. (x_delete_display): Delete the cache content. * src/xterm.h (struct color_name_cache_entry): New type. (x_parse_color): Declare. (struct x_display_info): Add a new field for the cache. 2015-10-07 Stefan Monnier * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local. 2015-10-07 Eli Zaretskii Fix segfault in image_size_error * src/image.c (image_size_error): Pass a Lisp string to image_error, not a C string. (Bug#21641) 2015-10-07 Simen Heggestøyl Highlight CSS variable definitions * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept CSS variables. (Bug#21638) 2015-10-07 Artur Malabarba * test/automated/tabulated-list-test.el: New file. Test bug#21639 and some basic functionality. 2015-10-07 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Check if column can be sorted before trying. (Bug#21639) 2015-10-07 Nicolas Richard Add test for `self-insert-command' (bug#21633) * test/automated/cmds-tests.el: New file. 2015-10-07 Martin Rudalics * src/window.c (resize_frame_windows): Don't set root window's top position when resizing horizontally. 2015-10-07 Artur Malabarba * lisp/progmodes/prog-mode.el (prettify-symbols-alist): Document more possible values. 2015-10-06 Stefan Monnier * lisp/textmodes/tex-mode.el: Use lexical-binding. 2015-10-06 Stefan Monnier * lisp/indent.el (indent--default-inside-comment): New function. (indent-for-tab-command): Use it for `noindent' indentation. 2015-10-06 Paul Eggert Fix bug in GC_CHECK_MARKED_OBJECTS check * src/alloc.c (mark_object): Fix bug in checking code. When GC_CHECK_MARKED_OBJECTS is defined, the bug caused CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each bucket. The bug did not affect behavior either in the normal case where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does not have an internal error that a properly-written CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect. 2015-10-06 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add prettified version for \\Bbb{Q}. 2015-10-06 Artur Malabarba * test/automated/package-test.el (package-test-install-single): Add a test for bug#21625. 2015-10-06 Aaron Ecay * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is not a package-desc object. Also clarify documentation. (Bug#21625) 2015-10-06 Eli Zaretskii Fix display of characters adjacent to ZWJ and ZWNJ * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control") characters the same as directional formatting controls. (bidi_level_of_next_char): Include all Bn characters in rule L1, as mandated by the UBA. 2015-10-06 Andreas Schwab * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative number. (Bug#21633) 2015-10-05 Xue Fuqiao * doc/lispref/objects.texi (Window Type): Add a cross reference. * src/buffer.c (syms_of_buffer): Typo fix. (Bug#21622) 2015-10-05 Eli Zaretskii * lisp/language/misc-lang.el (composition-function-table): Fix entries for Arabic and Syriac. 2015-10-05 Damien Cassou Add first unit tests for auth-source.el * test/automated/auth-source-tests.el: New file. 2015-10-05 Eli Zaretskii Remove redundant redisplay code * src/xdisp.c (redisplay_internal, try_cursor_movement) (try_window_reusing_current_matrix, try_window_id): Remove redundant restrictions on redisplay optimizations based on the frame's 'redisplay' flag. See http://osdir.com/ml/general/2015-10/msg02110.html for the relevant discussions. 2015-10-04 Stefan Monnier * src/xdisp.c (windows_or_buffers_changed): Improve docstring. 2015-10-04 Xue Fuqiao Update tutorials/TUTORIAL.cn * etc/tutorials/TUTORIAL.cn: Improve translation. 2015-10-04 YAMAMOTO Mitsuharu * src/macfont.m (macfont_encode_char, syms_of_macfont): Remove unused vars. 2015-10-04 Stefan Merten Pull in version numbers from rst.el upstream release. * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev) (rst-svn-timestamp, rst-official-version) (rst-official-cvs-rev, rst-package-emacs-version-alist): Update version numbers. 2015-10-04 Eli Zaretskii * test/automated/coding-tests.el: New file. 2015-10-04 Michael Albinus Improve XEmacs compatibility of Tramp * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp): Declare if it doesn't exist. (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21. (redisplay): Make it an alias if it doesn't exist. * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use `file-remote-p' (due to XEmacs compatibility). * lisp/net/trampver.el (locate-dominating-file) (tramp-compat-replace-regexp-in-string): Autoload. (tramp-repository-get-version): Do not dupe byte-compiler. 2015-09-02 K. Handa fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]: Adjusted for the change of type of elements in the array MFLTGlyphString.glyphs. 2015-10-04 Eli Zaretskii Michael Heerdegen shr: fix too long lines in rendered buffers (Bug#21012) * lisp/net/shr.el (shr-insert-document, shr-fill-text): Correct calculation of available width. (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten is nil. 2015-10-04 Vincent Belaïche Restore blank line before next section, erroneously erased in my previous commit * etc/compilation.txt (symbol ant): Add an additional trailing blank line to this section, so that there are two of them immediately before the next section. 2015-10-04 Vincent Belaïche Support MSW filename style for ant compilation error regexp * etc/compilation.txt (symbol ant): * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Support MSW filename style. 2015-10-03 Paul Eggert * nt/INSTALL: Minor spelling and quote fixes. * lisp/ibuffer.el: Fix docstring length (Bug#21541). 2015-10-03 Simen Heggestøyl Maintain ordering of JSON object keys by default * lisp/json.el (json-object-type): Mention order handling in doc-string. (json--plist-reverse): New utility function. (json-read-object): Maintain ordering for alists and plists. (json-pretty-print): Ensure that ordering is maintained. * test/automated/json-tests.el (test-json-plist-reverse): New test for `json--plist-reverse'. (json-read-simple-alist): Update test to accommodate for changes in `json-read-object'. * etc/NEWS: Document the new behavior of the pretty printing functions. 2015-10-03 Andreas Schwab * src/coding.c (complement_process_encoding_system): Revert last change. 2015-10-03 Ulf Jasper * admin/MAINTAINERS: Add entry for Ulf Jasper. 2015-10-03 Xue Fuqiao Doc fix for `defmacro' * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now. 2015-10-03 Andreas Schwab More validatation of coding systems * src/fileio.c (Finsert_file_contents): Remove redundant coding-system check. (choose_write_coding_system): Likewise. * src/coding.c (complement_process_encoding_system): Check argument for valid coding system. 2015-10-03 Eli Zaretskii Avoid crashes in coding_inherit_eol_type * src/coding.c (coding_inherit_eol_type): Check the validity of the arguments. Suggested by Andreas Schwab . (Bug#21602) 2015-10-03 Eli Zaretskii More validatation of coding system in 'write-region' * src/coding.c (choose_write_coding_system): More validation of coding-system from various sources. Suggested by Andreas Schwab . (Bug#21602) 2015-10-03 Eli Zaretskii Avoid crashes due to invalid coding-system * src/fileio.c (choose_write_coding_system) (Finsert_file_contents): Check validity of coding-system-for-write and coding-system-for-read bound by the caller. (Bug#21602) 2015-10-03 Tassilo Horn Adapt to new prettify-symbols-unprettify-at-point default * etc/NEWS: Mention that unprettication of symbol at point is off by default. 2015-10-03 Tassilo Horn Revert my two recent process.c changes Revert "Improve last commit to process.c" and "Remove callback-handled channels from Available set" because they did not fix bug#21313. This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and 27f871907cc24f33a7d12ac3a4ab71a88f0bc554. 2015-10-02 Markus Triska * lisp/progmodes/prolog.el: Update and extend operator table. (prolog-smie-grammar): Add multifile, public etc. 2015-10-02 Paul Eggert Allow autogen even when Git is not installed * autogen.sh: Test ‘git status’ before trying to use Git. 2015-10-02 Stefan Monnier * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes. Adjust lto/lfrom when we have uncommitted changes. 2015-10-02 Paul Eggert Fix problems found by clang 3.5.0 * src/cmds.c (Fdelete_char): Don’t assume XINT returns int. * src/font.c (font_parse_family_registry): Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int. 2015-10-02 Eli Zaretskii * nt/INSTALL: Update instructions for running autogen.sh. * nt/INSTALL: Point to ezwinports for libXpm binaries. 2015-10-02 Daniel Colascione Fix winner in cl-lib not loaded case * lisp/winner.el (winner-change-fun): Don't use cl-lib functions without requiring CL 2015-10-02 Paul Eggert Fix a few problems with directed quotes This is in response to a problem report by Kaushal Modi in: http://bugs.gnu.org/21588#25 * lisp/cedet/mode-local.el (describe-mode-local-overload): * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header): * lisp/info-xref.el (info-xref-check-all-custom): * lisp/mail/emacsbug.el (report-emacs-bug-hook): Prefer directed to undirected single quotes in diagnostics. 2015-10-01 Eli Zaretskii Revert "Attempt to fix slow redisplay caused by last changes" * src/xdisp.c (try_window_id, try_window_reusing_current_matrix) (try_cursor_movement): Don't relax requirements for redisplay optimizations for the selected frame. (Bug#21597) This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59. 2015-10-01 Eli Zaretskii Fix slow redisplay when daemon frame exists * src/xdisp.c (redisplay_internal): Don't consider daemon frames when looking for frames that need to be redisplayed. (Bug#21597) 2015-10-01 Eli Zaretskii Attempt to fix slow redisplay caused by last changes * src/xdisp.c (try_window_id, try_window_reusing_current_matrix) (try_cursor_movement): Relax requirements for redisplay optimizations for the selected frame. (Bug#21597) 2015-10-01 Stephen Leake * src/dired.c (Ffile_name_completion, Ffile_name_all_completions): Improve doc string. 2015-10-01 Stephen Leake * lisp/minibuffer.el (minibuffer-completion-help): Set default base-size, in case completion table does not set it. 2015-10-01 Eli Zaretskii Fix GUD display of GDB output with non-ASCII text * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom. (gdb-mi-decode): New function. (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil, decode octal escapes in GDB output. (Bug#21572) 2015-10-01 Eli Zaretskii * nt/INSTALL: Document where to find XPM support files. 2015-10-01 Tassilo Horn Un- and re-prettification are not exclusive * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook): Re-apply prettification to previous symbol also when unprettifying next one. 2015-10-01 Tassilo Horn Don't unprettify symbol at point by default * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point): Default to disabled (nil). 2015-09-30 Artur Malabarba * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point): Support unprettifying when point is after a symbol. * etc/NEWS: Document `prettify-symbols-unprettify-at-point'. 2015-09-30 Eli Zaretskii Avoid assertion violations in push_prefix_prop * src/xdisp.c (push_prefix_prop): Avoid assertion violations when a line that has a line-prefix defined starts with an image. (Bug#21428) 2015-09-30 Eli Zaretskii Disable some display optimizations when frames need redisplay These optimizations were previously disabled by the windows_or_buffers_changed flag, which now is not set when only some frames need to be redrawn. * src/xdisp.c (redisplay_internal): Redisplay any frame whose 'redisplay' flag is set. (try_window_reusing_current_matrix, try_window_id) (try_cursor_movement): Disable these optimizations when the frame's 'redisplay' flag is set. 2015-09-30 Tassilo Horn Don't modify buffer by unprettification * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol): (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't modify buffer when setting/removing custom prettify-symbols-start/end text properties. Add them to font-lock-extra-managed-props, too. 2015-09-30 Stefan Monnier Try to avoid redisplaying all frames when creating a new one * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height): * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face) (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter): * src/frame.c (x_set_screen_gamma): Set the specific frame's `redisplay' bit rather than windows_or_buffers_changed. * src/window.c (apply_window_adjustment): Remove redundant setting of windows_or_buffers_changed. * src/xdisp.c (redisplay_internal): Set the specific frame's `redisplay' bit rather than update_mode_lines in response to cursor_type_changed. (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables. (AINC): Adjust accordingly. 2015-09-30 Tassilo Horn Implement unprettification of symbol at point * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the symbol at point. (prettify-symbols--current-symbol-bounds): New variable. (prettify-symbols--post-command-hook): New function. (prettify-symbols-unprettify-at-point): New defcustom. (prettify-symbols-mode): Use it. (prettify-symbols--compose-symbol): Use them. 2015-09-30 YAMAMOTO Mitsuharu * src/macfont.m (mac_font_descriptor_supports_languages): Regard "zh" as synonym of "zh-Hans". 2015-09-30 YAMAMOTO Mitsuharu Work around crash when displaying etc/HELLO on OS X 10.11 * src/macfont.m (mac_font_get_weight) (mac_font_descriptor_get_adjusted_weight): New functions. (macfont_store_descriptor_attributes): Adjust weight. 2015-09-30 YAMAMOTO Mitsuharu * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO. 2015-09-30 Nicolas Petton * lisp/arc-mode.el (archive-rar-summarize): Better alignment of the columns. 2015-09-30 Nicolas Petton Use unar and lsar to handle RAR archives in arc-mode * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely on unar and lsar instead of unrar-free for RAR archives (bug#17663). 2015-09-30 Wieland Hoffmann (tiny change) Clarify :create in auth-source's docs * lisp/gnus/auth-source.el (auth-source-search): Clarify :create's meaning. 2015-09-30 Phil Sainty Avoid empty -path arguments in rgrep * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from the list produced according to grep-find-ignored-directories, before passing it to Find/Grep invocation. (Bug#21548) 2015-09-30 Eli Zaretskii Clarify documentation of pos-visible-in-window-p * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of t for POS. See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html for the original report. * doc/lispref/windows.texi (Window Start and End): Clarify the meaning of t for the POSITION argument of pos-visible-in-window-p. 2015-09-29 Stefan Monnier * lisp/progmodes/prolog.el: Fix various indentation cases. (prolog-operator-chars): New const (add \\). (prolog-smie-forward-token, prolog-smie-backward-token): Use it. (prolog-smie-rules): Add rules according to bug#21526. 2015-09-29 Stefan Monnier * lisp/progmodes/sh-script.el: Old "dumb" continued line indent. (sh-indent-after-continuation): Add new value `always' (bug#17620) (sh-smie-sh-rules): Remove old handling of continued lines. (sh-smie--indent-continuation): New function. (sh-set-shell): Use it. 2015-09-29 Stefan Monnier * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun. Remove redundant :group keyword args. (octave-begin-keywords, octave-else-keywords, octave-end-keywords): Remove variables. (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to turn them into compile-time variables. Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules. Add rules for break, continue, return, global, and persistent. Refine the rule for "until". (octave-smie--funcall-p, octave-smie--end-index-p) (octave-smie--in-parens-p): New functions. (octave-smie-backward-token, octave-smie-forward-token): Use them to distinguish the "enumeration" function and the "end" index from their corresponding keywords. (octave--block-offset-keywords): New constant. (octave-smie-rules): Use it. Adjust rules for new global/persistent parsing. (octave-reserved-words): Redefine using octave-smie-grammar. (octave-font-lock-keywords): Use octave-smie--funcall-p and octave-smie--end-index-p. 2015-09-29 Stefan Monnier * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*. 2015-09-29 Eli Zaretskii * nt/INSTALL: Remove references to GTK site. That site no longer offers Windows downloads. 2015-09-29 Eli Zaretskii * nt/INSTALL: Add instructions for installing Git. 2015-09-29 Katsumi Yamaoka * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to use colors. Suggested by Eli Zaretskii. 2015-09-28 Katsumi Yamaoka * lisp/net/shr.el (shr-colorize-region): Don't do it on a system not supporting 256 above colors (bug#21557). 2015-09-28 Dmitry Gutov Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files" This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055. 2015-09-28 Nicolas Petton Add documentation for seq.el * doc/lispref/sequences.texi: Add documentation regarding extending seq.el, as well as missing documentation for seq-elt, seq-length, seq-p, seq-do and seq-map. 2015-09-28 Nicolas Petton Better documentation for seq-some * doc/lispref/sequences.texi: * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to guarantee that the returned value is the first non-nil value that resulted from applying the predicate. 2015-09-28 Nicolas Petton * lisp/arc-mode.el: Sharp-quote function arguments. 2015-09-28 Eli Zaretskii Avoid redisplay error in ediff-regions-wordwise * lisp/vc/ediff-util.el (ediff-clone-buffer-for-region-comparison): Make sure the mark is set before activating it. (Bug#21567) 2015-09-28 Eli Zaretskii Another attempt to fix crashes due to prematurely freed faces * src/xdisp.c (redisplay_internal): Inhibit freeing of realized faces for as long as we might have desired matrices that reference those faces. (Bug#21428) 2015-09-28 Tassilo Horn Add auctex development list email address 2015-09-28 Tassilo Horn * admin/MAINTAINERS: Add entries for AUCTeX team and myself. 2015-09-28 Arash Esbati (tiny change) Improve wrapfig package support and caption parsing * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Correct description string and add wraptable environment. (reftex-default-context-regexps): Improve caption regexp. 2015-09-28 Anders Lindgren Respect value of frame_resize_pixelwise when handling fullscreen state * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when setting size increments. 2015-09-27 Michael Albinus * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable. 2015-09-27 Simen Heggestøyl Add prettify-symbols-alist for js-mode * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst. (js-mode): Use it. 2015-09-27 Eli Zaretskii * nt/subdirs.el: File deleted (no longer used). 2015-09-26 Alan Mackenzie Fix follow-scroll-up/down, making them replacements for scroll-up/down 1. Allow point to move between follow windows in scroll operations. 2. Fix bug where `right-char' just before EOB caused spurious scrolling, when EOB was isolated in the last follow window. * lisp/follow.el (follow-fixed-window): New variable. (follow-get-scrolled-point): New function. (follow-scrol-up, follow-scroll-down): Add autoload cookies. Reformulate the code. Put `scroll-command' properties on the functions. Correct minor errors in ...-down's doc string and code. (follow-calc-win-end): Amend incomplete doc string. Use `pos-visible-in-window-p' to check whether EOB is in the window. (follow-estimate-first-window-start): Correct an off-by-1 error. (follow-adjust-window): Add handling for explicit scrolling operations. 2015-09-26 Paul Eggert * admin/MAINTAINERS: Add self, plus list some more files sans maintaners. 2015-09-26 Zachary Kanfer (tiny change) New DWIM commands for changing letter-case * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim): New functions. (Bug#21501) 2015-09-26 Eli Zaretskii * etc/PROBLEMS: Document problems with pasting on MS-Windows. 2015-09-26 Eli Zaretskii Make face realization be more frame-specific * src/frame.h (struct f): New flag face_change. * src/xfaces.c (Finternal_make_lisp_face) (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute) (update_face_from_frame_parameter): Set the face_change flag only for the frame whose faces are affected. * src/xdisp.c (init_iterator): If a frame's face_change flag is set, free faces only on that frame. (redisplay_internal): Disable "display optimization 1" if the frame's face_change flag is set. (redisplay_window): Don't allow skipping a window's redisplay if its frame's face_change flag is set. * src/frame.c (x_set_screen_gamma): Instead of calling Fclear_face_cache, call clear_face_cache and set windows_or_buffers_changed to a non-zero value. This avoids setting the global face_change flag that triggers face realization on all frames and thorough redisplay of all of them. * lisp/term/tty-colors.el (tty-register-default-colors): Don't clear face cache if the selected frame is a GUI frame. 2015-09-26 Tassilo Horn Remove font-latex specific check * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Use syntax-ppss data to identify verbatim contents. 2015-09-25 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Fix some false negatives. 2015-09-25 Eli Zaretskii Reorder Windows version in Emacs manifests * nt/emacs-x64.manifest: * nt/emacs-x86.manifest: Reorder Windows version from lowest to highest. 2015-09-25 Eli Zaretskii Update Emacs manifest files for Windows 10 * nt/emacs-x86.manifest: * nt/emacs-x64.manifest: Declare compatibility with Windows 10. 2015-09-25 Eli Zaretskii Avoid non-ASCII decoding errors in C src files * src/nsterm.m: * src/lisp.h: * src/editfns.c: * src/doprnt.c: Add 'coding' cookies -- these files include Unicode characters and should be decoded as UTF-8. 2015-09-25 Alan Mackenzie Resurrect edebug-set-initial-mode, repurposing it to set the global mode * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and amend to match current modes and functions. (edebug-set-initial-mode): Uncomment and change from setting a defun's `edebug-initial-mode''s property to setting the variable `edebug-initial-mode'. (top level): Create new binding C-x C-a C-m for `edebug-set-initial-mode'. * doc/lispref/edebug.texi (Edebug Execution Modes): Document `edebug-set-initial-mode' and its new key binding. (Edebug Options): Mention the new command in the pertinent place. * etc/NEWS: Write entry for this change. 2015-09-25 Eli Zaretskii Avoid non-ASCII decoding errors in Texinfo files * doc/misc/tramp.texi: * doc/lispref/strings.texi: * doc/lispref/positions.texi: * doc/lispref/help.texi: * doc/lispref/functions.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/emacs/text.texi: * doc/emacs/modes.texi: * doc/emacs/mini.texi: * doc/emacs/display.texi: * doc/emacs/custom.texi: * doc/emacs/basic.texi: Add 'coding' cookies -- these files use Unicode characters and should be decoded as UTF-8. * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII apostrophe unnecessarily. 2015-09-25 Paul Eggert Merge from gnulib This incorporates: 2015-09-25 c-ctype: rewrite to use inline functions 2015-09-24 maint: add coding cookies to non-ASCII sources 2015-09-24 gitlog-to-changelog: trim only trailing whitespaces * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex: * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c: * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c: * lib/set-permissions.c: Copy from gnulib. 2015-09-24 Paul Eggert Update publicsuffix.txt from upstream * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/effective_tld_names.dat dated 2015-09-24 17:29:21 UTC. 2015-09-24 Eli Zaretskii Prevent timers from messing up TTY menus * src/term.c (tty_menu_activate): Inhibit redisplay for as long as the TTY menu is open. (Bug#21530) 2015-09-24 Paul Eggert No need to mention K&R C in c-mode intro 2015-09-24 Stefan Monnier Fix recent bootstrap problems * src/syntax.c (parse_sexp_propertize): Fix last fix. * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo. * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv. 2015-09-24 Michael Albinus * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate. 2015-09-23 Ivan Andrus Properly quote nested xml comments (Bug#6267) (Bug#20001) * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function. (nxml-mode): Set comment-quote-nested-function. 2015-09-23 Ivan Andrus Allow major-modes full control over quoting nested comments * lisp/newcomment.el (comment-quote-nested-function): New variable. (comment-quote-nested-default): New function. (comment-quote-nested): Use `comment-quote-nested-function'. 2015-09-23 Paul Eggert Prefer CALLN in a few more places * src/macfont.m (macfont_set_family_cache): * src/nsterm.m (append2): * src/xterm.c (x_cr_export_frames): Prefer CALLN to allocating the arg arrays by hand. 2015-09-23 Michael Albinus Adapt file-notify-test02-events test case * test/automated/file-notify-tests.el (file-notify-test02-events): Create a new watch for every test. 2015-09-23 Michael Albinus Continue gfilenotify.c implementation of missing parts * lisp/filenotify.el (file-notify-add-watch): Append `flags' to `gfile-add-watch' call. (file-notify-rm-watch): Modify `file-notify-descriptors' only after calling the low level functions. * src/gfilenotify.c (dir_monitor_callback): Check, whether event_type is expected. (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS. (Fgfile_rm_watch): Fix typo. (syms_of_gfilenotify): Declare Qchange and Qattribute_change. 2015-09-23 Stefan Monnier * src/syntax.c (parse_sexp_propertize): Handle spurious e_property_truncated flag. (update_syntax_table_forward): Remove invalid assertion. 2015-09-23 Eli Zaretskii * src/xdisp.c (produce_stretch_glyph): Support ':relative-width' space display spec on text-mode terminals, by calling PRODUCE_GLYPHS instead of x_produce_glyphs. Remove the HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the test for a GUI frame. 2015-09-23 Oleh Krehel Move let-when-compile to lisp-mode.el This fixes the bootstrapping problem of `let-when-compile' using `cl-progv' while being in subr.el (i.e. before cl stuff was loaded). 2015-09-23 Thomas Fitzsimmons * lisp/url/url-http.el (url-http-parse-headers): Do not automatically include Authorization header in redirect. (Bug#21350) 2015-09-22 Eli Zaretskii Clarify documentation of ':relative-width' * doc/lispref/display.texi (Specified Space): Document that ':relative-width' is only supported on GUI frames. 2015-09-22 Eli Zaretskii Fix 'current-column' in presence of :relative-width * src/indent.c (check_display_width): Support ':relative-width' in a display spec that specifies a stretch glyph. (Bug#21533) 2015-09-22 Ken Manheimer Reformat the pdbtrack remote-file fix ChangeLog.2 entry ... to conform better to CONTRIBUTE guidelines. 2015-09-22 Stefan Monnier * lisp/progmodes/prolog.el: Fix indentation of empty line * lisp/emacs-lisp/smie.el (smie-rules-function): Document new `empty-line-token' element. (smie-indent-empty-line): New function. (smie-indent-functions): Add it. * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro behavior and use the new `empty-line-token' element (bug#21526). (prolog-mode-variables): Fix comment-start-skip setting to match comment-start. * test/indent/prolog.prolog: Add nested indentation tests. * lisp/newcomment.el (comment-normalize-vars): Fix default value of comment-start-skip not to misuse submatch 1. 2015-09-22 Alan Mackenzie Make description of `edebug-initial-mode' user friendly Fixes bug#21365. * doc/lispref/edebug.texi (Edebug Execution Modes): Change the description of `edebug-initial-mode' from that of its implementation to that of its visual effect and use. Move the paragraph higher up. 2015-09-22 Eli Zaretskii lisp/progmodes/gud.el (gud-format-command): Fix last commit * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'. 2015-09-22 Tassilo Horn Improve last commit to process.c 2015-09-22 Michael Albinus Implement gfile-valid-p * lisp/filenotify.el (file-notify-callback): Fix typo. (gfile-valid-p): Remove defalias. * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if the file or directory to be watched is deleted. (Fgfile_add_watch): Make watch_object a triple. (Fgfile_rm_watch): Check, whether watch is cancelled already. (Fgfile_valid_p): New defun. (syms_of_gfilenotify): Declare Sgfile_valid_p. 2015-09-22 Tassilo Horn Remove callback-handled channels from Available set * src/process.c (wait_reading_process_output): Remove channel from Available set if it is handled by a callback, e.g., dbus or inotify (bug#21313). 2015-09-21 Mark Oteiza Use lunate epsilon for TeX \epsilon * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add \varepsilon using GREEK SMALL LETTER EPSILON, and change \epsilon to use GREEK LUNATE EPSILON SYMBOL 2015-09-21 Stefan Monnier * lisp/progmodes/prolog.el: Fix nested electric if-then-else * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost rather than outermost paren (bug#21526). 2015-09-21 Paul Eggert Improve git diff hunk headers for .el, .texi Problem reported by Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html * .gitattributes (*.el, *.texi): New patterns. * autogen.sh: Configure diff.elisp.xfuncname and diff.texinfo.xfuncname if using Git. 2015-09-21 Eli Zaretskii Don't rely on defaults in decoding UTF-8 encoded Lisp files * lisp/replace.el: * lisp/textmodes/rst.el: * lisp/whitespace.el: Add an explicit UTF-8 encoding tag. 2015-09-21 Paul Eggert Clarify or replace a few \u escapes * doc/lispref/nonascii.texi (Character Properties) More-detailed commentary for \u escapes. * lisp/progmodes/python.el (python--prettify-symbols-alist): * lisp/replace.el (query-replace-from-to-separator): * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def) (rst-mode-syntax-table): * lisp/whitespace.el (whitespace-display-mappings): Prefer actual character to \u escape when this makes the code easier to follow in the usual case where Unicode chars can be displayed. 2015-09-21 Paul Eggert Pacify GCC -Wmaybe-uninitialized in xdisp.c * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with charpos. The loop should always execute at least once anyway. 2015-09-21 Tassilo Horn Signal error on invalid regexp * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries): Signal an error when the user tries searching with a regexp matching the empty string. 2015-09-21 Eli Zaretskii Another fix of file-notify-tests for w32notify * test/automated/file-notify-tests.el (file-notify-test02-events): Further adaptation for w32notify: reduce the number of expected 'changed' events. (Bug#21435) 2015-09-21 Michael Albinus Adapt tests and manual for w32notify * doc/lispref/os.texi (File Notifications): w32notify does not send `attribute-changed' events. * test/automated/file-notify-tests.el (file-notify--test-with-events): Simplify parameters. Adapt all callees. (file-notify-test02-events): w32notify does not send `attribute-changed' events. (file-notify-test04-file-validity, file-notify-test05-dir-validity): Do not skip in case of w32notify. Simply ignore this part of the test. 2015-09-21 Dima Kogan Fix setting breakpoints when remote-debugging * lisp/progmodes/gud.el (gud-format-command): Send localized file names to the debugger running on the remote. (Bug#13304) 2015-09-21 Nicolas Petton Better docstring and parameter name for seq-find * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename the parameter `sentinel' to `default'. * doc/lispref/sequences.texi (Sequence Functions): Update the documentation for `seq-find' accordingly. 2015-09-21 Eli Zaretskii Avoid infinite recursion while displaying box face * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of the previous string/buffer character position under bidi iteration. (Bug#21428) 2015-09-21 Anders Lindgren Keep upper edge unchanged when changing size of NS frame * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged (Bug#21415). 2015-09-20 Stefan Monnier * lisp/progmodes/prolog.el: Improve handling of if/then/else. (prolog-smie-rules): Accommodate standard if/then/else special indentation. (prolog-mode): Add . to electric-indent-chars. (prolog-electric--if-then-else): Re-indent the line before adding space after the new char (bug#21526). 2015-09-20 Mark Oteiza Add prettify symbols to python-mode * lisp/progmodes/python.el (python-prettify-symbols-alist): New variable. (python-mode): Use it 2015-09-20 Stefan Monnier * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete. 2015-09-20 Jostein Kjønigsen (tiny change) (compilation-error-regexp-alist-alist): Tone down guile-file * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Make guile-file a bit less enthusiastic (bug#21496). 2015-09-20 Drew Csillag * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix m4_* highlighting. * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition of commands when they have a "m4_" prefix. 2015-09-20 Paul Eggert '.' -> `.' in doc string * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote individual chars with grave quotes instead of straight quotes, as this works better when they are translated to curved quotes. 2015-09-20 Michael Albinus Improve file notifications, especially for Tramp * doc/lispref/files.texi (Magic File Names): Mention `file-notify-valid-p'. * doc/lispref/os.texi (File Notifications): Describe `file-notify-valid-p'. * etc/NEWS: Add `file-notify-valid-p'. * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch): Improve implementation. (tramp-gvfs-monitor-file-process-filter): Rename from `tramp-gvfs-file-gvfs-monitor-file-process-filter'. Delete process if appropriate. * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): Improve implementation. (tramp-sh-gvfs-monitor-dir-process-filter): Rename from `tramp-sh-file-gvfs-monitor-dir-process-filter'. Delete process if appropriate. (tramp-sh-inotifywait-process-filter): Rename from `tramp-sh-file-inotifywait-process-filter'. Delete process if appropriate. * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch): Use `delete-process'. (tramp-handle-file-notify-valid-p): Check also, that file or directory to be watched still exists. * test/automated/file-notify-tests.el (file-notify--test-timeout): New defun. Use it at all places a timeout is needed. (file-notify--test-cleanup): Delete directories recursively. Cleanup also Tramp connections. (file-notify-test02-events): Add tests for `attribute-change'. (file-notify-test04-file-validity, file-notify-test05-dir-validity): Add tests for `file-notify-rm-watch'. 2015-09-20 Paul Eggert Use %s to format strings instead of splicing them If FOO might contain quotes that are part of a file or variable name, the quotes should not be translated when showing FOO’s name in a diagnostic. So, for example, (message (concat (FOO ": bar"))) is not quite right, as it would translate FOO’s quotes. Change it to (message "%s: bar" FOO) instead. * lisp/allout.el (allout-process-exposed): * lisp/calc/calc-ext.el (calc-do-prefix-help): * lisp/calc/calc-store.el (calc-store-into): * lisp/calendar/todo-mode.el (todo-category-completions): * lisp/cedet/semantic/complete.el (semantic-completion-message): * lisp/org/ob-latex.el (convert-pdf): * lisp/org/org-crypt.el (org-crypt-check-auto-save): * lisp/org/ox-latex.el (org-latex-compile): * lisp/org/ox-man.el (org-man-compile): * lisp/org/ox-odt.el (org-odt--export-wrap): * lisp/org/ox-texinfo.el (org-texinfo-compile): * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p): * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func) (verilog-signals-combine-bus, verilog-read-defines) (verilog-getopt-file, verilog-expand-dirnames) (verilog-modi-lookup, verilog-modi-modport-lookup-one): * lisp/term/ns-win.el (ns-spi-service-call): Use %s to avoid translating quotes of file names etc. in diagnostics. 2015-09-20 Stefan Monnier * lisp/progmodes/js.el (js--syntax-begin-function): Remove. (js-mode): Don't set syntax-begin-function. 2015-09-20 Stefan Monnier * lisp/font-lock.el (font-lock-compile-keywords): Don't assume syntax-begin-function is a symbol. 2015-09-20 Eli Zaretskii Improve documentation of 'run-at-time' * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string. In particular, don't refer to 'diary-entry-time', because it is unavailable until diary-lib is loaded. Also, refer to 'timer-duration-words', not 'timer-duration', as the latter's doc string says nothing about the accepted strings. 2015-09-19 Jay Belanger * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message. 2015-09-19 Ken Manheimer Repair pdbtrack remote file tracking * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer): Rectify pdbtrack so it follows transitions from one remote source file to the next. 2015-09-19 Artur Malabarba * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting. 2015-09-19 Eli Zaretskii Adapt vc-src to the old-new vc-checkin API * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an additional optional parameter. 2015-09-19 Simen Heggestøyl Add overflow module to CSS property list * lisp/textmodes/css-mode.el (css-property-ids): Add properties from CSS Overflow Module Level 3. 2015-09-19 Eli Zaretskii Fix documentation of "C-u C-x v v" * doc/emacs/maintaining.texi (Advanced C-x v v): Make the documentation of "C-u C-x v v" match what the code does. Resurrect the ability to specify a revision in vc-next-action * lisp/vc/vc-bzr.el (vc-bzr-checkin): * lisp/vc/vc-dav.el (vc-dav-checkin): * lisp/vc/vc-git.el (vc-git-checkin): * lisp/vc/vc-hg.el (vc-hg-checkin): * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore an additional optional argument, the revision to checkin. * lisp/vc/vc-sccs.el (vc-sccs-checkin): * lisp/vc/vc-cvs.el (vc-cvs-checkin): * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify a revision to checkin. * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the revision when checking in files. See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html for the details. 2015-09-18 Wilson Snyder * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function) (verilog-decls-princ, verilog-modport-princ) (verilog-modi-modport-lookup-one): Fix checkdoc warnings. 2015-09-17 Jay Belanger Fix the routine for help on Calc's prefixes * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable. (calc-do-prefix-help): Use `read-char' to determine the next Calc command. 2015-09-17 Stefan Monnier * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove. (font-lock-fontify-block): Don't let-bind it. (font-lock-compile-keywords): Don't use it. (font-lock-set-defaults): Don't set it. Allow the variable alist to start one slot earlier, instead. * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function): Don't declare. (syntax-ppss): Don't use it either. * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN from docstring. * doc/emacs/display.texi (Font Lock): Don't mention font-lock-beginning-of-syntax-function. * doc/lispref/modes.texi (Font Lock Basics): Update description of font-lock-defaults. (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function. * lisp/loadhist.el (unload-feature-special-hooks): Remove font-lock-beginning-of-syntax-function. * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region): * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind font-lock-beginning-of-syntax-function. 2015-09-17 Paul Eggert Backslash cleanup in Elisp source files This patch should not change behavior. It typically omits backslashes where they are redundant (e.g., in the string literal "^\$"). In a few places, insert backslashes where they make regular expressions clearer: e.g., replace "^\*" (equivalent to "^*") with "^\\*", which has the same effect as a regular expression. Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs, and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with RCS IDs, as that makes it clearer that the backslash is intended. Some more minor backslash fixes * test/automated/compile-tests.el (compile-tests--test-regexps-data): * test/automated/info-xref.el (info-xref-test-write-file): Double backslashes in strings. Fix several backslash typos in Elisp strings * lisp/calendar/todo-mode.el (todo-files, todo-rename-file) (todo-find-filtered-items-file, todo-reset-nondiary-marker) (todo-reset-done-string, todo-reset-comment-string) (todo-reset-highlight-item): * lisp/erc/erc-networks.el (erc-networks-alist): * lisp/gnus/gnus-art.el (gnus-button-handle-library): * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url): * lisp/gnus/nntp.el (nntp-via-shell-prompt) (nntp-telnet-shell-prompt): * lisp/gnus/spam-report.el (spam-report-gmane-regex): * lisp/image-dired.el (image-dired-rotate-original): (image-dired-get-exif-file-name): * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx): * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict): * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p): * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions): * lisp/net/shr-color.el (shr-color->hexadecimal): * lisp/org/org-bibtex.el (org-bibtex-fields): * lisp/org/org-docview.el (org-docview-export): * lisp/org/org-entities.el (org-entities): * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string): * lisp/progmodes/cperl-mode.el (cperl-indent-exp): * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp) (ebnf-style-database): * lisp/progmodes/idlw-help.el (idlwave-do-context-help1): * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block): * lisp/progmodes/sql.el (sql-product-alist): * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist) (verilog-error-font-lock-keywords) (verilog-assignment-operator-re): * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): * lisp/vc/add-log.el (change-log-version-number-regexp-list): Fix typo by replacing ‘\’ with ‘\\’ in a string literal. For example, to get the regular expression ‘\.’ use the string literal "\\.", not "\." (which is equivalent to "."). * lisp/emulation/viper-util.el (viper-glob-unix-files): Remove stray ‘\j’ from string. * lisp/gnus/nntp.el (nntp-via-shell-prompt) (nntp-telnet-shell-prompt): Treat > like $ when matching a shell prompt. * lisp/progmodes/make-mode.el (makefile-browse): Properly quote a diagnostic. Fix minor quoting problems in diagnostics * lisp/tutorial.el (tutorial--describe-nonstandard-key): * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Follow text-quoting-style in diagnostic, and quote a file name. 2015-09-17 Eli Zaretskii * doc/lispref/frames.texi (Cursor Parameters): Document 'x-stretch-cursor'. 2015-09-16 Paul Eggert Omit unnecessary \ before paren in C docstrings Although \( is needed in docstrings in Elisp code, it is not needed in docstrings in C code, since C function definitiions do not start with a parenthesis. The backslashes made the docstrings a bit harder to read and to format in columns. Also, some C docstrings had ( in column 1 and this did not appear to be causing any problems. So, simplify C docstrings by replacing \( with ( and \) with ). A few more minor quoting fixes in a script and a text file Minor quoting fixes in scripts and doc Prefer straight quotes in random script files, as they are not converted. Prefer grave quotes in a couple of places in the manual that were missed earlier, as these quotes are converted. Minor backslash fixes in manuals and scripts * Makefile.in (install-arch-indep): * admin/charsets/compact.awk: * admin/charsets/gb180302.awk (gb_to_index): * admin/charsets/gb180304.awk (gb_to_index): Avoid undefined behavior in Awk regular expression backslashes. * doc/misc/efaq.texi (Matching parentheses): Omit unnecessary backslashes. * doc/misc/gnus-faq.texi (FAQ 5-8): Avoid undefined behavior in suggested sed backslash usage. Add -Wswitch to --enable-gcc-warnings Make --enable-gcc-warnings a bit pickier, by also using -Wswitch. * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch. * lib-src/etags.c (main, consider_token, C_entries): * src/coding.c (encode_invocation_designation): * src/data.c (Ftype_of): * src/eval.c (Fdefvaralias, default_toplevel_binding) (Fbacktrace__locals, mark_specpdl): * src/lisp.h (record_xmalloc): * src/syntax.c (scan_lists, scan_sexps_forward): * src/window.c (window_relative_x_coord): * src/xdisp.c (push_it, pop_it): * src/xterm.c (xg_scroll_callback, x_check_fullscreen): Error out or do nothing (as appropriate) if a switch statement with an enum value does not cover all of the enum. * src/dispextern.h (struct iterator_stack_entry.u.comp): Remove unused member discovered by using -Wswitch. * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch. * src/vm-limit.c (check_memory_limits): Simplify warning-diagnostic computation by using a table. etags ‘fatal’ function is now printf-like * lib-src/etags.c (fatal): Now printf-like. All callers changed. Also, now static; not clear why it needed to be extern. (verror): New function, with most of the old contents of ‘error’. (fatal, error): Use it. 2015-09-16 Eli Zaretskii More adaptations in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify-test05-dir-validity): Skip for w32notify in batch-mode. (Bug#21432) 2015-09-16 Michael Albinus Adapt test in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify-test04-file-validity): Skip for w32notify in batch-mode. Add test lost last commit. 2015-09-16 Dima Kogan winner no longer holds on to dead frames * lisp/winner.el (winner-change-fun): Cull dead frames. This prevents a potentially massive memory leak. See: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html 2015-09-16 Michael Albinus Use common report_file_notify_error function * src/fileio.c (report_file_notify_error): New function. * src/inotify.c (report_inotify_error): Remove function. (inotify_callback, symbol_to_inotifymask, Finotify_add_watch) (Finotify_rm_watch): Use report_file_notify_error. * src/lisp.h (report_file_notify_error): Declare external function. * src/w32notify.c (report_w32notify_error): Remove function. (Fw32notify_add_watch, Fw32notify_rm_watch): Use report_file_notify_error. 2015-09-16 Jay Belanger Fix documentation. * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of the documentation of the root mean square. 2015-09-16 Martin Rudalics Remove tool_bar_redisplayed_once and associated code. * src/frame.h (tool_bar_redisplayed_once): Remove slot. * src/frame.c (make_frame, x_set_font): Remove initialization of f->tool_bar_redisplayed_once. * src/w32fns.c (x_change_tool_bar_height): * src/xfns.c (x_change_tool_bar_height): Don't check for f->tool_bar_redisplayed_once. * src/xdisp.c (redisplay_internal): Remove handling of f->tool_bar_redisplayed_once. 2015-09-16 Eli Zaretskii Restore some of the quoting in the manuals * doc/lispref/windows.texi (Coordinates and Windows) (Coordinates and Windows): * doc/lispref/variables.texi (Lexical Binding) (File Local Variables): * doc/lispref/text.texi (Format Properties): * doc/lispref/symbols.texi (Symbol Components): * doc/lispref/strings.texi (Creating Strings): * doc/lispref/sequences.texi (Sequence Functions): * doc/lispref/searching.texi (Regexp Special, Regexp Search) (Search and Replace): * doc/lispref/processes.texi (Bindat Spec): * doc/lispref/os.texi (Idle Timers): * doc/lispref/objects.texi (Basic Char Syntax): * doc/lispref/numbers.texi (Float Basics, Random Numbers): * doc/lispref/nonascii.texi (Character Properties): * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks) (Mode Line Variables): * doc/lispref/minibuf.texi (Text from Minibuffer): * doc/lispref/loading.texi (Autoload): * doc/lispref/keymaps.texi (Controlling Active Maps): * doc/lispref/frames.texi (Frame Layout, Size and Position) (Size Parameters, Implied Frame Resizing): * doc/lispref/files.texi (Changing Files, Magic File Names): * doc/lispref/eval.texi (Self-Evaluating Forms): * doc/lispref/display.texi (Progress, Abstract Display) (Abstract Display Example, Bidirectional Display): * doc/lispref/commands.texi (Event Mod): * doc/emacs/windows.texi (Displaying Buffers): * doc/emacs/trouble.texi (Bug Criteria, Checklist): * doc/emacs/text.texi (Enriched Text): * doc/emacs/programs.texi (MixedCase Words): * doc/emacs/picture-xtra.texi (Insert in Picture) (Tabs in Picture): * doc/emacs/misc.texi (Emacs Server, Printing): * doc/emacs/mini.texi (Minibuffer History): * doc/emacs/maintaining.texi (Old Revisions, VC Change Log) (Pulling / Pushing): * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard): * doc/emacs/help.texi (Help, Help Echo): * doc/emacs/glossary.texi (Glossary): * doc/emacs/frames.texi (Mouse Commands, Creating Frames) (Frame Commands): * doc/emacs/files.texi (Reverting, Saving, Directories): * doc/emacs/entering.texi (Exiting): * doc/emacs/emacs.texi (Top): * doc/emacs/cmdargs.texi (Window Size X, Icons X): * doc/emacs/anti.texi (Antinews): Restore quoting of text where appropriate or replace quoting with @dfn. * doc/misc/ediff.texi (Window and Frame Configuration): * doc/lispref/processes.texi (Network Feature Testing): * doc/lispref/display.texi (Display Margins): Quote the phrase after "a.k.a." where appropriate. 2015-09-16 Tassilo Horn Clarify reftex-extra-bindings docs * lisp/textmodes/reftex-vars.el (reftex-extra-bindings): * doc/misc/reftex.texi (Key Bindings): Document that the variable only has an effect at load-time. 2015-09-16 Daniel McClanahan (tiny change) * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix search argument. (Bug#21492) (Bug#21493) 2015-09-16 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add pretty symbols for \qquad and \varrho. 2015-09-15 Jay Belanger Add new functions for the root mean square of a (Calc) vector * lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms): New functions. * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for `calc-vector-rms', add autoloads for `calc-vector-rms' and `calcFunc-rms'. * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for `calcFunc-rms'. * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for `calc-vector-rms'. * doc/misc/calc.texi (Single-Variable Statistics): Document the rms command. 2015-09-15 Stephen Leake Add monotone EDE generic project * lisp/cedet/ede/generic.el (ede-enable-generic-projects): Add monotone generic project. Revert premature commit * doc/lispref/files.texi: Revert premature commit of change to file-name-all-completions. Fix a bug in elisp--xref-find-definitions related to cl-generic defaults * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug with cl-generic defaults. (elisp--xref-find-references): Add doc string. * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve tests to find bug. Fix bugs in eieio-oref-default related to class symbols * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly. (eieio-oref-default): Handle class properly. 2015-09-15 Paul Eggert Quote “fullboth” when defining it * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth” and rewrite the containing paragraph, which was awkward. (Bug#21472). 2015-09-15 Eli Zaretskii Minor doc fix in emacs/ack.texi * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the first argument. 2015-09-15 Michael Albinus Adapt tests in auto-revert-tests.el * test/automated/auto-revert-tests.el (auto-revert--timeout): Make it a defconst. (auto-revert--wait-for-revert): New defun. (auto-revert-test00-auto-revert-mode) (auto-revert-test01-auto-revert-tail-mode) (auto-revert-test02-auto-revert-mode-dired): Use it. 2015-09-15 Stefan Monnier * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const. Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used. (cl-lib-fdefs): Add defgeneric. (cl-kw): Add all elements of eieio-kw and cl-lib-kw. (eieio-kw, cl-lib-kw, el-kw): Remove. 2015-09-15 Paul Eggert Quote less in manuals The manuals often used quotes ``...'' when it is better to use @dfn or @code or capitalized words or no quoting at all. For example, there is no need for the `` and '' in “if a variable has one effect for @code{nil} values and another effect for ``non-@code{nil}'' values”. Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate unnecessary quoting like this, and to use @dfn etc. instead when called for (Bug#21472). 2015-09-15 Mark Oteiza * lisp/custom.el (load-theme): Only compute hash when needed. 2015-09-15 Paul Eggert Pacify --enable-gcc-warnings * src/inotify.c (report_inotify_error): Declare it _Noreturn. 2015-09-15 Michael Albinus Improve error reports in inotify.c * src/inotify.c (report_inotify_error): New function. Clone of report_w32notify_error. (inotify_callback, symbol_to_inotifymask, Finotify_add_watch) (Finotify_rm_watch): Use it. 2015-09-15 Eli Zaretskii Fix the file-notify tests for watch validation on w32 * test/automated/file-notify-tests.el (file-notify-test04-file-validity): Move the directory deletion out of the file-notify--test-with-events macro. (file-notify-test04-file-validity) (file-notify-test05-dir-validity): Enlarge the timeout of read-event to 0.5, as 0.1 is borderline on w32. (Bug#21432) 2015-09-15 Tassilo Horn Use OPEN BOX instead of space for \quad. * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX character for \quad instead of a space. 2015-09-15 Eli Zaretskii Add missing *.pbm images * etc/images/connect.pbm: New file. * etc/images/custom/down-pushed.pbm: New file. * etc/images/custom/down.pbm: New file. * etc/images/custom/right-pushed.pbm: New file. * etc/images/custom/right.pbm: New file. * etc/images/describe.pbm: New file. * etc/images/disconnect.pbm: New file. * etc/images/ezimage/bits.pbm: New file. * etc/images/ezimage/bitsbang.pbm: New file. * etc/images/ezimage/box-minus.pbm: New file. * etc/images/ezimage/box-plus.pbm: New file. * etc/images/ezimage/box.pbm: New file. * etc/images/ezimage/checkmark.pbm: New file. * etc/images/ezimage/dir-minus.pbm: New file. * etc/images/ezimage/dir-plus.pbm: New file. * etc/images/ezimage/dir.pbm: New file. * etc/images/ezimage/doc-minus.pbm: New file. * etc/images/ezimage/doc-plus.pbm: New file. * etc/images/ezimage/doc.pbm: New file. * etc/images/ezimage/info.pbm: New file. * etc/images/ezimage/key.pbm: New file. * etc/images/ezimage/label.pbm: New file. * etc/images/ezimage/lock.pbm: New file. * etc/images/ezimage/mail.pbm: New file. * etc/images/ezimage/page-minus.pbm: New file. * etc/images/ezimage/page-plus.pbm: New file. * etc/images/ezimage/page.pbm: New file. * etc/images/ezimage/tag-gt.pbm: New file. * etc/images/ezimage/tag-minus.pbm: New file. * etc/images/ezimage/tag-plus.pbm: New file. * etc/images/ezimage/tag-type.pbm: New file. * etc/images/ezimage/tag-v.pbm: New file. * etc/images/ezimage/tag.pbm: New file. * etc/images/ezimage/unlock.pbm: New file. * etc/images/gnus/important.pbm: New file. * etc/images/gnus/mail-send.pbm: New file. * etc/images/gnus/receipt.pbm: New file. * etc/images/gnus/toggle-subscription.pbm: New file. * etc/images/gnus/unimportant.pbm: New file. * etc/images/gud/all.pbm: New file. * etc/images/gud/rcont.pbm: New file. * etc/images/gud/recstart.pbm: New file. * etc/images/gud/recstop.pbm: New file. * etc/images/gud/rfinish.pbm: New file. * etc/images/gud/rnext.pbm: New file. * etc/images/gud/rnexti.pbm: New file. * etc/images/gud/rstep.pbm: New file. * etc/images/gud/rstepi.pbm: New file. * etc/images/gud/thread.pbm: New file. * etc/images/lock-broken.pbm: New file. * etc/images/lock-ok.pbm: New file. * etc/images/lock.pbm: New file. * etc/images/mail/copy.pbm: New file. * etc/images/mail/forward.pbm: New file. * etc/images/mail/not-spam.pbm: New file. * etc/images/mail/outbox.pbm: New file. * etc/images/mail/preview.pbm: New file. * etc/images/mail/save-draft.pbm: New file. * etc/images/mh-logo.pbm: New file. * etc/images/mpc/add.pbm: New file. * etc/images/mpc/ffwd.pbm: New file. * etc/images/mpc/next.pbm: New file. * etc/images/mpc/pause.pbm: New file. * etc/images/mpc/play.pbm: New file. * etc/images/mpc/prev.pbm: New file. * etc/images/mpc/rewind.pbm: New file. * etc/images/mpc/stop.pbm: New file. * etc/images/redo.pbm: New file. * etc/images/smilies/braindamaged.pbm: New file. * etc/images/smilies/cry.pbm: New file. * etc/images/smilies/dead.pbm: New file. * etc/images/smilies/evil.pbm: New file. * etc/images/smilies/forced.pbm: New file. * etc/images/smilies/grin.pbm: New file. * etc/images/smilies/indifferent.pbm: New file. * etc/images/sort-ascending.pbm: New file. * etc/images/sort-column-ascending.pbm: New file. * etc/images/sort-criteria.pbm: New file. * etc/images/sort-descending.pbm: New file. * etc/images/sort-row-ascending.pbm: New file. * etc/images/unchecked.pbm: New file. * etc/images/zoom-in.pbm: New file. * etc/images/README: Update instructions for PBM files. Add separator.pbm tool-bar image * etc/images/separator.pbm: New file. Having it avoids the side effect of changing the tool-bar height when the default font's size changes and XPM image support is not available, due to the SPC characters that are left in the Lisp string used to display the tool bar, because there are no images to display instead of those SPC characters. Make show-paren-match face visible on mono-color displays * lisp/faces.el (show-paren-match): Use the underline face for mono-color displays. (Bug#21481) 2015-09-14 Paul Eggert Don’t double-encode non-ASCII mail clipboard * lisp/mail/mailclient.el (mailclient-send-it): Also fix the case when mailclient-place-body-on-clipboard-flag is non-nil. Problem reported by Eli Zaretskii (Bug#21471#37). 2015-09-14 Michael Albinus Adapt file-notify-tests.el test cases * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'. * src/inotify.c (Finotify_valid_p): Adapt docstring. * test/automated/file-notify-tests.el (file-notify-test03-autorevert) (file-notify-test04-file-validity) (file-notify-test04-file-validity-remote) (file-notify-test05-dir-validity) (file-notify-test05-dir-validity-remote): Adapt docstring. (file-notify-test04-file-validity): Let events arrive before calling final `file-notify-valid-p'. Do not ignore errors. (file-notify-test05-dir-validity): Do not manipulate `temporary-file-directory', it isn't necessary. Let events arrive before calling final `file-notify-valid-p'. Do not ignore errors. 2015-09-14 Paul Eggert Don’t double-encode non-ASCII for mail client * lisp/mail/mailclient.el (mailclient-encode-string-as-url): Use RFC 6068’s list of unreserved characters. (mailclient-send-it): When encoding the body as a URL, first decode it as per Content-Type: and Content-Transfer-Encoding:, as URLs must use percent-encoded UTF-8 (Bug#21471). * doc/misc/url.texi (mailto): Update RFC number. 2015-09-14 Stefan Monnier * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist. 2015-09-14 Alan Mackenzie Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with `cadr/car'. 2015-09-14 Eli Zaretskii Clarify documentation of char-table extra slots * doc/lispref/sequences.texi (Char-Tables): Clarify that extra slot numbers are zero-based. (Bug#21467) 2015-09-14 Alan Mackenzie Elisp mode: Make font-lock and imenu handle escaped characters in symbols Fixes bug#21449. * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression) (lisp--el-match-keyword, lisp-el-font-lock-keywords-1) (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p): Insert "\\|\\\\." into regexps which match symbols. 2015-09-14 Eli Zaretskii Improve the doc string of w32notify-valid-p * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string that removing a watch makes its object invalid. 2015-09-14 Tassilo Horn Fix tests for file-notify-valid-p * test/automated/file-notify-tests.el (file-notify--test-cleanup): Use delete-directory to delete file-notify--test-tmpfile if it is a directory. Likewise for file-notify--test-tmpfile1. (file-notify-test04-file-validity) (file-notify-test05-dir-validity): Delete the parent directory of the test. Ignore errors when cleaning up after the test. 2015-09-14 Eli Zaretskii Report file-notify-error in w32notify.c * src/w32notify.c (report_w32notify_error): New function. (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report errors, instead of calling report_file_error. (Bug#21432) Implement w32notify-valid-p * src/w32notify.c (Fw32notify_valid_p): New function. (Bug#21432) * lisp/filenotify.el (w32notify-valid-p): No longer an alias for 'identity'. 2015-09-14 Tassilo Horn Test file-notify-valid-p * test/automated/file-notify-tests.el (file-notify-test04-file-validity, file-notify-test05-dir-validity): New tests. 2015-09-13 Eli Zaretskii Fix markup in ELisp manual * doc/lispref/frames.texi (Font and Color Parameters): Fix markup of the 'alpha' parameter value. (Bug#21470) 2015-09-13 Michael Albinus Introduce `file-notify-valid-p' * lisp/filenotify.el (file-notify-valid-p): New defun. (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'. * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist) * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist) * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist) * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist) : Add handler. * lisp/net/tramp.el (tramp-file-name-for-operation): Add `file-notify-valid-p'. (tramp-handle-file-notify-valid-p): New defun. * src/inotify.c (Finotify_valid_p): New defun. (syms_of_inotify): Declare Sinotify_valid_p. 2015-09-13 Paul Eggert Port Unicode char detection to FreeBSD+svgalib Problem reported by Ashish SHUKLA in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html * configure.ac: Check for struct unipair.unicode instead of for , since that’s more specific to what the code actually needs. * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H. * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468). 2015-09-13 Eli Zaretskii Fix vertical cursor motion across overlay strings with newlines * src/indent.c (Fvertical_motion): Don't leave point in the middle of an overlay string with newlines, as that will position the cursor after the string at whatever column is there. (Bug#21468) 2015-09-12 Michael Albinus Fix tests in file-notify-tests.el * test/automated/file-notify-tests.el: Remove Tramp declarations. (file-notify-test00-availability): Print remote command w/o Tramp internal functions. (file-notify-test02-events, file-notify-test02-events-remote): Adapt docstring. (file-notify-test03-autorevert): Use `format-message' when inspecting *Messages* buffer. 2015-09-12 Stefan Monnier Bind inhibit-modification-hooks rather than a/b-c-f * lisp/wid-edit.el (widget-editable-list-insert-before) (widget-editable-list-delete-at): * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres) (cperl-font-lock-unfontify-region-function): * lisp/progmodes/antlr-mode.el (save-buffer-state-x): * lisp/obsolete/longlines.el (longlines-mode): * lisp/obsolete/fast-lock.el (save-buffer-state): * lisp/mouse.el (mouse-save-then-kill-delete-region): * lisp/gnus/message.el (message-hide-headers): * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter): * lisp/ibuffer.el (ibuffer-update-title-and-summary) (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather than after/before-change-functions to nil. 2015-09-11 Stefan Monnier (jit-lock-deferred-fontify): Pay attention to skipped redisplays * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh the buffers, even if the forced redisplay is interrupted. * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects Merge syntax-propertize--done and parse-sexp-propertize-done * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove. (syntax-propertize): Set syntax-propertize--done even if syntax-propertize-function is nil. Avoid recursive invocations. (syntax-propertize-chunks): New var. (internal--syntax-propertize): Use it. Rename from syntax--jit-propertize. Simplify. (parse-sexp-propertize-function): Don't set any more. * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed. (parse_sexp_propertize): Don't assume charpos is not yet propertized. Call Qinternal__syntax_propertize instead of Vparse_sexp_propertize_function. Truncate e_property if needed. (update_syntax_table_forward): Streamline. (syms_of_syntax): Define Qinternal__syntax_propertize. (syntax_propertize__done): Rename from parse_sexp_propertize_done. 2015-09-11 Paul Eggert Prefer straight quoting in some text files Mostly this just changes ` to ' in static text. Some exceptions: * INSTALL.REPO: Use curved quotes, as the diagnostic in question typically does that now. * admin/quick-install-emacs (TRY, top level): Use straight quoting in diagnostics. * src/README: Fix working-directory confusion. * CONTRIBUTE: Move send-email here from git-workflow. 2015-09-11 Michael Albinus Improve file notifications in Tramp * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): Set proper events to watch for. (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only watched events. 2015-09-11 Eli Zaretskii Fix NS build with --enable-checking='glyphs' * src/nsfns.m (unwind_create_frame): Make the preprocessor conditionals for referencing 'dpyinfo' consistent throughout the function. (Bug#21426) 2015-09-10 Nicolas Petton Add seq-find This function is similar to `seq-some' but returns the found element. In the cases where nil can be the found element, a sentinel optional argument can be provided to avoid ambiguities. * lisp/emacs-lisp/seq.el (seq-find): New function. * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'. * doc/lispref/sequences.texi (Sequence Functions): Add documentation for seq-find. 2015-09-10 Tassilo Horn Document file-notify--test-with-events. * test/automated/file-notify-tests.el (file-notify--test-with-events): Add docstring. 2015-09-10 Michael Albinus Report used native library in file-notify-tests.el * test/automated/file-notify-tests.el (tramp-get-remote-gvfs-monitor-dir) (tramp-get-remote-inotifywait): Declare them. (file-notify-test00-availability): Print used native library. 2015-09-10 Mark Oteiza * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p. (mpc-file-local-copy): Check for absolute path. Check more config locations. 2015-09-10 Eli Zaretskii Improve documentation of categories * doc/lispref/syntax.texi (Categories): Clarify the example of using define-category and modify-category-entry. (Bug#21448) 2015-09-10 Paul Eggert Revert some stray curved quotes I missed earlier Problem reported by David Kastrup in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html * lisp/international/mule-cmds.el (leim-list-header): Use format-message with an ASCII-only format. Prefer NUMBERP to spelling it out * src/editfns.c (styled_format): * src/frame.h (NUMVAL): * src/image.c (parse_image_spec): * src/lisp.h (CHECK_NUMBER_OR_FLOAT) (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): * src/process.c (Fsignal_process): * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p): * src/xfaces.c (check_lface_attrs): * src/xselect.c (x_fill_property_data, x_send_client_event): Use NUMBERP rather than INTEGERP || FLOATP. 2015-09-10 Tassilo Horn Improve file-notify-tests * test/automated/file-notify-tests.el: Use lexical-binding. (file-notify--test-cleanup): New function. (file-notify-test00-availability, file-notify-test01-add-watch) (file-notify-test02-events, file-notify-test03-autorevert): Use it. (file-notify--test-with-events): New macro. (file-notify-test02-events): Use it. 2015-09-10 Paul Eggert Add patch-sending instructions to git-workflow From a suggestion by Mitchel Humpherys in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html * admin/notes/git-workflow (Sending patches): New section. Port to GIFLIB 5.0.6 and later Problem reported by Mitchel Humpherys in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro. (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]: (gif_load) [HAVE_GIF]: Use it. 2015-09-10 Glenn Morris * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix. 2015-09-09 Glenn Morris * test/automated/file-notify-tests.el (file-notify-test02-events): Fix recent change. 2015-09-09 Paul Eggert Refix movemail GCC pacification Problem reported by Ken Brown in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html * lib-src/movemail.c (main): Fix previous change. 2015-09-09 Stefan Monnier * lisp/calendar/time-date.el (time-to-seconds, time-less-p): Mark unused vars with underscore. * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation... (parse_sexp_propertize): ...from here. * lisp/filenotify.el: Use lexical-binding (file-notify-add-watch): Avoid add-to-list. 2015-09-09 Tassilo Horn Start checking event types in file-notify tests * test/automated/file-notify-tests.el (file-notify--test-events): New variable. (file-notify--test-event-handler): Append received event to file-notify--test-events for later analysis. (file-notify-test02-events): Assert that the expected notifications have arrived in the expected order. 2015-09-09 Paul Eggert Merge from gnulib and texinfo This incorporates: 2015-08-03 Improve port of stdalign to C++11 * lib/stdalign.in.h: Copy from gnulib. * doc/misc/texinfo.tex: Copy from texinfo. 2015-09-09 Stefan Monnier Make syntax.c call syntax-propertize on demand * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function. (parse-sexp-propertize-function): Use it. (syntax-propertize): Disable parse-sexp-propertize-function. * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward): New functions. (syms_of_syntax): New vars `parse-sexp-propertize-done' and `parse-sexp-propertize-function'. * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field. (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward. (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated. * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize): Don't assume `point' is set. 2015-09-09 Eli Zaretskii Fix indentation of an @example in ELisp manual * doc/lispref/syntax.texi (Categories): Untabify the example. (Bug#21448) 2015-09-09 Paul Eggert Define internal-char-font even if --without-x The function is used now even in non-graphical environments. Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html * src/font.c (Finternal_char_font): Move here ... * src/fontset.c (Finternal_char_font): ... from here. 2015-09-09 Stefan Monnier * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Remove warning. 2015-09-09 Eli Zaretskii Fix display of complex local data types in GDB-MI * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a variable has no value, display "" as a placeholder, instead of a confusing "nil". (Bug#21438) 2015-09-09 Oleh Krehel Remove redundant redefinition of seq-drop-while from seq.el * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once. 2015-09-09 Phil Sainty * lisp/emacs-lisp/package.el (package--ensure-init-file): More robust check for `package-initialize' calls in init file. This function accepts an optional argument, but calls passing an argument would not have been detected. 2015-09-09 Paul Eggert Port movemail to RHEL 6 with --enable-gcc-warnings * lib-src/movemail.c (main): Declare local only if needed. Port recent Linux console changes to RHEL 6 * src/terminal.c [HAVE_LINUX_KD_H]: Include . Improvements for curved quotes on Linux consule This should help Emacs work better out-of-the-box on Linux consoles, which have only limited support for displaying Unicode characters. Also, undo the recent change that caused text-quoting-style to affect quote display on terminals, so that the two features are independent. See Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html Finally, add a style parameter to startup--setup-quote-display, so that this function can also be invoked after startup, with different styles depending on user preference at the time. * configure.ac: Check for linux/kd.h header. * doc/emacs/display.texi (Text Display): Document quote display. * doc/lispref/display.texi (Active Display Table): * etc/NEWS: * lisp/startup.el (startup--setup-quote-display, command-line): text-quoting-style no longer affects quote display. * doc/lispref/frames.texi (Terminal Parameters): Fix typo. * lisp/international/mule-util.el (char-displayable-p): * lisp/startup.el (startup--setup-quote-display): On a text terminal supporting glyph codes, use the reported glyph codes instead of the terminal coding system, as this is more accurate on the Linux console. * lisp/startup.el (startup--setup-quote-display): New optional arg STYLE. * src/fontset.c (Finternal_char_font): Report glyph codes for a text terminal, if they are available. Currently this is supported only for the Linux console. * src/termhooks.h (struct terminal): New member glyph-code-table. * src/terminal.c [HAVE_LINUX_KD_H]: Include , . (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function. (terminal_glyph_code): New function. 2015-09-08 Juri Linkov * lisp/info.el (Info-fontify-node): Don't stop at the non-title underline. (Bug#21433) 2015-09-08 Stefan Monnier * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec. 2015-09-08 Tassilo Horn Fix double-reporting of rename events with inotify * lisp/filenotify.el (file-notify-callback): Fix double-reporting of rename events with inotify (bug#21435). 2015-09-08 Vasilij Schneidermann (tiny change) * lisp/play/tetris.el (tetris-move-down): New command (bug#21360). (tetris-mode-map): Use it. 2015-09-08 Stefan Monnier Remove a few simple cases of global redisplay * src/dispnew.c (redraw_frame): Don't redisplay all frames. * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit rather than returning a "resized_p" boolean. (redisplay_internal): Adjust call accordingly. * src/xfaces.c (free_realized_faces): Don't redisplay all frames. (free_all_realized_faces): Set windows_or_buffers_changed so as to ease tracking of this undesirable situation. * src/process.c (status_notify): Avoid global redisplay (bug#11822) * src/process.c (status_notify): Only set the update_mode_line on the relevant buffers rather than setting it globally. 2015-09-07 Stefan Monnier * lisp/electric.el (electric-quote-post-self-insert-function): Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode). (electric-quote-mode): Activate everywhere in message-mode. 2015-09-07 Paul Eggert Go back to grave quoting in source-code docstrings etc. This reverts almost all my recent changes to use curved quotes in docstrings and/or strings used for error diagnostics. There are a few exceptions, e.g., Bahá’í proper names. * admin/unidata/unidata-gen.el (unidata-gen-table): * lisp/abbrev.el (expand-region-abbrevs): * lisp/align.el (align-region): * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet) (outlineify-sticky): * lisp/apropos.el (apropos-library): * lisp/bookmark.el (bookmark-default-annotation-text): * lisp/button.el (button-category-symbol, button-put) (make-text-button): * lisp/calc/calc-aent.el (math-read-if, math-read-factor): * lisp/calc/calc-embed.el (calc-do-embedded): * lisp/calc/calc-ext.el (calc-user-function-list): * lisp/calc/calc-graph.el (calc-graph-show-dumb): * lisp/calc/calc-help.el (calc-describe-key) (calc-describe-thing, calc-full-help): * lisp/calc/calc-lang.el (calc-c-language) (math-parse-fortran-vector-end, math-parse-tex-sum) (math-parse-eqn-matrix, math-parse-eqn-prime) (calc-yacas-language, calc-maxima-language, calc-giac-language) (math-read-giac-subscr, math-read-math-subscr) (math-read-big-rec, math-read-big-balance): * lisp/calc/calc-misc.el (calc-help, report-calc-bug): * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes) (calc-auto-recompute): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-read-parse-table-part, calc-user-define-invocation) (math-do-arg-check): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-vec.el (math-read-brackets): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calc/calc.el (calc, calc-do, calc-user-invocation): * lisp/calendar/appt.el (appt-display-message): * lisp/calendar/diary-lib.el (diary-check-diary-file) (diary-mail-entries, diary-from-outlook): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--convert-float-to-ical) (icalendar--convert-date-to-ical) (icalendar--convert-ical-to-diary) (icalendar--convert-recurring-to-diary) (icalendar--add-diary-entry): * lisp/calendar/time-date.el (format-seconds): * lisp/calendar/timeclock.el (timeclock-mode-line-display) (timeclock-make-hours-explicit, timeclock-log-data): * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category) (todo-item-mark, todo-check-format) (todo-insert-item--next-param, todo-edit-item--next-key) (todo-mode): * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules): * lisp/cedet/mode-local.el (describe-mode-local-overload) (mode-local-print-binding, mode-local-describe-bindings-2): * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-start.el (standard): * lisp/cus-theme.el (describe-theme-1): * lisp/custom.el (custom-add-dependencies, custom-check-theme) (custom--sort-vars-1, load-theme): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/dired-x.el (dired-do-run-mail): * lisp/dired.el (dired-log): * lisp/emacs-lisp/advice.el (ad-read-advised-function) (ad-read-advice-class, ad-read-advice-name, ad-enable-advice) (ad-disable-advice, ad-remove-advice, ad-set-argument) (ad-set-arguments, ad--defalias-fset, ad-activate) (ad-deactivate): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand) (byte-compile-unfold-lambda, byte-optimize-form-code-walker) (byte-optimize-while, byte-optimize-apply): * lisp/emacs-lisp/byte-run.el (defun, defsubst): * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode) (byte-compile-log-file, byte-compile-format-warn) (byte-compile-nogroup-warn, byte-compile-arglist-warn) (byte-compile-cl-warn) (byte-compile-warn-about-unresolved-functions) (byte-compile-file, byte-compile--declare-var) (byte-compile-file-form-defmumble, byte-compile-form) (byte-compile-normal-call, byte-compile-check-variable) (byte-compile-variable-ref, byte-compile-variable-set) (byte-compile-subr-wrong-args, byte-compile-setq-default) (byte-compile-negation-optimizer) (byte-compile-condition-case--old) (byte-compile-condition-case--new, byte-compile-save-excursion) (byte-compile-defvar, byte-compile-autoload) (byte-compile-lambda-form) (byte-compile-make-variable-buffer-local, display-call-tree) (batch-byte-compile): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use): * lisp/emacs-lisp/chart.el (chart-space-usage): * lisp/emacs-lisp/check-declare.el (check-declare-scan) (check-declare-warn, check-declare-file) (check-declare-directory): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-message-text-engine): * lisp/emacs-lisp/cl-extra.el (cl-parse-integer) (cl--describe-class): * lisp/emacs-lisp/cl-generic.el (cl-defgeneric) (cl--generic-describe, cl-generic-generalizers): * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody) (cl-symbol-macrolet): * lisp/emacs-lisp/cl.el (cl-unload-function, flet): * lisp/emacs-lisp/copyright.el (copyright) (copyright-update-directory): * lisp/emacs-lisp/edebug.el (edebug-read-list): * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read): * lisp/emacs-lisp/eieio-core.el (eieio--slot-override) (eieio-oref): * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): * lisp/emacs-lisp/eieio-speedbar.el: (eieio-speedbar-child-make-tag-lines) (eieio-speedbar-child-description): * lisp/emacs-lisp/eieio.el (defclass, change-class): * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms) (elint-init-form, elint-check-defalias-form) (elint-check-let-form): * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu) (ert-results-pop-to-backtrace-for-test-at-point) (ert-results-pop-to-messages-for-test-at-point) (ert-results-pop-to-should-forms-for-test-at-point) (ert-describe-test): * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol) (find-function-library): * lisp/emacs-lisp/generator.el (iter-yield): * lisp/emacs-lisp/gv.el (gv-define-simple-setter): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring) (advice--make, define-advice): * lisp/emacs-lisp/package-x.el (package-upload-file): * lisp/emacs-lisp/package.el (package-version-join) (package-disabled-p, package-activate-1, package-activate) (package--download-one-archive) (package--download-and-read-archives) (package-compute-transaction, package-install-from-archive) (package-install, package-install-selected-packages) (package-delete, package-autoremove, describe-package-1) (package-install-button-action, package-delete-button-action) (package-menu-hide-package, package-menu--list-to-prompt) (package-menu--perform-transaction) (package-menu--find-and-notify-upgrades): * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1): * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode): * lisp/emacs-lisp/ring.el (ring-previous, ring-next): * lisp/emacs-lisp/rx.el (rx-check, rx-anything) (rx-check-any-string, rx-check-any, rx-check-not, rx-=) (rx-repeat, rx-check-backref, rx-syntax, rx-check-category) (rx-form): * lisp/emacs-lisp/smie.el (smie-config-save): * lisp/emacs-lisp/subr-x.el (internal--check-binding): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): * lisp/emacs-lisp/testcover.el (testcover-1value): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments) (viper-toggle-search-style, viper-kill-buffer) (viper-brac-function): * lisp/emulation/viper-macs.el (viper-record-kbd-macro): * lisp/env.el (setenv): * lisp/erc/erc-button.el (erc-nick-popup): * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english): * lisp/eshell/em-dirs.el (eshell/cd): * lisp/eshell/em-glob.el (eshell-glob-regexp) (eshell-glob-entries): * lisp/eshell/em-pred.el (eshell-parse-modifiers): * lisp/eshell/esh-opt.el (eshell-show-usage): * lisp/facemenu.el (facemenu-add-new-face) (facemenu-add-new-color): * lisp/faces.el (read-face-name, read-face-font, describe-face) (x-resolve-font-name): * lisp/files-x.el (modify-file-local-variable): * lisp/files.el (locate-user-emacs-file, find-alternate-file) (set-auto-mode, hack-one-local-variable--obsolete) (dir-locals-set-directory-class, write-file, basic-save-buffer) (delete-directory, copy-directory, recover-session) (recover-session-finish, insert-directory) (file-modes-char-to-who, file-modes-symbolic-to-number) (move-file-to-trash): * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer): * lisp/find-cmd.el (find-generic, find-to-string): * lisp/finder.el (finder-commentary): * lisp/font-lock.el (font-lock-fontify-buffer): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/frame.el (get-device-terminal, select-frame-by-name): * lisp/fringe.el (fringe--check-style): * lisp/gnus/nnmairix.el (nnmairix-widget-create-query): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode) (describe-minor-mode-from-indicator): * lisp/image.el (image-type): * lisp/international/ccl.el (ccl-dump): * lisp/international/fontset.el (x-must-resolve-font-name): * lisp/international/mule-cmds.el (prefer-coding-system) (select-safe-coding-system-interactively) (select-safe-coding-system, activate-input-method) (toggle-input-method, describe-current-input-method) (describe-language-environment): * lisp/international/mule-conf.el (code-offset): * lisp/international/mule-diag.el (describe-character-set) (list-input-methods-1): * lisp/mail/feedmail.el (feedmail-run-the-queue): * lisp/mouse.el (minor-mode-menu-from-indicator): * lisp/mpc.el (mpc-playlist-rename): * lisp/msb.el (msb--choose-menu): * lisp/net/ange-ftp.el (ange-ftp-shell-command): * lisp/net/imap.el (imap-interactive-login): * lisp/net/mairix.el (mairix-widget-create-query): * lisp/net/newst-backend.el (newsticker--sentinel-work): * lisp/net/newst-treeview.el (newsticker--treeview-load): * lisp/net/rlogin.el (rlogin): * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer): * lisp/obsolete/otodo-mode.el (todo-more-important-p): * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region): * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region): * lisp/org/ob-core.el (org-babel-goto-named-src-block) (org-babel-goto-named-result): * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap): * lisp/org/ob-ref.el (org-babel-ref-resolve): * lisp/org/org-agenda.el (org-agenda-prepare): * lisp/org/org-clock.el (org-clock-notify-once-if-expired) (org-clock-resolve): * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag): * lisp/org/org-feed.el (org-feed-parse-atom-entry): * lisp/org/org-habit.el (org-habit-parse-todo): * lisp/org/org-mouse.el (org-mouse-popup-global-menu) (org-mouse-context-menu): * lisp/org/org-table.el (org-table-edit-formulas): * lisp/org/ox.el (org-export-async-start): * lisp/proced.el (proced-log): * lisp/progmodes/ada-mode.el (ada-get-indent-case) (ada-check-matching-start, ada-goto-matching-start): * lisp/progmodes/ada-prj.el (ada-prj-display-page): * lisp/progmodes/ada-xref.el (ada-find-executable): * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos): * lisp/progmodes/etags.el (etags-tags-apropos-additional): * lisp/progmodes/flymake.el (flymake-parse-err-lines) (flymake-start-syntax-check-process): * lisp/progmodes/python.el (python-shell-get-process-or-error) (python-define-auxiliary-skeleton): * lisp/progmodes/sql.el (sql-comint): * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point): * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate): * lisp/recentf.el (recentf-open-files): * lisp/replace.el (query-replace-read-from) (occur-after-change-function, occur-1): * lisp/scroll-bar.el (scroll-bar-columns): * lisp/server.el (server-get-auth-key): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, list-processes--refresh) (compose-mail, set-variable, choose-completion-string) (define-alternatives): * lisp/startup.el (site-run-file, tty-handle-args, command-line) (command-line-1): * lisp/subr.el (noreturn, define-error, add-to-list) (read-char-choice, version-to-list): * lisp/term/common-win.el (x-handle-xrm-switch) (x-handle-name-switch, x-handle-args): * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid): * lisp/textmodes/reftex-ref.el (reftex-label): * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): * lisp/textmodes/two-column.el (2C-split): * lisp/tutorial.el (tutorial--describe-nonstandard-key) (tutorial--find-changed-keys): * lisp/type-break.el (type-break-noninteractive-query): * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes) (wdired-do-perm-changes): * lisp/whitespace.el (whitespace-report-region): Prefer grave quoting in source-code strings used to generate help and diagnostics. * lisp/faces.el (face-documentation): No need to convert quotes, since the result is a docstring. * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, info-apropos): Simplify by generating only curved quotes, since info files are typically that ways nowadays anyway. * lisp/international/mule-diag.el (list-input-methods): Don’t assume text quoting style is curved. * lisp/org/org-bibtex.el (org-bibtex-fields): Revert my recent changes, going back to the old quoting style. 2015-09-07 Artur Malabarba * lisp/emacs-lisp/package.el: Reduce autoloading before compiling. (package--autoloads-file-name) (package--activate-autoloads-and-load-path): New function. (package-activate-1): Delegate autoloading and load-path configuration to `package--activate-autoloads-and-load-path'. (package--compile): Before compilation, call `package--activate-autoloads-and-load-path' instead of `package-activate-1'. 2015-09-07 Stefan Monnier * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403). 2015-09-07 Eli Zaretskii Fix deletion of symlinks to directories on MS-Windows * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a symlink to a directory, try again with 'rmdir'. (is_symlink): If the argument is a symlink to a directory, set a bit in the return value to indicate that fact. 2015-09-07 Artur Malabarba * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup When `package-initialize' is called as part of loading the init file, the user probably doesn't want it to be called again afterwards. In this situation, `package-initialize' now sets `package-enable-at-startup' to nil to prevent that. The user can have the old behavior by setting this variable to t after the call to `package-initialize'. (Bug#21423) * doc/emacs/package.texi (Package Installation): Document it. * doc/lispref/package.texi (Packaging Basics): Document it. * etc/NEWS: Document it. 2015-09-06 Thomas Fitzsimmons Bump version of ntlm.el to 2.00 * lisp/net/ntlm.el: Bump version to 2.00. New maintainer. Add comm keyword. 2015-09-06 Adam Sjøgren * doc/misc/gnus.texi (Mail Source Specifiers): Allow :mailbox to be a list. 2015-09-06 Dmitry Gutov * lisp/progmodes/etags.el (etags-tags-completion-table): Allow even one non-regular character before the implicit tag name. Reported at http://emacs.stackexchange.com/questions/15269/. 2015-09-06 Thomas Fitzsimmons Add support for NTLMv2 authentication * lisp/net/ntlm.el (ntlm): New customization group. (ntlm-compatibility-level): New defcustom. (ntlm-compute-timestamp): New function. (ntlm-generate-nonce): Likewise. (ntlm-build-auth-response): Add support for NTLMv2 authentication. 2015-09-06 Artur Malabarba * lisp/emacs-lisp/package.el: Rename custom faces. All of the recently introduced faces, like `package-name-face', have been renamed to no end in `-face' to comply with the convention described in (info "(elisp) Defining Faces"). (package-name, package-description) (package-status-built-in, package-status-external) (package-status-available, package-status-new) (package-status-held, package-status-disabled) (package-status-installed, package-status-dependency) (package-status-unsigned, package-status-incompat) (package-status-avail-obso): New faces. (package-menu--print-info-simple): Use them. 2015-09-06 Adam Sjøgren mail-source.el: Make the imap mail-source's :mailbox handle a list * lisp/gnus/mail-source.el (mail-source-fetch-imap): Allow :mailbox to be a list. 2015-09-06 Eric Abrahamsen nnimap.el: Handle nil arg to nnimap-request-group * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg. This arg isn't always passed in, check it's not nil before making it into a list. The active arg will also be nil if the group is new, check for that. 2015-09-06 Michael Albinus File notifications: Support renaming over directory boundaries * lisp/filenotify.el (file-notify-handle-event): (file-notify--pending-event): Adapt docstring. (file-notify--descriptor, file-notify-callback): Reimplement in order to support renaming over directory boundaries. (file-notify-add-watch): Adapt `file-notify--descriptor' call. * doc/lispref/os.texi (File Notifications): Remove limitation of file renaming to the same directory. 2015-09-05 Paul Eggert Spelling fix (Bug#21420) 2015-09-05 Nicolas Petton Improve the semantic of map-some Update map-some to return the returned by the predicate, similar to seq-some. * lisp/emacs-lisp/map.el (map-some): Update the function to return the return value of the predicate. * test/automated/map-tests.el (test-map-some): Update the test to check for non-nil values only. Rename map-contains-key-p and map-some-p Remove the "-p" suffix from both function names. * lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename the functions. * test/automated/map-tests.el (test-map-contains-key, test-map-some): Update both test functions. Improve the semantic of seq-some Update seq-some to return non-nil if the predicate returns non-nil for any element of the seq, in which case the returned value is the one returned by the predicate. * lisp/emacs-lisp/seq.el (seq-some): Update the function and its docstring. * test/automated/seq-tests.el (test-seq-some): Add a regression test. * doc/lispref/sequences.texi (Sequence Functions): Update the documentation for seq-some. Rename seq-some-p to seq-some and seq-contains-p to seq-contains * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions without the "-p" prefix. * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update the tests accordingly. * doc/lispref/sequences.texi (Sequence Functions): Update the documentation for seq.el. 2015-09-05 Paul Eggert text-quoting-style for usage of fn names with ‘’ * lisp/help.el (help--docstring-quote): Don’t assume text-quoting-style is ‘curve’ when generating usage strings for functions whose names contain curved quotes. 2015-09-05 Paul Eggert Fix fix for describe-function keybinding confusion This fixes a bug introduced by the previous patch. * lisp/help-fns.el (help-fns--signature): Last arg of help-fns--signature is now a buffer, or nil if a raw signature is wanted. All callers changed. (describe-function-1): Use this to do the right thing with signatures. 2015-09-05 Johan Bockgård * doc/lispref/frames.texi (Mouse Tracking): Fix typo. Use PAT rather than UPAT in pcase macros * lisp/emacs-lisp/cl-macs.el (cl-struct) : * lisp/emacs-lisp/eieio.el (eieio) : Use PAT rather than UPAT. 2015-09-05 Paul Eggert Fix describe-function keybinding confusion * lisp/help-fns.el (describe-function-1): Compute signature in the original buffer, not in standard-output, so that substitute-command-keys uses the proper keybindings. This fixes Bug#21412, introduced in commit 2015-06-11T10:23:46-0700!eggert@cs.ucla.edu. 2015-09-05 Xue Fuqiao * doc/emacs/programs.texi (Program Modes): Remove an index entry. 2015-09-05 Robert Pluim (tiny change) Avoid read error messages from 'inotify' * src/process.c (wait_reading_process_output): Add a 'tls_available' set and manipulate it instead of 'Available' when checking TLS inputs. Assign the value to 'Available' only if we find any TLS data waiting to be read. This avoids error messages from 'inotify' that tries to read data it shouldn't. (Bug#21337) 2015-09-05 Eli Zaretskii Avoid errors in thing-at-point with 2nd argument non-nil * lisp/thingatpt.el (thing-at-point): Only call 'length' on sequences. (Bug#21391) 2015-09-05 Philip (tiny change) Fix segfaults due to using a stale face ID * src/xdisp.c (forget_escape_and_glyphless_faces): New function. (display_echo_area_1, redisplay_internal): Call it to avoid reusing stale face IDs for 'escape-glyph' and 'glyphless-char' faces, which could case a segfault if the frame's face cache was freed since the last redisplay. (Bug#21394) * src/xfaces.c (free_realized_faces): Call forget_escape_and_glyphless_faces. * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype. 2015-09-04 Paul Eggert Fix minor problems with " in manual 2015-09-04 Michael Albinus * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc multi-hop files. 2015-09-04 Paul Eggert Support automated ‘make check’ in non-C locale This lets the builder optionally test Emacs behavior in other locales. The C locale is still the default for tests. * test/automated/Makefile.in (TEST_LOCALE): New macro. (emacs): Use it. * test/automated/flymake-tests.el (flymake-tests--current-face): Use C locale for subprocesses so that tests behave as expected. * test/automated/python-tests.el: (python-shell-prompt-validate-regexps-1) (python-shell-prompt-validate-regexps-2) (python-shell-prompt-validate-regexps-3) (python-shell-prompt-validate-regexps-4) (python-shell-prompt-validate-regexps-5) (python-shell-prompt-validate-regexps-6) (python-shell-prompt-set-calculated-regexps-1): Adjust expected output to match locale. * test/automated/tildify-tests.el (tildify-test--test) (tildify-space-test--test, tildify-space-undo-test--test): This test assumes UTF-8 encoding. 2015-09-03 Paul Eggert Fix some more docstring etc. quoting problems Mostly these fixes prevent the transliteration of apostrophes that should stay apostrophes. Also, prefer curved quotes in Bahá’í proper names, as that’s the preferred Bahá’í style and these names are chock-full of non-ASCII characters anyway. * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload) (eieio-defclass-internal): * lisp/emacs-lisp/eieio.el (defclass): * lisp/hi-lock.el (hi-lock-mode): Don’t transliterate Lisp apostrophes when generating a doc string or diagnostic. * lisp/international/mule-diag.el (list-coding-systems-1): * lisp/international/ogonek.el (ogonek-jak, ogonek-how): * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer): * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Substitute quotes before putting them in the help buffer. 2015-09-03 Stefan Monnier Re-add the notion of echo_prompt lost in the translation * src/keyboard.h (struct kboard): Replace echo_after_prompt with new echo_prompt which contains the actual string. Update all uses. * src/keyboard.c (kset_echo_prompt): New function. (echo_update): Add echo_prompt at the very beginning. (read_char): Remove workaround for bug#19875, not needed any more. (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403). (mark_kboards): Mark echo_prompt. Fix disassembly of non-compiled lexical functions (bug#21377) * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg. * lisp/emacs-lisp/disass.el: Use lexical-binding. (disassemble): Recognize `closure's as well. (disassemble-internal): Use indirect-function and help-function-arglist, and accept `closure's. (disassemble-internal): Use interactive-form. (disassemble-1): Use functionp. * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Don't compose inside verbatim blocks! 2015-09-03 Mark Oteiza * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:" (bug#19441). * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394). 2015-09-03 Dmitry Gutov vc-git-mode-line-string: Explicitly re-apply the face * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply the face (bug#21404). 2015-09-02 Paul Eggert Treat initial-scratch-message as a doc string * doc/emacs/building.texi (Lisp Interaction): * doc/lispref/os.texi (Startup Summary): * etc/NEWS: Document this. * lisp/startup.el (initial-scratch-message): Look up find-file’s key rather than hardcoding it. (command-line-1): Substitute the doc string. This also substitutes the quotes, which will help test display quoting at startup. Fix describe-char bug with glyphs on terminals * lisp/descr-text.el (describe-char): Terminals can have glyphs in buffers too, so don’t treat them differently from graphic displays. Without this fix, describe-char would throw an error on a terminal if given a glyph with a non-default face. Follow text-quoting-style in display table init This attempts to fix a problem reported by Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html * doc/lispref/display.texi (Active Display Table): Mention how text-quoting-style affects it. * doc/lispref/help.texi (Keys in Documentation): Say how to set text-quoting-style in ~/.emacs. * etc/NEWS: Document the change. * lisp/startup.el (startup--setup-quote-display): Follow user preference if text-quoting-style is set. (command-line): Setup quote display again if user expresses a preference in .emacs. 2015-09-02 K. Handa Fix typo * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask -> OTF_positioning_type_components_mask. Fix previous change * src/ftfont.c (ftfont_drive_otf): Remember some bits of OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type. 2015-09-01 David Caldwell (tiny change) * lisp/vc/vc-hooks.el (vc-refresh-state): New command. Rename from vc-find-file-hook and make interactive. (vc-find-file-hook): Redefine as obsolete alias. 2015-09-01 Paul Eggert Escape ` and ' in doc Escape apostrophes and grave accents in docstrings if they are are supposed to stand for themselves and are not quotes. Remove apostrophes from docstring examples like ‘'(calendar-nth-named-day -1 0 10 year)’ that confuse source code with data. Do some other minor docstring fixups as well, e.g., insert a missing close quote. 2015-09-01 Stefan Monnier Generalize the prefix-command machinery of C-u * lisp/simple.el (prefix-command-echo-keystrokes-functions) (prefix-command-preserve-state-hook): New hooks. (internal-echo-keystrokes-prefix): New function. (prefix-command--needs-update, prefix-command--last-echo): New vars. (prefix-command-update, prefix-command-preserve): New functions. (reset-this-command-lengths): New compatibility definition. (universal-argument--mode): Call prefix-command-update. (universal-argument, universal-argument-more, negative-argument) (digit-argument): Call prefix-command-preserve-state. * src/keyboard.c: Call internal-echo-keystrokes-prefix to build the "prefix argument" to echo. (this_command_key_count_reset, before_command_key_count) (before_command_echo_length): Delete variables. (echo_add_key): Always add a space. (echo_char): Remove. (echo_dash): Don't give up when this_command_key_count is 0, since that is now the case after a prefix command. (echo_update): New function, extracted from echo_now. (echo_now): Use it. (add_command_key, read_char, record_menu_key): Remove old disabled code. (command_loop_1): Don't refrain from pushing an undo boundary when prefix-arg is set. Remove other prefix-arg special case, now handled directly in the prefix commands instead. But call echo_now if there's a prefix state to echo. (read_char, record_menu_key): Use echo_update instead of echo_char. (read_key_sequence): Use echo_now rather than echo_dash/echo_char. (Freset_this_command_lengths): Delete function. (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix. (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths. * lisp/simple.el: Use those new hooks for C-u. (universal-argument--description): New function. (prefix-command-echo-keystrokes-functions): Use it. (universal-argument--preserve): New function. (prefix-command-preserve-state-hook): Use it. (command-execute): Call prefix-command-update if needed. * lisp/kmacro.el (kmacro-step-edit-prefix-commands) (kmacro-step-edit-prefix-index): Delete variables. (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc support for prefix arg commands. (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index. * lisp/emulation/cua-base.el (cua--prefix-override-replay) (cua--shift-control-prefix): Use prefix-command-preserve-state. Remove now unused arg `arg'. (cua--prefix-override-handler, cua--prefix-repeat-handler) (cua--shift-control-c-prefix, cua--shift-control-x-prefix): Update accordingly. (cua--prefix-override-timeout): Don't call reset-this-command-lengths any more. (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active if the mark is not set. 2015-09-01 Paul Eggert Rework quoting in Emacs Lisp Introduction * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression) (if in more detail, type-of-animal in detail, else): Rework the early example to use " rather than ' so that we don’t burden complete novices with the low-priority detail of text quoting style. (Complete zap-to-char, kill-region, Complete copy-region-as-kill) (kill-new function, kill-ring-yank-pointer) (Complete forward-sentence, Loading Files) (Code for current-kill, Code for current-kill, yank): Resurrect the Emacs 22 versions of the code, which uses grave quoting style in doc strings. (Complete zap-to-char): Mention how quoting works in doc strings. Setup quote display only if interactive * lisp/startup.el (command-line): Skip call to startup--setup-quote-display if noninteractive. Without this change, python-shell-prompt-validate-regexps-1 fails in test/automated/python-tests.el when run in an en_US.utf8 locale on Fedora. 2015-09-01 Katsumi Yamaoka Use defalias at the top level * lisp/gnus/gnus-util.el (gnus-format-message): * lisp/net/tls.el (tls-format-message): Use defalias at the top level so as to make eval-and-compile unnecessary. Thanks to Stefan Monnier. 2015-09-01 Paul Eggert terminal-init-w32console mimicks command-line Problem reported by Eli Zaretskii. * lisp/startup.el (startup--setup-quote-display): New function, refactored from a part of ‘command-line’. (command-line): Use it. * lisp/term/w32console.el (terminal-init-w32console): Use it, so that this function stays consistent with ‘command-line’. Display replacement quotes with shadow glyphs * lisp/startup.el (command-line): When displaying ASCII replacements for curved quotes, use a shadow glyph instead of a regular one, to avoid ambiguity. 2015-09-01 Michael Albinus * lisp/net/tramp-sh.el (tramp-methods) : Mask "Password:". 2015-09-01 Paul Eggert Docstring fixes re quotes in C code Fix some docstring quoting problems, mostly by escaping apostrophe. 2015-09-01 Michael Albinus Some Tramp password fixes * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords of the hops. * lisp/net/tramp-sh.el (tramp-methods) : Move "-p" "Password:" at the beginning of the command. Otherwise, it could be interpreted as password prompt if the remote host echoes the command. (tramp-remote-coding-commands): Add "openssl enc -base64". 2015-09-01 Dmitry Gutov Make vc-git-working-revision always return the commit hash * lisp/vc/vc-git.el (vc-git-working-revision): Return the commit hash (bug#21383). (vc-git--symbolic-ref): New function, extracted from above. (vc-git-mode-line-string): Use it. 2015-09-01 K. Handa Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs * src/ftfont.c (MFLTGlyphFT): New type. (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf) (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of elements in the array MFLTGlyphString.glyphs. 2015-09-01 Stephen Leake Improve comments in elisp-mode.el, elisp-mode-tests.el * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments. Delete Emacs 25 test in mode-local.el * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix missed an edit in previous commit. Show all known mode-local overrides in *Help* * lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs 25. Add all known mode-local overrides. 2015-09-01 Katsumi Yamaoka * lisp/gnus/gnus-sum.el (gnus-summary-search-article): Ensure that the article where the search word is found is displayed and pointed to in the summary buffer. 2015-08-31 Zachary Kanfer (tiny change) * lisp/newcomment.el (comment-dwim): Use `use-region-p'. When the region is active, but is empty (length 0), act as though the region was not active; that is, put a comment at the end of the line. (Bug#21119) 2015-08-31 Katsumi Yamaoka Port tls.el to older Emacs * lisp/net/tls.el (tls-format-message): Alias to format-message, or format if not available. (open-tls-stream): Use it. 2015-08-31 Rüdiger Sonderfeld hideif.el: Recognize .h++ as C++ header * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++. isearch: Document character folding mode * lisp/isearch.el (isearch-forward): Mention `isearch-toggle-character-fold' in doc string. 2015-08-31 Paul Eggert Quoting fixes in ERC and Eshell * lisp/erc/erc-autoaway.el (erc-autoaway-set-away): * lisp/erc/erc-backend.el (define-erc-response-handler): * lisp/erc/erc-fill.el (erc-fill-static-center): * lisp/eshell/em-dirs.el (eshell-save-some-last-dir): * lisp/eshell/em-glob.el (eshell-glob-entries): * lisp/eshell/em-hist.el (eshell-save-some-history): * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm) (eshell-shuffle-files): * lisp/eshell/esh-cmd.el (eshell-do-eval): * lisp/eshell/esh-proc.el (eshell-process-interact) (eshell-query-kill-processes): Respect ‘text-quoting-style’ in diagnostics and doc strings. Quoting fixes in Gnus * lisp/gnus/gnus-agent.el: (gnus-agent-possibly-synchronize-flags-server): * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files): * lisp/gnus/gnus-eform.el (gnus-edit-form): * lisp/gnus/gnus-group.el (gnus-group-edit-group) (gnus-group-nnimap-edit-acl): * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters): * lisp/gnus/mail-source.el (mail-source-delete-old-incoming): * lisp/gnus/message.el (message-strip-subject-encoded-words) (message-check-recipients, message-send-form-letter): * lisp/gnus/mm-decode.el (mm-display-part): * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1): * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert) (mml-smime-get-ldap-cert): * lisp/gnus/spam-report.el (spam-report-process-queue): Respect ‘text-quoting-style’ in diagnostics. * lisp/gnus/gnus-art.el (article-display-face) * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from): Use straight quoting in email. * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string): Escape apostrophes in doc strings. Quoting fixes in lisp mail, mh-e, net, url * lisp/mail/emacsbug.el (report-emacs-bug) (report-emacs-bug-hook): Use straight quotes in outgoing email, * lisp/mail/feedmail.el (feedmail-message-action-help-blat): * lisp/mail/rmail.el (rmail-unknown-mail-followup-to): * lisp/mail/rmailout.el (rmail-output-read-file-name): * lisp/net/imap.el (imap-interactive-login): * lisp/net/tls.el (open-tls-stream): * lisp/url/url-auth.el (url-register-auth-scheme): Respect ‘text-quoting-style’ in diagnostics. * lisp/mh-e/mh-e.el (mh-sortm-args): Quote docstring example using text quotes, not as a Lisp quote. 2015-08-31 Stephen Leake Fix some byte-compiler warnings in EDE This fixes a bug that caused ede-generic-new-autoloader to overwrite the existing autoloader list, rather than add to it. * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name argument to eieio class constructor. (ede-show-supported-projects): New. (ede-add-project-autoload): Replace obsolete `eieio-object-name-string' with (oref ... name). (ede-auto-load-project): Use slot name, not initarg key. * lisp/cedet/ede/generic.el (ede-generic-load) (ede-generic-find-matching-target): Use slot name, not initarg key. (ede-find-target): Use oref-default on class name. (ede-generic-new-autoloader): Delete obsolete name argument to eieio class constructor. (ede-enable-generic-projects): Make project type names unique. 2015-08-31 Eli Zaretskii Fix directory accessibility tests for w32 network volumes * src/w32.c (faccessat): Don't fail with network volumes without a share. (w32_accessible_directory_p): Handle network volumes without a share. Fix handling long file names in readdir on MS-Windows * src/w32.c (sys_readdir): Append "\*" to the directory after converting it to UTF-16/ANSI, not before, to avoid overflowing the 260-character limit on file names in filename_to_utf16/ansi. Make file-accessible-directory-p reliable on MS-Windows * src/w32.c (w32_accessible_directory_p): New function. * src/w32.h (w32_accessible_directory_p): Add prototype. * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call w32_accessible_directory_p to test a directory for accessibility by the current user. (Bug#21346) (Ffile_accessible_directory_p): Remove the w32 specific caveat from the doc string. 2015-08-31 Martin Rudalics Don't call do_pending_window_change in signal handlers (Bug#21380) * src/gtkutil.c (xg_frame_resized): * src/xterm.c (x_set_window_size): * src/w32term.c (x_set_window_size): Don't call do_pending_window_change. 2015-08-31 Paul Eggert Quoting fixes in lisp/org * lisp/org/org-agenda.el (org-search-view, org-todo-list) (org-tags-view): * lisp/org/org-capture.el (org-capture-mode) * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file) (org-ctags-ask-append-topic): * lisp/org/org.el (org-time-string-to-time) (org-time-string-to-absolute): * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file) (org-ctags-ask-append-topic): * lisp/org/org.el (org-time-string-to-time) (org-time-string-to-absolute): Respect ‘text-quoting-style’ in diagnostics. * lisp/org/org-agenda.el (org-agenda-custom-commands) (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s. * lisp/org/org-capture.el (org-capture-fill-template): Avoid contraction in output file that might be ASCII. * lisp/org/org-compat.el (format-message): Define if not already defined, for backward compatibility. * lisp/org/org-src.el (org-edit-src-save): * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c): Escape apostrophes in diagnostics. Treat “instead” strings as docstrings * lisp/emacs-lisp/bytecomp.el (byte-compile-form): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): Substitute quotes in instead strings. 2015-08-31 Nicolas Petton Better documentation of seq-let * doc/lispref/sequences.texi (Sequence Functions): Rephrase the documentation of seq-let. 2015-08-31 Paul Eggert * lisp/international/ccl.el: Fix quoting. Quoting fixes in lisp/international and lisp/leim * lisp/international/ccl.el (ccl-dump, ccl-dump-call): * lisp/international/ja-dic-utl.el (skkdic-lookup-key): * lisp/international/mule-cmds.el: (select-safe-coding-system-interactively, leim-list-file-name): * lisp/international/quail.el (quail-use-package, quail-help): * lisp/international/titdic-cnv.el (tit-process-header) (miscdic-convert): Respect text quoting style in doc strings and diagnostics. * lisp/international/quail.el (lisp/international/quail.el): * lisp/leim/quail/ethiopic.el ("ethiopic"): Escape apostrophes in doc strings. Make ‘text-quoting-style’ a plain defvar It doesn’t need customization, as it’s likely useful only by experts. Suggested by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html * lisp/cus-start.el: Remove doc.c section for builtin customized vars. Quoting fixes in lisp/textmodes * lisp/textmodes/bibtex.el (bibtex-validate) (bibtex-validate-globally, bibtex-search-entries): * lisp/textmodes/ispell.el (ispell-command-loop): * lisp/textmodes/page-ext.el (search-pages, pages-directory): * lisp/textmodes/texinfmt.el (texinfmt-version) (texinfo-format-region, texinfo-format-buffer-1): * lisp/textmodes/two-column.el (2C-split): Respect text quoting style in doc strings and diagnostics. * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal): * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode): Escape apostrophes in doc strings. Documentation fixes re quotes Prefer curved quotes in examples if users will typically see curved quotes when the examples run. Mention format-message when appropriate. Don’t use @code in examples. Quote an apostrophe with @kbd. Quoting fixes in lisp/progmodes * lisp/progmodes/cc-engine.el (c-bos-report-error): * lisp/progmodes/cpp.el (cpp-edit-reset): * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos): * lisp/progmodes/etags.el (etags-tags-apropos-additional) (etags-tags-apropos, list-tags, tags-apropos): * lisp/progmodes/executable.el (executable-set-magic): * lisp/progmodes/octave.el (octave-sync-function-file-names) (octave-help, octave-find-definition-default-filename) (octave-find-definition): Respect text quoting style in doc strings and diagnostics. * lisp/progmodes/cc-langs.el (c-populate-syntax-table): * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths): * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote): Escape apostrophes in doc strings. * lisp/progmodes/cmacexp.el (c-macro-expansion): Use straight quoting in ASCII comment. * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string) (idlwave-pad-keyword): * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate) (vhdl-electric-open-bracket, vhdl-electric-close-bracket): (vhdl-electric-semicolon, vhdl-electric-comma) (vhdl-electric-period, vhdl-electric-equal): Use directed quotes in diagnostics and doc strings. 2015-08-30 Xue Fuqiao Minor documentation and NEWS tweak * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an index entry. * etc/NEWS: Fix a typo in character-fold-to-regexp. 2015-08-30 Michael Albinus * lisp/net/tramp-sh.el (tramp-convert-file-attributes): Revert patch from 2015-08-24. Tramp shall behave like for local files. * test/automated/tramp-tests.el (tramp-test18-file-attributes): Adapt test. 2015-08-30 Paul Eggert Text quoting fixes in cedet, emulation, emacs-lisp * lisp/cedet/ede.el (ede-check-project-directory): * lisp/cedet/semantic/analyze/debug.el (semantic-analyzer-debug-insert-include-summary): * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment): * lisp/cedet/semantic/decorate/include.el (semantic-decoration-unknown-include-describe) (semantic-decoration-all-include-summary): * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump): * lisp/emulation/edt.el (edt-load-keys): * lisp/emulation/viper-cmd.el (viper-display-current-destructive-command) (viper-query-replace, viper-brac-function): * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile): * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro): Respect text quoting style in doc string or diagnostic. * lisp/cedet/mode-local.el (describe-mode-local-overload): Use format-message to avoid overtranslating quotes. * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p): Escape an apostrophe in a docstring. * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string. 2015-08-29 Daniel Colascione Fix which-func for curly quotes: look for symbol, not message * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new imenu-unavailable error symbol instead of trying to match message exactly. * lisp/imenu.el (imenu-unavailable): New error. (imenu-unavailable-error): New function. 2015-08-29 Eli Zaretskii Fix Python tests on MS-Windows * test/automated/python-tests.el (python-shell-calculate-command-1): Run python-shell-interpreter through shell-quote-argument before comparing with what python-shell-calculate-command returns. (python-shell-calculate-pythonpath-1) (python-shell-calculate-pythonpath-2) (python-shell-calculate-process-environment-2): Use path-separator instead of a literal ':'. (python-shell-calculate-exec-path-2) (python-shell-calculate-exec-path-3) (python-shell-calculate-exec-path-4) (python-shell-with-environment-1) (python-shell-with-environment-2): Run "/env/bin" through expand-file-name before comparing with exec-path. (Bug#21375) 2015-08-29 YAMAMOTO Mitsuharu Use Core Text types/functions/variables/enumerators directly * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits) (CharacterCollection): Remove typedefs. All uses replaced with definitions. (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE) (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE) (MAC_FONT_CASCADE_LIST_ATTRIBUTE) (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE) (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT) (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT) (MAC_FONT_SLANT_TRAIT): Remove macros. All uses replaced with definitions. (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD) (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS) (MAC_FONT_FORMAT_BITMAP) (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING) (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators. All uses replaced with definitions. (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace) (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping) (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add compatibility enumerators for older versions. (mac_font_descriptor_create_with_attributes) (mac_font_descriptor_create_matching_font_descriptors) (mac_font_descriptor_create_matching_font_descriptor) (mac_font_descriptor_copy_attribute) (mac_font_descriptor_supports_languages) (mac_font_create_with_name, mac_font_get_size) (mac_font_copy_family_name, mac_font_copy_character_set) (mac_font_get_glyphs_for_characters, mac_font_get_ascent) (mac_font_get_descent, mac_font_get_leading) (mac_font_get_underline_position) (mac_font_get_underline_thickness, mac_font_copy_graphics_font) (mac_font_copy_non_synthetic_table): Remove macros. All uses replaced with definitions. (mac_font_create_preferred_family_for_attributes) (mac_font_get_advance_width_for_glyph) (mac_font_get_bounding_rect_for_glyph) (mac_font_create_available_families, mac_font_shape): Remove macros for renamed functions. (mac_nsctfont_copy_font_descriptor): Remove unused macro. * src/macfont.m (mac_font_descriptor_supports_languages): Rename from mac_ctfont_descriptor_supports_languages. (mac_font_create_preferred_family_for_attributes): Rename from mac_ctfont_create_preferred_family_for_attributes. (mac_font_get_advance_width_for_glyph): Rename from mac_ctfont_get_advance_width_for_glyph. Use kCTFontOrientationDefault also for older versions. (mac_font_get_bounding_rect_for_glyph): Rename from mac_ctfont_get_bounding_rect_for_glyph. Use kCTFontOrientationDefault also for older versions. (mac_font_create_available_families): Rename from mac_ctfont_create_available_families. (mac_font_equal_in_postscript_name): Rename from mac_ctfont_equal_in_postscript_name. All uses changed. (mac_font_create_line_with_string_and_font): Rename from mac_ctfont_create_line_with_string_and_font. All uses changed. (mac_font_shape): Rename from mac_ctfont_shape. (mac_font_family_compare): Remove unused declaration. 2015-08-29 Paul Eggert Fix minor text quoting in calc, calendar, vc * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help): * lisp/calc/calc-help.el (calc-j-prefix-help): * lisp/calc/calc-misc.el (calc-help): * lisp/calc/calc.el (calc-algebraic-mode, calc-mode): Escape an apostrophe in a docstring. * lisp/calc/calc-forms.el (calc-hms-notation): * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode): Escape an apostrophe in a diagnostic. * lisp/calc/calc-misc.el (calc-help): * lisp/calendar/diary-lib.el (diary-include-files): * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark): * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace): * lisp/vc/ediff-diff.el (ediff-same-contents): * lisp/vc/ediff-merg.el (ediff-re-merge): * lisp/vc/ediff-ptch.el (ediff-patch-file-internal): * lisp/vc/ediff-util.el (ediff-test-save-region) (ediff-status-info): * lisp/vc/ediff.el (ediff-merge-revisions) (ediff-merge-revisions-with-ancestor): * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice): * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string): Respect text quoting style in doc string or diagnostic. * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop): * lisp/vc/add-log.el (change-log-goto-source): Avoid double-formatting. * lisp/vc/ediff-init.el (format-message): New backward-compatibility alias. 2015-08-28 Paul Eggert Fix minor text quoting problems in lisp top level * lisp/apropos.el (apropos-describe-plist): * lisp/cus-theme.el (customize-themes): * lisp/dired.el (dired-log): * lisp/help-fns.el (describe-variable): * lisp/hexl.el (hexl-insert-multibyte-char): * lisp/info.el (Info-finder-find-node): * lisp/json.el (json-read-string): * lisp/novice.el (disabled-command-function) (disabled-command-function): * lisp/startup.el (normal-mouse-startup-screen): * lisp/woman.el (WoMan-log, WoMan-warn): Respect text quoting style in doc string or diagnostic. * lisp/replace.el (replace-character-fold): * src/syntax.c (Fmodify_syntax_entry): Escape an apostrophe in a docstring. * lisp/tempo.el (tempo-define-template): Remove confusing apostrophe from docstring. * lisp/whitespace.el (whitespace-mark-x): Use directed quotes in docstring. 2015-08-28 Simen Heggestøyl Fix indentation rule in css-mode * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of brackets in presence of pseudo-selectors. (Bug#21328) 2015-08-28 Eli Zaretskii Fix a bug in recording a macro while flyspell-mode is active * lisp/subr.el (sit-for): Don't call read-event when recording a macro. (Bug#21329) 2015-08-27 Paul Eggert Tweak startup screen quoting * lisp/startup.el (normal-splash-screen): Use standard "M-" abbrevation rather than a confusingly-different one. (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’. 2015-08-27 Paul Eggert Add test case for ‘format’ bug and refactor * src/editfns.c (styled_format): Refactor internally, mostly by moving declarations closer to uses. This should not affect behavior. * test/automated/textprop-tests.el (textprop-tests-format): New test. Fix ‘format’ bug with property offsets * src/editfns.c (styled_format): Fix recently-introduced ‘format’ bug in calculating string property offsets (Bug#21351). Use straight quotes in lib-src diagnostics These auxiliary programs can’t use Emacs’s text-quoting-style, and it’s too much trouble to redo that mechanism by hand. So just use straight quotes for now. * lib-src/ebrowse.c (main): * lib-src/emacsclient.c (decode_options, main): * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help) (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help) (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help) (none_help, print_language_names, print_help, add_regex) (suggest_asking_for_help): * lib-src/make-docfile.c (write_c_args, scan_c_stream): Use straight quotes in diagnostics. ‘text-quoting-style’ fixes for admin * admin/admin.el (cusver-scan, cusver-check): * admin/authors.el (authors-canonical-file-name): * admin/bzrmerge.el (bzrmerge-missing): Respect ‘text-quoting-style’ in diagnostics. 2015-08-26 Paul Eggert Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS This removes the need for GCPRO1 etc. Suggested by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html * doc/lispref/internals.texi (Writing Emacs Primitives): * etc/NEWS: Document the change. * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies) (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live) (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise): * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]: * src/eval.c (gcpro_level) [DEBUG_GCPRO]: * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK) (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS) (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES) (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6) (GCPRO7, UNGCPRO, RETURN_UNGCPRO): Remove. All uses removed. The code now assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. * src/bytecode.c (relocate_byte_stack): Rename from unmark_byte_stack, since it now only relocates. All callers changed. * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2 with GCPROs removed. * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1. * test/automated/finalizer-tests.el (finalizer-basic) (finalizer-circular-reference, finalizer-cross-reference) (finalizer-error): * test/automated/generator-tests.el (cps-test-iter-close-finalizer): Remove tests, as they depend on gc-precise. 2015-08-26 Nicolas Petton Improve seq-concatenate for new sequence types Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to ensure that concatenation happens on sequences only. This makes it possible to use `seq-concatenate' for new types of seqs. * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New function used in `seq-concatenate'. * test/automated/seq-tests.el (test-seq-into-sequence): New unit test for seq-into-sequence. 2015-08-26 Stephen Leake Add mode local overrides to xref-find-definitions * lisp/cedet/mode-local.el (xref-mode-local--override-present) (xref-mode-local-overload): New; add mode local overrides to xref-find-definitions. * test/automated/elisp-mode-tests.el: Add mode local override tests. (xref-elisp-test-run): Handle indented defuns. (xref-elisp-generic-*): Improve doc strings. * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New. (elisp--xref-find-definitions): Use it. Add mode local overrides to describe-function * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode local overrides to describe-function. * etc/NEWS: Document change. 2015-08-26 Paul Eggert Prefer straight quoting in some etc text files These files are plain text and might be used by non-Emacs apps. They’re mostly ASCII, so just use straight quotes. Fix quoting in ‘message_with_string’ * src/nsfont.m (nsfont_open): Use directed quotes in format; they should work now. * src/xdisp.c (message_to_stderr): New function, refactored from part of ‘message3_nolog’. (message3_nolog): Use it. (message_with_string): Use it. Don’t mishandle NUL bytes when noninteractive. Prefer AUTO_STRING when it’s most likely faster. Use ‘format-message’, not ‘format’, so that quotes are translated. 2015-08-26 Eli Zaretskii Mention false positives of file-accessible-directory on w32 * src/fileio.c (Ffile_accessible_directory_p): Doc fix. (Bug#21346) 2015-08-26 Paul Eggert Treat error strings as help * src/print.c (print_error_message): Translate quotes and command keys in errmsg so that users see, e.g., "Symbol’s value as variable is void: foo" when text-quoting-style is curved. 2015-08-26 Michael Albinus * lisp/net/tramp-cache.el (top): Use `message', not `format-message'. 2015-08-26 Paul Eggert Top-level elisp files respect ‘text-quoting-style’ In top-level elisp files, use format-message in diagnostic formats, so that they follow user preference as per ‘text-quoting-style’ rather than being hard-coded to quote `like this'. * lisp/allout.el (allout-get-configvar-values): * lisp/apropos.el (apropos-symbols-internal): * lisp/dired-aux.el (dired-do-shell-command, dired-create-files) (dired-do-create-files-regexp, dired-create-files-non-directory): * lisp/dired-x.el (dired-do-run-mail): * lisp/dired.el (dired-log, dired-dnd-handle-local-file): * lisp/disp-table.el (standard-display-european): * lisp/find-dired.el (find-dired): * lisp/forms.el (forms-mode): * lisp/ido.el (ido-buffer-internal): * lisp/info.el (Info-index-next): * lisp/outline.el (outline-invent-heading): * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send): * lisp/proced.el (proced-log): * lisp/ps-print.el (ps-print-preprint, ps-get-size): * lisp/recentf.el (recentf-open-files, recentf-save-list): * lisp/savehist.el (savehist-save): * lisp/server.el (server-ensure-safe-dir): * lisp/ses.el (ses-rename-cell): * lisp/simple.el (list-processes--refresh): * lisp/startup.el (command-line): * lisp/strokes.el (strokes-unset-last-stroke) (strokes-execute-stroke): Use format-message so that quotes are restyled. * lisp/cus-edit.el (custom-raised-buttons, customize-browse): Don’t quote ‘raised’. * lisp/descr-text.el (describe-char): * lisp/dirtrack.el (dirtrack-debug-message): * lisp/hexl.el (hexl-insert-multibyte-char): Apply substitute-command-keys to help string. * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes) (wdired-do-perm-changes): Let dired-log do the formatting. 2015-08-25 Paul Eggert Go back to grave quoting in Tramp * lisp/net/tramp-adb.el: * lisp/net/tramp-cache.el: * lisp/net/tramp-compat.el: * lisp/net/tramp-gvfs.el: * lisp/net/tramp-gw.el: * lisp/net/tramp-sh.el: * lisp/net/tramp-smb.el: * lisp/net/tramp.el: Stick with grave quoting in diagnostics strings. This is more portable to older Emacs, desirable for Tramp. * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’, for diagnostic that needs requoting. * lisp/net/tramp-compat.el (format-message): Fall back on simple ‘format’, since that’s good enough now. Go back to grave quoting in Gnus * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries): * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer) (gnus-agent-fetch-headers): * lisp/gnus/gnus-int.el (gnus-start-news-server): * lisp/gnus/gnus-registry.el: (gnus-registry--split-fancy-with-parent-internal) (gnus-registry-post-process-groups): * lisp/gnus/gnus-score.el (gnus-summary-increase-score): * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): * lisp/gnus/gnus-topic.el (gnus-topic-rename): * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days): * lisp/gnus/spam.el (spam-check-blackholes): Stick with grave quoting in diagnostics strings. This is more portable to older Emacs, desirable for Gnus. Fix customization of text-quoting-style * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation): * lisp/wid-edit.el (widget-docstring): Get raw docstring here since it’s cooked later and should not be cooked twice. * lisp/cus-edit.el (custom-group-value-create): Cook the docstring before inserting it. * lisp/cus-start.el (text-quoting-style): Quote the customization docstrings according to the new rules. Give curved examples. format-message now curves ` and ' That way, the caller doesn’t have to use curved quotes to get diagnostics that match the text-quoting-style preferences. Suggested by Dmitry Gutov in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html This means we no longer need %qs, so remove that format. While we’re at it, fix an unlikely bug and lessen the pressure on the garbage collector by processing the string once rather than twice in the usual case. * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document this. * lisp/subr.el (format-message): Remove; now done in C. * src/callint.c (Fcall_interactively): * src/editfns.c (Fmessage, Fmessage_box): Use Fformat_message instead of Finternal__text_restyle followed by Fformat. * src/doc.c (LSQM, RSQM): Remove; all uses changed to use uLSQM and uRSQM. (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string when pure ASCII now suffices. Fix unlikely bug when parsing unibyte string containing non-ASCII bytes. Use inline code rather than memcpy, as it’s a tiny number of bytes. (Finternal__text_restyle): Remove; no longer used. (syms_of_doc): Don’t declare it. * src/editfns.c (Fformat): Rewrite in terms of new function ‘styled_format’. (Fformat_message): New function, moved here from subr.el. (styled_format): New function, with the old guts of Fformat, except it now optionally transliterates quotes, and it transliterates traditional grave accent and apostrophe quoting as well. Remove recently-added q flag; no longer needed or used. (syms_of_editfns): Define format-message. * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Remove; no longer need to be global symbols. * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat, so that callers can use `%s'. * src/image.c (image_size_error, xbm_load_image, xbm_load) (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load) (gif_load, imagemagick_load_image, imagemagick_load, svg_load) (svg_load_image, gs_load, x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Use `%s' instead of %qs in formats. 2015-08-25 Eli Zaretskii Minor fixes in doc/emacs/search.texi * doc/emacs/search.texi (Basic Isearch): Fix a typo. (Special Isearch): Use @w{} to generate several consecutive spaces with Texinfo 6. (Bug#21345) 2015-08-25 Michael Albinus * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode) (tramp-awk-coding-test): New defconsts. (tramp-remote-coding-commands): Use them. (tramp-find-inline-encoding): Check for Perl only if necessary. 2015-08-25 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some index entries for the special form `quote'. 2015-08-25 Paul Eggert Spelling fixes Gnus format-message typo fix * lisp/gnus/gnus-util.el (gnus-format-message): Fix typo when running in older Emacs. Prefer directed to neutral quotes in docstings and diagnostics. In docstrings, escape apostrophes that would otherwise be translated to curved quotes using the newer, simpler rules. * admin/unidata/unidata-gen.el (unidata-gen-table): * lisp/align.el (align-region): * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet): * lisp/bookmark.el (bookmark-default-annotation-text): * lisp/calc/calc-aent.el (math-read-if, math-read-factor): * lisp/calc/calc-lang.el (math-read-giac-subscr) (math-read-math-subscr): * lisp/calc/calc-misc.el (report-calc-bug): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-read-parse-table-part): * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules): * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): * lisp/dabbrev.el (dabbrev-expand): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/elint.el (elint-get-top-forms): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emulation/viper-cmd.el (viper-toggle-search-style): * lisp/erc/erc-button.el (erc-nick-popup): * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login): * lisp/eshell/em-dirs.el (eshell/cd): * lisp/eshell/em-glob.el (eshell-glob-regexp): * lisp/eshell/em-pred.el (eshell-parse-modifiers): * lisp/eshell/esh-arg.el (eshell-parse-arguments): * lisp/eshell/esh-opt.el (eshell-show-usage): * lisp/files-x.el (modify-file-local-variable): * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer) (filesets-update-pre010505): * lisp/find-cmd.el (find-generic, find-to-string): * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries): * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer) (gnus-agent-fetch-headers): * lisp/gnus/gnus-int.el (gnus-start-news-server): * lisp/gnus/gnus-registry.el: (gnus-registry--split-fancy-with-parent-internal): * lisp/gnus/gnus-score.el (gnus-summary-increase-score): * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): * lisp/gnus/gnus-topic.el (gnus-topic-rename): * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days): * lisp/gnus/nnmairix.el (nnmairix-widget-create-query): * lisp/gnus/spam.el (spam-check-blackholes): * lisp/mail/feedmail.el (feedmail-run-the-queue): * lisp/mpc.el (mpc-playlist-rename): * lisp/net/ange-ftp.el (ange-ftp-shell-command): * lisp/net/mairix.el (mairix-widget-create-query): * lisp/net/tramp-cache.el: * lisp/obsolete/otodo-mode.el (todo-more-important-p): * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region): * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region): * lisp/org/ob-core.el (org-babel-goto-named-src-block) (org-babel-goto-named-result): * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap): * lisp/org/ob-ref.el (org-babel-ref-resolve): * lisp/org/org-agenda.el (org-agenda-prepare): * lisp/org/org-bibtex.el (org-bibtex-fields): * lisp/org/org-clock.el (org-clock-notify-once-if-expired) (org-clock-resolve): * lisp/org/org-feed.el (org-feed-parse-atom-entry): * lisp/org/org-habit.el (org-habit-parse-todo): * lisp/org/org-mouse.el (org-mouse-popup-global-menu) (org-mouse-context-menu): * lisp/org/org-table.el (org-table-edit-formulas): * lisp/org/ox.el (org-export-async-start): * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question) (dun-rooms, dun-endgame-questions): * lisp/progmodes/ada-mode.el (ada-goto-matching-start): * lisp/progmodes/ada-xref.el (ada-find-executable): * lisp/progmodes/antlr-mode.el (antlr-options-alists): * lisp/progmodes/flymake.el (flymake-parse-err-lines) (flymake-start-syntax-check-process): * lisp/progmodes/python.el (python-define-auxiliary-skeleton): * lisp/progmodes/sql.el (sql-comint): * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point): * lisp/server.el (server-get-auth-key): * lisp/subr.el (version-to-list): * lisp/textmodes/reftex-ref.el (reftex-label): * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): * lisp/vc/ediff-diff.el (ediff-same-contents): * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string): * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests): Use directed rather than neutral quotes in diagnostics. Treat ' like ’ even when not matching ` This is simpler and easier to explain, and should encourage better typography. Do this in Electric Quote mode and when translating quotes in docstrings. Inspired by a suggestion by Dmitry Gutov in: https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html * doc/emacs/text.texi (Quotation Marks): * doc/lispref/help.texi (Keys in Documentation): * etc/NEWS: Document this. * lisp/electric.el (electric-quote-post-self-insert-function): * src/doc.c (Fsubstitute_command_keys): Always treat ' like ’ even when not matched by an open quote. 2015-08-25 Glenn Morris * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example. * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo. 2015-08-24 YAMAMOTO Mitsuharu * src/macfont.m (macfont_create_family_with_symbol): Accept localized names. 2015-08-24 Paul Eggert Tramp diagnostics as per ‘text-quoting-style’ * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename) (tramp-adb-get-ls-command, tramp-adb-handle-make-directory) (tramp-adb-handle-delete-directory) (tramp-adb-handle-delete-file) (tramp-adb-handle-file-local-copy) (tramp-adb-handle-write-region, tramp-adb-handle-copy-file) (tramp-adb-send-command-and-check, tramp-adb-wait-for-output) (tramp-adb-maybe-open-connection): * lisp/net/tramp-cache.el: * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory) (tramp-compat-octal-to-decimal) (tramp-compat-coding-system-change-eol-conversion): * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler) (tramp-gvfs-do-copy-or-rename-file) (tramp-gvfs-handle-delete-directory) (tramp-gvfs-handle-delete-file) (tramp-gvfs-handle-expand-file-name) (tramp-gvfs-handle-file-local-copy) (tramp-gvfs-handle-file-notify-add-watch) (tramp-gvfs-handle-make-directory) (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name): * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel) (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection): * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename) (tramp-sh-handle-set-visited-file-modtime) (tramp-sh-handle-set-file-modes) (tramp-sh-handle-file-name-all-completions) (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file) (tramp-do-copy-or-rename-file-directly) (tramp-do-copy-or-rename-file-out-of-band) (tramp-sh-handle-make-directory) (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file) (tramp-sh-handle-insert-directory, tramp-process-sentinel) (tramp-sh-handle-start-file-process) (tramp-sh-handle-file-local-copy) (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered) (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script) (tramp-find-file-exists-command, tramp-open-shell) (tramp-find-shell) (tramp-open-connection-setup-interactive-shell) (tramp-find-inline-encoding, tramp-find-inline-compress) (tramp-compute-multi-hops, tramp-maybe-open-connection) (tramp-wait-for-output, tramp-send-command-and-check) (tramp-send-command-and-read, tramp-get-remote-path) (tramp-get-ls-command, tramp-get-ls-command-with-dired) (tramp-get-ls-command-with-quoting-style) (tramp-get-test-command, tramp-get-remote-ln) (tramp-get-remote-perl, tramp-get-remote-stat) (tramp-get-remote-readlink, tramp-get-remote-trash) (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir) (tramp-get-remote-inotifywait, tramp-get-remote-id) (tramp-get-remote-python): * lisp/net/tramp-smb.el (tramp-smb-errors) (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file) (tramp-smb-handle-delete-directory) (tramp-smb-handle-delete-file) (tramp-smb-handle-file-local-copy) (tramp-smb-handle-make-directory) (tramp-smb-handle-make-directory-internal) (tramp-smb-handle-make-symbolic-link) (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl) (tramp-smb-handle-set-file-modes) (tramp-smb-handle-write-region, tramp-smb-get-file-entries): * lisp/net/tramp.el (tramp-debug-message, tramp-error) (tramp-process-actions): Generate diagnostics according to ‘text-quoting-style’, by using curved quotes in format strings and ‘format-message’ when appropriate. * lisp/net/tramp-compat.el (format-message): Define a replacement, if it’s an older version of Emacs that doesn’t have it already. * etc/NEWS: Clarify text-quoting-style and electric-quote-mode. 2015-08-24 Xue Fuqiao Fix documentation for `save-excursion' * doc/lispref/positions.texi (Excursions): * doc/lispintro/emacs-lisp-intro.texi (save-excursion) (Template for save-excursion, Point and mark): `save-excursion' does not save&restore the mark any more. 2015-08-24 Michael Albinus * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker): New defconsts. (tramp-do-file-attributes-with-stat) (tramp-do-directory-files-and-attributes-with-stat): Use them. (tramp-convert-file-attributes): Remove double slashes in symlinks. * test/automated/tramp-tests.el (tramp-test18-file-attributes): Handle symlinks with "//" in the file name. Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el. 2015-08-24 Nicolas Petton Fix cl-subseq and cl-concatenate * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use seq functions. * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in seq-concatenate. 2015-08-24 Pip Cet (tiny change) Fix full-screen code when there is no window manager (Bug#21317) * src/xterm.h (x_wm_supports): Declare external. * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export. (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename. (x_check_fullscreen): Call `x_wm_set_size_hint', restore `fullscreen' frame parameter. * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running without a window manager. 2015-08-24 Glenn Morris * lisp/version.el (emacs-version): No longer include build host. * doc/lispref/intro.texi (Version Info): Update example. 2015-08-24 Paul Eggert * doc/lispref/elisp.texi: Fix typo in previous change. More-conservative ‘format’ quote restyling Instead of restyling curved quotes for every call to ‘format’, create a new function ‘format-message’ that does the restyling, and using the new function instead of ‘format’ only in contexts where this seems appropriate. Problem reported by Dmitry Gutov and Andreas Schwab in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html * doc/lispref/commands.texi (Using Interactive): * doc/lispref/control.texi (Signaling Errors, Signaling Errors): * doc/lispref/display.texi (Displaying Messages, Progress): * doc/lispref/elisp.texi: * doc/lispref/help.texi (Keys in Documentation): * doc/lispref/minibuf.texi (Minibuffer Misc): * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document the changes. * lisp/abbrev.el (expand-region-abbrevs): * lisp/apropos.el (apropos-library): * lisp/calc/calc-ext.el (calc-record-message) (calc-user-function-list): * lisp/calc/calc-help.el (calc-describe-key, calc-full-help): * lisp/calc/calc-lang.el (math-read-big-balance): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--add-diary-entry): * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/semantic/complete.el (semantic-completion-message): * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed): * lisp/cedet/semantic/wisent/comp.el (wisent-log): * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/dframe.el (dframe-message): * lisp/dired-aux.el (dired-query): * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1): * lisp/emacs-lisp/bytecomp.el (byte-compile-log) (byte-compile-log-file, byte-compile-warn, byte-compile-form): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv-analyze-form): * lisp/emacs-lisp/check-declare.el (check-declare-warn): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): * lisp/emacs-lisp/edebug.el (edebug-format): * lisp/emacs-lisp/eieio-core.el (eieio-oref): * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message) (eldoc-message): * lisp/emacs-lisp/elint.el (elint-file, elint-log): * lisp/emacs-lisp/find-func.el (find-function-library): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring): * lisp/emacs-lisp/package.el (package-compute-transaction) (package-install-button-action, package-delete-button-action) (package-menu--list-to-prompt): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/emacs-lisp/warnings.el (lwarn, warn): * lisp/emulation/viper-cmd.el: (viper-toggle-parse-sexp-ignore-comments) (viper-kill-buffer, viper-brac-function): * lisp/emulation/viper-macs.el (viper-record-kbd-macro): * lisp/facemenu.el (facemenu-add-new-face): * lisp/faces.el (face-documentation, read-face-name) (face-read-string, read-face-font, describe-face): * lisp/files.el (find-alternate-file, hack-local-variables) (hack-one-local-variable--obsolete, write-file) (basic-save-buffer, delete-directory): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--obsolete) (help-fns--interactive-only, describe-function-1) (describe-variable): * lisp/help.el (describe-mode): * lisp/info-xref.el (info-xref-output): * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, info-apropos): * lisp/international/kkc.el (kkc-error): * lisp/international/mule-cmds.el: (select-safe-coding-system-interactively) (select-safe-coding-system, describe-input-method): * lisp/international/mule-conf.el (code-offset): * lisp/international/mule-diag.el (describe-character-set) (list-input-methods-1): * lisp/international/quail.el (quail-error): * lisp/minibuffer.el (minibuffer-message): * lisp/mpc.el (mpc--debug): * lisp/msb.el (msb--choose-menu): * lisp/net/ange-ftp.el (ange-ftp-message): * lisp/net/gnutls.el (gnutls-message-maybe): * lisp/net/newst-backend.el (newsticker--sentinel-work): * lisp/net/newst-treeview.el (newsticker--treeview-load): * lisp/net/nsm.el (nsm-query-user): * lisp/net/rlogin.el (rlogin): * lisp/net/soap-client.el (soap-warning): * lisp/net/tramp.el (tramp-debug-message): * lisp/nxml/nxml-outln.el (nxml-report-outline-error): * lisp/nxml/nxml-parse.el (nxml-parse-error): * lisp/nxml/rng-cmpct.el (rng-c-error): * lisp/nxml/rng-match.el (rng-compile-error): * lisp/nxml/rng-uri.el (rng-uri-error): * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer): * lisp/org/org-ctags.el: (org-ctags-ask-rebuild-tags-file-then-find-tag): * lisp/proced.el (proced-log): * lisp/progmodes/ebnf2ps.el (ebnf-log): * lisp/progmodes/flymake.el (flymake-log): * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle): * lisp/replace.el (occur-1): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, define-alternatives): * lisp/startup.el (command-line): * lisp/subr.el (error, user-error, add-to-list): * lisp/tutorial.el (tutorial--describe-nonstandard-key) (tutorial--find-changed-keys): * src/callint.c (Fcall_interactively): * src/editfns.c (Fmessage, Fmessage_box): Restyle the quotes of format strings intended for use as a diagnostic, when restyling seems appropriate. * lisp/subr.el (format-message): New function. * src/doc.c (Finternal__text_restyle): New function. (syms_of_doc): Define it. 2015-08-23 Paul Eggert * etc/NEWS: The new ‘q’ flag is not an incompatible change. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix python-shell-buffer-substring on indented code (Bug#21086) * lisp/progmodes/python.el (python-shell-buffer-substring): Respect current line indentation when calculating string. * test/automated/python-tests.el (python-shell-buffer-substring-10) (python-shell-buffer-substring-11) (python-shell-buffer-substring-12): New tests. 2015-08-23 Paul Eggert Fix minor glitches from ‘format’ reversion * doc/lispref/strings.texi (Formatting Strings): After reversion, ‘text-quoting-style’ is documented in ‘Keys in Documentation’, not below. * src/syntax.c (Finternal_describe_syntax_value): Prefer AUTO_STRING to build_string where either will do, as AUTO_STRING is a bit faster. 2015-08-23 Fabián Ezequiel Gallina python.el: Defer shell setup code until first interactive prompt * lisp/progmodes/python.el (python-shell-comint-watch-for-first-prompt-output-filter): New function. (inferior-python-mode): Use it. (python-shell-first-prompt-hook): New hook. (python-shell-send-setup-code) (python-shell-completion-native-turn-on-maybe-with-msg): Attach to this hook instead of inferior-python-hook. 2015-08-23 Nicolas Petton Remove the calls to `seq-into` from `seq-concatenate` Since most new types of seq would have to be defined as sequences (cons cells or CL structs, mostly), there is no need to convert the seqs to sequences (which can be a fairly expensive operation). * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are sequences. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix completion for pdb interactions * lisp/progmodes/python.el (python-shell-completion-setup-code): Simplify. Toggle print_mode for native wrapped completer. (python-shell-completion-native-setup): Ensure process buffer. Add print_mode attribute to completer wrapper to toggle returning or printing candidates. (python-shell-completion-native-get-completions): Cleanup. (python-shell-completion-get-completions): Cleanup. (python-shell-completion-at-point): Perform prompt checks. Force fallback completion in pdb interactions. 2015-08-23 Nicolas Petton Make seq.el more extensible by using cl-defmethod * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to make it easier to extend seq.el with new "seq types". * test/automated/seq-tests.el (test-setf-seq-elt): New test. * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of subseq in cl-extra.el, and use it in seq.el. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix prompt detection with user overridden interpreter * lisp/progmodes/python.el (python-shell-prompt-detect): Honor buffer local python-shell-interpreter and python-shell-interpreter-interactive-arg. 2015-08-23 Eli Zaretskii Support exec-directory with non-ASCII characters on Windows * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded in the system's ANSI codepage, when it is used for invoking cmdproxy. 2015-08-23 Andreas Schwab Revert "Extend ‘format’ to translate curved quotes" This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08. Revert "Prefer ‘format’ to ‘substitute-command-keys’" This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111. 2015-08-23 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify "invisible window". 2015-08-23 Xue Fuqiao * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for magic-fallback-mode-alist. 2015-08-22 Fabián Ezequiel Gallina python.el: fallback completion, ffap and eldoc setup enhancements Setup codes are now sent continuously so that the current frame is always taken into account. This allows working within debuggers and always keeping a fresh version of setup codes that will return proper results. * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup. (python-shell-send-setup-code): Send code only when python-shell-setup-codes is non-nil. (python-shell-completion-string-code): Cleanup trailing newline. (python-shell-completion-get-completions): Always use python-shell-completion-setup-code. (python-ffap-setup-code): Work with any object, not only modules. (python-ffap-string-code): Cleanup trailing newline. (python-ffap-module-path): Always use python-ffap-setup-code. (python-eldoc-string-code): Cleanup trailing newline. (python-eldoc--get-doc-at-point): Always use python-eldoc-setup-code. Return non-nil only if docstring is found. python.el: Increase native completion robustness * lisp/progmodes/python.el (python-shell-completion-native-setup): Make completer print real candidates and just return dummy ones to avoid input modification. (python-shell-completion-native-get-completions): Set comint-redirect-insert-matching-regexp to non-nil and make comint-redirect-finished-regexp match the last dummy candidate. Use python-shell-accept-process-output to wait for the full list of candidates. 2015-08-22 Eli Zaretskii Fix invocation of programs via cmdproxy.exe * src/w32proc.c (sys_spawnve): Use exec-directory, not invocation-directory, for finding cmdproxy.exe. When Emacs is run from the source tree, look for cmdproxy.exe in the same source tree. (Bug#21323) 2015-08-22 Simen Heggestøyl Handle comments inside unquoted URIs in css-mode * lisp/textmodes/css-mode.el (css--uri-re): New defconst. (css-syntax-propertize-function): New defconst. (css--font-lock-keywords): Handle parens around unquoted URIs. (css-mode): Set `syntax-propertize-function'. 2015-08-22 Eli Zaretskii Support invocation of Hunspell with multiple dictionaries * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support lists of dictionaries of the form "DICT1,DICT2,...". (ispell-hunspell-add-multi-dic): New command. (Bug#20495) Minor formatting changes in ispell.el * lisp/textmodes/ispell.el (ispell-create-debug-buffer) (ispell-print-if-debug, ispell-aspell-find-dictionary) (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist) (ispell-hunspell-dictionary-alist) (ispell-hunspell-fill-dictionary-entry) (ispell-find-hunspell-dictionaries, ispell-send-replacement) (ispell-buffer-with-debug, ispell-complete-word) (ispell-current-dictionary, ispell-current-personal-dictionary) (ispell-accept-output, ispell-minor-mode) (ispell-personal-dictionary, ispell-dictionary-alist) (ispell-really-aspell, ispell-really-hunspell) (ispell-encoding8-command, ispell-aspell-supports-utf8) (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params): Fix whitespace, inconsistent capitalization, and arguments in doc strings. 2015-08-22 Martin Rudalics * lisp/window.el (adjust-window-trailing-edge): Fix bug where this function refused to resize a size-preserved window. 2015-08-22 Eli Zaretskii * doc/lispref/windows.texi (Selecting Windows): Improve documentation and indexing of 'window-use-time'. 2015-08-21 Stefan Monnier * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el: * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el: * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el: * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el: * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el: * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el: * lisp/progmodes/cc-align.el, lisp/net/soap-client.el: Fix up commenting style. 2015-08-21 Paul Eggert text-quoting-style in emacs-lisp diagnostics * lisp/emacs-lisp/advice.el (ad-read-advised-function) (ad-read-advice-class, ad-read-advice-name, ad-enable-advice) (ad-disable-advice, ad-remove-advice, ad-set-argument) (ad-set-arguments): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand) (byte-compile-unfold-lambda, byte-optimize-form-code-walker) (byte-optimize-while, byte-optimize-apply): * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode) (byte-compile-log-file, byte-compile-format-warn) (byte-compile-nogroup-warn, byte-compile-arglist-warn) (byte-compile-cl-warn) (byte-compile-warn-about-unresolved-functions) (byte-compile-file, byte-compile-fix-header) (byte-compile--declare-var, byte-compile-file-form-defmumble) (byte-compile-form, byte-compile-normal-call) (byte-compile-variable-ref, byte-compile-variable-set) (byte-compile-subr-wrong-args, byte-compile-setq-default) (byte-compile-negation-optimizer) (byte-compile-condition-case--old) (byte-compile-condition-case--new, byte-compile-save-excursion) (byte-compile-defvar, byte-compile-autoload) (byte-compile-lambda-form) (byte-compile-make-variable-buffer-local, display-call-tree) (batch-byte-compile): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv-analyze-form): * lisp/emacs-lisp/chart.el (chart-space-usage): * lisp/emacs-lisp/check-declare.el (check-declare-scan) (check-declare-warn, check-declare-file) (check-declare-directory): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-message-text-engine): * lisp/emacs-lisp/cl-extra.el (cl-parse-integer): * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody) (cl-symbol-macrolet): * lisp/emacs-lisp/cl.el (cl-unload-function, flet): * lisp/emacs-lisp/copyright.el (copyright) (copyright-update-directory): * lisp/emacs-lisp/edebug.el (edebug-read-list): * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read): * lisp/emacs-lisp/eieio-core.el (eieio--slot-override) (eieio-oref, eieio-oset-default): * lisp/emacs-lisp/eieio-speedbar.el: (eieio-speedbar-child-make-tag-lines) (eieio-speedbar-child-description): * lisp/emacs-lisp/eieio.el (defclass, change-class): * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms) (elint-init-form, elint-check-defalias-form) (elint-check-let-form): * lisp/emacs-lisp/ert.el (ert-get-test): * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol) (find-function-library): * lisp/emacs-lisp/generator.el (iter-yield): * lisp/emacs-lisp/gv.el (gv-define-simple-setter): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emacs-lisp/package-x.el (package-upload-file): * lisp/emacs-lisp/package.el (package-version-join) (package-disabled-p, package-activate-1, package-activate) (package--download-one-archive) (package--download-and-read-archives) (package-compute-transaction, package-install-from-archive) (package-install, package-install-selected-packages) (package-delete, package-autoremove) (package-install-button-action, package-delete-button-action) (package-menu-hide-package, package-menu--list-to-prompt) (package-menu--perform-transaction) (package-menu--find-and-notify-upgrades): * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1): * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode): * lisp/emacs-lisp/ring.el (ring-next, ring-previous): * lisp/emacs-lisp/rx.el (rx-check, rx-anything): * lisp/emacs-lisp/smie.el (smie-config-save): * lisp/emacs-lisp/subr-x.el (internal--check-binding): * lisp/emacs-lisp/testcover.el (testcover-1value): Use curved quotes in diagnostic format strings. 2015-08-21 Fabián Ezequiel Gallina python.el: Ensure remote process-environment on non-interactive processes * lisp/progmodes/python.el (python-shell-tramp-refresh-process-environment): New function. (python-shell-with-environment): Use it. * test/automated/python-tests.el (python-shell-with-environment-2): Update. python.el: Enhancements to process environment setup. * lisp/progmodes/python.el (python-shell-process-environment) (python-shell-extra-pythonpaths, python-shell-exec-path) (python-shell-virtualenv-root): Update docstring. Remove :safe. (python-shell-setup-codes): Remove :safe. (python-shell-remote-exec-path): New defcustom. (python-shell--add-to-path-with-priority): New macro. (python-shell-calculate-pythonpath): Give priority to python-shell-extra-pythonpaths. Update docstring. (python-shell-calculate-process-environment): Give priority to python-shell-process-environment. Update docstring. (python-shell-calculate-exec-path): Give priority to python-shell-exec-path and calculated virtualenv bin directory. Update docstring. (python-shell-tramp-refresh-remote-path): New function. (python-shell-with-environment): Use it when working remotely and do not modify tramp-remote-path. Allow nesting. (python-shell-calculate-command): Remove useless python-shell-with-environment call. * test/automated/python-tests.el (python-shell-calculate-pythonpath-1) (python-shell-calculate-pythonpath-2) (python-shell-calculate-process-environment-6) (python-shell-calculate-process-environment-7) (python-shell-calculate-process-environment-8) (python-shell-calculate-exec-path-3) (python-shell-calculate-exec-path-4) (python-shell-calculate-exec-path-5) (python-shell-calculate-exec-path-6) (python-shell-with-environment-3): New tests. (python-shell-calculate-process-environment-2) (python-shell-calculate-process-environment-3) (python-shell-calculate-process-environment-4) (python-shell-calculate-process-environment-5) (python-shell-calculate-exec-path-1) (python-shell-calculate-exec-path-2) (python-shell-with-environment-1) (python-shell-with-environment-2): Update and simplify. 2015-08-21 Paul Eggert Avoid hard-coding "M-x command" in docstrings * lisp/calendar/todo-mode.el (todo-mode): * lisp/desktop.el (desktop-save-mode): * lisp/edmacro.el (edit-kbd-macro): * lisp/emacs-lisp/package.el (package-menu-execute): * lisp/emulation/viper-cmd.el (viper-ask-level): * lisp/emulation/viper-init.el (viper-expert-level): * lisp/filesets.el (filesets-add-buffer): * lisp/follow.el (follow-mode): * lisp/gnus/auth-source.el (auth-sources): * lisp/international/ogonek.el (ogonek-informacja) (ogonek-information): * lisp/net/tramp.el (tramp-process-actions): * lisp/org/org-gnus.el (org-gnus-no-new-news): * lisp/org/org.el (org-ellipsis): * lisp/progmodes/python.el (python-shell-get-process-or-error): * lisp/progmodes/vhdl-mode.el (vhdl-mode): * lisp/server.el (server-start): * lisp/type-break.el (type-break-noninteractive-query): * lisp/userlock.el (ask-user-about-supersession-help): * lisp/whitespace.el (whitespace-report-region): Prefer (substitute-command-keys "`\\[foo-command]'") to "`M-x foo-command'" in docstrings and the like. 2015-08-21 Tassilo Horn Use add-function for prettify-symbols-compose-predicate * lisp/textmodes/tex-mode.el (tex-common-initialization): Set prettify-symbols-compose-predicate in terms of add-function. * etc/NEWS: Mention prettify-symbols-compose-predicate and prettify-symbols-mode support in tex-mode. 2015-08-21 Stefan Monnier * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun. (smie-indent-exps, smie-indent-keyword): Use it. * test/indent/css-mode.css: Test alignment with leading comment. 2015-08-21 Paul Eggert Respect text-quoting-style in (*Finder*) menus * lisp/info.el (info--prettify-description): Treat description as a docstring, so that it's requoted as per text-quoting-style. 2015-08-21 Martin Rudalics Document `window-use-time' in Elisp manual * doc/lispref/windows.texi (Selecting Windows): Document `window-use-time'. 2015-08-21 Eli Zaretskii * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600. This is a cleaner fix for Bug#21260 than the previous change. 2015-08-21 Paul Eggert Respect text-quoting-style in calc In calc, tespect text-quoting-style preference in diagnostic formats and fix a few similar problems in docstrings. * lisp/calc/calc-aent.el (math-read-factor): * lisp/calc/calc-embed.el (calc-do-embedded): * lisp/calc/calc-ext.el (calc-user-function-list) * lisp/calc/calc-graph.el (calc-graph-show-dumb): * lisp/calc/calc-help.el (calc-describe-key) (calc-describe-thing): * lisp/calc/calc-lang.el (calc-c-language) (math-parse-fortran-vector-end, math-parse-tex-sum) (math-parse-eqn-matrix, math-parse-eqn-prime) (calc-yacas-language, calc-maxima-language, calc-giac-language) (math-read-big-rec, math-read-big-balance): * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes) (calc-auto-recompute): * lisp/calc/calc-prog.el (calc-user-define-invocation) (math-do-arg-check): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-vec.el (math-read-brackets): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calc/calc.el (calc, calc-do, calc-user-invocation): Use curved quotes in diagnostic format strings. * lisp/calc/calc-help.el (calc-describe-thing): Format docstrings with substitute-command-keys. * lisp/calc/calc-help.el (calc-j-prefix-help): * lisp/calc/calc-misc.el (calc-help): * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help): Escape a docstring "`". 2015-08-21 Eli Zaretskii Fix documentation of 'menu-set-font' and 'set-frame-font' * lisp/menu-bar.el (menu-set-font): Doc fix. (Bug#21303) * doc/lispref/frames.texi (Frame Font): Document that set-frame-font with the last argument 't' will also make the font the default for the future GUI frames. Document '--create-frame' option to emacsclient * doc/emacs/misc.texi (emacsclient Options): Document the '--create-frame' option. (Bug#21308) 2015-08-21 Stefan Monnier * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize. 2015-08-21 Eli Zaretskii Document 'get-mru-window' in the ELisp manual * doc/lispref/windows.texi (Cyclic Window Ordering): Document 'get-mru-window'. (Bug#21306) Clarify documentation of 'get-buffer-window-list' * doc/lispref/windows.texi (Buffers and Windows): Mention that the current window, if relevant, will be the first in the list returned by 'get-buffer-window-list'. * lisp/window.el (get-buffer-window-list): Doc fix. (Bug#21305) 2015-08-21 Vasilij Schneidermann In `ielm' use `pop-to-buffer-same-window' (Bug#20848) * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of `switch-to-buffer'. 2015-08-21 Kaushal Modi (tiny change) In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047) * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use `display-buffer' instead of `switch-to-buffer'. 2015-08-21 Paul Eggert Follow user preference in calendar diagnostics Respect text-quoting-style preference in diagnostic formats by using curved quotes (which are translated as per text-quoting-style) instead of grave accent and apostrophe (which are not). * lisp/calendar/appt.el (appt-display-message): * lisp/calendar/diary-lib.el (diary-check-diary-file) (diary-mail-entries, diary-from-outlook): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--convert-float-to-ical) (icalendar--convert-date-to-ical) (icalendar--convert-ical-to-diary) (icalendar--convert-recurring-to-diary) (icalendar--add-diary-entry): * lisp/calendar/time-date.el (format-seconds): * lisp/calendar/timeclock.el (timeclock-mode-line-display) (timeclock-make-hours-explicit): * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category) (todo-item-mark, todo-check-format) (todo-insert-item--next-param, todo-edit-item--next-key) (todo-mode): Use curved quotes in diagnostic format strings. * lisp/calendar/icalendar.el (icalendar-import-format-sample): * test/automated/icalendar-tests.el (icalendar--import-format-sample): Just use straight quoting for simple test case. 2015-08-21 Michael Albinus * src/gfilenotify.c (Fgfile_add_watch): Handle errors from g_file_monitor. 2015-08-21 Martin Rudalics In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame" * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less frame" instead of "non-minibuffer frame". Fix frame geometry related text * doc/lispref/frames.texi (Frame Layout): Rename `x-frame-geometry' to `frame-geometry'. * doc/lispref/frames.texi (Mouse Position): * doc/lispref/windows.texi (Coordinates and Windows): Use `set-mouse-absolute-pixel-position' instead of `x-set-mouse-absolute-pixel-position'. Sanitize frame geometry related functions * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry. (Fx_frame_edges): Rename to Fns_frame_edges. * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry. (Fx_frame_edges): Rename to Fw32_frame_edges. (Fx_mouse_absolute_pixel_position): Rename to Fw32_mouse_absolute_pixel_position. (Fx_set_mouse_absolute_pixel_position): Rename to Fw32_set_mouse_absolute_pixel_position. * lisp/frame.el (x-frame-geometry, w32-frame-geometry) (ns-frame-geometry, x-frame-edges, w32-frame-edges) (ns-frame-edges, w32-mouse-absolute-pixel-position) (x-mouse-absolute-pixel-position) (w32-set-mouse-absolute-pixel-position) (x-set-mouse-absolute-pixel-position): Declare. (frame-geometry, mouse-absolute-pixel-position) (set-mouse-absolute-pixel-position): New functions. (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges. 2015-08-21 Eli Zaretskii Fix MinGW64 build broken by latest w32uniscribe.c changes * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for MinGW64. Reported by Andy Moreton . (Bug#21260) 2015-08-21 Tassilo Horn Add TeX defaults for prettify-symbol-mode * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename from tex-prettify-symbols-alist. (tex--prettify-symbols-compose-p): New function. (tex-common-initialization): Use them as prettify-symbols-alist and prettify-symbols-compose-predicate. Generalize prettify-symbols to arbitrary modes * lisp/progmodes/prog-mode.el (prettify-symbols-default-compose-p): New function. (prettify-symbols-compose-predicate): New variable. (prettify-symbols--compose-symbol): Use it. 2015-08-20 Paul Eggert Don't quote symbols 'like-this' in docstrings etc. * admin/unidata/uvs.el (uvs-insert-fields-as-bytes): * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region): * lisp/allout.el (allout-add-resumptions, allout-mode): * lisp/calculator.el (calculator-operators): * lisp/cedet/data-debug.el (dd-propertize): * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program): * lisp/cedet/semantic/analyze/debug.el: (semantic-analyzer-debug-global-miss-text): * lisp/cedet/semantic/lex-spp.el: (semantic-lex-spp-replace-or-symbol-or-keyword): * lisp/cedet/semantic/symref.el: (semantic-symref-cleanup-recent-buffers-fcn): * lisp/cedet/semantic/tag.el (semantic-tag-class): * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom): * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close): * lisp/gnus/pop3.el (pop3-authentication-scheme): * lisp/help-fns.el (describe-function-orig-buffer): * lisp/imenu.el (imenu--history-list): * lisp/mail/feedmail.el (feedmail-confirm-outgoing) (feedmail-display-full-frame, feedmail-deduce-bcc-where) (feedmail-queue-default-file-slug) (feedmail-queue-buffer-file-name): * lisp/net/mairix.el (mairix-searches-mode-map): * lisp/net/newst-backend.el (newsticker-retrieval-method) (newsticker-auto-mark-filter-list): * lisp/obsolete/vi.el (vi-mode): * lisp/progmodes/cc-engine.el (c-literal-type): * lisp/progmodes/cpp.el (cpp-face): * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper): * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref): * lisp/progmodes/pascal.el (pascal-auto-lineup): * lisp/progmodes/prog-mode.el (prog-widen): * lisp/progmodes/verilog-mode.el (verilog-regexp-words) (verilog-auto-lineup, verilog-auto-reset-widths) (verilog-auto-arg-format, verilog-auto-inst-template-numbers): * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition) (flyspell-maybe-correct-doubling): * lisp/textmodes/table.el (table-justify, table-justify-cell) (table-justify-row, table-justify-column, table-insert-sequence) (table--justify-cell-contents): * lisp/url/url-auth.el (url-get-authentication): * lisp/window.el (display-buffer-record-window): * lisp/xml.el (xml-parse-file, xml-parse-region): * src/gfilenotify.c (Fgfile_add_watch): Don't quote symbols with apostrophes in doc strings. Use asymmetric quotes instead. * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): Likewise for symbol in diagnostic. * lisp/image.el (image-extension-data): * lisp/register.el (frame-configuration-to-register): * src/buffer.c (syms_of_buffer): Remove bogus apostrophes after symbols. * lisp/thumbs.el (thumbs-conversion-program): Quote Lisp string values using double-quotes, not apostrophes. 2015-08-20 Martin Rudalics Describe frame geometry and related functions in Elisp manual * doc/lispref/display.texi (Size of Displayed Text, Line Height) (Showing Images): Update references. * doc/lispref/elisp.texi (Top): Update node listing. * doc/lispref/frames.texi (Frame Geometry): New node. Move `Size and Position' section here. (Size Parameters): Update references. (Mouse Position): Update references and nomenclature. Describe new functions `x-mouse-absolute-pixel-position' and `x-set-mouse-absolute-pixel-position'. * doc/lispref/windows.texi (Window Sizes): Update references. (Resizing Windows): Update references. Move description of `fit-frame-to-buffer' here. (Coordinates and Windows): Update nomenclature and references. Describe new arguments of `window-edges'. Comment out descriptions of `window-left-column', `window-top-line', `window-pixel-left' and `window-pixel-top'. Describe `window-absolute-pixel-position'. 2015-08-20 Alan Mackenzie Handling of `c-parse-state'. Fix low level bug. * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'. 2015-08-20 Andreas Politz * lisp/wid-edit.el (widget-color--choose-action): Quit *Color* window instead of deleting it. 2015-08-20 Martin Rudalics In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to determine whether frame has a titlebar. Suggested by Eli Zaretskii 2015-08-20 Tassilo Horn Add a prettify-symbols-alist for (La)TeX * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist): New variable holding an alist suitable as prettify-symbols-alist in (La)TeX modes. 2015-08-19 Alan Mackenzie Make electric-pair-mode, delete-selection-mode and CC Mode cooperate. Fixes debbugs#21275. In Emacs >= 25, let electric-pair-mode take precedence over delete-selection-mode. * lisp/delsel.el (delete-selection-uses-region-p): New function, previously a lambda expression in a property value for `self-insert-command'. (top-level): Set the `delete-selection' property of `self-insert-command' to `delete-selection-uses-region-p'. * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection' property for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p' when the latter function exists. 2015-08-19 Paul Eggert Fix key binding quoting in tutorial *Help* * lisp/tutorial.el (tutorial--describe-nonstandard-key): When generating help for custom key bindings, use the user-preferred quoting style rather than hardcoding the grave style. 2015-08-19 Eli Zaretskii Improve and future-proof OTF fonts support in w32uniscribe.c * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary about the expected results and why the new Uniscribe APIs are not used in this function. (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc) (ScriptGetFontFeatureTags_Proc): New function typedefs. (uniscribe_new_apis): New static variable. (uniscribe_check_features): New function, implements OTF features verification while correctly accounting for features in the list after the nil member, if any. (uniscribe_check_otf_1): New function, retrieves the features supported by the font for the requested script and language using the Uniscribe APIs available from Windows Vista onwards. (uniscribe_check_otf): If the new Uniscribe APIs are available, use them in preference to reading the font data directly. Call uniscribe_check_features to verify that the requested features are supported, replacing the original incomplete code. (syms_of_w32uniscribe): Initialize function pointers for the new Uniscribe APIs. (Bug#21260) (otf_features): Scan the script, langsys, and feature arrays back to front, so that the result we return has them in alphabetical order, like ftfont.c does. * src/w32fns.c (syms_of_w32fns) : New variable for debugging w32uniscribe.c code. 2015-08-19 Artur Malabarba * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87 Remove usage of `isearch-lax-whitespace' inside the `iearch-word' clause of `isearch-search-fun-default'. That lax variable does not refer to lax-whitespacing. Related to (bug#21777). This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c. * lisp/character-fold.el (character-fold-search): Set to nil. Default to nil for now, until someone implements proper lax-whitespacing with char-fold searching. 2015-08-19 Martin Rudalics Fix doc-string of `help-mode-finish'. * lisp/help-mode.el (help-mode-finish): Fix doc-string. In nsimage.m include coding.h (Bug#21292) * src/nsimage.m (top-level): Include coding.h (Bug#21292). Move window edge functions to Elisp. * src/window.c (Fwindow_edges, Fwindow_pixel_edges) (Fwindow_absolute_pixel_edges, Fwindow_inside_edges) (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges): Move to window.el. (calc_absolute_offset): Remove. * lisp/frame.el (frame-edges): New function. * lisp/window.el (window-edges, window-pixel-edges) (window-absolute-pixel-edges): Move here from window.c. (window-body-edges, window-body-pixel-edges) (window-absolute-body-pixel-edges): Move here from window.c and rename "inside" to "body". Keep old names as aliases. (window-absolute-pixel-position): New function. 2015-08-19 Katsumi Yamaoka [Gnus]: Use overlay functions directly * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part) (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header) (gnus-article-highlight-signature, gnus-article-extend-url-button) (gnus-article-add-button, gnus-insert-prev-page-button) (gnus-insert-next-page-button, gnus-insert-mime-security-button): * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays) (gnus-cite-add-face): * lisp/gnus/gnus-html.el (gnus-html-wash-tags): * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys) (gnus-tree-recenter, gnus-highlight-selected-tree): * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads) (gnus-summary-show-thread, gnus-summary-hide-thread) (gnus-highlight-selected-summary): * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines): * lisp/gnus/message.el (message-fix-before-sending) (message-toggle-image-thumbnails): * lisp/gnus/mm-decode.el (mm-convert-shr-links): * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts): Use overlay functions directly instead of using gnus-overlay-*, message-overlay-*, and sieve-overlay-*. * lisp/gnus/gnus-sum.el (gnus-remove-overlays): * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay) (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put) (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start) (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in): * lisp/gnus/message.el (message-delete-overlay, message-make-overlay) (message-overlay-get, message-overlay-put, message-overlays-in): * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put) (sieve-overlays-at): Remove. 2015-08-19 Martin Rudalics In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64 builds can use the declaration from the system headers. (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new definition of TITLEBAR_INFO. Suggested by Eli Zaretskii 2015-08-19 Glenn Morris * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P". 2015-08-19 Paul Eggert Use new q ‘format’ flag when fixing quotes in C * src/image.c (image_size_error): New function. All uses of image_error with "Invalid image size ..." changed to use it. * src/image.c (image_size_error, xbm_load_image, xbm_load) (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body) (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image) (imagemagick_load, svg_load, svg_load_image, gs_load) (x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Use %qs, not uLSQM and uRSQM. * src/syntax.c (Finternal_describe_syntax_value): Prefer Fsubstitute_command_keys to Fformat, as this lets us use AUTO_STRING. * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument, as it's now guaranteed to be ASCII. * src/xselect.c (x_clipboard_manager_error_2): Avoid grave accent in low-level stderr diagnostic. 2015-08-19 Paul Eggert New q flag for ‘format’ * doc/lispref/processes.texi (Sentinels): Don't hardwire grave quoting style in example. * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document new q flag. * src/editfns.c (Fformat): Implement it. 2015-08-18 Daiki Ueno pinentry.el: Add debugging support * lisp/net/pinentry.el (pinentry-debug): New variable. (pinentry-debug-buffer): New variable. (pinentry--process-filter): Send input to the debug buffer, if `pinentry-debug' is set. pinentry.el: Improve multiline prompt * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface. (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM command. 2015-08-18 Paul Eggert Fix multibyte confusion in diagnostics * src/print.c (print_error_message): Don't assume that the caller's name is unibyte. * src/xdisp.c (vadd_to_log): Don't assume that the formatted diagnostic is unibyte. Fix file name encodings in diagnostics Also, close some minor races when opening image files, by opening them once instead of multiple times. * src/gtkutil.c (xg_get_image_for_pixmap): * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load) (svg_load): * src/nsimage.m (allocInitFromFile:): * src/xfns.c (xg_set_icon): Encode file name, since x_find_image_file no longer does that. * src/image.c (x_find_image_fd): New function. (x_find_image_file): Use it. Do not encode resulting file name, since callers sometimes need it decoded. (slurp_file): File arg is now a fd, not a file name. All callers changed. This saves us having to open the file twice. (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body) (svg_load): Use x_find_image_fd and fdopen to save a file-open. Report file name that failed. * src/lread.c (openp): If PREDICATE is t, open the file in binary mode. 2015-08-18 Dmitry Gutov Allow blink-matching-paren to jump off screen * doc/emacs/programs.texi (Matching): Mention the `blink-matching-paren' value `jump-offscreen'. * lisp/simple.el (blink-matching-paren): New possible value. (blink-matching-paren-on-screen): Clarify the docstring. (blink-matching-open): Handle `jump-offscreen' (bug#21286). Refine the previous change * lisp/simple.el (blink-matching-open): Use minibuffer-message outside of save-excursion (bug#21286). 2015-08-18 Martin Rudalics Rewrite and add frame geometry related functions. * src/frame.c (Fframe_position): New function. (Fset_frame_position): Rename parameters and rewrite doc-string. (syms_of_frame): Remove Qframe_position, Qframe_outer_size, Qtitle_height and Qframe_inner_size. Add Qouter_edges, Qouter_position, Qouter_size, Qnative_edges, Qinner_edges, Qtitle_bar_size. * src/nsfns.m (frame_geometry): New function. (Fx_frame_geometry): Call frame_geometry. (Fx_frame_edges): New function. * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO) (GetTitleBarInfo_Proc): Define these so we can use the GetTitleBarInfo API. (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove. (Fx_frame_geometry): Rewrite. (Fx_frame_edges, Fx_mouse_absolute_pixel_position) (Fx_set_mouse_absolute_pixel_position): New functions. * src/xfns.c (frame_geometry): New function. (Fx_frame_geometry): Call frame_geometry. (Fx_frame_edges, Fx_mouse_absolute_pixel_position) (Fx_set_mouse_absolute_pixel_position): New functions. 2015-08-18 Michael Albinus Improve Tramp's compatibility * lisp/net/tramp.el (tramp-get-method-parameter): * lisp/net/tramp-adb.el (tramp-adb-parse-device-names) (tramp-adb-get-device): * lisp/net/trampver.el (tramp-repository-get-version): Use `tramp-compat-replace-regexp-in-string'. 2015-08-18 Pierre Téchoueyres (tiny change) * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable): Encode/decode string. 2015-08-18 Paul Eggert Clarify what happens to match data on failure Problem reported by Ernesto Alfonso (Bug#21279). * doc/lispref/searching.texi (Regexp Search, Simple Match Data): Document more carefully what happens to match data after a failed search. * src/search.c (Fmatch_beginning, Fmatch_end): Document that the return value is undefined if the last search failed. (Fmatch_data): Simplify doc string line 1. 2015-08-18 Daiki Ueno Revert "pinentry.el: Support external passphrase cache" This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337. pinentry.el shouldn't directly interact with the secrets service, but ask the caller to cache the passphrase. 2015-08-17 Xue Fuqiao * doc/emacs/sending.texi (Mail Misc): Fix two index entries for Message mode hooks. 2015-08-17 Daiki Ueno epg.el: Make gpgconf output parsing future proof * lisp/epg.el (epg--start): Count the number of fields in "gpgconf --list-options" output. pinentry.el: Support external passphrase cache * lisp/net/pinentry.el (pinentry-use-secrets): New user option. (pinentry--allow-external-password-cache): New local variable. (pinentry--key-info): New local variable. (secrets-enabled, secrets-search-items, secrets-get-secret): Declare. (pinentry--send-passphrase): New function, split from `pinentry--process-filter'. (pinentry--process-filter): Use secrets.el to retrieve passphrase from login keyring. pinentry.el: Popup window for multiline prompt * lisp/net/pinentry.el (pinentry): New custom group. (pinentry-popup-prompt-window): New user option. (pinentry-prompt-window-height): New user option. (pinentry--prompt-buffer): New variable. (pinentry-prompt-mode-map): New variable. (pinentry-prompt-mode): New function. (pinentry--prompt): New function. (pinentry--process-filter): Use `pinentry--prompt' instead of `read-passwd' and `y-or-n-p'. 2015-08-17 Katsumi Yamaoka message.el: Silent the byte compiler * lisp/gnus/message.el (message-overlay-put, message-make-overlay) (message-kill-all-overlays, message-overlays-in, message-overlay-get) (message-delete-overlay, message-window-inside-pixel-edges): Declare before using. * lisp/gnus/message.el (message-overlay-get, message-overlays-in) (message-window-inside-pixel-edges): XEmacs compatible functions. 2015-08-17 Lars Magne Ingebrigtsen * lisp/gnus/message.el (message-toggle-image-thumbnails): New command. 2015-08-17 Noah Friedman * lisp/simple.el (blink-matching-open): Restore point before calling minibuffer-message. 2015-08-17 Ronnie Schnell * lisp/play/dunnet.el: Update version number in header (now matches help). 2015-08-17 Paul Eggert Curved quotes in --batch diagnostics in non-UTF-8 When run with --batch, check that curved quotes are compatible with the system locale before outputting them in diagnostics. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html * lisp/startup.el (command-line): Set internal--text-quoting-flag after the standard display table is initialized. * src/doc.c (default_to_grave_quoting_style): New function. (text_quoting_style): Use it. (text_quoting_flag): New static var, visible to Lisp as internal--text-quoting-flag. * src/emacs.c: Include if available. (using_utf8): New function. (main): Use it to initialize text_quoting_flag. * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]: Don't define, as it's not needed and it clashes with wchar.h. 2015-08-17 Glenn Morris * doc/misc/tramp.texi (Configuration): Reword to avoid warning from makeinfo about spurious "Note:" cross-reference, and for grammar. 2015-08-17 Ilya Zakharevich Minor change in variable initialization on MS-Windows * src/w32fns.c : Initialize to -1. (deliver_wm_chars): If after_deadkey is zero, don't set after_dead non-zero. Fix a bug with LWindow key remapping on MS-Windows * src/w32fns.c (deliver_wm_chars): Fix a typo. (Bug#21276) 2015-08-17 Eli Zaretskii Improve fontset support for latest OTF script tags * lisp/international/fontset.el (otf-script-alist): Add some missing script tags. (setup-default-fontset): Include settings for v2 versions of the script tags used by some modern OTF/TTF fonts. 2015-08-17 Paul Eggert Spelling fixes 2015-08-16 Paul Eggert Use curved quotes in core elisp diagnostics In the core elisp files, use curved quotes in diagnostic formats, so that they follow user preference as per ‘text-quoting-style’ rather than being hard-coded to quote `like this'. * lisp/abbrev.el (expand-region-abbrevs): * lisp/button.el (button-category-symbol, button-put) (make-text-button): * lisp/cus-start.el: * lisp/custom.el (custom-add-dependencies, custom-check-theme) (custom--sort-vars-1, load-theme): * lisp/emacs-lisp/byte-run.el (defun, defsubst): * lisp/emacs-lisp/cl-generic.el (cl-defgeneric) (cl-generic-generalizers): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring) (advice--make, define-advice): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/env.el (setenv): * lisp/facemenu.el (facemenu-add-new-face) (facemenu-add-new-color): * lisp/faces.el (face-documentation, read-face-name) (face-read-string, read-face-font, face-spec-set-match-display) (read-color, x-resolve-font-name): * lisp/files.el (locate-user-emacs-file, find-alternate-file) (set-auto-mode, hack-local-variables) (hack-one-local-variable--obsolete) (dir-locals-set-directory-class, write-file) (basic-save-buffer, delete-directory, copy-directory) (recover-session, recover-session-finish, insert-directory) (file-modes-char-to-who, file-modes-symbolic-to-number) (move-file-to-trash): * lisp/font-lock.el (font-lock-fontify-buffer): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/frame.el (get-device-terminal, select-frame-by-name): * lisp/fringe.el (fringe--check-style): * lisp/help.el (describe-minor-mode-from-indicator): * lisp/image.el (image-type): * lisp/international/fontset.el (x-must-resolve-font-name): * lisp/international/mule-cmds.el (prefer-coding-system) (select-safe-coding-system-interactively) (select-safe-coding-system, activate-input-method) (toggle-input-method, describe-current-input-method): * lisp/international/mule-conf.el (code-offset): * lisp/mouse.el (minor-mode-menu-from-indicator): * lisp/replace.el (query-replace-read-from) (occur-after-change-function, occur-1): * lisp/scroll-bar.el (scroll-bar-columns): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, compose-mail, set-variable) (choose-completion-string, define-alternatives): * lisp/startup.el (site-run-file, tty-handle-args) (command-line, command-line-1): * lisp/subr.el (noreturn, define-error, add-to-list) (read-char-choice): * lisp/term/common-win.el (x-handle-xrm-switch) (x-handle-name-switch, x-handle-args): * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid): Use curved quotes in diagnostics. * lisp/international/mule.el (find-auto-coding): Use " to quote in a diagnostic, to be consistent with the rest of this file. Convert lisp/term/x-win.el to UTF-8 * lisp/term/x-win.el: Convert to UTF-8. This doesn't affect runtime behavior, and the file is multilingual so compile-time appearance shouldn't be an issue. * admin/notes/unicode: Document this. 2015-08-16 Wilson Snyder Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU. * lisp/progmodes/verilog-mode.el: Fix some non-automated indent issues and comments, bug#943. (verilog-type-font-keywords): Cycle delay operators like ##1 and ##[0:$] are now highlighted in their entirety similarly to the # delay-control operator. Likewise, the followed-by operators #-# and #=# are no longer partially highlighed. (verilog-backward-syntactic-ws-quick) (verilog-skip-backward-comments): Minor performance improvements to buffer traversal functions for reduced latency. (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the keyword 'final' follows 'assert/assume/cover', then it is part of a deferred immediate assertion item and should not be treated as a final construct for indentation. Reported by Yuri Sugihara. (verilog-do-indent): Virtual task/function/class definition lines should not be considered as declarations. Reported by Enzo Chi. (verilog-do-indent): Do not falsely indent to '=' of property/sequence operators on subsequent lines of a multi-line statement. (verilog-assignment-operator-re): Fix '!==' operator and add support for '<->', ':/', '#-#', and '#=#' operators. (verilog-calculate-indent, verilog-label-be): Enable case-sensitive regular expression parsing when looking for keywords. (verilog-calc-1): Detect 'pure virtual method' declarations which exist in abstract classes. Reported by Enzo Chi and Kaushal Modi. (verilog-backward-ws&directives): When moving back to the start of a line and the preceeding line ended with an escaped-newline, then jump up one line. This properly consumes a multi-line pre-processor directive. Reported by Kaushal Modi. (verilog-dpi-import-export-re, verilog-extended-complete-re) (verilog-calc-1): Teach verilog-mode to properly indent after a DPI import/export statement that resides outside of a module. Reported by Kaushal Modi. (verilog-extended-complete-re): Update regexp to match both "DPI-C" and "DPI". Reported by Kaushal Modi. 2015-08-15 Paul Eggert substitute-command-keys a few more doc strings * lisp/allout.el (outlineify-sticky): * lisp/files.el (hack-one-local-variable--obsolete): * lisp/help-fns.el (help-fns--obsolete, describe-variable): Use substitute-command-keys on some doc strings so that they don't use hard-coded key bindings or quoting styles. Fix quoting in Fformat calls * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load) (xpm_load, xpm_load_image, pbm_load, png_load_body) (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image) (imagemagick_load, svg_load, svg_load_image, gs_load) (x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Quote diagnostics according to user preference when calling Fformat or its derivatives. 2015-08-15 Glenn Morris * admin/admin.el (set-version, set-copyright): Remove deleted files. 2015-08-15 Stephen Leake Allow describe-function helpers to access buffer-local values This will be used by cedet/mode-local.el `describe-mode-local-override' on `help-fns-describe-function-functions' in upstream CEDET. * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in `describe-function'. (describe-function): Bind it, save it on the help xref stack. Handle pulse-background being nil * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit pulse-background, handle it being nil. 2015-08-15 Paul Eggert Fix "\`" confusion in Lisp strings * admin/authors.el (authors-canonical-author-name): Fix typo by using "\\`" not "\`" in string RE. * lisp/obsolete/complete.el (PC-complete-as-file-name): * lisp/obsolete/vi.el (vi-backward-blank-delimited-word): * lisp/progmodes/verilog-mode.el (verilog-mode-map): Use plain "`", not the equivalent-but-confusing "\`", in strings. * lisp/textmodes/texinfmt.el: Fix comment likewise. 2015-08-15 Dani Moncayo * nt/zipdist.bat: Remove -- no longer used. 2015-08-15 Jürgen Hötzel * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled" rather than "getenforce". (tramp-sh-handle-set-file-selinux-context): Do not cache SELinux context if not all context components are given. 2015-08-15 Eli Zaretskii Add doc strings to 2 help-mode.el functions * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc strings. (Bug#21263) Remove files used by the old MS-Windows specific build procedure * admin/unidata/makefile.w32-in: * doc/emacs/makefile.w32-in: * doc/lispintro/makefile.w32-in: * doc/lispref/makefile.w32-in: * doc/misc/makefile.w32-in: * leim/makefile.w32-in: * lib-src/makefile.w32-in: * lib/makefile.w32-in: * lisp/makefile.w32-in: * nt/INSTALL.OLD: * nt/config.nt: * nt/emacs-src.tags: * nt/envadd.bat: * nt/gmake.defs: * nt/makefile.w32-in: * nt/multi-install-info.bat: * nt/nmake.defs: * nt/paths.h: * src/makefile.w32-in: Files deleted. * nt/configure.bat: Remove everything except the blurb about the new build procedure. * make-dist: Remove references to makefile.w32-in in various directories, and to files in nt/ that were deleted. * etc/NEWS: Mention the fact that the files were dropped. 2015-08-15 Paul Eggert * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR. (Bug#21248) 2015-08-14 Paul Eggert Default to inotify instead of gfile * configure.ac (with_file_notification): Fix typo that prevented suppression of file notification if HAVE_NS. (NOTIFY_OBJ): Prefer inotify to gfile if both exist and with_file_notification is 'yes' (Bug#21241). * etc/NEWS: Mention this. Fix broken URLs for ISO-IR * doc/emacs/mule.texi (Charsets): * lisp/international/mule-conf.el: Fix broken URL (Bug#21248). Low-level diagnostics now use ‘text-quoting-style’ * src/doprnt.c (doprnt): Format ` and ' as per ‘text-quoting-style’. * src/xdisp.c (vmessage, message): Mention that the format should not contain ` or '. Prefer ‘format’ to ‘substitute-command-keys’ * src/character.h (uLSQM, uRSQM): Move here ... * src/doc.c (uLSQM, uRSQM): ... from here. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-extra.el (cl--describe-class): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Prefer ‘format’ to ‘substitute-command-keys’ when either will do to implement quoting style. This generally makes the code simpler. Extend ‘format’ to translate curved quotes This is a followup to the recent doc string change, and deals with diagnostics and the like. This patch is more conservative than the doc string change, in that the behavior of ‘format’ changes only if its first arg contains curved quotes and the user prefers straight or grave quotes. (Come to think of it, perhaps we should be similarly conservative with doc strings too, but that can wait.) The upside of this conservatism is that existing usage is almost surely unaffected. The downside is that we'll eventually have to change Emacs's format strings to use curved quotes in places where the user might want curved quotes, but that's a simple and mechanical translation that I'm willing to do later. (Bug#21222) * doc/lispref/help.texi (Keys in Documentation): Move description of text-quoting-style from here ... * doc/lispref/strings.texi (Formatting Strings): ... to here, and describe new behavior of ‘format’. * etc/NEWS: Describe new behavior. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): * lisp/info.el (Info-find-index-name): Use ‘concat’ rather than ‘format’ to avoid misinterpretation of recently-added curved quotes. * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Move from here ... * src/lisp.h: ... to here. * src/doc.c (text_quoting_style): New function. (Fsubstitute_command_keys): Use it. * src/editfns.c (Fformat): Implement new behavior. * src/lisp.h (enum text_quoting_style): New enum. 2015-08-14 Stefan Monnier * src/keyboard.c: Use false/true instead of 0/1 for booleans. * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean. 2015-08-14 Michael Albinus * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect stderr to /dev/null, this is done in `tramp-send-command-and-check'. 2015-08-14 Jürgen Hötzel Flush file properties in Tramp * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes) (tramp-sh-handle-set-file-times): * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes) (tramp-adb-handle-set-file-times): Flush the file properties of the directory. 2015-08-14 Ronnie Schnell * doc/emacs/misc.texi (Amusements): Fixed typo. 2015-08-14 Eli Zaretskii Don't miss warnings about removing string text properties while dumping * src/alloc.c (purecopy): Warn about removing a string's text properties even when the same string was already pure-copied earlier. * lisp/progmodes/elisp-mode.el (elisp--xref-format) (elisp--xref-format-extra): Fix the commentary. 2015-08-13 Stefan Monnier * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049). 2015-08-13 Magnus Henoch * lisp/progmodes/compile.el: Use lexical-binding. (compilation-move-to-column): Assume 8-wide TABs (bug#21038). 2015-08-13 Stefan Monnier (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037) * lisp/uniquify.el: Remove redundant `:group's. 2015-08-13 Jürgen Hötzel * lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes): Make a copy of result to prevent modification of the tramp-cache by side effects. Use the correct cache key. 2015-08-13 Paul Eggert Make add_to_log varargs * src/alloc.c (run_finalizer_handler): * src/charset.c (load_charset_map_from_vector): * src/nsimage.m (ns_load_image): * src/xfaces.c (load_pixmap, load_color2): Simplify, now that add_to_log has a variable number of args. * src/image.c (image_error): Take a variable number of args. Callers simplified. * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs. * src/xdisp.c (format_nargs, vadd_to_log): New functions. (add_to_log): Make varargs, and reimplement in terms of vadd_to_log. * src/xfaces.c (merge_face_ref): Fix typo that omitted color name. Optional args for holiday-greek-orthodox-easter * etc/NEWS: Document this. * lisp/calendar/holidays.el (holiday-greek-orthodox-easter): Add optional args N and STRING, mimicking the API and code of ‘holiday-easter-etc’. From suggestion by Foivos S. Zakkak (Bug#21256). 2015-08-13 Stephen Leake xref-find-definitions: Exclude more generic function items. * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string. (cl--generic-find-defgeneric-regexp): New. (find-function-regexp-alist): Add it. * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from elisp-mode.el, change to search for ";;; Code:" (find-alias-regexp): Move here from elisp-mode.el, cleaned up. (find-function-regexp-alist): Add them. * lisp/progmodes/elisp-mode.el: (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due to bug#21237. (elisp--xref-find-definitions): Exclude co-located default methods for generic functions. Also exclude implicitly declared defgeneric. (elisp--xref-find-definitions): Handle C source properly. Exclude minor mode variables defined by 'define-minor-mode'. * test/automated/elisp-mode-tests.el: Declare generic functions, add tests for them. (xref-elisp-test-run): Fix bug. (emacs-test-dir): Improve initial value. (find-defs-defun-defvar-el): Don't expect defvar. (find-defs-feature-el): Match change to find-feature-regexp. 2015-08-13 Eli Zaretskii Improve warning about purecopy of strings with properties * src/alloc.c (purecopy): Show the offending string with the warning about removing its text properties. 2015-08-12 Alan Mackenzie Introduce new macros to cover Emacs's new names in cl-lib.el This also eliminates `mapcan' warnings in XEmacs. * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to characterise [X]Emacs versions. (top-level): Require either 'cl or 'cl-lib, depending on c--mapcan-status. Change this back to cc-external-require from an eval-when-compile require. (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all) (c--delete-duplicates): New macros which expand into either old or new names. (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros rather than the old names. * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather than mapcan. * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan. * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib, depending on c--mapcan-status. (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp) (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key) (c-not-decl-init-keywords, c-not-primitive-type-keywords) (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds) (c-decl-block-key, c-keywords, c-keywords-obarray) (c-regular-keywords-regexp, c-primary-expr-regexp) (c-primary-expr-regexp, c-block-prefix-disallowed-chars) (c-known-type-key, c-nonlabel-token-key) (c-make-init-lang-vars-fun): Use the new macros rather than the old names. 2015-08-12 Oleh Krehel loadhist.el (read-feature): Conform to completing-read * lisp/loadhist.el (read-feature): According to `completing-read' documentation, if collection is a list, then it must be a list of strings, not a list of symbols like before. 2015-08-12 David Kastrup Deal gracefully with up-events (Bug#19746) * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier) (parse_modifiers_uncached): React gracefully to "up-" modifiers: those may easily be injected by user-level Lisp code. (read_key_sequence): Discard unbound up-events like unbound down-events: they are even more likely only relevant for special purposes. While Emacs will not produce up-events on its own currently (those are converted to drag or click events before being converted to Lisp-readable structures), the input queue can be made to contain them by synthesizing events to `unread-command-events'. Emacs should deal consistently with such events. 2015-08-12 Eli Zaretskii Fix display of thin lines whose newline has line-height property of t * src/xdisp.c (append_space_for_newline): Don't try to fix ascent and descent values of non-empty glyph rows, since they could have forced low values deliberately. (Bug#21243) 2015-08-12 Richard Stallman Offer to combine multiple To or CC fields. * lisp/mail/sendmail.el (mail-combine-fields): New function. (mail-send): Call 'mail-combine-fields'. Don't decrypt encrypted files. * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t. Handle encrypted mbox files. * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox file if necessary. Re-enable mime processing after decryption. Add 'decrypt' keyword. * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine. (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out. In a mime message, reenable Mime and show the parts that were shown before. Add keyword "decrypt" if anything decrypted. epa-inhibit inhibits auto-recognition of .gpg files * lisp/epa-file.el (epa-inhibit): New variable. (epa-file-handler): Check epa-inhibit. 2015-08-12 Artur Malabarba * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion. 2015-08-11 Fabián Ezequiel Gallina Respect python.el imenu when semantic-mode is off Fixes bug#21220 * lisp/cedet/semantic/wisent/python.el: Do not force wisent-python-default-setup on python-mode-hook. 2015-08-11 Paul Eggert Give names to Unicode code points in C code * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN) (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN) (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK) (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR) (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET) (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET) (OBJECT_REPLACEMENT_CHARACTER): New named constants for Unicode code points. * src/bidi.c (bidi_fetch_char, CANONICAL_EQU): * src/composite.c (char_composable_p): * src/lread.c (readevalloop, read1): * src/xdisp.c (get_next_display_element): Use them. * src/doc.c (LEFT_SINGLE_QUOTATION_POINT): Remove; now in character.h. 2015-08-11 Stephen Leake elisp--xref-find-definitions handle cl-defstuct default constructor * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME. (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod. (elisp--xref-find-definitions): Handle cl-defstuct default constructor. * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out from xref-elisp-test for ease of debugging. (xref-elisp-deftest): Rename from xref-elisp-test. (find-defs-constructor): New test. (find-defs-defgeneric-el): Match batch test config. (compile): Required for find-defs compilation-minor-mode test. (find-defs-defvar-el): Match code change. (find-defs-face-el): Match code change. * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions): Improve doc string. 2015-08-11 Stefan Monnier * lisp/replace.el (perform-replace): Document `replacements'. (perform-replace): Move the description of the format of `replacements' from the body's comment to the doc string. 2015-08-11 Jürgen Hötzel * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape sequence. Recent adb version send initial escape sequences, even when terminal type is set to TERM=dumb. 2015-08-10 Stephen Leake Rewrite elisp--xref-find-definitions to handle many more cases; add tests * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Function deleted. (elisp--xref-format-cl-defmethod): New defconst. (find-feature-regexp, find-alias-regexp): New defcustoms. (elisp--xref-make-xref): New function. (elisp--xref-find-definitions): Rewrite using the above, handle many more cases. Always output all available definitions. (xref-location-marker): No need for special cases. * test/automated/elisp-mode-tests.el: Add more tests of elisp--xref-find-definitions, improve current tests. 2015-08-10 Eli Zaretskii Fix recording of events pushed onto unread-command-events * src/keyboard.c (read_char): Make sure events read from unread-command-events and unread-post-input-method-events are always recorded by record_char. Reported by David Kastrup , see http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html. 2015-08-10 Samer Masterson Set file buffer as current for "--file" * lisp/startup.el (command-line-1): Set file buffer as current before it is displayed so it can be used with options like "--eval". (Bug#21095) 2015-08-10 Eli Zaretskii Avoid setting LC_NUMERIC on MS-Windows to anything but "C" * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale after setting LC_ALL to the desired locale, to avoid affecting how numbers are read and printed. (Bug#21223) 2015-08-10 Alan Mackenzie Fix "Invalid search bound (wrong side of point)" in fontification * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an initialization expression, check point is not beyond the fontification limit. 2015-08-09 Paul Eggert Fix DPI calculation when Xft/DPI is default * src/xsettings.c (parse_settings): Don't use Xft/DPI default value of -1, which evaluates to 2**32 - 1 (Bug#21152). Remove unnecessary cast while we're in the neighborhood. 2015-08-09 Dmitry Gutov Add project-vc-search-path and project-vc-ignores * lisp/progmodes/project.el (project-vc): New group. (project-vc-search-path, project-vc-ignores): New variables. (project--value-in-dir): Utility function. (project-search-path, project-ignores): Use them. * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./' at bos. Don't add extra `/'. Don't prepend with `*' if replaced. 2015-08-09 Paul Eggert Fix some minor quoting issues with grave accent * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]: Remove redundant quotes. * src/doc.c (uLSQM, uRSQM): New macros. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): Follow the user preference for quotes rather than hardcoding the ‘grave’ style. * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT) (re_match_2_internal) [DEBUG]: In debugging output, quote C strings with "...", not `...'. ChangeLog.2 ignores remote-tracking merges * build-aux/gitlog-to-emacslog: Ignore commit logs matching "Merge remote-tracking branch '.*'" too. See Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html 2015-08-09 Nicolas Richard Use kpsewhich in ffap-latex-mode, if available * lisp/ffap.el (ffap-latex-guess-rules): New variable. (ffap-latex-mode): Use kpsewhich if available. ffap: disallow braces in filenames for tex modes * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow braces in tex-related modes. Remove useless backslashes from ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and misleading backslashes from default value. Augment docstring of ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG and END are handled. 2015-08-09 Paul Eggert * lisp/org/org-src.el (org-edit-src-code) (org-edit-fixed-width-region): * lisp/simple.el (completion-setup-function): Remove calls to substitute-command-keys that always just return their argument. 2015-08-09 Daiki Ueno * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'. (Bug#21210) 2015-08-09 Ivan Kanis Fix link to source code in help window * lisp/help-fns.el (find-lisp-object-file-name): Remove code that will never work due to Glenn Morris change a6d63d9 on Apr 20 2013 'No longer include timestamp in header of .elc files'. Add code that will return .el source file in load-path. 2015-08-09 Artur Malabarba * lisp/isearch.el (isearch-search-fun-default): (Bug#21164) Respect `isearch-lax-whitespace' when searching through `isearch-word'. 2015-08-08 Stefan Monnier * test/automated/ert-tests.el (ert-test-deftest): Add FIXME. * lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map) (org-set-regexps-and-options, org-assign-fast-keys) (org-contextualize-keys, org-contextualize-validate-key) (org-notes-order-reversed-p, org-local-logging, org-map-entries) (org-find-olp, org-find-exact-heading-in-directory) (org-cycle-agenda-files, org-release-buffers, org-fill-template) (org-agenda-prepare-buffers, org-occur-in-agenda-files) (org-replace-escapes): Use dolist. (org-mode): Optimize away XEmacs-only code. (org-refile-get-targets): Remove unused var `f'. (org-fast-todo-selection): Remove unused var `e'. (org-make-tags-matcher): Use dolist. Remove unused var `term'. (org-fast-tag-selection): Use dolist. Remove unused var `e'. (org-format-latex): Use dolist. Remove unused var `e'. (org-toggle-heading): Access vars lexically rather than dynamically. (org-backward-sentence, org-forward-sentence, org-meta-return) (org-kill-line): Mark arg as unused. (org-submit-bug-report): Silence compiler warning. (org-occur-in-agenda-files): Don't use add-to-list on local vars. (org-get-cursor-date): Remove unused var `tm'. (org-comment-or-uncomment-region): Use standard name `_'. (reftex-docstruct-symbol, reftex-cite-format): Declare to silence byte-compiler. (org-reftex-citation): Add `org--' prefix to dynamically scoped `rds' var. 2015-08-08 Paul Eggert Electric quote if coding is undecided or no conv * lisp/electric.el (electric--insertable-p): Also say that a string is insertable if the buffer file coding system is undecided or uses no conversion, as curved quotes will work in either case. * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration. 2015-08-08 Eli Zaretskii Fix overlay string display regressions introduced in Emacs 24.5 * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this buffer position, if we move the iterator to a new position as result of jumping over text covered by a "replacing" display property. * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests. Support recovery from C stack overflow on MS-Windows * src/w32fns.c (w32_reset_stack_overflow_guard) (stack_overflow_handler): New functions for handling C stack overflow exceptions. (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions specially, and zero out except_addr if we do. (globals_of_w32fns): Initialize dwMainThreadId in non-interactive mode. * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for the MinGW build, but the code guarded by that is for Posix hosts. * src/keyboard.c (command_loop) [WINDOWSNT]: Call w32_reset_stack_overflow_guard. * nt/inc/ms-w32.h (sigjmp_buf): New typedef. (sigsetjmp): New macro. (w32_reset_stack_overflow_guard): Declare the prototype. * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW. 2015-08-07 Phillip Lord Improve error signalling for seq-subseq * lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error when indexes are too large, but to silently ignore numbers which are too negative for lists. String and vector handling errors in both cases. This has been regularized. Error signaling behavior has been explicitly added to the doc string. * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is therefore also impacted by this change. Update the doc string to reflect this. * test/automated/seq-tests.el (test-seq-subseq): Tests have been added for these exceptional cases, as well as one non exceptional base case. 2015-08-07 Jürgen Hötzel Improve error checking in tramp-adb.el * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p): Improve error checking. "ls -l" on Android in Enforcing mode can print "lstat './FILENAME failed: Permission denied". 2015-08-07 Stefan Monnier * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on non-struct vectors. 2015-08-07 Stephen Leake Fix typo in lisp/window.el, more `display-buffer-use-some-frame' * lisp/window.el: Fix typo that broke build. (display-buffer--action-function-custom-type): Add `display-buffer-use-some-frame'. (display-buffer): Add `display-buffer-use-some-frame' to doc string. Add support for 'inhibit-same-window in 'display-buffer-use-some-frame' * lisp/window.el (display-buffer-use-some-frame): Add support for 'inhibit-same-window in alist. * doc/lispref/windows.texi (display-buffer-use-some-frame): Doc support for 'inhibit-same-window in alist. 2015-08-07 Eli Zaretskii Avoid infinite loop in display of invisible text in strings * src/xdisp.c (handle_invisible_prop): If the next change of invisibility spec does not mean the beginning of a visible text, update the string position from which to start the search for the next invisibility change. This avoids an infinite loop when we have more than one invisibility spec that are made inactive by buffer-invisibility-spec. Simplify code. (Bug#21200) * test/redisplay-testsuite.el (test-redisplay-4): Add a test case for the situation that caused bug #21200. 2015-08-06 Artur Malabarba * lisp/emacs-lisp/package.el: Simplify describe-package-1 (package-help-section-name-face): New face. (package--print-help-section): New function. (describe-package-1): Refactor section printing. (package-make-button): Use face instead of font-lock-face, which doesn't work on buttons. * lisp/emacs-lisp/package.el: Define custom faces (package-name-face, package-description-face) (package-status-built-in-face, package-status-external-face) (package-status-available-face, package-status-new-face) (package-status-held-face, package-status-disabled-face) (package-status-installed-face, package-status-dependency-face) (package-status-unsigned-face, package-status-incompat-face) (package-status-avail-obso-face): New faces. (package-menu--print-info-simple): Use them. 2015-08-05 Paul Eggert Fix some confusion with ‘format’ * lisp/allout-widgets.el (allout-widgets-before-change-handler) (allout-graphics-modification-handler): Protect arbitrary string in a format context with "%s" format. * lisp/avoid.el: * lisp/cedet/semantic/bovine/scm.el: Fix comment. * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical): * lisp/erc/erc-button.el (erc-button-beats-to-time): * lisp/gnus/message.el (message-send-form-letter): * lisp/org/ob-core.el (org-babel-check-evaluate) (org-babel-confirm-evaluate): * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran): * lisp/org/ox-latex.el (org-latex-compile): * lisp/org/ox-man.el (org-man-compile): * lisp/org/ox-odt.el (org-odt-template): * lisp/org/ox-texinfo.el (org-texinfo-compile): * lisp/progmodes/prolog.el (prolog-help-info) (prolog-view-predspec): * lisp/progmodes/ruby-mode.el (ruby-parse-partial): * lisp/progmodes/verilog-mode.el (verilog-showscopes): * lisp/textmodes/rst.el (rst-replace-lines): Change (message (format ...)) to (message ...), and likewise for ‘error’. This lessens the probability of confusion when the output of ‘format’ contains ‘%’. 2015-08-05 Artur Malabarba * lisp/replace.el (replace-character-fold): Default to nil. * lisp/character-fold.el: Fix lax whitespace. (character-fold-table): Don't make space match other whitespace chars. (character-fold-to-regexp): Simplify lax behavior. 2015-08-05 Dmitry Gutov Preserve window point in xref-find-definitions-other-window Fix the problem reported by Ingo Logmar in http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html * lisp/progmodes/xref.el (xref--goto-char): Extract from xref--goto-location. (xref--pop-to-location): Use it. Replace xref--goto-location with a direct xref-location-marker call. (xref--show-location): Likewise. (xref--display-position): Use xref--goto-char. * lisp/progmodes/project.el: Add a paragraph to the front matter. 2015-08-04 David Kastrup * lisp/vc/emerge.el (emerge-show-file-name): * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash) (vhdl-comment-insert, vhdl-hooked-abbrev): * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring): * lisp/progmodes/fortran.el (fortran-window-create-momentarily): * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu): * lisp/progmodes/cperl-mode.el (cperl-putback-char): * lisp/obsolete/vip.el (vip-escape-to-emacs) (vip-prefix-arg-value, vip-prefix-arg-com): * lisp/obsolete/terminal.el (te-escape-extended-command-unread): * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation) (quail-tibkey-update-translation): * lisp/leim/quail/lrt.el (quail-lrt-update-translation): * lisp/leim/quail/lao.el (quail-lao-update-translation): * lisp/leim/quail/japanese.el (quail-japanese-update-translation) (quail-japanese-self-insert-and-switch-to-alpha): * lisp/leim/quail/hangul.el (hangul2-input-method) (hangul3-input-method, hangul390-input-method): * lisp/language/hanja-util.el (hangul-to-hanja-char): * lisp/international/robin.el (robin-input-method): * lisp/international/quail.el (quail-start-translation) (quail-start-conversion): * lisp/gnus/gnus-art.el (gnus-article-describe-key) (gnus-article-describe-key-briefly): * lisp/eshell/em-hist.el (eshell-list-history): * lisp/term.el (term-dynamic-list-input-ring) (term-dynamic-list-completions): * lisp/subr.el (momentary-string-display): * lisp/simple.el (read-quoted-char): * lisp/pcomplete.el (pcomplete-show-completions): * lisp/kmacro.el (kmacro-repeat-on-last-key): * lisp/info.el (Info-summary): * lisp/ehelp.el (electric-help-command-loop): * lisp/ebuff-menu.el (electric-buffer-list) (Electric-buffer-menu-exit): * lisp/double.el (double-translate-key): * lisp/comint.el (comint-dynamic-list-input-ring) (comint-dynamic-list-completions): Do not overwrite preexisting contents of `unread-command-events' when putting new events into it. 2015-08-04 Daniel Colascione Improve ansi-color filtering of unrecognized escape sequences * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting escape sequences. (ansi-color-filter-apply, ansi-color-apply): Filter out unrecognized escape sequences. 2015-08-04 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu definitions to `easy-menu-define', improve a couple to account for async, and add a couple of new commands. 2015-08-03 Jürgen Hötzel * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo. 2015-08-03 Ingo Lohmar Add new 'calendar-weekend-days' option Make the days receiving the 'calendar-weekend-header' face freely customizable, as they differ by region/culture. * doc/emacs/calendar.texi (Move to Beginning or End): Document the new variable. * lisp/calendar/calendar.el (calendar-generate-month): New variable calendar-weekend-days to customize day header fontification. 2015-08-03 Paul Eggert Redo text-quoting-style variable Rename help-quote-translation to text-quoting-style, and use symbols rather than characters as values. This follows suggestions along these lines by Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html and by Drew Adams in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html * doc/lispref/help.texi (Keys in Documentation) * etc/NEWS: * lisp/cus-start.el (standard): * src/doc.c (Fsubstitute_command_keys, syms_of_doc): Document and/or implement the new behavior instead of the old. (syms_of_doc): New symbols 'grave' and 'straight'. 2015-08-03 Nikolaus Rath nnimap.el: Use IMAP MOVE extension if available * lisp/gnus/nnimap.el (nnimap-request-move-article) (nnimap-process-expiry-targets, nnimap-split-incoming-mail): Use MOVE extension if available. nnimap.el: Explicitly ask for server capabilities * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full capabilities will be returned in the login-result. 2015-08-02 Paul Eggert Treat help strings like other doc strings * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this. * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to substitute-command-keys. * src/keyboard.c (show_help_echo, parse_menu_item): Call substitute-command-keys on the help string before displaying it. Also mention "curly quotes" See Drew Adams's email in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html * doc/lispref/help.texi (Keys in Documentation): Add index entry "curly quotes". * etc/NEWS: Use the phrase "curly quotes" too. ede-proj-target-makefile docstring tweaks * lisp/cedet/ede/proj.el (ede-proj-target-makefile): Consistently use "all:" to describe the all: target, replacing three different and confusingly-quoted usages. 2015-08-02 Evgeny Fraimovitch (tiny change) Don't abort emacsclientw when -a was specified * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error out if we are in emacsclientw and -a was specified. 2015-08-02 Eli Zaretskii Fix handling of 1st keystroke on MS-Windows * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1. This is needed to correctly handle the session's first keystroke, if it has any modifiers. (Bug#19994) 2015-08-02 Paul Eggert Substitute some customization etc. doc strings These changes apply substitute-command-keys to some doc strings that were going through untranslated when creating customization or other widgets. * lisp/cus-edit.el (custom-group-value-create): * lisp/wid-edit.el (widget-default-create): (widget-push-button-value-create): Treat the widget tag as a doc string. * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot): Treat the :documentation value as a doc string. * lisp/wid-edit.el (widget-choose): Treat the choice names as doc strings. (widget-default-create): Treat the :doc value as a doc string. (widget-toggle-value-create): Treat the :on and :off values as doc strings. (widget-documentation-string-value-create): Substitute the doc string. 2015-08-01 Dmitry Gutov Add a second argument to project-ignores * lisp/progmodes/project.el (project-ignores): Add a second argument DIR. * lisp/progmodes/project.el (project-ignores): Only include the VC ignores if DIR is the VC root. * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly. 2015-08-01 Eli Zaretskii Prevent incorrect display when 'line-spacing' variable is set * src/xdisp.c (try_window_id): Give up this optimization if the buffer has its 'line-spacing' variable set non-nil. 2015-08-01 Dmitry Gutov Don't pass NOVISIT to find-file * lisp/progmodes/etags.el (next-file): Don't pass NOVISIT to find-file (bug#21175). Ignore buffer restriction for tags-loop-eval * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer restriction (bug#21167). 2015-08-01 Eli Zaretskii Fix a thinko in 'ffap-gopher-at-point' * lisp/ffap.el (ffap-gopher-at-point): Fix last change. (Bug#21168) Honor 'line-spacing' for empty lines * src/xdisp.c (append_space_for_newline): Honor 'line-height' property and 'line-spacing' frame parameter or variable or property for empty lines, by doing the same processing as in x_produce_glyph for newline characters. (Bug#21165) 2015-08-01 Paul Eggert Simplify by assuming C99 integer division * src/floatfns.c (ceiling2, floor2, truncate2): Assume C99 (i.e., Fortran) semantics for integer division. This simplifies the code. 2015-07-31 Paul Eggert Don't overflow if computing approximate percentage * lisp/align.el (align-region): * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream): * lisp/cedet/semantic/wisent.el (wisent-parse-region): * lisp/cus-edit.el (custom-buffer-create-internal): * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop) (checkdoc-message-interactive-ispell-loop, checkdoc-next-error) (checkdoc-next-message-error): * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list): * lisp/epa.el (epa-progress-callback-function): * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command): * lisp/ffap.el (ffap-menu-rescan): * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers): * lisp/gnus/nndiary.el (nndiary-retrieve-headers): * lisp/gnus/nneething.el (nneething-retrieve-headers): * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers): * lisp/gnus/nnmh.el (nnmh-retrieve-headers): * lisp/gnus/nnml.el (nnml-retrieve-headers): * lisp/gnus/nnspool.el (nnspool-retrieve-headers): * lisp/gnus/nntp.el (nntp-retrieve-headers) (nntp-retrieve-articles): * lisp/imenu.el (imenu--relative-position): * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi) (skkdic-convert-okuri-nasi): * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash): * lisp/nxml/rng-valid.el (rng-compute-mode-line-string): * lisp/org/org-list.el (org-update-checkbox-count): * lisp/org/org.el (org-table-map-tables) (org-update-parent-todo-statistics): * lisp/play/decipher.el (decipher-insert-frequency-counts) (decipher-analyze-buffer): * lisp/profiler.el (profiler-format-percent): * lisp/progmodes/cc-cmds.el (c-progress-update): * lisp/progmodes/cpp.el (cpp-highlight-buffer): * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info) (idlwave-list-load-path-shadows): * lisp/progmodes/opascal.el (opascal-step-progress): * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info) (vhdl-scan-directory-contents): * lisp/textmodes/bibtex.el (bibtex-progress-message): * lisp/textmodes/flyspell.el (flyspell-small-region) (flyspell-external-point-words): * lisp/textmodes/table.el (table-recognize): Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating progress-report percentages and the like. This avoids problems if (* 100 NUMERATOR) would overflow. * lisp/gnus/gnus-registry.el (gnus-registry-import-eld): * lisp/gnus/registry.el (registry-reindex): Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues. * lisp/descr-text.el (describe-char): * lisp/org/org-colview.el (org-nofm-to-completion): * lisp/ps-print.el (ps-plot): * lisp/simple.el (what-cursor-position): Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a more-complicated and less-accurate approximation. Fix some int overflows in profiler.c * src/profiler.c (make_log): Make args EMACS_INT, not int, to avoid unwanted behavior on 'int' overflow. (make_log, evict_lower_half, record_backtrace): Use ptrdiff_t, not int, for object indexes. Port to pedantic memcpy * src/keyboard.c (menu_bar_items, tool_bar_items): * src/xrdb.c (magic_db): Port to pedantic memcpy implementations that reject memcpy (0, 0, 0). Merge from gnulib This incorporates: 2015-07-29 time_rz: port to pedantic memcpy * lib/time_rz.c: Copy from gnulib. 2015-07-31 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): When updating the very last entry, tabulated-list-print would erase it and then try to look at the next one (which obviously isn't there). 2015-07-31 Eli Zaretskii Allow to use the old key processing code on MS-Windows * src/w32fns.c (syms_of_w32fns) : New variable. (w32_wnd_proc): Use it to invoke the old code that processed character keys, as fallback, when this variable is non-nil. Fix typos in comments. (Bug#19994) 2015-07-31 Ilya Zakharevich Improve handling of Unicode keyboard input on MS-Windows * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions. (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging. (w32_wnd_proc): Call deliver_wm_chars to process non-special keys upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages. If that is successful, don't call TranslateMessage. (Bug#19994) 2015-07-30 Dmitry Gutov Fix default-directory in changeset diffs after vc-print-log * lisp/vc/log-view.el (log-view-diff-common): Move the revision-granularity check back into log-view-diff-changeset. (log-view-diff-changeset): Bind default-directory to the current VC root. Rename project-directories to project-roots * lisp/progmodes/project.el (project-search-path-function) (project-search-path): Update the docstring. (project-directories): Rename to `project-roots', update all callers and implementations accordingly. (project-root): Remove. * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.* as the default file mask. 2015-07-30 Eli Zaretskii Support long URLs in w32-shell-execute * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16 and filename_to_ansi to convert the DOCUMENT argument, as it could be a URL that is not limited to MAX_PATH characters. Instead, use MultiByteToWideChar directly, and allocate heap storage as required to accommodate the converted string. Likewise with non-Unicode operation. Ensure OPERATION is null-terminated, even if it is longer than 32K bytes. (Bug#21158) 2015-07-30 Stephen Leake * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev. 2015-07-29 Stephen Leake Add docs for display-buffer action display-buffer-use-some-frame * lisp/window.el (display-buffer-use-some-frame): Improve doc string. * doc/lispref/windows.texi (Display Action Functions): Add display-buffer-use-some-frame. * etc/NEWS: Mention display-buffer-use-some-frame. Add display-buffer action display-buffer-use-some-frame * lisp/window.el (display-buffer-use-some-frame): New. Handle vc-mtn error more gently * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when branch is nil. 2015-07-29 Michael Albinus Fix Tramp problems with multihops, and nc * lisp/net/tramp-cache.el (tramp-get-file-property) (tramp-set-file-property, tramp-flush-file-property) (tramp-get-connection-property, tramp-set-connection-property) (tramp-flush-connection-property): Remove hop from vector. * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors. * lisp/net/tramp-sh.el (tramp-methods) : Separate STDERR. (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of netstat to 60". (tramp-sh-handle-start-file-process): Do not show hops in prompt. * lisp/net/tramp.el (tramp-handle-file-name-as-directory) (tramp-handle-file-name-directory, tramp-handle-file-remote-p): Keep hop in result. * test/automated/tramp-tests.el (tramp-test02-file-name-dissect): Add hop tests. 2015-07-29 Eli Zaretskii Resurrect highlighting of repeated words by Flyspell Mode * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word characters between point and the doublon candidate, so that flyspell-word-search-backward finds it. (Bug#21157) Fix redisplay of large images on expose events * src/xdisp.c (expose_window, expose_area): Avoid comparisons between signed negative values and unsigned values. This prevented redisplay on expose events when the window showed a very large image. 2015-07-29 Paul Eggert Remove unnecessary stack overflow dependency * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Don't worry about $ac_cv_header_sys_resource_h and $ac_cv_func_getrlimit, as they're no longer needed for this. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html 2015-07-28 Andy Moreton (tiny change) Pacify compilation -Wincompatible-pointer-types warnings * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation warning. (CompareStringW_Proc): New typedef. (w32_compare_strings): Use it, to pacify compiler warnings under "-Wincompatible-pointer-types". * src/w32fns.c (GetDiskFreeSpaceExW_Proc) (GetDiskFreeSpaceExA_Proc): New typedefs. (Ffile_system_info): Use them, to pacify compiler warnings under "-Wincompatible-pointer-types". 2015-07-28 Paul Eggert Fix subscript error in calculate_direct_scrolling Use slightly-longer cost vectors. Without this change, calculate_direct_scrolling can have a subscript violation when FRAME_LINES (frame) <= delta. * src/scroll.c (calculate_scrolling, calculate_direct_scrolling) (line_ins_del, do_line_insertion_deletion_costs): Allocate and use slightly-larger cost vectors, ones based on FRAME_TOTAL_LINES instead of FRAME_LINES. Fix uninitalized value in encode_coding_object * src/coding.c (encode_coding_object): Also initialize coding->src_pos and coding->src_pos_byte when NILP (src_object). This avoids later use of uninitialized storage. 2015-07-27 Xue Fuqiao * doc/lispref/variables.texi (Variable Aliases): Typo fix. (Bug#21141) 2015-07-27 Paul Eggert Merge from gnulib This incorporates: 2015-07-27 time_rz: port better to MinGW 2015-07-27 time: port __need_time_t to MinGW * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib. * lib/time-internal.h: New file, from gnulib. 2015-07-27 Eli Zaretskii Handle NULL pointers in w32heap.c allocation routines * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not freeable". (realloc_after_dump, realloc_before_dump, free_before_dump): Handle NULL pointers gracefully, as Emacs now seems to expect that. Fix Cairo build without PNG * src/image.c: Define PNG function when USE_CAIRO is defined, even if HAVE_PNG is not. (Bug#21133) MS-Windows follow-up for recent TZ-related changes * nt/mingw-cfg.site (ac_cv_header_pthread_h) (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid picking up 'struct timespec' from pthread.h, if it is installed on the user's system. We want either the definitions from MinGW system headers, if available, or the Gnulib replacements if not. * nt/inc/ms-w32.h : Don't define, as we now use lib/time.h. * lib/time.in.h: Don't let __need_* symbols affect what happens on MinGW. These symbols are defined by MinGW system headers, but we don't want that to affect whether Gnulib portions of the header are or aren't used. 2015-07-26 Paul Eggert * src/ftfont.c (ftfont_close): Add comment re Bug#20890. New optional ZONE arg for format-time-string etc. This simplifies time conversions in other time zones. It also prevents display-time-world tampering with TZ (Bug#21020). * admin/admin.el (add-release-logs): Use improved add-log-time-format API. * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm. (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv. * configure.ac (tzalloc): Remove test for this, since Emacs no longer uses HAVE_TZALLOC directly. * doc/lispref/os.texi (Time of Day, Time Conversion) (Time Parsing): * etc/NEWS: Document the new behavior. Merge from gnulib, incorporating: 2015-07-25 strftime: fix newly-introduced bug on Solaris 2015-07-23 fprintftime, strftime: use timezone_t args * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4: * m4/time_h.m4: Update from gnulib. * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4: New files from gnulib. * lisp/time-stamp.el (time-stamp-string): * lisp/time.el (display-time-world-list) (display-time-world-display): Use new API, with time zone arg. * lisp/time.el (display-time-world-display): Fix race when current-time advances while we're running. * lisp/vc/add-log.el (add-log-iso8601-time-zone) (add-log-iso8601-time-string): Accept optional time zone arg. * lisp/vc/add-log.el (add-change-log-entry): * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg. * nt/gnulib.mk: Propagate lib/gnulib.mk changes here. Add rules for the time module, since they're now needed for tzalloc etc. * src/conf_post.h (getenv_TZ, setenv_TZ): New macros. (emacs_getenv_TZ, emacs_setenv_TZ): New decls. * src/editfns.c: Include errno.h. (set_time_zone_rule): Omit unnecessary forward decl. (initial_tz): Remove, replacing with ... (local_tz, wall_clock_tz, utc_tz): New static vars and constants. (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1). (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree) (tzlookup): New static functions. (init_editfns): New arg DUMPING. All uses changed. (init_editfns): Omit most initialization if dumping, not if !initialized. Initialize wall_clock_tz and local_tz. (emacs_nmemftime, format_time_string): Time zone argument can now be any time zone, not just a boolean for UTC or local time. All callers changed. (Fformat_time_string, Fencode_time, Fcurrent_time_string) (Fcurrent_time_zone): New optional arg ZONE. (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take the same form as with the other new additions. (decode_time_zone): Remove; no longer needed. (tzvalbuf): Now file-scope. (emacs_getenv_TZ, emacs_setenv_TZ): New functions. (syms_of_editfns): Define Qwall. * src/editfns.c (mktime_z) [!HAVE_TZALLOC]: * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]: Remove; now supplied by gnulib. * src/emacs.c (main): * src/lisp.h (init_editfns): Adjust to init_editfns API change. 2015-07-26 Shigeru Fukaya Fix infinite loop in delete-consecutive-dups * lisp/subr.el (delete-consecutive-dups): Work even if the last element is nil (Bug#20588). Avoid rescan of a circular list in deletion of last element. 2015-07-26 Martin Rudalics Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132) * src/nsfns.m (Fx_frame_geometry): * src/xfns.c (Fx_frame_geometry): Return nil for initial and terminal frames. * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect) (Fx_frame_geometry): Return nil for terminal frames 2015-07-26 HOSOYA Kei (tiny change) * etc/tutorials/TUTORIAL.ja: Improve translation. 2015-07-25 Eli Zaretskii Avoid crashes when w32 GUI functions are called in -batch * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect) (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call FRAME_W32_WINDOW for initial frame. (Bug#21132) Fix flyspell-check-previous-highlighted-word * lisp/textmodes/flyspell.el (flyspell-check-previous-highlighted-word): Really accept a numeric argument, as the doc string describes. Fix an off-by-one error in looking up overlays, so invocation with point immediately after a word would check that word. Clarify the doc string as Suggested by N. Jackson . (Bug#21129) 2015-07-24 Michael Albinus Minor cleanup in tramp-tests.el * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*): Implement using the documented interface `tramp-connection-properties', rather than with internal functions. 2015-07-24 Harald Hanche-Olsen (tiny change) Pass lambdas to `skeleton-read' * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function. * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass lambdas to `skeleton-read' (bug#20386). 2015-07-24 Eli Zaretskii * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick. Don't require GUI frames and mouse for Flyspell menus * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point) (flyspell-emacs-popup): Require neither a GUI frame nor mouse support, since pop-up menus work with text terminals and can be controlled via the keyboard. Improve documentation of Flyspell commands * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that can be invoked via the keyboard. Mention those commands by name and add them to the fn index. (Bug#21125) 2015-07-23 Michael Albinus Fix some Tramp problems with HP-UX * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Add "tab0" to stty call. * test/automated/tramp-tests.el (tramp-persistency-file-name): Set to nil. (tramp--test-hpux-p): New defun. (tramp--test-utf8): Use it. 2015-07-22 Glenn Morris * build-aux/update-subdirs: Put "no-update-autoloads: t" in output. 2015-07-22 Eli Zaretskii Fix point positioning in ffap-next-guess * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region, as our callers expect. This was clobbered as part of fixing bug#5673. (Bug#21107) (ffap-gopher-at-point): Set ffap-string-at-point-region. 2015-07-22 Martin Rudalics * lisp/window.el (even-window-sizes): Fix customization type. Optionally even widths of `display-buffer' windows. (Bug#21100) * lisp/window.el (quit-restore-window): Restore width if requested. (display-buffer-record-window): Record width when window is reused and horizontally combined. (even-window-sizes): New option to allow evening window widths. (even-window-heights): Defalias to `even-window-sizes'. (window--even-window-heights): Rename to `window--even-window-sizes'. Handle side-by-side windows. (display-buffer-use-some-window): Call `window--even-window-sizes' instead of `window--even-window-heights'. * lisp/help.el (resize-temp-buffer-window): Fix indentation. * doc/lispref/windows.texi (Choosing Window Options): Describe `even-window-sizes'. (Coordinates and Windows): Fix typo. 2015-07-22 Stephen Leake Add file name to autoload error messages * lisp/emacs-lisp/autoload.el (autoload-save-buffers): Add condition-case to add file name to error message. 2015-07-22 Michael Albinus * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Use 0.0.0.1 as test host. 2015-07-21 Stefan Monnier (advice--called-interactively-skip): Fix inf-loop (bug#21083) * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): Fix inf-loop (bug#21083). 2015-07-21 Glenn Morris * test/automated/package-test.el (package-test-signed): Update for recent changes. * test/automated/elisp-mode-tests.el (elisp-xref-finds-both-function-and-variable) (elisp-xref-finds-only-function-for-minor-mode): Update for recent xref name changes. 2015-07-21 Dmitry Gutov Make eldoc timer non-repeatable * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer non-repeatable. Since it's on post-command hook, that just wasted CPU cycles. 2015-07-21 Michael Albinus Mention `tramp-connection-properties' in NEWS Sync with Tramp repository * doc/misc/tramp.texi (Configuration): Note, that Tramp must be required prior changing its configuration. (Connection caching, Predefined connection information) (Remote shell setup): Fix typos. (Predefined connection information): Describe, how to overwrite parameters of `tramp-methods'. (Remote programs, Remote processes, Traces and Profiles): Simplify example. (Remote programs): Remove superfluous comment. * doc/misc/trampver.texi: Update release number. * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring. * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun. (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it. (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling, "gvfs-mkdir -p ..." does not work robust. (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call. * lisp/net/tramp-sh.el (tramp-methods): Add `tramp-remote-shell-login' parameter where it fits. (tramp-get-remote-path): Use it. (tramp-make-copy-program-file-name): Fix quoting for "psftp" method. (all): Adapt `tramp-get-method-parameter' calls. * lisp/net/tramp.el (tramp-methods): Adapt docstring. (tramp-get-method-parameter): Replace argument METHOD by VEC. Check also for hits in `tramp-connection-properties'. Adapt docstring. (tramp-get-remote-tmpdir): Cache only the local name of tmpdir. (all): Adapt `tramp-get-method-parameter' calls. * lisp/net/trampver.el: Update release number. * test/automated/tramp-tests.el (tramp--instrument-test-case): Add "^make-symbolic-link not supported$" to `debug-ignored-errors'. (tramp-test13-make-directory, tramp--test-adb-p) (tramp--test-smb-or-windows-nt-p): Simplify. (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns. (tramp--test-special-characters): Fix docstring. Add gvfs and ftp tests. (tramp--test-utf8): Fix docstring. 2015-07-20 Dmitry Gutov Add new xref-query-replace command * lisp/progmodes/xref.el (xref--match-buffer-bounds): New function, extracted from xref-pulse-momentarily. (xref-query-replace): New command. (xref--query-replace-1): New helper function. (xref--xref-buffer-mode-map): Add `r' binding. 2015-07-20 Paul Eggert Simplify icalendar decoding of Z dates * lisp/calendar/icalendar.el (icalendar--decode-isodatetime): Simplify calculation of time strings with trailing "Z". 2015-07-19 Dmitry Gutov Do not corrupt grep-find-ignored-files * lisp/progmodes/project.el (project-ignores): Change the order of the arguments to nconc, in order not to corrupt grep-find-ignored-files. Add xref-match-item, and use it * lisp/progmodes/xref.el (xref-match-bounds): New generic function. (xref-file-location): Add reader for the column slot. (xref-match-item): New class. (xref-match-bounds): A method implementation for it. (xref-make-match): New constructor function. (xref--current-item): New private variable. (xref-pulse-momentarily): Use it. (xref--pop-to-location): Change the first argument to an xref item, instead of location, bind xref--current-item. Update all callers. (xref-next-line, xref-prev-line, xref--next-error-function) (xref--mouse-2): Look for the property `xref-item', instead of `xref-location'. (xref--item-at-point): Likewise. This function replaces `xref-location-at-point'. Update all callers. (xref--insert-xrefs): Add the `xref-item' text property, instead of `xref-location'. (xref--collect-match): Use xref-make-match. * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'. Update all references. * lisp/progmodes/xref.el (xref--xref): Rename the `description' slot to `summary'. vc-hg: Perform the print-log call asynchronously * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call asynchronously (bug#21067). Add xref-after-jump-hook and xref-after-return-hook * lisp/progmodes/xref.el (xref-after-jump-hook) (xref-after-return-hook): New hooks. (xref-pulse-on-jump): Remove, in favor of the above. (xref-pulse-momentarily): Rename from xref--maybe-pulse. (xref--pop-to-location, xref--display-position) (xref-pop-marker-stack): Use the new hooks, as requested in http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html 2015-07-19 Bozhidar Batsov * lisp/progmodes/js.el (js-mode): Correct the lighter. 2015-07-19 Leo Liu Fix a bug in cfengine3-mode * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil eldoc-documentation-function. 2015-07-18 Julien Danjou sieve-mode: support "body" test command * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords): Add missing "body" test command. 2015-07-18 Eli Zaretskii Fix info-apropos when the default encoding is Latin-N * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to 'undecided', so that it is set to the encoding of the Info file we are about to insert. Otherwise, 'info-apropos' will fail to find some index nodes in some UTF-8 encoded files, if the buffer's previous encoding is Latin-N or some such. 2015-07-18 Ivan Andrus * lisp/epg.el (epg--start): Check that gpgconf can be found before calling it. Expose more file types to OS X that Emacs understands * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx, json, and org files. Export UTIs for el, elc, and org files. 2015-07-18 Eli Zaretskii Fix visual-order cursor movement when lines are truncated * src/xdisp.c (Fmove_point_visually): When lines are truncated, simulate display in a window of infinite width, to allow move_it_* functions reach positions outside of normal window dimensions. Remove code that tried to handle a subset of these situations by manual iteration of buffer text. (Bug#17777) Fix following Info cross-references to anchors * lisp/info.el (Info-read-subfile): Add to the returned value the length of subfile preamble, after converting it to file's byte offset, as expected by the caller. Use bufferpos-to-filepos. (Info-find-node-2): If searching for a node with a 1000-character slop fails, try again with a 10000-character slop, to account for known bugs in Texinfo 5.0 and 5.1. (Bug#21055) * lisp/international/mule-util.el (bufferpos-to-filepos): New function. * etc/NEWS: Mention bufferpos-to-filepos. Fix scrolling backwards on TTY frames under scroll-conservatively * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error in moving backwards on TTY frames. (Bug#21080) 2015-07-17 Dmitry Gutov Consider a jsdoc tag to be a beginning of a paragraph as well * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to consider a jsdoc tag to be a beginning of a paragraph as well. 2015-07-17 Artur Malabarba * lisp/emacs-lisp/package.el: Fix warnings. * lisp/emacs-lisp/package.el (package-buffer-info): Add author and maintainers to `package-buffer-info'. * lisp/emacs-lisp/package.el: Many small changes. Replace all instances of 'face with 'font-lock-face. (describe-package-1): Improve some strings and move the summary up the list. (package-install-file): Update docstring. (package-menu-hide-package): Bind to `H'. * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Fix error handling. 2015-07-17 Paul Eggert Fix hang with large yanks This should fix the bug fixed by Mike Crowe's patch in: https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html A problem in this area has been reported by several users; see Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283. This fix differs from Mike Crowe's patch in that it should avoid a race condition that could lose SIGIO signals. ignore_sigio dates back to the 1980s when some platforms couldn't block signals, and could only ignore them, which led to races when signals arrived while being ignored. We shouldn't have to worry about those old platforms now. * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove. * src/emacs.c (shut_down_emacs): Don't call ignore_sigio; unrequest_sigio should suffice. * src/keyboard.c (kbd_buffer_store_buffered_event): Use unrequest_sigio, not ignore_sigio. (kbd_buffer_get_event): Call request_sigio when getting the ball rolling again. 2015-07-17 Artur Malabarba * lisp/obsolete/longlines.el (longlines-search-function): Fallback on `isearch-search-fun-default'. 2015-07-17 Tassilo Horn Support @-mentions * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion of mentions/messages with @nick instead of just nick. 2015-07-16 Michael Albinus Fix bug#20943 * lisp/autorevert.el (auto-revert-handler): Do not check for `buffer-modified-p'. * lisp/files.el (buffer-stale--default-function): Check for `buffer-modified-p'. * test/automated/auto-revert-tests.el (auto-revert-test02-auto-revert-mode-dired): Adapt test. 2015-07-16 Ari Roponen Fix delete-dups bug on long lists * lisp/subr.el (delete-dups): Don't mistakenly keep some dups when applied to long lists. 2015-07-16 Paul Eggert Better heuristic for C stack overflow Improve the heuristic for distinguishing stack overflows from other SIGSEGV causes (Bug#21004). Corinna Vinschen explained that the getrlimit method wasn't portable to Cygwin; see: https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html Corinna suggested pthread_getattr_np but this also has problems. Instead, replace the low-level system stuff with a simple heuristic based on known good stack addresses. * src/eval.c, src/lisp.h (near_C_stack_top): New function. * src/sysdep.c: Don't include . (stack_direction): Remove. All uses removed. (stack_overflow): New function. (handle_sigsegv): Use it instead of incorrect getrlimit heuristic. Make SEGV fatal in non-main threads. 2015-07-16 Daiki Ueno epg: Automatically start pinentry server * lisp/epg-config.el (epg-gpgconf-program): New variable. * lisp/epg.el (epg--start): Call `pinentry-start' if allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf. 2015-07-15 Katsumi Yamaoka * lisp/gnus/nnimap.el: Fix my last bogus change. Reinstall Stefan Monnier's change that was made in <83d824bc4041332f338ad7e5e830f443535aa300>. 2015-07-15 Paul Eggert Merge from gnulib This incorporates: 2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls 2015-07-05 acl-permissions: Fix on FreeBSD 2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c: * lib/set-permissions.c: Copy from gnulib. Port to stricter C99 * src/keyboard.h (kbd_buffer_store_event_hold): Don't return a void expression. 2015-07-15 Xue Fuqiao * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs. 2015-07-14 Michael Albinus New autorevert tests * test/automated/auto-revert-tests.el: New file. 2015-07-14 Paul Eggert Clear gcprolist etc. after stack overflow After stack overflow, command_loop calls init_eval, and this needs to clear gcprolist and byte_stack_list (Bug#20996). * src/alloc.c (init_alloc): Move gcprolist and byte_stack_list initialization from here ... * src/eval.c (init_eval): ... to here. 2015-07-13 Xue Fuqiao * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'. 2015-07-13 YAMAMOTO Mitsuharu Avoid deprecated enums in mac-ct font backend driver * src/macfont.m (mac_font_copy_default_descriptors_for_language) (mac_ctfont_get_advance_width_for_glyph) (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums. Cache font family in mac-ct font backend driver * src/macfont.m (macfont_family_cache): New variable. (syms_of_macfont): Initialize it. (macfont_available_families_cache): New variable. (macfont_invalidate_family_cache, macfont_get_family_cache_if_present) (macfont_set_family_cache, macfont_invalidate_available_families_cache) (macfont_handle_font_change_notification) (macfont_init_font_change_handler) (macfont_copy_available_families_cache): New functions. (macfont_create_family_with_symbol): Use font family caches. (macfont_list, macfont_list_family): Use macfont_copy_available_families_cache instead of mac_font_create_available_families. 2015-07-12 Dmitry Gutov Show the default value in the prompt * lisp/progmodes/xref.el: Add `M-?' binding for xref-find-references. Declare functions `grep-read-files' and `grep-expand-template'. (xref--read-identifier): Show the default value in the prompt. * lisp/progmodes/xref.el (xref-find-regexp): When called with prefix argument, ask for file patterns to search as well. When prompting for the directory, require an existing one. (xref-collect-matches): Add a new argument, FILES. Use it in the above function. Add `project-ignores' * lisp/progmodes/project.el (project-ignores): New generic function, and an implementation for the VC project type. * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a variant of rgrep-default-command that handles a generic list of ignores. (xref-collect-matches): Use it, and pass through to it the value of the newly added argument. (xref-find-regexp): Handle ignored paths within the project. Remove outdated comment. * lisp/vc/vc.el (vc-default-ignore-completion-table): Skip the comments and the empty lines. 2015-07-12 Xue Fuqiao * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference. 2015-07-11 Eric Abrahamsen gnus-registry.el: Correct function argument order * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark): Reverse the order of function arguments. 2015-07-11 Dmitry Gutov Bind grep-highlight-matches to nil * lisp/progmodes/xref.el (xref-collect-matches): Bind grep-highlight-matches to nil (bug#20728). 2015-07-11 Nikolaus Rath nnimap.el: Fix IMAP message size parsing * lisp/gnus/nnimap.el (nnimap-transform-headers): Don't assume that UID comes before RFC822.SIZE. 2015-07-10 Stefan Monnier * lisp/gnus/nnimap.el: Clean up "unused var" warnings (auth-source-creation-prompts): Declare. (nnimap-retrieve-headers, nnimap-status-message) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-close-group, nnimap-request-move-article) (nnimap-request-accept-article, nnimap-request-newgroups) (nnimap-request-post, nnimap-dummy-active-number) (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars. (nnimap-parse-flags): Remove unused var `p'. (nnimap-retrieve-group-data-early): Remove unused var `groups'. (nnimap-flags-to-marks): Remove unused var `totalp'. 2015-07-10 Andy Moreton (tiny change) * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB. 2015-07-10 YAMAMOTO Mitsuharu * src/macfont.m (macfont_list): Ignore font families lacking font descriptors. 2015-07-09 Dmitry Gutov Don't check the exit status, it can be misleading * lisp/progmodes/xref.el (xref-collect-matches): Don't check the exit status, it can be misleading. Introduce a Project API * lisp/progmodes/project.el: New file. * lisp/cedet/ede.el (project-try-ede): New function. (project-root): New implementation. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Set project-search-path-function. (elisp--xref-find-references): Delegate some logic to project-search-path. (elisp-search-path): New function. (elisp-xref-find): Don't implement `matches' anymore. * lisp/progmodes/etags.el: Don't implement `matches'. Delegate some logic to project-search-path. (etags-search-path): New function. * lisp/progmodes/xref.el (xref-find-function): Remove `matches' from the API. (xref-find-regexp): Move whatever common logic was in elisp and etags implementations, and search the directories returned by project-directories and project-search-path. 2015-07-09 Nicolas Petton * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test. Add support for gv.el in map.el * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander. * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'. * test/automated/map-tests.el: Update tests to work with the new implementations of map-elt and map-put. 2015-07-09 Glenn Morris * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol. 2015-07-09 Dmitry Gutov Syntax-propertize until the end of the line first * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize until the end of the line first. 2015-07-09 Xue Fuqiao * doc/emacs/files.texi (File Archives): Add a cross reference. 2015-07-08 Nikolaus Rath nnimap.el: Handle plain value for nnimap-stream * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query capabilities, so that a 'plain value for the `nnimap-stream' server variable is handled correctly. * doc/misc/gnus.texi (Customizing the IMAP Connection): Document the 'plain option. 2015-07-08 Leo Liu Fix bug in thing-at-point--bounds-of-well-formed-url * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make sure boundary contains current point. 2015-07-08 Dmitry Gutov * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end. Declare whitespace-line-column a safe file-local * lisp/whitespace.el (whitespace-line-column): Declare to be a safe file-local when the value is an integer. 2015-07-08 Eric Abrahamsen gnus-group.el: Check if group names are already strings * lisp/gnus/gnus-group.el (gnus-group-group-name): The group name may already be a string. Specifically, in the group list reached from the *Server* buffer, the 'gnus-group text property returns a string. Everywhere else it returns a symbol. nnimap.el: Remove unused let variables * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used. 2015-07-08 Eli Zaretskii Support "maximized" property of runemacs's shortcut * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass the '--maximized' switch to Emacs. Support "minimized" property of runemacs's shortcut * nt/runemacs.c (WinMain): If runemacs is invoked "minimized", pass the '--iconic' switch to Emacs. (Bug#20991) 2015-07-08 Xue Fuqiao Doc fixes * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c C-w' in Diff mode. * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu): Add a cross reference. 2015-07-08 Nicolas Richard * lisp/obsolete/landmark.el: Add Obsolete-since header. 2015-07-07 Glenn Morris * test/automated/ert-tests.el (ert-test-deftest): Update for recent changes. 2015-07-07 Stefan Monnier (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros * lisp/emacs-lisp/gv.el (gv-setter): New function. (gv-invalid-place): New error. (gv-get): Use them. (gv-synthetic-place, gv-delay-error): New places. * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove. (cl-defgeneric, cl-defmethod): Use gv-setter. 2015-07-07 Fabrice Popineau Make vc-tests work with MSYS svn program * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when svn is an MSYS program. 2015-07-07 Ken Brown Improve recent change to emacsclient on Cygwin * lisp/server.el (server-process-filter): Remove redundant check that 'cygwin-convert-file-name-from-windows' is defined as a function on Cygwin. Don't call that function unless its argument starts with a drive letter. 2015-07-07 Artur Malabarba * lisp/emacs-lisp/package.el (package-compute-transaction): Fix void variable due to `found-something' being in the wrong `let'. 2015-07-07 Nicolas Richard * lisp/play/landmark.el: Move to lisp/obsolete/. 2015-07-07 Martin Rudalics Have `x-show-tip' handle `right' and `bottom' frame parameters * src/nsfns.m (compute_tip_xy, Fx_show_tip) * src/w32fns.c (compute_tip_xy, Fx_show_tip) * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning tooltips also via `right' and `bottom' frame parameters. 2015-07-07 Stefan Monnier Add online-help support to describe types * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el. (describe-symbol): Improve the selection of default. * lisp/help-mode.el: Require cl-lib. (describe-symbol-backends): Move from help-fns.el. (help-make-xrefs): Use it. * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry for types. (cl--typedef-regexp): New const. (find-function-regexp-alist): Add entry for types. (cl-help-type, cl-type-definition): New buttons. (cl-find-class): New function. (cl-describe-type): New command. (cl--describe-class, cl--describe-class-slot) (cl--describe-class-slots): New functions, moved from eieio-opt.el. * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation) (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p): New functions. Moved from eieio-opt.el. (cl--generic-class-parents): New function, extracted from cl--generic-struct-specializers. (cl--generic-struct-specializers): Use it. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist. Improve constructor's docstrings. (cl-struct-unknown-slot): New error. (cl-struct-slot-offset): Use it. * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type definition in current-load-list. * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var. (eieio--add-new-slot): Set it. (eieio-defclass-internal): Use new name for current-load-list. (eieio-oref): Add compiler-macro to warn about unknown slots. * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names as compile-time as well. Improve constructor docstrings. * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el. (eieio-class-def): Remove button. (eieio-help-constructor): Use new name for load-history element. (eieio--specializers-apply-to-class-p, eieio-all-generic-functions) (eieio-method-documentation): Move to cl-generic.el. (eieio-display-method-list): Use new names. * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add "define-linline". (lisp-fdefs): Remove "defsubst". (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline". * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var. (macroexp--warn-and-return): Use it to avoid inf-loops. Add `compile-only' argument. 2015-07-06 Fabián Ezequiel Gallina python.el: Fix local/remote shell environment setup * lisp/progmodes/python.el (python-shell-with-environment): Fix remote/local environment setup. * test/automated/python-tests.el (python-shell-with-environment-1) (python-shell-with-environment-2): New tests. 2015-07-06 Glenn Morris * lisp/simple.el (set-variable): Tweak recent doc fix. 2015-07-06 Ken Brown * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE. 2015-07-06 Glenn Morris * lisp/simple.el (set-variable): Use user-error for type mismatch. 2015-07-06 Ken Brown * src/emacs.c (main): Don't increase the stack size on Cygwin. 2015-07-06 Stefan Monnier (describe-symbol): Rewrite describe-function-or-variable * lisp/help-fns.el (describe-symbol-backends): New var. (help-xref-stack-item): Declare. (describe-symbol): Rename from describe-function-or-variable. Rewrite using describe-symbol-backends instead of help-xref-interned. * lisp/help.el (help-map): Use it. * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it. (help-xref-interned): Make it into an obsolete alias. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore `file' arg (bug#20972). Always use utf-8-emacs. Use with-temp-buffer and cl-letf. 2015-07-06 Wolfgang Jenkner Fix parsing glitches in dired-mark-sexp (bug#13575) * lisp/dired-x.el (dired-x--string-to-number): New function. (dired-mark-sexp): Use it. Tweak dired-re-inode-size. Fix usage of directory-listing-before-filename-regexp. Consider forward-word harmful and replace it. Add more verbiage in comments and doc string. 2015-07-06 Fabián Ezequiel Gallina python.el: Respect process environment for remote shells * lisp/progmodes/python.el (python-shell-calculate-process-environment): Calculate process-environment or tramp-remote-process-environment depending whether current file is remote. (python-shell-calculate-exec-path): Calculate exec-path or tramp-remote-path depending whether current file is remote. (python-shell-with-environment): New macro. (python-shell-prompt-detect, python-shell-calculate-command) (python-shell-make-comint, python-check): Use it. python.el: Avoid making let-bound defvars buffer local (Bug#18244) * lisp/progmodes/python.el (python-shell--interpreter) (python-shell--interpreter-args): New vars. (inferior-python-mode, python-shell-make-comint): Use them. python.el: Fixes for IPython 3.x (Bug#20580) * lisp/progmodes/python.el: (python-shell-completion-native-setup): Fix IPython 3.x setup. (python-shell-completion-native-get-completions): Fix timeout logic. python.el: Fix mark-defun behavior (Bug#19665) * lisp/progmodes/python.el (python-mark-defun): New function. * test/automated/python-tests.el (python-mark-defun-1) (python-mark-defun-2, python-mark-defun-3): New tests. 2015-07-05 Glenn Morris * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists such as "extends(parent), private". (Bug#20969) * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b): New tests. 2015-07-05 Paul Eggert Avoid duplicate calls to current_timespec * src/process.c (wait_reading_process_output): Cache current_timespec results as long as we're not waiting. 2015-07-05 Ian Kelling Avoid returning early reading process output due to SIGIO * src/process.c (wait_reading_process_output): Extend the behavior of not breaking due to not finding output when a timer has lowered the timeout to include when SIGIO lowers the timeout. Don't return as fast reading any process output * src/process.c (wait_reading_process_output): The patch for Bug#17647 returns too fast sometimes when reading from any processes. Revert part of it, and limit the timeout more sensibly (Bug#20978). Refactor timeouts in wait_reading_process_output * src/process.c (wait_reading_process_output): Simplify timeouts with an enum. Remove a redundant condition. (Bug#20978) Remove ADAPTIVE_READ_BUFFERING ifdef * src/process.c (make-process, make-pipe-process, deactivate_process) (wait_reading_process_output, read_process_output, send_process) (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally added in case there was an operating system in which it was not useful. That was 11 years ago and it hasn't happened. Make development easier by not considering the effect of changes on a theoretical OS where this is disabled (Bug#20978). 2015-07-05 Glenn Morris * lisp/simple.el (set-variable): Doc fix. * lisp/progmodes/fortran.el (fortran-line-length): Doc fix. 2015-07-05 Ian Kelling accept-process-output fix This is a followon to the fix for bug#17647 (Bug#20976). * src/process.c (status_notify): Fix too high return in some cases. 2015-07-05 Artur Malabarba * lisp/character-fold.el (character-fold-table): Only fold decompositions if at least one character is non-spacing. (Bug#20975) 2015-07-05 Paul Eggert Merge from gnulib This incorporates: 2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos 2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard 2015-07-02 update-copyright: fix test failure with perl >= 5.22 2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr' 2015-07-01 acl: fix definition of acl_from_mode on FreeBSD * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h: * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib. 2015-07-05 Christoph Wedler Respect `prog-indentation-context' in python.el * lisp/progmodes/python.el (python-indent-guess-indent-offset) (python-indent-context, python-indent--calculate-indentation) (python-info-current-defun) (python-info-dedenter-opening-block-message) (python-info-line-ends-backslash-p) (python-info-beginning-of-backslash) (python-info-continuation-line-p): Use `prog-widen'. (python-indent--calculate-indentation) (python-indent--calculate-levels) (python-indent-calculate-indentation): Use `prog-first-column'. (python-indent--calculate-levels): Simplify. Ignore also initial empty lines for syntax calculation. * lisp/progmodes/python.el (python-indent-context): Return :no-indent for first non-empty line, not just in line 1. * test/automated/python-tests.el (python-indent-base-case) (python-indent-inside-paren-1, python-indent-inside-paren-2) (python-indent-inside-paren-3, python-indent-inside-paren-4) (python-indent-inside-paren-5, python-indent-inside-paren-6) (python-indent-after-backslash-1) (python-indent-after-backslash-2) (python-indent-after-backslash-3) (python-indent-after-backslash-4, python-indent-inside-string-1): Expect :no-indent for first non-empty line. 2015-07-04 Daniel Colascione Factor isearch word description into new function * lisp/isearch.el (isearch--describe-word-mode): New function. (isearch-message-prefix, isearch-query-replace): Use it. 2015-07-04 Eli Zaretskii Fix mouse pointer on w32 when a menu is active * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer shape while a menu is in use. This started happening since we now send WM_EMACS_SHOWCURSOR messages when the mouse moves. 2015-07-04 Martin Rudalics Fix processing of alpha parameter for Windows tip frames (Bug#17344) * src/w32fns.c (x_create_tip_frame): Fix processing alpha parameter. (Bug#17344) Have `compilation-set-window' use right window for getting fringes (Bug#20829) * lisp/progmodes/compile.el (compilation-set-window): Take `window-fringes' from argument window. 2015-07-03 Glenn Morris Update eieio tests for recent eieio-core change. * test/automated/eieio-test-persist.el (persist-test-save-and-compare): * test/automated/eieio-tests.el (eieio-test-32-slot-attribute-override-2): Replace the deleted eieio--class-v with cl--find-class. 2015-07-03 Martin Rudalics Fix some issues with `window-divider-mode' * lisp/frame.el (window-divider-default-places): New option. (window-divider-mode): Remove option. (window-divider-mode): Make it a "regular" minor mode. (window-divider-width-valid-p): Drop frame- prefix. (window-divider-mode-apply): New argument ENABLE. Drop frame- prefix. Handle `window-divider-default-places'. (frame--window-divider-mode-set-and-apply): Remove. (window-divider-default-bottom-width) (window-divider-default-right-width): Drop :group entries. * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider) (menu-bar-right-window-divider, menu-bar-bottom-window-divider) (menu-bar-no-window-divider): Set `window-divider-default-places' and call `window-divider-mode'. * doc/emacs/frames.texi (Window Dividers): Document `window-divider-default-places'. 2015-07-02 Xue Fuqiao * doc/emacs/display.texi (Displaying Boundaries): * doc/emacs/search.texi (Word Search): Add cross references. 2015-07-02 Paul Eggert -batch should not affect ‘’ -> `' display * lisp/startup.el (command-line): Do the ‘’ -> `' check even if -batch (Bug#20926). 2015-07-02 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el: * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el: Use cl--find-class instead. * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951). 2015-07-02 Martin Rudalics Some further fixes in Change Window node (Bug#20183) * doc/emacs/windows.texi (Change Window): Replace "rearranging" by "resizing" in section title. Add some concept indices. Suggested by N. Jackson (Bug#20183). * doc/emacs/windows.texi (Change Window): Reference window dividers. Document new `window-divider-mode'. * lisp/frame.el (window-divider-mode): Fix doc-string. * doc/emacs/frames.texi (Window Dividers): New section. Improve accessibility of window dividers (Bug#20183) * lisp/faces.el (window-divider) (window-divider-first-pixel, window-divider-last-pixel): Change membership from `frames' to `window-divider' customization group. * lisp/frame.el (window-divider): New customization group. (window-divider-mode): New minor mode. (window-divider-default-bottom-width) (window-divider-default-right-width): New options. (frame--window-divider-previous-mode): New variable. (frame-window-divider-width-valid-p) (frame--window-divider-mode-apply) (frame--window-divider-mode-set-and-apply): New functions. * lisp/menu-bar.el (menu-bar-options-save): Save window-divider-mode settings. (menu-bar-window-divider-customize) (menu-bar-bottom-and-right-window-divider) (menu-bar-right-window-divider, menu-bar-bottom-window-divider) (menu-bar-no-window-divider): New functions. (menu-bar-showhide-window-divider-menu): New variable. (menu-bar-showhide-menu): Show/hide window divider menu. * lisp/mouse.el (mouse-split-window-vertically) (mouse-split-window-horizontally): Replace `error' by `user-error'. Bind `window-combination-resize' to nil. (top-level): Add/reorder mouse key bindings on mode- and vertical-line. 2015-07-02 Paul Eggert Don't display ‘’ as `' under X in en_GB The curved quote setup code invokes (char-displayable-p ?‘), but this isn’t reliable until after the X frame replaces the terminal frame (Bug#20926). * lisp/international/mule-cmds.el (set-locale-environment): Move curved quote setup code from here ... * lisp/startup.el (command-line): ... to here, after creating the X frame. 2015-07-01 Nicolas Richard * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring. * lisp/ido.el (ido-restrict-to-matches): Add an optional argument to reverse the meaning (Bug#15631). 2015-07-01 Eli Zaretskii Be more tolerant to fonts named "Foobar-12" * src/frame.c (x_set_font): If font_spec_from_name returns nil, don't barf; instead, request a new fontset to be generated. This avoids unnecessarily rejecting fonts named against XLFD rules. See http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html, for the description of the original problem. * lisp/faces.el (set-face-attribute): Don't be fooled too easily by a hyphen in a font's name. Fix value of posn-at-pont in R2L lines * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel coordinate of -1, for a newline in a right-to-left line that overflowed into the left fringe. 2015-07-01 Stefan Monnier (cl--copy-slot-descriptor): Copy the `props' alist as well * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1): Rename from cl--copy-slot-descriptor. (cl--copy-slot-descriptor): New function. Copy the alist (bug#20914). 2015-06-30 Stefan Monnier * lisp/term/xterm.el (xterm--query): Avoid generating garbage (xterm-query-timeout): New var. (xterm--query): Use it. Fallback on async method if we timeout before getting the first byte of the reply (bug#12354). 2015-06-30 Paul Eggert Spelling fixes * lisp/character-fold.el (character-fold-search): * lisp/emacs-lisp/package.el (package-hidden-regexps): Fix typos. 2015-06-30 Xue Fuqiao * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946) 2015-06-30 Paul Eggert In strings, prefer plain ` and ' to \` and \' * lisp/allout.el (allout-insert-listified): * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): * lisp/ls-lisp.el (ls-lisp-UCA-like-collation) (ls-lisp-string-lessp): * lisp/menu-bar.el (menu-bar-open): * lisp/obsolete/otodo-mode.el (todo-top-priorities): * lisp/progmodes/compile.el (compile): * lisp/progmodes/etags.el (tags-loop-scan): * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation): * lisp/subr.el (posn-actual-col-row): * lisp/term/pc-win.el (x-list-fonts): * lisp/textmodes/texinfmt.el (texinfmt-version): * lisp/textmodes/texnfo-upd.el (texinfo-master-menu): * lisp/time.el (display-time-world-list): * lisp/tmm.el (tmm-menubar): * src/buffer.c (syms_of_buffer): * src/fileio.c (syms_of_fileio): Omit unnecessary and confusing backslash before quote. * lisp/erc/erc.el (erc-cmd-LASTLOG): * lisp/progmodes/flymake.el (flymake-fix-file-name): * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p): Fix string that was intended to escape a backslash and not a quote. 2015-06-30 Glenn Morris * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition. * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC): Replace hard-coded lists with wildcard + filter-out. * configure.ac (system-configuration-features): Add X11, NS. Improve reproducibility of generated loaddefs file * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads): Make the return value the modtime of the input file (if no autoloads). (update-directory-autoloads): In the "no autoloads" section, use "most recent modtime" rather than "current time". 2015-06-30 Artur Malabarba * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic. (Bug#20930) 2015-06-30 Nicolas Petton * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max. Add seq-min and seq-max Bump version number. * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions. * test/automated/seq-tests.el: Add tests for seq-min and seq-max. 2015-06-30 Eli Zaretskii Make sure sleep-for always delays for as long as it's told * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in a loop, to ensure we always wait exactly the required amount of time. (Bug#15990) 2015-06-30 Paul Eggert Fix pointer signedness glitch * src/font.c (font_load_for_lface): Use SSDATA, not SDATA. 2015-06-30 Eli Zaretskii Don't block changes in mouse pointer inside 'track-mouse' * etc/NEWS: * doc/lispref/frames.texi (Mouse Tracking): Document the special effect of setting 'track-mouse' to 'dragging'. * lisp/textmodes/artist.el (artist-mouse-draw-continously): * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration): * lisp/mouse-drag.el (mouse-drag-throw): * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging' to avoid changes in the shape of the mouse pointer. * src/xdisp.c (define_frame_cursor1): Don't change the mouse pointer shape when do_mouse_tracking has the value of 'dragging', not just any non-nil value. (Bug#20934) (syms_of_xdisp): DEFSYM 'dragging'. 2015-06-30 Artur Malabarba * lisp/isearch.el (isearch-toggle-word): Fix toggle. * lisp/emacs-lisp/package.el (package-compute-transaction): Don't assume version sorting. * lisp/emacs-lisp/package.el (package--save-selected-packages): Don't save before init time, to avoid overwriting configurations. (Bug#20855) 2015-06-30 Xue Fuqiao * doc/emacs/display.texi (Standard Faces, Fringes): Add cross references. 2015-06-29 Ted Zlatanov Update for the upcoming CFEngine 3.7 release: support macros and quoted context strings; reformat JSON; indent promise attributes 2 units by default; give function parameter descriptions in the eldoc glue. * lisp/progmodes/cfengine.el: Update version and docs and fix name. Autoload `json-pretty-print'. Support new features in 3.7. (cfengine-parameters-indent): Set default promise attribute indent to 2 more than the promise itself. (cfengine3-macro-regex): New variable to match the new macro syntax. (cfengine3-font-lock-keywords): Use it to highlight macros. (cfengine3-indent-line): Use it to indent macros to column 0. (cfengine3-class-selector-regex): Update for the new quoted strings format. (cfengine3-reformat-json-string): New function to reformat a JSON string using `json-pretty-print'. (cfengine3-format-function-docstring): Use function parameter description if it's provided by the cf-promises syntax dump. 2015-06-29 Michael R. Mauger Cygwin emacsclient handles w32 file names * lisp/server.el (server-process-filter): Allow Cygwin's emacsclient to be used as a file handler on MS-Windows. 2015-06-29 Katsumi Yamaoka * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925). 2015-06-29 Eli Zaretskii * doc/lispref/text.texi (Sticky Properties): Improve wording. (Bug#20924) Allow font names that end in "-NN", where NN is a number * src/font.c (font_load_for_lface): If the font-spec didn't match any available fonts, try again without interpreting trailing "-NN" as the font size. For the description of the original problem, see http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html .gdbinit followup to changes in !USE_LSB_TAG * src/.gdbinit (xgetsym): Don't left-shift $ptr even under !USE_LSB_TAG, as Emacs no longer does. 2015-06-29 Wolfgang Jenkner * lisp/calc-store.el (calc-insert-permanent-variable): Heed case. Otherwise `s p' of f and F will stomp on each other's value. (Bug#20916) 2015-06-29 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't block remember-pos if buffer isn't displayed. (Bug#20921) 2015-06-29 Nicolas Richard * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess. * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string. 2015-06-28 Paul Eggert apropos-library quoting fix * lisp/apropos.el (apropos-library): Quote library consistently with the rest of the quoting used by apropos. Clarify interpreter-mode-alist doc * lisp/files.el (interpreter-mode-alist): Reword to avoid confusing quoting that wasn't working anyway. 2015-06-28 Michael Albinus Sync with Tramp 2.2.12 * doc/misc/trampver.texi: * lisp/net/trampver.el: Update release number. * test/automated/tramp-tests.el (tramp-test13-make-directory): Fix cleanup. 2015-06-28 Artur Malabarba * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913). 2015-06-27 Dmitry Gutov Bind grep-highlight-matches around the rgrep call * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches around the rgrep call (bug#20728). Put "--color" before the other options in grep-command * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color" before the other options in grep-command (bug#20912). Add --color Grep option to the command dynamically * lisp/progmodes/grep.el (grep-template, grep-find-template): Update the description for . (Bug#20728) (grep-compute-defaults): Don't add the --color option to grep-options. Only add it to grep-command. (grep-expand-keywords): Expand the env value opts into . (grep-expand-template): Replace cf in the env with the opts list, that can include -i and --color. * lisp/progmodes/xref.el (xref-collect-matches): Do not remove "--color=always" from the template, because we don't have to. 2015-06-27 Paul Eggert cl-extra fixes for most-negative-fixnum * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random): Don't mishandle an argument equal to most-negative-fixnum, whose absolute value equals itself. (cl-gcd, cl-lcm): Use dolist rather than doing it by hand. Initialize cl--gensym-counter to 0 Previously it was initialized to a random value, which made it harder to reproduce earlier Emacs runs. The need for a random value went away when Emacs introduced and used the #: syntax for uninterned symbols (Bug#20862). * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility): Document that cl--gensym-counter now starts with 0. * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove. (cl--random-time): Move to near only remaining use. * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0. Improve docstring for macroexp-let2 * lisp/emacs-lisp/macroexp.el (macroexp-let2): Improve as per suggestion by RMS in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html Also, rename args to match new doc string. 2015-06-27 Eli Zaretskii Fix VC test suite on MS-Windows * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL always starts with 3 slashes after the colon. * test/automated/vc-tests.el (vc-test--create-repo-function): Use 'w32-application-type' to invoke CVS on MS-Windows with properly formatted CVSROOT directory name. Add a new function w32-application-type * src/w32proc.c (Fw32_application_type): New function. Avoid error in TLS connections due to incorrect format * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in the call to 'error', instead of the unsupported %u. Reported by lo2net . (Bug#20908) 2015-06-26 Artur Malabarba * lisp/replace.el (replace-search): Fix regexp case (bug#20901). 2015-06-26 Leo Liu * lisp/emacs-lisp/cl-indent.el: Fix indentation for `with-output-to-string' in elisp. Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string". This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd. 2015-06-26 Eli Zaretskii Minor corrections in ELisp manual * doc/lispref/nonascii.texi (Character Properties): Correct inaccuracies in description of values of the Unicode properties. Fix invisible mouse pointers on Windows. * src/w32fns.c: Include windowsx.h. (w32_wnd_proc): If the mouse moved and the mouse pointer is invisible, make it visible again even when the main (Lisp) thread is busy. * src/w32term.c (w32_toggle_invisible_pointer): Rather then garbaging the frame have the input thread call SetCursor. 2015-06-26 Martin Rudalics Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922) * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible for WM_SETCURSOR and WM_EMACS_SETCURSOR cases. * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible. (w32_toggle_invisible_pointer): New function. (w32_create_terminal): Add w32_toggle_invisible_pointer as toggle_invisible_pointer_hook for this terminal. 2015-06-25 Xue Fuqiao Doc fix for deletion commands 'delete-char' does not respect the value of 'delete-active-region'. * doc/emacs/killing.texi (Deletion): Fix documentation for some single-char deletion commands. * doc/emacs/help.texi (Apropos): Improve documentation of 'apropos-do-all'. * doc/emacs/help.texi (Help Summary): Improve documentation of 'describe-mode'. 2015-06-25 Paul Eggert Fix submake dependency bug with .h files * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)): Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h before the submake in $(libsrc) would spin off a subsubmake for $(lib) in parallel with our submake for $(lib) (Bug#20894). 2015-06-25 Artur Malabarba * lisp/character-fold.el (character-fold-table): Reuse `table'. 2015-06-25 Paul Eggert Translate undisplayable ‘ to ` * doc/lispref/help.texi (Keys in Documentation): * lisp/international/mule-cmds.el (set-locale-environment): * lisp/term/w32console.el (terminal-init-w32console): * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation): If ‘ is not displayable, transliterate it to `, not to '. See: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html Fix C99 incompatibilities in Cairo code * src/image.c (xpm_load) [USE_CAIRO]: * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]: Fix pointer signedness problem. 2015-06-25 Oleh Krehel lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function): `with-output-to-string' should have the same indent as `progn'. This is in line with the declaration of `with-output-to-string'. 2015-06-25 Paul Eggert Get ‘./configure; make -C src emacs’ to work Without this fix, lib/fcntl.h isn't built in time (Bug#20894). * lib-src/Makefile.in (../lib/libgnu.a): * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a. 2015-06-24 Paul Eggert Fix GC bugs --with-wide-int and Qnil == 0 Use the same alignment for the !USE_LSB_TAG case as for the more-typical USE_LSB_TAG case. The attempt to support arbitrary alignments with !USE_LSB_TAG had subtle bugs in garbage collection once we changed the representation of symbols so that Qnil == 0. Problem reported by Eli Zaretskii (Bug#20862). * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]: * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol) (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc): Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG. * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove. This optimization in the !USE_LSB_TAG case is no longer valid when symbols are represented via offsets. Change the only use to assume that pointers might hide in objects. * src/lisp.h (alignas) [!USE_LSB_TAG]: Require support in this case, too. (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset. This is OK, because the !USE_LSB_TAG case now applies only when Lisp_Object is wider than void *, so there's no longer any need to shift the offset. Not shifting the offset means that symbol representations have the same alignment as pointers, which the GC assumes. 2015-06-24 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Data types): Improve documentation of 'substring'. 2015-06-24 Artur Malabarba * lisp/character-fold.el (character-fold-table): Fix table generation. 2015-06-24 Glenn Morris * nextstep/Makefile.in (all): Make it the first target. (../src/emacs${EXEEXT}): Add rule for making it. 2015-06-24 Artur Malabarba * etc/NEWS: Fix mention to old function name. * lisp/character-fold.el: New file (Bug#20887) (character-fold-to-regexp): New function. * lisp/replace.el (replace-search): Check value of `character-fold-search'. * lisp/isearch.el: Move character-folding code to character-fold.el (isearch-toggle-character-fold): New command. (isearch-mode-map): Bind it to "\M-sf". (isearch-mode): Check value of `character-fold-search'. 2015-06-24 Stefan Monnier lisp/subr.el (remove-from-invisibility-spec): Handle the t case * lisp/subr.el (remove-from-invisibility-spec): Make sure `element' is visible even if it's not yet in buffer-invisibility-spec (bug#20468). * lisp/progmodes/xref.el (xref-location-group, xref-location-marker) (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref. 2015-06-24 Glenn Morris * Makefile.in (install-arch-dep): Don't set sticky bit on the binary. 2015-06-24 Stefan Monnier lisp/gnus/nnmaildir.el: Silence lexical warnings * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more functional style. (nnmaildir--update-nov): Remove unused var `numdir'. (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups) (nnmaildir-request-group, nnmaildir-request-create-group) (nnmaildir-request-post, nnmaildir-request-move-article) (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args. (nnmaildir-get-new-mail, nnmaildir-group-alist) (nnmaildir-active-file): Declare. (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'. (nnmaildir-request-update-info): Remove unused vars `dotfile', `num', `mark', `end', `new-mark', and `mark-sym'. (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir', `nlist2'. (nnmaildir-request-expire-articles): Remove unused vars `article', `stop' and `nlist2'. (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and `end'. Use nnmaildir--article when dyn-binding is needed. Give the value directly in the `let' for `del-mark', `del-action', `add-action', and `set-action'. Don't use `add-to-list' on a local var. (nnmaildir-close-server): Declare those local vars that need to be dyn-bound. 2015-06-24 Paul Eggert * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local. Port selection info fix to clang * src/keyboard.h (kbd_buffer_store_event_hold): Don't assume C11 semantics for alignof (Bug#20756). Fix bug that munged selection info On some optimizing C compilers, copying a structure did not copy the padding bytes between elements, and the type punning between struct input_data and struct selection_input_data did not work. Change the C code to use a proper union type instead. Problem reported by YAMAMOTO Mitsuharu (Bug#20756). * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr) (readable_events, discard_mouse_events, kbd_buffer_events_waiting) (kbd_buffer_get_event, process_special_events, stuff_buffered_input) (mark_kboards): Use union buffered_input_event, not struct input_event. (clear_event, deliver_input_available_signal, process_special_events): Remove unnecessary forward decls. (kbd_buffer_store_buffered_event): New function, mostly just the old kbd_buffer_store_event_hold, except its argument is of type union buffered_input_event, not struct input_event. (kbd_buffer_unget_event): Define only if HAVE_X11, since it's not needed otherwise. Argument is now of type struct selection_input_event *, not struct input_event *. All callers changed. (clear_event): Arg is now of type union buffered_input_event *, not struct input_event *. All callers changed. * src/keyboard.h [HAVE_X11]: Include "xterm.h". (union buffered_input_event): New type. (kbd_buffer_store_event_hold): Now an inline function, defined here. * src/termhooks.h (EVENT_KIND_WIDTH): New constant. (struct input_event): Use it. * src/xselect.c (struct selection_event_queue): Make elements be of type struct selection_input_event, not struct input_event. (selection_input_event_equal): New static function. (x_queue_event): Use it. (x_queue_event, x_decline_selection_request) (x_selection_current_request, x_reply_selection_request) (x_handle_selection_request, x_handle_selection_clear) (x_handle_selection_event): Use struct selection_input_event, not struct input_event. All callers changed. (x_convert_selection): Omit unused first arg. All callers changed. (Fx_disown_selection_internal): Omit unnecessary union. * src/xterm.c (handle_one_xevent): Use new union buffered_input_event rather than rolling our own equivalent. Prefer sie.kind when setting up that kind of structure. Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold. * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH. (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO) (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION) (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY) (SELECTION_EVENT_TIME, x_handle_selection_event): Arg is now of type struct selection_input_event *) not struct input_event *. All callers changed. 2015-06-23 Glenn Morris * Makefile.in (install-arch-dep): Simplify with Make conditionals. 2015-06-23 Artur Malabarba * lisp/isearch.el: Fold many unicode characters to ASCII. (isearch-character-fold-search, isearch--character-fold-extras) (isearch--character-fold-table): New variable. (isearch--character-folded-regexp): New function. (isearch-search-fun-default): Use them. * lisp/replace.el (replace-character-fold): New variable. (replace-search): Use it. * etc/NEWS: Document it. 2015-06-23 Glenn Morris Check for an input event before showing a dialog box. (Bug#20813) * lisp/subr.el (y-or-n-p): * src/fns.c (Fyes_or_no_p): Check last-input-event as well as last-nonmenu-event. 2015-06-23 Jürgen Hartmann (tiny change) Respect ‘switch-to-visible-buffer’ more rigidly. (Bug#20861) * lisp/window.el (switch-to-visible-buffer): Doc adjustment. (switch-to-prev-buffer, switch-to-next-buffer): Respect switch-to-visible-buffer independent of the windows history. 2015-06-23 Paul Eggert * src/keyboard.c (last_timer_event): Remove unused var. 2015-06-23 Artur Malabarba * test/automated/package-test.el (package-test-update-listing): Fix test. 2015-06-23 Glenn Morris Revert 2014-06-25 nextstep/Makefile change. * nextstep/Makefile.in (${ns_appbindir}): Remove rule. (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule, not as an order-only prerequisite. * configure.ac (--with-ns): Enable by default on OS X. 2015-06-23 Leo Liu Fix shell-for/backward-command to exclude spaces * lisp/shell.el (shell-forward-command, shell-backward-command): Handle the 'move case from re-search-forward/backward. fixes debbugs:20873 2015-06-22 Juri Linkov * lisp/replace.el (query-replace-read-from): Add separator to the local binding of text-property-default-nonsticky. (Bug#20690) * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'. (Bug#20785) 2015-06-22 Ken Brown Enable CPU profiling on Cygwin * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous change that undefined this. (SIGEV_SIGNAL): Ensure that this is defined as a macro. * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on Cygwin. Improve diagnostics of profiler-cpu-start * src/profiler.c (setup_cpu_timer): Change return type to 'int'; return -1 if the sampling interval is invalid. (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer' fails. (Bug#20843) 2015-06-22 Artur Malabarba * lisp/emacs-lisp/package.el: Exclude packages by name. (package-hidden-regexps): New variable. (package-menu--refresh): Use it. (package-menu-hide-package): New command. * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding. 2015-06-22 Eli Zaretskii Fix debug-timer-check on systems without HAVE_TIMERFD * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run the expired timers, since wait_reading_process_output doesn't. (debug_timer_callback): Enlarge the tolerance to 20 msec. Fix RCS crashes in vc-test * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old ports of 'ci' on MS-Windows by always passing the -t- switch. 2015-06-22 Glenn Morris * doc/emacs/package.texi (Packages): * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references. * doc/misc/efaq-w32.texi (Downloading): Copyedits. (Bug#20851) 2015-06-22 Paul Eggert Port tests to help-quote-translation * test/automated/ert-x-tests.el (ert-test-describe-test): * test/automated/package-test.el (package-test-describe-package) (package-test-signed): Allow straight quotes, too. 2015-06-22 Dmitry Gutov Make find-function-on-key use the current window * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it): Extract from `find-function-on-key', add a second argument. (find-function-on-key): Use it (bug#19679). (find-function-on-key-other-window) (find-function-on-key-other-frame): New commands. 2015-06-21 Nicolas Petton Revert "Define `map-elt' as a generalized variable" This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6. 2015-06-21 Ken Brown Drop support for CPU profiling on Cygwin * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin. (Bug#20843) 2015-06-21 Paul Eggert Fix some “nested” quoting confusion in doc strings * lisp/emacs-lisp/advice.el (ad-map-arglists): * lisp/kermit.el (kermit-clean-on): * lisp/mh-e/mh-comp.el (mh-repl-group-formfile): * src/keyboard.c (Frecursive_edit): Use curved quotes when quoting text containing apostrophe, so that the apostrophe isn't curved in the output. 2015-06-21 Nicolas Petton Define `map-elt' as a generalized variable * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander. * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code. * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a `setf' with `map-elt'. * test/automated/map-tests.el: Comment out `test-map-put-literal'. 2015-06-21 Michael Albinus Improve error handling in tramp-adb.el * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy): Improve error handling. 2015-06-21 Nicolas Petton Reuse `alist-get' in map.el * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist elements. 2015-06-21 Eli Zaretskii Fix bytecomp-tests--warnings when $TMPDIR has a long name * test/automated/bytecomp-tests.el (bytecomp-tests--warnings): Allow the warning to begin on the 3rd, not only 2nd line, which happens if temporary-file-directory has a very long name. Expect 2 icalendar tests to fail on MS-Windows * test/automated/icalendar-tests.el (icalendar-import-with-timezone) (icalendar-real-world): Make them expected failures on MS-Windows. 2015-06-20 Paul Eggert Improve port of settings UI to older displays * lisp/cus-start.el (standard): Don't assume curved quotes are easily distinguishable when users are tinkering with a setting that affects how curved quotes are generated. Fix quoting in electric-quote-mode doc string * lisp/electric.el (electric-quote-mode): Fix quoting. This is a fallout from the recent change introducing ‘help-quote-translation’. Spelling fix * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib. * src/doc.c (syms_of_doc): Remove unused symbols. 2015-06-20 Martin Rudalics * lisp/window.el (window-state-put): Undedicate target window before putting STATE into it. (Bug#20848) 2015-06-19 Paul Eggert Merge from origin/emacs-24 a5e6f33 Fixes: debbugs:20832 b9f02cf Fixes: debbugs:20832 2015-06-19 Eli Zaretskii Fix file-in-directory-p when the directory is UNC * lisp/files.el (file-in-directory-p): Support files and directories that begin with "//". (Bug#20844) 2015-06-19 Stephen Berman * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file in the minibuffer. (Bug#20832) 2015-06-19 Nicolas Richard * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer for adding new todo file is empty but modified. (Bug#20832) 2015-06-19 Stefan Monnier (filepos-to-bufferpos): Further tweaks to the utf-16 code * lisp/international/mule-util.el (filepos-to-bufferpos): Fix typo. Move non-exact check to the utf-16 branch (the only one affected). Don't use byte-to-position for the utf-16 case. 2015-06-19 Eli Zaretskii Minor fixes in filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos): Remove test for utf-8-emacs. Exempt single-byte encodings from the 'use-exact' path when QUALITY is 'exact'. Test UTF-16 encodings for BOM before subtracting 2 bytes. Use 'identity' when adjusting UTF-16 encoded files for CR-LF EOLs. 2015-06-19 Paul Eggert Improve the optional translation of quotes Fix several problems with the recently-added custom variable help-quote-translation where the code would quote inconsistently in help buffers. Add support for quoting 'like this', which is common in other GNU programs in ASCII environments. Change help-quote-translation to use more mnemonic values: values are now the initial quoting char, e.g., (setq help-quote-translation ?`) gets the traditional Emacs help-buffer quoting style `like this'. Change the default behavior of substitute-command-keys to match what's done in set-locale-environment, i.e., quote ‘like this’ if displayable, 'like this' otherwise. * doc/lispref/help.texi (Keys in Documentation): Document new behavior of substitute-command-keys, and document help-quote-translation. * doc/lispref/tips.texi (Documentation Tips): Mention the effect of help-quote-translation. * etc/NEWS: Mention new behavior of substitute-command-keys, and merge help-quote-translation news into it. When talking about doc strings, mention new ways to type quotes. * lisp/cedet/mode-local.el (overload-docstring-extension): Revert my recent change to this function, which shouldn't be needed as the result is a doc string. * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Use substitute-command-keys to ensure a more-consistent quoting style in help buffers. * lisp/cus-start.el (standard): Document new help-quote-translation behavior. * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp) (help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Also match 'foo', in case we're in a help buffer generated when help-quote-translation is ?'. * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR. (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0) (uRSQM1, uRSQM2, LSQM, RSQM): New constants. (Fsubstitute_command_keys): Document and implement new behavior. (Vhelp_quote_translation): Document new behavior. 2015-06-18 Glenn Morris * lisp/cus-start.el (help-quote-translation): Add :version. * src/doc.c (Fsubstitute_command_keys): Make previous change compile. 2015-06-18 Alan Mackenzie Make translation of quotes to curly in doc strings optional. * src/doc.c (traditional, prefer-unicode): New symbols. (help-quote-translation): New variable. (Fsubstitute_command_keys): Make translation of quotes dependent on `help-quote-translation'; also translate curly quotes back to ASCII ones. * lisp/cus-start.el (top-level): Add a customization entry for `help-quote-translation'. 2015-06-18 Artur Malabarba * lisp/emacs-lisp/package.el: Don't always propagate async errors (package--with-work-buffer-async): Only propagate the error if the callback returns non-nil. (package--download-one-archive): Return nil on the signature checking callback if we accept unsigned. (package--download-and-read-archives): Return non-nil on the archive download callback. 2015-06-18 Martin Rudalics Set image_cache_refcount before x_default_parameter calls. (Bug#20802) * src/nsfns.m (Fx_create_frame): * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting image_cache_refcount before first x_default_parameter call. 2015-06-18 Eli Zaretskii Improve and extend filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos--dos): Don't barf if F returns nil for some argument. (filepos-to-bufferpos): Expand to support UTF-16 and not assume that every encoding of type 'charset' is single-byte. 2015-06-18 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu--perform-transaction): Properly delete packages. (Bug#20836) 2015-06-18 Eli Zaretskii Update data files from just-released Unicode 8.0 * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft status. * test/BidiCharacterTest.txt: Update from Unicode 8.0. * admin/unidata/BidiMirroring.txt: * admin/unidata/BidiBrackets.txt: * admin/unidata/UnicodeData.txt: Update from Unicode 8.0. 2015-06-18 Paul Eggert Document curved quotes a bit better * doc/emacs/basic.texi (Inserting Text): Mention C-x 8. Change example to use curved quote rather than infinity, as this lets us give more ways to do it. * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts and quotation marks. * doc/emacs/text.texi (Quotation Marks): * doc/lispref/tips.texi (Documentation Tips): Add "curly quotes" and "curved quotes" to the index. * doc/emacs/text.texi (Quotation Marks): Give the C-x 8 shorthands for curved quotes. Cross-reference to "Quotation Marks". 2015-06-17 Daiki Ueno Add pinentry.el for better GnuPG integration * lisp/pinentry.el: New file. * etc/NEWS: Add entry about pinentry.el. * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar. (Bug#20550) 2015-06-17 Artur Malabarba * lisp/emacs-lisp/package.el: Slightly better error reporting. 2015-06-17 Stefan Monnier (define-minor-mode): Use setq-default for :global minor modes * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Use setq-default for :global minor modes (bug#20712). 2015-06-17 Eli Zaretskii Avoid infloop in redisplay with tall images * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling down near ZV. (Bug#20808) Call bidi_unshelve_cache to avoid memory leaks. Use IT_CHARPOS instead of CHARPOS. 2015-06-17 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Fix error reporting. * lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el * lisp/emacs-lisp/package.el: Revert buffer after any operation Call `package-menu--post-refresh' after any operation that changes the package database (`package-install' and `package-delete'). To avoid performance issues in large transactions, these functions add `post-refresh' to `post-command-hook' instead of calling it immediately. (package-menu--mark-or-notify-upgrades): New function. (list-packages): Add it to `package--post-download-archives-hook'. (package-menu--post-refresh): Lose the upgrade-checking code, add code to remove itself from `post-command-hook'. (package-install, package-delete): Add it to `post-command-hook'. (package-menu-execute): Don't call `package-menu--post-refresh'. 2015-06-17 Stephen Leake Add missing function xref-location-group for elisp-mode. * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group. 2015-06-17 Wolfgang Jenkner * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary. The behavior now matches the description in the manual. (Bug#20783) 2015-06-17 Xue Fuqiao * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL. 2015-06-17 Glenn Morris Generate char-script-table from Unicode source. (Bug#20789) * admin/unidata/Makefile.in (AWK): New, set by configure. (all): Add charscript.el. (blocks): New variable. (charscript.el, ${unidir}/charscript.el): New targets. (extraclean): Also remove generated charscript.el. * admin/unidata/blocks.awk: New script. * admin/unidata/Blocks.txt: New data file, from unicode.org. * lisp/international/characters.el: Load charscript. * src/Makefile.in (charscript): New variable. (${charscript}): New target. (${lispintdir}/characters.elc): Depend on charscript.elc. (temacs$(EXEEXT)): Depend on charscript. * lisp/international/characters.el (char-script-table): Tweak some ranges to better match the source. (Bug#20789#17) Remove "no-byte-compile: t" from a few files. * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el: * lisp/obsolete/patcomp.el: No reason not to compile these. 2015-06-16 Glenn Morris Fix some typos in copied Unicode data. (Bug#20789) * lisp/international/characters.el (char-script-table): * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Fix typos. * lisp/emacs-lisp/check-declare.el (check-declare-warn): Don't print filename twice (it's in the prefix now). * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround. No longer needed. Address a compilation warning. * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias): Replace 't' with '_' in pcase. Address some check-declare warnings. * lisp/simple.el (tabulated-list-print): * lisp/progmodes/elisp-mode.el (xref-collect-matches): * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p) (ns-get-selection): Update declarations. Address some compilation warnings. * lisp/elec-pair.el (electric-pair-post-self-insert-function): * lisp/vc/vc-git.el (vc-git-file-type-as-string): Replace 't' with '_' in pcase. Address some compilation warnings. * lisp/face-remap.el (text-scale-adjust): * lisp/menu-bar.el (popup-menu-normalize-position): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn): * lisp/emacs-lisp/generator.el (cps--transform-1): * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string): * lisp/progmodes/octave.el (octave-goto-function-definition) (octave-find-definition-default-filename): Replace 't' with '_' in pcase. * lisp/emacs-lisp/pcase.el (pcase--u1): Paper-over today's bootstrap failure. 2015-06-16 Nicolas Petton * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase. * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning. Better confirmation message in `find-alternate-file' (Bug#20830) * lisp/files.el (find-alternate-file'): Improve the confirmation message to show the buffer name. Better docstring for null. (Bug#20815) * src/data.c (null): Improves the docstring, saying what null returns when OBJECT is non-nil. 2015-06-16 Stefan Monnier * lisp/net/newst-treeview.el: Use lexical-binding. (filepos-to-bufferpos): Add missing cases. Make sure it terminates. * lisp/international/mule-util.el (filepos-to-bufferpos--dos): New auxiliary function, extracted from filepos-to-bufferpos. Make sure it terminates. (filepos-to-bufferpos): Use it to fix the latin-1-dos case. Add support for the `exact' quality. 2015-06-16 Cédric Chépied Identify feeds in newsticker treeview with :nt-feed property * lisp/net/newst-treeview.el: (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag. 2015-06-16 Stefan Monnier * lisp/emacs-lisp/pcase.el: Improve docs and error handling. (pcase--self-quoting-p): Floats aren't self-quoting. (pcase): Tweak docstring. (pcase--u1): Deprecate the t pattern. Improve error detection for the nil pattern. (\`): Tweak docstring. Signal an error for unrecognized cases. (bug#20784) 2015-06-16 Eli Zaretskii Fix infloop in filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL offset calculation, and make it conditional on the eol-type of the file's encoding. (Bug#20825) 2015-06-16 Martin Rudalics Fix handling of image cache refcounts. (Bug#20802) This backports Eli Zaretskii's solution of this problem for W32 to X and NS. * src/nsfns.m (image_cache_refcount): Define unconditionally. (unwind_create_frame): If the image cache's reference count hasn't been updated yet, do that now. (Fx_create_frame): Set image_cache_refcount unconditionally. * src/xfns.c (image_cache_refcount): Define unconditionally. (unwind_create_frame): If the image cache's reference count hasn't been updated yet, do that now. (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount unconditionally. * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on X and NS. 2015-06-16 Nils Ackermann Improve reftex-label-regexps default value * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make keyvals label regexp more strict to better cope with unbalanced brackets common in math documents. 2015-06-16 Glenn Morris * doc/emacs/calendar.texi (Format of Diary File): Move "nonmarking" from here... (Displaying the Diary): ... to here. * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary): Swap the order of these nodes. * doc/emacs/emacs.texi: Update detailed menu for the above change. * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries): Update date of examples. (Diary, Format of Diary File): Move example from former to latter. Reduce duplication. No need for cp51932.el, eucjp-ms.el to not be compiled any more. * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk: Don't set no-byte-compile in the outputs. * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms. 2015-06-15 Glenn Morris * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file. * doc/emacs/calendar.texi (Diary, Format of Diary File): Update for above diary-file change. * lisp/macros.el (name-last-kbd-macro, kbd-macro-query) (apply-macro-to-region-lines): Use user-error. * lisp/textmodes/page-ext.el (add-new-page, pages-directory) (pages-directory-for-addresses): Doc fixes. 2015-06-15 Stefan Monnier * lisp/info.el: Cleanup bytepos/charpos issues * lisp/international/mule-util.el: Use lexical-binding. (filepos-to-bufferpos): New function. * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions. (Info-find-node-2): Use filepos-to-bufferpos (bug#20704). (Info-read-subfile, Info-search): Use 0-based file positions. * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/ (perl--syntax-exp-intro-keywords): New var. (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it. (bug#20800). 2015-06-15 Paul Eggert Fix quoting when making derived mode docstring * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Nest regexp-quote inside format, not the reverse. Problem reported by Artur Malabarba in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html 2015-06-15 Eli Zaretskii Fix current-iso639-language on MS-Windows * lisp/international/mule-cmds.el (set-locale-environment): Downcase the locale name before interning it. This is so the 'current-iso639-language' on MS-Windows matches the ':lang' property of font-spec objects. Limit Symbola usage some more * lisp/international/fontset.el (setup-default-fontset): Limit Symbol coverage of Currency Symbols to u+20B6..u+20CF. (Bug#20727) 2015-06-15 Nicolas Petton * lisp/emacs-lisp/map.el (map-let): Better docstring. 2015-06-15 Paul Eggert * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f): (help-fns-test-funny-names): Spelling fixes. 2015-06-14 Glenn Morris * lisp/version.el (emacs-repository-version-git): Demote errors. Check result is a hash. 2015-06-14 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Catch errors that happen before going async. (Bug#20809) 2015-06-14 Eli Zaretskii Another improvement of documentation of set-fontset-font * doc/lispref/display.texi (Fontsets): Say explicitly that CHARACTER can be a single codepoint. * src/fontset.c (Fset_fontset_font): Doc fix. Another improvement for symbol and punctuation characters * lisp/international/fontset.el (setup-default-fontset): Exclude from Symbola character ranges for symbols and punctuation covered well by popular Unicode fonts. Prefer fixed-misc Unicode font, if installed and where its coverage of symbols and punctuation is known to be good. (Bug#20727) 2015-06-14 Christoph Wedler Some generic support for multi-mode indentation. * lisp/progmodes/prog-mode.el (prog-indentation-context): New variable. (prog-first-column, prog-widen): New convenience functions. 2015-06-14 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't assume that `tabulated-list-printer' will leave point at the end of the buffer. (Bug#20810) 2015-06-13 Glenn Morris Tweaks for getting repository version; a bit more like it was for bzr * lisp/version.el (emacs-repository-version-git) (emacs-repository--version-git-1): New functions, split from emacs-repository-get-version. (emacs-repository-get-version): Make the second argument meaningful. * lisp/startup.el (command-line-1): Inform if skipping relative file names due to deleted PWD. * src/xsmfns.c (x_session_initialize): Avoid libSM crash when starup directory is missing. (Bug#18851) (errno.h): Include it. 2015-06-13 Paul Eggert Better fix for documenting `X as "`X" Fix suggested by Stefan Monnier. * lisp/help-fns.el (help-fns--signature): Insert "`X", not "(\` X)", when documenting `X (Bug#20759). * lisp/help.el (help-split-fundoc, help--make-usage-docstring): Don't treat `X specially, as help-fns--signature now handles this. 2015-06-13 Eli Zaretskii Improve the default fontset when Symbola is not installed * lisp/international/fontset.el (setup-default-fontset): Only prepend Symbola and FreeMono font specs for symbols and punctuation; do not replace the default spec for them. This should have better results when Symbola/FreeMono are not installed. (Bug#20727) Improve documentation of ':lang' in font specs * src/font.c (Ffont_spec): Doc fix: elaborate on the values and use of the ':lang' property of the font spec. * doc/emacs/frames.texi (Fonts): Document the language names that can be in the STYLE part of XLFD. * doc/lispref/display.texi (Low-Level Font): Document the ':lang' property. * nt/README: Don't advertise the (obsolescent) w32 FAQ. * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ. Revert last change in fontset.el * lisp/international/fontset.el (setup-default-fontset): Revert the change "Configure Symbola font only if installed", since font search is evidently not yet set up when this function is called. (Bug#20727) 2015-06-12 Glenn Morris Ensure early startup warnings are visible at the end. (Bug#20792) * lisp/emacs-lisp/warnings.el (display-warning): If startup isn't complete, delay the warning. * lisp/startup.el (normal-top-level, command-line): Let display-warning automatically handle the needed delays. Run delayed-warnings-hook. * lisp/version.el (emacs-repository-get-version): Avoid calling external executable if possible. (Bug#20799) 2015-06-12 Paul Eggert Document `X as "`X", not as "(` X)" * lisp/help.el (help-split-fundoc, help--make-usage-docstring): Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759). * src/print.c (print_object): Minor simplification. 2015-06-12 Glenn Morris * src/buffer.c (init_buffer): Add final newline to message. 2015-06-12 Paul Eggert Configure Symbola font only if installed * lisp/international/fontset.el (setup-default-fontset): Don't specify the Symbola font if it's not installed. Likewise for FreeMono. (Bug#20727) 2015-06-12 Eli Zaretskii Configure Symbola font only for symbols and punctuation * lisp/international/fontset.el (setup-default-fontset): Leave only symbols and punctuation in the fontset setup for Symbola font; remove "Greek and Coptic" and "Cyrillic Supplement". (Bug#20798) 2015-06-12 Andreas Schwab Fix crash in fontset-info * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is non-nil. 2015-06-12 Paul Eggert Port to Solaris 10 sparc + Sun C 5.13 * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]: Adjust to process.c change. * src/process.c (create_process): Declare volatile variables at top level of this function, so that they're less likely to be reused later in the function in the code executed by the vforked child. Do not declare locals used only in the vforked child, as they might share memory with locals still live in the parent. Instead, use the same variables in the child as in the parent. This works around a subtle bug that causes a garbage collector crash when Emacs is built with Sun C 5.13 sparc on Solaris 10. 2015-06-12 Glenn Morris * lisp/startup.el (normal-top-level): Don't let *Messages* get a nil default-directory. 2015-06-11 Glenn Morris * lisp/startup.el (normal-top-level): Use delay-warning. (Bug#20792) Some progress towards starting with PWD deleted. (Bug#18851) * src/buffer.c (init_buffer): Handle get_current_dir_name failures. * lisp/startup.el (normal-top-level, command-line-1): * lisp/minibuffer.el (read-file-name-default): Handle default-directory being nil. 2015-06-11 Paul Eggert Fix "not a tty" bug on Solaris 10 * configure.ac (PTY_OPEN): Define to plain 'open' on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set. * src/process.c (allocate_pty): Set the O_CLOEXEC flag after calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived hosts that call grantpt which does its work via a setuid subcommand (Bug#19191, Bug#19927, Bug#20555, Bug#20686). Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it seems relevant in that case too. 2015-06-11 Juri Linkov * lisp/bindings.el (debug-ignored-errors): Add mark-inactive. * lisp/simple.el (kill-region): Replace 'error' with 'user-error'. (Bug#20785) 2015-06-11 Glenn Morris * lisp/international/characters.el (char-script-table): Fix typo. 2015-06-11 Paul Eggert Fix quoting of help for functions with odd names While investigating Bug#20759, I discovered other quoting problems: C-h f mishandled characters like backslash and quote in function names. This fix changes the behavior so that 'C-h f pcase RET' now generates "... (\` QPAT) ..." instead of "... (` QPAT) ...", because '(format "%S" '(` FOO))' returns "(\\` FOO)". A comment in src/lread.c's read1 function says that the backslash will be needed starting in Emacs 25, which implies that 'format' is correct and the old pcase documention was wrong to omit the backslash. * lisp/emacs-lisp/nadvice.el (advice--make-docstring): * lisp/help-fns.el (help-fns--signature): * lisp/help.el (help-add-fundoc-usage): * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Use help--make-usage-docstring rather than formatting help-make-usage. * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Return raw docstring. * lisp/help-fns.el (help-fns--signature): New arg RAW, to return raw docstring. Take more care to distinguish raw from cooked dstrings. (describe-function-1): Let help-fns--signature substitute command keys. * lisp/help.el (help--docstring-quote): New function. (help-split-fundoc): Use it, to quote funny characters more systematically. (help--make-usage): Rename from help-make-usage, since this should be private. Leave an obsolete alias for the old name. (help--make-usage-docstring): New function. * test/automated/help-fns.el (help-fns-test-funny-names): New test. 2015-06-11 Stefan Monnier * lisp/thingatpt.el (in-string-p): Revert last change, since in-string-p is not used in thingatpt.el but only from outside. Also, use lexical binding. 2015-06-11 Artur Malabarba * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons. * test/automated/let-alist.el (let-alist-cons): Test it. 2015-06-11 Nicolas Richard * src/syntax.c (Fbackward_prefix_chars): Reword docstring. 2015-06-10 Glenn Morris * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits. Improve generated ChangeLog for gitmerge.el commits. (Bug#20717) * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits. * admin/gitmerge.el (gitmerge-commit-message): Exclude "skipped" messages from ChangeLog once again. Slight namespace cleanup for thingatpt.el. * lisp/thingatpt.el (thing-at-point--in-string-p) (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp) (thing-at-point--read-from-whole-string): Rename from old versions without "thing-at-point--" prefix. Keep old versions as obsolete aliases. Update all uses. * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords): Move requiring of finder from here... (checkdoc-package-keywords): ... to here. Use 'user-error' in a few calendar files. * lisp/calendar/appt.el (appt-add): * lisp/calendar/calendar.el (calendar-absolute-from-gregorian) (calendar-generate): * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic): Replace 'error' with 'user-error'. * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error. * lisp/files-x.el (add-file-local-variable): Special-case 'lexical-binding'. (Bug#20641) * lisp/progmodes/executable.el (executable-self-display): Obsolete. No longer autoload. * doc/misc/autotype.texi (Executables): Undocument executable-self-display. * lisp/progmodes/executable.el (executable-self-display): Use non-obsolete tail syntax. (Bug#20779) (executable-self-display): Doc update. 2015-06-10 Stefan Monnier * lisp/emacs-lisp/checkdoc.el: Use lexical-binding (finder-known-keywords): Silence byte-compiler. 2015-06-09 Stefan Monnier * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730). * lisp/progmodes/sh-script.el: Better handle nested quotes. (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683). (sh-font-lock-quoted-subshell): Make sure double quotes within single quotes don't mistakenly end prematurely the surrounding string. * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct. 2015-06-09 Glenn Morris * test/automated/Makefile.in (ELFILES): Sort. * Makefile.in (SUBDIR_MAKEFILES): * lwlib/Makefile.in (WARN_CFLAGS): Use built-in Make functions rather than echo+sed. 2015-06-09 Eli Zaretskii Update char-script-table * lisp/international/characters.el (char-script-table): Update from Unicode 8.0 Draft. Improve font selection for punctuation and other symbols * src/fontset.c (face_for_char): If the character's script is 'symbol', and the font used for ASCII face has a glyph for it, use the font for the ASCII face instead of searching the fontsets. This comes instead of NS-specific code that used the current face's font instead, which is now disabled due to undesirable consequences. (Bug#20727) 2015-06-08 Dmitry Gutov * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip past `#' to find BEG (bug#20771). * test/automated/elisp-mode-tests.el (elisp-completes-functions-after-hash-quote): New test. 2015-06-08 Eli Zaretskii Fix compilation warning/error in --without-x builds * src/xdisp.c (append_space_for_newline): Condition GUI-specific code on HAVE_WINDOW_SYSTEM. Improve the default fontset wrt symbols * lisp/international/fontset.el (setup-default-fontset): Better setup of fontset-default for symbols: use Symbola and FreeMono. (Bug#20727) 2015-06-08 Oleh Krehel Add new command checkdoc-package-keywords * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New defcustom. (checkdoc-list-of-strings-p): Add doc. (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is non-nil, call `checkdoc-package-keywords'. (checkdoc-get-keywords): New defun. (checkdoc-package-keywords): New command. Warns if the current file has package.el-style keywords that aren't in `finder-known-keywords'. * etc/NEWS: Add entry. 2015-06-08 Eli Zaretskii Avoid crashes when key-binding is called from a timer * src/keymap.c (Fkey_binding): Don't segfault if called with an empty vector as KEY. (Bug#20705) Fix a thinko in arc-mode.el * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the non-Zip64 case. (Bug#20769) 2015-06-08 Artur Malabarba * lisp/emacs-lisp/package.el (package-delete): Make interactive. 2015-06-08 Oleh Krehel * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function. (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning to the standard output. (bug#20754) 2015-06-07 Glenn Morris * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog. * src/font.c (syms_of_font) : Doc fix. Remove the obsolete leading "*" from some C doc strings. * src/coding.c (syms_of_coding): * src/font.c (syms_of_font): Remove leading "*" from docs. * lisp/cus-start.el (enable-character-translation): Add it. 2015-06-07 Paul Eggert Move gen_origin from program to data That way, 'make change-history' needs to change only ChangeLog.2, instead of having to change two files. * ChangeLog.2: Add commit info for range that this file covers. * Makefile.in (new_commit_regexp): New macro. (change-history-nocommit): Simplify, by putting what used to be the gen_origin value into the data (ChangeLog.2) rather than into the program (gitlog-to-emacslog). * build-aux/gitlog-to-emacslog (gen_origin): Calculate from the input file (e.g., ChangeLog.2) rather than by having a constant in the program. Substitute it into the output. 2015-06-07 Dmitry Gutov * lisp/help-fns.el (help-fns--signature): Quote any quotes in the function name (bug#20759). 2015-06-07 Eli Zaretskii Adapt 'struct timespec' to next release of MinGW runtime * nt/inc/ms-w32.h (struct timespec): Don't declare if __struct_timespec_defined is defined. 2015-06-06 Paul Eggert Merge from gnulib This incorporates: 2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const 2015-06-05 stdio: Don't redefine gets when using C++ 2015-06-05 acl-permissions: port to AIX, C89 HP-UX 2015-06-02 file-has-acl: fix build on Mac OS X 10 2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line 2015-06-01 pthread_sigmask: discount system version if a simple macro 2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c: * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h: * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib. * lib/gnulib.mk: Regenerate. 2015-06-06 Juri Linkov * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches before calling grep-compute-defaults because now it affects the command lines computed in grep-compute-defaults. (Bug#20728) 2015-06-06 Glenn Morris Address some compilation warnings. * lisp/international/mule-cmds.el (w32-get-console-codepage) (w32-get-console-output-codepage): * lisp/progmodes/elisp-mode.el (xref-collect-references): * lisp/version.el (cairo-version-string): Declare. * lisp/erc/erc.el (erc-nickname-in-use): Fix typo. 2015-06-06 Eli Zaretskii Fix display when a font claims large values of ascent and descent This fixes bug#20628. * src/xdisp.c (get_phys_cursor_geometry): Correct the Y coordinate of a hollow cursor glyph when the original glyph's ascent is too small. (get_font_ascent_descent, normal_char_ascent_descent) (normal_char_height): New functions. (handle_single_display_spec, append_space_for_newline) (calc_pixel_width_or_height, produce_stretch_glyph) (calc_line_height_property): Use normal_char_ascent_descent and normal_char_height. (x_produce_glyphs): When font-global values of ascent and descent are too large, use per-character glyph metrics instead, if possible. But don't allow the glyph row's ascent and descent values become smaller than the values from the metrics of the font's "normal" character. * src/xftfont.c (xftfont_draw): * src/w32font.c (w32font_draw): Correct the values of ascent and descent used to draw glyphless characters' hex code in a box. * src/xterm.c (x_draw_glyph_string_background): * src/xdisp.c (x_produce_glyphs): * src/w32term.c (x_draw_glyph_string_background): * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH to detect fonts whose global ascent and descent values are too large to be used in layout decision, and redraw the background when that happens. * src/dispextern.h (FONT_TOO_HIGH): New macro. (get_font_ascent_descent): Add prototype. * src/xterm.c (x_new_font): * src/w32term.c (x_new_font): * src/nsterm.m (x_new_font): * src/font.c (font_open_entity): * src/composite.c (composition_gstring_width): Use get_font_ascent_descent to obtain reasonable values for ascent and descent of a font. 2015-06-06 Nicolas Richard Add assertion in adjust_point_for_property * src/keyboard.c (adjust_point_for_property): Add eassert for current buffer being shown in selected window. 2015-06-06 Dmitry Gutov Replace uses of in-string-p; make it obsolete * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732). (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead. 2015-06-06 Eli Zaretskii Fix Dired display of an explicit list of files by ls-lisp.el * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt) (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be correct for when displaying individual files separately, not as part of listing a directory, in which case these values are not recomputed by 'ls-lisp-insert-directory', but used verbatim. * lisp/dired.el (dired): Doc fix. (Bug#20739) 2015-06-06 Nicolas Richard Do not adjust point in a non-selected window * src/keyboard.c (command_loop_1): Do not adjust point when current buffer is not shown in selected window (Bug#20590). * etc/DEBUG: Mention 'maybe_call_debugger' 2015-06-05 Nicolas Petton Fix a unit test for map.el * test/automated/map-tests.el (test-map-let): Fix the test to work with the new syntax of `map-let'. * lisp/emacs-lisp/map.el (map-let): Better docstring. Better syntax for the map pcase pattern * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted. * lisp/emacs-lisp/map.el (map--dispatch): Better docstring. Fix a byte-compiler error in map-put and map-delete * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is called with a symbol. 2015-06-05 Glenn Morris * admin/gitmerge.el (gitmerge-commit-message): Revert to including "skipped" messages in ChangeLog once again. 2015-06-05 Tassilo Horn Use string> instead of equiv lambda with string< * lisp/help.el (view-emacs-news): Use string> instead of equivalent lambda with string<. 2015-06-05 Glenn Morris * lisp/emacs-lisp/map.el (map--dispatch): Move before use. (map--delete-array): Fix typo. * test/automated/map-tests.el: Replace "assert" with "should". * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS. (SUBDIRS_REL): Derive from SUBDIRS. Tweak some build messages. * lisp/Makefile.in ($(lisp)/loaddefs.el): * lisp/cus-dep.el (custom-make-dependencies): * lisp/finder.el (finder-compile-keywords): Say what we are doing. * lisp/international/titdic-cnv.el (batch-titdic-convert): Don't say how to compile. 2015-06-05 Paul Eggert Omit U+0332 COMBINING LOW LINE in previous change It turns out that it does not work on Ubuntu 15.04. Fix transliteration of Bahá'í months * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array): Improve quality of Latin transliteration of Bahá'í month names. Fix curved quotes in a few places * lisp/calc/calc-misc.el (calc-help): Fix quoting. The strings in question are not doc strings, so this partially undoes the recent change that assumed they were doc strings. * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/info.el (Info-finder-find-node): Use curved quotes. * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Also allow curved quotes in doc strings. 2015-06-04 Glenn Morris * lisp/Makefile.in (AM_V_at): Add missing definition. * lisp/Makefile.in: Quieten output a bit. ($(lisp)/cus-load.el, $(lisp)/finder-inf.el): Don't echo directories, since the commands we invoke print them. * lisp/Makefile.in: Replace shell fragments in variables with $(shell). (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER) (SUBDIRS_SUBDIRS): New variables. (setwins, setwins_almost, setwins_finder, setwins_for_subdirs): Remove. ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el) (update-subdirs, compile-main, compile-clean): Replace "setwins" usage with new "SUBDIRS" variables. * lisp/vc/compare-w.el (compare-windows-get-window-function): Fix :version tag. 2015-06-04 YAMAMOTO Mitsuharu * src/ftfont.c (ftfont_open2): Round divisions by upEM. Undo removal of x_clear_area call on expose for GTK3 or cairo * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear exposed area. (Bug#20677) 2015-06-04 Glenn Morris * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash. * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot. * lisp/leim/quail/lrt.el (quail-lrt-update-translation): Rename from quail-lao-update-translation, since lao.el defines that. 2015-06-04 Dmitry Gutov Handle new-style advice in find-funct * lisp/emacs-lisp/find-func.el (find-function-advised-original): Handle new-style advice. Return the symbol's function definition. (Bug#20718) (find-function-library): Update accordingly. 2015-06-04 Nicolas Petton Merge branch 'map' * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro. Add new function string-greaterp * lisp/subr.el (string-greaterp): New function. Also aliased to `string>'. * test/automated/subr-tests.el (string-comparison-test): Add unit tests for `string>'and `string<'. * src/fns.c (string-lessp): Better docstring. 2015-06-04 Eli Zaretskii Fix timezone-related functions on MS-Windows * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call 'xputenv', even if no reallocation of tzvalbuf was necessary. This fixes a bug in timezone-related functions on MS-Windows. Reported by Fabrice Popineau . 2015-06-03 Paul Eggert Don't pass raw directory name to 'error' * lisp/files.el (basic-save-buffer-2): Avoid format error if a directory name contains a string like "%s". 2015-06-03 Dmitry Gutov Override 'grep --color=always' * lisp/progmodes/xref.el (xref-collect-matches): Override --color=always in grep-find-template. 2015-06-03 Michael Albinus Fix error introduced recently in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'. (file-notify--deftest-remote): Revert previous patch, not necessary anymore. 2015-06-03 Wolfgang Jenkner * src/indent.c (Fvertical_motion): Amend motion by 0 lines. Starting from a display string after a newline, point went to the previous line. Also, fix an inadvertent use of a buffer position with FETCH_BYTE. (Bug#20701) 2015-06-03 Michael Albinus Instrument file-notify-test.el in order to catch hydra error * test/automated/file-notify-tests.el (file-notify--deftest-remote): Wrap body by `ignore-case', in order to trap non-local errors. 2015-06-03 YAMAMOTO Mitsuharu Undo previous changes in non-toolkit scroll bar drawing * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose) [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window. (Bug#20668) 2015-06-03 Paul Eggert * .gitignore: Also ignore doc/*/*/*.html and .ps. Support quotes 'like this' in info files This is possible when 'makeinfo --disable-encoding' is used in Texinfo 5. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/info.el (Info-find-index-name): * lisp/vc/ediff-help.el (ediff-help-for-quick-help): Also support quotes 'like this'. * lisp/calc/calc-help.el (calc-describe-thing): Simplify. * lisp/finder.el (finder-font-lock-keywords): Remove var that hasn't been used in years, instead of bothering to fix its quoting. 2015-06-02 Paul Eggert * .gitignore: Remove !test/etags/html-src/*.html. It's no longer needed, since *.html was removed. Sort. 2015-06-02 Dmitry Gutov Restore instead of '.' in grep-find-template * lisp/cedet/semantic/symref/grep.el (semantic-symref-grep-use-template): Update a comment. * lisp/progmodes/grep.el (grep-compute-defaults): Restore instead of '.' in grep-find-template (bug#20719). (rgrep): Pass nil as the directory to rgrep-default-command. * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the default value for DIR. * lisp/progmodes/xref.el (xref-collect-matches): Drop the workaround. 2015-06-02 Glenn Morris * configure.ac (emacs_config_features): Add X toolkit and scroll-bars. * configure.ac (emacs_config_features): Add Cairo. * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later. 2015-06-02 Michael Albinus Ensure that autorevert works for remote files in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-desc): New defvar. (file-notify--test-remote-enabled) (file-notify-test00-availability, file-notify-test01-add-watch) (file-notify-test02-events): Use it. (file-notify--test-event-test): Check proper descriptor. (file-notify-test03-autorevert): Ensure that `visited-file-modtime' has changed. (Bug#20392) 2015-06-02 Nicolas Petton Add a pcase pattern for maps and `map-let' based on it * lisp/emacs-lisp/map.el (map-let): New macro. (map--make-pcase-bindings, map--make-pcase-patterns): New functions. * test/automated/map-tests.el: New test for `map-let'. 2015-06-02 Dmitry Gutov Reuse rgrep mechanics in xref-find-regexp * lisp/progmodes/grep.el (rgrep-default-command): Extract from `rgrep'. * lisp/progmodes/xref.el (xref-collect-references): Split from `xref-collect-matches'. Only handle the case of symbol search. (xref-collect-matches): Instead of Semantic Symref, use `rgrep-default-command', to take advantage of its directory and file ignore settings. (xref--collect-match): Remove the last argument, leaving the regexp construction up to the caller. * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches): Change to take the xref-collect- function to use as an argument. (elisp-xref-find): Update accordingly. * lisp/progmodes/etags.el (etags--xref-find-matches) (etags-xref-find): Same. Move xref-elisp-location to elisp-mode.el * lisp/progmodes/xref.el (xref-elisp-location) (xref-make-elisp-location, xref-location-marker): Remove here. (xref--xref): Don't limit the type of the location slot. * lisp/progmodes/elisp-mode.el (xref-elisp-location): Define as a cl-struct here. (xref-location-marker): Move here. 2015-06-02 Eli Zaretskii Minor tweaks for .gitignore * .gitignore: Don't ignore versioned *.html and *.ps files. Don't ignore admin/notes/tags that might be ignored as TAGS on case-insensitive filesystems. (Bug#20710) 2015-06-02 Paul Eggert Generate curved quotes in ert doc * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc) (ert-results-mode-menu) (ert-results-pop-to-backtrace-for-test-at-point) (ert-results-pop-to-messages-for-test-at-point) (ert-results-pop-to-should-forms-for-test-at-point) (ert-describe-test): Quote ‘like this’, not `like this', when generating doc strings and the like. * test/automated/ert-x-tests.el (ert-test-describe-test): Allow quoting ‘like this’. 2015-06-02 Nicolas Richard Add test for previous commit * test/automated/replace-tests.el: New file. (query-replace--split-string-tests): Add test for previous commit. Avoid confusion in query-replace history when replacing NUL chars * lisp/replace.el (query-replace--split-string): New function. (query-replace-read-from): Rely on the 'separator' property instead of searching for the NUL character (Bug#20690). 2015-06-02 Glenn Morris Merge from origin/emacs-24 8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual. * admin/gitmerge.el (gitmerge-commit-message): Exclude "skipped" messages from ChangeLog. 2015-06-01 Michael Albinus Sync with Tramp repository * lisp/net/tramp.el (tramp-message): Dump connection buffer error messages. (tramp-handle-make-auto-save-file-name): When calling `make-auto-save-file-name' internally, make sure it uses Unix-like behavior, not Windows-like behavior. * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for the local case, because "chown" might fail on w32. * lisp/net/trampver.el (tramp-repository-get-version): Don't run for XEmacs. 2015-06-01 Eli Zaretskii MS-Windows followup for batch stdout/stderr output changes * lisp/international/mule-cmds.el (set-locale-environment): In batch mode, use console codepages for keyboard and terminal encoding. (Bug#20545) Update .gitattributes for DOS EOL files * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS CRLF end-of-line format. NS equivalents of xterm.c and w32term.c changes * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of glyph string background also when the font in use claims preposterously large global height value. Helps to remove artifacts left from previous displays when glyphless characters are displayed as hex code in a box. (x_new_font): Call get_font_ascent_descent to obtain a reasonable value for FRAME_LINE_HEIGHT, even when a font claims very large value for its height. 2015-06-01 Paul Eggert Avoid grave accent quoting in stderr diagnostics A few Emacs diagnostics go directly to stderr, and so can't easily contain curved quotes (as non-UTF-8 locales might mishandle them). Instead of bothering to add support for this rarity, reword the diagnostics so that they don't use grave accent to quote. * src/alloc.c (mark_memory): Fix comment. * src/buffer.c (init_buffer): * src/dispnew.c (init_display): * src/emacs.c (main, sort_args): * src/lread.c (dir_warning): * src/term.c (init_tty): * src/unexmacosx.c (unexec): * src/xfns.c (select_visual): * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter): Reword stderr diagnostics to avoid quoting `like this'. * src/unexmacosx.c: Include errno.h. * src/xfns.c (select_visual): Encode value for locale. 2015-05-31 Paul Eggert Treat batch stdout/stderr like standard display Calls like (print FOO) could generate improperly encoded or hard-to-read output if FOO contains characters outside the system locale. Fix this by treating batch stdout and stderr like interactive standard display, when it comes to transliterating and encoding characters (Bug#20545). * doc/emacs/mule.texi (Communication Coding): * doc/lispref/display.texi (Active Display Table): * doc/lispref/nonascii.texi (Locales): * etc/NEWS: * src/coding.c (syms_of_coding): * src/dispnew.c (syms_of_display): Document this. * src/print.c: Include disptab.h. (printchar_to_stream): New function, with much of the guts of the old Fexternal_debugging_output, except this one also uses the standard display table. (printchar, strout, Fexternal_debugging_output): Use it. 2015-05-31 Glenn Morris * src/emacs.c (syms_of_emacs) : Doc fix. 2015-05-31 Paul Eggert Remove DEFSYMs that aren't used at the C level. Also: * src/decompress.c (Qzlib_dll): * src/font.c (Qunicode_sip): * src/frame.c (Qtip_frame): * src/ftfont.c (Qserif): * src/gnutls.c (Qgnutls_dll): * src/xml.c (Qlibxml2_dll): Move from here ... * src/w32fns.c (syms_of_w32fns): ... to here, as these are used only on MS-Windows. 2015-05-31 Michael Albinus Use another default value for tramp-histfile-override * lisp/net/tramp-sh.el (tramp-histfile-override): Use ".tramp_history" as default. Fixes bug#20446 2015-05-29 Nicolas Petton * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual. 2015-05-16 Nicolas Petton * etc/NEWS: Add an entry about map.el. Improve the docstring of functions in map.el Since a map is not a data structure but a concept, adding information about the possible types of maps can be useful information. * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to each public function. 2015-04-29 Nicolas Petton * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using specific tests depending on the type of the map. * lisp/emacs-lisp/map.el: Better docstrings. 2015-04-25 Artur Malabarba * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda. 2015-04-25 Nicolas Petton * lisp/emacs-lisp/map.el (map--elt-list): Better docstring. * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring. Fix a false negative in `map-elt' with alists and values being nil * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is found but its associated value is nil, do not return the default value. * test/automated/map-tests.el: Add a regression test. 2015-04-24 Nicolas Petton * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring. Do not signal an error when trying to delete a key from an array * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if the key is present to avoid signaling an error. * test/automated/map-tests.el: Add a test for deleting non-existing keys from maps. * lisp/emacs-lisp/map.el: Better docstring. Minor improvement in map-elt * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when doing a lookup in arrays, but check the boundaries of the array instead. * test/automated/map-tests.el: Adds a test for `map-elt' with arrays and a negative integer as key. 2015-04-21 Nicolas Petton * test/automated/map-tests.el: Refactoring of test methods. * test/automated/map-tests.el: Renamed from map-test.el. 2015-04-18 Nicolas Petton * lisp/emacs-lisp/map.el (map-into): Better error message. * lisp/emacs-lisp/map.el: Remove byte-compilation warnings. Throw an error when converting a map into an unknown map type * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid. * test/automated/map-tests.el: Add a regression test. New library map.el similar to seq.el but for mapping data structures. * test/automated/map-tests.el: New file. * lisp/emacs-lisp/map.el: New file. 2015-05-30 Dmitry Gutov * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure there's no explicit tag name (bug#20629). 2015-05-30 Paul Eggert Remove format2 * src/editfns.c, src/lisp.h (format2): Remove. It is more trouble than it's worth, now that we have CALLN. This is just a minor refactoring. * src/buffer.c (Fkill_buffer): * src/dbusbind.c (XD_OBJECT_TO_STRING): * src/fileio.c (barf_or_query_if_file_exists): Adjust to format2 going away. Don't misencode C-generated messages Also, be more consistent about calls to 'Fmessage' vs 'message'. * src/alloc.c (Fgc_status): Prefer AUTO_STRING to build_string for Fmessage call. * src/data.c (Fmake_variable_buffer_local) (Fmake_local_variable, Fmake_variable_frame_local): * src/doc.c (store_function_docstring): Use Fmessage, not message, since the argument can contain non-ASCII characters, and this can cause the resulting message to be incorrectly encoded for the current environment. * src/fns.c (maybe_resize_hash_table): * src/xselect.c (x_clipboard_manager_save_all): Use message, not Fmessage, since Fmessage's power isn't needed here. * src/process.c (Fmake_network_process): Reword message to avoid %s. * src/xdisp.c (vmessage): Document restrictions on message contents. (message_nolog) [false]: Remove unused code. Use \r rather than ^M in string literals This is less likely to cause problems on platforms that use CRLF (or CR!) termination for lines. Update .gitattributes to match current sources http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html * .gitattributes: Accommodate tests that insist on DOS format. Remove test/automated/data/decompress/foo-gzipped. Add etc/e/eterm-color. 2015-05-30 Eli Zaretskii * doc/emacs/mule.texi (Modifying Fontsets): Document face-ignored-fonts. (Bug#20628) Add etags test for the new -Q option * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to test-case changes below. * test/etags/ETAGS.good_6: New file. * test/etags/cp-src/x.cc: New file. * test/etags/Makefile (CPSRC): Add x.cc. (check): Add one more test, for -Q. 2015-05-30 Dmitry Gutov Use list for the tags completion table, not obarray * lisp/progmodes/etags.el (etags-tags-completion-table): Return a list instead of an obarray (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html). (tags-completion-table): Combine those lists. (tags-completion-table): Update the docstring. 2015-05-30 Eli Zaretskii Restore EOL format testing in etags * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to test-case changes below. * test/etags/html-src/algrthms.html: Convert back to DOS EOL format. * test/etags/cp-src/c.C (B): Add back stray CR character. * test/etags/c-src/dostorture.c: Add back. * test/etags/Makefile (CSRC): Add back c-src/dostorture.c. 2015-05-30 Vitaly Takmazov (tiny change) Declare Emacs on MS-Windows to be DPI-aware * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware. * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware. This avoids Windows entering compatibility mode for Emacs, which causes fonts to look less nice. 2015-05-30 Michael Albinus Improve Tramp traces * lisp/net/trampver.el (tramp-repository-get-version): New defun. * lisp/net/tramp.el (tramp-debug-message): Use it. 2015-05-30 Paul Eggert backup-buffer minor reworking of internals * lisp/files.el (backup-buffer): Rework to avoid a couple of unused locals inadvertently introduced in the previous change. backup-buffer now reports .emacs.d/%backup% ills * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup% fails due to disk space exhaustion or whatever, do not pretend that it succeeded. More generally, do a better job of checking for I/O failures, and limit the scope of the condition-case to just the operations where file errors should be caught and ignored (Bug#20595). Also, don't bother trying to delete later backups if an earlier deletion fails, as this is a sign of trouble and it's better to stop when there's trouble. copy-file now truncates output after writing * src/fileio.c (Fcopy_file): Truncate output after writing rather than before. This is more likely to work than truncation before writing, if the file system is out of space or the user is over disk quota (Bug#20595). Also, check for read errors. 2015-05-29 Artur Malabarba * lisp/emacs-lisp/package.el (package-load-all-descriptors): Don't load descriptors from directories above the package directories. 2015-05-29 Paul Eggert Merge from gnulib This incorporates the following (Bug#20681): 2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX 2015-05-29 acl-permissions: Fix build on Solaris and Cygwin * lib/set-permissions.c: Copy from gnulib. 2015-05-29 Michael Albinus Improve Tramp traces * lisp/net/tramp.el (tramp-call-process-region): New defun. * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it. 2015-05-29 Glenn Morris * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org. 2015-05-29 Wolfgang Jenkner * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area. The signature was changed in the cairo branch, merged on 2015-05-23. This oversight broke compiling only the non-toolkit X version. 2015-05-29 Samer Masterson * doc/lispref/os.texi: Update initial-buffer-choice docs. 2015-05-29 Glenn Morris * test/automated/vc-tests.el (vc-test-rcs04-checkout-model): Mark as an expected failure. 2015-05-29 Paul Eggert Change package test to look for curved quotes * test/automated/package-test.el (package-test-describe-package) (package-test-signed): Search for curved single quotes as well as for grave accent and apostrophe. 2015-05-28 Katsumi Yamaoka * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change. cf. 2015-05-28 Samer Masterson Show files when `initial-buffer-choice' is non-nil * lisp/startup.el (command-line-1): When Emacs is given a file as an argument and `initial-buffer-choice' is non-nil, display both the file and `initial-buffer-choice'. For more than one file, show `initial-buffer-choice' and *Buffer List*. Refactor display-changing commands out of the command line arg parser. (initial-buffer-choice): Clarify docstring. 2015-05-28 Eli Zaretskii Fix last commit * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back. (gnulib module qcopy-acl): Add back, as it is harmless. This minimizes differences wrt lib/gnulib.mk. Fix the MS-Windows build as followup to gnulib update * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and set-permissions.c, as they don't compile on MinGW. (gnulib module qcopy-acl): Remove, as it needs set-permissions.c. 2015-05-28 Paul Eggert Revert my change to gnus-art.el * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change. It wasn't that important, and it caused a Gnus build to fail. See: http://www.randomsample.de:4456/builders/emacs-devel/builds/734 New minor mode Electric Quote This lets you easily insert quotes ‘like this’ by typing quotes `like this', and similarly you can easily insert quotes “like this” by typing quotes ``like this'' (Bug#20545). * doc/emacs/basic.texi (Inserting Text): * doc/emacs/modes.texi (Minor Modes): * etc/NEWS: Document it. * doc/emacs/text.texi (Quotation Marks): New section. * lisp/electric.el (electric-quote-comment) (electric-quote-string, electric-quote-paragraph): New custom vars. (electric--insertable-p) (electric-quote-post-self-insert-function): New functions. (electric-quote-mode, electric-quote-local-mode): New minor modes. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add curved single quotes to electric-pair-text-pairs. Set electric-quote-string in this buffer. A few more doc string fixes (Bug#20385) Accept curved quotes in doc strings * lisp/info-look.el (info-lookup-guess-custom-symbol): (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc. Generate curved quotes in pseudo-info nodes * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, Info-apropos-find-node, info-apropos): Quote ‘like this’, not `like this', when generating pseudo-info nodes. Fix minor quoting problems in doc strings Most of these fixes involve escaping grave accents that are actually intended to be grave accents, not left quotes. (Bug#20385) Support curved quotes in doc strings Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on now-obsolete terminals where ` and ' were symmetric quotes, but nowadays curved quotes ‘like this’ look better. Support quoting the new way too. (Bug#20385) * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted ‘like-this’ as well as `like-this'. * etc/NEWS: Mention this. * lisp/cedet/mode-local.el (overload-docstring-extension) (mode-local-print-binding, mode-local-describe-bindings-2): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete): (help-fns--interactive-only, describe-function-1): (describe-variable): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (describe-input-method) (describe-language-environment): * lisp/international/mule-diag.el (describe-character-set) (print-coding-system-briefly, list-input-methods) (list-input-methods-1): Insert curved quotes rather than grave accent and apostrophe. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-proper-noun-region-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-fns.el (help-do-arg-highlight) (describe-function-1, describe-variable): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted ‘like-this’ as well as `like-this'. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add "‘" and "’" to electric-pair-text-pairs. (elisp--form-quoted-p): Also allow "‘" as a quoting char. (elisp-completion-at-point, elisp--preceding-sexp): Also treat "‘" and "’" as quoting chars. substitute-command-keys now curves quotes So, for example, it turns "`abc'" into "‘abc’" (Bug#20385). * doc/lispref/help.texi (Keys in Documentation): * etc/NEWS: Document this. * src/doc.c (Fsubstitute_command_keys): Implement it. 2015-05-28 Glenn Morris * lisp/mail/rmailsum.el (rmail-summary-by-recipients) (rmail-summary-by-topic, rmail-summary-by-senders): No longer strip leading/trailing whitespace. * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends". (f90-no-block-limit): Add "enum". (Bug#20680) * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b): New tests. 2015-05-27 Stefan Monnier * lisp/isearch.el (isearch--current-buffer): Give a default value. Un-revert changes mistakenly dropped by f9fabb2b. 2015-05-27 Paul Eggert Merge from gnulib This incorporates: 2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666) 2015-05-27 file-has-acl: Split feature tests again (Bug#20667) 2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE 2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+ 2015-05-26 inttypes: force correct mingw PRIdMAX even without 2015-05-26 stdio: fix probe on mingw under gcc 5.1 * admin/merge-gnulib (GNULIB_MODULES): Replace qacl with qcopy-acl, since we don't need the rest of qacl. * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h: * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c: * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4: Get latest versions from gnulib. * lib/get-permissions.c, lib/set-permissions.c: New files. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand. 2015-05-27 Dmitry Gutov * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old process here. (vc-do-command): Rather than here (bug#20608). 2015-05-27 Ivan Shmakov Avoid gratuitous delete-dups in face-at-point * lisp/faces.el (face-at-point): Do not compute the properly ordered, duplicate-free list if only a single value is requested anyway. (Bug#20519) Show the exact C-x 8 RET invocation in describe-char * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET invocation instead of a template. (Bug#20522) 2015-05-27 Artur Malabarba * lisp/emacs-lisp/package.el: Don't erase tags on refresh. (package-menu--post-refresh): Call `tabulated-list-print' with the UPDATE argument. This only affects the refresh action, the revert action still erases tags. (package-menu-get-status): Change `assq' to `assoc'. (package-menu--mark-upgrades-1): New function. (package-menu--mark-upgrades-pending): New variable. (package-menu-mark-upgrades): Use them to delay marking until after refresh is done. (package-menu--post-refresh): Call mark-upgrades-1 if mark-upgrades-pending is non-nil. 2015-05-27 Michael Albinus * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): Fix typo in "Improve tramp-handle-make-auto-save-file-name" (commit 3953c4be2816537be95520605d45b866dc731f4b). 2015-05-27 Stefan Monnier * lisp/isearch.el (isearch--current-buffer): New var. (isearch-update): Set cursor-sensor-inhibit here. (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532). Change inhibit-point-motion-hooks to t * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks to t and document it as obsolete. 2015-05-27 Eli Zaretskii Support ZIP files that use Zip64 extensions * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP format of central directory offsets used by Zip64 extensions. (Bug#20665) 2015-05-27 Michael Albinus New test tramp-test30-make-auto-save-file-name * test/automated/tramp-tests.el (tramp-test30-make-auto-save-file-name): New test. (tramp-test31-special-characters) (tramp-test31-special-characters-with-stat) (tramp-test31-special-characters-with-perl) (tramp-test31-special-characters-with-ls, tramp-test32-utf8) (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl) (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests) (tramp-test34-recursive-load, tramp-test35-unload): Rename. Improve tramp-handle-make-auto-save-file-name * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags. (tramp-handle-make-auto-save-file-name): Let native `make-auto-save-file-name' use `auto-save-file-name-transforms', if `tramp-auto-save-directory' is not set. 2015-05-27 Glenn Morris No longer set dired-directory in eshell. (Bug#16477) * lisp/eshell/esh-mode.el (eshell-mode): * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory. * lisp/mail/sendmail.el (mail-position-on-field): Doc fix. Make c-submit-bug-report file reports at debbugs.gnu.org. (Bug#15784) * lisp/progmodes/cc-mode.el (c-mode-help-address): Change to submit@debbugs. (c-mode-bug-package): New constant. (mail-position-on-field): Declare. (c-submit-bug-report): Insert X-Debbugs-Package header. * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports): Mention debbugs.gnu.org. 2015-05-26 Glenn Morris * lisp/mail/rmailsum.el: Commas no longer separate regexps. (Bug#19026) (rmail-summary-by-recipients, rmail-summary-by-topic) (rmail-summary-by-senders): No longer use mail-comma-list-regexp. * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change. 2015-05-26 Paul Eggert Handle curved quotes in info files * lisp/calc/calc-help.el (calc-describe-thing): * lisp/info.el (Info-find-index-name) (Info-try-follow-nearest-node, Info-fontify-node): * lisp/vc/ediff-help.el (ediff-help-for-quick-help): In info files, process quotes ‘like this’ the same way we process quotes `like this'. This catches a few places we missed earlier. 2015-05-26 Dmitry Gutov xref-prompt-for-identifier: Use a list value * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list value, to be interpreted as a list of commands. (xref--prompt-p): New function. (xref--read-identifier): Use it. 2015-05-26 Eli Zaretskii Teach MS-Windows font back-end return per-glyph ascent/descent * src/w32font.h (struct w32_metric_cache): Add ascent and descent values. * src/w32font.c (w32font_text_extents): Compute, cache, and accumulate per-glyph ascent and descent values, instead of copying global values from the font. If the values are not available from the font data, i.e., non-TTF fonts, fall back on font-global values. (compute_metrics): Compute and return per-glyph ascent and descent values, if returned by GetGlyphOutlineW, falling back on font-global values. (Bug#20628) * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and height of rectangle to be drawn, to be compatible with XDrawRectangle. Fixes glyphless-char display as hex codes in a box, when per-glyph ascent/descent values are used. 2015-05-26 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't sort if sorter is nil. 2015-05-26 Michael Albinus Fix Bug#20621 * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it. There are major modes which set `auto-save-mode' on their own rules; Tramp shall not overwrite such settings. 2015-05-26 Glenn Morris * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork. (desktop-load-file): Guess that "foobar" defines "foobar-mode". (desktop-buffer-mode-handlers, desktop-minor-mode-handlers): Doc updates. (vc-dir-mode): Remove unnecessary autoload. 2015-05-25 Philipp Stephani * lisp/term/xterm.el: Add gui-get-selection support via OSC-52. (xterm--extra-capabilities-type): Add `getSelection'. (xterm--query): Add `no-async' argument. (xterm--init-activate-get-selection): New function. (terminal-init-xterm): Use it. (xterm--init-modify-other-keys): Rename from terminal-init-xterm-modify-other-keys. (xterm--init-bracketed-paste-mode): Rename from terminal-init-xterm-bracketed-paste-mode. (xterm--init-activate-set-selection): Rename from terminal-init-xterm-activate-set-selection. (xterm--selection-char): New function. (gui-backend-set-selection): Use it. Use the &context to only apply this method in terminals where we enabled the feature. (gui-backend-get-selection): New method. 2015-05-25 Daniel Colascione * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language keyword constants to C++. 2015-05-25 Paul Eggert Make TAGS files more portable to MS-Windows * etc/NEWS: Document this. * lib-src/etags.c (readline_internal) [DOS_NT]: Don't treat CRs differently from GNUish hosts. * lisp/progmodes/etags.el (etags-goto-tag-location): Adjust STARTPOS to account for the skipped CRs in dos-style files. 2015-05-25 Michael Albinus Improve fix of bug#20634 in tramp-sh.el 2015-05-25 Eli Zaretskii Fix a typo in last commit * lib-src/etags.c (C_entries): Fix a typo. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to the change in etags.c. Fix tagging of class members in C-like OO languages * lib-src/etags.c (longopts): Add new option --class-qualify and its shorthand -Q. (print_help): Add help text for --class-qualify. (main): Add handling of -Q. (consider_token, C_entries) : Append argument types to Objective C methods only if --class-qualify was specified. Qualify C++, Objective C, and Java class members with their class names only if --class-qualify was specified. (C_entries): If --class-qualify was not specified, remove the namespace and class qualifiers from tag names of C++ methods. This allows to use etags.el as xref back-end without the tag-symbol-match-p method, which greatly increases the number of potentially false positives. (Bug#20629) * doc/man/etags.1: Update to document the new --class-qualify option. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to changes in etags.c. 2015-05-25 Stefan Monnier (cl-generic-define-method): Side effects are evil (bug#20644) * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse cons-cells that might be used as keys in an `equal' hash-table. 2015-05-25 Lars Magne Ingebrigtsen Make erc timestamps visible again * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make timestamps visible again (if requested). 2015-05-25 Eli Zaretskii Fix last change in etags.c that broke tagging compresed files * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix quoting of decompression shell command for MS-Windows/MS-DOS. 2015-05-25 Stefan Monnier * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist. (Bug#20639) 2015-05-25 Michael Albinus * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Fix typo in "Inhibit `epa-file-handler' in Tramp" (commit 89035e247591c8d688fce922b7079881aa110f33). 2015-05-25 Orivej Desh (tiny change) Fix IPv6 addresses in Tramp * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Add square brackets around host name. 2015-05-25 Michael Albinus Inhibit `epa-file-handler' in Tramp (Bug#20634) * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer) (tramp-sh-handle-insert-file-contents-literally): Inhibit also `epa-file-handler'. 2015-05-24 Stefan Monnier * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring. (pcase-let): Document the behavior in case the pattern doesn't match. 2015-05-24 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: New optional print method. (tabulated-list-print): New optional argument, UPDATE. If non-nil, the list is printed by only adding and deleting the changed entries, instead of erasing the whole buffer. This method is much faster when few or no entries have changed. * doc/lispref/modes.texi (Tabulated List Mode): Document it. * etc/NEWS: Document it. * lisp/emacs-lisp/tabulated-list.el: Improve printing. (tabulated-list--get-sorter): New function. (tabulated-list-print): Restore window-line when remember-pos is passed and optimize away the `nreverse'. 2015-05-24 Paul Eggert Simpilify etags TEX mode scanning * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp): Remove static vars. (TeX_commands): Deduce escapes here instead. (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed. This removes the need for a reset_input call. Improve etags I/O error reporting * lib-src/etags.c: Don't include sys/types.h and sys/stat.h; no longer needed. (infilename): New static var. (process_file_name): Don't call 'stat'. Instead, just open the file for reading and report any errors. Don't bother making a copy of the file argument; it's not needed. Be more careful to use the failing errno when reporting an error. Quote the real name better (though no perfectly) when passing it to the shell. (reset_input): New function, which reports I/O errors. All uses of 'rewind' changed to use this function. (perhaps_more_input): New function, which also checks for I/O errors. All uses of 'feof' changed to use this function. (analyze_regex): Report an error if fclose fails. (readline_internal): Report an error if getc fails. (etags_mktmp): Return an error if close fails. etags.c: avoid side effects in 'if' * lib-src/etags.c (process_file_name, Perl_functions) (TEX_decode_env): Hoist side effects into previous statement. .gitignore tweaks * .gitignore: Ignore all *.stamp files. Sort. Ignore [0-9]*.txt (commonly used name for git patches) and /vc-dwim-log-* (vc-dwim temporary). 2015-05-24 Eli Zaretskii Fix last change in etags.c, which failed the test suite * lib-src/etags.c (intoken): Add '$' to the set, as it was there before the last change. 2015-05-23 Glenn Morris Remove charset map files from repository, generate in first bootstrap * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New. (all): Create the stamp file. (extraclean): Delete the stamp file. * src/Makefile.in (lispintdir, charsets): New variables. (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}): New rules. (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets. * lisp/international/cp51932.el, lisp/international/eucjp-ms.el: * etc/charsets/*.map: Remove from repository. 2015-05-23 Paul Eggert Cleanup etags.c to use locale-independent code Although this doesn't alter behavior (as etags doesn't use setlocale), the new version is more clearly locale-independent and the executable is a bit smaller on my platform. * lib-src/etags.c: Include , for UCHAR_MAX. Include instead of . (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk) (begtk, midtk): Remove; no longer needed. (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove. All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit, c_islower, c_tolower, respectively. (notinname, begtoken, intoken, endtoken): Rewrite as functions instead of macros, and initialize the tables at compile-time rather than at run-time. Put default action first in src/Makefile * src/Makefile.in (all): Put this rule before lisp.mk. That way, plain 'make' works in the src directory again. 2015-05-23 Glenn Morris * Makefile.in: Fix extraclean rule. (extraclean_dirs): New. (extraclean): Use it. 2015-05-23 Eli Zaretskii Avoid compiler warning in image.c on MS-Windows * src/w32term.h (x_query_color): Add prototype, to avoid compiler warning in image.c. 2015-05-23 Glenn Morris Fix --without-toolkit-scroll-bars builds. * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Add new argument to x_clear_area1. (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]: Update x_clear_area arguments. * admin/charsets/glibc/: New directory, imported from glibc 2.21. * admin/charsets/Makefile.in (GLIBC_CHARMAPS): Change to included version. (LOCAL, local, totalclean): Remove. (extraclean): Delete all generated files. 2015-05-23 Stefan Monnier * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists. * lisp/progmodes/xref.el (xref-find-apropos): Use read-string. * lisp/progmodes/etags.el (tags-completion-at-point-function): Don't trust the find-tag function. 2015-05-23 Paul Eggert Pacify --enable-gcc-warnings * src/frame.h (x_query_color): Remove redundant extern decl. * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list) (ftcrfont_match, ftcrfont_open, ftcrfont_close) (ftcrfont_text_extents, ftcrfont_draw): * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end) (XTframe_up_to_date, x_clear_area1, x_clear_frame) (x_ins_del_lines, frame_highlight, frame_unhighlight) (x_new_focus_frame, x_focus_changed, XTframe_rehighlight) (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin) (x_update_window_begin, x_connection_closed) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window) (*x_gc_get_ext_data, x_extension_initialize) (x_cr_accumulate_data): Remove redundant static decl. Many of these GCC doesn't complain about, but we might as well clean out the duplication while we're in the neighborhood. * src/xterm.c (x_fill_trapezoid_for_relief): Remove decl of nonexistent function. 2015-05-23 Stefan Monnier Replace gui-method macros with cl-generic with &context * lisp/frame.el (gui-method--name, gui-method, gui-method-define) (gui-method-declare, gui-call): Remove. (frame-creation-function): Use cl-defgeneric. (make-frame): Adjust callers. * lisp/menu-bar.el (menu-bar-edit-menu): Use gui-backend-selection-exists-p. * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection. (gui-backend-get-selection): New cl-generic to replace gui-get-selection method. (gui-backend-set-selection): New cl-generic to replace gui-set-selection method. (gui-selection-owner-p): New cl-generic to replace gui-selection-owner-p method. (gui-backend-selection-exists-p): New cl-generic to replace gui-selection-exists-p method. Adjust all callers. * lisp/server.el (server-create-window-system-frame): Don't ignore window-system spec even when unsupported. * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions. * lisp/startup.el (handle-args-function, window-system-initialization): Use cl-defgeneric. (command-line): Adjust calls accordingly. * lisp/term/ns-win.el (ns-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/pc-win.el (w16-get-selection-value): Turn into a gui-backend-get-selection method. (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection): Use cl-defmethod on the new functions instead. (msdos-window-system-initialization): Turn into a window-system-initialization method. (frame-creation-function, handle-args-function): Use cl-defmethod. * lisp/term/w32-win.el (w32-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/x-win.el (x-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/xterm.el (xterm--set-selection): Turn into a gui-backend-set-selection method. * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'. (Fns_selection_owner_p): Remove unused arg `terminal'. (Fns_get_selection): Remove unused args `time_stamp' and `terminal'. 2015-05-23 Eli Zaretskii Revert "Fix etags Bug#20629 that broke C++ support" This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748. 2015-05-23 Jan D Fix etags Bug#20629 that broke C++ support * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): Revert commit from Sun May 10 (Bug#20629). Merge branch 'cairo'. Main work done by YAMAMOTO Mitsuharu . Small fixes and image work by Jan D. . Merge branch 'master' into cairo Fixes to compile cairo branch without cairo * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as first argument. * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with USE_CAIRO. 2015-05-23 Artur Malabarba * lisp/emacs-lisp/package.el: Always update selected-packages. (package--update-selected-packages): New function. (package-menu-execute): Use it before starting the transaction, this way the list of selected packages is updated even when the transaction fails. (package-menu--perform-transaction): Don't edit selected-packages. 2015-05-23 Eli Zaretskii Fix etags reading of compressed files * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define. Include fcntl.h, for O_CLOEXEC. (process_file_name): Don't use 'popen', whose streams cannot be rewound. Instead, uncompress the file to a temporary file, created by 'etags_mktmp', and read from that as usual. (etags_mktmp): New function. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: Update to be consistent with latest changes in etags.c regarding reading compressed files. Improve documentation of 'set-fontset-font' * doc/lispref/display.texi (Fontsets): Document the value of nil for the 3rd argument of 'set-fontset-font'. Fix documentation of forward-line * src/cmds.c (Fforward_line): Clarify the return value if the line at end of accessible portion of the buffer has no newline. * doc/lispref/positions.texi (Text Lines): Document what happens if the line at end of accessible portion of buffer has no newline. (Bug#20587) 2015-05-22 Glenn Morris * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases. * admin/charsets/mapconv (LC_ALL): Set to C. * Makefile.in: Add admin/charsets into top-level clean rules. (clean): Add admin/charsets. (maybeclean_dirs): New variable. (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs. * admin/charsets/Makefile.in (LOCAL, local): Fix members. 2015-05-22 Artur Malabarba * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc. 2015-05-22 Glenn Morris Generate admin/charsets Makefile via configure, and make more portable * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile. (admin/charsets/Makefile): Generate it. * admin/charsets/Makefile.in: Rename from Makefile. (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY): New variables, set by configure. (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_) (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0) (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932) (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables. (TRANS_TABLE, CHARSETS): Add directory prefix to value. (all): Declare PHONY. (local): New PHONY target. (map_template): New template. Use to define short PHONY aliases. (*.map): Add directory prefixes to targets and prerequisites. Respect make verbosity. (JISC6226.map): Replace non-portable sed append without newline. (install): Remove rule. (clean): Only delete temporary sedscript. (bootstrap-clean, distclean, maintainer-clean, extraclean) (totalclean): New PHONY rules. * admin/charsets/mapconv (BASE): Replace basename with expr. (FILE): Add "mapfiles" subdirectory. (AWK): New variable. Use throughout in place of "awk". (main): Use "gunzip -c" in place of "zcat". Don't leave whitespace before "p", for older sed. * admin/charsets/mapfiles/PTCP154: Add final newline, to make older sed versions happy. 2015-05-22 Stefan Monnier * lisp/autorevert.el: Use lexical-binding. Fix hook usage. (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p) (auto-revert-notify-watch-descriptor): Use defvar-local. (find-file-hook, auto-revert-tail-mode) (auto-revert-notify-add-watch): Use setq-local. (auto-revert-notify-add-watch): Don't call make-local-variable on kill-buffer-hook (bug#20601). 2015-05-21 Stefan Monnier Change defgeneric so it doesn't completely redefine the function * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away previously defined methods. (cl-generic-define-method): Let-bind purify-flag instead of using `fset'. (cl--generic-prefill-dispatchers): Only define during compilation. (cl-method-qualifiers): Remove redundant alias. (help-fns-short-filename): Silence byte-compiler. * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics. 2015-05-21 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-execute): Remove reference to remove-dups. 2015-05-21 kwhite * lisp/erc/erc.el: Hide network/channel messages. (erc-network-hide-list, erc-channel-hide-list): New lists to define message types per network/channel. (erc-add-targets): New function to parse list of targets. (erc-hide-current-message-p): Modify to check for new targets. 2015-05-21 Paul Eggert Don't quote nil and t in doc strings This is as per "Tips for Documentation Strings" in the elisp manual. For consistency, do the same in diagnostics and comments. 2015-05-21 Eli Zaretskii Fix a minor problem with mouse-face on mode line * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the mouse face also if the mouse pointer hovers above mode-line glyphs that don't come from any Lisp string. (Bug#20620) 2015-05-21 Artur Malabarba * lisp/emacs-lisp/package.el: Fix selected-package logic. (package-menu-execute): Mark as selected all non-upgrade packages being installed. (package-menu--perform-transaction): Don't mark anything. * lisp/emacs-lisp/package.el: Mode-line progress report. (package-menu--transaction-status): New variable. (package-menu-mode, package-menu--perform-transaction): Use it. * lisp/emacs-lisp/package.el: Better transaction messages. (package-menu--partition-transaction): New function. (package-menu--prompt-transaction-p, package-menu-execute): Use it. (package-menu--perform-transaction): Don't do any messaging. * lisp/emacs-lisp/package.el: Revert async package transactions. (package-menu-async): Update doc. (package-install-from-archive, package-download-transaction) (package-install, package-menu--perform-transaction) (package-menu-execute): Remove asynchronous functionality. 2015-05-21 Paul Eggert Revert doc string changes to f90.el Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start): Revert recent changes to doc strings, as it's intended that they use grave accent, not quote. 2015-05-20 Bozhidar Batsov * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): Improve parameter name. * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function. 2015-05-20 Paul Eggert Don't require help-fns when not needed * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el: * lisp/emacs-lisp/elint.el: Don't require help-fns at the top level * lisp/emacs-lisp/advice.el (ad-arglist): * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Don't require help-fns. (Bug#17001) 2015-05-20 Eli Zaretskii Fix slash collapsing in etags on MS-Windows * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the MS-Windows code from the Posix code, and support collapsing both forward- and back-slashes on MS-Windows. Fixes a regression found by the test suite. Improve documentation of glyphless-char-display * doc/lispref/display.texi (Glyphless Chars): Improve documentation of glyphless character display. Fix "acronym" display of glyphless characters on w32 * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't ignore "acronym" substitutes of 1 character for glyphless characters. 2015-05-20 Oleh Krehel Add an automated test for let-when-compile * test/automated/subr-tests.el (let-when-compile): New test. Add let-when-compile macro instead of using pcase-let * lisp/subr.el (let-when-compile): New let-like macro that makes its bindings known to macros like `eval-when-compile' in the body. * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a `let-when-compile'. Also comment out the unused lexical var `el-kws-re'. The change greatly improves readability, while providing almost the same (even shorter) byte code: instead of pre-evaluating 10 variables, tossing them into a list, and destructuring that list a full screen page later, the variables are simply bound as they are evaluated, wrapped individually in `eval-when-compile'. 2015-05-20 Artur Malabarba * lisp/emacs-lisp/package.el: "Delete" button in Help buffer. (package-delete-button-action): New function. (describe-package-1): Add Delete button. * lisp/emacs-lisp/package.el: Better dependency description. (package--used-elsewhere-p): New optional arg, ALL, and return package-desc objects instead of names. (package-delete): Update accordingly. (describe-package-1): Describe which packages require the package. 2015-05-20 Martin Rudalics Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533) * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame. Fix doc-string. Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472) * lisp/window.el (switch-to-buffer-in-dedicated-window): New option. (switch-to-buffer): If the selected window is strongly dedicated to its buffer, signal error before prompting for buffer name. Handle `switch-to-buffer-in-dedicated-window'. * doc/lispref/windows.texi (Switching Buffers): Document `switch-to-buffer-in-dedicated-window'. 2015-05-19 Paul Eggert Prefer "this" to “this” in doc strings This mostly just straightens quotes introduced in my previous patch. Suggested by Dmitry Gutov in: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el: * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el: * lisp/textmodes/artist.el, lisp/textmodes/rst.el: * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el: * lisp/vc/log-edit.el, lisp/xt-mouse.el: Prefer straight double quotes to curved double quotes in doc strings. Fix minor quoting problems in doc strings These were glitches regardless of how or whether we tackle the problem of grave accent in doc strings. * lisp/calc/calc-aent.el (math-restore-placeholders): * lisp/ido.el (ido-ignore-buffers, ido-ignore-files): * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"): * lisp/leim/quail/hebrew.el ("hebrew-new") ("hebrew-biblical-sil"): * lisp/leim/quail/thai.el ("thai-kesmanee"): * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars): Used curved quotes to avoid ambiguities like ‘`''’ in doc strings. * lisp/calendar/calendar.el (calendar-month-abbrev-array): * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn): * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass): * lisp/cedet/semantic/tag.el (semantic-tag-copy) (semantic-tag-components): * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp): * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp): * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): * lisp/emacs-lisp/generator.el (iter-next): * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers) (gnus-article-mode-syntax-table): * lisp/net/rlogin.el (rlogin-directory-tracking-mode): * lisp/net/soap-client.el (soap-wsdl-get): * lisp/net/telnet.el (telnet-mode): * lisp/org/org-compat.el (org-number-sequence): * lisp/org/org.el (org-remove-highlights-with-change) (org-structure-template-alist): * lisp/org/ox-html.el (org-html-link-org-files-as-html): * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt) (handwrite-12pt, handwrite-13pt): * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start): * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev): * lisp/progmodes/verilog-mode.el (verilog-tool) (verilog-string-replace-matches, verilog-preprocess) (verilog-auto-insert-lisp, verilog-auto-insert-last): * lisp/textmodes/makeinfo.el (makeinfo-options): * src/font.c (Ffont_spec): Fix minor quoting problems in doc strings, e.g., missing quote, ``x'' where `x' was meant, etc. * lisp/erc/erc-backend.el (erc-process-sentinel-2): Fix minor quoting problem in other string. * lisp/leim/quail/ethiopic.el ("ethiopic"): * lisp/term/tvi970.el (tvi970-set-keypad-mode): Omit unnecessary quotes. * lisp/faces.el (set-face-attribute, set-face-underline) (set-face-inverse-video, x-create-frame-with-faces): * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl): * lisp/mail/supercite.el (sc-attribs-%@-addresses) (sc-attribs-!-addresses, sc-attribs-<>-addresses): * lisp/net/tramp.el (tramp-methods): * lisp/recentf.el (recentf-show-file-shortcuts-flag): * lisp/textmodes/artist.el (artist-ellipse-right-char) (artist-ellipse-left-char, artist-vaporize-fuzziness) (artist-spray-chars, artist-mode, artist-replace-string) (artist-put-pixel, artist-text-see-thru): * lisp/vc/ediff-util.el (ediff-submit-report): * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs): Use double-quotes rather than TeX markup in doc strings. * lisp/skeleton.el (skeleton-pair-insert-maybe): Reword to avoid the need for grave accent and apostrophe. * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence): Don't use grave and acute accents to quote. 2015-05-19 Stefan Monnier * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler. 2015-05-19 Paul Eggert Try to port new etags tests to MS-Windows * test/etags/CTAGS.good, test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5: Adjust to test-case changes below. * test/etags/Makefile (CSRC): Remove dostorture.c. Whatever it was trying to test, wasn't working portably. (LC_ALL): Remove. Apparently there wasn't an encoding problem, just a line-ending problem. * test/etags/c-src/dostorture.c: Remove. * test/etags/cp-src/c.C: Remove stray CR. * test/etags/html-src/algrthms.html: Remove trailing CRs. State UTF-8 as the encoding. The file is ASCII so it doesn't matter, but if someone edits it later it should stay UTF-8-compatible. 2015-05-19 Eli Zaretskii Fix display of overlapping window-specific overlays * src/keyboard.c (adjust_point_for_property): When adjusting point due to display strings, ignore overlays that are specific to windows other than the currently selected one. * src/xdisp.c (handle_single_display_spec): If the display property comes from an overlay, arrange for buffer iteration to resume only after the end of that overlay. (Bug#20607) 2015-05-19 Dmitry Gutov New command icomplete-force-complete-and-exit * lisp/icomplete.el (icomplete-force-complete-and-exit): New command (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html) (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html). (icomplete-minibuffer-map): Bind C-j to it. (icomplete-forward-completions, icomplete-backward-completions): Mention the new command in the docstring. * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert the previous fix for bug#17545. 2015-05-19 Martin Rudalics Fix last commit In Elisp manual explain how to override window manager positioning (Bug#20552) * doc/lispref/frames.texi (Position Parameters): Give example of how to override a window manager positioning decision. Clarify concept of "surrogate minibuffer frames" (Bug#20538) * src/frame.c (Fdelete_frame): In doc-string mention that frame can't be deleted if it has a surrogate minibuffer. * doc/lispref/frames.texi (Minibuffers and Frames) (Deleting Frames): Explain "surrogate minibuffer frames". * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB. 2015-05-18 Glenn Morris Add option to ignore commit lines matching a pattern in ChangeLog * build-aux/gitlog-to-changelog: Add --ignore-line option. * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '. 2015-05-18 Paul Eggert Don't skip new etags tests on non-UTF-8 hosts Problem reported by Eli Zaretskii for MS-Windows. * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove. (LC_ALL): Set to C if the current locale isn't UTF-8. (.PHONY): Remove ediff_1 thru ediff_5. (check): Always run. 2015-05-18 Glenn Morris * lisp/calculator.el (calculator-funcall): * lisp/textmodes/artist.el (artist-spray-random-points): Use standard degree/radian conversion utilities. Further lisp-complete-symbol related cleanup. * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Unadvertise non-functional argument. Replace obsolete alias. 2015-05-18 Dmitry Gutov Add a test case for Maven warning ouput * test/automated/compile-tests.el (compile-tests--test-regexps-data): Add a case for Maven warning ouput. (compile--test-error-line): Check the compilation message type, if it's specified in the test data. 2015-05-18 Paul Pogonyshev Update Maven compilation-mode entry to distinguish warnings * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Update Maven entry to distinguish warnings (bug#20556). 2015-05-18 Przemysław Wojnowski * test/automated/sgml-mode-tests.el: New file. 2015-05-18 Dmitry Gutov Improve handling of the first Git revision * lisp/vc/log-view.el (log-view-toggle-entry-display): When there's no next entry, delete until the end of the buffer. (log-view-end-of-defun-1): Stop at eob. * lisp/vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): Don't give up when previous-revision is nil. * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments with `--' to avoid ambiguity. (vc-git-annotate-extract-revision-at-line): Exclude `^' from the returned revision string. (vc-git-annotate-time): Expect `^' before the first revision. * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if REV1 is nil, and REV2 is not. * lisp/vc/vc.el: Update the description of the `diff' function. 2015-05-18 Oleh Krehel Allow checkdoc to be called in batch * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive' is non-nil, echo the error with `warn'. How it can be used in -batch: (with-current-buffer (find-file "checkdoc.el") (checkdoc-current-buffer t)) 2015-05-18 Glenn Morris * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi. 2015-05-17 Paul Eggert * admin/notes/unicode: New section "binary files". Change new etags test to use UTF-8 encoding * test/etags/CTAGS.good, test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5: * test/etags/html-src/index.shtml, test/etags/html-src/software.html: * test/etags/html-src/softwarelibero.html: Switch to UTF-8 encoding. * test/etags/Makefile (SRCS): Adjust to switch to UTF-8. Remove Makefile, as it's too incestuous to have the test input include the build procedure. (UTF8_LOCALE, UTF_ENCODING): New macros. (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8. (check): Skip if not UTF-8. (.PHONY): New rule. (FRC): Remove, as superseded by .PHONY. All uses removed. (regexfile): Prefer printf to echo when outputting oddball chars. (.PRECIOUS): Remove, as these files are not built. Rename 'foo-gzipped' to 'foo.gz' * test/automated/data/decompress/foo.gz: Rename from test/automated/data/decompress/foo-gzipped, to make it easier for other tools to tell that it's compressed. * test/automated/zlib-tests.el (zlib--decompress): Adjust to renamed file. 2015-05-17 Dmitry Gutov Set up default-directory * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate binding for `v'. (vc-annotate-show-changeset-diff-revision-at-line): Set up an appropriate value for default-directory. 2015-05-17 Samer Masterson * lisp/eshell/em-term.el (eshell-term-sentinel): No-op by default, only kills term buffer if `eshell-destroy-buffer-when-process-dies' is non-nil. (Bug#18108) (eshell-destroy-buffer-when-process-dies): New custom to preserve previous behavior. eshell: Introduce new buffer syntax The new buffer syntax '#' is equivalent to '#'. Remove `eshell-buffer-shorthand', as it is no longer needed (Bug#19319). * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove. (eshell-get-target): Remove shorthand-specific code. * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse '#'. 2015-05-17 Jan D Merge branch 'master' into cairo 2015-04-26 Jan D Merge branch 'master' into cairo Add PBM support for cairo * src/image.c (xcolor_to_argb32): New function. (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32. (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use XImagePtr if ! USE_CAIRO. (pbm_load): Add cairo support. 2015-04-12 Jan D * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw. (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert) (x_free_frame_resources): Rename x_prepare_for_xlibdraw to x_free_cr_resources. Handle specified bg in images. Use generic libpng code for PNGs. * src/image.c (get_spec_bg_or_alpha_as_argb) (create_cairo_image_surface): New functions when USE_CAIRO. (xpm_load): Call the above functions. Handle XPM without mask when USE_CAIRO. (png_load_body): Handle USE_CAIRO case. (png_load): Remove USE_CAIRO specific fuction, modify png_load_body instead. (jpeg_load_body): Call create_cairo_image_surface. (gif_load, svg_load_image): Handle specified background, call create_cairo_image_surface. * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO. 2015-04-11 Jan D Support GIF and TIFF with cairo * configure.ac: Allow jpeg with cairo. Allow tiff and gif with cairo. * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO. (tiff_load): Create cairo image surface if USE_CAIRO. (gif_load): Ditto. Support JPEG with USE_CAIRO * configure.ac: Allow jpeg with cairo. * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO. 2015-04-05 Jan D Support RSVG and cairo * configure.ac: Allow rsvg with cairo. Move back HAVE_RSVG. * src/dispextern.h (struct image): Add cr_data2 if cairo. * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO. (x_clear_image): Free cr_data and cr_data2 if set. (xpm_load): Assign data to cr_data2. (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32. 2015-04-03 Jan D Introduce limited Xpm support (32 bit ZPixmap) for Cairo * configure.ac (HAVE_RSVG): Move after cairo. (USE_CAIRO): Disable rsvg, don't disable Xpm. * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO. (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and don't return early. (ALLOC_XPM_COLORS): Don't define when USE_CAIRO. (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32 and create a surface. Tool tips for menus did not show any text. * src/xterm.c (x_update_begin): Don't create any surface for non-visible tip frames, the geometry may be wrong. Merge branch 'master' into cairo, fixes tooltips not shown. Merge branch 'master' into cairo Add CAIRO_CFLAGS to lwlib/Makefile.in * Makefile.in (CAIRO_CFLAGS): Add. 2015-02-19 YAMAMOTO Mitsuharu * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen. 2015-02-16 YAMAMOTO Mitsuharu Draw outermost line using black relief and erase corners also for cairo. * src/xterm.c [USE_CAIRO]: Include math.h. (enum corners) [USE_CAIRO]: New enum. (x_erase_corners_for_relief) [USE_CAIRO]: New function. (x_draw_relief_rect) [USE_CAIRO]: Use it. If box width is larger than 1, draw the outermost line using the black relief. * src/xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path. 2015-02-15 YAMAMOTO Mitsuharu * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping. * src/xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask. Use int instead of unsigned int for width and height args. * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle) (x_fill_trapezoid_for_relief): Use int instead of unsigned int for width and height args. Modernize k&r cairo-related function declarations. * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page) (xg_print_frames_dialog): Modernize k&r declarations. * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup) (Fx_print_frames_dialog): Modernize k&r declarations. * src/xterm.c (x_gc_get_ext_data, x_extension_initialize) (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground) (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap) (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data) (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief) (x_clear_area): Modernize k&r declarations. Implement wave-style variant of underlining for cairo. * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function. (x_draw_underwave) [USE_CAIRO]: Use it. * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle. 2015-02-13 YAMAMOTO Mitsuharu Fix fringe bitmap initialization for cairo * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for cairo image surface. * src/xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty. 2015-02-11 Jan D Add cairo drawing * configure.ac (with-cairo): New option. (USE_CAIRO): Default to yes for Gtk+ 3. Add code to test for cairo, set CAIRO_CFLAGS, CAIRO_LIBS. Add ftcrfonto to FONT_OBJ if cairo. Output "Does Emacs use cairo?". * lisp/version.el (emacs-version): Add cairo version. * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables. (FONT_OBJ): Add comment about ftcrfont. (ALL_CFLAGS): Add CAIRO_CFLAGS. (LIBES): Add CAIRO_LIBS. * src/dispextern.h (struct image): Add cr_data for cairo. (x_cr_init_fringe): Declare. * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo. * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare * src/fringe.c (x_cr_init_fringe): New function name that shares code with w32_init_fringe. * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver. * src/ftfont.c (ftfont_info_size); New global variable. (ftfont_open2): New extern function almost the same as old ftfont_open, but takes the font_object as argument. (ftfont_open): Build font object and call ftfont_open2. * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare. * src/gtkutil.c (xg_clear_under_internal_border) (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only queue_draw if not cairo. Change args to x_clear_area. (xg_get_font): Use Qftcr when using cairo, Qxft otherwise. (xg_page_setup_dialog, xg_get_page_setup, draw_page) (xg_print_frames_dialog): New functions for printing. * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup) (xg_print_frames_dialog): Declare. * src/image.c: Add defined (USE_CAIRO) for PNG. Add !defined USE_CAIRO for W32 PNG code. (x_clear_image): If cairo, destroy the surface in cr_data. (png_load): Add new cairo compatible implementation. (lookup_image_type): Add defined (USE_CAIRO) for define png_type. * src/xfns.c: New section Printing. (x-export-frames, x-page-setup-dialog, x-get-page-setup) (x-print-frames-dialog): New printing functions. (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo. (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin, Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape). (syms_of_xfns): Provide cairo and defvar cairo-version-string. defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog. * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window) (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data): Declare. (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros. (max_fringe_bmp, fringe_bmp): New variables. (x_gc_get_ext_data, x_extension_initialize) (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip) (x_set_cr_source_with_gc_foreground) (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap) (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame) (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames) (x_prepare_for_xlibdraw, x_set_clip_rectangles) (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle) (x_clear_window, x_fill_trapezoid_for_relief): New functions. (x_update_begin): Create cairo surface if needed. (x_draw_vertical_window_border): Call x_fill_rectangle for cairo. (x_update_end): Paint cairo drawing surface to xlib surface. (x_clear_under_internal_border, x_after_update_window_line): Adjust arguments to x_clear_area. (x_draw_fringe_bitmap): Call x_fill_rectangle. Get GC values and call x_cr_draw_image for cairo. Call x_reset_clip_rectangles instead of XSetClipMask. (x_set_glyph_string_clipping) (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles instead of XSetClipRectangles. (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use x_fill_rectangle instead of XFillRectangle. (x_draw_glyph_string_foreground) (x_draw_composite_glyph_string_foreground) (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead of XDrawRectangle. (x_draw_relief_rect): Add code for USE_CAIRO. Call x_reset_clip_rectangles instead of XSetClipMask. (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles, x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_draw_image_foreground, x_draw_image_foreground_1): x_draw_rectangle instead of XDrawRectangle. (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of XFillRectangle. (x_draw_image_glyph_string): If img has cr_data, use it as a cairo surface. (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of XSetClipRectangles, x_fill_rectangle instead of XFillRectangle. (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle., x_reset_clip_rectangles instead of XSetClipMask. (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw. (x_clear_area1): New function that calls XClearArea. (x_clear_area): Takes frame as parameter, calls x_clear_area1 for non-cairo. (x_clear_frame): x_clear_window instead of XClearWindow. (x_scroll_run): Set frame garbaged if cairo. (XTmouse_position): Initialize *part to 0. (x_scroll_bar_create): Adjust arguments to x_clear_area. (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area, x_fill_rectangle instead of XFillRectangle. (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust arguments to x_clear_area. (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle. (handle_one_xevent): Adjust arguments to x_clear_area. Destroy cairo surface for frame if ConfigureNotify. (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles. (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_clear_frame_area): Adjust arguments to x_clear_area. (x_free_frame_resources): Call x_prepare_for_xlibdraw. (x_term_init): Call x_extension_initialize if cairo. (x_redisplay_interface): Add x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap for cairo. (x_initialize): Call x_cr_init_fringe for cairo. * src/xterm.h: Add include of cairo header files. (x_bitmap_record): Add img if cairo. (x_gc_ext_data): New struct for cairo. (x_display_info): Add ext_codes for cairo. (x_output): Add cr_context and cr_surface for cairo. (x_clear_area): Change arguments from Display*/Window to frame pointer. (x_query_color, x_begin_cr_clip, x_end_cr_clip) (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background) (x_cr_draw_frame, x_cr_export_frames): Declare. 2015-05-17 Johan Bockgård Fix integer-valued `mouse-highlight' (Bug#20590) * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope. 2015-05-17 Eli Zaretskii MS-Windows followup for ASCIIfication of curved quotes * lisp/term/w32console.el (terminal-init-w32console): Repeat the test for curved quotes being displayable, after switching the terminal encoding. (Bug#20545) 2015-05-17 Jan D Add comment that x_shift_glyphs_for_insert is never called * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add comment that this function is never called. 2015-05-16 Glenn Morris * src/lisp.mk: Remove from repository and generate at build-time. * src/Makefile.in (lisp.mk): New rule to generate from loadup.el. (shortlisp_filter): New variable. (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk. (distclean): Remove lisp.mk. * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk. * lisp/loadup.el: Tweak layout to make it easier to parse. * make-dist: Do not distribute src/lisp.mk. 2015-05-16 Dmitry Gutov Display shorter dates in Git annotate output * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date format (when not overridden with vc-git-annotate-switches). (vc-git-annotate-time): Support the short format, as well as ISO 8601 that has been used until now (bug#5428). 2015-05-16 Paul Eggert ASCIIfy curved quotes on displays lacking them * lisp/international/mule-cmds.el (set-locale-environment): If curved quotes don't work, display straight ASCII approximations (Bug#20545). 2015-05-16 Glenn Morris Small src/Makefile simplification * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix. * src/Makefile.in (lisp): Derive from shortlisp. ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk. 2015-05-16 Eli Zaretskii * lisp/help-mode.el (help-go-forward): Doc fix. (Bug#20577) * doc/lispref/debugging.texi (Profiling): Improve indexing. (Bug#20576) 2015-05-16 Dmitry Gutov * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to have one fewer `not'. * lisp/vc/vc-git.el (vc-git-diff-switches) (vc-git-annotate-switches, vc-git-resolve-conflicts) (vc-git-program, vc-git-root-log-format): Remove the redundant :group declarations. 2015-05-16 Nicolas Petton Removes the predicate from lisp-complete-symbol (Bug#20456) * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate and remove it from the docstring. 2015-05-16 Dmitry Gutov Add new option vc-git-resolve-conflicts * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable. (vc-git-find-file-hook): Add to after-save-hook only when the above is non-nil. (vc-git-resolve-when-done): Update to honor the new variable. (Bug#20292) 2015-05-16 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string. (tabulated-list-init-header): Document new behavior. (tabulated-list-print-fake-header): Do nothing if `tabulated-list--header-string' is nil. (tabulated-list--header-string): Add a docstring. * doc/lispref/modes.texi (Tabulated List Mode): Document it. * etc/NEWS: Document it. 2015-05-15 Leo Liu Revert "Fix cps--gensym" * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14. 2015-05-15 Glenn Morris Replace AC_SUBST_FILE in configure with include in Makefiles * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag) (oldxmenu_deps_frag, lisp_frag): Remove output variables/files. (AUTO_DEPEND): New output variable. * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (lwlib_deps_frag): Replace by conditional include. * lwlib/autodeps.mk: Remove file. * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (oldxmenu_deps_frag): Replace by conditional include. * oldXMenu/autodeps.mk: Remove file. * src/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (lisp_frag): Replace by an include. (deps_frag): Replace by conditional include. * src/autodeps.mk: Remove file. Tweak japanese.el's loading of dependencies * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms. * lisp/language/japanese.el: Use require rather than load. * lisp/international/cp51932.el, lisp/international/eucjp-ms.el: Provide a feature. * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk: Provide a feature in the generated file. 2015-05-15 Jan D Fix NS warnings * src/nsmenu.m (ns_popup_dialog) * src/nsimage.m (initFromXBM:width:height:fg:bg:) * src/nsfns.m (Fx_create_frame): Remove unused variables. (Fns_read_file_name): Initialize fname, remove ret. * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch. (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused variable. (init): Add parantesis in if. (ns_create_terminal): Assign set_horizontal_scroll_bar_hook. 2015-05-15 Jan Djärv Fix a enum conversion warning in macfont.m * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection. (MAC_CHARACTER_COLLECTION_*): Use the NS variants. 2015-05-15 Eli Zaretskii * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary): Support Aspell dictionaries with names like "de-alt". (Bug#20581) 2015-05-15 Jan Djärv * lisp/cus-start.el: Add ns-confirm-quit. Fix warnings on OSX 10.10 * src/nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions. (Fns_read_file_name): Check against MODAL_OK_RESPONSE. (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7 * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:) * src/nsimage.m (allocInitFromFile, setPixmapData): Only call setScalesWhenResized for OSX < 10.6. * src/nsterm.h (EmacsScroller): Declare scrollerWidth. * src/nsterm.m (ns_copy_bits): New function that does not use deprecated NSCopyBits. (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits. (runAlertPanel): New function. (applicationShouldTerminate:): Call runAlertPanel. (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing for OSX < 10.10. (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10. (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int. (draggingEntered:): Returns NSDragOperation. (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7. 2015-05-15 Artur Malabarba * lisp/emacs-lisp/package.el: Don't ensure-init during startup. (package--init-file-ensured): New variable. (package-initialize, package--ensure-init-file): Use it. 2015-05-15 Jan Djärv Honor :fore/background for XBM on NS (Bug#14969) * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM, initFromXBM takes bg, fg args, remove flip arg. (ns_image_from_XBM): Add bg, fg args. * src/image.c (x_create_bitmap_from_data) (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args. * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM. Remove flip arg. (initFromSkipXBM): Move code to initFromXBM. (initFromXBM): Actually set fg and bg, instead of playing alpha games. Use fg, bg from args (Bug#14969). Remove if (length) section, was always false. Remove bit flipping (bitPat, swt), generated incorrect images when width/height wasn't a multiple of 8. (setXBMColor:): Modify planes by comparing to saved xbm_fg. * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove flip arg. 2015-05-15 Artur Malabarba * lisp/emacs-lisp/package.el: Be more careful with the init file. (package--ensure-init-file): Check that user-init-file is set, exists, is readable, and is writable. (Bug#20584) Also expand the docstring. 2015-05-14 Wilson Snyder Sync with upstream verilog-mode revision 6232468 * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face) (verilog-highlight-grouping-keywords): Fix use of face when `verilog-highlight-grouping-keywords' set. Reported by Jeff Pompa. (verilog-auto-reset): Fix AUTORESET to ignore member resets if parent is reset, bug906. Reported by Ken Schmidt. (verilog-auto-inout-module): Add fourth regexp argument to AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856. Reported by John Tillema. (verilog-auto-inst-port): Fix AUTOINST interfaces to not show modport if signal attachment is itself a modport. Reported by Matthew Lovell. (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with always_comb and always_latch, bug844. Reported by Greg Hilton. (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging with many curly-bracket pairs, bug663. (verilog-set-auto-endcomments): Fix end comments for functions of type void, etc. Reported by Alex Reed. (verilog-do-indent): Fix electric tab deleting form-feeds. Note caused by indent-line-to deleting tabls pre 24.5. (verilog-nameable-item-re): Fix nameable items that can have an end-identifier to include endchecker, endgroup, endprogram, endproperty, and endsequence. Reported by Alex Reed. (verilog-label-be): When auto-commenting a buffer, consider auto-comments on all known keywords (not just a subset thereof). Reported by Alex Reed. (verilog-auto-end-comment-lines-re) (verilog-end-block-ordered-re, verilog-set-auto-endcomments): Automatically comment property/endproperty blocks to match other similar blocks like sequence/endsequence, function/endfunction, etc. Reported by Alex Reed. (verilog-set-auto-endcomments): Detect the function- or task-name when auto-commenting blocks that lack an explicit portlist. Reported by Alex Reed. (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to allow post-AUTO user fixups, bug826. Reported by Dennis Muhlestein. (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if' is nil, fix indenting initial/final to match always statements, bug825. Reported by Tim Clapp. (verilog-extended-complete-re): Fix indentation of DPI-C imports with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong Mao and Jason Forkey. (verilog-read-decls): Fix parsing typed interfaces. Fix AUTOINOUTMODPORT missing types. Reported by Stephan Bourduas. Fix localparam not being ignored in AUTOINSTPARAM, bug889. Reported by Shannon Hill. (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY, bug793. Reported by Pierre-David Pfister. (verilog-auto-arg-format, verilog-auto-arg-ports): Add verilog-auto-arg-format to support newlines in AUTOARG. Reported by Jie Xiao. (verilog-batch-execute-func): Do not batch re-auto files loaded by Local Variables. Fix printing "no changes to be saved" with verilog-batch. Reported by Dan Dever. (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting interface-only modules, bug721. Reported by Dean Hoyt. Author: Alex Reed * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't treat ':' as the start of a labeled statement, bug905. Reported by Enzo Chi. (verilog-directive-re, verilog-compiler-directives) (verilog-keywords): Match full set of IEEE 2012-1800 compiler directives (plus some extras) when determining indentation, bug 901. Reported by Bernd Beuster. (verilog-at-constraint-p): Fix indentation of coverpoint bins if iff expression doesn't start with word-character, bug900. (verilog-optional-signed-range-re, verilog-optional-signed-re): Fix incorrect indentation/alignment of unsigned declarations, bug897. (verilog-looking-back, verilog-in-attribute-p): Fix labeling of always constructs, bug895. (verilog-calc-1): Fix verilog-mode constraint indentation, bug324. Reported by Eric Mastromarchi. (verilog-beg-of-statement): Fix indenting for some forms of constraintsm bug433. Reported by Brad Parker. Fix indentation of continued assignment incorrect if first line ends with ']', bug437. Reported by Dan Dever. Fix indention of cover inside an ifdef, bug 862. Reported by Bernd Beuster. Fix labeling do-while blocks, bug842. (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859. Reported by Kaushal Modi. (verilog-set-auto-endcomments): Fix endlabel end comments, bug888. (verilog-backward-token): Fix indenting sensitivity lists with named events, bug840. Reed. (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if' nil not honoring 'forever', 'foreach', and 'do' keywords. 2015-05-14 Paul Eggert Check for invalid GTK+ monitor scales * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales, INT_MAX for too-large scales. All callers changed to assume the result is valid (Bug#20432). (xg_frame_set_char_size, xg_update_scrollbar_pos): Calculate scale only if needed. Show ASCII approximations instead. 2015-05-14 Eli Zaretskii Fix daemon crashes when linum-mode is turned on early on * src/window.c (Fwindow_end): Don't try calling display engine functions on initial-frame frame. (Bug#20565) Fix selective diff browsing in Ediff * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the beginning of the region before searching for the ediff-regexp-focus-* regexps. (Bug#20568) 2015-05-14 Jan D Fixes bug#20142 * src/gtkutil.c (delete_cb): Don't send delete event here, it does arrive in the main loop, even for Gtk 3 (Bug#20142). Don't access display after i/o error (Bug#19147). * src/xterm.c (x_connection_closed): Add third arg ioerror. If ioerror, set display to 0 (Bug#19147). (x_error_quitter): Call x_connection_closed with third arg false. (x_io_error_quitter): Call x_connection_closed with third arg true. Handle GTK_SCALE, fixes Bug#20432. * src/gtkutil.c (xg_get_gdk_scale): New function. (xg_frame_set_char_size) (x_wm_set_size_hint, xg_get_default_scrollbar_width) (xg_get_default_scrollbar_height) (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account when setting sizes (Bug#20432). 2015-05-13 Leo Liu * lisp/emacs-lisp/generator.el (cps--gensym): Fix. 2015-05-13 Glenn Morris Fix bootstrap (void function cl-member). * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file. * lisp/emacs-lisp/cl-seq.el: Provide a feature. 2015-05-13 Stefan Monnier * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc. * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Avoid defalias for closures which are not immutable. (cl--generic-prefill-dispatchers): New macro. Use it to prefill the dispatchers table with various entries. * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook): * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook. 2015-05-13 Eli Zaretskii Improve tagging of C bindings in DEFVAR_* * src/Makefile.in (TAGS): Add --regex options to tag the C binding from DEFVAR_*. 2015-05-13 Paul Eggert * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548). 2015-05-12 Glenn Morris * lisp/progmodes/tcl.el (tcl-filter): Handle comint-prompt-read-only like gud.el does. (Bug#20549) Add basic VC push support * lisp/vc/vc.el (vc-push): New autoloaded command. * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push. * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull. (vc-bzr-pull): Reimplement using vc-bzr--pushpull. (vc-bzr-push): New. * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull. (vc-git-pull): Reimplement using vc-git--pushpull. (vc-git-push): New. * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull. (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull. * doc/emacs/maintaining.texi (Pulling / Pushing): Rename from "VC Pull". Mention pushing. (VC With A Merging VCS, VC Change Log): Update xrefs. (Branches): Update menu. * doc/emacs/emacs.texi: Update menu. * etc/NEWS: Mention this. 2015-05-12 Nicolas Petton Improve the seq pcase pattern and the `seq-let' macro * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the object is a sequence, and binds each element of ARGS to the corresponding element of the sequence. 2015-05-12 Eli Zaretskii Fix tags created from DEFVAR_* declarations in C * src/Makefile.in (TAGS): Improve the --regex argument to etags, to make tags extracted from DEFVAR_* declarations more accurate. Add a test suite for etags * test/etags/: New test suite, adapted from http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2, whose original author is Francesco Potortì . Fix tagging of symbols in C enumerations * lib-src/etags.c (consider_token): Don't tag symbols in expressions that assign values to enum constants. See http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html for details. (C_entries): Reset fvdef to fvnone after processing a preprocessor conditional and after a comma outside of parentheses. 2015-05-12 Glenn Morris * lisp/url/url-handlers.el (url-file-name-completion) (url-file-name-all-completions): Silence compiler. * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias. * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time. (Bug#20554) 2015-05-12 Stefan Monnier * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments (cl--generic-mandatory-args): Remove. (cl--generic-split-args): New function. (cl-generic-define, cl--generic-lambda): Use it. (cl-generic-define-method): Use it as well, and add support for context args. (cl--generic-get-dispatcher): Handle &context dispatch. (cl--generic-cache-miss): `dispatch-arg' can now be a context expression. (cl--generic-dispatchers): Pre-fill. * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test. 2015-05-11 Glenn Morris * make-dist: Abort if "make ChangeLog" fails. Add "--no-changelog". 2015-05-11 Stefan Monnier * lisp/term/xterm.el: Fix xterm-paste handling for rxvt * lisp/term/rxvt.el: Require term/xterm. (rxvt-function-map): Use xterm-rxvt-function-map. (rxvt-standard-colors): Move before first use. (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors. (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove. * lisp/term/xterm.el (xterm-rxvt-function-map): New var. Move shared bindings between rxvt and xterm to it. (xterm-function-map): Use it. Move the xterm-paste binding to xterm-rxvt-function-map (bug#20444). (xterm-standard-colors): Move before first use. (xterm--push-map): New function. (xterm-register-default-colors): Take standard colors as argument. (terminal-init-xterm): Use it. Adjust call to xterm-register-default-colors. 2015-05-11 Glenn Morris * lisp/term/x-win.el: Quieten --without-x compilation. (x-own-selection-internal, x-disown-selection-internal) (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal): Declare. * Makefile.in (emacslog): Remove srcdir. (ChangeLog): Update for the above. 2015-05-10 Fabián Ezequiel Gallina python.el: better limit for looking-back calls * lisp/progmodes/python.el (python-shell-accept-process-output): Use last comint prompt start as limit for looking-back. 2015-05-10 Stefan Monnier CEDET (srecode-insert-fcn): Fix use of oref on a class * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on a class. Reported by Pierre Lorenzon. (srecode-template-inserter-point): Remove declaration. CEDET (srecode-create-dictionary): Avoid obsolete object name * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary): Don't use a symbol as an object name. Reported by Pierre Lorenzon. 2015-05-10 Paul Eggert C-x 8 shorthands for curved quotes, Euro, etc. Although C-x 8 lets you insert arbitrary Unicode characters, it's awkward to use this to insert commonly used symbols such as curved quotes, the Euro symbol, etc. This patch adds simpler sequences for characters commonly found in English text and in basic math. For example, assuming the Alt key works on your keyboard and iso-transl is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET" to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK). (Bug#20499) * doc/emacs/mule.texi (Unibyte Mode): A few other printing characters now work too. * etc/NEWS: Document this. * lisp/international/iso-transl.el (iso-transl-char-map): Also support the following characters: ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥ 2015-05-10 Dmitry Gutov Add xref-find-regexp * lisp/progmodes/xref.el (xref-find-function): Describe the `matches' action. (xref-find-regexp): New command, using it. (xref-collect-references): Rename to xref-collect-matches. (xref--collect-reference): Rename to xref--collect-match. (xref-collect-matches, xref--collect-match): Accept new argument, KIND. Update accordingly. (xref--regexp-to-extended): New function. * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the `matches' action. (elisp--xref-find-matches): Accept new argument. Resolve a FIXME. * lisp/progmodes/etags.el (etags-xref-find): Support the `matches' action. (etags--xref-find-matches): New function. 2015-05-10 Glenn Morris * Makefile.in: Fixes for recent change-history changes. (change-history-nocommit): Update footer regexp. Ensure output script stays executable. 2015-05-10 Nicolas Petton New version of `seq-let' based on a pcase pattern * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1). 2015-05-10 Przemysław Wojnowski Add basic HTML5 tags and a template * lisp/textmodes/sgml-mode.el: Basic HTML5 support. (html-tag-alist): Add HTML5 tags. (html-tag-help): Add new tags descriptions. (html-navigational-links): Template for nav links. (html-html5-template): Template for a HTML5 page. 2015-05-10 Dmitry Gutov semantic/symref/grep: Don't use word boundaries * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): Instead of wrapping input in word boundaries, check that the characters before and after are not word constituents. semantic/symref/grep: Support regexp search * lisp/cedet/semantic/symref.el (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when the search type is regexp. * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): Support the regexp search type. Pass -E to Grep when it's used. semantic-symref-regexp: Allow to input an arbitrary string * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp): Allow to input an arbitrary string interactively. Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): Remove tag-symbol-match-p from the default value (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html). Declare find-tag obsolete * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of xref-find-definitions. 2015-05-10 Jan D Draw composite string correctly (Bug#20537) * src/nsterm.m (ns_draw_composite_glyph_string_foreground): New function. (ns_draw_glyph_string): Call it. 2015-05-09 Eli Zaretskii Avoid infloop in ERC * lisp/simple.el (line-move-to-column): Ignore field boundaries while computing line beginning position. (Bug#20498) 2015-05-08 Glenn Morris * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead. * build-aux/gitlog-to-emacslog: Check called from right directory. (srcprefix): Remove. * build-aux/gitlog-to-emacslog: Get rid of "distprefix". * Makefile.in (ChangeLog): No longer pass "distprefix". * make-dist: Update "make ChangeLog" syntax for the above change. * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2". * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog. * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer. Add command-line option-parsing to gitlog-to-emacslog * build-aux/gitlog-to-emacslog: Add command-line options. By default, refuse to remove an existing output file. * Makefile.in (CHANGELOG): Update default. (ChangeLog): Do not test for existing file. (change-history-nocommit): Ensure temp file does not exist. Quieten --without-x compilation * lisp/term/common-win.el: Provide a feature. * lisp/term/x-win.el (term/common-win): Require it. * lisp/dired-aux.el (dired-do-print): Require lpr. Quieten compilation, eg in --without-x builds * lisp/dired-aux.el (lpr-printer-switch): * lisp/frame.el (tool-bar-height): * lisp/linum.el (font-info): * lisp/window.el (font-info, overflow-newline-into-fringe) (tool-bar-height): * lisp/emacs-lisp/package-x.el (tar-data-buffer): * lisp/gnus/gnus-util.el (iswitchb-mode): * lisp/mail/rmailmm.el (libxml-parse-html-region): * lisp/net/nsm.el (gnutls-peer-status) (gnutls-peer-status-warning-describe): * lisp/net/shr.el (libxml-parse-xml-region): * lisp/url/url-http.el (gnutls-peer-status): Declare. 2015-05-08 Stefan Monnier CEDET (srecode-pop, srecode-peek): Don't use `subclass' * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use `subclass' since they're never called with a class. (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete srecode-dictionary-child-p. 2015-05-08 Nicolas Richard * lisp/help.el (help--binding-locus): Document argument POSITION. (Bug#20530) 2015-05-08 Paul Eggert Merge from gnulib * doc/misc/texinfo.tex: Get latest version. 2015-05-08 Oleh Krehel ffap.el (ffap-read-file-or-url): Fix completing-read call * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of `completing-read' should be a symbol. 2015-05-08 Eli Zaretskii Verify file modifications by other programs * src/filelock.c (lock_file): Check whether the file was modified since it was visited even if 'create-lockfiles' is nil. (Bug#18828) Fix keyboard macros that include function keys * src/keyboard.c (read_char_minibuf_menu_prompt): Record function keys in the macro before returning. (Bug#20454) 2015-05-08 Glenn Morris * build-aux/gitlog-to-changelog: Treat "Tiny-change" like "Copyright-paperwork-exempt". (Bug#20324) * lisp/vc/log-edit.el: Handle "(tiny change)". (Bug#20324) (log-edit-rewrite-tiny-change): New variable. (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt". (log-edit-changelog-ours-p): Set log-edit-author to a cons. * etc/NEWS: Mention this. * lisp/calc/calc.el (math-zerop): Declare. * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare. 2015-05-07 Artur Malabarba * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec. Support the case when BINDINGS is a single tuple. (Bug#20525) * etc/NEWS: Fix typo in previous commit (14bb519f1034ddb38ce375cbad7095d9b07f8b26). 2015-05-07 Jan D * configure.ac: Warn for multiple display crash for all Gtk+ versions. Output URL to Gtk+ bug (Bug#20452). * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection. 2015-05-07 Artur Malabarba * lisp/emacs-lisp/package.el: New "external" package status. An external package is any installed package that's not built-in and not from `package-user-dir', which usually means it's from an entry in `package-directory-list'. They are treated much like built-in packages, in that they cannot be through the Package Menu deleted and are not considered for upgrades. (package-desc-status): Identify if a package is installed outside `package-user-dir'. (package-menu--print-info-simple) (package-menu--status-predicate): Add support for it. * etc/NEWS: Document it. 2015-05-06 Stefan Monnier * lisp/mail/rmail.el: Use lexical-binding. (rmail-bury): Remove unused var `buffer-to-bury'. (rmail-get-new-mail): Remove unused vars `opoint' and `success'. (rmail-parse-url): Remove unused var `proto', `user', and `host'. (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'. (rmail-insert-inbox-text): Remove unused var `movemail'. (rmail-add-mbox-headers): Remove unused var `limit'. (rmail-undelete-previous-message): Remove unused var `value'. (rmail-reply): Remove unused vars `resent-to', `resent-cc', `resent-reply-to'. (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare. (rmail-restore-desktop-buffer): Rename arguments. 2015-05-06 Glenn Morris * Makefile.in (change-history-commit): Add missing piece of previous. Avoid unnecessary bumping of Makefile.in's timestamp * Makefile.in (gen_origin): Move to gitlog-to-emacslog. (emacslog): New variable. (ChangeLog): Use $emacslog. Don't pass $gen_origin. (unchanged-history-files): Use $emacslog rather than Makefile.in. (change-history-nocommit): Store hash in $emacslog. * build-aux/gitlog-to-emacslog (gen_origin): Move default here. * admin/update_autogen (changelog_files): Update for the above. * Makefile.in: Don't always insist on removing existing "ChangeLog". (CHANGELOG): New variable. (no-ChangeLog): Remove. (ChangeLog): Replace "no-ChangeLog"; pass output file to script. (change-history-nocommit): Use a temp file rather than insisting on deletion of any existing "ChangeLog". * build-aux/gitlog-to-emacslog: Allow specification of output. * admin/update_autogen: Add option to update ChangeLog. (usage): Mention -H. (changelog_flag, changelog_n, changelog_files): New variables. (main): Check for -H, and maybe run change-history-nocommit. 2015-05-06 Stefan Monnier * lisp/subr.el (delete-dups): Pre-size the hashtable. * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure cl--arglist-args is defined (bug#20517). 2015-05-06 Glenn Morris * Makefile.in (change-history-nocommit): New. 2015-05-06 Dmitry Gutov * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel timer when it is non-nil (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html). 2015-05-06 Glenn Morris Quieten CEDET compilation * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag): Invert fboundp test to quieten on current Emacs. * lisp/cedet/ede/config.el (ede-shell-run-something) (semanticdb-file-table-object, semanticdb-needs-refresh-p) (semanticdb-refresh-table): Declare. (ede-preprocessor-map): Require semantic/db. Quieten cc-mode compilation * lisp/progmodes/cc-awk.el (c-forward-sws): * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword): Declare. 2015-05-06 Oleh Krehel * lisp/subr.el (delete-dups): Avoid nreverse. 2015-05-06 Artur Malabarba * lisp/subr.el (delete-dups): Make it destructive again. 2015-05-06 Paul Eggert * doc/lispref/sequences.texi (Sequence Functions): Fix quoting. 2015-05-06 Stefan Monnier * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487). * lisp/emacs-lisp/testcover.el: Use lexical-binding. (testcover--read): Rename from testcover-read. Change calling convention. Use edebug-read-and-maybe-wrap-form now that edebug-read is gone. (testcover-start): Use add-function. Move edebug-all-defs binding to testcover--read. (testcover-this-defun): Tighten scope of edebug-all-defs binding. (testcover-mark): Remove unused var `item'. * src/lread.c (syms_of_lread): Default load-read-function to `read'. 2015-05-06 Oleh Krehel * lisp/subr.el (delete-dups): When there are more than 100 candidates, use a hash table. This can result in ~500 times speed-up for typical collections of size 5000, like that of `load-library'. 2015-05-06 Stefan Monnier CEDET: Avoid `oref' on classes in a few more cases * lisp/cedet/ede/generic.el (ede-find-target): * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes. * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused var `prefix'. * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings. (grepflags, greppattern): Declare. (semantic-symref-perform-search): Remove unused var `pat'. CEDET (srecode-compile-inserter): Avoid `oref' on classes * lisp/cedet/srecode/compile.el (srecode-compile-inserter): Avoid `oref' on classes (bug#20491). (srecode-compile-split-code): Remove unused var `key'. 2015-05-06 Dmitry Gutov Clean up pulse.el a little * lisp/cedet/pulse.el (pulse): Remove. (pulse-momentary-timer): Save instead of the stop time. (pulse-momentary-highlight-overlay): Call pulse-momentary-unhighlight first thing. Treat pulse-momentary-overlay as a single value, not a list. Save the created timer. Only pass the stop time to the timer. (pulse-tick): Update accordingly. (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a single value. Cancel the timer. 2015-05-06 Tassilo Horn * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry): Support the biblatex journaltitle field. 2015-05-05 Glenn Morris Minor declare-function improvement * lisp/emacs-lisp/bytecomp.el (byte-compile-macroexpand-declare-function): Handle declarations after calls. (Bug#20509) * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration. * lisp/w32-fns.el (w32-shell-name): Silence compiler. 2015-05-05 Dmitry Gutov Pulse using a timer * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable. (pulse-momentary-highlight-overlay): Set up the timer instead of calling `pulse' (http://lists.gnu.org/archive/html/emacs-devel/2015-05/). (pulse-tick): New function. (pulse-momentary-unhighlight): Cut off the stop time. (pulse-delay): Update the docstring WRT to not using sit-for. Add semantic/symref/grep file patterns for ruby-mode * lisp/cedet/semantic/symref/grep.el (semantic-symref-filepattern-alist): Add patterns for ruby-mode. Clarify the docstring. Don't require match * lisp/progmodes/xref.el (xref--read-identifier): Don't require match. That doesn't work for every command, and some identifier completion tables are bound to be imperfect anyway. 2015-05-05 Stefan Monnier * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505). (semantic-grammar--template-expand): New function. (semantic-grammar-header, semantic-grammar-footer): Use it. (semantic-grammar--lex-block-specs): Remove unused var `block-spec'. (semantic-grammar-file-regexp): Refine regexp. (semantic-grammar-eldoc-get-macro-docstring): Use elisp-get-fnsym-args-string when available. (semantic-idle-summary-current-symbol-info): Use new elisp-* names instead of the old eldoc-* names. * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back from elisp-mode.el. Tweak calling convention. * lisp/progmodes/elisp-mode.el (package-user-dir): Declare. (elisp-get-fnsym-args-string): Add `prefix' argument. Rename from elisp--get-fnsym-args-string. (elisp--highlight-function-argument): Add `prefix' arg. (elisp-get-var-docstring): Rename from elisp--get-var-docstring. (elisp--docstring-format-sym-doc): Move back to eldoc.el. 2015-05-05 Glenn Morris * lisp/help-fns.el (describe-function-1): Handle builtins with advertised calling conventions. (Bug#20479) 2015-05-05 Nicolas Petton Merge branch 'seq-let' Update `seq-let' documentation * doc/lispref/sequences.texi: Update the documentation of `seq-let' with the support of `&rest'. Add support for &rest in `seq-let' * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest' in the argument list. * test/automated/seq-tests.el: Add a test for parsing and binding `&rest' in `seq-let'. 2015-05-05 Pierre Lorenzon (tiny change) * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get): Add missing increment (Bug#20467). (eieio-object-value-create): Adjust to new slots representation (Bug#20467). (eieio-object-value-create): Fix missed adjustment to new representation of slots metadata. 2015-05-05 Nicolas Petton * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring. 2015-05-05 Dmitry Gutov Work around "Attempt to modify read-only object" * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from elisp--xref-find-definitions, to work around "Attempt to modify read-only object" error. Only skip some variables that have function counterparts * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Only skip minor-mode-named variable if it's defined in a Lisp file, and it's in minor-mode-list (bug#20506). * test/automated/elisp-mode-tests.el (elisp-xref-finds-both-function-and-variable) (elisp-xref-finds-only-function-for-minor-mode): New tests. 2015-05-04 Dmitry Gutov * lisp/progmodes/xref.el (xref--location-at-point): Revert the previous change. (xref--insert-xrefs): Buttonize the whole line, including the number at the beginning. * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Make sure we're inside the let bindings. * test/automated/elisp-mode-tests.el (elisp-completes-functions-after-let-bindings): New test. 2015-05-04 Glenn Morris * lisp/cedet/semantic/grammar.el (eldoc-function-argstring) (eldoc-docstring-format-sym-doc, eldoc-last-data-store) (eldoc-get-fnsym-args-string, eldoc-get-var-docstring): Remove outdated declarations. Replace instances of "(eval-when-compile (autoload ...))" * lisp/gnus/gnus-art.el (nneething-get-file-name): Declare rather than autoload. * lisp/gnus/gnus-async.el (gnus-html-prefetch-images): Remove pointless autoload. * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time. (gnus-topic-create-topic, gnus-topic-enter-dribble): Declare rather than autoload. * lisp/gnus/mm-archive.el (gnus-recursive-directory-files) (mailcap-extension-to-mime): Autoload at run-time. * lisp/gnus/mm-util.el (latin-unity-massage-name) (latin-unity-maybe-remap, latin-unity-representations-feasible-region) (latin-unity-representations-present-region): Declare rather than autoload. * lisp/gnus/mml-smime.el (epg-make-context) (epg-passphrase-callback-function): Autoload at run-time. (epg-context-set-signers, epg-context-result-for) (epg-new-signature-digest-algorithm) (epg-verify-result-to-string, epg-list-keys, epg-verify-string) (epg-sign-string, epg-encrypt-string) (epg-context-set-passphrase-callback, epg-sub-key-fingerprint) (epg-configuration, epg-expand-group, epa-select-keys): Declare rather than autoload. * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query): Autoload at run-time. (gnus-group-topic-name, nnimap-buffer, nnimap-command) (gnus-registry-get-id-key, gnus-registry-action): Declare rather than autoload. * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time. * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam) (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam) (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save) (spam-stat-split-fancy): Remove pointless autoloads. * lisp/net/mairix.el: Load gnus-util when compiling. (gnus-group-read-ephemeral-group, gnus-summary-toggle-header) (message-field-value): Declare rather than autoload. (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field): Check gnus-alive-p is fbound. (vm-quit, vm-visit-folder, vm-select-folder-buffer) (vm-check-for-killed-summary, vm-error-if-folder-empty) (vm-get-header-contents, vm-select-marked-or-prefixed-messages): Declare rather than autoload. * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload. * lisp/gnus/mml-smime.el (epg-key-sub-key-list) (epg-sub-key-capability, epg-sub-key-validity): Fix declarations. * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare. * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration. * lisp/allout.el (epg-user-id-string, epg-key-user-id-list): * lisp/emacs-lisp/package.el (epg-signature-status): Fix declarations. * lisp/play/gametree.el (gametree-show-children-and-entry) (gametree-apply-layout, gametree-mouse-show-subtree) (gametree-mouse-hide-subtree): Replace obsolete outline aliases. * lisp/emacs-lisp/check-declare.el (check-declare-verify): Handle cl-defgeneric, cl-defmethod. 2015-05-04 Dmitry Gutov * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Highlight both type and symbol name. Insert, highlight and align line numbers in xref output * lisp/progmodes/etags.el (xref-location-line): Specialize for xref-etags-location. * lisp/progmodes/xref.el (xref-location-line): New generic method. (xref-file-location): Add reader for the line slot. (xref--location-at-point): Skip to the `xref-location' property. (xref--collect-reference): Drop the line number from description. (xref--insert-xrefs): Insert, highlight and align line numbers. 2015-05-04 Daniel Colascione * lisp/simple.el (save-mark-and-excursion--save) (save-mark-and-excursion--restore): Fix previous commit (255a011f0ecf004b31c59945b10154b10fac3af1). 2015-05-04 Dmitry Gutov Don't pulse the indentation, or the newline * lisp/cedet/pulse.el (pulse-lighten-highlight) (pulse-reset-face): Fall back to the inherited background attribute in FACE. (pulse-momentary-highlight-region): Add autoload cookie. * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the indentation, or the newline, if the line's non-empty (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html). 2015-05-04 Daniel Colascione Add `save-mark-and-excursion', which has the old `save-excursion' behavior * doc/lispref/positions.texi (Excursions): Document `save-mark-and-excursion'. * lisp/font-lock.el (font-lock-fontify-block): Use `save-mark-and-excursion' instead of `save-excursion', restoring Emacs 24 behavior. * lisp/simple.el (save-mark-and-excursion--save) (save-mark-and-excursion--restore): New functions. (save-mark-and-excursion): New user macro. * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion' in `save-excursion' documentation. 2015-05-04 Dmitry Gutov * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Classify lone symbol inside let varlist as variable. * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings): New test. Add xref-pulse-on-jump * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line): Add autoload cookie. * lisp/progmodes/xref.el (xref-pulse-on-jump): New option. (xref--maybe-pulse): New function. (xref-pop-marker-stack, xref--pop-to-location) (xref--display-position): Use it. (xref--location-at-point): Use back-to-indentation. 2015-05-04 Stefan Monnier lisp/org/org-{macs,list}.el: Fix lexical warnings * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'. (org-list-get-next-item, org-list-get-prev-item) (org-list-get-children): Mark unused arg `struct'. (org-list-use-alpha-bul-p): Remove unused var `bul'. (org-toggle-checkbox): Mark unused var. (org-update-checkbox-count): Remove unused var `box-num'. (org-adapt-indentation): Declare. (org-list-parse-list): Declare var instead of adding a dummy duplicate. (org-list-send-list): Remove unused var `txt'. (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'. (org-list-to-subtree): Add prefix to dyn-bind var, and declare them. * lisp/org/org-macs.el: Use `declare'. (org-with-limited-levels): Declare dyn-bound vars. 2015-05-04 Eli Zaretskii Fix minor issues with CEDET on MS-Windows * lisp/cedet/semantic/symref/idutils.el (semantic-symref-parse-tool-output-one-line): Fix the search regexp to match MS-Windows file names with drive letters. (Bug#19468) * lisp/cedet/semantic/symref/grep.el (semantic-symref-grep-use-template): Remove "--color=always" from Grep switches on MS-Windows. (semantic-symref-grep-shell): Use shell-file-name as the default value, so this works not only on Posix platforms. (semantic-symref-perform-search): Use shell-quote-argument instead of literal '..' for portable quoting of Grep command-line argument. Use shell-command-switch instead of a literal "-c". * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-get-include-paths): Use file-name-absolute-p to test for an absolute file name in a portable way. 2015-05-04 Artur Malabarba * lisp/emacs-lisp/package.el: Remove `package--silence' variable. (package-import-keyring, package-refresh-contents) (package-compute-transaction, package--save-selected-packages) (package-install-from-archive, package-delete) (package-menu--perform-transaction): Use `inhibit-message' instead. (package--compile): Set `warning-minimum-level' to :error. 2015-05-03 Stefan Monnier * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom. (terminal-init-screen): Use it (bug#20356). * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'. (xterm--extra-capabilities-type): New const. (xterm-extra-capabilities): Use it. (xterm--version-handler): Lower the pseudo-version for `screen'. 2015-05-03 Dmitry Gutov * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces. Always insert a newline at the end (to avoid mouse-face background tail at the last line). elisp-completion-at-point: Prioritize being quoted over funpos * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Only consider function position when not inside quoted form (bug#20425). * test/automated/elisp-mode-tests.el: New file. Stop vc-print-log from jumping to the top * lisp/vc/vc.el (vc-print-log-internal): Pass nil GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION is not specified. (vc-incoming-outgoing-internal): Always pass nil. (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't call it, and don't set vc-sentinel-movepoint (bug#15322). (vc-print-root-log): Don't fetch the root working revision, nor pass it to vc-print-log-internal. 2015-05-02 Michael Vehrs Fix display of keyboard layouts for right-to-left scripts * lisp/international/quail.el (quail-insert-kbd-layout): Force left-to-right paragraph direction. 2015-05-02 K. Handa * src/cmds.c (internal_self_insert): When we insert spaces for padding, set point before the padding spaces, not after them. 2015-05-02 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'. 2015-05-02 Dmitry Gutov Fix etags-xref-find for references * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'. * lisp/progmodes/etags.el (etags-xref-find): Ditto. Prompt for directory if no tags tables are loaded (bug#19468). 2015-05-02 Philipp Stephani Update the options in whitespace-style defcustom * lisp/whitespace.el (whitespace-style): Use `set' instead of a `repeat' because the option is really set-like. Add missing options. Reorder options to match the order in the documentation. (Bug#20346) 2015-05-02 Eli Zaretskii Fix error diagnostics of c-macro-expand * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out too early if no start-marker string was found -- that generally means cpp exited abnormally, and we still want to show its error messages to the user. Don't require Texinfo 5.0 for Emacs documentation * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and "@set txicodequotebacktick" instead of "@codequotebacktick on" and "@codequoteundirected on", respectively, to avoid requiring Texinfo 5.x for Emacs documentation. 2015-05-01 Simen Heggestøyl * lisp/files.el (pwd): When called with a prefix argument, insert the current default directory at point. 2015-05-01 Stefan Monnier * lisp/isearch.el (isearch-mode-map): Allow backspace remapping * lisp/isearch.el (isearch-mode-map): Don't inhibit function-key-map remapping for backspace (bug#20466). 2015-05-01 Dmitry Gutov Implement xref-find-references in etags and elisp-mode * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function. (elisp-xref-find): Use it. * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'. * lisp/progmodes/xref.el (xref-collect-references): (xref--collect-reference): New functions. 2015-05-01 Paul Eggert Prefer plain characters to Texinfo circumlocutions For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois', 'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources. Fix single-quoting style in PDF manuals The PDF versions of the GNU manuals used curved single quotes to represent grave accent and apostrophe, which made it a pain to cut and paste code examples from them. Fix the PDF versions to use grave accent and apostrophe for Lisp source code, keystrokes, etc. This change does not affect the info files, nor does it affect ordinary uses of curved single quotes in PDF. * doc/emacs/docstyle.texi: New file, which specifies treatment for grave accent and apostrophe, as well as the document encoding. * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/back.texi, doc/lispref/book-spine.texi: * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi: * doc/misc/ada-mode.texi, doc/misc/auth.texi: * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi: * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi: * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi: * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi: * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi: * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi: * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi: * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi: * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi: * doc/misc/gnus.texi, doc/misc/htmlfontify.texi: * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi: * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi: * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi: * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi: * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi: * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi: * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi: * doc/misc/smtpmail.texi, doc/misc/speedbar.texi: * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi: * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi: * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi: * doc/misc/woman.texi: Use it instead of '@documentencoding UTF-8', to lessen the need for global changes like this in the future. * doc/emacs/Makefile.in (EMACS_XTRA): * doc/lispintro/Makefile.in (srcs): * doc/lispref/Makefile.in (srcs): Add dependency on docstyle.texi. * doc/misc/Makefile.in (style): New macro. (${buildinfodir}/%.info, %.dvi, %.pdf, %.html) (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps): Use it. 2015-05-01 Glenn Morris * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it. * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match) (help-fns--signature): Declare. * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns. 2015-05-01 Nicolas Petton New macro seq-let, providing destructuring support to seq.el * lisp/emacs-lisp/seq.el (seq-let): New macro. `seq-let' is similar to `cl-destructuring-bind' but works on all sequence types supported by `seq.el'. Bump version number to 1.6. * test/automated/seq-tests.el: Add tests for seq-let. * doc/lispref/sequences.texi: Add documentation for seq-let. 2015-05-01 Pontus Michael * lisp/simple.el (blink-matching-open): Better behavior in minibuffer. 2015-05-01 Glenn Morris * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous. 2015-05-01 Artur Malabarba * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations" This reverts commit 9a7ddde977378cb5276a81476ae458889c403267. This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d. With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'". (Bug#20445). 2015-05-01 K. Handa * lisp/international/mule-cmds.el (input-method-use-echo-area): Change :type to 'boolean. 2015-05-01 Lars Magne Ingebrigtsen Start using proportional fonts in eww by default * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since it seems to work well. Fix links in tables in shr * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that makes (some) links in tables not work. 2015-05-01 Jan D * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias. 2015-04-30 Glenn Morris * lisp/emacs-lisp/ert.el (ert--special-operator-p): Update for 2015-02-08 change to indirect-function. * lisp/term/ns-win.el (ns-get-selection-internal): Remove declaration for function deleted 2014-10-21. * lisp/dom.el: Load subr-x when compiling, for when-let. Silence some compilation warnings * lisp/emacs-lisp/check-declare.el (compilation-forget-errors): * lisp/emulation/cua-base.el (delete-active-region): * lisp/net/net-utils.el (w32-get-console-output-codepage): * lisp/term/ns-win.el (ns-own-selection-internal) (ns-disown-selection-internal, ns-selection-owner-p) (ns-selection-exists-p, ns-get-selection): Declare for compiler. Function declaration updates prompted by 'make check-declare' * lisp/emacs-lisp/package.el (lm-homepage): * lisp/gnus/gnus-util.el (iswitchb-read-buffer): * lisp/gnus/mm-decode.el (libxml-parse-html-region): * lisp/gnus/mml.el (libxml-parse-html-region): * lisp/gnus/nnrss.el (libxml-parse-html-region): * lisp/net/eww.el (libxml-parse-html-region): * lisp/net/shr.el (libxml-parse-html-region): * lisp/vc/vc-bzr.el (vc-annotate-convert-time): * lisp/vc/vc-cvs.el (vc-annotate-convert-time): * lisp/vc/vc-git.el (vc-annotate-convert-time): * lisp/vc/vc-hg.el (vc-annotate-convert-time): * lisp/vc/vc-mtn.el (vc-annotate-convert-time): * lisp/vc/vc-rcs.el (vc-annotate-convert-time): Update declaration. Remove compatibility code for 20-year old function renaming * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter): Make it an obsolete alias. (idlwave-shell-filter): Change all uses to comint-output-filter. 2015-04-30 Tassilo Horn Add ace-window face config * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face configuration. 2015-04-30 Paul Eggert Unclutter 'make doc' output a bit * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)): Use make subst rather than sh IFS to split target string apart. This makes 'make' output easier to follow. Merge from gnulib * doc/misc/texinfo.tex: Update from gnulib. 2015-04-30 Artur Malabarba * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh. (package-menu--print-info): Obsolete. (package-menu--print-info-simple): New function. (package-menu--refresh): Use it, simplify code, and improve performance. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry): Tiny performance improvement. * lisp/emacs-lisp/package.el (package--message): inhibit-message. 2015-04-29 Paul Eggert Omit -Wstrict-overflow workaround in GCC 5 * src/process.c: Remove workaround for GCC -Wstrict-overflow bug if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1. Merge from gnulib This incorporates: 2015-04-29 extern-inline: no need for workaround in GCC 5.1 2015-04-26 file-has-acl: port to CentOS 6 * m4/acl.m4, m4/extern-inline.m4: Update from gnulib. 2015-04-29 Helmut Eller Set next-error-* in xref--xref-buffer-mode * lisp/progmodes/xref.el (xref--xref-buffer-mode): Set `next-error-function' and `next-error-last-buffer'. (xref--next-error-function): New function. (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html) 2015-04-29 Fabián Ezequiel Gallina python.el: Fix warnings on looking-back calls missing LIMIT * lisp/progmodes/python.el (python-shell-accept-process-output): Pass LIMIT arg to looking-back. 2015-04-29 Artur Malabarba * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress. (package--download-and-read-archives): Use pushnew instead of append. If something terrible happened during a previous download, simply refreshing should now make things work again. 2015-04-29 Dmitry Gutov Introduce etags-xref-find-definitions-tag-order * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): New variable. (etags--xref-find-definitions): Use it (bug#19468). 2015-04-29 Eli Zaretskii PATH- and completion-related fixes in Eshell on MS-Windows * lisp/eshell/esh-ext.el (eshell-search-path): When running on MS-Windows, prepend "." to list of directories produced from PATH, as Windows always implicitly searches the current directory first. (eshell-force-execution): Make it have a non-nil default value on MS-Windows and MS-DOS. * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If eshell-force-execution is non-nil, complete on readable files and directories, not only executables. When running on MS-Windows, prepend "." to list of directories produced from PATH, as Windows always implicitly searches the current directory first. 2015-04-29 Sam Steingold Bury RCIRC buffers when there is no activity * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove. (rcirc-bury-buffers): New function. (rcirc-next-active-buffer): When there is no new activity, use `rcirc-bury-buffers' to hide all RCIRC buffers. 2015-04-29 Krzysztof Jurewicz (tiny change) Fix DBUS query result parsing for secrets-search-items * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result parsing. The function assumed that return value of the SearchItems method called on a collection is a list of two lists, however this is true only when no collection is specified. GNOME had used to incorrectly return a list of two lists in both cases, but this was already fixed: https://bugzilla.gnome.org/show_bug.cgi?id=695115 . Also fix an incorrect information in the secrets-search-items’ docstring. (Bug#20449) 2015-04-29 Artur Malabarba * lisp/emacs-lisp/bytecomp.el (byte-compile--message): Use `inhibit-message' instead of hiding the previous message with (message nil). 2015-04-29 Oleh Krehel Remove the deprecated INTERNAL_FIELD macro by expanding it * src/lisp.h (INTERNAL_FIELD): Remove. (DEFVAR_KBOARD): Modify accordingly. * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c: * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users. * src/buffer.c (compact_buffer): Use BVAR. 2015-04-29 Glenn Morris Replace an obsolete function alias * lisp/isearch.el (isearch-yank-x-selection): * lisp/mouse-copy.el (mouse-drag-secondary-pasting) (mouse-drag-secondary-moving): * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function): Replace obsolete alias x-get-selection with gui-get-selection. 2015-04-29 Stefan Monnier * lisp/mail/rmailsum.el: Use lexical-binding. 2015-04-29 Glenn Morris * test/automated/package-test.el (package-test-update-archives-async): Skip test on hydra.nixos.org. 2015-04-28 Glenn Morris * lisp/foldout.el: Update for 2015-01-30 outline.el changes. (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show) (foldout-mouse-hide-or-exit): Use new names for outline functions. * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if): Update for 2014-06-26 hideif.el change. * lisp/mail/rmailsum.el: Fix search for encoded subjects. (Bug#19088) (rmail--decode-and-apply): New function. (rmail-message-regexp-p-1, rmail-message-subject-p): Use it. * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type. 2015-04-28 Artur Malabarba * lisp/emacs-lisp/package.el: Fix priority-hiding corner case (package-menu--refresh): Delegate obsolete-hiding to `package--remove-hidden'. (package--remove-hidden): Disregard high-priority package if it is older than the installed one. 2015-04-28 Paul Eggert Update source file encoding list Update admin/notes/unicode, along with coding system cookies in other files, so that the two match each other better. * admin/notes/unicode: lisp/language/ethio-util.el and lisp/language/ethiopic.el also use utf-8-emacs. * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi: * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex: * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex: * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex: * etc/refcards/sk-survival.tex: Add "coding: utf-8" so that this file is not mishandled in a Latin-1 or Big-5 locale. * lisp/international/robin.el, lisp/org/ox-ascii.el: Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files. * lisp/language/ethio-util.el: Fix trailer. 2015-04-28 Eli Zaretskii Fix synchronous invocation of Ispell * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil value to ispell-process-directory before calling ispell-init-process. Don't call set-process-coding-system if ispell-async-processp is nil. (Bug#20448) 2015-04-28 Artur Malabarba * lisp/emacs-lisp/package.el: Skip space and comments in init file (package--ensure-init-file): Insert snippet at first non-whitespace non-comments line. Respects local-vars at the top of the file. 2015-04-28 Glenn Morris * lisp/mail/rmail.el (rmail-copy-headers): Handle rmail-nonignored-headers being nil. (Bug#18878) * lisp/subr.el (delay-mode-hooks): Fix doc typo. * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status): Don't get confused by a bzrlib version mismatch warning. 2015-04-27 Thomas Fitzsimmons Change default location of EUDC options file * etc/NEWS: Document change to EUDC options file's default location. * lisp/net/eudc-vars.el (eudc-options-file): Use `locate-user-emacs-file' to change default options file location. 2015-04-27 Glenn Morris * test/automated/package-test.el (package-test-update-archives-async): Try to handle the test server script dying. 2015-04-27 Stefan Monnier * lisp/saveplace.el (save-place-mode): New minor mode. (save-place): Redefine as an obsolete alias. * lisp/midnight.el: Make it a minor mode. Allow predicates. * lisp/midnight.el: Use lexical-binding. (midnight-mode): Make it a proper minor mode. (midnight-buffer-display-time): Make arg non-optional. (midnight-find): Remove. (clean-buffer-list-kill-never-regexps) (clean-buffer-list-kill-regexps): Tweak type for new function choice. (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to contain functions. (clean-buffer-list): Use cl-find. Allow clean-buffer-list-kill-never-regexps to contain functions. 2015-04-27 Nicolas Petton Bump version of seq.el to 1.5 * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value from seq-doseq. Bump version number of seq.el. 2015-04-27 Glenn Morris * lisp/mail/rmail.el (rmail-reply): Decode subject before matching "Re:" prefix. (Bug#20396) 2015-04-27 Artur Malabarba * lisp/emacs-lisp/package.el: Small improvements (package--with-work-buffer-async): More informative error. (package-install-user-selected-packages): Rename to `package-install-selected-packages'. 2015-04-27 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change. (eieio--class-make): Remove leftover `tag'. 2015-04-27 Glenn Morris * lisp/gnus/message.el (gnus-extract-address-components): Remove bogus declaration that was masking previous problem. 2015-04-27 Nicolas Graner (tiny change) * lisp/gnus/message.el (message-insert-formatted-citation-line): Fix typo. (Bug#20318) 2015-04-27 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc. * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying the buffer in yet another frame. (reftex-toc-visit-location): Make sure toc-window has focus at the end when `final' is nil. (reftex--rebuilding-toc): Defvar to avoid `boundp' and silence warnings. Use `--' to clarify that it's internal. (reftex-toc-next, reftex-toc-previous, reftex-toc-demote) (reftex-toc-promote): Clarify unused argument. (reftex--pro-or-de, reftex--start-line, reftex--mark-line): Add `reftex--' prefix. Fix all users. (reftex-toc-promote-prepare): Use _ for dummy variable. (reftex-toc-restore-region): Rename `m. 2015-04-27 Eli Zaretskii Fix a typo in bibtex.el * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from last change. (Bug#20429) Fix redisplay of frame after loading new fonts * src/xdisp.c (redisplay_internal): When retrying redisplay of a frame because new fonts were loaded, disable all redisplay optimizations on that frame by calling SET_FRAME_GARBAGED. (Bug#20410) 2015-04-27 Stefan Monnier * lisp/info.el (Info-menu): Properly provide the `default' (Bug#20391) * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string): Catch errors from documentation (bug#20418). (emacs-lisp-mode-abbrev-table): Remove redundant defvar. 2015-04-26 Stefan Monnier * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler. Remove redundant ":group 'package". 2015-04-26 Eli Zaretskii Fix a typo in rmail.el * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the last commit. (Bug#20429) 2015-04-26 Dmitry Gutov Introduce xref-prompt-for-identifier * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option. (xref--read-identifier): Use it (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html). 2015-04-26 João Távora `tex-insert-quote' after single `'' opens quotes instead of closing Without this, it's very hard to precede double quotes with the apostrophe character, i.e. insert the sequence '`` (quote-backquote-backquote), commonly useful in portuguese, for instance. * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of preceding chars making `tex-insert-quote' be in the "opening" context. 2015-04-25 Dmitry Gutov Pass `id' to `completing-read' as def instead of initial input * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to `completing-read' as the default value instead of initial input (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html). 2015-04-25 Paul Eggert Don't freeze with unreadable processes Don't freeze if an exiting process can't be read from. (Bug#19860). This fixes a bug I introduced in 2014-07-08T07:24:07Z@eggert@cs.ucla.edu "* process.c: Add sanity checks for file descriptors." Dmitry Gutov did most of the legwork in finding the problem. * src/process.c (wait_reading_process_output): Treat non-running processes that can't be read from the same as other non-running processes. 2015-04-25 Alan Mackenzie Fix change from 2015-04-22 "On C-y, stop some text property entries ..." * lisp/subr.el (remove-yank-excluded-properties): Put `with-silent-modifications' around only the last three lines of code. 2015-04-25 Artur Malabarba * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache (package--all-keywords): Deleted variable. * etc/NEWS: Document package-hiding functionality. 2015-04-25 Eli Zaretskii * lisp/window.el (recenter-last-op): Doc fix. (Bug#20419) Clarify the doc string of 'replace-regexp-in-string' * lisp/subr.el (replace-regexp-in-string): Doc fix. (Bug#20395) Improve doc string of 'insert-buffer-substring' * src/editfns.c (Finsert_buffer_substring): Doc fix. (Bug#20421) MS-Windows followup for the recent gnulib update * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with acl-internal.c. 2015-04-24 Paul Eggert Spelling fixes Merge from gnulib This incorporates: 2015-04-24 file-has-acl: new module, split from acl 2015-04-24 manywarnings: add GCC 5.1 warnings 2015-04-21 lstat: fix cross-compilation 'ln -s' problem 2015-04-15 qacl: Simplify HP-UX acl_nontrivial check 2015-04-15 acl: On Linux, check for acls without libacl 2015-04-14 tempname: avoid unused parameter warnings (trivial) * lib/acl-internal.c: New file, from gnulib. * lib/file-has-acl.c: Remove; no longer imported from gnulib. * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c: * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4: Update from gnulib. Port --enable-gcc-warnings to GCC 5.1 x86-64 * lib-src/ebrowse.c (dump_sym): * lib-src/hexl.c (main): * src/ccl.c (ccl_driver): * src/character.c (string_escape_byte8): * src/dbusbind.c (xd_retrieve_arg, xd_add_watch): * src/gnutls.c (Fgnutls_boot): * src/gtkutil.c (xg_check_special_colors): * src/image.c (x_build_heuristic_mask): * src/print.c (safe_debug_print, print_object): * src/term.c (produce_glyphless_glyph): * src/xdisp.c (get_next_display_element) (produce_glyphless_glyph): * src/xterm.c (x_draw_glyphless_glyph_string_foreground): Don't use a signed format to print an unsigned integer, or vice versa. GCC 5.1's new -Wformat-signedness option warns about this. * src/image.c (png_load_body, jpeg_load_body): Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561). 2015-04-24 Tassilo Horn Add new faces to tsdh-light-theme * etc/themes/tsdh-light-theme.el (tsdh-light): New face definitions for Info-quoted, ace-jump-face-foreground, hl-paren-face, show-paren-match, and show-paren-mismatch. 2015-04-24 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro. 2015-04-24 Glenn Morris * build-aux/gitlog-to-emacslog: Use raw log format rather than wrapped one. 2015-04-24 Stefan Monnier * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code. (seq-doseq): Fix out-of-scope binding. Don't call `seq-length at every iteration. Reduce `if's from 3 to 2 per iteration. (emacs-lisp-mode-hook): Don't tweak in Emacs≥25. 2015-04-24 Glenn Morris * lisp/textmodes/text-mode.el (text-mode-hook): Move text-mode-hook-identify to default. * lisp/mouse.el (minor-mode-menu-from-indicator): Handle non-function members of minor-mode-map-alist. (Bug#20201) * lisp/help-fns.el (describe-function): More type checking. (describe-function-1): Handle changed symbol-function. (Bug#20201) * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)". (Bug#20325) 2015-04-24 Andreas Schwab shr: strip leading whitespace when expanding URLs * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL. 2015-04-24 Eli Zaretskii Clarify "co-authored" some more * CONTRIBUTE: Clarify "co-authored-by". (Bug#20400) Clarify doc strings of functions that search for properties * src/textprop.c (Fnext_char_property_change) (Fprevious_char_property_change) (Fnext_single_char_property_change) (Fprevious_single_char_property_change, Fnext_property_change) (Fnext_single_property_change, Fprevious_property_change) (Fprevious_single_property_change): Clarify doc strings wrt return value and the optional LIMIT argument. (Bug#20411) 2015-04-24 Glenn Morris * test/automated/message-mode-tests.el (message-mode-propertize): Handle non-writable HOME; eg on hydra.nixos.org. 2015-04-23 Eli Zaretskii Avoid starting threads by w32-shell-execute * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into local file names, before invoking ShellExecute. (Bug#20220) 2015-04-23 Martin Rudalics Fix following doc-links in `widget-documentation-link-action' * lisp/wid-edit.el (widget-documentation-link-action): Make following doc-links less simplistic (Bug#20398). 2015-04-22 Thomas Fitzsimmons Improve EUDC manual * doc/misc/eudc.texi (Troubleshooting): New LDAP troubleshooting subsection. 2015-04-22 Paul Eggert Omit needless "\ " after multibyte then newline * src/print.c: Include , for c_isxdigit. (print_object): When print-escape-multibyte is non-nil and a multibyte character is followed by a newline or formfeed, followed by a hex digit, don't output a needless "\ " before the hex digit. * test/automated/print-tests.el (print-hex-backslash): New test. 2015-04-22 Oleh Krehel Add a new `inhibit-message' variable * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'. (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when `inhibit_message' is non-zero. * etc/NEWS: Add an entry. * doc/lispref/display.texi: Add an entry for `inhibit-message', mention it in `message'. 2015-04-22 Martin Rudalics Fix last fix in `display-buffer-record-window'. * lisp/window.el (display-buffer-record-window): Fix last fix. 2015-04-22 Eli Zaretskii Minor edits in CONTRIBUTE * CONTRIBUTE: Rearrange instructions about log messages. Use "Git" capitalized all over. Use 2 spaces between sentences. 2015-04-22 Artur Malabarba * lisp/files.el (basic-save-buffer): Fix argument. * lisp/cus-edit.el (custom-file): Consider init-file-had-error. In case `(and (null custom-file) init-file-had-error)' do the same thing we'd do if `(null user-init-file)', which is to either error out or return nil. This is in line with `custom-save-all' which would throw an error in that situation. (Bug#20355) * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu. (package-menu-hide-low-priority): New variable, see its doc. (package-archive-priorities): Update doc. (package-desc-priority): New function. (package-desc-priority-version): Use it. (package--remove-hidden): New function. (package-menu--refresh): Use it. * lisp/emacs-lisp/package.el: Implement displaying obsolete packages. (package-menu--hide-obsolete): New variable. (package--remove-hidden): Use it. (package-menu-hide-obsolete): New interactive function to toggle the variable. (package--quick-help-keys): Document it. (package-menu-async): Add :version tag. (package-menu-mode-map): Bind package-menu-hide-obsolete. (package-desc-status): Indicate non-installed obsolete packages as avail-obso. (package-menu-mark-install): Allow installation of avail-obso. (package-menu--status-predicate): Sort avail-obso with available. 2015-04-22 Alan Mackenzie On C-y, stop some text property entries being written into buffer-undo-list * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in `with-silent-modifications'. 2015-04-22 Martin Rudalics In display-buffer-record-window record selected window if necessary * lisp/window.el (display-buffer-record-window): Store selected window if it differs from 3rd element of 'quit-restore' parameter (Bug#20353). 2015-04-22 Tassilo Horn Fix reftex-citation bug * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries): Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX integration is enabled and there are no citations in the document so far. 2015-04-21 Dmitry Gutov Add or reset based on the presence of MERGE_HEAD * lisp/vc/vc-git.el (vc-git-find-file-hook): Add `vc-git-resolve-when-done' to `after-save-hook' in either case. (vc-git-conflicted-files): Add a TODO. (vc-git-resolve-when-done): Depending on the presence of MERGE_HEAD, either update the resolved file in the index, or remove it from there. (Bug#20292) 2015-04-21 Glenn Morris * lisp/custom.el (custom-declare-group): No need to purecopy custom-current-group-alist members following recent change to set it to nil before dumping. * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2. (Bug#20399) 2015-04-21 Daniel Colascione Unbreak no-op buffer save message * lisp/files.el (basic-save-buffer): Accept called-interactively as an argument instead of directly invoking called-interactively-p, which will always yield nil in that context. 2015-04-21 Alan Mackenzie CC Mode: Do nothing in before/after-change-functions for text property changes Fixes bug#20266. * lisp/progmodes/cc-mode.el (c-basic-common-init): Make yank-handled-properties buffer local, and remove 'category from it. (c-called-from-text-property-change-p): New function. (c-before-change): Don't do anything if a call of the new function returns non-nil. (c-after-change): Don't do much if a call of the new function returns non-nil. (c-extend-after-change-region): Put changes to text property 'fontified inside c-save-buffer-state. 2015-04-20 Stefan Monnier Fix byte-compiler warnings about looking-back * lisp/vc/log-view.el (log-view-end-of-defun-1): * lisp/textmodes/tex-mode.el (latex-forward-sexp-1): * lisp/textmodes/reftex-ref.el (reftex-goto-label): * lisp/textmodes/bibtex.el (bibtex-insert-kill): * lisp/progmodes/sh-script.el (sh--maybe-here-document): * lisp/progmodes/ruby-mode.el (ruby-end-of-defun): * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p): * lisp/org/org.el (org-insert-heading, org-sort-entries): * lisp/org/org-mouse.el (org-mouse-end-headline) (org-mouse-context-menu): * lisp/org/org-clock.el (org-clock-cancel): * lisp/man.el (Man-default-man-entry): * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text) (rmail-ensure-blank-line): * lisp/mail/footnote.el (Footnote-delete-footnote): * lisp/mail/emacsbug.el (report-emacs-bug): * lisp/info.el (Info-follow-reference, Info-fontify-node): * lisp/info-look.el (info-lookup-guess-custom-symbol): * lisp/help-fns.el (help-fns--key-bindings): * lisp/files.el (hack-local-variables): * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete) (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file) (viper-complete-filename-or-exit): * lisp/emulation/viper-cmd.el (viper-backward-indent): * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): * lisp/emacs-lisp/elint.el (elint-get-top-forms): * lisp/cus-edit.el (custom-face-edit-value-create): * lisp/calendar/todo-mode.el (todo-set-item-priority) (todo-filter-items-1, todo-convert-legacy-files) (todo-prefix-overlays): Add explicit second arg to looking-back. 2015-04-20 Glenn Morris Avoid non-nil current-load-list at startup * src/process.c (init_process_emacs): Move Fprovide statement... (syms_of_process): ... to here. * lisp/loadup.el (custom-current-group-alist): Reset before dumping. * lisp/startup.el (command-line) : Avoid rogue value in emacs -Q. 2015-04-20 Ludovic Courtès * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary. (Bug#20330) 2015-04-20 Glenn Morris * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue. Tweak exec-path in uninstalled case * src/callproc.c (init_callproc): If running uninstalled, do not include eventual installation libexec directory in exec-path. 2015-04-20 Artur Malabarba * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords. (package-menu-filter): Accept a list of keywords. (package--all-keywords): New variable to cache known keywords. (package-all-keywords): Populate it if necessary. (package-refresh-contents): Reset it. * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx" as special keywords which match agains package archive and status respectively. * etc/NEWS: Document it. 2015-04-20 Eli Zaretskii Describe and index "empty overlays". * doc/lispref/display.texi (Overlays): Improve indexing. (Managing Overlays): Describe "empty" overlays. (Overlay Properties, Finding Overlays): Add cross-reference to where empty overlays are described. 2015-04-19 Paul Eggert Spelling fixes Quote 'like this' in top-level files * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist: Prefer to single-quote 'like this' (instead of the older style `like this'). * configure.ac: Fix some space-before-tab problems that 'git commit' complained about. Use bool for boolean in textprop.c, undo.c * src/textprop.c (soft, hard): Now constants instead of macros. (validate_plist): Rewrite to avoid need for boolean local. (interval_has_all_properties, interval_has_some_properties) (interval_has_some_properties_list, add_properties) (remove_properties, get_char_property_and_overlay) (Fnext_single_char_property_change) (Fprevious_single_char_property_change, add_text_properties_1) (Fremove_text_properties, Fremove_list_of_text_properties) (copy_text_properties): * src/tparam.c (tparam1): * src/undo.c (record_change, record_property_change) (syms_of_undo): Use 'true' and 'false' for booleans. 2015-04-19 Dmitry Gutov * lisp/vc/vc-git.el (vc-git-find-file-hook): Call `smerge-start-session' even when dealing with a stash conflict (bug#20292). 2015-04-19 Vibhav Pant Add option to eshell/clear to clear scrollback. * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function. (eshell/clear): Add an optional SCROLLBACK argument. If non-nil, scrollback contents are cleared. * etc/NEWS: Describe change. * doc/misc/eshell.texi: Add entry for `clear'. 2015-04-19 Paul Eggert * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned' where either will do. 2015-04-19 Steve Purcell Assume package archive-contents are UTF8-encoded * lisp/emacs-lisp/package.el (package--read-archive-file): Set `coding-system-for-read' explicitly to 'utf-8 when reading the downloaded and cached archive-contents files, so that non-ASCII characters in package descriptions are displayed correctly in the `list-packages' menu. (Bug#20231) 2015-04-19 Dmitry Gutov Abort when looking at stashed changes * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at stashed changes (bug#20292). 2015-04-19 Paul Eggert Refactor low-level printing for simplicity * src/print.c (PRINTDECLARE): Remove. Move its contents into PRINTPREPARE; doable now that we assume C99. All callers changed. (PRINTCHAR): Remove, as it adds more mystery than clarity. All callers changed. (strout): Assume that caller computes length. All callers changed. (print_c_string): New function. (write_string, write_string_1): Compute length instead of asking the caller to compute it. All callers changed. (write_string): Simplify by using write_string_1. (write_string_1): Simplify by using print_c_string. (Fterpri): Compute default val more clearly. (Fprin1_to_string, print_object): Assume C99 to avoid unnecessary nesting. (print_object): Prefer print_c_string to multiple printchar, or to calling strout with -1 length. Coalesce into sprintf when this is easy. 2015-04-18 Paul Eggert Prefer "Bug#1234" in commit messages (Bug#20325) * .dir-locals.el (log-edit-mode): Don't rewrite Bug#, as this isn't useful for Git. * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234". 2015-04-18 Glenn Morris * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc. (Bug#19506) 2015-04-18 Tom Willemse (tiny change) * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function. (Bug#19505) 2015-04-18 Glenn Morris * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes. * doc/emacs/misc.texi (Sorting): Small edit. (Bug#19896) * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps. 2015-04-18 Simen Heggestøyl css-mode.el: Support multi-line comment filling (Bug#20256) * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line comment filling. (css-adaptive-fill): New function. (css-mode): Set `adaptive-fill-function'. (scss-mode): Set `comment-continue'. 2015-04-18 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages. 2015-04-18 Ivan Radanov Ivanov (tiny change) Minor improvements in Bulgarian input methods * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds): Replace U+042C with U+045D, as the former character is not used in the modern Bulgarian language. (Bug#20350) 2015-04-17 Thomas Fitzsimmons Improve EUDC manual * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL authentication schemes. Add index items. Shorten example server name. 2015-04-17 Dmitry Gutov Don't show both feature and function with the same name * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Don't show both feature and function with the same name. (elisp--xref-identifier-location): Skip variable, if it's also a function * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Avoid returning both the variable and the function for the same minor mode. 2015-04-17 Wolfgang Jenkner Fix fontification of keywords clobbered by the prompt * lisp/comint.el (comint-output-filter): Remove the uses of with-silent-modifications I introduced as part of the last change. This fixes, e.g., erratically missing highlighting when running ./configure --help; ./configure in a shell-mode buffer with compilation-shell-minor-mode turned on. 2015-04-17 Glenn Morris * admin/authors.el (authors-valid-file-names) (authors-renamed-files-alist): Additions. 2015-04-17 Stefan Monnier * lisp/indent.el (indent-region): Don't deactivate the mark. (Bug#20357) 2015-04-17 Sam Steingold * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable. 2015-04-16 Leo Liu * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg. 2015-04-16 Stefan Monnier * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more. 2015-04-16 Glenn Morris * admin/authors.el (authors-lax-changelogs): Update for erc changes. 2015-04-16 Eli Zaretskii Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL * configure.ac (LIBJPEG): Leave it empty for MinGW. 2015-04-16 Glenn Morris * lisp/replace.el (query-replace-from-to-separator): Delay initialization to avoid rogue setting after startup. 2015-04-16 Paul Eggert Pre-4.6 GCC succeeds with unknown option * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC. (Bug#20338) 2015-04-15 Paul Eggert '[:graph:]' now excludes whitespace, not just ' ' * doc/lispref/searching.texi (Char Classes): * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:] sans whitespace (not sans space). * src/character.c (graphicp): Exclude all Unicode whitespace chars, not just space. * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE). 2015-04-15 Stefan Monnier * lisp/subr.el (substitute-key-definition-key, special-form-p) (macrop): Drop deprecated second arg to indirect-function. (looking-back): Make the second arg non-optional. * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which command is actually sent to the shell. 2015-04-15 Paul Eggert Port jpeg configuration to Solaris 10 with Sun C * configure.ac: Check for jpeglib 6b by trying to link it, instead of relying on cpp magic that has problems in practice. Check for both jpeglib.h and jerror.h features. Remove special case for mingw32, which should no longer be needed (and if it were needed, should now be addressable by hotwiring emacs_cv_jpeglib). (Bug#20332) 2015-04-15 Stefan Monnier Move some Elisp-specific code from lisp-mode.el to elisp-mode.el * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers): Move to elisp-mode.el. (lisp-mode-variables): (Re)move elisp-specific settings. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed from lisp-mode-variables. (elisp--font-lock-flush-elisp-buffers): New function, moved from lisp-mode.el. * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): Avoid pathological slowdown at top-level in large file. 2015-04-15 Paul Eggert Standardize names of ChangeLog history files Suggested by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page. * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01. * lisp/erc/ChangeLog.1: New file, containing the old contents of ... * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03: * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06: * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09: Remove. Split top-level entries into pre- and post-April 7 This more clearly distingiushes pre-April-7 ChangeLog entries (which are for top-level files only) from post-April-7 entries (which are about files at all levels. Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html * ChangeLog.1: Move post-April-7 entries from here ... * ChangeLog.2: ... to this new file. * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2. 2015-04-15 Stefan Monnier Fix recent cus-start changes that added customize-rogues * lisp/cus-start.el (custom-delayed-init-variables): Initialize the vars early. * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue. 2015-04-15 Nicolas Petton Define cl-concatenate as an alias to seq-concatenate * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated code by making cl-concatenate an alias to seq-concatenate. 2015-04-15 Stefan Monnier * src/lread.c (intern_1): Make sure we'd find the symbol we add (Bug#20334) * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings. 2015-04-15 Glenn Morris * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous. 2015-04-15 Lars Magne Ingebrigtsen Clean up gnus-uu saving code slightly * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the save-restriction/widen calls make more sense. 2015-04-15 Paul Eggert Make [:graph:] act like [:print:] sans space In POSIX [[:print:]] is equivalent to [ [:graph:]], so change [:graph:] so that it matches everything that [:print:] does, except for space. * doc/lispref/searching.texi (Char Classes): * etc/NEWS: * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:] sans ' '. * src/character.c, src/character.h (graphicp): New function. * src/regex.c (ISGRAPH) [emacs]: Use it. (BIT_GRAPH): New macro. (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH. (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]: Return BIT_GRAPH for RECC_GRAPH. (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH, and ISPRINT if BIT_PRINT. 2015-04-14 Stefan Monnier automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>: Don't use call-next-method in a cl-defmethod. * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class (eieio--class-p): Remove, provided by cl-defstruct. 2015-04-14 Nicolas Petton Add seq-intersection and seq-difference to the seq library * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New functions. * test/automated/seq-tests.el: Add tests for seq-intersection and seq-difference. * doc/lispref/sequences.texi: Add documentation for seq-intersection and seq-difference. 2015-04-14 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals. 2015-04-14 Sam Steingold package--ensure-init-file: widen requires save-restriction 2015-04-14 Eli Zaretskii Improve the commit-msg Git hook for unibyte environments * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk in unibyte environments. (Suggested by Paul Eggert .) Use a more accurate approximation to [:print:], based on UTF-8 sequences of the unprintable characters. Describe problems with cursor caused by Windows Magnifier * etc/PROBLEMS: Describe the problem with cursor shape on MS-Windows due to Windows Magnifier. (Bug#20271) Make [:print:] support non-ASCII characters correctly * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters. (BIT_PRINT): New bit mask. (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT. * src/character.c (printablep): New function. * src/character.h (printablep): Add prototype. * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior of 'print', 'alnum', and 'alphabetic'. * doc/lispref/searching.texi (Char Classes): Document the new behavior of [:print:]. * etc/NEWS: Mention the new behavior of [:print:]. Assign correct general-category and names to surrogates * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore surrogates. This avoids assigning them the default general-category of 'Cn', i.e. unassigned codepoints. (unidata-get-name): Give surrogates synthetic names. 2015-04-14 Paul Eggert Assume C89 offsetof in xterm.c, xlwmenu.c * lwlib/xlwmenu.c (offset): * src/xterm.c (cvt_string_to_pixel_args): Use offsetof, not XtOffset. 2015-04-14 Paul Eggert Assume C89 offsetof in widget.c * src/widget.c (XtOffset): Remove; no longer needed. (offset): Implement via offsetof instead of via pre-C89 XtOffset hack. Fix think-o in previous patch * src/window.c (count_windows, get_leaf_windows): Don't optimize count_windows incorrectly. 2015-04-13 Paul Eggert Avoid some int overflows in window.c * src/print.c (print_object): * src/window.c (sequence_number): * src/window.h (struct window.sequence_number): Don't assume window sequence number fits in int. * src/window.c (window_select_count): * src/window.h (struct window.use_time, window_select_count): Don't assume window use time fits in int. * src/window.c (Fsplit_window_internal): Don't assume user-supplied integer, or sum, fits in int. (Fset_window_configuration, count_windows, get_leaf_windows) (save_window_save, Fcurrent_window_configuration): Use ptrdiff_t for object counts. (Fset_window_configuration): Omit unused local 'n'. (count_windows): Simplify by writing in terms of get_leaf_windows. (get_leaf_windows): Don't store through FLAT if it's null. (extract_dimension): New static function. (set_window_margins, set_window_fringes, set_window_scroll_bars): Use it to avoid undefined behavior when converting user-supplied integer to 'int'. 2015-04-13 Glenn Morris Minor doc copyedits * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo. * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix. 2015-04-13 Katsumi Yamaoka [Gnus] Catch the invalid-operation that idna.el will issue * lisp/gnus/gnus-art.el (gnus-use-idna): * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): * lisp/gnus/message.el (message-use-idna): Catch the invalid-operation that idna.el will issue. 2015-04-13 Paul Eggert * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u. 2015-04-13 Sam Steingold package--ensure-init-file: widen before looking for "(package-initialize)" 2015-04-13 Dmitry Gutov Change diff-switches default to `-u' (Bug#20290) * doc/emacs/files.texi (Comparing Files): Document the new default value of `diff-switches'. * doc/emacs/trouble.texi (Sending Patches): Document the preference for unified diff format. Escape the plus in the suggested `-F' regexp value. * lisp/vc/diff.el (diff-switches): Change the default to `-u'. 2015-04-13 Stefan Monnier (gnus-group--setup-tool-bar-update): Fix last change * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update): cursor-sensor-functions should be a list of functions. 2015-04-13 Katsumi Yamaoka * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p. 2015-04-13 Stefan Monnier * lisp/loadup.el ("cus-start"): Load it after loaddefs.el (Bug#20321) * lisp/cus-start.el (read-buffer-function): Don't advertise iswitchb-read-buffer any more. (iswitchb): Don't tweak this obsolete group any more. 2015-04-13 Artur Malabarba * lisp/emacs-lisp/package.el: Fix package--ensure-init-file. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings. Adding a string after a constructor's argument list will use that string as the constructor function docstring. If this string is absent but the struct itself was given a docstring, use that as the constructor's docstring. Fixes bug#17284. 2015-04-13 Stefan Monnier Deprecate `intangible' and `point-entered' properties * lisp/emacs-lisp/cursor-sensor.el: New file. * lisp/simple.el (pre-redisplay-functions): New hook. (redisplay--pre-redisplay-functions): New function. (pre-redisplay-function): Use it. (minibuffer-avoid-prompt): Mark obsolete. (redisplay--update-region-highlight): Adapt it to work as a function on pre-redisplay-functions. * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun. (minibuffer-prompt-properties): Use it. Use cursor-intangible rather than point-entered to make the prompt intangible. * lisp/forms.el: Move `provide' calls to the end. (forms-mode): Don't use `run-hooks' on a local var. (forms--make-format, forms--make-format-elt-using-text-properties): Use cursor-intangible rather than `intangible'. (forms-mode): Enable cursor-intangible-mode. * lisp/isearch.el (isearch-mode): Use defvar-local. (cursor-sensor-inhibit): Declare. (isearch-mode): Set cursor-sensor-inhibit. (isearch-done): Set it back. (isearch-open-overlay-temporary, isearch-open-necessary-overlays) (isearch-close-unnecessary-overlays): Don't bother with `intangible' any more. * lisp/ses.el (ses-localvars): Remove `mode-line-process'. (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer): Add Edebug spec. (ses-goto-print, ses-print-cell, ses-adjust-print-width) (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind inhibit-point-motion-hooks any more. (ses--cell-at-pos, ses--curcell): New functions, extracted from ses-set-curcell. (ses-set-curcell): Use them. (ses-print-cell, ses-setup): Use cursor-intangible instead of `intangible'. Make sure cursor-intangible isn't sticky at BOB. (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all): Use ses--cell-at-pos. (ses--mode-line-process, ses--cursor-sensor-highlight): New functions, extracted from ses-command-hook. Make them work with multiple windows displaying the same buffer. (ses-mode): Use them via mode-line-process and pre-redisplay-functions. Enable cursor-intangible-mode. (ses-command-hook): Remove cell highlight and mode-line update code. (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column): Update for new name of text-property holding the cell name. (ses-rename-cell): Don't mess with mode-line-process. * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new cursor-sensor-functions property instead of point-entered. (erc-insert-timestamp-right, erc-format-timestamp): Use cursor-intangible rather than `intangible'. (erc-munge-invisibility-spec): Use add-to-invisibility-spec and remove-from-invisibility-spec. Enable cursor-intangible-mode and cursor-sensor-mode if needed. (erc-echo-timestamp): Adapt to calling convention of cursor-sensor-functions. (erc-insert-timestamp-right): Remove unused vars `current-window' and `indent'. * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare. (gnus-update-group-mark-positions): Remove unused `topic' var. (gnus-group-insert-group-line): Remove unused var `header'. (gnus-group--setup-tool-bar-update): New function. (gnus-group-insert-group-line): Use it. (gnus-group-update-eval-form): Declare local dynamically-bound variables. (gnus-group-unsubscribe-group): Use \` and \' to match string bounds. * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic) (gnus-group-prepare-topics, gnus-topic-update-topic) (gnus-topic-change-level, gnus-topic-catchup-articles) (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent): Use inhibit-read-only. (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update. (gnus-topic-mode): Use define-minor-mode and derived-mode-p. * lisp/textmodes/reftex-index.el (reftex-display-index): Use cursor-intangible-mode if available. (reftex-index-post-command-hook): Check cursor-intangible. * lisp/textmodes/reftex-toc.el (reftex-toc): Use cursor-intangible-mode if available. (reftex-toc-recenter, reftex-toc-post-command-hook): Check cursor-intangible. * lisp/textmodes/sgml-mode.el: Use lexical-binding. (sgml-tag): Use cursor-sensor-functions instead of point-entered. (sgml-tags-invisible): Use with-silent-modifications and inhibit-read-only. Enable cursor-sensor-mode. (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to calling convention of cursor-sensor-functions. * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook) (table-point-entered-cell-hook, table-point-left-cell-hook): Don't autoload. (table-cell-entered-state): Remove var. (table--put-cell-point-entered/left-property) (table--remove-cell-properties): Use cursor-sensor-functions rather than point-entered/left. (table--point-entered/left-cell-function): Merge table--point-entered-cell-function and table--point-left-cell-function and adjust to calling convention of cursor-sensor-functions. Update ldef-boots.el * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well. * doc/misc/eieio.texi: Don't advertise now obsolete constructs Collapse successive char deletions in the undo log * src/cmds.c (remove_excessive_undo_boundaries): New function, extracted from Fself_insert_command. (Fdelete_char, Fself_insert_command): Use it. * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'. * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special. xterm and OSC 52: Add NEWS entry, and tweak the code * lisp/term/xterm.el (gui-set-selection) : Move method definition to top-level. (terminal-init-xterm-activate-set-selection): Set a terminal property. (xterm--set-selection): Use it instead of checking the value of `terminal-initted'. Don't use string-bytes. 2015-04-13 Philipp Stephani xterm.el: Implement OSC-52 functionality for setting the X selection * lisp/term/xterm.el (xterm-max-cut-length): New var. (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs. (terminal-init-xterm, xterm--version-handler): Use them. 2015-04-13 Stefan Monnier Remove left over code from when we used an obsolete/loaddefs.el file * lisp/subr.el (do-after-load-evaluation): Remove left over code from when we used an obsolete/loaddefs.el file. * lisp/cedet/semantic/fw.el (semantic-exit-on-input) (semanticdb-without-unloaded-file-searches): Use declare. (semantic-fw-add-edebug-spec): Remove. * lisp/completion.el (completion-lisp-mode-hook): Use completion-separator-chars rather than local key binding. * src/*.c: Set deactivate_mark buffer-locally (Bug#20260) * src/insdel.c (prepare_to_modify_buffer_1): * src/fileio.c (Finsert_file_contents): Set deactivate_mark buffer-locally. 2015-04-12 Fabián Ezequiel Gallina python.el: Keep symmetry on sexp navigation with parens (Bug#19954) * lisp/progmodes/python.el (python-nav--forward-sexp): Add argument skip-parens-p. (python-nav-forward-sexp, python-nav-backward-sexp) (python-nav-forward-sexp-safe) (python-nav-backward-sexp-safe): Use it. * test/automated/python-tests.el (python-nav-forward-sexp-1): Fix test. 2015-04-12 João Távora Don't use `setq-local' in Gnus code This might break upstream builds with older Emacsen * lisp/gnus/message.el (message-mode): Use `set' and `make-local-variable' instead of `setq-local'. 2015-04-12 Paul Eggert Update Makefile.in's .PHONY dependencies * Makefile.in (change-history-commit, master-branch-is-current) (no-ChangeLog): Now phony. Remove configure's --with-mmdf option * configure.ac (MAIL_USE_MMDF): Remove. * etc/NEWS: Document this. * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined. (Bug#20308) * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1. That way, 'make install' won't think it's a man page. Reported by Ashish SHUKLA in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html Improve 'make change-history' prereq tests * Makefile.in (gen_origin): Fix to match what's in the master branch. (no-ChangeLog, master-branch-is-current): New rules. (change-history): Depend on them, to avoid similar future problems. Escape the local-variables string to pacify Emacs when editing Makefile.in. 2015-04-12 Artur Malabarba * test/automated/package-test.el (with-package-test): Kill Packages buffer. * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt. (package-menu--prompt-transaction-p): Prompt for "Delete" first, "Upgrade" last, and use capitalized instead of all-caps. * lisp/emacs-lisp/package.el: Completely silence async operations. (package--make-autoloads-and-stuff): Silence autoloads. (package--save-selected-packages): New function, silences `customize-save-variable'. (package--user-selected-p, package-install-from-buffer) (package-delete, package-install): Use it. (package-install-from-archive) (package-menu--perform-transaction): Silence. (package-menu-execute): Feedback when operation starts. Use delay-mode-hooks when visiting the init-file * lisp/emacs-lisp/package.el (package--ensure-init-file): delay-mode-hooks. * lisp/cus-edit.el (custom-save-all): delay-mode-hooks. * lisp/files.el: Only message when saving if save-silently is nil. (save-silently): New variable. (files--message): New function. (find-file-noselect, save-buffer, basic-save-buffer) (basic-save-buffer-2, save-some-buffers, not-modified) (append-to-file): Use them. 2015-04-12 Johan Bockgård Support debug declarations in pcase macros * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec. (pcase-UPAT): Use it. Remove "`". (pcase--edebug-match-macro): New function. (pcase-defmacro): Support debug declarations. * lisp/emacs-lisp/cl-macs.el (cl-struct) : * lisp/emacs-lisp/eieio.el (eieio) : * lisp/emacs-lisp/pcase.el (\`): : Add debug declaration. pcase.el: Edebug support for `app' and vector patterns * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec. (pcase-UPAT): Use it. Support `app' patterns. (pcase-QPAT): Support vector patterns. edebug.el: Disambiguate vector specifications * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat `(vector ...)' as a vector specification, not as a sublist. (gnus-summary-refer-thread): Don't clobber unread articles This fixes a bug where `A T' causes "random" articles to become marked as read. * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure gnus-newsgroup-unreads remains sorted. mouse-sel.el: Fix mouse-sel-get-selection-function * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function): Use gui--last-selected-text-primary instead of no longer existing gui-last-selected-text. * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL. * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area. 2015-04-12 Artur Malabarba * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate. * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer. * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations. (byte-compile--interactive): New var. (byte-compile--message): New function. (byte-compile-log-1, byte-force-recompile) (byte-recompile-directory, byte-recompile-file) (byte-compile-file, compile-defun) (byte-compile-file-form-defmumble, byte-compile) (byte-compile-file-form-defalias, display-call-tree): Use it. * lisp/files.el: Don't message when nothing happened. (save-some-buffers, basic-save-buffer): Before messaging to say "nothing was saved" check if (called-interactively-p 'any). 2015-04-12 João Távora Summary: Improve sexp-based movement in message-mode Works by giving citations and smileys a different syntax. This helps modes like `show-paren-mode', `electric-pair-mode', and C-M-* sexp-based movement. * lisp/gnus/message.el (message--syntax-propertize): New function. (message-mode): Set syntax-related vars. (message-smileys): New variable. * test/automated/message-mode-tests.el: New file 2015-04-11 Paul Eggert Use bool for boolean in window.c * src/window.c: Omit unnecessary static function decls. (adjust_window_count, select_window, Fselect_window) (window_body_width, Fwindow_body_height, Fwindow_body_width) (set_window_hscroll, check_window_containing, Fwindow_at) (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p) (unshow_buffer, replace_window, recombine_windows) (add_window_to_list, candidate_window_p, next_window) (Fnext_window, Fprevious_window, window_loop, check_all_windows) (Fget_buffer_window, Fdelete_other_windows_internal) (replace_buffer_in_windows_safely, set_window_buffer) (Fset_window_buffer, Fforce_window_update) (temp_output_buffer_show, make_parent_window) (window_resize_check, window_resize_apply, Fwindow_resize_apply) (resize_frame_windows, Fsplit_window_internal) (Fdelete_window_internal, grow_mini_window, shrink_mini_window) (Fresize_mini_window_internal, mark_window_cursors_off) (window_scroll, window_scroll_pixel_based) (window_scroll_line_based, scroll_command, Fscroll_other_window) (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter) (Fmove_to_window_line, Fset_window_configuration) (delete_all_child_windows, apply_window_adjustment) (set_window_fringes, set_window_scroll_bars) (Fset_window_vscroll, foreach_window, foreach_window_1) (compare_window_configurations, Fcompare_window_configurations): Prefer 'bool', 'true', and 'false' for booleans. * src/window.h (WINDOW_MODE_LINE_LINES) (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value. 2015-04-11 Artur Malabarba Speed up byte-compilation and autoload generation by avoiding mode-hooks This prevents emacs-lisp-mode-hook from being run everytime an autoload file is generated, which can account for a fraction of package installation time depending on the hooks the user has configured. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks. * lisp/emacs-lisp/autoload.el (autoload-find-file) (autoload-find-generated-file): Use delay-mode-hooks. * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'. (package-menu-refresh): Respect async and do new package checking. (list-packages): Use `package-menu-refresh' instead of repeating code. * lisp/emacs-lisp/package.el: Improve package-menu-quick-help. (package--quick-help-keys): New variable. (package--prettify-quick-help-key): New function. (package-menu-quick-help): Use it. * lisp/emacs-lisp/package.el: Fix initially wrong compat table. (package--build-compatibility-table): Require finder. * test/automated/package-test.el: Fix new test. * lisp/emacs-lisp/package.el: Silence async operations. (package--silence): New variable. (package--message): New function. (package-import-keyring, package-refresh-contents) (package-compute-transaction, package-install, package-delete) (package-menu--perform-transaction, package-menu-execute): Use it. * test/automated/package-test.el: Test async functionality. (package-test-update-archives-async): New test. 2015-04-11 Daiki Ueno Utilize `make-process' in epg.el * lisp/epg.el (epg-error-output): Abolish. (epg-context): New slot `error-buffer'. (epg--start): Use `make-process' and `make-pipe-process'. (epg--process-filter): Remove code separating stderr from stdout. (epg-wait-for-completion): Simplify `error-output' handling. (epg-reset): Dispose error buffer. 2015-04-11 Paul Eggert * .gitignore: Ignore doc temps and outputs. Port commit-msg to MSYS Bash+Gawk See Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html * build-aux/git-hooks/commit-msg (cent_sign_utf8_format) (cent_sign, print_at_sign, at_sign): Revert previous change. (print_at_sign): Prepend "BEGIN". (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk. Port commit-msg to broken MS-Windows shell * build-aux/git-hooks/commit-msg (cent_sign): Just use UTF-8 here rather than ASCII + printf, as the latter fails on a broken MS-Windows shell. Reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html 2015-04-11 Chris Zheng (tiny change) Support GnuTLS v3.4 and later on MS-Windows * src/gnutls.c (syms_of_gnutls) : New DEFSYM. * lisp/term/w32-win.el (dynamic-library-alist): Determine which GnuTLS DLL to load according to value of libgnutls-version. (Bug#20294) 2015-04-11 Paul Eggert Minor quoting etc. fixes to misc manuals Fix some minor quoting and spacing issues. Distinguish more clearly among grave accent and apostrophe (which are ASCII) and single quote (which is not). Prefer the standard terms "apostrophe" and "grave accent" to alternative names that can be confusing. Use apostrophes to single-quote ASCII text. * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8 rather than approximating it in ASCII with grave accent. 2015-04-11 Daiki Ueno Respect more keyword args in `make-process' * src/process.c (Fmake_process): Respect `:sentinel' and `:filter' keywords as documented. 2015-04-10 Dmitry Gutov Extract ChangeLog entries when committing a directory * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment. * lisp/vc/log-edit.el (log-edit-changelog-insert-entries): Add a FIXME comment. (log-edit-changelog-entries): Extract from `log-edit-changelog-entries', handle FILE being a directory (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html). 2015-04-10 Paul Eggert Fix problems found by --enable-gcc-warnings * src/process.c (create_process, Fmake_pipe_process) (Fmake_network_process): Omit unused locals. Fix commit-msg to handle scissors lines * build-aux/git-hooks/commit-msg: Ignore every line after a scissors line, such as a line generated by 'git commit -v'. Problem reported by Johan Bockgård in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html port commit-msg to Gawk 3.0.4 (1999) * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign) (print_at_sign, at_sign): New vars. Use them to avoid problems Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS. See: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html Have commit-msg report commit failure * build-aux/git-hooks/commit-msg: If the commit is aborted, say so. Simplify by doing this at the end. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html 2015-04-10 Thomas Fitzsimmons Clean up LDAP Configuration section of EUDC manual * doc/misc/eudc.texi: Combine indices. (LDAP Configuration): Use command markup. Add index entries. Change formatting. Wrap long lines. Add noindent markup. 2015-04-10 Daiki Ueno Add facility to collect stderr of async subprocess * src/w32.h (register_aux_fd): New function declaration. * src/w32.c (register_aux_fd): New function. * src/process.h (struct Lisp_Process): New member stderrproc. * src/process.c (PIPECONN_P): New macro. (PIPECONN1_P): New macro. (Fdelete_process, Fprocess_status, Fset_process_buffer) (Fset_process_filter, Fset_process_sentinel, Fstop_process) (Fcontinue_process): Handle pipe process specially. (create_process): Respect p->stderrproc. (Fmake_pipe_process): New function. (Fmake_process): Add new keyword argument :stderr. (wait_reading_process_output): Specially handle a pipe process when it gets an EOF. (syms_of_process): Register Qpipe and Smake_pipe_process. * doc/lispref/processes.texi (Asynchronous Processes): Document `make-pipe-process' and `:stderr' keyword of `make-process'. * lisp/subr.el (start-process): Suggest to use `make-process' handle standard error separately. * test/automated/process-tests.el (process-test-stderr-buffer) (process-test-stderr-filter): New tests. * etc/NEWS: Mention new process type `pipe' and its usage with the `:stderr' keyword of `make-process'. 2015-04-10 Paul Eggert Minor quoting etc. fixes to lispref manual * doc/lispref/tips.texi (Documentation Tips): Distinguish more clearly among grave accent, apostrophe, and single quote. * doc/lispref/README, doc/lispref/buffers.texi: * doc/lispref/commands.texi, doc/lispref/control.texi: * doc/lispref/customize.texi, doc/lispref/display.texi: * doc/lispref/elisp.texi, doc/lispref/files.texi: * doc/lispref/frames.texi, doc/lispref/hash.texi: * doc/lispref/help.texi, doc/lispref/internals.texi: * doc/lispref/loading.texi, doc/lispref/makefile.w32-in: * doc/lispref/markers.texi, doc/lispref/modes.texi: * doc/lispref/nonascii.texi, doc/lispref/objects.texi: * doc/lispref/os.texi, doc/lispref/positions.texi: * doc/lispref/strings.texi, doc/lispref/syntax.texi: * doc/lispref/text.texi, doc/lispref/tips.texi: * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi: Use American-style double quoting in ordinary text, and quote 'like this' when single-quoting in ASCII text. Also, fix some minor spacing issues. 2015-04-10 Michael Albinus Handle symlinked test directory in tramp-tests.el * test/automated/tramp-tests.el (tramp-test18-file-attributes) (tramp--test-check-files): Use `file-truename' for directories. 2015-04-10 Eli Zaretskii Fix 'recenter' when visual-line-mode is turned on * src/window.c (Frecenter): Use the same code for GUI and TTY frames alike; use vmotion only for "initial" frames. This is because vmotion doesn't support visual-line-mode. Rewrite the 'iarg >= 0' case to use move_it_* functions instead of using vmotion, for the same reason. Fix the clipping of the argument value to support scroll-margin in all cases and avoid unwarranted recentering. Reported by Milan Stanojević in http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html, which see. 2015-04-09 Stefan Monnier * lisp/abbrev.el (define-abbrev-table): Refine last change. * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize use of c[ad]+r", so as to keep the "cl-" prefix on all cl-lib definitions. * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks. * lisp/cedet/semantic: Remove some dead code. * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-header-line-format): Emacs<22 is not supported any more. * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is not supported any more. (semantic-safe): Use `declare'. * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible) (semantic-tag-intangible-p): Remove unused functions. * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges): Remove unused function. * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify. (gnus-article-hide-text, gnus-article-unhide-text) (gnus-article-unhide-text-type): Remove special handling of `intangible' since that property is not used any more. (gnus-article-treat-body-boundary): Use gnus-hidden-properties. 2015-04-09 Dmitry Gutov Use the VC root in `log-edit-listfun' * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in `log-edit-listfun'. 2015-04-09 Jay Belanger Fix description of Unix time, mention new function. * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for Unix time. * doc/misc/calc.texi (Date Forms): Fix description of Unix time. (Basic Operations on Units): Mention `calc-convert-exact-units'. 2015-04-09 Artur Malabarba * lisp/emacs-lisp/package.el: Use mode-line-process for notification. 2015-04-09 Dmitry Gutov * lisp/vc/log-edit.el (log-edit-insert-changelog-entries): Don't add newline after the last entry. 2015-04-09 Simen Heggestøyl css-mode.el: Add "not" pseudo-class (Bug#20267) * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to list of CSS pseudo-classes. 2015-04-09 Stefan Monnier * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var". 2015-04-09 Michael Albinus Stop messing with the EMACS env var * doc/emacs/misc.texi (Interactive Shell): Remove description of EMACS env var. 2015-04-09 Paul Eggert Adapt 'make change-history' to coding cookie * Makefile.in (change-history): Adjust to change of format of ChangeLog file, which now has a coding cookie before an indented copyright notice. 2015-04-09 Paul Eggert Adapt 'make change-history' to coding cookie * Makefile.in (change-history): Adjust to change of format of ChangeLog file, which now has a coding cookie before an indented copyright notice. gitlog-to-changelog coding cookie and mv -i * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in, for copyright notice prototype, so that we get a proper "coding:" cookie. Use 'mv -i' to avoid unconditionally overwriting an existing ChangeLog. Problems reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html Merge from gnulib * build-aux/gitlog-to-changelog: Update from gnulib, incorporating: 2015-04-09 gitlog-to-changelog: port to MS-Windows 2015-04-09 Boruch Baum (tiny change) * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop. (Bug#20212) 2015-04-09 Stefan Monnier Stop messing with the EMACS env var (Bug#20202) * lisp/net/tramp-sh.el (tramp-remote-process-environment): * lisp/comint.el (comint-exec-1): * lisp/term.el (term-exec-1): Don't set EMACS envvar. * lisp/progmodes/compile.el (compilation-start): Same and bring INSIDE_EMACS's format in line with other users. css-mode.el (css-smie-rules): Fix indentation after complex selectors (Bug#20282) * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by inner structure of selectors. 2015-04-08 Fabián Ezequiel Gallina python.el: Indent docstring lines to base-indent (Bug#19595) Thanks to immerrr for reporting and providing an initial patch. * lisp/progmodes/python.el (python-indent-context): Add :inside-docstring context. (python-indent--calculate-indentation): Handle :inside-docstring. (python-indent-region): Re-indent docstrings. * test/automated/python-tests.el (python-indent-region-5) (python-indent-inside-string-2): Fix tests. python.el: Increase native completion robustness (Bug#19755) Thanks to Carlos Pita for reporting this and providing useful ideas. * lisp/progmodes/python.el (python-shell-completion-native-output-timeout): Increase value. (python-shell-completion-native-try-output-timeout): New var. (python-shell-completion-native-try): Use it. (python-shell-completion-native-setup): New readline setup avoids polluting current context, ensures output when no-completions are available and includes output end marker. (python-shell-completion-native-get-completions): Trigger with one tab only. Call accept-process-output until output end is found or python-shell-completion-native-output-timeout is exceeded. 2015-04-08 Samer Masterson * lisp/eshell: Make backslash a no-op in front of normal chars (Bug#8531) * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment. (eshell-parse-backslash): Return escaped character after backslash if it is special. Otherwise, if the backslash is not in a quoted string, ignore the backslash and return the character after; if the backslash is in a quoted string, return the backslash and the character after. * test/automated/eshell.el (eshell-test/escape-nonspecial) (eshell-test/escape-nonspecial-unicode) (eshell-test/escape-nonspecial-quoted) (eshell-test/escape-special-quoted): Add tests for new `eshell-parse-backslash' behavior. 2015-04-08 Gustav Hållberg (tiny change) * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB after the file name. (Bug#20276) 2015-04-08 Paul Eggert Minor quoting etc. fixes to Emacs manual * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi: * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi: * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi: * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi: * doc/emacs/indent.texi, doc/emacs/macos.texi: * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in: * doc/emacs/programs.texi, doc/emacs/rmail.texi: * doc/emacs/search.texi, doc/emacs/trouble.texi: * doc/emacs/vc1-xtra.texi: Use American-style double quoting in ordinary text, and quote 'like this' when single-quoting in ASCII text. Also, fix some minor spacing issues. Minor quoting etc. fixes to elisp intro * doc/lispintro/emacs-lisp-intro.texi: Consistently use American-style double quoting in ordinary text. In ASCII text, consistently quote 'like this' instead of `like this', unless Emacs requires the latter. 2015-04-08 Dmitry Gutov * CONTRIBUTE: Mention log-edit-insert-changelog. * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually. 2015-04-08 Paul Eggert * doc/misc/calc.texi (Summary): Avoid '@:' when usurped. 2015-04-08 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass): Fix inheritance of initargs. (Bug#20270) 2015-04-08 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification while dowloading information. * lisp/emacs-lisp/package.el: More conservative `ensure-init-file' (package--ensure-init-file): Check file contents before visiting. (package-initialize): Call it. (package-install-from-buffer, package-install): Don't call it. 2015-04-08 Eli Zaretskii * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800. (Bug#17517) 2015-04-08 Michael Albinus * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug. 2015-04-08 Tassilo Horn Add notice to visual commands section * doc/misc/eshell.texi (Input/Output): Add notice that some tools such as git call less with its -F option which omits pagination if the contents is less than one page long. This interferes with eshell's visual (sub-)commands. 2015-04-07 Dmitry Gutov * lisp/ffap.el (ffap-string-at-point-mode-alist): Support environment variable expansion in file names. (Bug#19839) 2015-04-07 Paul Eggert Prefer double-quote to accent-grave in man pages 2015-04-07 Stefan Monnier (Bug#20257) * lisp/files.el (set-visited-file-name): Clear auto-save if nil. 2015-04-07 Ivan Shmakov Update etc/PROBLEMS. * etc/PROBLEMS: Mention visible-cursor; a few more mentions of ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and 'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows', respectively); other minor updates and tweaks. (Bug#20011) 2015-04-07 Paul Eggert Add doc strings for some Isearch state vars * lisp/misearch.el (multi-isearch-buffer-list) (multi-isearch-file-list): Add doc strings. (Bug#20232) 2015-04-07 Alan Mackenzie Always mark "<" and ">" in #include directives with text properties. * lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock "anchored matcher" with an invocation of c-make-font-lock-search-function to allow fontification when there's no trailing space on an "#include <..>" line. 2015-04-07 Paul Eggert Generate a ChangeLog file from commit logs * .gitignore: Add 'ChangeLog'. * build-aux/gitlog-to-changelog: New file, from Gnulib. * build-aux/gitlog-to-emacslog: New file. * CONTRIBUTE: Document the revised workflow. * Makefile.in (clean): Remove *.tmp and etc/*.tmp* instead of just special cases. (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars. (ChangeLog, unchanged-history-files, change-history) (change-history-commit): New rules. * admin/admin.el (make-manuals-dist--1): Don't worry about doc/ChangeLog. * admin/authors.el: Add a FIXME. * admin/make-tarball.txt: * lisp/calendar/icalendar.el: * lisp/gnus/deuglify.el: * lisp/obsolete/gulp.el: * lwlib/README: Adjust to renamed ChangeLog history files. * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog. * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr. Remove obsolete discussion of merging ChangeLog files. New section "Maintaining ChangeLog history". * build-aux/git-hooks/pre-commit: Reject attempts to commit files named 'ChangeLog'. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * make-dist: Make and distribute top-level ChangeLog if there's a .git directory. Distribute the new ChangeLog history files instead of scattered ChangeLog files. Distribute the new files gitlog-to-changelog and gitlog-to-emacslog. (Bug#19113) Rename ChangeLogs for gitlog-to-changelog This patch was implemented via the following shell commands: find * -name ChangeLog | sed 's,.*,git mv & &.1, s, lisp/ChangeLog\.1$, lisp/ChangeLog.17, s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09, s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3, s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2, s, src/ChangeLog\.1$, src/ChangeLog.13,' | sh git commit -am"[this commit message]" This file records repository revisions from commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to commit 8a8613bcf4227dfe46a694b761e9575bdf6ca2ce (inclusive). See ChangeLog.1 for earlier changes. ;; Local Variables: ;; coding: utf-8 ;; End: Copyright (C) 2015-2016 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see .