2016-12-07 Paul Eggert Merge from origin/emacs-25 eeecac7 Fix minor quoting problems in doc strings 2016-12-07 Paul Eggert Merge from origin/emacs-25 35ce3fb Don't assume window-point and point are the same 2016-12-07 Paul Eggert Merge from origin/emacs-25 ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change. ... 8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix. (Bug#25046) c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change. 93d8346 Improve indexing of 'man' 2016-12-07 Paul Eggert Merge from origin/emacs-25 d31298d Fix documentation of `window-combination-resize' 2086f4c Typo fixes in elisp manual 2016-12-07 Paul Eggert Merge from origin/emacs-25 3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ... 5878abf Fix 'expand-file-name' during startup on MS-Windows 2016-12-07 Paul Eggert Merge from origin/emacs-25 9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition. 6d27423 Tweak refcard note about documentation location e46a134 Improve treatment of Fortran's "class is" 2016-12-07 Paul Eggert Merge from origin/emacs-25 93c0f51 Handle TeX comments when making new paragraph e0884f1 Restore keystroke echo in 'C-q' a6213ce Improve documentation of 'current-word' 0828126 Fix a typo in an Eshell defcustom 2e361c7 Minor copyedits of electric-pair-mode 7499ee8 ; Minor copyedit in the Emacs manual 45b652b Fix documentation of 'invocation-directory' 7f43d7c * admin/authors.el (authors-aliases): Add an entry. ba48880 ; Fix pl-refcard.tex 2016-12-07 Paul Eggert Merge from origin/emacs-25 7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary. 2016-12-07 Paul Eggert Merge from origin/emacs-25 3d63b48 Update ChangeLog files and authors.el 9d30264 Fix menu bindings of Dired 'A' and 'Q' commands a725592 Avoid errors in shr-pixel-column due to dedicated windows 3138598 Update format-time-string documentation 2016-12-07 Sam Steingold delete-trailing-whitespace: handle read-only text in buffer * lisp/simple.el (region-modifiable-p): New function. (delete-trailing-whitespace): Us it to avoid trying to delete read-only text. 2016-12-07 Paul Eggert Fix minor quoting problems in doc strings 2016-12-07 Paul Eggert Fix --enable-gcc-warnings --with-ns on Fedora * src/Makefile.in (NON_OBJC_CFLAGS): New macro. (ALL_OBJC_CFLAGS): Use it. (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS. (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it. 2016-12-07 Michael Albinus Fix problems in quoting Tramp file names * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result. (tramp-unquote-shell-quote-argument): New defun. (tramp-shell-quote-argument): * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) (tramp-make-copy-program-file-name): * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory) (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl) (tramp-smb-shell-quote-argument): Use it. 2016-12-07 Tino Calancha ibuffer-map-deletion-lines: Re-included it It was deleted in previous commit, but it's referenced by the macro 'define-ibuffer-op'. * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it. 2016-12-07 Tino Calancha ibuffer-unmark-all: simplify code * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it. (ibuffer-unmark-all): Simplify code. 2016-12-07 Tino Calancha define-ibuffer-filter: Discard wrong filters * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042). * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test. 2016-12-07 Philipp Stephani * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring so that it matches the actual implementation. See https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html 2016-12-07 Tino Calancha ibuffer-decompose-filter-group avoid unwanted side effects * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it. (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'. All callers changed (Bug#25058). * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test. 2016-12-07 Tino Calancha ibuffer-unmark-backward: Unmark the region when is active * lisp/ibuffer.el (ibuffer-unmark-backward): Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward' with the region boundary as the first 2 arguments (Bug#24987). 2016-12-07 Nicolas Petton Docstring improvement for seq-some (bug#25129) * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing regarding the returned value. 2016-12-07 Tino Calancha dired-unmark-backward: Unmark the region when is active * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with a non-nil second argument (Bug#24986). 2016-12-07 Tino Calancha New test file for ediff Fix previous commit. * test/lisp/vc/ediff-ptch-tests.el: New test. 2016-12-07 Tino Calancha ediff-context-diff-label-regexp: Detect the end of second file * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip '\n' in file names (Bug#25010). * test/lisp/vc/ediff-ptch-tests.el: New file. (ibuffer-test-bug25010): Add test for Bug#25010. 2016-12-07 Tino Calancha ibuffer-decompose-filter: Avoid side effects on error * lisp/ibuf-ext.el (ibuffer-decompose-filter): Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997). * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Update test result as pass. 2016-12-07 Tino Calancha ibuffer: compare marks with EQ * lisp/ibuffer (ibuffer-update-title-and-summary, ibuffer-redisplay-current) (ibuffer-buffer-name-face, ibuffer-unmark-all) (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark): Use 'eq' instead of 'char-equal' when comparing mark characters (Bug#25000). * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Update test result as pass. 2016-12-07 Christopher Genovese ibuffer-saved-filters: Remove extra nesting level Fix Bug#25049. * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra nesting level; add transparent setter to adjust old-format values; update doc string. (ibuffer-save-filters): Remove extra level of nesting in ibuffer-saved-filters values when saving new filters. (ibuffer-old-saved-filters-warning): New variable with clickable message with repair options to be displayed as a warning if 'ibuffer-repair-saved-filters' detects a format mismatch. (ibuffer-repair-saved-filters): Add new command to check and repair saved filters format. (ibuffer-included-in-filter-p, ibuffer-decompose-filter): Change access of saved filter data (cadr->cdr) to account for reduced nesting. * test/lisp/ibuffer-tests.el (ibuffer-save-filters): New test; check that filters are saved in the proper format. 2016-12-06 Paul Eggert Clean out some IRIX cruft * etc/MACHINES: Remove obsolete discussion of IRIX. * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code. (create_process) [HAVE_PTYS]: Don't worry about IRIX. * src/syntax.c (scan_sexps_forward): Remove obsolete comment. * src/unexelf.c [__sgi]: Don't include . (unexec) [__sgi]: Remove SGI-specific code. 2016-12-06 Paul Eggert Simplify FUNCTIONP implementation * src/bytecode.c (exec_byte_code): * src/image.c (parse_image_spec): Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)). * src/eval.c (FUNCTIONP): Move here ... * src/lisp.h: ... from here. No longer inline, as that bloats the text and does not help speed (at least on my platform). (functionp): Remove this name, since callers use FUNCTIONP. 2016-12-06 Noam Postavsky Don't assume window-point and point are the same The function `cursor-sensor--detect' calls `bobp' to decide whether to check properties at (1- (window-point)). However, (window-point) may be at beginning of buffer, even if (point) is not. In this case an `args-out-of-range' error will be signaled (Bug#25104). * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the value of (window-point) against (point-min), rather than (bobp) to decide if (1- (window-point)) is accessible. 2016-12-06 Noam Postavsky Give test-completion's PREDICATE the hashtable key For hashtable entries with symbol keys, `test-completion' would convert the key to a string before calling PREDICATE, unlike `try-completion' and `all-completions'. * src/minibuf.c (Ftest_completion): Pass original key from hashtable. 2016-12-06 Noam Postavsky Give test-completion's PREDICATE full alist entry Since 2016-06-26 "Fix test-completion with completion-regexp-list", when calling test-completion with an alist collection, the predicate was recieving the string value instead of the alist entry (Bug#24966). * src/minibuf.c (Ftest_completion): Don't modify the found element, just test STRING against `completion-regexp-list'. * test/src/minibuf-tests.el: New tests for `try-completion', `all-completions', and `test-completion'. 2016-12-06 Noam Postavsky Fix ert-tests when running compiled * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for specific macroexpansion, just check result of evaluation. (ert-test-record-backtrace): Don't hardcode representation of closure in expected backtrace, this lets the test succeed even when the test code is compiled. * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass `byte-compile-macro-environment' to `macroexpand', this allows the `should' macro to properly handle macroexpansion of macros that were defined in the same file when it's being compiled (Bug #17851). 2016-12-06 Glenn Morris Make "g" in vc push/pull buffers re-push/pull * lisp/vc/vc-bzr.el (vc-bzr--pushpull): * lisp/vc/vc-git.el (vc-git--pushpull): * lisp/vc/vc-hg.el (vc-hg--pushpull): Set compile-command so that "g" works. (Bug#11446) 2016-12-06 Paul Eggert Change two _Noreturn functions to return void This is a bit clearer than _Noreturn functions that (do not) return a non-void type. * src/callproc.c (call_process) [MSDOS]: Use 'status' local to record status. (child_setup): Return CHILD_SETUP_TYPE. * src/data.c, src/lisp.h (wrong_type_argument): Return void. All callers changed. * src/lisp.h (CHILD_SETUP_TYPE): New macro. 2016-12-05 Paul Eggert Fix GPG bug introduced by Oct file-missing change Problem with visiting nonexistent .gpg file reported by Herbert J Skuhra. * lisp/epa-file.el (epa-file--find-file-not-found-function): (epa-file-insert-file-contents, epa-file-write-region): Signal file-missing or file-error instead of epa-error. 2016-12-05 Glenn Morris Tweak recent flymake change * lisp/progmodes/flymake.el (flymake-report-fatal-status): Avoid double message when flymake-log-level >= 0. * doc/misc/flymake.texi (Customizable variables): No longer mention flymake-gui-warnings-enabled. 2016-12-05 Katsumi Yamaoka Make TAB and M-TAB run widget-forward and widget-backward (bug#25091) * lisp/gnus/mm-decode (mm-convert-shr-links): Avoid `shr-next-link' and `shr-previous-link' so TAB and M-TAB run `widget-forward' and `widget-backward' instead (bug#25091). 2016-12-05 Michael Albinus Remove compat code in Tramp * lisp/net/tramp.el (tramp-parse-time-months): Remove. * lisp/net/tramp-compat.el (top): Require parse-time. * lisp/net/tramp-smb.el (tramp-smb-read-file-entry): Use `parse-time-months'. 2016-12-05 Martin Rudalics Don't try to split side windows in ibuffer (Bug#25115) * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to split a side window (Bug#25115). 2016-12-04 Paul Eggert * src/lisp.h: Update comment to kick -Og down the road. 2016-12-04 Mark Oteiza More image-dired refactoring * lisp/image-dired.el: Remove TODO comment. This appears to have been implemented in 5d7433a "image-dired: Signal an error before calling a missing executable". (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier. Add :version. (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and when. Remove superfluous call to image-dired-thumb-name. Move single nil binding and setq into dolist form. 2016-12-04 Michael Albinus Implement quoting the local part of a remote file name * doc/emacs/files.texi (Quoted File Names): * etc/NEWS: Mention quoting the local part of a remote file name. * lisp/net/tramp.el (tramp-dissect-file-name): Check with `tramp-tramp-file-p'. (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name): New defsubst. (tramp-handle-substitute-in-file-name) (tramp-handle-make-auto-save-file-name): Handle quoted files. (tramp-shell-quote-argument): Unquote argument. * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Handle quoted files. * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar. (tramp--test-make-temp-name): New argument QUOTED. (tramp-test01-file-name-syntax) (tramp-test02-file-name-dissect) (tramp-test04-substitute-in-file-name) (tramp-test05-expand-file-name, tramp-test07-file-exists-p) (tramp-test08-file-local-copy) (tramp-test09-insert-file-contents) (tramp-test10-write-region, tramp-test11-copy-file) (tramp-test12-rename-file, tramp-test13-make-directory) (tramp-test14-delete-directory, tramp-test15-copy-directory) (tramp-test16-directory-files) (tramp-test17-insert-directory) (tramp-test18-file-attributes) (tramp-test19-directory-files-and-attributes) (tramp-test20-file-modes, tramp-test21-file-links) (tramp-test22-file-times, tramp-test23-visited-file-modtime) (tramp-test24-file-name-completion, tramp-test25-load) (tramp-test26-process-file, tramp-test27-start-file-process) (tramp-test28-shell-command, tramp-test30-vc-registered) (tramp-test31-make-auto-save-file-name) (tramp--test-check-files) (tramp-test35-asynchronous-requests): Test also quoted file names. (tramp--test-shell-command-to-string-asynchronously): Rename. (tramp-test29-environment-variables): Use it. 2016-12-04 Tino Calancha Fix typo in dired-omit-case-fold-p * lisp/dired-x.el (dired-omit-case-fold-p): Write 'file-name-case-insensitive-p' instead of 'file-name-case-sensitive-p'. Add declaration of 'file-name-case-insensitive-p'. 2016-12-04 Simen Heggestøyl Add HTML5 attributes for the input element * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes for the input element. 2016-12-03 Glenn Morris Obsolete sc-load-hook in favor of eval-after-load * lisp/mail/supercite.el (sc-load-hook): Make obsolete. * doc/misc/sc.texi (Getting Connected, Filling Cited Text): No longer mention sc-load-hook. 2016-12-03 Glenn Morris Obsolete calendar-load-hook in favor of eval-after-load * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete. (calendar): Doc fix - no longer mention calendar-load-hook. * doc/emacs/cal-xtra.texi (Calendar Customizing): No longer mention calendar-load-hook. * doc/lispintro/emacs-lisp-intro.texi (X11 Colors): Replace calendar-load-hook in example with with-eval-after-load. 2016-12-03 Glenn Morris Fix markup in read-multiple-choice doc (Bug#25102) * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix. 2016-12-03 Glenn Morris Stop flymake using dialog boxes for errors (Bug#16622) * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled): Mark as obsolete. (flymake-display-warning): Turn into an obsolete alias. (flymake-report-fatal-status): Just use message for a warning that was formerly displayed by default. 2016-12-03 Mark Oteiza Clean up keymap and menu code in image-dired A function to populate these maps is not necessary, just define the maps once and for all. * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt clearer and in the spirit of dired's. (image-dired-define-display-image-mode-keymap): (image-dired-define-thumbnail-mode-keymap): Remove. (image-dired-thumbnail-mode-map): (image-dired-thumbnail-mode-line-up-map): (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode menu code from the aforementioned removed functions. Reorder so that the definitions are inherited properly. (image-dired-display-current-image-sized): Fix erroneous message. (image-dired-thumbnail-mode): (image-dired-display-image-mode): Remove defunct call. 2016-12-03 Michael Albinus Mention `file-name-case-insensitive-p' as magic file name * doc/lispref/files.texi (Magic File Names): Mention `file-name-case-insensitive-p'. * doc/lispref/variables.texi (Connection Local Variables): Fix typo. 2016-12-03 Mark Oteiza Clean up uses of cl-foo in image-dired Both instances here are just emulating cl-find-if. * lisp/image-dired.el: Use cl-lib at compile time. (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top. Replace the cl-foo instances with equivalent cl-loops. 2016-12-03 Eli Zaretskii Avoid compilation warnings in nt/*.c files * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn) (console_event_handler): Add prototypes. (canon_filename, skip_space, skip_nonspace, get_next_token) (batch_file_p, search_dir, make_absolute, try_dequote_cmdline) (spawn, get_env_size): Now static. * nt/ddeclient.c (DdeCallback): Provide prototype. * nt/addpm.c (DdeCallback): Provide prototype. (add_registry): Now static. 2016-12-02 Mark Oteiza Display window before calculating width * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer before calling image-dired-line-up and friends, which in turn calculate the window width. Otherwise, the thumbnail layout will be wrong in a side-by-side split. 2016-12-02 Mark Oteiza Use pop-to-buffer-same-window * lisp/image-dired.el (image-dired-dired-with-window-configuration): (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer, use pop-to-buffer-same-window cf. Bug#22244. (image-dired-forward-image, image-dired-backward-image): Ignore unused. 2016-12-02 Noam Postavsky Document watchpoints * doc/lispref/debugging.texi (Variable Debugging): * doc/lispref/variables.texi (Watching Variables): New section. * etc/NEWS: Add entry for watchpoints 2016-12-02 Noam Postavsky Add tests for watchpoints * test/src/data-tests.el (data-tests-variable-watchers): (data-tests-local-variable-watchers): New tests. 2016-12-02 Noam Postavsky Ensure redisplay using variable watcher This replaces looking up the variable name in redisplay--variables when setting it. * lisp/frame.el: Replace redisplay--variables with add-variable-watcher calls. * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay, set the redisplay flag unconditionally. (Vredisplay__variables): Remove it. * src/data.c (set_internal): Remove maybe_set_redisplay call. 2016-12-02 Noam Postavsky Add function to trigger debugger on variable write * lisp/emacs-lisp/debug.el (debug-on-variable-change): (debug--variable-list): (cancel-debug-on-variable-change): New functions. (debugger-setup-buffer): Add watchpoint clause. 2016-12-02 Noam Postavsky Show watchpoints when describing variables * src/data.c (Fget_variable_watchers): New function. * lisp/help-fns.el (describe-variable): Use it to detect watching functions. 2016-12-02 Noam Postavsky Add lisp watchpoints This allows calling a function whenever a symbol-value is changed. * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P): (SYMBOL_TRAPPED_WRITE_P): New function/macro. (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically. (enum symbol_trapped_write): New enumeration. (struct Lisp_Symbol): Rename field constant to trapped_write. (make_symbol_constant): New function. * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher): (set_symbol_trapped_write, restore_symbol_trapped_write): (harmonize_variable_watchers, notify_variable_watchers): New functions. * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped symbols. (set_internal): Change bool argument BIND to 3-value enum and call `notify_variable_watchers' for trapped symbols. * src/data.c (syms_of_data): * src/data.c (syms_of_data): * src/font.c (syms_of_font): * src/lread.c (intern_sym, init_obarray): * src/buffer.c (syms_of_buffer): Use make_symbol_constant. * src/alloc.c (init_symbol): * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P. * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable): (Fmake_variable_frame_local): * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's trapped_write instead of constant. (Ffuncall): Move subr calling code into separate function. (funcall_subr): New function. 2016-12-02 Glenn Morris Starting doc of user options with "*" is long obsolete * lisp/battery.el (battery-upower-device): Doc fix. 2016-12-02 Nicolas Petton Fix bug#25087 * etc/themes/manoj-dark-theme.el: Fix two typos. (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e) 2016-12-02 Reuben Thomas Fix docstrings to have a complete sentence in first line * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix docstrings. 2016-12-02 Reuben Thomas Remove obsolete comments and commented code from dired-x.el * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its 1997 answer about whether dired-mark-sexp is used. * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function commented out since before dired-x.el was added to RCS in 1994. 2016-12-02 Reuben Thomas Remove pre-customize dired-x.el documentation * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to use dired-x from .emacs. It is now fully customizable. * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of how to set this custom variable in .emacs. It should be customized. 2016-12-02 Reuben Thomas Allow files to be matched case-sensitively in dired-x * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which controls case folding for matching the regex (Bug#18716). (dired-omit-case-fold): New variable. Defaults to `t' on case-sensitive systems, `nil' otherwise. (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold. * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold. 2016-12-02 Reuben Thomas Add support for curly quotation marks to electric-pair-mode * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add entries for left/right single/double quotation marks, from electric-quote-chars. Note that this is safe for single quotation marks, unlike with the ASCII apostrophe, since, although the right quotation mark can be used as an apostrophe, it is the left quotation mark that is typed to get a pair (Bug#24901). 2016-12-02 Nicolas Petton Fix bug#25087 * etc/themes/manoj-dark-theme.el: Fix two typos. 2016-12-02 Michael Albinus Handle quoted file names in Tramp * lisp/net/tramp.el (tramp-file-name-handler): Handle also the case the file name is quoted. This is not trapped by the reassigned `tramp-file-name-regexp' anymore. 2016-12-02 Evgeny Zajcev * lisp/battery.el: Add 'battery-upower' -- very fast battery status. 2016-12-02 Evgeny Zajcev Support for rawrgb images using imagemagick * src/image.c (imagemagick_load_image): Set wand size before loading blob when ':width' and ':height' are provided. * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'. 2016-12-02 Nikolay Kudryavtsev Fix 'sql-connect' on first invocation * lisp/progmodes/sql.el (sql-connect): Reorder code which sets param-var. (Bug#19452) 2016-12-02 Eli Zaretskii * lisp/vc/ediff-util.el (ediff-janitor): Doc fix. (Bug#25046) 2016-12-02 Eli Zaretskii Improve indexing of 'man' * doc/emacs/programs.texi (Man Page): Index 'man', not 'manual-entry', as the latter is an alias for the former. Suggested by Hong Xu . (Bug#25033) 2016-12-01 Paul Eggert Port to Sun C 5.14 Backport from master. Sun C 5.14 supports C11 but not GCC extensions, and so refuses to compile Emacs without this patch. * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in general this macro is restricted to signed types. 2016-12-01 Paul Eggert Fix type typo on Solaris * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]: Fix type mismatch, caught by --enable-check-lisp-object-type. 2016-12-01 Paul Eggert Merge from gnulib This incorporates: 2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned 2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros. * build-aux/snippet/c++defs.h: * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c: Copy from gnulib. 2016-12-01 Paul Eggert Make struct font_drivers read-only This simplifies the code a bit, and makes the structs more shareable and less likely to become corrupt. * src/alloc.c (cleanup_vector): * src/font.c (valid_font_driver, font_prepare_cache) (font_finish_cache, font_get_cache, font_clear_cache) (register_font_driver, font_update_drivers): * src/font.h (struct font, struct font_driver_list) (valid_font_driver): struct font_drivers are now const. * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c: Omit no-longer-necessary decls. * src/ftcrfont.c (syms_of_ftcrfont): * src/ftxfont.c (syms_of_ftxfont): * src/xftfont.c (syms_of_xftfont): Omit no-longer-necessary initialization code. * src/ftcrfont.c (ftcrfont_driver): * src/ftfont.c (ftfont_driver): * src/ftxfont.c (ftxfont_driver): * src/macfont.m (macfont_driver): * src/nsfont.m (nsfont_driver): * src/xfont.c (xfont_driver): * src/xftfont.c (xftfont_driver): Use C99-style initializer for ease of maintenance, and make it const. * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c: Refer to functions like ftfont_text_extents directly. * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family) (ftfont_has_char, ftfont_encode_char, ftfont_text_extents) (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability) (ftfont_variation_glyphs, ftfont_filter_properties) (ftfont_combining_capability): * src/xfont.c (xfont_get_cache): Now extern, so that other modules’ struct font_drivers can use them directly. * src/macfont.m (macfont_descriptor_entity): * src/nsfont.m (nsfont_open): Use constant directly; this is clearer. 2016-12-01 Richard Stallman Fix mail-combine-fields * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to avoid losing our place in the search loop. (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808) 2016-12-01 Helmut Eller Forth related improvements for etags Generate correct tags names for things like "(foo)". Previously "(foo" created. Fix a bug where a tag for "-bar" was created when encountering things like "create-bar". Recognize more words from the Forth-2012 Standard. * lib-src/etags.c (Forth_words): Check for whitespace after defining words. Create tag with make_tag instead of get_tag to avoid notiname which isn't appropriate for Forth. * test/manual/etags/forth-src/test-forth.fth: Add some test cases. * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and new test cases. 2016-12-01 Eli Zaretskii Fix bugs with buffer-local tags tables * lisp/progmodes/etags.el (visit-tags-table): After 'visit-tags-table-buffer' returns, retrieve the value of 'tags-file-name' from the buffer we started in. Force recomputation of 'tags-completion-table' next time it is used, since the list of tags table has changed. (visit-tags-table-buffer): Accept an additional optional argument CBUF, the buffer in which to start processing, and switch to that buffer if CBUF is non-nil. All callers changed to supply a non-nil CBUF when they call 'visit-tags-table-buffer' in a loop. Doc fix. (tags-completion-table): Accept an optional argument, the buffer for which to build 'tags-completion-table', and build that buffer's completion table. (tags-lazy-completion-table): Pass the current buffer to 'tags-completion-table'. (tags-file-name): Don't say in the doc string that setting this variable directly is enough; say that 'visit-tags-table' should be used for that. (Bug#158) (Bug#17326) (Bug#23164) * doc/emacs/maintaining.texi (Select Tags Table): Delete the advice to set 'tags-file-name' directly. * test/lisp/progmodes/etags-tests.el: New tests. 2016-12-01 Martin Rudalics Fix documentation of `window-combination-resize' * src/window.c (Vwindow_combination_resize): Fix doc-string. * doc/lispref/windows.texi (Recombining Windows): Fix documentation of `window-combination-resize'. 2016-12-01 Paul Eggert * src/lisp.h (LISP_INITIALLY_ZERO): Remove. All uses replaced by LISPSYM_INITIALLY. 2016-12-01 Paul Eggert Make Cairo safer for --enable-gcc-warnings * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load): Avoid overflow warnings about ‘0xff << 24’. (xpm_load, gif_load): Avoid unnecessary casts. (gif_load): Fewer ifdefs. 2016-11-30 Thierry Volpiatto Fix Condition in kbd_buffer_store_buffered_event (bug#19547). * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not !NILP. 2016-11-29 Noam Postavsky Fix previous commit * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning of hunk before calling `diff-hunk-style'. 2016-11-29 Noam Postavsky * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable. 2016-11-29 Glenn Morris Use archive-mode for .cbr files * lisp/files.el (auto-mode-alist): Add cbr. (Bug#24994) 2016-11-29 Paul Eggert Pacify Sun C 5.14 * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED, SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT into this enum rather than into an anonymous enum. This avoids diagnostics from Sun C 5.14 and is a bit clearer anyway. 2016-11-29 Paul Eggert Adjust lwlib to recent config.h change * lwlib/lwlib-Xaw.c: Include for 'abort' (Bug#24506). 2016-11-29 Paul Eggert * src/eval.c (clobbered_eassert): Check E's syntax. 2016-11-29 Michael Albinus Improve user retrieval from auth-source in Tramp * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd): Use user for auth-source request only in case it exists. 2016-11-29 Katsumi Yamaoka shr.el: Don't render a normal table twice * lisp/net/shr.el (shr-collect-extra-strings-in-table): Don't render a table if it is called for the first time, IOW, recognize it to never be invalid (bug#25051). 2016-11-29 Bogdan Creanga (tiny change) Typo fixes in elisp manual * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047). * doc/lispref/strings.texi (Text Comparison): Avoid duplicate definitions of 'string-prefix-p' and 'string-suffix-p'. * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'. 2016-11-28 Dima Kogan Improve diff-mode navigation/manipulation This is Bug #17544. Navigation and use of diff buffers had several annoying corner cases that this patch fixes. These corner cases were largely due to inconsistent treatment of file headers. Say you have a diff such as this: --- aaa +++ bbb @@ -52,7 +52,7 @@ hunk1 @@ -74,7 +74,7 @@ hunk2 --- ccc +++ ddd @@ -608,6 +608,6 @@ hunk3 @@ -654,7 +654,7 @@ hunk4 The file headers here are the '---' and '+++' lines. With the point on such a line, hunk operations would sometimes refer to the next hunk and sometimes to the previous hunk. Most of the time it would be the previous hunk, which is not what the user would expect. This patch consistently treats such headers as the next hunk. So with this patch, if the point is on the '--- ccc' line, the point is seen as referring to hunk3. Specific behaviors this fixes are: 1. It should be possible to place the point in the middle of a diff buffer, and press M-k repeatedly to kill hunks in the order they appear in the buffer. With the point on hunk1, M-k M-k would kill hunk1 then hunk2. With the point on hunk3, it would kill hunk3 then hunk4; this is fine. However, with the point on hunk2, it'd kill hunk2 then hunk1. This is fixed by this patch. 2. Similarly, it should be possible to apply hunks in order. Previously with the point at the start, C-c C-a would apply the hunk1, then move the point to the first @@ header, and thus C-c C-a would try to apply the same hunk again. * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better navigation logic to diff-{hunk,file}-{next,prev}. (diff-hunk-next, diff-hunk-prev): (diff-file-next, diff-file-prev): Better navigation logic if skip-hunk-start is true, which happens when called interactively. (diff-bounds-of-hunk, diff-find-source-location): (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to improve hunk navigation. 2016-11-28 Noam Postavsky Upcase Path and ComSpec in process-environment Since 2016-07-18 "Keep w32 environment settings internal only", the upcasing of environment variables "Path" and "ComSpec" occurred after initializing process-environment. This meant that Lisp code trying to override "PATH" environment had no effect (Bug #24956). * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries in Vprocess_environment. 2016-11-28 Philipp Stephani Guard terminal parameter in XTerm mouse mode It has been observed (in the HTerm terminal emulator) that the event stored in the 'xterm-mouse-last-down' terminal parameter gets overwritten during a mouse drag operation, causing Emacs to attempt to synthesize the non-existing event. Copy the event into the terminal parameter to protect against such modifications. * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification of input event list. 2016-11-28 Paul Eggert Fix template for module functions Reported by Syohei YOSHIDA (Bug#24932). * modules/modhelp.py (TEMPLATES): c_func’s 2nd arg is ptrdiff_t, not int. 2016-11-27 Paul Eggert Pacify gcc -Wswitch. * src/keyboard.c (kbd_buffer_store_buffered_event): Move initialization into default case. 2016-11-27 Thierry Volpiatto Reuse already existing lisp symbols for ignore_event (bug#19547). * lisp/subr.el (while-no-input-ignore-events): Use them instead. * src/keyboard.c (kbd_buffer_store_buffered_event): Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT, and make-frame-visible for DEICONIFY_EVENT. (syms_of_keyboard): Remove unneeded symbols. 2016-11-27 Thierry Volpiatto Allow configuring which event throw-on-input should ignore (bug#19547). * src/keyboard.c (kbd_buffer_store_buffered_event): Translate event to corresponding symbol from `while-no-input-ignore-events` and check them with Fmemq. (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events` and its symbols. * lisp/subr.el (while-no-input-ignore-events): Add default values. * doc/lispref/commands.texi (Event Input Misc): Document while-no-input-ignore-events. * etc/NEWS: Same. 2016-11-26 Tino Calancha ash, lsh avoid code duplication See discussion in: https://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00469.html * src/data.c (ash_lsh_impl): New function. (ash, lsh): Use it. 2016-11-26 Simen Heggestøyl Add will change module to CSS property list * lisp/textmodes/css-mode.el (css-property-alist) (css-value-class-alist): Add new property and value class from CSS Will Change Module. 2016-11-26 Paul Eggert Don't access pointers to freed storage in regex.c Remove __BOUNDED_POINTERS__ code, which does not work with -fcheck-pointer-bound and which has undefined behavior anyway. Problem found when trying to port to gcc -fcheck-pointer-bounds. (This code was removed from glibc and gnulib regex.c many years ago.) * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove. (EXTEND_BUFFER): Use a more-portable approach that avoids undefined behavior due to inspecting pointers to freed storage. 2016-11-25 Paul Eggert Port build to gcc -fcheck-pointer-bounds This does not let Emacs run, just build. * lib-src/etags.c (main): * lib-src/profile.c (main): Use return, not exit. * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]: Do not define, as -fcheck-pointer-bounds is incompatible with taking addresses of labels. * src/menu.c (Fx_popup_dialog): Use eassume, not eassert, to pacify gcc -fcheck-pointer-bounds -Wnull-dereference. 2016-11-25 Tino Calancha * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop. 2016-11-25 Simen Heggestøyl * lisp/rot13.el: Use lexical-binding 2016-11-25 Mark Oteiza Add "using" to cl-loop debug spec (Bug#24750) * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for "using" hash table clause. 2016-11-25 Hong Xu (tiny change) Allow user control of progress messages in cpp.el * progmodes/cpp.el (cpp-message-min-time-interval): New defcustom. (cpp-progress-time): Use 'cpp-message-min-time-interval'. Improve the doc string. (cpp-highlight-buffer): Use 'cpp-progress-message' instead of 'message' to print messages. (Bug#24861) 2016-11-25 Wojciech Gac (tiny change) New input method 'polish-prefix' * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input method. (Bug#24967) * etc/NEWS: Mention the new input method. 2016-11-25 Damien Cassou * lisp/isearch.el: Add 'provide'. (Bug#25026) 2016-11-25 Philippe Vaucher Add missing 'provide's in preloaded packages * lisp/composite.el: * lisp/replace.el: * lisp/textmodes/text-mode.el: Add provide statement. (Bug#24985) 2016-11-24 Alan Mackenzie Handle correctly an (undocumented) bare mode in hack-local-variables. lisp/files.el (hack-local-variables-prop-line): When a file's first line contains only a mode specification without the string "mode:", return the mode symbol only when `handle-mode' is t. 2016-11-23 Dima Kogan Clarify ediff-directories prompt * lisp/vc/ediff-mult.el (ediff-filegroup-action): * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions, ediff-directories3, ediff-merge-directories, ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions, ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for filename filter in interactive ediff. The new message makes it clear what is being filtered 2016-11-23 Tino Calancha * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997. 2016-11-23 Ulf Jasper Fix Bug#24199. * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote bracket in doc string (make checkdoc happy). (icalendar-import-buffer), (icalendar-import-buffer), (icalendar--convert-ical-to-diary), (icalendar--add-diary-entry): Rename argument diary-file to diary-filename (make checkdoc happy). (icalendar--convert-recurring-to-diary): Take care of byday-clause in monthly recurring events. Actually fix Bug#24199. * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New. 2016-11-23 Tino Calancha * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000. 2016-11-22 Philipp Stephani Comint: new user option for C-c M-r and C-c M-s This option allows the user to specify where to place point after these commands. * comint.el (comint-move-point-for-matching-input): New user option. (comint-previous-matching-input-from-input): Use user option. 2016-11-22 Michael Albinus Add tramp-eshell-directory-change to eshell-first-time-mode-hook * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to `eshell-first-time-mode-hook'. 2016-11-22 Michael Albinus Dump also connection local variables in Tramp bug reports * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers): Dump also connection local variables. 2016-11-21 Mark Oteiza Make sure elided long buffer names have ellipses added (Bug#24972) * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the string concat, and chop "strvar" less the width of the ellipsis. (ibuffer-compile-make-substring-form): Add space as padding, to fix off-by-one in alignment. 2016-11-21 Tino Calancha Buffer-menu-no-header: Detect a fake header * lisp/buff-menu.el (Buffer-menu-no-header): Use 'tabulated-list-header-overlay-p' (Bug#24855). 2016-11-21 Tino Calancha buff-menu: Add command to unmark all buffers Bind 'U' in buff-menu, bs and electric-buff-menu to commands to unmark all buffers (Bug#24880). * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p): New predicate; return non-nil if tabulated-list has a fake header. * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers): New command; remove all flags that use a particular mark from all the lines. Bind it to 'M-DEL'. (Buffer-menu-unmark-all): New command; remove all flags from all the lines. Bind it to 'U'. (Buffer-menu-marker-char, Buffer-menu-del-char): New variables. (Buffer-menu-delete, Buffer-menu-mark): Use them. (Buffer-menu-mode-map): Update menus. (Buffer-menu-mode): Update mode doc. * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands. (bs-mode-map): Bind them to 'U' and '' respectively. (bs-mode): Update mode doc. * lisp/ebuff-menu.el (electric-buffer-menu-mode-map): Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers to 'M-DEL'. (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current): Use point instead of cursor in doc string. (electric-buffer-list): Update mode doc. * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all and Buffer-menu-unmark-all-buffers. 2016-11-21 Mark Oteiza Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure." This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227. 2016-11-21 Mark Oteiza Port htmlfontify to cl-lib * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style): (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans): (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace instances of cl aliases with their cl-lib counterparts. 2016-11-21 Mark Oteiza * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure. 2016-11-21 Paul Eggert Fix another CANNOT_DUMP problem Reported by Robert Pluim in: http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00468.html * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ... * src/lisp.h: ... to here. 2016-11-21 Mark Oteiza Add further consideration to string-width (Bug#24972) * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): (ibuffer-compile-make-substring-form): Use truncate-string-to-width. 2016-11-21 Katsumi Yamaoka Don't collect strings existing out of ... * lisp/net/shr.el (shr-collect-extra-strings-in-table): Don't collect strings existing out of ... to avoid duplication with what `shr-tag-table' renders. 2016-11-20 Katsumi Yamaoka * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change the last commit. 2016-11-20 Mike Kupfer Add a variable to pass additional options to rcvstore * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable. (gnus-summary-save-in-folder): Include gnus-rcvstore-options in the arguments that are passed to rcvstore. cf. and followups, i.e., ding mailing list. 2016-11-20 Paul Eggert Fix undefined refs on some GNU/Linux hosts Problem reported by Ken Raeburn in: http://lists.gnu.org/archive/html/emacs-devel/2016-11/msg00463.html * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is not needed in the CANNOT_UNDUMP case. All uses removed. This removes unwanted references to my_endbss and my_endbss_static, which are not optimized away on some platforms. 2016-11-20 Paul Eggert Make CANNOT_DUMP work better on GNU/Linux Clean up some of the bitrot affecting the CANNOT_DUMP code. This lets the build succeed again, and fixes the testing framework so that most test cases now pass. About twenty test cases still fail, though, and we still have Bug#24974. * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP. (SYSTEM_MALLOC): Now true if CANNOT_DUMP. There should no longer be any point to messing with a private memory allocator unless Emacs is dumping. * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size): * src/image.c (reset_image_types): * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static): Do not define if CANNOT_DUMP. * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local. (daemon_pipe) [!WINDOWSNT]: Now static. * test/Makefile.in (mostlyclean): Remove *.tmp files. (make-test-deps.mk): Elide CANNOT_DUMP chatter. 2016-11-20 Paul Eggert * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static. 2016-11-20 Paul Eggert Pacify --enable-gcc-warnings CANNOT_DUMP=yes * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]: Do not define. If defining, do it in a smaller scope. 2016-11-20 Mark Oteiza * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length 2016-11-20 Eli Zaretskii Fix redrawing non-selected frame after resize on MS-Windows * src/xdisp.c (redisplay_internal): If all the frames were successfully updated, reset the "garbaged" flag of each frame, to make sure it doesn't stay set. * src/w32term.c (w32_read_socket): Don't clear the frame if it's "garbaged", since expose_frame won't redraw the foreground then. (Bug#24642) 2016-11-20 Michael Albinus Add file-local-name * doc/lispref/files.texi (Magic File Names): Add `file-local-name'. (Unique File Names): Use it. * etc/NEWS: Mention `file-local-name'. * lisp/files.el (file-local-name): New defun. (file-expand-wildcards): * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo): * lisp/eshell/esh-ext.el (eshell-remote-command): * lisp/eshell/esh-proc.el (eshell-gather-process-output): * lisp/org/ob-core.el (org-babel-local-file-name): * lisp/progmodes/gud.el (gud-common-init, gud-format-command): * lisp/progmodes/python.el (python-shell-send-file): * lisp/shell.el (shell): * lisp/vc/ediff-diff.el (ediff-same-file-contents): * lisp/vc/vc-git.el (vc-git-checkin): Use it. 2016-11-20 Tino Calancha * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string. 2016-11-19 Tino Calancha * src/editfns.c (format-time-string): Mention %q in doc string. 2016-11-19 Paul Eggert Document format-time-string %q * doc/lispref/os.texi (Time Parsing): * etc/NEWS: Document new %q functionality taken from gnulib. 2016-11-19 Paul Eggert Merge from gnulib This incorporates: 2016-11-15 sys_time: add gnulib::timeval for C++ 2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode 2016-11-13 strftime: don't use __THROW 2016-11-12 strftime: tune %q 2016-11-12 Merge strftime.c changes from glibc 2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection 2016-11-05 strftime,strptime: support %q to represent the quarter The glibc changes in turn incorporate the following strftime.c changes: 2015-10-20 Convert misc function definitions to prototype style 2015-09-26 [BZ #18985] out of range data to strftime() causes segfault 2010-01-09 Add support for XPG7 testing 2009-10-30 Implement Burmese language locale for Myanmar 2008-06-13 [BZ #6612] pass reference to tzset_called around 2007-10-16 [BZ #5184] Add tzset_called argument * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h: * m4/manywarnings.m4: Copy from gnulib. 2016-11-19 Paul Eggert Merge from origin/emacs-25 07f45d7 ; Spelling fix 1a210f0 * admin/release-process: Update versions and blocking bug num... 36bafc9 Improve documentation of functions that accept time values # Conflicts: # admin/release-process # src/editfns.c 2016-11-19 Paul Eggert Merge from origin/emacs-25 4af5981 Add a comment in generated refcards about the source ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment. 4887e7c js-mode: Fix indent problem after a regexp e992ac0 Fix sluggish display of symbols in UTF-8 language environment 1fc101b Don't confuse how Texinfo outputs @var with the input 91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame... f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da... 5b0cddd More fixes in copyright notices in etc/refcards/ f994c20 Update copyright text in refcards 9ad2ae7 Fix Outline command names 26c3554 Send text received by bracketed paste to process db0b58d Correct the statement about programming modes always running ... 78aece4 Improve documentation of 'occur' eb364fd Do call debugger on failed cl-assert 3ef4ee8 Avoid infloop in python 8da810f Don't refer to obsolete FEATURE-unload-hook 4f478ca Improve documentation of dabbrevs 7272e5d * lisp/chistory.el (list-command-history): Doc fix. (Bug#24890) 89b7482 * lisp/simple.el (set-mark-command): Doc fix. (Bug#24890) 3b199f7 Improve documentation of some Help commands 93d3a0e Fix documentation of yes-or-no prompts af04919 Fix documentation of partial completion style ed80184 Fix documentation of the mode line on emacsclient frames e6be855 Fix description of 'C-z' in User manual 16f7007 Improve and clarify documentation of Outline Mode 31d93aa Add Emacs version number to nt/README.W32 0b6b815 Fix python-mode hideshow regexp dc152c5 Modernize usage of 'macOS' in doc and comments 84c5343 Prefer comments /* like this */ in C code bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845). 3ef86fd Clarify documentation of face attribute functions de51d59 ; * nt/README.W32: Minor copyedits. db436e9 Don't call debug on failed cl-assert # Conflicts: # doc/emacs/cmdargs.texi # etc/NEWS # etc/PROBLEMS # lisp/auth-source.el # lisp/net/tramp-sh.el 2016-11-19 Mark Oteiza Port RefTeX to cl-lib * lisp/textmodes/reftex-auc.el: * lisp/textmodes/reftex-cite.el: Use cl-lib. (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib macros. * lisp/textmodes/reftex-dcr.el: Use cl-lib. (reftex-view-regexp-match): Substitute cl-lib macro. * lisp/textmodes/reftex-global.el: Use cl-lib. (reftex-find-duplicate-labels, reftex-renumber-simple-labels): (reftex-translate): Substitute cl-lib macros. * lisp/textmodes/reftex-index.el: Use cl-lib. (reftex-index, reftex-index-select-tag, reftex-index-mode-map): (reftex-index-next-phrase, reftex-index-phrases-info): (reftex-query-index-phrase): Substitute cl-lib macros. * lisp/textmodes/reftex-parse.el: Use cl-lib. (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro): (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number): Substitute cl-lib macros. * lisp/textmodes/reftex-ref.el: Use cl-lib. (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib macros. * lisp/textmodes/reftex-sel.el: Use cl-lib. (reftex-select-shared-map): Set keymap parent to special-mode-map. Flatten loop and remove digits and hyphen definitions from the map. (reftex-select-label-mode-map): (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop. (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros. * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use cl-pushnew. * lisp/textmodes/reftex.el: Use cl-lib. (reftex-docstruct-symbol): Use cl-incf. (reftex-ref-style-toggle): Replace add-to-list with append. (reftex-compile-variables): Use cl-lib macros, and functions with compiler macros. cl-first is just an alias. (reftex-parse-args, reftex-scanning-info-available-p): (reftex-select-external-document, reftex-get-file-buffer-force): Use cl-lib macros. (reftex-isearch-minor-mode): Replace add-to-list with append. 2016-11-19 Tino Calancha ibuffer-exchange-filters: Simplify code * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef. 2016-11-19 Eli Zaretskii Implement getrlimit and setrlimit for MS-Windows * src/w32heap.c (getrlimit, setrlimit): New functions. Include w32.h. * src/emacs.c (main): Use 'rlim_t', not 'long', for values that should be compatible with 'struct rlimit' members. * nt/inc/sys/resource.h: New header file. * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit): Set to "yes". 2016-11-18 Mark Oteiza Move key mappings into reftex-mode-map defvar * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level key mappings. (reftex-reset-mode): Just use dolist. 2016-11-18 Mark Oteiza Derive reftex-index-mode from special-mode * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten loop. Remove digit keys and hyphen, as reftex-index-mode is derived from special-mode now. (reftex-index-mode): Derive from special-mode. (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring. 2016-11-18 Mark Oteiza Clean up reftex-toc-mode-map * lisp/textmodes/reftex-toc.el: Remove cl. (reftex-toc-mode-map): Flatten loop. Remove mapping digit keys and hyphen, as reftex-toc-mode is derived from special-mode nowadays. 2016-11-18 Philipp Stephani Prevent dubious argument lists See Bug#24912 and Bug#24913. * src/eval.c (funcall_lambda): Detect more dubious argument lists. * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect more dubious argument lists. * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit test. 2016-11-18 Tino Calancha Add test suite for buff-menu.el * test/lisp/buff-menu-tests.el: New file. (buff-menu-24962): Add test for Bug#24962. 2016-11-18 Wojciech Gac (tiny change) Add cyrillic-tuvan input method * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input method. (Bug#24942) * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method. 2016-11-18 Alex Extend 'indent-relative' when its arg is non-nil * lisp/indent.el (indent-relative-maybe): New obsolete alias. (indent-relative-first-indent-point): Renamed from 'indent-relative-maybe'. (indent-relative): Now accepts an additional optional argument. The first argument was renamed to FIRST-ONLY. Doc fix. Support the additional arg. (Bug#24766) 2016-11-17 Dmitry Gutov Add example for bug#24854 * test/manual/indent/js.js: Add example for bug#24854. 2016-11-17 Mark Oteiza Port registry.el the rest of the way to cl-lib This file already is using cl-lib functions at runtime; eieio ultimately loads cl-lib, which explains why doing so wasn't an issue. * lisp/registry.el: Require cl-lib. (registry-db, registry--match, registry-search, registry-delete): (registry-insert, registry-reindex): Replace cl macros with cl-lib ones. (registry-collect-prune-candidates): Replace cl function with cl-lib one. 2016-11-17 Mark Oteiza Fix arglist in python.el (Bug#24762) * lisp/progmodes/python.el: Remove unneeded second args. (python-define-auxiliary-skeleton): DOC arg should be &optional. 2016-11-17 Simen Heggestøyl Add tests for rot13.el * lisp/rot13.el (rot13): Docstring correction. * test/lisp/rot13-tests.el: New file with tests for rot13.el. 2016-11-17 Michael Albinus Fix Bug#24947 (Tramp + ido) * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection. * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p): Run remote tests only if a connection is established only. (Bug#24947) 2016-11-16 Ken Brown Unbreak the build on Darwin (Bug#24957) * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix mistakes in recent commit. 2016-11-16 Nicolas Petton Do not use map.el in seq-tests.el * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el. map.el was introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for Emacs 24.5. 2016-11-16 Tino Calancha Update parameter :version to 26.1 in several defcustom Following defcustom where added or modified for 25.2 release. In fact all these changes belong to 26.1 release. * lisp/battery.el (battery-linux-sysfs-regexp) * lisp/comint.el (comint-password-prompt-regexp) * lisp/dired.el (dired-always-read-filesystem) * lisp/image.el (image-scaling-factor) * lisp/ibuf-ext.el (ibuffer-never-search-content-name) (ibuffer-never-search-content-mode) * lisp/mouse.el (mouse-select-region-move-to-beginning) * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options) (netstat-program, route-program, route-program-options) * lisp/net/sieve-manage.el (sieve-manage-default-stream) * lisp/progmodes/grep.el (grep-save-buffers) * lisp/vc/add-log.el (change-log-directory-files) * lisp/url/url-vars.el (url-user-agent) * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles) (vc-hg-use-file-version-for-mode-line-version) (vc-hg-parse-hg-data-structures) * lisp/wdired.el (wdired-create-parent-directories) * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face) * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol) (gnus-button-url-regexp) * lisp/window.el (switch-to-buffer-preserve-window-point) * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char) (ibuffer-locked-buffer) * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function) * lisp/emacs-lisp/edebug.el (edebug-sit-on-break) * lisp/gnus/message.el (message-user-fqdn) * lisp/simple.el (shell-command-dont-erase-buffer) (extended-command-suggest-shorter) * lisp/net/shr.el (shr-use-fonts) * lisp/files.el (mounted-file-systems, kill-emacs-query-functions) 2016-11-15 Glenn Morris Add --new-daemon, which runs in the foreground and does not fork This is intended for modern init systems such as systemd, which manage many of the traditional aspects of daemon behavior themselves. (Bug#2677) * src/emacs.c (daemon_type): New integer. (usage, standard_args): Add --old-daemon and --new-daemon. (main): Handle --old-daemon and --new-daemon arguments. Restrict all the forking and complicated daemon stuff to old-daemon. (Fdaemon_initialized): Handle new-style daemon. * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]: Replace daemon_pipe with daemon_type. * doc/emacs/cmdargs.texi (Initial Options): * doc/emacs/glossary.texi (Glossary): * doc/emacs/misc.texi (Emacs Server): * doc/lispref/display.texi (Window Systems): * doc/lispref/os.texi (Startup Summary): Related doc updates. * etc/NEWS: Mention this. * etc/emacs.service: Use Type=simple and --new-daemon. 2016-11-15 Glenn Morris * src/emacs.c (usage_message): Mention named daemon. (Bug#24949) * doc/man/emacs.1.in: Likewise. 2016-11-15 Ken Brown Simplify case-insensitivity checks on Mac OS X * src/fileio.c (file_name_case_insensitive_p): Try skipping the Darwin code and instead using pathconf with _PC_CASE_SENSITIVE. Leave in two alternatives conditionally compiled based on DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work. * etc/PROBLEMS: Mention the possible problem with pathconf on Mac OS X. 2016-11-15 Glenn Morris * src/emacs.c (sort_args): Warn about multiple matches. 2016-11-15 Michael Albinus Implement file name handler for `file-name-case-insensitive-p' * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p' is also applicable for remote hosts. * lisp/net/tramp.el (tramp-methods): Improve docstring. (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'. (tramp-handle-file-name-case-insensitive-p): New defun. * lisp/net/tramp-smb.el (tramp-methods) : Add `tramp-case-insensitive' entry. * 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. (Bug#22300, Bug#24441) 2016-11-15 Mark Oteiza Nix more uses of default-FOO variables (Bug#24946) * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode): Check for header-line-format instead. * lisp/emulation/viper.el (viper-load-custom-file): Reference major-mode instead. * lisp-mail-feedmail.el (feedmail-fill-to-cc-fill-column): Use fill-column instead. 2016-11-15 Simen Heggestøyl Complete the name of PostgreSQL databases * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database name. (sql-postgres-list-databases): New function returning a list of available PostgreSQL databases. * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el. 2016-11-14 Sam Steingold add `vc-git-print-log-follow' and use it in `vc-git-print-log' When `vc-git-print-log-follow' is true and all files are non-directory, pass "--follow" to "git log". This works around bug#8756 and bug#16422. 2016-11-14 Sam Steingold `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation' vc-git-print-log: pass "--follow" to "log" to handle renamed files 2016-11-14 Eli Zaretskii Revert "Improve case-insensitive checks (Bug#24441)" This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600. I see no reason for removing code, documentation, and comments in the original commit. 2016-11-14 Wilson Snyder Update verilog-mode.el * verilog-mode.el (verilog-read-decls, verilog-calc-1): Fix "default clocking" indentation and preventing AUTOs from working, bug1084. Reported by Alan Morgan. (verilog-diff-report): Fix `verilog-diff-report' not returning bad status on differences, bug1087. Reported by Eric Jackowski. (verilog-auto-inst-param-value) (verilog-auto-inst-param-value-type, verilog-read-sub-decls) (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate) (verilog-read-sub-decls-line, verilog-read-sub-decls-sig) (verilog-read-sub-decls-type): When `verilog-auto-inst-param-value-type' is set, which is now the default, AUTOINPUT etc will now substitute parameter types from submodules, bug1061. Reported by Brad Dobbie. (verilog-auto-reset, verilog-backward-case-item) (verilog-extended-case-re, verilog-read-always-signals-recurse): Fix indentation of randcase, bug1072. Reported by David Rogoff. (verilog-read-sub-decls-expr) (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions in generated comments, bug1057. Reported by Kaushal Modi. (verilog-auto-wire-comment, verilog-insert-definition): Add `verilog-auto-wire-comment' to suppress wire comments. Reported by Eric Jackowski. (verilog-extended-complete-re): Fix indentation of class static functions, bug1053. Reported by Gregory Czajkowski. (verilog-module-filenames): Support tramp for finding verilog modules. Reported by Nevada Sanchez. 2016-11-14 Paul Eggert Improve case-insensitive checks (Bug#24441) * doc/lispref/files.texi (Truenames): Simplify documentation, to avoid giving too much platform-specific information that may not be accurate anyway. * src/fileio.c (file_name_case_insensitive_p): Use pathconf with _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available. Otherwise if one approach fails (e.g., with errno == EINVAL), fall back on an alternative rather than returning false. Try skipping the Darwin code, as it (1) no longer seems to be needed and (2) does not seem to match the Apple documentation. Leave in two alternatives conditionally compiled based on DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect. 2016-11-14 Eli Zaretskii Fix documentation changes of connection-local variables * etc/NEWS: Fix last change. * doc/lispref/variables.texi (Connection Local Variables): Minor fixes. * doc/lispref/elisp.texi (Top): Update the master menu. 2016-11-14 Michael Albinus Implement connection-local variables * doc/lispref/variables.texi (Connection Local Variables): New section. * etc/NEWS: Mention connection-local variables. * lisp/files-x.el (enable-connection-local-variables) (connection-local-variables-alist, connection-local-class-alist) (connection-local-criteria-alist): New defvars. (connection-local-get-classes) (connection-local-get-class-variables): New defsubst. (connection-local-set-classes) (connection-local-set-class-variables) (hack-connection-local-variables) (hack-connection-local-variables-apply): New defuns. (with-connection-local-classes): New defmacro. * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun. * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection): * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): * lisp/net/lisp/net/tramp-sh.el (tramp-maybe-open-connection): * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it. * test/lisp/files-x-tests.el: New file. 2016-11-14 Tino Calancha tabulated-list: extend truncation into next align-right column See discussion on: https://lists.gnu.org/archive/html/emacs-devel/2016-10/msg01101.html * lisp/emacs-lisp/tabulated-list.el (tabulated-list--near-rows): New variable. (tabulated-list-print, tabulated-list-set-col): Use it. (tabulated-list--col-local-max-widths): New defsubst. (tabulated-list-print-col): Use it. If the next column is align-right, and has some space left then don't truncate to width, use some of the available space from the next column. 2016-11-13 Katsumi Yamaoka * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation. * lisp/net/shr.el (shr-tag-table): Avoid duplication of images. (shr-collect-extra-strings-in-table): Render images as well. 2016-11-13 Ken Brown Use the new 'file-name-case-insensitive-p' function * lisp/international/mule.el (auto-coding-alist-lookup): * lisp/files.el (file-truename): (abbreviate-file-name, set-auto-mode, file-relative-name): * package.el (package-untar-buffer): Use 'file-name-case-insensitive-p' instead of 'system-type' to test case-insensitivity. 2016-11-13 Glenn Morris Include a systemd user unit file. (Bug#16507) * etc/emacs.service: New file. * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user. * Makefile.in (libdir): New, set by configure. (systemdunitdir): New variable. (install-etc, uninstall): Handle the emacs.service file. 2016-11-13 Paul Eggert Port --enable-gcc-warnings to Ubuntu 16.10 * src/gmalloc.c: Include , so it declares hybrid_aligned_alloc (the definiens of the aligned_alloc macro), so that GCC doesn't complain that hybrid_aligned_alloc is defined without being declared. 2016-11-13 Ken Brown Silence tramp warning * lisp/net/tramp.el (tramp-file-name-for-operation): Add 'file-name-case-insensitive-p' as a known file primitive. (Bug#24936) 2016-11-12 Ken Brown Check case-sensitivity when renaming files * src/fileio.c (file_name_case_insensitive_p) (Ffile_name_case_insensitive_p): New functions. (Frename_file): Allow renames that simply change case when the FILE argument is on a case-insensitive filesystem. (Bug#24441) * lisp/dired-aux.el (dired-do-create-files): Use 'file-name-case-insensitive-p' instead of 'system-type' to check for case-insensitivity. (Bug#24441) * doc/lispref/files.texi (Truenames): Document 'file-name-case-insensitive-p'. 2016-11-12 Ken Brown Unbreak the build on Cygwin * configure.ac (system_malloc) [CYGWIN]: Unset. 2016-11-11 Mark Oteiza Update chart.el * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode. (chart-draw): Wrap in with-silent-modifications. Instead of inserting a fixed number of newlines, use window-height. (chart-bar): (chart-trim): Use dolist. (chart-file-count): The previous implementation was buggy and missed extensions. Use file-name-extension instead to detect file extensions. Also use dolist and cl-incf to reduce verbosity. 2016-11-11 Katsumi Yamaoka * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps. (shr-collect-extra-strings-in-table): Render extra tables in an invalid html as well. 2016-11-10 Katsumi Yamaoka * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893). 2016-11-09 Eli Zaretskii Resurrect 'memory-limit' on MS-Windows * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise 'memory-limit' will produce a trivial and useless result on Windows. 2016-11-09 Mark Oteiza Update quickurl.el * lisp/net/quickurl.el (quickurl-format-function): (quickurl-sort-function): Use named function. (quickurl-list-mode-map): Remove lines that are extraneous now that the parent mode is special-mode. (quickurl-format-url, quickurl-sort-urls): New functions. (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to be used. (quickurl-list-mode): Derive from special-mode. Nix setting buffer-read-only: special-mode does that. (quickurl-list-populate-buffer): Use dolist instead. (quickurl-list-quit): Use quit-window. It looks like this was written before the quit-window rewrite. quit-window is very useful now. 2016-11-09 Michael Albinus Refine multi-hop specs in Tramp * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:". * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax): Multi-hop specs don't need a method. "/h:" is allowed on non MS Windows. 2016-11-08 Daniel Colascione Avoid infloop in python Fix bug#24905 * lisp/progmodes/python.el (python-info-docstring-p): Improve infloop avoidance: replace (bobp) with generic test for forward progress. * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add test for bug#24905 2016-11-08 Daniel Colascione Make gnus/message.el work correctly under lexical binding * lisp/gnus/message.el (message-send-mail): Rename `arg' to `_' to shut up the byte compiler. (sha1-maximum-internal-length, smtpmail-smtp-server) (smtpmail-smtp-service): add missing defvars 2016-11-08 Michael Albinus Fix Bug#24889 * lisp/net/tramp.el (tramp-file-name-regexp): Make it a defvar. Fix docstring. (tramp-completion-file-name-handler-alist): Fix docstring. (tramp-register-file-name-handlers): Reassign `tramp-file-name-regexp' to the car of `tramp-file-name-structure'. (Bug#24889) 2016-11-08 Paul Eggert Port to FreeBSD 11 AMD Problem reported by Ashish Shukla (Bug#24892). I tested this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined. * configure.ac (system_malloc): Set to 'yes' if there is no sbrk. (sbrk): Check whether it exists. * src/alloc.c (my_heap_start) [!GNU_LINUX]: Do not define, since this function is now used only on GNU/Linux, and sbrk might not exist on other platforms. (malloc_initialize_hook) [!GNU_LINUX]: Do not call my_heap_start, since its side effect will never be used. (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk. * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like sbrk exists. 2016-11-08 Paul Eggert Port emacsclient to FreeBSD 11 etc. * lib-src/emacsclient.c: Include . This is needed on platforms like FreeBSD 11 that use code involving strlen etc., and because no longer includes string.h. 2016-11-07 Mark Oteiza Prescribe history for read-regexp in query-replace In the fix for bug#24580, the history argument for read-regexp was removed erroneously; read-regexp's history argument defaults to regexp-history, not minibuffer-history. * lisp/replace.el (query-replace-read-from): Tell read-regexp to use minibuffer-history. Fixes bug#24873. 2016-11-07 Mark Oteiza Remove obsolete default-FOO variables * etc/NEWS: Indicate the removed variables. * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment. * lisp/subr.el (default-mode-line-format, default-header-line-format): (default-line-spacing, default-abbrev-mode, default-ctl-arrow): (default-truncate-lines, default-left-margin, default-tab-width): (default-case-fold-search, default-left-margin-width): (default-right-margin-width, default-left-fringe-width): (default-right-fringe-width, default-fringes-outside-margins): (default-scroll-bar-width, default-vertical-scroll-bar): (default-indicate-empty-lines, default-indicate-buffer-boundaries): (default-fringe-indicator-alist, default-fringe-cursor-alist): (default-scroll-up-aggressively, default-scroll-down-aggressively): (default-fill-column, default-cursor-type): (default-cursor-in-non-selected-windows): (default-buffer-file-coding-system, default-major-mode): (default-enable-multibyte-characters): Remove obsolete declarations. * src/buffer.c (default-mode-line-format, default-header-line-format): (default-line-spacing, default-abbrev-mode, default-ctl-arrow): (default-truncate-lines, default-left-margin, default-tab-width): (default-case-fold-search, default-left-margin-width): (default-right-margin-width, default-left-fringe-width): (default-right-fringe-width, default-fringes-outside-margins): (default-scroll-bar-width, default-vertical-scroll-bar): (default-indicate-empty-lines, default-indicate-buffer-boundaries): (default-fringe-indicator-alist, default-fringe-cursor-alist): (default-scroll-up-aggressively, default-scroll-down-aggressively): (default-fill-column, default-cursor-type): (default-cursor-in-non-selected-windows): (default-buffer-file-coding-system, default-major-mode): (default-enable-multibyte-characters): Remove. * src/fileio.c (choose_write_coding_system): Fix comment. * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove. 2016-11-07 Eli Zaretskii Improve the tutorial * etc/tutorials/TUTORIAL: Minor copyedits. (Bug#24890) * etc/tutorials/TUTORIAL.he: Follow suit. 2016-11-06 Paul Eggert Restore file descriptor limit in subprocesses Problem reported by Philipp Stephani (Bug#24869). * src/callproc.c (child_setup) [!DOS_NT]: Call restore_nofile_limit in the child. * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var. (restore_nofile_limit): New function. (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var. 2016-11-06 Mark Oteiza Remove some subr.el functions obsoleted in 22.1 * etc/NEWS: Document removed functions. Also mention the "face" variables that have been removed recently. * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer): (eval-current-buffer, string-to-int, insert-string, makehash): Remove. 2016-11-05 Paul Eggert Prefer comments /* like this */ in C code 2016-11-05 Johan Bockgård * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876) 2016-11-05 Nick Terrell (tiny change) Support zstd compressed files * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add zstd compression info: . (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd compressed tar archives. (Bug#24853) 2016-11-05 Eli Zaretskii Enlarge DUMPED_HEAP_SIZE * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]: Enlarge to 21MB. Reported by Richard Copley . 2016-11-04 Paul Eggert Update from gnulib This incorporates: 2016-11-03 intprops: port to older XL C * lib/intprops.h: Copy from gnulib. 2016-11-04 Paul Eggert Merge from origin/emacs-25 acae275 ; Spelling fixes d8fac73 Update README for precompiled windows Emacs. 23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks f708cb2 Clarify doc string of 'transpose-sexps' cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab' bdc89eb Improve documentation of 'font-lock-remove-keywords' 4a0c590 Fix documentation of the command summary key 0221b7a Mark relocation workarounds with REL_ALLOC 2016-11-04 Paul Eggert Merge from origin/emacs-25 dbb3410 python.el: Fix detection of native completion in Python 3 (bu... 91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve... 9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (... 9c247d2 Update category-table for Chinese characters 43986d1 Inhibit buffer relocation during regex searches fee4cef Revert fixes to allocation of regex matching 2016-11-04 Mark Oteiza Fix references to long obsoleted functions/aliases * doc/lispintro/emacs-list-intro.texi (Miscellaneous): * doc/misc/cl.texi (Conditionals): * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number, not string-to-int. * lisp/emulation/viper.el (viper-go-away): Use major-mode, not default-major-mode. * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window here is not a function call, but shorten the binding names anyways. Also, use pop-to-buffer-same-window instead of switch-to-buffer cf Bug#22244. * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not read-input. 2016-11-04 Mark Oteiza * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring. 2016-11-04 Katsumi Yamaoka * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function that gathers extra strings in an invalid html. (bug#24831) (shr-tag-table): Use it. 2016-11-04 Vasilij Schneidermann Add 'x-ctrl-keysym' support on X window system * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers): Support 'x-ctrl-keysym'. (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value property on it. : New DEFVAR_LISP. : Doc fix. (Bug#24822) * etc/NEWS: Mention the addition of 'x-ctrl-keysym'. * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'. 2016-11-04 Alexander Gramiak Improve autoload error reporting * src/eval.c (Fautoload_do_load): Include the absolute file name in the error message. 2016-11-03 Reuben Thomas Stop force parameter of whitespace-report-region having global effect * lisp/whitespace.el (whitespace-report-region): Force parameter previously changed whitespace-style globally. Fix this, and use whitespace-active-style, to take account of any changes the user may have made. Simplify the documentation: the force parameter simply forces all classes of whitespace problem to be considered. (Bug#24745) 2016-11-03 Reuben Thomas Document use of `tab-width' * lisp/whitespace.el: When talking about `8 or more spaces', mention `tab-width' instead of 8. (Bug#24745) 2016-11-03 Reuben Thomas Make whitespace-report-region respect current settings * lisp/whitespace.el (whitespace-report-region): Make it respect whitespace-style, including any additions made by the force parameter. This means that the function does not return t unless a whitespace problem that the user cares about is reported. (Bug#24745) 2016-11-03 Reuben Thomas Fix whitespace-space-after-tab-regexp * lisp/whitespace.el (whitespace-space-after-tab-regexp) (whitespace-regexp): Match all the spaces after tabs for highlighting, not just the first tab-width. Fix whitespace-space-after-tab::space version so that it requires at least tab-width spaces, not just 1. (Bug#24745) 2016-11-03 Reuben Thomas Remove duplicate documentation * lisp/whitespace.el: Remove duplicate documentation from the Commentary section which duplicate and in some places contradict (due to being out of date) the docstrings (Bug#24745). 2016-11-03 Reuben Thomas Fix bob/eob checks * lisp/whitespace.el (whitespace-empty-at-bob-regexp) (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks work at beginning & end of buffer in whitespace-report-region, and only there (i.e. they will never match in regions that don't include the start or end of the buffer). (Bug#24745) 2016-11-03 Tino Calancha (thing-at-point 'list) return nil if no list at point * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Check first if we are at the beginning of a top-level sexp (Bug#24627). If point is inside a comment or string, look for a list out of the comment/string. Escape '[' in doc string. * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update expected test result as pass. 2016-11-02 Mark Oteiza Remove antlr face aliases obsoleted in 22.1 * lisp/progmodes/antlr-mode.el: Remove obsolete aliases (antlr-default-face, antlr-keyword-face, antlr-syntax-face): (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face): (antlr-tokenref-face, antlr-literal-face): (antlr-literal-face): Remove. (antlr-font-lock-additional-keywords): Use face symbols instead. 2016-11-02 Daniel Colascione Revert "Disable bracketed paste in a terminal in char mode" This change causes regressions, and besides, disabling BPM frame-wide for the sake of one buffer is the wrong solution. This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca. 2016-11-02 Mark Oteiza Revert change to eww-suggest-uris The introduced append is ugly and can yield '(nil); doing delq on it would be hacks on hacks. * lisp/net/eww.el: Require cl-lib at run time. (eww-suggest-uris): Restore eww-current-url, reverting previous change. (eww): Remove erroneous append. (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is equal to eww-current-url, which is nil anyways if we are not in an EWW buffer. 2016-11-02 Mark Oteiza Add eww-open-in-new-buffer to EWW * doc/misc/eww.texi (Basic): Document new command and key. * etc/NEWS: Mention new key and its purpose. * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url. (eww): Append (eww-current-url) to the prompt defaults. (eww-open-in-new-buffer): New command. (eww-mode-map): Bind it and add a menu item. 2016-11-02 Mark Oteiza Migrate auth-source to cl-lib * lisp/auth-source.el: Use cl-lib. (auth-source-read-char-choice, auth-source-backend-parse-parameters): (auth-source-search): Replace cl calls with cl-lib ones. (auth-source-netrc-cache): (auth-source-forget+): Use cl-do-symbols instead. (auth-source-specmatchp, auth-source-netrc-parse): (auth-source-netrc-search, auth-source-netrc-create): (auth-source-netrc-saver, auth-source-secrets-listify-pattern): (auth-source-secrets-search, auth-source-secrets-create): (auth-source-macos-keychain-search, auth-source--decode-octal-string): (auth-source-macos-keychain-search-items, auth-source-plstore-search): (auth-source-plstore-create): Replace cl calls with cl-lib ones. 2016-11-01 Lars Ingebrigtsen Don't segfault on timed-out TLS connections * src/process.c (finish_after_tls_connection): Check that the file descriptor is still alive before proceeding (bug#24811). Also clean up the code slightly. 2016-11-01 Eli Zaretskii Support 'TARGETS' in clipboard selections on MS-Windows * src/w32select.c (Fw32_selection_targets): New function. * lisp/term/w32-win.el (w32--get-selection): Call 'w32-selection-targets' to obtain the list of data formats available in the clipboard. 2016-11-01 Thomas Fitzsimmons Fix documentation for 'eudc-options-file' * doc/misc/eudc.texi (The Server Hotlist): Update the default value of 'eudc-options-file'. 2016-11-01 Tibor Csögör Fix documentation of 'eudc-inline-expansion-format' * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of 'eudc-inline-expansion-format'. (Bug#24840) 2016-10-31 Mark Oteiza Turn on lexical-binding in some more libs * lisp/calendar/icalendar.el: * lisp/emacs-lisp/regexp-opt.el: * lisp/emacs-lisp/timer.el: * lisp/gnus/message.el: * lisp/hex-util.el: Turn on lexical-binding. 2016-10-31 Mark Oteiza Turn on lexical-binding in some net libs * lisp/net/dbus.el: Turn on lexical-binding. (dbus-list-hash-table, dbus-list-known-names): (dbus-introspect-get-node-names, dbus-introspect-get-interface-names): (dbus-introspect-get-method-names, dbus-introspect-get-signal-names): (dbus-introspect-get-property-names): (dbus-introspect-get-argument-names, dbus-get-all-properties): (dbus-property-handler, dbus-get-all-managed-objects): (dbus-managed-object-handler): Replace add-to-list with push. Add nreverse in some places where the APPEND argument of add-to-list was used. * lisp/net/network-stream.el: Turn on lexical-binding. * lisp/net/newsticker.el: Turn on lexical-binding. * lisp/net/shr.el: Turn on lexical-binding. (shr-make-placeholder-image): Remove unused variable binding. (shr-inspect-table): Replace ignored bindings with underscore. 2016-10-31 Mark Oteiza Turn on lexical-binding in some url libs * lisp/url/url-auth.el: * lisp/url/url-expand.el: * lisp/url/url-future.el: * lisp/url/url-parse.el: * lisp/url/url-util.el: Turn on lexical-binding. 2016-10-31 Johan Bockgård * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec (Bug#24733) 2016-10-30 Alan Mackenzie Handle chars of syntax word which are also flagged as comment delimiters src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged as the start/end of two char comment delimiters, recognize a comment delimiter in preference to a portion of a word. This fixes bug #24767. 2016-10-29 Daniel Colascione Speed up initialization by preferring /dev/urandom to GnuTLS * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS. 2016-10-29 José L. Doménech Quote file names in dired compression commands * lisp/dired-aux.el (dired-do-compress-to): Change the string used as shell command for compression by quoting the filenames used for input and output (Bug #24620). 2016-10-29 Eli Zaretskii Avoid errors in posn-at-point for large images * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p returns a 6-member list for a partially visible glyph, pass the sum of Y and RTOP to posn-at-x-y, since that's where the visible portion of that glyph begins on display. (Bug#24804) (Bug#21832) (Bug#23809) 2016-10-29 Eli Zaretskii Unbreak MS-Windows build * src/w32term.c (XCreateGC): Second argument is now HWND, and its name is "wignore". (x_set_cursor_gc, x_set_mouse_face_gc) (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect) (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't use s->window, which doesn't exist anymore. * src/w32term.h (XCreateGC): Adjust prototype. 2016-10-28 Daniel Colascione Add double-buffering support to reduce flicker * src/dispextern.h (struct glyph_string): Remove window member (block_buffer_flips, unblock_buffer_flips) (buffer_flipping_blocked_p): Declare. * src/xterm.h (struct x_display_info): New member supports_xdbe. (struct x_output): New members draw_desc and need_buffer_flip. (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE) (FRAME_X_DOUBLE_BUFFERED_P) (FRAME_X_NEED_BUFFER_FLIP): New macros. (set_up_x_back_buffer, tear_down_x_back_buffer) (initial_set_up_x_back_buffer): Declare. * src/xterm.c: Include Xdbe.h. (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle) (x_draw_vertical_window_border, x_update_end) (x_setup_relief_color, x_draw_relief_rect) (x_draw_fringe_bitmap, x_shift_glyphs_for_insert) (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local variables appropriately; substitute calls to XClearArea with x_clear_area, which DTRT for double buffering. (x_clear_window, x_clear_area): In double-buffering mode, use rect-drawing X functions instead of XClearWindow and XClearArea, which always operate on the front buffer. (show_back_buffer): New function. (XTframe_up_to_date): Call show_back_buffer when done. (x_clear_frame, x_clear_frame_area): Remove obsolete calls to gtk_widget_queue_draw to refresh scroll bars; scroll bars are now independent X windows. (handle_one_xevent): Call font_drop_xrender_surfaces when XftDraw might need regenerating; perform buffer flip when responding to Expose events; issue front-buffer clearing commands as stopgap while we wait for redisplay. Call flush_dirty_back_buffers. (x_make_frame_visible): Un-bitrot comment; move XSETFRAME earlier in function. (x_free_frame_resources): Call tear_down_x_back_buffer when destroying frame. (x_term_init): Attempt to initialize double buffer extension. (x_flip_and_flush): New function. (x_redisplay_interface): Point to x_flip_and_flush instead of x_flip directly. (flush_dirty_back_buffers): New function. (x_create_terminal): Register buffer_flipping_unblocked_hook. * src/xftfont.c (xftfont_drop_xrender_surfaces): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW. (xftfont_draw): Call x_mark_frame_dirty. (xftfont_drop_xrender_surfaces): New function. (syms_of_xftfont): Register it. * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW. * src/xfns.c: Include Xdbe.h. (x_set_inhibit_double_buffering, set_up_x_back_buffer) (Fx_double_buffered_p): New functions. (x_window): Call initial_set_up_x_back_buffer. (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW. (Fx_create_frame): Configure `inhibit-double-buffering' frame parameter. (x_create_tip_frame): Call initial_set_up_x_back_buffer. (x_frame_parm_handlers): Register x_set_inhibit_double_buffering. (syms_of_xfns): Register Sx_double_buffered_p. (x_mark_frame_dirty): Define. * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW. * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW. (redisplay_internal): Restart redisplay if a frame is garbaged during updating; explain why. Block buffer flips during redisplay. (redisplay_preserve_echo_area): Block buffer flip during call to redisplay_internal. (buffer_flip_blocked_depth): New variable. (block_buffer_flips, unblock_buffer_flips) (buffer_flipping_blocked_p): New functions. (init_glyph_string): Stop setting window member of struct glyph_string. * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for x_set_inhibit_double_buffering. * src/termhooks.h (struct terminal): Add buffer_flipping_unblocked_hook. * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for x_set_inhibit_double_buffering. * src/image.c (x_create_bitmap_from_data) (x_create_bitmap_from_file, x_create_x_image_and_pixmap) (Create_Pixmap_From_Bitmap_Data) (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local variables appropriately. * src/gtkutil.c: Include Xdbe.h. (xg_get_widget_from_map): Forward declare. (xg_clear_under_internal_border): Remove obsolete calls to refresh scroll bars. (xg_create_frame_widgets): Call initial_set_up_x_back_buffer. (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the same reason. (xg_set_background_color): Set scroll bar background colors. (xg_finish_scroll_bar_creation): New function with common logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force scroll bars to be real X11 windows. (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call xg_finish_scroll_bar_creation. (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Remove obsolete calls to refresh scroll bars; fix comments. * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap, (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW. * src/frame.c (frame_parms): Add table entry for new `inhibit-double-buffering' frame parameter (syms_of_frame): Register Qinhibit_double_buffering. * src/font.h (struct font_driver): Add new `flush_frame_caches' hook. (font_drop_xrender_surfaces): Declare. * src/font.c (font_drop_xrender_surfaces): New function. * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute. * etc/NEWS: Mention use of double buffering * doc/lispref/frames.texi (Management Parameters): Document `inhibit-double-buffering' frame parameters. (Visibility of Frames): Document `x-double-buffered-p'. * configure.ac: Check for the X double buffer extension 2016-10-28 Michael Albinus Improve result of `auth-source-search' in Tramp * lisp/net/tramp.el (tramp-read-passwd): Require :secret and :user in result of `auth-source-search'. 2016-10-27 Mark Oteiza Fix avl-tree alias docstrings * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch): (avl-tree-stack-p, avl-tree-create): (avl-tree-compare-function): Add calling convention to docstrings. 2016-10-27 Paul Eggert Update from gnulib This incorporates: 2016-10-16 qsort_r: Fix macrology for platforms that lack the function. 2016-10-13 stdint: port SIZE_MAX to glibc s390 2016-10-11 maint: remove stray space after "." in AC_DEFINE comment. * lib/gnulib.mk: Regenerate. * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4: * m4/utimes.m4: Copy from gnulib. 2016-10-27 Paul Eggert electric-quote-chars fixups * lisp/electric.el (electric-quote-chars): Check types and safety more carefully. (electric-quote-post-self-insert-function): Use more-mnemonic locals. Omit no-longer-necessary runtime error diagnostic. 2016-10-27 Göktuğ Kayaalp New user variable 'electric-quote-chars' * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this. * lisp/electric.el (electric-quote-chars): New defcustom. (electric-quote-post-self-insert-function): Use it. 2016-10-27 Tino Calancha Add more tests for Bug#24627 * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Add tests for 'list-at-point'. 2016-10-26 Filipp Gunbin * lisp/shell.el (shell--unquote&requote-argument): Match data misuse * lisp/shell.el (shell--unquote&requote-argument): Fix off-by-one thinko. Don't use match data after a failed string-match. 2016-10-25 Paul Eggert * src/xwidget.c (webkit_js_to_lisp): Now static. 2016-10-25 Ricardo Wurmus xwidget: Map "previous-line" and "next-line" to scroll * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling procedures. 2016-10-25 Ricardo Wurmus xwidget: Bind "beginning-of-buffer" and "end-of-buffer" * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom", respectively. (xwidget-webkit-scroll-top, xwidget-webkit-scroll-bottom): New procedures. 2016-10-25 Ricardo Wurmus Implement zoom for WebKit widget. * src/xwidget.c (xwidget-webkit-zoom): New procedure. * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively. (xwidget-webkit-zoom): Declare procedure. (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures. 2016-10-25 Ricardo Wurmus Dynamically resize WebKit widget. * lisp/xwidget.el (xwidget-webkit-auto-adjust-size, xwidget-webkit-adjust-size-in-frame): New procedures. (xwidget-webkit-new-session): Remove hint to resize widget with `a'. (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget. (xwidget-webkit-adjust-size-to-window): Make non-interactive, add widget and window as arguments. (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window. 2016-10-25 Ricardo Wurmus Let initial WebKit view fill window * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of WebKit widget to window size. 2016-10-25 Ricardo Wurmus xwidget: Remove title hack. * src/xwidget.c (xwidget-webkit-get-title): Remove procedure. * lisp/xwidget.el (xwidget-webkit-get-title, xwidget-webkit-execute-script-rv): Remove procedures. 2016-10-25 Ricardo Wurmus xwidget: Get URL asynchronously. * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback. 2016-10-25 Ricardo Wurmus xwidget: Get selection with asynchronous JavaScript * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to process selection. (xwidget-webkit-copy-selection-as-kill): Kill selection in callback. 2016-10-25 Ricardo Wurmus xwidget: Add function to find element by CSS selector * lisp/xwidget.el (xwidget-webkit-show-element): New procedure. 2016-10-25 Ricardo Wurmus xwidget: Simplify functions to scroll to elements * lisp/xwidget.el (xwidget-webkit-show-named-element, xwidget-webkit-show-id-element, xwidget-webkit-show-id-or-named-element): Simplify functions by scrolling exclusively with JavaScript. 2016-10-25 Ricardo Wurmus xwidget: Get title via asynchronous JavaScript. * lisp/xwidget.el (xwidget-webkit-callback): Get document title asynchronously. 2016-10-25 Ricardo Wurmus xwidget: Do not use `xwidget-execute-script-rv' to insert string * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript return value via callback instead of using `xwidget-webkit-execute-script-rv'. 2016-10-25 Ricardo Wurmus Remove scrolled window container around WebKit widget The WebKit widget can scroll on its own and does not need to wrapped with a scrolled window container. * src/xwidget.h: Remove struct member widgetscrolledwindow_osr. * src/xwidget.c: Remove widgetscrolledwindow_osr. (xwidget-set-adjustment): Remove. (xwidget-resize): Resize Webkit widget last. * lisp/xwidget.el (xwidget-set-adjustment): Remove. (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down, xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward): Implement scrolling via JavaScript. 2016-10-25 Ricardo Wurmus xwidget: Pass JavaScript return value to optional callback procedure * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional callback argument. (xwidget-webkit-callback): Handle "javascript-callback" event type. * src/xwidget.c (xwidget-webkit-execute-script): Accept optional argument FUN, a Lisp procedure to execute on the JavaScript return value. (store_xwidget_js_callback_event, webkit_javascript_finished_cb, webkit_js_to_lisp): New procedures. 2016-10-25 Ricardo Wurmus xwidget: Use WebKit2 API * configure.ac: Check for webkit2gtk-4.0. * src/xwidget.c: Adjust to use WebKit2 API. * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for `xwidget-event-type'. 2016-10-25 Paul Eggert Merge from origin/emacs-25 4c3f738 Comment for bug#24793 2016-10-25 Paul Eggert Merge from origin/emacs-25 96ac0c3 Yet another fix for using pointers into buffer text 1047496 Another fix for using pointer to buffer text 3121992 Fix Bug#24478 2016-10-25 Paul Eggert Merge from origin/emacs-25 ee04aed Fix handling of buffer relocation in regex.c functions 71ca4f6 Avoid relocating buffers while libxml2 reads its text 1b3fc8a ; Remove redundant code in gmalloc.c 9afea93 Attempt to catch reads from a buffer that is relocated 2016-10-25 Nicolas Petton Minor fix in the documentation of seq-random-elt * doc/lispref/sequences.texi (Sequence Functions): Remove false sentence. 2016-10-25 Eli Zaretskii Minor copyedits in documentation of 'seq-random-elt' * doc/lispref/sequences.texi (Sequence Functions): Fix markup in last change. Use 2 spaces between sentences. 2016-10-25 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring. 2016-10-25 Damien Cassou Add seq-random-elt to seq.el * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a random element from it's sequence parameter. * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all test-seq-random-elt-return-nil): Test the new function * doc/lispref/sequences.texi: Document the new function 2016-10-24 Ken Brown * configure.ac: Stop using mmap for buffers on Cygwin. 2016-10-24 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738) 2016-10-24 Karl Chen Don't prompt user when killing Flymake processes * lisp/progmodes/flymake.el (flymake-start-syntax-check-process): Don’t prompt the user when killing Flymake processes. * doc/misc/flymake.texi (Starting the syntax check process): Document new behavior. 2016-10-23 Paul Eggert * src/regex.c (re_search_2): Use UNINIT, not IF_LINT. This finishes the merge of the recent emacs-25 regex changes into master. 2016-10-23 Paul Eggert Merge from origin/emacs-25 50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments. 6f1325e electric-quote mode no longer worries about coding c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi... f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings b2ba630 Explain how to debug emacsclient lisp errors 9da53e2 Let describe-function work for lambda again 5c2da93 Fix kill-line's docstring ad66b3f Fix handling of allocation in regex matching 5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24... 3877c91 vc-region-history: Search just on lines intersecting the region 8988327 Fix documentation of 'alist-get' b6998ea * src/regex.h (re_match_object): Improve commentary. # Conflicts: # etc/NEWS # lisp/help-fns.el 2016-10-23 Paul Eggert Merge from origin/emacs-25 8ad0d7d ; Fix quoting in etc/NEWS 6b9dee1 Change Tramp version to "2.2.13.25.2" 62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F... b2f32e4 Don't scan compiled module files for autoloads 9a758b4 Fix Bug#24698 baa8ba4 * lisp/subr.el (start-process): Doc fix. (Bug#24693) e535ca4 Fix display of vc-dir CVS file statuses in subdirectories 12da149 Update URL of MS-Windows optional DLLs 2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)... b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f... cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (B... # Conflicts: # doc/misc/trampver.texi # etc/NEWS # lisp/net/tramp-sh.el # lisp/net/trampver.el 2016-10-23 Paul Eggert Merge from origin/emacs-25 b73f466 * lisp/cus-start.el (exec-path): Handle nil elements. (Bug#2... 55ebb70 Catch the imenu-unavailable error in sh-mode completion table 993acb5 ; Minor fix for last change in characters.el 30c4bb5 More char-width fixes 4eb4463 Fix char-width-table values for some Emoji 528997d Keep point when switching from and to *terminal* buffer 2130005 * INSTALL: Use correct Emacs release number 25. 10835b1 Avoid crashes due to objects read with the #n=object form 4de671d Improve doc string of 'completion-at-point-functions' ceb46f0 Fix crash in evaluating functions d8374c4 * src/filelock.c (current_lock_owner): Update comment. 2016-10-23 Paul Eggert Merge from origin/emacs-25 2deb20c Port last_marked change to full-program optimizers 27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds dac64e3 Avoid optimizing out the last_marked[] array 2016-10-22 Noam Postavsky Avoid infinite hscrolling in redisplay * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal scrolling (e.g., caused by pre-redisplay-functions) triggering infinite redisplay (Bug #24633). 2016-10-22 Michael Albinus Fix error codes in Tramp * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst, taken from tramp.el. (tramp-file-missing): New defconst. * lisp/net/tramp.el (tramp-user-error): Remove it. (tramp-check-proper-method-and-host) (tramp-dissect-file-name, tramp-debug-message) (tramp-handle-shell-command): * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command): * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler): Use `tramp-compat-user-error'. * lisp/net/tramp.el (tramp-handle-insert-file-contents) (tramp-handle-load): * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy): * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy) * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy): * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy): Use `tramp-file-missing'. (Bug#24714) * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file): * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link): Use `file-already-exists'. 2016-10-22 Jorgen Schaefer Autoload all commands from misc.el Only two of the commands there were autoloaded, one of which is an easter egg. * lisp/miscl.el (copy-from-above-command): * lisp/miscl.el (zap-up-to-char): * lisp/miscl.el (mark-beginning-of-buffer): * lisp/miscl.el (mark-end-of-buffer): * lisp/miscl.el (upcase-char): * lisp/miscl.el (forward-to-word): * lisp/miscl.el (backward-to-word): Add autoload cookie. 2016-10-22 Martin Rudalics On terminal frames ignore minibuffer frame parameter (Bug#24758) * src/frame.c (Fmake_terminal_frame): Don't complain when the caller asks for a deviant minibuffer setting (Bug#24758). 2016-10-21 Paul Eggert New error file-missing This fixes a recently-introduced bug in delete-directory, where the code assumes the C locale when determining whether a file-error corresponds to a missing file (Bug#24714). * doc/lispref/errors.texi (Standard Errors): * doc/lispref/files.texi (Changing Files): * etc/NEWS: Document this. * doc/lispref/loading.texi (How Programs Do Loading): Say "a file-error" rather than "the error file-error" since it might be a file-missing now. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): * lisp/epa-file.el (epa-file--find-file-not-found-function): (epa-file-insert-file-contents, epa-file-write-region): * lisp/ffap.el (find-file-at-point, dired-at-point): * lisp/jka-compr.el (jka-compr-insert-file-contents) (jka-compr-insert-file-contents): * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory) (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal): * lisp/progmodes/etags.el (visit-tags-table): * lisp/url/url-handlers.el (url-copy-file): * src/fileio.c (report_file_errno): Signal file-missing if appropriate. * lisp/epa-file.el (epa-file-insert-file-contents): * lisp/jka-compr.el (jka-compr-insert-file-contents): Don't assume file-error is a leaf in the error hierarchy. * lisp/files.el (files--force): * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p): * lisp/jka-compr.el (jka-compr-insert-file-contents): Use file-missing to detect whether the file is missing. * lisp/url/url-handlers.el (url-copy-file): Signal file-already-exists if appropriate. * src/fileio.c (syms_of_fileio): Define file-missing. 2016-10-18 Paul Eggert 2016-10-21 Mark Oteiza Teach browse-url to open man page urls * lisp/net/browse-url.el (browse-url-man-function): New custom option. (browse-url): Add a condition to catch links matching "^man:". (browse-url-man): New function. 2016-10-21 Eli Zaretskii Improve fontification of footnote references in Info buffers * lisp/info.el (Info-fontify-node): Don't fontify random numbers in parentheses as if they were footnote references. See https://lists.gnu.org/archive/html/bug-texinfo/2016-10/msg00007.html for the details. 2016-10-20 Philipp Stephani Minor fixes to cc-mode-tests.el See Bug#24747. * progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in file-local variable; add comments to make checkdoc happy. 2016-10-20 Michael Albinus * etc/NEWS: Fix typos. Remove entries backported to Emacs 25.2. 2016-10-20 Michael Albinus Document, how to suppress iTerm2 shell integration in Tramp * doc/misc/tramp.texi (Frequently Asked Questions): Suppress iTerm2 shell integration. 2016-10-20 Tino Calancha cl-seq: Remove max limit on input sequence length * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete) (cl--position, cl-nsubstitute, cl-substitute, cl-remove): Remove limit on maximum length for the input sequence (#Bug24264). * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed. 2016-10-19 Mark Oteiza Derive dig-mode from special-mode * lisp/net/dig.el: Remove unused cl dependency. Remove top level mode-class assignment. (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer. (dig-mode): Derive from special-mode. (dig-exit): Use quit-window instead. (dig): Use pop-to-buffer-same-window. Remove redundant assignments. (query-dig): Use pop-to-buffer-same-window. 2016-10-18 Johan Bockgård cl-defstruct: Fix debug spec and check of slot options * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot option syntax. Fix debug spec. (Bug#24700) 2016-10-18 Johan Bockgård isearch: Fix bug in defstruct syntax * lisp/isearch.el (isearch--state): Use correct form of defstruct slot options. (Bug#24685) 2016-10-18 Mark Oteiza Add an option for eshell-input-filter * etc/NEWS: Document changes. * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function symbol. Change type to a radio for choosing functions. Refer to both new functions. (eshell-input-filter-default): New function. Same body as the previous value of eshell-input-filter. (eshell-input-filter-initial-space): New function. 2016-10-18 Paul Eggert delete-directory no longer errors when racing Problem reported by Glenn Morris for package-test.el (Bug#24714). * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this. * lisp/files.el (files--force): New function. (delete-directory): Use it to avoid error in this case. 2016-10-17 Yuri Khan (tiny change) Support Shift selection in nxml-mode commands * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item) (nxml-up-element, nxml-backward-up-element, nxml-down-element) (nxml-backward-down-element, nxml-forward-element) (nxml-backward-element, nxml-forward-paragraph) (nxml-backward-paragraph): Use "^p" as the interactive spec, to support shift-selection. 2016-10-17 Mark Oteiza Simplify some loops and cons * lisp/net/mailcap.el: Replace cl with cl-lib. (mailcap--get-user-mime-data, mailcap--set-user-mime-data): (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras): (mailcap-possible-viewers): Use push and dolist where possible. (mailcap-viewer-passes-test): Remove unused binding. (mailcap-add-mailcap-entry): Use push. (mailcap-mime-info): Remove unused binding. Use push. (mailcap-parse-mimetypes): Use dolist. 2016-10-17 Mark Oteiza Turn on lexical-binding in auth-source * lisp/auth-source.el: Turn on lexical-binding. (auth-source-netrc-parse, auth-source-netrc-normalize): (auth-source-token-passphrase-callback-function): (auth-source-netrc-create, auth-source-secrets-search): (auth-source-macos-keychain-search-items): (auth-source-plstore-search): Use let instead of lexical-let. 2016-10-17 Martin Rudalics Fix frame focus redirection with shared minibuffer windows (Bug#24500) * src/frame.c (do_switch_frame): Redirect frame focus also when the frame switched to has its minibuffer window on the selected frame. * src/window.c (candidate_window_p): To qualify as candidate it's not sufficient for the window's frame to just share the minibuffer window - it must be active as well. 2016-10-17 Eli Zaretskii Fix time-related data types in 2 editfns.c functions * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r', instead of relying on struct timespec's 'tv_sec' member to be of compatible type. 2016-10-16 Martin Rudalics Document atomic windows in Elisp manual (Bug#18170) * lisp/window.el (display-buffer-in-atom-window): If no `side' alist entry was specified, use `below' as the doc tells. * doc/lispref/elisp.texi (Atomic Windows): Add menu entry. * doc/lispref/windows.texi (Atomic Windows): New section. (Window Parameters): Update reference. 2016-10-16 Paul Eggert New face homoglyph Suggested by Eli Zaretskii, from a feature request by Alan Mackenzie (Bug#24468). * doc/emacs/display.texi (Standard Faces, Text Display): * etc/NEWS: Document this. * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el: * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el: * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el: * etc/themes/wombat-theme.el: Customize homoglyph to be the same as escape-glyph. * lisp/cus-theme.el (custom-theme--listed-faces): Add homoglyph. * lisp/faces.el (homoglyph): New face. * lisp/startup.el (startup--setup-quote-display): Use it. 2016-10-16 Paul Eggert Port to Ubuntu 16.10, which needs gcc -nopie * configure.ac (emacs_cv_prog_cc_no_pie): Rename from emacs_cv_prog_cc_nopie. All usages changed. Check for -no-pie in preference to -nopie (Bug#24682). 2016-10-16 Michael Albinus Fix bug#24665 in Tramp * doc/misc/tramp.texi (External methods): Do not confuse method names. (Bug#24665) 2016-10-15 Sam Steingold use full time objects (lists) instead of floats when possible * midnight.el (midnight-buffer-display-time): Remove (clean-buffer-list): Use float time only for time comparison 2016-10-15 Sam Steingold Save and restore buffer-display-time * desktop.el (desktop-locals-to-save): Add `buffer-display-time' (desktop-read): Set `desktop-file-modtime' before loading the desktop file (desktop-create-buffer): Adjust `buffer-display-time' for the downtime 2016-10-15 Philipp Stephani Disable bracketed paste in a terminal in char mode In char mode, a terminal doesn't accept bracketed paste events, therefore we should disable them; see Bug#24639. To decouple the XTerm management from term.el, introduce a per-buffer setting to disable bracketed paste for that buffer. If bracketed paste is inhiited for at least one buffer in a terminal, it is disabled for the whole terminal. * term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to inhibit XTerm bracketed paste per buffer. (xterm--buffer-terminals, xterm--update-bracketed-paste) (xterm--bracketed-paste-possible, xterm--is-xterm): New helper functions. (xterm--init-bracketed-paste-mode): Remove unused helper function. (terminal-init-xterm): Update bracketed paste status when initializing an XTerm and on window configuration change. * term.el (term-char-mode, term-line-mode): Inhibit XTerm bracketed paste in char mode. 2016-10-15 Dima Kogan Undo the effect of CapsLock when other modifiers are present * src/keyboard.c (make_lispy_event): Effectively undo the effect of CapsLock if any modifiers other than Shift are present in a key. (Bug#24456) 2016-10-15 Simen Heggestøyl Add tests for foreign completions in CSS mode * test/lisp/textmodes/css-mode-tests.el (css-test-foreign-completions): New test for `css--foreign-completions'. (css-test-complete-selector-tag): Rename test. (css-test-complete-selector-class): New test testing completion of class names in selectors. (css-test-complete-selector-id): New test testing completion of IDs in selectors. 2016-10-13 Lars Ingebrigtsen Cosmetic change to last mm-url change * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data): Tweak last change slightly for more readability. 2016-10-13 Lars Ingebrigtsen Fix problem with submitting binary data via HTTP forms * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data): Document the parameters, clean up the code, and make uploading binary data really work (which it didn't if the binary bits were in the last part of the data). 2016-10-13 Mark Oteiza * lisp/time.el (display-time-string-forms): Fix custom type. 2016-10-13 Mark Oteiza Derive Man and WoMan modes from special-mode * lisp/man.el (Man-mode-map): Set parent to map composed from both button-buffer-map and special-mode-map. Remove redundant bindings. Fix menu to refer to the quit-window command. (Man-mode): Derive from special-mode. Fix docstring. Remove redundant buffer-read-only binding. (Man-quit): Remove. * lisp/woman.el (woman-really-find-file): Use setq-local. (woman-mode-map): Refer to woman-mode in docstring. (woman-mode): Derive from special-mode. Document woman-mode-map in docstring. Use setq-local where possible; imenu-generic-expression is already buffer-local. (woman-negative-vertical-space): Replace unused binding with _. 2016-10-13 Philipp Stephani Fix crash in evaluating functions See Bug#24673 * src/eval.c (funcall_lambda): Fix crash for bogus functions such as (closure). * test/src/eval-tests.el (eval-tests--bug24673): Add test. 2016-10-13 Tino Calancha Add test for Bug#24627 * /test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test. 2016-10-12 Eli Zaretskii * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test. 2016-10-11 Paul Eggert Work around Samba bug with ':' in symlink contents * src/filelock.c (current_lock_owner): When reading the contents of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656). 2016-10-11 Stefan Monnier If autoloads buffer is unchanged, mark it as such (bug#23692) * lisp/emacs-lisp/autoload.el (update-directory-autoloads): If autoloads buffer is unchanged, mark it as such (bug#23692). 2016-10-11 Michael Albinus Use "26.1" version string in Tramp, fix some comments * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): * lisp/net/tramp-sh.el (tramp-remote-process-environment): Use "26.1" version string. 2016-10-10 Tino Calancha form-at-point work for all kind of THINGS * lisp/thingatpt.el (form-at-point): Use thing-at-point--read-from-whole-string only if thing-at-point returns a string (Bug#24605). 2016-10-10 Eli Zaretskii Fix compilation warnings on MS-Windows * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove definitions of these macros, which seem to be unneeded and cause compiler warnings. * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused macros. * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and make it external, to avoid compiler warning. 2016-10-10 Paul Eggert Spelling and clarity fixes 2016-10-10 Paul Eggert Merge from origin/emacs-25 4f406e9 CC Mode manual: remove reference to former Emacs variable las... 44e402e Allow to disable compaction of font caches 4ff4b66 Allow selection of font for symbols as in Emacs 24.x c03d44b ; Fix last commit d4be4f3 ; Fix indexing in lispref manual ed399f2 ; Minor improvement in documentation of generators 197a6bc Fix horizontal scrolling during Isearch 3566644 Fix infloop in redisplay due to truncated lines and invisible... # Conflicts: # etc/NEWS 2016-10-10 Paul Eggert Merge from origin/emacs-25 c4a5e7e Improve documentation of 'menu-bar-open' 2016-10-10 Paul Eggert Merge from origin/emacs-25 4b347fe Clarify that doc fixes are okay in feature freeze 01669ad Avoid crashes when setting the cursor f2144ee Restore 'command-debug-status' functionality ec6e4b9 ; Minor addition to CONTRIBUTE 2016-10-10 Paul Eggert Merge from origin/emacs-25 74b4f13 Document nil args of compare-buffer-substrings 9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup. 95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa... 2016-10-10 Paul Eggert Merge from origin/emacs-25 f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix. (Bug#24372) ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo. bbf1ffd Regexp Functions doc minor fixes 2016-10-08 Philipp Stephani Don’t consider nested let-alist forms See Bug#24641. * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t consider symbols in nested ‘let-alist’ forms. * test/lisp/emacs-lisp/let-alist-tests.el (let-alist--deep-dot-search--nested): Add a unit test. 2016-10-08 Alain Schneble Support SIGTRAP in kill emulation on Windows * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to 'DebugBreakProcess' to cause a breakpoint exception to occur in the specified process. On Windows versions prior to Windows XP that do not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP (as opposed to EINVAL before this change). * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer and global variable to track state of run-time dynamic linking of this function. * etc/NEWS: Add entry to document that 'signal-process' now supports SIGTRAP. 2016-10-08 Eli Zaretskii Deprecate 'wp' group and introduce a new group 'text' * lisp/textmodes/tildify.el (tildify): * lisp/textmodes/text-mode.el (text-mode-hook): * lisp/textmodes/table.el (table): * lisp/textmodes/rst.el (rst): * lisp/textmodes/refer.el (refer): * lisp/textmodes/refbib.el (refbib): * lisp/textmodes/picture.el (picture): * lisp/textmodes/nroff-mode.el (nroff): * lisp/textmodes/enriched.el (enriched): * lisp/textmodes/bib-mode.el (bib): * lisp/progmodes/ebnf2ps.el (ebnf2ps): * lisp/nxml/rng-valid.el (relax-ng): * lisp/view.el (view): * lisp/ps-print.el (ps-print): * lisp/printing.el (printing): * lisp/outline.el (outlines): * lisp/lpr.el (lpr): * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'. * lisp/cus-edit.el (wp): Remove the "text" tag. (text): New defgroup, inherits from the deprecated 'wp'. (outlines): Remove, in favor of the definition in outline.el. (tex): Inherit from 'text'. Suggested by Drew Adams . (Bug#24549) 2016-10-08 Laimonas Vėbra (tiny change) Extend dictionary and library-directory handling for Ispell * lisp/textmodes/ispell.el (ispell-check-version): Allow overriding LIBDIR via the variable defined by LIBRARYVAR (usually ISPELL_DICTDIR). (ispell-valid-dictionary-list): If the -d option to Ispell specifies an absolute file name, use that regardless of ispell-library-directory. (Bug#24439) 2016-10-07 Tassilo Horn Fix unescaped \begin{...} in docstring * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped \begin{...} in docstring. 2016-10-06 Noah Friedman Update comment. 2016-10-06 Eli Zaretskii Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2 * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before defining to avoid redefinition warnings. * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid inclusion of sys/stat.h from the system headers, which could then lead to compilation errors due to redefinition of 'struct stat' etc. This is needed because latest versions of MinGW runtime include sys/stat.h from wchar.h. * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily redefine to 4 to avoid conflict between 2 definitions of MemoryBarrier. (Bug#24613) 2016-10-05 Mark Oteiza * lisp/url-url-parse.el (url-generic-parse-url): Unquote macro URL argument. 2016-10-05 Mark Oteiza Autoload entry point testcover-start * lisp/emacs-lisp/testcover.el: Add autoload cookie for testcover-start. 2016-10-05 Thomas Fitzsimmons Bump version of ntlm.el to 2.1.0 * lisp/net/ntlm.el: Bump version to 2.1.0. 2016-10-05 Thomas Fitzsimmons lisp/net/ntlm.el: Fix comment and docstring formatting 2016-10-05 Thomas Fitzsimmons lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior * lisp/net/ntlm.el (ntlm-build-auth-request): Only set "negotiate domain supplied" bit when a domain is supplied. Do not set "negotiate workstation supplied" bit. (ntlm-build-auth-response): Set domain to empty string by default. Set workstation name to "WORKSTATION". Set flags to logical and of Type 1 and Type 2 message flags. Remove four trailing 0 bytes. Always set LM response. Hard-code domain offset. Reorder buffer fields. 2016-10-05 Martin Rudalics Document return value of `display-buffer-in-side-window' * doc/lispref/windows.texi (Displaying Buffers in Side Windows): * lisp/window.el (display-buffer-in-side-window): Describe return value of `display-buffer-in-side-window'. 2016-10-05 Eli Zaretskii Improve wording in side windows documentation * doc/lispref/windows.texi (Displaying Buffers in Side Windows) (Side Window Options and Functions) (Frame Layouts with Side Windows): Minor wording improvements. 2016-10-05 Martin Rudalics Document and fix some bugs with side windows Add a documentation for side windows and fix some bugs found when testing their behavior. Also add a new window parameter `no-delete-other-window', a new `display-buffer' alist member called `window-parameters', and functions to toggle and reverse side windows on a frame. Add new function `window-swap-states' to exchange states of two live windows. * lisp/window.el (display-buffer-in-atom-window): Use `split-window-no-error'. (window-sides-vertical): Maybe change layouts when setting this variable. (window-sides-reversed): New option. (window-sides-slots): Rewrite doc-string and help echoes. (window-sides-shown): New buffer-local variable set when showing a buffer in a side window. (window--sides-inhibit-check): New variable. (window--sides-reverse-on-frame-p, window-toggle-side-windows) (window--sides-reverse-all, window--sides-reverse-frame) (window--sides-reverse-side, window--sides-reverse) (window--sides-verticalize-frame, window--sides-verticalize) (window--sides-check-failed): New functions. (window--side-window-p): Remove function. (window--major-non-side-window): Rename to `window-main-window', adjust callers, rewrite doc-string. (window--major-side-window): Rename to `window--make-major-side-window-next-to', adjust caller, fix doc-string. (display-buffer-in-major-side-window): Rename to `window--make-major-side-window', adjust caller, rewrite doc-string. Make `window-side' and `window-slot' parameters persistent (Bug#23858). Don't set `delete-window' parameter. Add `preserve-size' entry to ALIST. (delete-side-window): Remove function. (display-buffer-in-side-window): Fix doc-string. Don't set `delete-window' parameter. Add `preserve-size' entry to ALIST. (window--side-check): Rename to window--sides-check. Rewrite completely. Adjust caller. (window-resize-no-error): Don't describe PIXELWISE argument. (adjust-window-trailing-edge): Fix bug that disallowed re-enlarging windows that were too small. (window-deletable-p): Don't tell that a minibuffer window on a non-minibuffer-only frame can be deleted. Fix doc-string. (delete-window): Handle deleting a side window here (the `delete-window' parameter is no more set for side windows). (delete-other-windows): Handle ‘no-delete-other-window' parameter. Don't treat side windows separately (see discussion of Bug#24368) but keep optimization that makes the main window the root window of its frame. (switch-to-prev-buffer, switch-to-next-buffer): Handle side windows and buffers shown in side windows separately. (split-window-no-error): New function. (window--state-get-1): Use right buffer when storing window point and start positions and WRITABLE is nil (Bug#24368). (window--state-put-1): Fix handling of `window-combination-limit'. Use `split-window-no-error'. (window--state-put-2): Try to restore windows with preserved size to their original size. Fix bug where a fixed window's width was not preserved. (window-state-put): When reducing an internal window to a live one, don't choose a side window. (window-swap-states): New function. (window-splittable-p): Don't call `window--side-window-p'. (window--display-buffer): Handle `window-parameters' ALIST entry. Minor rewrite. (display-buffer): Mention `window-parameters' entry in doc-string. (display-buffer-at-bottom): Call `split-window-no-error'. * doc/lispref/elisp.texi (Top): New section "Side Windows". * doc/lispref/windows.texi (Deleting Windows): Fix descriptions of `delete-window' and `delete-other-windows' wrt window parameters and side windows. (Display Action Functions): Mention `window-parameters' ALIST entry. (Side Windows): New section (Bug#18170). (Window Configurations): Describe new function `window-swap-states'. (Window Parameters): Say that functions may behave specially when their homonymous window parameter has been set. Mention new parameter `no-delete-other-window'. Add cross reference for `window-side' and `window-slot' parameters. 2016-10-04 John Wiegley Add documentation note from Alex 2016-10-04 Mark Oteiza Avoid dynamic binding on a symbol Instead, bind history in the default minibuffer-history. Fixes bug#24580. * lisp/replace.el (query-replace-read-from): Let-bind minibuffer-history. Change read-regexp and read-from-minibuffer's HISTORY arguments to nil so that they use minibuffer-history. 2016-10-03 Stefan Monnier * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340) * src/fileio.c (Finsert_file_contents): Run before-change-hooks before deleting the old buffer content. * src/lisp.h (del_range_byte): * src/insdel.c (del_range_byte): Drop the last argument. * src/fns.c (Fbase64_encode_region): Adjust accordingly. 2016-10-03 Tino Calancha Ibuffer: 'w' and 'B' default to buffer at current line See discussion in: https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00384.html * lisp/ibuffer.el (ibuffer--near-buffers): New defun; return buffers near current line. * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it. Add argument ARG; if a non-zero integer, return next ARG buffers. Otherwise return the marked buffers. If there are not marked buffers, return buffer at current line without prompting the user. Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines. Append to kill ring when last command was a kill-region. (ibuffer-copy-filename-as-kill): Idem. Simplify the code. Use ibuffer-buffer-file-name instead of buffer-file-name to include buffers in Dired mode. 2016-10-03 Tino Calancha dired-mark-extension: Unmark if called with C-u prefix See discussion in #Bug2518 and: https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00711.html * lisp/dired-x.el (dired-mark-extension): Update interactive calls: a prefix arg C-u unmark files; a prefix C-u C-u prompt for MARKER-CHAR and mark files with it. (dired-mark-sexp): Show in the prompt that we are unmarking if called with a prefix argument. * doc/misc/dired-x.texi (Advanced Mark Commands): Update documentation for 'dired-mark-extension'. 2016-10-02 Karl Fogel Document yank behavior in the right place * lisp/simple.el (yank): Document the handling of the `yank-handled-properties' and `yank-excluded-properties' variables, and the `yank-handler' text property. (yank-pop): Refer to `yank' now (bug#286) * lisp/subr.el (insert-for-yank): Refer to `yank' now. (insert-for-yank-1): Refer to `insert-for-yank' now. See this thread for discussion: https://lists.gnu.org/archive/html/emacs-devel/2016-09/threads.html#00329 From: Karl Fogel To: Emacs Devel Subject: Question about intended behavior of 'insert-for-yank-1'. Date: Mon, 12 Sep 2016 00:17:14 -0500 Message-ID: <874m5lr92d.fsf@red-bean.com> 2016-10-02 Philipp Stephani Restart blink cursor timers on interval changes This prevents surprising behavior when timer interval customizations are only applied whenever the timers happen to be restarted (see Bug#24372). * lisp/frame.el (blink-cursor--start-idle-timer) (blink-cursor--start-timer): New functions. (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use the new helper functions. (blink-cursor-delay, blink-cursor-interval): Restart timers when the value is changed. 2016-10-01 Philipp Stephani Use a simple keyword for a non-nil argument The second argument of `run-with-idle-timer' is Boolean, i.e. only nil and non-nil values are distinguished. Passing a number here is confusing. Pass a descriptive symbol instead. * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use :repeat symbol instead of number for second argument of `run-with-idle-timer' 2016-10-01 Philipp Stephani Make querying to kill processes customizable Introduce a new customization option, `confirm-kill-processes', that users can set to nil if they don't want Emacs to nag them about killing processes. * lisp/files.el (confirm-kill-processes): New customization option. (save-buffers-kill-emacs): Use customization option. * test/lisp/files-tests.el (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add test for new customization option. * doc/emacs/entering.texi (Exiting): Document new user option. * doc/lispref/processes.texi (Query Before Exit): Document new user option. * etc/NEWS: Document new user option. 2016-10-01 Eli Zaretskii Set :version of 'debugger-stack-frame-as-list' * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to the ':version' attribute. 2016-10-01 Eli Zaretskii Bump Emacs version to 26.0.50 * README: * configure.ac: * etc/NEWS: * etc/refcards/ru-refcard.tex: * msdos/sed2v2.inp: * src/msdos.c: Increment Emacs version to 26.0.50. * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff moved to etc/NEWS. 2016-10-01 Eli Zaretskii Avoid compilation warning on MinGW * src/w32.c: Include string.h, needed for the prototype of 'strerror', shadowed by 'sys_strerror'. This avoids a compiler warning about "no previous prototype". The string.h header must be included after ms-w32.h, but before "#undef strerror". 2016-09-30 Alan Third Fix compatibility with macOS 10.12 pmset (bug#24537) * lisp/battery.el (battery-pmset): Recognise and ignore battery id if present in output. 2016-09-30 Paul Eggert Limit ’s includes This follows up on recent problems with the fact that config.h includes stdlib.h etc.; some files need to include stdlib.h later. config.h generally should limit itself to includes that are universally safe; outside of MS-Windows, only stdbool.h makes the cut among the files currently included. So, move the other includes to just the files that need them (Bug#24506). * configure.ac (config_opsysfile): Remove, as this generic hook is no longer needed. * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c: * src/w32proc.c (_GNU_SOURCE): Remove, as it’s OK for config.h to do this now. * src/conf_post.h: Include , instead of the generic config_opsysfile, for simplicity as this old way of configuring is now done only for the MS-Windows port. Do not include if DEFER_MS_W32_H, for the benefit of the few files that want its effects later. Do not include , , or . Other files modified to include these headers as needed, or to not include headers that are no longer needed. * src/lisp.h: Include and here, since some of the inline functions need them. * src/regex.c: Include if not emacs. (If emacs, we can rely on SAFE_ALLOCA.) There is no longer any need to worry about HAVE_ALLOCA_H. * src/unexmacosx.c: Rely on config.h not including stdlib.h. * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H): Define before including first, and include after the troublesome headers. 2016-09-30 Vasilij Schneidermann New user option 'debugger-stack-frame-as-list' * src/eval.c (syms_of_eval) : New variable. * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list. * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust backtrace processing for the value of debugger-stack-frame-as-list. * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace processing for the value of debugger-stack-frame-as-list. * doc/lispref/debugging.texi (Internals of Debugger): Document debugger-stack-frame-as-list. * etc/NEWS: Mention 'debugger-stack-frame-as-list'. 2016-09-30 Aurelien Aptel * src/alloc.c: call only non-null finalizers 2016-09-30 Eli Zaretskii Avoid compiler warnings in image.c on MS-Windows * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler warning about unused macros. 2016-09-30 Paul Rankin outline-invisible-p): Only return `t' for the 'outline property * lisp/outline.el (outline-invisible-p): Only return `t' for the 'outline property. 2016-09-29 Paul Eggert Fix problems found by static checking --with-ns This is for Fedora 24 when configured with --enable-gcc-warnings. Although it does not fix all the problems, it fixes many of them. * src/frame.c (XParseGeometry): * src/nsterm.m (mouseDown:): Mark locals with UNINIT to pacify --enable-gcc-warnings. * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen): Remove unused macros. (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image) (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v) (xpm_put_color_table_v, xpm_get_color_table_v) (xpm_make_color_table_h, xpm_put_color_table_h) (xpm_get_color_table_h, xpm_load_image, xpm_load) (pbm_next_char, pbm_scan_number, pbm_load, svg_load) (svg_load_image): * src/nsfns.m (x_get_string_resource): * src/nsimage.m (ns_image_from_XBM): Fix pointer signedness problems. * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load) (imagemagick_load_image): Omit unused locals. * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types) (Fx_open_connection): * src/nsfont.m (ns_antialias_threshold): Move extern decl to nsterm.h so it can be checked. * src/nsmenu.m (svcsMenu, dockMenu): Move to the only file that uses them, so they can be static. * src/nsterm.h (find_and_call_menu_selection): * src/nsterm.m (x_set_frame_alpha): Omit duplicate decls. * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE. * src/nsfns.m (ns_tooltip, ns_display_info_for_name) (ns_set_name_as_filename, x_set_menu_bar_lines) (x_set_tool_bar_lines, x_set_internal_border_width): * src/nsterm.m (ns_drag_types, ns_draw_text_decoration): Now static. * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp): * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp): Remove; unused. * src/nsfont.m (ns_dump_glyphstring): * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp) (ns_clear_frame, keyDown:): Fix signedness problem with printf arg. * src/nsterm.h (ns_input_events, ns_finish_events): * src/nsterm.m (ns_finish_events, hide_bell): Prototype the decls. * src/nsterm.m (NSMenuDidBeginTrackingNotification): Omit unnecessary decl. (dockMenu): (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file. (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:) (toggleFullScreen:): Use FACE_FROM_ID instead of FACE_FROM_ID_OR_NULL in contexts where the caller expects the result to be non-null. (applicationShouldTerminate:): Fix misleading indentation. 2016-09-28 Mark Oteiza Turn on more lexical-binding * lisp/dom.el: * lisp/faces.el: * lisp/htmlfontify.el: Turn on lexical-binding. (htmlfontify-string): Use pushnew instead of add-to-list. * lisp/info-xref.el: * lisp/isearch.el: * lisp/man.el: * lisp/ps-def.el: * lisp/ps-print.el: * lisp/replace.el: Turn on lexical-binding. Require cl-lib at compile time. (multi-occur): Use cl-pushnew instead of add-to-list. (replace-match-string-symbols): Remove unused lexical variable. (replace-search, replace-highlight): Fix argument shadowing. * lisp/sort.el: * lisp/xml.el: Turn on lexical-binding. (xml--parse-buffer): Use push instead of add-to-list. * lisp/xt-mouse.el: Turn on lexical-binding. 2016-09-27 Michael Albinus * admin/notes/bug-triage: Do not mention closed bugs * admin/notes/bug-triage: Do not mention closed bugs, they are suppressed by default in debbugs-{gnu,org}. 2016-09-27 Michael Albinus * etc/PROBLEMS: Remove problem Bug#22814, again. 2016-09-26 Paul Eggert Stick with debbugs-supported tags in triage * admin/notes/bug-triage: Stick to the tag "unreproducible", which debbugs supports, rather than suggesting "doneunreproducible" or "unreproducable". 2016-09-26 Paul Eggert Merge from origin/emacs-25 9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks c14a1d4 Minor copyedits of MS-Windows installation instructions f281924 Fix display of cursor when 'blink-cursor-delay' has small value # Conflicts: # lisp/minibuffer.el 2016-09-26 Paul Eggert Merge from origin/emacs-25 0ae9a81 Document 'timerp' 2c72c46 Improve documentation of overlay priorities f6fa160 Fix 'dired-compress-files' 2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR # Conflicts: # lisp/dired.el # src/buffer.h # src/character.h 2016-09-26 Paul Eggert Merge from origin/emacs-25 cf9e174 Document the optional zlib library in MS-Windows builds 84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt. 73c67dd Fix tagging of DEFUN by etags ea1960b Avoid resetting track-mouse by mouse clicks 505fef3 Improve nt/README.W32 instructions 1229cc4 Document that desktop file overrides frame parameters f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release # Conflicts: # ChangeLog.2 # admin/notes/unicode # lisp/ldefs-boot.el 2016-09-26 Paul Eggert Merge from origin/emacs-25 0ffc9ce Update admin/authors.el 0ad7410 Update Antinews in ELisp manual ea0f750 Fix comments on window height macros 0bbdeed Fix 'url-http-create-request' when cookies are used 0045998 Fix cross reference in frames.texi 1392894 ; * etc/DEBUG: Minor copyedits. 304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB. 56bf7d7 Fix regexp-opt documentation (bug #17862) 803ad6f ; Fix documentation of seq-subseq ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc... 88ea396 ; Spelling fixes 17197d0 Fix tags-query-replace docstring 80a7f8b Clarify documentation of precision in format specs 88a5052 Improve and clarify documentation of subprocesses 89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247). # Conflicts: # etc/PROBLEMS # src/process.c 2016-09-26 Michael Albinus * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'. 2016-09-24 Eli Zaretskii Fix 'dired-mark-extension' with prefix argument * lisp/dired-x.el (dired-mark-extension): Allow to specify MARKER-CHAR interactively as a string, not as a character's codepoint. (Bug#24518) * doc/misc/dired-x.texi (Advanced Mark Commands): Document the behavior when invoked with a prefix arg. 2016-09-24 Simen Heggestøyl Support completion of classes and IDs in CSS mode * lisp/textmodes/css-mode.el (css-class-list-function): New variable holding the function to call for retrieving completions of class names. (css-id-list-function): New variable holding the function to call for retrieving completions of IDs. (css--foreign-completions): New function for retrieving completions from other buffers. (css--complete-selector): Support completing HTML class names and IDs from other buffers in addition to completing HTML tags. * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New variable holding a cache for `html-current-buffer-classes'. (html--buffer-ids-cache): New variable holding a cache for `html-current-buffer-ids'. (html-current-buffer-classes): New function returning a list of class names used in the current buffer. (html-current-buffer-ids): New function returning a list of IDs used in the current buffer. (html-mode): Set `css-class-list-function' and `css-id-list-function' to `html-current-buffer-classes' and `html-current-buffer-ids' respectively. 2016-09-24 Eli Zaretskii Update test suite files due to removal of test/lisp/legacy * test/README: Reference file-organization.org. * test/file-organization.org: Remove the description of files in the lisp/legacy/ directory. 2016-09-24 Eli Zaretskii Incorporate syntax-tests in lisp-tests. * test/lisp/emacs-lisp/lisp-tests.el: Add tests from test/lisp/legacy/syntax-tests.el. * test/lisp/legacy/syntax-tests.el: File deleted. 2016-09-24 Eli Zaretskii Incorporate occur-tests in replace-tests * test/lisp/replace-tests.el: Add tests from test/lisp/legacy/occur-tests.el. * test/lisp/legacy/occur-tests.el: File deleted. 2016-09-24 Eli Zaretskii Incorporate lexbind-tests.el in bytecomp-test.el * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from test/lisp/legacy/lexbind-tests.el. * test/lisp/legacy/lexbind-tests.el: File deleted. 2016-09-24 Paul Eggert Improve integer overflow handling a bit * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity. The machine code is the same on my platform. * src/doprnt.c (doprnt): * src/emacs-module.c (module_funcall): * src/font.c (font_intern_prop): * src/keyboard.c (Frecursion_depth): * src/lread.c (read1): Use WRAPV macros instead of checking overflow by hand. * src/editfns.c (hi_time, time_arith, decode_time_components): * src/emacs-module.c (Fmodule_load): Simplify by using FIXNUM_OVERFLOW_P. * src/emacs-module.c: Include intprops.h. * src/xdisp.c (percent99): New function. (decode_mode_spec): Use it to simplify overflow avoidance and formatting of %p and %P. 2016-09-24 Eli Zaretskii Incorporate core-elisp-tests in lisp-tests * test/lisp/emacs-lisp/lisp-tests.el: Added tests from test/lisp/legacy/core-elisp-tests.el. * test/lisp/legacy/core-elisp-tests.el: File removed. 2016-09-24 Eli Zaretskii Move coding-tests.el and decoder-test.el to their places * test/src/coding-tests.el: Added all the tests from test/lisp/legacy/decoder-tests.el. * test/lisp/legacy/decoder-tests.el: File deleted. 2016-09-23 Vibhav Pant Use correct TYPE value for displaying error messages in (erc-display-message) 2016-09-23 Eli Zaretskii Bump the version to 25.2.50 * README: * configure.ac: * etc/NEWS: * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50. 2016-09-22 Tino Calancha ibuffer-do-view-other-frame: Display each buffer in a new frame * lisp/ibuffer.el (ibuffer-do-view-1): When TYPE equals 'other-frame, then display each buffer in a new frame (Bug#24086). 2016-09-22 Paul Eggert Update from gnulib This incorporates: 2016-09-22 stdint: port to GCC 7 2016-09-22 limits-h, stdint: don't assume extensions * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib. 2016-09-22 Alan Mackenzie * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error 2016-09-21 Paul Eggert Port recent flexmember changes to NetBSD The NetBSD library supports localtime_rz directly, and without this change 'configure' omitted the flexmember test that is marked as conditional on localtime_rz. Emacs now needs to use flexmember.m4 even when localtime_rz works. Problem reported by Thomas Klausner. * admin/merge-gnulib (GNULIB_MODULES): Add flexmember. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. 2016-09-21 Paul Eggert * doc/misc/texinfo.tex: Copy from gnulib. 2016-09-21 Michael Albinus * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'. 2016-09-20 Paul Eggert Use flexmembers on IBM XL C for AIX This removes a workaround where Emacs did not use flexible array members when compiled with IBM XL C. Instead, avoid the problem by making the aliasing issues more obvious to this compiler. * admin/merge-gnulib: Don’t remove m4/flexmember.m4. * m4/flexmember.m4: Copy from gnulib. * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround. * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing problem that would otherwise mess up code generated for flexible array members by IBM XL C for AIX, V12.1. * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done by gnulib code. 2016-09-19 Michael Albinus Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32 * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use `tramp-drop-volume-letter' any longer, it causes collateral damages. Reported by Chris Zheng . 2016-09-17 Paul Eggert Port January __morecore changes to AIX 7.1 * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore) (__after_morecore_hook): * src/ralloc.c (__morecore): Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is not defined. does not declare these in AIX 7.1. 2016-09-17 Paul Eggert Define _GNU_SOURCE in files delaying config.h Problem reported by Richard Copley in: http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00440.html * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE): Define early. 2016-09-17 Eli Zaretskii Update the bidi test code and data * test/manual/BidiCharacterTest.txt: Import the version from Unicode Standard 9.0.0. * test/manual/biditest.el (biditest-generate-testfile): Allow 'x' in the 4th field of the test data. 2016-09-17 Tino Calancha ibuffer-do-toggle-read-only: Fix unused argument * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call 'read-only-mode' with ARG when its an integer. Clarify the meaning of ARG in doc string. 2016-09-17 Alan Mackenzie Improve accuracy of line/column numbers in byte compiler's warning messages. * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new value of byte-compile-last-position is not lower than old value. (byte-compile-function-warn): call byte-compile-set-symbol-position. 2016-09-17 Michael Albinus Minor Tramp tweaks * lisp/net/tramp.el (tramp-get-buffer): Reuse connection property "process-buffer" if already existing. (tramp-connectable-p): Suppress debug messages. 2016-09-16 Paul Eggert Define _GNU_SOURCE in unexmacosx.c Problem reported by Bob Halley in: http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00427.html * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined. 2016-09-16 Alan Mackenzie C Mode: Fix mis-fontification of macro invocation as function declaration This happened with a macro invocation which was followed by a statement block in braces. * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish between contexts nil and top, being less permissive in the former case. (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top. 2016-09-16 Eli Zaretskii Improve the doc string of 'format' * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage of a literal period. (Bug#24407) 2016-09-16 Eli Zaretskii Improve doc strings in whitespace.el * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode) (global-whitespace-mode, global-whitespace-newline-mode): Improve the doc strings. (Bug#24413) 2016-09-16 Eli Zaretskii Improve detectability of 'next-logical-line' and 'previous-logical-line' * lisp/simple.el (next-line, previous-line): Mention 'next-logical-line' and 'previous-logical-line' in the doc strings. (Bug#24443) 2016-09-16 Paul Eggert Update from gnulib This incorporates: 2016-09-16 extensions: fix typo in comment 2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib. 2016-09-15 Paul Eggert Prefer now-standard int width macros * src/data.c (ULL_WIDTH): * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD): * src/lread.c (read_integer): * src/term.c (produce_glyphless_glyph): * src/xterm.c (x_send_scroll_bar_event): Use *_WIDTH macros instead of CHAR_BIT * sizeof. * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency with the *_WIDTH standard macros. All uses changed. * src/gmalloc.c (INT_BIT): Remove. All uses replaced with INT_WIDTH. * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT for consistency with the *_WIDTH standard macros. All uses changed. (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT. This must be the same as CHAR_WIDTH and avoids confusion with Elisp char-width, which counts columns not bits. (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH. (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH. * src/lread.c: Do not include limits.h since CHAR_BIT is no longer used directly. 2016-09-15 Paul Eggert Update from gnulib This incorporates: 2016-09-15 stdint: support new _WIDTH macros 2016-09-15 limits-h: new module 2016-09-15 sys_types: avoid glibc 2.25 warnings about major() 2016-09-15 extensions: port to more ISO C TSes 2016-09-13 intprops: new macro TYPE_WIDTH 2016-09-13 extensions: port to recent ISO C TRs * .gitignore: Add lib/limits.h. * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h: * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4: * m4/sys_types_h.m4: Copy from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib. * nt/gnulib.mk: Merge changes from lib/gnulib.mk. 2016-09-15 Michael Albinus Rework fixing Bug#24432 * lisp/net/tramp.el (tramp-get-buffer): Set connection property "process-buffer" in order to mark connection as active. * lisp/net/tramp-cache.el (tramp-get-hash-table) (tramp-set-connection-property) (tramp-dump-connection-properties): Do not use "active" property. (tramp-list-connections): Use "process-buffer" property. * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process properties prior deletion of process. 2016-09-14 Johan Bockgård * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430). * lisp/emacs-lisp/edebug.el (defun): Fix debug spec. 2016-09-14 Eli Zaretskii Avoid compiler warning on MS-Windows due to clone_file * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the call to it is not compiled in that build, and having it defined causes compiler warnings. 2016-09-14 Eli Zaretskii Avoid aborts in GC due to abort_on_gc * src/lisp.h: * src/print.c (Fprin1_to_string): * src/eval.c (signal_or_quit): * src/alloc.c (garbage_collect_1): Remove declarations, setting, and testing the value of abort_on_gc. It is no longer needed, and using it causes rare aborts in GC for no good reason. (Bug#23912) 2016-09-14 Michael Albinus Fix Bug#24432 * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a connection as inactive. (tramp-set-connection-property): Make the connection active. (tramp-dump-connection-properties): Don't save "active" property. (tramp-list-connections): List only active connections. (Bug#24432) 2016-09-14 Lars Ingebrigtsen Don't bug out on all-whitespace URLs * lisp/net/shr.el (shr-expand-url): Don't bug out on degenerate all-whitespace URLs. 2016-09-13 Katsumi Yamaoka sieve-manage.el: Rename sieve-manage-ignore-broken-tls * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls): Rename from sieve-manage-ignore-broken-tls. If it is set, sieve-manage will never use STARTTLS even if the server says it is capable (but may be broken). 2016-09-13 Paul Eggert Port to ISO/IEC TS 18661-1:2014 * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH. All uses changed. 2016-09-13 Tino Calancha dired-jump: Expand file-name before dired-goto-file call Command dired-goto-file requires its argument to be an absolute file name. Interactively FILE-NAME is read with read-file-name, which could return an abbreviated file name (Bug#24409). * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME. Clarify in doc string the meaning of arg FILE-NAME. 2016-09-13 Tino Calancha Add test for Bug#21454 * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test. 2016-09-12 Katsumi Yamaoka * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version. 2016-09-12 TSUCHIYA Masatoshi sieve.el: Make the buffer to edit unmodified initially (bug#24423) * lisp/net/sieve.el (sieve-edit-script): Make the buffer to edit be not modified-p initially (bug#24423). 2016-09-12 TSUCHIYA Masatoshi sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422) * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): New user option. (sieve-manage-open-server): Don't test STARTTLS capability if the option is set (bug#24422). 2016-09-12 Michal Nazarewicz Fix compiler thinking width and height may be unitialised in frame.c This fixes the following warning: frame.c: In function ‘x_set_frame_parameters’: frame.c:3329:25: error: ‘width’ may be used uninitialized in this function [-Werror=maybe-uninitialized] adjust_frame_size (f, width_change ? width : -1, ^ * src/frame.c (x_set_frame_parameters): Drop width_changed and height_changed variables in favour of storing that information in width and height variables. 2016-09-12 Michal Nazarewicz Fix compiler thinking tmpdir may be unitialised in emacsclient This fixes the following warning: emacsclient.c: In function ‘set_local_socket’: /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error: ‘tmpdir’ may be used uninitialized in this function [-Werror=maybe-uninitialized] return __builtin___stpcpy_chk (__dest, __src, __bos (__dest)); ^ emacsclient.c:1197:17: note: ‘tmpdir’ was declared here const char *tmpdir; * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir variable and instead use tmpdir being non-NULL as sign that it should be used. 2016-09-12 Tino Calancha image-dired: Signal an error before calling a missing executable Reverts commit ca473907 Add a defun to check if an executable exists, and call it on each function using an external program: when the executable is not available signal an error. See discussion on: https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00135.html * lisp/image-dired.el (image-dired--check-executable-exists): New defun. Throw and error when the executable arg is missing. (image-dired-display-image, image-dired-rotate-thumbnail) (image-dired-rotate-original, image-dired-set-exif-data) (image-dired-get-exif-data): Use it. 2016-09-12 Eli Zaretskii Fix daemon shutdown when emacs-kill-hooks ask questions * lisp/server.el (server-start): Put the server's kill-emacs-hook last, to allow other hooks to have a frame to interact with the user. (Bug#24326) 2016-09-12 Paul Eggert * src/casefiddle.c (casify_word): Simplify. * src/casefiddle.c (casify_word): Return Qnil. 2016-09-12 Michal Nazarewicz Refactor common code in {upcase,downcase,capitalize}-word functions * src/casefiddle.c (operate_on_word): Removed in favour of… (casify_word) …new function which does what operate_on_word did plus what all of the common code from *-word functions. (upcase-word, downcase-word, capitalize-word): Move code common between those functions (pretty much the whole body of those functions) into casify_word and use that instead of now deleted operate_on_word. 2016-09-11 Paul Eggert * doc/lispref/files.texi: Remove @vindex. 2016-09-11 Paul Eggert Remove unnecessary ref to coreutils manual * doc/lispref/files.texi: Document write-region-inhibit-fsync. 2016-09-11 Alan Mackenzie Correctly fontify C++ direct initializations with parens inside functions Or, more clearly, when something looks like a function declaration and it's inside a function, fontify it as a direct initialization. For this purpose, introduce a "brace stack" for each buffer, where an entry on the brace stack states how deeply nested a particular position is inside braces inside a "top level", which includes classes and namespaces. Also introduce a new "context", "top", with which c-font-lock-declarations signals to c-forward-decl-or-cast-1 that point is at the top level. * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add c-truncate-bs-cache. (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key) (c-type-decl-operator-prefix-key): new language constants/variables. * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit) (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace stack cache. (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at) (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache). (c-find-decl-prefix-search): Keep track of whether we're at top level. (c-find-decl-spots): New local variable cfd-top-level which records what it says. On calling cfd-fun, pass cfd-top-level as an additional argument. (c-forward-declarator): Add new element DECORATED to the result list. Set it to non-nil when a match for c-type-decl-operator-prefix-key is found. (c-forward-decl-or-cast-1): Handle the newly introduced context "top". Introduce "CASE 9.5", which recognizes direct initializations. * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare) (c-font-lock-enum-tail, c-font-lock-cut-off-declarators) (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after): Add appropriate `not-top' argument to calls to c-font-lock-declarators. (c-font-lock-declarators): Additional parameter `not-top'. Use not-top to participate in the decision whether to fontify an identifier as a function or a variable. (c-font-lock-declarations): The internal lambda function takes an additional argument `toplev' from c-find-decl-spots, which it uses in determining the "context" of a declaration. Add appropriate `not-top' argument to calls to c-font-lock-declarators. (c-font-lock-objc-methods): Add extra parameter to internal lambda function, like for c-font-lock-declarators. * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack cache. 2016-09-11 Eli Zaretskii Avoid signaling errors when computing "Stop" in GDB menu * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume 'gdb-running-threads-count' must have a numeric value. (Bug#24414) 2016-09-11 Philipp Stephani Stop calling ‘byte-compile-log-warning’ For errors, use ‘byte-compile-report-error’ instead so that the error is registered and causes compilation to fail (Bug#24359). For warnings, use ‘byte-compile-warn’ instead so that ‘byte-compile-error-on-warn’ is honored (Bug#24360). * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled) (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf) (byte-compile-setq, byte-compile-funcall): Use ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’. (byte-compile-log-warning): Convert comment to documentation string. Explain that the function shouldn’t be called directly. (byte-compile-report-error): Add optional FILL argument. * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv--analyze-function, cconv-analyze-form): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’. (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’. 2016-09-10 Paul Eggert * etc/NEWS: Remove comment lost in emacs-25 merge. 2016-09-10 Paul Eggert Document file synchronization issues * doc/lispref/files.texi (Files and Storage): New section. 2016-09-10 Paul Eggert copy-file now uses GNU/Linux file cloning From a suggestion by Kieran Colford (see Bug#23904). * configure.ac: Check for linux/fs.h. * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h. (clone_file): New function. (Fcopy_file): Use it. 2016-09-10 Alan Third Invert y coord of NS image files (bug#7847) * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image when compositing. 2016-09-10 Noam Postavsky Don't require isearch-update before isearch-done It is useful to be able to call `isearch-done' unconditionally to ensure a non-isearching state. * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer' is a live buffer before using it (Bug #21091). * test/lisp/isearch-tests.el (isearch--test-done): Test it. 2016-09-09 Simen Heggestøyl * lisp/emacs-lisp/ring.el: Use lexical-binding * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT argument of `dotimes' when the iteration variable isn't referred by it. (ring-member): Don't pass nil as the RESULT argument of `dotimes' since it's the default. 2016-09-08 Michal Nazarewicz Split regex character class test into smaller chunks Having one test for all character classes it is not always trivial to determine which class is failing. This happens when failure is caused by ‘(should (equal (point) (point-max)))’ not being met. With per-character class tests, it is immidiatelly obvious which test causes issues plus tests for all classes are run even if some of them fail. * test/src/regex-tests.el (regex-character-classes): Delete and split into… (regex-tests-alnum-character-class, regex-tests-alpha-character-class, regex-tests-ascii-character-class, regex-tests-blank-character-class, regex-tests-cntrl-character-class, regex-tests-digit-character-class, regex-tests-graph-character-class, regex-tests-lower-character-class, regex-tests-multibyte-character-class, regex-tests-nonascii-character-class, regex-tests-print-character-class, regex-tests-punct-character-class, regex-tests-space-character-class, regex-tests-unibyte-character-class, regex-tests-upper-character-class, regex-tests-word-character-class, regex-tests-xdigit-character-class): …new tests. 2016-09-08 Michal Nazarewicz Don’t allocate char-table’s extra slots in regexp-out-charset * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use 'case-table as charmap char-table’s property. The function has nothing to do with casing and in addition using 'case-table causes unnecessary extra slots to be allocated which ‘regexp-opt-charset’ does not use. 2016-09-08 Michal Nazarewicz Remove dead loop iterations in regex.c RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8 character for c ≥ 0x80. Furthermore, CHAR_BYTE8_P(c) is true only for byte8 characters. This means that c = RE_CHAR_TO_MULTIBYTE (ch); if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc)) is equivalent to: c = c; if (! false && re_iswctype (c, cc)) for 0 ⪬ c < 0x80, and c = BYTE8_TO_CHAR (c); if (! true && re_iswctype (c, cc)) for 0x80 ⪬ c < 0x100. In other words, the loop never executes for c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80. * src/regex.c (regex_compile): Simplyfy a for loop by eliminating dead iterations and unnecessary macro calls. 2016-09-08 Michal Nazarewicz Replace decimalnump with alphanumericp decimalnump was used in regex.c only in ISALNUM macro which ored it with alphabeticp. Because both of those functions require Unicode general category lookup, this resulted in unnecessary lookups (if alphabeticp return false decimalp had to perform another lookup). Drop decimalnump in favour of alphanumericp which combines decimelnump with alphabeticp. * src/character.c (decimalnump): Remove in favour of… (alphanumericp): …new function. * src/regex.c (ISALNUM): Use alphanumericp. 2016-09-08 Michal Nazarewicz Remove inaccurate comment in regex.c * src/regex.c (regex_compile): Remove comment indicating that wctype of some character classes may be negative. All wctypes are in fact non-negative. 2016-09-08 Michal Nazarewicz STRING_CHAR does not unify characters; update documentation * src/character.h (STRING_CHAR): Update doc. * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc. While at it, change the function to use BYTE_POS_ADDR instead of open-coding it. 2016-09-08 Simen Heggestøyl Add tests for ring.el * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el. 2016-09-07 Martin Rudalics New file test/src/marker-tests.el 2016-09-07 Paul Eggert Port flexible array members to GCC + valgrind These changes are needed to conform to the C standard's rule for allocating structs containing flexible array members. C11 says that malloc (offsetof (struct s, m) + n) does not suffice to allocate a struct with an n-byte tail; instead, malloc’s arg should be rounded up to the nearest multiple of alignof (struct s). Although this is arguably a defect in C11, gcc -O2 + valgrind sometimes complains when this rule is violated, and when debugging it’s better to keep valgrind happy. For details please see the thread containing the message at: https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c: Include flexmember.h. * lib-src/ebrowse.c (add_sym, add_member, make_namespace) (register_namespace_alias): * src/alloc.c (SDATA_SIZE, allocate_string_data): * src/image.c (xpm_cache_color, imagemagick_create_cache): * src/process.c (Fmake_network_process): Use FLEXSIZEOF instead of offsetof and addition. * src/alloc.c (SDATA_SIZE, vector_alignment): Use FLEXALIGNOF instead of sizeof (ptrdiff_t). * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR): Remove, as alloc.c can now calculate this on its own. 2016-09-07 Paul Eggert Update from gnulib This incorporates: 2016-09-07 flexmember: new macro FLEXALIGNOF 2016-09-07 flexmember: port better to GCC + valgrind 2016-08-18 Port modules to use getprogname explicitly 2016-09-02 manywarnings: add -fno-common * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember, since time_rz now uses part of it. Instead, remove m4/flexmember.m4. * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away, since Emacs assumes C99 and therefore removes m4/flexmember.m4. * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c: * m4/manywarnings.m4: Copy from gnulib. * lib/flexmember.h: New file, from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. 2016-09-07 Noam Postavsky Don't --load directories * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument of --load when it refers to a normal file, since `load' doesn't handle directories (Bug #16406). 2016-09-07 Peder O. Klingenberg Avoid error in icalendar--read-element * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex stack overflow by not using regex to extract values from calendar events. (Bug#24315) 2016-09-07 Kaushal Modi Fix back-white <-> black-white typo * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308) 2016-09-07 Alan Third Fix cursor at bottom left of rectangle (bug#24364) * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't require rectangle--point-crutches to be set. 2016-09-07 Eli Zaretskii Fix documentation of convert-standard-filename on MS-Windows * lisp/files.el (convert-standard-filename): Doc fix. (Bug#24387) * etc/NEWS: Suggest a way for mirroring slashes where previously 'convert-standard-filename' was used. 2016-09-06 Paul Eggert Use DEV_TTY more consistently * src/conf_post.h (DEV_TTY): Move from here ... * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need to be visible everywhere. Make it a constant. * src/keyboard.c (handle_interrupt, Fset_quit_char): * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty". 2016-09-06 Eli Zaretskii Avoid assertion violations when using marker positions * src/intervals.c (set_point_from_marker): If MARKER comes from another buffer, recalculate its byte position before using it to set point. * src/marker.c (set_marker_internal): If POSITION is a marker from another buffer, recalculate its byte position before using it. (Bug#24368) 2016-09-06 Alan Mackenzie * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug 2016-09-06 Alan Mackenzie New options for handling of literals in c-syntactic-re-search-forward * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can be given the values `before-literal' and `after-literal', so that when a search fails, and the `bound' is inside a literal, point is left respectively before or after that literal. 2016-09-05 Eli Zaretskii Avoid assertion violations when scrolling narrowed buffer * src/window.c (window_scroll_pixel_based): * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to start outside the accessible portion of the buffer. This avoids assertion violations when some Lisp narrows the buffer to less than the current window, and then attempts to scroll the buffer. 2016-09-05 Eli Zaretskii Treat SIGINT correctly in GUI sessions on MS-Windows * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is supported by MS runtime. * src/term.c (DEV_TTY): Move from here ... * src/conf_post.h (DEV_TTY): ... to here. Separate definitions for WINDOWSNT and for the rest. * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of a literal "/dev/tty". * etc/NEWS: Mention the behavior change. 2016-09-04 Alan Third Fix synthetic bold on macOS retina displays * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling factor by the OS window backing scale factor. 2016-09-04 Tino Calancha image-dired: Report when a necessary executable is not found See discussion on: https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00552.html * lisp/image-dired.el (image-dired-cmd-rotate-original-program) (image-dired-cmd-create-thumbnail-program) (image-dired-cmd-create-temp-image-program) (image-dired-cmd-rotate-thumbnail-program) (image-dired-cmd-write-exif-data-program) (image-dired-cmd-read-exif-data-program): Use executable-find to set the default value of this option. (image-dired-cmd-rotate-original-program): Idem. Search for program 'convert' if 'jpegtran' is not available. (image-dired-cmd-rotate-original-options): Set the default value consistent with the executable in image-dired-cmd-rotate-original-program. (image-dired-create-thumb, image-dired-display-image) (image-dired-rotate-thumbnail, image-dired-rotate-original) (image-dired-set-exif-data, image-dired-get-exif-data): Throw and error when the executable used in the function is missing. (image-dired-next-line, image-dired-previous-line): Use 'forward-line'. 2016-09-03 Tino Calancha image-type-from-file-name: Perform a case insensitive match Fix Bug#24317 * lisp/image.el (image-type-from-file-name): Bind case-fold-search to a non-nil value to force a case insensitive match. * lisp/image-dired.el (image-dired-rotate-original): Use image-type (Bug#24317). (image-dired-get-exif-file-name): Idem. Set 'no-exif-data-found' and 'data' in same setq call. Use file-attribute-modification-time. 2016-09-03 Tino Calancha image-increase-size: Fix non-interactive calls * lisp/image.el (image-increase-size, image-decrease-size): Compute a floating point division. Problem reported in: https://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00067.html 2016-09-03 Robert Cochran Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el Passing the prefix argument as the 3rd argument to 'call-interactively' causes the prefix argument to be interpreted as events, which is not only wrong, but also causes a type error, as 'current-prefix-arg' can never be a vector as 'call-interactively' expects. 'call-interactively' automatically passes its prefix argument to the called function, so just do that, eliminating faulty behavior. * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell): (checkdoc-ispell-current-buffer): (checkdoc-ispell-interactive): (checkdoc-ispell-message-text): (checkdoc-ispell-start): (checkdoc-ispell-continue): (checkdoc-ispell-comments): (checkdoc-ispell-defun): Do not pass 'current-prefix-arg' to 'call-interactively' as an event vector; merely allow it to propagate forward to the interactive call. 2016-09-03 Richard Stallman Fix mail-combine-fields * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to avoid losing our place in the search loop. 2016-09-02 Stefan Monnier Check actual contents before promting about changed file * lisp/userlock.el (userlock--check-content-unchanged) (userlock--ask-user-about-supersession-threat): New functions. * src/filelock.c (lock_file): Use them to avoid spurious prompting. * doc/lispref/buffers.texi (Modification Time): Update doc of ask-user-about-supersession-threat. 2016-09-02 Michael Albinus Make a reference to fakecygpty in the Tramp manual * doc/misc/tramp.texi (Windows setup hints): Make a reference to fakecygpty on the Emacs Wiki. (Frequently Asked Questions): Fix url. 2016-09-01 Paul Eggert Don’t create fd >= FD_SETSIZE This avoids a potential crash if too many subprocesses (Bug#24325). * src/process.c [HAVE_SETRLIMIT]: Include . (init_process_emacs): If ulimit -n is greater than FD_SETSIZE, set it to FD_SETSIZE. 2016-09-01 Alan Mackenzie Fix c-declaration-limits to return correct limits in all cases. This function is the guts of c-indent-defun and c-mark-function. In particular, when c-defun-tactic is nil, return a correct value rather than always nil, and when it's 'go-outward, go through an intricate algorithm to determine the requisite narrowing before the "top-level" defuns go to work. * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance to take additional optional parameter LEVEL, saying how many enclosing levels of decl-block to narrow to. (c-declaration-limits): Introduce algorithm to determine narrowing. Use c-where-wrt-to-brace-block to determine whether to go back to BOD to determine lower bound. 2016-09-01 Eli Zaretskii * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate. 2016-09-01 Eli Zaretskii Avoid compiler warnings with MinGW64 GCC 6 * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match the GCC 6 builtin, to avoid warnings. For more details, see http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00721.html. 2016-08-31 Paul Eggert Fix over-substitution of quotes on error Problem reported by Tino Calancha in: http://lists.gnu.org/archive/html/emacs-devel/2016-09/msg00000.html * src/print.c (print_error_message): Substitute quotes in errmsg only when gotten from a property. 2016-08-31 Eli Zaretskii Improve testing of etags * test/manual/etags/y-src/cccp.c: * test/manual/etags/y-src/parse.c: Correct #line directives to allow testing invalidate_nodes in etags.c. * test/manual/etags/ETAGS.good_1: * test/manual/etags/ETAGS.good_2: * test/manual/etags/ETAGS.good_3: * test/manual/etags/ETAGS.good_4: * test/manual/etags/ETAGS.good_5: * test/manual/etags/ETAGS.good_6: * test/manual/etags/CTAGS.good: Adapt to changes in test files. 2016-08-31 Eli Zaretskii * lib-src/etags.c (invalidate_nodes): Fix another thinko. 2016-08-31 Paul Eggert Fix etags problems found by static checking * lib-src/etags.c (invalidate_nodes, put_entry): Remove now-unnecessary tests for null pointers. Simplify. (put_entries): Rewrite to avoid GCC 6.2 warning about dereferencing null pointer. 2016-08-31 Eli Zaretskii Fix a thinko in etags.c * lib-src/etags.c (invalidate_nodes): Don't try to dereference a null pointer. 2016-08-31 Eli Zaretskii Avoid recursive calls in etags * lib-src/etags.c (stack_entry): New struct. (push_node, pop_node, put_entry): New functions. (free_tree, add_node, invalidate_nodes, put_entries): Re-implement in a non-recursive way, to avoid stack overflow. (Bug#5847) 2016-08-31 Leo Liu Add 451 to url-http-codes * lisp/url/url-http.el (url-http-codes): Add 451. 2016-08-30 Paul Eggert * src/editfns.c (Fformat_message): Fix doc to match current behavior. 2016-08-30 Paul Eggert Minor doc quoting fixes * doc/misc/htmlfontify.texi (Interactive): * lisp/htmlfontify.el (htmlfontify-buffer): Spell out character names, for clarity. The old doc string generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’ stands for a form feed character; this was confusing. * lisp/electric.el (electric-quote-mode): * src/doc.c (syms_of_doc): * src/editfns.c (Fformat_message): Remove no-longer-necessary ‘\=’s in doc strings. 2016-08-30 Paul Eggert Update from gnulib This incorporates: 2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6 2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0 2016-08-29 intprops.h: port recent changes to GCC 6.2.0 2016-08-29 intprops.h: use __typeof__ with GCC 7 2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7 2016-08-24 intprops: fix paren typo on old platforms 2016-08-24 intprops: port to OpenVMS * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib. 2016-08-30 Tassilo Horn Fix rules for \phi and \varphi which were reversed * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those are reversed in ucs-names. Also remove FIXME stating sigma/varsigma were reversed which is not true (anymore?). 2016-08-30 Tassilo Horn Fix prettification of \phi, \varphi, and \varsigma * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix prettification of \phi, \varphi, and \varsigma. Concretely, \phi's symbol was actually varphi, \varphi was missing, and \varsigma was commented out with a FIXME that it was reversed with \sigma which it was not. 2016-08-30 Karl Fogel Use normal double quotes in TeX / LaTeX comments * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment, default to inserting a normal double quote (") instead of TeX-style open (``) or close ('') quote marks. * etc/NEWS (TeX mode): Note the change. * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly. See this thread for discussion: https://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00611.html From: Karl Fogel To: Emacs Development Subject: [PATCH] Have LaTeX mode use normal double quotes in comments. Date: Mon, 29 Aug 2016 14:44:12 -0500 Message-ID: <87twe3icmr.fsf@red-bean.com> 2016-08-30 Alan Mackenzie Correctly analyze C++ list initialization in member init areas. * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a superfluous call to c-backward-syntactic-ws. (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it reports encountering the Java "new" keyword. Add, as an alternative, a check that we can move back over member initializations, and handle this as finding a brace block. (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the new calling convention of c-looking-at-or-maybe-in-bracelist. (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist, using the extra info from the value of that function to generate a topmost-into-cont element where needed (in Java). * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new calling convention of c-looking-at-or-maybe-in-bracelist. * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling convention of c-looking-at-or-maybe-in-bracelist. 2016-08-30 Michael Albinus Use `file-attribute-*' in Tramp * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type) (tramp-compat-file-attribute-link-number) (tramp-compat-file-attribute-user-id) (tramp-compat-file-attribute-group-id) (tramp-compat-file-attribute-modification-time) (tramp-compat-file-attribute-size) (tramp-compat-file-attribute-modes): New defaliases. * lisp/net/tramp.el (tramp-handle-file-modes) (tramp-handle-file-newer-than-file-p) (tramp-handle-file-regular-p, tramp-handle-file-symlink-p) (tramp-handle-set-visited-file-modtime) (tramp-handle-verify-visited-file-modtime) (tramp-get-local-gid, tramp-check-cached-permissions): * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p) (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file): * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory) (tramp-gvfs-handle-file-directory-p) (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid) (tramp-gvfs-get-remote-gid): * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename) (tramp-sh-handle-set-visited-file-modtime) (tramp-sh-handle-verify-visited-file-modtime) (tramp-sh-handle-file-newer-than-file-p) (tramp-sh-handle-file-ownership-preserved-p) (tramp-do-copy-or-rename-file) (tramp-do-copy-or-rename-file-via-buffer) (tramp-do-copy-or-rename-file-directly) (tramp-do-copy-or-rename-file-out-of-band) (tramp-sh-handle-file-local-copy) (tramp-sh-handle-write-region): * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory) (tramp-smb-handle-copy-file) (tramp-smb-handle-file-directory-p) (tramp-smb-handle-file-writable-p) (tramp-smb-handle-insert-directory): Use them. 2016-08-30 Martin Rudalics In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332) * lisp/window.el (pop-to-buffer): Don't assume that `display-buffer' has supplied a window (Bug#24332). Rename BUFFER argument to BUFFER-OR-NAME. * doc/lispref/windows.texi (Switching Buffers): Fix `pop-to-buffer' documentation. 2016-08-29 Alan Third Clarify docstrings * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol. 2016-08-29 Michael Albinus Use `process-live-p' in Tramp * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun. * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p) (tramp-handle-file-notify-valid-p) (tramp-action-process-alive, tramp-action-out-of-band) (tramp-wait-for-regexp): * lisp/net/tramp-adb.el (tramp-adb-parse-device-names) (tramp-adb-maybe-open-connection): * lisp/net/tramp-cache.el (tramp-get-connection-property): * tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch): * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel) (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection): * tramp-sh.el (tramp-process-sentinel) (tramp-sh-handle-file-notify-add-watch) (tramp-maybe-open-connection): * lisp/net/lisp/net/lisp/net/tramp-smb.el (tramp-smb-action-with-tar) (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl) (tramp-smb-handle-process-file, tramp-smb-action-set-acl) (tramp-smb-get-cifs-capabilities) (tramp-smb-get-stat-capability) (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output) (tramp-smb-kill-winexe-function): Use it. 2016-08-29 Eli Zaretskii Avoid crashes for invalid value of key modifiers * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL is not a symbol, don't try to recognize it. See http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00502.html for the details. * test/src/keymap-tests.el (keymap-where-is-internal-test): New test, for testing the above fix. 2016-08-29 Oleh Krehel Make dired-do-compress understand files with spaces in them * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument' and `literal' flag to `replace-regexp-in-string'. 2016-08-28 Paul Eggert * INSTALL.REPO: Suggest Texinfo 4.13 or later. 2016-08-28 Simen Heggestøyl Add tests for dom.el * test/lisp/dom-tests.el: New file with tests for dom.el. 2016-08-28 Paul Eggert Memory allocator alignment fixes These changes remove some assumptions about heap allocator alignment that may not be true on unusual platforms. * src/alloc.c (POWER_OF_2): New macro. (ROUNDUP): Use it. (BLOCK_ALIGN): Verify that it is a power of 2. (aligned_alloc): Check that alignment passed to posix_memalign satisfies POSIX restrictions. (lisp_align_malloc): Check that size passed to aligned_alloc satisfies C11 restrictions. (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the code has not been verified to work with other GCALIGNMENT values and the ice is thin here. On GNU/Linux, malloc can return a value that is a multiple of 8 but not 16, even though __alignof__ (max_align_t) is 16. See: https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size is a multiple of alignment, since C11 says the behavior is undefined otherwise. (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in general this macro is restricted to signed types. Remove assertion that the result is a multiple of GCALIGNMENT, as that need not be true. 2016-08-28 Paul Eggert Pacify --enable-gcc-warnings for lib-src/pop.c * lib-src/pop.c: Include c-ctype.h. (socket_connection): Pacify --enable-gcc-warnings by rewriting to avoid 'if (v = E) ...'. Use c_tolower, instead of a combination of the (undeclared) isupper and tolower. Fix pointer constness problem. 2016-08-27 Alan Mackenzie Handle the C++ "identifiers" "final" and "override" correctly. This fixes bug #24319, allowing destructors affixed with these identifiers to be correctly fontified. * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1): After reaching the "end" of a type expression, skip over any occurrences of c-type-decl-suffix-ws-ids-key. * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and "final" from the C++ value. (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang constants/variables for "final" and "override". 2016-08-27 Stefan Monnier * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode. 2016-08-27 Alan Mackenzie Handle template delimiters in C++ member init constructs. * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add handling for "<....>"s. 2016-08-26 Eli Zaretskii Fix etags test suite messed up by merges from emacs-25 * test/manual/etags/go-src/test.go: * test/manual/etags/go-src/test1.go: Move from test/etags/. * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby. * test/etags/: Directory deleted. 2016-08-26 Simen Heggestøyl Add "supports" to list of CSS at-rules * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule. 2016-08-26 Michael Albinus * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check. (Bug#22478) 2016-08-25 Tino Calancha Rename option to shell-command-dont-erase-buffer Suggested by Clément Pit--Claudel in: http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00487.html * lisp/simple.el (shell-command-dont-erase-buffer): (shell-command--save-pos-or-erase): (shell-command--set-point-after-cmd): (shell-command-on-region): * doc/emacs/misc.texi (shell-command-dont-erase-buffer): * etc/NEWS (Changes in Emacs 25.2): Rename from shell-command-not-erase-buffer. 2016-08-25 Alan Mackenzie Fix an infinite loop in C++ Mode when we have "{ .... [ .... }" * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner `while' form's condition, check for "\\s)" rather than merely "\\]", so that the loop won't hang at a "terminating" paren of a different type (due to the c-syntactic-re-search-forward at the end of the loop stopping at such characters). 2016-08-25 Tino Calancha call-shell-region: New defun Suggested by Stefan Monnier in Bug#22679. * lisp/subr.el (call-shell-region): New defun; execute a command in an inferior shell with the buffer region as input. * lisp/simple.el (shell-command-on-region): Use it. * lisp/gnus/message.el (message-do-fcc): Idem. * doc/lispref/processes.texi: Document call-shell-region in the manual. ;* etc/NEWS: Add entry for this new function. 2016-08-25 Martin Rudalics In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306) * lisp/simple.el (clone-indirect-buffer): Add value for ACTION argument in `pop-to-buffer' call (Bug#24306). 2016-08-25 Martin Rudalics Some fixes around `delete-other-frames' and `next-frame' * src/frame.c (Fdelete_frame): Clarify doc-string. * lisp/frame.el (delete-other-frames): Delete other frames on FRAME's terminal instead of the current terminal. Delete non-minibuffer-only surrogate frames too. See http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00467.html * doc/lispref/frames.texi (Deleting Frames): Minor fixes for docs of `delete-frame' and `frame-live-p'. Add entry for `delete-other-frames'. (Finding All Frames): Fix doc of `next-frame'. 2016-08-24 Lars Magne Ingebrigtsen Find message.el thumbnail toggling * lisp/gnus/message.el (message-toggle-image-thumbnails): Don't infloop when toggling thumbnails. 2016-08-24 Alan Third Fix macOS 12 deprecation notices * src/nsterm.h: Add #defines to allow older versions of macOS to use the new constant names. * src/nsmenu.m: Replace old constant names with new. (fillWithWidgetValue): Remove calls to deprecated setMenuChangedMessagesEnabled. * src/nsterm.m: Replace old constant names with new. * src/nsfns.m: Replace old constant names with new. 2016-08-23 Alan Mackenzie Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag. * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum" directly preceding the colon, and handle it. 2016-08-23 Noah Friedman * src/xfns.c (Fx_change_window_property): Modify previous change. Instead of forcing format to 8 for strings, check that the length of the string is appropriate for whatever format given. (Fx_window_property_attributes): If prop isn't found on frame's inner window, try its outer window. This mimics the behavior of Fx_window_property. 2016-08-23 Lars Ingebrigtsen Fix invalid image rotations * lisp/image.el (image-rotate): Limit rotation to 360 degrees. 2016-08-23 Tino Calancha call-process instead of call-process-region with empty region * lisp/calc/calc-graph.el (calc-graph-show-tty): Use call-process and shell-command-switch. 2016-08-22 Paul Eggert Merge from origin/emacs-25 927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2 6bf83b5 * etc/AUTHORS: Update the AUTHORS file 73cbb81 ; ChangeLog spelling fixes 9b99772 Some assorted documentation clarifications 37d4723 Improve commentary in src/character.h 5ccd593 ; Fix typo in /etc/NEWS 96e3d16 * etc/NEWS: Mention the change in json-encode-string. 2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create... 2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... 66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe... # Conflicts: # ChangeLog.2 # lisp/ldefs-boot.el 2016-08-22 Paul Eggert Merge from origin/emacs-25 66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe... 2016-08-22 Paul Eggert Merge from origin/emacs-25 8c2946e In NEWS describe new handling of window margins (Bug#24193) 0cee66c Facultatively ignore margins when splitting and resizing wind... 8d68147 Document CATEGORY arg to modify-category-entry 8342e74 Document char-script-table's effect on word motion e9ff485 Further fix for 'url-http-create-request' and multibyte strings 0695235 Fix docstring of eval-expression 98b01dd Clarify when 'cursor' property is in effect 75f1882 Convert the remaining strings to unibyte before concatenating d2db5dd Fix bug with handling the bidi cache ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits. f785ff4 Clarify documentation of before/after-change-functions 3c9cb57 Document use of vectors in keymaps # Conflicts: # src/xdisp.c 2016-08-22 Michael Albinus Handle remote file names in gdb-mi.el * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer): If `default-directory' is remote, full file names are adapted accordingly. (Bug#23608) 2016-08-22 Eli Zaretskii Display mini-window resized even when there are several frames * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to t to avoid resizing back the mini-window as result of considering the title of other frames. (Bug#24285) (redisplay_window): No need to bind inhibit-redisplay here. 2016-08-22 Michael Albinus Explain gdb warning on remote hosts * doc/misc/tramp.texi (Remote processes): Explain gdb warning on remote hosts. (Bug#4604, Bug#6360, Bug#622569) 2016-08-21 Martin Rudalics Fix (next-frame nil t) crash (Bug#24281) * src/frame.c (candidate_frame): Check minibuf argument before comparing it to zero (Bug#24281). 2016-08-21 Noah Friedman Fix interpretation of signed vs unsigned values when retrieving X Window properties, and make sure the full value is returned when not parsed. New subr to export type and format information about X Window properties to lisp. * src/xselect.c (selection_data_to_lisp_data): Treat any data as unsigned unless its actual type is INTEGER. CARDINALs, in particular, are unsigned. * src/xfns.c (Fx_change_window_property): If value is a string, ignore any provided format and force to 8. (x_window_property_intern): If returning value as a string, the length is actual_size times the actual format of each element, which is not necessarily bytes. (Fx_window_property_attributes): New subr. (syms_of_xfns): Declare it. 2016-08-21 Noam Postavsky Improve error when installing non-package dirs * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error when no file with package info is found (Bug #19851). 2016-08-21 Alan Mackenzie Adapt CC Mode for C++11 uniform initialization. For fontification, introduce a new "context", 'non-decl, to be used for brace lists; also a new value for the property 'c-type, called 'c-not-decl. * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that an ostensible symbol we're going to move over isn't a keyword. (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers (hence a declaration), and an unmatched open paren, perform c-fdoc-shift-type-backwards to recognize the partial construct correctly. Whilst checking a type decl expression, check for and handle C++11's "copy initialization", where we have (). Recognize (... (where the paren is unclosed) as a declaration. (c-looking-at-or-maybe-in-bracelist): New function, extracted from c-inside-bracelist-p. Recognize as bracelists "{"s which are preceded by valid tokens other than "=". Recognize a bracelist when preceded by a template declaration. (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of much inline code. (c-looking-at-inexpr-block): Amend so that it won't wrongly recognise an initialization starting "({" as an in-expression block, by checking for semicolons, as opposed to commas, separating elements inside it. (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by calling c-looking-at-or-maybe-in-bracelist rather than checking for a preceding "=". (CASE B-5): New code to recognize new construct "return { ...}". (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by "return", or "{" preceded by as a bracelist. * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace lists, giving them `context' 'non-decl. Pass over elements of one by regexp search for "," rather than calling c-forward-decl-or-cast-1. * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang constants/variables to recognize "return". (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens which, when preceding an identifier followed by a brace, signify the brace as a bracelist. * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for the start of a "local" declaration, move out from an enclosing brace when that is the start of a brace list. 2016-08-21 Paul Eggert Update from gnulib This incorporates: 2016-08-17 maint: preprocessor changes to support z/OS 2016-08-17 string: rename to avoid '__string' * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h: Copy from gnulib. 2016-08-21 Paul Eggert Minor text-quoting-style fixes * src/charset.c (check_iso_charset_parameter): * src/frame.c (store_frame_param): * src/xselect.c (x_fill_property_data): Use grave accent for left single quote in ‘error’ format strings. 2016-08-21 Martin Rudalics Fix semantics of 'minibuffer' frame parameter The 'minibuffer' frame parameter is now t for a normal frame (a frame with a root window plus a minibuffer window) and the frame's minibuffer window for a minibuffer-less frame (a frame whose minibuffer window is on another frame). See also: https://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01259.html * src/frame.c (make_frame, make_frame_without_minibuffer) (make_minibuffer_frame): When assigning the frame's minibuffer window also store corresponding 'minibuffer' frame parameter. (store_frame_param): Move the 'minibuffer' parameter checks to the beginning so we can silently override the value before it gets stored in the parameter alist. Fix error handling. (Fframe_parameters): Return value of 'minibuffer' parameter unmodified. * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of the parameter is a minibuffer window, save (minibuffer . nil) instead of (minibuffer . t). (frameset--reuse-frame): To find a non-minibuffer-only frame look out for a frame whose 'minibuffer' parameter is t instead of that frame's minibuffer window. (frameset-minibufferless-first-p): To find a minibuffer-less frame look out for a frame whose 'minibuffer' parameter is a window instead of nil. 2016-08-20 Alan Mackenzie * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil" 2016-08-20 Alan Mackenzie In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil Check the limit both at macro expansion time (for a hard coded nil) and at run time in the generated code. Tidy up these macros generally. * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and not identically nil before generating a narrow-to-region call. Generate code to check `limit' is not nil at run time. (c-go-list-forward, c-go-list-backward): Remove the generation of redundant narrow-to-region, instead calling c-safe-scan-lists directly. (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward) (c-go-down-list-backward): Invoke the corresponding macros without the "go-" to determine the destination position instead of generating a redundant narrow-to-region. 2016-08-19 Robert Cochran * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring The docstring referenced a non-existant parameter, as well as a parameter that has been renamed since the docstring was written. Fix both errors, fixing (Bug#24182). 2016-08-19 Alan Mackenzie Amend hack-local-variables-prop-line not always to return any mode on line 1. This fixes bug #24266. * lisp/files.el (hack-local-variables-prop-line): Change the name of the parameter mode-only to handle-mode. Change its meaning, such that it being set to a value non-nil and not t removes any mode parameter from the result list. Leave its values nil and t with the same meanings they had. (hack-local-variables): Call hack-local-variables-prop-line appropriately. 2016-08-19 Daiki Ueno Improve doc string of epg-*-program * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program): Suggest to use Customize when setting. (Bug#24229) 2016-08-19 Tino Calancha Add tests for Bug#24264 * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264): Add test for Bug#24264. (cl-seq-fill-test, cl-seq-replace-test) (cl-seq-remove-test ,cl-seq-delete-test) (cl-seq-remove-duplicates-test, cl-seq-substitute-test) (cl-seq-nsubstitute-test, cl-seq-position-test) (cl-seq-count-test, cl-seq-mismatch-test) (cl-seq-search-test, cl-seq-test-bug24264): Add tests for all functions in the file; test all keywords. 2016-08-18 Johan Bockgård Fix bug in --eval reply message from server * lisp/server.el (server-reply-print): Fix check for truncated quote sequence at end of message. Problem reported in: http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00101.html 2016-08-18 Eli Zaretskii Add tests for 'substitute-command-keys' * test/src/doc-tests.el (doc-test-substitute-command-keys): New tests. 2016-08-18 Oleh Krehel lisp/textmodes/table.el (table-generate-source): Fix completing-read call Doesn't make sense to pass '(("html") ("latex") ("cals")) to `completing-read'. 2016-08-18 Oleh Krehel lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop, without any files being extracted. 2016-08-18 Andreas Politz Don't let window start override window point in `window-state-put' (Bug#24240) * lisp/window.el (window--state-put-2): Set 'noforce argument when restoring a window's start position. This avoids that the effect of `set-window-point' gets overidden by that of `set-window-start' (Bug#24240). 2016-08-17 Alan Mackenzie Fontify constructs following "::" in C++ argument lists correctly - part 2. This fixes bug #24246. * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a `save-match-data' around the new `looking-at' introduced by the previous CC Mode patch this evening. 2016-08-17 Alan Mackenzie Fontify constructs following "::" in C++ argument lists correctly. This fixes bug #24246. * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo match" loop, test a found string for a match with c-opt-identifier-concat-key (e.g. with "::"). 2016-08-17 Paul Eggert * src/doc.c (Fsubstitute_command_keys): Clarify GC comments. 2016-08-17 K. Handa Fix hz encoding and decoding (bug#23814) * lisp/language/china-util.el (decode-hz-region): Pay attention to "~~}" sequence at the end of Chinese character range. (hz-category-table): New variable. (encode-hz-region): Convert non-encodable characters to \u... and \U... Preserve ESC on ecoding. Put `chinese-gb2312' `charset' text property in advance to force iso-2022-encoding to select chinese-gb2312 designation. 2016-08-17 Tino Calancha file-attribute-collect: New defun * lisp/files.el (file-attribute-collect): Return a sublist of the attributes returned by 'file-attributes'. Suggested by Ted Zlatanov in: http://lists.gnu.org/archive/html/emacs-devel/2016-07/msg01195.html 2016-08-17 Michael Albinus Fix Bug#24203 * lisp/comint.el (comint-password-prompt-regexp): Relax regexp. (Bug#24203) 2016-08-16 Karl Fogel Improve doc string. * src/fileio.c (Ffile_name_as_directory): Be precise about the conditions under which a slash is appended. 2016-08-16 Paul Eggert Omit substitute-command-keys code no longer needed * src/doc.c (Fsubstitute_command_keys): Remove duplicate initializations. 2016-08-16 Tino Calancha Allow not erase output buffer in shell commands * lisp/simple.el (shell-command-not-erase-buffer): New option to allow not erasing the output buffer between shell commands. Defaults to nil. (shell-command-on-region): Use it. (shell-command--save-pos-or-erase): New defun; store a buffer position if 'shell-command-not-erase-buffer' is non-nil; otherwise erase the output buffer of the shell command. (shell-command, shell-command-on-region): Use it. (shell-command--set-point-after-cmd): New defun; if 'shell-command-not-erase-buffer' is non-nil, set point in the output buffer to the position in 'shell-command-saved-pos'. (shell-command-sentinel, shell-command-on-region): Use it. * doc/emacs/misc.texi (shell-command-not-erase-buffer): Document this feature in the manual. See discussion on: http://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00610.html 2016-08-16 Michael Albinus Rearrange Tramp manual title page * doc/misc/tramp.texi: Move @insertcopying out of the title page. Do not use @ifnottex anymore. 2016-08-15 Glenn Morris * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4. 2016-08-15 Alan Mackenzie Fix minor bug in c-syntactic-re-search-forward. Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is non-nil, and the first internal search attempt fails, point wrongly ends up at BOUND, rather than just before the next closing paren. * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against the above situation. 2016-08-15 Alan Mackenzie Handle C++11 lambda functions. * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to handle C++ lambda functions. (c-looking-at-c++-lambda-capture-list): New function. * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the parameter list of a lambda function and set `context' and `c-restricted-<>-arglists' suitably for it. (c-font-lock-c++-lambda-captures): New function. (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it. * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re): New language constants/variables. (c-paren-nontype-kwds): Include "noexcept" in the C++ value. * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda function capture list. 2016-08-15 Michael Albinus Fix stale cache problem in Tramp * lisp/net/tramp-cache.el (tramp-get-connection-property): Check, that a process as key is still running. (Bug#22478) 2016-08-14 Paul Eggert * doc/misc/tramp.texi (Configuration): Fix @xref typo. 2016-08-14 Eli Zaretskii Another fix for scroll-conservatively and overlay strings * src/xdisp.c (redisplay_window): Handle also the case where the calculated window-start point has an overlay string touching it. (Bug#24179) 2016-08-14 Michael Albinus Improve handling of defcustoms in tramp * doc/misc/tramp.texi: Protect all multi-line examples by @group ... @end group. Use proper `custom-set-variables' examples. Use consequently @option for user options. Remove superfluous @cindex and @vindex entries. (Top): Remove reference to outdated mail archives. (Configuration): Tune references. (Default Method): Make `tramp-default-method' and `tramp-default-method-alist' a @defopt. (Default User): Make `tramp-default-user' and `tramp-default-user-alist' a @defopt. (Default Host): Make `tramp-default-host' and `tramp-default-host-alist' a @defopt. * lisp/net/tramp.el (tramp-mode, tramp-verbose) (tramp-backup-directory-alist, tramp-auto-save-directory) (tramp-encoding-shell, tramp-encoding-command-switch) (tramp-encoding-command-interactive, tramp-default-method) (tramp-default-method-alist, tramp-default-user) (tramp-default-user-alist, tramp-default-host) (tramp-default-host-alist, tramp-default-proxies-alist) (tramp-save-ad-hoc-proxies) (tramp-restricted-shell-hosts-alist) (tramp-local-end-of-line, tramp-rsh-end-of-line) (tramp-login-prompt-regexp, tramp-shell-prompt-pattern) (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp) (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp) (tramp-terminal-prompt-regexp) (tramp-operation-not-permitted-regexp) (tramp-copy-failed-regexp, tramp-process-alive-regexp) (tramp-syntax, tramp-chunksize) (tramp-process-connection-type, tramp-connection-timeout) (tramp-connection-min-time-diff) (tramp-completion-reread-directory-timeout): * lisp/net/tramp-adb.el (tramp-adb-program) (tramp-adb-connect-if-not-connected, tramp-adb-prompt): * lisp/net/tramp-cache.el (tramp-connection-properties) (tramp-persistency-file-name): * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) (tramp-gvfs-zeroconf-domain) (tramp-bluez-discover-devices-timeout): * lisp/net/tramp-sh.el (tramp-inline-compress-start-size) (tramp-copy-size-limit, tramp-terminal-type) (tramp-histfile-override) (tramp-use-ssh-controlmaster-options, tramp-remote-path) (tramp-remote-process-environment, tramp-sh-extra-args): * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program) (tramp-smb-conf, tramp-smb-winexe-program) (tramp-smb-winexe-shell-command) (tramp-smb-winexe-shell-command-switch): Add :require 'tramp. 2016-08-13 Paul Eggert Minor text-quoting-style fixes * lisp/cus-edit.el (custom-buffer-create-internal): * lisp/recentf.el (recentf-edit-list): Follow text-quoting-style preference when quoting in UI strings. * src/doc.c (Fsubstitute_command_keys): Don’t say that curved quotes are substituted for, as this is no longer true. 2016-08-13 Paul Eggert Fix substitute-command-keys unibyte, alloc bugs * src/doc.c (Fsubstitute_command_keys): Fix some problems with unibyte strings and with buffer allocation. Make strings multibyte, to avoid problems with unibyte strings that are not valid UTF-8 (Bug#24206). Redo buffer allocation so that it is O(N), not O(N**2). Avoid going past the end of the input string when given invalid input. Avoid some unlikely problems in accessing the wrong storage after a GC. 2016-08-13 Joakim Jalap Fix "C-u" when an input method is active * lisp/international/quail.el (quail-input-method): Defer to the input method iff 'overriding-terminal-local-map' is 'universal-argument-map' and the given key has no binding there. (Bug#22958) 2016-08-13 Martin Rudalics Fix docs on `display-buffer-below-selected' (Bug#24213) * lisp/window.el (display-buffer-below-selected): Fix doc-string (Bug#24213). * doc/lispref/windows.texi (Display Action Functions): Fix documentation of `display-buffer-below-selected'. 2016-08-12 Tino Calancha cl-fill: Rename arguments to cl-seq and cl-item * lisp/emacs-lisp/cl-seq.el (cl-fill): Rename arguments to 'cl-seq' and 'cl-item' as elsewhere. 2016-08-12 Thomas Fitzsimmons Fix display.texi typo * doc/lispref/display.texi (Faces): Fix typo. 2016-08-11 Paul Eggert Fix process leak with make-network-process This problem was introduced by the recent async changes (Bug#23808). * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later, so that it follows the start_process_unwind unwind-protect. Set pid to -1 while the process is being created. (start_process_unwind): Omit unnecessary emacs_abort test. (connect_network_socket): Simplify use of counts. Unwind bind_polling_period a bit earlier, so that a remove_process unwind-protect can be added when needed; this is the heart of the fix. Undo the unwind-protect just before returning. 2016-08-11 Eli Zaretskii Avoid annoying re-scroll when buffer has many overlay strings * src/xdisp.c (redisplay_window): Add better recovery from a situation where window-start is on buffer position which has a before-string that includes newlines, with the result that point is not visible in the window, because the display engine starts displaying with the before-string. (Bug#24179) 2016-08-10 Paul Eggert Omit unnecessary process initialization * src/process.c (make_process, Fmake_process) (Fmake_pipe_process, Fmake_serial_process) (Fmake_network_process, server_accept_connection): Omit unnecessary initialization of already-cleared storage. 2016-08-10 Tino Calancha cl-delete-duplicates: Parse :if to have cl-if bound * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates): We need also to parse keyword :if, otherwise cl-if is unbound. This reverts commit: 68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd 2016-08-10 Tino Calancha cl-delete-duplicates: do not parse :if keyword * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates): Parse only the supported keywords. 2016-08-10 Michael Albinus Add compatibility layer for `temporary-file-directory-function' * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory-function): New defalias. * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it. * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file): Skip for older Emacs versions. 2016-08-10 Michael Albinus * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN. (Bug#24059) 2016-08-10 Vincent Belaïche Handle nil cell value in compiled printer functions. * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the ses-range `!' modifier. (More on cell printing): Fix this that the fallback printer is `ses-prin1', not "%S". That makes a difference for any cell value for which "%S" would insert a backslash characters. * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value --- contrary to emacs-25 branches ses-call-printer does not handle prior to calling a function printer. Not doing this would still work because the compiled function would throw and error and SES would in the end resort to the ses-prin1 fallback, however this way would not be in line with the raison d'être of compiling printer which is speed. 2016-08-09 Mark Oteiza Turn on lexical-binding in json.el Measuring with (benchmark-run 100 (json-read-file "foobar.json")) showed 12-31% reduction in execution time. * lisp/json.el: Turn on lexical-binding. 2016-08-09 Mark Oteiza Nudge WoMan toward lexical-binding * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales): Use cl-pushnew instead of add-to-list. (woman-justify-list): Rename to woman-justify-styles. (woman-justify-styles): New array. (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it. (woman-cached-data): Use cl-pushnew instead of add-to-list. 2016-08-09 Vincent Belaïche Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch. Here follows the logs from the two commits which I apply to master. commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d Author: Vincent Belaïche Date: Fri Jul 29 13:44:14 2016 +0200 Fix ses-delete-blanks to delete only blanks + documentation. * doc/misc/ses.texi (Quick Tutorial): Mention the '!' 'ses-range' modifier as an alternative to 'ses+'. (Advanced Features): Add a refernce to node 'Nonrelocatable references' concerning function 'ses-rename-cell'. (Standard formula functions): Mention the '!' 'ses-range' modifier as an alternative to 'ses-delete-blanks'. (More on cell printing): Fix fallback printer definition. Minor editorial formatting changes. (Nonrelocatable references): Document the use of 'ses-rename-cell' as a better way to make cell reference non-relocatable. (The data area): Document the presence of local printer definitions in the data area. * lisp/ses.el (ses-delete-blanks): Do not remove *error*. Any error in an argument should propagate into the using formula rather than being silently hidden ! commit 8a38e948b039516e70176ebe20c5349e2ade6ac5 Author: Vincent Belaïche Date: Thu Jul 28 19:49:37 2016 +0200 Fix local printer set to left aligned string formatter. * lisp/ses.el (ses-local-printer-compile): Add missing case for left-aligned string formatter. 2016-08-09 Paul Eggert * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE. 2016-08-09 Stefan Monnier * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing Change the code which detects and circumvents the case where one of the variables used in λ-lifting is shadowed, so that it also works when the shadowing comes before the λ-lifted function (bug#24171). (cconv--remap-llv): New function, extracted from cconv-convert. (cconv-convert): Use it, but differently for `let' and `let*'. 2016-08-09 Alan Mackenzie CC Mode: check for and fix missing call to before_change_functions. Fixes bug #24094 and bug #24074. This can happen with `revert-buffer' or sometimes `find-file', when the file is already in a buffer, but the file has been changed outside of Emacs. * lisp/progmodes/cc-mode (c-after-change): When we detect a missing invocation of c-before-change-functions, we assume the changed region is the entire buffer, and call c-before-change explicitly before proceding. 2016-08-09 Alan Mackenzie Make c-deprepertize-CPP work on deletion/insertion of "s. Fixes bug #24132. * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function. 2016-08-09 Michael Albinus Support $ENV in Tramp * doc/misc/tramp.texi (Remote processes): Explain setting $ENV. * etc/NEWS: Explain the "ENV" environment variable in `tramp-remote-process-environment'. * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''". (tramp-open-shell): Read $ENV value from `tramp-remote-process-environment'. (tramp-open-connection-setup-interactive-shell): Set values in proper order. 2016-08-09 Paul Eggert Simplify exec_byte_code via moving decls etc. * src/bytecode.c (exec_byte_code): Simplify, mostly by moving initializers into decls, and by omitting some unnecessary changes to ‘top’. This improves performance a bit on x86-64, as it happens. 2016-08-09 Paul Eggert Remove interpreter’s byte stack This improves performance overall on my benchmark on x86-64, since the interpreted program-counter resides in a machine register rather than in RAM. * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there is no longer a byte stack to decode. * src/bytecode.c (struct byte_stack, byte_stack_list) (relocate_byte_stack): Remove. All uses removed. (FETCH): Simplify now that pc is now local (typically, in a register) and no longer needs to be relocated. (CHECK_RANGE): Remove. All uses now done inline, in a different way. (BYTE_CODE_QUIT): Remove; now done by op_relative_branch. (exec_byte_code): Allocate a copy of the function’s bytecode, so that there is no problem if GC moves it. * src/lisp.h (struct handler): Remove byte_stack member. All uses removed. (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of SAFE_ALLOCA_LISP. (SAFE_ALLOCA_LISP): Use it. 2016-08-09 Paul Eggert Remove arbitrary limit on bytecode maxdepth * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca. pipeline is fuller. 2016-08-09 Paul Eggert Tune bytecode quitting * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too. Do the check only once every 256 times. This should be good enough, and improves performance significantly on x86-64 as branch-prediction typically assumes checking will not be done so the instruction pipeline stays fuller. (exec_byte_code): Set up the quit counter. Don’t call maybe_gc directly, as BYTE_CODE_QUIT does that now. 2016-08-09 Paul Eggert Simplify BYTE_CODE_SAFE checking * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it can be used outside #if. All uses of ‘defined BYTE_CODE_SAFE’ changed to ‘BYTE_CODE_SAFE’. Use BYTE_CODE_SAFE in plain expressions instead of #if expressions when this is easy. (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’, as it is no longer needed. (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy. Simplify stack-overflow checking when BYTE_CODE_SAFE. 2016-08-09 Paul Eggert Get BYTE_CODE_METER working again BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have noticed. Perhaps we should remove it? * src/bytecode.c (METER_2) [BYTE_CODE_METER]: Use *aref_addr instead of AREF, since it needs to be an lvalue. 2016-08-08 Eli Zaretskii Fix cursor position under scroll-conservatively and overlay strings * src/xdisp.c (try_scrolling): Handle the case where the last visible screen line of a window displays a before- or after-string that takes up the whole screen line, and therefore there's no place to display the cursor, even though the window does seem to include the position of point. (Bug#24179) 2016-08-08 Michael Albinus * lisp/files.el (file-ownership-preserved-p): Fix docstring. (Bug#23998) 2016-08-07 Paul Eggert Tune interpretation of integer arglist descriptor * src/bytecode.c (exec_byte_code): Simplify and tune when INTEGERP (args_template). 2016-08-07 Noam Postavsky Fix debugging of string-match-p errors * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so that debugger code that needs to do regexp match won't break (Bug #23949, Bug #24166, Bug#16294). 2016-08-07 Michael Albinus Add `make-nearby-temp-file' and `temporary-file-directory' * doc/lispref/files.texi (Unique File Names): Introduce `make-nearby-temp-file' and `temporary-file-directory'. (Magic File Names): Mention `make-nearby-temp-file' and `temporary-file-directory'. * etc/NEWS (provided): Mention `make-nearby-temp-file' and `temporary-file-directory'. * lisp/files.el (mounted-file-systems): New defcustom. (temporary-file-directory, make-nearby-temp-file): New defuns. (normal-backup-enable-predicate): Fix docstring. * 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 `make-nearby-temp-file' and `temporary-file-directory'. (tramp-get-remote-tmpdir): Remove compatibility code. (tramp-handle-temporary-file-directory) (tramp-handle-make-nearby-temp-file): New defuns. * lisp/org/ob-core.el (org-babel-local-file-name): * lisp/progmodes/gud.el (gud-common-init): * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'. * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message. * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name): Check `tramp--test-enabled'. (tramp-test18-file-attributes): Add tests for `file-ownership-preserved-p'. (tramp-test27-start-file-process, tramp-test28-shell-command): Reduce timeouts in `accept-process-output'. (tramp-test--shell-command-to-string-asynchronously): Add timeout. (tramp-test29-environment-variables): Remove additional sleep calls. (tramp-test32-make-nearby-temp-file): New test. (tramp--test-special-characters, tramp--test-utf8): Adapt docstring. (tramp-test33-special-characters) (tramp-test33-special-characters-with-stat) (tramp-test33-special-characters-with-perl) (tramp-test33-special-characters-with-ls, tramp-test34-utf8) (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl) (tramp-test34-utf8-with-ls) (tramp-test35-asynchronous-requests) (tramp-test36-recursive-load, tramp-test37-unload): Rename. (tramp--test-ftp-p): Simplify check. (tramp--test-sh-p): New defun. (tramp-test20-file-modes, tramp-test22-file-times) (tramp-test26-process-file, tramp-test27-start-file-process) (tramp-test28-shell-command) (tramp-test29-environment-variables) (tramp-test30-vc-registered) (tramp-test33-special-characters-with-stat) (tramp-test33-special-characters-with-perl) (tramp-test33-special-characters-with-ls) (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl) (tramp-test34-utf8-with-ls) (tramp-test35-asynchronous-requests): Use it. 2016-08-06 Michael Albinus Add missing dcstrings in Tramp, remove chec for obsolee methods * lisp/net/tramp.el (tramp-progress-reporter-update) (tramp-unload-file-name-handlers, tramp-get-local-uid) (tramp-get-local-gid, tramp-get-local-locale): * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp) (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command): * lisp/net/tramp-compat.el (tramp-compat-funcall): * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp): * lisp/net/tramp-gw.el (tramp-gw-process-filter): * lisp/net/tramp-sh.el (tramp-get-remote-path) (tramp-get-remote-locale, tramp-get-ls-command) (tramp-get-ls-command-with-dired) (tramp-get-ls-command-with-quoting-style) (tramp-get-ls-command-with-w-option) (tramp-get-test-nt-command, tramp-get-file-exists-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-uid-with-id) (tramp-get-remote-uid-with-perl, tramp-get-remote-python) (tramp-get-remote-uid-with-python, tramp-get-remote-uid) (tramp-get-remote-gid-with-id) (tramp-get-remote-gid-with-perl) (tramp-get-remote-gid-with-python, tramp-get-remote-gid) (tramp-get-env-with-u-option): Add missing docstrings. * lisp/net/tramp.el (tramp-obsolete-methods) (tramp-warned-obsolete-methods): Remove. (tramp-find-method): Do not check for obsolete methods any longer. 2016-08-06 Noam Postavsky Make sh-mode always use p-s-lookup-properties This lets functions which rely on syntax-propertize for parsing work correctly even before font lock has a chance to run. * lisp/progmodes/sh-script.el (sh-set-shell): Set parse-sexp-lookup-properties unconditionally (Bug #4920). 2016-08-06 Noam Postavsky Fix cl-assert with atomp FORM, non-nil SHOW-ARGS * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a list when showing its (non-existent) arguments (Bug #18587). 2016-08-06 Noam Postavsky Don't delete selection after indent-rigidly * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT function to `set-transient-map', this prevents `delete-selection-mode' from deleting the text that was just indented (Bug #20408). 2016-08-06 Noam Postavsky Fix byte-compile of interactive closures * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put bindings after docstring and `interactive' form, if any (Bug #24122). 2016-08-06 Noam Postavsky Error if --eval arg has text beyond 1 expression * lisp/startup.el (command-line-1): If --eval argument has more data than constitutes a single Lisp expression, signal an error (Bug #23159). 2016-08-06 Noam Postavsky Fix quoted lambda warning from lexical-let * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda with `function', not `quote' (Bug #11357). 2016-08-06 Noam Postavsky Make emerge always use shell-quote-argument * lisp/vc/emerge.el (emerge-metachars): Obsolete. (emerge-protect-metachars): Delete. (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to `emerge-protect-metachars' with `shell-quote-argument' so that shell quoting is done the same on all system types (Bug #6136). Also shell quote `emerge-diff-program' and `emerge-diff3-program'. 2016-08-06 Eli Zaretskii Fix 'dired-diff' when backup file is in another directory * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how the default for FILE is computed, especially when backup files are involved. Support backup files in another directory. Don't suggest the default FILE if it doesn't exist. (Bug#24089) 2016-08-06 Eli Zaretskii Fix the 'T' command in Dired with non_ASCII file names * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write to correctly encode file names passed to the invoked PROGRAM. (Bug#24162) 2016-08-05 Noam Postavsky * lisp/files.el (version-control): Drop :group vc (Bug #14687) 2016-08-05 Paul Eggert Merge from origin/emacs-25 d841a03 ; Spelling fix a6ae479 Post AppDefined events from the main thread ONLY (bug#23934) d35d398 Update to the AUTHORS file for Bob Weiner 4d2f4df Revert "Fix local printer set to left aligned string formatter." cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen... f7ceb8e Revert "Fix English." baa7abd Improve doc strings of 'gud-gdb' and 'gdb' aa4271a Fix doc string of 'minibuffer-message-timeout' b275cc7 Fix English. 3c97b0f Fix ses-delete-blanks to delete only blanks + documentation. 272391f profiler: document prefix arg for tree expansion 442cc39 Clarify usage of eshell-visual-options b443c3c Fix comment in files-in-below-directory 8a38e94 Fix local printer set to left aligned string formatter. 0f0b191 ; Fix typos in NEWS 6bdf687 ; * etc/NEWS: Remove temporary marks 2016-08-05 Paul Eggert Merge from origin/emacs-25 d08afa1 * etc/AUTHORS: Update the AUTHORS file 2668500 ;; * ChangeLog.2: ChangeLog update. 7acfaea ; ChangeLog fixes 97d28b4 * admin/authors.el (authors-valid-file-names): Addition. 9ab52f6 * admin/authors.el: Additions. 0e646c7 Warn about Cairo-related problems bc4c07f Don't let completion break `declare' handling 66f95e0 Adjust match data before calling after-change-funs 52cf0d5 Do not show string-rectangle preview if minibuffer is empty 6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas... # Conflicts: # ChangeLog.2 # src/lisp.h 2016-08-05 Paul Eggert Merge from origin/emacs-25 9a41cd1 ; Fix typo 9356fe2 Expand FIXME near definition of fboundp 219b39f kill-rectangle should mention killed-rectangle 59fa4c3 Avoid assertion violations in nhexl-mode 2016-08-05 Paul Eggert Merge from origin/emacs-25 9ba51ed Document buffer-swap-text+save-excursion interaction 452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug... 248d5dd Include cl-generic in package--builtin-versions (bug#22817) 8f5a8b6 Improve timing in `tramp-test29-environment-variables' 05ba7a0 Add test for handling environment variables in Tramp e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st... 5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo. (Bug#23913) 90f2169 ; Spelling fixes 069fc05 Improve documentation of search functions 0a0144a Delete environment variables in Tramp when needed f624671 Add "New in Emacs 25" section to the FAQ 658daf9 Fix 'vertical-motion' in non-interactive sessions 686b520 Fix memory leak in imagemagick-types 4069b71 Update ELisp manual to match 'string-collate-equalp' doc string 1b2d6a6 Clarify docstring of find-feature-regexp aac62a6 Add details to cl-lib defining macros' docstrings d6aa4da Clarify doc string of 'save-buffer' 03bcf11 Un-confuse doc string of 'string-collate-equalp' c53135b Clarify documentation of 'mouse-on-link-p' # Conflicts: # lisp/emacs-lisp/eieio-core.el 2016-08-05 Paul Eggert Merge from origin/emacs-25 6f285d9 Amend last addition to etc/PROBLEMS 7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi... 2016-08-05 Paul Eggert Merge from origin/emacs-25 d4c6774 Fix missing point information in undo 3a9d629 Avoid crashes when buffer modification hooks clobber match data 178b2f5 Note combine-and-quote-strings doesn't shell quote dec7567 Explain when package-initialize isn't called 113d1e2 Fix escaping in sh-indent-after-continuation docstr 80e2044 ; * etc/NEWS: Improve previous change. 5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars. 38f4b8e Clarify the documentation of back-references in replacements 2016-08-05 Paul Eggert Merge from origin/emacs-25 850ba44 Clarify lexical binding with symbol args behavior f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix. 68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix. (Bug#23... 21110af Avoid assertion violations when rendering some fonts 6192b6c Document more details of package activation 272ddc6 Fixup warning message regarding HOME a bit more 43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic... d41f7ff Fix input method "probhat" for Bengali c150a64 ; Fix typo in commit before last ebf0472 Add to elisp-completion-at-point's docstring fd9fad0 Give more helpful warning about setting HOME ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde... # Conflicts: # lisp/term.el 2016-08-05 Paul Eggert Merge from origin/emacs-25 26d4da0 New input method "probhat" for Bengali 4f445bf ; Spelling fix f403f03 ; Fix typo 2016-08-05 Paul Eggert Spelling and minor grammar fixes * test/file-organization.org: Rename from test/file-organisation.org. 2016-08-04 Alan Mackenzie Widen in certain low level CC Mode functions. This fixes bug #24148. * lisp/progmodes/cc-engine (c-state-semi-pp-to-literal) (c-state-full-pp-to-literal): Widen around the functionality. (c-parse-ps-state-below): Correct the order of save-excursion and save-restriction. 2016-08-04 Stefan Monnier Fix Bug#24149 * lisp/subr.el (set-transient-map): Don't wait if MAP not present in overriding-terminal-local-map. (Bug#24149) 2016-08-03 Paul Eggert Update from gnulib This incorporates: 2016-07-03 mktime: call tzset as per POSIX * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4: Copy from gnulib. 2016-08-03 Paul Eggert Fix GnuTLS includes * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h a second time; although it doesn’t hurt, it’s not needed. * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h, as it may not be available. Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00100.html 2016-08-03 Michal Nazarewicz Fix accessing regex-resources in out-of-tree test runs in regex-tests [82a487d: Fix reading of regex-resources in regex-tests] attempted to fix regex-tests failing when run from the source tree (i.e. via make) by hard-coding path to regex-resources directory relative to the test directory. This fixed runs from the tree but broke the test when run using other methods. Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set. * test/src/regex-tests.el (regex-tests--resources-dir): New variable storing path to the regex-resources directory. (regex-tests-generic-line): Use aforementioned variable. 2016-08-03 Paul Eggert Simplify by assuming GnuTLS 2.12.2 or later * src/gnutls.c (gnutls_certificate_details): * src/sysdep.c: Assume GnuTLS 2.12.2 or later. 2016-08-03 Paul Eggert Port to systems lacking GNUTLS_NONBLOCK Problem reported by Colin Baxter in: http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00096.html * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined. 2016-08-03 Paul Eggert Fix non-blocking GnuTLS with slow connection Although the problem is reported for OS X (Bug#23982), it seems to be possible on other POSIXish platforms. * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]: New function. (emacs_gnutls_handshake) [!WINDOWSNT]: Use it as the errno function, if non-blocking. (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking. 2016-08-03 Paul Eggert Require GnuTLS 2.12.2 or later * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later, instead of merely 2.6.6 or later (Bug#23982#20). * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake) [WINDOWSNT]: Don’t bother with gnutls_check_version or gnutls_transport_set_lowat, as they are no longer needed now that we require gnutls 2.12.2 or later. 2016-08-02 Stefan Monnier * src/window.c (sanitize_window_sizes): Remove unused arg `frame' * src/window.h (sanitize_window_sizes): Adjust prototype. * src/frame.c (adjust_frame_size): Adjust calls. 2016-08-02 Paul Eggert Fix (mapcar F S) crash when F alters S’s length * src/fns.c (mapcar1): Return number of elements computed, which can be less than LENI if the function alters the list. All callers changed. (Bug#24118) 2016-08-02 Paul Eggert Port window changes to --enable-gcc-warnings * src/window.c (sanitize_window_sizes): Return void. This pacifies GCC, and no caller uses the return value anyway. 2016-08-02 Stefan Monnier * src/window.c: Fix bootstrap failure due to window.el changes (sanitize_window_sizes): Adjust to new calling convention of window--sanitize-window-sizes and only call it if defined. (Fwindow__sanitize_window_sizes): Remove. (syms_of_window): Don't defsubr it. 2016-08-02 Michael Albinus Fix Bug#23883 * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Call `process-actions' with adapted position. The connection buffer might have been cleaned up already. (Bug#23883) 2016-08-02 Paul Eggert Port regex changes to strict ISO C * src/regex.c (regex_compile): Redo casts. 2016-08-02 Stefan Monnier * lisp/window.el: Use lexical-binding (window--min-size-ignore-p): Remove unused arg `horizontal'. (window--sanitize-window-sizes): Remove unused arg `frame'. (window-edges): Remove unused vars left-off and right-off. (display-buffer-reuse-mode-window): Remove unused var `frame?'. Avoid extraneous setq and do a bit of CSE. (fit-frame-to-buffer): Remove unused vars `window', `fit-width', and `toolbar-extra-height'. (window-adjust-process-window-size): Remove unused arg `process'. 2016-08-02 Michal Nazarewicz Fix unused lexical variable This fixes the following warning: In toplevel form: src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’ * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical variable. 2016-08-02 Michal Nazarewicz Remove unused STREQ macro This fixes the following compilation warning: regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros] #define STREQ(s1, s2) ((strcmp (s1, s2) == 0)) ^ * src/regex.c (STREQ): Remove unused macro. It should have been removed in a [4538a5e: Refactor regex character class parsing in [:name:]] commit but was mistakenly left out. 2016-08-02 Stefan Monnier * cl-generic.el: Fix problems introduced by new load-history format * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function. (cl-generic-define-method, cl--generic-describe): Use it. (cl--generic-search-method): Adjust for new format. * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): * test/lisp/progmodes/elisp-mode-tests.el: Use cl--generic-load-hist-format rather than hard-coding cl-generic's internal format. 2016-08-02 Michal Nazarewicz Hardcode regex syntax to remove dead code handling different syntax Emacs only ever uses its own regex syntax so support for other syntaxes is never used. Hardcode the syntax so that the compilar can detect such dead code and remove it from compiled code. The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly specified. Handle this separatelly with a function argument (replacing now unnecessary syntax argument). With this patchset, size of Emacs binary on x86_64 machine is reduced by around 60 kB: new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs. (re_compile_pattern): Replace syntax with posix_backtracking argument. * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs. (regex_compile): #ifdef emacs, replace syntax argument with posix_backtracking which is now used instead of testing for RE_NO_POSIX_BACKTRACKING syntax. (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs. (re_compile_pattern): Replace syntax with posix_backtracking argument. * src/search.c (compile_pattern_1): Pass boolean posix_backtracking instead of syntax to re_compile_pattern. 2016-08-02 Michal Nazarewicz Get rid of re_set_whitespace_regexp * src/regex.h (re_set_whitespace_regexp): Delete. (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs. * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete. (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap whitespace_regexp-related code in an #ifdef emacs so it’s compiled out unless building Emacs. (re_compile_pattern): Pass whitespace_regexp argument to regex_compile * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp, pass the regex as argument to re_compile_pattern instead. 2016-08-02 Michal Nazarewicz Get rid of re_set_syntax Instead of using a global variable for storing regex syntax, pass it to re_compile_pattern. This is only enabled when compiling Emacs (i.e. ‘#ifdef emacs’). * src/regex.h (re_set_syntax): Declare only #ifndef emacs. (re_compile_pattern): Now takes syntax argument #ifdef emacs. * src/regex.c (re_syntax_options): Define only #ifndef emacs. (re_compile_pattern): Use the new syntax argument #ifdef emacs. * src/search.c (compile_pattern_1): Don’t use re_set_syntax and instead pass syntax to re_compile_pattern directly. 2016-08-02 Michal Nazarewicz Remove dead opcodes in regex bytecode There is no way to specify before_dot and after_dot opcodes in a regex so code handling those ends up being dead. Remove it. * src/regex.c (print_partial_compiled_pattern, regex_compile, analyze_first, re_match_2_internal): Remove handling and references to before_dot and after_dot opcodes. 2016-08-02 Michal Nazarewicz Refactor regex character class parsing in [:name:] re_wctype function is used in three separate places and in all of those places almost exact code extracting the name from [:name:] surrounds it. Furthermore, re_wctype requires a NUL-terminated string, so the name of the character class is copied to a temporary buffer. The code duplication and unnecessary memory copying can be avoided by pushing the responsibility of parsing the whole [:name:] sequence to the function. Furthermore, since now the function has access to the length of the character class name (since it’s doing the parsing), it can take advantage of that information in skipping some string comparisons and using a constant-length memcmp instead of strcmp which needs to take care of NUL bytes. * src/regex.c (re_wctype): Delete function. Replace it with: (re_wctype_parse): New function which parses a whole [:name:] string and returns a RECC_* constant or -1 if the string is not of [:name:] format. (regex_compile): Use re_wctype_parse. * src/syntax.c (skip_chars): Use re_wctype_parse. 2016-08-02 Michal Nazarewicz Split regex glibc test cases into separet tests * test/src/regex-tests.el (regex-tests): Remove and split into multiple tests cases. (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE, regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split from ‘regex-tests’. 2016-08-02 Michal Nazarewicz Don’t (require 'cl) * test/src/regex-test.el: Don’t (require 'cl). (regex-tests-PCRE): s/loop/cl-loop/ 2016-08-02 Michal Nazarewicz Fix reading of regex-resources in regex-tests * test/src/regex-tests.el (regex-tests-generic-line): Referring to ‘buffer-file-name’ does not work when running the test from command line, i.e. via make, which results in (wrong-type-argument stringp nil) failures. Replace it with hard-coded path. (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist, regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now includes the ‘regex-resources’ path component so the tests don’t need to specify it explicitly. 2016-08-02 Dima Kogan Added driver for the regex tests * test/src/regex-tests.el (regex-tests): Test executing glibc tests cases. [mina86@mina86.com: merged test with existing file] 2016-08-02 Dima Kogan New regex tests imported from glibc 2.21 * test/src/regex-resources/BOOST.tests: * test/src/regex-resources/PCRE.tests: * test/src/regex-resources/PTESTS: * test/src/regex-resources/TESTS: New test data files [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.] 2016-08-02 Paul Eggert Fix use-after-close in connect_network_socket * src/process.c (connect_network_socket): Reverse sense of previous fix. Problem reported by Ken Brown in: http://lists.gnu.org/archive/html/emacs-devel/2016-08/msg00004.html 2016-08-01 Glenn Morris * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads): Respect autoload-timestamps for "actual autoloads are elsewhere" case. 2016-07-31 Stefan Merten * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes representing reStructuredText section header concepts. (rst-mode-map, rst-new-preferred-hdr) (rst-update-section, rst-classify-adornment) (rst-ttl-at-point, rst-all-ttls-cache) (rst-hdr-hierarchy-cache, rst-reset-section-caches) (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy) (rst-all-ttls-with-level, rst-get-previous-hdr) (rst-adornment-complete-p, rst-next-hdr, rst-adjust) (rst-adjust-section, rst-promote-region) (rst-display-hdr-hierarchy, rst-straighten-sections) (rst-all-stn, rst-remaining-stn, rst-toc-insert) (rst-toc-insert-node, rst-toc-node, rst-toc) (rst-forward-section, rst-adornment-level) (rst-font-lock-handle-adornment-pre-match-form) (rst-imenu-convert-cell, rst-imenu-create-index): Refactor using classes. (rst-compare-adornments, rst-get-adornment-match): Remove functions now in classes. (rst-re-alist-def, rst-toc-mode) (rst-font-lock-extend-region-extend): Minor improvements. (rst-mode, rst-compile): Use `setq-local'. (rst-cvs-header, rst-svn-rev, rst-svn-timestamp) (rst-official-version, rst-official-cvs-rev) (rst-package-emacs-version-alist): Maintain version tags. 2016-07-30 Martin Rudalics Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107) * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool bar width (Bug#24107). Reindent. * src/xfns.c (frame_geometry): Fix calculation of tool bar width on non-GTK builds. 2016-07-30 Eli Zaretskii Fix region display while dragging mouse * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the buffer of the drag event, to allow mark to be set and the region be shown as we drag the mouse. (Bug#24030) 2016-07-30 Tino Calancha Copy just non-empty strings to kill-ring * lisp/dired.el (dired-copy-filename-as-kill): Do not change the kill ring when the string is empty (Bug#24103). 2016-07-30 Eli Zaretskii Avoid warnings about undo list while decoding * src/coding.c (coding_restore_undo_list): New function. (decode_coding_gap, decode_coding_object): Temporarily set the buffer's undo list to t, to avoid warnings when decoding changes the buffer many times, e.g. due to post-read-conversion. Use coding_restore_undo_list to make sure the undo list is restored. (Bug#23813) 2016-07-28 Noam Postavsky profiler: Add mouse-1 binding for tree expansion (profiler-report-mode-map): Add mouse-1 binding for profiler-report-toggle-entry (Bug #13455). 2016-07-28 Vincent Belaïche Enable addition of local printers from a mode hook. * doc/misc/ses.texi (Printer functions): Split the node into 5 sub-nodes + add some extra documentation. (Various kinds of printer functions): Make an itemisation to disintguish better the 3 types of printers, give an example of lambda printer definition. (Standard printer functions): Add documentation for ses-prin1 printer function. (Local printer functions): Add documentation for creating local printers programmatically from a hook. (Writing a lambda printer function): Add documentation about anti-stackoverflow precautions to take when you call the standard printer functions from inside a local printer. * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1 among standard printer function, and update docstring accordingly. (ses-call-printer, ses-export-tab): Call `ses-prin1' instead of prin1-to-string. (ses-define-local-printer): Add definition to arguments so that a local printer can be defined programmatically from a mode hook. Make docstring more substantial. Use completing read for local printer name input. Plus some minor optimization. (ses-define-if-new-local-printer): New defsubst. (ses-center, ses-center-span, ses-dashfill) (ses-dashfill-span, ses-tildefill-span): Allow to pass printer as an optional argument to superseed column printer/default spreadsheet printer. (ses-prin1): New defun. 2016-07-27 Ted Zlatanov Prompt to save gnus-cloud-method. Since `gnus-cloud-method' is a defcustom, when it's set, we should prompt the user to save it, so the customization is not lost on restart. * gnus-srvr.el (gnus-server-toggle-cloud-method-server): Prompt to save the customization of `gnus-cloud-method'. 2016-07-27 Ken Brown Fix dired-test-bug22694 * test/lisp/dired-tests.el (dired-test-bug22694): Delete the "bug22694" directory, if it exists, before running the test. It might be left over from a previous aborted run of the test. 2016-07-27 Michal Nazarewicz Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020) * src/regex.c (mutually_exclusive_p): Fix how whether character is unibyte is tested when calling execute_charset function. This bug has been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro. Reinstitute it. 2016-07-27 Tino Calancha Remove hook when disabling ibuffer-auto-mode * lisp/ibuf-ext.el (ibuffer-auto-mode): Remove 'ibuffer-auto-update-changed' from 'post-command-hook'. 2016-07-26 Stefan Monnier * lisp/subr.el (cancel-change-group): Reset cell in case of error Since the setcdr/setcdr is supposed to be temporary, use unwind-protect to make sure we properly undo the temporary change even in case of error. 2016-07-26 Eli Zaretskii Avoid segfaults in compute_motion * src/indent.c (compute_motion): Don't turn on and don't use the width cache unless the buffer's width-table is non-nil. This avoids segfaults because code that uses the width cache assumes the width-table exists. (Bug#24064) 2016-07-26 Nicolas Petton Do not sharp-quote lambdas * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas. 2016-07-25 Ted Zlatanov * gnus-cloud.el (gnus-cloud-encode-data): Fix 'base64-gzip encoding. 2016-07-25 Andrew Hyatt Add warning to format-alist docs. */doc/lispref/files.texi (format-alist) Change documentation for format-alist to warn against file modifications when formatting, which leads to incorrect results. (Bug#5440) Changes suggested by Eli. 2016-07-25 Katsumi Yamaoka * lisp/gnus/mm-decode.el (mm-convert-shr-links): Preserve key bindings that shr adds (bug#23964). 2016-07-25 Michal Nazarewicz Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020) The regex engine tries to optimise Kleene star by avoiding backtracking when it can detect that star’s operand cannot match what follows it in the pattern. For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is the entire string. Literal digit one still present in the pattern will however not match the remaining empty string. Normally, backtracking would be performed trying a shorter match for the character class (namely ‘fo’ leaving ‘o’ in the string), but since the engine knows whatever would be put back into the string cannot possibly match literal digit one so no backtracking will be attempted. In the regexes of the form ‘[[:CC:]]*X’, the optimisation can be applied if the character class CC does not match character X. In the above example, this holds because digit one is not in alpha character class. This test is performed by mutually_exclusive_p function but it did not check class bits of a charset opcode. This resulted in an assumption that character classes do not match multibyte characters. For example, it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’. This, in turn, led to the aforementioned Kleene star optimisation being incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should match ‘☠’ but doesn’t as can be tested by executing (string-match-p "[[:graph:]]*☠" "☠") which should return 0 but instead yields nil. This issue affects any class witch matches multibyte characters, i.e. if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will fail to match ‘X’. * src/regex.c (executing_charset): A new function for executing the charset and charset_not opcodes. It performs check on the character taking into consideration existing bitmap, range table and class bits. It also advances the pointer in the regex bytecode past the parsed opcode. (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed. Code now included in executing_charset. (mutually_exclusive_p, re_match_2_internal): Changed to take advantage of executing_charset function. * test/src/regex-tests.el: New file with tests for the character class matching. 2016-07-25 Nicolas Petton Fix auto-reverting image-mode buffer (bug#21598) When auto-reverting an image buffer, `image-mode' is not called since `revert-buffer' is called with `preserve-modes' set to non-nil. * lisp/image-mode.el (image-after-revert-hook): Check if there is an image display property for the current buffer before updating it. 2016-07-24 Paul Eggert ‘signal’ no longer returns Although for decades ‘signal’ has been documented to not return, a corner case in the Lisp debugger causes ‘signal’ to return. Remove the corner case and adjust Emacs internals accordingly. An alternative would be to document the corner case, but this would complicate the Lisp API unnecessarily. (Bug#24047) * src/eval.c (signal_or_quit): New function, with most of the old contents of Fsignal. (quit): New function, which uses signal_or_quit and which might return. All keyboard-based callers of Fsignal (Qquit, Qnil) changed to use this new function instead. (Fsignal): Use signal_or_quit. Now _Noreturn. All callers changed. (xsignal): Move to lisp.h. * src/lisp.h (xsignal): Now an inline function, as it's now just an alias for Fsignal. 2016-07-24 Paul Eggert Require libgnutls unless --with-gnutls=no * configure.ac: Report an error if the gnutls library is missing, unless --with-gnutls=no is specified. 2016-07-23 Alan Mackenzie Fontify C++ parameter packs. This fixes debbugs #23610. * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New c-lang-defconsts/defvars. (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version. * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key. 2016-07-23 Alan Mackenzie Java Mode: Handle strings as case labels correctly. This fixes debbugs #23901. * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the Java value. 2016-07-22 Kaushal Modi Avoid repeated warnings while restoring desktop * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings when files are being opened during desktop restore. 2016-07-22 Eli Zaretskii Fix compilation warning in the MinGW build * nt/inc/ms-w32.h: Include stdint.h. (_execvp, execve): Provide prototypes. * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp, it is now in nt/inc/ms-w32.h. * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format mismatch. (sys_ctime): Remove, not used. 2016-07-22 Lars Ingebrigtsen Move read-multiple-choice to subr-x.el * lisp/faces.el (read-multiple-choice-face): Fix doc string. * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here from subr.el. * lisp/gnus/message.el (subr-x): Ditto. * lisp/net/nsm.el: Require subr-x for read-multiple-choice. read-multiple-choice doesn't need to be in the dumped Emacs, so move it to a less central file. 2016-07-22 Tino Calancha Update define-ibuffer-op doc string * lisp/ibuf-macs.el (define-ibuffer-op): Mention that BODY is evaluated with 'buf' bound to the actual marked buffer being processed. 2016-07-22 Tino Calancha Update define-ibuffer-op doc string * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX instead of refer the reader to the source code. Document arg BODY. 2016-07-21 Tino Calancha Fix shell-command[-on-region] doc strings * lisp/simple.el (shell-command, shell-command-on-region): Drop the sentence saying that the command may delete the buffer '*Shell Command Output*': the command never delete such buffer (Bug#23936). 2016-07-21 Mark Oteiza ;Revert ";Partially revert 2649105a" This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e. 2016-07-21 Mark Oteiza ;Partially revert 2649105a * lisp/textmodes/tex-mode.el (tex-common-initialization): Use setq-local to modify prettify-symbols-compose-predicate. 2016-07-21 Stefan Monnier * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE (struct byte_stack): Re-add `bottom'. (exec_byte_code): Initialize it. 2016-07-21 Tino Calancha Ibuffer: Use default output buffer for shell commands * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer '*Shell Command Output*', as command 'shell-command-file'. 2016-07-21 Tino Calancha Fix failing test * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in): Enable Font Lock mode in order to initialize 'char-property-alias-alist' (Bug#23954). 2016-07-21 Paul Eggert Fix use-after-close in connect_network_socket * src/process.c (connect_network_socket): Don’t use external_sock_fd after closing it. Problem found by Coverity Scan. 2016-07-21 Katsumi Yamaoka * lisp/net/shr.el (shr-fill-line): Preserve text properties in folded lines (bug#24034). 2016-07-20 Paul Eggert Fix lifetime bug in tzlookup * src/editfns.c (tzlookup): Fix storage lifetime bug when INTEGERP (zone) && settz. Problem found by Coverity Scan. 2016-07-20 Lars Ingebrigtsen Fix shr.el/image build problem (Bug#24035) * lisp/net/shr.el: Require image, since some builds seem to break without it (bug#24035). 2016-07-20 Ted Zlatanov Bring the Gnus Cloud package into working order. * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el. * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to simplify non-file data. (gnus-cloud-storage-method): New defcustom to support nil, Base64, Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to EPG if that's available, Base64+gzip otherwise. (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations interactive, defaults to enabled. (gnus-cloud-group-name): New variable for the Gnus Cloud group name. (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just "Version". (gnus-cloud-insert-data): Simplify and support :newsrc-data entries. (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various storage methods as per gnus-cloud-storage-method. (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker. (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data entries. (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to file and data handlers. (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data entries. (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and be more careful. (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file. (gnus-cloud-file-covered-p, gnus-cloud-all-files) (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group) (gnus-cloud-add-timestamps, gnus-cloud-available-chunks) (gnus-cloud-prune-old-chunks): Fix indentation. (gnus-cloud-timestamp): New function to make a standard Gnus Cloud timestamp. (gnus-cloud-file-new-p): Use it. (gnus-cloud-upload-all-data): Add interactive convenience function to upload all data. (gnus-cloud-upload-data): Make interactive; collect files and newsrc data separately; refresh Gnus Cloud group after insert. (gnus-cloud-download-all-data): Add interactive convenience function to download all data. (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version" marker and different storage methods. (gnus-cloud-host-server-p): New function to check if a server is the Gnus Cloud host. (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data. (gnus-cloud-host-acceptable-method-p): New function so other code can check if a server method can host the Gnus cloud. (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI. (gnus-cloud-method): Make this a defcustom and note how to set it. * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded keybindings under the `~' prefix. * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar) (gnus-server-cloud, gnus-server-cloud-host) (gnus-server-font-lock-keywords, gnus-server-insert-server-line) (gnus-server-toggle-cloud-method-server): Support Gnus Cloud synchronized servers and synchronization host server toggling (`i' and `I') and visual display. (gnus-server-toggle-cloud-method-server): Use gnus-cloud-host-acceptable-method-p. (gnus-server-toggle-cloud-method-server): Use custom-set-variables to set the gnus-cloud-method. Ask the user if it's OK to upload the data right now. * doc/misc/gnus.texi: Document Gnus Cloud package. 2016-07-20 Paul Eggert Remove CHECK_FRAME_FONT cruft from bytecode.c * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h. Remove some old ‘#if 0’ code. 2016-07-20 Paul Eggert Work around GCC bug 54561 in a better way The new approach is less selective, but also less intrusive on C code. * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered. * src/conf_post.h (NONVOLATILE): Remove. All uses removed. 2016-07-20 Paul Eggert Fix port to glibc 2.24 (pre-release) + ppc64 * src/callproc.c (child_setup): Use emacs_exec_file so that ASLR is enabled in the child process. * src/emacs.c: Move some personality details into sys/sysdep.c. Do not include . (main): Disable ASLR earlier, so that we don’t chdir twice. * src/lisp.h (disable_address_randomization): New decl. * src/sysdep.c (disable_address_randomization) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details here from emacs.c. (emacs_exec_file): New function. 2016-07-19 Alan Third Prevent bar cursor overwriting next glyph (bug#16856) * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width before setting final size. 2016-07-19 Eli Zaretskii Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil * src/insdel.c (adjust_markers_bytepos): New function. * src/lisp.h (adjust_markers_bytepos): Add prototype. * src/insdel.c (replace_range, replace_range_2): * src/editfns.c (Ftranspose_regions): Call adjust_markers_bytepos. (Bug#5131) * test/src/editfns-tests.el (transpose-test-reverse-word) (transpose-test-get-byte-positions): New functions. (transpose-ascii-regions-test) (transpose-nonascii-regions-test-1) (transpose-nonascii-regions-test-2): New tests. 2016-07-19 Katsumi Yamaoka Make gif animation work (bug#24004) * lisp/image.el (image-animate-timeout): Fix the logic that tests if an animation is too big (bug#24004). 2016-07-18 Stefan Monnier * lisp/simple.el (undo-amalgamate-change-group): New function * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it. (viper-set-complex-command-for-undo): Save current state with prepare-change-group. * lisp/emulation/viper-init.el (viper-undo-needs-adjustment) (viper-buffer-undo-list-mark): Remove. 2016-07-18 Noam Postavsky Keep w32 environment settings internal only * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the set_initial_environment call. This prevents Emacs' modifications to the environment from contaminating Vprocess_environment and Vinitial_environment (Bug #10980). * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal environment in as a fallback to Vprocess_environment. * test/src/callproc-tests.el (initial-environment-preserved): New Test. 2016-07-18 Nicolas Petton Better documentation for cl-reduce (bug#24014) * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means. 2016-07-17 Alan Third Remove separate pool for popup dialogs (bug#23856) * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to autorelease pool and Popdown_data struct. 2016-07-17 Mark Oteiza Use eldoc-documentation-functions * lisp/hexl.el (hexl-mode): * lisp/ielm.el (inferior-emacs-lisp-mode): * lisp/progmodes/cfengine.el (cfengine3-mode): * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode): * lisp/progmodes/python.el (python-mode): * lisp/simple.el (read--expression): Add buffer-locally to hook eldoc-documentation-functions. 2016-07-16 Noam Postavsky Optimize ucs-normalize.el compilation * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp): (quick-check-list-to-regexp): Use regexp-opt-charset instead of regexp-opt. * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single temp buffer for the whole loop. 2016-07-16 Noam Postavsky Add tests for ucs-normalize.el Some tests are marked as expected to fail. * test/lisp/international/ucs-normalize-tests.el: New tests. * admin/unidata/NormalizationTest.txt: Add data for tests. * admin/unidata/README: Add URL for NormalizationTest.txt. * admin/notes/unicode: Add note about running (and updating the data for) the new tests. Remove note about normalization being unsupported. 2016-07-16 Alan Third Fix cursor display (bug#23993) * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator. 2016-07-15 Paul Eggert Stop worrying about Alliant in bytecode.c * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler. 2016-07-15 Paul Eggert Remove BYTE_MAINTAIN_TOP It is no longer needed now that we assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove. All uses removed, and code simplified accordingly. (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they are always no-ops now. All uses removed. (MAYBE_GC): Remove. All uses replaced by maybe_gc, since it is now equivalent. 2016-07-15 Paul Eggert Remove now-inaccurate bytecode comments * src/bytecode.c: Remove comments that are no longer accurate. Most of these are actually old ChangeLog entries. 2016-07-15 Paul Eggert Port to glibc 2.24 (pre-release) + ppc64 Inspired by a suggestion by Florian Weimer in: https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE): Rename from HAVE_PERSONALITY_LINUX32, and check for ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32. All uses changed. * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the flag ourselves. Just set that flag, rather than also setting the persona. When doing it, avoid functions like putenv that may allocate memory. 2016-07-14 Mark Oteiza Revert "Add a couple cells to lisp-prettify-symbols-alist" This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9. 2016-07-14 Stefan Monnier * lisp/simple.el (shell-command): Add save-match-data comment 2016-07-14 Alan Mackenzie CC Mode: correct incorrect invocation of parse-partial-sexp. Fixes bug #23944. * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of an invocation of parse-partial-sexp 'syntax-table, not the fourth. 2016-07-14 Andreas Schwab Fix configure summary for hybrid malloc configurations * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no, parenthesize value of GNU_MALLOC_reason. 2016-07-14 Stephen Berman Fix delete-duplicate-lines * lisp/sort.el (delete-duplicate-lines): Delete duplicate first line when operating backward (bug#23863). 2016-07-14 Andreas Schwab Remove unused SHEAP_OBJ * Makefile.in (base_obj): Remove $(SHEAP_OBJ). 2016-07-13 Katsumi Yamaoka * lisp/gnus/mm-decode.el (mm-convert-shr-links): Use shr-image-map instead of shr-map (bug#23964). 2016-07-13 Stefan Monnier * lisp/mouse.el (mouse): Consolidate group definition here * lisp/cus-edit.el (mouse): Remove both group definitions. 2016-07-13 Chris Feng Include versioned preloaded libraries in `package--builtin-versions' * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not exclude preloaded libraries or remove entries generated for them. (autoload-generate-file-autoloads): Do not generate autoload statements for preloaded libraries. 2016-07-13 Paul Eggert Omit unnecessary #includes from xwidget.c * src/xwidget.c: Remove #include directives that are not needed. Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this file is compiled only if the X interface is available. 2016-07-13 Paul Eggert Port xwidget.c to GCC 6 with --enable-gcc-warnings * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay): Adjust to pacify GCC. Add a couple of FIXME comments, suggesting possible bugs found by GCC. 2016-07-12 Tino Calancha Escape meta chars in commands processed by shell * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces in all commands to be passed to a shell (Bug#23959). 2016-07-12 John Wiegley Revert "Cleanup tooltips" This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921. I am reverting this change because it was applied without prior discussion on emacs-devel, and has been found to break the NS port. It needs more testing and review before it should be applied here. 2016-07-12 Stefan Monnier * lisp/emacs-lisp/cl-macs.el (cl--prog): New function (cl-prog, cl-prog*): New macros. 2016-07-12 Stefan Monnier * cl-generic.el (cl-defmethod): Make docstring dynamic * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic. (cl--generic-make-defmethod-docstring): New function for that. (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly. (cl-generic-define-method, cl--generic-describe): Change `load-history' format of cl-defmethods, so as not to confused methods with equal specializers but different qualifiers. * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings. 2016-07-12 Eli Zaretskii Don't install keyboard hook when debugged on MS-Windows * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard hook if we are being debugged. This avoids hosing the debugger, because the hook is global, and is called in the context of the thread which installed it, and that thread is stopped when GDB has control. Reported by Fabrice Popineau . 2016-07-12 Alan Mackenzie Amend CC Mode to handle big C++ raw strings correctly. Problems were caused by such a string spanning jit-lock chunks, and by a flaw in the +-500 bytes boundaries imposed for macros. * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte macro boundaries here. (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte lower boundary. Fix the check on the upper boundary. * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting point already being within a raw string. * lisp/progmodes/cc-engine.el (c-raw-string-pos) (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings): Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility with other Emacsen. 2016-07-12 Stephen Berman * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group. 2016-07-11 Dmitry Antipov Cleanup tooltips * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls. * src/frame.h (struct frame): New bitfield to indicate tooltip frame. (FRAME_TOOLTIP_P): New macro. * src/frame.c (make_frame): Mark new frame as regular frame by default. (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P. (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer' and 'Qtooltip_parameters' instead. * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl. * src/gtkutil.c (xg_hide_tip): New function. (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed. * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip. * src/nsfns.c (toplevel): Remove 'tip_frame' leftover. * src/w32fns.c (unwind_create_tip_frame): Remove. (w32_display_monitor_attributes_list) (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P. (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'. (x_create_tip_frame): Use do_unwind_create_frame. Mark new frame as a tooltip frame and record it using appropriate display info. (x_hide_tooltip): Add frame arg. (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among base frame parameters, store tooltip hide timer among tooltip frame parameters. (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default. (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'. * src/w32term.c (w32_read_socket): Extract tooltip window id from per-display data. Use FRAME_TOOLTIP_P where appropriate. (x_new_font): Use FRAME_TOOLTIP_P. (x_free_frame_resources): Reset pointer to tooltip frame. * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'. * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars): Use FRAME_TOOLTIP_P. * src/xfns.c (x_make_monitor_attribute_list) (Fx_display_monitor_attributes_list): Likewise. (unwind_create_tip_frame): Remove. (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'. (x_create_tip_frame): Use do_unwind_create_frame. Mark new frame as a tooltip frame and record it using appropriate display info. (x_hide_tooltip): Add frame arg. (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among base frame parameters, store tooltip hide timer among tooltip frame parameters. To hide GTK system tooltip, use timeout hooked into GTK event loop. (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default. (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'. * src/xterm.c (handle_one_xevent): Extract tooltip window id from per-display data. Use FRAME_TOOLTIP_P where appropriate. (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P. (x_free_frame_resources): Reset pointer to tooltip frame. * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'. (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'. 2016-07-11 Stefan Monnier * src/fns.c (syms_of_fns): Leave `features' lexically scoped 2016-07-11 Mario Lang Test mapcan * test/src/fns-tests.el (fns-tests-mapcan): New test. 2016-07-11 Stefan Monnier Prevent to apply funcall on t * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of 'ediff-after-quit-hook-internal' hook (Bug#23933). 2016-07-11 Tino Calancha Ignore angle mode while simplifying units * lisp/calc/calc-forms.el (math-to-hms, math-from-hms): Ignore value of 'calc-angle-mode' when 'math-simplifying-units' is non-nil (Bug#23889). * lisp/calc/calc-math.el (math-to-radians, math-from-radians) (math-from-radians-2, math-to-radians-2): Idem. 2016-07-11 Eli Zaretskii Fix display of composed characters * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in iteration through composition glyphs. (Bug#23938) 2016-07-11 Paul Eggert Fix composition bug caused by off-by-1 typo * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when computing composition glyph (Bug#23938). 2016-07-10 Tino Calancha Dired always read file system * dired.el (dired-always-read-filesystem): Add new option. (dired-mark-files-containing-regexp): Use it (Bug#22694). * doc/emacs/dired.texi: Mention it in the manual. * test/lisp/dired-tests.el (dired-test-bug22694): Add test. ;* etc/NEWS: Add entry for this change. 2016-07-10 YAMAMOTO Mitsuharu * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing. 2016-07-10 Tino Calancha Avoid 'unused var' 'not left unused var' warnings * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'. Rename used var '_buffer' to 'cbuffer'. * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark' to cmark'. 2016-07-10 Tino Calancha * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings 2016-07-10 Michael Albinus Add a note how to use `tramp-own-remote-path' * doc/misc/tramp.texi (Inline methods, External methods) (Remote shell setup, Android shell setup) (Frequently Asked Questions, Frequently Asked Questions): Use @command and @samp consequently. (Remote programs): The remote shell must support the -l argument, in order to use `tramp-own-remote-path'. (Bug#23914) 2016-07-10 Alan Third Remove App Nap setting from Info.plist (bug#22993) * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since it doesn't actually disable app nap. 2016-07-09 Mario Lang An efficient built-in mapcan A built-in version of `mapcan' avoids consing up (and GC'ing) the intermediate list. * src/fns.c (Fmapcan): New built-in. (syms_of_fns): Define. * lisp/emacs-lisp/cl.el (mapcan): Remove defalias. * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan' if only one sequence is provided. * lisp/progmodes/hideif.el (hif-delimit): * lisp/dired-aux.el (dired-do-find-regexp): * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of `cl-mapcan'. * lisp/woman.el (eval-when-compile): Require 'cl-lib only when compiling. * lisp/mouse.el (mouse-buffer-menu-map): * lisp/net/pop3.el (pop3-uidl-dele): * lisp/progmodes/gud.el (gud-jdb-build-source-files-list): * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results): * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns): * lisp/gnus/nnmail.el (nnmail-split-it): * lisp/gnus/gnus-sum.el (gnus-articles-in-thread): * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses): * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'. 2016-07-09 Tino Calancha Detect aliases to built-in functions * lisp/help-fns.el (describe-function-1): Check for aliases defined with (defalias alias (symbol-function built-in)) (Bug#23887). * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as failing this test. 2016-07-09 Michael Albinus Avoid recursive detection of remote uid and gid in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress): New variable. (tramp-gvfs-maybe-open-connection): Use it. * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes): Reorder test. 2016-07-09 Jürgen Hötzel Wrap around error in coreutil's ls * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch "--quoting-style=literal" if remote host supports quoting style. Recent versions of coreutils changed default quoting style to "--quoting=shell-escape". 2016-07-09 Eli Zaretskii Minor tweaks of copying text properties when padding strings * src/editfns.c (styled_format): Don't include padding on the left in the properties at the beginning of the string. (Bug#23897) * test/src/editfns-tests.el (format-properties): Add tests for faces when the string is padded on the left or on the right. 2016-07-08 Mario Lang No need to require the same feature twice. * lisp/dired-aux.el (require 'cl-lib): Remove. 2016-07-08 Mark Oteiza Turn on lexical binding * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew. (secrets-search-items, secrets-create-item): Use append. (secrets-show-secrets): Remove unused binding. (secrets-expand-item, secrets-tree-widget-after-toggle-function): Ignore unused arguments. 2016-07-08 Mark Oteiza Derive secrets-mode from special-mode * lisp/net/secrets.el: Remove top-level secrets-mode hack. (secrets-mode-map): New variable. Add key bindings to n and p for navigating lines. (secrets-mode): Derive from special-mode. Remove keymap code and initialization code. Do not record undo information. Make secrets-show-collections the local revert-buffer-function. (secrets-show-collections): Change signature to satisfy revert-buffer. 2016-07-08 Mark Oteiza Add a couple cells to lisp-prettify-symbols-alist * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add "sqrt" and "not". 2016-07-08 Michael Albinus Detect remote uid and gid in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name) (tramp-gvfs-handler-mounted-unmounted) (tramp-gvfs-connection-mounted-p): Make "default-location" a connection property. (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns. (tramp-gvfs-maybe-open-connection): Use them. 2016-07-08 Eli Zaretskii Yet another fix for copying properties by 'format' * src/textprop.c (extend_property_ranges): Accept an additional argument OLD_END, and only extend the end of a property range if its original end is at OLD_END; all the other ranges are left intact. (Bug#23897) * src/editfns.c (styled_format): Pass the original length of the string to 'extend_property_ranges'. * src/intervals.h (extend_property_ranges): Adjust prototype. * test/src/editfns-tests.el (format-properties): Add tests for bug#23897. 2016-07-08 Stephen Berman Allow selecting region with mouse to move point to beginning * etc/NEWS: Mention new user option `mouse-select-region-move-to-beginning'. * doc/emacs/frames.texi (Mouse Commands): Add cross-reference to the following. (Word and Line Mouse): Describe how double-clicking mouse-1 to activate region and `mouse-select-region-move-to-beginning' affect point. * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom. (mouse-set-point): Use it. (Bug#23478) 2016-07-08 Stephen Berman Fix menu bar breakage * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting to prevent void variable errors, and fix typo (bug#23918). 2016-07-08 Tino Calancha Copy buffer names to kill ring * ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command. * lisp/ibuffer (ibuffer-mode-map): Bound it to 'B'. ;* etc/NEWS: Add entry for this new feature. 2016-07-07 Tino Calancha Remove just input mark * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove just MARK. 2016-07-07 Tino Calancha Ibuffer change marks * lisp/ibuffer.el (ibuffer-change-marks): New command. (ibuffer-mode-map): Bind it to '* c'. (ibuffer-mode-groups-popup): Update menus. (ibuffer-mode): Update mode doc. 2016-07-07 Alan Third Prevent NS event loop being re-entered (bug#11049) * nsterm.m (ns_read_socket, ns_select): Return -1 if already in event loop instead of aborting. 2016-07-07 Alan Third Fix some deprecated functions * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace convertBaseToScreen with convertRectToScreen. * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in OS X 10.2, and always seems to return nil. 2016-07-07 Aaron Jensen (tiny change) Disable App Nap (bug#22993) * nextstep/templates/Info.plist.in: Insert AppNap disable code. 2016-07-07 Michael Albinus Fix an error in Tramp for rsync * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Make it work for "rsync". (tramp-make-copy-program-file-name): Apply `directory-file-name'. 2016-07-07 Tino Calancha Ibuffer: Mark locked buffers * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun. (ibuffer-mark-by-locked): New command. (ibuffer-mode-map): Bind it to '% L'; update menus. (ibuffer-mode): Update mode doc. ;* etc/NEWS: Add NEWS entry for these changes and previous two commits. 2016-07-07 Tino Calancha * lisp/ibuffer.el: Add face for locked buffers * lisp/ibuffer.el: Add mark for locked buffers ;* etc/NEWS (Ibuffer): Update entry according with last commit 2016-07-07 Tino Calancha Remove duplicate binding * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp' just bound to '% g'. As suggested in: http://lists.gnu.org/archive/html/emacs-devel/2016-07/msg00165.html 2016-07-07 Tino Calancha Ibuffer: Drop needless binding * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only' already bound to 't' inside 'ibuffer-set-mark'. 2016-07-07 Phillip Lord Run tests from non-byte compiled files * test/Makefile.in: Eval non-byte-compiled files for tests. 2016-07-06 Mark Oteiza Replace eldoc-documentation-function with a hook * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook. (eldoc-documentation-function): Make into obsolete alias. (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument): (eldoc-argument-case, global-eldoc-mode): Update docstrings. (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success on eldoc-documentation-functions. (eldoc-supported-p): New function. (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p. * etc/NEWS: Mention eldoc-documentation-functions. * doc/lispref/modes.texi: Update reference. 2016-07-06 Simen Heggestøyl Complete "initial" and "unset" in CSS mode * lisp/textmodes/css-mode.el (css--complete-property-value): Make "initial" and "unset" completion candidates for all CSS properties, just like "inherit". * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property-value): Update test to reflect the above change. 2016-07-06 Michael Albinus * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo. 2016-07-06 Paul Eggert Simplify rfc1345.el a bit * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII that would no longer parse. Replace control characters with escapes in character constants. Omit unnecessary \ after ?. This does not change behavior. 2016-07-05 Dmitry Antipov Prefer 'frame-parameter' where it is expected to be a bit faster * lisp/international/mule-diag.el (mule-diag): * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): * lisp/mouse.el (mouse-drag-line, font-menu-add-default): * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar): * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'. 2016-07-05 Dmitry Antipov Reduce consing caused by vertical motion commands * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the parameters frequently requested by calls to 'next-line' and 'previous-line'. 2016-07-05 Michael Albinus Make all Tramp tests pass for "gdrive" method * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory) * lisp/net/tramp-compat.el (tramp-compat-copy-directory) (tramp-compat-delete-directory): * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory): Use `directory-files-no-dot-files-regexp'. * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted) (tramp-gvfs-send-command): Call `tramp-flush-file-property' in case of problems. * test/lisp/net/tramp-tests.el (tramp--instrument-test-case): Adapt docstring. (tramp-test14-delete-directory): Make further tests. 2016-07-05 Eli Zaretskii Fix redisplay with window-start on continuation lines * src/xdisp.c (pos_visible_p): Return false if the window starts after CHARPOS. (compute_window_start_on_continuation_line): Don't return window-start position that is after point in the buffer, as the callers don't expect this to happen, and will generally display an empty window with the cursor in its middle. (Bug#23871) 2016-07-05 Tino Calancha Add :expected-result :failed for unfixed bug test * test/lisp/help-fns-tests.el (help-fns-test-bug23887): 2016-07-05 Tino Calancha * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'. 2016-07-04 Michal Nazarewicz Don’t create unnecessary marker in ‘delete-trailing-whitespace’ * lisp/simple.el (delete-trailing-whitespace): If END argument is nil, there is no need for the end-marker to be created. 2016-07-04 Michal Nazarewicz Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace * lisp/simple.el (delete-trailing-whitespace): Set newline’s character syntax to non-whitespace so that ‘\s-’ regular expression does not match it. This simplifies the loop slightly since a simple ‘\s-+$’ can be used and as a consequence ‘line-beginning-position’ function does not need to be called any longer. Furthermore, when newline has whitespace syntax, ‘\s-$’ regular expression ends up matching empty lins since ‘\s-’ matches newline characetr of proceeding line. This leads to needless loop iterations. Since previous change to ‘delete-trailing-whitespace’ already introduced ‘with-syntax-table’, take advantage of it and also overwrite newline’s character syntax. 2016-07-04 Michal Nazarewicz Make ‘delete-trailing-whitespace’ delete spaces after form feed * lisp/simple.el (delete-trailing-whitespace): Treat form fead as a non-whitespace character (regradless of whether it’s character syntax is whitespace) and delete any whitespace following it instead of leaving lines with form feeds completely unchanged. I.e. a line like "\f " will now became "\f". 2016-07-04 Dmitry Antipov Cleanup XEditRes hack * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be linked with -lXmu. This should work with any non-ancient Xmu library. * xfns.c (toplevel): Remove old cruft. (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES. * xterm.c (toplevel): Remove old cruft. (handle_one_xevent): Use X_TOOLKIT_EDITRES. * xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES. 2016-07-04 Michael Albinus Add Google Drive support to Tramp * doc/misc/tramp.texi: Add `gdrive' method. * doc/misc/trampver.texi: * lisp/net/trampver.el: Change version to "2.3.1-pre". * etc/NEWS: Add Tramp connection method "gdrive". * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) : Add. (tramp-default-user-alist, tramp-default-host-alist): Add rule for "gdrive". (tramp-gvfs-file-attributes): Add "name", remove "standard::icon". (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp. (tramp-gvfs-get-directory-attributes): Improve loop. Use "standard::display-name" as file name, if available. (tramp-gvfs-handle-file-name-all-completions): Simplify. (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted) (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec): Map between "gdrive" and "google-drive". * lisp/net/tramp.el (tramp-call-process): Do not signal error. * test/lisp/net/tramp-tests.el (tramp--instrument-test-case): Do not enable `tramp-message-show-message'. (tramp-test13-make-directory, tramp-test14-delete-directory): Do not specify error type. 2016-07-04 Tino Calancha Calc: Update mode line after change mode * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'. 2016-07-03 Mark Oteiza * lisp/simple.el (save-mark-and-excursion): Add declare forms. 2016-07-03 Paul Eggert Re-fix open-network-stream responsiveness Problem reported by Christer Ekholm (Bug#23864). * src/process.c (wait_reading_process_output): Further fix for typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when wait == INFINITY and got_output_end_time is invalid. See: http://bugs.gnu.org/23864#20 2016-07-03 Alan Mackenzie Remove redundant forms from CC Mode for faster fontification * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of the "main" cond form in the function, which have been redundant since the extraction of c-font-lock-cut-off-declarators from the function on 2016-06-15/16. 2016-07-03 Alan Mackenzie Speed up CC Mode fontification with less accurate functions extending region * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators) (c-font-lock-enclosing-decls) * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of c-beginning-of-decl-1 with less accurate invocations of c-syntactic-skip-backwards to speed up fontification. 2016-07-03 Tino Calancha Ibuffer: unmark all buffers without confirmation * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680). (ibuffer-mouse-popup-menu): Use it. (ibuffer-mode): Update mode doc. (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'. Rebind 'ibuffer-do-replace-regexp' to 'r'. 2016-07-03 Paul Eggert Fix open-network-stream responsiveness Problem reported by Constantin Kulikov (Bug#23684). * src/process.c (wait_reading_process_output): Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when wait == INFINITY and got_output_end_time is invalid. In this case the code should break, not continue. 2016-07-02 Tino Calancha Ibuffer: Mark buffers by content * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command. (ibuffer-never-search-content-name): New option. (ibuffer-never-search-content-mode): Idem. (ibuffer-mark-by-content-regexp): Use them (Bug#23734). * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'. (ibuffer-mode): Update mode documentation. 2016-07-02 Tino Calancha ibuffer-copy-filename-as-kill verbosity increase * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Use shorter name, result, for a local bound var. Show the string result in the echo area. 2016-07-02 Eli Zaretskii Fix cursor positioning on TTY frames after stretch glyph * src/term.c (append_glyph, append_composite_glyph) (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p members of the produced 'struct glyph'. Fixes cursor positioning on the first character after a stretch glyph produced from line-prefix, wrap-prefix, etc. on TTY frames. 2016-07-02 Eli Zaretskii Fix vertical-movement in buffers with wrap-prefix * src/indent.c (Fvertical_motion): Zero the current_y coordinate whenever we zero the vpos vertical position of the iterator. * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and wrap-prefix regardless of whether the current Y coordinate is inside the window dimensions. (Bug#23879) 2016-07-02 Eli Zaretskii Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from FACE_OPT_FROM_ID; all callers changed. * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not FACE_FROM_ID_OR_NULL, as the resulting face is immediately dereferenced. (fill_gstring_glyph_string): Call FACE_FROM_ID, not FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced when the glyph string is drawn. (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced in fill_composite_glyph_string. (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since the function and its caller can cope with that situation. Conflate 3 tests of missing face or font into just one. * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these functions can cope with that situation. (lookup_derived_face): Don't call FACE_FROM_ID if the result will not be used. * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'. 2016-07-01 Mark Oteiza * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote. 2016-07-01 Stefan Monnier * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace i.e. rename from auto-source--symbol-keyword. 2016-07-01 Dmitry Antipov Avoid yet another possible NULL pointer dereference found by GCC 6.1.1 * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by get_widget_info. 2016-06-30 Alan Mackenzie CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote This applies to applying or removing syntax-table text properties in raw strings which affect the stringiness of a piece of text. This fixes the bug reported in http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00695.html. * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new defsubst. (c-invalidate-state-cache-1): Call new function in place of inline manipulation. (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the semi-nonlit cache when pertinent syntax-table text properties get applied to the text. 2016-06-29 Dmitry Antipov Minor tweaks to openp * src/lread.c (openp): Move invariant code out of the loop and thus avoid redundant calls to memcpy. Adjust comments. 2016-06-29 Dmitry Antipov Simplify handling of frame parameters * src/frame.c (x_set_frame_parameters): Avoid extra loop processing foreground color, background color and font parameters. Adjust comments. 2016-06-29 Dmitry Antipov Cleanup around mature character manipulation functions * lisp/international/mule-diag.el (decode-codepage-char): Remove. * lisp/ldefs-boot.el (toplevel): Adjust accordingly. * lisp/subr.el (toplevel): Do not advertise calling conventions for 'decode-char' and 'encode-char'. * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg. 2016-06-29 Alan Mackenzie Fix C-M-a in a C function finding the start of a macro preceding it. Also amend some pertinent documentation. This fixes bug #23818. * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a virtual semicolon at a place where we check for other types of statement ends. * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the doc string the bit saying that the variable is a prototype and liable to change. * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring macros with semicolon can prevent C-M-a missing the beginning of defun. 2016-06-28 Dmitry Antipov Avoid possible NULL pointer dereference found by GCC 6.1.1 * src/xfns.c (x_get_monitor_attributes_xrandr): Always check the value returned by XRRGetOutputInfo. 2016-06-28 Tino Calancha Dired recognize dirs when file size in human units * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size' to match when Dired displays the allocated file size column in human readable units (Bug#22255). 2016-06-28 Mark Oteiza Fix breakage from previous change * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face. 2016-06-28 Mark Oteiza Fix breakage from previous change. * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face. 2016-06-28 Eli Zaretskii Add tests for copying properties by 'format' * test/src/editfns-tests.el (format-properties): New test. 2016-06-28 Eli Zaretskii Fix copying properties in 'format' when it produces padding * src/textprop.c (extend_property_ranges): Correct range extension when the new end is beyond the old end. (Bug#23859) 2016-06-27 Alan Third Enable dividers in NS (bug#22973) src/nsfns.m: Add colour settings functions to ns_frame_park_handlers. src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the attempt to set the colour. src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as above, although I didn't see any errors. 2016-06-27 Lars Magne Ingebrigtsen Fix the prefix action of shr-copy-url * lisp/net/shr.el (shr-copy-url): Make the command really copy the image url if given a prefix. 2016-06-27 Lars Magne Ingebrigtsen New functions svg-text and svg-remove * doc/lispref/display.texi (SVG Images): Document svg-remove. * doc/lispref/display.texi (SVG Images): Document svg-text. * lisp/svg.el (svg-remove): New function. (svg-text): New function. 2016-06-27 Lars Magne Ingebrigtsen Add new function dom-remove-node * doc/lispref/text.texi (Document Object Model): Document dom-remove-node. * lisp/dom.el (dom-remove-node): New function. 2016-06-27 Lars Magne Ingebrigtsen Add a new function `svg-embed' * doc/lispref/display.texi (SVG Images): Document `svg-embed'. * lisp/svg.el (svg-embed): New function. (svg--image-data): Ditto. 2016-06-27 Eli Zaretskii * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors. 2016-06-27 Eli Zaretskii Fix 'move-to-window-line' when EOB is on last screen line * src/window.c (displayed_window_lines): Fix an off-by-one error when the bottom of the last display line is exactly at window's last pixel. Remove kludgey fix for TTY frames that is no longer needed. (Bug#15760) (Fmove_to_window_line): Doc fix. * doc/lispref/positions.texi (Screen Lines): Clarify and make more accurate the documentation of 'move-to-window-line'. 2016-06-27 Alan Mackenzie Amend a cache so that typing into C++ raw strings has no undue delay. Also amend the code so that low-level searches to the end of literals are done only when these positions get used. * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new c-literal-start instead of c-literal-limit. (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that it stores details of the literal at a point, rather than merely points outside of literals. (c-state-semi-pp-to-literal, c-state-full-pp-to-literal) (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos) (c-parse-ps-state-below, c-literal-start): New functions. (c-state-semi-safe-place): Removed. (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end. (c-literal-limits, c-determine-limit-get-base): consequential amendments. (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos) (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals. * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans to end of literals. * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of literals. * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun) (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals. 2016-06-26 Dmitry Gutov Also handle escaping when string begins with a quote * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes): Handle quoting of the first character in the string. * test/lisp/progmodes/ruby-mode-tests.el (ruby-toggle-string-quotes-quotes-correctly): Update. 2016-06-26 Sriram Thaiyar (tiny change) Fix quote escaping in ruby-toggle-string-quotes * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes): Change logic to quote based on the current quote of the string. * test/lisp/progmodes/ruby-mode-tests.el (ruby-toggle-string-quotes-quotes-correctly): Add test. 2016-06-26 Noam Postavsky Fix test-completion with completion-regexp-list * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil completion-regexp-list (Bug #23533). 2016-06-26 Paul Eggert Try other addresses when connecting to multihomed Problem reported by Juliusz Chroboczek (Bug#17976) and by Artur Malabarba (Bug#23620). Patch from a suggestion by Andreas Schwab in: http://bugs.gnu.org/17976#39 This patch is for non-MS-Windows platforms. I don't know the situation on MS-Windows. * src/process.c (connecting_status): New function, for (connect . ADDRINFOS). (connect_network_socket, check_for_dns, wait_for_socket_fds) (wait_while_connecting, wait_reading_process_output, status_notify): Use it. (decode_status, Fmake_network_process): Support (connect . ADDRINFOS) status. (connect_network_socket) [!WINDOWSNT]: If the connection failed and there are other addresses to try, do not signal an error; instead, loop around to try the next address. (wait_reading_process_output): Advance to the next address if there are multiple addresses and the first remaining address failed. * src/process.h (struct Lisp_Process.status): Adjust comment to describe (connect . ADDRINFOS). 2016-06-26 Paul Eggert Fix GNUC_PREREQ for GCC 2.8.1 etc. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00608.html * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC 2.8.1 (1998), which come before GCC 3.0 and which have nonzero patchlevel numbers. 2016-06-26 Eli Zaretskii Don't set 'bidi-paragraph-direction' in 'ansi-term' * lisp/term.el (ansi-term): Remove unnecessary setting of 'bidi-paragraph-direction'. The underlying problem is solved in bidi.c by changing the regexps that define the paragraph beginning and end. (Bug#20611) 2016-06-26 Michael Albinus Sync with Tramp 2.3.0 * doc/misc/trampver.texi: * lisp/net/trampver.el: Change version to "2.3.0". 2016-06-26 Paul Eggert Fix GNUC_PREREQ off-by-1 typo Problem reported by Martin Rudalics in: http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00587.html * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]: Fix < vs <= typo. 2016-06-26 Michael Albinus Fix some oddities in Tramp's rsync and smb methods * lisp/net/tramp-sh.el (tramp-methods) : Add "-p" and "-s" arguments. (tramp-do-copy-or-rename-file-out-of-band): Call `file-name-directory' also for remote NEWNAME. * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory): Do not skip for tramp-smb.el. Test als COPY-CONTENTS case. (tramp-test24-file-name-completion): Improve check for hostname completion. (tramp--test-rsync-p): New defun. (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): Skip for "rsync". * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory): Check also for CIFS capabilities. 2016-06-26 Ury Marshak (tiny change) Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841) * src/nsfns.m (x_set_internal_border_width): Replace assignments to FRAME_INTERNAL_BORDER_WIDTH. 2016-06-25 Leo Liu Deprecations (bug#23850) * lisp/subr.el (string-to-unibyte, string-as-unibyte, string-to-multibyte, string-as-multibyte): Make obsolete. 2016-06-25 Tino Calancha Do not prompt twice to save a buffer * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824). 2016-06-25 Alan Third Move text line right when in box (bug#23755) * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take CHAR_GLYPH specific code and move glyphs right if within a box. (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above function. 2016-06-25 Paul Eggert Merge from origin/emacs-25 0377fe2 ; Spelling fixes f253695 Update docs for `customize-mode' 4395aaa Fix documentation of 'assoc-string' and 'compare-strings' ab0ebb9 ; Only load .elc file in tests. a98aa02 Error on multibyte characters in HTTP request ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th... 8297331 ; Revert "Ensure undo-boundary after insert-file-contents." dc5e65b Unset GIT_DIR when calling Git commands 6cdd8f7 Ensure undo-boundary after insert-file-contents. 4793f5f Clarify documentation of 'line-spacing' and 'line-height' 5f37572 Fix removal of variables from process-environment e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file... db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add... # Conflicts: # doc/lispref/modes.texi # lisp/gnus/mm-decode.el 2016-06-25 Mark Oteiza Teach net-utils more iproute2 and nl80211 tools * lisp/net/net-utils.el (iwconfig-program): Add iw(8). (iwconfig-program-options): Add "dev" argument for iw. Another useful option is "phy"; beyond that one needs to know the interface name. (netstat-program): Add ss(8). (route-program): Add ip(8). (route-program-options): Add "route" argument for ip. 2016-06-24 Leo Liu Use use-region-p in prolog.el * lisp/progmodes/prolog.el (region-exists-p): Remove. * lisp/progmodes/prolog.el (prolog-edit-menu-runtime, prolog-edit-menu-insert-move): Use use-region-p. 2016-06-24 Leo Liu Remove compatibility with Emacs 24.3 in octave-mode * lisp/progmodes/octave.el: Clean up and remove compatibility with Emacs 24.3. 2016-06-24 Alan Mackenzie Ensure hack-local-variables is run in a fundamental mode buffer. This fixes bug #23827. * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer gets set to that mode, so that `run-mode-hooks', and thus `hack-local-variables' get run. 2016-06-24 Tino Calancha Fix caller to ediff-setup * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820. 2016-06-24 Alan Mackenzie Implement ' separators in C++ integer literals. * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert c-before-after-change-digit-quote into the C++ value. (c-before-font-lock-functions): Insert c-depropertize-new-text into the values for all languages. Insert c-before-after-change-digit-quote into the C++ value. * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in c-save-buffer-state. (c-depropertize-new-text, c-before-after-change-digit-quote): New functions. 2016-06-24 Paul Eggert Update from gnulib This incorporates: 2016-06-24 intprops: port better to GCC 7 2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h: Copy from gnulib. 2016-06-24 Martin Rudalics Remove two uses of 'min' in Fwindow_text_pixel_size * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since it calls move_it_to twice. Suggested by Eli Zaretskii. 2016-06-23 Paul Eggert Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID, since it is intended to be used only when it returns a non-null pointer, and here the pointer might be null. (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons. 2016-06-23 Mark Oteiza Remove some more face aliases obsoleted in 22.1 * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face, eshell-ls-executable-face, eshell-ls-readonly-face, eshell-ls-unreadable-face, eshell-ls-special-face, eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face, eshell-ls-product-face, eshell-ls-clutter-face): Remove. * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove. (isearch-lazy-highlight-update): Use face symbol. * lisp/net/sieve-mode.el (sieve-control-commands-face, sieve-action-commands-face, sieve-test-commands-face, sieve-tagged-arguments-face): Remove. (sieve-font-lock-keywords): Use non-obsolete faces. * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove. (sh-get-indent-info, sh-prev-line): Use face symbol. * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1): Use non-obsolete face. (tex-math-face, tex-verbatim-face): Remove. (tex-font-lock-syntactic-face-function): Use face symbols. 2016-06-23 Mark Oteiza Remove some face aliases obsoleted in 22.1 * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id): * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face): * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face, Info-title-4-face, info-menu-5): * lisp/obsolete/old-whitespace.el (whitespace-highlight-face): * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face): * lisp/progmodes/make-mode.el (makefile-space-face): * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove. (texinfo-font-lock-keywords): Use texinfo-heading face. * lisp/vc/add-log.el (change-log-date-face, change-log-name-face, change-log-email-face, change-log-file-face, change-log-list-face, change-log-conditionals-face, change-log-function-face, change-log-acknowledgement-face): * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face, diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face, diff-changed-face, diff-function-face, diff-context-face, diff-nonexistent-face): Remove. (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face symbols. (diff-hunk-file-names): Fix comment. (diff-refine-change): Remove. (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use non-obsolete face. * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove. (log-view-font-lock-keywords): Use non-obsolete face names. * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face, cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face): * lisp/wid-edit.el (widget-documentation-face, widget-button-face, widget-field-face, widget-single-line-field-face, widget-inactive-face, widget-button-pressed-face): * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face, woman-addition-face): Remove. 2016-06-23 Eli Zaretskii * lisp/international/characters.el (standard-case-table): Improve last change. 2016-06-23 Eli Zaretskii Improve results of 'upcase' for characters with title-case * lisp/international/characters.el (standard-case-table): Swap the order of some lines, to have 'upcase' return the upper-case variant, not the title-case, for some characters whose lower-case map to the same codepoints. (Bug#23833) 2016-06-23 Alan Mackenzie Make typing into incomplete C++ raw strings work, and make it work fast enough * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal): Put `save-match-data' around calls to `looking-at' to enable the use of the match data in higher level functions. * lisp/progmodes/cc-fonts.el (c-font-lock-declarations) (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a limit to speed up handling of C++ raw strings. 2016-06-23 Eli Zaretskii Fix handling of LWINDOW key on MS-Windows * src/w32fns.c (funhook): Correct a typo which broke handling of the LWINDOW key. (Bug#23830) 2016-06-22 Eli Zaretskii Update Unicode data files from Unicode 9.0.0 * admin/unidata/copyright.html: * admin/unidata/BidiBrackets.txt: * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just released. 2016-06-22 Eli Zaretskii Fix test for whether the '.el' file is newer than '.elc' * src/lread.c (Fload): Don't overwrite the last character of the file name in FOUND with 'c', unless the file name ended in ".elc" to begin with. Don't treat empty files as byte-compiled. See http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00463.html for more details of the problem this caused. 2016-06-22 Eli Zaretskii Fix 'insert-file-contents' when REPLACE is non-nil * src/fileio.c (maybe_move_gap): New function to move the gap to the end of a buffer, if it isn't there already. (Finsert_file_contents): Call 'maybe_move_gap' before using conversion_buffer's text as a C 'char' array. (Bug#23659) * src/coding.c (decode_eol): Compute the byte increment before calling del_range_2, because the latter can invalidate the pointer to buffer text. 2016-06-22 Ken Brown Avoid compiler warning * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization. 2016-06-22 Stefan Monnier * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region. 2016-06-22 Ken Brown Fix last change to FRAME_INTERNAL_BORDER_WIDTH * src/w32fns.c (x_set_internal_border_width): Don’t use FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an lvalue. 2016-06-21 Paul Eggert Improve --without-x GCC pacification * src/composite.c (autocmp_chars): * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]: Use simpler ((void) 0) for no-op expression returning void. * src/dispextern.h [HAVE_WINDOW_SYSTEM]: Include fontset.h, for face_for_char. (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR): Now inline functions instead of macros. This avoids the need for all those casts to void. (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg. All uses changed. * src/frame.c (Ficonify_frame, Fset_frame_position): * src/xdisp.c (Fmove_point_visually, show_mouse_face): * src/xdisp.c (note_mode_line_or_margin_highlight) (note_mouse_highlight): Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should now work either way without generating warnings. * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function. (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h. (decode_window_system_frame): Use check_window_system instead of rolling the code ourself. Return needed only if HAVE_WINDOW_SYSTEM. (decode_window_system_frame, check_window_system): Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one. * src/frame.c (Ficonify_frame, Fset_frame_position): * src/xdisp.c (show_mouse_face, define_frame_cursor1) (note_mouse_highlight): Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef; this is a better way to pacify GCC. * src/xdisp.c (x_set_left_fringe, x_set_right_fringe) (x_set_right_divider_width, x_set_bottom_divider_width): * src/xfns.c (x_set_internal_border_width): Don’t use what are now function calls as lvalues. * src/frame.h (WINDOW_SYSTEM_RETURN): New macro. (decode_window_system_frame, check_window_system): Use it, to avoid the need for duplicate declarations. (window_system_available): Now an inline function. (display_available): New decl. (frame_dimension): New inline function. (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH) (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH) (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH) (FRAME_BOTTOM_DIVIDER_WIDTH): Use it, to avoid the need for duplicate definitions. Now inline functions instead of macros. * src/gnutls.c (gnutls_log_function2i): Remove. * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly. This avoids complaints about gnutls_log_function2i being defined and not used on older platforms that do not need to call GNUTLS_LOG2i. * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro. * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id = expr’ to ‘type id; id = expr’, as this would suppress valid jump-misses-init diagnostics. Let’s find a better way to address the problem. * src/vm-limit.c (__MALLOC_HOOK_VOLATILE): Define only if needed. * src/xdisp.c (handle_single_display_spec): Simplify fringe_bitmap computation. (define_frame_cursor1): Do nothing unless in a window system. All callers changed and simplified. * src/xfaces.c (realize_default_face): Use a simpler way to pacify GCC when a return value is not used on some platforms. 2016-06-21 Phillip Lord Ensure undo-boundary after all commands * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after every command whether it (apparently) changes the buffer or not. See Bug#23785 for discussion. 2016-06-21 Eli Zaretskii Fix vertical layout calculations when newline has line-height property * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's 'constrain_row_ascent_descent_p' flag after processing the newline, similar to what 'display_line' does. Without this, the flag remains set once set by x_produce_glyphs, and causes the vertical layout calculations to go awry, because Emacs thinks the screen lines have zero height. (Bug#23850) 2016-06-20 Ken Brown Fix compiler warnings in Cygwin-w32 build * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while loop to avoid compiler warnings about empty body of 'if' statement. * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused macro. (x_create_bitmap_from_data): Declare 'frame'. (x_create_bitmap_from_file): Don't declare unused variable 'dpyinfo'. * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to prevent "jump-misses-init" compiler warnings. * src/w32fns.c (check_w32_winkey_state): Define and use only if WINDOWSNT. (Fx_show_tip): Declare 'f'. (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE. (w32_strerror): Use format specifier %d for sprintf argument of type int. (emacs_abort): Cast sprintf argument of type DWORD to unsigned int, and use format specifier %x, for compatibility with Cygwin. (unicode_append_menu) [NTGUI_UNICODE]: * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info) (set_menu_item_info, unicode_append_menu) (unicode_message_box): * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as functions rather than macros to avoid "address will always evaluate as true" compiler warnings. * src/w32font.c (w32_to_x_charset): Use format specifier %d for sprintf argument of type int. * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast sprintf argument of type int to unsigned int to match %X format specifier. (w32_scroll_bar_handle_click): (w32_horizontal_scroll_bar_handle_click): Declare 'f'. * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused argument. 2016-06-20 Ken Brown Fix compiler warnings in no-window-system-build * src/composite.c (autocmp_chars): Declare and set 'f' only if HAVE_WINDOW_SYSTEM. * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P) (FACE_FOR_CHAR): Explicitly discard unused arguments. * src/font.c (font_open_entity): Declare 'min_width' where it is first set, and only if HAVE_WINDOW_SYSTEM. * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame): Define _Noreturn version to avoid "suggest attribute noreturn" compiler warning. (check_window_system): Declare as _Noreturn. (Ficonify_frame): (Fset_frame_position): Don’t declare and set 'f'. * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame) (check_window_system): Add _Noreturn prototypes. (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH) (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH) (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH) (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument. * src/xdisp.c (handle_single_display_spec): Declare 'fringe_bitmap' only if HAVE_WINDOW_SYSTEM. (append_space_for_newline): Declare 'g' where it is first set. (Fmove_point_visually): Declare and set 'target_is_eol_p' only if HAVE_WINDOW_SYSTEM. (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only if HAVE_WINDOW_SYSTEM. (note_mode_line_or_margin_highlight): (note_mouse_highlight): Declare and set 'cursor' and 'pointer' only if HAVE_WINDOW_SYSTEM. * src/xfaces.c (realize_default_face): Declare and set 'face' only if HAVE_X_WINDOWS. Remove redundant #ifdef. 2016-06-20 Michael Albinus Weaken test conditions in filenotify-tests.el * test/lisp/filenotify-tests.el (file-notify--test-with-events): Fix thinko in test. (file-notify-test02-events, file-notify-test04-file-validity) (file-notify-test07-backup) (file-notify-test08-watched-file-in-watched-dir): Make test conditions more weak. (Bug#23618) 2016-06-19 Paul Eggert Minor ABLOCKS_BUSY cleanups in alloc.c * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash with member ‘abase’ in definiens. (lisp_align_malloc, lisp_align_free): Use bool for boolean. Avoid compiler warning with fewer casts. (lisp_align_free): Check busy-field values; this can help the compiler a bit when optimizing, too. 2016-06-19 Dmitry Gutov ASCII-fy coding-system-for-read used for Git commands * lisp/vc/vc-git.el (vc-git--asciify-coding-system): New function. (vc-git-diff, vc-git-annotate-command): Use it. 2016-06-19 Dmitry Gutov Prohibit multibyte characters in url-http-data It didn't work anyway, but this makes any such errors more obvious by catching them earlier. * lisp/url/url-http.el (url-http-create-request): Use string-to-unibyte (bug#23750). 2016-06-19 Eli Zaretskii Fix setting a range of char-table slots in a singular case * src/chartab.c (char_table_set_range): Start the loop from the first character of the block to which FROM belongs. (Bug#23797) * test/src/chartab-tests.el: New test file. 2016-06-19 Alan Mackenzie Fix CC Mode fontification problem apparent in test file decls-6.cc. * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize "bar (gnu);" as a declarator only when the construct is directly inside a class (etc.) called "bar". (c-directly-in-class-called-p): New function. 2016-06-19 Alan Mackenzie c-renarrow-state-cache: take care when new point is inside old brace pair. Also add display of point-min to the c-parse-state debugging output. * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new point is inside an old recorded brace pair, clear the cache. (c-debug-parse-state): Output the value of point-min. 2016-06-18 Paul Eggert Rename ALIGN to pointer_align * src/alloc.c (pointer_align): Rename from ALIGN. This fixes Bug#23764 in a simpler way. 2016-06-18 Paul Eggert Merge from origin/emacs-25 d1efbaf Fix documentation of completion functions 65c96cc Clarify documentation of 'font-lock-maximum-decoration' 2ad3d01 * doc/misc/cl.texi (Usage): Add some more details. b49cb0a Fbackward_prefix_chars: stay within buffer bounds 2016-06-18 Paul Eggert Merge from origin/emacs-25 2317c61 Fix last todo-mode change 5d4d8a3 Improve last todo-mode fix d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695). 27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD. (Bug#23... f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ... e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv... d308aa1 Minor grammar fix (bug#23746) 20de667 Doc fixes for grammar and typos (bug#23746) a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi... 27f440e Add cross-reference to ELisp manual 10802d8 ; make change-history-commit 4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu... 12e009e Restore initial undo boundary with viper 291fe0a Revert "Fix viper undo breakage from undo-boundary changes" 6921f4a Fix dbus crash on 32-bit Cygwin 2016-06-18 Paul Eggert Merge from origin/emacs-25 9ae514a * etc/AUTHORS: Update the AUTHORS file 3ca428e add entries to authors.el 66d556b Fix eldoc-related freezes in python mode d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu... 27fe1e4 org.el: Fix bindings of < and > for calendar scrolling a813487 Fix undo boundary in recursive edit (Bug#23632) 1f85b7c Doc fixes re alist-get. (Bug#23548) ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs... 56fa055 * src/syntax.c (syms_of_syntax) :... 4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil... a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by". 601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery. 2016-06-18 Nicolas Petton * lisp/emacs-lisp/map.el (map-contains-key): Better docstring 2016-06-18 Nicolas Petton Fix seq-contains Make sure seq-contains return the element of the sequence instead of t. * lisp/emacs-lisp/seq.el (seq-contains): Fix the function. * test/lisp/emacs-lisp/seq-tests.el: Add a regression test. 2016-06-18 Nicolas Petton Add new function map-do * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New functions. * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do. 2016-06-18 Nicolas Petton Add seq-do-indexed * lisp/emacs-lisp/seq.el (seq-do-indexed): New function. * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed. 2016-06-17 Stefan Monnier map.el (map-merge*): Use `map-into' at beginning rather than end * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map, and don't use of an intermediate alist. (map-merge-with): Same, plus use `cl-callf' to try and avoid performing 3 lookups per inner iteration. 2016-06-16 Mark Oteiza * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version. 2016-06-15 Alan Mackenzie Speed up CC Mode's font locking by taking some code out of a hot loop. * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which tests for bare declarators. (c-font-lock-cut-off-declarators): New function. (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators. 2016-06-15 Stefan Monnier Automatically find vars and functions via definition-prefixes * lisp/help-fns.el (help-definition-prefixes): New var and function. (help--loaded-p, help--load-prefixes, help--symbol-completion-table): New functions. (describe-function, describe-variable): Use them. * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes) (radix-tree-prefixes, radix-tree-from-map): New functions. 2016-06-15 Michal Nazarewicz Automatically detect whether .h file is C or C++ * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which analyses contents of the buffer to determine whether it looks like C++ source code and based on that enables c-mode or c++-mode. (c-or-c++-mode--regexp): Regular expression which, when matches a buffer, signals file is C++. 2016-06-15 Alan Mackenzie Parse compound identifiers in C++ member initialization lists. * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function. (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits) (c-back-over-member-initializers): Call c-back-over-compound-identifier rather than c-simple-skip-symbol-backward. 2016-06-15 Stefan Monnier Advertize set-keymap-parent as replacement for copy-keymap * doc/lispref/keymaps.texi (Creating Keymaps): * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement. 2016-06-15 Ted Zlatanov * generic-x.el (ansible-inventory-generic-mode): Warn if value is missing 2016-06-15 Tim Chambers (tiny change) Add new ansible-inventory-generic-mode (Bug#23762) * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode. 2016-06-14 Paul Eggert Fix ifdef-vs-if typo with RANDR13_LIBRARY * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef. This ports to systems that predate xrandr 1.3. See Christian Lynbech in: http://lists.gnu.org/archive/html/emacs-devel/2016-06/msg00198.html 2016-06-14 Paul Eggert Port to platforms where char * has top bit set This fixes a five-year-old FIXME comment. Although I don’t know of a platform where this is a problem in practice, better safe than sorry. * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer, as it is now an integer, not char *. (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t; this is a file offset and EMACS_INT is better if --with-wide-int. If SUBRP, simply store the offset rather than negating it and converting it to char *. * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *. 2016-06-14 Paul Eggert Remove recursion from store_function_docstring * src/doc.c (store_function_docstring): Refactor to avoid the need for C-level recursion. 2016-06-14 Ken Brown Remove system-specific -I switch from Cygwin-w32 build Suggested by Eli Zaretskii in discussion of bug#18302. * src/image.c [HAVE_NTGUI]: Remove the unused macro PIXEL_ALREADY_TYPEDEFED. On Cygwin, include "noX/xpm.h" instead of "X11/xpm.h". * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use "noX/xpm.h". Don't add a -I switch to CPPFLAGS. 2016-06-14 Noam Postavsky Make python.el work in Emacs 24 * lisp/progmodes/python.el: Bump version. (python-define-auxiliary-skeleton): Only use format-message if fbound (Bug#23126). 2016-06-13 Ken Brown Avoid compiler warning * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of 'type_CtrlAlt'. 2016-06-13 Paul Eggert Call tzset after setting TZ * src/editfns.c (tzlookup): Call tzset after setting TZ, so that the setting change propagates into Emacs local time (Bug#23600). (emacs_setenv_TZ): Clarify comments. 2016-06-13 Paul Eggert Update texinfo.tex * doc/misc/texinfo.tex: Update from gnulib. 2016-06-12 Paul Eggert New macro GNUC_PREREQ for GCC version * src/conf_post.h (GNUC_PREREQ): New macro. Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this macro instead, for clarity and consistency. (PRINTF_ARCHETYPE): New macro. Define it to __gnu_printf__ only if glibc, since non-GNU platforms don’t necessarily support GNU printf formats. (ATTRIBUTE_FORMAT_PRINTF): Use it. 2016-06-12 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation 2016-06-12 Eli Zaretskii Fix printf-related compilation warnings on MinGW * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use '__ms_printf__', not '__gnu_printf__', as the latter is not what MS 'printf' supports, and causes bogus compilation warnings. * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf' doesn't support the "ll" modifier. 2016-06-11 Paul Eggert emacs_strerror cleanups * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h; no longer needed, now that emacs_strerror is declared by lisp.h. * src/coding.c (emacs_strerror): Remove; moved to emacs.c. * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved to lisp.h. * src/emacs.c (emacs_strerror): Move here from coding.c. Do not convert result string; this is now the caller’s responsibility, as some need conversion and others don’t. * src/fileio.c (report_file_errno, report_file_notify_error): Use emacs_strerror rather than rolling it ourselves. * src/lisp.h (emacs_strerror): Move decl here from coding.h. * src/lread.c (dir_warning): Just call emacs_strerror rather than both strerror and emacs_strerror. Convert its result from locale-coding-system, since it no longer does that conversion. * src/sound.c (sound_perror): * src/sysdep.c (emacs_perror, str_collate): Use emacs_strerror, not strerror. 2016-06-10 David Reitter Prevent compiler warning for unused arguments * lisp/international/ucs-normalize.el (ucs-normalize-hfs-nfd-pre-write-conversion): Prevent compiler warning for unused arguments, add coment. 2016-06-10 Paul Eggert Catch malloc_get_state, malloc_set_state failure This should help insulate Emacs better from configuration screwups. Future versions of the GNU C library are planned to deprecate these functions, but will continue to support them in already-built-and-dumped Emacs executables. * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]: Abort if malloc_set_state fails. (alloc_unexec_pre) [DOUG_LEA_MALLOC]: Report malloc_get_state failure, and exit. 2016-06-10 Eli Zaretskii Show returned value after gdb-mi "finish" command * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected "Value returned" message in response to "finish", when not produced by GDB/MI. (Bug#23720) 2016-06-10 David Reitter Simplify pre-write-conversion for utf-8-hfs coding system * lisp/international/ucs-normalize.el (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor. May address an issue where Emacs consumed large amounts of CPU because of neverending toolbar updating (which was caused by, but also called this function). 2016-06-09 Martin Rudalics Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2" * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2. Suggested by Stefan Monnier. (Bug#19185, Bug#20398) This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65. That commit did more harm than good (Bug#23571). 2016-06-09 Paul Eggert Port __builtin_assume_aligned to Sun C 5.13 * src/conf_post.h (__builtin_assume_aligned): Fix typo: the extra arg did not conform to C99. 2016-06-09 Paul Eggert Prefer getsockopt to getpeername on non-MS-Windows * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME. * configure.ac: Don’t check for getpeername. * src/process.c (wait_reading_process_output) [!WINDOWSNT]: Use getsockopt even if not GNU/Linux, as the platforms where getsockopt used to hang are no doubt long dead. 2016-06-09 Paul Eggert Fix XFASTINT of non-fixnum in process status * src/process.c (decode_status): 3rd arg is now Lisp_Object *, not int *, and is not decoded. All uses changed. (status_message): Do not assume ‘failed’ code is an integer. * src/process.h: Document codes better. 2016-06-09 Glenn Morris Make messcompat.el obsolete. * lisp/obsolete/messcompat.el: Move here from lisp/gnus. * doc/misc/message.texi (Compatibility): Remove section. 2016-06-09 Glenn Morris Leading "*" in the doc of defvars is long obsolete. * lisp/plstore.el (plstore-encrypt-to): * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-macro-max-length-to-save): * lisp/cedet/semantic/symref.el (semantic-symref-tool): * lisp/cedet/semantic/bovine/el.el (semantic-elisp-store-documentation-in-tag): * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag) (wisent-expected-conflicts): * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag): * lisp/gnus/gnus-agent.el (gnus-category-menu-hook): * lisp/gnus/gnus-group.el (gnus-group-listing-limit): * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook) (gnus-browse-menu-hook): * lisp/gnus/message.el (message-shoot-gnksa-feet): * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions): * lisp/gnus/mm-util.el (mm-extra-numeric-entities): * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p): * lisp/gnus/mml.el (mml-generate-multipart-alist): * lisp/gnus/nndraft.el (nndraft-required-headers): * lisp/gnus/nnheader.el (nnheader-max-head-length) (nnheader-head-chop-length, nnheader-file-name-translation-alist) (nnheader-directory-separator-character) (nnheader-pathname-coding-system): * lisp/gnus/nnmail.el (nnmail-pathname-coding-system) (nnmail-active-file-coding-system): * lisp/gnus/nnrss.el (nnrss-file-coding-system): * lisp/gnus/nntp.el (nntp-record-commands): * lisp/gnus/score-mode.el (gnus-score-edit-done-hook) (gnus-score-mode-hook, gnus-score-menu-hook): * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist) (rfc2047-allow-irregular-q-encoded-words) (rfc2047-allow-incomplete-encoded-text): * lisp/mh-e/mh-alias.el (mh-alias-system-aliases): * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string): * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh): * lisp/net/pop3.el (pop3-password): * lisp/play/animate.el (animate-n-steps): * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior): Convert from defvar with leading * to defcustom. * lisp/emulation/viper-init.el (viper-heading-end): * lisp/gnus/mm-url.el (mm-url-html-entities): * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name): * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled): * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc. * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation. (message-from-style, message-interactive, message-indentation-spaces) (message-signature, message-signature-file): Remove settings that match the defaults. (message-setup-hook, message-mode-hook, message-default-headers) (message-send-hook, message-send-mail-function): Just use setq rather than redefining. * lisp/gnus/nnrss.el (nnrss): * lisp/mail/rfc2047.el (rfc2047): * lisp/play/animate.el (animate): New custom groups. 2016-06-09 Glenn Morris Remove obsolete leading * from defcustom, defface doc strings. * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el: * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el: * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el: * lisp/cedet/semantic/decorate/include.el: * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el: * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el: * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el: * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el: * lisp/cedet/srecode/fields.el, lisp/ecomplete.el: * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el: * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el: * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el: * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el: * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el: * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el: * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el: * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el: * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el: * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el: * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el: * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el: * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el: * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el: * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el: * lisp/net/starttls.el, lisp/progmodes/cc-vars.el: * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el: Remove obsolete leading * from defcustom, defface doc strings. 2016-06-09 Eli Zaretskii Fix copying text properties by 'format' * src/editfns.c (styled_format): Fix copying text properties from the format specification to the produced string representation. (Bug#23730) (Fformat) Doc fix. * doc/lispref/strings.texi (Formatting Strings): Document that text properties from the format specifiers are also copied to the produced string. 2016-06-09 Alan Mackenzie Handle C++ raw strings. * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string) (c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings) (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New functions. * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for c-font-lock-raw-strings. (c-font-lock-raw-strings): New function. * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP into the values for C, C++, and Objective C. (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into the C++ value. * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables. (c-depropertize-CPP): New function, extracted from c-neutralize-syntax-in-and-mark-CPP. (c-neutralize-syntax-in-and-mark-CPP): Remove the call to c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning of the function. (c-after-change): Set c-old-BEG and c-old-END to the current values of c-new-BEG and c-new-END. 2016-06-09 Daiki Ueno epg: don't use obsolete function * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove redundant configuration check, which is now done in `epg-make-context'. 2016-06-09 Daiki Ueno epg: don't start pinentry if it is useless * lisp/epg.el (epg--start): Don't start pinentry server if the session is non-interactive or pinentry-mode is set. 2016-06-08 Paul Eggert Replace IF_LINT by NONVOLATILE and UNINIT Inspired by a suggestion from RMS in: http://bugs.gnu.org/23640#58 * .dir-locals.el (c-mode): Adjust to macro changes. * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640). (IF_LINT): Remove. All uses replaced by the new macros. 2016-06-08 Michal Nazarewicz Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro in favour of ‘cl-letf’ macro which is more generic. All existing uses are migrated accordingly. The macro has not been included in an official release yet so it should be fine to delete it. 2016-06-08 Glenn Morris * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async): Try re-enabling on hydra. 2016-06-08 Paul Eggert * src/fileio.c (auto_save_error): Omit unused local. 2016-06-08 Paul Eggert Simplify overflow check via INT_SUBTRACT_WRAPV * src/editfns.c (check_tm_member): Simplify integer overflow check. 2016-06-07 Glenn Morris Try to avoid hangs and stray procs in network-stream-tests. (Bug#23560) * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait) (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait): Ensure gnutls-serv process gets killed. (echo-server-nowait, connect-to-tls-ipv4-nowait): Limit the amount of time we might wait. 2016-06-07 Glenn Morris Reduce allout.el's pollution of the namespace. * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp. Keep old name as obsolete alias. (allout-produce-mode-menubar-entries, allout-nullify-prefix-data) (allout-solicit-char-in-string) (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes): Rename to add an "allout-" prefix. 2016-06-07 Glenn Morris * configure.ac (emacs_config_features): Add CANNOT_DUMP. 2016-06-07 Glenn Morris Misc small webjump updates. * lisp/net/webjump.el (webjump): Add custom group. (webjump-sample-sites): Make it a constant. Remove explicit, old list of GNU ftp mirrors. (webjump-state-to-postal-alist): Make it a constant. (webjump-sites): Make it a defcustom. (webjump-to-iwin): Update for changed remote service. 2016-06-07 Glenn Morris Do not hard-code port for package test server. (Bug#23708) * test/lisp/emacs-lisp/package-resources/package-test-server.py: Do not hard-code port. * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async): Update for the above change. 2016-06-07 Tino Calancha * lisp/ibuffer.el (ibuffer): Improve 'other-window' case. (Bug#23617) 2016-06-07 Glenn Morris * src/fileio.c (auto_save_error): Use display-warning. (Bug#23703) 2016-06-07 Tino Calancha * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-file-visiting-buffer case. (Bug#22678) 2016-06-07 Paul Eggert Port --enable-gcc-warnings to clang 3.7.0 * configure.ac: Add -Wno-tautological-compare to avoid bogus warnings about 0 <= rlim.rlim_max. Remove flags that no longer seem to be needed, at least in Fedora 23 x86-64. 2016-06-07 Paul Eggert Use __builtin_assume_aligned on untagged Lisp vals * src/conf_post.h (__has_builtin, __builtin_assume_aligned): New macros, for compilers not already defining them. (__has_builtin___builtin_assume_aligned): New macro. * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned. This shrinks text space by 0.2% on x86-64 with GCC 6.1. 2016-06-07 Glenn Morris * lisp/help-fns.el (describe-function-1): Avoid reporting advised aliases as the type of their targets. 2016-06-07 Tino Calancha * lisp/simple.el (process-menu-mode, list-processes--refresh): Include PID. (Bug#21725) 2016-06-07 Paul Eggert Merge from origin/emacs-25 6e3adf8 Fix crash in syntax.c after GC 973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode 9d5cceb Fix doc string quoting 0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l... a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11. 2016-06-07 Paul Eggert Merge from origin/emacs-25 604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del... 20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo. a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo. 07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix... 2016-06-06 Paul Eggert Use standard Unicode names for Thai, Lao * lisp/language/lao-util.el, lisp/language/thai-util.el: Don’t override standard Unicode character name (Bug#23698). 2016-06-06 Glenn Morris * lisp/man.el (Man-reference-regexp, Man-default-man-entry): Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8. 2016-06-06 Michael Albinus Some fixes in filenotify-tests.el for cygwin * test/lisp/filenotify-tests.el (file-notify--test-timeout): Reintroduce value for cygwin, it's needed on slow systems. (file-notify--wait-for-events): Move up definition. (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'. (file-notify--test-with-events-check, file-notify--test-with-events) (file-notify-test08-watched-file-in-watched-dir): Use :random rather than `random. (file-notify-test06-many-events): Do not skip for cygwin. 2016-06-05 Juri Linkov * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’. If non-nil, operate on multiple chunks. (Bug#23655) * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region. 2016-06-05 Juri Linkov * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^" to interactive spec to handle shift-selection. (Bug#23642) 2016-06-05 Michael Albinus Improve robustness of filenotify-tests.el (Bug#23618) * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors) (file-notify--test-no-descriptors-explainer) (file-notify--test-cleanup-p): New defuns. (file-notify--test-cleanup): Don't check for `file-notify--test-event' anymore, that's done in `file-notify--test-no-descriptors'. (file-notify--test-with-events-check) (file-notify--test-with-events): Handle the `random' marker. (file-notify--test-with-events-explainer): Improve readability. (file-notify-test00-availability) (file-notify-test01-add-watch, file-notify-test02-events) (file-notify-test03-autorevert) (file-notify-test04-file-validity) (file-notify-test05-dir-validity) (file-notify-test06-many-events, file-notify-test07-backup) (file-notify-test08-watched-file-in-watched-dir) (file-notify-test09-sufficient-resources): Check also `file-notify--test-cleanup-p'. (file-notify-test04-file-validity) (file-notify-test05-dir-validity): Use `ignore' as handler. (file-notify-test05-dir-validity) (file-notify-test06-many-events): Delete directory finally. (file-notify-test08-watched-file-in-watched-dir): Add `random' marker. 2016-06-05 Stephen Berman man.el: Fix links on hyphenated words (bug#23647) * lisp/man.el (Man-bgproc-sentinel): Make links work on hyphenated words. 2016-06-05 K. Handa Add category 'j' to more characters. * lisp/international/characters.el: Add category 'j' (Japanese) to characters in japanese-jisx0213.2004-1. 2016-06-04 Tino Calancha isearch-edit-string resumes multi isearches * lisp/isearch.el (with-isearch-suspended): Remember and restore multi-isearch variables. (Bug#21663) 2016-06-04 Eli Zaretskii Fix Eshell display when RTL characters are involved * lisp/eshell/esh-mode.el (eshell-mode): Set 'bidi-paragraph-direction' to 'left-to-right'. (Bug#23652) 2016-06-02 Vincent Belaïche Make ses-jump with completing input. * lisp/ses.el (ses-jump): Make symbol input completing against list of named cells. 2016-06-01 Paul Eggert Port angle-bracket TZ settings to MS-Windows * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows lack of support for numeric time zone abbreviations. * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax to MS-compatible syntax if possible, and to "ZZZ" otherwise. Problem reported by Kazuhiro Ito (Bug#23600). 2016-06-01 Paul Eggert Avoid delving into Git internals for version * lisp/loadup.el (exec-path): Set it to nil later, so that emacs-repository-get-version can invoke git commands in the PATH. * lisp/version.el (emacs-repository--version-git-1): Remove. (emacs-repository-get-version): Let Git do it rather than delving into Git internals. 2016-06-01 Stefan Monnier * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less 2016-06-01 Paul Eggert Fix emacs-repository-get-version with packed .git * lisp/version.el (emacs-repository-get-version): Parse .git/packed-refs if it exists. Problem reported by Martin Rudalics in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00554.html 2016-06-01 Michael Albinus Minor change in tramp.texi * doc/misc/tramp.texi (Password handling): Do not discuss anymore how to get password-cache.el. It is bundled with Emacs. 2016-06-01 Alan Mackenzie Correct fontification and indentation of C++'s "constexpr" expressions * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr". (c-modifier-kwds): Add "constexpr". 2016-05-31 Ikumi Keita Cosmetic change to kinsoku-eol. (tiny change) * lisp/international/kinsoku.el (kinsoku-eol): Make the order of characters match with the comments. 2016-05-31 Ikumi Keita Add HIRAGANA ITERATION MARK to japanese-kana-table. (tiny change) * lisp/language/japan-util.el (japanese-kana-table): Add an entry for HIRAGANA ITERATION MARK (U+309D). (japanese-alpha-numeric-table): Fix docstring. 2016-05-31 K. Handa Fix incomplete handling of translation table in a coding system. * coding.c (get_translation): New arg NCHARS. Even if TRANS is an alist, return a character or a vector of character. (produce_chars): Adjust for the above change. (consume_chars): Likewise. 2016-05-31 Michael Albinus Improve robustness for out-of-band copy in Tramp * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command) * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers) * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): Cosmetic changes. * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use local `default-directory'. Simplify command to send. Don't check return code, this was already done in `tramp-process-actions'. (tramp-get-inline-coding): Don't set `default-directory'. * lisp/net/tramp.el (tramp-action-out-of-band): Throw `out-of-band-failed'. (tramp-process-actions): Handle `out-of-band-failed'. (tramp-call-process, tramp-call-process-region): Use local `default-directory'. 2016-05-31 Paul Eggert Merge from origin/emacs-25 788c9b6 ; Spelling fix 25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li... 0992ec3 Correct cl-flet usage (Bug#22317) 50caae3 Release MH-E manual version 8.6 602bb40 Update MH-E's documentation about HTML renderers 89018f0 Fx the we->the typo 845ee57 Restore frames into the current display by default ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b... 01c3cd1 etc/TODO: Remove out-of-place issue 5e18486 Clarify doc string of 'file-name-sans-extension' bffda22 Fix the MSDOS build f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca... 1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix. (Bug#23... f7ffc4b Fix infloop in 'number-sequence' 4ab2673 ; Spelling and punctuation fixes in comments 71c152e * lisp/emacs-lisp/find-func.el (find-function-library): 2016-05-30 Stefan Monnier * lisp/emacs-lisp/autoload.el: Use radix-tree. (autoload--make-defs-autoload): Rewrite. (autoload--split-prefixes-1): Remove. (autoload-def-prefixes-max-entries): Rename from autoload-defs-autoload-max-size. (autoload-popular-prefixes): Remove. (autoload-def-prefixes-max-length): New const. * lisp/emacs-lisp/radix-tree.el: New file. 2016-05-30 Ken Brown * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase. 2016-05-30 Paul Eggert Omit IF_LINT code that no longer seems needed Nowadays GCC is smarter, or the Emacs code has mutated, or both, and now is as good a time as any to remove uses of IF_LINT that now seem to be unnecessary. * lib-src/emacsclient.c (set_local_socket): * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]: * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before): * src/casefiddle.c (casify_region): * src/charset.c (load_charset_map): * src/coding.c (decode_coding_object, encode_coding_object): * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable) (cons_to_unsigned, cons_to_signed): * src/frame.c (make_frame, x_set_frame_parameters): * src/keyboard.c (read_event_from_main_queue): * src/regex.c (regex_compile): * src/syntax.c (back_comment): * src/window.c (Frecenter): * src/xfaces.c (Fx_list_fonts): Remove IF_LINT that no longer seems necessary. * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT. * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than a pragma dance to pacify GCC -Wclobbered. * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT. * src/xterm.c (x_connection_closed): Now _Noreturn, which should mean we do not need IF_LINT any more. (x_io_error_quitter): Now _Noreturn. Put an 'assume (false)’ at the end, to forestall warnings from older compilers. 2016-05-30 Paul Eggert Port --enable-gcc-warnings to Cygwin, FreeBSD These platforms have a bug where _Noreturn is empty when 'lint' is defined. Problem reported by Ken Brown (Bug#23640). * configure.ac (GCC_LINT): Rename from 'lint'. * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’. 2016-05-30 Paul Eggert Update from gnulib This incorporates: 2016-05-30 Use GCC_LINT, not lint 2016-05-29 secure_getenv: Port to many more platforms. * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h: * m4/secure_getenv.m4: Copy from gnulib. 2016-05-30 Stefan Monnier * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'. 2016-05-30 Ken Brown * src/regex.c (IF_LINT): Remove; it’s in conf_post.h 2016-05-30 Michael Albinus Fix Bug#23631 for Tramp * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions) * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions) * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions): Fix caching problems. * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify. * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Move duplicate deletion ... (tramp-smb-handle-file-name-all-completions): ... here. * lisp/net/tramp.el (tramp-handle-file-name-completion): Handle `completion-ignored-extensions'. (Bug#23631) * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion): Test also `completion-regexp-list' and `completion-ignored-extensions'. 2016-05-29 Stefan Monnier * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434) * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping. 2016-05-29 Lars Magne Ingebrigtsen Fix up remainder of the mml property change * lisp/gnus/message.el (message-send-mail): Use the renamed mml-buffer-substring-no-properties-except-some function. (message-send-news): Ditto. 2016-05-29 Lars Ingebrigtsen Allow preserving EXIF rotations when sending HTML messages * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image rotation if you have exiftool installed and the image format supports it. (mml-expand-html-into-multipart-related): Use it. (mml-buffer-substring-no-properties-except-some): Renamed and copy display properties, too. 2016-05-29 Lars Ingebrigtsen Make message-toggle-image-thumbnails work better * lisp/gnus/message.el (message-toggle-image-thumbnails): Use `insert-image' instead of `put-image' to make it possible to edit the resulting text in a sensible manner. 2016-05-29 Alan Mackenzie Rationalize the use of c-new-BEG and c-new-END in CC Mode. Remove the now redundant c-old-BOM and c-old-EOM. * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify meaning. (c-macro-cache-no-comment): New variable. (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate the new c-macro-cache-no-comment. (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic. (c-no-comment-end-of-macro): New function. * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add c-extend-font-lock-region-for-macros to C/C++/ObjC value. * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove. (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than c-old-BOM/EOM. (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning a cons for the new region, since the function is now called as an after-change function. No longer adjust c-new-END for the length of inserted/deleted text. Move the size restrictions on macros to here from c-neutralize-syntax-in-and-mark-CPP. (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here. Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the upper boundary to "neutralize" syntactically obtrusive characters. (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at one. 2016-05-28 Ken Brown Avoid compiler warnings * src/cygw32.c (chdir_to_default_directory): Use "void" as argument list. Use SSDATA instead of SDATA. * src/unexcw.c (fixup_executable): Use %td as format specifier for argument of type ptrdiff_t. Use %zu for argument of type size_t. 2016-05-28 Eli Zaretskii Fix 'next-line' and 'previous-line' during keyboard macro * lisp/simple.el (line-move-visual): Handle the case when point moves outside of the visible portion of the buffer while executing a keyboard macro. (Bug#13452) (Bug#23551) (Bug#23555) 2016-05-28 Alan Mackenzie C++ Mode: attribute in class declaration fouls up indentation. Fix! * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip back over noise clauses and attribute clauses. * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable. 2016-05-28 Ken Olum Prevent locked-file errors in Rmail * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before calling 'rmail-insert-inbox-text'. Unlock if 'rmail-insert-inbox-text' doesn't modify buffer. (rmail-insert-inbox-text): Remove lock-checking code. (Bug#17706) 2016-05-28 Michael Albinus Sync with Tramp repository. * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process): * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process) * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process): Create BUFFER if it doesn't exist. Reported by Nikolay Kudryavtsev . * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes) (tramp-gvfs-file-attributes-with-gvfs-ls-regexp) (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst. (tramp-gvfs-get-directory-attributes) (tramp-gvfs-get-root-attributes) (tramp-gvfs-get-file-attributes): New defun. (tramp-gvfs-handle-file-attributes) (tramp-gvfs-handle-file-name-all-completions): Use them. (tramp-gvfs-handle-file-directory-p): Use `file-truename'. (tramp-gvfs-maybe-open-connection): Set :noquery flag for process. (tramp-gvfs-send-command): Add locale settings to `process-environment'. (top): Suppress D-Bus error messages during zeroconf initialization. * lisp/net/tramp.el (tramp-unknown-id-string) (tramp-unknown-id-integer): New defconst. (tramp-check-cached-permissions) * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes) * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls) (tramp-convert-file-attributes, tramp-get-remote-uid) (tramp-get-remote-gid): Use them. * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp): Rename from `tramp-color-escape-sequence-regexp'. (tramp-sh-handle-insert-directory) (tramp-convert-file-attributes): Adapt callees. (tramp-device-escape-sequence-regexp): New defconst. (tramp-wait-for-output): Use it. Reported by Matthías Páll Gissurarson . * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions): Simplify. * test/lisp/net/tramp-tests.el (tramp-test26-process-file) (tramp-test28-shell-command): Use `tramp-display-escape-sequence-regexp'. 2016-05-27 Paul Eggert Don’t document declare-function internals Suggested by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00618.html * doc/lispref/functions.texi (Declaring Functions): * lisp/subr.el (declare-function): * lisp/emacs-lisp/bytecomp.el: (byte-compile-macroexpand-declare-function): Document as (fn file &optional arglist fileonly) even though it is really (fn file &rest args). 2016-05-27 Paul Eggert * src/puresize.h (BASE_PURESIZE): Increase it some more. 2016-05-27 Glenn Morris * src/puresize.h (BASE_PURESIZE): Increase it by a little bit. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to avoid build failure. 2016-05-27 Paul Eggert Port to platforms where rlim_max < 0 * src/emacs.c (main): Do not treat a negative rlim_max as a limit; this can happen if a special value like RLIM_INFINITY is negative. 2016-05-27 Paul Eggert Robustify stack-size calculation * src/emacs.c: Include getpagesize.h. (main): Check for integer overflow when computing stack size. Round new rlim_cur to pagesize boundary on all platforms, as this is easy and would have prevented Bug#23622. If setrlimit fails, use current limit to determine re_max_failures. 2016-05-27 Ken Brown Adjust filenotify-tests on Cygwin * test/lisp/filenotify-tests.el (file-notify--test-timeout): Remove special case for Cygwin. (file-notify-test07-backup): Update expected results on Cygwin. 2016-05-27 Paul Eggert Improve define-function omitted-arg documentation * doc/lispref/functions.texi (Declaring Functions): * lisp/subr.el (declare-function): Be clearer when documenting omitted args for define-function. 2016-05-27 Stefan Monnier * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors. 2016-05-27 Stefan Monnier * lisp/subr.el (definition-prefixes): Expand docstring * lisp/emacs-lisp/autoload.el (autoload--split-prefixes): Remove unused function. 2016-05-27 Phillip Lord Fix broken viper deactivation * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure args to advice-remove. (viper--advice-add): Use cons not list. Addresses bug#23625 2016-05-27 Mark Oteiza Preserve buffer point in windows by default (Bug#4041). * doc/lispref/windows.texi: Mention new default. * etc/NEWS: Mention new default. * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t. 2016-05-26 Paul Eggert Fix byte-compiler pacification for declare-function Problem reported by Michael Heerdegen in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00590.html * lisp/emacs-lisp/bytecomp.el: (byte-compile-macroexpand-declare-function): Revert signature to previous value. * lisp/subr.el (declare-function): Change signature to match the reverted signature used in the byte compiler. 2016-05-26 Paul Eggert Update texinfo.tex This fixes Bug#23611 in a different (and presumably better) way. * doc/misc/texinfo.tex: Update from gnulib. 2016-05-26 Paul Eggert Pacify 'make check-declare' 2016-05-26 Paul Eggert Repair damage from emacs-25 merge * test/lisp/character-fold-tests.el: Remove, as it was renamed to test/lisp/char-fold-tests.el. * test/lisp/emulation/viper-tests.el: Rename from test/automated/viper-tests.el. 2016-05-26 Paul Eggert Merge from origin/emacs-25 c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3... a4d882c Correct old cell name unbinding when renaming cell. 6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into... 0be6725 Document problem: slow screen refresh on missing font. 853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ... 5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change... 3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne... 42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611). 3f4a9d9 * admin/authors.el (authors): First update the ChangeLog. 897fb6f ; 'Changes from the pre-25.1 API' copyedits 825ca25 Rename vc-stay-local back to vc-cvs-stay-local 4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble... b995d1e * doc/misc/eww.texi (Advanced): Fix xref. 2e589c0 Fix cross-references between manuals f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ... 906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ... bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY. 503e752 ; * CONTRIBUTE: Fix a typo. fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib... bdfbe6d ; * admin/release-process: Copyedits. 44a6aed ; * test/automated/data-tests.el: Standardize license notice. c33ed39 ; * test/automated/viper-tests.el: Standardize license notice. df4a14b Add automated test for viper-tests.el c0139e3 Fix viper undo breakage from undo-boundary changes 920d76c Fix reference to obsolete fn ps-eval-switch 18a9bc1 Do not trash symlinks to init file 2671179 Don't print the "decomposition" line for control chars in wha... 869092c Bring back xterm pasting with middle mouse 5ab0830 Provide workaround for xftfont rendering problem c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic... 30989a0 Mention GTK+ problems in etc/PROBLEMS 421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents): dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests" e41a5cb Avoid errors with Czech and Slovak input methods d4ae6d7 epg: Add a way to detect gpg1 executable for tests ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings. 6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer): c45d9f6 Improve documentation of 'server-name' 3b5e38c Modernize ASLR advice in etc/PROBLEMS 1fe1e0a * lisp/char-fold.el: Rename from character-fold.el. 2016-05-26 Eli Zaretskii Avoid byte-compiler warnings due to 'declare-function' * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w32-get-valid-locale-ids): * lisp/progmodes/js.el (ido-mode): Specify arglist in 'declare-function' forms, to avoid byte-compiler warnings. 2016-05-26 Glenn Morris * lisp/info.el (Info-default-directory-list): Don't check /share,info. No-one puts info pages there. If /share does exist, it's likely to contain remote file systems where access could be slow. 2016-05-26 Paul Eggert Merge from origin/emacs-25 2d76405 etc/AUTHORS: Update the AUTHORS file 2016-05-26 Paul Eggert Merge from origin/emacs-25 06cb28f Fix bug#23462: Crash when iconifying frame on OS X. 2016-05-26 Paul Eggert Merge from origin/emacs-25 939eb75 Fix bug in default setting of 'ps-paper-type' 2016-05-26 Glenn Morris * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes. 2016-05-26 Michael Albinus Fix Bug#23614. * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Let-bind `process-coding-system-alist' in order to suppress the value for "cmdproxy". * lisp/net/tramp.el (tramp-encoding-shell): `w32-shell-name' is a function. (tramp-encoding-command-switch) (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'. * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion): Suppress some tests on MS Windows. (Bug#23614) 2016-05-26 Stephen Berman hl-line.el: Fix flickering of highlighted line (bug#23510) * lisp/hl-line.el (hl-line-maybe-unhighlight) (global-hl-line-highlight-all) (global-hl-line-maybe-unhighlight): New functions. (hl-line-overlay-buffer): New variable. (hl-line-mode): Use it. Replace hl-line-unhighlight on pre-command-hook by hl-line-maybe-unhighlight on post-command-hook, to prevent hl-line from flickering. Adjust document string. (global-hl-line-mode): Use global-hl-line-highlight-all to simultaneously highlight the current line in all live windows. Replace global-hl-line-unhighlight on pre-command-hook by global-hl-line-maybe-unhighlight on post-command-hook, to prevent global-hl-line from flickering. Remove global-hl-line-unhighlight from change-major-mode-hook on disabling the mode. Adjust document string. 2016-05-25 Stefan Monnier Make autoloads populate a new definition-prefixes table * lisp/subr.el (definition-prefixes): New hash table. (register-definition-prefixes): New function. * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var. (autoload--split-prefixes-1, autoload--split-prefixes) (autoload--make-defs-autoload): New functions. (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars. (autoload-generate-file-autoloads): Obey autoload-compute-prefixes. (update-directory-autoloads): Don't touch loaddefs.el if the set of autoloads hasn't changed (i.e. if only the timestamp would change). * lisp/loadup.el: Purify definition-prefixes. * lisp/w32-fns.el: Keep name space clean. (w32-set-default-process-coding-system): Rename from set-default-process-coding-system. (w32-set-system-coding-system): Rename from set-w32-system-coding-system. 2016-05-24 Ken Brown Allow network-stream-tests to work for out-of-tree builds * test/lisp/net/network-stream-tests.el (network-stream-tests--datadir): New defconst. (make-tls-server): Use it. 2016-05-24 Ken Brown Fix failing echo-server-nowait test * test/lisp/net/network-stream-tests.el (echo-server-nowait): Specify IPv4 for the client, to match the family of the server. (Bug#23606) 2016-05-24 Ken Brown Allow shr-tests to work for out-of-tree builds * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst. (shr-test, rendering): Use it. 2016-05-24 Ken Brown Update allowable arguments for open-network-stream * src/coding.c (Ffind_operation_coding_system): Allow t as a target for open-network-stream. (Bug #23540) 2016-05-24 Dmitry Gutov Make js-mode's syntax highlighting work again * lisp/progmodes/js.el (js-mode): Fix the assigned font-lock-defaults value (bug#23603). 2016-05-23 Stefan Monnier * lisp/progmodes/cc-mode.el: Add minor comments (c-change-expand-fl-region): Mark args as unused. 2016-05-23 Stefan Monnier * lisp/url/url-http.el: Use lexical-binding (url-http-simple-after-change-function): Use buffer-size rather than `nd'. (url-http-wait-for-headers-change-function): Remove unused var `content-length'. (url-http): Remove unused vars `host' and `port'. 2016-05-23 Stefan Monnier * lisp/widget.el (define-widget): Use `declare' (which does work now). (widget-plist-member): Mark as obsolete. 2016-05-23 Stefan Monnier * lisp/image.el: Use lexical-binding (image-scaling-factor, imagemagick-types-inhibit) (imagemagick-enabled-types): Remove redundant :group. (image--get-image): Apply de-Morgan and use car-safe. (image-compute-scaling-factor): Use the argument. 2016-05-23 Glenn Morris * lisp/image.el (image--get-image): Remove nonsensical code. * lisp/image.el (image--get-image): Avoid requiring a library for one trivial operation. 2016-05-23 Paul Eggert Don’t use only last protocol from getaddrinfo Problem reported by Ken Brown in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00483.html * src/process.c (conv_addrinfo_to_lisp): New function. (connect_network_socket): Arg is now a list of addrinfos, not merely IP addresses. All uses changed. Use protocol from each addrinfo. (Fmake_network_process): Accumulate protocols into addrinfos rather than just using the last one found. (check_for_dns): Accumulate protocols here, too. * src/process.h (struct Lisp_Process): Remove ai_protocol; no longer needed. 2016-05-23 Paul Eggert Fix seq requirement that broke bootstrap * lisp/image.el (image--get-image): Require seq here, not at the top level, to avoid ‘(require seq) while preparing to dump’ while bootstrapping. Suggested by Tino Calancha in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00477.html 2016-05-22 Nicolas Petton Add missing dependencies to seq.el * lisp/emacs-lisp/find-func.el: * lisp/ibuffer.el: * lisp/image.el: Require seq. 2016-05-22 Alp Aker * src/process.c (SOCK_NONBLOCK): Fix typo. 2016-05-22 Etienne Prud’homme Add completion of colors in CSS mode * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors from "CSS Color Module Level 3". * test/lisp/textmodes/css-mode-tests.el (css-test-property-values): Update test. 2016-05-21 Paul Eggert Prefer SOCK_NONBLOCK to O_NONBLOCK * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined. (connect_network_socket): Create the socket with SOCK_NONBLOCK, to avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works. Put the SOCK_DGRAM check a bit later, to keep the logic cleaner, as the order does not matter here. 2016-05-21 Alan Third Fix bug#16856, cursor leaves garbage in fringe on OS X. * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from being drawn outside the text area. 2016-05-21 Eli Zaretskii Fix compiler warnings in the MinGW build * configure.ac [mingw32]: Don't add -Wpointer-sign, and add -Wno-pointer-sign, to keep the noise level down. * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable -Wredundant-decls, as that produces a lot of noise due to redeclaration of time-related functions by gnulib. * nt/runemacs.c (set_user_model_id): Fix argument type of 'SetCurrentProcessExplicitAppUserModelID'. * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't declare 'dpyinfo', as it is unused. (xpm_load): Fix warnings about pointer signedness. * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant prototypes. (sys_spawnve): Avoid warnings about discarding 'const' qualifier. (sys_select): Provide prototype. (g_b_init_compare_string_w): Move declaration to file scope. * src/w32heap.c (dumped_data_commit): Now static. (FREEABLE_P): Avoid warnings about pointer comparison with integer. (mmap_realloc): Cast to 'char *' for arithmetics on void pointers. * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr) (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear): Provide prototypes. * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove redundant prototypes. (w32_get_internal_run_time, map_w32_filename): Provide prototype. (init_environment, sys_ctime): Avoid warnings about discarding 'const' qualifier. Include utimens.h. (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir) (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock) (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide prototypes. (sys_rename_replace): Use %d to avoid compiler warnings. (_wsa_errlist): Make the message text 'const char *', to avoid compilation warnings. (dynlib_reset_last_error): Move prototype to file scope. (w32_get_resource): First argument is now 'const char *'. * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype. (otf_features): Second argument is no 'const char *'. * src/w32term.c (free_frame_menubar, x_wm_set_size_hint) (x_set_window_size): Remove redundant prototypes. (XChangeGC, XGetGCValues, w32_draw_underwave) (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave) (x_calc_absolute_position, x_destroy_window): Now static. (menubar_selection_callback): Move prototype to file scope. * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant declaration. (w32_to_x_charset): Fix warnings about discarding 'const' qualifier. (w32font_full_name): Fix warnings about implicit conversion of 'float' to 'double'. * src/w32reg.c (w32_get_rdb_resource): Fix warnings about discarding 'const' qualifier. * src/w32menu.c (syms_of_w32menu, globals_of_w32menu) (set_frame_menubar): Remove redundant prototypes. (menubar_selection_callback, w32_menu_display_help): Provide prototypes. (simple_dialog_show): Avoid warnings about discarding 'const' qualifier. * src/w32fns.c (syms_of_w32fns, globals_of_w32fns) (free_frame_menubar, w32_strerror, x_set_menu_bar_lines) (x_set_tool_bar_lines, x_set_internal_border_width): Remove redundant prototypes. (current_popup_menu): Remove redundant declaration. (colormap_t): Member 'name' is now 'const char *'. (add_system_logical_colors_to_map): Fix signed/unsigned warnings. (x_decode_color, x_set_border_pixel) (x_clear_under_internal_border, x_set_name, hook_w32_key) (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now static. (w32_load_cursor, w32_key_to_modifier, map_keypad_keys) (w32_msg_worker, w32_last_error): Provide prototypes. (funhook, lookup_vk_code): Avoid warnings about missing parentheses. (x_default_font_parameter, Fw32_notification_notify): Avoid warnings about discarding 'const' qualifier. (Fx_create_frame): Avoid warnings about empty body of 'else'. (x_screen_planes): Ifdef away unused function. (Fx_show_tip): Remove unused variables. (Fw32_battery_status): Avoid warnings about implicit promotion from float to double. (Fw32_notification_notify): Initialize 'timeout'. * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only define the TIMER_SETTIME_RUNNING value if it will be used. * src/w32notify.c (send_notifications): Ifdef away an empty if clause. Remove unused variable. (watch_end, watch_completion): Provide prototypes. * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused. * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix warning with pointer signedness. * src/gnutls.c (gnutls_x509_crt_get_signature) (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and don't load them from the GnuTLS library, as they are no longer used. * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't define, as it's unused. * src/unexw32.c (open_input_file, open_output_file) (close_file_data): Remove redundant prototypes. (_start): provide prototype. (mainCRTStartup): Move prototype to file level. (find_section): Use type-cast to shut up compiler warnings. (offset_to_section, relocate_offset): Now static. (find_section): First argument is now a 'const char *'. (offset_to_section): Ifdef away, as it's unused. * src/w32heap.h (find_section): Adjust prototype. * src/dynlib.c (dynlib_reset_last_error): Provide prototype. * src/dired.c (directory_files_internal_w32_unwind): Avoid warnings about missing prototypes. (is_slow_fs) [WINDOWSNT]: Provide prototype at file level. (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer signedness. * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]: Fix warnings about pointer signedness. * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's unused. * src/sysdep.c (_getpid): Remove redundant prototype. (sys_subshell) [DOS_NT]: Don't define 'status', it's unused. [!MSDOS]: Don't define 'st', it's unused. (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused. (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness. * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define n_to_read, as it is not used. (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused. * src/w32font.h (syms_of_w32font): Remove redundant prototype. * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro. * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are not used by DOS_NT builds, to avoid compiler warnings. * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant declaration. * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut up compiler warnings. * src/w32term.h (x_set_window_size, x_get_focus_frame) (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame) (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon) (x_free_frame_resources, x_real_positions) (display_x_get_resource): Remove redundant prototypes. * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp) (sys_rename, gettimeofday): Provide prototypes. * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant declarations. * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'. (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname) (close_winsock, initialize_sockets, w32_set_user_model_id) (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add prototypes. (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness difference. (w32_set_user_model_id): Update prototype of SetCurrentProcessExplicitAppUserModelID to avoid compiler warnings. (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to shut up compiler warnings. * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro. 2016-05-21 Eli Zaretskii Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode' * src/xdisp.c (move_it_in_display_line_to): Don't assume we can wrap on a whitespace character if it's followed by another whitespace character. When returning under WORD_WRAP for a screen line that is continued, restore to wrap point when atpos/atx position would be displayed on the next screen line due to line-wrap. (Bug#23570) 2016-05-21 Puneeth Chaganti * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns. (Bug#23589) 2016-05-20 Andrew Hyatt Added tests for dos unibyte decoding. The underlying bug was previously fixed by Eli Zaretskii in commit c8109d9c4057d8cac79e2c139758cadd410e7446. 2016-05-20 Philipp Stephani Fix handling of ‘mouse-on-link-p’. If ‘mouse-on-link-p’ returns a string or vector, the first element is to be used as new event. Translation to ‘mouse-2’ should only happen if the return value is not a string or vector. See docstring of ‘mouse-on-link-p’ and Bug#23288. * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return value of ‘mouse-on-link-p’ according to documentation. * test/lisp/mouse-tests.el (bug23288-use-return-value) (bug23288-translate-to-mouse-2): Tests for Bug#23288. 2016-05-20 Daiki Ueno epg: Add a way to detect gpg1 executable for tests Fixes bug#23561. * test/automated/epg-tests.el (epg-tests-program-alist-for-passphrase-callback): New constant. (epg-tests-find-usable-gpg-configuration): New function, renamed from `epg-tests-gpg-usable'. All callers changed. (epg-tests-gpg-usable): Remove. * lisp/epg-config.el (epg-config--program-alist): Factor out constructor element to... (epg-config--configuration-constructor-alist): ...here. (epg-find-configuration): Rename FORCE argument to NO-CACHE, and add PROGRAM-ALIST argument. 2016-05-19 Mark Oteiza Put point at beginning of display-time-world buffer. If display-time-world decides to popup vertically from the bottom of the frame and scroll-margin is nonzero, the top of the buffer contents are hidden due to scroll. * lisp/time.el (display-time-world-display): Move point to point-min after inserting contents. 2016-05-19 Paul Eggert Allow null entries in face and image cache Problem reported by Tino Calancha (Bug#23580). * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Don’t assume that the result is non-null. * src/xdisp.c (fill_image_glyph_string): Restore check that image pointer is non-null. 2016-05-19 Paul Eggert Fix flyspell highlighting Problem reported by Jim Meyering (Bug#23575). * src/xdisp.c (extend_face_to_end_of_line): Fix typo in previous change. 2016-05-18 Eli Zaretskii * lisp/server.el (server-name): Add autoload cookie. (Bug#23576) 2016-05-18 Sam Steingold python-describe-at-point: add and bind 2016-05-18 Paul Eggert ‘make check-declare’ now chatters less * etc/NEWS: Document this. * lisp/emacs-lisp/check-declare.el (check-declare-locate): Return relative names, not absolute. (check-declare-scan, check-declare-verify, check-declare-warn) (check-declare-file, check-declare-directory): Generate less chatter. Use relative file names rather than absolute. Don’t give up on computing a good file name for a diagnostic merely because the function name was bad. Make malformed declarations more noticeable. Don’t warn about "ext:..." declarations if check-declare-ext-errors is nil. (check-declare-errmsg): Remove. (check-declare-warn): New optional arg LINE. (check-declare-files): Put status into mode line rather than chattering. 2016-05-18 Paul Eggert Pacify byte-compiler for byte-compile-macroexpand-declare-function * lisp/emacs-lisp/bytecomp.el: Change signature of byte-compile-macroexpand-declare-function to match that of declare-function. 2016-05-18 Paul Eggert Pacify byte-compiler for with-wrapper-hook * lisp/subr.el (subr--with-wrapper-hook-no-warnings): New macro, split out from with-wrapper-hook. * lisp/abbrev.el (abbrev--default-expand): * lisp/minibuffer.el (completion--in-region): * lisp/simple.el (buffer-substring--filter): * lisp/subr.el (with-wrapper-hook): Use it. 2016-05-18 Paul Eggert Pacify byte-compiler in lisp/url * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte): Add decl. 2016-05-18 Paul Eggert Port --enable-gcc-warnings to GCC 6.1 * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2. * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE): Omit test whether pointer plus a constant equals a null pointer. * src/alloc.c (compact_small_strings): Avoid pointer arithmetic on null pointers. * src/alloc.c (mark_face_cache): * src/fontset.c (free_realized_fontsets, Fset_fontset_font): * src/fringe.c (draw_fringe_bitmap_1) (Fset_fringe_bitmap_face): * src/macfont.m (macfont_draw): * src/msdos.c (IT_set_face, IT_clear_screen): * src/nsfont.m (nsfont_draw): * src/nsterm.h (FRAME_DEFAULT_FACE): * src/nsterm.m (ns_draw_window_cursor) (ns_draw_vertical_window_border, ns_draw_window_divider) (ns_dumpglyphs_box_or_relief) (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image) (ns_dumpglyphs_stretch): * src/w32term.c (w32_draw_vertical_window_border) (w32_draw_window_divider, x_set_mouse_face_gc): * src/xdisp.c (estimate_mode_line_height, init_iterator) (handle_face_prop, handle_single_display_spec, pop_it) (CHAR_COMPOSED_P, get_next_display_element) (next_element_from_display_vector, extend_face_to_end_of_line) (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING): * src/xfaces.c (Finternal_merge_in_global_face, Fface_font) (lookup_named_face): * src/xterm.c (x_draw_vertical_window_border) (x_draw_window_divider, x_set_mouse_face_gc): Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null. * src/xterm.c (try_window_id): Redo loop to convince GCC 6.1 that it is null pointer safe. (x_color_cells): Use eassume as necessary to pacify GCC 6.1. * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null. (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old behavior of the non-_OPT macro, to be used when the result might be a null pointer. * src/dispnew.c (buffer_posn_from_coords, marginal_area_string) [HAVE_WINDOW_SYSTEM]: * src/intervals.h (INTERVAL_WRITABLE_P): * src/term.c (turn_off_face): * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string) (produce_image_glyph, produce_xwidget_glyph): * src/xfaces.c (lookup_named_face): Remove unnecessary test for null pointer. * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning. * src/process.c (would_block): New function. (server_accept_connection, wait_reading_process_output, send_process): Use it. * src/xdisp.c (get_window_cursor_type, note_mouse_highlight): Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result might be null. 2016-05-18 Paul Eggert Sync from gnulib This incorporates: 2016-05-17 manywarnings: update for GCC 6.1 2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib. 2016-05-16 Glenn Morris * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Include more details on hydra. 2016-05-16 Alan Mackenzie Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master 2016-05-16 Alan Mackenzie Fix spurious fontification of "for (; a * b;)" in CC Mode. This fixes bug #7918 (again). * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function. (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous cons cell - additionally, return a flag indicating whether the declaration parsed might have been an expression, and the position of the type identifier in the said declaration. * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When c-forward-decl-or-cast-1 has indicated it might have parsed an expression, check for it being a spurious declaration in a "for" statement. 2016-05-14 Paul Eggert Pacify ‘make check-declare’ * lisp/cedet/srecode/insert.el (data-debug-new-buffer) (data-debug-insert-stuff-list, data-debug-insert-thing): * lisp/emulation/viper-ex.el (viper-change-state-to-vi) (viper-change-state-to-emacs): * lisp/emulation/viper-macs.el (viper-change-state-to-vi): * lisp/org/ob-asymptote.el (orgtbl-to-generic): * lisp/org/ob-awk.el (orgtbl-to-generic): * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic): * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic): * lisp/org/ob-exp.el (org-element-context): * lisp/org/ob-gnuplot.el (org-time-string-to-time) (orgtbl-to-generic): * lisp/org/ob-haskell.el (org-export-to-file): * lisp/org/ob-latex.el (org-create-formula-image) (org-latex-compile): * lisp/org/ob-python.el (run-python): * lisp/org/ob-sh.el (orgtbl-to-generic): * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading): * lisp/org/org-colview.el (org-agenda-redo): * lisp/org/org-feed.el (url-retrieve-synchronously): * lisp/org/org-info.el (Info-find-node): * lisp/org/org-list.el (org-previous-line-empty-p): * lisp/org/org-macs.el (org-string-match-p): * lisp/org/org.el (org-beamer-mode): Fix prototype to match current definition. * lisp/emacs-lisp/advice.el (function-called-at-point): * lisp/progmodes/prolog.el (compilation-shell-minor-mode): Fix typo: extra '. * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Insert ,' to pacify check-declare. * lisp/org/ob-comint.el (tramp-flush-directory-property): * lisp/org/ob-tangle.el (org-babel-update-block-body): * lisp/org/org-bibtex.el (org-babel-trim): * lisp/org/org-pcomplete.el (org-export-backend-options): * lisp/org/org-protocol.el (org-publish-get-project-from-filename): Fix file name in declare-function. * lisp/org/ob-comint.el (with-parsed-tramp-file-name) * lisp/org/ob-core.el (with-parsed-tramp-file-name): * lisp/org/org.el (org-beamer-mode): * lisp/url/url-http.el (gnutls-negotiate): Append ‘t’ to declare-function, since the declaration isn’t a defun. * lisp/org/ob-core.el (show-all): Declare outline-show-all instead, since it is the non-obsolete version of this function. (org-save-outline-visibility): Remove; not needed. * lisp/org/ob-scheme.el (run-geiser, geiser-mode) (geiser-eval-region, geiser-repl-exit): * lisp/org/ox-org.el (htmlize-buffer): Prepend "ext:" to file name, since it is not part of Emacs. * lisp/org/ob-sh.el (org-babel-comint-in-buffer) * lisp/org/org-gnus.el (nnimap-group-overview-filename): Remove decl, since function was removed. * lisp/org/ob-sh.el (org-babel-comint-with-output): * lisp/org/org-macro.el (org-with-wide-buffer): Omit unnecessary (and mismatching) decl. * lisp/org/org-agenda.el (calendar-absolute-from-iso): * lisp/org/org-clock.el (calendar-iso-to-absolute): Declare calendar-iso-to-absolute instead, since it is the non-obsolete version of this function. * lisp/org/org-compat.el (w32-focus-frame): Remove decl, since function is now obsolete. 2016-05-14 Lars Ingebrigtsen :max-width/height fixes for shr after the scaling changes * lisp/net/shr.el (shr-rescale-image): Ensure that we respect max-width and max-height even after the scaling changes done earlier this year. 2016-05-14 Eli Zaretskii Fix reading minibuffer input in viper-mode * lisp/emulation/viper-cmd.el (viper-read-string-with-history): Restore an assignment to viper-initial that got lost when viper-cmd.el was switched to lexical-binding. (Bug#23536) 2016-05-14 Paul Eggert Port autogen.sh to Git 2.4 Problem reported by Michael Brand in: http://lists.gnu.org/archive/html/emacs-devel/2016-05/msg00367.html * autogen.sh (git_config): Don't assume that git rev-parse groks --git-common-dir. 2016-05-13 Paul Eggert Merge from origin/emacs-25 6de0715 Properly reject malformed or empty package sigs edae7d9 Remove buggy non-native image scrolling 2016-05-13 Paul Eggert Improve display of tex-verbatim and Info quoted Problem reported by Glenn Morris (Bug#19889). * doc/emacs/display.texi (Standard Faces): * doc/lispref/display.texi (Basic Faces): * etc/NEWS: Mention fixed-pitch-serif. * lisp/faces.el (face-font-family-alternatives): New family alias Monospace Serif. (fixed-pitch-serif): New face, which uses the new family. * lisp/info.el (Info-quoted): * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face. * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data): Add test case for Monospace Serif. 2016-05-13 Stefan Monnier * lisp/net/sieve-mode.el: Handle the text:... notation Get rid of redundant :group keywords. (sieve-mode-syntax-table): Move initialization into declaration. (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions. (sieve-mode): Use them. 2016-05-13 Paul Eggert Tweak check-declare-directory performance * lisp/emacs-lisp/check-declare.el (check-declare-directory): Use ‘find ... -exec ... +’ for speed. 2016-05-13 Paul Eggert Sync from gnulib This incorporates a spelling fix, plus: 2016-05-09 Fix undefined behaviour in gettext.h * lib/gettext.h, lib/mktime.c: Copy from gnulib. 2016-05-13 Paul Eggert Merge from origin/emacs-25 9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib. 66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al... 1a5a05c Do not mistake colon at the end of regexp for slash symbol 4c5a00b Make package-install-from-buffer not move point 9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion" f79c352 Redo the fix for bug#21839 8d2f78c Don't treat JS spread as contination method call 2016-05-12 Chris Feng Correct server/client address * src/process.c (Fmake_network_process): :local is for servers and :remote is for clients. 2016-05-12 Ken Brown Autosave buffers on logout if HAVE_NTGUI * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to w32_read_socket. * src/w32term.c (w32_read_socket): Create an event of type END_SESSION_EVENT if a WM_ENDSESSION message is received. * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT. * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol `end-session'. (kbd_buffer_get_event): Return an end-session event if an event of type END_SESSION_EVENT is read. (keys_of_keyboard): Bind the end-session event to kill-emacs in special-event-map. (Bug#23483) 2016-05-12 Stefan Monnier * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars. (object-print): Use cl-call-next-method instead of call-next-method. * lisp/cedet/semantic/symref.el: Use _ to mark unused vars. 2016-05-12 Stefan Monnier * lisp/cedet/semantic: Silence some warnings * lisp/cedet/semantic/db-el.el (emacs-lisp-mode) (semanticdb-get-database-tables): Use make-instance to silence warnings. * lisp/cedet/semantic/symref.el: Require semantic/find since we use some macros from there. Silence compilation warnings: Replace initargs with slot names in oref/oset. Move `SYMREF TOOLS' section earlier so definitions precede their use. 2016-05-12 Lars Ingebrigtsen Support srcset in * lisp/net/shr.el (shr--preferred-image): Allow tags with srcset specifiers (bug#23459). 2016-05-12 Michael Albinus Do not autoload some functions of tramp.el * lisp/net/tramp.el (tramp-completion-file-name-handler): Autoload a shortened version of this function, avoid recursive load. (tramp-completion-file-name-handler-alist) (tramp-completion-mode-p) (tramp-completion-handle-expand-file-name) (tramp-completion-handle-file-name-all-completions) (tramp-completion-handle-file-name-completion): Do not autoload. 2016-05-12 Michael Albinus Avoid recursive load of tramp.el * lisp/net/tramp.el (tramp-completion-file-name-handler): Autoload a shortened version of this function, avoid recursive load. 2016-05-11 Michael Albinus Fix a problem of tramp-tests on hydra. * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name): Nullify `tramp-default-method' due to hydra. 2016-05-10 Paul Eggert Pacify byte-compiler in lisp/vc * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el: * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el: Declare functions defined elsewhere, to forestall “might not be defined at runtime” warnings. 2016-05-10 Paul Eggert Merge from origin/emacs-25 d0d9f55 Allow newlines inside cl function arglists 963541a Publicize cl--generic-all-functions 3c581d5 ; Fix typo e58f900 Add some "safe-local-variable" declarations for compatibility... 2016-05-10 Paul Eggert 'text-quoting-style' now affects only ` and ' Change 'text-quoting-style' so that it no longer affects formatting of curved quotes in format arguments to functions like 'message'. In particular, when this variable's value is 'grave', all quotes in formats are output as-is. * doc/lispref/help.texi (Keys in Documentation): * doc/lispref/strings.texi (Formatting Strings): * doc/lispref/tips.texi (Documentation Tips): * etc/NEWS: * src/doc.c (syms_of_doc): Document this. * lisp/help-fns.el (describe-function-1): * src/doc.c (text_quoting_style, Fsubstitute_command_keys) (syms_of_doc): * src/editfns.c (styled_format): Omit now-unnecessary code. * src/lisp.h (LEAVE_QUOTING_STYLE): Remove. 2016-05-10 Alan Mackenzie Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode." This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556. It is being reverted because it slowed down CC Mode's fontification too much (factor ~3). It was the fix to bug #7918. 2016-05-09 Lars Ingebrigtsen Move "Recent messages" earlier in report-emacs-bug * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent messages" part earlier so that users can see it and remove it if they want. 2016-05-09 Michael Albinus Pacify byte compiler in tramp.el * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'. 2016-05-09 Paul Eggert Merge from origin/emacs-25 3b47898 Fix doc string in `insert' b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins... cd27f73 Say 'All results processed' at the end 4ffec91 Document automatic adjustment of process' logical window dime... dc66271 ; Fix typos and stylistic glitches in NEWS 2016-05-09 Alan Mackenzie CC Mode now uses the new :after-hook feature of define-derived-mode It now runs internal variable setting functions after the mode hooks, no longer runs the mode hooks twice, and declares the configuration variables for noise macros and macros with semicolons as safe variables (when given suitable arguments). Fixes bug #16759 and bug #23476. * .dir-locals: Put the c-noise-macros-with-paren-names setting back into the C Mode value. * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to c-make-macro-with-semi-re. (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate) and c-update-modeline into the :after-hook form. Remove the explicit settings of the syntax table, the abbreviation table and the local key map, since they duplicate forms generated by define-derived-mode. Remove the explicit invocation of each mode's mode hook, since they duplicate ones generated by define-derived-mode. * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New functions. (c-noise-macro-names, c-noise-macro-with-parens-names): give the save-local-variable property c-string-list-p. (c-macro-names-with-semicolon): give the save-local-variable property c-string-or-string-list-p. * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not necessary to call the regexp generating functions after setting the pertinent configuration values in a mode hook. 2016-05-09 Dmitry Gutov Fix the jit-lock-fontify-now test names * test/lisp/jit-lock-tests.el (jit-lock-fontify-now-mends-the-gaps) (jit-lock-fontify-now-does-not-refontify-unnecessarily): Fix the test names. 2016-05-09 Michael Albinus Extend completion candidates in tramp.el * lisp/net/tramp.el (tramp-parse-default-user-host): New defun. (tramp-get-completion-function): Use it. 2016-05-09 Michael Albinus Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards compatibility. 2016-05-08 Dmitry Gutov Emulate interactive mode * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer) (jit-lock-does-not-refontify-unnecessarily): Bind noninteractive to nil (bug#23278). 2016-05-08 Paul Eggert Simplify now that float-time etc. are built-in This was prompted by warnings about calls to now-obsolete functions. * lisp/calendar/time-date.el (encode-time-value): Use setq rather than a recursive call, to avoid a warning about calling this obsolete function. * lisp/calendar/time-date.el (encode-time-value) (with-decoded-time-value, time-to-seconds, time-to-number-of-days): * lisp/erc/erc.el (erc-emacs-time-to-erc-time): * lisp/net/rcirc.el (rcirc-float-time): * lisp/org/org-compat.el (org-float-time): Simplify now that time-add and float-time are now built-in. * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p): * lisp/net/newst-backend.el (time-add): * lisp/org/org.el (time-subtract): Remove backward-compatibility definitions; they are now built-in. * lisp/calendar/timeclock.el (timeclock-time-to-seconds) (timeclock-seconds-to-time): * lisp/net/rcirc.el (rcirc-float-time): * lisp/org/org-compat.el (org-float-time): Now obsolete, since callers can just use float-time and seconds-to-time. All uses changed. * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings): * lisp/gnus/gnus-art.el (article-lapsed-string): * lisp/gnus/gnus-diary.el (gnus-user-format-function-d): * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta): * lisp/gnus/nndiary.el (nndiary-compute-reminders): * lisp/net/tramp.el (tramp-time-diff): * lisp/org/org-clock.el (org-clock-timestamps-change): Prefer the time-subtract builtin to the subtract-time alias. * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir): * test/lisp/character-fold-tests.el (character-fold--speed-test): Prefer the float-time builtin to the time-to-seconds alias. * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el: * lisp/org/org-timer.el, lisp/org/org.el: Adjust to org-float-time deprecation. 2016-05-08 Alan Mackenzie Add :after-hook facility to define-derived-mode. This allow a form to be evaluated _after_ a major mode's hooks have been run. It is needed to solve some problems in CC Mode, including bug #16759 and bug #23476. * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument `:after-hook', and generate the requisite code for it. (derived-mode-make-docstring): Take account of the possibility of :after-hook. * lisp/subr.el (delayed-after-hook-forms): New variable. (run-mode-hooks): As the last thing evaluate the forms in delayed-after-hook-forms. * doc/lispref/modes.texi (Derived Modes): Document :after-hook. (Mode Hooks): Document the new feature in run-mode-hooks. * etc/NEWS: Note the new feature. 2016-05-08 Michael Albinus Fix recursive load of tramp.elc * lisp/net/tramp.el (tramp-completion-file-name-handler): Check also for `tramp-completion-mode-p'. (tramp-completion-mode, tramp-completion-mode-p): Autoload them. 2016-05-07 Paul Eggert Prefer grep -E/-F to egrep/fgrep POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and withdrew them in SUSv3 (2001), and these days grep -E and grep -F are probably more portable. * lib-src/etags.c (main): * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep) (eshell/fgrep): * lisp/cedet/semantic/symref.el (semantic-symref-find-text): * lisp/eshell/esh-var.el (eshell-apply-indices): * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep) (ada-find-in-src-path): * lisp/textmodes/ispell.el (ispell-grep-command): (ispell-lookup-words): Use or document grep -E and grep -F instead of egrep and fgrep. * lisp/textmodes/ispell.el (ispell-grep-options): Use -Ei on all platforms, not just MS-Windows. 2016-05-07 Dmitry Gutov Avoid unnecessary work if a chunk is empty * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work if a chunk is empty (bug#23278). 2016-05-07 Dmitry Gutov * test/lisp/jit-lock-tests.el: New file. 2016-05-07 Michael Albinus Continue to fix Bug#10085 * lisp/net/tramp.el (tramp-completion-file-name-handler-alist) : Add handler. (tramp-completion-handle-expand-file-name): New defun. (tramp-handle-file-name-as-directory): Handle completion mode case. * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name): Fix test. (tramp-test24-file-name-completion): Extend test. 2016-05-07 Alan Mackenzie Revert change 8e4595a... due to annoyance it causes the development team. Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24 +0000 was an enhancement to .dir-locals to allow correct fontification of certain macro constructs. * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros. 2016-05-07 Alan Mackenzie * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number. 2016-05-07 Simen Heggestøyl Add tests for CSS mode completion * test/lisp/textmodes/css-mode-tests.el (css-test-property-values) (css-test-property-values-no-duplicates) (css-test-value-class-lookup): Use `seq-sort'. (css-mode-tests--completions): New helper function for retrieving CSS completions. (css-test-complete-bang-rule, scss-test-complete-bang-rule) (css-test-complete-property-value, css-test-complete-pseudo-class) (css-test-complete-pseudo-element, css-test-complete-at-rule) (scss-test-complete-at-rule, css-test-complete-property) (css-test-complete-selector, css-test-complete-nested-selector) (scss-test-complete-nested-selector): New tests. 2016-05-06 Alan Mackenzie Add an option in Edebug to prevent pauses after `h', 'f', and `o'. Requested by Paul Pogonyshev. Also add in documentation for Edebug config variables which was missing. * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option. (edebug--display-1): Test edebug-sit-on-break before pausing 1 second. * doc/lispref/edebug.texi (Jumping): Document the effect of the new option. (Edebug Options): Document the new option. Also add documentation for edebug-eval-macro-args, edebug-print-length, edebug-print-level, edebug-print-circle, edebug-sit-for-seconds. * etc/NEWS: Note the new feature. 2016-05-07 Jorgen Schaefer scheme.el: Turn literal tabs into \t * lisp/progmodes/scheme.el: The last change to turn tabs into spaces also caught some literal tabs in character classes. Fix this by adding \t to those classes. 2016-05-07 Tino Calancha Make 'backtab' work in table-mode on text terminals * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab' explicitly. (Bug#23456) 2016-05-07 Eli Zaretskii Try to speed-up display of many all-blank lines * src/bidi.c (bidi_initialize): Use anchored regexps for paragraph start and paragraph separator sequences. (Bug#23457) 2016-05-06 Alan Mackenzie Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000 Prevent hack-local-variables being called from the fundamental-mode mode call early in normal-mode. This fixes bug #23460 and bug #23463. * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to the things it calls, with the exception of hack-local-variables. * etc/NEWS: Add an entry to note the calling of hack-local-variables at each major mode initialization. 2016-05-06 Paul Eggert Port xref-tests to master branch Also, add a test to make this problem less likely in the future. * test/Makefile.in (check-no-automated-subdir): New rule. (check, check-expensive, check-maybe): Depend on it. * test/automated/data/xref/file1.txt: Rename to ... * test/data/xref/file1.txt: ... here. * test/automated/data/xref/file2.txt: Rename to ... * test/data/xref/file2.txt: ... here. * test/automated/xref-tests.el: Rename to ... * test/lisp/progmodes/xref-tests.el: ... here. (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY. 2016-05-05 Paul Eggert Merge from origin/emacs-25 50650cb Doc fixes for fclist and grep 5e814e0 Minor doc fixes for quoting 3347a73 `nreverse' the marker pairs list 1a4127d Use save-excursion in xref-location-marker more ab3ba91 shell-quote-argument DIR when appropriate 922c7a3 Rework xref-query-replace-in-results 3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w... 0932b94 Fix todo-mode bug involving archived items (bug#23447) e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432) adc80b7 ; * test/automated/xref-tests.el: Add copyright and license. 4d8fd9c Handle "empty line" regexp in xref searches f559b37 Add tests for xref-collect-matches 6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc... 6f82d8e Clear buffer-undo-list when showing xrefs c68a091 Note the quote translation in `message' in section "incompati... 52f86a7 * etc/NEWS: Mention (message "%s" (format ...)). 93703c5 (Common Keywords): Correct what missing :group means 79e5800 Improve documentation of Dired's 'A' and 'Q' commands 2ea2a2f Doc fixes for quoting 8544b98 posnp doc clarification 805204f Mention what a missing :group does ec554d7 Fix documentation of dired-aux search/replace commands 2016-05-05 Simen Heggestøyl Support completion of HTML tags in CSS selectors * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a list of HTML tags for completion. (css--nested-selectors-allowed): New variable for determining whether nested selectors are allowed in the current mode. (css--complete-selector): New function for completing part of a CSS selector. (css-completion-at-point): Support completion of selectors. (scss-mode): Allow nested selectors. 2016-05-05 Lars Ingebrigtsen Make `R' in eww work more reliably * lisp/net/eww.el (eww-score-readability): Protect against null children. 2016-05-05 Alan Mackenzie Call hack-local-variables from major modes rather than from file visiting This prevents file/directory local variables from being lost when the major mode is set or changed. This fixes bug #15577 and bug #23407. * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode function hasn't already done so. (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make its previous non-nil setting be t, and introduce the following action for a non-nil non-t value: apply all settings apart from `mode'. * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers which are visiting files. * doc/emacs/custom.texi (File Variables): Note that setting a major mode also sets file variables. (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as dir local variables, but `coding' can't. * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks' also calls `hack-local-variables'. (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables', as from 25.2. Remove vagueness from `normal-mode' and `set-auto-mode' by saying that the mode IS SET, not merely "selected" or "chosen". (Mode Hooks): Document change to `run-mode-hooks'. * doc/lispref/variables.texi (File Local Variables): Document change to `hack-local-variables'. 2016-05-05 Michael Albinus tramp-sh.el: Work around a stat bug * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use stat versions which produce shell quoted output. See also coreutils Bug#23422. 2016-05-04 Noam Postavsky Fix autogen.sh for separate worktrees * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead of assuming .git/hooks is a directory. 2016-05-04 Alan Mackenzie Allow `text-quoting-style' to be `leave', i.e. no translation of quotes. * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8 when text-quoting-style is `leave'. * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE. * src/doc.c (syms_of_doc): New symbol "leave". Amend doc string of `text_quoting_style'. (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE. (Fsubstitute_command_keys): Don't translate quotes when quoting_style is LEAVE_QUOTING_STYLE. * src/editfns.c (styled_format): Set quoting_style to -1 when text-quoting-style is `leave'. 2016-05-04 Stefan Monnier * lisp/emulation/viper(-cmd)?.el: Use lexical-binding. * lisp/emulation/viper-cmd.el: Use lexical-binding. (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy args, for use in advice-add. (viper--init-message): Rename from init-message. (viper-minibuffer-standard-hook): Adjust accordingly. (viper-undo): Remove unused var `modified'. (viper-read-string-with-history, viper-set-searchstyle-toggling-macros): Don't use dynamic vars as args. (viper-submit-report): Clarify use of dynamic vars. * lisp/emulation/viper.el: Use lexical-binding and nadvice. Remove redundant :group keywords. Group the (if viper-mode) at top-level. Use add-function rather than a `(lambda ...). (viper--advice-list): New var. (viper--advice-add, viper--deactivate-advice-list): New funs. (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them. (viper-non-hook-settings): Don't hook into find-file any more. 2016-05-04 Stefan Monnier * lisp/vc/ediff-util.el: Use lexical-binding. * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line. 2016-05-03 Lars Ingebrigtsen Add an animation sanity check * lisp/image.el (image-multi-frame-p): Give up on animations if it seems like they are too slow (bug#23431). 2016-05-03 Lars Ingebrigtsen abbrev-tests.el fix * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check internal implementation detail. 2016-05-03 Lars Ingebrigtsen (shr-rescale-image): Clarify logic slightly * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly. 2016-05-02 Martin Rudalics Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2 * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2. Suggested by Stefan Monnier. (Bug#19185, Bug#20398) 2016-05-02 Lee Bochicchio Add more abbrev tests * test/lisp/abbrev-tests.el (clear-abbrev-table-test): Use `abbrev-expansion' (abbrev-table-empty-p-test, list-abbrevs-test) (prepare-abbrev-list-buffer-test, insert-abbrevs-test) (edit-abbrevs-test, define-abbrevs-test) (read-write-abbrev-file-test) (abbrev-edit-save-to-file-test): New tests (bug#23139). 2016-05-02 Philipp Stephani (tiny change) Allow eval-ing named character literals * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over named character literals. * test/lisp/progmodes/elisp-mode-tests.el (elisp--preceding-sexp--char-name): Add test for skipping over named character literals (bug#23354). 2016-05-02 Aaron Conole Call va_end in boot_error * src/gnutls.c (boot_error): A recent change added a function to signal an error or return an error code. That function uses a variadic argument list to populate an error message string. However, it missed calling va_end after using the variadic argument list. Copyright-paperwork-exempt: yes 2016-05-02 Aaron Conole Fix the call to set_network_coding_system * src/process.c (Fmake_network_process): A recent commit modified the set_network_socket_coding_system function to take arguments host, service, and name. However, those arguments appear to be swapped. Copyright-paperwork-exempt: yes 2016-05-02 Lars Ingebrigtsen Revert "alas, a map can have only one parent" This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2. This had already been fixed by using `make-composed-map'. And we don't want image-map to inherit from special-mode-map, anyway. 2016-05-02 Paul Eggert Merge from origin/emacs-25 bf21c84 Fix quoting problem in cc-engine debug message 8f36614 Add electric-quote-string unit test 6280531 Don’t electrically quote ‘'’ in Python fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits 2016-05-02 Sam Steingold alas, a map can have only one parent * lisp/image-mode.el (image-model-map): Cannot have two parents. * lisp/image.el (image-map): Inherit from `special-mode-map'. 2016-05-02 Michael Albinus Fix Bug#10085 * lisp/net/tramp.el (tramp-find-foreign-file-name-handler): Add optional arguments OPERATION and COMPETION. Handle `file-name-as-directory', `file-name-directory' and `file-name-nondirectory' also in completion mode. (tramp-file-name-handler): Use it. (Bug#10085) * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name): Extend test. 2016-05-01 Martin Rudalics * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp. 2016-05-01 Paul Eggert Tweak .gitignore * .gitignore: Remove leim/changed.misc, leim/changed.tit, as these files are no longer created. Add gmon.out, for -pg profiling. Sort. 2016-05-01 Paul Eggert Sync from gnulib This incorporates: 2016-05-01 mktime: port to stricter signed overflow checking 2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks 2016-05-01 mktime: resurrect DEBUG_MKTIME testing 2016-05-01 mktime: simplify DEBUG_MKTIME 2016-05-01 Port mktime_internal offset to unsigned time_t 2016-04-27 xstrtol: prohibit monstrosities like "1bB" 2016-04-13 mktime: improve integer overflow checking 2016-04-13 intprops: check two's complement assumption 2016-04-13 intprops, mktime, strtol: assume two's complement * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c: * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4: Copy from gnulib. 2016-05-01 Paul Eggert Merge from origin/emacs-25 c695fb3 ; Spelling fixes 03750c0 * doc/misc/texinfo.tex: Sync from gnulib. 42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea... 2016-05-01 Paul Eggert Merge from origin/emacs-25 d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’ d38d2a8 Fix documentation of 'url-retrieve-synchronously' 586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix. (Bu... # Conflicts: # doc/misc/url.texi # lisp/url/url.el 2016-05-01 Paul Eggert Merge from origin/emacs-25 16e5e8e Fix last change to isearch-update (bug#23406) b755d98 Autoload cursor-sensor-inhibit (bug#23406) b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call 86aa409 Followup for last commit in the user manual 7004459 Improve doc string of 'set-goal-column' ccdaf04 Fix the MSDOS build ffe701c Remove \= from format string (bug#18190) 1c58fa1 Fix variable-pitch font on MS-Windows c6077bf Restore follow-scroll-up/down to scrolling by the combined si... b671e21 Revert unneeded change which harms syntactic parsing. This f... 48b24c9 Correct indentation of ids in a C++ enum after a protection k... 5c3534f * lisp/window.el (window--process-window-list): No-op if no p... 734fb3a Port dumping to NetBSD with PaX 0255a70 Don't mistake `for' inside a function for a part of array com... # Conflicts: # src/Makefile.in 2016-05-01 Paul Eggert Merge from origin/emacs-25 71fb0e0 Improve last change to vc-git-mode-line-string 6858e77 Todo mode doc bug fix e55d0db Fix revision calculation in vc-git-mode-line-string ca87b34 ; Fix errant revert ccb75d7 40bfebe Add Python 3.5 keyword "await" fa7886a Add new keywords of Python 3.5 ccb75d7 Partially revert previous change. 8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w... b09ca27 Say why text-quoting-style is not a user option 2016-05-01 Paul Eggert Merge from origin/emacs-25 5a952eb Don't mention ~/.emacs.bmk literally in doc strings c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o... c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings 2016-05-01 Lars Ingebrigtsen Mention the `find-library-name' changes 2016-05-01 Lars Ingebrigtsen Fix text in menu in minor-mode-menu-from-indicator * lisp/mouse.el (minor-mode-menu-from-indicator): Don't capitalize "Off" in "Turn Off" (bug#11028). 2016-05-01 David Engster gitmerge: Add cherry pick to gitmerge-skip-regexp * gitmerge.el (gitmerge-skip-regexp): Add "cherry picked from commit", which is the string appended by 'git cherry-pick -x'. 2016-05-01 Lars Ingebrigtsen Allow `global-set-key' to bind keys under the `M-o' map * lisp/subr.el (global-set-key): Allow binding keys under the `M-o' map (bug#9730). 2016-05-01 Lars Ingebrigtsen Add `size-indication-mode' to the menu on `mouse-1' "Top" * lisp/bindings.el (mode-line-column-line-number-mode-map): Add `size-indication-mode' to the menu (bug#5727). 2016-05-01 Lars Ingebrigtsen Allow finding libraries loaded manually outside the load-path * lisp/emacs-lisp/find-func.el (find-library--from-load-path): New function to find a library from a load path (bug#5661). (find-library-name): Use it. There are so many combinations of inputs and possibly entries in `load-history' that the code looks like an entry in a code obfuscation contest. If anybody has a better implementation, please substitute. But remember that the input given may be foo, foo.el, foo.elc, and the entries in load-history may be foo.el, foo.elc and foo.el.gz, and we want to return only foo.el and foo.el.gz. *phew* 2016-05-01 Lars Ingebrigtsen Allow minibuffer prompts to use faces * doc/lispref/minibuf.texi (Text from Minibuffer): Document `minibuffer-prompt-properties' and explain how faces work in the minibuffer prompt. * src/minibuf.c (read_minibuf): If `face' is in `minibuffer-prompt-properties', apply it to the end of the face list to allow users to have their own faces on the prompts (bug#16136). 2016-05-01 Peter Feigl (tiny change) Add R7RS syntax forms to scheme.el * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add a number of special forms introduced in R7RS-small. * lisp/progmodes/scheme.el (scheme-indent-function): Same. 2016-05-01 Alan Third Implement horizontal scroll bars on NS * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS check. * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind scroll-bar mouse clicks to standard handlers. * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename pixel_height to pixel_length. * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It caused scroll-bars to be over-drawn and the best working solution appears to be complete removal. (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers correctly. (ns_set_vertical_scroll_bar): Set width to actual scroller width. (setFrame): Handle horizontal case. (dealloc): Handle horizontal case. (judge): Handle horizontal case. (setPosition): Rename pixel_height to pixel_length. (sendScrollEventAtLoc): Handle horizontal case. (mouseDown): Handle horizontal case and general tidy up of code. (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with absolute pixel size instead of ratio. * src/window.h: Remove NS check. 2016-05-01 Michael Albinus tramp.texi: Revert last change due to backward compatibility 2016-04-30 Paul Eggert Fix the buffer-count patch (Bug#23394) * src/buffer.c (Fgenerate_new_buffer_name): Increment count just once each time through the loop. Reported by Lars Ingebrigtsen in: http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00918.html 2016-04-30 Lars Ingebrigtsen cua-prefix-override-inhibit-delay doc fix * lisp/emulation/cua-base.el (cua-prefix-override-inhibit-delay): Typo fix in doc string (bug#23401). 2016-04-30 Paul Eggert Fix generate-new-buffer-name increment typo Problem reported by Chaitanya Koparkar (Bug#23394). * src/buffer.c (Fgenerate_new_buffer_name): Increment count when generating a new buffer. This fixes a typo I introduced in 2014-04-05T00:04:58Z!eggert@cs.ucla.edu. 2016-04-30 Lars Ingebrigtsen global-eldoc-mode doc fix * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more specific about what "applicable" means (bug#23071). 2016-04-30 Lars Ingebrigtsen Make the legend in describe-categories a link * lisp/help-fns.el (describe-categories): Make the "see bottom" text a link (bug#22227). 2016-04-30 Lars Ingebrigtsen normal-top-level-add-subdirs-to-load-path doc fix * lisp/startup.el (normal-top-level-add-subdirs-to-load-path): Doc fix (bug#21962). 2016-04-30 Lars Ingebrigtsen isearch-search-fun-function doc tweak * lisp/isearch.el (isearch-search-fun-function): Mention what the STRING parameter is (bug#21552). 2016-04-30 Lars Ingebrigtsen Fill some imenu--index-alist doc lines * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269). 2016-04-30 Lars Ingebrigtsen Make describe-variable look up the variable in the current buffer * lisp/help-fns.el (describe-variable): Get the variable definition in the buffer we were called from (in case it only exists there) (bug#21252). 2016-04-30 Lars Ingebrigtsen Fmarker_position doc string clarification * src/marker.c (Fmarker_position): Clarify the doc string (bug#21231). 2016-04-30 Lars Ingebrigtsen Further define-obsolete-* doc fixups * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias): Fix up last change. (define-obsolete-variable-alias): Ditto. 2016-04-30 Lars Ingebrigtsen Describe WHEN in all the define-obsolete- macros * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias): Say more verbosely what WHEN is (bug#21225). (define-obsolete-function-alias): Describe the WHEN parameter. (define-obsolete-variable-alias): Ditto. 2016-04-30 Lars Ingebrigtsen Mention with-silent-modifications in the lispref manual * doc/lispref/text.texi (Changing Properties): Document with-silent-modifications (bug#21171). 2016-04-30 Lars Ingebrigtsen with-silent-modifications doc clarification * lisp/subr.el (with-silent-modifications): Rearrange the doc string a bit so that the most pertinent information is at the top (bug#21171). 2016-04-30 Lars Ingebrigtsen clear-visited-file-modtime doc string fix * lisp/files.el (clear-visited-file-modtime): Fix possibly confusing doc string wording (bug#21169). 2016-04-30 Lars Ingebrigtsen Document mode mode line variables * doc/lispref/modes.texi (Mode Line Variables): Document `mode-line-front-space, `mode-line-misc-info', `mode-line-end-spaces' (bug#21014). 2016-04-30 Lars Ingebrigtsen Add a cross ref to Optional Mode Line * doc/lispref/modes.texi (Mode Line Variables): Add a cross reference to the Emacs mode line node that explains things like `display-time-string' (bug#21002). 2016-04-30 Lars Ingebrigtsen Add a doc string to display-time-string * lisp/time.el: Add a doc string to `display-time-string', because it's referred to in the manual, and is too mysterious otherwise (bug#21002). 2016-04-30 Lars Ingebrigtsen custom-buffer-style doc fix * lisp/cus-edit.el (custom-buffer-style): Document the `tree' value (bug#20724). 2016-04-30 Lars Ingebrigtsen Document how to check for ImageMagick support * doc/lispref/display.texi (ImageMagick Images): Say how to check for ImageMagick support, which isn't quite obvious (bug#20702). 2016-04-30 Lars Ingebrigtsen Minor doc fix for ImageMagick/SVG builds * doc/lispref/display.texi (SVG Images): Don't imply that you have to build Emacs yourself (bug#20702). (ImageMagick Images): Ditto. 2016-04-30 Lars Ingebrigtsen Rearrange the doc of query-replace slightly * lisp/replace.el (query-replace): Move the mention of the interactive prefix arg earlier so that users can find it (bug#20654). 2016-04-30 Lars Ingebrigtsen apropos-print doc fix * lisp/apropos.el (apropos-print): Document the undocumented parameters (bug#20520). 2016-04-30 Lars Ingebrigtsen completion-table-with-predicate doc string fix * lisp/minibuffer.el (completion-table-with-predicate): t -> non-nil in the doc string (bug#20460). 2016-04-30 Lars Ingebrigtsen Fill the completion-table-with-predicate doc string * lisp/minibuffer.el (completion-table-with-predicate): Fill the doc string (bug#20460). 2016-04-30 Lars Ingebrigtsen replace-match-maybe-edit doc clarification * lisp/replace.el (replace-match-maybe-edit): Say what MATCH-DATA is (bug#20304). 2016-04-30 Lars Ingebrigtsen add-timeout doc fix * lisp/emacs-lisp/timer.el (add-timeout): Mention the return value (bug#20181). 2016-04-30 Lars Ingebrigtsen Extremely minor doc fix in Choosing Window * doc/lispref/windows.texi (Choosing Window): There's only one action alist, I think (bug#20158). 2016-04-30 Alan Mackenzie * .dir-locals: Amend for correct fontification of *.[ch] containing "IF_LINT" 2016-04-30 Lars Ingebrigtsen Transform mentions of `eval-after-load' to `with-eval-after-load' * doc/lispref/loading.texi (Hooks for Loading): Update text to not mention `eval-after-load' (bug#20038). 2016-04-30 Lars Ingebrigtsen cursor-type doc fix * src/buffer.c (syms_of_buffer): Mention that cursor-type's WIDHT/HEIGHT can't exceed the frame char size (bug#19215). 2016-04-30 Lars Ingebrigtsen Add a link from Tool Bar to Images * doc/lispref/keymaps.texi (Tool Bar): Add a link to the Images node (bug#19722). 2016-04-30 Alan Mackenzie CC Mode: Recognize a noise macro with parens after a declarator's identifier * lisp/progmodes/cc-engine (c-forward-decl-or-cast-1): In the while loop following comment "Skip over type decl suffix operators." insert code also to check for noise macros with parentheses. 2016-04-30 Lars Ingebrigtsen (default-mode-line-format): More explicit obsolete info * lisp/subr.el (default-mode-line-format): Be more explicit in how default values are now handled (bug#19424). 2016-04-30 Lars Ingebrigtsen Fcompare_buffer_substrings doc string clarification * src/editfns.c (Fcompare_buffer_substrings): Extremely minor doc string clarification (bug#19255). 2016-04-30 Lars Ingebrigtsen insert-file-contents-literally doc fix * lisp/files.el (insert-file-contents-literally): Say that the parameters are explained in the other function (bug#18317). 2016-04-30 Lars Ingebrigtsen Fix custom types for cursor-in-non-selected-windows * lisp/cus-start.el (standard): Use the same custom types for cursor-in-non-selected-windows as for cursor-type (bug#19214). 2016-04-30 Lars Ingebrigtsen Doc clarification to mwheel-scroll * lisp/mwheel.el (mwheel-scroll): Mention that the restriction does not apply to Windows (bug#19209). 2016-04-30 Lars Ingebrigtsen Clarify the doc of eval-expression-print-format * lisp/simple.el (eval-expression-print-format): Doc clarification (bug#19114). 2016-04-30 Lars Ingebrigtsen (extended-command-suggest-shorter): Add a version string * lisp/simple.el (extended-command-suggest-shorter): Add a version string. 2016-04-30 Lars Ingebrigtsen Document extended-command-suggest-shorter * doc/emacs/m-x.texi (M-x): Mention extended-command-suggest-shorter (bug#19152). 2016-04-30 Ivan Shmakov Add a variable to control "shorter command" suggestions * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152). (execute-extended-command): Use it. 2016-04-30 Lars Ingebrigtsen Explictly explain that package-initialize loads the packages * lisp/emacs-lisp/package.el (package-initialize): Be explicit in saying that `package-initialize' obviates adjusting the path or requiring the packages, as this is a question that apparently comes up now and then (bug#18829). 2016-04-30 Lars Ingebrigtsen Have the doc strings of `load-path' and `require' mention each other * src/fns.c (Frequire): Mention `load-path' and fill the doc string (bug#18829). * src/lread.c (syms_of_lread): Mention that `require' uses `load-path'. 2016-04-30 Lars Ingebrigtsen Doc fix for insert-pair-alist * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what COMMAND-CHAR is (bug#18809). 2016-04-30 Lars Ingebrigtsen Move doc of backup-directory-alist to the Backup node * doc/emacs/files.texi (Backup): Move the documentation of `backup-directory-alist' here from the "Single or Numbered Backups" node, because it doesn't seem to have much to do with numbering (bug#18692). 2016-04-30 Lars Ingebrigtsen Tiny doc clarification for create-fontset-from-fontset-spec * lisp/international/fontset.el (create-fontset-from-fontset-spec): Clarify what the optional part is (bug#18686). 2016-04-30 Lars Ingebrigtsen Fill the doc string of font-lock-keywords * lisp/font-lock.el (font-lock-keywords): Fill the lines and reorganise some explanations (bug#21427). 2016-04-30 Lars Ingebrigtsen Doc fix for font-lock-remove-keywords * lisp/font-lock.el (font-lock-remove-keywords): Add a link to `font-lock-add-keywords' to describe KEYWORDS (bug#18634). 2016-04-30 Lars Ingebrigtsen Clarify whitespace-style doc string * lisp/whitespace.el (whitespace-style): Doc clarification (bug#18296). 2016-04-29 Lars Ingebrigtsen No need to test for jka-compr * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr is always available; no need to test (bug#18204). 2016-04-29 Lars Ingebrigtsen Doc fixed for next-error-buffer-p * lisp/simple.el (next-error-buffer-p): Clarify doc string (bug#18202). 2016-04-29 Lars Ingebrigtsen Tiny doc fix * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix (and fill) (bug#18201). 2016-04-29 Lars Ingebrigtsen Doc fix * src/keymap.c (Fdefine_prefix_command): Clarify doc string slightly (bug#18092). 2016-04-29 Lars Ingebrigtsen delsel doc touch ups * lisp/delsel.el (delete-selection-helper): Use non-nil instead of t and clarify function return values (bug#18089). 2016-04-29 Lars Ingebrigtsen Doc fixes for menu-bar.el * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the REGION parameter (bug#18028). (clipboard-kill-region): Ditto. 2016-04-29 Lars Ingebrigtsen Doc fix * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026). 2016-04-29 Lars Ingebrigtsen Minor doc clarification * lisp/subr.el (y-or-n-p): Document the return value from "n" (bug#18024). 2016-04-29 Lars Ingebrigtsen Fill font-lock-mode doc string * lisp/font-core.el (font-lock-mode): Fill the text to make it narrower (bug#18008). 2016-04-29 Lars Ingebrigtsen Wrap the auto-generated doc string * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a string to make it less likely that we get overlong lines (bug#17999). 2016-04-29 Lars Ingebrigtsen Clarify hi-lock-find-patterns * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification (bug#17989). 2016-04-29 Lars Ingebrigtsen Warning fix in jit-lock-mode * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when turning the mode on in an indirect buffer, if this somehow has happened (bug#17738). 2016-04-29 Lars Ingebrigtsen Add a doc string to `winner-mode' * lisp/winner.el (winner-mode): Add a doc string based on the comments in the file (bug#17716). 2016-04-29 Lars Ingebrigtsen Doc fix for align-newline-and-indent * lisp/align.el (align-newline-and-indent): Mention that alignment is done by `align' (bug#17707). 2016-04-29 Lars Ingebrigtsen Cancel the eldoc timer when switching off eldoc mode * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc timer when switching off eldoc mode. It will be restarted again if needed (bug#17582). 2016-04-29 Lars Ingebrigtsen Doc fix for `kbd' * lisp/subr.el (kbd): Describe more fully the format of the parameter (bug#17039). 2016-04-29 Lars Ingebrigtsen Add a sanity check to apropos-documentation-internal * lisp/apropos.el (apropos-documentation-internal): Add a sanity check to be less fragile in the presence of invalid data (bug#16725). 2016-04-29 Lars Ingebrigtsen Doc tweak * lisp/simple.el (use-empty-active-region): Doc tweak. There's only one region (bug#16513). 2016-04-29 Lars Ingebrigtsen Clarify `read-face-name' doc and tweak the code * lisp/faces.el (read-face-name): Clarify the documentation and allow a mix of faces and faces names in all cases (bug#16483). 2016-04-29 Lars Ingebrigtsen Remove ": ?" from the read-face-name prompt * lisp/faces.el (read-face-name): Remove ": ?" from the prompt to be more backwards compatible (bug#15909). 2016-04-29 Lars Ingebrigtsen Link from (emacs)Exiting to (lisp)Killing Emacs * doc/emacs/entering.texi (Exiting): Link to the lispref manual for further customisations (bug#15445). 2016-04-29 Lars Ingebrigtsen find-lisp doc touchups * lisp/find-lisp.el (find-lisp-format): Copy over the doc string (bug#15047). (find-lisp-find-files): Clarify doc. 2016-04-29 Lars Ingebrigtsen Don't have the manual claim that it lists all CL incompatibilities * doc/misc/cl.texi (Common Lisp Compatibility): The list of incompatibilities isn't exhaustive, so don't say that it is (bug#15171). 2016-04-29 Lars Ingebrigtsen Fix call of `kmacro-display' * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of `kmacro-display' (bug#15020). 2016-04-29 Lars Ingebrigtsen Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]" * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]". These are case sensitive, and the keys are lower case (bug#14554). 2016-04-28 Lars Ingebrigtsen Rename "Directory Search" menu to "Servers" * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory Search" to "Directory Servers". Suggested by Eli Zaretskii. (bug#14919). * lisp/net/eudc.el: Rename ditto throughout. 2016-04-28 Lars Ingebrigtsen Remove uses of the unused to-end parameter from simple.el * lisp/simple.el (line-move-partial): Remove usages of the unused to-end parameter, and make it optional (bug#14844). (line-move): Remove use of the unused to-end parameter. 2016-04-28 Lars Ingebrigtsen Doc fix: _ chars are automatically removed. * lisp/cus-edit.el (custom-buffer-create): _ chars are automatically removed when displaying help, so fix the last doc change. (custom-buffer-create-other-window): Ditto. 2016-04-28 Lars Ingebrigtsen Doc string change to enable-recursive-minibuffers * src/minibuf.c (syms_of_minibuf): Mention minibuffer-depth-indicator-mode in the doc string to enable-recursive-minibuffers (bug#14147). 2016-04-28 Lars Ingebrigtsen Fix definition of nobreak-space * lisp/faces.el (nobreak-space): The definition to nobreak-space was inadvertantly changed by the previous checkin. 2016-04-28 Lars Ingebrigtsen Clarify the `interactive' doc string slightly * src/callint.c (Finteractive): Clarify the doc string slightly (bug#14577). 2016-04-28 Drew Adams Make icomplete respect `completion-ignored-extensions' * lisp/icomplete.el (icomplete-completions): Heed `completion-ignored-extensions' (bug#12939). 2016-04-28 Lars Ingebrigtsen Make ibuffer not break on newline-embedded buffer names * lisp/ibuffer.el (name): When buffer names contain newlines, quote those newlines before displaying (bug#12378). 2016-04-28 Lars Ingebrigtsen Add a new face for non-breaking hyphen characters * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen. (Text Display): Ditto. * lisp/faces.el (nobreak-hyphen): New face (bug#12048). * src/xdisp.c (get_next_display_element): Use it instead of the escape-glyph face. * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen. 2016-04-28 Lars Ingebrigtsen Make a menu less ambiguous * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node is about using modifier keys, not binding them (bug#10942). 2016-04-28 Lars Ingebrigtsen Make kill-emacs-query-functions into defcustom * lisp/files.el (save-buffers-kill-terminal): Mention `save-buffers-kill-emacs' (bug#10794). (kill-emacs-query-functions): Made into a defcustom. 2016-04-28 Lars Ingebrigtsen Have describe-variable output multi-line values better * lisp/help-fns.el (describe-variable): When printing multi-line expressions, display them prettier (bug#10723). 2016-04-28 Lars Ingebrigtsen Clean up custom-buffer-create code slightly * lisp/cus-edit.el (custom-buffer-create-other-window): Don't pass the unused description value on (for clarity) (bug#10540). (custom-buffer-create): Ditto 2016-04-28 Lars Ingebrigtsen Clarify some doc strings * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock): Clarify doc string (bug#8693). (syntax-propertize): Clarify doc string. 2016-04-28 Nicolas Richard Fix number-at-point in lisp buffers * lisp/thingatpt.el (number-at-point): Don't say that things like ?a are numbers in lisp mode buffers (bug#8634). 2016-04-28 Lars Ingebrigtsen Don't consider colons to be paragraphs starting chars in strings * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't consider colons to start paragraphs in (doc) strings (bug#7751). 2016-04-27 Lars Ingebrigtsen Make `undo' of `C-x r t' put point where it should be * lisp/rect.el (string-rectangle): Make `undo' of a this command put point back where it was (bug#7522). 2016-04-27 Lars Ingebrigtsen Add some concept index entries for custom types * doc/lispref/customize.texi (Composite Types): Add concept index entries for restricted-sexp, radio and choice (bug#7385). 2016-04-27 Lars Ingebrigtsen Mention `lisp-indent-function' in the lispref manual * doc/lispref/macros.texi (Indenting Macros): Mention `lisp-indent-function' (bug#3393). 2016-04-27 Lars Ingebrigtsen Clarify doc string of internal compilation function * lisp/progmodes/compile.el (compilation-get-file-structure): Clarify doc string (bug#3137). 2016-04-27 Lars Ingebrigtsen Avoid having `C-x h' mark the prompt part of the minibuffer * lisp/simple.el (mark-whole-buffer): Don't mark the prompt part of the minibuffer (bug#2589). 2016-04-27 Lars Ingebrigtsen Allow a prefix argument to find-library to pop to a different window * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix argument to pop to a different window (bug#2270). 2016-04-27 Lars Ingebrigtsen Move the diff command to "Operate" in ibuffer * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff command to the "Operate" menu, and remove the customisation entry to make the "View" menu more logical (bug#1150). 2016-04-27 Lars Ingebrigtsen Make the minor modes in help buffers into buttons * lisp/help.el (describe-mode): Make the minor modes into buttons to enable easier documentation traversal (bug#1149). 2016-04-27 Jorgen Schaefer Add a number of Python 3 exceptions * lisp/progmoes/python.el (python-font-lock-keywords): Clean up the exception list, adding a number of new Python 3 exceptions and moving some exceptions to the Python 2 and 3 list as Python 2.7 includes them. 2016-04-26 Anders Lindgren Fix bug#22891: wrong terminal width when a fringe width is zero. When either fringe width is zero, Emacs reserved one column for a continuation glyph. Terminal windows does not take this into account when the frame is resized. * lisp/window.el (window-adjust-process-window-size): Use `window-max-chars-per-line' instead of `window-body-width'. * lisp/term.el (term-window-width): Remove function. (It does the same as `window-max-chars-per-line' but without recent bug fixes.) (term-mode): Use `window-max-chars-per-line' instead of `term-window-width'. 2016-04-26 Simen Heggestøyl Add completion of `calc()' in CSS mode * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as a completion candidate for several value classes. (css--value-class-lookup): Return only unique results. * test/lisp/textmodes/css-mode-tests.el (css-test-property-values-no-duplicates) (css-test-value-class-lookup): Update to reflect the above changes. 2016-04-26 Paul Eggert Fix socketd fd startup bug that I introduced Problem reported by Matthew Leach in: http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00778.html * src/emacs.c (main): Indicate more clearly the coupling between the --daemon option and init_process_emacs. * src/lisp.h: Adjust to API changes. * src/process.c (set_external_socket_descriptor): Remove, replacing by ... (init_process_emacs): ... passing the socket FD here instead. All uses changed. 2016-04-25 Tao Fang Fix: (void-variable url-http-response-status) * lisp/url/url-http.el (url-https-proxy-after-change-function): Display the error message before doing the callback to avoid a void variable situation (bug#23290). 2016-04-25 Lars Magne Ingebrigtsen smtpmail would say it's done before it is * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending of the data end marker from here... (bug#23020). (smtpmail-send-data): ... to here, so that we don't get a "Sending done" before we've sent the final "." (which can make the SMPT server reject the email. 2016-04-25 Lars Magne Ingebrigtsen `url-retrieve-synchronously' now takes an optional timeout parameter * doc/misc/url.texi (Retrieving URLs): Document optional parameters. * lisp/url/url.el (url-retrieve-synchronously): Allow passing in a timeout parameter (bug#22940). 2016-04-25 Lars Magne Ingebrigtsen Include "Retype" as a comint password prompt * lisp/comint.el (comint-password-prompt-regexp): Include "Retype" to catch "Retype password for [account]:" from the "pass" utility (bug#22942). 2016-04-25 Alan Mackenzie Fix spurious fontification of "for (; a * b;)" in CC Mode. * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being inside the parens of a for statement and after a semicolon near the beginning of the lambda form. 2016-04-25 Paul Eggert New function ‘char-from-name’ This also fixes the mishandling of "\N{CJK COMPATIBILITY IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00614.html * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this. * lisp/international/mule-cmds.el (char-from-name): New function. (read-char-by-name): Use it. Document that "BED" is treated as a name, not as a hexadecimal number. Reject out-of-range integers, floating-point numbers, and strings with trailing junk. * src/lread.c (character_name_to_code): Call char-from-name instead of inspecting ucs-names directly, so that we handle computed names like "VARIATION SELECTOR-1". Do not use an auto string, since char-from-name might GC. * test/src/lread-tests.el: Add tests for new behavior, and fix some old tests that were wrong. 2016-04-25 Alan Mackenzie c-forward-<>-arglist no longer directly applies face properties in Java Mode. This allows the calling of c-restore-<>-properties from c-common-init without the test suite giving spurious errors. * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that sets face properties. (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside template brackets using c-inside-<>-type-key. Don't bind c-record-type-identifiers or c-record-found-types around the recursive call, allowing positions of found types to flow back to the caller. * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key): new lang consts/var. * lisp/progmodes/cc-mode.el (c-common-init): Don't remove c-restore-<>-properties from the list of functions called at mode initialization. 2016-04-25 Jun Hao Pass in port only if provided by caller in the OS X keychain * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in port only if provided (bug#23374). 2016-04-25 Alan Mackenzie Add fontification for a C declaration which looks like a function call. For example, "t1 *fn (t2 *b);". * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable at-decl-start, setting it to whether the putative decl starts immediately after ; or { or }. Accept such a construct as a decl when at-decl-start is non-nil. * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable. 2016-04-25 Eli Zaretskii Don't mirror slashes in convert-standard-filename on MS-Windows * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror slashes into backslashes. This avoids producing ugly file names, and is deemed no longer necessary, and should certainly be unrelated to which shell is in use. 2016-04-24 Dmitry Gutov Revert the disputed VC change and update the tests * lisp/vc/vc-hooks.el (vc-working-revision): Remove the previous change. (vc-state): Same. And update the old, incorrect comment about unregistered files (http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00526.html). * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check calling `vc-state' on default-directory (VC state is undefined for directories). Check that `vc-state' returns nil where it returned `unregistered' before. Remove all checks comparing invocations with the backend passed in explictly and without. (vc-test--working-revision): Remove all checks comparing invocations with the backend passed in explictly and without. Update comments, and add a new one. 2016-04-24 Paul Eggert * etc/NEWS: Grammar and punctuation improvements. 2016-04-24 Paul Eggert Merge from origin/emacs-25 9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste... 0cd2e92 Don't kill ~/ if it's the top level directory 4f40f5f describe-char: fix insert char documentation 87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string' 2016-04-24 Paul Eggert Merge from origin/emacs-25 960f90d * etc/AUTHORS: Update the AUTHORS file b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash 2016-04-24 Paul Eggert Merge from origin/emacs-25 78f9af7 ; ChangeLog fixes 162e549 * admin/authors.el (authors-ignored-files): Additions. 2b31a0c In x_set_window_size restore do_pending_window_change calls 401857e Fix Alt-modified keys on some European MS-Windows keyboards a77cf24 Document 'help-go-forward' 1ba947f Revert "Allow to customize names of executables used by grep.el" 570e0fa Revert "Don't use 'find-program'" 645f4ef Revert "Use 'grep-find-program' in check-declare.el" aa03257 Clarify documentation of 'dired-mark-files-containing-regexp' ce0d8c7 Make tmm-menubar work in correct order again b8d5a8f Remove the Meta-CVS VC backend 2016-04-24 Simen Heggestøyl Don't let `css--property-values' return duplicates * lisp/textmodes/css-mode.el (css--property-values): Don't return duplicate values. * test/lisp/textmodes/css-mode-tests.el (css-test-property-values): Take the above into account. (css-test-property-values-no-duplicates): Test that duplicates aren't returned by `css--property-values'. 2016-04-24 Lars Magne Ingebrigtsen Call `make-composed-keymap' correctly * lisp/image-mode.el (image-mode-map): Call `make-composed-keymap' correctly. 2016-04-24 Lars Magne Ingebrigtsen Use `make-composed-keymap' instead of copying the keymap * lisp/image-mode.el (image-mode-map): Use `make-composed-keymap' instead of copying the keymap. 2016-04-24 Lars Magne Ingebrigtsen Make `q' etc work in image mode again * lisp/image-mode.el (image-mode-map): Restore special-mode-map as the parent keymap of image-mode-map (bug#23167). 2016-04-24 Lars Magne Ingebrigtsen Fix typo in last url.texi checkin 2016-04-24 Lars Magne Ingebrigtsen Make STARTTLS error messages better * lisp/net/network-stream.el (network-stream-open-starttls): Output a better error message when TLS negotiation fails while doing STARTTLS (bug#23027). 2016-04-24 Lars Magne Ingebrigtsen Encode the shr tests files with trailing white space 2016-04-24 Simen Heggestøyl Cache results of `css--property-values' * lisp/textmodes/css-mode.el (css--property-values): Cache computed values. * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache): New regression test for the above. 2016-04-24 Michael Albinus Some improvements in vc * lisp/vc/vc-hooks.el (vc-state, vc-working-revision): Check, whether FILE is registered. * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking' for nonexistent files. * test/lisp/vc/vc-tests.el (w32-application-type): Declare. (vc-test--revision-granularity-function) (vc-test--unregister-function): Use `vc-call-backend'. (vc-test--run-maybe-unsupported-function): New defmacro. (vc-test--register, vc-test--state, vc-test--working-revision) (vc-test--checkout-model): Use it. Fix also expected results. (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now. 2016-04-24 Lars Magne Ingebrigtsen Document the nil/default values of url-user-agent * doc/misc/url.texi (Customization): Document the nil/default values of url-user-agent. 2016-04-24 Clément Pit--Claudel Compute User-Agent dynamically in url-http * url-http.el (url-http-user-agent-string): Compute User-Agent string dynamically. (url-http--user-agent-default-string): New function. * url-vars.el (url-privacy-level): Allow `emacs' in list of information not to send. (url-user-agent): Add nil and `default' options; do not pre-compute value. 2016-04-24 Jun Hao Handle auth-source items with special characters on OS X * lisp/auth-source.el (auth-source-macos-keychain-search-items): Handle keychain output correctly when has special chararcters (bug#22824). 2016-04-24 Magnus Henoch Implement process-attributes for Darwin * src/sysdep.c (timeval_to_timespec, make_lisp_timeval) (system_process_attributes): Implement process-attributes for Darwin (bug#16579). 2016-04-24 Lars Magne Ingebrigtsen Use Unicode literals instead of hex values * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead of hex values for greater readability. (shr-tag-bdi): Ditto. 2016-04-24 Steve Purcell Allow _ characters in SQL prompts * lisp/progmodes/sql.el (sql-product-alist): Allow _ characters in SQL prompts (bug#22596). Fixes issue 22596, whereby "_" is now not considered a word constituent character in sql-interactive-mode, so prompts like "foo_dev# " are not correctly detected. Rather than piggy-back on the symbol table, we explicitly match against alphanumeric chars or "_". 2016-04-23 Glenn Morris When autoload-timestamps is nil, use a dummy timestamp rather than "t". * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant. (autoload-generate-file-autoloads, autoload-find-destination) (update-directory-autoloads): Use autoload--non-timestamp. 2016-04-23 Glenn Morris * test/lisp/xt-mouse-tests.el: Move from test/automated/. 2016-04-22 Jö Fahlke (tiny change) Regexps for matching CMake output * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add regexps for matching CMake output. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add CMake test cases. * etc/compilation.txt (CMake): Add CMake examples. 2016-04-22 Artur Malabarba * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Fix docstring quotes. 2016-04-21 Paul Eggert Improve character name escapes * doc/lispref/nonascii.texi (Character Properties): Avoid duplication of Unicode names. Reformat examples to fit in narrow pages. * doc/lispref/objects.texi (General Escape Syntax): Simplify and better-organize explanation of \N{...} escapes. * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused. (char_surrogate_p): New inline function. * src/lread.c: Do not include string.h; no longer needed. (invalid_character_name, check_scalar_value): Remove; the ideas behind these functions are now bundled into character_name_to_code. (character_name_to_code): Remove undocumented support for "CJK IDEOGRAPH-XXXX" names, as "U+XXXX" suffices. Reject monstrosities like "\N{U+-0}" and null bytes in \N escapes. Reject floating point in \N escapes instead of returning garbage. Use AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector. * test/src/lread-tests.el (lread-char-number, lread-char-name) (lread-string-char-number, lread-string-char-name): Test runtime behavior, not compile-time, as the test framework is not set up to test compile-time. (lread-char-surrogate-1, lread-char-surrogate-2) (lread-char-surrogate-3, lread-char-surrogate-4) (lread-string-char-number-2, lread-string-char-number-3): New tests. (lread-string-char-number-1): Rename from lread-string-char-number. 2016-04-21 Philipp Stephani Use 'ucs-names' for character name escapes * lread.c (invalid_character_name, check_scalar_value) (parse_code_after_prefix, character_name_to_code): New helper functions that use 'ucs-names' and parsing for CJK ideographs. (read_escape): Use helper functions. (syms_of_lread): New symbol 'ucs-names'. * test/src/lread-tests.el: New tests; fix a couple of bugs in existing tests. 2016-04-21 Philipp Stephani Minor cleanups for character name escapes * src/lread.c (init_character_names): Add missing 'void'. Remove top-level 'const'. (read_escape): Simplify loop a bit. Remove top-level 'const'. 2016-04-21 Philipp Stephani Add documentation for character name escapes 2016-04-21 Philipp Stephani Implement named character escapes, similar to Perl * lread.c (init_character_names): New function. (read_escape): Read Perl-style named character escape sequences. (syms_of_lread): Initialize new variable 'character_names'. * test/src/lread-tests.el (lread-char-empty-name): Add test file for src/lread.c. 2016-04-21 Fabrice Popineau Avoid run-time dependency on libwinpthread DLL on MS-Windows * nt/mingw-cfg.site (ac_cv_search_clock_gettime) (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not present, so that MinGW64 builds don't depend on libwinpthread. (Bug#22959) 2016-04-21 Matthew Leach Add LIBSYSTEMD to the list of supported features * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a message at the end of configure stating whether Emacs will be build with libsystemd support. 2016-04-21 Vasilij Schneidermann Support absolute column movement in 'ansi-term' * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence for absolute column movement. (Bug#23303) 2016-04-21 Jorgen Schaefer Add Python 3.5 keyword "await" * lisp/progmodes/python.el (python-font-lock-keywords): Add await as keyword. 2016-04-20 Simen Heggestøyl Add "keyframes" to list of CSS at-rules * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule. 2016-04-20 Phillip Lord Prevent bootstrap autoload backup files * lisp/emacs-lisp/autoload (autoload-find-generated-file): Suppress backups in newly created file. (autoload-ensure-default-file): Function split into two. (autoload-ensure-file-writeable): New function from split. (Bug#23203) 2016-04-20 Paul Eggert Fix org-timestamp-change typo Problem reported by Peter Münster (Bug#23299). * lisp/org/org.el (org-timestamp-change): Fix typo that relied on undocumented behavior in ‘encode-time’. In practice the old code used local time, so use that. 2016-04-19 Paul Eggert Avoid AC_PREPROC_IFELSE glitch in configure.ac Problem reported by Angelo Graziosi in: http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00545.html * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch: AC_PREPROC_IFELSE doesn’t generate a simple shell command. 2016-04-19 Michael Albinus autorevert: Resume with polling if file is deleted * lisp/autorevert.el: Use consistent wording in comments and docstrings. (auto-revert-mode): Add local function to `kill-buffer-hook'. (auto-revert-notify-handler): Improve handling of `stopped' event. * test/lisp/autorevert-tests.el (auto-revert-test02-auto-revert-deleted-file): New test. (auto-revert-test03-auto-revert-tail-mode) (auto-revert-test04-auto-revert-mode-dired): Rename them. 2016-04-18 Paul Eggert Merge from origin/emacs-25 5a0cbe5 Fix Bug#23276 2007e32 Sync with upstream vhdl mode v3.38.1. b6d2552 Tweak configure.ac syntax in recent module patch 2016-04-18 Paul Eggert Merge from origin/emacs-25 ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo... 3287f48 ; Add entry to MAINTAINERS b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev... 0f33284 Make use of rectangle-preview custom variable. aa0d83a Make use of rectangle-preview face. 33bef6e Use 'grep-find-program' in check-declare.el a8560e5 Improve "C-h S" for cl-lib symbols 52e798b Fix minor issues with removing left or right fringes d6ffd64 Speed up redisplay in ansi-term mode 4ab671c Simplify 8-bit character handling by terminal for 'raw-text' f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux. (Bu... ab849b7 Fix w32 memory-management problem when extending buffer text 2016-04-18 Paul Eggert Merge from origin/emacs-25 32364bb substitute-command-keys keeps quotes’ text props 567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ... 24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact... cc0b713 Perform xref searches without visiting unopened files 5045575 Revert "Prevent bootstrap autoload backup files" 2016-04-18 Philipp Stephani * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring so that it matches the actual implementation. See https://lists.gnu.org/archive/html/help-gnu-emacs/2016-04/msg00071.html 2016-04-18 Stefan Monnier * lisp/textmodes/ispell.el: Compile with lexical-binding (declare-function): Don't define any more. (ispell-check-minver, ispell-looking-back): Tweak definition so that the compiler can obviously know that it's always defined. (ispell-debug-buffer): Declare var. (ispell-hunspell-fill-dictionary-entry) (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic) (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params) (ispell-command-loop): Avoid add-to-list on local variables. 2016-04-17 Paul Eggert Minor fixups for external socket launching * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222. * doc/emacs/misc.texi (Emacs Server): * etc/NEWS: Spelling and doc fixes. * src/emacs.c (main) [HAVE_LIBSYSTEMD]: Check for sd_is_socket returning positive, not zero. * src/process.c (external_sock_fd): Instead of initializing here ... (init_process_emacs): ... initialize it here, so that it does the right thing after dump/restore. (connect_network_socket): Simplify socket_to_use test. 2016-04-17 Simen Heggestøyl Add HTML5 tags to HTML mode * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags. (html-tag-help): Add short descriptions of those tags. 2016-04-17 Lars Magne Ingebrigtsen Finish idna->puny changes in last Message patch * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny instead of idna functions. 2016-04-17 Lars Magne Ingebrigtsen Use puny.el instead of idna.el functions in Gnus * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since Emacs comes with IDNA support built in). (article-decode-idna-rhs): Use `puny-decode-domain' instead of `idna-to-unicode'. * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto. 2016-04-17 Lars Magne Ingebrigtsen Mention `message-use-idna' in NEWS 2016-04-17 Lars Magne Ingebrigtsen Default `message-use-idna' to t * lisp/gnus/message.el (message-use-idna): Default to t (since Emacs comes with puny.el now). 2016-04-16 Matthew Leach Extend battery.el to exotic power supply types * lisp/battery.el (battery-linux-sysfs-regexp): Rename from 'battery--linux-sysfs-regexp' and make a defcustom. All users changed. (Bug#23216) 2016-04-16 Matthew Leach Add external socket launching support * src/process.c (connect_network_socket): Allow a pre-allocated socket descriptor to be used if passed to Emacs, avoiding the call to 'socket' and 'bind'. (Fmake_network_process): Allow users to pass ':use-external-socket' in the parameter plist to use any sockets that have been passed to Emacs. (wait_reading_process_output): Call 'socket' and 'bind' every time. (syms_of_process): New symbol ':use-external-socket'. (set_external_socket_descriptor): New function. (external_sock_fd): New variable. * src/lisp.h: (set_external_socket_descriptor): New declaration. * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets passed and call 'set_external_socket_descriptor' to set the external socket. * src/Makefile.in: Add libsystemd library and C flags to the Emacs compilation options. * configure.ac: Add new default-on option "systemd" and check for libsystemd at configure time. * lisp/server.el (server-start): Set ':use-external-socket' to 't' when calling 'make-network-process'. * etc/NEWS: Document new socket-passing functionality and the configure option to disable systemd interaction. * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing functionality and provide systemd unit examples. * doc/lispref/processes.texi (Network Processes): Document new 'make-network-process' option ':use-external-socket'. 2016-04-16 Matthew Leach Don't spell-check argument of 'cref' TeX macro * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref macro to skip spell-checking the cref macro argument. 2016-04-14 Paul Eggert Simplify use of O_BINARY * src/callproc.c (call_process): * src/fileio.c (write_region): * src/filelock.c (read_lock_data): * src/image.c (x_find_image_fd): * src/lread.c (openp): * src/sysdep.c (init_random, emacs_fopen): * src/unexcw.c (unexec): Omit unnecessary use of O_BINARY, since emacs_open now arranges that for us. 2016-04-14 Paul Eggert * src/indent.c (Fvertical_motion): Pacify GCC 5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64. 2016-04-13 Paul Eggert Port ‘./autogen.sh git’ to non-clones Problem reported by Angelo Graziosi in: http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00341.html * autogen.sh (do_git): Default to false when the arg is ‘all’ but there is no ‘.git’. (git_common_dir, hooks): New vars. (git_config, tailored_hooks, sample_hooks): Use them. 2016-04-13 Paul Eggert Do not require that .git be a directory Problem reportyed by Phillip Lord. * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog: * configure.ac, make-dist: Do not require that .git be a directory, as 'git worktree' makes it a file and not a directory. 2016-04-12 Paul Eggert Avoid now-obsolete function gmm-format-time-string * lisp/gnus/message.el (message-insert-formatted-citation-line): Use format-time-string instead of obsolete function gmm-format-time-string. 2016-04-12 Paul Eggert Support OFFSET and (OFFSET ABBR) time zone rules This simplifies Gnus and VC time zone support, by letting them feed the output of ‘current-time-zone’ and ‘decode time’ to primitives that accept time zone arguments. * doc/lispref/os.texi (Time Zone Rules, Time Conversion): * etc/NEWS: * lisp/gnus/message.el (message-insert-formatted-citation-line): * lisp/org/org.el (org-timestamp-format): * src/editfns.c (Fformat_time_string, Fdecode_time): (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule): Document new behavior. * lisp/gnus/gmm-utils.el (gmm-format-time-string): * lisp/vc/add-log.el (add-log-iso8601-time-zone): Mark as obsolete, as it is now just an alias or narrow wrapper around format-time-string. * src/editfns.c (tzlookup): Also support integer OFFSET and list (OFFSET ABBR) as time zone rules. (Fencode_time): No longer need a special case for a cons ZONE. (Fcurrent_time_zone): If the time zone string is missing, compute it the same way the other new code does. 2016-04-12 Paul Eggert Merge from origin/emacs-25 ca50981 Improve time zone documentation c23c965 Prevent bootstrap autoload backup files 9344612 Disable multicolor fonts on OS X since they are not supported... c41ce1c Capitalize “Universal Time” in documentation 10597c9 Don't use 'find-program' 2016-04-11 Paul Eggert Merge from origin/emacs-25 b134c20 Sync with gnulib bb30fa9 Fix last change on 2016-01-02 488a72f ; Spelling fixes 9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3 0e7bcec Avoid crashes due to unreasonably large or small text scaling 85f257c Improve documentation of 'with-eval-after-load' 668c7bc Improve handling of non-ASCII characters in Git log messages b570769 Remove undefined behavior in OS X dumper. 97211f3 Fix clipping of xwidgets e87fbc0 Improve Lisp-level documentation of tooltips 9f1786e Faces names should not end in "-face". 3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings. a1f221b Comint and compile no longer set EMACS 5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2... a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac... c93ae7a Allow to customize names of executables used by grep.el f6497c6 Set locale encoding to UTF-8 when run from OS X GUI. 7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt a3f1ac2 Avoid infinite loop in 'studlify-word' f36df4b Don’t recommend obsolete EMACS env var fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need... 2016-04-11 Paul Eggert Merge from origin/emacs-25 96d9e78 Fix "Beginning of buffer" error in forward-page 20686f7 Add a `transient' project type 2016-04-11 Paul Eggert Merge from origin/emacs-25 80128a7 Fix stability confusion in sort-tests 1e4aa42 Avoid describe-key error with lambdas a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag... f501116 Sync with gnulib c4963f9 Fix doc for Universal Time 2016-04-10 Etienne Prud'homme (tiny change) Fix alignement rule for CSS * lisp/align.el (align-rules-list): Support CSS properties that have multiple words. 2016-04-10 Tassilo Horn New custom option for overriding mailcap choices * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function. (mailcap--set-user-mime-data): New function. (mailcap-user-mime-data): New customization option. (mailcap-select-preferred-viewer): New function. (mailcap-mime-info): Use it. * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'. 2016-04-10 Michael Albinus Fix Bug#23207 * src/keyboard.c (read_char): Resume idle timers in case of dbus-event, file-notify-event and config-changed-event. Reported by Johan Claesson . (Bug#23207) 2016-04-09 Michael Albinus Add vc-backend and vc-responsible-backend tests * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop) (vc-file-clearprops): Use properties on absolute files. * test/lisp/vc/vc-tests.el (vc-test--unregister-function): Clear file properties. (vc-test--register): Add tests for `vc-backend' and `vc-responsible-backend'. Catch other errors but `vc-not-supported'. (vc-test--state, vc-test--checkout-model): Catch other errors but `vc-not-supported'. (vc-test--working-revision): Fix test for RCS and SCCS. Catch other errors but `vc-not-supported'. (vc-test-src02-state): Mark as an expected failure. 2016-04-08 Paul Eggert Minor improvements for hash function primitives * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and hashfn_eq rather than reaching inside them. (hashtest_eq, hashtest_eql, hashtest_equal): Now constants with initializers. (syms_of_fns): Omit no-longer-needed initialization. * src/lisp.h (LISPSYM_INITIALLY): New macro. (DEFINE_LISP_SYMBOL): Use it. 2016-04-08 Paul Pogonyshev New primitives sxhash-eq, sxhash-eql * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this. * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add sxhash-equal, sxhash-eq, sxhash-eql. * lisp/subr.el (sxhash): Now an alias for sxhash-equal. * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n 2016-04-08 Eli Zaretskii Teach Dired support parallel execution of commands on MS-Windows * lisp/dired-aux.el (dired-shell-stuff-it): Support parallel-in-background execution of commands on MS-Windows. Test 'w32-shell-dos-semantics' instead of the underlying OS when determining whether addition of 'wait' is needed. 2016-04-08 Tino Calancha Make 'dired-do-shell-command' wait for all background jobs * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to wait until all background jobs exit. (Bug#23206). 2016-04-07 Vivek Dasmohapatra Prefer 'font-lock-face to 'face in erc where appropriate * lisp/erc/erc-button.el (erc-button-add-face): Prefer 'font-lock-face to 'face where appropriate. * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix) * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output) * lisp/erc/erc-goodies.el (erc-controls-propertize) * lisp/erc/erc-stamp.el (erc-format-timestamp) * lisp/erc/erc-track.el (erc-faces-in) * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg) (erc-display-command, erc-make-notice, erc-highlight-notice) (erc-format-my-nick, erc-format-@nick, erc-format-privmessage) (erc-display-prompt, erc-display-message-highlight) (erc-log-irc-protocol): Ditto. * test/lisp/erc/erc-track-tests.el: Converted asserts into ert tests. 2016-04-06 Lele Gaifax Add new keywords of Python 3.5 Python 3.5, released in mid September 2015, introduced a few new keywords to better support asynchronous code, "async" and "await" in particular. See https://www.python.org/dev/peps/pep-0492/ for details. (Bug#21783) * lisp/progmodes/python.el (python-rx-constituents): Add async def/for/with as block-start and async def as defun. * lisp/progmodes/python.el (python-font-lock-keywords): Add async def/for/with as keyword. * test/automated/python-tests.el (python-indent-after-async-block-1, python-indent-after-async-block-2, python-indent-after-async-block-3, python-nav-beginning-of-defun-3): New tests to test indentation and navigation for the async keyword. 2016-04-05 Etienne Prud'homme (tiny change) Support completion of at-rules in SCSS mode lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding SCSS-specific at-rules. (css--at-ids): New buffer-local variable holding the list of at-rules for the current mode. (css--complete-at-rule): Retrieve at-rules from `css--at-ids`. (scss-mode): Set `css--at-ids'. 2016-04-05 Paul Eggert Enable GCC warnings in developer builds However, do not fail; just issue the warnings. Add an option --enable-gcc-warnings=warn-only to configure, to implement this. * INSTALL, etc/NEWS: Document this. * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils. (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option. Don’t treat --with-x-toolkit=no as a special case when configuring warnings. 2016-04-05 Lars Magne Ingebrigtsen Inhibit querying for the encoding of the headers when resending * lisp/gnus/message.el (message-resend): Inhibit querying for the encoding of the headers when resending. 2016-04-04 Paul Eggert Prefer AUTO_STRING_WITH_LEN to make_formatted_string * src/buffer.c (Fgenerate_new_buffer_name): * src/filelock.c (get_boot_time): * src/minibuf.c (get_minibuffer): * src/process.c (make_process): * src/xdisp.c (ensure_echo_area_buffers): Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string when either will do. 2016-04-04 Tao Fang Allow URL using HTTPS proxies using CONNECT * lisp/url/url-http.el (url-http-find-free-connection): Allow using proxies (bug#11788). (url-http-end-of-document-sentinel): Ditto. (url-http): The protocol may change from http to https and vice versa. (url-https-proxy-connect): Allow using CONNECT proxies for https. 2016-04-04 Paul Eggert New C macro AUTO_STRING_WITH_LEN Put a bit less pressure on the garbage collector by defining a macro that is like AUTO_STRING but also allows null bytes in strings, and by extending AUTO_STRING to work with any unibyte string. * src/alloc.c (verify_ascii): Remove; all uses removed. AUTO_STRING can now be used on non-ASCII unibyte strings. * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings. (AUTO_STRING_WITH_LEN): New macro. * src/coding.c (from_unicode_buffer): * src/editfns.c (format_time_string): * src/emacs-module.c (module_make_string, module_format_fun_env): * src/fileio.c (Fexpand_file_name): * src/font.c (font_parse_family_registry): * src/ftfont.c (ftfont_get_charset): * src/keymap.c (silly_event_symbol_error): * src/menu.c (single_menu_item): * src/sysdep.c (system_process_attributes): Use AUTO_STRING_WITH_LEN if possible. * src/emacs-module.c (module_make_function): * src/fileio.c (report_file_errno, report_file_notify_error): * src/fns.c (Flocale_info): * src/sysdep.c (system_process_attributes): Use AUTO_STRING if possible. This is doable more often now that AUTO_STRING works on any unibyte string. 2016-04-04 Paul Eggert Port redirect-debugging-output to MS-Windows Suggested by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2016-04/msg00037.html * src/print.c [WINDOWSNT]: Include sys/socket.h. * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2. 2016-04-04 Paul Eggert Port redirect-debugging-output to non-GNU/Linux Problem reported by Kylie McClain for musl in: http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01592.html * etc/DEBUG, etc/NEWS: Mention this. * src/callproc.c (child_setup) [!MSDOS]: * src/dispnew.c (init_display): * src/emacs.c (main, Fdaemon_initialized): * src/minibuf.c (read_minibuf_noninteractive): * src/regex.c (xmalloc, xrealloc): Prefer symbolic names like STDERR_FILENO to magic numbers like 2, to make file-descriptor manipulation easier to follow. * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed now that we make sure stdin, stdout and stderr are open. All uses removed. (main): Make sure standard FDs are OK. Prefer symbolic names like EXIT_FAILURE to magic numbers like 1. Use bool for boolean. * src/lisp.h (init_standard_fds): New decl. * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]: Remove; no longer needed. (Fredirect_debugging_output): Define on all platforms, not just GNU/Linux. Redirect file descriptor, not stream, so that the code works even if stderr is not an lvalue. Report an error if the file arg is neither a string nor nil. (syms_of_print): Always define redirect-debugging-output. * src/sysdep.c (force_open, init_standard_fds): New functions. 2016-04-03 Paul Eggert Spelling fixes 2016-04-03 John Wiegley Revert "Add `r'/`l' grep command history commands" This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c. 2016-04-03 John Wiegley Revert "Restore the point in grep buffers when traversing the history" This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a. 2016-04-03 Paul Eggert Merge from origin/emacs-25 787df9d ; * src/keyboard.c (read_char): Fix typos in a comment. 2016-04-03 Paul Eggert Merge from origin/emacs-25 b787d55 More format-time-string change fixups 13c8f29 make-xwidget unused arg cleanup 36e05f0 Remove unused arguments from make-xwidget 1042217 Document incompatible changes in 'format-time-string' 7228eb8 Improve documentation of byte-code objects 0020047 Adapt calls to 'format-time-string' to changes in Emacs 25 17b5152 Improve vc-diff with Git backend c28f87a (js--continued-expression-p): Special-case unary plus and minus 2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary. 9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem... b3b523c Avoid crashes due to insanely large columns in tabulated-list... a3daa34 Teach M-x disassemble a default argument. e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows df441b3 Fix OS X specific settings in tramp-tests 2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09) # Conflicts: # lisp/net/tramp-sh.el # lisp/progmodes/cc-engine.el 2016-04-03 Lars Magne Ingebrigtsen Restore the point in grep buffers when traversing the history * lisp/progmodes/grep.el (grep-process-setup): Allow moving point to a specific place after finishing the grep command. (grep-mode): Use it to restore point after traversing the history. (grep--history-point): New internal variable. (grep--save-history, grep-forward-history): Use it to restore the point. 2016-04-03 Lars Magne Ingebrigtsen Add `r'/`l' grep command history commands * doc/emacs/building.texi (Grep Searching): Mention the `r'/`l' commands. * lisp/progmodes/grep.el (grep-forward-history): New command. (grep-backward-history): Ditto. (grep--save-buffers): New function. (grep): Use it to record the history. (grep--command-history, grep--history-inhibit) (grep--history-place): New internal variables for the grep history (bug#22627). 2016-04-03 Michael Albinus Fix Bug#23186, again * lisp/net/tramp.el (tramp-encoding-shell) (tramp-encoding-command-switch) (tramp-encoding-command-interactive): Check for `w32-shell-name'. (Bug#23186) 2016-04-03 Michael Albinus Fix Bug#23186 * lisp/net/tramp.el (tramp-encoding-command-switch) (tramp-encoding-command-interactive): * lisp/net/tramp-sh.el (tramp-maybe-open-connection): `tramp-encoding-shell' could be nil. (Bug#23186) 2016-04-03 Michael Albinus Fix Bug#22145 * lisp/net/tramp-cache.el (tramp-get-connection-property) (tramp-set-connection-property, tramp-connection-property-p) (tramp-flush-connection-property): Improve docstring. * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it. * lisp/net/tramp.el (tramp-get-local-locale): New defun. * test/automated/tramp-tests.el (tramp--test-utf8): Improve settings of coding systems. (Bug#22145) 2016-04-02 John Wiegley Merge from origin/emacs-25 7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer... 9034c50 * doc/man/emacsclient.1: Document +line:column option. 06495c9 Fix rare problems with echo-area display and multiple frames f99b512 In M-%, avoid making buffer-local binding of text-property-de... 2016-04-02 John Wiegley Merge from origin/emacs-25 e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec. c8b868b Don't start the 'midnight' timer twice 278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X... e5c17f4 Fix todo-mode category movement bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version. cf40f38 Ignore non-nil. non-cons values of unread-command-events 8ee4c52 Improve documentatuon of 'truncate-partial-width-windows' fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU... 1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired 3a13472 Fix map-put and map-delete for alists (Bug#23105) 422c3da Minor copyedits of documentation for temporary displays 90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse f14d463 Minor doc string fixes in replace.el e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url' 44782de Fix display of Indic scripts 326c64f Fix splash screen display at startup 7ab2a97 ; In NEWS mention new display of minibuffer completions window a1cd84c Describe temporary displays in Emacs manual 5ec1056 Avoid stray As next to IDLW icons 45577d5 Avoid GTK 3 crash with icons and masks e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi... 077b78c Define make_save_ptr_ptr unconditionally 20a1003 Preserve current buffer when popping up TTY menus 7eba90c Improve font selection by family on MS-Windows 73d213f Comint, term, and compile now set EMACS 9524ec5 Ignore more merges when generating ChangeLog ad250f2 Sync with gnulib c0165ea Resurrect GNUS-NEWS autogeneration 1e5327c ; Backport ChangeLog.2 fixes from master e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2... 38a43f1 Fix bug in displaying header line with a box face 91e6676 Fix an Isearch var to be a string (Bug#23038) 76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect 8a35f83 Render empty
    • correctly d8b2ce5 Ignore invalid base64 encoded embedded images 52ba24b Fix

      and

      newlines with or without
    • in shr b8ea08b Avoid errors in 'newline' fc3cd53 Fix Bug#23032 dd2737b Adjudicate review comments in abbrevs.texi 26f9c50 Fixup the "normal" matcher; highlight global var symbols, too 413e73b ; Small theme additions cd950da Honor prefix arg in doc-view-next-line-or-next-page ed909c0 ; Spelling fixes 6da3a6d Port to strict C99 offsetof de7601f Port to GTK with strict C11 compiler 658aa2d Port to GTK with strict C99 compiler 1df7173 Avoid screen artifacts with new OS X visible bell after scrol... 7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into... dca240a Suppress some Tramp tests for OSX, do not merge with master 9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo... cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it. 005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare. 9ab03f2 ; Auto-commit of loaddefs files. 56df617 Address compilation warnings due to 2016-01-03 mml refactoring. a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i... 79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes... 253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined... ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function. d6d164f Avoid segfaults due to frame image cache being absent bc7f6f6 Improve documentation of glyphless-character display 6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments. ee9a1f7 Support safe navigation operator in non-SMIE indentation code c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1 2036be4 Fix Ruby's operator precedence 1d686c2 (ruby-interpolation-inside-another-interpolation): New failin... 7950e1d Port to clang 3.7.0 on x86-64 218ae59 * test/automated/package-test.el (package-test-signed): Tweak... ba33b7c Sync with gnulib 38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP dbfbedd Do not tokenize a comment before continuation as ';' 0403620 Don't misindent arguments of a method call inside continuation e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec... 8475f3d ASCII-only etc/NEWS etc. 5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin... 0ce37ea Fix Isearch prompt when invoked with an argument f3033d4 Fix a typo in the Emacs manual 4235d2d Curved quotes in etc/NEWS etc. 26b56dc Fix some single quotes in documentation 80ec484 Make lisp-completion-at-point's argument optional 9d463ae Tweak the left precedence of '=>' 5b705bc Indent '.' relative to the first sibling expression 04f5525 Make '.' associative, for easier sexp navigation ba24c99 Revert "Simplify "Visit New File" to "New File"" 2016-04-02 Stefan Monnier * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler Use #' to quote functions. (erc-server-delayed-reconnect): Remove unused arg `event'. (erc-process-sentinel-2): Adjust accordingly. Don't pass `err' to condition-case if we don't use it. (define-erc-response-handler): Use add-hook rather than add-to-list. (NICK): Use cl-pushnew rather than add-to-list. (331): Remove unused var `topic'. (352): Remove unused var `hopcount'. 2016-04-02 Paul Pogonyshev Support macros in 'func-arity' * src/eval.c (Ffunc_arity): Support Lisp macros as well. 2016-04-02 Andy Moreton Fix compilation of Cygwin w32 port * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only initialize and free the notification set if compiling with w32notify feature. 2016-04-01 Paul Eggert Fix resize incompatibility with GTK+ master Problem reported by Matthias Clasen (Bug#23144). * src/xterm.c (handle_one_xevent) [USE_GTK]: Do not call xg_frame_resized. 2016-04-01 Paul Eggert Fix check for subscript errors in module calls * src/emacs-module.c (check_vec_index): New function. (module_vec_set, module_vec_get): Use it instead of a not-strict-enough check. 2016-03-31 Simen Heggestøyl Support completion of bang-rules in CSS mode lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable holding the list of bang-rules for the current mode. (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids' instead of computing them. (css--complete-bang-rule): New function for completing a bang-rule. (css-completion-at-point): Add support for completing bang-rules. (scss-font-lock-keywords): Change from a variable to a function in order to recompute `css--font-lock-keywords' when `css--bang-ids' has changed. (scss-mode): Set `css--bang-ids' and recompute font-lock keywords. 2016-03-30 Simen Heggestøyl Add HTML4 tags to HTML mode * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags. (html-tag-help): Add short descriptions of those tags. 2016-03-29 Paul Eggert Pacify --enable-gcc-warnings for buffer-hash etc. * src/fns.c (make_digest_string): Now static. (secure_hash): Omit unused local. 2016-03-29 Oleh Krehel Add support for 7z archives * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now also work with 7z archives. The shell command should produce a single extracted directory named after the archive's name. In case the extracted directory exists, all files will be overwritten without a prompt. This matches the expected behavior with the "tar.gz" archives. 2016-03-29 Nicolas Petton * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra 2016-03-29 Michael Albinus Fix typo in network-stream-tests.el * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait): Fix typo. 2016-03-29 Nicolas Petton New function seq-sort-by in seq.el * lisp/emacs-lisp/seq.el (seq-sort-by): New function. * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by. * doc/lispref/sequences.texi: Add documentation for seq-sort-by. 2016-03-28 Lars Magne Ingebrigtsen Mention the `M-q' changes 2016-03-28 Lars Magne Ingebrigtsen Have `M-q' not mark buffers are changed when they haven't * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash' to avoid marking buffers as changed when they haven't. 2016-03-28 Lars Magne Ingebrigtsen Add a new function `buffer-hash' * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'. * src/fns.c (Fbuffer_hash): New function. (make_digest_string): Refactored out into its own function. (secure_hash): Use it. * test/src/fns-tests.el (fns-tests-hash-buffer): New tests. 2016-03-27 Paul Eggert Rename C names to match Lisp symbols better This was inspired by commit e65c3079c65595d95749348366af9811fafff062, which fixed a bug where the C name for a symbol disagreed with the symbol name itself. Fix other instances of disagreements that I found. Although this doesn’t fix a bug, it should make code easier to follow. The remaining disagreements are idiosyncratic: Qminus, Qplus, Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot. All uses changed. * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc. * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus. (QCsession): Rename from QCdbus_session_bus. (QCtimeout): Rename from QCdbus_timeout. (QCbyte): Rename from QCdbus_type_byte. (QCboolean): Rename from QCdbus_type_boolean. (QCint16): Rename from QCdbus_type_int16. (QCuint16): Rename from QCdbus_type_uint16. (QCint32): Rename from QCdbus_type_int32. (QCuint32): Rename from QCdbus_type_uint32. (QCint64): Rename from QCdbus_type_int64. (QCuint64): Rename from QCdbus_type_uint64. (QCdouble): Rename from QCdbus_type_double. (QCstring): Rename from QCdbus_type_string. (QCobject_path): Rename from QCdbus_type_object_path. (QCsignature): Rename from QCdbus_type_signature. (QCunix_fd): Rename from QCdbus_type_unix_fd. (QCarray): Rename from QCdbus_type_array. (QCvariant): Rename from QCdbus_type_variant. (QCstruct): Rename from QCdbus_type_struct. (QCdict_entry): Rename from QCdbus_type_dict_entry. (QCserial): Rename from QCdbus_registered_serial. (QCmethod): Rename from QCdbus_registered_method. (QCsignal): Rename from QCdbus_registered_signal. * src/emacs-module.c (Qinternal__module_call): Rename from Qinternal_module_call. * src/frame.c (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total. * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname. (QCpriority): Rename from QCgnutls_bootprop_priority. (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles. (QCkeylist): Rename from QCgnutls_bootprop_keylist. (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles. (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits. (QCloglevel): Rename from QCgnutls_bootprop_loglevel. (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation. (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags. (QCverify_error): Rename from QCgnutls_bootprop_verify_error. * src/w32fns.c (Qfont_parameter): Rename from Qfont_param. (Qgnutls): Rename from Qgnutls_dll. (Qlibxml2): Rename from Qlibxml2_dll. (Qzlib): Rename from Qzlib_dll. * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE. * src/window.c (Qwindow__resize_root_window): Rename from Qwindow_resize_root_window. (Qwindow__resize_root_window_vertically): Rename from Qwindow_resize_root_window_vertically. (Qwindow__sanitize_window_sizes): Rename from Qwindow_sanitize_window_sizes. (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total. * src/xdisp.c (Qredisplay_internal_xC_functionx): Rename from Qredisplay_internal. * src/xfns.c (Qfont_parameter): Rename from Qfont_param. * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP. 2016-03-26 Paul Eggert func-arity minor improvements * src/bytecode.c (get_byte_code_arity): Omit unnecessary runtime test for integer argument, unless debugging. Use EMACS_INT for Emacs integers. * src/eval.c (Ffunc_arity): Omit unused locals. Avoid side effects in ‘if’ expr. (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints. 2016-03-26 John Wiegley Restore the fix to bug#18527 from commit d6868025 2016-03-26 Martin Rudalics Safely run window size change functions * src/window.c (run_window_size_change_functions): Use safe_call1 when running a size change function. (grow_mini_window, shrink_mini_window): Report error when minibuffer window cannot be resized. 2016-03-26 Paul Pogonyshev Implement 'func-arity' * src/eval.c (Ffunc_arity, lambda_arity): New functions. * src/bytecode.c (get_byte_code_arity): New function. * src/lisp.h (get_byte_code_arity): Add prototype. * doc/lispref/functions.texi (What Is a Function): Document 'func-arity'. * etc/NEWS: Mention 'func-arity'. * test/src/fns-tests.el (fns-tests-func-arity): New test set. 2016-03-25 Alan Mackenzie Fix absence of c-noise-macro-name-re, etc., in languages which don't use it * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type) (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header) (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at' c-noise-macro-with-parens-name-re. * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for cc-engine.el. * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to `c-make-noise-macro-regexps'. (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'. * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re) (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil. 2016-03-25 Lars Magne Ingebrigtsen (shr-insert): Respect non-breaking space in non-
       text
      
      	* lisp/net/shr.el (shr-insert): Respect non-breaking space in
      	non-
       text.
      
      2016-03-25  Lars Magne Ingebrigtsen  
      
      	parse-times-string doc string clarification
      
      	* lisp/calendar/parse-time.el (parse-time-string): Note that
      	we accept RFC2822 strings.
      
      2016-03-25  Marcin Borkowski  
      
      	Doc string fix
      
      	* lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
      	doc string and clean up code.
      
      2016-03-25  Michael Albinus  
      
      	Cleanup file notification code in Tramp
      
      	* lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
      	Make `events' a list of symbols for "inotifywait".
      	(tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
      	Call `file-notify-handle-event' for better traces.
      	(tramp-sh-inotifywait-process-filter): Check for expected events.
      	Call `file-notify-handle-event' for better traces.
      
      2016-03-24  Michael Albinus  
      
      	Adapt filenotify-tests.el according latest tests
      
      	* test/lisp/filenotify-tests.el (file-notify-test02-events)
      	(file-notify-test04-file-validity, file-notify-test05-dir-validity):
      	Remove superfluous `read-event' calls.
      	(file-notify-test02-events): Expect different events under MS
      	Windows 7 and 10.
      	(file-notify-test04-file-validity): Move `file-notify-valid-p'
      	check up.
      
      2016-03-23  Paul Eggert  
      
      	Merge from origin/emacs-25
      
      	ad250f2 Sync with gnulib
      	c0165ea Resurrect GNUS-NEWS autogeneration
      
      	# Conflicts:
      	#	etc/GNUS-NEWS
      	#	lisp/Makefile.in
      
      2016-03-23  Paul Eggert  
      
      	Merge from origin/emacs-25
      
      	e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
      	38a43f1 Fix bug in displaying header line with a box face
      
      2016-03-23  Paul Eggert  
      
      	* etc/NEWS: Use straight quotes.
      
      2016-03-23  Simen Heggestøyl  
      
      	Support completion of attribute values in CSS mode
      
      	* lisp/textmodes/css-mode.el (css-property-alist): New defconst
      	holding CSS identifiers and the values they can have.
      	(css-property-ids): Compute dynamically from `css-property-alist'.
      	(css-value-class-alist): New defconst holding property value classes
      	and their values.
      	(css--property-value-cache): New variable providing a cache for
      	`css--property-values'.
      	(css--value-class-lookup): New function for computing a list of values
      	in a value class.
      	(css--property-values): New function for computing a list of possible
      	values for a CSS property.
      	(css--complete-property-value): New function for completing a property
      	value.
      	(css-completion-at-point): Add support for completing property values.
      	* test/lisp/textmodes/css-mode-tests.el: New file.
      
      2016-03-22  Wilson Snyder  
      
      	Sync with verilog-mode development tree.
      
      	* lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
      	verilog-speedbar-initialize): Automatically add verilog-mode
      	extensions when in speedbar mode, bug1045, bug1046.  Reported by
      	David Shleifman.
      	(verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
      	avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
      	(verilog-read-always-signals-recurse): Fix :: notation for
      	auto-reset signals.  Reported by Andrew Jones.
      	(verilog-font-lock-grouping-keywords-face): Fix highlighting of
      	grouping keywords, bug1002. Reported by Paul Sargent.
      	(verilog-save-font-no-change-functions): Commentary and fix
      	pre-Emacs 21 behavior.
      
      2016-03-22  Paul Eggert  
      
      	Compute a better commit message for merges
      
      	Problem reported by David Engster in:
      	http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01270.html
      	* admin/gitmerge.el (gitmerge-commit-message):
      	Truncate the computed commit message to at most 72 characters per line.
      	(gitmerge-maybe-resume): Don’t use "-" as the commit message for
      	merges; use the computed commit message instead.
      
      2016-03-22  Paul Eggert  
      
      	* admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
      
      2016-03-22  Paul Eggert  
      
      	Change do-not-merge pattern to "do not merge"
      
      	This should avoid the problem we recently had with
      	automatically-generated merge messages, while still letting people
      	specify commits not to merge.
      	* admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
      	(gitmerge-highlight-skip-regexp): Fold case when searching
      	for gitmerge-skip-regexp.
      
      2016-03-22  Paul Eggert  
      
      	Merge from origin/emacs-25
      
      	91e6676 Fix an Isearch var to be a string (Bug#23038)
      	76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
      
      2016-03-22  Paul Eggert  
      
      	-
      
      	-
      
      2016-03-22  Paul Eggert  
      
      	Keep "merge" commits by default in gitmerge
      
      	* admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
      	causes false positives.  See:
      	http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg01234.html
      
      2016-03-22  Paul Eggert  
      
      	Assume NON_BLOCKING_CONNECT (Bug#22946)
      
      	* lisp/proced.el (proced-signal-list): Omit comment about
      	obsolete systems that do not support POSIX 1003.1-2001 signals.
      	* src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
      	assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
      	(connect_network_socket): Assume EINPROGRESS is defined,
      	as that’s portable too now.
      	(Fmake_network_process): Use bool for boolean.
      
      2016-03-21  Eli Zaretskii  
      
      	Fix problems caused by new implementation of sub-word mode
      
      	* lisp/subr.el (forward-word-strictly, backward-word-strictly):
      	New functions.
      	(word-move-empty-char-table): New variable.
      
      	* etc/NEWS: Mention 'forward-word-strictly' and
      	'backward-word-strictly'.
      
      	* doc/lispref/positions.texi (Word Motion): Document
      	'find-word-boundary-function-table', 'forward-word-strictly', and
      	'backward-word-strictly'.  (Bug#22560)
      
      	* src/syntax.c (syms_of_syntax)
      	: Doc fix.
      
      	* lisp/wdired.el (wdired-xcase-word):
      	* lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
      	(texinfo-copy-section-title, texinfo-start-menu-description)
      	(texinfo-copy-menu-title, texinfo-specific-section-type)
      	(texinfo-insert-node-lines, texinfo-copy-next-section-title):
      	* lisp/textmodes/texinfo.el (texinfo-clone-environment)
      	(texinfo-insert-@end):
      	* lisp/textmodes/texinfmt.el (texinfo-format-scan)
      	(texinfo-anchor, texinfo-multitable-widths)
      	(texinfo-multitable-item):
      	* lisp/textmodes/tex-mode.el (latex-env-before-change):
      	* lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
      	* lisp/skeleton.el (skeleton-insert):
      	* lisp/simple.el (count-words):
      	* lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
      	(vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
      	(vhdl-update-sensitivity-list, vhdl-template-block)
      	(vhdl-template-break, vhdl-template-case, vhdl-template-default)
      	(vhdl-template-default-indent, vhdl-template-for-loop)
      	(vhdl-template-if-then-use, vhdl-template-bare-loop)
      	(vhdl-template-nature, vhdl-template-procedural)
      	(vhdl-template-process, vhdl-template-selected-signal-asst)
      	(vhdl-template-type, vhdl-template-variable)
      	(vhdl-template-while-loop, vhdl-beginning-of-block)
      	(vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
      	* lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
      	(verilog-forward-sexp, verilog-beg-of-statement)
      	(verilog-set-auto-endcomments, verilog-backward-token)
      	(verilog-do-indent):
      	* lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
      	(vera-indent-block-closing):
      	* lisp/progmodes/simula.el (simula-context)
      	(simula-backward-up-level, simula-forward-down-level)
      	(simula-previous-statement, simula-next-statement)
      	(simula-skip-comment-backward, simula-calculate-indent)
      	(simula-find-if, simula-electric-keyword):
      	* lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
      	* lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
      	(ruby-smie--forward-token, ruby-smie--backward-token)
      	(ruby-singleton-class-p, ruby-calculate-indent)
      	(ruby-forward-sexp, ruby-backward-sexp):
      	* lisp/progmodes/ps-mode.el (ps-run-goto-error):
      	* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
      	(perl-syntax-propertize-special-constructs)
      	(perl-backward-to-start-of-continued-exp):
      	* lisp/progmodes/pascal.el (pascal-indent-declaration):
      	* lisp/progmodes/octave.el (octave-function-file-p):
      	* lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
      	* lisp/progmodes/js.el (js--forward-function-decl):
      	* lisp/progmodes/idlwave.el (idlwave-show-begin-check)
      	(idlwave-beginning-of-block, idlwave-end-of-block)
      	(idlwave-block-jump-out, idlwave-determine-class):
      	* lisp/progmodes/icon.el (icon-is-continuation-line)
      	(icon-backward-to-start-of-continued-exp, end-of-icon-defun):
      	* lisp/progmodes/hideif.el (hide-ifdef-define):
      	* lisp/progmodes/f90.el (f90-change-keywords):
      	* lisp/progmodes/cperl-mode.el (cperl-electric-pod)
      	(cperl-linefeed, cperl-electric-terminator)
      	(cperl-find-pods-heres, cperl-fix-line-spacing)
      	(cperl-invert-if-unless):
      	* lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
      	* lisp/progmodes/cc-align.el (c-lineup-java-inher):
      	* lisp/progmodes/ada-mode.el (ada-compile-goto-error)
      	(ada-adjust-case-skeleton, ada-create-case-exception)
      	(ada-create-case-exception-substring)
      	(ada-case-read-exceptions-from-file, ada-after-keyword-p)
      	(ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
      	(ada-get-indent-if, ada-get-indent-block-start)
      	(ada-get-indent-loop, ada-get-indent-type)
      	(ada-search-prev-end-stmt, ada-check-defun-name)
      	(ada-goto-decl-start, ada-goto-matching-start)
      	(ada-goto-matching-end, ada-looking-at-semi-or)
      	(ada-looking-at-semi-private, ada-in-paramlist-p)
      	(ada-search-ignore-complex-boolean, ada-move-to-start)
      	(ada-move-to-end, ada-which-function, ada-gen-treat-proc):
      	* lisp/net/quickurl.el (quickurl-grab-url):
      	* lisp/mail/sendmail.el (mail-do-fcc):
      	* lisp/mail/rmail.el (rmail-resend):
      	* lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
      	* lisp/mail/mail-extr.el (mail-extract-address-components):
      	* lisp/json.el (json-read-keyword):
      	* lisp/files.el (insert-directory):
      	* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
      	* lisp/completion.el (symbol-under-point, symbol-before-point)
      	(symbol-before-point-for-complete, next-cdabbrev)
      	(add-completions-from-c-buffer):
      	* lisp/cedet/semantic/texi.el (semantic-up-context)
      	(semantic-beginning-of-context):
      	* lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
      	use 'forward-word-strictly' and 'backward-word-strictly' instead
      	of 'forward-word' and 'backward-word'.
      
      	[This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
      	which was inadvertently lost by merge commit
      	c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
      
      2016-03-21  Paul Eggert  
      
      	* etc/TODO: Minor quoting and grammar fixes.
      
      	[This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
      	which was inadvertently lost by merge commit
      	5ab243f40e4db91586ff74b01a775a5218a1d5be.]
      
      2016-03-21  Alan Mackenzie  
      
      	Don't confuse "::" with ":" when trying to parse member initializers.
      
      	* lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
      	more robustly for ":" token when searching backwards for it.
      
      	* lisp/progmodes/cc-langs (c-:$-multichar-token-regexp): New language
      	variable.
      
      	[This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
      	which was inadvertently lost by merge commit
      	7823745acbe9b87eea2db4ef434e379fc903ec35.]
      
      2016-03-21  Eli Zaretskii  
      
      	Ensure positive number of glyphs for margins of positive width
      
      	* src/dispnew.c (margin_glyphs_to_reserve): Always return a
      	positive value when a non-zero width of the marginal area was
      	requested.  (Bug#22356)
      
      	[This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
      	which was inadvertently lost by merge commit
      	7823745acbe9b87eea2db4ef434e379fc903ec35.]
      
      2016-03-21  Alan Mackenzie  
      
      	In comment-dwim with style `extra-line', respect indent-tabs-mode.
      
      	This fixes bug #22369.
      
      	* lisp/newcomment.el (comment-make-bol-ws): New function.
      	(comment-make-extra-lines): Use new function instead of a crude `make-string'.
      
      	[This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
      	which was inadvertently lost by merge commit
      	7823745acbe9b87eea2db4ef434e379fc903ec35.]
      
      2016-03-21  Eli Zaretskii  
      
      	Merge doc fixes for 'random' lost in previous merge
      
      	[This reapplies part of commit
      	3ffe81e245d854a694ae1734f1b6a995bdc5e724,
      	which was inadvertently lost by merge commit
      	7823745acbe9b87eea2db4ef434e379fc903ec35.]
      	(Bug#22202)
      
      2016-03-21  Eli Zaretskii  
      
      	Unhide the --no-line-directive option to 'etags'
      
      	* lib-src/etags.c (print_help): Un-undocument the --no-line-directive
      	option.  (Bug#22306)
      
      	* doc/man/etags.1: Document the --no-line-directive option.
      
      	[This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
      	which was inadvertently lost by merge commit
      	7823745acbe9b87eea2db4ef434e379fc903ec35.]
      
      2016-03-21  Alan J Third    (tiny change)
      
      	Fix picture-mode wrt double-width characters
      
      	* lisp/textmodes/picture.el (picture-insert): Check the width of
      	the character being replaced, not just that of the replacement.
      	(Bug#1808)
      
      	[This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
      	which was inadvertently lost by merge commit
      	7823745acbe9b87eea2db4ef434e379fc903ec35.]
      
      2016-03-20  Martin Rudalics  
      
      	Resurrect earlier fix of resize_frame_windows
      
      	* src/window.c (resize_frame_windows): Resurrect earlier fix for
      	calculating the number of columns of the minibuffer window which
      	was lost in subsequent merges.
      
      2016-03-20  Lars Magne Ingebrigtsen  
      
      	Move the cert files to the data directory
      
      2016-03-20  Lars Magne Ingebrigtsen  
      
      	Further empty 
    • tweaks * lisp/net/shr.el (shr-tag-li): When showing several empty
    • elements, ensure that they really get inserted on a new line. 2016-03-20 Lars Magne Ingebrigtsen Don't remove too much white space at the end of documents * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't remove too much white space -- leave it on the last line (in case there's a background color). 2016-03-20 Alan Mackenzie Amend parse-partial-sexp correctly to handle two character comment delimiters Do this by adding a new field to the parser state: the syntax of the last character scanned, should that be the first char of a (potential) two char construct, nil otherwise. This should make the parser state complete. Also document element 9 of the parser state. Also refactor the code a bit. * src/syntax.c (struct lisp_parse_state): Add a new field. (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function. (internalize_parse_state): New function, extracted from scan_sexps_forward. (back_comment): Call internalize_parse_state. (forw_comment): Return the syntax of the last character scanned to the caller when that character might be the first of a two character construct. (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment. (scan_sexps_forward): Remove a redundant state parameter. Access all `state' information via the address parameter `state'. Remove the code which converts from external to internal form of `state'. Access buffer contents only from `from' onwards. Reformulate code at the top of the main loop correctly to recognize comment openers when starting in the middle of one. Call forw_comment with extra argument (for return of syntax value of possible first char of a two char construct). (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the doc string. Clarify the doc string in general. Call internalize_parse_state. Take account of the new elements when consing up the output parser state. * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new element 10. Minor wording corrections (remove reference to "trivial cases"). (Low Level Parsing): Minor corrections. * etc/NEWS: Note new element 10, and documentation of element 9 of parser state. 2016-03-20 Lars Magne Ingebrigtsen Allow the shr test files to have trailing blank space. * .gitattributes: Allow the shr test files to have trailing blank space. 2016-03-20 Lars Magne Ingebrigtsen Add tests for empty
      • 2016-03-20 Paul Eggert * src/alloc.c (purecopy): Use AUTO_STRING. 2016-03-20 Lars Magne Ingebrigtsen Ignore invalid base64 encoded embedded images * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64 encoded embedded images (bug#22928). 2016-03-20 Lars Magne Ingebrigtsen Render empty
          • correctly * lisp/net/shr.el (shr-tag-ul): Render empty
              • correctly (bug#22964). 2016-03-20 Lars Magne Ingebrigtsen Fix

                and

                newlines with or without
              • in shr * lisp/net/shr.el (shr-ensure-newline): Respect that we're in a
              • , if we are, and don't insert newlines there. (shr-ensure-paragraph): When mixing newlines and paragraph ensurements, don't insert too many blank lines. (shr-tag-div): A
                shouldn't introduce a paragraph, but a new line. 2016-03-20 Lars Magne Ingebrigtsen Add more shr HTML rendering tests Add a test harness for shr HTML rendering and one test 2016-03-20 Lars Magne Ingebrigtsen Remove code left over from when overlays were used for padding * lisp/net/shr.el (shr-previous-newline-padding-width): Remove. (shr-remove-trailing-whitespace): Ditto. (shr-insert-document): Don't call them. 2016-03-20 Lars Magne Ingebrigtsen Remove trailing blank lines in shr * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function. (shr-insert-document): Use it to remove trailing blank lines at the end of documents, since these never seem to be very useful. 2016-03-20 Lars Magne Ingebrigtsen Don't bug out on nil `patch-buf' arguments * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil `patch-buf' arguments. 2016-03-20 Ernest Adrogué Add a Catalan language environment * international/mule-cmds.el (locale-language-names): Map locale language name `ca' to language environment `Catalan'. * language/european.el: Add definition of language environment for the Catalan language. * leim/quail/latin-pre.el: Add quail rule to the `catalan-prefix' input method to support input of middle dot characters through composition (bug#18279). 2016-03-19 Paul Eggert No need to block input when reading directories * src/dired.c: Don’t include blockinput.h. (open_directory, directory_files_internal_unwind) (directory_files_internal, file_attributes): Don’t block input here, as the reasons for blocking input should no longer apply. See blockinput.h FIXME. (Bug#22996). 2016-03-19 Oscar Fuentes * lisp/vc/vc-hooks.el: Fix typo 2016-03-19 Fabrice Popineau Improve w32notify notifications * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro. (struct notification): 'terminate' is now a HANDLE. (send_notifications): Argument is now a pointer to a notification. Don't loop waiting for the notification to be acknowledged by the main thread; instead, just add the notification to the linked list of notifications waiting to be acknowledged. (watch_end): Don't close the directory handle. (watch_completion): Allocate a new notification structure to be added to the notifications set. Call ReadDirectoryChangesW immediately after adding the new notification, and before sending a message to the main thread about them. (watch_worker): Don't loop calling ReadDirectoryChangesW; instead, call it just once -- it will be called again in watch_completion. Loop waiting for the main thread's indication to terminate. (start_watching): Create the event to be used to indicate to the worker thread that its should terminate. (remove_watch): Indicate to the worker thread that it should terminate. * src/w32term.c (queue_notifications): Loop over all the notifications in the linked list, processing all of them in one go. * src/w32inevt.c (handle_file_notifications): Loop over all the notifications in the linked list. * src/w32xfns.c (init_crit): Initialize the linked list of file notifications. (delete_crit): Free the linked list of file notifications, including any unprocessed notifications left in it. * src/w32term.h (struct notifications_se): New struct. * test/lisp/filenotify-tests.el (file-notify-test02-events) (file-notify-test05-dir-validity): Add read-event calls to facilitate event recognition by the main thread in batch mode. 2016-03-17 Sam Steingold make `vc-log-operation' buffer local to allow multiple simultaneous editing 2016-03-17 Glenn Morris Simplify some rococo Gnus code that loads or tests for other libraries. * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default. * lisp/gnus/mml-smime.el (epg): Simply require it. (mml-smime-use): Simplify the default. Doc fix. * lisp/gnus/mml2015.el (epg-config): Require it. (mml2015-use): Simplify the default. * lisp/gnus/smime.el (password-cache): Simply require it. (password-read-and-add): Remove declaration. 2016-03-16 Glenn Morris * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated. 2016-03-16 Thomas Fitzsimmons Alex Harsanyi Sync with soap-client repository, version 3.1.1 * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error message. (soap-find-port): Delete trailing whitespace. (soap-find-operation): Fix documentation and rename parameter. (soap-find-port): Likewise. (soap-operation-arity): Likewise. * lisp/net/soap-client.el: Update copyright years. (soap-warning): Fix docstring quoting. (soap-decode-date-time): Likewise. (soap-validate-xs-simple-type): Remove tabs for indentation. * lisp/net/soap-inspect.el: Update copyright years. * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not assume xsd:base64Binary values are UTF-8 strings. (soap-decode-xs-basic-type): Likewise. (soap-invoke): Document xsd:base64Binary handling. * lisp/net/soap-client.el (soap-find-port, soap-find-operation) (soap-operation-arity): new defuns (soap-invoke-internal): use soap-find-port, soap-find-operation. 2016-03-15 Paul Eggert Merge from gnulib This incorporates: 2016-03-15 std-gnu11: improve clang support * m4/std-gnu11.m4: Copy from gnulib. 2016-03-14 Lars Magne Ingebrigtsen Disable MOVE more for Dovecot * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also disable MOVE when expirying. (nnimap-split-incoming-mail): And when splitting mail. 2016-03-14 Lars Magne Ingebrigtsen Don't use MOVE on Dovecot * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use MOVE on Dovecot, since it's broken in many versions. (nnimap-quirks): Mark MOVE on Dovecot as non-working. 2016-03-13 Paul Eggert Improve diff hunk headers when maintaining Emacs * .gitattributes: Improve diff hunk header support for makefiles, shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java, Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs somewhere (sometimes just in test cases). * autogen.sh: Add regexes for makefiles and shell scripts. 2016-03-12 Eli Zaretskii Update handling of per Unicode 9.0 * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per Unicode 9.0 changes in UAX#9, paragraph 2.7. 2016-03-11 John Wiegley Merge from origin/emacs-25 facb5e2 Update Emacs manual section related to character folding 4efea8e ; * etc/DEBUG: Fix a typo. (Bug#22984) f8df21b Update admin/notes/unicode 950be68 Add symref-filepattern entries for c?perl-mode 8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them. 985dacf ; NEWS update for the last change in etags 741a6f8 Sync with gnulib 7352c6c Rework C source files to avoid ^( a589e9a By default, etags produces unqualified Perl tag names 72c7438 Indent methods with keyword names correctly 28532a9 Propertize character literals and special global variables differently a7d6f39 ; Fix last change in NEWS 83b2a20 Change how /etc/NEWS presents character folding b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding off by default"" 711ca36 Properly handle lambda as read function (bug 22961) 1b9d616 Propertize operator symbol names with symbol syntax class 9b16bc2 Stop recognizing :#{} as symbol in ruby-mode 366ec77 Allow using the left shift operator without spaces on both sides 02bf7cc Properly handle unquoting in wdired (bug 22938) 16cf469 ; Spelling fix and tighten up comment f50bc04 Allow splat operator before percent literal 991c801 Don't apply the return value of goto-char as syntax class 6e63b3e Guard against nested percent literals 066f3bc Recognize iuwu-mod after an escaped newline 6f7a57c Fix symbolic mode string conversion for s and t 50b9826 Update 'ucs-names' database 993b2fb Improve doc string of 'shell-command' b71c717 Make the code in movemail_strftime more general cc057e4 Speed up redisplay of binary files with long series of nulls e51b27e Remove the highlighting support for quoting 'like this' inside Lisp docstrings b1abce1 Restore leading space in movemail pop output 98b8d44 Fix bidi-paragraph-direction in Rmail view buffer dc9d837 Don't misindent computed property generator methods 7923112 Fix mbox files produced by movemail on MS-Windows c45a1ca doc string file descriptor exhaustion fix 265141b Fix Bug#22814 2016-03-11 John Wiegley Merge from origin/emacs-25 620951f Fix previous fix of enlarge-/shrink-window 2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic 66d2717 Complete temperature units in calc-convert-temperature dbb02bf Make sure to use case-sensitive search 8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344) 100346a Add the missing test case for the previous patch 5aba61e Use the correct dabbrev expansion 2016-03-11 Michael Albinus Remove compat code in Tramp * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Remove compat code. 2016-03-10 Stefan Monnier * lisp/textmodes/tex-mode.el: Complete local envs. Use #'. Use #' for function names. (latex-complete-envnames): Include existing environments in current buffer. (latex-insert-block): Use latex-complete-envnames. (tildify-foreach-ignore-environments): Declare. 2016-03-10 Alain Schneble Fix asynchronous TLS connections on MS-Windows * src/w32.c (sys_write): Don't switch the socket to blocking mode if the connection attempt is in progress. Instead, return either EWOULDBLOCK immediately if the connection is in progress, or the error code produced by '_sys_wait_connect' if the connection failed. Switching the socket to blocking mode was found to interfere with GnuTLS handshake. (Bug#22789) 2016-03-10 Alan Mackenzie Clarify the documentation of nested comments. * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same style are recognized inside nestable comments. (Low-Level Parsing): Clarify that parsing will stop after the start or end of UNNESTED comments. 2016-03-10 Nicolas Richard Add new function display-buffer-reuse-mode-window * lisp/window.el (display-buffer-reuse-mode-window): New function. * doc/lispref/windows.texi (Display Action Functions): Document it. 2016-03-09 Paul Eggert Minor fixes for getaddrinfo_a usage * src/process.c (Fdelete_process): Check gai_cancel return value. That way, there’s no need to invoke gai_error. Check gai_suspend return value. (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8 string. Simplify call to connect_network_socket. (check_for_dns): Avoid unnecessary initialization of local. 2016-03-09 Sam Steingold declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function' The former avoids a compiler warning, the latter fixes a bug whereas the variable is compiled as lexical instead of dynamic. 2016-03-08 Paul Eggert Pacify --enable-gcc-warnings * src/xfns.c (x_create_tip_frame): Omit unused local. (Fx_show_tip): Don’t jump over auto initialization. 2016-03-07 Martin Rudalics Optionally reuse tooltip frames instead of deleting/recreating them. * src/frame.c (tooltip_reuse_hidden_frame): New option. * src/w32fns.c (x_create_tip_frame): Remove argument TEXT. Fix handling of dividers. (x_hide_tip): New function. (Fx_show_tip): Try to reuse old tooltip frame when `tooltip-reuse-hidden-frame' is non-nil and frame parameters have not changed. Insert STRING here instead of passing it to x_create_tip_frame. Compute size of tooltip window with Fwindow_text_pixel_size. Obey Vw32_tooltip_extra_pixels when padding tooltip window. (Fx_hide_tip): Call x_hide_tip. (Vw32_tooltip_extra_pixels): New variable. * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y value. Fix doc-string. * src/xfns.c (x_create_tip_frame): Remove argument TEXT. Call make_frame with mini_p argument false. (x_hide_tip): New function. (Fx_show_tip): Try to reuse old tooltip frame when `tooltip-reuse-hidden-frame' is non-nil and frame parameters have not changed. Insert STRING here instead of passing it to x_create_tip_frame. Compute size of tooltip window with Fwindow_text_pixel_size. (Fx_hide_tip): Call x_hide_tip. * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add customization entry. 2016-03-07 Paul Eggert Assume getaddrinfo in C code * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO. All uses removed. * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS: Say that port numbers can be integer strings. * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl. (socket_connection): Assume HAVE_GETADDRINFO. * lisp/mpc.el (mpc--proc-connect): * lisp/net/network-stream.el (open-network-stream): It’s now OK to use integer strings as port numbers. * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove. (Fmake_network_process): Assume HAVE_GETADDRINFO. 2016-03-07 Paul Eggert Remove support for IRIX The IRIX port wasn’t really working anyway, and the code was getting in the way of other changes (e.g., getaddrinfo fixes). IRIX’s supplier dropped support for IRIX in 2013. * admin/CPP-DEFINES: * configure.ac (opsys): * doc/lispref/os.texi (System Environment): * etc/MACHINES, etc/PROBLEMS: * lisp/find-dired.el (find-grep-options): * lisp/lpr.el (lpr-lp-system): * lisp/ls-lisp.el (ls-lisp-emulation): * lisp/mail/rmail.el (rmail-spool-directory): * lisp/net/net-utils.el (ping-program-options): * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p): * lisp/progmodes/ps-mode.el (ps-mode-print-function): * src/conf_post.h [IRIX6_5]: * src/emacs.c (Vsystem_type): * src/filelock.c (get_boot_time_1): * src/process.c (process_send_signal): * src/unexelf.c (unexec): Omit IRIX-specific code and/or documentation. * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP): Remove. All uses removed. * etc/NEWS: Document the change. 2016-03-06 John Wiegley Revert "Use colors in the VC mode lines" This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b. 2016-03-06 Ken Brown Fix Cygwin-w32 build * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook): Define only if WINDOWSNT, and update all uses accordingly. * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook) (remove_w32_kbdhook): Declare only if WINDOWSNT. (w32_kbdhook_active): Define as 0 if not WINDOWSNT. 2016-03-06 Eli Zaretskii Unbreak the MinGW64 build * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR. See http://lists.gnu.org/archive/html/emacs-devel/2016-03/msg00130.html for the details. Reported by Angelo Graziosi . 2016-03-06 Lars Magne Ingebrigtsen Don't signal errors on E_AGAIN * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an error now that TLS is async. 2016-03-05 Lars Magne Ingebrigtsen Allow making TLS negotiation blocking * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking. * src/gnutls.c (Fgnutls_boot): Provide a new keyword, :complete-negotiation, to specify that we want complete negotiation even if the socket is non-blocking. (gnutls_try_handshake): Complete negotiation if given that keyword. * src/process.h (L): Added gnutls_complete_negotiation_p. 2016-03-05 Lars Magne Ingebrigtsen Don't run ipv6 test on systems without ipv6 * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait): Skip on systems without ipv6. 2016-03-05 Eli Zaretskii Implement getaddrinfo fallback for MS-Windows See http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg01602.html for more details. * nt/mingw-cfg.site (ac_cv_func_getaddrinfo) (ac_cv_func_gai_strerror): Set to "yes", as the configure script's test program is not smart enough to auto-detect these. * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to sys_getaddrinfo and sys_freeaddrinfo. Provide prototypes for sys_getaddrinfo and sys_freeaddrinfo. * src/w32.c (init_winsock): Try loading getaddrinfo and freeaddrinfo from ws2_32.dll. (sys_getaddrinfo, sys_freeaddrinfo): New functions. * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h, and also ws2tcpip.h. (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to sys_getaddrinfo and sys_freeaddrinfo, respectively. (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New functions. 2016-03-04 Glenn Morris * lisp/files.el: Fix recent typo. * lisp/subr.el (read-multiple-choice): Avoid free variable. * doc/lispref/files.texi (File Attributes): Fix typo. 2016-03-04 Lars Ingebrigtsen Make the describe-key prompts clearer * lisp/help.el (describe-key-briefly): Make the prompt clearer (bug#14854). (describe-key): Ditto. 2016-03-04 Lars Ingebrigtsen Allow scrolling while querying multiple choice * lisp/subr.el (read-multiple-choice): Allow scrolling the buffer while querying (bug#22827). 2016-03-04 Lars Ingebrigtsen Add accessors for `file-attributes' * doc/lispref/files.texi (File Attributes): Mention the accessors. * lisp/files.el (file-attribute-type) (file-attribute-link-number, file-attribute-user-id) (file-attribute-group-id, file-attribute-access-time) (file-attribute-modification-time) (file-attribute-change-time, file-attribute-size) (file-attribute-modes, file-attribute-inode-number) (file-attribute-device-number): New functions. * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890). 2016-03-04 Michael Albinus Fix Bug#22814 * lisp/autorevert.el (global-auto-revert-mode): Do not set `auto-revert-use-notify' to nil. * etc/NEWS: Mention this. * etc/PROBLEMS: Remove problem Bug#22814. * src/kqueue.c: Include . (Fkqueue_add_watch): Limit the number of used file descriptors. (Bug#22814) * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled) (file-notify-test00-availability, file-notify-test01-add-watch) (file-notify-test02-events, file-notify-test06-many-events): Use #' read syntax for functions. (file-notify-test05-dir-validity) (file-notify-test06-many-events): Simplify directory creation. (file-notify-test09-sufficient-ressources): New test. 2016-03-04 Lars Ingebrigtsen Fix insertion of edited servers in the dribble file * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't insert explicit newlines, because they're quoted (bug#22903). 2016-03-04 Lars Ingebrigtsen Move cl-seq-tests to the right place after the merge Move cl-seq-tests to the right place after the merge 2016-03-03 John Wiegley Merge from origin/emacs-25 d6f6b7d * etc/AUTHORS: Update the AUTHORS file 5cf7c39 authors.el updates a26f193 ; fix changelog entries fbc85c7 ; make change-history-commit 06da00c Fix Bug#22859 ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select. 1481029 Fix reordering of bidi text in an isolate inside an override 60e0596 Document c-guess-basic-syntax in the CC Mode manual. 2016-03-03 John Wiegley Merge from origin/emacs-25 f5d1435 Fix targets in test/automated/Makefile.in 2016-03-03 John Wiegley Merge from origin/emacs-25 b6d6304 Comment on last change to define-derived-mode 2016-03-03 John Wiegley Merge from origin/emacs-25 cb1e3da Also allow setting the paragraph direction to nil bbe8a89 Made the new OS X visible bell more visible. 2016-03-03 John Wiegley Merge from origin/emacs-25 aae436e Uncomment the next-error-function integration in xref 5f0d096 Remove the word "valid", to avoid ambiguity 2016-03-03 John Wiegley Merge from origin/emacs-25 5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode. (Bug#22814) 0d60bfc Fix ModelSim error parsing 2016-03-03 John Wiegley Merge from origin/emacs-25 b13cab6 Add a eww command to toggle paragraph direction 4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove. 9e078e5 Fix char signedness issue in bidi code 064adf6 * lib-src/pop.c (socket_connection): Fix format string. 14060a9 Avoid inflooping in thing-at-point-looking-at 098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert indent change. b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix. (Bug#22813). d2dd614 Remove unneeded workaround in xftfont.c 9b7593c ; * etc/NEWS: Reflect latest changes in saveplace. fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode 06a872b Fix redisplay on a TTY after 'make-frame' 95f5a43 Make double-click-1 work with unbalanced parens in CC Mode. Fixes bug#5560. 7d206fc Input method polish-slash should not use keyboard translation 8be32cf Fix an assertion 040e0d6 Fix 'toggle-save-place' 5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581) 2016-03-03 John Wiegley Merge from origin/emacs-25 e6a3819 Update HISTORY section in readme for the NextStep interface. f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording. 7c81a0b Improve documentation of 'save-place-mode' cab3f0a Allocate glyph matrices for the initial frame e01c72f Fix white space in last checkin 370eb67 Make `insert-pair' always leave the cursor where documented b594393 etc/NEWS: Mention the new second parameter to `package-install' 2016-03-03 John Wiegley Merge from origin/emacs-25 bd58c13 Improve documentation of focus-related hooks 00a4720 Further improve doc string of 'disable-point-adjustment' c582def Further adaptions in file-notify-tests.el for w32notify a1585e1 Don't bug out on localised dates in gnus-icalendar 2016-03-03 John Wiegley Merge from origin/emacs-25 7bc4820 Make setf for frame-height/width work again 2016-03-03 John Wiegley Merge from origin/emacs-25 6620944 (cl-union): Do not ignore :test argument when lists are equal. 17dd3fb Add `isearch' to `basic-faces' c1ec743 Make $, : and @ "prefix characters" in ruby-mode e72a26e Make find-tag-default-bounds more strict 1bc0e0a Minor fixes in filenotify.el 2016-03-02 Alain Schneble Fix issue of inserting images on some systems * lisp/net/shr.el (shr-tag-img): Construct a non-empty range to pass to shr-image-fetched, to indicate where to insert the image. Fixes the issue introduced with commit 80852f843e69b81618f29cfb9aa4b074946cb3c4 (bug#22789). 2016-03-02 Lars Ingebrigtsen Ensure TLS negotiation progress * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the number of retries so that we try for about a minute. * src/process.c (wait_reading_process_output): Ensure progress for DNS resolution and TLS negotiation. 2016-03-02 Paul Eggert emacs-module.h slight simplification * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ... * src/emacs-module.h: ... from here, as they don’t need to be public. (enum emacs_arity): Remove useless enum tag. The enum value is used in ptrdiff_t contexts. * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change. 2016-03-02 Paul Eggert * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change. 2016-03-02 Paul Eggert emacs-module.c simplification and tuneup * src/emacs-module.c (CHECK_USER_PTR): New function. (module_get_user_ptr, module_set_user_ptr) (module_get_user_finalizer, module_set_user_finalizer): Use it. (module_make_global_ref, module_copy_string_contents) (module_make_string, module_vec_set, module_vec_get): Omit unnecessary runtime tests. For example, vector sizes are always fixnums, so we don’t need to test that they are in fixnum range. 2016-03-02 Philipp Stephani Use standard checks whenever possible. This is possible in all functions where we catch signals anyway. * emacs-module.c (module_make_global_ref, module_funcall) (module_copy_string_contents, module_make_string): Use xsignal0 and CHECK macros for argument checks. 2016-03-02 Paul Eggert Deterministic build improvements * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP, and negate its sense. Use it via AC_SUBST, not AC_DEFINE, and have its value be either empty or --no-build-details. All uses changed. Change option to --disable-build-details. * doc/lispref/cmdargs.texi (Initial Options): Document --no-build-details. * doc/lispref/internals.texi (Building Emacs): * etc/NEWS: Document --disable-build-details. * doc/lispref/intro.texi (Version Info): Say that emacs-build-time can be nil. * lisp/erc/erc-compat.el (erc-emacs-build-time): Now nil if details are omitted. * lisp/erc/erc.el (erc-cmd-SV): * lisp/version.el (emacs-build-time): Now nil if no build details. (emacs-version): Output build time only if build details. * src/Makefile.in (BUILD_DETAILS): New macro. (temacs, bootstrap-emacs): Use it. * src/emacs.c (build_details): New var. (standard_args, main): Support --no-build-details. (Vdeterministic_dump): Remove; all uses replaced by !build_details. (syms_of_emacs): Set Vbuild_details to a boolean, not to a Lisp_Object. * src/lisp.h (build_details): New decl. * src/sysdep.c (init_system_name): When !build_details, set system-name to nil, not to "elided". 2016-03-02 Philipp Stephani Remove build system name from deterministic dumps * configure.ac (DETERMINISTIC_DUMP): New configuration option. * lisp/version.el (emacs-build-time): Add a comment to make the build time deterministic if requested. (emacs-build-system): Make variable deterministic if requested. * src/emacs.c (main): Initialize `deterministic-dump' from the configuration option. (syms_of_emacs): New constant `deterministic-dump'. * src/sysdep.c (init_system_name): Use a constant if a deterministic dump is requested. 2016-03-02 Lars Ingebrigtsen Remove buggy parse-time test * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Remove the iso parse test, since it doesn't work. 2016-03-01 Paul Eggert * src/syntax.c (syntax_multibyte): Omit unnecessary parens. 2016-02-29 Glenn Morris * lisp/emacs-lisp/autoload.el (autoload-timestamps): Experiment with setting to nil. 2016-02-29 Lars Ingebrigtsen Make the revert command in timer-list-mode work * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert command work. 2016-02-29 Glenn Morris * lisp/emacs-lisp/autoload.el (autoload-find-destination): Fix 6-week old merge error. * lisp/emacs-lisp/autoload.el (update-file-autoloads): Ensure timestamps. * lisp/emacs-lisp/package.el (package-generate-autoloads): Disable timestamps. 2016-02-29 Lars Ingebrigtsen Allow binding `url-mime-accept-string' * lisp/url/url-http.el (url-http): Allow binding `url-mime-accept-string' (bug#22855). 2016-02-29 Lars Ingebrigtsen Add a NEWS entry for the colorful VC indicator 2016-02-29 Lars Ingebrigtsen Use colors in the VC mode lines * lisp/vc/vc-hooks.el: Make the mode line faces default to using colors to more clearly tell the user what the status is. 2016-02-29 Lars Ingebrigtsen Support and * lisp/net/shr.el (shr-tag-bdo): New function. (shr-tag-bdi): Ditto. 2016-02-29 Lars Ingebrigtsen Respect * lisp/net/shr.el (shr-tag-html): Respect the "auto" directional HTML setting. 2016-02-29 Lars Ingebrigtsen Default bidi paragraph direction to nil * lisp/net/eww.el (eww-display-html): Default bidi rendering to nil, so that possibly more Arabic web pages render correctly (bug#22786). (eww-setup-buffer): Ditto. 2016-02-29 Mathias Dahl Preserve current column, going up/down in thumbnail view. 2016-02-29 Alan Mackenzie Handle "noise" macros and compiler directives. * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable. * lisp/progmodes/cc-vars.el (c-noise-macro-names) (c-noise-macro-with-parens-names): New customizable variables. (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables. (c-make-noise-macro-regexps): New function. * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat members of c-noise-macro-names as whitespace. (c-forward-noise-clause): New function. (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator) (c-forward-decl-or-cast-1, c-backward-over-enum-header) (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A): Handle "noise clauses" in parallel with, e.g., "hangon key clauses". * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses" in parallel with "prefix-spec keywords". * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call c-make-noise-macro-regexps to initialize the internal variables. * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new facilities. 2016-02-29 Paul Eggert Stop calling res_init Emacs shouldn’t need to call res_init any more, now that nscd or equivalent is everywhere. On modern systems, calling res_init simply slows Emacs down. On ancient systems lacking nscd Emacs will still work well enough with this change; it’s just that it won’t respond to changes in /etc/resolv.conf. * configure.ac (HAVE_RES_INIT): Remove. Worry about -lresolv only when configured --with-hesiod. Hesiod is still used; see, e.g.: https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214 * src/Makefile.in (LIBRESOLV): Remove. All uses removed. 2016-02-29 Glenn Morris * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc. * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms. 2016-02-29 Paul Eggert * src/process.c (Fdelete_process): Simplify cast. 2016-02-29 Lars Ingebrigtsen Use the correct background color when filling nested * lisp/net/shr.el (shr-face-background): Return the first background, because that's the one that's visible (bug#22680). 2016-02-28 Lars Ingebrigtsen Make
                in
              • not insert extra newlines * lisp/net/shr.el (shr-tag-div): Make
                in
              • not insert extra newlines (bug#19587). 2016-02-28 Lars Ingebrigtsen Allow reading Gnus reports from an offline cache * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Allow reading bug reports from an offline cache directory. 2016-02-28 Tino Calancha Meta + shift + Fn combos are recognized by xterm>=216. * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift + Fn combos are recognized by xterm>=216 (bug#22837). 2016-02-28 Simen Heggestøyl Declare $ as an expression prefix in SCSS * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an expression prefix (bug#22841). 2016-02-28 Lars Ingebrigtsen Revert "Declare $ as an expression prefix in SCSS" This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df. Revering to fix author name. 2016-02-28 Simen Declare $ as an expression prefix in SCSS * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an expression prefix (bug#22841). 2016-02-28 Hugh Brown Save buffers before running grep commands * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96). (grep, lgrep, rgrep): Use it (bug#96). * doc/emacs/building.texi (Grep Searching): Document `grep-save-buffers'. * lisp/progmodes/grep.el (grep-save-buffers): Rename from `grep-ask-about-save'. (grep--save-buffers): New function. (grep, lgrep, rgrep): Use it. 2016-02-28 Lars Ingebrigtsen Allow sorting flyspell corrections * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405). (flyspell-sort-corrections-functionx): New variable. (flyspell-sort-corrections-alphabetically): New function. (flyspell-notify-misspell): Use them. (flyspell-auto-correct-word): Ditto. (flyspell-emacs-popup): Ditto. (flyspell-xemacs-popup): Ditto. Suggested by Sebastien Delafond. 2016-02-28 Lars Ingebrigtsen Wait for async DNS to complete before freeing resources * src/process.c (Fdelete_process): Wait for async DNS to complete before freeing the data structures it needs. 2016-02-28 Lars Ingebrigtsen * lisp/faces.el: Remove duplicated functions from previous patch. 2016-02-28 Eli Zaretskii Fix TLS connections on MS-Windows * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and this is a non-blocking socket whose connection is in progress, set errno to EWOULDBLOCK, as expected by GnuTLS and other callers. Avoid overwriting the errno value from 'send' by 'ioctlsocket'. Suggested by Alain Schneble . (Bug#22789) 2016-02-27 Lars Ingebrigtsen Add a NEWS entry for the read-color change 2016-02-27 Jan Moringen Show the face colours when completing in `read-color' * lisp/faces.el (defined-colors-with-face-attributes): New function. (readable-foreground-color, defined-colors-with-face-attributes) (readable-foreground-color): Ditto. (read-color): Use them (bug#5305). 2016-02-27 Lars Ingebrigtsen Clean up the code in parse-time-string-chars * lisp/calendar/parse-time.el (parse-time-string-chars): Clean up the code a bit. 2016-02-27 Lars Ingebrigtsen Add some tests for parse-time.el * test/lisp/calendar/parse-time-tests.el: New file. 2016-02-27 Dima Kogan Strip out some leading whitespace when looking at logs * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking at expanded git logs with `vc-print-root-log' (C-x v L, then by default), Emacs was stripping out all leading whitespace from git logs. I now strip exactly 2 leading spaces, which retains the indentation in the logs (bug#18110). 2016-02-27 Dima Kogan Use a separate history variable for align-regexp * lisp/align.el (align-regexp-history): New variable (bug#16891). (align-regexp): Use it. 2016-02-27 Phil Sung Create subdirectories automatically in wdired * lisp/wdired.el (wdired-create-parent-directories): New variable (bug#6817). (wdired-create-parentdirs): New function. (wdired-do-renames): Use it. * doc/emacs/dired.texi (Wdired): Mention `wdired-create-parent-directories' 2016-02-27 Lars Ingebrigtsen Return the correct error values from gnutls.c * src/gnutls.c (emacs_gnutls_read): Set errno to the value expected by process.c. (gnutls_try_handshake): Set gnutls_p to true earlier to avoid possible race condition with the process.c socket polling functions. 2016-02-27 Aaron S. Hawley Don't make assumptions about mkdir. (Bug#22822) * test/Makefile.in (MKDIR_P): New, set by configure. (%.log): Use MKDIR_P. 2016-02-27 Alexander Kuleshov Support switching to hexl-mode from image-mode * lisp/image-mode.el (image-toggle-hex-display) (image-mode-to-text): New functions. (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to image-toggle-hex-display. (image-mode-map): New menu item "Show as Hex". (image-mode): Update doc string and echo-area message. (image-toggle-display): Support toggle to hex. (Bug#22453) * doc/emacs/files.texi (File Conveniences): Document 'image-toggle-hex-display'. 2016-02-27 Eli Zaretskii Remove unused code in coding.c * src/coding.c (decode_eol): Remove unused code that handled the case of coding->dst_object being nil. Replace it with an assertion. 2016-02-26 Aurelien Aptel * src/syntax.c: Fix result of syntax_multibyte() The ?: operator has a lower precedence than ||. Bug introduced by commit 45b683a. 2016-02-26 Paul Eggert --enable-gcc-warnings now uses -Wjump-misses-init When configuring with --enable-gcc-warnings, also enable -Wjump-misses-init, as it’s confusing to use a goto to skip over an initialization. Fix the few places in the code that run afoul of this warning. * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init. * src/doc.c (Fsubstitute_command_keys): * src/image.c (svg_load_image): * src/regex.c (re_match_2_internal): * src/xdisp.c (redisplay_internal, redisplay_window): Don’t jump over initialization. 2016-02-26 Jussi Lahdenniemi Improve the register-hotkey functionality on MS-Windows * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for keyboard hook functionality. Include w32inevt.h, basetyps.h and unknwn.h. (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros. (kbdhook): A new struct definition. (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key) (check_w32_winkey_state, reset_w32_kbdhook_state): New functions. (modifier_set): Call check_w32_winkey_state if a Win key was pressed and the keyboard hook is active. (w32_wnd_proc): Don't handle Win key combinations if the keyboard hook is active. Only register/unregister the hotkeys if the keyboard hook is not active. When WM_CREATE is received, call setup_w32_kbdhook. When WM_DESTROY is received, call reset_w32_kbdhook_state. (lookup_vk_code): When the keyboard hook is active, map alphanumeric characters to themselves. (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key. Map modified keys to VK_ANY if the keyboard hook is active. Register Alt-x and Win-x combinations. (Fw32_shell_execute): Update doc string to reflect new functionality. Bypass the code that posts the WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active. (Fw32_unregister_hot_key): Bypass the code that posts the WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active. (syms_of_w32fns) : Update doc strings to reflect the new functionality. * src/w32console.c (initialize_w32_display): Install the low-level keyboard hook. * src/w32inevt.c (key_event): Handle Win-x combinations only if the keyboard hook is not active. If the hook is active, use check_w32_winkey_state instead. * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook) (check_w32_winkey_state): Add prototypes. (w32_kbdhook_active): New macro. * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the new functionality. 2016-02-25 Aaron S. Hawley Add forward-sexp (and related) tests * test/lisp/emacs-lisp/lisp-tests.el: New file for testing forward-sexp and related functions (bug#22800). 2016-02-25 Jan Tatarik Don't use (localised) week days in dates * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event:org-timestamp): Don't use (localised) week days in the dates, because that messes up things later. 2016-02-25 Thierry Volpiatto Update pcomplete/find * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version (bug#10487). 2016-02-25 Lars Ingebrigtsen Make parse-time-string-chars more efficient * lisp/calendar/parse-time.el (parse-time-string-chars): The string has already been downcase, so don't care about case (bug#18522). 2016-02-25 Lars Ingebrigtsen Remove killed buffers from the list of Gnus buffers * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed buffers from the list of Gnus buffers (bug#18522). 2016-02-25 Paul Eggert Integer overflow cleanups for ports and socklen * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp) (get_lisp_to_sockaddr_size, Fset_process_datagram_address) (connect_network_socket): Use ptrdiff_t, not int, for signed object sizes. This addresses only a theoretical problem, as in practice these object sizes are less than 2**31, but we might as well use the same style here as elsewhere in Emacs. (string_integer_p): Remove; all uses removed. (Fmake_network_process): Check that port number is in range. When converting an integer-string service, rely on strtol rather than rechecking the string by hand. * src/process.h, src/w32.c (conv_sockaddr_to_lisp): Adjust prototypes to match. 2016-02-24 Thierry Volpiatto Add pcomplete support for find * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support for find (bug#10487). 2016-02-24 Per Starbäck Replace XXX acronyms with draft standard ones * lisp/international/characters.el (c1-acronyms): Replace XXX entries with the acronyms PAD, HOP, SGCI from draft DIS 10646 (bug#13745). 2016-02-24 Kevin Ryde Make checkdoc warn about variables described as "True" * checkdoc.el (checkdoc-this-string-valid-engine): Docstrings for variables "True...", and functions "Return true...", should usually be "non-nil" (bug#15506). 2016-02-24 Lars Ingebrigtsen Add NEWS entry for "number string" change 2016-02-24 Lars Ingebrigtsen Allow using "number strings" as services on non-GNU systems * src/process.c (string_integer_p): New function. (Fmake_network_process): Use it to allow connecting to services specified as "993" even when getaddrbyname isn't available. 2016-02-24 Michael Albinus Fix problem in tramp.texi * doc/misc/tramp.texi (File name completion): Do not use @trampfn{} for IPv6 addresses. Somehow, it results in errors during PDF creation. 2016-02-23 Lars Ingebrigtsen Make image commands available in image-mode * lisp/image-mode.el (image-mode-map): Inherit from `image-map' so that the usual image commands work. 2016-02-23 Lars Ingebrigtsen Move `o' to `O' in shr-map * lisp/net/shr.el (shr-map): `shr-save-contents' has moved from `o' to `O' to avoid collisions with `image-map'. 2016-02-23 Lars Ingebrigtsen Make setting the coding system non-blocking * src/process.c (Fset_process_filter_multibyte): Defer completing coding system setup in asynchronous processes. (Fset_process_coding_system): Ditto. 2016-02-23 Gregoire Jadi Mention `proced-toggle-auto-update' in the proced-mode doc string * lisp/proced.el (proced-mode): Mention `proced-toggle-auto-update' (bug#14341). 2016-02-23 Joshua Datko (tiny change) Add a fortune-message command * lisp/play/fortune.el (fortune-message): Add a command to display fortunes in the echo area (bug#14915). 2016-02-23 Susanne Oberhauser (tiny change) Add hideshow bindings analogous to outline mode * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings analogous to outline mode bindings (bug#15324). 2016-02-23 Bastien Guerry Allow highlighting things like @math{2^{12}} * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Allow highlighting things like @math{2^{12}} (bug#16390). 2016-02-23 Per Bothner Make `C-{up,down,left,right}' work in term mode * lisp/term.el (term-raw-map): Define C-{up,down,left,right} to send the same escape sequence that xterm sends. This makes backward-word and forward-word work in readline (bug#16746). 2016-02-23 Dima Kogan Allow ff-find-other-file (etc) to work with indirect clone buffers * lisp/find-file.el (ff-buffer-file-name): New function to allow the feature to work with indirect buffers, too (bug#16904). (ff-find-the-other-file): Use it. (ff-other-file-name): Ditto. (ff-get-file-name): Ditto. 2016-02-23 Lars Ingebrigtsen Fix error in add-change-log-entry when the entry has no newline * lisp/vc/add-log.el (add-change-log-entry): The entry in the ChangeLog may end without a new line starting with blanks. 2016-02-23 Lars Ingebrigtsen Avoid using mm-util functoins in gravatar.el * lisp/image/gravatar.el (gravatar-retrieve): Avoid using mm-util functions. (gravatar-retrieve-synchronously): Ditto. 2016-02-23 Lars Ingebrigtsen Move low-level library files from the lisp/gnus directory The files moved from lisp/gnus are: auth-source.el -> / compface.el -> /image ecomplete.el -> / flow-fill.el -> /mail gravatar.el -> /image gssapi.el -> /net html2text.el -> /net ietf-drums.el -> /mail mail-parse.el -> /mail mail-prsvr.el -> /mail mailcap.el -> /net plstore.el -> / pop3.el -> /net qp.el -> /mail registry.el -> / rfc1843.el -> /international rfc2045.el -> /mail rfc2047.el -> /mail rfc2231.el -> /mail rtree.el -> / sieve-manage.el -> /net sieve-mode.el -> /net sieve.el -> /net starttls.el -> /net utf7.el -> /international yenc.el -> /mail 2016-02-23 Tino Calancha Allow undoing changes while doing query-replace * doc/lispref/searching.texi (Search and Replace): Mention undo (bug#21684). * lisp/replace.el (query-replace-help): Document undo. (perform-replace): Implement undo while replacing text. 2016-02-23 John F. Trudeau (tiny change) Highlight assignments in Makefiles more correctly * lisp/progmodes/make-mode.el (makefile-macroassign-regex): Highlight assignments preceded by a TAB character correctly (bug#20787). 2016-02-23 Fredrik Bergroth (tiny change) Use memmove instead of memcpy on overlapping regions * src/editfns.c (Ftranspose_regions): Regions may overlap, so use memmove instead of memcpy (bug#19213). 2016-02-23 Paul Eggert Port to --enable-gcc-warnings sans getaddrinfo_a * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED to a local unused when getaddrinfo_a is missing. Resize portbuf to size needed. Do cheap test first. Move local to block where it’s needed. 2016-02-23 Paul Eggert Minor cleanups for async DNS etc. * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED): Omit unnecessary parens. * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit) (gnutls_verify_boot): Use bool for boolean. (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute. * src/process.c (free_dns_request, Fmake_network_process): Allocate and free async request control block all in one go. (set_network_socket_coding_system, finish_after_tls_connection) (connect_network_socket): Now static. (conv_numerical_to_lisp): 2nd arg is now int, not unsigned. (Fmake_network_process): Use list1 for brevity. (wait_for_socket_fds): 2nd arg is now const ptr. * src/process.h (struct Lisp_Process.dns_request): Now struct gaicb *, not struct gaicb **, since there was always exactly one. All uses changed. * src/window.c, src/window.h (run_window_configuration_change_hook): Now static. 2016-02-23 Carlos Pita Allow more shell script defun forms * lisp/progmodes/sh-script.el (sh-mode): Allow more shell script defun forms, like function name () {...} (bug#19754). 2016-02-23 Martin Rudalics Fix `window-configuration-change-hook' and `window-size-change-functions' (1) Run `window-configuration-change-hook' if and only if at least one window was deleted or created or shows another buffer since last redisplay. (2) Run `window-size-change-functions' if and only if at least one window changed its size since last redisplay (in a few cases `window-size-change-functions' will also run when no window changed its size). (3) Provide two functions `window-pixel-height-before-size-change' and `window-pixel-width-before-size-change' that allow to easily detect which window changed size. * src/frame.h (struct frame): New boolean member window_configuration_changed. (FRAME_WINDOW_SIZES_CHANGED): Remove macro. (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro. * src/frame.c (adjust_frame_size): Don't run `window-configuration-change-hook'. * src/window.h (struct window): New fields pixel_width_before_size_change and pixel_height_before_size_change. (WINDOW_INTERNAL_P): New macro. * src/window.c (Fwindow_pixel_width_before_size_change) (Fwindow_pixel_height_before_size_change): New functions. (Fdelete_other_windows_internal, Fwindow_resize_apply) (resize_frame_windows, Fsplit_window_internal) (Fdelete_window_internal, grow_mini_window) (shrink_mini_window, Fresize_mini_window_internal): Don't call FRAME_WINDOW_SIZES_CHANGED. (window_size_changed, window_set_before_size_change_sizes) (run_window_size_change_functions): New functions. (make_window): Initialize pixel_width_before_size_change and pixel_height_before_size_change. (Fdelete_window_internal): Don't call run_window_configuration_change_hook. (struct saved_window): Add pixel_height_before_size_change and pixel_width_before_size_change. (Fset_window_configuration): Try to identify window configuration changes correctly so run_window_configuration_change_hook and run_window_size_change_functions run only if configuration and size really changed. (save_window_save): Set the pixel_height_before_size_change and pixel_width_before_size_change fields. (Vwindow_size_change_functions): Move here definiton from xdisp.c. * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call run_window_size_change_functions. (Vwindow_size_change_functions): Move definition to window.c. * src/xfns.c (x_set_menu_bar_lines): Don't call run_window_configuration_change_hook. * doc/lispref/windows.texi (Window Sizes): Document new functions `window-pixel-height-before-size-change' and `window-pixel-width-before-size-change'. (Window Configurations): Mention that this may trigger execution of `window-size-change-functions' although no window changed size. (Window Hooks): Update descriptions of `window-size-change-functions' and `window-configuration-change-hook'. 2016-02-23 Drew Adams (ls-lisp-insert-directory): Make -B work * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work (bug#20776). 2016-02-23 Lars Ingebrigtsen Fix typo in message-setup-fill-variables * lisp/gnus/message.el (message-setup-fill-variables): Fix typo in a recent checkin that used `setq-default' instead of `setq-local' (bug#22781). 2016-02-23 Lars Ingebrigtsen `message-dont-reply-to-names' can also be a list of regexps * lisp/gnus/message.el (message-dont-reply-to-names): `message-dont-reply-to-names' can also be a list of regexps (bug#22773). 2016-02-23 Vaidheeswaran C Make buttons in header lines work * lisp/help-mode.el (help-button-action): `help-xref-button' in header line doesn't work (bug#21024). 2016-02-23 Vasilij Schneidermann Place apples randomly in Snake * lisp/play/snake.el (snake-score): New variable (bug#21359). (snake-set-dot): Place the apples randomly. 2016-02-23 Tino Calancha Allow optional parameter to be nil * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the optional parameter to be nil (bug#21576). 2016-02-23 Tino Calancha Completely ignore buffers with no name when copying file names * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely ignore buffers with no file name. (bug#21577). 2016-02-23 Lars Ingebrigtsen Make spelling of "Eshell" consistent * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell". * lisp/eshell/eshell.el (eshell-command): Spell it "Eshell" (bug#21678). 2016-02-23 Simen Heggestøyl Allow pretty lambdas in Scheme mode * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow `prettify-symbols-alist' from Lisp mode (bug#21679). 2016-02-23 Lars Ingebrigtsen Rename lisp--prettify-symbols-alist * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Rename from `lisp--prettify-symbols-alist' since we're going to use it in Scheme mode, too. (lisp-mode-variables): Use it. 2016-02-23 Chunyang Xu (tiny change) Remove spurious newline in package list * lisp/emacs-lisp/package.el (describe-package-1): Remove spurious newline (bug#21706). 2016-02-23 Lars Ingebrigtsen Revert "Remove spurious newline in package list" This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d. 2016-02-23 Chunyang Xu Remove spurious newline in package list * lisp/emacs-lisp/package.el (describe-package-1): Remove spurious newline (bug#21706). 2016-02-22 Tino Calancha (tiny change) Keep the position in the process buffer when deleting processes * lisp/simple.el (process-menu-delete-process): Keep the position in the buffer after killing a process (bug#21759). 2016-02-22 Lars Ingebrigtsen Require that the buffer that we're trying to patch exist * lisp/vc/ediff.el (ediff-patch-buffer): Require that the buffer that we're trying to patch exist (bug#21852). 2016-02-22 Tino Calancha (tiny change) Require that the buffer that we're trying to patch exist * lisp/vc/ediff.el (ediff-patch-buffer): Require that the buffer that we're trying to patch exist (bug#21852). 2016-02-22 Tino Calancha (tiny change) Be more verbose when changing frame mode in ediff * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what mode we toggled to (bug#21853). 2016-02-22 Łukasz Stelmach Encode header strings before printing * lisp/ps-print.el (ps-generate-header-line): Encode the header strings to avoid problems with non-ASCII headers (bug#22611). 2016-02-22 Michal Nazarewicz Test message-strip-subject-trailing-was * test/lisp/gnus/message-test.el (message-strip-subject-trailing-was): New test (bug#22632). 2016-02-22 Michal Nazarewicz Make use of the `ert-with-function-mocked' macro * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid): * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use `ert-with-function-mocked' instead of implementing the fragile `unwind-protect' logic openly. 2016-02-22 Michal Nazarewicz message-strip-subject-trailing-was: Refactor * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor the function replacing sequence of `if' calls with a mixture of `or' and `and' calls instead. This makes it shorter and containing less internal state thus easier to follow. 2016-02-22 Michal Nazarewicz ert-with-function-mocked: New macro * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which allows evaluating code while particular function is replaced with a mock. The original definition of said function is restored once the macro finishes. 2016-02-22 Lars Ingebrigtsen Move Gnus functions frm rfc1843 to new file gnus-rfc1843 * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843 interface functions. * lisp/gnus/rfc1843.el: Move all Gnus-specifig functions to gnus-rfc1843. 2016-02-22 Lars Ingebrigtsen Don't use mm-util functions in qp.el * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use mm-util functions. (quoted-printable-encode-string): Ditto. (quoted-printable-encode-region): Ditto. 2016-02-22 Lars Ingebrigtsen Don't require mm-util * lisp/gnus/ietf-drums.el (mm-util): Don't require. 2016-02-22 Lars Ingebrigtsen Remove Gnus functions from auth-source.el * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries): Remove usage of Gnus utility function. (mm-util, gnus-util): Don't require. 2016-02-22 Lars Ingebrigtsen Allow deleting all non-matching cookies * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow keeping matching cookies (bug#22720). 2016-02-22 Lars Ingebrigtsen Make (setf (image-property ...)) return VALUE * lisp/image.el (image--set-property): Return VALUE, not IMAGE. 2016-02-22 John Wiegley Merge from origin/emacs-25 a9c48d5 Additional fixes for file notification 6bd9d69 Fix documentation of 'global-disable-point-adjustment' 8c22ac9 ; Spelling fix 2975784 Set file modes of pinentry socket for extra safety 2667b3e Clarify GnuPG version compatibility chapter 5e34c36 Revert "Change the default socket location for pinentry" e19c1c3 Kill off xref--display-history 5698947 Keep the xref buffer visible until the user quits it explicitly e34fbde Change the default socket location for pinentry 5f89658 Mention how to enable pinentry feature db51224 Sync with gnulib aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook' 2d8b2fd Restore point when writing semantic table to disk 27d3430 Mention pinentry.el in epa manual 5baa001 Fix Bug#22736 7261355 Grammar fix in doc string d0f3b18 Naming fix for consistency 74ec92d Prefer customized value for GnuPG executable ea0b604 Fix memory reservation on MS-Windows c5f72aa Update NextStep readme and add wish list. 6de26a7 Report also result in `file-notify--test-event-handler' 5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir 1cb1268 Fix todo-mode item date editing bugs 1e996cf Fix "[:upper:]" for non-ASCII characters 896f993 Allow customising the article mode cursor behavior 24c1c1d Use pop-to-buffer-same-window in woman.el 2a75f64 New filenotify test for bug#22736 c9bccf7 Report critical battery errors d675db9 Make eww message toggling message clearer 5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment. fa8fd65 ; Improve character-folding entries in NEWS 3722a69 Fix bugs in window resizing code 289d5c6 Fix decoding DOS EOL in a unibyte buffer 2abcb06 Correct c-parse-state cache manipulation error. 14aec91 Take advantage of new GnuPG version check function e80c2a7 Make GnuPG version check robuster 15a9464 Fix x-load-color-file pointer signedness 132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct. 78ab6f1 Follow convention for greek letter constants. 106b5bb Add Stefan-Boltzmann constant to calc units table. b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode. 5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw. (Bug#22669) 2d40f7d Fix soffice UserInstallation-URL for Windows b1a3ebe Fix display of
                 elements
                	57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
                	7a0628d ; * admin/make-tarball.txt: Mention cleaning.
                
                2016-02-22  Oleh Krehel  
                
                	lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
                
                	* lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
                	  non-existing buffer.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Mention the further asynchronousity
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Fix async TLS boot problem
                
                	* src/process.c (wait_reading_process_output): Verify the boot
                	of the correct process.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Clean up forgotten text in manual
                
                	* doc/lispref/display.texi (Defining Images): Remove example
                	forgotten when making previous change.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Clean up debugging code
                
                	* src/process.c (Fmake_network_process): Remove debugging printf.
                	(wait_for_socket_fds, wait_while_connecting)
                	(wait_for_tls_negotiation): Remove newlines from messages.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Fix merge conflicts in network-stream-tests.el
                
                2016-02-21  Paul Eggert  
                
                	Port recent filevercmp addition to MS-Windows
                
                	Reported by Andy Moreton in:
                	http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg01302.html
                	* nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
                	(EXTRA_DIST): Add filevercmp.h.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	add_to_log expects Lisp parameters
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Mention sentinels in conjunction with :nowait t.
                
                	* doc/lispref/processes.texi (Network Processes): Mention the
                	recommended way of using sentinels with :nowait t.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Mention in the doc strings that process functions may block
                
                	(Fprocess_contact, Fprocess_datagram_address)
                	(Fset_process_datagram_address, Fset_network_process_option)
                	(Fprocess_send_region, Fprocess_send_string): Mention that the
                	functions may block.
                	(Fset_process_coding_system): Ditto.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Add blocker warnings to the *Messages* buffer
                
                	* src/process.c (wait_for_socket_fds): Add warning to the log.
                	(wait_while_connecting): Ditto.
                	(wait_for_tls_negotiation): Ditto.
                
                2016-02-21  Lars Ingebrigtsen  
                
                	Rework the image property getter/setters
                
                	* doc/lispref/display.texi (Defining Images): Document the
                	renamed `image-get/set-property' functions.
                
                	* lisp/image.el (image--set-property): Rename from
                	image-set-property.
                	(image-property): Declare a setf form.
                	(image-property): Rename from `image-get-property'.
                
                2016-02-21  Paul Eggert  
                
                	Use Gnulib filevercmp for version comparison
                
                	* admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
                	* doc/lispref/strings.texi (Text Comparison):
                	* etc/NEWS, src/fns.c:
                	* test/src/fns-tests.el (fns-tests-string-version-lessp):
                	Rename newly-introduced function to string-version-lessp, by
                	analogy with strverscmp.
                	* lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
                	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
                	* src/fns.c: Include .
                	(gather_number_from_string): Remove.
                	(Fstring_version_lessp): Reimplement via filevercmp.
                
                2016-02-20  Lars Ingebrigtsen  
                
                	Add a function to delete URL cookies
                
                	* doc/misc/url.texi (Cookies): Document
                	url-cookie-delete-cookies.
                
                	* lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
                
                2016-02-20  Lars Ingebrigtsen  
                
                	Avoid integer overflows in string-numeric-lessp
                
                	* src/fns.c (Fstring_numeric_lessp): If we have an integer
                	overflow, compare lexicographically.
                
                2016-02-20  Lars Ingebrigtsen  
                
                	Add the string-numeric-lessp function
                
                	* doc/lispref/strings.texi (Text Comparison): Document
                	`string-numerical-lessp'.
                
                	* src/fns.c (Fstring_numeric_lessp): New function.
                	(gather_number_from_string): Helper function for that function.
                
                	* test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
                
                2016-02-20  Lars Ingebrigtsen  
                
                	Clarify levels of :nowait t.
                
                	* doc/lispref/processes.texi (Network Processes): Mention
                	levels of asynchronicity.
                
                2016-02-20  Alain Schneble  
                
                	Respect DNS timeouts
                
                	* src/process.c (check_for_dns): If the async DNS request
                	failed and the associated process is still in "connect" state,
                	deactivate the process and set status to "failed".
                
                2016-02-19  Lars Ingebrigtsen  
                
                	Add a frame around the placeholder image in shr
                
                	* lisp/net/shr.el (shr-make-placeholder-image): Add a frame
                	around the image.
                
                2016-02-19  Lars Ingebrigtsen  
                
                	Use placeholder images in shr to avoid text moving around
                
                	* lisp/net/shr.el (shr-rescale-image): Pass in width/height
                	from the HTML.
                	(shr-tag-img): Ditto.
                	(shr-string-number): New function.
                	(shr-make-placeholder-image): Make placeholder images.
                	(shr-tag-img): Insert them if we have SVG support.
                
                2016-02-19  Lars Ingebrigtsen  
                
                	Get explicit width/height + scale computations right
                
                	* src/image.c (compute_image_size): :scale should also be
                	taken into account when :width and :height are explicitly names.
                
                2016-02-19  Lars Ingebrigtsen  
                
                	New functions for getting and setting image properties
                
                	* doc/lispref/display.texi (Defining Images): Document
                	image-get/set-property.
                
                	* lisp/image.el (image-set-property): New function.
                	(image-get-property): Ditto.
                
                2016-02-19  Alan Mackenzie  
                
                	Await the final mouse event in C-h c and C-h k.
                
                	* lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
                	event, keep reading further events until a timeout occurs, to ensure we have
                	the complete mouse event from the user.
                
                2016-02-18  Lars Ingebrigtsen  
                
                	Add a library for creating and manipulating SVG images
                
                	* doc/lispref/display.texi (SVG Images): New section.
                
                	* lisp/svg.el: New file.
                
                2016-02-18  Lars Ingebrigtsen  
                
                	Fix up tests for async TLS negotiation
                
                2016-02-18  Lars Ingebrigtsen  
                
                	Fix coding system setup
                
                	* src/process.c (set_network_socket_coding_system): Pass in
                	the host/service that's been computed already.
                
                2016-02-18  Michael Albinus  
                
                	Reference `tramp-theme' in GNU ELPA.
                
                	* doc/misc/tramp.texi (Frequently Asked Questions):
                	Reference `tramp-theme' in GNU ELPA.
                
                2016-02-17  Lars Ingebrigtsen  
                
                	Verify the TLS connection asynchronously
                
                	* src/gnutls.c (gnutls_verify_boot): Refactor out into its own
                	function so that we can call it asynchronously.
                	(Fgnutls_boot): Use it.
                
                	* src/process.c (wait_reading_process_output): Verify the TLS
                	negotiation.
                
                2016-02-16  Simen Heggestøyl  
                
                	Add column layout module to CSS property list
                
                	* lisp/textmodes/css-mode.el (css-property-ids): Add properties from
                	CSS Multi-column Layout Module.
                
                2016-02-16  Michael Albinus  
                
                	Minor cleanup in CONTRIBUTE and test/README
                
                	* CONTRIBUTE: Remove detailed explanation about testing; this
                	is now in test/README.
                
                	* test/README: Don't mention automated/ subdirectory.
                
                2016-02-15  Glenn Morris  
                
                	Provide 'term/name in lisp/term files.
                
                	* lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
                	* lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
                	* lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
                	* lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
                	* lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
                	* lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
                	* lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
                	For consistency, provide 'term/name in all files that don't already.
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Deactivate the correct process
                
                	* src/process.c (wait_reading_process_output): Deactivate the
                	correct process on failure.
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Implement asynch TLS negotiation
                
                	* src/gnutls.c (gnutls_try_handshake): Factor out into its own
                	function.
                	(emacs_gnutls_handshake): Use it.
                	(emacs_gnutls_read): Just return instead of retrying the handshake.
                
                	* src/process.c (finish_after_tls_connection): Factor out
                	into its own function.
                	(connect_network_socket): Use it.
                	(wait_reading_process_output): Retry TLS handshakes.
                	(wait_reading_process_output): Defer sentinel until TLS completes.
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Simplify the DNS resolution loop a bit
                
                	* src/process.c (wait_reading_process_output): Simplify the
                	DNS resolution loop a bit.
                
                2016-02-15  Alain Schneble  
                
                	Loop over the process list instead of maintaining a separate list
                
                	* src/process.c: Remove declaration/definition of dns_processes list.
                	* src/process.c (wait_reading_process_output): Loop over all processes in
                	Vprocess_alist instead of dns_processes, to check for completed DNS
                	requests.
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Allow setting the filter masks later
                
                	* src/process.c (Fset_process_filter): Don't set the socket
                	masks here, because we may not have a socket yet.
                	(set_process_filter_masks): New function.
                	(connect_network_socket): Set the filter masks here.
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Remove debugging
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Ensure we always free DNS resources when deleting a process
                
                	* src/process.c (free_dns_request): Factor out into own function.
                	(Fdelete_process): When deleting a process, free any DNS
                	structures associated with it.
                	(check_for_dns): Always free all DNS resources.
                
                2016-02-15  Alain Schneble  
                
                	Don't block in set-process-window-size
                
                	* src/process.c (set-process-window-size): Explicitly return Qnil when
                	called with network processes as set_window_size won't work anyway on
                	socket fds.  As a welcome side effect, this makes the blocking
                	wait_for_socket_fds call obsolete.
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Do most of the coding system setup earlier
                
                	* src/process.c (Fmake_network_process): Set the read/write
                	coding systems here, so that special bindings work.
                	(Fmake_network_process): Complete the coding system setup here.
                
                2016-02-15  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	d4b93e1 Minor fixes in global-auto-composition-mode
                	02b037b Allow arithmetic operators inside C++ template constructs.
                	44b16f6 Avoid crashes in semi-malformed 'condition-case'
                	652e5b4 Allow arithmetic operators inside C++ template constructs.
                	d9ea795 Fix regression with 'recent-keys' and keyboard macros
                	903603f Fix wording in a doc-view.el comment
                	cf79616 ; Spelling fixes
                	f8bf1b3 CONTRIBUTE cleanups and updates
                	f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
                	1834ac7 Port to x86 GCC 4.3.1 and earlier
                	8482949 Fix point movement under 'scroll-conservatively'
                	c1313b5 Replace colon in file name (not legal on Windows)
                	f7af26c Fix a typo in edt.texi
                	8badf95 Make 'mmap_realloc' on MS-Windows more reliable
                	856cd94 Grep alias `all' shall not match parent directory
                
                2016-02-15  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	dacde7e * etc/AUTHORS: Update the AUTHORS file
                	478ca5d ; fix changelog entries
                	2b7d006 ; make change-history-commit
                	851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
                	47896c8 ; Improve commentary in insdel.c
                	53ca1e1 Index tilde characters in names of backup files
                	d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
                	b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
                	28bb214 Announce that the `C-x w' bindings are deprecated
                	1c98f98 Suppress GNUstep hardening
                	d82f24b Fix redisplay after a large insertion
                	85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
                	        closed server"
                	e8e3db0 ; Improve merge documentation in CONTRIBUTE
                	5be9989 * lib-src/make-docfile.c: Include stdarg.h.
                	c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
                	        limitations.
                
                2016-02-15  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
                	afe7d1f Revert "Document EXIF image rotation"
                	c6f377c Document OS X LANG default
                	eb4a18c Set locale when run from OS X GUI
                	456c0a3 make-docfile cleanup for I/O, etc.
                	25ec995 Memory-management cleanup in make-docfile
                	02d925e Kevin Gallagher has new email address
                	4ef153b Improve doc strings of 'forward/backward-word-strictly'
                	3ad05a0 Describe Makefile test targets in test/README
                
                2016-02-15  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	10b8ed2 Document EXIF image rotation
                	0f60049 Support integer image rotation and respect EXIF rotations
                	7dd45b6 Quote table names for postgres listings (sql-mode)
                	6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
                	        `backward' optional.
                	ee909aa * lisp/simple.el (next-line-or-history-element): Reset
                	        temporary-goal-column.
                	0a289d3 Suppress ACL ops if configured with --disable-acl
                	1a9dbf5 Mention web bugs
                	fa55da2 Make mm-html-blocked-images default to "" again
                
                2016-02-15  Lars Ingebrigtsen  
                
                	Protect against initial handshake failures
                
                	* src/process.c (connect_network_socket): Mark the connection
                	as failed if the handshake didn't succeed yet.  This should be
                	reworked later.
                
                2016-02-14  Lars Ingebrigtsen  
                
                	Call the network security manager after doing TLS negotiation
                
                	* lisp/net/network-stream.el (network-stream-open-tls):
                	Postpone NSM verification when running async.
                
                	* src/process.c (Fset_process_filter): This function doesn't
                	need to wait.
                	(connect_network_socket): Set the process status to "run" only
                	after TLS negotiation.
                	(wait_for_socket_fds): Take a name parameter for more debugging.
                	(wait_reading_process_output): Don't change status to "run"
                	unless TLS negotiation has finished.
                	(send_process): Wait for the process here instead of
                	send_process_string.
                	(connect_network_socket): Call the network security manager.
                
                2016-02-14  Lars Ingebrigtsen  
                
                	Remove some #ifdefs and update documentation
                
                	* doc/lispref/processes.texi (Network Processes): Remove
                	mention of `dns'.
                
                	* lisp/net/network-stream.el (open-network-stream): Remove
                	mention of `dns'.
                
                	* src/process.c (Fset_process_filter)
                	(Fset_process_window_size, Fprocess_contact)
                	(Fprocess_datagram_address, Fset_process_datagram_address)
                	(Fset_network_process_option, Fprocess_send_region)
                	(Fprocess_send_string, Fset_process_coding_system)
                	(Fset_process_filter_multibyte): Remove the #ifdef
                	HAVE_GETADDRINFO_A checks.
                	(Fprocess_send_string): Wait for TLS negotiation.
                	(wait_for_tls_negotiation): New function.
                	(send_process): Remove the TLS boot check.
                
                	* src/process.c (Fmake_network_process): Ditto.
                
                2016-02-14  Lars Ingebrigtsen  
                
                	Use :nowait t in url-gw
                
                	* lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
                	since we're not differentiating.
                
                2016-02-14  Alain Schneble  
                
                	Add blockers to process functions
                
                	* src/process.c (set-process-filter, set-process-window-size,
                	process-contact, process-datagram-address, set-process-datagram-address,
                	set-network-process-option): Make functions wait (block) on network
                	process until pending DNS requests have been processed and associated
                	socket initialized.
                
                	* src/process.c (process-send-region, process-send-string,
                	process-send-eof): Make functions wait (block) while network process is
                	in connect state.
                
                2016-02-14  Simen Heggestøyl  
                
                	Add fragmentation module to CSS property list
                
                	* lisp/textmodes/css-mode.el (css-property-ids): Add properties from
                	CSS Fragmentation Module Level 3.
                
                2016-02-14  Nicolas Petton  
                
                	* doc/lispref/sequences.texi: Add documentation for seq-map-indexed
                
                2016-02-14  Nicolas Petton  
                
                	New function seq-map-indexed
                
                	* lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
                	* test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	* lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Fix problem with wrong encoding of non-ASCII message bodies
                
                	* lisp/gnus/mml.el (mml-generate-mime-1): Disable
                	multibyteness before encoding the data.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove codepage setup code from mm-util
                
                	* lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
                	(mm-codepage-iso-8859-list): Remove.
                	(mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
                	(mm-setup-codepage-ibm): Remove.
                	(mm-charset-eval-alist): Remove the code pages from the
                	default value.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code for older Emacsen
                
                	* lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
                	XEmacs compat code.
                
                	* lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
                	unused compat function.
                	(gnus-sync-json-plist-p): Ditto.
                
                	* lisp/gnus/message.el (message-default-charset): Make obsolete.
                	(message-info): Remove compat code.
                	(message-setup-fill-variables): Remove kludge needed earlier
                	to not overwrite `normal-auto-fill-function'.
                	(message-split-line): Remove compat code.
                
                	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
                	compat code.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove some compat functions from gmm-utils.el
                
                	* lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
                	compat code.
                	(gmm-image-search-load-path): Remove.
                	(gmm-image-load-path-for-library): Remove.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove the gmm-lazy and nnmail-lazy compat widgets
                
                	* lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
                
                	* lisp/gnus/nnmail.el (nnmail-lazy): Remove.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Clean up nnimap-request-move-article slightly
                
                	* lisp/gnus/nnheader.el (subr-x): Require.
                
                	* lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
                	the code slightly.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Use open-network-stream instead of open-protocol-stream
                
                	* lisp/gnus/nnimap.el: Use open-network-stream instead of
                	open-protocol-stream.
                
                	* lisp/gnus/nntp.el: Ditto.
                
                	* lisp/gnus/pop3.el: Ditto.
                
                	* lisp/gnus/sieve-manage.el: Ditto.
                
                	* lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code that relies on (featurep 'mule)
                
                	* lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
                	compat code.
                
                	* lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
                	Remove compat code.
                
                	* lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
                	Remove compat code.
                
                	* lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
                	Remove compat code.
                	(mm-w3m-standalone-supports-m17n-p): Ditto.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat functions from starttls.el
                
                	* lisp/gnus/starttls.el
                	(starttls-set-process-query-on-exit-flag): Remove.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat functions from smime.el
                
                	* lisp/gnus/smime.el (smime-replace-in-string): Remove.
                	(smime-make-temp-file): Remove.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code from smiley
                
                	* lisp/gnus/smiley.el (smiley-style): Remove compat code.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code from rfc2047
                
                	* lisp/gnus/rfc2047.el (rfc2047-encode-message-header): Remove
                	compat code.
                	(rfc2047-decode-string): Ditto.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat function from pop3
                
                	* lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code in Gnus backends
                
                	* lisp/gnus/nndiary.el (nndiary-error): Remove.
                
                	* lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
                
                	* lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
                
                	* lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
                
                	* lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code from some mml files
                
                	* lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
                	Remove compat code.
                
                	* lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
                	Always use `mail-extract-address-components', since this isn't
                	time critical.
                	(mml-smime-get-dns-cert): Ditto.
                
                	* lisp/gnus/mml.el (mml-preview): Remove compat code.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code and compat functions from mm-util.el
                
                	* lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
                	compat code.
                	(mm-coding-system-priorities)
                	(mm-mule-charset-to-mime-charset, mm-charset-after)
                	(mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
                	(mm-detect-coding-region): Define unconditionally.
                	(mm-detect-mime-charset-region): Ditto.
                	(mm-coding-system-to-mime-charset): It's 'mime-charset now.
                	(coding-system-name)
                	(find-file-coding-system-for-read-from-filename)
                	(find-operation-coding-system): Remove aliases.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove some compat code from mm-*.el
                
                	* lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
                
                	* lisp/gnus/mm-decode.el (mm-tmp-directory)
                	(mm-valid-image-format-p): Remove compat code.
                
                	* lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
                	"Connection" "Close" workaround for older Emacsen.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove compat code and functions from message.el
                
                	* lisp/gnus/message.el (message-send-mail-function): Remove
                	compat code.
                	(message-dont-reply-to-names, message-mode)
                	(message-setup-fill-variables, message-fill-paragraph)
                	(message-remove-blank-cited-lines, message-make-from)
                	(message-forward-rmail-make-body, message-tool-bar-gnome)
                	(message-tab): Remove compat code.
                	(message-completion-in-region): Remove.
                	(message-read-from-minibuffer): Remove compat code.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Declare rfc1843 instead of autoloading
                
                	* lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
                	instead of autoload.
                
                2016-02-13  Eli Zaretskii  
                
                	Avoid signaling an error in 'dired-do-find-regexp-and-replace'
                
                	* lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
                	autoloaded correctly.  (Bug#22613)
                
                2016-02-13  Eli Zaretskii  
                
                	Fix network-stream-tests.el for MS-Windows
                
                	* test/lisp/net/network-stream-tests.el
                	(connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
                	(connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
                
                2016-02-13  Lars Ingebrigtsen  
                
                	Remove some Message compat functions
                
                	* lisp/gnus/message.el (message-kill-all-overlays): Define
                	unconditionally.
                	(message-window-inside-pixel-edges): Remove.
                	(mail-dont-reply-to): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove some Gnus compat code
                
                	* lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
                	(gnus-mm-display-part): Ditto.
                
                	* lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
                	compat code.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Sort groups before inserting them into the group buffer
                
                	* lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
                	Sort groups before inserting them.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Make "unseen" tracking work again in Gnus
                
                	* lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
                	tracking work again.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove Gnus compat functions defined in gnus.el
                
                	* lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
                	(gnus-extent-start-open, gnus-character-to-event)
                	(gnus-assq-delete-all, gnus-add-text-properties)
                	(gnus-put-text-property, gnus-key-press-event-p):
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-uu and win
                
                	* lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
                	compat code.
                
                	* lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
                
                	* lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove several gnus-util compat functions
                
                	* lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
                	(gnus-read-shell-command): Remove.
                	(gnus-match-substitute-replacement): Remove.
                	(gnus-string-match-p): Remove.
                	(gnus-string-prefix-p): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove the gnus-merge alias
                
                	* lisp/gnus/gnus-util.el (gnus-merge): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove the gnus-union alias
                
                	* lisp/gnus/gnus-util.el (gnus-union): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove the gnus-delete-alist alias
                
                	* lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
                	(gnus-delete-alist): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove the gnus-float-time alias
                
                	* lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
                	compat code.
                	(gnus-float-time): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-srvr, start and sum
                
                	* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
                	compat code.
                
                	* lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
                	Remove compat code.
                
                	* lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
                	(gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
                	(gnus-recenter)
                	(gnus-summary-limit-strange-charsets-predicate)
                	(gnus-summary-show-thread): Remove compat code.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-spec.el
                
                	* lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
                	(gnus-balloon-face-function): Remove compat code.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Fix compat change in last check-in
                
                	* lisp/gnus/gnus-group.el
                	(gnus-group-name-charset-group-alist): `find-coding-system'
                	doesn't exist in Emacs.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Always use url-queue
                
                	* lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
                	Always use url-queue.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat functions from gnus-html.el
                
                	* lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-group.el
                
                	* lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
                	(gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Define gnus-diary-kill-entire-line unconditionally
                
                	* lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
                	Define unconditionally.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-cache and gnus-bookmark
                
                	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
                
                	* lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
                	Remove compat code.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-art.el
                
                	* lisp/gnus/gnus-art.el (gnus-article-prepare)
                	(gnus-mime-copy-part, gnus-output-to-file)
                	(gnus-article-reply-with-original)
                	(gnus-button-handle-apropos-variable)
                	(gnus-button-handle-apropos-documentation):
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-agent.el
                
                	* lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
                	Remove compat code.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Rewrite gmm-labels usage to use cl-labels
                
                	* lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
                	(gmm-labels): Remove.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from canlock.el
                
                	* lisp/gnus/canlock.el (defmacro): Remove
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Remove compat code from auth-source
                
                	* lisp/gnus/auth-source.el (auth-source-read-char-choice):
                	Remove compat code.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Fix gnus-group.el compilation warnings about unprefixed variables
                
                	* lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
                	compilation warnings by passing in the dynamic variables as
                	explicit lexical parameters to `eval'.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Fix the :tracker slot name
                
                	* lisp/gnus/registry.el (registry-lookup-secondary): The
                	`tracker' slot is called `tracker', not `:tracker'.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Fix compilation warnings in gnus-art.el
                
                	* lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
                	(gnus-article-hide): Avoid compilation warnings.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Fix compilation warning in gnus-score.el
                
                	* lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
                	compiler.
                
                2016-02-12  Andreas Schwab  
                
                	Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
                
                	This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
                
                	This makes nnimap groups not be activated.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Fix encoding problem introduced by previous patch series
                
                	* lisp/gnus/rfc2047.el: Ditto (bug#22648).
                
                	* lisp/gnus/rfc2231.el: Fix problem created by the
                	mm-replace-in-string conversion.
                
                2016-02-12  Lars Ingebrigtsen  
                
                	Revert "Avoid defvarring prefix-less variables"
                
                	This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
                
                	The defvars are needed if we're doing lexical-binding
                
                2016-02-12  Glenn Morris  
                
                	* test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
                	Make it pass.
                
                	* test/lisp/url/url-auth-tests.el
                	(url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Finish up cl-defmethoding registry,el
                
                	* lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Revert the gnus-replace-in-string change, fix arguments, reapply
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Silence more message.el compilation warnings
                
                	* lisp/gnus/message.el (message-generate-headers): Don't use
                	variable values directly to get the header values, because
                	that breaks with lexical binding (without unprefixed defvars).
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Fix various compilation warnings in message.el
                
                	* lisp/gnus/message.el (message-fix-before-sending): Use
                	read-multiple-choice instead of gnus-multiple-choice.
                	(mm-util): Require.
                	(rfc2047): Require.
                	(message-remove-blank-cited-lines): Use message instead of
                	gnus-message.
                	(message-send): Use y-or-n-p instead of gnus-y-or-n-p.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Silence compilation warning in mm-view
                
                	* lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
                	compilation warning.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Fix epg-related compilation warnings in mml-sec
                
                	* lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
                	library.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	rmail-dont-reply-to-names is obsolete
                
                	* lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
                	the obsolete `rmail-dont-reply-to-names' variable.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Partially revert the defmethod->cl-defmethod change in registry.el
                
                	* lisp/gnus/registry.el (initialize-instance): Use defmethod,
                	since cl-defmethod doesn't work with :after.
                	(initialize-instance): Ditto, but with :before.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Avoid obsolete function in plstore
                
                	* lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
                	instead of the obsolete epg-context-set-armor.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Use cl-defmethod in registry.el
                
                	* lisp/gnus/registry.el: Use cl-defmethod instead of the
                	obsolete defmethod.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Make sieve-manage require sasl
                
                	* lisp/gnus/sieve-manage.el: Fix compilation warning by
                	requiring sasl.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Avoid defvarring prefix-less variable
                
                	* lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	* lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Don't use the obsolete char-valid-p function
                
                	* lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
                	obsolete char-valid-p function.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Fix missed translation in a previous commit
                
                	* lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
                	translation of mailcap-delete-duplicates.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Avoid using mm-make-temp-file
                
                	* lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
                
                	* lisp/gnus/mm-decode.el (mm-display-external): Ditto.
                
                	* lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Fix compilation warning in gnus-start
                
                	* lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
                	mm-make-temp-file.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Avoid the obsoleted defmethod
                
                	* lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
                	defmethod.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Avoid defvarring prefix-less variables
                
                	* lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
                	don't need to `defvar' the short variables to allow `eval' to
                	use them.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	nnweb doesn't need unibyte buffers
                
                	* lisp/gnus/nnweb.el (nnweb-retrieve-headers)
                	(nnweb-read-overview, nnweb-request-article)
                	(nnweb-google-reference): Unibyte buffers are not needed here.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Encode before sending from nnspool
                
                	* lisp/gnus/nnspool.el (nnspool-request-post): Encode data
                	before sending it to the news server.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	nnrss buffers don't have to be unibyte
                
                	* lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
                	to be unibyte just to receive data, I think.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Don't use mm-with-unibyte-current-buffer in mml2015
                
                	* lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
                	mm-with-unibyte-current-buffer.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Don't use mm-with-unibyte-current in mml1991
                
                	* lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
                	mm-with-unibyte-current.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Don't use mm-with-unibyte-current in mml1991
                
                	* lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
                	mm-with-unibyte-current.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Don't use mm-with-unibyte-buffer in utf7
                
                	* lisp/gnus/utf7.el (utf7-fragment-encode): Don't use
                	mm-with-unibyte-buffer.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Remove XEmacs compat code from Gnus helper libraries
                
                	* lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
                
                	* lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
                
                	* lisp/gnus/sieve-mode.el: Remove XEmacs compat.
                
                	* lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Remove XEmacs compat code from Gnus backends
                
                	* lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
                	(mm-inline-image): Rename from mm-inline-image-emacs.
                
                	* lisp/gnus/mml.el: Remove XEmacs compat code.
                
                	* lisp/gnus/nnheader.el: Remove XEmacs compat code.
                
                	* lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
                	XEmacs compat code.
                
                	* lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
                
                	* lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
                	XEmacs compat code.
                
                	* lisp/gnus/nnmairix.el: Remove XEmacs compat code.
                
                	* lisp/gnus/nnrss.el: Remove XEmacs compat code.
                
                	* lisp/gnus/nntp.el: Remove XEmacs compat code.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Remove XEmacs compat functions from mm-util.el
                
                	* lisp/gnus/mm-util.el (mm-special-display-p): Remove.
                	(mm-decode-coding-string, mm-encode-coding-string)
                	(mm-decode-coding-region, mm-encode-coding-region): Remove.
                	(mm-string-to-multibyte): Remove.
                	(mm-char-or-char-int-p): Remove.
                	(mm-ucs-to-char): Remove compat versions of the function.
                	(mm-read-coding-system): Remove.
                	(mm-coding-system-p): Remove compat code.
                	(mm-enrich-utf-8-by-mule-ucs): Remove.
                	(mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
                	(mm-delete-duplicates): Remove.
                	(mm-multibyte-p): Remove compat versions.
                	(mm-xemacs-find-mime-charset-1): Remove.
                	(mm-xemacs-find-mime-charset): Remove.
                	(mm-make-temp-file): Made obsolete.
                	(mm-find-buffer-file-coding-system): Remove XEmacs compat.
                
                2016-02-11  Lars Ingebrigtsen  
                
                	Remove Message and mm-decode XEmacs compat code
                
                	* lisp/gnus/message.el: Remove XEmacs compat code.
                
                	* lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
                
                	* lisp/gnus/mm-util.el: Remove some XEmacs compat code.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove som XEmacs compat code from message.el
                
                	* lisp/gnus/message.el: Remove some XEmacs compat code.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove XEmacs compat code from ietf-drums.el
                
                	* lisp/gnus/ietf-drums.el (ietf-drums-syntax-table): Drop
                	XEmacs compat.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove XEmacs compat code from gravatar.el
                
                	* lisp/gnus/gravatar.el: Remove XEmacs compat code from
                	gravatar.el.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove more XEmacs compat code from Gnus
                
                	* lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
                	(gnus-timer--function): Remove.
                
                	* lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
                	19.2 compat.
                
                	* lisp/gnus/gnus-win.el: Remove XEmacs compat code.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove more XEmacs compat functions from gnus-util.el
                
                	* lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
                	(gnus-get-display-table): Remove.
                	(gnus-format-message): Remove.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove more XEmacs compat functions from Gnus
                
                	* lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
                	(gnus-previous-char-property-change): Remove.
                	(gnus-graphic-display-p): Remove.
                	(gnus-select-frame-set-input-focus): Remove.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove more XEmacs compat code from gnus-util
                
                	* lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
                	all its usages).
                	(gnus-invisible-p): Remove.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove gnus-make-local-hook
                
                	* lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
                	all its usages).
                
                2016-02-10  Lars Ingebrigtsen  
                
                	gnus-replace-in-string -> replace-regexp-in-string
                
                	* lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
                	obsolete.  Transform all usages of it into
                	replace-regexp-in-string.
                
                	* lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove Gnus XEmacs compat
                
                	* lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
                	about code that doesn't work in XEmacs.
                
                	* lisp/gnus/gnus-sum.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-topic.el: Remove XEmacs compat.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove compat functions in gnus-spec.el
                
                	* lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
                	(gnus-substring-function): Remove.
                	(gnus-use-correct-string-widths): Remove.
                	(gnus-make-format-preserve-properties): Remove.
                	(gnus-xmas-format): Remove.
                
                	* lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove Gnus XEmacs compat functions
                
                	* lisp/gnus/gnus-registry.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-salt.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Remove Gnus XEmacs compatibility
                
                	* lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
                	XEmacs compat.
                
                	* lisp/gnus/gnus-dired.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-draft.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
                	XEmacs compat.
                
                	* lisp/gnus/gnus-group.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-html.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-ml.el: Remove XEmacs compat.
                
                	* lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Don't use image-map if it isn't defined
                
                	* lisp/net/shr.el (shr-image-map): Only use image-map as a
                	parent if it's defined (bug#22614).
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Check for MagickAutoOrientImage
                
                	* configure.ac: Check for MagickAutoOrientImage.
                
                	* src/image.c (imagemagick_load_image): Don't use
                	MagickAutoOrientImage unless it's available.
                
                2016-02-10  Lars Ingebrigtsen  
                
                	Document EXIF image rotation
                
                	* doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
                
                2016-02-10  Dima Kogan  
                
                	Support integer image rotation and respect EXIF rotations
                
                	* src/image.c (imagemagick_load_image): Allow integer rotations in
                	addition to floating point rotations (bug#22591).
                	* src/image.c (imagemagick_load_image): Images that have an
                	orientation given in EXIF and have no explicit :rotation tag are now
                	pre-rotated.  All information such as width/height is reported for the
                	rotated image.
                
                2016-02-10  Wolfgang Jenkner  
                
                	* lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
                
                2016-02-09  Lars Ingebrigtsen  
                
                	* lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove compat code from gnus-bookmark.el
                
                	* lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
                	(gnus-bookmark-remove-properties): Remove.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove XEmacs compat code from gnus-a*.el
                
                	* lisp/gnus/gnus-agent.el: Remove compat code.
                
                	* lisp/gnus/gnus-art.el: Remove compat code.
                
                	* lisp/gnus/gnus-async.el: Remove compat code.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove gmm compat functions
                
                	* lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
                	(gmm-write-region): Remove.
                	(gmm-called-interactively-p): Remove.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	* lisp/gnus/ecomplete.el: Remove XEmacs compat code.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove compat code from compface.el
                
                	* lisp/gnus/compface.el: Remove XEmacs compat code throughout.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove the now empty gnus-ems.el and references to it
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove Gnus compat names for mouse bindings
                
                	* lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
                	(gnus-down-mouse-2): Remove.
                	(gnus-down-mouse-3): Remove.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Drop Gnus compat functions
                
                	* lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
                
                	* lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
                
                	* lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Get rid of gnus-ems-redefine
                
                	* lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	* lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove Gnus compat code
                
                	* lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
                	transitional code from ten years ago.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Allow interactively scaling past :max-width etc
                
                	* lisp/image.el (image--current-scaling)
                	(image--image-without-parameters): New functions.
                	(image--change-size): Use them to allow changing the size of a
                	image even if it has :width/:max-width (etc.) already set.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	* lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Allow accessing the image commands via shr
                
                	* lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
                	accessing the image commands.
                
                	* lisp/net/shr.el (shr-image-map): New map used for images.
                	(shr-urlify): Don't overwrite image maps when applying URL maps.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Use a sparse image keymap
                
                	* lisp/image.el (image-map): Use a sparse keymap.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Put a keymap on images created with insert-image and friends
                
                	* lisp/image.el (image-save): New command.
                	(image-rotate): Ditto.
                	(image-map): New keymap.
                	(insert-image): Put the image-map on all images.
                	(insert-sliced-image): Ditto.
                	* doc/lispref/display.texi (Showing Images): Document the
                	image map.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Fix some folding issues in read-multiple-choice
                
                	* lisp/subr.el (read-multiple-choice): Fix folding when you
                	have many items.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Fix typo in last checkin
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove Gnus compat functions
                
                	* lisp/gnus/gnus-ems.el (gnus-mark-active-p)
                	(gnus-region-active-p, gnus-select-lowest-window)
                	(gnus-summary-display-table, gnus-max-width-function): Remove
                	compat functions.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Move non-compat Gnus functions to gnus-util.el
                
                	* lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
                	(gnus-create-image, gnus-image-type-available-p): Move here
                	from gnus-ems.el, since these aren't compat functions.
                
                2016-02-09  Paul Eggert  
                
                	Omit valloc decl if redundant
                
                	* src/gmalloc.c (valloc): Omit decl if malloc.h is included,
                	to pacify --enable-gcc-warnings.
                
                2016-02-09  Wolfgang Jenkner  
                
                	Restore the calloc family.
                
                	* src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
                	They were lost in a4817d8 but calloc is still (marginally) used in
                	code statically liked with emacs, so hybrid_calloc is needed.
                	Also, in the non-hybrid case, we can't get rid of calloc anyway as
                	other libraries liked with emacs may need it.
                	* src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
                
                2016-02-09  Lars Ingebrigtsen  
                
                	Remove some Gnus compat functions
                
                	* lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
                	(gnus-window-inside-pixel-edges, gnus-set-process-plist)
                	(gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
                
                2016-02-09  Paul Eggert  
                
                	-
                
                	-
                
                2016-02-09  Paul Eggert  
                
                	Merge from origin/emacs-25
                
                	4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
                	cc419fb Don't inloop gnus-uu-mark-thread on the last thread
                	51c77a2 Display non-ASCII group names better in prompts
                	f93d669 Default to gpg2 instead of gpg
                
                2016-02-09  Paul Eggert  
                
                	Merge from origin/emacs-25
                
                	9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
                	16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
                	3db6adb * lisp/isearch.el (search-default-mode)
                	4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
                	c77ffc8 Use monitor's resolution for positioning tooltips
                	49e5749 Fix file-notify-test on MS-Windows
                	be1d874 Fix issues found by auditing w32notify code
                	87ae218 Extend etags Ruby support for accessors
                	aa35257 Update publicsuffix.txt.
                	6816bff Ensure that Gnus dribble handling allows removing entries
                	691feae Be consistent when using encoded strings in nnimap data
                	3ed423b Display the decoded Gnus group name
                	5428b5b Use completion-ignore-case instead of defining command
                
                2016-02-09  Paul Eggert  
                
                	Merge from origin/emacs-25
                
                	1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
                	d333716 ; * etc/NEWS: Expand news entry for scss-mode
                	c32c16f ; Better document changes in ls-lisp default behavior
                	dc6eed2 Fix doc string of tls-program
                
                2016-02-09  Paul Eggert  
                
                	Merge from origin/emacs-25
                
                	2c117fc * etc/NEWS: Document new mpc.el features
                	71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
                	9dfece1 Correctly fontify C++ initializations which "look like" functions.
                	4485222 Improve newsticker-treeview-selection-face
                	4236944 Minor fix in tagging Ruby accessors by etags
                	35fc77d Spelling fixes
                	3dda110 Remove 'def X' from the example
                
                2016-02-09  Eli Zaretskii  
                
                	Fix network-stream-tests on MS-Windows
                
                	* test/lisp/net/network-stream-tests.el (make-local-unix-server):
                	Skip if local sockets are not supported.
                
                2016-02-09  Michael Albinus  
                
                	* admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
                
                2016-02-09  Eli Zaretskii  
                
                	Disable 'timer-list'
                
                	* lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
                	command.
                
                2016-02-09  Paul Eggert  
                
                	Avoid aligned_alloc static/extern collision
                
                	* src/alloc.c (aligned_alloc): Define to private name when a
                	static function, to avoid collision with lisp.h extern decl.
                	Reported by John Yates in:
                	http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00439.html
                
                2016-02-08  David Edmondson  
                
                	src/process.c Correctly convert AF_INET6 addresses
                
                	* src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
                	converted to a list of 16 bit quantities by
                	conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
                	same scheme rather than expecting a (longer) list of 8 bit
                	quantities.
                
                2016-02-08  Michal Nazarewicz  
                
                	Make `message-beginning-of-line' aware of folded headers
                
                	* lisp/gnus/message.pl (message-beginning-of-header): New function which
                	moves point to the beginning of a mail header.  The function is aware of
                	folded headers and with non-nil argument looks for the true beginning of
                	a header while with nil argument moves to the indented text of header's
                	value.
                	(message-beginning-of-line): Function is now aware of folded headers and
                	either moves point to the indention of a header or, in visual-line-mode,
                	searches for the beginning of the header.
                
                2016-02-08  Michal Nazarewicz  
                
                	Optimise ‘point in message header’ check
                
                	* lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
                	regular expression matches with a single bound string match thus
                	reducing amount of work the function is doing.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Make the `R' command get the correct relative s
                
                	* lisp/net/eww.el (eww-readable): Preserve the base URL so
                	that image expansions are fetched from the right place (bug#22605).
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Add a mode to list and cancel timers
                
                	* doc/lispref/os.texi (Timers): Menton `timer-list'.
                
                	* lisp/emacs-lisp/timer-list.el: New file.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Add new commands to allow changing the size of images
                
                	* lisp/image.el (image-increase-size, image-decrease-size):
                	New commands.
                	(image-change-size): New function.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Allow the image scale to be a floating point number
                
                	* src/image.c (compute_image_size): The scale can be a
                	floating point number.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Add an IPv6 test
                
                	* test/lisp/net/network-stream-tests.el
                	(connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Use gnutls-serv instead of openssh
                
                	* test/lisp/net/network-stream-tests.el (make-tls-server): Use
                	gnutls-serv instead of openssh.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Skip TLS tests if we don't have openssl
                
                	* test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
                	TLS tests if we don't have openssl and GnuTLS.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Add an IPv6 test
                
                	* test/lisp/net/network-stream-tests.el
                	(connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
                
                2016-02-08  Lars Ingebrigtsen  
                
                	Use gnutls-serv instead of openssh
                
                	* test/lisp/net/network-stream-tests.el (make-tls-server): Use
                	gnutls-serv instead of openssh.
                
                2016-02-08  Daniel Colascione  
                
                	Performance improvements for vc-hg
                
                	Teach vc-hg how to read some Mercurial internal data structures,
                	allowing us to avoid the need to run hg status -A, which is very slow
                	for large repositories.  Fall back to running hg if anything looks
                	funny.  vc-hg now puts the _working directory_ revision in the
                	modeline instead of the file revision, which greatly improves
                	performance and which allows us to again skip running hg in the case
                	that we have an active bookmark.
                
                	* lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
                	(vc-hg-symbolic-revision-styles)
                	(vc-hg-use-file-version-for-mode-line-version)
                	(vc-hg-parse-hg-data-structures): New user preferences
                	(vc-hg--active-bookmark-internal, vc-hg--run-log)
                	(vc-hg--symbolic-revision, vc-hg-mode-line-string)
                	(vc-hg--read-u8, vc-hg--read-u32-be)
                	(vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
                	(vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
                	(vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
                	(vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
                	(vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
                	(vc-hg--ignore-patterns-valid-p)
                	(vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
                	(vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
                	(vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
                	(vc-hg-state-fast): New functions.
                	(vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
                	(vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
                	(vc-hg--dirstate-scan-cache): New internal variables.
                	* lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
                	before updating modeline.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Skip TLS tests if we don't have openssl
                
                	* test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
                	TLS tests if we don't have openssl and GnuTLS.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Automatically scale images up on high-density screens
                
                	* doc/lispref/display.texi (ImageMagick Images): Mention :scale.
                	(Defining Images): Mention image-scaling-factor.
                
                	* lisp/image.el (image-compute-scaling-factor): New function
                	(bug#22172).
                	(create-image): Use it.
                	(image-scaling-factor): New variable.
                
                	* src/image.c (compute_image_size): Take :scale into account.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Ensure progress when fetching from the queue
                
                	* lisp/url/url-queue.el (url-queue-check-progress): Ensure
                	that we have progress when fetching queued requests (bug#22576).
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Make mail-extract-address-components return the user name more
                
                	* lisp/mail/mail-extr.el (mail-extract-address-components):
                	Return the name even if it's the same as the mailbox name (if
                	`mail-extr-ignore-single-names' isn't set) (bug#22594).
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Message no longer warns about unknown top level domains
                
                2016-02-07  Jarno Malmari  
                
                	Add tests for url-auth
                
                	* test/lisp/url/url-auth-tests.el: New file.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Add a TLS connection test
                
                	* test/lisp/net/network-stream-tests.el (connect-to-tls): Add
                	a TLS connection test.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Add more network tests
                
                	* test/lisp/net/network-stream-tests.el (echo-server-nowait):
                	New test.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Add network tests
                
                	* test/lisp/net/network-stream-tests.el: New suite of network tests.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Add a TLS connection test
                
                	* test/lisp/net/network-stream-tests.el (connect-to-tls): Add
                	a TLS connection test.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Add more network tests
                
                	* test/lisp/net/network-stream-tests.el (echo-server-nowait):
                	New test.
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Add network tests
                
                	* test/lisp/net/network-stream-tests.el: New suite of network tests.
                
                2016-02-07  Foo  
                
                	Allow various Gnus and Message address variables to be functions
                
                	* doc/misc/gnus.texi (To From Newsgroups):
                	gnus-ignored-from-addresses can be a function.
                
                	* doc/misc/message.texi (Wide Reply):
                	message-dont-reply-to-names can be a function.
                
                	* lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
                	message-alternative-emails can be a function.
                
                	* lisp/gnus/gnus-notifications.el (gnus-notifications):
                	message-alternative-emails can be a function (bug#22315).
                
                	* lisp/gnus/gnus-sum.el
                	(gnus-summary-from-or-to-or-newsgroups):
                	gnus-ignored-from-addresses can be a function (bug#22315).
                
                2016-02-07  Lars Ingebrigtsen  
                
                	Fix typo in Gnus regexp
                
                	* lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
                	typo in last change to this regexp (bug#22592).
                
                2016-02-07  Paul Eggert  
                
                	Port to FreeBSD x86
                
                	Reported by Herbert J. Skuhra in:
                	http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00336.html
                	* src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
                	since malloc always returns a multiple of 8 in FreeBSD.
                
                2016-02-07  Alan Mackenzie  
                
                	On leaving CC Mode, clean up by removing character properties.
                
                	* lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
                	all instances of the text properties/extents category, syntax-table,
                	c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
                
                2016-02-06  Lars Ingebrigtsen  
                
                	message-valid-fqdn-regexp no longer exists
                
                	* lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
                	the no-longer-existing message-valid-fqdn-regexp variable.
                
                2016-02-06  Lars Ingebrigtsen  
                
                	Remove message-valid-fqdn-regexp, since it changes too much now
                
                	* lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
                	(message-bogus-recipient-p): Don't use it any more.
                	(message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
                
                2016-02-06  Paul van der Walt  
                
                	Match "Re :" as a "Re:" prefix
                
                	* lisp/gnus/message.el (message-subject-re-regexp): Also match
                	"Re :" as a "Re:" prefix (commonly used in France).
                
                2016-02-06  Adam Sjøgren  
                
                	lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
                
                	* lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
                
                2016-02-06  David Edmondson  
                
                	src/process.c Correctly convert AF_INET6 addresses
                
                	* src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
                	converted to a list of 16 bit quantities by
                	conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
                	same scheme rather than expecting a (longer) list of 8 bit
                	quantities.
                
                2016-02-05  Martin Jesper Low Madsen  
                
                	Search for host/port combinations in auth-source on OS X
                
                	* lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
                	Search for all host/port (or protocol) combinations for a match in
                	the OS X keychain.
                
                2016-02-05  Lars Ingebrigtsen  
                
                	Remove nonsensical setting of gnus-newsgroup-unseen
                
                	* lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
                	setting of gnus-newsgroup-unseen.
                
                2016-02-05  Lars Ingebrigtsen  
                
                	Use underline on all terminals that support it
                
                	* lisp/subr.el (read-multiple-choice): Use
                	display-supports-face-attributes-p instead of
                	display-graphic-p to determine whether we can use underlining.
                
                2016-02-05  Lars Ingebrigtsen  
                
                	Make the nsm query say what it did after the user interaction
                
                	* lisp/net/nsm.el (nsm-query): Issue a message about
                	aborting/accepting messages (suggested by N. Jackson)
                	(bug#22531).
                
                2016-02-05  Paul Eggert  
                
                	Omit XLI (init) == 0 optimization in make-vector
                
                	* src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
                	== 0) case, as this optimization is probably not worth the hassle.
                	Just for the record, the test for that case could have been
                	(XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
                	assuming the typical platform with no padding bits and where
                	conversion to int omits the most significant bits.
                
                2016-02-05  Paul Eggert  
                
                	* autogen.sh: Port to dash (Bug#22556).
                
                2016-02-05  Michael Albinus  
                
                	Minor cleanup for Tramp "doas".
                
                	* doc/misc/tramp.texi (Inline methods): Add "doas" method.
                
                	* etc/NEWS: Add Tramp connection method "doas".
                
                	* lisp/net/tramp-sh.el (tramp-methods) :
                	Add `tramp-remote-shell-args'.
                
                2016-02-05  Xi Lu  
                
                	* lisp/net/tramp-sh.el (tramp-methods) : Add.  (Bug#22542)
                
                	(tramp-default-user-alist): Add rule for "doas".
                	(top): Completion function for "doas" is
                	`tramp-completion-function-alist-su'.
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Restore the window configuration
                
                	* lisp/net/nsm.el (nsm-query-user): Restore the window
                	configuration (bug#22532).
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Use an X popup in read-multiple-choice if running from a mouse command
                
                	* lisp/subr.el (read-multiple-choice): Use an X popup if
                	called from a mouse action (bug#19368).
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Display cursor in echo area when prompting
                
                	* lisp/subr.el (read-multiple-choice): Display the cursor in
                	the echo area when prompting (bug#19368).
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Make NSM prompting clearer
                
                	* lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
                	to prompt in a nicer way (bug#19368).
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Underline read-multiple-choice-face
                
                	* lisp/faces.el (read-multiple-choice-face): Also underline
                	the choice.
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Make url.el use async DNS
                
                	* lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
                
                	* src/process.c (syms_of_process): Add a `dns' subfeature for
                	make-network-process.
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Only do async DNS if requested with :nowait 'dns
                
                	* doc/lispref/processes.texi (Network Processes): Mention the
                	dns value of :nowait.
                
                	* src/process.c (Fmake_network_process): Only do async DNS if
                	:nowait is `dns'.
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Add sanity check for checking async DNS
                
                	* src/process.c (check_for_dns): Disregard processes that have
                	already been killed.
                
                2016-02-04  Lars Ingebrigtsen  
                
                	Make the read-multiple-choice prompt a bit prettier
                
                	* doc/lispref/commands.texi (Reading One Event): Mention
                	read-multiple-choice-face.
                
                	* lisp/subr.el (read-multiple-choice): Make the prompting a bit
                	prettier.
                
                2016-02-04  Paul Eggert  
                
                	Prefer memcpy and memset to doing it by hand
                
                	* src/alloc.c (Fmake_vector):
                	* src/ccl.c (setup_ccl_program):
                	Use memset to clear array.
                	* src/alloc.c (Fvector, Fmake_byte_code):
                	* src/charset.c (Fdefine_charset_internal):
                	Use memcpy to copy array.
                
                2016-02-04  Nicolas Petton  
                
                	Do not ignore redirections of 301, 302 and 307 status codes
                
                	The current version of HTTP/1.1 (RFC 7231) no longer requires
                	confirmation on 301, 302 or 307 status codes, therefore we do not have
                	to ignore redirects for other requests than GET and HEAD.
                
                	* lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
                	and 307 redirects for other requests than GET and HEAD.
                
                2016-02-04  Mark Oteiza  
                
                	* lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
                
                2016-02-04  Paul Eggert  
                
                	Simplify USE_ALIGNED_ALLOC
                
                	* src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
                	in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
                
                2016-02-04  Eric Abrahamsen  
                
                	Honor docstring of gnus-group-get-new-news
                
                	* lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
                	is t, but non-numeric, unconditionally consider all groups to need
                	updating.
                
                2016-02-04  Lars Ingebrigtsen  
                
                	New function read-multiple-choice
                
                	* doc/lispref/commands.texi (Reading One Event): Document
                	read-multiple-choice.
                
                	* lisp/faces.el (read-multiple-choice-face): New face.
                
                	* lisp/subr.el (read-multiple-choice): New function.
                
                2016-02-03  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	ee73997 Make erc work better when encountering unknown prefix chars
                	b99141d Make erc completion case-insensitive again
                	66c4620 Make complection in erc use consistent casing
                	8c562b2 Make /QUIT in erc more robust
                	d93d2c5 Make tracking faces in Emacs work more reliably
                	af6ab7e Make shr not bug out on images on non-graphical displays
                	3311f40 Fix bookmark display widths
                	d90ab1e Fix typo in eww-make-unique-file-name
                	7f81825 Make it possible to TAB to input fields
                	a43a1dc Insert complete alt texts when images are disabled
                	56ed4e1 Allow eww text fields to grow
                	66b315c Make erc work when subword-mode is switched on
                	255b68f Fix IMAP doc example
                	91557f5 Quoting fixes in doc strings and diagnostics
                	2c0dc9f Fix warning message in hack-local-variables
                	504696d Etags: yet another improvement in Ruby tags
                	8784ebf Fix x-popup-menu on TTYs without a mouse
                	8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
                	        pcase macro
                	6191003 Use pop-to-buffer-same-window in eww
                	fe321fd * autogen.sh: Revert all recent changes.
                	74ebd4a * make-dist: Updates related to nt/.
                	737193a * make-dist: Add modules/.
                	3696bf2 * make-dist: Update for super-special file that can't live in etc/.
                	a4278e2 Fix failure to compile ns-win.el in parallel builds
                	860da4d Fix names of tags generated for Ruby accessors
                	f6213ce Fix file-name recognition in 'etags'
                	e42e662 Change Ruby file names and extensions recognized by 'etags'
                	58bfb6a More improvements for Ruby support in 'etags'
                	c04e911 Add --git-config option to autogen.sh
                	5713466 Fix editing undo changes in eww fields
                	51362d6 Allow the user more control of popping up the eww window
                	ee0fbd8 Make eww-browse-url with new-window parameter work again
                	9c3142d Clean up eww code slightly
                	cb035f3 Don't insert nil faces in shr
                	4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
                	93f2153 Improve the custom type of some user options.
                	9f60d7e Mark some risky calendar variables.
                	1d07dcd Highlight two additional SCSS keywords
                	ee8b466 Recommend enabling integrity-checking in git
                	e639e10 Some corrections in Elisp manual
                	d766ca8 Chatter when autogen.sh changes Git configuration
                	3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
                	43cb9f8 Omit unnecessary history from Lisp intro
                	2fbd1da * etc/HISTORY: Add some more history, plus git tags.
                	c90e1b4 Improve elisp “Security Considerations” doc
                	cedd7ca autogen.sh now arranges for git to check hashes
                	86ce76b ; Fix ChangeLog.2 commit ID.
                	7b1d2b1 Fix (c & 040) typo in emergency escapes
                	a8273da Fix display of overlay strings with 'display' and 'box' property
                	fc48106 Fix imap-starttls-open
                	cdecbed Fix return value of imap-starttls-open
                	20c7e34 ; * etc/NEWS: Fix renamed command name
                	98bdbdb Correct reference to DARWIN_OS preprocessor symbol
                	b250d29 Spelling fix
                	b920a0e Spelling fixes
                	93b144b Pacify GCC on C library without glibc API
                
                2016-02-03  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
                	        priority of non-free Chrome.
                	0fac75f Improve the custom type of some user options.
                	2df0e04 Highlight CSS variables with variable name face
                	3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
                	        user-serviceable.
                	2a5233c Mark some user options that can get evalled as risky.
                	39b166f Disable DebPrint in sys_read on MS-Windows
                	9fd0189 ;Fix ChangeLog entry
                	4bb7233 Fix typos in Introduction to Emacs Lisp manual
                
                2016-02-03  Mark Oteiza  
                
                	Add a new command to switch between erc buffers
                
                	* doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
                	* etc/NEWS: Mention new command
                	* lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
                	(eww-mode-map): Add menu item
                	(eww-switch-to-buffer): New command
                
                2016-02-03  David Edmondson  
                
                	Make erc work better when encountering unknown prefix chars
                
                	* lisp/erc/erc.el (erc-channel-receive-names): Output a warning
                	instead of erroring out on unknown prefix chars (bug#22380).
                
                2016-02-03  Vasilij Schneidermann    (tiny change)
                
                	Allow sending empty hidden values in eww
                
                	* lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
                	values (bug#22388).
                
                2016-02-03  Andrew Hyatt  
                
                	Remove packages obsoleted before Emacs 24.
                
                	In accordance with the policy discussed in the emacs-devel list,
                	packages that have been obsoleted for a full major release cycle are up
                	for deletion.
                
                	This removes almost all packages that are now eligible for deletion,
                	with the exception of "cl-compat", which seems it is likely to still be
                	used, and "optional", which offers some functionality that doesn't have
                	a replacement yet.
                
                2016-02-03  Paul Eggert  
                
                	Mention context when resume from emergency escape
                
                	That way, if the user has been doing something else for a while,
                	they are reminded of the situation when restarting Emacs,
                	and are more likely to understand the two questions.
                	* doc/emacs/trouble.texi (Emergency Escape): Document this.
                	* src/keyboard.c (handle_interrupt): Implement this.
                
                2016-02-03  Paul Eggert  
                
                	Port aligned_alloc decl to Cygwin.
                
                	Problem reported by Ken Brown (Bug#22522#38).
                	* configure.ac (aligned_alloc): Check for decl too.
                	* src/lisp.h (aligned_alloc): Declare if not already declared.
                
                2016-02-02  Paul Eggert  
                
                	autogen.sh now configures git only on request
                
                	* autogen.sh (do_autoconf, do_git): New vars.
                	Support new arguments --help, all, autoconf, git.
                	By default, just do autoconf-related configuration, not git.
                	Prefer 'echo' to 'cat <
                
                	Doc fixes and refactorings based on comments from Eli Zaretskii
                
                	* doc/lispref/processes.texi (Network Processes): Clarify the
                	meaning of :tls-parameters.
                
                	* lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
                
                	* lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
                	own function.
                	(gnutls-negotiate): Use it.
                	(open-gnutls-stream): Ditto.
                
                	* src/eval.c (vformat_string): Refactor out the printing bits
                	from verror.
                	(verror): Use it.
                
                	* src/gnutls.c (boot_error): Mark failed processes with the
                	real error message.
                
                	* src/lisp.h: Declare vformat_string.
                
                2016-02-02  Paul Eggert  
                
                	Build with C11 if available
                
                	* admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
                	* m4/std-gnu11.m4: New file, from gnulib.
                	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
                
                2016-02-02  Paul Eggert  
                
                	Update gnulib copy
                
                	* doc/misc/texinfo.tex: Copy from gnulib.
                
                2016-02-02  Glenn Morris  
                
                	* lisp/vc/add-log.el (change-log-directory-files, find-change-log):
                	Doc tweaks.
                
                2016-02-02  Paul Eggert  
                
                	Port better to platforms lacking aligned_alloc
                
                	Problem reported by Ken Brown (Bug#22522).
                	* src/lisp.h (hybrid_aligned_alloc)
                	[HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
                
                2016-02-02  Paul Eggert  
                
                	Port malloc.h hygiene fix to LTO
                
                	* src/alloc.c (__malloc_initialize_hook):
                	Make it externally visible (Bug#22522).
                
                2016-02-01  Lars Ingebrigtsen  
                
                	Build fix for --enable-check-lisp-object-type
                
                	* process.c (check_for_dns): Type fix reported by YAMAMOTO
                	Mitsuharu.
                
                2016-02-01  Glenn Morris  
                
                	Make find-change-log prefer a VCS root, if no ChangeLog exists.
                
                	* lisp/vc/add-log.el (change-log-directory-files): New option.
                	(find-change-log): Respect change-log-directory-files.
                	* doc/emacs/maintaining.texi (Change Log Commands):
                	Mention change-log-directory-files.
                
                2016-02-01  Lars Ingebrigtsen  
                
                	Boot parameter check fix
                
                	* process.c (send_process): Fix test for boot parameters noted
                	by Andy Moreton.
                
                2016-02-01  Paul Eggert  
                
                	Double static heap size.
                
                	* src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
                	small on FreeBSD (Bug#22086).
                
                2016-02-01  Michael Albinus  
                
                	Fix Bug#20821
                
                	* lisp/net/tramp.el (tramp-file-name-handler):
                	* lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
                	Use `tramp-drop-volume-letter'.  (Bug#20821)
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Style fix
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Return the correct server port number
                
                	* process.c (connect_network_socket): Return the correct
                	server port number.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Fix autoconf test for getaddrinfo_a
                
                	* configure.ac: Make the test for getaddrinfo_a work.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Better async error reporting
                
                	* process.c (connect_network_socket): Mark failed processes
                	with a better error message.
                	(check_for_dns): Ditto.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Clarify :tls-parameters.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Always boot TLS if given parameters
                
                	* src/process.c (connect_network_socket): If we have the TLS
                	parameters, then boot the socket.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Add documentation for :tls-parameters
                
                	* doc/lispref/processes.texi (Network Processes): Mention
                	:tls-parameters.
                
                	* src/process.c (Fmake_network_process): Document the
                	:tls-parameters parameter.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Build fix for glibc systems.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Make network connections work again on non-glibc systems
                
                	* lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
                	keywords in directly so that they can be used when doing
                	synchronous DNS on non-synchronous connections.
                
                	* lisp/net/network-stream.el (open-network-stream): Allow
                	passing in the TLS parameters directly.
                
                	* src/process.c (conv_numerical_to_lisp): New function to convert
                	numerical addresses to Lisp.
                	(Fmake_network_process): Rework the non-HAVE_ADDRINFO code
                	paths so that they work again.
                	(syms_of_process): Build fix for non-glibc systems.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Windows build fix
                
                	* process.c (Fmake_network_process): Build fix for systems
                	without local sockets.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Use XCAR/XCDR instead of Fcar etc
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Fix GC problem in async TLS connection
                
                	* process.h: All Lisp_Object slots have to come first,
                	otherwise they won't be protected from gc.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Further TLS async work
                
                	* gnutls.c (boot_error): New function to either signal an
                	error or return an error code.
                	(Fgnutls_boot): Don't signal errors when running asynchronously.
                
                	* process.h (pset_status): Move here from process.c to be
                	able to use from gnutls.c.
                
                	* process.c (connect_network_socket): Do the TLS boot here
                	when running asynchronously.
                	(wait_reading_process_output): Rework the dns_processes
                	handling for more safety.
                
                2016-01-31  Lars Ingebrigtsen  
                
                	Clean up dead code
                
                	* lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
                
                2016-01-31  Dave Barker  
                
                	Add ability to give rcirc servers an alias name
                
                	* lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
                	customization option.
                	(rcirc, rcirc-connect): Take server alias into account.
                
                2016-01-31  Paul Eggert  
                
                	Port new hybrid malloc to FreeBSD
                
                	Problem reported by Wolfgang Jenkner in: http://bugs.gnu.org/22086#118
                	* src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
                	(__morecore) [HYBRID_MALLOC]: Define in this case too.
                
                2016-01-31  Wolfgang Jenkner  
                
                	* configure.ac: Stop using mmap for buffers for FreeBSD.
                
                2016-01-31  Michael Albinus  
                
                	Merge changes from Tramp repository
                
                	* doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
                	No EXTRA_OPTS needed.
                
                	* doc/misc/tramp.texi: Merge changes from Emacsemacs-25
                	branch, especially for @trampfn{}.
                	(Top): Move @ifnottex down.
                	(History): XEmacs support has been removed.
                	(GVFS based methods, Remote processes): Do not use emacsgvfs flag.
                	(Auto-save and Backup): Use both syntax versions.
                	(File name Syntax): Remark on IPv6 adresses is valid for
                	unified syntax only.
                
                	* doc/misc/trampver.texi: Do not set emacsgvfs flag.
                
                2016-01-30  Paul Eggert  
                
                	Spelling fixes
                
                2016-01-30  Glenn Morris  
                
                	* lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
                
                2016-01-30  Matthew Carter  
                
                	Quote table names for postgres listings (sql-mode)
                
                	* lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
                	  unquoted table names to the completion list.
                
                2016-01-30  Glenn Morris  
                
                	Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
                
                	* lisp/vc/smerge-mode.el (smerge-diff-switches)
                	(smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
                	(smerge-upper, smerge-upper-face, smerge-keep-upper)
                	(smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
                	smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
                	(smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
                	(smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
                	(smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
                	smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
                	Update all uses.
                	(smerge-basic-map): Add "l" and "u" bindings.
                	(smerge-mode-menu): Update menu bindings for renaming.
                	(smerge-font-lock-keywords): Update face names.
                	(smerge-match-names): Update names.
                	(smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
                	(smerge-match-conflict, smerge-ediff): Rename local variables.
                	(smerge-makeup-conflict): Relabel markers.
                	(smerge-parsep-re): Use renamed variables.
                
                2016-01-30  Paul Eggert  
                
                	Port recent my_edata change to MS-Windows
                
                	* src/lastfile.c (my_edata): Also define if WINDOWSNT.
                
                2016-01-30  Lars Ingebrigtsen  
                
                	Rework the mechanisms for async GnuTLS connections
                
                	* lisp/net/gnutls.el (open-gnutls-stream): Compute the
                	gnutls-boot parameters and pass them to the process object.
                	(gnutls-negotiate): New parameter :return-keywords that won't
                	connect to anything, just compute the keywords.
                
                	* lisp/url/url-http.el (url-http): Revert async TLS sentinel
                	hack, which is no longer necessary.
                
                	* src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
                	gnutls-mark-process.
                
                	* src/process.c (connect_network_socket): If we're connecting to
                	an asynchronous TLS socket, complete the GnuTLS boot sequence here.
                
                	* src/process.h: New parameter gnutls_async_parameters.
                
                2016-01-30  Lars Ingebrigtsen  
                
                	Fix segfault from double free
                
                	* process.c (check_for_dns): Protect against double free
                	issues.
                
                2016-01-30  Lars Ingebrigtsen  
                
                	Remove debugging
                
                2016-01-30  Lars Ingebrigtsen  
                
                	Implement asynchronous GnuTLS connections
                
                	* doc/misc/emacs-gnutls.texi (Help For Developers): Mention
                	the nowait parameter.
                
                	* lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
                	connections with the new nowait parameter.
                
                	* lisp/net/network-stream.el (network-stream-open-tls): Pass
                	on :nowait to open-gnutls-stream.
                
                	* lisp/url/url-http.el (url-http): Don't overwrite the
                	sentinel created by open-gnutls-stream.
                
                	* src/gnutls.c (Fgnutls_mark_process): New function.
                
                	* src/process.c (send_process): Don't write to GnuTLS sockets that
                	haven't been initialised yed.
                
                	* src/process.h: New slot gnutls_wait_p.
                
                2016-01-30  Paul Eggert  
                
                	Tell Automake the new lib/Makefile.am is OK
                
                	* lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
                
                2016-01-30  Paul Eggert  
                
                	Make it easy to override preferred-branch test
                
                	* Makefile.in (preferred-branch-is-current):
                	Rename from emacs-25-branch-is-current.  All uses changed.
                	(PREFERRED_BRANCH): New macro.
                
                2016-01-30  Paul Eggert  
                
                	Shrink static heap a bit
                
                	* src/sheap.h: Include lisp.h, for Lisp_Object.
                	(STATIC_HEAP_SIZE): Now an enum constant, not a macro.
                	Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
                	conservative than the old value.
                	(Bug#22086)
                
                2016-01-30  Paul Eggert  
                
                	Fix extern symbols defined and not used
                
                	* src/alloc.c: Always include .
                	(malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
                	Do not define; unused.
                	* src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
                	* src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
                	to avoid collision with glibc.  Now static.  All uses changed.
                	* src/lastfile.c (my_edata): Define only if
                	((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
                	WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
                	(Bug#22086)
                
                2016-01-30  Paul Eggert  
                
                	Build lib/e-*.o only on platforms that need it
                
                	* configure.ac (hybrid malloc): Simplify configuration.
                	(SHEAP_OBJ): Remove; no longer needed.
                	(HYBRID_MALLOC): New var. Subst it.
                	(HYBRID_MALLOC_LIB): New Automake conditional.
                	* lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
                	HYBRID_MALLOC_LIB.
                	(libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
                	(MOSTLYCLEANFILES): Add libegnu.a.
                	* src/Makefile.in (SHEAP_OBJ): Remove.
                	(HYBRID_MALLOC): New macro.
                	(base_obj): Use it to conditionally add sheap.o.
                	(LIBEGNU_ARCHIVE): New macro.
                	($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
                	All uses of the latter replaced by the former.
                	* src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
                	Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
                	* src/gmalloc.c: Update comment.
                	* src/lisp.h (aligned_alloc)
                	[!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
                	New decl.
                	(Bug#22086)
                
                2016-01-30  Paul Eggert  
                
                	Include  when advisable
                
                	This should help insulate us better from future glibc changes.
                	It is good hygiene to include .h files for APIs that Emacs uses.
                	Fix type clashes between Emacs and GNU  (Bug#22086).
                	* configure.ac: Check for malloc.h.
                	* src/alloc.c: Include  depending on HAVE_MALLOC_H,
                	not on DOUG_LEA_MALLOC.
                	* src/emacs.c, src/gmalloc.c (malloc_enable_thread):
                	Remove decl (now in lisp.h).
                	* src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
                	[emacs]: Include lisp.h.
                	[HAVE_MALLOC_H]: Include .
                	(__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
                	(__after_morecore_hook, __malloc_initialize_hook, __morecore)
                	(__default_morecore):
                	[!HAVE_MALLOC_H]: New decls near non-inclusion of .
                	(calloc): Make it clear that the macro should not be used.
                	Remove unused decl.
                	(malloc_info): New macro, to avoid clash with glibc .
                	(__morecore, __default_morecore, __after_morecore_hook)
                	(__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
                	(__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
                	Remove later decls.
                	(gmalloc_hook, gfree_hook, grealloc_hook):
                	Rename from __malloc_hook, __free_hook, __realloc_hook to
                	avoid type collision with glibc .  All uses changed.
                	(gmalloc_hook):
                	(__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
                	Now static.
                	(gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
                	(__malloc_initialize_hook, __after_morecore_hook):
                	Declare with types compatible with glibc.
                	(__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
                	Remove.  All uses removed.
                	* src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
                	* src/ralloc.c, src/vm-limit.c:
                	Simplify includes and include  if available.
                
                2016-01-30  Paul Eggert  
                
                	* src/alloc.c: Include "sheap.h".
                
                	(alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
                	Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
                	* src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
                	Declare unconditionally.
                	* src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
                	(unexec): Don’t set or clear bss_sbrk_did_unexec;
                	the caller now does this.
                	(Bug#22086)
                
                2016-01-30  Paul Eggert  
                
                	Pacify --enable-gcc-warnings when HYBRID_MALLOC
                
                	* src/buffer.c (init_buffer):
                	* src/emacs.c (main):
                	* src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
                	Use emacs_get_current_dir_name, not get_current_dir_name.
                	* src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
                	(HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
                	* src/emacs.c: Include "sheap.h".
                	(report_sheap_usage): Remove decl.
                	(Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
                	Don't assume ptrdiff_t can be printed as int.
                	* src/gmalloc.c [HYBRID_MALLOC]:
                	Include "sheap.h" rather than declaring its contents by hand.
                	(get_current_dir_name, gget_current_dir_name)
                	(hybrid_get_current_dir_name): Remove.
                	(emacs_abort): Remove duplicate decl.
                	(aligned_alloc): Undef, like malloc etc.
                	(ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
                	Make it a bit more efficient.
                	(malloc_find_object_address): Remove unused decl.
                	(enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
                	(mstats, memory_warnings): Declare only if GC_MCHECK.
                	* src/lisp.h (emacs_get_current_dir_name):
                	New decl, replacing get_current_dir_name.
                	* src/sheap.c: Include sheap.h first.
                	(STATIC_HEAP_SIZE): Remove; now in sheap.h.
                	(debug_sheap): Now static.
                	(bss_sbrk_buffer_end): Remove; no longer used.
                	(bss_sbrk_ptr): Now static and private.
                	(bss_sbrk_did_unexec): Now bool.
                	(BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
                	(bss_sbrk): Don't treat request_size 0 as special, since the code
                	works without this being a special case.
                	Avoid overflow if request size exceeds INT_MAX.
                	(report_sheap_usage): Remove; now done in emacs.c.
                	* src/sheap.h: New file.
                	* src/sysdep.c (get_current_dir_name): Remove macro.
                	Include "sheap.h".
                	(emacs_get_current_dir_name): Rename function from
                	get_current_dir_name.  Handle HYBRID_MALLOC here;
                	this is simpler.
                	(Bug#22086)
                
                2016-01-30  Paul Eggert  
                
                	Report static heap usage on non-Cygwin, too
                
                	* src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
                	* src/unexcw.c (unexec): ... instead of here, since sheap can be used
                	on platforms other than Cygwin (Bug#22086).
                
                2016-01-30  Paul Eggert  
                
                	Pacify GCC on extern decls
                
                	* src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
                	to pacify recent GCC (Bug#22086).
                
                2016-01-30  Wolfgang Jenkner  
                
                	Add musl patch to support HYBRID_MALLOC on elf systems
                
                	* src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
                	(__default_morecore): Here, in particular.
                	* configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
                	New variable SHEAP_OBJ.
                	* src/Makefile.in: Use it.
                	(Bug#22086)
                
                2016-01-30  Rich Felker    (tiny change)
                
                	unexelf.c hook to support HYBRID_MALLOC on ELF
                
                	* src/unexelf.c (unexec) [HYBRID_MALLOC]:
                	Define bss_sbrk_did_unexec (Bug#22086).
                
                2016-01-30  Wolfgang Jenkner  
                
                	Link temacs with gnulib compiled with -Demacs
                
                	This is done to support HYBRID_MALLOC, since some static variables
                	(e.g., last_environ in putenv.c) hold pointers to memory malloced
                	before dumping (Bug#22086).
                	* lib/Makefile.am: Add incantation to install libegnu.a.
                	* src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
                	(temacs$(EXEEXT)): Use it.
                
                2016-01-30  Wolfgang Jenkner  
                
                	Internal linkage for gmalloc etc. if HYBRID_MALLOC
                
                	This avoids clashes with symbols if the after-dump malloc is
                	derived from Doug Lea's implementation (Bug#22086).
                
                	* src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
                	Move declarations up.  For HYBRID_MALLOC, turn all `extern'
                	declarations below to `static' ones.
                	(aligned_alloc): Declare for !MSDOS as well.
                	(heapsize, _fraghead): Move resp. copy declaration downwards.
                	For HYBRID_MALLOC, conditionalize out the other definitions,
                	since the previous `static' declarations double as tentative
                	definitions, anyway.
                	(_malloc, _free, _realloc, __free_hook, _aligned_blocks)
                	(__realloc_hook, __memalign_hook): Conditionalize out.
                	(cfree, memalign, valloc): Ditto.
                
                2016-01-30  Paul Eggert  
                
                	-
                
                	-
                
                	-
                
                2016-01-30  Paul Eggert  
                
                	Merge from origin/emacs-25
                
                	3f481ad Rename xref-query-replace to xref-query-replace-in-results
                	62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
                	2111e0e Comment out next-error-function integration in xref
                	4e11ad3 Correct a use of "which" in intro.texi
                	a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
                	76045f7 Don't operate on menu bar of nonexistent frame
                	c32f3bc Unbreak the GNUstep build.
                
                2016-01-30  Paul Eggert  
                
                	-
                
                	-
                
                2016-01-30  Andreas Schwab  
                
                	Re-enable checks in member, memql, delete to complain about non-lists
                
                		* fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
                
                2016-01-30  Lars Ingebrigtsen  
                
                	Clean up compilation warnings
                
                2016-01-30  Lars Ingebrigtsen  
                
                	Make async resolution more efficient
                
                	* process.c (wait_reading_process_output): Use a list of
                	process objects instead of looping through an array to check
                	for name resolution.  This should be much faster.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	More async memory leaks
                
                	* src/process.c (check_for_dns): Free even more allocated async stuff.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Compilation for for systems with getaddrinfo_a
                
                	* process.c (Fmake_network_process): Make stuff work again on
                	systems with getaddrinfo_a.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Save correct server data
                
                	* process.c (connect_network_socket): Save the correct contact
                	info for servers.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Compilation for for non-GNU systems
                
                	* process.c (Fmake_network_process): Make compilation work
                	again on hosts that don't have getaddrinfo_a.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Avoid memory leaks in async DNS
                
                	* process.c (check_for_dns): Free async DNS resources after
                	they've been used.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	* process.c (check_for_dns): Free the result data.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Fix server connections
                
                	* process.c (Fmake_network_process): Make creating server
                	listening ports work again.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Further make_network_process clean up
                
                	* process.c (Fmake_network_process): Remove setting of unused
                	family variable.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Clean up GETADDRINFO usage in make-network-process
                
                	* process.c (Fmake_network_process): Clean up the GETADDRINFO
                	handling.
                
                2016-01-29  Lars Ingebrigtsen  
                
                	Implement asynchronous name resolution
                
                	* process.c (Fmake_network_process): Do asynchronous DNS
                	lookups if we have getaddrinfo_a and the user requests :nowait.
                	(check_for_dns): New function.
                	(wait_reading_process_output): Check for pending name
                	resolution in the idle loop.
                
                	* process.h: Add structure for async DNS.
                
                2016-01-28  Glenn Morris  
                
                	Remove some useless-use-of eval.
                
                	* lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
                	* lisp/gnus/nnrss.el (xml): Simply require it.
                	(xml-rpc-method-call): Use declare-function.
                
                2016-01-28  Lars Ingebrigtsen  
                
                	Fix memory leak
                
                	* process.c (connect_network_socket): Free previous sockaddr
                	before allocating a new one.
                
                2016-01-28  Lars Ingebrigtsen  
                
                	Return IP addresses in the correct order
                
                	* src/process.c (Fmake_network_process): Return the IP addresses
                	in the same order as getaddrinfo does.
                	(set_network_socket_coding_system): Clean up the code slightly.
                
                2016-01-28  Lars Ingebrigtsen  
                
                	Add checks for getaddrinfo_a
                
                	* configure.ac: Detect getaddrinfo_a.
                
                2016-01-28  Lars Ingebrigtsen  
                
                	Refactor make_network_process
                
                	* src/process.c (set_network_socket_coding_system)
                	(connect_network_socket): Refactor out of
                	make_network_process to allow calling connect_network_socket
                	asynchronously.
                	(Fmake_network_process): Do nothing but parsing the parameters
                	and name resolution, leaving the connection to
                	connect_network_socket.
                
                2016-01-28  Glenn Morris  
                
                	* lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
                	Warn if defcustom has no type.  (Bug#16276)
                
                2016-01-27  Glenn Morris  
                
                	* test/lisp/vc/vc-hg.el: Move from test/automated/.
                
                2016-01-25  Stefan Monnier  
                
                	(rng-c-fix-escaped-newlines): Use subst-char-in-string
                
                	* lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
                	Use subst-char-in-string.
                
                2016-01-25  Stefan Monnier  
                
                	* lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
                
                	(sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
                	(sgml-calculate-indent): Use it.
                
                2016-01-25  Stefan Monnier  
                
                	* lisp/org: Fix some compiler warnings
                
                	* lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
                	(org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
                	(*this*): Declare as dyn-bound.
                	(org-babel-expand-src-block, org-babel-load-in-session)
                	(org-babel-switch-to-session-with-code, org-babel-get-rownames):
                	Mark unused args.
                	(org-babel-combine-header-arg-lists): Remove unused var `args'.
                	(org-babel-find-named-block): Remove unused var `msg'.
                
                	* lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
                	Declare as dyn-bound.
                	(org-edit-src-code): Remove unused var `lfmt'.
                	(org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
                
                2016-01-25  Stefan Monnier  
                
                	* lisp/font-lock.el: Use #' to quote function symbols
                
                2016-01-23  Michael Albinus  
                
                	Improve user name completion in Tramp
                
                	* lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
                	Call also "getent passwd" or "getent group", if possible.
                	(tramp-parse-putty): Cache the result.
                
                2016-01-22  Michael Albinus  
                
                	* etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
                
                2016-01-20  Glenn Morris  
                
                	Remove handling of non-string time-stamp formats, obsolete for 20 years.
                
                	* lisp/time-stamp.el (time-stamp-format): Doc fix.
                	(time-stamp-old-format-warn, time-stamp-fconcat): Remove.
                	(time-stamp-string): Ignore non-string formats.
                
                2016-01-20  Eli Zaretskii  
                
                	Anoter fix for problematic merge from emacs-25
                
                	* src/w32fns.c (globals_of_w32fns): Move initialization of
                	resetstkoflw to a non-Cygwin part.
                
                2016-01-20  Michael Albinus  
                
                	* test/Makefile.in (mostlyclean): Use ${LOGFILES}.
                
                2016-01-20  Eli Zaretskii  
                
                	Fix MS-Windows build broken by a botched merge from emacs-25
                
                	* src/w32.c (w32_crypto_hprov): New static variable.
                	(globals_of_w32): Initialize w32_crypto_hprov.
                	(w32_init_crypt_random, w32_init_random): New functions.
                	Include wincrypt.h.
                	* src/w32.h (w32_init_random): Add prototype.
                
                2016-01-19  Vincent Belaïche  
                
                	Correct a whole bunch of bugs coming with renamed cell relocation.
                
                	* lisp/ses.el (ses-localvars): rename variable
                	`ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
                	and adjust the comment about it.
                	(ses-plist-delq): new defun.
                	(ses--ses-buffer-list): new defvar.
                	(ses--unbind-cell-name): new defun.
                	(ses-relocate-symbol): Do not relocate symbol when it is a named cell.
                	(ses-relocate-formula): Undo change of
                	2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
                	preventing relocation for named cell --- now doing this is delegated
                	to function `ses-relocate-symbol'.
                	(ses-relocate-range): In docstring, undo change of
                	2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
                	lower case as it is not a variable.
                	(ses-relocate-all): Cell name relocation : 1) check that cell is a
                	renamed cell by testing `ses-cell' property to :ses-named, rather than
                	comparing name to corresponding standard name. Set rowcol of renamed
                	cell into the hashmap --- `ses-cell' property must not be used for
                	that as the same name can be used for different locations in different
                	SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
                	`local-variable-p' to check if cell name is already in use in this
                	sheet or needs initialisation.
                	(ses-relocate-all): Cell value relocation : 1) like for name
                	relocation use the `ses-cell' property rather than comparing actual
                	name to corresponding standard name. 2) Correct bug introduced in
                	2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
                	made the other way round than the intention --- ie value relocation
                	was disabled for standard cell, not for renamed cell as was the
                	intention.
                	(ses-relocate-all): Add loop for unbinding deleted renamed cells
                	names.
                	(ses-killbuffer-hook): new defun.
                	(ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
                	kill buffer hook, plus pushing current buffer if new in list.
                	(ses-delete-row, ses-delete-column): Collect deleted renamed cells
                	into `ses--in-killing-named-cell-list'.
                	(ses-rename-cell): Remove update of variable
                	`ses--renamed-cell-symb-list', this variable is renamed to
                	`ses--in-killing-named-cell-list', and its setting is done in
                	functions `ses-delete-row' and , `ses-delete-column' now.
                	(ses-rename-cell): Change correction of
                	2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
                	computation of the range over which `cursor-intangible' property was
                	to be updated. This correction was ok for non spilling cells, but not
                	for cells spilling over following blank cells. Simply use
                	`next-single-property-change' rather than computing the end column
                	from column widths.
                
                2016-01-18  John Wiegley  
                
                	-
                
                2016-01-18  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
                	6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
                	2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
                	71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
                	f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
                	86e4513 Fix incompatbilities with MS-Windows 2000 and older
                	4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
                	15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
                	39afa42 Fix tests for active region in hideif.el
                	05df666 Fix interactive specs in some hideif.el commands
                
                2016-01-18  John Wiegley  
                
                	-
                
                2016-01-18  Paul Eggert  
                
                	Avoid stdio in SIGINT handler
                
                	* admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
                	* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
                	* lib/ignore-value.h: New file, from gnulib.
                	* src/keyboard.c: Include it.
                	(write_stdout, read_stdin): New functions.
                	(handle_interrupt): Use them instead of printf and getchar,
                	and avoid fflush when handling signals.
                
                2016-01-18  Jens Lechtenboerger  
                
                	Refactor mml-smime.el, mml1991.el, mml2015.el
                
                	(Maybe this is the last merge from Gnus git to Emacs git)
                
                	Cf. discussion on ding mailing list, messages in
                	.
                	Common code from the three files mml-smime.el, mml1991.el, and
                	mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
                	to gnus-util.el.
                
                	The code is supported by test cases with necessary test keys.
                
                	Documentation in message.texi is updated.
                
                	* doc/misc/message.texi (Security, Using S/MIME):
                	Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
                	(Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
                	(Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
                
                	* lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
                	New functions.
                
                	* lisp/gnus/mml-sec.el: Require gnus-util and epg.
                	(epa--select-keys): Autoload.
                	(mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
                	(mml-secure-openpgp-signers): New user option;
                	make mml1991-signers and mml2015-signers obsolete aliases to it.
                	(mml-secure-smime-signers): New user option;
                	make mml-smime-signers an obsolete alias to it.
                	(mml-secure-openpgp-encrypt-to-self): New user option;
                	make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
                	aliases to it.
                	(mml-secure-smime-encrypt-to-self): New user option;
                	make mml-smime-encrypt-to-self an obsolete alias to it.
                	(mml-secure-openpgp-sign-with-sender): New user option;
                	make mml2015-sign-with-sender an obsolete alias to it.
                	(mml-secure-smime-sign-with-sender): New user option;
                	make mml-smime-sign-with-sender an obsolete alias to it.
                	(mml-secure-openpgp-always-trust): New user option;
                	make mml2015-always-trust an obsolete alias to it.
                	(mml-secure-fail-when-key-problem, mml-secure-key-preferences):
                	New user options.
                	(mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
                	(mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
                	(mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
                	(mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
                	(mml-secure-passphrase-callback, mml-secure-check-user-id)
                	(mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
                	(mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
                	(mml-secure-fingerprint, mml-secure-filter-keys)
                	(mml-secure-normalize-cust-name, mml-secure-select-keys)
                	(mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
                	(mml-secure-self-recipients, mml-secure-recipients)
                	(mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
                
                	* lisp/gnus/mml-smime.el: Require epg;
                	refactor declaration and autoloading of epg functions.
                	(mml-smime-use): Doc fix.
                	(mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
                	Obsolete.
                	(mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
                	Use format instead of gnus-format-message.
                	(mml-smime-epg-secret-key-id-list): Remove variable.
                	(mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
                	(mml-smime-epg-find-usable-secret-key): Remove functions.
                	(mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
                
                	* lisp/gnus/mml1991.el (mml1991-cache-passphrase)
                	(mml1991-passphrase-cache-expiry): Obsolete.
                	(mml1991-epg-secret-key-id-list): Remove variable.
                	(mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
                	(mml1991-epg-find-usable-secret-key): Remove functions.
                	(mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
                
                	* lisp/gnus/mml2015.el (mml2015-cache-passphrase)
                	(mml2015-passphrase-cache-expiry): Obsolete.
                	(mml2015-epg-secret-key-id-list): Remove variable.
                	(mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
                	(mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
                	(mml2015-epg-find-usable-secret-key): Remove functions.
                	(mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
                	(mml2015-epg-encrypt): Refactor.
                
                2016-01-18  Paul Eggert  
                
                	Merge from gnulib
                
                	This mostly just updates copyright dates of gnulib files.
                	It also updates to the latest version of texinfo.tex.
                
                2016-01-18  YAMAMOTO Mitsuharu  
                
                	Move variables to inner loop, preparing for Mac port merge
                
                	* src/keyboard.c (command_loop_1): Move variables `cmd',
                	`keybuf', and `i' to inner loop.
                
                2016-01-17  Bill Wohler  
                
                	* mh-e.el (mh-version): Add +git to version.
                
                2016-01-16  Stefan Monnier  
                
                	* lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
                
                	(syntax-ppss):
                	* lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
                
                2016-01-16  Stefan Monnier  
                
                	lisp/nxml: Use syntax-tables for comments
                
                	* lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
                	(nxml-mode): Set syntax-ppss-table.
                	Use sgml-syntax-propertize-function for syntax-propertize-function.
                	Let font-lock highlight strings and comments.
                	(nxml-degrade): Don't touch "nxml-inside" property any more.
                	(nxml-after-change, nxml-after-change1): Remove functions.
                	(comment): Don't set fontify rule any more.
                	(nxml-fontify-attribute): Don't highlight the value any more.
                	(nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
                	(nxml-comment-delimiter, nxml-comment-content): Remove faces.
                
                	* lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
                	(nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
                	(nxml-clear-inside, nxml-set-inside): Remove.
                	(nxml-scan-after-change): Remove function.
                	(nxml-scan-prolog, nxml-tokenize-forward): Simplify.
                	(nxml-ensure-scan-up-to-date): Use syntax-propertize.
                	(nxml-move-outside-backwards):
                	* lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
                	nxml-inside-start behavior.
                
                	* lisp/nxml/nxml-util.el (nxml-debug-set-inside)
                	(nxml-debug-clear-inside): Remove macros.
                
                	* lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
                	(xmltok-scan-after-comment-open): Simplify.
                
                2016-01-16  Stefan Monnier  
                
                	* elisp-mode.el (elisp--font-lock-flush-elisp-buffers): Fix comment
                
                2016-01-16  Stefan Monnier  
                
                	* lisp/nxml: Use standard completion; it also works for company-mode
                
                	* lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
                	(nxml-completion-at-point-function): Remove.
                	(nxml-mode): Don't set completion-at-point-functions.
                	* lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
                	(rng-completion-at-point): Rename from rng-complete and mark it
                	non-interactive.  It is now to be used as completion-at-point-function.
                	(rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
                	(rng-complete-attribute-value): Don't perform completion, but return
                	completion data instead.
                	(rng-complete-qname-function, rng-generate-qname-list): Add a few
                	arguments, previously passed via dynamic coping.
                	(rng-strings-to-completion-table): Rename from
                	rng-strings-to-completion-alist.  Don't return an alist.  Don't both
                	sorting and uniquifying.
                
                	* lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
                	(rng-completion-exact-p, rng-quote-string): Delete functions.
                
                	* lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
                	(rng-missing-attributes-message, rng-missing-element-message)
                	(rng-mark-missing-end-tags): Use explicit ".." in formats rather than
                	calling rng-quote-string everywhere.
                
                2016-01-16  Stefan Monnier  
                
                	Use sgml-electric-tag-pair-mode also in nxml-mode
                
                	* lisp/nxml/rng-nxml.el: Require sgml-mode.
                	(rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
                	(rng-complete-qname-function): Use complete-with-action.
                
                	* lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
                	Let-bind forward-sexp-function, since nxml-mode binds it to
                	something incompatible.
                
                	* lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
                
                2016-01-15  Stefan Monnier  
                
                	* xmltok.el: Mark the "sole --" rather than the comment opener
                
                	* lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
                	marker on the "sole --" rather than on the comment opener.
                
                2016-01-15  Sam Steingold  
                
                	replace `tramp-compat-split-string' (removed) with `split-string'
                
                	(python-shell-tramp-refresh-process-environment)
                	(python-shell-calculate-pythonpath): use `split-string'
                	instead of defunct `tramp-compat-split-string'
                
                2016-01-15  Stefan Monnier  
                
                	Update nXML to use Emacs's Unicode support, and lexical-binding
                
                	* etc/nxml/*.el: Remove obsolete char-name files.
                	* lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
                	var `next'.
                	* lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
                	* lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
                	* lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
                	(nxml-target-section-pos, nxml-depth-in-target-section)
                	(nxml-outline-state-transform-alist)
                	(nxml-outline-display-section-tag-function): Move decl before first use.
                	* lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
                	(nxml-char-name-alist, nxml-char-name-table)
                	(nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
                	(nxml-enable-char-name-set, nxml-disable-char-name-set)
                	(nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
                	(nxml-define-char-name-set, nxml-get-char-name): Remove functions.
                	(nxml-insert-named-char): Use read-char-by-name instead.
                	(nxml-char-ref-display-extra): Use get-char-code-property.
                	* lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
                	Remove function.
                	* lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
                
                2016-01-15  Michael Albinus  
                
                	Add "sg" method to Tramp
                
                	* doc/misc/tramp.texi (Inline methods): Add "sg" method.
                	(Customizing Completion): Add function `tramp-parse-etc-group'.
                
                	* lisp/net/tramp-sh.el (tramp-methods) : Add.  (Bug#22329)
                	(tramp-completion-function-alist-sg): New defconst.
                	(top): Completion function for "sg" is
                	`tramp-completion-function-alist-sg'.
                
                	* lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
                	(tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
                
                2016-01-14  Michael Albinus  
                
                	Remove XEmacs compatibility in Tramp
                
                	* doc/misc/tramp.texi: Replace flags by their hard coded name.
                	Remove unused flags and the enclosed alternative text for XEmacs.
                
                	* doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
                	and "xemacs" flags to "unified" and "separate".  Remove flags
                	"emacsgw", "emacsname", "emacsdir", "ftppackagename",
                	"emacsothername", "emacsotherdir" and "emacsotherfilename".
                	(trampver):
                	* lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
                
                	* lisp/net/tramp.el (bkup-backup-directory-info)
                	(directory-sep-char, ls-lisp-use-insert-directory-program)
                	(outline-regexp, tramp-backup-directory-alist)
                	(tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
                	(tramp-file-name-regexp-unified)
                	(tramp-file-name-regexp-separate)
                	(tramp-completion-file-name-regexp-unified)
                	(tramp-completion-file-name-regexp-separate, tramp-chunksize)
                	(tramp-get-method-parameter, tramp-find-method, tramp-find-user)
                	(tramp-debug-message, tramp-progress-reporter-update)
                	(with-tramp-progress-reporter)
                	(tramp-rfn-eshadow-setup-minibuffer)
                	(rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
                	(tramp-rfn-eshadow-update-overlay)
                	(rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
                	(tramp-file-name-for-operation)
                	(tramp-completion-file-name-handler)
                	(tramp-autoload-file-name-handler, tramp-completion-mode-p)
                	(tramp-handle-directory-files)
                	(tramp-handle-directory-files-and-attributes)
                	(tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
                	(tramp-handle-insert-file-contents, tramp-handle-load)
                	(tramp-handle-shell-command)
                	(tramp-handle-verify-visited-file-modtime)
                	(tramp-handle-file-notify-valid-p, tramp-accept-process-output)
                	(tramp-check-for-regexp, tramp-wait-for-regexp)
                	(tramp-send-string, tramp-mode-string-to-int)
                	(tramp-get-local-gid, tramp-check-cached-permissions)
                	(tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
                	(auto-save-file-name-transforms)
                	(tramp-handle-make-auto-save-file-name, tramp-read-passwd)
                	(tramp-clear-passwd, tramp-time-diff):
                	* lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
                	(directory-sep-char, tramp-adb-file-name-handler-alist)
                	(tramp-adb-parse-device-names)
                	(tramp-adb-handle-expand-file-name)
                	(tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
                	(tramp-adb-handle-file-local-copy)
                	(tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
                	(tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
                	(tramp-adb-handle-shell-command)
                	(tramp-adb-handle-start-file-process, tramp-adb-get-device)
                	(tramp-adb-maybe-open-connection):
                	* lisp/net/tramp-cache.el (tramp-persistency-file-name)
                	(tramp-cache-print):
                	* lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
                	(tramp-bug, tramp-reporter-dump-variable)
                	(tramp-load-report-modules, tramp-append-tramp-buffers):
                	* lisp/net/tramp-compat.el (tramp-compat-funcall)
                	(tramp-advice-file-expand-wildcards)
                	(tramp-compat-temporary-file-directory)
                	(tramp-compat-make-temp-file, tramp-compat-copy-file)
                	(tramp-compat-delete-directory, )
                	(tramp-compat-process-running-p):
                	* lisp/net/tramp-ftp.el (tramp-methods) :
                	(tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
                	* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
                	(tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
                	(tramp-gvfs-handle-file-local-copy)
                	(tramp-gvfs-handle-file-name-all-completions)
                	(tramp-gvfs-handle-file-notify-add-watch)
                	(tramp-gvfs-monitor-file-process-filter)
                	(tramp-gvfs-handle-file-readable-p)
                	(tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
                	(tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
                	(tramp-gvfs-maybe-open-connection)
                	(tramp-gvfs-parse-device-names):
                	* lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
                	(tramp-gw-open-connection, tramp-gw-open-network-stream):
                	* lisp/net/tramp-sh.el (directory-sep-char)
                	(tramp-sh-file-name-handler-alist)
                	(tramp-sh-handle-file-truename)
                	(tramp-sh-handle-set-visited-file-modtime)
                	(tramp-sh-handle-verify-visited-file-modtime)
                	(tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
                	(tramp-sh-handle-file-acl)
                	(tramp-sh-handle-file-name-all-completions)
                	(tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
                	(tramp-do-copy-or-rename-file-directly)
                	(tramp-do-copy-or-rename-file-out-of-band)
                	(dired-compress-file-suffixes, dired-remove-file)
                	(tramp-sh-handle-dired-compress-file)
                	(tramp-sh-handle-insert-directory)
                	(tramp-sh-handle-expand-file-name)
                	(tramp-sh-handle-start-file-process)
                	(tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
                	(tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
                	(tramp-sh-handle-file-notify-add-watch)
                	(tramp-sh-gvfs-monitor-dir-process-filter)
                	(tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
                	(tramp-find-executable)
                	(tramp-open-connection-setup-interactive-shell)
                	(tramp-find-inline-encoding, tramp-compute-multi-hops)
                	(tramp-maybe-open-connection, tramp-convert-file-attributes)
                	(tramp-get-remote-path, tramp-get-remote-touch):
                	* lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
                	(tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
                	(tramp-smb-handle-delete-directory)
                	(tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
                	(tramp-smb-handle-make-directory-internal)
                	(tramp-smb-handle-process-file, 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)
                	(tramp-smb-get-cifs-capabilities)
                	(tramp-smb-maybe-open-connection):
                	* lisp/net/trampver.el (tramp-repository-get-version):
                	Remove XEmacs compat code.
                
                	* lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
                	(reporter-dump-variable): Declare functions.
                
                	* lisp/net/tramp.el (tramp-bkup-backup-directory-info)
                	(tramp-advice-minibuffer-electric-separator)
                	(tramp-advice-minibuffer-electric-tilde)
                	(tramp-handle-unhandled-file-name-directory):
                	* lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
                	(tramp-compat-font-lock-add-keywords)
                	(tramp-compat-load, tramp-compat-number-sequence)
                	(tramp-compat-split-string, tramp-compat-delete-dups):
                	* lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
                	Remove.
                
                	* lisp/net/tramp-sh.el (tramp-methods) : This does not work
                	recursively.
                
                2016-01-14  K. Handa  
                
                	fix previous change of src/ftfont.c (ftfont_shape_by_flt)
                
                	* src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
                	second glyph only when there are enough glyphs.
                
                2016-01-13  Glenn Morris  
                
                	* src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
                
                	or its hook, to move point.  (Bug#22348)
                
                2016-01-12  Michael Albinus  
                
                	Merge missing commit from emacs-25 branch
                
                	* test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
                	New variables.
                	(check-expensive, check-doit): New targets.
                
                	* Makefile.in (check-expensive): New target.
                
                	* test/lisp/autorevert-tests.el
                	(auto-revert-test01-auto-revert-several-files):
                	* test/lisp/filenotify-tests.el (file-notify--deftest-remote)
                	(file-notify-test06-many-events):
                	* test/lisp/net/tramp-tests.el (tramp-test26-process-file)
                	(tramp-test27-start-file-process, tramp-test28-shell-command)
                	(tramp-test29-vc-registered)
                	(tramp-test31-special-characters-with-stat)
                	(tramp-test31-special-characters-with-perl)
                	(tramp-test31-special-characters-with-ls)
                	(tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
                	(tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
                	(tramp-test35-unload): Tag the tests as :expensive-test.
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	1f6898d test/automated/vc-hg.el: Support out-of-tree build
                	3adb56e Minor change in tramp-tests.el
                	2b535ba ; * etc/NEWS: Update the js.el entry.
                	76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
                	b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
                	36b9539 Avoid an infloop when we run out of memory
                	2006752 Avoid unnecessary failures of auto-saving after fatal error
                	eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
                	552694a Revert attempt to use 'noexcept' in typedef
                	6ad0d39 Update documentation of 'indirect-function'
                	c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
                	303141a Update documentation for obsoleting 'syntax-begin-function'
                	4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
                	e667bbb Document new features if Eshell
                	9c4e4e0 ; * etc/NEWS: Update EUDC entries.
                	1089dc9 Handle too long commands in Tramp
                	684eb58 * .gitattributes: *.cur and *.pif are binary files too.
                	d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
                	bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
                	09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
                	cca0f93 ; Account for spaces before the filename
                	c71e1e8 Use short date for 'hg annotate', and output the author
                	f50027b Spelling fix
                	c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
                	cc140bc Document user-level functions in project.el
                	f8208b6 Document the user-level features of the Xref package
                	b131fb8 * loading.texi: Add `define-type' entry for load-history
                	db3c2a8 Improve doc strings and prompts in xref.el
                	f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
                	90fd798 Fix coding system for Tramp on OS X.
                	e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
                	9dfcbf0 Update 'load-history' docs
                	207e191 Fix (error ...) error
                	457738f Correctly analyze brace arguments in templated C++ function declarations.
                	d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
                	2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
                	1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
                	8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
                	4b37cba Improve documentation of Delete Selection mode
                	a034dd3 Fix two project-find-file issues
                	30abf29 Clarify doc string of 'dired-current-directory'
                	e990bb2 Use the face of preceding text for displaying the ellipsis
                	5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
                	eeb710a ; * lisp/startup.el: Sentences end with two spaces.
                	428b3de * admin/admin.el (set-version): Also handle the NEWS file.
                	648de81 ; Add NEWS entry for project.el
                	671862f apropos-library: Skip obvious duplicates; don't error on generics
                	51668a5 ; Grammar fix
                	ed41d11 Add project-find-file and project-or-external-find-file
                	056da45 ; Improve commentary in 'setup_for_ellipsis'
                	269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	ce4a052 Add defvar-local to lisp-imenu-generic-expression
                	a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
                	76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
                	1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
                	b6b47af Properly encode/decode base64Binary data in SOAP
                	c632466 Obey coding-system-for-write when writing stdout/stderr in batch
                	2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
                	        Update the URI of MELPA and marmalade-repo.
                	        Reported by CHENG Goa  in
                	        https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html.
                	d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
                	5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
                	7380990 Remove function wrongly on AWK Mode value of context
                	fontification hook.
                	d400753 * src/buffer.c: Stick with ASCII in doc string.
                	221240c Reword transient-mark-mode doc string
                	977d3ea Update doc string of 'selective-display'
                	229c3fa Make C++ buffers writeable when writing their initial text
                	        properties.
                	f5c762c Additional changes for "make check-expensive"
                	1729cf3 ; * admin/MAINTAINERS: Remove myself.
                	33219d3 Apply text properties for <, > in new after-change function
                	        (C++ Java Modes).
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	9fb185a shr-tag-video bug fix
                	6300655 Minor fixes in tramp-tests.el
                	50575b1 Ensure redisplay when 'truncate-lines' is set
                	0d9e80d Fix a doc string of 'transient-mark-mode'
                	0000ae5 MS-Windows followup to latest gnulib update
                	4bc5e02 Spelling fix
                	f1093f7 Do secure signed Bcc handling
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
                	46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
                	71ea138 * lisp/align.el (align): Simplify a lambda
                	5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
                	1f680db Fix compilation next-error in buffers with selective-display
                	d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
                	1da116f Add SHA1 warnings for high network security settings
                	e48bacd ; * etc/NEWS: Typo fix.
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	43662a2 ; Clarify that xref is still experimental
                	0a6e6ca ; * admin/release-process: Remove some obsolete records.
                	c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
                	8637f3d (semantic-symref-derive-find-filepatterns): Return a list
                	0a7ad07 ; Re-arrange xref-related entries in NEWS.
                	fe903ef Fix xref-find-references on MS-Windows
                	55a28d8 ; Fixed visual bell artifact problem on NextStep.
                	d064034 Document new features of tildify-mode
                	964bea7 Document new features of Whitespace mode
                	cd68f47 Improve documentation of new Hide-IfDef features
                	723b8bf Fix regression in font-locking cl-assert and cl-check-type
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	ef33bc7 Spelling and grammar fixes
                	9c3dbab Fix copyright years by hand
                	0e96320 Update copyright year to 2016
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
                	526d80c Port chart.el methods to cl-generic.
                	410bb69 Add nt/INSTALL.W64 build instructions
                	8f5b524 Add new input method 'programmer-dvorak'
                	6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
                	bb83bb1 Fix EWW rendering of long RTL lines
                	b1a8509 fix  bug#21054
                	ce5ad12 Clean up cairo printing code
                
                2016-01-11  John Wiegley  
                
                	Merge from origin/emacs-25
                
                	6ee327d Add handle_user_signal_hook
                	47580e0 Avoid writing to purespace
                	0588be7 Remove unused variable
                	89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
                	3b95e9c Use posix_openpt instead of openpty on Darwin
                	86312ff Document support for ':documentation' in Lisp mode
                	c930e75b Document new features of TeX mode
                	7c83d84 Clarify docs of hscroll in RTL text
                	4c8f8db Fix rendering of HTML pages that use character composition
                	a8d37ca Avoid some compiler warnings in w32.c
                	ce106f3de Undo ill-advised change
                	be0bba4 Unbreak completion in python-mode buffers
                
                2016-01-08  Andrew Hyatt  
                
                	Adding example replies to bug-triage.
                
                	* admin/notes/bug-triage: Added example replies. Also, as requested,
                	  making the process notes into more of a checklist.
                
                2016-01-08  Andrew Hyatt  
                
                	Rename the notes/admin/triage file to bug-triage.
                
                	* CONTRIBUTE: Change reference to the triage file name.
                	* admin/notes/triage: Rename file to admin/notes/bug-triage.
                
                2016-01-08  K. Handa  
                
                	Fix outdated comments.
                
                2016-01-06  Glenn Morris  
                
                	Allow creation of loaddefs files without timestamps.
                
                	* lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
                	(autoload-generate-file-autoloads, update-directory-autoloads):
                	If autoload-timestamps is nil, write "t" instead of file timestamp.
                	(autoload-find-destination, update-directory-autoloads):
                	If timestamp is "t", use the modtime of the output file instead.
                
                2016-01-06  Glenn Morris  
                
                	Doc tweaks.
                
                	* lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
                	* lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
                	(calendar-iso-from-absolute):
                	* lisp/calendar/cal-tex.el (cal-tex-comment):
                	* lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
                
                2016-01-06  Glenn Morris  
                
                	Build tweaks related to tags files.
                
                	* lib-src/Makefile.in (tagsfiles): New variable.
                	(TAGS): Also depend on the source files.  Use our own etags program.
                	* lisp/Makefile.in (ETAGS): Add EXEEXT.
                	(lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
                	Remove.
                	(tagsfiles): New, replacing lisptagsfiles1 etc.
                	Remove irrelevant source files here rather than in the TAGS rule.
                	(${ETAGS}): New rule.
                	(TAGS): Also depend on the etags executable.
                	* lwlib/Makefile.in (EXEEXT): New, set by configure.
                	(ETAGS): Add EXEEXT.
                	(${ETAGS}): New rule.
                	(ctagsfiles): Use "wildcard".
                	(TAGS): Also depend on the etags executable.
                	* nt/Makefile.in (ETAGS, tagsfiles): New variables.
                	(${ETAGS}): New rule.
                	(TAGS): Fix dependencies.
                	* oldXMenu/Makefile.in (EXEEXT): New, set by configure.
                	(ETAGS): New variable, replacing $TAGS.  Use our own etags program.
                	Remove "-t" argument.
                	(${ETAGS}): New rule.
                	(tagsfiles): New variable.
                	(TAGS): New rule, with proper dependencies.
                	* src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
                	(ctagsfiles1, ctagsfiles2): Use "wildcard".
                	(ctagsfiles3): Remove.
                	(TAGS): Depend on etags.
                	(../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
                	directories decide if updates are needed.
                
                2016-01-06  Glenn Morris  
                
                	* lisp/Makefile.in (CAL_SRC): Skip calendar.el.
                
                2016-01-06  Glenn Morris  
                
                	* test/lisp/emacs-lisp/package-tests.el
                
                	(package-test-macro-compilation): Fixup branch merge.
                
                2016-01-05  Eli Zaretskii  
                
                	Fix fallout from merging emacs-25 branch in test/
                
                	* .gitignore: Update for the new place of biditest.txt.
                	* test/automated/: Directory removed.  All files moved to their
                	proper places.
                	* test/etags/: Directory removed.  All files moved to their proper
                	places.
                	* test/automated/url-parse-tests.el: File removed; it was an exact
                	copy of the same file in test/lisp/url/.
                	* test/automated/url-expand-tests.el: Moved to test/lisp/url/.
                
                2016-01-04  Paul Eggert  
                
                	Spelling fixes
                
                2016-01-04  Daniel Colascione  
                
                	Let users disable unsafe signal handling code
                
                	* src/keyboard.c (syms_of_keyboard): New user variables
                	`attempt-stack-overflow-recovery' and
                	`attempt-orderly-shutdown-on-fatal-signal'.
                	* src/sysdep.c (stack_overflow): Check
                	`attempt-stack-overflow-recovery'.
                	* src/emacs.c (terminate_due_to_signal): Check
                	`attempt-orderly-shutdown-on-fatal-signal'.
                
                2016-01-03  Michael Albinus  
                
                	* configure.ac: Add error message for gfile on Nextstep.
                
                2016-01-02  John Wiegley  
                
                	Merge branch 'emacs-25-merge'
                
                2016-01-02  Vincent Belaïche  
                
                	Align textually on fix done for emacs-25 branch for bug#21054
                
                	* lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
                	and useless `(if t ...)' in order to align textually on fix done for
                	emacs-25 branch for bug#21054.
                
                2016-01-01  K. Handa  
                
                	support rendering of wider range of combinging characters by ftfont backend
                
                	* lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
                	supports rendering of combining characters, call
                	font-shape-gstring.
                
                	* src/font.c (Ffont_get): Handle `combining-capability' property.
                	(syms_of_font): New symbol ":combining-capability'.
                
                	* src/font.h (struct font_driver): New member combining_capability.
                
                	* src/ftfont.c: Include "category.h".
                	(ftfont_driver): Initialize combining_capability to
                	ftfont_combining_capability.
                	(ftfont_shape_by_flt): If OTF is null, try to find a suitable
                	FLT in advance.
                	(ftfont_combining_capability): New function.
                
                2016-01-01  Andrew Hyatt  
                
                	Add notes on bug triage procedure
                
                	* CONTRIBUTE: In section on the issue tracker, point to new triage file.
                	* admin/notes/triage: New file explaining triage procedure.
                
                2015-12-30  Vincent Belaïche  
                
                	Correct ses-rename-cell cursor-intangible text prop updating.
                
                	There were two problems:
                
                	- First ses-rename-cell has to work when called non interactively
                	  (with non-nil CELL argument), so in this case the start pos of
                	  put-text-property cannot be plainly (point), you need a
                	  ses-goto-print call before
                
                	- Second, the range itself was computed erronously, only the first
                	  char was affected instead of the full cell width. This was not
                	  noticeable prior to changes (Deprecate `intangible' and
                	  `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
                
                	* lisp/ses.el (ses-rename-cell): Correct computation of position range
                	to which the 'cursor-intangible text property has to be set to cell
                	new name.
                
                2015-12-30  Vincent Belaïche  
                
                	Don't fake empty cells value by "" when printing with a lambda.
                
                	When using a lambda expression printer function the user should be
                	free to format differently a really empty cell, ie. containing nil,
                	from a cell containing an empty string "".
                
                	* ses.el (ses-call-printer): Replace `(or value "")' by just `value'
                	in the case of a lambda expression printer function.
                
                	* ses.texi (Printer functions): Add example and description about
                	lambda expression printer function handling all the possible values,
                	including unexpected ones.
                
                2015-12-30  Vincent Belaïche  
                
                	Quick temporary hack to fix curcell refreshing.
                
                	The problem was caused by change: 2015-04-13 Deprecate `intangible'
                	and `point-entered' properties. The problem is that this change has
                	removed the (setq ses--curcell t) setting in the ses-command-hook
                	function.
                
                	* ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
                	a condition to call function `ses-set-curcell'. Comment this as a quick
                	temporary hack to make it work, as I don't know yet whether a definite
                	correction would be to make the ses-set-curcell at every ses-check-curcell,
                	or to revert to the previous approach, ie marking ses--curcell as out-of-date
                	at every potentially cursor motion command.
                
                2015-12-30  Lars Magne Ingebrigtsen  
                
                	Restrictive URL checking tweaks
                
                	* lisp/net/eww.el (eww): Check whether the domain is
                	restrictive instead of the string
                	(http://македонија.icom.museum is restrictive even if each
                	part is from a different script).
                
                2015-12-30  Lars Magne Ingebrigtsen  
                
                	New function `puny-highly-restrictive-domain-p'
                
                	* lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
                	(puny-highly-restrictive-domain-p): New function.
                
                2015-12-30  Lars Magne Ingebrigtsen  
                
                	eww build fix (require puny)
                
                2015-12-30  Lars Magne Ingebrigtsen  
                
                	Transform non-restrictive domains to punycode for display
                
                	* lisp/net/eww.el (eww): Check whether the domain is Highly
                	Restrictive in the Unicode IDNA sense.
                
                2015-12-29  John Wiegley  
                
                	Merge emacs-25 into master (using imerge)
                
                2015-12-29  Lars Ingebrigtsen  
                
                	Further Unicode restrictive fixups
                
                	* puny.el (puny-highly-restrictive-p): Include the extra
                	identifier characters from table 3.
                
                2015-12-29  Lars Ingebrigtsen  
                
                	Add a new function to say whether a string is restrictive
                
                	* puny.el (puny-highly-restrictive-p): New function.
                
                2015-12-28  Lars Ingebrigtsen  
                
                	Mention the new puny.el library
                
                2015-12-28  Lars Ingebrigtsen  
                
                	IDNA-related fixes for the URL library
                
                	* lisp/url/url-http.el (url-http-create-request): IDNA-encode
                	the Host: header.
                
                	* lisp/url/url-util.el (url-encode-url): Don't hex-encode
                	domain names, but leave them as UTF-8, so that they can be
                	IDNA-encoded later when contacting the host.
                
                2015-12-28  Lars Ingebrigtsen  
                
                	IDNA-encode all domain names in `open-network-stream'
                
                	* network-stream.el (open-network-stream)
                	(network-stream-open-plain, network-stream-open-starttls):
                	IDNA-encode all domain names, if needed.
                
                2015-12-28  Lars Ingebrigtsen  
                
                	Fix puny-encoding all-non-ASCII domains
                
                	* puny.el (puny-encode-string): Fix the all-non-ASCII encoding case.
                
                2015-12-28  Lars Ingebrigtsen  
                
                	shr link traversal fixup
                
                	* shr.el (shr-next-link): Don't bug out on adjacent links.
                
                2015-12-28  Lars Ingebrigtsen  
                
                	Reconnect erc even on server errors
                
                	* lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
                	reconnect even if a server error has occurred (bug#18527).
                
                2015-12-28  Lars Ingebrigtsen  
                
                	Fix punycode short circuit logic
                
                	* puny.el (puny-encode-domain): Fix short-circuit logic.
                
                2015-12-28  Lars Ingebrigtsen  
                
                	IDNA speed up
                
                	* puny.el (puny-encode-domain): Make the common non-IDNA case faster
                
                2015-12-28  Lars Ingebrigtsen  
                
                	Add IDNA domain encode/decode functions
                
                	* puny.el (puny-decode-domain): New function.
                	(puny-encode-domain): Ditto.
                	(puny-decode-digit): Fix digit decoding error.
                
                2015-12-28  Lars Ingebrigtsen  
                
                	Rename idna.el to puny.el
                
                	* puny.el: Renamed from idna.el to avoid name collisions with
                	the external idna.el library.
                
                2015-12-27  Katsumi Yamaoka  
                
                	lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
                
                	* lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
                	Don't use split-string with 4th arg for old Emacsen compatibility.
                
                2015-12-27  Lars Ingebrigtsen  
                
                	* idna.el (idna-decode-string-internal): Implement decoding.
                
                2015-12-27  Lars Ingebrigtsen  
                
                	Further IDNA tweaks
                
                	(idna-encode-string): Make idna-encode-string safe for
                	non-ASCII use.
                
                2015-12-27  Lars Ingebrigtsen  
                
                	Clean up the code slightly
                
                2015-12-27  Lars Ingebrigtsen  
                
                	Added basic idna encoding support
                
                	* lisp/net/idna.el: New file.
                
                2015-12-27  Vivek Dasmohapatra  
                
                	Disconnection fixes for erc
                
                	* lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
                	reconnect if the user has disconnected explicitly (bug#4589).
                
                2015-12-27  Thomas Riccardi    (tiny change)
                
                	Further erc asynch fixes
                
                	* lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
                	erc-server-connect to return even if the connection is not
                	ready.  Then erc-open and erc-server-reconnect do the
                	same. (bug#5650).
                
                2015-12-27  Vivek Dasmohapatra  
                
                	Make erc connect asynchronously
                
                	* lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
                	reconnect asynchronously.
                
                	* lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
                
                2015-12-27  David Edmondson  
                
                	Proxy error in erc with multiple clients
                
                	* lisp/erc/erc.el (erc-channel-receive-names): Fix errors
                	generated when multiple IRC clients talk to a single IRC proxy
                	(bug#19034).
                
                2015-12-27  Jens Lechtenboerger  
                
                	Fix mml-sec build warnings
                
                	* lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
                	(bug#18718).
                
                2015-12-27  Lars Ingebrigtsen  
                
                	(eww-setup-buffer): Restore left-to-right defaults
                
                	* eww.el (eww-setup-buffer): Restore left-to-right defaults.
                
                2015-12-27  Lars Ingebrigtsen  
                
                	* lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
                
                2015-12-27  Jens Lechtenboerger  
                
                	Identify unsafe combinations of Bcc and encryption
                
                	* lisp/gnus/gnus-util.el (gnus-subsetp): New function
                	* lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
                	* lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
                
                2015-12-26  Lars Ingebrigtsen  
                
                	* shr.el (shr-descend): Allow using lambdas in external functions.
                
                2015-12-25  Stefan Monnier  
                
                	* admin/gitmerge.el: Tweaks that seemed necessary
                
                	* admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
                	(gitmerge-maybe-resume): Provide explicit empty commit message.
                
                2015-12-25  Łukasz Stelmach    (tiny change)
                
                	Use a different port for TLS erc
                
                	* lisp/erc/erc.el (erc-default-port-tls): New variable
                	(bug#19497).
                	* lisp/erc/erc.el (erc-tls): Use it.
                
                2015-12-25  Alain Schneble  
                
                	Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
                
                	* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
                	* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
                	* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
                	information in URL-struct.
                	* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
                	path and query into nil path and query, respectively.
                	* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
                	empty path into an absolute ("/") path.
                	* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
                	fragment-only URIs. Do not just return them unchanged.
                	* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
                	reference URI should not drop the last segment.
                
                2015-12-25  Alain Schneble  
                
                	Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
                
                	* test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
                	* test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
                	* lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
                	information in URL-struct.
                	* lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
                	path and query into nil path and query, respectively.
                	* lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
                	empty path into an absolute ("/") path.
                	* lisp/url/url-expand.el (url-expand-file-name): Properly resolve
                	fragment-only URIs. Do not just return them unchanged.
                	* lisp/url/url-expand.el (url-default-expander): An empty path in the relative
                	reference URI should not drop the last segment.
                
                2015-12-25  Lars Ingebrigtsen  
                
                	Let url use default file modes when copying files
                
                	* lisp/url/url-handlers.el (url-copy-file): Use default file
                	modes when copying files (bug#11400).
                
                2015-12-25  Devon Sean McCullough  
                
                	Doc fix for url-http
                
                	* lisp/url/url-http.el (url-http): Document better return values
                	  (bug#13187) (tiny change)
                
                2015-12-25  Lars Ingebrigtsen  
                
                	* eww.el (eww-display-html): Support