2016-02-15 Glenn Morris * lisp/dired-aux.el: Require cl-lib. (Bug#22613) 2016-02-15 Eli Zaretskii Index tilde characters in names of backup files * doc/emacs/files.texi (Backup Names): Improve indexing. (Bug#22625) 2016-02-15 Eli Zaretskii Document deprecation of hi-lock-mode's 'C-x w' bindings * doc/emacs/display.texi (Highlight Interactively): Deprecate the "C-x w" bindings of hi-lock-mode. * etc/NEWS: Mark the deprecation entry as documented. 2016-02-15 Stefan Monnier Announce that the `C-x w' bindings are deprecated 2016-02-15 Paul Eggert Suppress GNUstep hardening Fedora 23 normally hardens GNUstep applications, which causes ‘./configure --with-ns’ to break Emacs’s funky way of undumping. Fix this by eliding the hardening options (Bug#22518). * src/Makefile.in (LIBS_GNUSTEP): Omit options like ‘-specs=/usr/lib/rpm/redhat/redhat-hardened-ld’. (GNU_OBJC_CFLAGS): Omit options like ‘-specs=/usr/lib/rpm/redhat/redhat-hardened-cc1’. 2016-02-15 Eli Zaretskii Fix redisplay after a large insertion * src/xdisp.c (redisplay_internal): Don't accept the results of "optimization 3" if the cursor ends up in a partially visible glyph row. (Bug22637) 2016-02-15 Andreas Schwab Revert "Fix gnus-group-get-new-news-this-group on group with closed server" This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e. * lisp/gnus/nnimap.el (nnimap-change-group): Revert last change. (Bug#22634) 2016-02-15 Paul Eggert * lib-src/make-docfile.c: Include stdarg.h. 2016-02-15 Alan Mackenzie Extend gpm-mouse-mode's doc string and doc to point out limitations. * lisp/t-mouse.el (gpm-mouse-mode): Extend doc string to indicate the inability to transfer text between Emacs and other programs which use GPM. * doc/emacs/frames.texi (Text-Only Mouse): Note the inability to transfer text between Emacs and other progrmas which use GPM. 2016-02-15 Eli Zaretskii Revert "Backport: * lisp/isearch.el: Turn char-folding off by default" * lisp/isearch.el: Turn char-folding back oon by default. This reverts commit 12c50e82c9b432b2fc31f8fb2215f43ceea80822. 2016-02-15 Lars Ingebrigtsen Revert "Support integer image rotation and respect EXIF rotations" This reverts commit 0f600496050bf435f55dc81056e06fcd45992dc8. This change does not work on Fedora. 2016-02-15 Lars Ingebrigtsen Revert "Document EXIF image rotation" This reverts commit 10b8ed27ec91ff52f93eb0297dcc3abb214931aa. This change does not work on Fedora, for instance. 2016-02-15 Paul Eggert Document OS X LANG default * doc/emacs/cmdargs.texi (General Variables): Document OS X Language and Region system preference. Suggested by Alan Third. 2016-02-15 Alan Third Set locale when run from OS X GUI * src/emacs.c (main): Call ns_init_locale. * src/nsterm.m (ns_init_locale): Get locale from OS and set LANG. * src/nsterm.h: Include ns_init_locale. 2016-02-15 Paul Eggert make-docfile cleanup for I/O, etc. * lib-src/make-docfile.c (progname, generate_globals, num_globals) (num_globals_allocated, globals): Now static. (generate_globals, struct rcsoc_state, read_c_string_or_comment): (write_c_args, scan_c_stream, search_lisp_doc_at_eol, scan_lisp_file): Use bool for boolean. (verror): New function. (fatal, error): Use it. API is now like printf. All callers changed. (main): Remove err_count local that was always 0. (main, scan_c_stream, scan_lisp_file): Check for I/O error. (scan_file, scan_c_file, scan_c_stream, scan_lisp_file): Return void, not 0. (put_char, scan_keyword_or_put_char, scan_c_file): Use char for byte. (scan_keyword_or_put_char): Check for missing ( and unexpected EOF. (close_emacs_globals): Use ptrdiff_t for index, not int. (scan_c_file, scan_lisp_file): Exit with failure if file cannot be opened, rather than diagnosing but exiting with status 0. (search_lisp_doc_at_eol): Don't worry about ungetc of EOF; it's portable now. 2016-02-15 Paul Eggert Memory-management cleanup in make-docfile I compiled it with -fsanitize=address and fixed the leaks it detected. Also, I changed it to prefer signed to unsigned integer types, and to check for integer overflow. * lib-src/make-docfile.c: Include , , , . (memory_exhausted): New function. (xmalloc, xrealloc): Use it. (xmalloc, xrealloc, scan_file, struct rcsoc_state, write_c_args) (uncompiled, scan_lisp_file): Prefer signed integer types to unsigned. (xstrdup): Remove. All uses removed. (num_globals, num_globals_allocated, write_globals, scan_c_stream): Use ptrdiff_t, not int, for indexes that in theory could exceed INT_MAX. (add_global): Use const to pacify --enable-gcc-warnings. Make a copy here, rather than relying on strdup calls later. (add_global, write_globals, scan_c_stream): Avoid integer overflow when calculating sizes. (write_globals, scan_c_stream, scan_lisp_file): Avoid memory leak. (scan_c_stream): Check for add_global failure. 2016-02-15 Kevin Gallagher Kevin Gallagher has new email address * lisp/emulation/edt.el: * lisp/emulation/edt-lk201.el: * lisp/emulation/edt-mapper.el: * lisp/emulation/edt-pc.el: * lisp/emulation/edt-vt100.el: * etc/edt-user.el: * doc/misc/edt.texi: Update Kevin Gallagher's email address. 2016-02-15 Eli Zaretskii Improve doc strings of 'forward/backward-word-strictly' * lisp/simple.el (backward-word): Refer to 'backward-word-strictly' in the doc string. Suggested by Glenn Morris . * lisp/subr.el (forward-word-strictly, backward-word-strictly): Mention 'subword-mode' in the doc strings. * src/syntax.c (Fforward_word): Refer to 'forward-word-strictly' in the doc string. (Bug#22560) 2016-02-15 Michael Albinus Describe Makefile test targets in test/README * CONTRIBUTE: Move Makefile test targets to test/README. * Makefile.in: * test/README: Describe Makefile test targets. 2016-02-15 Artur Malabarba Backport: * lisp/isearch.el: Turn char-folding off by default (search-default-mode): Set default value to nil. 2016-02-15 Lars Ingebrigtsen Document EXIF image rotation * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation. 2016-02-15 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-15 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-02-15 Juri Linkov * lisp/replace.el (replace-match-maybe-edit): Make arg `backward' optional. Doc fix. (replace-search, replace-highlight): Make arg `backward' optional. (Bug#18388) 2016-02-15 Juri Linkov * lisp/simple.el (next-line-or-history-element): Reset temporary-goal-column. (previous-line-or-history-element): Reset temporary-goal-column. Use end-of-visual-line instead of line-end-position. (Bug#22544) 2016-02-15 Paul Eggert Suppress ACL ops if configured with --disable-acl Without this patch, some ACL operations were suppressed, but not all. * src/fileio.c [!USE_ACL]: Do not include sys/acl.h. (Ffile_acl, Fset_file_acl) [!USE_ACL]: Return nil in this case. 2016-02-15 Katsumi Yamaoka Mention web bugs * doc/misc/emacs-mime.texi (Display Customization): Mention web bugs in the mm-html-blocked-images section. 2016-02-15 Katsumi Yamaoka Make mm-html-blocked-images default to "" again * lisp/gnus/mm-decode.el (mm-html-blocked-images): Default to "" that blocks all external images. * doc/misc/emacs-mime.texi (Display Customization): Mention that mm-html-blocked-images defaults to "". 2016-02-15 Paul Eggert Minor alignas cleanup * src/lisp.h (alignas): Remove now-redundant #ifdef that was left over from the old way of doing things, before Bug#20862 was fixed. 2016-02-15 Paul Eggert Add lmalloc commentary and tweak laligned * src/alloc.c (laligned): Help compiler in a tiny way by putting the more-commonly-failing disjunct first. 2016-02-15 Eli Zaretskii Clarify documentation of key binding conventions * doc/lispref/tips.texi (Key Binding Conventions): Clarify which "punctuation characters" are reserved after "C-c". (Bug#22604) 2016-02-15 Oscar Fuentes * etc/NEWS: mention the `vc-faces' customization group 2016-02-15 Paul Eggert Sync with gnulib This incorporates: 2016-02-09 stdalign: port to clang 3.7.0 2016-02-06 misc: port better to gcc -fsanitize=address * doc/misc/texinfo.tex, lib/stdalign.in.h, m4/acl.m4, m4/getgroups.m4: Copy from gnulib. 2016-02-15 Michael Albinus * CONTRIBUTE: Add more examples for $(SELECTOR) make variable. 2016-02-15 Katsumi Yamaoka Make mm-html-inhibit-images and mm-html-blocked-images default to nil * lisp/gnus/mm-decode.el (mm-html-inhibit-images) (mm-html-blocked-images): Default to nil. * doc/misc/emacs-mime.texi (Display Customization): Mention that mm-html-inhibit-images and mm-html-blocked-images default to nil. * etc/NEWS (Gnus): Document mm-html-inhibit-images and mm-html-blocked-images. 2016-02-15 Paul Eggert Increase success rate of fallback lmalloc * src/alloc.c (lmalloc, lrealloc): Reallocate with (typically) larger and larger sizes, to increase the probability that the allocator will return a Lisp-aligned pointer. 2016-02-15 Lars Ingebrigtsen Make backgrounds extend to the end of the lines in shr * lisp/net/shr.el (shr-face-background): Faces can also be on the form `(:background "#fff)' (bug#22547). 2016-02-15 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). (cherry picked from commit 8722e849f75ceafb82a1c17105e8ab76077a8ebc) Backport: 2016-02-15 Mike Kupfer Fix typos in emacs-mime.texi and gnus.texi * doc/misc/emacs-mime.texi (Display Customization): * doc/misc/gnus.texi (HTML): Fix typo. 2016-02-15 Katsumi Yamaoka * doc/misc/emacs-mime.texi (Display Customization): Doc fix for mm-html-inhibit-images. 2016-02-15 Lars Ingebrigtsen Fix message-cross-post-followup-to group names * lisp/gnus/message.el (message-cross-post-followup-to): Don't insert group names like "nntp+foo:zot", because those aren't valid. 2016-02-15 David Edmondson Compare recipient and keys case-insensitively * lisp/gnus/mml2015.el: (mml-secure-check-user-id): When comparing a recipient address with that from a key, do so in a case insensitive manner (bug#22603). 2016-02-15 Glenn Morris * lisp/gnus/mm-decode.el (mm-alist-to-plist): Doc fix. 2016-02-15 Katsumi Yamaoka Refactor HTML images handling of Gnus and mm-* (a part of bug#21650) * doc/misc/emacs-mime.texi (Display Customization): Remove mm-inline-text-html-with-images; add documentations for mm-html-inhibit-images and mm-html-blocked-images. * lisp/gnus/gnus-art.el (gnus-article-show-images): No need to bind mm-inline-text-html-with-images. (gnus-bind-safe-url-regexp): Rename to gnus-bind-mm-vars. (gnus-bind-mm-vars): Rename from gnus-bind-safe-url-regexp; bind mm-html-inhibit-images and mm-html-blocked-images. (gnus-mime-view-all-parts, gnus-mime-view-part-internally) (gnus-mm-display-part, gnus-mime-display-single) (gnus-mime-display-alternative): Use gnus-bind-mm-vars. * lisp/gnus/mm-decode.el (mm-inline-text-html-with-images): Remove. (mm-html-inhibit-images, mm-html-blocked-images): New user options. (mm-shr): Bind shr-inhibit-images and shr-blocked-images with mm-html-inhibit-images and mm-html-blocked-images respectively instead of gnus-inhibit-images and gnus-blocked-images. * lisp/gnus/mm-view.el (mm-setup-w3m): Use mm-html-inhibit-images instead of mm-inline-text-html-with-images. 2016-02-15 Paul Eggert Port to FreeBSD 11-CURRENT i386 Problem reported by Herbert J. Skuhra in: http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00354.html Instead of trying * src/alloc.c (lmalloc, lrealloc, laligned): New functions. (xmalloc, xzalloc, xrealloc, lisp_malloc): Use them. (__alignof__) [!__GNUC__ && !__alignof__]: New macro. (MALLOC_IS_GC_ALIGNED): New macro. * src/lisp.h (NONPOINTER_BITS): Remove. All uses removed. No longer needed now that alloc.c uses lmalloc and lrealloc. 2016-02-15 Michael Albinus Some fixes in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-with-events-check) (file-notify--test-with-events-explainer): New defuns. (file-notify--test-with-events): Use it. (file-notify-test07-backup): Fix docstring. Some of the backends fire two `changed' events. Backup by rename doesn't work for kqueue. 2016-02-15 Michael Albinus Fix Bug#22557 * lisp/filenotify.el (file-notify-callback): Do not send a `stopped' event in case of backup by renaming. (Bug#22557) * test/automated/Makefile.in: Use $(SELECTOR_EXPENSIVE) for all targets but check and check-maybe. * test/automated/file-notify-tests.el (file-notify--test-read-event-timeout): New defconst. (file-notify--deftest-remote, file-notify--wait-for-events) (file-notify-test02-events) (file-notify-test04-file-validity) (file-notify-test06-many-events): Use it. (file-notify--test-cleanup): Make it more robust. Delete also backup file. (file-notify-test07-backup): New test. 2016-02-15 Paul Eggert Fix test for dladdr Problem reported by Andreas Schwab in: http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00327.html * configure.ac (dladdr): Link with LIBMODULES when checking for this function. 2016-02-15 Andreas Schwab Fix gnus-group-get-new-news-this-group on group with closed server * lisp/gnus/nnimap.el (nnimap-change-group): Lookup server method and pass to nnimap-open-server. 2016-02-15 Artur Malabarba 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-14 Lars Ingebrigtsen * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias. 2016-02-14 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-14 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-14 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-14 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-14 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-13 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-13 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-13 Lars Ingebrigtsen Make "unseen" tracking work again in Gnus * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen" tracking work again. 2016-02-13 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-13 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-13 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-13 Lars Ingebrigtsen Remove the gnus-merge alias * lisp/gnus/gnus-util.el (gnus-merge): Remove. 2016-02-13 Lars Ingebrigtsen Remove the gnus-union alias * lisp/gnus/gnus-util.el (gnus-union): Remove. 2016-02-13 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-13 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-13 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-13 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-13 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-13 Lars Ingebrigtsen Always use url-queue * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching): Always use url-queue. 2016-02-13 Lars Ingebrigtsen Remove compat functions from gnus-html.el * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove. 2016-02-13 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-13 Lars Ingebrigtsen Define gnus-diary-kill-entire-line unconditionally * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line): Define unconditionally. 2016-02-13 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-13 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-13 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-13 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-13 Lars Ingebrigtsen Remove compat code from canlock.el * lisp/gnus/canlock.el (defmacro): Remove 2016-02-13 Lars Ingebrigtsen Remove compat code from auth-source * lisp/gnus/auth-source.el (auth-source-read-char-choice): Remove compat code. 2016-02-13 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-13 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-12 Lars Ingebrigtsen Finish up cl-defmethoding registry,el * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod. 2016-02-12 Lars Ingebrigtsen Revert the gnus-replace-in-string change, fix arguments, reapply 2016-02-12 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-12 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-12 Lars Ingebrigtsen Silence compilation warning in mm-view * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence compilation warning. 2016-02-12 Lars Ingebrigtsen Fix epg-related compilation warnings in mml-sec * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg library. 2016-02-12 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-12 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-12 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-12 Lars Ingebrigtsen Use cl-defmethod in registry.el * lisp/gnus/registry.el: Use cl-defmethod instead of the obsolete defmethod. 2016-02-12 Lars Ingebrigtsen Make sieve-manage require sasl * lisp/gnus/sieve-manage.el: Fix compilation warning by requiring sasl. 2016-02-12 Lars Ingebrigtsen Avoid defvarring prefix-less variable * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'. 2016-02-12 Lars Ingebrigtsen * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates. 2016-02-12 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-12 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-12 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-12 Lars Ingebrigtsen Fix compilation warning in gnus-start * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid mm-make-temp-file. 2016-02-12 Lars Ingebrigtsen Avoid the obsoleted defmethod * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of defmethod. 2016-02-12 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-12 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-12 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-11 Lars Ingebrigtsen Remove som XEmacs compat code from message.el * lisp/gnus/message.el: Remove some XEmacs compat code. 2016-02-11 Lars Ingebrigtsen Remove XEmacs compat code from ietf-drums.el * lisp/gnus/ietf-drums.el (ietf-drums-syntax-table): Drop XEmacs compat. 2016-02-11 Lars Ingebrigtsen Remove XEmacs compat code from gravatar.el * lisp/gnus/gravatar.el: Remove XEmacs compat code from gravatar.el. 2016-02-11 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-11 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-11 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-11 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-11 Lars Ingebrigtsen Remove gnus-make-local-hook * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and all its usages). 2016-02-11 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-10 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 Paul Eggert Minor alignas cleanup * src/lisp.h (alignas): Remove now-redundant #ifdef that was left over from the old way of doing things, before Bug#20862 was fixed. 2016-02-09 Paul Eggert Add lmalloc commentary and tweak laligned * src/alloc.c (laligned): Help compiler in a tiny way by putting the more-commonly-failing disjunct first. 2016-02-09 Eli Zaretskii Clarify documentation of key binding conventions * doc/lispref/tips.texi (Key Binding Conventions): Clarify which "punctuation characters" are reserved after "C-c". (Bug#22604) 2016-02-09 Oscar Fuentes * etc/NEWS: mention the `vc-faces' customization group 2016-02-09 Paul Eggert Sync with gnulib This incorporates: 2016-02-09 stdalign: port to clang 3.7.0 2016-02-06 misc: port better to gcc -fsanitize=address * doc/misc/texinfo.tex, lib/stdalign.in.h, m4/acl.m4, m4/getgroups.m4: Copy from gnulib. 2016-02-09 Michael Albinus * CONTRIBUTE: Add more examples for $(SELECTOR) make variable. 2016-02-09 Katsumi Yamaoka Make mm-html-inhibit-images and mm-html-blocked-images default to nil * lisp/gnus/mm-decode.el (mm-html-inhibit-images) (mm-html-blocked-images): Default to nil. * doc/misc/emacs-mime.texi (Display Customization): Mention that mm-html-inhibit-images and mm-html-blocked-images default to nil. * etc/NEWS (Gnus): Document mm-html-inhibit-images and mm-html-blocked-images. 2016-02-08 Paul Eggert Increase success rate of fallback lmalloc * src/alloc.c (lmalloc, lrealloc): Reallocate with (typically) larger and larger sizes, to increase the probability that the allocator will return a Lisp-aligned pointer. 2016-02-08 Lars Ingebrigtsen Make backgrounds extend to the end of the lines in shr * lisp/net/shr.el (shr-face-background): Faces can also be on the form `(:background "#fff)' (bug#22547). 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). (cherry picked from commit 8722e849f75ceafb82a1c17105e8ab76077a8ebc) Backport: 2016-02-08 Mike Kupfer Fix typos in emacs-mime.texi and gnus.texi * doc/misc/emacs-mime.texi (Display Customization): * doc/misc/gnus.texi (HTML): Fix typo. 2016-02-08 Katsumi Yamaoka * doc/misc/emacs-mime.texi (Display Customization): Doc fix for mm-html-inhibit-images. 2016-02-08 Lars Ingebrigtsen Fix message-cross-post-followup-to group names * lisp/gnus/message.el (message-cross-post-followup-to): Don't insert group names like "nntp+foo:zot", because those aren't valid. 2016-02-08 David Edmondson Compare recipient and keys case-insensitively * lisp/gnus/mml2015.el: (mml-secure-check-user-id): When comparing a recipient address with that from a key, do so in a case insensitive manner (bug#22603). 2016-02-08 Glenn Morris * lisp/gnus/mm-decode.el (mm-alist-to-plist): Doc fix. 2016-02-08 Katsumi Yamaoka Refactor HTML images handling of Gnus and mm-* (a part of bug#21650) * doc/misc/emacs-mime.texi (Display Customization): Remove mm-inline-text-html-with-images; add documentations for mm-html-inhibit-images and mm-html-blocked-images. * lisp/gnus/gnus-art.el (gnus-article-show-images): No need to bind mm-inline-text-html-with-images. (gnus-bind-safe-url-regexp): Rename to gnus-bind-mm-vars. (gnus-bind-mm-vars): Rename from gnus-bind-safe-url-regexp; bind mm-html-inhibit-images and mm-html-blocked-images. (gnus-mime-view-all-parts, gnus-mime-view-part-internally) (gnus-mm-display-part, gnus-mime-display-single) (gnus-mime-display-alternative): Use gnus-bind-mm-vars. * lisp/gnus/mm-decode.el (mm-inline-text-html-with-images): Remove. (mm-html-inhibit-images, mm-html-blocked-images): New user options. (mm-shr): Bind shr-inhibit-images and shr-blocked-images with mm-html-inhibit-images and mm-html-blocked-images respectively instead of gnus-inhibit-images and gnus-blocked-images. * lisp/gnus/mm-view.el (mm-setup-w3m): Use mm-html-inhibit-images instead of mm-inline-text-html-with-images. 2016-02-08 Paul Eggert Port to FreeBSD 11-CURRENT i386 Problem reported by Herbert J. Skuhra in: http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00354.html Instead of trying * src/alloc.c (lmalloc, lrealloc, laligned): New functions. (xmalloc, xzalloc, xrealloc, lisp_malloc): Use them. (__alignof__) [!__GNUC__ && !__alignof__]: New macro. (MALLOC_IS_GC_ALIGNED): New macro. * src/lisp.h (NONPOINTER_BITS): Remove. All uses removed. No longer needed now that alloc.c uses lmalloc and lrealloc. 2016-02-08 Michael Albinus Some fixes in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-with-events-check) (file-notify--test-with-events-explainer): New defuns. (file-notify--test-with-events): Use it. (file-notify-test07-backup): Fix docstring. Some of the backends fire two `changed' events. Backup by rename doesn't work for kqueue. 2016-02-07 Michael Albinus Fix Bug#22557 * lisp/filenotify.el (file-notify-callback): Do not send a `stopped' event in case of backup by renaming. (Bug#22557) * test/automated/Makefile.in: Use $(SELECTOR_EXPENSIVE) for all targets but check and check-maybe. * test/automated/file-notify-tests.el (file-notify--test-read-event-timeout): New defconst. (file-notify--deftest-remote, file-notify--wait-for-events) (file-notify-test02-events) (file-notify-test04-file-validity) (file-notify-test06-many-events): Use it. (file-notify--test-cleanup): Make it more robust. Delete also backup file. (file-notify-test07-backup): New test. 2016-02-07 Paul Eggert Fix test for dladdr Problem reported by Andreas Schwab in: http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00327.html * configure.ac (dladdr): Link with LIBMODULES when checking for this function. 2016-02-07 Andreas Schwab Fix gnus-group-get-new-news-this-group on group with closed server * lisp/gnus/nnimap.el (nnimap-change-group): Lookup server method and pass to nnimap-open-server. 2016-02-07 Artur Malabarba * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring While tabs in code are mostly fine because the Emacs sources have a .dir-locals file specifying tab-width, the same is not true of tabs in code examples inside docstrings. The docstring is printed on a *Help* buffer, which can be created on any directory and won't necessarily have the same tab-width set. 2016-02-07 Lars Ingebrigtsen Don't inloop gnus-uu-mark-thread on the last thread * lisp/gnus/gnus-uu.el (gnus-uu-mark-thread): Don't infloop on the final thread in the summary buffer (bug#16666). 2016-02-06 Lars Ingebrigtsen Display non-ASCII group names better in prompts * lisp/gnus/gnus-sum.el (gnus-articles-to-read): To decode the group name, we have to do that before we remove the prefix. 2016-02-06 Lars Ingebrigtsen Default to gpg2 instead of gpg * lisp/epg-config.el (epg-gpg-program): Prefer gpg2 over gpg, if it exists. This fixes many problems with using the GPG authentication agent. 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. Backport: (cherry picked from commit 55ce3c30d617c38eb086d5ad4ffbd881c20c559c) 2016-02-06 Artur Malabarba * lisp/isearch.el (isearch-define-mode-toggle): Improve logic 2016-02-06 Artur Malabarba * lisp/menu-bar.el (menu-bar-options-menu): New search submenu (menu-bar-search-options-menu): New variable 2016-02-06 Artur Malabarba * lisp/isearch.el (search-default-mode) (isearch-regexp-function): Improve docstrings. 2016-02-06 Artur Malabarba * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode (search-default-mode): New variable. (isearch-mode, isearch-define-mode-toggle) (isearch--describe-regexp-mode): Update accordingly. * lisp/menu-bar.el (nonincremental-search-forward): Update accordingly. * etc/NEWS: Update accordingly. * doc/emacs/search.texi: Update accordingly. 2016-02-06 Oscar Fuentes Use monitor's resolution for positioning tooltips * src/xfns.c (compute_tip_xy): Use the resolution of the monitor where the mouse pointer is to avoid placing the tooltip over the border of the monitor on multi-head displays. Fixes bug#22549. 2016-02-06 Eli Zaretskii Fix file-notify-test on MS-Windows * test/automated/file-notify-tests.el (file-notify--test-timeout): Reduce w32notify timeout to 10 sec. (file-notify-test06-many-events): Call read-event after each rename, to keep the w32notify backend happy in batch mode. (Bug#22534) 2016-02-06 Eli Zaretskii Fix issues found by auditing w32notify code * src/w32inevt.c (handle_file_notifications): Count the number of events to be returned. * src/w32notify.c (send_notifications): Don't copy to the file notification buffer more than it can hold. (Bug#22534) 2016-02-06 Eli Zaretskii Extend etags Ruby support for accessors * lib-src/etags.c (Ruby_functions): Support accessors defined with parentheses. (Bug#22563) * test/etags/ruby-src/test1.ru (A::B): Add tests for accessors defined with parentheses. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to changes in Ruby tests. 2016-02-06 Lars Ingebrigtsen Update publicsuffix.txt. * etc/publicsuffix.txt: Updated from https://publicsuffix.org/list/public_suffix_list.dat. 2016-02-06 Lars Ingebrigtsen Ensure that Gnus dribble handling allows removing entries * lisp/gnus/gnus-start.el (gnus-dribble-enter): Ensure that each entry is on a single line. 2016-02-05 OGAWA Hirofumi (tiny change) Be consistent when using encoded strings in nnimap data * lisp/gnus/nnimap.el (nnimap-encode-gnus-group): New function (nnimap-request-list): Use it. (nnimap-request-newgroups): Ditto. 2016-02-05 OGAWA Hirofumi (tiny change) Display the decoded Gnus group name * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Use the decoded group name in the message. 2016-02-05 Lars Ingebrigtsen Use completion-ignore-case instead of defining command * lisp/erc/erc.el (erc-mode): Set completion-ignore-case so that we get case-insensitive completion. (erc-completion-at-point): Remove. 2016-02-05 Eli Zaretskii Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25 2016-02-05 Michael Albinus * test/automated/file-notify-tests.el (file-notify-test06-many-events): Reduce the number of iterations to 250 in case of w32notify. 2016-02-05 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'. 2016-02-05 Lars Ingebrigtsen Fix doc string of tls-program * lisp/net/tls.el (tls-program): Document the %t parameter (bug#22559). 2016-02-05 Mark Oteiza * etc/NEWS: Document new mpc.el features 2016-02-04 Leo Liu * lisp/custom.el (defface): Revert indentation change. (Bug#22524) 2016-02-04 Alan Mackenzie Correctly fontify C++ initializations which "look like" functions. Fixes bug#7579. lisp/progmodes/cc-engine.el (c-forward-declarator): Add extra optional parameter to enable handling of "anonymous" declarators in declarations. lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Check more rigorously whether a "(" opens a parameter list of a function, or an initialization of a variable. 2016-02-04 Ulf Jasper Improve newsticker-treeview-selection-face * newst-treeview.el (newsticker-treeview-selection-face): Improve readability for dark background. 2016-02-04 Eli Zaretskii Minor fix in tagging Ruby accessors by etags * lib-src/etags.c (Ruby_functions): Don't tag accessors whose names are not literal symbols. (Bug#22241) 2016-02-04 Paul Eggert Spelling fixes 2016-02-04 Dmitry Gutov Remove 'def X' from the example * test/etags/ruby-src/test1.ru (A::B): Remove 'def X' (http://lists.gnu.org/archive/html/emacs-devel/2016-02/msg00167.html). * test/etags/CTAGS.good: * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: Adjust accordingly. 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 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 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 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 * 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 (tiny change) * 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. 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-06 Martin Jesper Low Madsen (tiny change) * 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-06 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-05 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 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-04 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-04 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-04 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). (cherry picked from commit 5898da8210af7953e638ddf7821c05260979c3f0) Backport: 2016-02-04 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-04 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-04 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-04 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-04 Lars Ingebrigtsen Make erc completion case-insensitive again * lisp/erc/erc.el (erc-completion-at-point): Make erc completion case-insensitive again (bug#11360). 2016-02-04 Carlos Pita (tiny change) Make complection in erc use consistent casing * lisp/erc/erc-pcomplete.el (pcomplete-erc-all-nicks): Make case in the complection consistent (bug#18509). 2016-02-04 Francis Litterio Make /QUIT in erc more robust * lisp/erc/erc.el (erc-kill-query-buffers): Don't bug out if we're issuing /QUIT to disconnected servers (bug#22099). 2016-02-04 Kevin Brubeck Unhammer (tiny change) Make tracking faces in Emacs work more reliably * lisp/erc/erc-track.el (erc-faces-in): Always return lists of faces to avoid later ambiguity (bug#22424). 2016-02-04 Lars Ingebrigtsen Make shr not bug out on images on non-graphical displays * lisp/net/shr.el (shr-put-image): Don't bug out on alt-less images on non-graphical displays (bug#22327). 2016-02-04 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-04 Lars Ingebrigtsen Fix bookmark display widths * lisp/net/eww.el (eww-list-bookmarks): Pop to the buffer before preparing it so that the widths are computed correctly (bug#22328). 2016-02-04 Lars Ingebrigtsen Fix typo in eww-make-unique-file-name * lisp/net/eww.el (eww-make-unique-file-name): Make this function actually work. 2016-02-03 Lars Ingebrigtsen Make it possible to TAB to input fields * lisp/net/eww.el (eww-tag-input): Make it possible to TAB to input fields (bug#22540). 2016-02-03 Lars Ingebrigtsen Insert complete alt texts when images are disabled * lisp/net/shr.el (shr-tag-img): When images are disabled, insert the complete alt/title string (bug#22293). 2016-02-03 Lars Ingebrigtsen Allow eww text fields to grow * lisp/net/eww.el (eww-process-text-input): Allow text fields to grow when typing in stuff that's longer than the original width. 2016-02-03 Dima Kogan Make erc work when subword-mode is switched on * lisp/erc/erc-backend.el (erc-forward-word, erc-word-at-arg-p) (erc-bounds-of-word-at-point): New functions to do word-based things when subword-mode is switched on. * lisp/erc/erc-button.el (erc-button-add-nickname-buttons): Use them (bug#17558). 2016-02-03 Teemu Likonen Fix IMAP doc example * doc/misc/gnus.texi (Client-Side IMAP Splitting): Fix example. 2016-02-03 Paul Eggert Quoting fixes in doc strings and diagnostics * lisp/emacs-lisp/bytecomp.el (byte-compile-setq, byte-compile-funcall): * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert) (mml-smime-get-ldap-cert): Follow user style preference when quoting diagnostics. 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 Noam Postavsky Fix warning message in hack-local-variables * lisp/files.el (hack-local-variables): use 'thisbuf' to reference the original buffer name in the warning message. (Bug#21681) 2016-02-03 Eli Zaretskii Etags: yet another improvement in Ruby tags * lib-src/etags.c (Ruby_functions): Handle continuation lines in Ruby accessor definitions. (Bug#22241) * test/etags/ruby-src/test1.ru (A::B#X): Add some more tests for accessors and multiline definitions. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to changes in Ruby tags. 2016-02-03 Eli Zaretskii Fix x-popup-menu on TTYs without a mouse * src/menu.c (Fx_popup_menu): Be sure to initialize 'x' and 'y' for the TTY case without a mouse. (Bug#22538) 2016-02-03 Nicolas Petton * lisp/emacs-lisp/map.el: Improvements to the docstring of the pcase macro 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-03 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 < Use pop-to-buffer-same-window in eww * lisp/net/eww.el: pop-to-buffer-same-window throughout instead of switch-to-buffer (bug#22244). 2016-02-02 Paul Eggert * autogen.sh: Revert all recent changes. 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 * make-dist: Updates related to nt/. * make-dist: Add modules/. * make-dist: Update for super-special file that can't live in etc/. 2016-02-02 Eli Zaretskii Fix failure to compile ns-win.el in parallel builds * src/Makefile.in ($(lispsource)/term/ns-win.elc): Add order-only dependency on $(lispsource)/international/charprop.el. (Bug#22501) 2016-02-02 Eli Zaretskii Fix names of tags generated for Ruby accessors * lib-src/etags.c (Ruby_functions): Don't include the leading colon ':' in tags for Ruby accessors and aliases. (Bug#22241) * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to changes in Ruby tags. 2016-02-02 Glenn Morris * lisp/vc/add-log.el (change-log-directory-files, find-change-log): Doc tweaks. 2016-02-02 Eli Zaretskii Fix file-name recognition in 'etags' * lib-src/etags.c (get_language_from_filename): If FILE includes a leading directory, compare only its basename to the known file names in lang_names[]. * test/etags/Makefile (RBSRC): Adapt to recent test1.ruby renaming. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to changes in Ruby file names and to the results in Makefile due to the above etags.c fix. 2016-02-02 Eli Zaretskii Change Ruby file names and extensions recognized by 'etags' * lib-src/etags.c : New variable, holds names of Ruby files. : Treat .rb, .ru, and .rbw as Ruby extensions. : Add Ruby_filenames to the Ruby entry. * test/etags/ruby-src/test1.ru: Renamed from test1.ruby. (Bug#22241) 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-02 Eli Zaretskii More improvements for Ruby support in 'etags' * lib-src/etags.c (Ruby_functions): Tag Ruby accessors and alias_method. Identify constants even if the assignment is not followed by whitespace. (Bug#22241) * test/etags/ruby-src/test1.ruby: Add tests for constants, accessors, and alias_method. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to changes in Ruby tests. 2016-02-02 Paul Eggert Add --git-config option to autogen.sh * autogen.sh: New options --git-config, --help. (git_config): New shell var. Alter function to respect this var. 2016-02-02 Lars Ingebrigtsen Fix editing undo changes in eww fields * eww.el (eww-tag-form): Don't overwrite initial form data in text fields. (eww-process-text-input): Make `M-t' at the end of text fields work better (bug#19085). 2016-02-01 Lars Ingebrigtsen Allow the user more control of popping up the eww window * eww.el (eww): Use pop-to-buffer-same-window (suggested by Michael Heerdegen) (bug#22244). 2016-02-01 Lars Ingebrigtsen Make eww-browse-url with new-window parameter work again * eww.el (eww-browse-url): Stay in the same buffer if we're already in a eww mode buffer so that eww-browse-url with a new-window parameter works (bug#22244). 2016-02-01 Lars Ingebrigtsen Clean up eww code slightly * eww.el (eww-browse-url): Clean up code slightly. 2016-02-01 Lars Ingebrigtsen Don't insert nil faces in shr * shr.el (shr-insert-table): Don't add nil faces, because that will show up in *Messages* as "Invalid face reference: nil [32 times]". 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 Glenn Morris Improve the custom type of some user options. * lisp/autoinsert.el (auto-insert-alist): * lisp/replace.el (query-replace-from-to-separator): * lisp/gnus/gnus-art.el (gnus-hidden-properties): * lisp/gnus/gnus-gravatar.el (gnus-gravatar-properties): * lisp/gnus/gnus-picon.el (gnus-picon-properties): * lisp/progmodes/prolog.el (prolog-keywords, prolog-types) (prolog-mode-specificators, prolog-determinism-specificators) (prolog-directives, prolog-program-name, prolog-program-switches) (prolog-consult-string, prolog-compile-string, prolog-eof-string) (prolog-prompt-regexp): Improve custom type. 2016-02-01 Glenn Morris Mark some risky calendar variables. * lisp/calendar/cal-china.el (chinese-calendar-time-zone): Remove risky setting for deleted obsolete alias. (calendar-chinese-standard-time-zone-name) (calendar-chinese-daylight-saving-start) (calendar-chinese-daylight-saving-end): * lisp/calendar/calendar.el (calendar-iso-date-display-form) (calendar-european-date-display-form) (calendar-american-date-display-form, calendar-date-display-form): * lisp/calendar/diary-lib.el (diary-remind-message) (diary-header-line-format): * lisp/calendar/solar.el (calendar-time-display-form) (calendar-location-name): Mark as risky. 2016-02-01 Simen Heggestøyl Highlight two additional SCSS keywords * lisp/textmodes/css-mode.el (css-bang-ids): New defconst holding CSS identifiers on the form !foo. (scss-bang-ids): New defconst holding SCSS identifiers on the form !foo. (css--font-lock-keywords): Highlight the new SCSS bang identifiers in `font-lock-builtin-face'. * test/indent/css-mode.css: Add bang rule test case. * test/indent/scss-mode.css: Add test cases for the introduced bang rules. 2016-02-01 Karl Fogel Recommend enabling integrity-checking in git * admin/notes/git-workflow: Recommend setting transfer.fsckObjects. This is related to the autogen.sh changes made by Paul Eggert in commit d766ca8f (2016-02-01) and commit cedd7cad (2016-02-01), and to my edits today to http://www.emacswiki.org/emacs/GitForEmacsDevs and to emacswiki.org/emacs/GitQuickStartForEmacsDevs. See also the thread "Recommend these .gitconfig settings for git integrity." at https://lists.gnu.org/archive/html/emacs-devel/2016-01/threads.html#01802. 2016-02-01 Martin Rudalics Some corrections in Elisp manual * doc/lispref/buffers.texi (Read Only Buffers): Describe optional argument POSITION. * doc/lispref/debugging.texi (Error Debugging): `debug-on-signal' is an option. * doc/lispref/display.texi (Refresh Screen): Describe optional argument FRAME of `redraw-frame'. (Attribute Functions): Describe optional argument CHARACTER of `face-font'. (Defining Images): `image-load-path' is an option. (Beeping): `ring-bell-function' is an option. * doc/lispref/frames.texi (Size and Position): The PIXELWISE argument of `set-frame-size' is optional. (Raising and Lowering): The TERMINAL argument of `tty-top-frame' is optional. * doc/lispref/keymaps.texi (Controlling Active Maps): Fix doc of `set-transient-map'. * doc/lispref/minibuf.texi (Text from Minibuffer): `read-regexp-defaults-function' is an option. (Minibuffer Contents): `delete-minibuffer-contents' is a command. * doc/lispref/modes.texi (Mode Line Variables): `mode-line-position' and `mode-line-modes' are variables, not options. * doc/lispref/strings.texi (Creating Strings): The START argument of `substring' is optional. * doc/lispref/text.texi (Buffer Contents): Describe optional argument NO-PROPERTIES of `thing-at-point'. (User-Level Deletion): Both arguments of `delete-trailing-whitespace' are optional. (Margins): Use @key{RET} instead of @kbd{RET}. * doc/lispref/windows.texi (Display Action Functions): Write non-@code{nil} instead of non-nil. (Choosing Window Options): The WINDOW arg of `split-window-sensibly' is optional. (Choosing Window Options): Write non-@code{nil} instead of non-nil. (Window Start and End): Both args of `window-group-end' are optional. * src/buffer.c (Fbarf_if_buffer_read_only): Rename argument POS to POSITION to keep consisteny with doc-string. 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 Paul Eggert Chatter when autogen.sh changes Git configuration * autogen.sh (git_config): New function. Use it instead of ‘git config’. 2016-02-01 Kyle Meyer * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399) 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 Paul Eggert Omit unnecessary history from Lisp intro * doc/lispintro/emacs-lisp-intro.texi (Review, Digression into C) (Conclusion): Reword so as not to talk about earlier versions of Emacs in what should be an intro. 2016-01-31 Paul Eggert * etc/HISTORY: Add some more history, plus git tags. 2016-01-31 Paul Eggert Improve elisp “Security Considerations” doc * doc/lispref/os.texi (Security Considerations): Mention call-process and rename-file as opposed to shell commands. Add some more cross-references. 2016-01-31 Paul Eggert autogen.sh now arranges for git to check hashes Suggested by Karl Fogel in: http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01802.html * autogen.sh: Do "git config transfer.fsckObjects true". 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 Fix (c & 040) typo in emergency escapes * src/keyboard.c (handle_interrupt): Fix recently-introduced typo (040 should have been ~040) that silently suppressed auto-saves after emergency escapes. Redo comparison to avoid similar problems. 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 Eli Zaretskii Fix display of overlay strings with 'display' and 'box' property * src/xdisp.c (get_next_display_element): Take the box face from display stack level that comes from a buffer, not an overlay string. (Bug#22499) 2016-01-31 Andreas Schwab Fix imap-starttls-open * lisp/net/imap.el (imap-starttls-open): Log imap process output. Call imap-parse-greeting. (Bug#22500) 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-31 Andreas Schwab Fix return value of imap-starttls-open * lisp/net/imap.el (imap-starttls-open): Fix return value. 2016-01-31 John Wiegley Correct reference to DARWIN_OS preprocessor symbol * src/alloc.c: Correct a preprocessor reference to DARWIN_OS, which may not be defined. 2016-01-30 Paul Eggert Spelling fixes Spelling fix 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 Paul Eggert Pacify GCC on C library without glibc API Without this change, with --enable-gcc-warnings GCC would complain “error: redundant redeclaration of ‘aligned_alloc’”. * configure.ac: Simplify aligned_alloc testing. * src/alloc.c (aligned_alloc): Don’t use if DARWIN_OS, since the simplified configure.ac no longer checks for that. Don’t declare if HAVE_ALIGNED_ALLOC. Correct misspelling of HAVE_ALIGNED_ALLOC in ifdef. 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 Glenn Morris * lisp/net/browse-url.el (browse-url-default-browser): Lower priority of non-free Chrome. 2016-01-30 Glenn Morris Improve the custom type of some user options. * lisp/desktop.el (desktop-minor-mode-table): * lisp/man.el (Man-frame-parameters): * lisp/midnight.el (midnight-delay): * lisp/speedbar.el (speedbar-select-frame-method): * lisp/tooltip.el (tooltip-frame-parameters): * lisp/tree-widget.el (tree-widget-space-width): * lisp/type-break.el (type-break-keystroke-threshold): * lisp/woman.el (woman-imenu-generic-expression): * lisp/cedet/ede.el (ede-debug-program-function): * lisp/cedet/ede/project-am.el (project-am-debug-target-function): * lisp/emulation/viper-keym.el (viper-toggle-key): * lisp/erc/erc-networks.el (erc-server-alist): * lisp/gnus/message.el (message-deletable-headers, message-signature): * lisp/mail/mailalias.el (mail-directory-stream): * lisp/play/tetris.el (tetris-x-colors): * lisp/progmodes/gud.el (gud-tooltip-modes): Improve custom type. 2016-01-30 Simen Heggestøyl Highlight CSS variables with variable name face * lisp/textmodes/css-mode.el (css-nmstart-re): Don't match variables. (css--font-lock-keywords): Highlight variables in `font-lock-variable-name-face'. 2016-01-30 Glenn Morris * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not user-serviceable. 2016-01-30 Glenn Morris Mark some user options that can get evalled as risky. * lisp/allout.el (allout-title): * lisp/emacs-lisp/edebug.el (edebug-global-break-condition): * lisp/gnus/message.el (message-mailer-swallows-blank-line): * lisp/progmodes/gud.el (gud-tooltip-display): * lisp/vc/ediff-mult.el (ediff-default-filtering-regexp): Mark as risky. 2016-01-30 Eli Zaretskii Disable DebPrint in sys_read on MS-Windows * src/w32.c (sys_read): Disable a debugging print that is normal when non-blocking reads are retried. 2016-01-30 Martin Rudalics ;Fix ChangeLog entry 2016-01-30 Eli Zaretskii Fix typos in Introduction to Emacs Lisp manual * doc/lispintro/emacs-lisp-intro.texi (Emacs Initialization) (kill-new function, Digression into C) (Complete forward-sentence, Divide and Conquer, Find a File) (lengths-list-many-files, Columns of a graph, defcustom) (recursive-count-words): Fix typos. Reported by Daniel Bastos . 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 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 Andreas Schwab Re-enable checks in member, memql, delete to complain about non-lists * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change. 2016-02-04 Martin Rudalics Minor doc(-string) tweaks * lisp/window.el (window-in-direction): Fix doc-string typo. * doc/lispref/frames.texi (Frame Font): Mention canonical character width/height. * doc/lispref/windows.texi (Windows and Frames): Clarify handling of minibuffer window for `window-in-direction'. (Window Sizes): Minor tweaks in descriptions of `window-max-chars-per-line', `window-min-width' and `window-min-size'. (Deleting Windows): Minor tweak in `delete-window' description. (Selecting Windows): Clarify window use time description. (Cyclic Window Ordering): Minor tweak. (Switching Buffers): Clarify description of `switch-to-buffer-in-dedicated-window'. 2016-02-04 Eli Zaretskii 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 Glenn Morris Don't use eval to quieten prolog.el compilation. * lisp/progmodes/prolog.el (pltrace-on, pltrace-off): Declare. (prolog-enable-sicstus-sd, prolog-disable-sicstus-sd): Don't use eval. 2016-01-28 Glenn Morris Mark some risky prolog variables. * lisp/progmodes/prolog.el (prolog-system-version) (prolog-keywords, prolog-types, prolog-mode-specificators) (prolog-determinism-specificators, prolog-directives) (prolog-program-name, prolog-program-switches) (prolog-consult-string, prolog-compile-string) (prolog-eof-string, prolog-prompt-regexp, prolog-help-function): Mark anything processed by prolog-find-value-by-system as risky. 2016-01-28 Glenn Morris * lisp/custom.el (defcustom): Doc fix. * doc/lispref/customize.texi (Variable Definitions): Defcustom should always have a type. 2016-01-28 Glenn Morris * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn): Warn if defcustom has no type. (Bug#16276) * lisp/cedet/semantic/db-file.el (semanticdb-persistent-path): Fix :type. * lisp/emacs-lisp/package.el (package-load-list): Improve :type. 2016-01-28 Michael Albinus Fix Bug#22452 * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection): * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): * lisp/net/tramp-sh.el (tramp-maybe-open-connection): * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Mark it as connected. * lisp/net/tramp.el (tramp-handle-file-remote-p): Check also, if connection property "connected" is set. (Bug#22452) 2016-01-27 Glenn Morris * test/lisp/vc/vc-hg.el: Move from test/automated/. * lisp/xwidget.el (xwidget-query-on-exit-flag): Declare. * lisp/xwidget.el (xwidget-webkit-browse-url): Give explicit error if not compiled with xwidgets. 2016-01-26 Paul Eggert C-u C-x = example doc fix * doc/emacs/mule.texi (International Chars): Adjust example to match current behavior of C-u C-x =. 2016-01-26 Paul Eggert malloc.h hygiene This attempts to future-proof Emacs a bit against possible glibc changes, by having Emacs use declarations rather than coding them up by hand. Problem noted by Florian Weimer in: https://sourceware.org/ml/libc-alpha/2016-01/msg00777.html Implement this mainly by moving malloc.h-related functions from emacs.c (which does not include ) to alloc.c (which does). * src/alloc.c (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]: New function. The remaining changes to this file apply only if DOUG_LEA_MALLOC. (alloc_unexec_pre, alloc_unexec_post): New functions. (malloc_initialize_hook): Use my_heap_start and alloc_unexec_post. (__MALLOC_HOOK_VOLATILE): New macro, if not already defined. (__malloc_initialize_hook): Use it. (malloc_state_ptr, malloc_initialize_hook, __malloc_initialize_hook): Move here from ... * src/emacs.c: ... here. (malloc_get_state, malloc_set_state): Remove extern decls. (my_heap_start) [DOUG_LEA_MALLOC || GNU_LINUX]: Remove static var. All uses changed to similarly-named new function. (Fdump_emacs): Use new functions alloc_unexec_pre, alloc_unexec_post. * src/lisp.h (my_heap_start, alloc_unexec_pre, alloc_unexec_post): New decls. 2016-01-26 Eli Zaretskii * doc/emacs/mark.texi (Using Region): Clarify wording. (Bug#22467) 2016-01-26 Paul Eggert Remove never-set var handle_user_signal_hook * src/keyboard.c, src/keyboard.h (handle_user_signal_hook): Remove never-set var. All uses removed. 2016-01-26 Anders Lindgren Fixed NextStep fullscreen issue (bug#22468) When in fullscreen mode, `[screen visibleFrame]' sometimes includes, sometimes excludes the menu bar. This could cause a frame to be placed too low when in fullscreen mode. * src/nsterm.m (ns_menu_bar_should_be_hidden): Trace. (constrain_frame_rect): New parameter, isFullscreen, when true don't query the height of the menu bar. (ns_constrain_all_frames): Pass `false' (isFullscreen) to `constrain_frame_rect'. ([EmacsView initFrameFromEmacs:]): Trace. ([EmacsView isFullscreen]): Trace. ([EmacsWindow constrainFrameRect:toScreen:]): Pass fullscreen state to `constrain_frame_rect'. 2016-01-25 Artur Malabarba * lisp/files.el: Use a fixed file name for the second dir-locals file (dir-locals-file): Revert to its original fixed value. (dir-locals-file-2): New const. (dir-locals--all-files): Don't use `file-name-all-completions'. Instead, just check for the 2 dir-locals files and return a list of the ones that exit (if any). * etc/NEWS: Document the change. * doc/emacs/custom.texi (Directory Variables): Document the change. * doc/lispref/variables.texi (Directory Local Variables): Update accordingly. 2016-01-25 Artur Malabarba * lisp/files-x.el (modify-dir-local-variable): Small rewrite Change a variable name to be more meaningful, and reorder some of the code with no change in behaviour. 2016-01-25 Artur Malabarba * lisp/files.el (dir-locals-find-file): Refactor return values Returning a cache remains unchanged, but the case of returning a file (or pattern) is now changed to return the contaning directory. (dir-locals-read-from-file): Rename to `dir-locals-read-from-dir' and make obsolete. (dir-locals-read-from-dir): Simplify accordingly. (hack-dir-local-variables): Simplify accordingly and rename a variable. 2016-01-25 Glenn Morris * lisp/textmodes/flyspell.el (flyspell--prev-meta-tab-binding): Declare. * configure.ac (USE_CAIRO): Rename to more standard HAVE_CAIRO. * configure.ac (--with-cairo): Say it's experimental. * lisp/xwidget.el (xwidget-webkit-scroll-behavior): Rename using American spelling. Update all uses. 2016-01-25 Glenn Morris Yet more xwidget doc fixes. * lisp/xwidget.el (xwidget-webkit-scroll-behaviour) (xwidget-insert, xwidget-webkit-browse-url) (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down) (xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward) (xwidget-webkit-insert-string, xwidget-webkit-show-named-element) (xwidget-webkit-show-id-element) (xwidget-webkit-show-id-or-named-element) (xwidget-webkit-adjust-size, xwidget-webkit-current-url) (xwidget-webkit-execute-script-rv) (xwidget-webkit-copy-selection-as-kill, xwidget-get) (xwidget-put): Doc fixes. (xwidget-webkit-insert-string, xwidget-webkit-show-named-element) (xwidget-webkit-show-id-element) (xwidget-webkit-show-id-or-named-element): Prompt fixes. 2016-01-25 Ted Zlatanov * lisp/gnus/gnus-art.el (gnus-blocked-images): Add explicit nil choice and tags. 2016-01-25 Paul Eggert Spelling fixes 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-25 Stefan Monnier (font-lock-ensure-function): Fix bug#22399 * lisp/font-lock.el (font-lock-ensure-function): Fix handling when font-lock-mode is not enabled (bug#22399). 2016-01-25 Alan Mackenzie Expunge "allow" + infinitive from source and doc, part 2. Do the same for "permit", "enable", "prevent", and (where appropriate) "require". doc/misc/reftex.texi: doc/misc/url.texi: lib/get-permissions.c: lib/strftime.c: lisp/org/org-element.el: lisp/org/org-mobile.el: lisp/textmodes/reftex-vars.el: src/bidi.c: src/emacs.c: src/xdisp.c: test/etags/c-src/emacs/src/lisp.h: Expunge the likes of "This allows to do something" from the above files. 2016-01-25 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Redundant line `special-mode' is already read-only. 2016-01-25 Artur Malabarba * lisp/emacs-lisp/ert.el (ert--results-move): Change error to user-error 2016-01-24 Paul Eggert Port "$@" to OpenIndiana ksh93 In http://lists.gnu.org/archive/html/bug-autoconf/2015-12/msg00000.html Pavel Raiskup reports that ${1+"$@"} runs afoul of a bug in /bin/sh (derived from ksh 93t+ 2010-03-05). ${1+"$@"} works around an ancient bug in long-dead shells, so remove the workaround. * admin/check-doc-strings, configure.ac, lib-src/rcs2log: Use plain "$@" rather than ${1+"$@"}. 2016-01-24 Paul Eggert * src/xwidget.c (Fxwidget_set_adjustment): Fix doc string quoting typo. 2016-01-24 Paul Eggert Improve wording for SMB support * doc/misc/tramp.texi (External methods): Improve and modernize wording for discussion of smbclient. There is no longer any need to mention the laundry list of old MS Windows implementations of SMB and CIFS, nor to mention CIFS. Also, give a URL for Samba. 2016-01-24 Paul Eggert Merge from gnulib This incorporates: 2016-01-24 openat_proc_name: fix last '/' overwritten on OS/2 kLIBC 2016-01-24 closedir, dirfd, opendir: port to OpenSolaris 5.10 2016-01-15 detect utimes() correctly on OS/2 kLIBC 2016-01-15 openat_proc_name: port to OS/2 kLIBC 2016-01-14 stdint: check _INTPTR_T_DECLARED for intptr_t etc. 2016-01-14 opendir, closedir, dirfd, fdopendir: port to OS/2 kLIBC 2016-01-14 dup, dup2, fcntl: support a directory fd on OS/2 kLIBC 2016-01-14 binary-io: don't put fd in binary mode if a console on EMX 2016-01-14 sig2str: list all signals on FreeBSD >= 7 2016-01-13 acl-permissions: port to USE_ACL==0 platforms 2016-01-12 mktime: rename macro to avoid glibc clash 2016-01-12 Port "$@" to OpenIndiana ksh93 2016-01-12 Port Universal Time settings to strict POSIX * build-aux/gitlog-to-changelog, build-aux/update-copyright: * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h: * lib/binary-io.h, lib/dirent.in.h, lib/dirfd.c, lib/dup2.c: * lib/fcntl.c, lib/fdopendir.c, lib/mktime.c, lib/openat-proc.c: * lib/sig2str.h, lib/stdint.in.h, m4/dirfd.m4, m4/dup2.m4: * m4/fcntl.m4, m4/utimes.m4: Copy from gnulib. * m4/gnulib-comp.m4: Regenerate. 2016-01-24 Alan Mackenzie Expunge "allow" + infinitive without direct object from source and doc. Do the same for "permit", "enable", and "prevent". * doc/emacs/mule.texi: * doc/lispref/control.texi: * doc/lispref/display.texi: * doc/lispref/frames.texi: * doc/lispref/functions.texi: * doc/lispref/nonascii.texi: * doc/lispref/streams.texi: * doc/lispref/windows.texi: * doc/misc/dbus.texi: * doc/misc/eww.texi: * doc/misc/flymake.texi: * doc/misc/octave-mode.texi: * doc/misc/org.texi: * doc/misc/reftex.texi: * doc/misc/tramp.texi: * doc/misc/wisent.texi: * etc/NEWS: * lisp/autorevert.el: * lisp/cedet/mode-local.el: * lisp/cedet/semantic/senator.el: * lisp/cedet/semantic/wisent.el: * lisp/dos-fns.el: * lisp/frameset.el: * lisp/gnus/gnus-agent.el: * lisp/gnus/mm-util.el: * lisp/international/characters.el: * lisp/ldefs-boot.el: * lisp/mail/mailclient.el: * lisp/man.el: * lisp/mh-e/mh-search.el: * lisp/net/tramp-cmds.el: * lisp/net/tramp-gvfs.el: * lisp/org/org-crypt.el: * lisp/org/org-element.el: * lisp/org/org-feed.el: * lisp/org/org.el: * lisp/org/ox-ascii.el: * lisp/org/ox-icalendar.el: * lisp/org/ox-publish.el: * lisp/org/ox.el: * lisp/play/gamegrid.el: * lisp/play/gomoku.el: * lisp/progmodes/antlr-mode.el: * lisp/progmodes/python.el: * lisp/progmodes/vhdl-mode.el: * lisp/strokes.el: * lisp/textmodes/ispell.el: * lisp/tree-widget.el: * lisp/vc/pcvs.el: * lisp/window.el: * src/lisp.h: * src/w32.c: * src/w32heap.c: * src/w32term.c: * src/window.c: * src/xfaces.c: Replace solecisms like "This allow to do something" with a correct alternative, such as "This allow you to do something", "This allows something to be done" or "This allows the doing of something". 2016-01-24 l3thal Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25 2016-01-24 Kelvin White Add NEWS entry for asynchronous reconnect in ERC 2016-01-24 l3thal Add NEWS entry for asynchronous reconnect in ERC 2016-01-24 Kelvin White browse-url.el: Add 'google-chrome' to supported browsers. 2016-01-24 Paul Eggert Port Tramp manual to latest Texinfo Otherwise, 'make pdf' did not work (Bug#22416). * doc/misc/tramp.texi (xxx, yyy): Remove macros. (trampfn): Specialize to the case where METHOD is nonempty. The 2nd argument is now user@host, not 2nd user and 3rd host args. All uses changed. (trampf): New macro. 2016-01-24 Lars Ingebrigtsen * eww.el (eww-render): Protect against empty content-types. 2016-01-24 Nicolas Petton authors.el updates * admin/authors.el (authors-ignored-files, authors-renamed-files-alist): Additions. 2016-01-23 Dmitry Gutov Rename xref-query-replace to xref-query-replace-in-results * lisp/progmodes/xref.el(xref-query-replace): Rename to xref-query-replace-in-results. (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01240.html) * lisp/progmodes/xref.el (xref--xref-buffer-mode-map): * lisp/dired-aux.el (dired-do-find-regexp-and-replace): * doc/emacs/dired.texi (Operating on Files): * doc/emacs/maintaining.texi (Xref Commands) (Identifier Search, Identifier Search): Update accordingly. 2016-01-23 Dmitry Gutov Update cl-defgeneric and cl-defmethod docstrings * lisp/emacs-lisp/cl-generic.el: Remove outdated TODO item. (cl-defgeneric): Rename BODY to DEFAULT-BODY. (cl-defmethod): Mention that multiple dispatch arguments are allowed. Document supported types. (Bug#22336) 2016-01-23 Dmitry Gutov Comment out next-error-function integration in xref * lisp/progmodes/xref.el (xref--xref-buffer-mode): Comment out next-error-function integration (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01286.html). 2016-01-23 John Wiegley Correct a use of "which" in intro.texi 2016-01-23 Alan Mackenzie Distinguish the two meanings of Java's keyword "default". Fixes bug #22358. * lisp/progmodes/cc-engine.el (c-guess-basic-syntax CASE 14): Check the context of case labels (including "default") more rigorously. (c-guess-basic-syntax CASE 15): Consequential amendment. * lisp/progmodes/cc-langs.el (c-modifier-kwds): Add "default" to Java's value. 2016-01-23 Oscar Fuentes Don't operate on menu bar of nonexistent frame * src/xfns.c (Fx_hide_tip) [USE_LUCID]: Check that the current frame is valid before redisplaying its menu. Fixes bug#22438. 2016-01-23 Anders Lindgren Unbreak the GNUstep build. * src/nsterm.m ([EmacsBell init]): In GNUstep, don't use the predefined "caution" image. Add trace. (x_set_window_size): Remove unused variables `cols' and `rows'. (ns_draw_fringe_bitmap): Exclude assignment of `fromRect' when GNUstep is used. ([EmacsView updateFrameSize:]): Remove unused variable `win'. ([EmacsWindow zoom:]): Remove unused variable `f'. 2016-01-23 Eli Zaretskii John Wiegley Michael Heerdegen Improve documentation of 'pcase' * doc/lispref/control.texi (Pattern matching case statement): Reorganize, expand, and improve wording. * etc/NEWS: Mention that 'pcase' changes are documented. 2016-01-23 Paul Eggert * etc/NEWS: Say that Cairo is experimental. 2016-01-23 Paul Eggert Report error for PNG under Cairo * src/image.c (lookup_rgb_color): Signal a file error instead of dumping core when mishandling an image. 2016-01-23 Arash Esbati Delete a spurious backquote (tiny change) * lisp/textmodes/reftex-ref.el (reftex-label): Delete a spurious backquote which raises an error with emacs 25. 2016-01-23 Paul Eggert Pacify --enable-gcc-warnings --with-cairo Problem reported by Alexander Kuleshov in: http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01289.html * src/gtkutil.c (xg_get_page_setup): Use switch rather than if-then-else. * src/image.c (COLOR_TABLE_SUPPORT): Define directly rather than via #define and optional later #undef. (lookup_rgb_color) [USE_CAIRO && ENABLE_CHECKING]: Crash when the pixel is undefined, as there is a genuine bug here (Bug#22442). * src/image.c (tiff_load, gif_load, svg_load_image) (x_kill_gs_process) [USE_CAIRO]: * src/xterm.c (x_draw_fringe_bitmap) [USE_CAIRO]: Omit unused locals, or move them to where they’re needed. (x_clear_area1): Now ATTRIBUTE_UNUSED. 2016-01-22 Eli Zaretskii Update documentation for Dired search and replace * doc/emacs/dired.texi (Operating on Files): Update descriptions of 'A' and 'Q' now bound to 'dired-do-find-regexp' and 'dired-do-find-regexp-and-replace'. * etc/NEWS: Mention xref-related changes in Dired. 2016-01-22 Paul Eggert Port recent xdisp.c fix to picky C compilers * src/xdisp.c (dump_glyph): Redo the call to fprintf to avoid putting #if inside the arguments to a standard function, which the C standard says has undefined behavior. 2016-01-22 Alan Mackenzie Prevent spurious recognition of K&R argument declarations. Fixes bug #2203 * cc-engine.el (c-forward-declarator): New function. (c-in-knr-argdecl): Before recognizing a K&R argument declaration, check it is contained in the preceding arg list. * cc-fonts.el (c-font-lock-declarators): Use the new function `c-forward-declarator' in place of inline code. 2016-01-22 Eli Zaretskii Fix the build with --enable-checking=glyphs * src/xdisp.c (dump_glyph): Don't refer to glyph->u.xwidget in a build without xwidget support. 2016-01-22 Eli Zaretskii Document cl-generic.el * doc/lispref/functions.texi (Generic Functions): New section. (Bug#22336) (Functions): Update the chapter menu. * doc/lispref/elisp.texi: Update the master menu. 2016-01-22 Paul Eggert xwidgets style cleanup Adjust the newly-added Xwidgets code so that it uses a more-typical Emacs style. This should not affect behavior, except that in a few places it adds runtime checks that Lisp arguments are of the proper type, and in one place it uses more-precise arithmetic. * src/buffer.c, src/dispnew.c, src/emacs.c, src/emacsgtkfixed.c: * src/emacs.c, src/print.c, src/window.c, src/xdisp.c, src/xterm.c: Include xwidget.h unconditionally. * src/buffer.c (Fkill_buffer): * src/dispnew.c (update_window): * src/emacs.c (main): * src/print.c (print_object): * src/window.c (Fdelete_window_internal): * src/xdisp.c (handle_single_display_spec, push_it, pop_it) (get_next_element, set_iterator_to_next, next_element_from_xwidget) (dump_glyph, calc_pixel_width_or_height, BUILD_GLYPH_STRINGS_XW) (BUILD_GLYPH_STRINGS, x_produce_glyphs, get_window_cursor_type): * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor): Call xwidget functions and macros without worrying about HAVE_XWIDGETS when the code is a no-op on non-xwidget platforms. * src/dispextern.h (XWIDGET_GLYPH, struct glyph_string.xwidget) (IT_XWIDGET, GET_FROM_XWIDGET, struct it.u.xwidget) (struct it.xwidget): * src/lisp.h (PVEC_XWIDGET, PVEC_XWIDGET_VIEW): Always define. * src/emacsgtkfixed.h: Omit unnecessary comment. * src/keyboard.c: Fix spacing. * src/xdisp.c (BUILD_XWIDGET_GLYPH_STRING, produce_xwidget_glyph): Define to be a no-op if not HAVE_XWIDGETS. * src/xwidget.c: Include xwidget.h first (after config.h) to make sure that it can stand by itself. (Fmake_xwidget, Fxwidget_webkit_execute_script): Fix typo in doc string. (Fmake_xwidget): Check type of args. (Fmake_xwidget, offscreen_damage_event) (webkit_document_load_finished_cb, webkit_download_cb) (webkit_new_window_policy_decision_requested_cb) (webkit_navigation_policy_decision_requested_cb) (xwidget_osr_draw_cb, xwidget_osr_event_forward) (xwidget_osr_event_set_embedder, xwidget_init_view): Omit unnecessary casts. * src/xwidget.c (Fmake_xwidget, xwidget_hidden) (xwidget_show_view, xwidget_hide_view) (x_draw_xwidget_glyph_string, xwidget_start_redisplay, xwidget_touch) (xwidget_touched): * src/xwidget.h (struct xwidget.kill_without_query) (struct xwidget_view.redisplayed, struct xwidget_view.hidden): Use bool for boolean. * src/xwidget.c (store_xwidget_event_string, Fxwidget_size_request): Simplify by using list functions. (WEBKIT_FN_INIT): Omit unnecessary test for nil. (Fxwidget_resize): Check type of integer args before doing any work. Check that they are nonnegative. (Fxwidget_set_adjustment): Check type of integer arg. Avoid redundant call to gtk_scrolled_window_get_vadjustment. Simplify. Use double, not float. (Fxwidget_info, Fxwidget_view_info): Simplify by using CALLN. (valid_xwidget_spec_p): Simplify. (xwidget_spec_value): Omit unused arg FOUND. All callers changed. * src/xwidget.h: Include lisp.h first, so that includers do not need to worry about doing that before including this file. Make this .h file safe to include even on non-HAVE_XWIDGETS configurations, to simplify the includers. (x_draw_xwidget_glyph_string, syms_of_xwidget, valid_xwidget_spec_p) (xwidget_end_redisplay, lookup_xwidget) (xwidget_view_delete_all_in_window, kill_buffer_xwidgets): Now a no-op if !HAVE_XWIDGETS, to simplify callers. (struct glyph_matrix, struct glyph_string, struct xwidget) (struct xwidget_view, struct window): New forward or incomplete decls, so that includers need not assume the corresponding .h files are already included, or that HAVE_XWIDGETS is defined. (struct xwidget_type, xwidget_from_id): Remove; unused. 2016-01-22 John Wiegley Further corrections to the pcase docstring 2016-01-22 Eli Zaretskii * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 25. 2016-01-21 Stephen Leake In xref-collect-references, force backends to respect the 'dir' arg * lisp/progmodes/xref.el (xref-collect-references): Force symref backends to use `default-directory'. 2016-01-21 John Wiegley Minor correction to pcase docstring 2016-01-21 John Wiegley Write a new docstring for the pcase macro * lisp/emacs-lisp/pcase.el (pcase): Write a new docstring. 2016-01-21 Stephen Berman Avoid byte-compiler warning in todo-mode (bug#21953) * todo-mode.el (todo-convert-legacy-files): Add limit argument to looking-back to comply with advertised-calling-convention. 2016-01-21 Stephen Berman Fix desktop support in todo-mode and doc-view (bug#22377) * lisp/calendar/todo-mode.el (todo-restore-desktop-buffer): * lisp/doc-view.el (doc-view-restore-desktop-buffer): Return current buffer. * lisp/calendar/todo-mode.el (todo-modes-set-2): * lisp/doc-view.el (doc-view-mode): Set desktop-save-buffer unconditionally. 2016-01-20 Paul Eggert No need to configure gobject-introspection It wasn’t needed for the recently-installed xwidget_mvp code; see: http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01154.html * configure.ac (DOES_XWIDGETS_USE_GIR, GIR_REQUIRED, GIR_MODULES): (HAVE_GIR): * src/Makefile.in (GIR_LIBS, GIR_CFLAGS): Remove. All uses removed. * configure.ac (emacs_config_features): Don’t worry about GIR. 2016-01-20 Paul Eggert Don’t export C symbols not used elsewhere These were recently added, mostly as part of xwidget code. * src/emacsgtkfixed.c (emacs_fixed_get_type): Now static. (EMACS_FIXED, EMACS_FIXED_GET_CLASS): Now static functions here, not macros in emacsgtkfixed.h. * src/emacsgtkfixed.h (EMACS_TYPE_FIXED): Remove. All uses replaced by definiens. (EMACS_FIXED, EMACS_FIXED_GET_CLASS): Remove; these are now static functions in emacsgtkfixed.c. (EMACS_FIXED_CLASS, EMACS_IS_FIXED, EMACS_IS_FIXED_CLASS): Remove; unused. (emacs_fixed_get_type): Remove decl; no longer extern. * src/xwidget.c (offscreen_damage_event) (webkit_mime_type_policy_typedecision_requested_cb) (webkit_new_window_policy_decision_requested_cb) (webkit_navigation_policy_decision_requested_cb) (xwidget_spec_value, xwidget_view_lookup) (xwidget_start_redisplay, xwidget_touch): Now static. * src/xwidget.h (xwidget_start_redisplay, xwidget_touch): Remove decls. 2016-01-20 Dmitry Gutov Support squiggly heredocs in ruby-mode * lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re): Support squiggly heredocs added in Ruby 2.3. * test/indent/ruby.rb: Add squiggly example. 2016-01-20 Glenn Morris * configure.ac (emacs_config_features): Remove WEBKIT. 2016-01-20 Paul Eggert Port to platforms with gtk3 but not webkitgtk3 I ran into this problem on my Fedora 23 installation; Emacs configured but did not build when --with-xwidgets was specified. * configure.ac (HAVE_WEBKIT, HAVE_GIR): Omit unnecessary initializations. (DOES_XWIDGETS_USE_GIR): New var. If --with-xwidgets is specified, report an error if not doable, to be consistent with the other --with options. Require webkitgtk3 to use Xwidgets, as the Xwidgets code does not work at all without webkitgtk3. Simplify use of EMACS_CHECK_MODULES. Output message about gobject introspection only if xwidgets are used. * etc/NEWS: Users need webkitgtk3, not merely webkit. * src/xwidget.c (syms_of_xwidget): Don’t worry about HAVE_WEBKIT_OSR, since this file is no longer compiled if webkitgtk3 is not available. 2016-01-20 Eli Zaretskii Fix doc string of 'isearch-search-fun-function' * lisp/isearch.el (isearch-search-fun-function) (isearch-search-string): Doc fixes. (Bug#22411) 2016-01-19 Stefan Monnier * lisp/xwidget.el: Nitpicks * lisp/xwidget.el (xwidget-log, xwidget-webkit-callback): Use with-current-buffer rather than save-excursion + set-buffer. 2016-01-19 Glenn Morris Don't hard-code 1 as point-min. * lisp/image-mode.el (image-display-size): * lisp/xwidget.el (xwidget-webkit-last-session) (xwidget-webkit-current-session): Don't hard-code 1 as point-min. 2016-01-19 Glenn Morris * lisp/xwidget.el: Add declarations to silence non-xwidget compilation. 2016-01-19 Glenn Morris Trivial doc copyedits. * src/xwidget.c (Fmake_xwidget, Fget_buffer_xwidgets) (Fxwidget_webkit_get_title, Fxwidget_resize) (Fxwidget_set_adjustment, Fxwidgetp, Fxwidget_view_p) (Fxwidget_info, Fxwidget_view_lookup) (Fset_xwidget_query_on_exit_flag): Trivial doc copyedits. 2016-01-19 Glenn Morris Avoid advising image-display-size for xwidgets. * lisp/xwidget.el (xwidget-image-display-size): Remove. (image-display-size): Remove advice. * lisp/image-mode.el (xwidget-info, xwidget-at): Declare. (image-display-size): Incorporate xwidget code directly. 2016-01-19 Glenn Morris Avoid breaking non-xwidget Emacs that happen to load xwidget.el. * lisp/xwidget.el (window-configuration-change-hook) (kill-buffer-query-functions): Only modify these hooks if compiled with xwidget support. 2016-01-19 Glenn Morris * lisp/xwidget.el (xwidget-webkit-scroll-behaviour): Fix custom spec. * configure.ac (WEBKIT, GIR, CAIRO): Use EMACS_CHECK_MODULES, not PKG_. * configure.ac (emacs_config_features): Add XWIDGETS, WEBKIT, GIR. * configure.ac (HAVE_WEBKIT_OSR): Remove broken, duplicated gtk3 test. 2016-01-19 Katsumi Yamaoka * lisp/gnus/nnir.el (nnir-request-update-mark): Default to the original mark. cf. and 2016-01-19 Glenn Morris * lisp/xwidget.el (report-xwidget-bug): Remove. (top-level): No longer require reporter. 2016-01-19 Joakim Verona Grégoire Jadi Support for the new Xwidget feature. * configure.ac: (HAVE_XWIDGETS, WIDGET_OBJ, EMACS_CONFIG_FEATURES): * xterm.c (x_draw_glyph_string, x_draw_bar_cursor): * xdisp.c: (handle_display_spec, handle_single_display_spec, push_it) (pop_it, set_iterator_to_next, dump_glyph) (calc_pixel_width_or_height, fill_xwidget_glyph_string) (BUILD_XWIDGET_GLYPH_STRING, BUILD_GLYPH_STRINGS) (produce_xwidget_glyph, x_produce_glyphs) (get_window_cursor_type): * window.c (Fdelete_window_internal): * termhooks.h (e): * print.c (print_object): * lisp.h (ptrdiff_t): * keyboard.c (kbd_buffer_get_event, make_lispy_event) (syms_of_keyboard): * emacs.c (main): * dispnew.c (update_window, scrolling_window): * dispextern.h (g, i): * Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS) (GIR_LIBS, ALL_CFLAGS, base_obj, LIBES): * keyboard.c (kbd_buffer_get_event): * emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate) (emacs_fixed_class_init): Add case for an xwidget view. * xwidget.c, xwidget.h, xwidget.el: New files for xwidgets Various improvements to the Xwidget feature. * xwidgets.c: * emacsgtkfixed.c: * xwidget.el: 2016-01-19 Eli Zaretskii Improve documentation of 'alist-get' * doc/lispref/variables.texi (Setting Generalized Variables): Add 'alist-get' to the list of functions that can appear in PLACE argument of 'setf'. 2016-01-19 Eli Zaretskii Minor copyedits of doc/emacs/maintaining.texi * doc/emacs/maintaining.texi (List Identifiers): More accurate description of "C-M-i" wrt tags tables. (Tags Tables): Move the definition of "tag" to a footnote. 2016-01-19 Eli Zaretskii Unbreak the Cygwin-w32 build * src/w32fns.c (globals_of_w32fns): Move the initialization of resetstkoflw into a part that isn't compiled on Cygwin. (Bug#22403) 2016-01-19 Lars Magne Ingebrigtsen * shr.el (shr-table-body): Allow tables to have text children. 2016-01-19 Phillip Lord Cope with multiple overlapping faces. * lisp/htmlfontify.el (hfy-face-to-style-i): Treat inheritance right to left. (hfy-face-resolve-face): Handle font specification as well as font name. Documentation update. (Bug#21990) 2016-01-18 Paul Eggert Fix spurious escapes in describe-input-method Problem reported by Vincent Belaïche (Bug#22309). * lisp/international/mule-cmds.el (describe-language-environment): * lisp/international/quail.el (quail-help): Apply substitute-command-keys to doc strings before displaying them. 2016-01-30 Nicolas Petton Bump version to 25.0.90 * README: * configure.ac: * msdos/sed2v2.inp: Bump version to 25.0.90. 2016-01-30 Nicolas Petton * etc/AUTHORS: Update the AUTHORS file 2016-01-30 Nicolas Petton authors.el updates * admin/authors.el (authors-renamed-files-alist): Additions. 2016-01-30 Nicolas Petton Make it possible to run make change-history on emacs-25 * Makefile.in: Check if the current branch is emacs-25 instead of master. 2016-01-30 lu4nx Support Go language in 'etags' * lib-src/etags.c : Fix documentation of Ruby tags. : New help. : New variable. (Go_functions): New function. : Add entry for Go. (Bug#22370) * doc/emacs/maintaining.texi (Tag Syntax): Document Go support. * doc/man/etags.1: Mention Go support. * etc/NEWS: Mention Go support. * test/etags/go-src/test.go: * test/etags/go-src/test1.go: New test files. * test/etags/Makefile (GOSRC): New variable. (SRCS): Add $(GOSRC). * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to addition of Go tests. 2016-01-30 Eli Zaretskii Improve Ruby support in 'etags' * lib-src/etags.c (Ruby_functions): Tag constants. Don't tag singleton classes. Remove class qualifiers from tags generated for method and constant names. (Bug#22241) * doc/emacs/maintaining.texi (Tag Syntax): Mention that constants are tagged by etags in Ruby. * etc/NEWS: Mention that constants are tagged by etags in Ruby. * test/etags/ruby-src/test1.ruby: Add more tests. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to the changes in etags and in Ruby tests. 2016-01-30 Eli Zaretskii Adjust etags test results to changes in copyright years * test/etags/CTAGS.good: * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: Adjust to shift in characters and in line numbers. 2016-01-30 Andreas Schwab Revert "Re-enable checks in member, memql, delete to complain about non-lists" This reverts commit f524e8b7f12d9b5a8b92084e5385429fe7b085b9. 2016-01-30 Nicolas Petton Make it possible to run make change-history on emacs-25 * Makefile.in: Check if the current branch is emacs-25 instead of master. 2016-01-30 Dmitry Gutov Don't fiddle with DEFAULT * lisp/progmodes/project.el (project--completing-read-strict): Don't change DEFAULT, whether is has any matches in COLLECTION, or not. 2016-01-30 Eli Zaretskii Document xwidget commands and functions * doc/lispref/display.texi (Xwidgets): New section, describes some of the xwidget primitives. * doc/lispref/display.texi (Display): Update the chapter menu. * doc/emacs/misc.texi (Embedded WebKit Widgets): New section. * doc/emacs/emacs.texi (Top): Update the master menu to include the xwidget node. 2016-01-30 Lars Ingebrigtsen Build fix for shr.el * shr.el (seq): Require. 2016-01-30 Dmitry Gutov Improve project-find-file yet again! * lisp/progmodes/project.el (project--completing-read-strict): New function. (project-find-file-in): Use it. (project-file-completion-table): Move the default implementation inside the cl-defgeneric form. (http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01720.html) 2016-01-30 Dmitry Gutov Don't pass DIR to 'hg status' * lisp/vc/vc-hg.el (vc-hg-dir-status-files): Don't pass DIR to 'hg status' (bug#22481). 2016-01-30 Stephen Leake Fix typo in previous commits * lisp/progmodes/project.el (project-find-file-in): * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): Fix typo in previous commit. 2016-01-30 Stephen Leake Improve project-find-file * lisp/progmodes/project.el (project-file-completion-table): New. (project-find-file, project-or-external-find-file): Default to filename at point. (project-file-completion-table): New, split out from project--find-file-in. (project-find-file-in): Renamed from project--find-file-in, use project-file-completion-table. * lisp/progmodes/xref.el (ede-minor-mode): New declaration. (xref--find-ignores-arguments): Add doc string. 2016-01-30 Stephen Leake Implement vc-mtn-find-ignore-file, fix some doc strings * lisp/cedet/cedet-global.el (cedet-gnu-global-root): Improve doc string. * lisp/cedet/ede/locate.el (initialize-instance): Improve doc string. * lisp/vc/vc-git.el (vc-git-find-ignore-file): Fix doc string. * lisp/vc/vc-mtn.el (vc-mtn-find-ignore-file): New function. 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-20 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): Make cell new name a buffer local variable. (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-19 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-19 John Wiegley - 2016-01-19 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-19 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-19 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-19 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-19 Paul Eggert Minor improvements to (random t) documentation * doc/lispref/numbers.texi (Random Numbers): * src/fns.c (Frandom): Omit unnecessary details about randomness fallback. Say that it is a fallback. 2016-01-19 Dmitry Gutov Rename methods in Ruby etags example file * test/etags/ruby-src/test.rb: Rename the example methods to correspond to the common terminology used in Ruby. * test/etags/CTAGS.good: * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: Adjust accordingly. 2016-01-18 Dmitry Gutov Propertize backtick in 'def `(abc)' as symbol constituent * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): Propertize backtick in 'def `(abc)' as symbol constituent. (ruby-syntax-propertize-function): Rename to ruby-syntax-propertize. 2016-01-18 Eli Zaretskii Fix scrolling under scroll-preserve-screen-position on TTY * src/window.c (window_scroll_line_based): When setting point to preserve screen coordinates, don't let cursor enter either of the two scroll margins. (Bug#22395) 2016-01-18 Lars Magne Ingebrigtsen Fix shr table rendering of nested tables * shr.el (shr-table-body): Don't include all tbodies in nested tables in the levels above. 2016-01-18 Dmitry Gutov * lisp/progmodes/project.el (project--read-regexp): Quote the identifier. 2016-01-18 Dmitry Gutov Add xref-based replacements for Dired search commands * lisp/dired-aux.el (dired-do-find-regexp) (dired-do-find-regexp-and-replace): New commands. http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00864.html * lisp/dired.el (dired-mode-map): Change bindings for `A' and `Q' to the new commands. * lisp/progmodes/xref.el (xref-query-replace) (xref-collect-matches): Add progress reporters. (xref--find-ignores-arguments): Return nil for zero ignores. (xref--show-xrefs): Add an optional argument. (xref-collect-matches): Drop the assert. 'find' accepts a regular file in place of directory argument, too. 2016-01-18 Alan Mackenzie * doc/lispref/frames.texi (Position Parameters): Say they don't exist on TTYs. 2016-01-18 Eli Zaretskii Improve user documentation of Xref * doc/emacs/maintaining.texi (Xref, Find Identifiers) (Looking Up Identifiers, Identifier Search, List Identifiers): Adjudicate comments by Dmitry Gutov . See http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00650.html for the details. 2016-01-18 Eli Zaretskii Fix scrolling under scroll-preserve-screen-position and margins * src/window.c (window_scroll_pixel_based): When setting point to preserve screen coordinates, don't let cursor enter either of the two scroll margins. Fix incorrect usage of WINDOW_WANTS_HEADER_LINE_P and use WINDOW_HEADER_LINE_HEIGHT instead of CURRENT_HEADER_LINE_HEIGHT. (Bug#22395) 2016-01-18 Eli Zaretskii Unbreak the MS-Windows build * src/sysdep.c (emacs_gnutls_global_init, gnutls_rnd): Disable for WINDOWSNT, to avoid link failure. (Bug#22202) 2016-01-18 Alan Mackenzie Desktop: protect users against inadvertant upgrading of desktop file. An upgraded (version 208) desktop file cannot be read in Emacs < 25. * etc/NEWS: Add an entry about upgrading a desktop file. * lisp/desktop.el (desktop-file-version): Amend doc string. (desktop-native-file-version, desktop-io-file-version): new variables. (desktop-clear): Set desktop-io-file-version to nil. (desktop-buffer-info): make the presence of the last item on the list conditional on (>= desktop-io-file-version 208). (desktop-save): Add extra parameter VERSION to take user's C-u or C-u C-u. Amend the doc string. Add code to determine the output file version. (desktop-create-buffer): Set desktop-io-file-version to the input file's version. 2016-01-17 Paul Eggert Initialize GnuTLS before calling gnutls_rnd * src/gnutls.c (emacs_gnutls_global_init): Now extern. Don’t set gnutls_global_initialized if gnutls_global_init fails. * src/sysdep.c: Include "gnutls.h", and if 2.12 or later, which has gnutls_rnd. (emacs_gnutls_global_init, gnutls_rnd): New fallback placeholder macros if before 2.12. (init_random): Initialize gnutls globals before trying to use gnutls_rnd. 2016-01-17 Andreas Schwab Don't use GnuTLS before it is initialized * src/sysdep.c (init_random): Don't use gnutls_rnd. 2016-01-17 Bill Wohler * mh-e.el (mh-version): Add +git to version. 2016-01-17 Paul Eggert Port cleanup attribute to OpenBSD The OpenBSD C compiler issues false alarms about strcpy, strcat, and sprintf, and this messes up 'configure' when it tests for the cleanup attribute. Work around the problem by using __has_attribute directly. Problem reported by Joakim Jalap (Bug#22385). * configure.ac: Don’t use AX_GCC_VAR_ATTRIBUTE. * m4/ax_gcc_var_attribute.m4: Remove. * src/conf_post.h (__has_attribute): Provide a substitute, for non-GCC or older GCC compilers. All uses changed to assume the substitute. Check for the cleanup attribute. * src/emacs-module.c (module_has_cleanup): Just use __has_attribute. 2016-01-17 Paul Eggert Prefer GnuTLS when acquiring random seed This attempts to improve on the fix for Bug#22202. * configure.ac (HAVE_DEV_URANDOM): Remove. Check /dev/urandom existence at run time, not at build time, since the device could exist in the former but not the latter. * src/sysdep.c [HAVE_GNUTLS]: Include gnutls/gnutls.h. (gnutls_rnd) [GNUTLS_VERSION_NUMBER < 0x020c00]: New fallback macro. (random_seed): New typedef. (set_random_seed): New static function. (seed_random): Use them. (init_random): Use random_seed instead of uintmax_t, so as to not consume more entropy than needed. Prefer gnutls_rnd if it works; this avoids a redundant open of /dev/urandom on GNU/Linux with modern GnuTLS. 2016-01-16 Eli Zaretskii Improve documentation of dynamic modules * doc/lispref/loading.texi (How Programs Do Loading): Update the description of searching for files in 'load' when Emacs was built with support for dynamic modules. 2016-01-16 Eli Zaretskii * INSTALL: Document --with-modules. 2016-01-16 Eli Zaretskii Document 'function-put' * doc/lispref/symbols.texi (Symbol Plists): Document 'function-put'. Update documentation of 'function-get'. 2016-01-16 Eli Zaretskii Document 'funcall-interactively' * doc/lispref/commands.texi (Interactive Call): Document 'funcall-interactively'. * doc/lispref/functions.texi (Calling Functions): Mention 'funcall-interactively' and provide a cross-reference. 2016-01-16 Eli Zaretskii * doc/lispref/lists.texi (Association Lists): Document 'alist-get'. * doc/lispref/strings.texi (Text Comparison): Document 'string-greaterp'. 2016-01-16 Eli Zaretskii Document renaming of selection-related functions * doc/lispref/frames.texi (Window System Selections): Rename "x-*" functions into the corresponding "gui-*" functions. Make the description slightly less X-centric. 2016-01-16 Eli Zaretskii * doc/lispref/macros.texi (Expansion): Document 'macroexpand-1'. 2016-01-16 Eli Zaretskii Document 'define-inline' * doc/lispref/functions.texi (Defining Functions): Document 'define-inline' and related macros. * lisp/emacs-lisp/inline.el (inline-letevals): Doc fix. 2016-01-16 Artur Malabarba * lisp/files.el (dir-locals--all-files): Respect absolute file-names * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis 2016-01-16 Artur Malabarba * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable instead of manually writing a dir-locals file. 2016-01-16 Artur Malabarba * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards (dir-locals-file) * lisp/files-x.el (modify-dir-local-variable) * lisp/dos-fns.el (dosified-file-name) * lisp/help-fns.el (describe-variable): Change accordingly. 2016-01-16 Jussi Lahdenniemi (tiny change) Fix incompatbilities with MS-Windows 2000 and older * src/w32.c : New global variable. (filename_to_utf16, filename_from_ansi, check_windows_init_file): Use it instead of the literal MB_ERR_INVALID_CHARS. (maybe_load_unicows_dll): Initialize multiByteToWideCharFlags as appropriate for the underlying OS version. For details, see http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html. * src/w32.h: Declare multiByteToWideCharFlags. * src/w32fns.c (Fx_file_dialog, Fw32_shell_execute) (add_tray_notification): Use multiByteToWideCharFlags instead of the literal MB_ERR_INVALID_CHARS. (_resetstkoflw_proc): New typedef. (w32_reset_stack_overflow_guard): Call _resetstkoflw via a pointer, as this function is absent in msvcrt.dll shipped with W2K and older systems. 2016-01-16 Eli Zaretskii Mention in PROBLEMS an issue with MS-Windows NT4 * etc/PROBLEMS (MS-Windows): Mention the problem with Shell32.dll on Windows NT4. For the details, see http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00835.html. 2016-01-16 Jussi Lahdenniemi (tiny change) Ensure 8-byte aligned memory allocation on MS-Windows 9X * src/w32heap.c (init_heap): Redirect malloc, realloc, and free to special functions on Windows 9X. Refuse to dump Emacs on Windows 9X. (malloc_after_dump_9x, realloc_after_dump_9x) (free_after_dump_9x): New functions. (Bug#22379) See also http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00852.html for more details about the original problem. * nt/inc/ms-w32.h (malloc_after_dump_9x, realloc_after_dump_9x) (free_after_dump_9x): Add prototypes. 2016-01-16 Eli Zaretskii Fix tests for active region in hideif.el * lisp/progmodes/hideif.el (hif-evaluate-macro, hide-ifdef-block): Use 'use-region-p' to test whether to operate on region, instead of testing 'mark-active'. 2016-01-16 Eli Zaretskii Fix interactive specs in some hideif.el commands * lisp/progmodes/hideif.el (hif-evaluate-macro) (hide-ifdef-undef, show-ifdef-block): Don't use '(interactive "r")' in commands that should only act on the region if it's active. 2016-01-15 Phillip Lord Enable test selector from command line * test/automated/Makefile.in: Change variable manipulation to avoid over-writing selector. 2016-01-15 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. 2016-01-15 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) 2016-01-15 Eli Zaretskii Fix crashes when mini-window has non-zero margins * src/window.c (resize_frame_windows): Use 'new_size' to set minibuffer window's 'total_cols' value, as 'size' might be in pixels. (Bug#22356) 2016-01-15 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'. 2016-01-15 Eli Zaretskii Make 'random' seeds cryptographically secure if possible * configure.ac: Check for "/dev/urandom". * src/sysdep.c (init_random) [HAVE_DEV_URANDOM]: Read the stream for the seed from "/dev/urandom". [WINDOWSNT]: Obtain the stream for the seed from w32 APIs. * src/fns.c (Frandom): Update the doc string to indicate that system entropy is used when available. * src/w32.c: Include wincrypt.h. (w32_init_crypt_random, w32_init_random): New functions, use the CryptGenRandom API. (globals_of_w32): Initialize w32_crypto_hprov handle to zero. * src/w32.h (w32_init_random): Add prototype. * doc/lispref/numbers.texi (Random Numbers): Document more details about 't' as the argument to 'random'. * etc/NEWS: Mention that '(random t)' now uses a cryptographically strong seed if possible. (Bug#22202) 2016-01-15 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. 2016-01-15 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) 2016-01-15 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-01-14 Simen Heggestøyl Disallow parenthesis in non-pseudo CSS selectors * lisp/textmodes/css-mode.el (css--font-lock-keywords): Disallow parenthesis in selectors except for in the function notation that might appear right after a pseudo-class. * test/indent/scss-mode.scss: Add a test for it. 2016-01-14 Katsumi Yamaoka * lisp/gnus/nntp.el (nntp-request-newgroups): Simplify 2016-01-14 Michael Albinus check-maybe shall run only default tests * test/automated/Makefile.in (check, check-expensive): Depend on mostlyclean. (check-maybe): Re-run only default tests. (check-doit): Use code of check-maybe. (mostlyclean): Move *.log files away. 2016-01-13 Mark Oteiza * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "magnet:" 2016-01-13 Dmitry Gutov Un-obsolete tags-loop-continue * lisp/progmodes/etags.el (tags-loop-continue): Un-obsolete. http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00682.html 2016-01-13 Eli Zaretskii Document obsoletion of 'intangible' and 'point-entered/left' * doc/lispref/text.texi (Special Properties): Document the new properties 'cursor-intangible' and 'cursor-sensor-functions'. Document the obsolete status of 'intangible', 'pointer-left', and 'point-entered' properties, and of 'inhibit-point-motion-hooks'. * doc/lispref/display.texi (Overlay Properties): Document that 'intangible' overlay property is obsolete. * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor-mode): Doc fix. 2016-01-13 Eli Zaretskii Updater documentation of 'looking-back' * doc/lispref/searching.texi (Regexp Search): Update documentation of 'looking-back'. Fix markup. 2016-01-13 Eli Zaretskii Document 'pre-redisplay-functions' * doc/lispref/hooks.texi (Standard Hooks): * doc/lispref/display.texi (Forcing Redisplay): Document 'pre-redisplay-functions'. 2016-01-13 Eli Zaretskii Document the new deafault value of 'load-read-function' * doc/lispref/loading.texi (How Programs Do Loading): Document the change in the default value of 'load-read-function'. 2016-01-13 Eli Zaretskii Document 'bufferpos-to-filepos' and 'filepos-to-bufferpos' * doc/lispref/nonascii.texi (Text Representations): Document 'bufferpos-to-filepos' and 'filepos-to-bufferpos'. 2016-01-13 Eli Zaretskii Document the new prefix-command hooks * doc/lispref/hooks.texi (Standard Hooks): Document `prefix-command-echo-keystrokes-functions' and `prefix-command-preserve-state-hook'. 2016-01-13 Paul Eggert Fix one more misuse of time-stamp-time-zone * test/etags/html-src/softwarelibero.html: Use "UTC0" rather than the unportable "GMT" for time zone. 2016-01-13 Paul Eggert Fix NNTP NEWGROUPS off-by-a-few-hours bug * lisp/gnus/nntp.el (nntp-request-newgroups): Format string in Universal Time, since we’re telling the server “GMT”. 2016-01-12 Paul Eggert Update publicsuffix.txt from upstream * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/effective_tld_names.dat dated 2016-01-12 11:52:01 UTC. 2016-01-12 Glenn Morris Fix some declarations. * lisp/descr-text.el (internal-char-font): * lisp/cedet/mode-local.el (xref-item-location): * lisp/gnus/mml-smime.el (epg-key-sub-key-list) (epg-sub-key-capability, epg-sub-key-validity): * lisp/international/mule-util.el (internal-char-font): Fix declarations. 2016-01-12 Glenn Morris Fix some custom types. * lisp/gnus/gnus-fun.el (gnus-x-face-omit-files, gnus-face-omit-files): * lisp/gnus/gnus.el (gnus-valid-select-methods): * lisp/mail/rmail.el (rmail-get-coding-function): * lisp/net/newst-treeview.el (newsticker-groups-filename): * lisp/progmodes/hideif.el (hide-ifdef-exclude-define-regexp): * lisp/textmodes/tildify.el (tildify-space-predicates): * lisp/url/url-tramp.el (url-tramp-protocols): Fix custom types. 2016-01-12 Glenn Morris Add some missing version tags. * lisp/electric.el (electric-quote-comment) (electric-quote-string, electric-quote-paragraph): * lisp/epg-config.el (epg-gpgconf-program): * lisp/rect.el (rectangle-preview): * lisp/emacs-lisp/check-declare.el (check-declare-ext-errors): * lisp/emacs-lisp/package.el (package-selected-packages) (package-hidden-regexps): * lisp/erc/erc.el (erc-network-hide-list, erc-channel-hide-list): * lisp/eshell/em-term.el (eshell-destroy-buffer-when-process-dies): * lisp/gnus/mml-sec.el (mml1991-signers, mml2015-signers) (mml-smime-signers, mml1991-encrypt-to-self, mml2015-encrypt-to-self) (mml-smime-encrypt-to-self, mml2015-sign-with-sender) (mml-smime-sign-with-sender, mml2015-always-trust) (mml-secure-fail-when-key-problem, mml-secure-key-preferences): * lisp/net/browse-url.el (browse-url-conkeror-new-window-is-buffer) (browse-url-conkeror-arguments): * lisp/net/newst-reader.el (newsticker-download-logos): * lisp/progmodes/gud.el (gud-guiler-command-name): * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point): * lisp/progmodes/project.el (project-vc): * lisp/progmodes/python.el (python-indent-guess-indent-offset-verbose) (python-shell-remote-exec-path, python-shell-first-prompt-hook) (python-shell-completion-native-disabled-interpreters) (python-shell-completion-native-enable) (python-shell-completion-native-output-timeout) (python-shell-completion-native-try-output-timeout): * lisp/progmodes/xref.el (xref): * lisp/term/screen.el (xterm-screen-extra-capabilities): * lisp/term/xterm.el (xterm-max-cut-length): Add missing version tags. 2016-01-12 Glenn Morris * test/automated/core-elisp-tests.el (core-elisp-tests-1-defvar-in-let): Add a custom type. 2016-01-12 Glenn Morris * src/buffer.c (syms_of_buffer) : Doc fix. Remove comments that do not apply since 2005-08-09. (Bug#22349) 2016-01-12 Paul Eggert Merge from gnulib This mostly just changes "UTC" to "UTC0" for POSIX conformance. It also updates to the latest version of texinfo.tex. * build-aux/gitlog-to-changelog, build-aux/move-if-change: * build-aux/update-copyright, doc/misc/texinfo.tex: Update from gnulib. 2016-01-12 Eli Zaretskii Update documentation of 'process-running-child-p' * doc/lispref/processes.texi (Input to Processes): Document the changes in return value of 'process-running-child-p'. 2016-01-12 Eli Zaretskii Update documentation of 'deactivate-mark'. * doc/lispref/markers.texi (The Mark): Document that 'deactivate-mark' is now buffer-local when set. 2016-01-12 Eli Zaretskii Update documentation of 'completion-table-dynamic' * doc/lispref/minibuf.texi (Programmed Completion): Document the new optional argument to 'completion-table-dynamic'. 2016-01-12 Eli Zaretskii Document changes in 'read-buffer' and 'read-buffer-function' * doc/lispref/minibuf.texi (High-Level Completion): Document the 4th argument to 'read-buffer' and 'read-buffer-function'. 2016-01-12 Paul Eggert Fix time-stamp-time-zone bugs introduced in July This fixes a bug introduced when the July changes to format-time-string installed, as the changes were not correctly handled in this module (Bug#22302). Also, document time stamp time zones. * lisp/time-stamp.el (time-stamp-time-zone): Document values better. (time-stamp--format): New private function. (time-stamp-string, time-stamp-string-preprocess) (time-stamp-do-number): Use it. * doc/emacs/files.texi (Time Stamps): Mention time zones. * doc/misc/autotype.texi (Timestamps): Document time-stamp-time-zone. 2016-01-12 Eli Zaretskii Make piping to subprocesses more robust on MS-Windows * src/w32.c (sys_write): Don't write to a pipe more stuff than its buffer can hold. Don't return -1 if something has been written to the pipe. Zero out 'errno' before calling '_write', to avoid returning a stale value. (Bug#22344) * src/w32proc.c (syms_of_ntproc) : New variable. * src/w32.c (pipe2): Use it to request a user-defined size for the pipe being created. * etc/NEWS: Mention 'w32-pipe-buffer-size'. * doc/emacs/msdos.texi (Windows Processes): Document 'w32-pipe-buffer-size'. 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-12 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-12 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-12 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-12 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-12 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-12 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-12 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-12 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-11 Dmitry Gutov test/automated/vc-hg.el: Support out-of-tree build * test/automated/vc-hg.el (vc-hg-annotate-extract-revision-at-line-with-filename) (vc-hg-annotate-extract-revision-at-line-with-both): Don't refer to source-directory. http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00755.html 2016-01-11 Michael Albinus Minor change in tramp-tests.el * test/automated/tramp-tests.el (tramp-test29-vc-registered): Use `dired-uncache' instead of a Tramp internal function. 2016-01-11 Peter Feigl * etc/HELLO: Add Armenian and Mongolian greetings. (Bug#22346) 2016-01-11 Alan Mackenzie Java Mode: Fontify identifiers in the presence of annotations. * lisp/progmodes/cc-engine.el (c-forward-annotation): Tidy up the coding: Don't move point when the defun fails. (c-forward-decl-or-cast-1): Correct a usage of match data. * lisp/progmodes/cc-fonts.el (c-font-lock-maybe-decl-faces): Remove. (c-font-lock-declarations): Use the new c-maybe-decl-faces in place of the removed variable. * lisp/progmodes/cc-langs.el (c-maybe-decl-faces): New language variable. 2016-01-11 Eli Zaretskii Avoid an infloop when we run out of memory * src/alloc.c (garbage_collect_1): Don't bother saving and restoring the echo-area message if we are GC'ing after running out of memory. This avoids an infloop due to repeated attempts to allocate memory for the cons cell needed to save the message, which signals the memory-full error, which attempts to save the echo-area message, which signals memory-full again, etc. 2016-01-11 Eli Zaretskii Avoid unnecessary failures of auto-saving after fatal error * src/w32.c (map_w32_filename): Avoid non-trivial system calls for the benefit of FAT volumes if we are called as part of shutting down due to a fatal error, which probably means we are trying to auto-save the session. * src/lread.c (check_obarray): Don't bother making the obarray valid if we are shutting down due to a fatal error. This avoids interfering with auto-saving the crashed session. 2016-01-11 Paul Eggert Simplify HAVE_MODULES use in mark_maybe_pointer * src/alloc.c (HAVE_MODULES): Now a constant 0 if not defined, so that later code can use 'if' rather than '#ifdef'. (mark_maybe_pointer): Simplify based on HAVE_MODULES now always working. 2016-01-11 Paul Eggert Revert attempt to use 'noexcept' in typedef This use of 'noexcept' runs afoul of the C++11 standard. Problem reported by Philipp Stephani in: http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00706.html * src/emacs-module.c (emacs_finalizer_function): Move this typedef here ... * src/emacs-module.h: ... from here, and use only the C version of the typedef. The typedef is now private since it is never used in the .h file now and anyway it seemed to be causing more confusion than it cured. (make_user_ptr, get_user_finalizer, set_user_finalizer): Open-code the type instead. 2016-01-10 Eli Zaretskii Update documentation of 'indirect-function' * doc/lispref/eval.texi (Function Indirection): Update the documentation of 'indirect-function'. 2016-01-10 Eli Zaretskii Update documentation for obsoleting 'syntax-begin-function' * doc/lispref/syntax.texi (Position Parse): Undocument 'syntax-begin-function' that is now obsolete. 2016-01-10 Eli Zaretskii Document new features if Eshell * doc/misc/eshell.texi (Input/Output): Document the new '#' syntax. (Input/Output): Document 'eshell-destroy-buffer-when-process-dies'. Disable "Key Index" generation, as there are no @kindex entries in this manual. 2016-01-10 Michael Albinus Handle too long commands in Tramp * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link) (tramp-do-file-attributes-with-ls): Send sequence of commands, in order to not exceed shell command line limit. * test/automated/tramp-tests.el (tramp--test-darwin-p): Remove. (tramp--test-utf8): Include Arabic file name, again. 2016-01-10 Paul Eggert * .gitattributes: *.cur and *.pif are binary files too. 2016-01-10 Stefan Monnier * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined 2016-01-10 Stefan Monnier * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...) * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Improve indentation within $(...). * test/indent/shell.sh: Add corresponding test. 2016-01-09 Stefan Monnier * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value (mark_memory): Simplify loop. Don't assume a pointer-sized word can be cast to Lisp_Object. 2016-01-09 Dmitry Gutov Use short date for 'hg annotate', and output the author * lisp/vc/vc-hg.el (vc-hg-annotate-command): Change '-d' to '-dq'. (Bug#21805) (vc-hg-annotate-switches): Default to "-u" "--follow". (vc-hg-annotate-re): Update to recognize the short date format and the optional username. (vc-hg-annotate-time) (vc-hg-annotate-extract-revision-at-line): Update accordingly. * test/automated/vc-hg.el: New file. 2016-01-09 Paul Eggert Spelling fix 2016-01-09 Eli Zaretskii Document user-level functions in project.el * lisp/progmodes/project.el (project-find-file) (project-or-external-find-file): Add doc strings. 2016-01-09 Eli Zaretskii Document the user-level features of the Xref package * doc/emacs/maintaining.texi (Maintaining): Add a list of described features. (Xref): New section, made out of thoroughly rewritten "Tags" section. (Find Identifiers, Looking Up Identifiers, Xref Commands) (Identifier Search, List Identifiers): New subsections, incorporating the old tags commands and the new xref commands. (Tags Tables, Tag Syntax, Create Tags Table, Etags Regexps): Section and subsections demoted to a lower level. * doc/emacs/search.texi (Search): * doc/emacs/windows.texi (Pop Up Window): * doc/emacs/frames.texi (Creating Frames): * doc/emacs/programs.texi (Imenu, Symbol Completion): * doc/emacs/building.texi (Grep Searching): * doc/emacs/dired.texi (Operating on Files): * doc/emacs/glossary.texi (Glossary): All references to tags changed. 2016-01-09 Stefan Monnier * loading.texi: Add `define-type' entry for load-history * doc/lispref/loading.texi (Where Defined): Remove incorrect cl-defmethod description, and add missing define-type entry. 2016-01-09 Eli Zaretskii Improve doc strings and prompts in xref.el * lisp/progmodes/xref.el (xref-backend-functions) (xref-find-definitions): Doc fixes. (xref-query-replace): Doc fix. Improve prompts for arguments. 2016-01-09 Alan Mackenzie Allow the use of `font-lock-extend-region-multiline' in CC Mode. * lisp/progmodes/cc-mode.el (c-font-lock-init): Remove `font-lock-extend-regions-wholelines' from `font-lock-extend-region-functions' rather than setting the latter to nil. 2016-01-09 Michael Albinus Fix coding system for Tramp on OS X. * lisp/net/tramp-compat.el: Require ucs-normalize. * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Set coding system to `utf-8-hfs' for Mac OS X. * test/automated/tramp-tests.el (tramp-test29-vc-registered): Flush directory properties when needed. (tramp--test-utf8): Include Chinese file name, again. 2016-01-09 Eli Zaretskii Update 'load-history' docs * doc/lispref/loading.texi (Where Defined): Update the list of forms in 'load-history' by adding the forms created for the 'cl-generic' generics. (Bug#21422) 2016-01-08 Paul Eggert Fix (error ...) error Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00561.html * lisp/vc/add-log.el (change-log-goto-source): Fix typos introduced in my Aug 28 change, where I got confused by the two meanings of (error ...). 2016-01-08 Alan Mackenzie Correctly analyze brace arguments in templated C++ function declarations. * lisp/progmodes/cc-defs.el (c-go-list-forward, c-go-list-backward): add POS and LIMIT parameters, like the other c-go-list-* functions have. * lisp/progmodes/cc-engine.el (c-restore-<>-properties): Check backwards for a ?\( rather than a ?<. (c-looking-at-inexpr-block): Handle names followed by template specifiers. 2016-01-08 Glenn Morris * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare. * lisp/ffap.el (ffap-latex-mode): Avoid free variable. 2016-01-08 Mark Oteiza * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`. 2016-01-08 Alan Mackenzie Respect fontification region calculated by major mode. Fixes bug #22316. * lisp/font-lock.el (font-lock-extend-jit-lock-region-after-change): when a fontification region has been calculated by a function on font-lock-extend-after-change-region-function use this region rather than changing the end position to somewhere else. 2016-01-08 Eli Zaretskii Improve documentation of Delete Selection mode * lisp/delsel.el (delete-selection-mode) (delete-selection-helper): Update and expand the doc strings. (Bug#22296) * doc/emacs/mark.texi (Using Region): Document the behavior of delete commands in Delete Selection mode. (Bug#22296) * doc/lispref/markers.texi (The Mark): Document how to add the support for Delete Selection mode to Lisp programs. (Bug#22296) 2016-01-08 Dmitry Gutov Fix two project-find-file issues * lisp/progmodes/project.el (project--value-in-dir): Temporarily set enable-local-variables to :all. (project-find-file, project-or-external-find-file): All autoloads. (project--find-file-in): Require xref. 2016-01-08 Eli Zaretskii Clarify doc string of 'dired-current-directory' * lisp/dired.el (dired-current-directory): Doc fix: clarify that the return value might not end in a slash when called with the optional argument non-nil. (Bug#6273) 2016-01-08 Eli Zaretskii Use the face of preceding text for displaying the ellipsis * src/xdisp.c (setup_for_ellipsis): Use the face of the preceding text in it->saved_face_id for displaying the ellipsis, and ignore the face, if any, of the invisible text. (Bug#22320) 2016-01-08 Michael Albinus Suppress Chinese file name test for OSX in tramp-tests.el * test/automated/tramp-tests.el (tramp--test-utf8): Remove instrumentation. Suppress Chinese file name test for OSX. 2016-01-07 Glenn Morris * admin/admin.el (set-version): Also handle the NEWS file. 2016-01-07 Dmitry Gutov apropos-library: Skip obvious duplicates; don't error on generics * lisp/apropos.el (apropos-library): Skip "was an autoload" entries, to avoid obvious duplicates. For each cl-defmethod entry, take just its function symbol (bug#21422). 2016-01-07 Dmitry Gutov Add project-find-file and project-or-external-find-file * lisp/minibuffer.el (completion-category-defaults): Add `project-file' category. * lisp/progmodes/project.el (project-find-file) (project-or-external-find-file): New commands. (project--find-file-in): New private function. * lisp/progmodes/xref.el (xref-collect-matches): Use `expand-file-name' on DIR, to expand the tildes. (xref--find-ignores-arguments): Extract from `xref--rgrep-command'. 2016-01-06 Leo Liu Add defvar-local to lisp-imenu-generic-expression * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add defvar-local. 2016-01-06 Leo Liu Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Don't declare (indent 1). 2016-01-06 Glenn Morris * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix. 2016-01-06 Glenn Morris * lisp/emacs-lisp/autoload.el (autoload-find-destination): Avoid specifying the length of a time object (it has not been "2" for some time). 2016-01-06 Andreas Schwab Properly encode/decode base64Binary data in SOAP * lisp/net/soap-client.el (soap-encode-xs-basic-type): Encode base64Binary value as utf-8. (soap-decode-xs-basic-type): Decode base64Binary value as utf-8. 2016-01-06 Eli Zaretskii Obey coding-system-for-write when writing stdout/stderr in batch * src/print.c (printchar_to_stream): * src/xdisp.c (message_to_stderr): If coding-system-for-write has a non-nil value, use it to encode output in preference to locale-coding-system. See the discussions in http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00048.html for the details. * doc/lispref/os.texi (Terminal Output): Document how to send non-ASCII text via 'send-string-to-terminal'. (Batch Mode): Document how text written to standard streams is encoded. Fix inaccuracy regarding which output streams are used by output functions in batch mode. 2016-01-06 Xue Fuqiao * doc/misc/efaq.texi (Packages that do not come with Emacs): Update the URI of MELPA and marmalade-repo. Reported by CHENG Gao in https://lists.gnu.org/archive/html/emacs-devel/2016-01/msg00390.html. 2016-01-05 Maksim Golubev (tiny change) * lisp/progmodes/opascal.el (opascal-mode-syntax-table): Fix backslash. (Bug#22224) 2016-01-05 Federico Beffa (tiny change) * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit): Make it actually work. (Bug#22265) 2016-01-05 Alan Mackenzie Remove function wrongly on AWK Mode value of context fontification hook. * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions): swap order of entries so that awk's entry isn't superseded by the default. * lisp/progmodes/cc-mode.el (c-before-context-fl-expand-region): Correct to handle nil value of c-before-context-fontification-functions. 2016-01-05 Paul Eggert * src/buffer.c: Stick with ASCII in doc string. 2016-01-05 Paul Eggert Reword transient-mark-mode doc string * src/buffer.c (syms_of_buffer): Reword doc string to avoid confusion. The value 'lambda (literally) can be interpreted as (quote lambda), which is not intended here; we want just the lambda symbol. 2016-01-05 Eli Zaretskii Update doc string of 'selective-display' * src/buffer.c (syms_of_buffer) : Say that using it with the value of 't' is obsolete. (Bug#1092) 2016-01-05 Alan Mackenzie Make C++ buffers writeable when writing their initial text properties. This is a correction to yesterday's CC Mode patch. * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Put c-save-buffer-state around the function rather than a mere `let'. 2016-01-05 Michael Albinus Additional changes for "make check-expensive" * CONTRIBUTE : Encourage use of ":tags '(:expensive-test)". Explain make target `check-expensive'. * etc/NEWS: Mention new make target `check-expensive'. * test/automated/Makefile.in (check-doit): New target. (check, check-expensive): Use it. 2016-01-04 Alan Mackenzie Apply text properties for <, > in new after-change function (C++ Java Modes). These are category/syntax-table properties to give < and > paren syntax. Also apply certain `c-type' text properties to the insides of <..> constructs to ensure that identifiers contained by them get fontified. This patch fixes bug #681. * lisp/progmodes/cc-cmds.el (c-electric-lt-gt): Reformulate due to new after-change action. * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Expand change region to include s which might not be already marked as parens, rather than just when paren text properties are removed. (c-restore-<>-properties): New after-change function, which applies text properties marking < and > with paren syntax. * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Ensure `c-type' properties are applied to the interiors of <...> constructs, to ensure fontification of identifiers there. * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add c-restore-<>-properties to this list for C++ and Java. * lisp/progmodes/cc-mode.el (c-common-init): When invoking c-before-font-lock-functions, exclude c-restore-<>-properties from the functions invoked. (c-before-change): Initialize c-new-BEG/END here (rather than c-after-change) to allow modification by before-change functions. (c-after-change): Amend c-new-END here, rather than initializing it and c-new-BEG. 2016-01-04 Michael Albinus Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25 2016-01-04 Michael Albinus Introduce check-expensive tests. * Makefile.in (check-expensive): * test/automated/Makefile.in (check-expensive): New target. * test/automated/auto-revert-tests.el (auto-revert-test01-auto-revert-several-files): * test/automated/file-notify-tests.el (file-notify--deftest-remote): * test/automated/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-04 Lars Magne Ingebrigtsen shr-tag-video bug fix * shr.el (shr-tag-video): Protect against the `poster' being empty. 2016-01-04 Michael Albinus Minor fixes in tramp-tests.el * test/automated/tramp-tests.el (tramp-test26-process-file): Move point properly. (tramp-test29-vc-registered): Work with relative file names. 2016-01-04 Eli Zaretskii Ensure redisplay when 'truncate-lines' is set * lisp/frame.el (redisplay--variables): Add 'truncate-lines'. (Bug#22303) 2016-01-04 Eli Zaretskii Fix a doc string of 'transient-mark-mode' * src/buffer.c (syms_of_buffer) : Prevent "lambda" in doc string from becoming a link to lambda expressions. 2016-01-04 Eli Zaretskii MS-Windows followup to latest gnulib update * nt/gnulib.mk (EXTRA_DIST): Add ignore-value.h. 2016-01-04 Paul Eggert Spelling fix 2016-01-03 Jens Lechtenboerger Do secure signed Bcc handling * lisp/gnus/message.el (message-send): Do secure signed Bcc handling (bug#18718). 2016-01-03 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-03 Paul Eggert * doc/misc/texinfo.tex: Revert unwanted copyright change. 2016-01-03 Artur Malabarba * lisp/align.el (align): Simplify a lambda * lisp/align.el (align): Fix arg order in call to `align-region' 2016-01-03 Eli Zaretskii Fix compilation next-error in buffers with selective-display * lisp/progmodes/compile.el (compilation-beginning-of-line): New function. (compilation-internal-error-properties) (compilation-next-error-function, compilation-set-window): Use it. (Bug#1092) 2016-01-03 Lars Magne Ingebrigtsen * nsm.el (nsm-check-protocol): Fix typo in the message. 2016-01-03 Lars Magne Ingebrigtsen Add SHA1 warnings for high network security settings * nsm.el (nsm-check-protocol): When using high security, warn about SHA1 certificates, which are now believed to be open to spoofing. 2016-01-02 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-02 Glenn Morris * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function): Explicitly ignore case. (Bug#22262) 2016-01-02 Stefan Monnier (semantic-symref-derive-find-filepatterns): Return a list * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns): Return a list. (semantic-symref-perform-search): Quote the result here once and for all. 2016-01-02 Eli Zaretskii Fix xref-find-references on MS-Windows * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns): Use 'shell-quote-argument' instead of manually quoting in a way that only works with Posix shells. (Bug#22289) 2016-01-02 Eli Zaretskii Document new features of tildify-mode * lisp/textmodes/tildify.el (tildify-foreach-ignore-environments) (tildify-mode): Spelling fixes in doc strings. * etc/NEWS: Reformat the tildify-mode entry. 2016-01-02 Eli Zaretskii Document new features of Whitespace mode * doc/emacs/display.texi (Useless Whitespace): Document 'whitespace-toggle-options' and the new 'big-indent' style. Document 'whitespace-big-indent-regexp'. Document the Global Whitespace mode. 2016-01-02 Eli Zaretskii Improve documentation of new Hide-IfDef features * etc/NEWS: Expand and reword Hide-IfDef section. 2016-01-02 Leo Liu Fix regression in font-locking cl-assert and cl-check-type * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): Fix el-errs-re. 2016-01-01 Paul Eggert Spelling and grammar fixes 2016-01-01 Paul Eggert Fix copyright years by hand These are dates that admin/update-copyright did not update, or updated incorrectly. 2016-01-01 Paul Eggert Update copyright year to 2016 Run admin/update-copyright. 2016-01-01 Paul Eggert Merge from gnulib This mostly just updates copyright dates of gnulib files. It also updates to the latest version of texinfo.tex. 2015-12-31 Mark Oteiza lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler. 2015-12-31 Mark Oteiza Port chart.el methods to cl-generic. cl-call-next-method cannot be used inside EIEIO's defmethod. * lisp/emacs-lisp/chart.el: Require cl-generic at compile time. * lisp/emacs-lisp/chart.el (initialize-instance, chart-draw): (chart-draw-title, chart-size-in-dir, chart-draw-axis): (chart-axis-draw, chart-translate-xpos, chart-translate-ypos): (chart-translate-namezone, chart-draw-data, chart-add-sequence): (chart-trim, chart-sort): Use cl-defmethod instead of defmethod. 2015-12-31 Brian Burns Add nt/INSTALL.W64 build instructions * nt/INSTALL.W64: New file. * nt/INSTALL: Point to INSTALL.W64 for 64-bit build instructions. 2015-12-31 Joakim Jalap Add new input method 'programmer-dvorak' * lisp/leim/quail/programmer-dvorak.el ("programmer-dvorak"): New input method. * etc/NEWS: Mention it. 2015-12-31 Eli Zaretskii Allow to invoke original M-TAB binding in 'flyspell-prog-mode' * lisp/textmodes/flyspell.el (flyspell-prog-mode): Record the original M-TAB binding in a buffer-local variable. (flyspell-auto-correct-word): Invoke the original binding of M-TAB if that is recorded, when point is in a place where flyspell should not be active (e.g., because the user turned on 'flyspell-prog-mode'). (Bug#18533) 2015-12-31 Eli Zaretskii Fix EWW rendering of long RTL lines * lisp/net/shr.el (shr-insert-document): Undo any previous hscroll of the selected window before filling its lines. (Bug#22250) 2015-12-31 Vincent Belaïche fix bug#21054 * ses.el (ses-check-curcell): Call `ses-set-curcell' unconditionally 2015-12-31 YAMAMOTO Mitsuharu Clean up cairo printing code * src/gtkutil.c (xg_get_page_setup): Use listn. * src/xfns.c (Fx_export_frames, Fx_print_frames_dialog): Doc fix. Use decode_window_system_frame and FRAME_VISIBLE_P. (Fx_print_frames_dialog): Use redisplay_preserve_echo_area instead of Fdisplay. * src/xterm.c (x_cr_export_frames): Use redisplay_preserve_echo_area instead of Fdisplay. Temporarily unblock_input around QUIT. 2015-12-30 YAMAMOTO Mitsuharu Add handle_user_signal_hook * src/keyboard.h (handle_user_signal_hook): New declaration. * src/keyboard.c (handle_user_signal_hook): New variable. (handle_user_signal): Call it. 2015-12-30 YAMAMOTO Mitsuharu Avoid writing to purespace * src/alloc.c (Fmake_string): Don't write to empty string contents. (allocate_vector): Don't write to empty vector size. * src/character.h (CHECK_CHARACTER_CAR, CHECK_CHARACTER_CDR): Don't call unnecessary XSETCAR or XSETCDR. * src/lisp.h (STRING_SET_UNIBYTE, STRING_SET_MULTIBYTE): Don't write to empty string size_byte. 2015-12-30 YAMAMOTO Mitsuharu Remove unused variable * lisp/international/mule-cmds.el: Remove unused variable `mac-system-coding-system'. 2015-12-30 YAMAMOTO Mitsuharu * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin. 2015-12-30 YAMAMOTO Mitsuharu Use posix_openpt instead of openpty on Darwin * configure.ac (PTY_ITERATION, FIRST_PTY_LETTER, PTY_OPEN) (PTY_NAME_SPRINTF, PTY_TTY_NAME_SPRINTF): Remove Darwin-specific definitions. Use posix_openpt instead. 2015-12-30 Shakthi Kannan Document support for ':documentation' in Lisp mode * lisp/emacs-lisp/lisp-mode.el (lisp-string-in-doc-position-p) (lisp-string-after-doc-keyword-p) (lisp-font-lock-syntactic-face-function): Add doc strings. 2015-12-30 Shakthi Kannan Document new features of TeX mode * doc/emacs/text.texi (TeX Print): Document 'tex-print-file-extension'. * doc/emacs/programs.texi (Misc for Programs): Document support for Prettify Symbols mode in TeX mode. 2015-12-30 Eli Zaretskii Clarify docs of hscroll in RTL text * doc/lispref/windows.texi (Horizontal Scrolling): Clarify the meaning of a window's horizontal scroll amount for RTL paragraphs. 2015-12-30 Eli Zaretskii Fix rendering of HTML pages that use character composition * src/indent.c (Fvertical_motion): Fix the case when point starts in the middle of a composition, as in shr-vertical-motion. (Bug#22250) 2015-12-30 Eli Zaretskii Avoid some compiler warnings in w32.c * src/w32.c (codepage_for_filenames, crlf_to_lf) (ansi_encode_filename, socket_to_fd, sys_write) (check_windows_init_file): Avoid compiler warnings about differences in pointer signedness. 2015-12-29 Dmitry Gutov Undo ill-advised change * lisp/progmodes/xref.el (xref-collect-matches): Undo ill-advised change. The hits come in the order that `find' produces them in, which isn't alphabetical. 2015-12-29 Dmitry Gutov Unbreak completion in python-mode buffers * lisp/progmodes/python.el (python-shell-completion-at-point): Unbreak in python-mode buffers. 2016-01-09 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-07 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-03 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-02 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-30 John Wiegley Merge emacs-25 into master (using imerge) 2015-12-29 Eli Zaretskii Fix typos in CC Mode manual * doc/misc/cc-mode.texi (c-offsets-alist, Style Variables): Fix typos. (Bug#22267) 2015-12-29 Eli Zaretskii Avoid assertion violations in compact_font_cache_entry * src/alloc.c (compact_font_cache_entry): Don't use VECTORP to avoid assertion violation in ASIZE. (Bug#22263) 2015-12-29 Eli Zaretskii Fix filling text with bidirectional characters in shr.el * lisp/net/shr.el (shr-insert-document): Bind bidi-display-reordering to nil while filling lines. This is required for when a line includes characters whose bidi directionality is opposite to the base paragraph direction, because columns are counted in the logical order. (Bug#22250) 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 Martin Rudalics * src/xfns.c (x_create_tip_frame): Process alpha parameter. 2015-12-29 Michael Albinus Sync with Tramp 2.2.13 * doc/misc/trampver.texi: Change version to "2.2.13.25.1". * lisp/net/tramp-compat.el (tramp-compat-delete-dups): Use `tramp-compat-funcall'. * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Make `split-string' call compatible with older Emacsen. * lisp/net/trampver.el: Change version to "2.2.13.25.1". 2015-12-29 Lambda Coder * doc/misc/tramp.texi: Editorial revisions to the Tramp manual 2015-12-29 Lars Ingebrigtsen Mention that tls.el is secure by default, and will fail 2015-12-29 Lars Ingebrigtsen Make tls.el use trustfiles by default * lisp/net/tls.el (tls-program): Add a certfile by default (bug#21227). (open-tls-stream): Insert the trustfile by looking at `gnutls-trustfiles'. 2015-12-29 Lars Ingebrigtsen Refactor out gnutls-trustfiles * lisp/net/gnutls.el (gnutls-trustfiles): Refactor out for reuse by tls.el. 2015-12-29 Lars Ingebrigtsen Remove --insecure from gnutls-cli invocation * tls.el (tls-program): Default to using secure TLS connections (bug#19284). 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 Paul Eggert Spelling fix 2015-12-28 Paul Eggert Port report-emacs-bug to deterministic builds * lisp/mail/emacsbug.el (report-emacs-bug): Future-proof the recent "built on" change to deterministic builds where emacs-build-system will be nil. See: http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01369.html 2015-12-28 Jose A. Ortega Ruiz (tiny change) Fix URL auth error message * lisp/url/url-http.el (url-http-handle-authentication): Make the error message more correct (bug#20069). 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 * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links. 2015-12-28 Tom Tromey set :safe on css-indent-offset * lisp/textmodes/css-mode.el (css-indent-offset): Add :safe 'integerp. 2015-12-28 Lars Ingebrigtsen * eww.el (eww-mode): Remove superfluous bidi reset. 2015-12-28 James Stout (tiny change) Make chunked encoding trailer detection more compliant * lisp/url/url-http.el (url-http-chunked-encoding-after-change-function): Make trailer detection more compliant (bug#16345). 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 Martin Rudalics Fix Bug#10873 in `report-emacs-bug' * lisp/mail/emacsbug.el (report-emacs-bug): If `report-emacs-bug-no-explanations' is nil, make sure we can show mail and warnings buffer on this frame (Bug#10873). 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-28 Lars Ingebrigtsen Always reset the bidi direction * eww.el (eww-display-html): Always reset the bidi direction to `left-to-right' (bug#22257). 2015-12-28 Alan Mackenzie Allow line comments ending with escaped NL to be continued to the next line. Use this in C, C++, and Objective C Modes. Fixes bug#22246 * src/syntax.c (comment-end-can-be-escaped): New buffer local variable. (forw-comment, back-comment): On encountering an end of comment character, test whether it is escaped when `comment-end-can-be-escaped' is non-nil. * doc/lispref/syntax.texi (Control Parsing): Describe `comment-end-can-be-escaped'. * etc/NEWS (Lisp Changes): Describe `comment-end-can-be-escaped'. * lisp/progmodes/cc-langs.el: New c-lang-setvar `comment-end-can-be-escaped'. 2015-12-28 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 Dmitry Gutov Rename project-library-roots to project-external-roots * lisp/progmodes/project.el (project-library-roots): Rename to project-external-roots. (project-library-roots-function): Rename to project-vc-external-roots-function. Only use it in the VC backend, for now. Update project-external-roots accordingly. (project-vc-library-roots): Remove. (project-or-libraries-find-regexp): Rename to project-or-external-find-regexp. * lisp/progmodes/elisp-mode.el (elisp-library-roots): Rename to elisp-load-path-roots. * lisp/progmodes/etags.el (etags-library-roots): Remove. Use an anonymous function for the default value of project-vc-external-roots-function. 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 Deniz Dogan Clear erc user list upon disconnection * lisp/erc/erc-backend.el (erc-process-sentinel): Clear channel user lists upon disconnection. This prevents invalid channel user lists when reconnecting (bug#10947). 2015-12-27 Lars Ingebrigtsen Don't bug out in erc after waking from sleep * erc-backend.el (erc-server-send-ping): If the server has closed connection, this may already have been detected and `erc-server-last-received-time' has been set to nil (bug#13608). 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 Dima Kogan Ensure that we don't have several timers in erc * lisp/erc/erc-backend.el (erc-server-setup-periodical-ping): Checks for existing timers in the alist before adding new ones. If a timer already exists, it is cancelled and overwritten. (bug#19292). 2015-12-27 Jens Lechtenboerger * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads (bug#18718). 2015-12-27 Lars Ingebrigtsen * lisp/erc/erc-log.el (erc-log-setup-logging): Insert the previous log at the start of the buffer, not at the end (bug#20496). 2015-12-27 Lars Ingebrigtsen * lisp/net/eww.el (eww-setup-buffer): Restore left-to-right defaults. 2015-12-27 Lars Ingebrigtsen Don't join erc channels doubly * erc-join.el (erc-autojoin-channels): Don't join channels more than once (if you have several nicks) (bug#20695). 2015-12-27 Eli Zaretskii Avoid leaving "ghost" of mouse pointer on MS-Windows * src/w32term.c (frame_set_mouse_pixel_position): * src/w32fns.c (Fw32_mouse_absolute_pixel_position): Momentarily disable "mouse trails" when moving the mouse pointer. (Bug#22247) * src/w32term.c (frame_set_mouse_pixel_position): Include w32common.h. 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-27 Krzysztof Jurewicz (tiny change) Fix auth source lookups from erc with port numbers * lisp/erc/erc.el (erc-open): `auth-source' wants strings, not port numbers (bug#20541). 2015-12-27 Fran Litterio Run erc-kill-channel-hook always on exit * lisp/erc/erc.el (erc-kill-buffer-function): Run erc-kill-channel-hook when erc-kill-queries-on-quit is set (bug#21187). 2015-12-26 Paul Eggert Spelling fix * test/automated/url-parse-tests.el: (url-generic-parse-url/same-document-reference): Rename from url-generic-parse-url/same-decument-reference. 2015-12-26 Paul Eggert Reword initial *scratch* for brevity, appearance * lisp/startup.el (initial-scratch-message): Reword to avoid apostrophes, and to make it shorter. See the thread starting in: http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg01241.html 2015-12-26 Leo Liu Add ert-deftest to lisp-mode.el * lisp-mode.el (lisp-imenu-generic-expression, lisp-el-font-lock-keywords-1): Add ert-deftest. 2015-12-26 Lars Ingebrigtsen Mark imap changes as not needing doc changes * imap.el (imap-ssl-open): Remove 2015-12-26 Lars Ingebrigtsen Use built-in encryption in imap.el * lisp/net/imap.el (imap-ssl-program): Remove (bug#21134). (imap-starttls-open): Use open-network-stream instead of starttls.el. (imap-tls-open): Use open-network-stream instead of tls.el. 2015-12-26 Eli Zaretskii Don't try using /bin/sh in artist.el on MS-Windows * lisp/textmodes/artist.el (artist-figlet-get-font-list-windows): New function. (artist-figlet-choose-font): Use it on MS-Windows and MS-DOS. (Bug#20167) 2015-12-26 Wolfgang Jenkner Always define gmalloc etc. in src/gmalloc.c This is a work-around to prevent the compiler from using semantic knowledge about malloc for optimization purposes. E.g., gcc 5.2 with -O2 replaces most of calloc's definition by a call to calloc; see Bug#22085. * src/gmalloc.c [!HYBRID_MALLOC] (malloc, realloc, calloc) (aligned_alloc, free): Do not undef. Instead, define these as functions (perhaps renamed to gmalloc etc.) in terms of gmalloc etc. 2015-12-26 Eli Zaretskii Fix documentation of browse-url browser-related functions * lisp/net/browse-url.el (browse-url) (browse-url-default-browser, browse-url-default-windows-browser) (browse-url-default-macosx-browser, browse-url-chromium) (browse-url-kde, browse-url-text-xterm): Clarify the usage of ARGS and NEW-WINDOW arguments in these functions. (Bug#19421) 2015-12-26 Paul Eggert Propagate Bug#14412 fix to backtrace_eval_unrewind * src/eval.c (unbind_to): Redo so that the FALLTHROUGH!! comment becomes accurate again. This shouldn’t affect behavior. (backtrace_eval_unrewind): Apply the recent unbind_to fix here, too. 2015-12-26 Eli Zaretskii Don't produce non-ASCII characters in *scratch* * lisp/startup.el (initial-scratch-message): Quote apostrophes to avoid producing non-ASCII characters in the *scratch* buffer's commentary. 2015-12-26 Eli Zaretskii Document changes in 'compare-windows' * lisp/vc/compare-w.el (compare-windows-removed) (compare-windows-added): Doc fix. * doc/emacs/files.texi (Comparing Files): Document the changes in window selection by 'compare-windows'. 2015-12-26 Eli Zaretskii Document 'vc-annotate-background-mode' * doc/emacs/maintaining.texi (Old Revisions): Document 'vc-annotate-background-mode'. 2015-12-26 Eli Zaretskii Document 'vc-region-history' * doc/emacs/maintaining.texi (VC Change Log): Document 'vc-region-history'. 2015-12-26 Eli Zaretskii Improve documentation of 'vc-push' * doc/emacs/maintaining.texi (Pulling / Pushing): Expand and improve the documentation of 'vc-push'. * lisp/vc/vc.el (vc-pull, vc-push): Doc fix. 2015-12-26 Alain Schneble Include the tests for the URL parsing fixes 2015-12-26 Eli Zaretskii Document 'url-user-agent'. * lisp/url/url-http.el (url-user-agent): Move from here... * lisp/url/url-vars.el (url-user-agent): ...to here. This is to keep all the URL defcustoms in one place, and also have it defined whenever the URL library is loaded. * doc/misc/url.texi (Customization): Document 'url-user-agent'. 2015-12-26 Eli Zaretskii Document protocols supported by URL library via Tramp * doc/misc/url.texi (Tramp): New node, describes the URL schemes supported via Tramp. (Supported URL Types, file/ftp, rlogin/telnet/tn3270): Mention Tramp. 2015-12-26 Eli Zaretskii Document changes in Shell-script mode * lisp/progmodes/sh-script.el (sh-mode, sh-set-shell): Document the 'sh-shell' file-local variable. (top level): Add an auto-load form to avoid byte-compiler warning about 'comint-send-string'. 2015-12-26 Eli Zaretskii Fix documentation of 'ses-define-local-printer' * doc/misc/ses.texi (Printer functions): Fix whitespace between sentences and punctuation. Add an index entry for 'ses-define-local-printer'. 2015-12-26 Shakthi Kannan Document 'ert-summarize-tests-batch-and-exit' * doc/misc/ert.texi (Running Tests in Batch Mode): Document 'ert-summarize-tests-batch-and-exit'. 2015-12-26 Eli Zaretskii Avoid assertion violation in unbind_to * src/eval.c (unbind_to) : Avoid assertion violation if we get here with an object that is not a symbol. (Bug#14412) 2015-12-25 Andreas Schwab Don't treat /foo/bar:mumble as ange-ftp address * lisp/net/browse-url.el (browse-url-filename-alist): Match colons only in the first component. (bug#5362) 2015-12-25 Eli Zaretskii Make sure *scratch* etc. use forward slashes in its default-directory * lisp/startup.el (normal-top-level): On MS-Windows, convert backslashes to forward slashes while decoding default-directory of the initially-created buffers. 2015-12-25 Eli Zaretskii Restore info about the build host in bug reports * lisp/mail/emacsbug.el (report-emacs-bug): Report the system on which Emacs was built. This is important information for investigating bug reports reported by users who don't build their Emacs. 2015-12-25 Eli Zaretskii Fix bootstrap broken by changes related to OS X file-name encoding * lisp/international/ucs-normalize.el (eval-when-compile): Make sure char-code-property-alist includes elements that allow access to 'decomposition' and 'canonical-combining-class' Unicode properties, as compiling ucs-normalize.el requires that. * lisp/loadup.el (featurep 'ns): Load ucs-normalize and ns-win only of charprop.el was already loaded. * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc): New order-only dependency. 2015-12-25 Leo Liu * lisp/ido.el (ido-add-virtual-buffers-to-list): Use bookmark-get-filename. 2015-12-25 Michael Albinus Make tramp-test29-vc-registered more robust * test/automated/tramp-tests.el (tramp-test29-vc-registered): Move `bzr' case down. Skip test when `vc-create-repo' fails. Remove instrumentation. 2015-12-24 YAMAMOTO Mitsuharu * lisp/term/x-win.el (x-gtk-stock-map): Fix typo. 2015-12-23 Katsumi Yamaoka Fix `gnus-union' so as to behave like `cl-union' * lisp/gnus/gnus-group.el (gnus-group-prepare-flat): Make gnus-union use `equal' to compare items in lists. * lisp/gnus/gnus-util.el (gnus-union): Make it behave like cl-union partially. 2015-12-23 Paul Eggert Fix dired.c typo with ptrdiff_t vs Lisp_Object * src/dired.c (file_name_completion): Don't assume Lisp_Object is an integer type, fixing a problem introduced in the recent fix for Bug#22169. 2015-12-23 Eli Zaretskii Document default process sentinel more prominently * doc/lispref/processes.texi (Asynchronous Processes): Mention the defaults for process filter and sentinel. Provide cross-references. (Process Information): Provide cross-references to where filters and sentinels are described. (Filter Functions): Add an index entry for "default filter". (Sentinels): Add a few status messages not documented previously. Resolve the "killed" confusion. Document and describe the default sentinel. (Bug#22220) 2015-12-23 Eli Zaretskii Fix file-name completion on OS X * src/dired.c (file_name_completion): Reject false matches due to file-name-coding-systems that decompose characters when encoding file names, by comparing decoded file names as well. (Bug#22169) (syms_of_dired) : New DEFSYM. * lisp/international/ucs-normalize.el (utf-8-hfs): Give it a non-nil 'decomposed-characters' property. 2015-12-23 Anders Lindgren File-name completion of non-ASCII characters on OS X (bug#22169) The coding system `utf-8-nfd', locally defined in ns-win.el, didn't provide a :pre-write-conversion method, causing file name completion of non-ASCII characters to fail. Solved by using the `utf-8-hfs' coding system provided by `ucs-normalize'. * lisp/loadup.el: Load international/ucs-normalize (when building for ns). * lisp/term/ns-win.el (utf-8-nfd): Made `utf-8-nfd' as alias for `utf-8-hfs' and removed the old implementation. Set `utf-8-hfs' as the file name coding system. * src/nsfns.m (ns-convert-utf8-nfd-to-nfc): Removed. 2015-12-22 Tom Tromey Fix bug #18588 by making bug-reference-bug-regexp more lenient * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Accept "bug NNNN". (Bug #18588) 2015-12-22 Tom Tromey add some cl-* aliases to lisp-mode imenu * (lisp-imenu-generic-expression): Add cl-define-compiler-macro, cl-defgeneric, and cl-defmethod. 2015-12-22 Tom Tromey Make a variable buffer-local * lisp/generic-x.el (generic-rul-mode-setup-function): Make font-lock-syntax-table buffer-local. (Bug #21627) 2015-12-22 Eli Zaretskii Fix decoding of text in URLs retrieved by EWW * lisp/net/eww.el (eww-render): Pass 'charset' to 'eww-display-raw'. Use the value of 'last-coding-system-used', if non-nil, to set 'buffer-file-coding-system' of the buffer where we show the URL. (eww-display-html, eww-display-raw): Decode the text correctly, using the charset found in the headers, and defaulting to UTF-8. If the user told us to use a specific encoding, override the charset from the headers. (Bug#22222) 2015-12-22 Alan Mackenzie Fix a coding error in c-forward-<>-arglist-recur. Fixes bug#22156 * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur): Remove unused variable `tmp'. After a failed search for a matching ">", restore point before continuing. 2015-12-22 Michael Albinus Instrument Tramp tests * test/automated/tramp-tests.el (tramp-test29-vc-registered) (tramp--test-utf8): Instrument tests. 2015-12-22 Martin Rudalics Fix `display-buffer' call in `display-message-or-buffer' (Bug#22221) * lisp/simple.el (display-message-or-buffer): Call `display-buffer' with ACTION instead of NOT-THIS-WINDOW (Bug#22221). 2015-12-21 Juri Linkov * lisp/saveplace.el (toggle-save-place, save-place-to-alist) (save-places-to-alist, save-place-dired-hook): Check for dired-subdir-alist. (Bug#19851) 2015-12-21 Paul Eggert Add FIXME comment re stack overflow and modules 2015-12-20 Paul Eggert Revert some recent emacs-module commentary Most of the recently-added commentary was incorrect, due to the possibility of stack overflow. 2015-12-20 Paul Eggert Spelling fix: prefer "cooperate" to "co-operate" 2015-12-20 Paul Eggert Port undo fixes to -fno-common Port recent fix for Bug#21968 to platforms like 'gcc -fno-common'. * src/keyboard.c, src/keyboard.h (point_before_last_command_or_undo) (buffer_before_last_command_or_undo): Declare in keyboard.h, and define in keyboard.c, instead of assuming the traditional Unix relaxed ref-def linkage. 2015-12-20 Philipp Stephani Improve commentary for emacs-module.c * src/lisp.h: Document emacs-module.c assumptions about EQ and NILP. * src/emacs-module.c (module_non_local_exit_get): Document that we cannot use the current implementation. (module_is_not_nil, module_eq): Document assumptions about EQ and NILP. 2015-12-20 Michael Albinus Suppress test on Mac OS X * test/automated/tramp-tests.el (tramp--test-darwin-p): New defun. (tramp--test-utf8): Use it. 2015-12-20 Alan Mackenzie Merge branch 'scratch/follow' into emacs-25 This allows Isearch, etc., to work well when Follow Mode is active. 2015-12-19 Michael Albinus * lisp/net/tramp-sh.el (tramp-get-ls-command-with-w-option): Improve check. 2015-12-19 Eli Zaretskii Fix last commit * doc/emacs/rmail.texi (Rmail Deletion): Document new behavior of 'u' with numeric argument. 2015-12-19 Eli Zaretskii Document new features of Rmail * doc/emacs/rmail.texi (Rmail Summary Edit, Rmail Deletion): Document new behavior of 'd' and 'C-d' with numeric argument. (Rmail Display): Document the rendering of HTML MIME parts. 2015-12-19 Eli Zaretskii Improve documentation of new cl-lib functions * doc/misc/cl.texi (Predicates on Numbers, Numerical Functions): Fix wording. 2015-12-19 Eli Zaretskii Document the new feature of 'minibuffer-with-setup-hook' * lisp/files.el (minibuffer-with-setup-hook): Clarify how FUN is added to `minibuffer-setup-hook'. 2015-12-19 Eli Zaretskii Document new features of Font Lock * doc/lispref/modes.texi (Other Font Lock Variables): Document 'font-lock-flush-function' and 'font-lock-ensure-function'. (Font Lock Basics): Document the basic fontification functions referenced in "Other Font Lock Variables". * lisp/font-lock.el (font-lock-flush, font-lock-ensure): Doc fix. 2015-12-19 Eli Zaretskii Document new features of Rectangle mode * doc/emacs/killing.texi (Rectangles): Document "C-x C-x" in rectangle-mark-mode. 2015-12-19 Eli Zaretskii Manual followup to last change * doc/lispref/display.texi (Displaying Messages): Sync with the doc string. (Bug#22210) 2015-12-19 Eli Zaretskii Clarify doc string of 'display-message-or-buffer' * lisp/simple.el (display-message-or-buffer): Doc fix. Suggested by Sebastian Wiesner . (Bug#22210) 2015-12-19 Eli Zaretskii * doc/emacs/emacs.texi (Top): Update top-level menus. * doc/lispref/elisp.texi (Top): Update top-level menus. 2015-12-19 Eli Zaretskii Document how to avoid file-local variables that aren't * doc/emacs/custom.texi (Specifying File Variables): Describe how to prevent Emacs from interpreting unrelated text as file-local variables. (Bug#22166) 2015-12-19 Dave Thomas (tiny change) Fix a typo in eterm-color's termcap entry * lisp/term.el (term-termcap-format): Fix a typo in the "ue=" entry. (Bug#22184) 2015-12-19 Eli Zaretskii Allow 'browse-url-emacs' visit non-existent URLs * lisp/url/url-handlers.el (url-insert-file-contents): Don't signal an error if VISIT is non-nil, to more faithfully emulate the behavior of 'insert-file-contents'. (Bug#22160) 2015-12-18 Paul Eggert Remove SunOS 4.x cruft Support for SunOS 4.x was removed in Emacs 23 but some cruft was left behind. * lib-src/pop.c [sun]: Remove no-longer-needed include. * lwlib/xlwmenu.c (SUNSO41): Remove. 2015-12-18 Paul Eggert Merge from gnulib This mostly commentary fixes. * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib. * lib/gnulib.mk: Regenerate with new gnulib-tool. 2015-12-18 Michael Albinus Minor fixes in Tramp * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls): Reorder ls arguments. * lisp/net/tramp.el (tramp-dissect-file-name): Fix docstring. 2015-12-18 Michael Albinus Make tramp a built-in package * lisp/finder.el (finder-compile-keywords): Update `package--builtins' also when Version: keyword is available. * lisp/net/trampver.el: Add Version: keyword. (tramp-version): Change it to "2.2.13.25.1", in order to be compatible with `version-to-list'. 2015-12-18 Lele Gaifax * etc/tutorials/TUTORIAL.it: Update and fix typos. (Bug#22187) 2015-12-18 Alan Mackenzie Rename `recenter-group' to `recenter-window-group' * doc/lispref/windows.texi (Textual Scrolling) * lisp/window.el (top level, recenter-group) * lisp/follow.el (follow-mode) * lisp/isearch.el (isearch-back-into-window): Rename `recenter-group' to `recenter-window-group' and `recenter-group-function' to `recenter-window-group-function'. 2015-12-18 Eli Zaretskii Fix vertical-motion in tabulated-list mode * src/indent.c (Fvertical_motion): When moving from line beginning to point under line truncation, assume overshoot by one line only if point actually lies beyond the window's right margin. (Bug#22194) 2015-12-18 Martin Rudalics Don't have help functions call x-display-pixel-width/-height on ttys * lisp/help.el (temp-buffer-max-height, temp-buffer-max-width): Don't call x-display-pixel-width/-height on ttys. 2015-12-17 Dmitry Gutov Use 'hg id' in vc-hg-previous-revision * lisp/vc/vc-hg.el (vc-hg-previous-revision): Use 'hg id' to retrieve it (bug#22032). 2015-12-17 Alan Mackenzie * lisp/follow.el (follow-sit-for): Remove (it's redundant). 2015-12-17 Eli Zaretskii Fix a typo in the Emacs manual * doc/emacs/trouble.texi (Sending Patches): Fix a typo. Reported by Lele Gaifax . (Bug#22193) 2015-12-17 Eli Zaretskii Fix parsing netrc entries with ports * lisp/gnus/auth-source.el (auth-source-ensure-strings): Don't make a list out of 't'. (Bug#22188) * test/automated/auth-source-tests.el (auth-source-test-netrc-parse-entry): New test. 2015-12-17 Paul Eggert Fix typo in Doug Lea malloc configure log * configure.ac (emacs_cv_var_doug_lea_malloc): Fix typo that confused the log output of 'configure'. 2015-12-16 Nicolas Petton * etc/NEWS: Mention the new pcase patterns `seq' and `map'. 2015-12-16 Alan Mackenzie * etc/NEWS: Move entry on pcase to correct section (Accidentally omitted from previous commit) 2015-12-16 Alan Mackenzie Add documentation for changes to Show Paren mode. * lisp/paren.el (show-paren-highlight-openparen): Enhance doc string. * doc/emacs/programs.texi (Matching): Add descriptions of some pertinent user options, including the new show-paren-when-point-inside-paren and show-paren-when-point-in-periphery. * etc/NEWS (.. Specialized Modes ...): Add an entry for Show Paren mode. Move an entry on pcase to the Lisp Changes section. 2015-12-16 Eli Zaretskii Document Eldoc changes * doc/emacs/programs.texi (Lisp Doc): Document Global Eldoc mode. 2015-12-16 Eli Zaretskii Fix invocation of Python and Guile interpreters from gdb-mi * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp): Add commands for interactive Python and Guile interpreters. (gdb-send): Recognize various ways of exiting from Python and Guile interpreters and returning to GDB. For details, see http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00693.html and http://stackoverflow.com/questions/31514741. 2015-12-16 Paul Eggert Remove attempt to use C11 threads C11 threads are not needed for Emacs now, and their use is causing hassles on FreeBSD 10.x. Problem reported by Ashish SHUKLA in: http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00648.html * configure.ac: Do not check for C11 threads. Remove unnecessary fiddling with CPPFLAGS when configuring pthreads. * src/emacs-module.c (main_thread, check_main_thread) (module_init): Do not worry about C11 threads. 2015-12-15 Michael Albinus Set utf8 encoding with stty in Tramp * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Move up uname check. Handle Mac OS X eol encoding. Set utf8 encoding with stty. 2015-12-15 Alan Mackenzie Tidy up documentation associated with window groups. * doc/lispref/windows.texi (Basic Windows): Add an @anchor for "Window Groups". Correct example function to `window-group-start'. (Window Start and End, Textual scrolling): Point to the new anchor. State that (most of) the args in window group functions have the same meaning as for the corresponding window primitives. * doc/lispref/positions.texi (Screen Lines). Same as above. 2015-12-15 Michael Albinus Complete last commit * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Move uname check up. Handle Mac OS X eol encoding. 2015-12-15 Michael Albinus Handle Mac OS X eol encoding in Tramp * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Handle Mac OS X eol encoding. 2015-12-15 YAMAMOTO Mitsuharu Fix variable name typo in compute_tip_xy * src/w32fns.c (compute_tip_xy): * src/xfns.c (compute_tip_xy): Modify *root_x instead of *root_y when `right' is integer. 2015-12-14 foudfou (tiny change) * lisp/ibuffer.el: Add ability to (un-)mark or delete buffers in the region. 2015-12-14 Tassilo Horn Revert "Fix rx matcher overflow without limiting" This reverts commit fe27e037663d36be3e5741c2ce86ab4ee8017db1. 2015-12-14 Alan Mackenzie Ispell: Bind isearch-regexp-function to nil around call to isearch..-new-loop * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): bind isearch-regexp-function to nil around call to isearch-lazy-highligh-new-loop. 2015-12-14 Tassilo Horn Fix rx matcher overflow without limiting * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve last change to the regexp without imposing a limit on the length of the options. 2015-12-14 Alan Mackenzie Enhance ispell-skip-region-alist by generating part of it at runtime. * lisp/textmodes/ispell.el (ispell--\\w-filter, ispell--make-\\w-expression) (ispell--make-filename-or-URL-re): New functions which generate a regexp. (ispell-skip-region-alist): Remove the bit that matches a filename/URL, etc. (ispell-begin-skip-region-regexp, ispell-skip-region-list, ispell-message): Include the result of ispell--make-filename-or-URL-re in regexps. 2015-12-14 Glenn Morris * build-aux/gitlog-to-emacslog: Ignore more pointless merge commits. 2015-12-14 Alan Mackenzie Replace GROUP argument in six window primitives by new functions. * doc/lispref/windows.texi (Window Start and End, Textual Scrolling) * doc/lispref/positions.texi (Screen Lines): Remove optional GROUP argument from description of six window functions. Add in description of new functions window-group-start, window-group-end, set-window-group-start, pos-visible-in-window-group-p, recenter-group and move-to-window-group-line, together with the six variables indirecting to the pertinent group functions. * src/window.c * src/keyboard.c: Revert the commit from 2015-11-11 12:02:48, in so far as it applies to these two files, which added the GROUP argument to six window primitives. * lisp/follow.el (follow-mode): Use updated variable names for the indirected functions. * lisp/isearch.el (isearch-update, isearch-done, isearch-string-out-of-window) (isearch-back-into-window, isearch-lazy-highlight-new-loop) (isearch-lazy-highlight-search, isearch-lazy-highlight-update): Replace calls to window primitives (e.g. window-start) with a GROUP argument by calls to new functions (e.g. window-group-start). * lisp/ispell.el (ispell-command-loop): Replace call to pos-visible-in-window-p with pos-visible-in-window-group-p. * lisp/window.el (window-group-start, window-group-end) (set-window-group-start, recenter-group, pos-visible-in-window-group-p) (selected-window-group, move-to-window-group-line): New functions. (window-group-start-function, window-group-end-function) (set-window-group-start-function, recenter-group-function) (pos-visible-in-window-group-p-function, selected-window-group-function) (move-to-window-group-line-function): New variables. 2015-12-14 Vitorio Miguel (tiny change) * etc/tutorials/TUTORIAL.pt_BR: Fix a typo. (Bug#22165) 2015-12-13 Eli Zaretskii Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25 2015-12-13 Tassilo Horn Improve regex to not trigger stack overflow * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Improve regex in order not to trigger a stack overflow in regex matcher with unbalanced brackets (bug#22146). 2015-12-13 Eli Zaretskii Fix visiting files with raw-text * src/fileio.c (Finsert_file_contents): Fix setting buffer unibyte when some stuff was actually read. (Bug#22162) 2015-12-13 Tassilo Horn Fix regex matching keyval labels * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Fix regexp matching keyval labels. 2015-12-13 Michael Albinus * lisp/ido.el (ido-file-name-all-completions-1): Do not raise an error ... in case of Tramp. (Bug#20821) 2015-12-12 Paul Eggert Fix performance regression with gcc -O0 This fixes the smaller performance hit that I noted in: https://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00357.html * src/alloc.c (macro_XPNTR_OR_SYMBOL_OFFSET, macro_XPNTR): * src/puresize.h (puresize_h_PURE_P) (puresize_h_CHECK_IMPURE): New macros, with the old contents of the functions. * src/alloc.c (XPNTR_OR_SYMBOL_OFFSET, XPNTR): * src/puresize.h (PURE_P, CHECK_IMPURE): Use the new macros. Also macros, if DEFINE_KEY_OPS_AS_MACROS. * src/conf_post.h (ATTRIBUTE_UNUSED): * src/lisp.h (DEFINE_KEY_OPS_AS_MACROS): New macros. 2015-12-12 Artur Malabarba * lisp/emacs-lisp/package.el (package-unpack): Security check Check that we received the package we were offered. 2015-12-12 Artur Malabarba * lisp/emacs-lisp/package.el (package--compile): Don't activate `package-unpack' takes care of all activations now (other than `package-initialize). `package--compile' now only compiles. 2015-12-12 Eli Zaretskii Document the new bindings of and in the minibuffer * doc/emacs/mini.texi (Minibuffer History): Describe the new bindings of and in the minibuffer. 2015-12-12 Eli Zaretskii Document new features of Ido * doc/misc/ido.texi (Misc): Document 'C-S-b'. 2015-12-12 Martin Rudalics Fix frame height calculations with added menu bar on Windows (Bug#22105) * doc/lispref/frames.texi (Parameter Access): Mention pitfalls when simultaneously specifying multiple parameters for `modify-frame-parameters' that all may change the frame's size. * src/w32fns.c (x_set_menu_bar_lines): Don't set windows_or_buffers_changed here. (my_create_tip_window, Fx_show_tip): Call AdjustWindowRect with third argument false. * src/w32menu.c (set_frame_menubar): Set windows_or_buffers_changed here. * src/w32term.c (x_set_window_size): Determine third argument of AdjustWindowRect from whether the frame has a menu bar and not from whether it wants one. 2015-12-12 Eli Zaretskii Document the change in interactive shell mode * doc/emacs/misc.texi (Interactive Shell): Document that the '*shell*' buffer by default displays in a new window. 2015-12-12 Eli Zaretskii Document new features of package.el * doc/emacs/package.texi (Package Menu): Document the 'external' status and the new menu commands. (Package Installation): Document archive priorities. * lisp/emacs-lisp/package.el (package-archive-priorities): Doc fix. (package-menu-hide-low-priority): Doc fix. 2015-12-12 Eli Zaretskii Update and document new features of xterm support * doc/emacs/frames.texi (Text-Only Mouse): Document that track-mouse is supported by newer xterm versions. 2015-12-12 Eli Zaretskii Document new features of Prettify Mode * doc/emacs/programs.texi (Misc for Programs): Document 'prettify-symbols-compose-predicate' and 'prettify-symbols-unprettify-at-point'. * lisp/progmodes/prog-mode.el (prettify-symbols-alist) (prettify-symbols-default-compose-p) (prettify-symbols-compose-predicate) (prettify-symbols--compose-symbol): Doc fixes. 2015-12-12 Eli Zaretskii Document multi-mode indentation facilities * doc/lispref/text.texi (Mode-Specific Indent): Document 'prog-indentation-context', 'prog-first-column', and 'prog-widen'. * lisp/progmodes/prog-mode.el (prog-indentation-context) (prog-widen): Doc fixes. 2015-12-12 Eli Zaretskii Document 'vc-refresh-state' * doc/emacs/maintaining.texi (Version Control): Document 'vc-refresh-state'. * lisp/vc/vc-hooks.el (vc-refresh-state): Doc fix. 2015-12-12 Eli Zaretskii Fix echo for "C-u" * src/keyboard.c (command_loop_1): Undo last change. It caused duplicate echo of C-u. (Bug#22107) 2015-12-11 Eli Zaretskii Avoid errors when creating files under SVN in new directory * lisp/vc/vc-svn.el (vc-svn-registered): Use file-accessible-directory-p, to avoid cd'ing to a non-existing directory, which signals an error on some systems. (Bug#21984) (vc-svn-checkin): Call log-edit-extract-headers with 2 arguments. Use declare-function to avoid byte-compiler warnings. 2015-12-11 Eli Zaretskii Improve Lua support in etags * lib-src/etags.c (Lua_functions): Skip spaces before looking for "function". * etc/NEWS: Mention improved Lua support by 'etags'. * test/etags/lua-src/test.lua (test): Add tests for indented function definitions. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to the modified Lua tests. 2015-12-11 Eli Zaretskii Fix 'this-command-keys' wrt prefix argument * src/keyboard.c (command_loop_1): Restore the feature whereby C-u was part of this-command-keys, but not of this-single-command-keys. (Bug#22107) * lisp/simple.el (internal-echo-keystrokes-prefix): Add commentary about the function's return value. 2015-12-11 Eli Zaretskii * lisp/files.el (load-library): Doc fix. (Bug#22140) 2015-12-11 Eli Zaretskii Improve and document Ruby support in 'etags' * lib-src/etags.c (Ruby_suffixes): Add ".ruby". (Ruby_functions): Support "module" and overloaded operators. (Ruby_help): Mention "module". * test/etags/ruby-src/test.rb: * test/etags/ruby-src/test1.ruby: New files. * test/etags/Makefile (RBSRC): New tests. (SRCS): Add ${RBSRC}. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to the new Ruby tests. * doc/man/etags.1: Mention Ruby support. * etc/NEWS: Mention Ruby support. 2015-12-11 Xi Lu Initial support for Ruby in 'etags' * lib-src/etags.c : New variable. (lang_names): Add an entry for Ruby. (Ruby_functions): New function. (Bug#22116) 2015-12-11 Eli Zaretskii Clarify documentation of 'modify-frame-parameters' * doc/lispref/frames.texi (Parameter Access): Clarify what "ignored PARMs" mean for 'modify-frame-parameters'. * src/frame.c (Fmodify_frame_parameters): Clarify what "ignored PARMs" mean for this function. (Bug#22104) 2015-12-11 Eli Zaretskii Fix setting buffer unibyte when reading from a device * src/fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte to make a (possibly non-empty) buffer unibyte. (Bug#22096) 2015-12-11 Eli Zaretskii Clarify documentation of 'values' * doc/lispref/eval.texi (Eval): Clarify that 'values' are not updated by any evaluation commands in 'lisp-interaction-mode'. (Bug#22056) 2015-12-11 Anders Lindgren Fixed subversion vc error when opening file in new directory (bug#21984). * lisp/vc/vc-svn.el (vc-svn-registered): Check if directory exists. 2015-12-09 Eli Zaretskii Yet another fix for when point ends up in invisible text * src/xdisp.c (redisplay_window): When someone forced window-start, and honoring that failed to show the cursor, try moving out of invisible text, before falling back to the middle of the window. (Bug#22098) 2015-12-09 Michael Albinus Fix error in Tramp perl script for cygwin * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not raise an error if file doesn't exist. 2015-12-09 YAMAMOTO Mitsuharu Remove font workaround for limited outdated versions * src/macfont.m (mac_font_descriptor_get_adjusted_weight): Remove workaround for HiraginoSans-W7 on OS X 10.11 and 10.11.1. 2015-12-09 Anders Lindgren Don't add "." to load path (bug#21104) When configured with --enable-locallisppath=no, which is the default for OS X, the load-path incorrectly was populated with ".". * src/lread.c (init_lread): Don't call `decode_env_path' when PATH_SITELOADSEARCH is empty. 2015-12-08 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-response-buffer): Search for the blank-line in the right buffer. 2015-12-08 Glenn Morris * test/automated/simple-test.el (undo-auto-boundary-timer): Update for recent change. 2015-12-08 Glenn Morris Fix some display-warning usage. * lisp/files.el (hack-local-variables, hack-dir-local-variables): * lisp/calendar/diary-lib.el (diary-include-files, diary-sexp-entry): * lisp/calendar/holidays.el (calendar-holiday-list): * lisp/mail/rmailout.el (rmail-output-read-file-name): Fix display-warning usage. 2015-12-07 Glenn Morris * lisp/calendar/cal-html.el: Require diary-lib. (cal-html-list-diary-entries): Handle no diary. (Bug#21994) 2015-12-07 Thomas Fitzsimmons Add Obsolete-since header to eudcb-ph.el * eudcb-ph.el: Add Obsolete-since header. 2015-12-07 Paul Eggert Spelling fixes * doc/misc/calc.texi (Predefined Units): Use the bland modern scientific style for spelling the units “ampere” and “angstrom” rather than the older style “Ampere” and “Ångstrom”. The latter spelling was wrong anyway (it should have been “Ångström”). * lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Fix misspelling of ‘atom’ in code. 2015-12-07 Eli Zaretskii Improve documentation of kill commands * lisp/simple.el (region-extract-function, delete-backward-char) (delete-forward-char, kill-region, copy-region-as-kill) (kill-ring-save): Better document the optional argument REGION in the doc strings. Mention in the doc strings that text put in the kill-ring can be filtered by 'filter-buffer-substring'. * doc/lispref/text.texi (Kill Functions): Mention that functions described in this subsection can filter text they put in the kill-ring. Add a cross-reference to "Buffer Contents" and an index entry. Document the optional argument 'region' and its effect. (Bug#21315) 2015-12-07 Alan Mackenzie Further progress making Isearch, Ispell, Replace work with Follow Mode. * lisp/follow.el: (follow-mode): Remove references to sit*-for-function, which no longer exists. Add follow-post-command-hook to three special purpose hooks at setup, and remove them at tear down. * lisp/isearch.el: (isearch-update): invoke isearch-update-post-hook before isearch-lazy-highlight-new-loop. (isearch-lazy-highlight-new-loop): Restore this function to what it previously was, merging the functionality of isearch-lazy-highlight-maybe-new-loop into it. (isearch-lazy-highlight-maybe-new-loop): function removed. * lisp/replace.el: (replace-update-post-hook): New hook variable. (perform-replace): Add second (nil) argument to looking-back. Invoke replace-update-post-hook before calling replace-highlight. * lisp/textmodes/ispell.el: (ispell-update-post-hook): New hook variable. (ispell-command-loop): invoke ispell-update-post-hook. Add GROUP argument to call of pos-visible-in-window-p. (ispell-display-buffer): Place *Choices* window at the top of the last window in a window group. 2015-12-07 Alan Mackenzie Amend doc of `mapconcat': it can take sequences, not merely strings. * doc/lispref/functions.texi (Mapping Functions): Amend the doc of `mapconcat' to say that SEPARATOR and the results from FUNCTION may be any character sequences, not just strings. Add an @xref to "Sequences Arrays Vectors". 2015-12-07 Michael Albinus Fix an utf8 problem for Tramp on BSD * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Make lax check for utf8. (tramp-get-remote-locale): Add "en_US.UTF-8" as candidate. 2015-12-06 Thomas Fitzsimmons Make eudcb-ph.el obsolete * doc/misc/eudc.texi: Bump version to 1.40.0. Remove PH/QI sections and mentions. * lisp/obsolete/eudcb-ph.el: Make obsolete. * lisp/net/eudc-vars.el (eudc-known-protocols): Remove ph. (eudc-ph-bbdb-conversion-alist): Make obsolete. * etc/NEWS: Mention this. (Bug#21191) 2015-12-06 Paul Eggert Remove overenthusiastic eassert * src/lisp.h (XSYMBOL): Remove eassert incorrectly added in previous change. It breaks on MS-Windows --with-wide-int. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00275.html 2015-12-06 Paul Eggert Pacify gcc -Wparentheses * src/xdisp.c (row_containing_pos): Reparenthesize. 2015-12-06 Paul Eggert Port mod-test to 32-bit Emacs --without-wide-int * modules/mod-test/test.el (mod-test-sum-test): Bring back the 2**29 tests, but port them to 32-bit Emacs --without-wide-int. 2015-12-06 Michael Albinus Fix minor Tramp problems found on BSD * lisp/net/tramp-sh.el (tramp-perl-file-truename): Do not append trailing slash. Quote apostrophes. (tramp-sh-handle-file-truename): Do not append trailing slash in the "ls" case. (tramp-get-ls-command-with-w-option): New defun. (tramp-do-file-attributes-with-ls) (tramp-do-directory-files-and-attributes-with-stat): Use it. * test/automated/tramp-tests.el (tramp-test31-special-characters-with-perl) (tramp-test31-special-characters-with-ls) (tramp-test32-utf8-with-perl, tramp-test32-utf8-with-ls): Suppress also readlink. 2015-12-06 Eli Zaretskii Fix cursor display when invisible text is at line beginning * src/xdisp.c (redisplay_window): When scrolling fails to show point, prefer using the desired matrix if possible for finding the fallback glyph row for displaying the cursor. (Bug#22098) (row_containing_pos): Exit the loop as soon as we hit the first disabled glyph row. Otherwise we risk accessing garbled data and departing to the no-no land. 2015-12-06 Paul Eggert Improve module interface when WIDE_EMACS_INT * src/emacs-module.c (plain_values): New constant. (module_nil): Now a constant. (Finternal_module_call, value_to_lisp_bits, lisp_to_value_bits) (syms_of_module): Use if, not #ifdef, so that both sides are checked at compile-time, and so that GCC doesn’t complain about an unused var in the typical case. Also, depend on plain_values, not on WIDE_EMACS_INT; the code shouldn’t assume that WIDE_EMACS_INT implies !USE_LSB_TAG. (value_to_lisp_bits, lisp_to_value_bits): New functions. Sign-extend integers rather than zero-extending them, as small negative integers are more likely. (value_to_lisp, lisp_to_value): Rewrite in terms of the new *_bits functions. (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 0 if not already defined. (mark_modules): Remove. All uses removed. (lisp_to_value): Don’t assume Fcons returns a pointer aligned to GCALIGNMENT. (syms_of_module): Check that module_nil converts to Qnil. * src/lisp.h (lisp_h_XSYMBOL, XSYMBOL): Use signed conversion, since we prefer signed to unsigned when either will do. (TAG_PTR): Sign-extend pointers when USE_LSB_TAG, as this is a bit better for emacs-module.c. 2015-12-06 Paul Eggert Port mod-test to x86-64 GNU/Linux running 32-bit * modules/mod-test/test.el (mod-test-sum-test): Don’t attempt to match descriptions to operating systems. It didn’t work on Fedora x86-64 running a 32-bit executable, and it’s not worth the trouble anyway. Port to 32-bit platforms by removing an assumption about fixnum widths. 2015-12-06 Michael Albinus Fix auto-revert-tests.el when filenotify isn't used * test/automated/auto-revert-tests.el (auto-revert--wait-for-revert): Make it working also when filenotify isn't used. 2015-12-05 Juri Linkov * lisp/textmodes/ispell.el (ispell-highlight-spelling-error-overlay): Let-bind isearch-regexp-function to nil. (Bug#22097) 2015-12-05 Artur Malabarba * lisp/emacs-lisp/package.el: Don't install bad signatures (bug#22089) (package--with-response-buffer): NOERROR and ERROR-FORM only handle connection errors. (bad-signature): New error type. (package--check-signature-content): Use it. (package--check-signature): Properly distinguish connection errors from bad-signature errors. Do the check for `package-check-signature' `allow-unsigned' here instead of forcing the callbacks to do it. Add a new argument, UNWIND. (package--download-one-archive, package-install-from-archive): Update usage of `package--check-signature'. 2015-12-05 Ulf Jasper Fix Bug#22092. * lisp/calendar/icalendar.el (icalendar--get-unfolded-buffer): Clean up inconsistent line endings. (Bug#22092) (icalendar--clean-up-line-endings): New. * test/automated/icalendar-tests.el (icalendar-real-world): Add test for Bug#22092. 2015-12-05 Eli Zaretskii Document 'bookmark-set-no-overwrite' * doc/emacs/regs.texi (Bookmarks): Document the new command 'bookmark-set-no-overwrite' and its keybinding. 2015-12-05 Eli Zaretskii Document new binding of 'mouse-buffer-menu' * doc/emacs/buffers.texi (Buffer Menus): 'mouse-buffer-menu' is now also on C-F10. 2015-12-05 Eli Zaretskii Initial documentation of dynamic modules * doc/lispref/loading.texi (Dynamic Modules): New section with initial documentation for dynamic modules. * doc/lispref/elisp.texi (Top): Add "Dynamic Modules" to the detailed menu * etc/NEWS: Fix typos in dynamic modules' entry. 2015-12-05 Artur Malabarba Remove copyright statements from trivial test files 2015-12-05 Eli Zaretskii Add "Preliminaries" section to etc/DEBUG * etc/DEBUG: Add the "Preliminaries" section for GDB beginners. Most of the content was suggested by Phillip Lord . Remove the section about debugging with the Visual Studio, as building Emacs with the Microsoft compilers is no longer supported. Minor fixes in some other sections. 2015-12-05 Alex Dunn (tiny change) Improve parsing of version strings * lisp/subr.el (version-regexp-alist): Allow "." as priority separator (version-to-list): More helpful error messages. (version-to-list): ".5" is valid (update docstring). Make "22.8X3" invalid, as the doc string says. * test/automated/subr-tests.el (ert-test-version-parsing): New tests for version string processing. 2015-12-05 Eli Zaretskii Fix documentation of 'undo' changes * doc/lispref/text.texi (Undo): Minor wording changes. Use US English conventions for spelling and whitespace between sentences. * etc/NEWS: Fix wording and spelling of undo-related entries. Mark them as documented. 2015-12-04 Glenn Morris * lisp/net/net-utils.el: Small improvements. (net-utils--executable-find-sbin): New function. (ifconfig-program): Check sbin directories. Fallback to "ip". (Bug#22091) (ifconfig-program-options): Check the actual program in use. (arp-program): Check sbin directories. 2015-12-04 Arash Esbati (tiny change) Fix wrong-type-argument integer-or-marker-p nil error * lisp/textmodes/reftex-auc.el (reftex-what-index-tag): Fix (wrong-type-argument integer-or-marker-p nil) error (bug#22077). 2015-12-04 Alan Mackenzie Merge branch 'scratch/follow' of /home/acm/emacs/emacs.git/emacs-25 into scratch/follow Merge necessitated by a rebase operation. 2015-12-04 Alan Mackenzie lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall. 2015-12-04 Alan Mackenzie First commit to scratch/follow. Make Isearch work with Follow Mode, etc. doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of Windows" and new @defun selected-window-group. (Window Start and End): Describe new &optional parameter GROUP and ...-group-function for window-start, window-end, set-window-start, and pos-visible-in-window-p. (Textual Scrolling) Describe the same for recenter. doc/lispref/positions.texi (Screen Lines): Describe the same for move-to-window-line. src/window.c (Fwindow_start, Fwindow_end, Fset_window_start) (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar new optional parameter "group". At the beginning of each, check whether the corresponding ...-group-function is set to a function, and if so execute this function in place of the normal processing. (syms_of_window): Define symbols for the six new variables below. (window-start-group-function, window-end-group-function) (set-window-start-group-function, recenter-group-function) (pos-visible-in-window-p-group-function, move-to-window-line-group-function): New permanent local buffer local variables. src/keyboard.c (Fposn_at_point): Add extra parameter in call to Fpos_visible_in_window_p. lisp/window.el (selected-window-group-function): New permanent local buffer local variable. (selected-window-group): New function. lisp/follow.el (follow-mode): Set the ...-group-function variables at mode enable, kill them at mode disable. Add/remove follow-after-change to/from after-change-functions. (follow-start-end-invalid): New variable. (follow-redisplay): Manipulate follow-start-end-invalid. (follow-after-change, follow-window-start, follow-window-end) (follow-set-window-start, follow-pos-visible-in-window-p) (follow-move-to-window-line, follow-sit-for): New functions. lisp/isearch.el (isearch-call-message): New macro. (isearch-update, with-isearch-suspended, isearch-del-char) (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro. (with-isearch-suspended): Rearrange code such that isearch-call-message is invoked before point is moved. (isearch-message): Add comment about where point must be at function call. (isearch-search): Remove call to isearch-message. (isearch-lazy-highlight-window-group): New variable. (isearch-lazy-highlight-new-loop): Unconditionally start idle timer. Move the battery of tests to ... (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer. Note: (sit-for 0) is still called. (isearch-lazy-highlight-update): Check membership of isearch-lazy-highlight-window-group. Don't set the `window' overlay property. (isearch-update, isearch-done, isearch-string-out-of-window) (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop) (isearch-lazy-highlight-search, isearch-lazy-highlight-update) (isearch-lazy-highlight-update): Call the six amended primitives (see src/window.c above) with the new `group' argument set to t, to cooperate with Follow Mode. 2015-12-04 Stefan Monnier * lisp/emacs-lisp/ert.el: Prefer pcase over cl-typecase * lisp/emacs-lisp/ert.el (ert--should-error-handle-error) (ert--explain-format-atom, ert--explain-equal-rec) (ert--print-backtrace, ert-test-result-type-p, ert-select-tests) (ert--insert-human-readable-selector): Prefer pcase over cl-typecase. 2015-12-04 Artur Malabarba * lisp/character-fold.el: Remove special case-folding support (character-fold-to-regexp): Remove special code for case-folding. Char-fold search still respects the `case-fold-search' variable (i.e., f matches F). This only removes the code that was added to ensure that f also matched all chars that F matched. For instance, after this commit, f no longer matches 𝔽. This was necessary because the logic created a regexp with 2^(length of the string) redundant paths. So, when a very long string "almost" matched, Emacs took a very long time to figure out that it didn't. This became particularly relevant because isearch's lazy-highlight does a search bounded by (1- match-end) (which, in most circumstances, is a search that almost matches). A recipe for this can be found in bug#22090. 2015-12-04 Stefan Monnier * lisp/emacs-lisp/cl-macs.el (character): Can't be negative Fixes (bug#21701) 2015-12-04 Daiki Ueno lisp/gnus/qp.el: Don't replace "from " at bol * lisp/gnus/qp.el (quoted-printable-encode-region): Bind `case-fold-search' to nil when looking for "^From ". Problem reported by Simon Josefsson. 2015-12-03 Phillip Lord Externalize some symbols in undo-auto * doc/lispref/text.texi: Update symbols. * lisp/simple.el (undo-auto--amalgamate, undo-auto--current-boundary-timer): Make symbols public. * src/cmds.c (Fself_insert_command,Fdelete_char): Call updated symbol. 2015-12-03 Stefan Monnier * lisp/emacs-lisp/smie.el (smie-next-sexp): Fix BOB "token" 2015-12-03 Michael Albinus Some error message improvements in tramp-sh.el * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Suppress error messages for "mesg" and "biff" calls. (tramp-get-remote-path): Ignore errors when expanding `tramp-own-remote-path'. Raise a warning instead. 2015-12-03 Eli Zaretskii Document 'nacl' value for 'system-type' * doc/lispref/os.texi (System Environment): Document the 'nacl' value of 'system-type'. 2015-12-03 Eli Zaretskii Document 'window-max-chars-per-line' * doc/lispref/windows.texi (Window Sizes): Document 'window-max-chars-per-line'. 2015-12-03 Artur Malabarba Fix some file headers for the purpose of `package--builtins' * lisp/emacs-lisp/cl-preloaded.el * lisp/emacs-lisp/eieio-compat.el * lisp/net/sasl-scram-rfc.el: Add a "Package:" header * lisp/ielm.el: Fix summary line. 2015-12-03 Artur Malabarba * lisp/emacs-lisp/package.el (package-unpack): Load before compiling Reload any previously loaded package files before compiling the package (also reload the same files after compiling). This ensures that we have the most recent definitions during compilation, and avoids generating bad elc files when a macro changes and it is used in a different file from the one it's defined in. 2015-12-03 Artur Malabarba * lisp/emacs-lisp/package.el: Refactor package activation code (package-activate): Move code that activates dependencies into package-activate-1. (package--load-files-for-activation): New function. (package-activate-1): Add code for (optionally) activating dependencies, and move file-loading code into `package--load-files-for-activation'. 2015-12-03 Eli Zaretskii Document new font-related functionality * doc/lispref/display.texi (Low-Level Font): Document 'default-font-width', 'default-font-height', 'window-font-width', and 'window-font-height'. * etc/NEWS: Move entries for 'default-font-width', 'default-font-height', 'window-font-width', and 'window-font-height' to their place and mark them documented. 2015-12-03 Eli Zaretskii Fix documentation and implementation of 'directory-name-p' * lisp/files.el (directory-name-p): Modify to recognize backslashes on MS-Windows and MS-DOS. Adjust the doc string accordingly. Use '=', not char-equal, for comparison, as letter-case cannot possibly be an issue here. * doc/lispref/files.texi (Directory Names): Move the documentation of directory-name-p here from "Relative File Names". Update the description per the changes in implementation. * etc/NEWS: Move the entry for 'directory-name-p' to its proper place and mark it documented. 2015-12-02 Eli Zaretskii Minor copyedit in Emacs manual * doc/emacs/search.texi (Lax Search): Make wording about character folding by default less definitive. (Bug#22043) 2015-12-02 Eli Zaretskii More emacs-module.c fixes for wide ints * src/emacs-module.c (value_to_lisp) [WIDE_EMACS_INT]: Use unsigned data types to manipulate pointers, to avoid sign extension coming after us with a vengeance. * modules/mod-test/test.el (mod-test-sum-test): Add tests for Emacs with wide ints that verify integer values near the critical value that requires us to switch to a cons cell. 2015-12-02 Stephen Leake Fix bug#22069 in cl-generic.el * lisp/emacs-lisp/cl-generic.el (cl-no-method): Remove %S; this string is not run thru `format'. 2015-12-01 Dmitry Gutov APPEND etags--xref-backend to xref-backend-functions * lisp/progmodes/xref.el (xref-backend-functions): Use APPEND when adding the default element (http://lists.gnu.org/archive/html/emacs-devel/2015-12/msg00061.html). 2015-12-01 Eli Zaretskii More accurate documentation of lax whitespace matching * lisp/isearch.el (isearch-forward-word, isearch-forward-symbol) (word-search-backward, word-search-forward) (word-search-backward-lax, word-search-forward-lax): Mention in doc strings that toggling lax whitespace matching has no effect on these commands. * doc/emacs/search.texi (Word Search, Symbol Search): Clarify that lax whitespace matching has no effect on these commands. 2015-12-01 Eli Zaretskii Fix emacs-module.c for wide ints * src/emacs-module.c (lisp_to_value): Compare the produced value with the original Lisp object, not with the one potentially converted into a Lisp_Cons. Fixes assertion violations when working with integers larger than fit into a 32-bit value. * modules/mod-test/test.el (mod-test-sum-test): Add tests for large integers, to test --with-wide-int. 2015-12-01 Eli Zaretskii Document 'directory-files-recursively' * lisp/files.el (directory-files-recursively): Doc fix. Rename the argument MATCH to REGEXP, to be more explicit about its form. * doc/lispref/files.texi (Contents of Directories): Improve the documentation of 'directory-files-recursively'. Add cross-references. * etc/NEWS: Move the entry for 'directory-files-recursively' to its place and mark it documented. 2015-12-01 Eli Zaretskii Document 'inhibit-read-only' property * doc/lispref/text.texi (Special Properties): Describe the new 'inhibit-read-only' text property. Add cross-reference to where read-only buffers are described. * doc/lispref/buffers.texi (Read Only Buffers): Mention that 'inhibit-read-only' property exempts text from being read-only. Add cross-reference to "Special Properties". * etc/NEWS: Move the entry about 'inhibit-read-only' property to its place and mark it documented. 2015-12-01 Artur Malabarba * lisp/emacs-lisp/package.el: Update header comments 2015-12-01 Artur Malabarba * lisp/character-fold.el: Add back multi-char matching (character-fold-to-regexp): Uncomment recently commented code and make the algorithm "dummer" by not checking every possible combination. This will miss some possible matches, but it greatly reduces regexp size. * test/automated/character-fold-tests.el (character-fold--test-fold-to-regexp): Comment out test of functionality no longer supported. 2015-12-01 Xue Fuqiao * doc/emacs/ack.texi (Acknowledgments): Update. 2015-12-01 Michael Albinus Check `file-remote-p' over absolute files names in files.el * lisp/files.el (directory-files-recursively) (get-free-disk-space): Check `file-remote-p' over absolute files names. 2015-12-01 Andreas Schwab * src/lread.c (syms_of_lread): Doc fix. 2015-11-30 Dmitry Gutov Don't mistake certain JS method calls for keywords * lisp/progmodes/js.el (js--ctrl-statement-indentation): Braceless keyword can't come after a period (bug#22063). 2015-11-30 David Reitter Read frame_title_format from buffer-local variable for NS port * src/nsfns.m (x_implicitly_set_name): Read frame-title-format and icon-title-format variables from buffer in appropriate window. (Bug#22048) 2015-11-30 Juri Linkov * lisp/replace.el (occur-engine): Count matches in empty lines. (Bug#22062) 2015-11-30 Aurélien Aptel * src/emacs-module.h: Fix finalizer typedef for C++11 C++11 standard doesn't allow exception-specification in typedef. The workaround is to declare a dummy function prototype and use decltype on it. 2015-11-30 Eli Zaretskii Fix last change * src/emacs-module.c (lisp_to_value, value_to_lisp) [WIDE_EMACS_INT]: Avoid compiler warnings. 2015-11-30 Stefan Monnier Rely on conservative stack scanning to find "emacs_value"s * src/emacs-module.c (struct emacs_value_tag) (struct emacs_value_frame, struct emacs_value_storage): Remove. (value_frame_size): Remove constant. (struct emacs_env_private): Use Lisp_Object for non_local_exit info. (lisp_to_value): Remove first arg. (module_nil): New constant. Use it instead of NULL when returning an emacs_value. (module_make_function): Adjust to new calling convention of Qinternal_module_call. (DEFUN): Receive args in an array rather than a list. Use SAFE_ALLOCA rather than xnmalloc. Skip the lisp_to_value loop when we don't have WIDE_EMACS_INT. Adjust to new type of non_local_exit info. (module_non_local_exit_signal_1, module_non_local_exit_throw_1): Adjust to new type of non_local_exit info. (ltv_mark) [WIDE_EMACS_INT]: New constant. (value_to_lisp, lisp_to_value): Rewrite. (initialize_frame, initialize_storage, finalize_storage): Remove functions. (allocate_emacs_value): Remove function. (mark_modules): Gut it. (initialize_environment): Don't initialize storage any more. Keep the actual env object on Vmodule_environments. (finalize_environment): Don't finalize storage any more. (syms_of_module): Initialize ltv_mark and module_nil. * src/emacs-module.h (emacs_value): Make it more clear that this type is really opaque, including the fact that NULL may not be valid. * modules/mod-test/mod-test.c (Fmod_test_signal, Fmod_test_throw): Don't assume that NULL is a valid emacs_value. 2015-11-30 Eli Zaretskii Yet another doc improvement for search commands * doc/emacs/search.texi (Word Search, Symbol Search) (Regexp Search): Document commands that don't support lax whitespace matching or character folding. (Nonincremental Search): Mention the search commands that can be invoked from the menu bar. * lisp/isearch.el (isearch-define-mode-toggle-word) (isearch-define-mode-toggle-symbol) (isearch-define-mode-toggle-character-fold): Note in the doc string that turning these on exits the regexp mode. (isearch-forward-regexp, isearch-forward-word) (isearch-forward-symbol, isearch-backward-regexp) (word-search-backward, word-search-forward) (word-search-backward-lax, word-search-forward-lax): State in the doc string which commands don't support character folding and/or lax-whitespace matching. 2015-11-30 Martin Rudalics Run `window-size-change-functions' also when reading from minibuffer * src/xdisp.c (redisplay_internal): Run `window-size-change-functions' also when reading from minibuffer. 2015-11-30 Ulf Jasper Fix scrambling of html-rendered item buffers * lisp/net/newst-treeview.el (newsticker--treeview-render-text): Fix scrambling of contents by wrapping call to html-renderer in save-selected-window. 2015-11-30 Paul Eggert Fix font typo in previous doc fix. 2015-11-30 Paul Eggert A bit more security doc, esp. file local vars * doc/emacs/emacs.texi (Top): * doc/emacs/misc.texi (Miscellaneous Commands): Refer to new Host Security section. (Host Security): New section. * doc/lispref/os.texi (Security Considerations): Mention file local variables. 2015-11-30 Artur Malabarba * lisp/character-fold.el: Comment out branching code (character-fold-to-regexp): Comment out code that uses multi-char table. The branching caused by this induces absurdly long regexps, up to 10k chars for as little as 25 input characters. 2015-11-30 Paul Eggert Spelling and grammar fixes 2015-11-29 Dmitry Gutov Make lisp-completion-at-point a wrapper instead of an alias * lisp/progmodes/elisp-mode.el (lisp-completion-at-point): Turn into an obsolete wrapper around elisp-completion-at-point (bug#20455). 2015-11-29 Artur Malabarba * lisp/isearch.el (isearch-search-fun-default): Nicer error message when the search fails. 2015-11-29 Dmitry Gutov Update menu-bar-goto-uses-etags-p for the current xref API * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Consult xref-backend-functions, instead of now-nonexistent xref-find-function. 2015-11-29 Artur Malabarba * lisp/isearch.el (isearch-define-mode-toggle): Advertise binding 2015-11-29 Artur Malabarba * lisp/menu-bar.el: Use folding in searches (nonincremental-search-forward): Use `isearch-search-fun-default' to determine the search function. (nonincremental-search-backward) (nonincremental-repeat-search-forward) (nonincremental-repeat-search-backward): Use it. 2015-11-29 Artur Malabarba * lisp/menu-bar.el (menu-bar-goto-uses-etags-p): Fix a warning 2015-11-29 Artur Malabarba * lisp/character-fold.el (character-fold-to-regexp): Be careful not to return huge regexps. 2015-11-29 Eli Zaretskii Improve documentation of string-collate-* functions * doc/lispref/strings.texi (Text Comparison): Improve wording and indexing of 'string-collate-equalp' and 'string-collate-lessp'. * etc/NEWS: Move the entry of 'string-collate-equalp' and 'string-collate-lessp' to "Lisp Changes" section and mark it as documented. 2015-11-29 Eli Zaretskii Document truncate-string-ellipsis * doc/lispref/display.texi (Size of Displayed Text): Document 'truncate-string-ellipsis'. * lisp/international/mule-util.el (truncate-string-ellipsis): Doc fix. (truncate-string-to-width): Mention in the doc string that the default for ELLIPSIS comes from 'truncate-string-ellipsis'. * etc/NEWS: Move the 'truncate-string-ellipsis' entry to the "Lisp Changes" section. 2015-11-29 Eli Zaretskii Fix confusion wrt character folding in the Emacs manual * doc/emacs/search.texi (Nonincremental Search, Regexp Search): Document that invoking search-forward/backward and re-search-forward/backward supports only case folding, but not the rest of the lax-search features. Reported by Mike Kupfer . 2015-11-29 Ken Brown Update mod-test-sum-test * modules/mod-test/test.el (mod-test-sum-test): Update to accommodate the lack of dladdr on Cygwin. 2015-11-29 Alan Mackenzie Byte compiler: Catch missing argument to `funcall'. Fixes bug#22051. * lisp/emacs-lisp/bytecomp.el (byte-compile-funcall): When there's no argument to `funcall', (i) Output an error message; (ii) Generate code to signal a `wrong-number-of-arguments' error. 2015-11-29 Martin Rudalics * lisp/window.el (split-window): Don't sanitize sizes when SIZE is non-nil. 2015-11-28 Artur Malabarba * lisp/character-fold.el (character-fold-to-regexp) Warn about using long strings. * test/automated/character-fold-tests.el (character-fold--test-lax-whitespace) (character-fold--test-consistency): Reduce string size for tests. 2015-11-28 Eli Zaretskii Document renaming of x-select-enable-* variables * doc/emacs/killing.texi (Clipboard): Rename x-select-enable-clipboard to select-enable-clipboard and x-select-enable-primary to select-enable-primary. Update index entries. * etc/NEWS: Mark entry as documented. 2015-11-28 Eli Zaretskii Document the shorthand hints displayed by M-x * doc/emacs/m-x.texi (M-x): Document the numeric meaning of suggest-key-bindings. Document the shorthand hints for commands that have no key bindings. Document that M-x completion ignores obsolete commands. * etc/NEWS: Move the M-x entry to "Editing Changes" and mark it as documented. 2015-11-28 Eli Zaretskii Update docs of character folding * doc/emacs/search.texi (Lax Search): Update the description of character folding for the latest changes. 2015-11-28 Artur Malabarba * lisp/character-fold.el: Also play nice with case-folding (character-fold-to-regexp): Take `case-fold-search' into account. 2015-11-28 Artur Malabarba * lisp/character-fold.el: Add support for multi-char matches (character-fold-table): Now has an extra-slot. This is a second char-table that holds multi-character matches. See docstring for details. (character-fold-to-regexp): Can build branching regexps when a character's entry the extra slot of `character-fold-table' matches the characters that succeed it. 2015-11-28 Artur Malabarba * lisp/character-fold.el: Code simplifications (character-fold-table): Reduce the scope of a variable. (character-fold-to-regexp): Change logic to work directly on the input string. It's a little easier to understand, probably faster, and sets us up for implementing multi-char matches. * test/automated/character-fold-tests.el (character-fold--test-fold-to-regexp): New test. 2015-11-28 Eli Zaretskii Document changes in "C-h l" * doc/emacs/help.texi (Misc Help): Document the changes in "C-h l". * etc/NEWS: mark "C-h l" changes as documented. 2015-11-28 Eli Zaretskii Finalize documentation of 'custom-prompt-customize-unsaved-options' * doc/emacs/custom.texi (Saving Customizations): Index the new function 'custom-prompt-customize-unsaved-options'. * etc/NEWS: Mention when 'custom-prompt-customize-unsaved-options' is useful. 2015-11-28 Eli Zaretskii Document 'comment-line' * doc/emacs/programs.texi (Comment Commands): Document 'comment-line'. * etc/NEWS: Move the entry for 'comment-line' into "Editing Changes". 2015-11-28 Eli Zaretskii Document new checkdoc features * doc/lispref/tips.texi (Tips, Library Headers): Document the keyword-checking features of checkdoc and the commands 'checkdoc-file' and 'checkdoc-current-buffer'. * etc/NEWS: Move the checkdoc-related entries to their own section. 2015-11-28 Philipp Stephani Simplify the prologue of emacs-module.c functions * src/emacs-module.c (MODULE_FUNCTION_BEGIN): New macro. (module_make_global_ref) (module_free_global_ref, module_make_function, module_funcall) (module_intern, module_type_of, module_extract_integer) (module_make_integer, module_extract_float, module_make_float) (module_copy_string_contents, module_make_string) (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr) (module_get_user_finalizer, module_set_user_finalizer) (module_vec_set, module_vec_get, module_vec_size): Use new helper macro MODULE_FUNCTION_BEGIN. 2015-11-28 Eli Zaretskii Don't reject module calls with no arguments * src/emacs-module.c (Finternal_module_call): Allow ARGLIST be nil. 2015-11-28 Philipp Stephani Make module-call be visible from Lisp * src/emacs-module.c (module_make_function): Use internal--module-call. (Finternal_module_call): Renamed from Fmodule_call. Add safety checks. (syms_of_module): DEFSYM save-value-p and save-pointer-p. Do defsubr internal--module-call. 2015-11-28 Eli Zaretskii Add etags tests for the recent Lua-related bugfix * test/etags/lua-src/test.lua: New file, tests the issues raised by bug#21934. * test/etags/Makefile (LUASRC): Add test.lua. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/ETAGS.good_6: * test/etags/CTAGS.good: Adapt to the new Lua test. Also, an old regression fix, resolved around 25 May 2015, required changes to the "good" ETAGS files. 2015-11-28 Eli Zaretskii Fix Lua tags when a function name includes '.' or ':' * lib-src/etags.c (Lua_functions): Add a tag for the last element of a function name after a dot or a colon. (Bug#21934) 2015-11-28 Eli Zaretskii Improve documentation of search and replace commands * doc/emacs/search.texi (Replacement and Lax Matches): Document which commands are affected by 'replace-character-fold'. (Lax Search): Add a cross reference to "Replacement and Lax Matches". Improve wording. Fix lost extra whitespace. (Search Customizations): Improve wording. (Bug#22036) See also comments in http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02376.html. * lisp/replace.el (query-replace, query-replace-regexp) (query-replace-regexp-eval, replace-string, replace-regexp): Mention 'replace-character-fold' in the doc strings. 2015-11-28 Paul Eggert Fix minor problems found by static checking * src/undo.c (prepare_record): Add proper prototype for C. 2015-11-27 Stefan Monnier * src/emacs-module.c (struct env_storage): Delete (struct emacs_runtime_private): Keep an emacs_env instead. (Fmodule_load, Fmodule_call): Declare emacs_env_private separately. (initialize_environment): Split the arg in two. Adjust all callers. Only store the private part in Vmodule_environments. (finalize_environment): Change the arg to only be the private env. Adjust all callers. 2015-11-27 Eli Zaretskii Improve documentation of 'replace-character-fold' * lisp/replace.el (replace-character-fold): Clarify which commands are affected by this variable. 2015-11-27 Dmitry Gutov Autoload etags when using its xref backend * lisp/progmodes/xref.el (xref--etags-backend): Rename to etags--xref-backend. Move to etags.el. Autoload. (Bug#22026) 2015-11-27 Artur Malabarba * lisp/character-fold.el: Allow complex chars to match their decomposition (character-fold-table): When a character's decomposition does not involve a formatting tag (i.e., if it has an "exact" description via other characters), then this character is allowed to match the decomposition. 2015-11-27 Artur Malabarba * lisp/character-fold.el: More descriptive variable names (character-fold-table): Rename a lot of the lexical variables to make the code easier to read. 2015-11-27 Artur Malabarba * lisp/isearch.el: Ensure we still support `isearch-new-word' (isearch-new-regexp-function): Define variable. (isearch-new-word): Define as an obsolete alias. (Bug#22018) 2015-11-27 Eli Zaretskii Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25 2015-11-27 Lee Bochicchio * test/lisp/abbrev-tests.el: Define more tests (abbrev-table-name-test, kill-all-abbrevs-test) (clear-abbrev-table-test): New tests. 2015-11-27 Eli Zaretskii Add module tests for wrong-type-argument * modules/mod-test/test.el (mod-test-sum-test): Add tests for wrong-type-argument. 2015-11-27 Eli Zaretskii Improve handling of signals and 'throw' in modules * src/emacs-module.c: Add commentary explaining how to write functions in this file. (module_make_global_ref, module_free_global_ref) (module_non_local_exit_signal, module_non_local_exit_throw) (module_make_function, module_funcall, module_intern) (module_type_of, module_is_not_nil, module_eq) (module_extract_integer, module_make_integer) (module_extract_float, module_make_float) (module_copy_string_contents, module_make_string) (module_make_user_ptr, module_get_user_ptr, module_set_user_ptr) (module_get_user_finalizer, module_set_user_finalizer) (module_vec_set, module_vec_get, module_vec_size) (module_non_local_exit_signal_1, module_non_local_exit_throw_1): Do nothing and return with failure indication immediately, if some previous module call signaled an error or wants to throw. See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02133.html for the relevant discussions. 2015-11-27 Eli Zaretskii Add ':version' tag to 'checkdoc-package-keywords-flag' * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): Add a ':version' tag. 2015-11-27 Eli Zaretskii Improve documentation of 'eval-buffer' and 'eval-region' * src/lread.c (Feval_buffer, Feval_region): Doc fixes. (Bug#22023) * doc/lispref/eval.texi (Eval): Mention narrowing to clarify "accessible portion of buffer". 2015-11-27 Eli Zaretskii Unbreak the Cygwin w32 build * src/emacs.c (main): Call w32_init_main_thread in the Cygwin w32 build as well. Reported by Andy Moreton . 2015-11-27 Eli Zaretskii Improve commentary in character-fold.el * lisp/character-fold.el (character-fold-to-regexp): Move detailed description from commit log message to comments. (Bug#22019) 2015-11-26 Alan Mackenzie Byte Compiler: generate code to adjust stack count after call to `signal'. Corrects change from earlier today. * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): supply the current value of `byte-compile--for-effect' as argument to `byte-compile-form'. 2015-11-26 Eli Zaretskii Improve commentary of prepare_to_modify_buffer_1 * src/insdel.c (prepare_to_modify_buffer_1): Mention in commentary that this function runs Lisp. Suggested by Richard Stallman . 2015-11-26 Phillip Lord Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25 2015-11-26 Phillip Lord Fix regression after merge. * src/undo.c (prepare_record): Remove call to run_undoable_change. 2015-11-26 Phillip Lord After delete, record point location in undo. Addresses Bug #21968. * lisp/simple.el (undo-auto--add-boundary): Clean up code to better support intercalating calls. * src/keyboard.c, src/keyboard.h (command_loop_1): Store value of point and current buffer before each command. * src/undo.c (record_point): Now only record the point. * src/undo.c (prepare_record): Functionality removed form record_point. * src/undo.c (record_delete): Check if point needs recording. * src/undo.c (undo-boundary): Record value of point before each boundary. * test/automated/simple-test.el: New tests. Conflicts: src/undo.c 2015-11-26 Eli Zaretskii Fix compiler warnings in w32.c * src/w32.c (sys_socket): In case of error, use -1 as return value, not INVALID_SOCKET, which causes compiler warnings. (maybe_load_unicows_dll): Cast the return value of GetProcAddress to the appropriate function signature, to avoid compiler errors. Reported by Andy Moreton . (Bug#21953) 2015-11-26 Dmitry Gutov Check if the file exists on disk before producing the revert diff * lisp/vc/vc-dispatcher.el (vc-buffer-sync): Check if the file exists on disk (bug#20558). 2015-11-26 Alan Mackenzie Byte compiler: on setq with an odd number of arguments, generate a `signal' * lisp/emacs-lisp/cconv.el (cconv-convert): Don't transform `setq' form when it has an odd number of arguments, to allow bytecomp to handle the error. * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): In a `setq' form with an odd number of arguments, generate a `signal' instead of the normal code. 2015-11-25 Dmitry Gutov Use find-tag-default for xref-backend-identifier-at-point * lisp/progmodes/etags.el (find-tag-tag) (tags-completion-at-point-function): Extract common code as find-tag--default. (xref-backend-identifier-at-point): Define in terms of the new function. 2015-11-25 Paul Eggert * src/undo.c (record_property_change): Remove now-unused local. 2015-11-25 Phillip Lord run_undoable_changes now called from insdel. The original calls from inside undo.c are not always at a safe position to call lisp, as they originate in varied positions within insdel.c. Calling them directly from prepare_to_modify_buffer_1 ensures that they are always run at the same point. * src/undo.c (run_undoable_changes,syms_of_undo): Remove function and symbol used. * src/insdel.c (run_undoable_changes): Add function and symbol. 2015-11-25 Eli Zaretskii Improve and update documentation of search commands * doc/emacs/search.texi (Lax Search): Renamed from "Search Case"; all references changed. Move the description of lax-whitespace here. Add description of the new character folding features and additional customizable options. (Isearch Yank): Move before "Error in Search". (Basic Isearch): Improve wording. Add index entries. Add short description of how to abandon search, making this subsection a complete introduction to search basics. (Repeat Isearch): Add index entries. Describe additional customizable options. Describe mouse clicks. (Isearch Yank): Add index entries. Describe mouse-2 click in echo area. Describe more customizable options. (Error in Isearch): Add index entries. (Special Isearch): Move actual description of some isearch commands to other sections, leaving here just the summary of the commands. Add command that toggles character folding. Describe commands, like "C-h C-h", that were previously omitted for some reason. (Not Exiting Isearch): Describe search-exit-option. Add index entries. (Word Search): Describe eww-search-word and eww-search-prefix. (Symbol Search): Add index entries. (Regexp Search): Describe regexp-search-ring-max. (Replacement and Lax Matches): Renamed from "Replacement and Case"; all references changed. Describe lax-whitespace matching in replace commands and related options. Describe character folding in replace commands and related options. (Query Replace): Describe query-replace-from-to-separator and the new history features. Add index entries for highlighted text. Describe query-replace-skip-read-only. Describe more keys accepted by query-replace. (Other Repeating Search): More index entries for Occur. Describe list-matching-lines-default-context-lines. (Search Customizations): New section, documents customizable options that were not documented until now. * doc/emacs/glossary.texi (Glossary): Add "Case Folding" and "Character Folding". * etc/NEWS: Move search- and replace-related entries to a single parent section. * lisp/replace.el (query-replace-show-replacement): Doc fix. * lisp/isearch.el (search-nonincremental-instead) (isearch-hide-immediately): Doc fixes. 2015-11-25 Katsumi Yamaoka Remove nnml-retrieve-groups that is unnecessary and somewhat problematic * lisp/gnus/nnml.el (nnml-retrieve-groups): Remove. See: and 2015-11-25 Paul Eggert Fix module_format_fun_env when dynlib_addr fails * src/emacs-module.c (module_format_fun_env): exprintf doesn’t support %p, so use %x. Reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02122.html 2015-11-25 Paul Eggert Disambiguate variable help a bit better * lisp/help-fns.el (describe-variable): Quote the variable’s value if it is a symbol other than t or nil. See: T.V Raman in: http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg02147.html 2015-11-24 Dmitry Gutov Pass SVN commit message through log-edit-extract-headers * lisp/vc/vc-svn.el (vc-svn-checkin): Pass COMMENT through log-edit-extract-headers (bug#18954). 2015-11-24 Alan Mackenzie CC Mode: Eliminate compiler warning messages. * lisp/progmodes/cc-mode.el (top level): remove compile time declaration of `font-lock-syntactic-keywords' (which CC Mode doesn't use). * lisp/progmodes/cc-awk.el (awk-mode-syntax-table) (c-awk-set-syntax-table-properties): Clarify comments about `font-lock-syntactic-keywords'. * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-load): Create a dummy declaration of this before the real (interpreted) one, to satisfy the byte compiler. 2015-11-24 Simen Heggestøyl Extend the test suite for json.el * lisp/json.el (json-plist-p): Clarify docstring. * test/automated/json-tests.el (json-tests--with-temp-buffer): New macro. (test-json-join, test-json-alist-p) (test-json-plist-p, test-json-advance, test-json-peek) (test-json-pop, test-json-skip-whitespace) (test-json-read-keyword, test-json-encode-keyword) (test-json-read-number, test-json-encode-number) (test-json-read-escaped-char, test-json-read-string) (test-json-encode-string, test-json-encode-key) (test-json-new-object, test-json-add-to-object) (test-json-read-object, test-json-encode-list) (test-json-read-array, test-json-encode-array) (test-json-read, test-json-read-from-string) (test-json-encode): New tests. (json-read-simple-alist): Merged into `test-json-read-object'. (json-encode-string-with-special-chars): Merged into `test-json-encode-string'. (json-read-string-with-special-chars): Split into `test-json-encode-string' and `test-json-read-from-string'. 2015-11-24 Anders Lindgren Fixed bug#18283: Enable applescript in NextStep. * nextstep/templates/Info.plist.in: Set NSAppleScriptEnabled to YES. 2015-11-24 Eli Zaretskii Allow completion on dynamic module files in load-library * lisp/files.el (load-library): Bind completion-ignored-extensions to nil, to allow completion on dynamic modules typed as file names. Reported by Andy Moreton . 2015-11-24 Alan Mackenzie CC Mode: eliminate almost all byte compilation warnings * lisp/progmodes/cc-bytecomp.el (cc-bytecomp-noruntime-functions): Remove. (cc-require): Remove the crude hack that saved and restored byte-compile-noruntime-functions. (cc-conditional-require, cc-conditional-require-after-load): New macros. * lisp/progmodes/cc-defs.el (top level): Reformulate code which loaded cc-fix.el using the new macros in cc-bytecomp.el. * lisp/progmodes/cc-langs.el (c++-template-syntax-table) (c-no-parens-syntax-table): Add extra "(eval ..)"s around "'(lambda ..)" forms to remove the superflous quotes. 2015-11-24 Eli Zaretskii Add one more mod-test test * modules/mod-test/test.el (mod-test-sum-test): Test the error signaled when the function is invoked with a wrong number of arguments. 2015-11-24 Philipp Stephani * modules/mod-test/mod-test.c (Fmod_test_sum): Verify there are 2 args. 2015-11-24 Eli Zaretskii Implement dynlib_addr for MS-Windows * src/dynlib.c [WINDOWSNT]: Include w32common.h. [WINDOWSNT]: New static variable. (GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS) (GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT) [WINDOWSNT]: Define if undefined. (dynlib_reset_last_error): Reset g_b_init_get_module_handle_ex to zero. (dynlib_addr) [WINDOWSNT]: Non-trivial implementation to report the full file name of the module for a given address. 2015-11-24 Alan Mackenzie Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25 2015-11-24 Alan Mackenzie Squashed commit of the following: commit e1ecf76585bef2eb87995f7a7f92cc12003a6f70 Author: Alan Mackenzie Date: Tue Nov 24 16:50:09 2015 +0000 Byte compile: minor amendments. * lisp/emacs-lisp/bytecomp.el (byte-compile-initial-macro-environment): add a comment to explain the binding of variables around a subsidiary compilation. (byte-compile-new-defuns): Amend the doc string. commit c537bfed1dda1593d218956ff00c6105a3ff0316 Author: Alan Mackenzie Date: Sat Nov 21 18:43:57 2015 +0000 Byte compiler: fix spurious warnings "might not be defined at runtime". Also initialize byte-compile-noruntime-functions between runs. * lisp/emacs-lisp/bytecomp.el (byte-compile-new-defuns): New variable. (byte-compile-initial-macro-environment): For eval-when-compile: bind byte-compile-unresolved-functions and byte-compile-new-defuns around byte-compile-top-level, to prevent spurious entries being made. (byte-compile-warn-about-unresolved-functions): Check whether function is in byte-compile-new-defuns before emitting a warning about it. (byte-compile-from-buffer): Initialize new variable and byte-compile-noruntime-functions to nil. (byte-compile-file-form-require): record all new functions defined by a `require' in byte-compile-new-defuns. (byte-compile-file-form-defmumble): record the new alias in byte-compile-new-defuns. 2015-11-24 Eli Zaretskii Fix crash at startup related to GC of font entities * src/font.h (GC_FONT_SPEC_P, GC_FONT_ENTITY_P) (GC_FONT_OBJECT_P, GC_XFONT_SPEC, GC_XFONT_ENTITY) (GC_XFONT_OBJECT): New macros, for use in garbage collector. * src/alloc.c (compact_font_cache_entry, compact_font_caches): Don't ifdef away font cache compaction on NT_GUI, as the problems which led to that seem to have been solved. (compact_font_cache_entry): Use GC_FONT_SPEC_P, GC_XFONT_SPEC, GC_XFONT_ENTITY, and GC_XFONT_OBJECT, instead of their non-GC_ cousins. (Bug#21999) 2015-11-24 Alan Mackenzie Byte compile: Output an error, not a warning, for odd number of args to setq * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Amend. 2015-11-24 Ken Raeburn Fix kbd_buffer iteration loop in readable_events * src/keyboard.c (readable_events): Wrap the event pointer back to the start of the kbd_buffer array inside the top of the loop instead of right before checking the loop condition, since kbd_fetch_ptr and kbd_store_ptr point past the end of the array to mean that element 0 is next. (bug#21935) 2015-11-24 Paul Eggert Improve text-quoting-style doc again * doc/lispref/help.texi (Keys in Documentation): Omit overkill discussion of ‘setq’. Mention Emacs versions where ‘grave’ style was standard. 2015-11-23 Paul Eggert Improve text-quoting-style doc 2015-11-23 Paul Eggert Simplify module_make_function * src/emacs-module.c (module_make_function): Simplify by calling build_unibyte_string. 2015-11-23 Paul Eggert Port better to FreeBSD’s dlfunc vs dlsym This avoids warnings when converting between void * and function pointers, which strict C11 does not allow. * configure.ac (dlfunc): Check for existence. * src/dynlib.c (dlfunc) [!HAVE_DLFUNC]: New macro. (dynlib_func): New function. * src/dynlib.h (dynlib_function_ptr, dynlib_func): New decls. * src/emacs-module.c (Fmodule_load): Use dynlib_func, not dynlib_sym, for function pointers. 2015-11-23 Paul Eggert Simplify use of emacs_finalizer_function type * src/emacs-module.h (emacs_finalizer_function): Now EMACS_NOEXCEPT. All users simplified to omit EMACS_NOEXCEPT. (struct emacs_env_25): Use emacs_finalizer_function where applicable. 2015-11-23 Paul Eggert module_format_fun_env fixes * src/doprnt.c (exprintf) [HAVE_MODULES]: Also define in this case. * src/emacs-module.c (module_format_fun_env): Convert path and sym to UTF-8. Don’t use VLAs, as the C11 standard says they’re optional, and anyway they can cause core dumps with large allocations. Use exprintf rather than snprintf, as exprintf handles arbitrarily long strings. Simplify the code a bit. 2015-11-23 Dmitry Gutov Don't use package-user-dir in elisp-library-roots if it's not bound * lisp/progmodes/elisp-mode.el (elisp-library-roots): Don't use package-user-dir if it's not bound (bug#19759). 2015-11-23 Anders Lindgren New visible-bell for NextStep (OS X El Capitan compatible). Instead of inverting a rectangle in the middle of the frame, use the standard NextStep image "caution", represented using an warning sign with an exclamation mark. (Bug#21662) Implemented based on a suggestion drafted by Mustafa Kocaturk. * src/nsterm.m (EmacsBell): New class for managing the caution image. Support multiple active bells, the image is removed once all bells have timed out. (ns_timeout): Removed, no longer used. (ns_ring_bell): Reimplemented to use EmacsBell. 2015-11-23 Johan Bockgård * lisp/emacs-lisp/nadvice.el (add-function): Fix debug spec. (remove-function): Ditto. (Bug#20376) 2015-11-23 Mark Oteiza * lisp/leim/quail/tamil-dvorak.el: Add necessary escapes. 2015-11-23 Eli Zaretskii Improve how non-ASCII strings are accepted from modules * src/emacs-module.c (module_make_function, module_make_string): Build a unibyte Lisp string and then decode it by UTF-8, instead of building a multibyte string without decoding. This is more tolerant to deviations from UTF-8. 2015-11-23 Paul Eggert Port recent module changes to pickier compilers * src/emacs-module.c (module_make_function) (module_make_string): Add casts to fix pointer signedness issues. 2015-11-23 Philipp Stephani Fix how strings are accepted from modules * emacs-module.c (module_make_function, module_make_string): Use make_multibyte_string. (module_copy_string_contents): Encode before reading the byte size. Return false if and only if an error occurred. 2015-11-23 Eli Zaretskii Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25 2015-11-23 Shakthi Kannan Add the tamil-dvorak input method * lisp/leim/quail/tamil-dvorak.el: New file. (Bug#21768) * etc/NEWS: Mention the new input method. 2015-11-23 Martin Rudalics Move setting FRAME_WINDOW_SIZES_CHANGED to resize_frame_windows. * src/frame.c (adjust_frame_size): Don't set FRAME_WINDOW_SIZES_CHANGED here ... * src/window.c (resize_frame_windows): ... but here, as suggested by Stefan Monnier. Also remove some dead code along the way. 2015-11-23 Alan Mackenzie * /etc/NEWS (Incompatible Lisp Changes): Also `setf' needs an even # of args. 2015-11-23 Alan Mackenzie Signal an error when `setf' gets an odd number of arguments. * lisp/emacs-lisp/gv.el (setf): Amend. 2015-11-23 Stefan Monnier * lisp/emacs-lisp/smie.el (smie-backward-sexp): Handle BOB better. 2015-11-23 Alan Mackenzie * etc/NEWS (Incompatible Lisp Changes): Document new restriction on `setq'. 2015-11-23 Alan Mackenzie Expunge occurrences of `setq' with an odd number of arguments. * lisp/apropos.el (apropos-documentation): * lisp/obsolete/complete.el (PC-include-file-all-completions): * lisp/progmodes/compile.el (compilation-goto-locus): * lisp/vc/vc-cvs.el (vc-cvs-parse-root): (twice) Insert missing nil at end of `setq' forms. * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-autoload): Remove an erroneous trailing variable name from a setq, thus allowing a compilation properly to track functions not defined at runtime. 2015-11-23 John Wiegley Add a note about a questionable use of bool in xdisp.c 2015-11-23 Alan Mackenzie Issue a warning from the byte compiler on a malformed `setq' form. Partly fixes bug#20241. * lisp/emacs-lisp/bytecomp.el (byte-compile-setq): Issue a warning when a `setq' form with an odd number of arguments is compiled. 2015-11-23 Alan Mackenzie Don't let cconv_convert insert a nil argument into a `setq' form. Fixes bug#21983. * lisp/emacs-lisp/cconv.el (cconv-convert): Don't silently insert a nil last argument into a `setq' when there're an odd number of args. This enables the byte compiler to issue a message in this case. 2015-11-23 Alan Mackenzie Signal an error when `setq' has an odd number of arguments. Fixes bug#20241. * src/eval.c (Fsetq): Signal an error on an odd number of arguments. (syms_of_eval): Add a DEFSYM for Qsetq. 2015-11-23 Martin Rudalics * doc/lispref/windows.texi (Window Sizes): Fix indices and references. * src/frame.c (adjust_frame_size): Set FRAME_WINDOW_SIZES_CHANGED (Bug#21975). 2015-11-22 Thomas Fitzsimmons Add EUDC BBDB 3 entry in NEWS * NEWS: Mention EUDC BBDB backend support for BBDB 3. 2015-11-22 Thomas Fitzsimmons Improve EUDC to BBDB 3 export * eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone entry to single item. Add company conversion. * eudc-export.el (eudc-bbdbify-company): New function. (bbdb-parse-phone): Declare function. (eudc-bbdbify-phone): Add BBDB 3 support. (Bug#21971) 2015-11-22 Thomas Fitzsimmons Add BBDB 3 support for EUDC export * eudc.el: Add bbdb-version defvar. (eudc--using-bbdb-3-or-newer-p): New function. * eudc-export.el (eudc-create-bbdb-record): Add support for bbdb-create-internal argument list changes introduced in BBDB 3. * eudcb-bbdb.el: Remove bbdb-version defvar. (eudc-bbdb-field): Call eudc--using-bbdb-3-or-newer-p. (Bug#21971) 2015-11-22 Eli Zaretskii Allow loading modules by 'load-file' * src/lread.c (Fload): Call 'unbind_to' with 'Fmodule_load' as the 2nd arg, to avoid the "binding stack not balanced" error. (syms_of_lread) : New Lisp variable. * lisp/files.el (module-file-suffix): Declare. (load-file): Remove 'module-file-suffix' from 'completion-ignored-extensions', to allow completion on modules. * etc/NEWS: Mention 'module-file-suffix'. 2015-11-22 Eli Zaretskii Fix unoptimized builds * src/lisp.h (XTYPE): Move before XSYMBOL, to fix unoptimized builds. 2015-11-22 Dmitry Gutov Work around the asynchronous-empty-diff problem * lisp/vc/vc-rcs.el (vc-rcs-diff): * lisp/vc/vc-mtn.el (vc-mtn-diff): * lisp/vc/vc-hg.el (vc-hg-diff): * lisp/vc/vc-git.el (vc-git-diff): Ignore the ASYNC argument, do a synchronous process call (bug#21969). 2015-11-21 Karl Fogel Finish excising electric indent from `open-line' * lisp/simple.el (open-line): Remove INTERACTIVE argument. * test/automated/simple-test.el (open-line-indent, open-line-hook): Adjust accordingly. This change finishes what my commit of Thu Nov 19 17:32:37 2015 -0600 (git commit c59353896) started. It turns out that having INTERACTIVE cause `post-self-insert-hook' to run (via `newline') meant `open-line' still had the electric indent behavior, as `post-self-insert-hook' normally contains `electric-indent-post-self-insert-function' ever since `electric-indent-mode' has been on by default. Tracing the code change in `open-line' is mildly twisty, because Artur Malabarba's earliest two commits of 24 Oct 2015 first removed the `interactive' form entirely (git commit 6939896e2) and then restored it with the new extra "p" already added (git commit bd4f04f86), such that there is no single-commit diff in which one sees the second "p" appear. Thus this change is effectively a reversion of parts of each of those commits. This could close bug#21884, at least until further discussion. 2015-11-21 Dmitry Gutov Adhere closer to the "implicit tag name" definition * lisp/progmodes/etags.el (etags-tags-completion-table): Adhere closer to the "implicit tag name" definition. Simplify the regexp. Search for the explicit tag name first, and when not found, search locally for the implicit one. (Bug#21934) 2015-11-21 Stefan Monnier Unrevert most of regexp reentrancy abort patch The problem was in: * src/syntax.c (update_syntax_table_forward): Propertize even when truncated which is hence not unreverted. The rest is: * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST): (UPDATE_SYNTAX_TABLE_FAST): Re-introduce. All callers in regex.c changed back to the _FAST versions. * test/automated/message-mode-tests.el: Tweak the test to rely on auto propertization in backward-sexp. 2015-11-21 Paul Eggert Revert regexp reentrancy abort patch Although the patch does fix Bug#21688 and prevents a core dump, it also makes the message-mode-propertize test fail; see: http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01667.html Perhaps someone else can come up with a better fix some day. * src/syntax.c (update_syntax_table_forward): Propertize even when truncated. * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST): (UPDATE_SYNTAX_TABLE_FAST): Remove. All callers changed back to the non-_FAST versions. 2015-11-21 Paul Eggert Add a few safety checks when ENABLE_CHECKING This was motivated by the recent addition of module code, which added some ENABLE_CHECKING-enabled checks that are useful elsewhere too. * src/alloc.c (compact_font_cache_entry): * src/fns.c (sweep_weak_table): * src/lread.c (oblookup): Use gc_asize rather than doing it by hand. * src/emacs-module.c (module_make_global_ref) (module_free_global_ref, module_vec_size): Omit assertions that lisp.h now checks. * src/lisp.h (XFASTINT, ASIZE): In functional implementations, check that the result is nonnegative. Use eassume, as this info can help a bit when optimizing production code. (XSYMBOL) [!USE_LSB_TAG]: Assert that argument is a symbol, to be consistent with the USE_LSB_TAG case. (gc_asize): New function, when ASIZE is needed in the gc. (gc_aset): Use it. (HASH_TABLE_P): Move definition up, so that it can be used ... (XHASH_TABLE): ... here, to assert that the arg is a hash table. 2015-11-21 Eli Zaretskii Simplify recording of main thread's ID on MS-Windows * src/w32term.c (w32_initialize): * src/w32console.c (initialize_w32_display): * src/w32fns.c (globals_of_w32fns): Don't record the main thread ID independently for each type of session (GUI, TTY, batch). * src/w32term.c (w32_init_main_thread): New function, records the main thread's thread ID. * src/w32term.h: Add prototype for w32_init_main_thread. * src/emacs.c (main) [WINDOWSNT]: Call w32_init_main_thread. * src/emacs-module.c [WINDOWSNT]: Rename main_thread_id to main_thread, for consistency with other threading libraries. All users changed. Include w32term.h. (check_main_thread) [WINDOWSNT]: Simplify the test: no need to make sure the main thread is alive, as we hold a handle on it opened by w32_init_main_thread. (module_init) [WINDOWSNT]: Reuse the thread ID recorded by w32_init_main_thread, instead of calling the requisite APIs once more. 2015-11-21 Eli Zaretskii Call 'window-size-change-functions' for mini-windows * src/window.c (grow_mini_window, shrink_mini_window): Set the frame's 'window_sizes_changed' flag. * src/xdisp.c (redisplay_internal): Call the hooks on 'window-size-change-functions' if the call to 'echo_area_display' sets the frame's 'window_sizes_changed' flag. (syms_of_xdisp) : Update doc string to indicate the mini-window resizes trigger a call to the hooks, and don't promise that will happen "before redisplay". (Bug#19576, Bug#21333) * doc/lispref/windows.texi (Window Hooks): Update the description of 'window-size-change-functions'. 2015-11-21 Eli Zaretskii Improve documentation of dynamic modules * src/fns.c (Frequire): Doc fix to include the dynamic module support. * src/lread.c (Fload, Vload_suffixes): Doc fixes to include the dynamic module support. (Fload): Treat the module suffix the same as '*.el' and '*.elc' wrt the MUST-SUFFIX argument. * etc/NEWS: Expand documentation of dynamically loaded modules. 2015-11-21 Philipp Stephani (tiny change) Initial documentation for dynamic modules * etc/NEWS: Mention the new support for dynamically loaded modules. 2015-11-20 Dmitry Gutov Add xref--etags-backend to xref-backing-functions using add-hook * lisp/progmodes/xref.el (xref-backend-functions): Move the default value into a separate `add-hook' call (bug#21964). * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Don't declare the xref-backend-functions variable. It doesn't make any difference. 2015-11-20 Paul Eggert Fix double-decrement bug when freeing global refs * src/emacs-module.c (module_free_global_ref): Add a FIXME comment about error reporting. Fix a recently-introduced typo that double-decremented the refcount. 2015-11-20 Paul Eggert Declare emacs_module_init in the module API * src/emacs-module.h (emacs_module_init): New decl. Without it, GCC might complain about a module that defines emacs_module_init without using it. This also checks the API better. 2015-11-20 Paul Eggert Fix module test to use ptrdiff_t nargs too * modules/mod-test/mod-test.c (Fmod_test_return_t) (Fmod_test_sum, Fmod_test_signal, Fmod_test_throw) (Fmod_test_non_local_exit_funcall, Fmod_test_globref_make) (Fmod_test_string_a_to_b, Fmod_test_userptr_make) (Fmod_test_userptr_get, Fmod_test_vector_fill) (Fmod_test_vector_eq): Arg counts are ptrdiff_t, not int. (finalizer): Remove; no longer used. 2015-11-20 Paul Eggert Fix reindent-introduced typo in module code * src/emacs-module.c (MODULE_SETJMP_1): Fix typo that I introduced while reindenting the code earlier, and add a comment explaining the unusual use of do-while here. 2015-11-20 Anders Lindgren Fixed bug#19576: `write-file' saves wrong buffer. If a function on the hook `window-size-change-functions' doesn't restore the current buffer, functions that save and restore the current window configuration (like `y-or-no-p') could silently change the current buffer. When `write-file' asked the user confirmation to overwrite a file, `y-or-no-p' changed the current buffer, and the wrong buffer was saved to the file. * lisp/follow.el (follow-windows-start-end): Call `select-frame' using the `norecord' parameter. (follow-window-size-change): Restore current buffer. Call `select-frame' using the `norecord' parameter. Cleanup. 2015-11-20 John Wiegley Correct a documentation error in frames.texi 2015-11-20 Stephen Leake * lisp/cedet/mode-local.el: Delete obsolete comment 2015-11-20 Paul Eggert Module function arg counts are ptrdiff_t, not int * src/emacs-module.c (struct module_fun_env) (module_make_function, module_funcall, Fmodule_call): * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25): Use ptrdiff_t, not int, for arg counts. * src/emacs-module.c (module_make_function): Don’t bother checking arity against MOST_POSITIVE_FIXNUM, as that’s unnecessary here. Make the checking clearer by negating it. (module_make_function, Fmodule_call): No need to use xzalloc since the storage doesn’t need to be cleared. (module_funcall): Don’t use VLA, since C11 doesn’t guarantee support for it, and many implementations are buggy with large VLAs anyway. Use SAFE_ALLOCA_LISP instead. (module_vec_set): Don’t crash if i < 0. (module_vec_get): Don’t crash if i < MOST_NEGATIVE_FIXNUM. (module_vec_set, module_vec_get): Do fixnum checks only when i is out of array bounds, for efficiency in the usual case. (Fmodule_load): Simplify fixnum range check. (Fmodule_call): Simplify arity check. Use xnmalloc to detect integer overflow in array allocation size. 2015-11-20 Eli Zaretskii Minor improvements in module test * modules/mod-test/mod-test.c: Include stdlib.h, to avoid warnings about missing prototype of malloc. * modules/mod-test/Makefile (CFLAGS): Add -std=gnu99, to avoid compiler warnings. 2015-11-20 Eli Zaretskii Improve MS-Windows implementation in dynlib.c * src/dynlib.c [WINDOWSNT]: Include errno.h, lisp.h, and w32.h. No need to include windows.h, as w32.h already does that. : New static variable. (dynlib_reset_last_error): New function. (dynlib_open): Convert forward slashes to backslashes. Convert file names from UTF-8 to either UTF-16 or the current ANSI codepage, and call either LoadLibraryW or LoadLibraryA. If the argument is NULL, return a handle to the main module, like 'dlopen' does. Record the error, if any, for use by dynlib_error. (dynlib_sym): Check the handle for validity. Record the error, if any, for use by dynlib_error. (dynlib_error): Call w32_strerror to produce the error string, and zero out the last error code, like dlerror does. (dynlib_close): Check the handle for validity. Record the error, if any, for use by dynlib_error. Don't call FreeLibrary with a handle for the main module. * src/w32.c (globals_of_w32): Call dynlib_reset_last_error. 2015-11-20 Paul Eggert Include-file tweaks for modules * src/dynlib.c, src/emacs-module.c: Include first. * src/dynlib.h: Do not include config.h. It’s every .c file’s responsibility to include config.h first. * src/emacs-module.c: Include emacs-module.h immediately after config.h, to test that emacs-module.h doesn’t depend on include files other than config.h. 2015-11-19 Paul Eggert Simplify push_handler and profile its malloc * src/lisp.h (PUSH_HANDLER): Remove. All callers changed to use push_handler directly. * src/eval.c (internal_condition_case) (internal_condition_case_1, internal_condition_case_2) (internal_condition_case_n): Use same pattern as for other invokers of push_handler. (push_handler, push_handler_nosignal): Use call-by-value instead of call-by-reference. All uses changed. (push_handler): Simplify by rewriting in terms of push_handler_nosignal. (push_handler_nosignal): Profile any newly allocated memory. 2015-11-19 Paul Eggert * src/emacs-module.h: Include stddef.h, not stdlib.h. 2015-11-19 Juanma Barranquero Discover repository version in linked worktrees (bug#21930) * lisp/version.el (emacs-repository--version-git-1): Do not assume HEAD is at .git/HEAD, it can also be at .git/worktrees//HEAD. (emacs-repository-get-version): Grok linked worktrees when EXTERNAL is nil too. 2015-11-19 Juri Linkov * lisp/replace.el (occur-regexp-descr): New function. (occur-1, occur-engine): Use it. * lisp/isearch.el (isearch-occur): Propertize regexp with isearch-string and isearch-regexp-function-descr for occur-regexp-descr to display the correct description message in the header (bug#21176, bug#21180). 2015-11-19 Karl Fogel Revert `open-line' electric-indent sensitivity * lisp/simple.el (open-line): Remove electric indent code. (electric-indent-just-newline): Don't declare. * test/automated/simple-test.el (open-line-indent): Adjust test. This partly reverts Artur Malabarba's change that added electric indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git commit bd4f04f86), and adjusts a new test he added right afterwards (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly. However, the new INTERACTIVE argument to `open-line', which he also added in the first commit, is not reverted here. See the thread "Questioning the new behavior of `open-line'." on the Emacs Devel mailing list, and in particular this message: From: Artur Malabarba Subject: Re: Questioning the new behavior of `open-line'. To: Karl Fogel Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel Date: Wed, 18 Nov 2015 21:03:58 +0000 Message-ID: \ https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html 2015-11-19 Paul Eggert Omit unnecessary clear in Fmodule_load * src/emacs-module.c (Fmodule_load): Simplify and avoid unnecessary initialization of priv member to 0. * src/emacs-module.c: (module_vec_set, module_vec_get, module_vec_size) 2015-11-19 Paul Eggert Prefer signed integer types in module code Generally speaking, at the C level the Emacs source code prefers signed types like ‘ptrdiff_t’ to unsigned types like ‘size_t’, partly to avoid the usual signedness confusion when comparing values. Change the module API to follow this convention. Use ‘int’ for small values that can’t exceed INT_MAX. * modules/mod-test/mod-test.c (Fmod_test_globref_make) (Fmod_test_string_a_to_b, Fmod_test_vector_fill) (Fmod_test_vector_eq): * src/emacs-module.c (struct emacs_value_frame) (module_make_global_ref, module_free_global_ref) (module_copy_string_contents, module_make_string) (module_vec_set, module_vec_get, module_vec_size): * src/emacs-module.h (struct emacs_runtime, struct emacs_env_25): * src/lread.c (suffix_p): Prefer signed to unsigned integer types. 2015-11-19 Paul Eggert Omit ‘const’ on locals Remove ‘const’ qualifier from locals that were newly added. We don’t normally bother declaring locals with ‘const’ even though they are not modified, for the same reason we don’t bother declaring them with ‘register’ even though their addresses are not taken; the advantage in compile-time checking isn’t worth the loss of readability. * modules/mod-test/mod-test.c (Fmod_test_non_local_exit_funcall) (Fmod_test_vector_fill, Fmod_test_vector_eq): * src/emacs-module.c (MODULE_SETJMP_1) (module_make_global_ref, module_free_global_ref) (module_non_local_exit_get, module_make_function) (module_extract_integer, module_extract_float) (module_get_user_ptr, module_set_user_ptr) (module_get_user_finalizer, module_set_user_finalizer) (module_vec_get, Fmodule_call) (module_non_local_exit_signal_1) (module_non_local_exit_throw_1, lisp_to_value) (finalize_storage, allocate_emacs_value, mark_modules) (module_handle_signal, module_handle_throw) (module_format_fun_env): * src/eval.c (push_handler, push_handler_nosignal) (init_handler): * src/lread.c (suffix_p): Omit unnecessary ‘const’. 2015-11-19 Paul Eggert Prefer intmax_t to int64_t in module code * modules/mod-test/mod-test.c (sum, Fmod_test_sum): * src/emacs-module.c (module_extract_integer) (module_make_integer): * src/emacs-module.h (struct emacs_env_25): Prefer intmax_t to int64_t. This doesn’t change the generated code on any of the machines Emacs currently ports to, but it’s at least in theory more future-proof as C99 doesn’t guarantee that int64_t exists. 2015-11-19 Paul Eggert Rename module.c to emacs-module.c, etc. * src/emacs-module.c: Rename from src/module.c. * src/emacs-module.h: Rename from src/module.h. All uses changed. 2015-11-19 Paul Eggert Fix minor module problems found by static checking * src/dynlib.c (dynlib_close): #ifdef out for now, as it’s not used. * src/eval.c, src/lisp.h (lisp_eval_depth): Now static. * src/module.c (Fmodule_load): Fix pointer signedness bug. (Fmodule_call): Tell GCC that the default case is unreachable. 2015-11-19 Paul Eggert Style fixes for indenting etc. in module code This is mostly indenting and spacing changes. Also, remove some unnecessary static decls instead of bothering to reindent them. * src/module.h (EMACS_EXTERN_C_BEGIN): Remove, and do this inline, as most other Emacs files do for this sort of thing. 2015-11-19 Eli Zaretskii Minor improvements in modules testing Makefile * modules/mod-test/Makefile (EMACS, SO): New variables. (CFLAGS): When SO = dll, don't use -fPIC. (check): New target, runs the test. 2015-11-19 Eli Zaretskii * .gitignore: Add "*.dll". 2015-11-19 Paul Eggert Migrate modules/.gitignore into .gitignore * .gitignore: Add former contents of modules/.gitignore. * modules/.gitignore: Remove. 2015-11-19 Paul Eggert Add copyright notices to module code Put them in the usual format for GNU Emacs copyright notices. 2015-11-19 Paul Eggert Rename emacs_module.h to module.h * src/module.h: Rename from src/emacs_module.h. All uses changed. 2015-11-19 Juanma Barranquero * src/module.c (Fmodule_load): Remove unused vars `doc_name', `args' * src/lread.c (Fload): Remove unused variable `size' 2015-11-19 Alan Mackenzie src/keyboard.c (pre-command-hook): Fix typo in doc string: "pre" -> "post". 2015-11-18 Dmitry Gutov Prioritize looking inside vc-parent-buffer over log-view-mode fallback * lisp/vc/vc.el (vc-deduce-fileset): Prioritize looking inside vc-parent-buffer over log-view-mode fallback (bug#21955). 2015-11-18 Alan Mackenzie lisp/isearch.el: Eliminate macro isearch-call-message, replacing with funcall. 2015-11-18 Ken Brown * configure.ac (LIBMODULES): Don’t define on Cygwin 2015-11-18 Eli Zaretskii Fix MS-Windows build --with-modules * src/module.c: Reformat copyright commentary. (module_vec_get): Use explicit cast to size_t to avoid compiler warning in 32-bit builds. (check_main_thread) [WINDOWSNT]: Fix letter-case in Windows APIs. Compare thread IDs directly, as GetThreadId is not available before Windows Vista. (check_main_thread) [WINDOWSNT]: Duplicate the thread handle without using APIs and constants not available on XP and older systems. Obtain and store the thread ID as well. 2015-11-18 Aurélien Aptel Philipp Stephani Add dynamic module test and helper script Add 'modhelp.py' script (python2) to automate module testing and module generation. To build and test all modules in the modules/ dir $ ./modhelp.py test To generate a module from template code (good starting point) $ ./modhelp init mynewtestmodule See the script -h option for more documentation. * modules/modhelp.py: New module helper script. * modules/mod-test/Makefile: New file. Makefile for the test module. * modules/mod-test/mod-test.c: New file. Test module source file. * modules/mod-test/test.el: New file. ert test suite for the test module. * modules/.gitignore: New file. Local .gitignore file. 2015-11-18 Aurélien Aptel Make 'Fload' look for modules 'Fload' can now load dynamic modules. This also makes 'require' work. * src/lread.c: (suffix_p): New function. (Fload): Use 'suffix_p'. Call 'Fmodule_load' when we try to load a file with a module suffix. (syms_of_lread): Append module suffix to 'Vload_suffixes'. 2015-11-18 Aurélien Aptel Philipp Stephani Add dynamic module module support * configure.ac: Add '--with-modules' option. Conditionally add dynlib.o and module.o to the list of objects. Add any system specific flags to the linker flags to support dynamic libraries. * m4/ax_gcc_var_attribute.m4: Add autoconf extension to test gcc attributes. * src/Makefile.in: Conditionally add module objects and linker flags. * src/alloc.c (garbage_collect_1): protect module local values from GC. * src/lisp.h: Add 'module_init' and 'syms_of_module' prototypes. * src/emacs_module.h: New header file included by modules. Public module API. * src/module.c: New module implementation file. 2015-11-18 Aurélien Aptel Add new User Pointer (User_Ptr) type * src/lisp.h: Add new Lisp_Misc_User_Ptr type. (XUSER_PTR): New User_Ptr accessor. * src/alloc.c (make_user_ptr): New function. (mark_object, sweep_misc): Handle Lisp_Misc_User_Ptr. * src/data.c (Ftype_of): Return 'user-ptr' for user pointer. (Fuser-ptrp): New user pointer type predicate function. (syms_of_data): New 'user-ptrp', 'user-ptr' symbol. New 'user-ptrp' subr. * src/print.c (print_object): Add printer for User_Ptr type. 2015-11-18 Aurélien Aptel Philipp Stephani Add portable layer for dynamic loading * src/dynlib.h: New file. * src/dynlib.c: New file. 2015-11-18 Philipp Stephani Add catch-all & no-signal version of PUSH_HANDLER Ground work for modules. Add a non-signaling version of PUSH_HANDLER and a new "catch-all" handler type. * src/eval.c (init_handler, push_handler, push_handler_nosignal): New functions. * src/fns.c (hash_remove_from_table): Expose function public. * src/lisp.h: New handler type, define macro to push_handler call. 2015-11-18 Ken Brown Silence byte-compiler warning * lisp/server.el (server-process-filter): Silence byte-compiler warning. 2015-11-18 Paul Eggert Quote symbols in docstrings using `' Be more systematic about quoting symbols `like-this' rather than `like-this or 'like-this' in docstrings. This follows up Artur Malabarba's email in: http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01647.html 2015-11-18 Peder O. Klingenberg Fix savegames in dunnet * lisp/play/dunnet.el (dun-rot13): Use the standard rot13-region instead of separate implementation. 2015-11-18 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-response-buffer): Ensure we're at the start of the buffer before searching for the end of headers. 2015-11-17 Xue Fuqiao * admin/release-process: Improve wording. 2015-11-17 Paul Eggert Fix docstring quoting problems with ‘ '’ Problem reported by Artur Malabarba in: http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01513.html Most of these fixes are to documentation; many involve fixing longstanding quoting glitches that are independent of the recent substitute-command-keys changes. The changes to code are: * lisp/cedet/mode-local.el (mode-local-augment-function-help) (describe-mode-local-overload): Substitute docstrings before displaying them. * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Quote the generated docstring for later substitution. 2015-11-17 Eli Zaretskii Improve configure --help text for wide ints * configure.ac (wide-int): Clarify user-level advantages and disadvantages. 2015-11-17 Stephen Leake Improve doc string * lisp/progmodes/xref.el (xref-backend-references): Improve doc string. 2015-11-17 Paul Eggert eval_sub followed dangling pointer when debugging Problem reported by Pip Cet (Bug#21245). This bug could occur in eval_sub if the C compiler reused storage associated with the ‘argvals’ local after ‘argvals’ went out of scope, and if the Elisp debugger stopped on Elisp function exit and accessed ‘argvals’. It could also occur if a variadic function was called with so many arguments (over 2048 args on x86-64) that SAFE_ALLOCA_LISP called malloc, then SAFE_FREE freed the arguments, then the memory manager used the storage for other purposes, then the debugger accessed the arguments. * src/eval.c (eval_sub): Declare ‘argvals’ at top level of function body. Simplify local decls. When allocating args via SAFE_ALLOCA, call debugger before invoking SAFE_FREE, as the debugger needs access to the args. (eval_sub, apply_lambda): Rework to avoid need for set_backtrace_debug_on_exit hack. This is cleaner, and should work better with buggy custom debuggers. 2015-11-16 Daiki Ueno * lisp/image-mode.el: Support encrypted file (image-toggle-display-image): Read content from the buffer instead of the file, if the buffer holds a decrypted data. (Bug#21870) 2015-11-16 Paul Eggert ELF unexec: align section header This ports the recent unexelf.c changes to Fedora x86-64 when configured with GCC’s -fsanitize=undefined option. * src/unexelf.c (unexec): Align new_data2_size to a multiple of ElfW (Shdr)’s alignment, so that NEW_SECTION_H returns a pointer aligned appropriately for its type. 2015-11-16 Andreas Schwab Do more checks on bytecode objects (Bug#21929) * src/eval.c (funcall_lambda): Check size of compiled function object. (Ffetch_bytecode): Likewise. 2015-11-16 Johan Bockgård pcase.el: Fix edebugging of backquoted cons patterns * lisp/emacs-lisp/pcase.el (pcase-QPAT): Fix edebugging of backquoted cons patterns. (Bug#21920) 2015-11-16 Paul Eggert Improve fix for regex reentrancy abort Suggested by Stefan Monnier (Bug#21688). * src/syntax.c (update_syntax_table_forward): Remove recently-added PROPERTIZE arg, and assume it is true. All callers changed. * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST): Invoke update_syntax_table directly. 2015-11-16 Artur Malabarba * lisp/faces.el (faces--attribute-at-point): Use `face-list-p' * lisp/emacs-lisp/package.el (package--with-response-buffer): Missing require * lisp/emacs-lisp/nadvice.el (add-function): Escape quote 2015-11-15 Vasily Korytov Recognize .rbw and .pyw files (bug#18753) * lisp/progmodes/python.el (auto-mode-alist): Recognize .pyw files. * lisp/progmodes/ruby-mode.el (auto-mode-alist): Recognize .rbw files. 2015-11-15 Dmitry Gutov Fix ruby-mode auto-mode-alist entry * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add grouping around the extensions (bug#21257). 2015-11-15 Dmitry Gutov Fix etags completion near eob * lisp/progmodes/etags.el (tags-completion-at-point-function): Use `goto-char', to avoid the end-of-buffer error (bug#20061). 2015-11-15 Alan Mackenzie De-pessimize detection of C++ member initialization lists. list/progmodes/cc-engine.el (c-back-over-list-of-member-inits): New macro. (c-back-over-member-initializers): Reformulate such that c-at-toplevel-p is only called when a construct "looks right" rather than continually. (c-guess-basic-syntax, CASE 5R): Add a check for the mode being C++ Mode. 2015-11-15 Stephen Leake Improve a few doc strings, comments * lisp/cedet/cedet-global.el (cedet-gnu-global-expand-filename): * lisp/cedet/ede/locate.el (ede-locate-base): * lisp/cedet/semantic/symref.el (semantic-symref-calculate-rootdir): * src/fns.c (Fdelq): Improve doc string. * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Add FIXME. 2015-11-15 Anders Lindgren Enhance NSTRACE (trace output for NextStep). Trace can be disabled for groups of functions. By default, event functions and functions that generate lots of output are disabled. Trace output of Objective-C functions now use the "[ClassName parameter:]" form. * src/nsterm.h (NSTRACE_ALL_GROUPS, NSTRACE_GROUP_EVENTS) (NSTRACE_GROUP_UPDATES, NSTRACE_GROUP_FRINGE, NSTRACE_GROUP_COLOR) (NSTRACE_GROUP_GLYPHS, NSTRACE_GROUP_FOCUS): New macros, controlling in which function groups trace should be active. (NSTRACE_WHEN): Support for silencing a function, this also silencing all called functions. (NSTRACE_UNSILENCE): New macro, used to re-enable trace. (NSTRACE_FMT_FSTYPE, NSTRACE_ARG_FSTYPE): New macros, used to print the full screen state in NSTRACE functions. * src/nsterm.m (nstrace_depth, nstrace_num): Made volatile as they can be accessed from multiple threads. (nstrace_enabled_global): New variable, when FALSE, trace is silenced. (nstrace_restore_global_trace_state): New function, used to restore `nstrace_enabled_global' at end of block. ([EmacsView setFrame:], [EmacsWindow setFrame:display:]) ([EmacsWindow setFrame:display:animation:]) ([EmacsWindow setFrameTopLeftPoint:]): New functions, print trace and call corresponding super function. (Many functions): Add or enhance trace output. * src/nsimage.m (ns_image_from_file): Enhanced trace output. * src/nsfns.m (x_set_tool_bar_lines): Add trace output. * src/nsmenu.m ([EmacsToolbar setVisible:]): New function, print trace and call corresponding super function. 2015-11-15 Anders Lindgren Fixed a toolbar related issue on OS X. Earlier, when toggling the tool-bar in a maximized frame, the frame size didn't match the number of text lines, leaving an unused area at the bottom of the frame. * nsfns.m (x_set_tool_bar_lines): Exit maximized and full height fullscreen modes when tool bar is disabled. 2015-11-15 Anders Lindgren Fixed OS X 10.6.8 build issue (bug#21862). * src/nsterm.h (EmacsView): Add missing declarations. * src/nsterm.m ([EmacsView windowDidBecomeKey]): New method, like the standard method but without the notification parameter. Intended to be used for direct calls. ([EmacsView windowDidEnterFullScreen]): Call the non-notification version of `windowDidBecomeKey'. Made the notification method call the non-notification method instead of the vice versa. (NSWindowDidEnterFullScreenNotification): Deleted, no longer needed. 2015-11-15 Artur Malabarba * lisp/faces.el (faces--attribute-at-point): Fix an issue Previous code would signal an error when the face at point was a manually built list of attributes such as '(:foregroud "white"). * test/automated/faces-tests.el (faces--test-color-at-point): Add a test 2015-11-15 Paul Eggert Fix regex abort when it tries to reenter itself Problem reported by Ken Raeburn. Solution suggested by Stefan Monnier (Bug#21688). * src/regex.c (re_match_2_internal): Use new _FAST functions to avoid regex code reentering itself. * src/syntax.c (update_syntax_table_forward): New arg PROPERTIZE. All callers changed. * src/syntax.h (UPDATE_SYNTAX_TABLE_FORWARD_FAST) (UPDATE_SYNTAX_TABLE_FAST): New inline functions. 2015-11-15 Dmitry Gutov Improve Ruby 1.9-style keyword keys highlighting * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Handle required keyword arguments (bug#21367). And highlight the colon together with the name. 2015-11-15 Dmitry Gutov Unify the absolutely equal xref-backend-references implementations * lisp/progmodes/elisp-mode.el (xref-backend-references): Remove. * lisp/progmodes/etags.el (xref-backend-references): Remove. * lisp/progmodes/xref.el (xref-backend-references): Define the default implementation. 2015-11-14 Dmitry Gutov Update project-find-regexp for the new xref API * lisp/progmodes/project.el (project--read-regexp): Update to use the new xref API methods. * lisp/progmodes/xref.el (xref-find-backend): Autoload. 2015-11-14 Dmitry Gutov Fix replacing a match with a shorter string In effect, partially reverting fe973fc. * lisp/progmodes/xref.el (xref-query-replace): Store the end of each match as a marker again, instead of length. (xref--query-replace-1): Update accordingly. 2015-11-14 Artur Malabarba * lisp/progmodes/xref.el (xref-pop-marker-stack): Downgrade errors Signal user-errors instead. 2015-11-14 Eli Zaretskii Document 'describe-symbol' * doc/emacs/help.texi (Help Summary): Mention "C-h o". (Name Help): Document "C-h o" and describe-symbol. * lisp/help-fns.el (describe-symbol): Doc fix. 2015-11-14 Paul Eggert Change test name to avoid spellcheck issue. 2015-11-14 Eli Zaretskii Avoid signaling an error in 'describe-symbol' * lisp/help-fns.el (describe-symbol): Avoid errors when the symbol exists as a function/variable/face/etc., but is undocumented. * test/automated/help-fns.el (help-fns-test-describe-symbol): New test. 2015-11-14 Eli Zaretskii * INSTALL (--with-cairo): Document this new configure option. 2015-11-14 Eli Zaretskii Document that GNU Make >= 3.81 is required to build Emacs * doc/lispref/internals.texi (Building Emacs): Document that GNU Make 3.81 or later is now required. 2015-11-14 Eli Zaretskii * CONTRIBUTE (Branches): Improve wording for back-ported commits. 2015-11-13 l3thal Merge branch 'erc-async-reconnect' into emacs-25 Reconnect asynchronously. 2015-11-11 Alan Mackenzie First commit to scratch/follow. Make Isearch work with Follow Mode, etc. doc/lispref/window.texi (Basic Windows): Add paragraph defining "Group of Windows" and new @defun selected-window-group. (Window Start and End): Describe new &optional parameter GROUP and ...-group-function for window-start, window-end, set-window-start, and pos-visible-in-window-p. (Textual Scrolling) Describe the same for recenter. doc/lispref/positions.texi (Screen Lines): Describe the same for move-to-window-line. src/window.c (Fwindow_start, Fwindow_end, Fset_window_start) (Fpos_visible_in_window_p, Frecenter, Fmove_to_window_line): To each, add ar new optional parameter "group". At the beginning of each, check whether the corresponding ...-group-function is set to a function, and if so execute this function in place of the normal processing. (syms_of_window): Define symbols for the six new variables below. (window-start-group-function, window-end-group-function) (set-window-start-group-function, recenter-group-function) (pos-visible-in-window-p-group-function, move-to-window-line-group-function): New permanent local buffer local variables. src/keyboard.c (Fposn_at_point): Add extra parameter in call to Fpos_visible_in_window_p. lisp/window.el (selected-window-group-function): New permanent local buffer local variable. (selected-window-group): New function. lisp/follow.el (follow-mode): Set the ...-group-function variables at mode enable, kill them at mode disable. Add/remove follow-after-change to/from after-change-functions. (follow-start-end-invalid): New variable. (follow-redisplay): Manipulate follow-start-end-invalid. (follow-after-change, follow-window-start, follow-window-end) (follow-set-window-start, follow-pos-visible-in-window-p) (follow-move-to-window-line, follow-sit-for): New functions. lisp/isearch.el (isearch-call-message): New macro. (isearch-update, with-isearch-suspended, isearch-del-char) (isearch-search-and-update, isearch-ring-adjust): Invoke above new macro. (with-isearch-suspended): Rearrange code such that isearch-call-message is invoked before point is moved. (isearch-message): Add comment about where point must be at function call. (isearch-search): Remove call to isearch-message. (isearch-lazy-highlight-window-group): New variable. (isearch-lazy-highlight-new-loop): Unconditionally start idle timer. Move the battery of tests to ... (isearch-lazy-highlight-maybe-new-loop): New function, started by idle timer. Note: (sit-for 0) is still called. (isearch-lazy-highlight-update): Check membership of isearch-lazy-highlight-window-group. Don't set the `window' overlay property. (isearch-update, isearch-done, isearch-string-out-of-window) (isearch-back-into-window, isearch-lazy-highlight-maybe-new-loop) (isearch-lazy-highlight-search, isearch-lazy-highlight-update) (isearch-lazy-highlight-update): Call the six amended primitives (see src/window.c above) with the new `group' argument set to t, to cooperate with Follow Mode. 2015-12-27 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 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