2016-02-13 Nicolas Petton Bump version to 25.0.91 * README: * configure.ac: * msdos/sed2v2.inp: Bump version to 25.0.91. 2016-02-13 Nicolas Petton * etc/AUTHORS: Update the AUTHORS file 2016-02-13 Glenn Morris * lisp/dired-aux.el: Require cl-lib. (Bug#22613) 2016-02-13 Eli Zaretskii Index tilde characters in names of backup files * doc/emacs/files.texi (Backup Names): Improve indexing. (Bug#22625) 2016-02-13 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-13 Stefan Monnier Announce that the `C-x w' bindings are deprecated 2016-02-13 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-12 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-12 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-11 Paul Eggert * lib-src/make-docfile.c: Include stdarg.h. 2016-02-11 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-11 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-11 Lars Ingebrigtsen Revert "Support integer image rotation and respect EXIF rotations" This reverts commit 0f600496050bf435f55dc81056e06fcd45992dc8. This change does not work on Fedora. 2016-02-11 Lars Ingebrigtsen Revert "Document EXIF image rotation" This reverts commit 10b8ed27ec91ff52f93eb0297dcc3abb214931aa. This change does not work on Fedora, for instance. 2016-02-11 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-11 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-10 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-10 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-10 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-10 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-10 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-10 Artur Malabarba Backport: * lisp/isearch.el: Turn char-folding off by default (search-default-mode): Set default value to nil. 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 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-10 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-10 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-10 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-09 Katsumi Yamaoka Mention web bugs * doc/misc/emacs-mime.texi (Display Customization): Mention web bugs in the mm-html-blocked-images section. 2016-02-09 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-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-09 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-09 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-09 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-09 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-09 Katsumi Yamaoka * doc/misc/emacs-mime.texi (Display Customization): Doc fix for mm-html-inhibit-images. 2016-02-09 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-09 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 Lars Ingebrigtsen Restore window conf in nsm * lisp/net/nsm.el (nsm-query-user): Restore the window configuration. Backport: 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 * lisp/net/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-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 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 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 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-02 Lars Ingebrigtsen 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 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 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 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.ru: 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 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.scss: 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 Chatter when autogen.sh changes Git configuration * autogen.sh (git_config): New function. Use it instead of ‘git config’. 2016-02-01 Kyle Meyer * lisp/org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399) 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 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 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 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 fix Spelling fixes 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 Artur Malabarba Backport: * lisp/files.el: Remove support for extra .dir-locals file (dir-locals-file-2, dir-locals--all-files): Remove. (dir-locals-collect-variables, dir-locals-file, dir-locals-find-file) (dir-locals-read-from-file, hack-dir-local-variables): Revert changes. * lisp/files-x.el (modify-dir-local-variable): Revert changes. * lisp/help-fns.el (describe-variable): Revert changes. * doc/emacs/custom.texi (Directory Variables): Revert changes. * etc/NEWS: Revert changes. 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 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 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.ru: 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-29 Vincent Belaïche Correct a whole bunch of bugs coming with renamed cell relocation. This is the same change as commit on master branch. See http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=badcd38aa86ed7973f2be2743c405710973a0bdd * 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 initialization. (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-29 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-01-29 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-01-29 Eli Zaretskii Minor improvements to 'pcase' documentation * doc/lispref/control.texi (Pattern matching case statement): Improve the documentation of 'pcase' per comments. See two discussion threads on emacs-devel@gnu.org for the details: http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01335.html http://lists.gnu.org/archive/html/emacs-devel/2016-01/msg01336.html. 2016-01-29 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-29 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/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 * 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-27 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-27 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 K. Handa Backport: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. (cherry picked from commit 9835757013569673854b692ccbb58bfb3c3ed1f7) 2016-01-26 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. (cherry picked from commit 536f48e9a2251b9e654ea974bd90ff2f40218753) 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-26 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-26 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-26 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-26 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-26 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 (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-25 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-25 Paul Eggert * src/xwidget.c (Fxwidget_set_adjustment): Fix doc string quoting typo. 2016-01-25 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-24 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-24 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-23 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-23 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 * lisp/progmodes/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. * lisp/progmodes/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 Michael Albinus Backport kqueue integration from master * configure.ac (--with-file-notification): Add kqueue. (top): Remove special test for "${HAVE_NS}" and ${with_file_notification}, this is handled inside gfilenotify tests. Add kqueue tests. Use NOTIFY_CFLAGS and NOTIFY_LIBS instead of library specific variables. Add error message for gfile on Nextstep. * doc/lispref/os.texi (File Notifications): Add kqueue as backend. Fix some glitches in the example. * etc/NEWS: Mention kqueue. * lisp/filenotify.el (file-notify--library) (file-notify-descriptors, file-notify-callback) (file-notify-add-watch, file-notify-rm-watch) (file-notify-valid-p): Add kqueue support. (file-notify--rm-descriptor): Remove WHAT arg. * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS. * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue. * src/inotify.c (inotifyevent_to_event): Extract file name from watch_object if the event doesn't provide it. (Finotify_add_watch): Add file name to watch_object. * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE. * src/kqueue.c: New file. * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue. * test/automated/file-notify-tests.el (file-notify--test-expected-events): Remove. (file-notify--test-cleanup): Do not set that variable. (file-notify--test-timeout) Use different timeouts for different libraries. (file-notify--test-library): New defun. (file-notify--test-event-test): Make stronger checks. (file-notify--test-with-events): EVENTS can also be a list of lists. Flush outstanding events before running the body. Make timeout heuristically depend on the number of events. (file-notify-test01-add-watch, file-notify-test02-events) (file-notify-test04-file-validity, file-notify-test05-dir-validity): Rewrite in order to call file monitors but directory monitors. (file-notify-test02-events, file-notify-test04-file-validity): Do not skip cygwin tests. Add additional test for file creation. Adapt expected result for different backends. (file-notify-test03-autorevert): Some of the tests don't work for w32notify. (file-notify-test06-many-events): New test. 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-22 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-22 John Wiegley Minor correction to pcase docstring 2016-01-22 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) * lisp/calendar/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-21 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-20 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-20 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-20 Glenn Morris * lisp/xwidget.el: Add declarations to silence non-xwidget compilation. 2016-01-20 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-20 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-20 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-20 Glenn Morris * lisp/xwidget.el (xwidget-webkit-scroll-behaviour): Fix custom spec. 2016-01-19 Glenn Morris * 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): * src/xterm.c (x_draw_glyph_string, x_draw_bar_cursor): * src/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): * src/window.c (Fdelete_window_internal): * src/termhooks.h (e): * src/print.c (print_object): * src/lisp.h (ptrdiff_t): * src/keyboard.c (kbd_buffer_get_event, make_lispy_event) (syms_of_keyboard): * src/emacs.c (main): * src/dispnew.c (update_window, scrolling_window): * src/dispextern.h (g, i): * Makefile.in (XWIDGETS_OBJ, WEBKIT_CFLAGS, WEBKIT_LIBS) (GIR_LIBS, ALL_CFLAGS, base_obj, LIBES): * src/keyboard.c (kbd_buffer_get_event): * src/emacsgtkfixed.c (emacs_fixed_gtk_widget_size_allocate) (emacs_fixed_class_init): Add case for an xwidget view. * src/xwidget.c, src/xwidget.h, lisp/xwidget.el: New files for xwidgets Various improvements to the Xwidget feature. * src/xwidget.c: * src/emacsgtkfixed.c: * lisp/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-19 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-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-19 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-18 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-18 Andreas Schwab Don't use GnuTLS before it is initialized * src/sysdep.c (init_random): Don't use gnutls_rnd. 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 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into emacs-25 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.el (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-14 Mark Oteiza * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "magnet:" 2016-01-14 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-13 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-13 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-13 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-13 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-13 Glenn Morris * test/automated/core-elisp-tests.el (core-elisp-tests-1-defvar-in-let): Add a custom type. 2016-01-13 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-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 * lisp/progmodes/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-10 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-10 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-10 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 * doc/lispref/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-09 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-08 Glenn Morris * admin/admin.el (set-version): Also handle the NEWS file. 2016-01-08 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-07 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-07 Leo Liu Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Don't declare (indent 1). 2016-01-07 Glenn Morris * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix. 2016-01-07 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-06 Maksim Golubev (tiny change) * lisp/progmodes/opascal.el (opascal-mode-syntax-table): Fix backslash. (Bug#22224) 2016-01-06 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-04 Jens Lechtenboerger Do secure signed Bcc handling * lisp/gnus/message.el (message-send): Do secure signed Bcc handling (bug#18718). 2016-01-04 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-04 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 * lisp/net/nsm.el (nsm-check-protocol): Fix typo in the message. 2016-01-03 Lars Magne Ingebrigtsen Add SHA1 warnings for high network security settings * lisp/net/nsm.el (nsm-check-protocol): When using high security, warn about SHA1 certificates, which are now believed to be open to spoofing. 2016-01-03 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 * lisp/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-31 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. 2015-12-31 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-31 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-31 YAMAMOTO Mitsuharu Remove unused variable * lisp/international/mule-cmds.el: Remove unused variable `mac-system-coding-system'. 2015-12-31 YAMAMOTO Mitsuharu * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin. 2015-12-31 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-30 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-30 Dmitry Gutov Unbreak completion in python-mode buffers * lisp/progmodes/python.el (python-shell-completion-at-point): Unbreak in python-mode buffers. 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 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 Paul Eggert Spelling fix 2015-12-29 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-29 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 shr link traversal fixup * shr.el (shr-next-link): Don't bug out on adjacent links. Backport: (cherry picked from commit 1efc5f8b09273c359683ce13be95fb5df7a84311) 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 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 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 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 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 * lisp/erc/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). Backport: (cherry picked from commit 507e98a54d1aa37823c64993d6b59257a82fe8f4) 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 Fix mml-sec build warnings * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads (bug#18718). Backport: (cherry picked from commit 3603097f62f5f4aa5451716e9ac380161f6829e2) 2015-12-27 Lars Ingebrigtsen Don't insert erc logs at the end * 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 (eww-setup-buffer): Restore left-to-right defaults * eww.el (eww-setup-buffer): Restore left-to-right defaults. Backport: (cherry picked from commit 96c874b96b617c124d500a94de761a61f2a08685) 2015-12-27 Lars Ingebrigtsen Don't join erc channels doubly * lisp/erc/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 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-27 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-27 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/emacs-lisp/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 * lisp/net/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 Alain Schneble Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044) * test/automated/url-parse-tests.el: Add tests covering url-generic-parse-url. * test/automated/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. Backport: (cherry picked from commit b792ecea1715e080ad8e232d3d154b8a25d2edfb) 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 Lars Ingebrigtsen Follow redirects in eww Merge conflict, but I think I resolved it. Follow meta refresh tags in eww * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234). Backport: 2015-12-25 Lars Ingebrigtsen Allow http://user:pass@foo/ URLs again * lisp/url/url-auth.el (url-basic-auth): Allow explicit user/passwords in URLs (bug#19046). Backport: (cherry picked from commit b563715a2db265517d5a77f165a42afa1e233fdd) 2015-12-25 Samer Masterson Autoload url-insert-buffer-contents * lisp/url/url-handlers.el: Add autoload cookie so that `package-list-packages' doesn't bug out (bug#21927) (tiny change) Backport: (cherry picked from commit 7a7b5b492ff9929eecd90c4564db6fbf3b192323) 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 Lars Ingebrigtsen More eww file name coding fixes * eww.el (eww-decode-url-file-name): Use the base coding system to check for encodability. Backport: (cherry picked from commit a8627008abe4ab339df19b417776da28b3ce0fc7) 2015-12-25 Lars Ingebrigtsen Always save eww history * eww.el (eww-setup-buffer): Always save history, even when called from outside the eww buffer (bug#19638). Backport: (cherry picked from commit 2a0f18d9b6ce0ccce3d9c4a4a3b5743bae71b41e) 2015-12-25 Lars Ingebrigtsen Default web pages to right-to-left * eww.el (eww-mode): Most web pages are left-to-right, so make that the default (bug#19801). * shr.el (shr-tag-html): Respect "dir" attributes (left-to-right, right-to-left). Backport: (cherry picked from commit 9e089ec8a380ec3758fcf1564c5f86dc92c68c2a) 2015-12-25 Lars Ingebrigtsen Make toggling checkboxes work again * eww.el (eww-update-field): Make toggling checkboxes work again (bug#21881). Backport: (cherry picked from commit 5e56f606952e5e81b4d3a93ea70e791b74b33041) 2015-12-25 Lars Ingebrigtsen Don't store cookies with empty names * lisp/url/url-cookie.el (url-cookie-store): Refuse to store cookies with empty names (bug#21936). Backport: (cherry picked from commit 9f0fd7cb1aec3eb9e2e0f7b8854c30870286d96c) 2015-12-25 Lars Ingebrigtsen Stop rendering HTML before specdlr exhaustion Fixes: 22117 * shr.el (shr-descend): Stop rendering before we run out of specpdl room (bug#22117). Backport: (cherry picked from commit 248da292fe46224b0b5a79b632c89cf4de2c2081) 2015-12-25 Lars Ingebrigtsen Use cl-reduce, not reduce. Backport: (cherry picked from commit fe4606f93b91ff3d046aee0cf21ecc277af7a786) 2015-12-25 Lars Ingebrigtsen Allow several tags in shr * shr.el (shr-table-body): New function to find the real body of a table. (shr-tag-table): Use it to render several tags in a table (bug#22170). Backport: (cherry picked from commit cdaf33029d6620073833876d76056045ecfbc7c4) 2015-12-25 Lars Ingebrigtsen Make prettier unique file names in eww (eww-make-unique-file-name): Make unique file names by making files like foo(2).jpg instead of foo(1)(2).jpg. Backport: (cherry picked from commit edfdd0a6cbdfa9e5e4bd0553e2b489401ca39266) 2015-12-25 Lars Ingebrigtsen Decode hex-encoded URLs before using them as file names * eww.el (eww-decode-url-file-name): New function. (eww-download-callback): Use it to decode file names before saving them. Backport: (cherry picked from commit af22a010d87516c2a646572fb27512c03057784f) 2015-12-25 Ashish SHUKLA Add FreeBSD cert bundle * doc/misc/emacs-gnutls.texi (Help For Users): Document FreeBSD bundle. * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle. Backport: (cherry picked from commit 60c0f1a18ad88d6dc1a8f4ee5d9d18940eaeb6f7) 2015-12-25 Lars Ingebrigtsen Ignore invalid SVG images * shr.el (shr-tag-svg): Ignore SVG images that have no width or height, because these can't be displayed by ImageMagick, anyway. Backport: (cherry picked from commit 821107d53c2e390240d25c036b99ebbf9b4a93b6) 2015-12-25 Lars Ingebrigtsen shr table rendering fix * shr.el (shr-tag-table): Allow rendering body-less tables that have headers. Backport: (cherry picked from commit b05471e42c17e02c56c87d7599ada0c124a5fe09) 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-24 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-23 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-23 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-22 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-21 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-21 Paul Eggert Spelling fix: prefer "cooperate" to "co-operate" 2015-12-21 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-19 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-19 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. 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-18 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 * 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-13 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.ru: 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-08 Glenn Morris * lisp/calendar/cal-html.el: Require diary-lib. (cal-html-list-diary-entries): Handle no diary. (Bug#21994) 2015-12-08 Thomas Fitzsimmons Add Obsolete-since header to eudcb-ph.el * lisp/obsolete/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-07 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-07 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-06 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-05 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 (tiny change) 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-02 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-12-01 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-12-01 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-12-01 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-30 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 Mark Oteiza Backport: Add interactive seek command. * lisp/mpc.el (mpc-cmd-seekcur): New function. (mpc-seek-current): New command. (mpc-mode-menu): Add entry for mpc-seek-current (mpc-mode-map): Bind mpc-seek-current to "g" 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/automated/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-26 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-26 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-25 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-24 Paul Eggert Improve text-quoting-style doc 2015-11-24 Paul Eggert Simplify module_make_function * src/emacs-module.c (module_make_function): Simplify by calling build_unibyte_string. 2015-11-24 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-24 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-24 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 * src/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-23 Thomas Fitzsimmons Add EUDC BBDB 3 entry in NEWS * NEWS: Mention EUDC BBDB backend support for BBDB 3. 2015-11-23 Thomas Fitzsimmons Improve EUDC to BBDB 3 export * lisp/net/eudc-vars.el (eudc-ldap-bbdb-conversion-alist): Change phone entry to single item. Add company conversion. * lisp/net/eudc-export.el (eudc-bbdbify-company): New function. (bbdb-parse-phone): Declare function. (eudc-bbdbify-phone): Add BBDB 3 support. (Bug#21971) 2015-11-23 Thomas Fitzsimmons Add BBDB 3 support for EUDC export * lisp/net/eudc.el: Add bbdb-version defvar. (eudc--using-bbdb-3-or-newer-p): New function. * lisp/net/eudc-export.el (eudc-create-bbdb-record): Add support for bbdb-create-internal argument list changes introduced in BBDB 3. * lisp/net/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-22 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-22 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-22 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 Mark Oteiza Backport: Fix issue where a new tempfile was created every refresh * lisp/mpc.el (mpc-format): Leave dir as relative path 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-21 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-20 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-20 Paul Eggert * src/emacs-module.h: Include stddef.h, not stdlib.h. 2015-11-20 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-20 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-20 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-20 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-20 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/emacs-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/emacs-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-19 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/emacs-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-18 Xue Fuqiao * admin/release-process: Improve wording. 2015-11-18 Xue Fuqiao Backport: * CONTRIBUTE: Remove information about feature freeze. (cherry picked from commit ae0653b5ab9ee223751ec389b87011963e1cbbef) 2015-11-18 Xue Fuqiao Backport: Document the release process * admin/notes/versioning: Add information about RC releases. * admin/release-process: Document the release process. * admin/authors.el (authors-ignored-files): * admin/README: Change FOR-RELEASE to release-process. * CONTRIBUTE: * admin/notes/bugtracker: Don't mention FOR-RELEASE. (cherry picked from commit 9a4aa0f5945a03611ae29c516025dbd353bd26ab) 2015-11-18 Xue Fuqiao Backport: * admin/release-process: Rename from admin/FOR-RELEASE. (cherry picked from commit f8cc14b59700e51a4e31139c0a65c8154995e055) 2015-11-18 Xue Fuqiao Backport: Mention CONTRIBUTE in README Mention CONTRIBUTE in README, since it was moved from etc/ to root. * etc/TODO: Remove the reference to `etc/CONTRIBUTE'. * README: Mention CONTRIBUTE. (cherry picked from commit ed2e7e20ae0945288c98091f308f5460c3453873) 2015-11-18 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-17 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-17 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-17 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-16 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-16 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 Artur Malabarba Backport: * lisp/emacs-lisp/package.el: Fix a decoding issue. * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to `url-insert-buffer-contents'. (url-insert-buffer-contents): New function (package--with-response-buffer): Use `url-insert-buffer-contents'. The previous code had some issues with decoding. Refactoring that function allows us to use the decoding from url-handlers while still treating both sync and async requests the same. 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. * src/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-15 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-15 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 Artur Malabarba Backport: * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async. (package--with-work-buffer-async): Reimplement as `package--with-response-buffer'. (package--with-work-buffer): Mark obsolete. (package--with-response-buffer): New macro. This is a more self contained and less contrived version of `package--with-work-buffer-async'. It uses keyword arguments, doesn't have async on the name, doesn't fallback on `package--with-work-buffer', and has _much_ simpler error handling. On master, this macro will soon be part of another library (either standalone or inside url.el), which is why this commit is not to be merged back. (package--check-signature, package--download-one-archive) (package-install-from-archive, describe-package-1): Use it. (package--download-and-read-archives): Let `package--download-one-archive' take care of calling `package--update-downloads-in-progress'. 2015-11-14 Eli Zaretskii * CONTRIBUTE (Branches): Improve wording for back-ported commits. 2015-11-14 Dmitry Gutov Merge branch 'master' into emacs-25 2015-11-14 Dmitry Gutov Use generic dispatch for xref backends * lisp/progmodes/xref.el (xref-backend-functions): New variable. (xref-find-function): Remove. (xref-find-backend) (xref--etags-backend): New functions. (xref-identifier-at-point-function) (xref-identifier-completion-table-function): Remove. (xref-backend-definitions, xref-backend-references) (xref-backend-apropos, xref-backend-identifier-at-point) (xref-backend-identifier-completion-table): New generic functions. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add `elisp--xref-backend' to the beginning of `xref-backend-functions', locally. Delete references to removed functions and vars. (elisp-xref-find): Remove. (elisp--xref-backend): New function. (elisp--xref-find-references, elisp--xref-find-apropos) (elisp--xref-identifier-completion-table): Turn into appropriately named generic methods. * lisp/progmodes/etags.el (etags-xref-find): Remove. (xref-backend-identifier-completion-table) (xref-backend-references, xref-backend-definitions) (xref-backend-apropos): New generic methods. 2015-11-14 Juri Linkov Support rectangular regions for more commands * lisp/simple.el (region-extract-function): Handle the arg value ‘bounds’. (region-insert-function): New function. (shell-command-on-region): Add arg ‘region-noncontiguous-p’. If non-nil, operate on multiple chunks. (region-noncontiguous-p): New function. * lisp/rect.el: Add function rectangle--insert-region around region-insert-function. (extract-rectangle-bounds): New function. (rectangle--extract-region): Handle the arg value ‘bounds’. (rectangle--insert-region): New function. * lisp/emulation/cua-rect.el: Add function cua--insert-rectangle around region-insert-function. (cua--extract-rectangle-bounds): New function. (cua--rectangle-region-extract): Handle the arg value ‘bounds’. * lisp/replace.el (query-replace, query-replace-regexp): Add arg ‘region-noncontiguous-p’. Use ‘use-region-p’. (query-replace-regexp-eval, map-query-replace-regexp) (replace-string, replace-regexp): Use ‘use-region-p’. (keep-lines, flush-lines, how-many): Use ‘use-region-p’. (perform-replace): Add arg ‘region-noncontiguous-p’. If non-nil, operate on multiple chunks. * src/casefiddle.c (Fdowncase_region): Add arg ‘region-noncontiguous-p’. If non-nil, operate on multiple chunks. (Bug#19829) 2015-11-14 Dmitry Gutov Handle multiple matches on the same line; add highlighting * lisp/progmodes/xref.el (xref-location-marker): Interpret the column value in characters. (xref--collect-matches): Rename from `xref--collect-match'. Search for all matches in the hit line. Add `highlight' face to the matched region in the summary. Update both callers. 2015-11-14 Dmitry Gutov Replace xref-match-bounds with xref-match-length Relying on xref-location-marker to point to the beginning of the match * lisp/progmodes/xref.el (xref-match-bounds): Remove. (xref-match-length): Add. (xref-make-match): Change the arguments. (xref--match-buffer-bounds): Remove. (xref-match-item): Store length, instead of end-column. (xref-pulse-momentarily) (xref--collect-match) (xref--query-replace-1): Update accordingly. (xref-query-replace): Ditto. And check that the search results are up-to-date. 2015-11-13 John Wiegley Merge remote-tracking branch 'origin/master' into emacs-25 2015-11-13 l3thal Merge branch 'erc-async-reconnect' into emacs-25 Reconnect asynchronously. 2015-11-13 Paul Eggert Merge from gnulib This incorporates: 2015-11-13 xalloc-oversized: improve performance with GCC 5 * lib/xalloc-oversized.h: Copy from gnulib. 2015-11-13 Paul Eggert Spruce up ftfont.c memory allocation * src/ftfont.c (setup_otf_gstring): Avoid O(N**2) behavior when reallocating. (ftfont_shape_by_flt): Prefer xpalloc to xrealloc when reallocating buffers; this simplifies the code. Do not trust mflt_run to leave the output areas unchanged on failure, as this isn’t part of its interface spec. 2015-11-13 Eli Zaretskii Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emacs into emacs-25 2015-11-13 Paul Eggert Port recent XCB changes to 64-bit ‘long int’ For historical reasons, libX11 represents 32-bit values like Atoms as ‘long int’ even on platforms where ‘long int’ is 64 bits. XCB doesn’t do that, so adapt the recent XCB code to behave properly on 64-bit platforms. Also, fix what appears to be a bug in the interpretation of xcb_get_property_value_length, at least on my Fedora platform which is running libxcb-1.11-5.fc21. * src/xfns.c (x_real_pos_and_offsets): * src/xterm.c (get_current_wm_state): xcb_get_property_value_length returns a byte count, not a word count. For 32-bit quantities, xcb_get_property_value returns a vector of 32-bit words, not of (possibly 64-bit) long int. Backport. 2015-11-13 Paul Eggert * src/undo.c (run_undoable_change): Now static. Backport. 2015-11-13 Eli Zaretskii Remove support for ':timeout' from w32 tray notifications * src/w32fns.c (Fw32_notification_notify): Delete the code that supports ':timeout'. (syms_of_w32fns): Don't DEFSYM ':timeout'. This avoids clashes with dbusbind.c when D-Bus is compiled in. * doc/lispref/os.texi (Desktop Notifications): Don't mention ':timeout'. Backport. 2015-11-13 Juanma Barranquero * test/automated/simple-test.el: Add test for bug#20698 (bug#21885) (simple-test--transpositions): New macro. (simple-transpose-subr): New test. Backport. 2015-11-13 Juanma Barranquero * lisp/progmodes/elisp-mode.el: Declare function `project-roots' Backport. 2015-11-13 Juanma Barranquero * src/undo.c: Small fixes for previous change (run_undoable_change): Mark void argument list. (record_property_change): Remove unused variable `boundary'. Backport. 2015-11-13 Eli Zaretskii Add a few more variables to redisplay--variables * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction and bidi-display-reordering to the list. Backport. 2015-11-13 Eli Zaretskii * lisp/loadup.el: Enlarge the size of the hash table to 80000. Backport. 2015-11-13 Eli Barzilay Fix point positioning after transposing with negative arg * lisp/simple.el (transpose-subr): When invoked with a negative argument, move point to after the transposed text, like we do when invoked with a positive argument. (Bug#21885) Backport. 2015-11-13 Eli Zaretskii Fix last change in shr.el * lisp/net/shr.el (shr--have-one-fringe-p): Rename from have-fringes-p. All callers changed. Doc fix. (Bug#21895) Backport. 2015-11-13 Eli Zaretskii Fix last change * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't DEFSYM tray notification symbols if D-Bus is being used. Backport. 2015-11-13 Eli Zaretskii Another fix for MinGW64 and Cygwin builds due to notifications * src/w32fns.c: Ifdef away tray notification code if D-Bus is being compiled into Emacs. (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr Sw32_notification_notify and Sw32_notification_close if the code is not compiled. Reported by Andy Moreton . Backport. 2015-11-13 YAMAMOTO Mitsuharu Remove intern calls and XXX comments from Fx_export_frames * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and Qsvg instead of intern calls. Use "postscript" instead of "ps" for consistency with image types. Remove XXX comments. (syms_of_xfns) : DEFSYM it. Backport. 2015-11-13 Paul Eggert Port recent XCB changes to 64-bit ‘long int’ For historical reasons, libX11 represents 32-bit values like Atoms as ‘long int’ even on platforms where ‘long int’ is 64 bits. XCB doesn’t do that, so adapt the recent XCB code to behave properly on 64-bit platforms. Also, fix what appears to be a bug in the interpretation of xcb_get_property_value_length, at least on my Fedora platform which is running libxcb-1.11-5.fc21. * src/xfns.c (x_real_pos_and_offsets): * src/xterm.c (get_current_wm_state): xcb_get_property_value_length returns a byte count, not a word count. For 32-bit quantities, xcb_get_property_value returns a vector of 32-bit words, not of (possibly 64-bit) long int. 2015-11-13 Paul Eggert * src/undo.c (run_undoable_change): Now static. 2015-11-13 Michael Albinus Adapt Tramp version, do not merge with master * doc/misc/trampver.texi (trampver): * lisp/net/trampver.el (tramp-version): Set to "2.2.13-25.1". 2015-11-13 Eli Zaretskii Remove support for ':timeout' from w32 tray notifications * src/w32fns.c (Fw32_notification_notify): Delete the code that supports ':timeout'. (syms_of_w32fns): Don't DEFSYM ':timeout'. This avoids clashes with dbusbind.c when D-Bus is compiled in. * doc/lispref/os.texi (Desktop Notifications): Don't mention ':timeout'. 2015-11-13 Juanma Barranquero * test/automated/simple-test.el: Add test for bug#20698 (bug#21885) (simple-test--transpositions): New macro. (simple-transpose-subr): New test. 2015-11-13 Juanma Barranquero * lisp/progmodes/elisp-mode.el: Declare function `project-roots' 2015-11-13 Juanma Barranquero * src/undo.c: Small fixes for previous change (run_undoable_change): Mark void argument list. (record_property_change): Remove unused variable `boundary'. 2015-11-13 Eli Zaretskii Add a few more variables to redisplay--variables * lisp/frame.el (redisplay--variables): Add bidi-paragraph-direction and bidi-display-reordering to the list. 2015-11-13 Eli Zaretskii * lisp/loadup.el: Enlarge the size of the hash table to 80000. 2015-11-13 Eli Barzilay Fix point positioning after transposing with negative arg * lisp/simple.el (transpose-subr): When invoked with a negative argument, move point to after the transposed text, like we do when invoked with a positive argument. (Bug#21885) 2015-11-13 Eli Zaretskii Fix last change in shr.el * lisp/net/shr.el (shr--have-one-fringe-p): Rename from have-fringes-p. All callers changed. Doc fix. (Bug#21895) 2015-11-13 Eli Zaretskii Fix last change * src/w32fns.c (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't DEFSYM tray notification symbols if D-Bus is being used. 2015-11-13 Eli Zaretskii Another fix for MinGW64 and Cygwin builds due to notifications * src/w32fns.c: Ifdef away tray notification code if D-Bus is being compiled into Emacs. (syms_of_w32fns) [WINDOWSNT && !HAVE_DBUS]: Don't defsubr Sw32_notification_notify and Sw32_notification_close if the code is not compiled. Reported by Andy Moreton . 2015-11-13 YAMAMOTO Mitsuharu Remove intern calls and XXX comments from Fx_export_frames * src/xfns.c (Fx_export_frames): Use Qpdf, Qpng, Qpostscript, and Qsvg instead of intern calls. Use "postscript" instead of "ps" for consistency with image types. Remove XXX comments. (syms_of_xfns) : DEFSYM it. 2015-11-13 Eric Hanchrow shr: don't invoke unbound function (Bug#21895) * lisp/net/shr.el (have-fringes-p): New function. (shr-insert-document, shr-fill-text): Use it. 2015-11-12 Juanma Barranquero * test/automated/keymap-tests.el: Fix test to make it repeatable (keymap-store_in_keymap-FASTINT-on-nonchars): Reset Buffer-menu-mode-map entry to its initial value to make the test repeatable in interactive sessions (assuming it doesn't fail and crashes Emacs, of course). 2015-11-13 Artur Malabarba * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix 2015-11-12 Phillip Lord : Tests for undo-auto functionality. 2015-11-12 Phillip Lord The heuristic that Emacs uses to add an `undo-boundary' has been reworked, as it interacts poorly with functions on `post-command-hook' or `after-change-functions'. * lisp/simple.el: New section added. * src/cmds.c (remove_excessive_undo_boundaries): Now in lisp. (self_insert_command): Calls simple.el to amalgamate. (delete_char): Calls simple.el to amalgamate. * src/keyboard.c (last_undo_boundary): Removed. * src/undo.c (run_undoable_change): New function. 2015-11-12 Juri Linkov Bind [?\S-\ ] to previous line command in Dired-like modes. * lisp/arc-mode.el (archive-mode-map): * lisp/dired.el (dired-mode-map): * lisp/proced.el (proced-mode-map): * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind [?\S-\ ] to previous line command. (Bug#20790) 2015-11-12 Eli Zaretskii Fix the MinGW64 and Cygwin-w32 builds * src/w32fns.c (MYNOTIFYICONDATAW_V1_SIZE) (MYNOTIFYICONDATAW_V2_SIZE, MYNOTIFYICONDATAW_V3_SIZE): Define and use instead of the corresponding NOTIFYICONDATAW_Vn_SIZE macros, which cause trouble with MinGW42 headers. Ifdef away tray notifications code for Cygwin. Reported by Andy Moreton . 2015-11-12 Simen Heggestøyl Enable sorting of JSON object keys when encoding * lisp/json.el (json-encoding-object-sort-predicate): New variable for specifying a sorting predicate for JSON objects during encoding. (json--plist-to-alist): New utility function. (json-encode-hash-table): Re-use `json-encode-alist' when object keys are to be sorted. (json-encode-alist): Sort output by `json-encoding-object-sort-predicate, when set. (json-encode-plist): Re-use `json-encode-alist' when object keys are to be sorted. (json-pretty-print-buffer-ordered): New command to pretty print the buffer with object keys sorted alphabetically. (json-pretty-print-ordered): New command to pretty print the region with object keys sorted alphabetically. * test/automated/json-tests.el (test-json-plist-to-alist) (test-json-encode-plist, test-json-encode-hash-table) (test-json-encode-alist-with-sort-predicate) (test-json-encode-plist-with-sort-predicate): New tests. * etc/NEWS: Add an entry for the new commands. 2015-11-12 Juanma Barranquero * test/automated/keymap-tests.el: New test file 2015-11-12 Ken Raeburn Speed up x_real_pos_and_offsets using XCB * src/xfns.c (x_real_pos_and_offsets) [USE_XCB]: Add XCB flavors of all X calls, and pipeline requests when possible, collecting results later. Eliminate use of x_catch_errors (and thus XSync) in XCB case. 2015-11-12 Ken Raeburn Enable use of XCB for checking window manager state * src/xterm.c (get_current_wm_state) [USE_XCB]: Use XCB calls instead of XGetWindowProperty plus error-catching, since we can explicitly check for errors in the XCB version. This eliminates 3 XSync calls on top of the round-trip actually fetching the information. 2015-11-12 Ken Raeburn Detect XCB and save a connection handle * configure.ac: If using X11, check for XCB libraries and header. * src/Makefile.in (XCB_LIBS): Define. (LIBX_EXTRA): Include it. * src/xterm.h [USE_XCB]: Include X11/Xlib-xcb.h. (struct x_display_info) [USE_XCB]: Add an XCB connection handle field. * src/xterm.c (x_term_init) [USE_XCB]: Initialize the new field. 2015-11-12 Ken Raeburn Reduce some data dependencies between X calls Gains nothing in the traditional-Xlib code, but more closely aligns with how the XCB version will work. * src/xfns.c (x_real_pos_and_offsets): When translating coordinates, send coordinates (0,0) to the X server and add in the real coordinates after getting the response. Move XGetGeometry for outer window inside error-trapping block. Use DPY variable more, since it's available. 2015-11-12 Ken Raeburn Use color cache for creating bitmap * src/image.c (x_create_bitmap_from_xpm_data) [ALLOC_XPM_COLORS]: Set attributes to use the caching color allocator. Initialize and free the cache. 2015-11-12 Eli Barzilay Add "^" to the interactive specs of `dired-next/previous-line' * lisp/dired.el (dired-next-line, dired-previous-line): It makes sense to bind these commands to the arrow keys, and that means that they work better with a "^" in the `interactive' declaration so selection works as expected. 2015-11-12 Thomas Fitzsimmons Sync with soap-client repository, version 3.0.2 * lisp/net/soap-client.el: Bump version to 3.0.2. * lisp/net/soap-client.el (soap-warning): Use format, not format-message. * lisp/net/soap-client.el: Add cl-lib to Package-Requires. Require cl-lib. (soap-validate-xs-simple-type): Use cl-labels instead of cl-flet. * lisp/net/soap-client.el: Support Emacs versions that do not have define-error. * lisp/net/soap-inspect.el: Remove version header. * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Fix first line header format. 2015-11-11 Alan Mackenzie CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start. lisp/progmodes/cc-engine.el (c-backward-single-comment, c-backward-comments) (c-invalidate-state-cache-1, c-parse-state-1, c-guess-basic-syntax): remove bindings of open-paren-in-column-0-is-defun-start to nil. (c-get-fallback-scan-pos): "New" function (existed several years ago). (c-parse-state-get-strategy): Reintroduce the 'BOD strategy, using c-get-fallback-scan-pos. (c-parse-state-1): Handle 'BOD strategy. lisp/progmodes/cc-mode.el (c-before-change, c-after-change) c-font-lock-fontify-region): remove bindings of open-paren-in-column-0-is-defun-start to nil. cc-mode.texi (Performance Issues, Limitations and Known Bugs): Fix mix up between @chapter and @appendix. 2015-11-11 Artur Malabarba * lisp/obarray.el: Fix shadowed variables (obarray-map, obarray-remove, obarray-put, obarray-get): Change OBARRAY arg to OB to avoid shadowing ‘obarray’. 2015-11-11 Eli Zaretskii Avoid error in submitting a form with EWW * lisp/gnus/mm-url.el (mm-url-form-encode-xwfu): Allow argument CHUNK to be nil. (Bug#21881) 2015-11-11 Nicolas Petton Rename seq-p and map-p to seqp and mapp * lisp/emacs-lisp/seq.el (seqp): New name. * lisp/emacs-lisp/map.el (mapp): New name. * doc/lispref/sequences.texi: Update the documentation for seqp. * test/automated/map-tests.el: Update the tests for mapp. 2015-11-11 Nicolas Petton Rename obarray-p to obarrayp * lisp/obarray.el (obarrayp): New name. * test/automated/obarray-tests.el: Update the tests. 2015-11-11 Nicolas Petton Rename obarray-foreach to obarray-map * lisp/obarray.el (obarray-map): New name. * test/automated/obarray-tests.el: Update the corresponding tests. 2015-11-11 Przemysław Wojnowski New file with obarray functions. * lisp/obarray.el: basic obarray functions extracted from abbrev.el * test/automated/obarray-tests.el: new file 2015-11-11 Eli Zaretskii Implement tray notifications for MS-Windows * src/w32fns.c (MY_NOTIFYICONDATAW): New typedef. (NOTIFYICONDATAW_V1_SIZE, NOTIFYICONDATAW_V2_SIZE) (NOTIFYICONDATAW_V3_SIZE, NIF_INFO, NIIF_NONE, NIIF_INFO) (NIIF_WARNING, NIIF_ERROR, EMACS_TRAY_NOTIFICATION_ID) (EMACS_NOTIFICATION_MSG): New macros. (NI_Severity): New enumeration. (get_dll_version, utf8_mbslen_lim, add_tray_notification) (delete_tray_notification, Fw32_notification_notify) (Fw32_notification_close): New functions. (syms_of_w32fns): Defsubr functions exposed to Lisp. DEFSYM keywords used by w32-notification-notify. * doc/lispref/os.texi (Desktop Notifications): Describe the native w32 tray notifications. 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-11-11 Michael Albinus Optimize `file-equal-p' and `file-in-directory-p' in Tramp * lisp/net/tramp.el (tramp-handle-file-equal-p) (tramp-handle-file-in-directory-p): New defuns. Suggested by Harvey Chapman * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): Use them. 2015-11-10 Karl Fogel * CONTRIBUTE: Encourage adding tests. Based on this post from John Wiegley: From: "John Wiegley" Subject: Re: [Emacs-diffs] master 1f02cbe: Fix bug#21766 and add test To: Juanma Barranquero Cc: emacs-diffs@gnu.org, bruce.connor.am@gmail.com, emacs-devel Date: Wed, 28 Oct 2015 18:45:29 -0700 Message-ID: https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02372.html 2015-11-10 David Reitter Avoid creating notification objects when possible * src/nsterm.m (windowWillEnterFullScreen, windowWillExitFullScreen:, windowDidEnterFullScreen, windowDidExitFullScreen): provide convenience functions that do not require a notification object. When needed, define NSWindowDidEnterFullScreenNotification to allow for compilation on OS X 10.6.8. 2015-11-10 Paul Eggert Move INTEGER_TO_CONS body out of .h file * src/data.c (INTBIG_TO_LISP): New macro, with most of the contents of the old INTEGER_TO_CONS. (intbig_to_lisp, uintbig_to_lisp): New functions. * src/lisp.h (INTEGER_TO_CONS): Simplify by using EXPR_SIGNED and the new functions. This shrinks code size a bit, and makes it easier to put a breakpoint on handling of large integers. 2015-11-10 Paul Eggert Merge from gnulib This incorporates: 2015-11-10 intprops: new public macro EXPR_SIGNED 2015-11-10 intprops: fix typo in clang port * lib/intprops.h: Copy from gnulib. 2015-11-10 Paul Eggert Spelling fixes * lisp/net/soap-inspect.el (soap-inspect-xs-simple-type): Fix misspelling in output. 2015-11-10 Artur Malabarba * doc/lispref/variables.texi (Directory Local Variables): Document dir-locals wildcards * lisp/files.el (dir-locals-file): Point to Info node. * doc/emacs/custom.texi (Directory Variables): Document dir-locals wildcards. * etc/NEWS: Document new functionality. 2015-11-10 Artur Malabarba * lisp/files.el: Don't allow customization of dir-locals sorting In retrospect, this is not a good idea for the same reason that `dir-locals-file' is a defconst, because it is important that this behaviour be "uniform across different environments and users". Sure, the user can still change the sorting with a hack, but we shouldn't encourage them to change it. (dir-locals--all-files): Return list in the order returned by `file-expand-wildcards'. (file-expand-wildcards): Document the sorting predicate used. (dir-locals-sort-predicate): Delete variable. 2015-11-10 Artur Malabarba * lisp/files.el (dir-locals-read-from-file): Better handle errors * lisp/isearch.el (search-default-regexp-mode): change default value 2015-11-10 Artur Malabarba * lisp/files.el (dir-locals-find-file): Don't stop at unreadable files `locate-dominating-file' will now keep looking if the files it finds in a given directory are unreadable (or not files). 2015-11-10 Artur Malabarba * lisp/files.el (dir-locals-file): Allow wildcards (dir-locals-find-file, dir-locals-collect-variables) (dir-locals-read-from-file): Update accordingly. (hack-dir-local-variables): Rename a local variable. * lisp/files-x.el (modify-dir-local-variable): Update accordingly * lisp/help-fns.el (describe-variable): Update accordingly * .gitignore: Add .dir-locals?.el 2015-11-10 Artur Malabarba * lisp/emacs-lisp/map.el (map-merge-with): New function * test/automated/map-tests.el (test-map-merge-with): New test 2015-11-10 Karl Fogel Fix some recently-perturbed bookmark autoloads * lisp/bookmark.el (bookmark-set-internal): Remove unnecessary autoload. (bookmark-set): Restore autoload. (bookmark-set-no-overwrite): Add autoload. Thanks to Juanma Barranquero for noticing the autoload problems introduced by my recent commit adding/changing the above functions (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978). 2015-11-10 Noah Friedman (ydump-buffer): Handle case where gap is at the start of buffer. I don't recall if older versions of gdb were less strict but you cannot dump a 0-length range in gdb 7.9.1. 2015-11-10 Dmitry Gutov * lisp/progmodes/project.el: Update Commentary. Merge branch 'project-next' 2015-11-10 Dmitry Gutov Fold `project-ask-user' into `project-current' * lisp/progmodes/project.el (project-find-functions): Remove `project-ask-user'. (project-ask-user): Remove function and the corresponding `project-roots' implementation. (project-current): Add a new argument, MAYBE-PROMPT. Prompt the user in case there's no project in the current directory. Update all callers. 2015-11-09 Karl Fogel When VC detects a conflict, specify which file * lisp/vc/vc.el (vc-message-unresolved-conflicts): New function. * lisp/vc/vc-svn.el (vc-svn-find-file-hook): * lisp/vc/vc-hg.el (vc-hg-find-file-hook): * lisp/vc/vc-bzr.el (vc-bzr-find-file-hook): * lisp/vc/vc-git.el (vc-git-find-file-hook): Use above new function to display a standard message that specifies the conflicted file. Before this change, the message VC used for indicating a conflicted file was just "There are unresolved conflicts in this file" without naming the file (and this language was duplicated in several places). After this change, it's "There are unresolved conflicts in file FOO" (and this language is now centralized in one function in vc.el). Justification: It's important for the message to name the conflicted file because the moment when VC realizes a file is conflicted does not always come interactively. For example, some people automatically find a set of Org Mode files on startup, and may keep those .org files under version control. If any of the files are conflicted, the user just sees some messages fly by, and might later check the "*Messages*" buffer to find out what files were conflicted. I'm not saying this happened to me or anything; it's a purely hypothetical example. 2015-11-09 Eli Zaretskii Fix assertion violation in define-key * src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character objects. Reported by Drew Adams and Juanma Barranquero . 2015-11-09 Dima Kogan Fix a memory leak in GC of font cache * src/alloc.c (compact_font_cache_entry): Don't GC unmarked font entities if some of the fonts it references are marked. This plugs a memory leak. (Bug#21556) 2015-11-09 Paul Eggert Use INT_ADD_WRAPV etc. to check integer overflow * src/alloc.c (xnmalloc, xnrealloc, xpalloc, Fmake_string): * src/buffer.c (record_overlay_string, overlay_strings): * src/casefiddle.c (casify_object): * src/ccl.c (Fccl_execute_on_string): * src/character.c (char_width, c_string_width, lisp_string_width) (count_size_as_multibyte, string_escape_byte8): * src/coding.c (coding_alloc_by_realloc, produce_chars): * src/data.c (arith_driver): * src/dispnew.c (realloc_glyph_pool, init_display): * src/editfns.c (styled_format): * src/fns.c (Ffillarray): * src/ftfont.c (ftfont_shape_by_flt): * src/gnutls.c (gnutls_hex_string): * src/gtkutil.c (get_utf8_string): * src/image.c (x_to_xcolors, x_detect_edges, png_load_body): * src/keymap.c (Fkey_description): * src/lisp.h (SAFE_ALLOCA_LISP): * src/term.c (encode_terminal_code): * src/tparam.c (tparam1): * src/xselect.c (x_property_data_to_lisp): * src/xsmfns.c (smc_save_yourself_CB): * src/xterm.c (x_term_init): When checking for integer overflow, prefer INT_MULTIPLY_WRAPV to more-complicated code involving division and/or INT_MULTIPLY_OVERFLOW, and similarly for INT_ADD_WRAPV and subtraction and/or INT_ADD_OVERFLOW. * src/casefiddle.c (casify_object): Simplify multibyte size check. * src/character.c: Remove some obsolete ‘#ifdef emacs’s. * src/data.c (arith_driver): Also check for division overflow, as that’s now possible given that the accumulator can now contain any Emacs integer. * src/lisp.h (lisp_word_count): Remove; no longer used. 2015-11-09 Dmitry Gutov Make sure that the ignore file exists * lisp/vc/vc.el (vc-default-ignore-completion-table): Make sure that the ignore file exists. 2015-11-09 Michael Sperber * lisp/gnus-sum.el (gnus-summary-backend-map): Bind B-backspace to `gnus-summary-delete-article` in a way that also works on XEmacs. 2015-11-08 Simen Heggestøyl Add support for retrieving paths to JSON elements Add support for retrieving the path to a JSON element. This can for instance be useful to retrieve paths in deeply nested JSON structures. * lisp/json.el (json-pre-element-read-function) (json-post-element-read-function): New variables to hold pre- and post read callback functions for `json-read-array' and `json-read-object'. (json--path): New variable used internally by `json-path-to-position'. (json--record-path, json--check-position): New functions used internally by `json-path-to-position'. (json-path-to-position): New function for retrieving the path to a JSON element at a given position. (json-read-object, json-read-array): Call `json-pre-element-read-function' and `json-post-element-read-function' when set. * test/automated/json-tests.el (test-json-path-to-position-with-objects) (test-json-path-to-position-with-arrays) (test-json-path-to-position-no-match): New tests for `json-path-to-position'. 2015-11-08 Karl Fogel * etc/NEWS: Mention new `bookmark-set-no-overwrite'. This really should been part of my previous commit (Sun Nov 8 14:16:43 2015 -0500, git commit 3812e17978). 2015-11-08 Karl Fogel Offer non-overwrite bookmark setter (Bug#15746) * lisp/bookmark.el (bookmark-set-internal): New helper function to do what `bookmark-set' used to do, but with more choices for overwrite vs push, and with minor changes to the interactive prompt format. (bookmark-set): Rewrite as wrapper around above. If overwriting, inform the user of that in the prompt. (bookmark-set-no-overwrite): New function, also done as wrapper. Bind to "M" in `ctl-x-r-map' autoloads. (bookmark-map): Similarly bind "M" here. 2015-11-08 Paul Eggert * src/unexelf.c (NEW_PROGRAM_H): Remove unused macro (Bug#20614). 2015-11-08 Alan Modra ELF unexec: Don't insert a new section Reuse the .bss section instead, making it SHT_PROGBITS. This way we don't need to mess with symbol st_shndx, or section sh_link and sh_info. This does lead to eu-elflint complaints about symbols defined in .bss with a needed version, because normally it is undefined symbols that have needed versions; Defined symbols have version definitions. The exception is symbols defined by the linker in .dynbss for variables copied from a shared library in order to avoid text relocations, with copy relocs to copy their initial values from the shared library. These symbols are both defined and have needed versions, and eu-elflink only expects to see them in SHT_NOBITS sections. Of course there is no real problem with having such symbols in SHT_PROGBITS sections. glibc ld.so handles them fine. * src/unexelf.c: Delete outdated comments. (PATCH_INDEX): Delete. (find_section): Delete. (unexec): Don't add a new section. Instead reuse the last bss section, extending it to cover dumped data. Make bss sections SHT_PROGBITS. Remove all patching of sh_link, sh_info and st_shndx. Rename bss sections. 2015-11-08 Alan Modra ELF unexec: Drive from PT_LOAD header rather than sections This rewrites bss handling in the ELF unexec code. Finding bss sections by name results in complicated code that - does not account for all names of possible bss sections, - assumes specific ordering of bss sections, - can wrongly choose a SHT_NOBITS section not in the bss segment, - incorrectly calculates bss size (no accounting for alignment gaps), - assumes .data and .bss are in the same segment. All of these problems and more are solved by finding the bss segment in PT_LOAD headers, ie. the address range included in p_memsz but not p_filesz of the last PT_LOAD header, then matching SHT_NOBITS sections in that address range. * src/unexelf.c: Delete old ppc comment. (OLD_PROGRAM_H): Define. (round_up): Delete. (unexec): Don't search for bss style sections by name. Instead, use the last PT_LOAD header address range covered by p_memsz but not p_filesz and match any SHT_NOBITS section in that address range. Simplify initialization of section header vars. Don't assume that section headers are above bss segment. Move copying of bss area out of section loop. Align .data2 section to 1, since it now covers the entire bss area. For SHT_NOBITS sections in the bss segment, leave sh_addr and sh_addralign unchanged, but correct sh_offset. Clear memory corresponding to SHT_NOBITS .plt section. Delete comment and hacks for sections partly overlapping bss range now that the full range is properly calculated. Delete now dead .sbss code. (Bug#20614) 2015-11-08 Alan Modra ELF unexec: R_*_NONE relocs These should be ignored on all targets. * src/unexelf.c (unexec): Ignore R_*_NONE relocs for any target, not just Alpha. Comment on reloc size assumption. 2015-11-08 Alan Modra ELF unexec: _OBJC_ symbols in bss sections This code assumed that there was only one bss section. Rather than checking for a particular index, check the section type. Also, handle the possibility that the section was SHT_NOBITS originally and is unchanged, in which case no clearing is needed (and sh_offset isn't necessarily valid, which can lead to a wild memset). * src/unexelf.c (unexec): Properly handle _OBJC_ symbols in bss sections. 2015-11-08 Alan Modra ELF unexec: Symbol table patching No st_shndx value larger than SHN_LORESERVE should be changed. * src/unexelf.c (unexec): Don't adjust any st_shndx larger than SHN_LORESERVE. Error on SHN_XINDEX. 2015-11-08 Alan Modra ELF unexec: Merge Alpha and MIPS COFF debug handling * src/unexelf.c (unexec): Merge Alpha and MIPS COFF debug handling. Don't find .mdebug section index, find the section in the loop. Allow for unlikely possibility that .mdebug is located at sh_offset before bss segment, by calculating move from difference in sh_offset rather than just assuming new_data2_size. Simplify cbLineOffset handling. 2015-11-08 Alan Modra ELF unexec: Tidy code Separate out some of the more mechanical changes so following patches are smaller. * src/unexelf.c (unexec): Rearrange initialization of program header vars. Use pointer vars in loops rather than indexing section header array via macros. Simplify _OBJC_ sym code and reloc handling code. 2015-11-08 Alan Modra ELF unexec: Correct section header index First a small fix. The code incorrectly uses "NEW_SECTION_H (n)" when it should have been using "NEW_SECTION_H (nn)" to find the name of the section currently being processed. Of course, before the bss sections, n and nn have the same value, so this doesn't matter except in the case of .sbss. For .sbss this probably meant .bss (most likely the next section) was copied from memory. A later patch removes the bogus .sbss handling anyway. * src/unexelf.c (unexec): Use correct index to look up names. 2015-11-08 Michael Albinus Fix Bug#21841 * lisp/filenotify.el (file-notify--rm-descriptor): Use `descriptor' instead of computing its value. (file-notify--descriptor): Additional argument FILE. Adapt all callees. (file-notify-rm-watch): Use `descriptor' when calling file name handler. (Bug#21841) 2015-11-08 Dmitry Gutov Remove dirs in vc project roots from the the vc project library roots * lisp/progmodes/project.el (project-library-roots): Remove directories inside the project roots from the result. (http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00536.html) 2015-11-08 Dmitry Gutov Move and rename xref-find-regexp to the project package * lisp/progmodes/project.el (project-find-regexp) (project--read-regexp) (project--find-regexp-in): New functions. * lisp/progmodes/xref.el (xref--find-xrefs): Extract from xref--show-xrefs. Use in existing callers in place of that function. (xref--show-xrefs): Only do the "show" part. (xref-find-regexp): Rename, more or less, to project-or-libraries-find-regexp. 2015-11-06 Dmitry Gutov Abolish temporary buffer management for xref * lisp/progmodes/xref.el (xref--temporary-buffers) (xref--current) (xref--inhibit-mark-current) (xref--mark-selected): Remove. Remove all references. (xref--show-xrefs): Do not construct the list of the temporary buffers, nor pass it along. 2015-11-06 Dmitry Gutov Rename "search path" to "library roots" * lisp/emacs-lisp/cl-seq.el (cl-set-difference): Retain the order of the elements from CL-LIST1. * test/automated/cl-lib-tests.el (cl-lib-test-set-functions): Update WRT to the above change. * lisp/progmodes/project.el (project-search-path-function): Rename to project-library-roots-function, update the documentation and references. (project-search-path): Likewise, to project-library-roots. (project-roots): Clarify documentation. (project-vc-search-path): Likewise, to project-vc-library-roots. (project-library-roots): In addition to the renames, thread the results through file-name-as-directory. (project-prune-directories): Accept a variable number of arguments. Rename to project-combine-directories. (project-subtract-directories): New function. * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Append project-roots and project-library-roots together. * lisp/progmodes/etags.el (etags--xref-find-references): Ditto. 2015-11-08 Paul Eggert Prefer xpalloc to doubling buffers by hand * src/lread.c (grow_read_buffer): New function, which uses xpalloc. (read1): Use it for simplicity. * src/macros.c (store_kbd_macro_char): * src/minibuf.c (read_minibuf_noninteractive): * src/term.c (encode_terminal_code): * src/xrdb.c (magic_db): Prefer xpalloc to growing buffers by hand. This doesn’t fix any bugs, but simplifies the code a bit. 2015-11-08 Paul Eggert Merge from gnulib This incorporates: 2015-11-05 timespec-sub: fix overflow bug; add tests 2015-11-04 intprops: revise _WRAPV macros, revert _OVERFLOW 2015-11-03 intprops: add parentheses * lib/intprops.h, lib/timespec-add.c, lib/timespec-sub.c: Copy from gnulib. 2015-11-07 David Reitter Provide NS notification objects where required to eliminate warnings * src/nsterm.m (windowDidResize:, toggleFullScreen:): Call notification functions with notification objects as per delegate APIs. 2015-11-07 Noam Postavsky Add test for bug #21824 * test/automated/buffer-tests.el: New file. (overlay-modification-hooks-message-other-buf): New test. 2015-11-07 Kelvin White * lisp/erc/erc-pcomplete.el (pcomplete-erc-nicks): Fix bug#18771. 2015-11-07 David Reitter Ignore fullscreen exit notifications on NS when frame is dead * src/nsterm.m (windowDidResize:, windowWillExitFullScreen:) (windowDidExitFullScreen:): Return if frame is dead. These functions may be called when a fullscreen frame is closed; they are called before, not after. May address Bug#21428. 2015-11-07 Eli Zaretskii Speed up lookup in redisplay--variables * lisp/frame.el (redisplay--variables): Make it a hash-table. * src/xdisp.c (maybe_set_redisplay): Access redisplay--variables as a hash-table. This speeds up this function by an order of magnitude: where previously a setq was slowed down by 100% by introducing the maybe_set_redisplay test, it is now only 5% slower. (syms_of_xdisp) : Doc fix. 2015-11-07 Artur Malabarba * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix a bug. The defsubst was being created as: (cl-defsubst name (args) ("DOC") ...) * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Add test. 2015-11-07 Mihai Olteanu (tiny change) Update doc string of hexl-mode * lisp/hexl.el (hexl-mode): Doc fix. (Bug#21800) 2015-11-07 Eli Zaretskii Fix error in copy-abbrev-table * lisp/abbrev.el (define-abbrev): Don't erase the :abbrev-table-modiff property of the abbrev-table. (Bug#21828) * test/automated/abbrev-tests.el: New file. 2015-11-07 Michael Albinus Add test to auto-revert-tests.el for Bug#21841 * test/automated/auto-revert-tests.el (auto-revert-test01-auto-revert-several-files): New test. (auto-revert-test02-auto-revert-tail-mode) (auto-revert-test03-auto-revert-mode-dired): Rename them. 2015-11-07 Martin Rudalics * doc/lispref/windows.texi (Coordinates and Windows): Fix typo. 2015-11-07 Martin Rudalics In x_consider_frame_title don't set title of tooltip frames * src/xdisp.c (x_consider_frame_title): Return immediately for tooltip frames to avoid displaying empty tooltips. 2015-11-06 Anders Lindgren Fixed NextStep fullscreen problem (bug#21770). * src/nsterm.m (ns_constrain_all_frames): Don't constrain fullscreen frames. 2015-11-06 Eli Zaretskii Ensure redisplay after evaluation * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Revert last change. * lisp/frame.el (redisplay--variables): Populate the redisplay--variables list. * src/xdisp.c (maybe_set_redisplay): New function. (syms_of_xdisp) : New variable. * src/window.h (maybe_set_redisplay): Declare prototype. * src/data.c (set_internal): Call maybe_set_redisplay. (Bug#21835) 2015-11-06 Artur Malabarba * test/automated/subr-tests.el (subr-test-when): Fix again. 2015-11-06 Eli Zaretskii Don't invoke overlay modification hooks in wrong buffer * src/buffer.c (report_overlay_modification): When called with AFTER non-zero, don't invoke overlay modification hooks if the buffer recorded in last_overlay_modification_hooks is different from the current buffer. (Bug#21824) 2015-11-06 Juanma Barranquero * admin/notes/repo: Fix a few obsolete references to Bazaar. 2015-11-06 Artur Malabarba * test/automated/subr-tests.el (subr-test-when): Fix test. 2015-11-06 Martin Rudalics Avoid division by zero crash observed by Yuan MEI See http://lists.gnu.org/archive/html/emacs-devel/2015-11/msg00194.html. * src/dispnew.c (required_matrix_height, required_matrix_width): Avoid division by zero. * src/xterm.c (x_term_init): Init dpyinfo->smallest_font_height and dpyinfo->smallest_char_width to 1. 2015-11-06 Eli Zaretskii Ensure redisplay after "C-x C-e" * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Make sure redisplay happens to account for any side effects of the evaluated sexp. (Bug#21835) 2015-11-06 Michael Albinus Skip some file notification tests for cygwin * test/automated/file-notify-tests.el (file-notify--test-with-events): Remove argument TIMEOUT. Adapt all callees. (file-notify-test02-events, file-notify-test04-file-validity): Skip for cygwin. (Bug#21804) 2015-11-05 Stephen Leake * lisp/progmodes/xref.el: Require semantic/symref during compilation. 2015-11-05 Daiki Ueno Suppress redundant Pinentry startup messages * lisp/net/pinentry.el (pinentry-start): Add optional QUIET argument. * lisp/epg.el: Declare `pinentry-start'. (epg--start): Call `pinentry-start' with QUIET argument set. 2015-11-05 Xue Fuqiao * doc/emacs/ack.texi (Acknowledgments): Updates. 2015-11-05 Juanma Barranquero * test/automated/elisp-mode-tests.el: Silence some run-time warnings. (xref-elisp-deftest): Bind `find-file-suppress-same-file-warnings' to t. 2015-11-05 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add prettification support for \times. 2015-11-05 Juanma Barranquero * test/automated/process-tests.el: Skip tests when bash is unavailable. (process-test-sentinel-accept-process-output) (process-test-sentinel-sit-for): skip-unless bash executable found. 2015-11-05 Eli Zaretskii Add test for bug #21831 * test/automated/process-tests.el (start-process-should-not-modify-arguments): New test. (Bug#21831) Suggested by Nicolas Richard 2015-11-04 Stefan Monnier * lisp/emacs-lisp/eieio-compat.el: Typo caught by tests. (eieio--generic-static-object-generalizer): Fix typo. * test/automated/eieio-tests.el: Byte-compile it again. It looks like the underlying cause of bug#17852 was fixed in the mean time. 2015-11-04 Artur Malabarba Revert "* lisp/subr.el (when): Use `macroexp-progn'" This reverts commit 8e843831eaf271801836b7a3e4dd3b4fb0bb72b8. It breaks bootstrapping (duh). 2015-11-04 Artur Malabarba * lisp/files.el (report-errors): Obsolete. (normal-mode, hack-local-variables, dir-locals-find-file): Use `with-demoted-errors' instead. 2015-11-04 Artur Malabarba * lisp/subr.el (when): Use `macroexp-progn'. * test/automated/subr-tests.el (subr-test-when): New test. 2015-11-04 Juanma Barranquero * lisp/progmodes/xref.el: Doc fixes. (xref-make-file-location, xref-make-buffer-location, xref-make) (xref-make-bogus-location, xref-make-match): Add cross-references. (xref--insert-xrefs): Fix typo in docstring. 2015-11-04 Anders Lindgren Render fringe bitmaps correctly on NextStep (bug#21301) The fringe bitmaps were inverted, the background was not transparent, the image data was horizontally mirrored, and periodic fringe bitmaps were not supported. * src/nsimage.m ([EmacsImage initFromXBM:width:height:fg:bg:]): When both background and foreground colors are 0, set the background alpha channel to 0 (making the background transparent). When copying the image data, do this from the most significant bit (leftmost) to the least (rightmost), to avoid mirroring. * src/nsterm.m (ns_draw_fringe_bitmap): Don't invert the image bits. Add support for periodic images (e.g. the empty line indicator). 2015-11-03 Michael Heerdegen * lisp/emacs-lisp/pcase.el (pcase): Tweak docstring. 2015-11-03 Nicolas Petton * admin/MAINTAINERS: Add seq-tests.el, map-tests.el, and thunk-tests.el. * admin/MAINTAINERS: Add thunk.el. 2015-11-03 Jay Belanger * lisp/calc/calc.el (calc-bug-address): Change maintainer address. 2015-11-03 Michael Albinus Fix a stupid error in gfilenotify.c * src/gfilenotify.c (dir_monitor_callback): Cancel monitor only, if we've got a `deleted' signal AND the file name is the watched one. 2015-11-03 Stephen Leake Fix Bug#21816; case insensitive file system in elisp-mode-tests.el * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Use case-insensitive string compare for file names. (emacs-test-dir): Add 'downcase' to cause case differences (at least on my system). 2015-11-02 Juanma Barranquero flymake-tests.el (warning-predicate-rx-gcc): Fix check * test/automated/flymake-tests.el (warning-predicate-rx-gcc): Also check that "make" is available, not just "gcc". 2015-11-02 Ken Brown Document behavior of collation on Cygwin * test/automated/fns-tests.el (fns-tests-collate-sort): Mark as expected failure on Cygwin. * doc/lispref/strings.texi (Text Comparison): Document that punctuation and whitespace are not ignored for sorting on Cygwin. 2015-11-02 Dani Moncayo * build-aux/msys-to-w32: Prevent double slashes in w32 path list. 2015-11-01 Glenn Morris * lisp/progmodes/f90.el (f90-no-block-limit): Add associate. (Bug#21794) * test/automated/f90.el (f90-test-bug21794): New test. 2015-11-01 Juanma Barranquero Fix incompatibility with TCC in test for bug#18745 * test/automated/process-tests.el (process-test-quoted-batfile): Remove spaces unrelated to the bug being tested. 2015-11-01 Michael Albinus Improve completion in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-zeroconf-parse-device-names): Rename from `tramp-zeroconf-parse-service-device-names'. (tramp-zeroconf-parse-webdav-device-names): Remove. Code merged with `tramp-zeroconf-parse-device-names'. (tramp-gvfs-parse-device-names): New defun. (top): Use it when `tramp-zeroconf-parse-device-names' is not applicable. * lisp/net/tramp.el (tramp-set-completion-function): The argument could also be a zeroconf service type. 2015-10-31 Thomas Fitzsimmons * lisp/net/ntlm.el: Change version to 2.0.0. 2015-10-31 Juanma Barranquero Fix bug#21762 * lisp/progmodes/python.el (python-syntax-closing-paren-p): Check with `eql' instead of `=' to accommodate the case that (syntax-after (point)) returns nil. * test/automated/python-tests.el (python-indent-inside-paren-7): New test. 2015-10-31 Juanma Barranquero * test/automated/python-tests.el: Avoid warnings. (python-tests-with-temp-buffer, python-tests-with-temp-file): Bind `python-indent-guess-indent-offset' to nil. 2015-10-31 Juanma Barranquero * src/alloc.c: Silence compiler warnings. (pointers_fit_in_lispobj_p, mmap_lisp_allowed_p): #ifdef DOUG_LEA_MALLOC. 2015-10-31 Jackson Ray Hamilton * etc/NEWS: Fix js-jsx-mode entry punctuation. 2015-10-31 Jackson Ray Hamilton Add JSX indentation via js-jsx-mode (Bug#21799) * lisp/progmodes/js.el: Add JSX indentation support. (js--jsx-end-tag-re) (js--jsx-after-tag-re): New variables. (js--jsx-find-before-tag) (js--jsx-indented-element-p) (js--as-sgml) (js--expression-in-sgml-indent-line) (js-jsx-indent-line) (js-jsx-mode): New functions. * test/indent/js-jsx.js: New file. * etc/NEWS: Add information about js-jsx-mode. 2015-10-31 Michael Albinus Minor fix in filenotify.el * lisp/filenotify.el (file-notify--event-file-name) (file-notify--event-file1-name): Normalize result with `directory-file-name'. 2015-10-31 Eli Zaretskii Avoid errors in redisplay--pre-redisplay-functions * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Don't use 'bobp', instead compare window-point with 1. (Bug#21730) 2015-10-30 Paul Eggert Merge from gnulib This incorporates: 2015-10-30 intprops: add WRAPV and const flavors for GCC 5 2015-10-25 stdalign: port to Sun C 5.9 * doc/misc/texinfo.tex, lib/intprops.h, lib/stdalign.in.h: Copy from gnulib. 2015-10-30 Eli Zaretskii * src/w32proc.c (_NLSCMPERROR): Fix a typo in the name of this macro. (w32_compare_strings): Adjust for the correction. 2015-10-30 Michael Albinus * test/automated/vc-tests.el (vc-test--state) (vc-test--working-revision, vc-test--checkout-model): Add result messages. 2015-10-30 Artur Malabarba * test/automated/faces-tests.el: Add another test 2015-10-30 Artur Malabarba * lisp/faces.el (faces--attribute-at-point): Fix bug introduced by previous commit. 2015-10-30 Artur Malabarba * test/automated/faces-tests.el: New file. 2015-10-30 Artur Malabarba * lisp/faces.el: Refactor common code and fix a bug. (faces--attribute-at-point): New function. Fix a bug when the face at point is a list of faces and the desired attribute is not on the first one. (foreground-color-at-point, background-color-at-point): Use it. 2015-10-30 Przemysław Wojnowski * etc/tutorials/TUTORIAL.translators: Fix PL names. 2015-10-30 Juanma Barranquero * lisp/character-fold.el: Provide `character-fold'. 2015-10-30 Tassilo Horn * etc/themes/tsdh-dark-theme.el (tsdh-dark): Add more faces for Gnus and ivy. 2015-10-30 Michael Albinus Some minor fixes for tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): An attribute returned by gvfs-info might be empty. In case of undetermined uid or gid, return "UNKNOWN" or -1, respectively. (tramp-zeroconf-parse-service-device-names): New defun. Derived from `tramp-zeroconf-parse-workstation-device-names'. (top): Add completion functions for "afp" and "smb" methods. 2015-10-30 Artur Malabarba * test/automated/character-fold-tests.el: New file 2015-10-30 Artur Malabarba * test/automated/sort-tests.el: New file. Tests in this file are randomly generated and then tested with regular, reverse, and case-fold sorting. 2015-10-30 Eli Zaretskii Describe known problems with pinning Emacs to taskbar * etc/PROBLEMS: Describe the problem with pinning Emacs to taskbar on Windows 10. For the details, see the discussion starting at http://lists.gnu.org/archive/html/help-emacs-windows/2015-09/msg00000.html. 2015-10-30 Artur Malabarba * lisp/isearch.el: Avoid an error that blocks isearch. (isearch-update): Don't error if `isearch--current-buffer' has been killed. * test/automated/isearch-tests.el (isearch--test-update): New file. 2015-10-30 Phil Sainty Fix documentation of 'beginning/end-of-buffer' * lisp/simple.el (beginning-of-buffer, end-of-buffer): Clarify conditions under which the mark will be pushed at the previous position. (Bug#21748) 2015-10-30 Tassilo Horn Add RefTeX feature idea: editing RefTeX TOC buffers More face defs for ivy, swiper, ace-window, eshell 2015-10-29 Stefan Monnier * lisp/gnus/auth-source.el: Silence lexical-binding warnings. (auth-source-netrc-use-gpg-tokens): Simplify (symbol-value 'VAR) to just VAR. (auth-source-backend-parse): Use make-instance. (auth-source-search): Remove unused key args. Remove unused vars `accessor-key' and `backend'. Avoid `eval'. (auth-source-search-backends): Use slot names rather than their initarg. (auth-source-netrc-create): (auth-source-delete): (auth-source-secrets-create, auth-source-plstore-search) (auth-source-macos-keychain-create, auth-source-macos-keychain-search) (auth-source-plstore-create, auth-source-netrc-search) (auth-source-netrc-parse): Remove unused key args. (auth-source-forget+): Simplify the arglist. (auth-source-macos-keychain-search-items) (auth-source-token-passphrase-callback-function): Mark unused args. (auth-source-epa-extract-gpg-token): Remove unused var `plain'. (pp-escape-newlines): Declare. (auto-source--symbol-keyword): New function. (auth-source-plstore-create, auth-source-netrc-create) (auth-source-netrc-normalize): Use it. (auth-source-netrc-search): Don't pass :delete to auth-source-netrc-parse since it doesn't use it. (auth-source-plstore-create, auth-source-netrc-create): Use plist-get symbol-value to index in keyword args. (auth-source-macos-keychain-result-append): Avoid setq. (auth-source-netrc-create): Remove unused vars `file' and `add'. (auth-source-user-or-password): Remove unused var `cname'. 2015-10-29 Juri Linkov * lisp/dired.el (dired-unmark-all-files-query): Declare. (dired-unmark-all-files): Let-bind it and use instead of ‘query’. (Bug#21746) 2015-10-29 Juri Linkov * lisp/ielm.el (ielm-indent-line): Use non-nil arg of comint-bol to go to the beginning of text line instead of command line. http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02360.html 2015-10-29 Eli Zaretskii Fix encoding of saving *Help* buffers * lisp/help-fns.el (describe-function-1): If we use curved quotes, set help buffer's buffer-file-coding-system to UTF-8. (Bug#21780) 2015-10-29 Stefan Monnier * lisp/emacs-lisp/cl-generic.el: Add (major-mode MODE) context. (cl--generic-derived-specializers): New function. (cl--generic-derived-generalizer): New generalizer. (cl-generic-generalizers): New specializer (derived-mode MODE). (cl--generic-split-args): Apply the rewriter, if any. (cl-generic-define-context-rewriter): New macro. (major-mode): Use it to define a new context-rewriter, so we can write `(major-mode MODE)' instead of `(major-mode (derived-mode MODE))'. * lisp/frame.el (window-system): New context-rewriter so we can write `(window-system VAL)' instead of (window-system (eql VAL)). (cl--generic-split-args): Apply the rewriter, if any. (frame-creation-function): Use the new syntax. * lisp/term/x-win.el (window-system-initialization) (handle-args-function, frame-creation-function) (gui-backend-set-selection, gui-backend-selection-owner-p) (gui-backend-selection-exists-p, gui-backend-get-selection): * lisp/term/w32-win.el (window-system-initialization) (handle-args-function, frame-creation-function) (gui-backend-set-selection, gui-backend-get-selection) (gui-backend-selection-owner-p, gui-backend-selection-exists-p): * lisp/term/pc-win.el (gui-backend-get-selection) (gui-backend-selection-exists-p, gui-backend-selection-owner-p) (gui-backend-set-selection, window-system-initialization) (frame-creation-function, handle-args-function): * lisp/term/ns-win.el (window-system-initialization) (handle-args-function, frame-creation-function) (gui-backend-set-selection, gui-backend-selection-exists-p) (gui-backend-get-selection): * lisp/startup.el (handle-args-function): * lisp/term/xterm.el (gui-backend-get-selection) (gui-backend-set-selection): Use the new syntax. 2015-10-29 Stefan Monnier * test/indent/css-mode.css: Add tests for url(...) syntax. 2015-10-29 Stefan Monnier * lisp/emacs-lisp/smie.el: Use `declare' for `pure'. (smie-precs->prec2, smie-merge-prec2s, smie-bnf->prec2) (smie-prec2->grammar): Use `declare'. 2015-10-29 Stefan Monnier * lisp/emacs-lisp/cl-generic.el: Accommodate future changes. (cl--generic-generalizer): Add `name' field. (cl-generic-make-generalizer): Add corresponding `name' argument. (cl-generic-define-generalizer): New macro. (cl--generic-head-generalizer, cl--generic-eql-generalizer) (cl--generic-struct-generalizer, cl--generic-typeof-generalizer) (cl--generic-t-generalizer): Use it. (cl-generic-ensure-function): Add `noerror' argument. (cl-generic-define): Use it so we don't follow aliases. (cl-generic-define-method): Preserve pre-existing ordering of methods. (cl--generic-arg-specializer): New function. (cl--generic-cache-miss): Use it. (cl-generic-generalizers): Only fset a temporary definition during bootstrap. (cl--generic-struct-tag, cl--generic-struct-specializers): Allow extra arguments. * lisp/emacs-lisp/eieio-compat.el (eieio--generic-static-symbol-generalizer) (eieio--generic-static-object-generalizer): Use cl-generic-define-generalizer. (eieio--generic-static-symbol-specializers): Allow extra arguments. * lisp/emacs-lisp/eieio-core.el (eieio--generic-generalizer) (eieio--generic-subclass-generalizer): Use cl-generic-define-generalizer. (eieio--generic-subclass-specializers): Allow extra arguments. 2015-10-29 Stefan Monnier * lisp/emacs-lisp/bytecomp.el (compile-defun): Add defvars in scope. 2015-10-29 Michael Albinus Add "afp" method to Tramp * doc/misc/tramp.texi (GVFS based methods): Describe `afp' method. * lisp/net/tramp-gvfs.el (tramp-gvfs-methods): Add "afp" method. (tramp-gvfs-handle-expand-file-name) (tramp-gvfs-handler-mounted-unmounted) (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec) (tramp-gvfs-maybe-open-connection): Support also "afp". (tramp-gvfs-handle-file-attributes): Handle the case of empty "owner::user" and "owner::group" entries. 2015-10-29 Andy Moreton Handle negative coordinates in ‘x_calc_absolute_position’ * src/w32term.c (x_calc_absolute_position): Find display origin to allow for negative coordinates. 2015-10-28 Stefan Monnier (internal--syntax-propertize): Save match-data here (bug#21766) * lisp/emacs-lisp/syntax.el (internal--syntax-propertize): Save match-data. * lisp/simple.el (delete-trailing-whitespace): Undo last change. 2015-10-28 Dmitry Gutov Don't require default-directory to end with a slash * doc/lispref/files.texi (Magic File Names): Document the change in unhandled-file-name-directory. * lisp/url/url-handlers.el (url-handler-unhandled-file-name-directory): Update accordingly. * src/buffer.c (default-directory): Update the docsting. * src/fileio.c (unhandled-file-name-directory): Default to calling `file-name-as-directory' (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02294.html). 2015-10-28 Artur Malabarba * lisp/isearch.el: Delete some outdated comments. 2015-10-28 Vibhav Pant Fix eshell/clear not working if the output has a small line count * lisp/eshell/esh-mode.el (eshell/clear): Use (window-size) as the number of newlines to be inserted. This fixes the issue where eshell/clear wouldn't work if the prompt was not at the bottom of the window, and the output wasn't too long. 2015-10-28 Stefan Monnier * lisp/files.el (write-file): Use vc-refresh-state. * lisp/autorevert.el (auto-revert-handler): Use vc-refresh-state. * lisp/vc/pcvs.el (cvs-revert-if-needed): Use vc-refresh-state. 2015-10-28 Stefan Monnier * lisp/emacs-lisp/macroexp.el: Tweak macroexp-if optimizations. (macroexp-unprogn): Make sure we never return an empty list. (macroexp-if): Remove unused (and unsafe) optimization. Optimize (if A T (if B T E)) into (if (or A B) T E) instead, which does occur occasionally. 2015-10-28 Juanma Barranquero Fix bug#21766 and add test * lisp/simple.el (delete-trailing-whitespace): Save match data when calling `skip-syntax-backward'. * test/automated/simple-test.el (simple-delete-trailing-whitespace): New test. 2015-10-28 Artur Malabarba * doc/lispref/sequences.texi (Sequence Functions): Fix typo. 2015-10-28 Paul Eggert * src/dispnew.c (init_display): Simplify overflow checking. 2015-10-28 Artur Malabarba * lisp/character-fold.el (character-fold-to-regexp): Fix case where string ends in space 2015-10-28 Artur Malabarba * lisp/emacs-lisp/seq.el (seq-mapn): New function. * doc/lispref/sequences.texi (Sequence Functions): Document seq-mapn. 2015-10-28 Artur Malabarba * lisp/character-fold.el: Make compatible with lax-whitespace. (character-fold-to-regexp): Rework internals to play nice with lax-whitespacing. When the user types a space, we want to match the table entry for ?\s, which is generally a regexp like "[ ...]". However, the `search-spaces-regexp' variable doesn't "see" spaces inside these regexp constructs, so we need to use "\\( \\|[ ...]\\)" instead (to manually expose a space). Furthermore, the lax search engine acts on a bunch of spaces, not on individual spaces, so if the string contains sequential spaces like " ", we need to keep them grouped together like this: "\\( \\|[ ...][ ...]\\)". 2015-10-28 Artur Malabarba * lisp/isearch.el: Refactor momentary messages. (isearch--momentary-message): New function. (isearch-toggle-lax-whitespace, isearch-toggle-case-fold) (isearch-toggle-invisible): Use it. 2015-10-28 Artur Malabarba * lisp/isearch.el: Define all toggles with `isearch-define-mode-toggle'. (isearch-define-mode-toggle): New macro. (isearch-toggle-invisible): Rename to `isearch-define-mode-toggle'. (isearch-toggle-case-fold, isearch-toggle-invisible) (isearch-toggle-regexp, isearch-toggle-lax-whitespace): Define with `isearch-define-mode-toggle'. 2015-10-28 Michael Albinus Avoid using `add-to-list' on a let-local var in tramp-smb.el * lisp/net/tramp-compat.el (tramp-compat-delete-dups): New defun. * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Use it. 2015-10-28 Michael Albinus * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Revert 692bce5b9eccfae19ae2a5a23a9ccd8d6bf86076, `delete-dups' does not exist in XEmacs 21.4. 2015-10-28 Anders Lindgren Fixed OS X startup crash Input events started to arrive before ns_term_init() was finished. Solved by blocking input. This also seems to correct the "You can't open the application "Emacs" because it may be damaged or incomplete" error issued when double-clicking on the Emacs application. * src/nsterm.m (ns_constrain_all_frames, ns_init_term): Block input. * src/nsterm.m (ns_send_appdefined, EmacsApp): Trace output. 2015-10-28 Artur Malabarba * src/process.c (Fget_buffer_process): Improve docstring. Document the fact that it doesn't return dead processes. 2015-10-28 Anders Lindgren Fix incorrect NextStep tool-bar-mode -- wrong number of rows in frame. * src/nsterm.h (struct ns_output): New flag, in_animation. * src/nsfns.m (Fx_create_frame): Initialize in_animation flag. * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar): Set in_animation flag around call to "setVisible". Set new tool bar height before call to setVisible. * src/nsterm.m (x_set_window_size): Don't call [view setRow: andColumns:] as this fools the subsequent call to updateFrameSize from performing the real resize. (windowDidResize): Don't update anything when in_animation is non-zero. Trace output. * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar) (EmacsToolbar): * src/nsterm.m (x_set_window_size, updateFrameSize) ([EmacsView setRows: andColumns:]) 2015-10-28 Nicolas Petton * lisp/emacs-lisp/thunk.el (thunk-delay): Fix the macro. 2015-10-28 Tassilo Horn Prettify TeX macros not ending in a word char * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Prettify macros which don't end in a word character. 2015-10-27 Dmitry Gutov Pipe Hg commit descriptions through 'tabindent' * lisp/vc/vc-hg.el (vc-hg-log-format): Pipe commit description through 'tabindent'. (vc-hg-log-view-mode): Set tab-width to 2 locally. (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02259.html) 2015-10-27 Stefan Monnier * lisp/net/tramp-smb.el: Avoid using `add-to-list' on a let-local var. (tramp-smb-handle-directory-files): Use `delete-dups'. * lisp/net/tramp.el (auto-save-file-name-transforms): Declare. 2015-10-27 Stefan Monnier * lisp/international/ccl.el: Use lexical-binding. (ccl-compile-if): Remove unused var `false-ic'. (ccl-compile-write-repeat): Remove unused var `i'. (ccl-compile-map-single): Remove unused var `id'. (ccl-dump, ccl-dump-binary): Use explicit let-binding to bind the dynamic var `ccl-code'. 2015-10-27 Stefan Monnier * lisp/json.el (json-new-object): Optimize trivial `list' call. 2015-10-27 Stefan Monnier * lisp/help.el: Fix bug with incorrect arglist string. (help-add-fundoc-usage): Don't mistake a mis-formatted string for a list. 2015-10-27 Stefan Monnier * lisp/gnus/gnus-topic.el: Silence some warnings. (gnus-topic-prepare-topic): Remove unused var `topic'. (gnus-topic-remove-topic): Mark unused arg `hide'. (gnus-tmp-header): Declare. (gnus-topic-goto-missing-group): Remove unused var `entry'. (gnus-topic-unmark-topic): Mark unused arg `dummy'. (gnus-topic-copy-matching): Mark unused arg `copyp'. Move initialization of `topic' into its declaration. 2015-10-27 Stephen Leake Minor CEDET fixes * lisp/cedet/cedet-global.el (cedet-gnu-global-gtags-call): Handle warnings from gtags about invalid options. (cedet-gnu-global-create/update-database): Do incremental update properly. * lisp/cedet/ede/generic.el (ede-enable-generic-projects): Get monotone root right. 2015-10-27 Michael Albinus Fall back to polling in autorevert when needed * lisp/autorevert.el (auto-revert-notify-handler): When a `stopped' event arrives from file notification, fall back to polling. * test/automated/file-notify-tests.el (file-notify-test03-autorevert): Extend test for polling when file notification ceases to work. 2015-10-27 Dmitry Gutov Show full commit messages in 'hg log' when appropriate * lisp/vc/vc-hg.el (vc-hg-log-format): New variable. (vc-hg-print-log, vc-hg-expanded-log-entry): Use it. (http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg02191.html) 2015-10-27 Nicolas Petton Use a plain SVG file for the icon * etc/images/icons/hicolor/scalable/apps/emacs.svg: Use a plain SVG format instead of the Inkscape SVG format. 2015-10-27 Michael Albinus Fix subtle bug in auto-revert-tests.el * test/automated/auto-revert-tests.el (auto-revert-test02-auto-revert-mode-dired): Narrow *Messages* buffer where it belongs to. (Bug#21668) 2015-10-26 Nicolas Petton * lisp/emacs-lisp/map.el: Better docstrings. * lisp/emacs-lisp/seq.el: Better docstrings. * lisp/emacs-lisp/seq.el: Rename all seq arguments to sequence. 2015-10-26 Phillip Lord * lisp/emacs-lisp/ert.el: Print results without newline escaping. 2015-10-26 Stephen Leake Clarify that load-path contents should be directory file names * doc/lispref/files.texi (Directory Names): Define and use "directory file name". Recommend `expand-file-name'. * src/lread.c (load-path): Fix doc string; elements are directory file names. 2015-10-26 Eli Zaretskii Fix simple-test.el test * test/automated/simple-test.el (simple-test--dummy-buffer): Make sure indentation doesn't use TABs, otherwise the 6th test might fail. 2015-10-26 Mark Oteiza * lisp/net/eww.el (eww-bookmark-prepare): Use truncate-string-to-width. `substring' does not account for full width characters. 2015-10-26 Michael Albinus Further work on `stopped' events in filenotify.el * doc/lispref/os.texi (File Notifications): Rework examples. * lisp/filenotify.el (file-notify--rm-descriptor): Optional parameter. (file-notify--rm-descriptor, file-notify-callback): Improve check for sending `stopped' event. (file-notify-add-watch): Check for more events for `inotify'. * test/automated/file-notify-tests.el (file-notify--test-expected-events): New defvar. (file-notify--test-with-events): Use it. (file-notify--test-cleanup): Make it more robust when deleting directories. (file-notify--test-event-test): Check also for watched directories. (file-notify--test-event-handler): Suppress temporary .#files. (file-notify-test02-events, file-notify-test04-file-validity): Rework `stopped' events. (file-notify-test05-dir-validity): Wait for events when appropriate. 2015-10-26 Artur Malabarba * src/keyboard.c (post-command-hook): Shorten docstring. 2015-10-26 Tassilo Horn Fix infinite loop in sh-script's SMIE code * lisp/progmodes/sh-script.el (sh-smie-sh-forward-token): Fix infinite loop (bug#21747). 2015-10-25 Artur Malabarba * lisp/isearch.el (search-default-regexp-mode): Revert to nil. Character-fold search _still_ doesn't play well with lax-whitespace. So disable it by default (again) for now. 2015-10-25 Artur Malabarba * lisp/isearch.el: No visual feedback for default search mode. During an isearch where character-folding is the default, we don't want to take up minibuffer space just to tell the user that "Char-fold " is on. The same goes for other modes, if the user changes the default. In contrast, if the user toggles OFF the default mode, they should see "Literal", to distinguish it from the default mode. (isearch--describe-regexp-mode): Return "" if describing the default mode, and return "literal " if describing a plain search and it is not default. 2015-10-25 Artur Malabarba * test/automated/simple-test.el: New file. Define tests for `newline' and `open-line'. 2015-10-25 Artur Malabarba * lisp/simple.el (open-line): Integrate with electric-indent-mode. Also run `post-self-insert-hook' when called interactively. 2015-10-25 Artur Malabarba * lisp/simple.el (open-line): Fix docstring. Also explain apparently redundant line. 2015-10-25 Thomas Fitzsimmons Alexandru Harsanyi Sync with soap-client repository, version 3.0.1 * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Bump version to 3.0.1. * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Update home page. 2015-10-25 Eli Zaretskii * lisp/progmodes/grep.el (grep): Doc fix. (Bug#21754) 2015-10-25 Artur Malabarba * src/keyboard.c (post-command-hook): Extend the docstring. Mainly, explain how to use it without hanging Emacs, or giving the impression that it is hanging. Also mention `pre-command-hook'. (pre-command-hook): Mention `post-command-hook'. 2015-10-25 Artur Malabarba * lisp/custom.el (custom-declare-variable): Shorten code again. Without using pcase this time. We can't use pcase because it is loaded after custom in loadup.el. Also add a comment explaining this to future dummies like me. 2015-10-25 Michael Albinus * doc/lispref/os.texi (File Notifications): Document `stopped event'. 2015-10-25 Michael Albinus Introduce `stopped' event in file notification * lisp/filenotify.el (file-notify--rm-descriptor): New defun. (file-notify-rm-watch): Use it. (file-notify-callback): Implement `stopped' event. (file-notify-add-watch): Mention `stopped' in the docstring. Check, that upper directory exists. * test/automated/file-notify-tests.el (file-notify-test01-add-watch): Add two test cases. (file-notify-test02-events): Handle also `stopped' event. (file-notify-test04-file-validity): Add another test case. 2015-10-25 Paul Eggert Revert commit that broke 'make bootstrap' * lisp/custom.el (custom-declare-variable): Revert commit 79fac080d277fed07b3c192890ad59d36d9f83b6. custom.el needs to work even when pcase has not been defined yet, when doing bootstrapping. 2015-10-25 Paul Eggert Port recent inline functions fix to Standard C * src/lisp.h (LISP_MACRO_DEFUN, LISP_MACRO_DEFUN_VOID): Remove. All uses rewritten to define the function directly rather than to use a macro to define the function. This conforms to Standard C, which does not allow stray semicolons at the top level. I hope it also avoids the problems with TAGS. Those macros, though clever, were pretty confusing anyway, and it wasn’t clear they were worth the aggravation even without the TAGS problem. 2015-10-24 Artur Malabarba * lisp/isearch.el: Make character-fold search the default again. 2015-10-24 Artur Malabarba * lisp/character-fold.el: Many improvements. (character-fold-search-forward, character-fold-search-backward): New command. (character-fold-to-regexp): Remove lax-whitespace hack. (character-fold-search): Remove variable. Only isearch and query-replace use char-folding, and they both have their own variables to configure that. 2015-10-24 Artur Malabarba * lisp/isearch.el: Generalize definition of regexp-function toggles. (isearch-specify-regexp-function): New macro for specifying possible values of `isearch-regexp-function'. (isearch-toggle-character-fold, isearch-toggle-symbol) (isearch-toggle-word): Define with `isearch-specify-regexp-function'. 2015-10-24 Artur Malabarba * lisp/isearch.el (search-default-regexp-mode): New variable. (isearch-mode): Use it. 2015-10-24 Artur Malabarba * lisp/isearch.el (search-exit-option, search-slow-window-lines) (search-slow-speed, search-upper-case) (search-nonincremental-instead, search-whitespace-regexp) (search-invisible, isearch-hide-immediately) (isearch-resume-in-command-history, search-ring-max) (regexp-search-ring-max, search-ring-update, search-highlight) (isearch-fail): Delete :group entries. 2015-10-24 Artur Malabarba * lisp/custom.el (custom-declare-variable): Shorten code a bit. 2015-10-24 Juanma Barranquero addpm.c: Silence some warnings. * nt/addpm.c (DdeCommand): Cast pData argument of DdeClientTransaction to LPBYTE. (add_registry): Pass NULL to optional lpClass argument of RegCreateKeyEx, not an empty string. 2015-10-24 Juanma Barranquero addpm.c: Do not add obsolete GTK libraries to the path. * nt/addpm.c (REG_GTK, REG_RUNEMACS_PATH): Delete. (add_registry): Remove variables `size' and `gtk_key'. Do not add the GTK DLL directory to the library search path; it is confusing behavior (in particular, the same Emacs version with and without invoking addpm will use a different path), and the GTK image libraries are obsolete anyway. 2015-10-24 Juanma Barranquero addpm.c: Replace existing registry entries, but do not create new ones * nt/addpm.c (add_registry): If the Emacs registry key exists, replace existing values from previous versions, but do not add new ones; the key could exist for other reasons unrelated to old Emacsen, like X-style resources, or to set some environment variables like HOME or LANG, and in that case we don't want to populate it with obsolete values. 2015-10-24 Juanma Barranquero * nt/addpm.c (add_registry): Do not compute unused return value. 2015-10-24 Juanma Barranquero addpm.c: Don't pass REG_OPTION_NON_VOLATILE to RegOpenKeyEx * nt/addpm.c (add_registry): Pass 0 to ulOptions argument of RegOpenKeyEx, not REG_OPTION_NON_VOLATILE. This doesn't change current behavior because REG_OPTION_NON_VOLATILE is defined to be 0L anyway, but that option is actually documented only for RegCreateKeyEx. 2015-10-24 Juanma Barranquero * src/w32notify.c (Fw32notify_add_watch): Fix version check. 2015-10-24 Eli Zaretskii Update frame title when redisplay scrolls selected window * src/xdisp.c (redisplay_window): Reconsider the frame's title when the mode-line of the frame's selected window needs to be updated. 2015-10-24 Eli Zaretskii Update frame title when scrolling the selected window * src/window.c (wset_update_mode_line): New function, sets either the window's update_mode_line flag or the global update_mode_lines variable. (Fset_window_start, set_window_buffer, window_scroll_pixel_based) (window_scroll_line_based): Call it instead of only setting the window's update_mode_line flag. 2015-10-24 Eli Zaretskii An even better fix for bug#21739 * src/window.c (set_window_buffer): If the window is the frame's selected window, set update_mode_lines, not the window's update_mode_line flag. * src/buffer.c (Fkill_buffer): Undo last change. (set_update_modelines_for_buf): Function deleted. 2015-10-24 Thomas Fitzsimmons Alexandru Harsanyi Sync with soap-client repository, version 3.0.0 * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Bump version to 3.0.0. * lisp/net/soap-inspect.el: Merge in changes from Emacs master branch. * lisp/net/soap-client.el: Merge in changes from Emacs master branch. * lisp/net/soap-inspect.el: Shorten first line description. * lisp/net/soap-client.el: Make a small whitespace fix. * lisp/net/soap-inspect.el: Update copyright years. * lisp/net/soap-client.el (soap-encoded-namespaces): Move above first use in soap-encode-xs-element. * lisp/net/soap-client.el (soap-type-is-array?): new defun (soap-encode-xs-element): handle array elements in this function (soap-encode-xs-complex-type): flag error if asked to encode an array type, this is handled in `soap-encode-xs-element' * lisp/net/soap-inspect.el (soap-inspect-xs-attribute-group): Do not print type for attribute group. * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute-group) New function. (soap-inspect-xs-attribute-group): Likewise. * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-attribute-group): Resolve references of attributes in an attribute group. * lisp/net/soap-client.el (soap-decode-xs-attributes): Process attribute type directly, not through soap-wsdl-get. * lisp/net/soap-client.el (soap-xs-parse-attribute): Leave reference nil if reference attribute is nil. * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute): Convert XML schema attributes to xsd:string. * lisp/net/soap-inspect.el (soap-sample-value-for-xs-attribute): New function. (soap-sample-value-for-xs-simple-type): Prepend attributes to result. (soap-sample-value-for-xs-complex-type): Likewise. (soap-inspect-xs-attribute): New function. (soap-inspect-xs-simple-type): Print attributes. (soap-inspect-xs-complex-type): Likewise. * lisp/net/soap-inspect.el (soap-resolve-references-for-xs-simple-type): Resolve references for attributes. (soap-resolve-references-for-xs-complex-type): Likewise. * lisp/net/soap-client.el (soap-xml-node-find-matching-child): Rename from soap-xml-node-first-child. (soap-xs-parse-attribute): Call soap-xml-node-find-matching-child. (soap-xs-parse-simple-type): Likewise. * lisp/net/soap-client.el (soap-invoke-async): Add error checking. * lisp/net/soap-client.el (soap-invoke-internal): New function. (soap-invoke-async): Call soap-invoke-internal. (soap-invoke): Likewise. * lisp/net/soap-client.el (soap-invoke-async): Ensure buffer passed to url-retrieve callback is killed. * lisp/net/soap-client.el (soap-parse-wsdl-phase-validate-node): Rename function. (soap-parse-wsdl-phase-fetch-imports): Likewise. (soap-parse-wsdl-phase-parse-schema): Likewise. (soap-parse-wsdl-phase-fetch-schema): Likewise. (soap-parse-wsdl-phase-finish-parsing): Likewise. (soap-parse-wsdl): Update calls. * lisp/net/soap-client.el (soap-invoke-async): Fix callback invocation. * lisp/net/soap-client.el (soap-invoke-async): New function. (soap-invoke): Reimplement using soap-invoke-async. * lisp/net/soap-client.el (soap-parse-server-response): Improve docstring. (soap-invoke): Inline call to soap-parse-server-response. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Prevent incorrect warning. * lisp/net/soap-client.el (soap-parse-server-response): Rename soap-process-url-response. Destroy the mime part. (soap-invoke): Call soap-parse-server-response. * lisp/net/soap-client.el: Update copyright date. * lisp/net/soap-client.el: Fix checkdoc issues. * lisp/net/soap-client.el: Fix indentation and long lines. * lisp/net/soap-client.el (soap-time-format): Remove variable. (soap-encode-xs-basic-type): Simplify date-time format detection. (soap-decode-xs-basic-type): Remove soap-time-format support. * lisp/net/soap-client.el (soap-process-url-response): New function. (soap-fetch-xml-from-url): Call soap-process-url-response. (soap-parse-wsdl-phase-1): New function. (soap-parse-wsdl-phase-2): Likewise. (soap-parse-wsdl-phase-3): Likewise. (soap-parse-wsdl-phase-4): Likewise. (soap-parse-wsdl-phase-5): Likewise. (soap-parse-wsdl): Call phase functions. * lisp/net/soap-client.el (soap-decode-xs-basic-type): Remove one-argument and call. * lisp/net/soap-client.el (soap-decode-date-time): Improve docstring. * lisp/net/soap-client.el (soap-xmlschema-imports): Remove variable. (soap-parse-schema): Add wsdl argument. Look up XML schema imports from wsdl. (soap-load-wsdl): Do not set soap-xmlschema-imports. (soap-parse-wsdl): Get XML schema imports from wsdl. * lisp/net/soap-client.el (soap-current-file): Remove variable. (soap-wsdl): Add current-file slot. (soap-fetch-xml-from-url): Add wsdl argument. Look up current file from wsdl. (soap-fetch-xml-from-file): Likewise. (soap-fetch-xml): Likewise. (soap-load-wsdl): Always create wsdl object first. (soap-parse-wsdl): Pass wsdl to soap-fetch-xml. * lisp/net/soap-client.el (soap-xs-element): Add is-group slot. (soap-xs-parse-element): Set is-group slot. (soap-resolve-references-for-xs-element): Skip is-group elements. (soap-xs-complex-type): Add is-group slot. (soap-xs-parse-complex-type): Set is-group slot. (soap-xs-parse-sequence): Parse xsd:group elements. (soap-resolve-references-for-xs-complex-type): Inline elements from referenced xsd:group nodes. (soap-parse-schema): Parse xsd:group nodes. * lisp/net/soap-client.el (soap-invoke): Don't set url-http-version to 1.0. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Allow choice nodes to accept multiple values. * lisp/net/soap-client.el (soap-encode-body): Check parameters argument for extra header values. * lisp/net/soap-client.el (soap-well-known-xmlns): Add wsa and wsaw tags. (soap-operation): Add input-action and output-action slots. (soap-parse-operation): Parse wsaw:Action nodes. (soap-encode-body): Encode service-url for WS-Addressing. (soap-create-envelope): Likewise. (soap-invoke): Update soap-create-envelope call to provide service-url argument. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Support xsi:type override attribute. (soap-decode-array): Likewise. * lisp/net/soap-client.el (soap-parse-schema): Handle location attribute. * lisp/net/soap-client.el (soap-decode-type): Check that multiRef matched validation regexp. * lisp/net/soap-client.el (soap-encode-xs-simple-type): Encode xsd:list nodes. (soap-decode-xs-simple-type): Decode xsd:list nodes. * lisp/net/soap-client.el (soap-get-candidate-elements): Fix reference handling. * lisp/net/soap-client.el (soap-xs-simple-type): Add is-list slot. (soap-xs-parse-simple-type): Call soap-xs-add-list for xsd:list nodes. (soap-xs-add-list): New function. * lisp/net/soap-client.el (soap-encode-xs-element): When a boolean is expected, interpret nil as "false". * lisp/net/soap-client.el (soap-make-xs-basic-types): Add gYearMonth, gYear, gMonthDay, gDay and gMonth. * lisp/net/soap-client.el (soap-time-format): New variable. (soap-encode-xs-basic-type): Handle dateTime, time, date, gYearMonth, gYear, gMonthDay, gDay and gMonth. (soap-decode-date-time): New function. (soap-decode-xs-basic-type): Use soap-decode-date-time. * lisp/net/soap-client.el (soap-encode-xs-basic-type): Validate value after encoding. (soap-decode-xs-basic-type): Validate value before decoding. * lisp/net/soap-client.el (soap-validate-xs-basic-type): New function. (soap-validate-xs-simple-type): Call soap-validate-xs-basic-type. * lisp/net/soap-client.el (soap-xs-add-union): Append result to base instead of overwriting it. (soap-validate-xs-simple-type): Add union support. * lisp/net/soap-client.el (soap-xs-add-restriction): Translate pattern to Emacs regexp using xsdre-translate. (soap-validate-xs-simple-type): Validate value against pattern. * lisp/net/soap-client.el (soap-xs-add-union): Preserve WSDL order of inline simpleType nodes. (soap-decode-type): Handle union types. * lisp/net/soap-client.el (soap-decode-xs-attributes): Decode basic-type attributes. * lisp/net/soap-client.el (soap-get-xs-attributes-from-groups): Rename from soap-xs-attribute-group-consolidate, all callers updated (soap-get-xs-attributes): Rename from soap-xs-attributes-consolidate, all callers updated * lisp/net/soap-client.el (soap-xs-type): Add attribute-group slot. (soap-xs-attribute-group): New type. (soap-xs-parse-attribute-group): New function. (soap-resolve-references-for-xs-attribute-group): Likewise. (soap-xs-add-extension): Handle attribute groups. (soap-resolve-references-for-xs-simple-type): Likewise. (soap-xs-parse-complex-type): Likewise. (soap-xs-parse-extension-or-restriction): Likewise. (soap-resolve-references-for-xs-complex-type): Likewise. (soap-xs-attribute-group-consolidate): New function. (soap-xs-attributes-consolidate): Handle attribute groups. (soap-parse-schema): Likewise. * lisp/net/soap-client.el (soap-encode-xs-basic-type): Fix boolean encoding. * lisp/net/soap-client.el (soap-encode-xs-complex-type): Print ref element names in warnings. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Fix splicing. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Eliminate invalid warnings for choice types. * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes): Also encode base type attributes. * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix compilation warning. Print e-name in warnings, or element if e-name is nil. * lisp/net/soap-client.el (soap-xs-element): Add alternatives slot. (soap-xs-parse-element): Set substitution-group. (soap-resolve-references-for-xs-element): Populate alternatives slot. (soap-get-candidate-elements): New function. (soap-encode-xs-complex-type): Iterate through all candidate elements. Handle types with nil type indicator. Fix warning logic. * lisp/net/soap-client.el (soap-current-wsdl): Move declaration earlier in the file to prevent compiler warning. * lisp/net/soap-client.el (soap-node-optional): New function. (soap-node-multiple): Likewise. (soap-xs-parse-element): Call soap-node-optional and soap-node-multiple. (soap-xs-complex-type): Add optional? and multiple? slots. (soap-xml-get-children-fq): New function. (soap-xs-element-get-fq-name): Likewise. (soap-xs-complex-type-optional-p): Likewise. (soap-xs-complex-type-multiple-p): Likewise. (soap-xs-attributes-consolidate): Likewise. (soap-decode-xs-attributes): Likewise. (soap-decode-xs-complex-type): Decode types with nil type indicator. Support children that use local namespaces. Decode attributes. Add type considerations to optional? and multiple? warnings. * lisp/net/soap-client.el (soap-xs-parse-extension-or-restriction): Store parsed attributes. (soap-encode-xs-complex-type-attributes): Encode custom attributes. * lisp/net/soap-client.el (soap-encode-xs-complex-type-attributes): Don't add the xsi:type attribute (Exchange refuses requests which have this attribute). * lisp/net/soap-client.el, lisp/net/soap-inspect.el: Convert to lexical binding, correct compiler warnings about unused function arguments and local variables. * lisp/net/soap-client.el (soap-decode-xs-complex-type): Handle nil type indicator. (soap-parse-envelope): Handle response headers. (soap-parse-response): Likewise. Only return non-nil decoded values. * lisp/net/soap-client.el (soap-validate-xs-simple-type): Return validated value. * lisp/net/soap-client.el (soap-xs-parse-element) (soap-xs-parse-simple-type) (soap-xs-parse-complex-type) (soap-parse-message) (soap-parse-operation): Add the current namespace to the element being created. (soap-resolve-references-for-xs-element) (soap-resolve-references-for-xs-simple-type) (soap-resolve-references-for-xs-complex-type) (soap-resolve-references-for-operation): Resolve the namespace to the namespace tag. (soap-make-wsdl): specify a namespace tag when creating the xsd and soapenc namespaces (soap-wsdl-resolve-references): don't update namespace tags in elements here (soap-parse-port-type): bind the urn: to soap-target-xmlns (soap-encode-body): don't add nil namespace tags to soap-encoded-namespaces * lisp/net/soap-inspect.el: Use `soap-make-wsdl` to construct the object for registering the soap-inspect method. Make debbugs tests pass. * lisp/net/soap-client.el (soap-decode-any-type): Use soap-l2fq on the type name, also skip string only nodes when decoding a structure. (soap-xs-parse-complex-type): (BUG) Dispatch parsing for choice types too. (soap-encode-body): Grab the header value from the param table. * lisp/net/soap-client.el (soap-should-encode-value-for-xs-element): New function. (soap-encode-xs-element): Don't encode nil value unless needed. * lisp/net/soap-client.el (soap-bound-operation): New slot `soap-body`. (soap-parse-binding): Parse the message parts required in the body. (soap-encode-body): Encode only the parts that are declared to be part of the body. * lisp/net/soap-client.el (soap-encode-xs-element): use the fq name when writing out the tag. (soap-encode-body): Remove hack that inserts the xmlns in the element attributes list. * lisp/net/soap-client.el (soap-xs-attribute): Add "default" slot. (soap-xs-parse-attribute): Default slot is set from the XML "fixed" attribute. (soap-encode-xs-complex-type-attributes): Encode any attributes that have a default value. Also, don't put the xsi:nil attribute when the complex type has no content anyway. * lisp/net/soap-client.el (soap-well-known-xmlns): Add the xml namespace. (soap-local-xmlns): Start with the xml namespace. (soap-xml-node-first-child): Skip xsd:annotation nodes too. (soap-make-xs-basic-types): More xsd types added. (soap-encode-xs-basic-type, soap-decode-xs-basic-type): Handle "language", "time", "date", "nonNegativeInteger". (soap-resolve-references-for-xs-element): Don't signal an error if the element does not have a type. (soap-xs-parse-simple-type): Subtypes are handled with ecase, added stum for xsd:list. (soap-xs-add-union): Call soap-l2fq on all union members. (soap-xs-add-extension): Call soap-l2fq on the base member. (soap-resolve-references-for-xs-simple-type): Don't signal an error if the simple type has no base. (soap-resolve-references-for-xs-simple-type): Bugfix, call soap-wsdl-get on each type of the base. * lisp/net/soap-client.el (soap-resolve-references-for-xs-attribute): Referenced type can be eiher a simple type or a basic type. (soap-xs-add-restriction) (soap-xs-parse-extension-or-restriction): Use `soap-l2fq' on base. (soap-make-xs-basic-types) (soap-encode-xs-basic-type, soap-decode-xs-basic-type): Add support for more XMLSchema basic types. (soap-current-file, soap-xmlschema-imports): New defvars. (soap-parse-schema): Add locations from xsd:import tags to `soap-xmlschema-imports'. (soap-wsdl): Make destructor private. (soap-make-wsdl): New defun, SOAP-WSDL object constructor. (soap-wsdl-add-alias): Check if we try to replace aliases. (soap-fetch-xml-from-url, soap-fetch-xml-from-file) (soap-fetch-xml): New defuns. (soap-load-wsdl): Update to load the WSDL from either a file or an url. (soap-load-wsdl-from-url): Now an alias to `soap-load-wsdl'. (soap-parse-wsdl): Process wsdl:import tags and imports from `soap-xmlschema-imports'. * lisp/net/soap-client.el (soap-l2wk): Bugfix: call symbolp instead of symbol-name. (soap-l2fq): Make the name part always a string. (soap-name-p): New defun, used for name tests. * lisp/net/soap-inspect.el (soap-sample-value-for-xs-complex-type): Supply sample values for choice types with a special tag. * lisp/net/soap-client.el (soap-encode-xs-complex-type): Handle anonymous elements correctly. (soap-encode-value): Accept nodes that have no namespace tag. * lisp/net/soap-client.el (soap-invoke): Encode the string for `url-request-data' as UTF-8. Fixes issue 16. 2015-10-24 Nicolas Petton Update the new icon Move the E slightly to the right in the circle. * etc/images/icons/hicolor/128x128/apps/emacs.png: * etc/images/icons/hicolor/16x16/apps/emacs.png: * etc/images/icons/hicolor/24x24/apps/emacs.png: * etc/images/icons/hicolor/32x32/apps/emacs.png: * etc/images/icons/hicolor/48x48/apps/emacs.png: * etc/images/icons/hicolor/scalable/apps/emacs.svg: * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns: * nt/icons/emacs.ico: New icom update. 2015-10-24 Eli Zaretskii Avoid missing inline functions from lisp.h in TAGS * src/lisp.h (LISP_MACRO_DEFUN): Mention in the commentary the need to end each invocation with a semi-colon. Add a semi-colon at the end of each invocation of LISP_MACRO_DEFUN and LISP_MACRO_DEFUN_VOID. This is to avoid missing in TAGS inline functions defined immediately after each invocation, and also avoid tagging every invocation of these macros. 2015-10-24 Eli Zaretskii A better fix for bug#21739 * src/buffer.c (set_update_modelines_for_buf): New function. (Fkill_buffer): Use it to set the global variable update_mode_lines if the killed buffer was displayed in some window. Don't set windows_or_buffers_changed. This is a better fix for bug#21739 than the previous fix, since it will cause only redisplay of mode lines, not of entire windows, but will still catch attention of x_consider_frame_title in xdisp.c, which redraws the frame title. 2015-10-24 Tassilo Horn * lisp/dired-aux.el (dired-compress-files-alist): Add support for tar.bz2 and tar.xz archives. 2015-10-23 Eli Zaretskii Fix infloop in redisplay introduced by a recent change * src/xdisp.c (redisplay_internal): Avoid inflooping when redisplaying the selected window sets the selected frame's redisplay flag. (Bug#21745) 2015-10-23 Nicolas Petton * lisp/emacs-lisp/thunk.el: Better documentation. 2015-10-23 Nicolas Petton Replace the old icon for Windows and Mac OSX * nt/icons/emacs.ico: * nextstep/Cocoa/Emacs.base/Contents/Resources/Emacs.icns: Use the new icons. 2015-10-23 Stephen Leake * lisp/emacs-lisp/package.el (package-autoload-ensure-default-file): `load-path' should contain only directory names. 2015-10-23 Nicolas Petton New library thunk.el thunk.el is extracted from stream.el in ELPA, with additional tests. * lisp/emacs-lisp/thunk.el: New file. * test/automated/thunk-tests.el: New file. * etc/NEWS: Add information about thunk.el 2015-10-23 Michael Albinus Fix bug#21669 * lisp/filenotify.el (file-notify-rm-watch): Improve check for calling low-level functions. * test/automated/file-notify-tests.el (file-notify--test-timeout): Decrase to 6 seconds for remote directories. (file-notify-test02-events): Expect different number of `attribute-changed' events for the local and remote cases. Apply short delays between the operations, in order to receive all events in the remote case. Combine `attribute-change' tests. (Bug#21669) 2015-10-23 Eli Zaretskii Decode the HTML source when displaying it in EWW * lisp/net/eww.el (eww-view-source): Decode the HTML source according to its headers. 2015-10-23 Nicolas Petton New default icon * etc/images/icons/hicolor/128x128/apps/emacs23.png: * etc/images/icons/hicolor/16x16/apps/emacs23.png: * etc/images/icons/hicolor/24x24/apps/emacs23.png: * etc/images/icons/hicolor/32x32/apps/emacs23.png: * etc/images/icons/hicolor/48x48/apps/emacs23.png: * etc/images/icons/hicolor/scalable/apps/emacs23.svg: * etc/images/icons/hicolor/scalable/mimetypes/emacs-document23.svg: Move the old logo files to emacs23.*. * etc/images/icons/hicolor/128x128/apps/emacs.png: * etc/images/icons/hicolor/16x16/apps/emacs.png: * etc/images/icons/hicolor/24x24/apps/emacs.png: * etc/images/icons/hicolor/32x32/apps/emacs.png: * etc/images/icons/hicolor/48x48/apps/emacs.png: * etc/images/icons/hicolor/scalable/apps/emacs.svg: * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg: New files. * etc/images/icons/README: Update the copyright information. 2015-10-23 Eli Zaretskii Fix redisplay of frame title when current buffer is killed * src/buffer.c (Fkill_buffer): Set windows_or_buffers_changed to a non-zero value, to redisplay more than just the affected windows. (Bug#21739) 2015-10-23 Anders Lindgren NextStep maximization and NSTRACE rewrite Full-height, full-width, and maximized windows now cover the entire screen (except the menu bar), including the part where the system dock is placed. The system zoom animation is no longer used. Made NonMaximized->FullWidth->FullHeight->NonMaximized restore the original size. * src/nsterm.m (ns_menu_bar_height): New function, return height of the menu bar, or 0 when it's hidden. (constrain_frame_rect): New function for constraining a frame. (ns_constrain_all_frames): Set frame size explicitly rather than relying on the system doing it for us by writing back the current frame size. (windowWillUseStandardFrame): Register non-maximized width or height as new user size. When entering full width or height, the other size component is taken from the user size. (fullscreenState): New method for accessing the fullscreen state. (constrainFrameRect): Restrict frame to be placed under the menu bar, if present. The old version, sometimes, restricted the height of a frame to the screen, this version never does this. (zoom): Perform zoom by setting the frame to the full size of the screen (minus the menu bar). The default system function, with the zoom animation, is no longer used, as the final frame size doesn't cover the entire screen. Rework how to constrain resizing to the character grid. The old system used "resizeIncrements" in NSWindows. However, once a frame was resized so that it was not aligned to the text grid, it remained unaligned even after a resize. In addition, it conflicted when resizing a fullheight window. * src/nsterm.m (windowWillResize): Restrict frame size to text grid, unless when pixelwise frame resizing is enabled. (updateFrameSize, initFrameFromEmacs) (toggleFullScreen, handleFS): Don't set resizeIncrements. Redesign the NS trace system. The call structure is represented using indentations and vertical lines. The NSTRACE macro accepts printf-style arguments. New macros for printing various information. * src/nsterm.h (NSTRACE_ENABLED): Macro to enable trace system. (NSTRACE, NSTRACE_WHEN, NSTRACE_UNLESS): Macros to start a new block (typically a function), accept printf-style arguments. (NSTRACE_MSG): Macro for extra information, accepts printf-style arguments. (NSTRACE_what): Macros for printing various types. (NSTRACE_FMT_what): Macro with printf format string snippets. (NSTRACE_ARG_what): Macros for passing printf-style arguments, corresponds to NSTRACE_FMT_what. (NSTRACE_RETURN): Macro to print return value, accept printf-style arguments. (NSTRACE_RETURN_what): Macros to print return value for various types. * src/nsterm.m: Remove old NSTRACE macro * src/nsterm.m (nstrace_num): Trace counter. (nstrace_depth): Current call depth. (nstrace_leave): NSTRACE support function, called when the local variable "nstrace_enabled" goes out of scope using the "cleanup" extension. (ns_print_fullscreen_type_name): NSTRACE_FSTYPE support function. (constrain_frame_rect, ns_constrain_all_frames) (ns_update_auto_hide_menu_bar, ns_update_begin) (ns_update_window_begin, update_window_end, ns_update_end) (ns_focus, ns_unfocus, ns_ring_bell, ns_frame_raise_lower) (ns_frame_rehighlight, x_make_frame_visible) (x_make_frame_invisible, x_iconify_frame, x_free_frame_resources) (x_destroy_window, x_set_offset, x_set_window_size) (ns_fullscreen_hook, ns_lisp_to_color, ns_color_to_lisp) (ns_defined_color, frame_set_mouse_pixel_position) (note_mouse_movement, ns_mouse_position, ns_frame_up_to_date) (ns_define_frame_cursor, x_get_keysym_name, ns_redraw_scroll_bars) (ns_clear_frame, ns_clear_frame_area, ns_scroll_run) (ns_after_update_window_line, ns_shift_glyphs_for_insert) (dumpcursor, ns_draw_vertical_window_border) (ns_draw_window_divider, ns_draw_relief) (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background) (ns_dumpglyphs_image, ns_draw_glyph_string, ns_send_appdefined) (ns_read_socket, ns_select, ns_set_vertical_scroll_bar) (ns_set_horizontal_scroll_bar, ns_condemn_scroll_bars) (ns_redeem_scroll_bar, ns_judge_scroll_bars, ns_delete_terminal) (ns_create_terminal, ns_term_init, sendEvent) (applicationDidFinishLaunching, applicationDidBecomeActive) (timeout_handler, fd_handler, EmacsView_dealloc, changeFont) (acceptsFirstResponder, resetCursorRects, keyDown, mouseDown) (deltaIsZero, rightMouseDown, otherMouseDown, mouseUp) (rightMouseUp, otherMouseUp, scrollWheel, mouseMoved) (mouse_autoselect_window, in_window, mouseDragged) (rightMouseDragged, otherMouseDragged, windowShouldClose) (updateFrameSize, windowWillResize, windowDidResize) (windowDidBecomeKey, windowDidResignKey, windowWillMiniaturize) (initFrameFromEmacs, windowDidMove, windowDidDeminiaturize) (windowDidExpose, windowDidMiniaturize, windowWillEnterFullScreen) (windowDidEnterFullScreen, windowWillExitFullScreen) (windowDidExitFullScreen, toggleFullScreen, handleFS, setFSValue) (mouseEntered, mouseExited, menuDown, toolbarClicked, drawRect) (draggingEntered, performDragOperation, validRequestorForSendType) (setMiniwindowImage, constrainFrameRect, performZoom, zoom) (EmacsScroller_initFrame, EmacsScroller_setFrame) (EmacsScroller_dealloc, condemn, reprieve, judge) (resetCursorRects, setPosition, EmacsScroller_mouseDown) (EmacsScroller_mouseDragged, syms_of_nsterm): Use new trace system. * src/nsfns.m: Remove old NSTRACE macro * src/nsfns.m (x_set_icon_name, ns_set_name, x_explicitly_set_name) (x_implicitly_set_name, x_set_title, ns_set_name_as_filename) (ns_implicitly_set_icon_type, x_set_icon_type): Use new trace system. * src/nsimage.m: Remove old NSTRACE macro * src/nsimage.m (ns_image_from_XBM, ns_image_for_XPM) (ns_image_from_bitmap_file, ns_load_image): Use new trace system. * src/nsmenu.m: Remove old NSTRACE macro * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): Use new trace system. 2015-10-22 Katsumi Yamaoka No need to use eval-and-compile * lisp/gnus/auth-source.el: Do require epg (when compiling) before autoload epg functions. 2015-10-22 Katsumi Yamaoka Fix auth-source-epa-make-gpg-token compilation (bug#21724) * lisp/gnus/auth-source.el: Add eval-and-compile to autoloads for epg-context-set-passphrase-callback, epg-decrypt-string, and epg-encrypt-string; require epg when compiling for the setf-method for epg-context-armor. (bug#21724) 2015-10-22 Eli Zaretskii Include file cleanup for w32 files in src directory * src/w32xfns.c: Don't include keyboard.h, window.h, charset.h, fontset.h, blockinput.h. * src/w32uniscribe.c: Don't include dispextern.h, character.h, charset.h, fontset.h. * src/w32term.c: Don't include systty.h, systime.h, charset.h, character.h, ccl.h, dispextern.h, disptab.h, intervals.h, process.h, atimer.h, keymap.h, w32heap.h. Include bitmap/gray.xbm in an ifdef-ed away block. Include fcntl.h for CYGWIN. (set_frame_param): Remove unused function. * src/w32select.c: Don't include charset.h and composite.h. (setup_config, Fw32_get_clipboard_data): Avoid compiler warnings due to pointer signedness mismatches. * src/w32reg.c (w32_get_string_resource): Avoid compiler warnings due to pointer signedness mismatches. * src/w32proc.c: Include unistd.h. Don't include systime.h, process.h, dispextern.h. (sys_spawnve, Fw32_short_file_name, Fw32_long_file_name) (Fw32_application_type): Avoid compiler warnings due to pointer signedness mismatches. * src/w32menu.c: Don't include keymap.h, termhooks.h, window.h, character.h, charset.h, dispextern.h. (simple_dialog_show, add_menu_item): Avoid compiler warnings due to pointer signedness mismatches. * src/w32inevt.c: Don't include dispextern.h, window.h, termhooks.h, w32heap.h. * src/w32font.c: Don't include dispextern.h, character.h, charset.h, fontset.h, font.h. (intern_font_name, add_font_entity_to_list) (registry_to_w32_charset, w32_to_x_charset, fill_in_logfont) (list_all_matching_fonts): Avoid compiler warnings due to pointer signedness mismatches. * src/w32fns.c: Don't include character.h, intervals.h, dispextern.h, epaths.h, charset.h, ccl.h, fontset.h, systime.h, termhooks.h, w32heap.h, bitmap/gray.xbm, font.h, w32font.h. (w32_color_map_lookup, add_system_logical_colors_to_map) (x_decode_color, x_set_name, FPRINTF_WM_CHARS, Fxw_color_defined_p) (Fxw_color_values, x_display_info_for_name, Fset_message_beep) (x_create_tip_frame, Fx_file_dialog, Fsystem_move_file_to_trash) (w32_parse_hot_key, Ffile_system_info, w32_kbd_patch_key): Avoid compiler warnings, mainly due to pointer signedness mismatches. (unwind_create_frame_1): Remove unused function. * src/w32console.c: Don't include character.h, disptab.h, frame.h, window.h, termhooks.h, dispextern.h. (w32con_write_glyphs, w32con_write_glyphs_with_face): Fix pointer signedness mismatch. * src/w32.c: Include c-strcase.h and systty.h. Don't include w32heap.h. 2015-10-22 Tassilo Horn Improve doc-view wrt. auto-revert-mode * lisp/doc-view.el (doc-view-revert-buffer): Don't revert when file is corrupted (bug#21729). (doc-view-mode): Set doc-view-revert-buffer as revert-buffer-function. 2015-10-22 Oleh Krehel Describe dired-do-compress-to in the manual * etc/NEWS: Update. * lisp/dired-aux.el: Fix typo. * doc/emacs/dired.texi: Add entry. 2015-10-22 Jürgen Hötzel Further fix for proper locale handling in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): Just suppress LC_MESSAGES locale category settings. 2015-10-21 Paul Eggert New lispref section “Security Considerations” This attempts to document some of the issues recently discussed on emacs-devel, and to indicate other such issues. The section could be a lot longer. * doc/lispref/os.texi (Security Considerations): New node. * doc/lispref/elisp.texi (Top): * doc/lispref/processes.texi (Shell Arguments): * lisp/subr.el (shell-quote-argument): * src/callproc.c (syms_of_callproc): Reference it. 2015-10-21 Paul Eggert Merge from gnulib This incorporates: 2015-10-18 stdalign: work around pre-4.9 GCC x86 bug 2015-10-18 time_rz: avoid warning from bleeding-edge gcc's -Wnonnull * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/time_rz.c: Copy from gnulib. 2015-10-21 Katsumi Yamaoka * lisp/gnus/mailcap.el (mailcap-mime-data): Remove fboundp checks. (mailcap-viewer-passes-test): Do it instead. Thanks to Stefan Monnier. 2015-10-21 Ken Brown Further include-file cleanup * src/sheap.c: Include stdlib.h. * src/unexcw.c: Include string.h. 2015-10-21 Eli Zaretskii Fix logic in 'server-kill-emacs-query-function' * lisp/server.el (server-kill-emacs-query-function): Correct the logic that controls whether the user is asked for confirmation. (Bug#21723) 2015-10-21 Artur Malabarba * lisp/isearch.el (isearch-search-fun-default): Simplify logic. (isearch--lax-regexp-function-p): New function. 2015-10-21 Artur Malabarba * lisp/isearch.el: Support lax-whitespace in regexp-function searches. (isearch-search-fun-default): Let-bind `search-spaces-regexp' around `isearch-regexp-function'. 2015-10-21 Artur Malabarba * lisp/isearch.el: Rename word search to regexp-function search. `isearch-word' went well beyond its original purpose, and the name no longer makes sense. It is now called `isearch-regexp-function', and its value should always be a function that converts a string to a regexp (though setting it to t is still supported for now). (isearch-word): Make obsolete. (isearch-regexp-function): New variable. (isearch-mode, isearch-done, isearch--state, isearch--set-state) (with-isearch-suspended, isearch-toggle-regexp) (isearch-toggle-word, isearch-toggle-symbol) (isearch-toggle-character-fold, isearch-query-replace) (isearch-occur, isearch-highlight-regexp) (isearch-search-and-update, isearch-message-prefix) (isearch-search-fun-default, isearch-search) (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): Use it. (isearch-lazy-highlight-regexp-function): New var. (isearch-lazy-highlight-word): Make obsolete. (isearch--describe-regexp-mode): New function. (isearch--describe-word-mode): Make obsolete. * lisp/info.el (Info-isearch-search): * lisp/replace.el (replace-search, replace-highlight): * lisp/obsolete/longlines.el (longlines-search-function): * lisp/hexl.el (hexl-isearch-search-function): * lisp/cedet/semantic/senator.el (senator-isearch-search-fun): Use the new var. 2015-10-21 Oleh Krehel Add dired-do-compress-to command bound to "c" * lisp/dired-aux.el (dired-shell-command): Use the caller's `default-directory', return the result of `process-file'. (dired-compress-file-suffixes): Add comment on why "tar -zxf" isn't used by default. (dired-compress-files-alist): New defvar. (dired-do-compress-to): New command. * lisp/dired.el (dired-mode-map): Bind `dired-do-compress-to' to "c". (dired-do-compress-to): Add an autoload entry. * etc/NEWS: Add two entries. 2015-10-21 Tassilo Horn Make RefTeX work with LaTeX subfiles package * lisp/textmodes/reftex.el (reftex-TeX-master-file): Recognize subfiles document class argument as master file for referencing purposes. 2015-10-21 Katsumi Yamaoka * lisp/gnus/mailcap.el (mailcap-mailcap-entry-passes-test): Doc fix. 2015-10-20 Paul Eggert Include-file cleanup for src directory Omit ‘#include "foo.h"’ unless the file needs foo.h (Bug#21707). In a few cases, add ‘#include "foo.h"’ if the file needs foo.h but does not include it directly. As a general rule, a source file should include foo.h if it needs the interfaces that foo.h defines. * src/alloc.c: Don’t include process.h. Include dispextern.h, systime.h. * src/atimer.c: Don’t include blockinput.h. * src/buffer.c: Include coding.h, systime.h. Don’t include keyboard.h, coding.h. * src/callint.c: Don’t include commands.h, keymap.h. * src/callproc.c: Don’t include character.h, ccl.h, composite.h, systty.h, termhooks.h. * src/casetab.c: Don’t include character.h. * src/category.c: Don’t include charset.h, keymap.h. * src/ccl.h: Don’t include character.h. * src/character.c: Don’t include charset.h. * src/charset.c: Don’t include disptab.h. * src/chartab.c: Don’t include ccl.h. * src/cm.c: Don’t include frame.h, termhooks.h. * src/cmds.c: Don’t include window.h, dispextern.h. * src/coding.c: Don’t include window.h, frame.h. * src/composite.c: Include composite.h. Don’t include window.h, font.h. * src/data.c: Don’t include syssignal.h, termhooks.h, font.h. * src/dbusbind.c: Don’t include frame.h. * src/decompress.c: Don’t include character.h. * src/dired.c: Don’t include character.h, commands.h, charset.h. * src/dispnew.c: Don’t include character.h, indent.h, intervals.h, process.h, timespec.h. Include systime.h. * src/doc.c: Include coding.h. Don’t include keyboard.h. * src/editfns.c: Include composite.h. Don’t include frame.h. * src/emacs.c: Include fcntl.h, coding.h. Don’t include commands.h, systty.h.. * src/fileio.c: Don’t include intervals.h, dispextern.h. Include composite.h. * src/filelock.c: Don’t include character.h, systime.h. * src/fns.c: Don’t include time.h, commands.h, keyboard.h, keymap.h, frame.h, blockinput.h, xterm.h. Include composite.h. * src/font.c: Include termhooks.h. * src/font.h: Don’t include ccl.h, frame.h. Add forward decls of struct composition_it, struct face, struct glyph_string. * src/fontset.c: Don’t include buffer.h, ccl.h, keyboard.h, intervals.h, window.h, termhooks.h. * src/frame.c: Don’t include character.h, commands.h, font.h. * src/frame.h: Don’t include dispextern.h. * src/fringe.c: Don’t include character.h. * src/ftcrfont.c: Don’t include dispextern.h, frame.h, character.h, charset.h, fontset.h. * src/ftfont.c: Don’t include frame.h, blockinput.h, coding.h, fontset.h. * src/ftxfont.c: Don’t include dispextern.h, character.h, charset.h, fontset.h. * src/gfilenotify.c: Don’t include frame.h, process.h. * src/gtkutil.c: Include dispextern.h, frame.h, systime.h. Don’t include syssignal.h, buffer.h, charset.h, font.h. * src/gtkutil.h: Don’t include frame.h. * src/image.c: Include fcntl.h and stdio.h instead of sysstdio.h. Don’t include character.h. * src/indent.c: Don’t include keyboard.h, termchar.h. * src/inotify.c: Don’t include character.h, frame.h. * src/insdel.c: Include composite.h. Don’t include blockinput.h. * src/intervals.c: Don’t include character.h, keyboard.h. * src/intervals.h: Don’t include dispextern.h, composite.h. * src/keyboard.c: Don’t include sysstdio.h, disptab.h, puresize.h. Include coding.h. * src/keyboard.h: Don’t incldue systime.h. * src/keymap.c: Don’t include charset.h, frame.h. * src/lread.c: Include dispextern.h and systime.h. Don’t include frame.h. Include systime.h. * src/macros.c: Don’t include commands.h, character.h, buffer.h. * src/menu.c: Include character.h, coding.h. Don’t include dispextern.h. * src/menu.h: Don’t include systime.h. * src/minibuf.c: Don’t include commands.h, dispextern.h, syntax.h, intervals.h, termhooks.h. * src/print.c: Include coding.h. Don’t include keyboard.h, window.h, dispextern.h, termchar.h, termhooks.h, font.h. Add forward decl of struct terminal. * src/process.c: Don’t include termhooks.h, commands.h, dispextern.h, composite.h. * src/region-cache.c: Don’t include character.h. * src/scroll.c: Don’t include keyboard.h, window.h. * src/search.c: Don’t include category.h, commands.h. * src/sound.c: Don’t include dispextern.h. * src/syntax.c: Don’t include command.h, keymap.h. * src/sysdep.c: Don’t include window.h, dispextern.h. * src/systime.h: Use ‘#ifdef emacs’, not ‘#ifdef EMACS_LISP_H’, * src/term.c: Don’t include systty.h, intervals.h, xterm.h. * src/terminal.c: Include character.h. Don’t include charset.h, coding.h. * src/textprop.c: Don’t include character.h. * src/undo.c: Don’t include character.h, commands.h, window.h. * src/unexsol.c: Don’t include character.h, charset.h. * src/widget.c: Include widget.h. Don’t include keyboard.h, window.h, dispextern.h, blockinput.h, character.h, font.h. * src/widgetprv.h: Don’t include widget.h. * src/window.c: Don’t include character.h, menu.h, intervals.h. * src/xdisp.c: Include composite.h, systime.h. Don’t include macros.h, process.h. * src/xfaces.c: Don’t include charset.h, keyboard.h, termhooks.h, intervals.h. * src/xfns.c: Don’t include menu.h, character.h, intervals.h, epaths.h, fontset.h, systime.h, atimer.h, termchar.h. * src/xfont.c: Don’t include dispextern.h, fontset.h, ccl.h. * src/xftfont.c: Don’t include dispextern.h, character.h, fontset.h. * src/xgselect.c: Don’t include timespec.h, frame.h. Include systime.h. * src/xgselect.h: Don’t include time.h. Use a forward decl to struct timespec instead. * src/xmenu.c: Don’t include keymap.h, character.h, charset.h, dispextern.h. Include systime.h. * src/xml.c: Don’t include character.h. * src/xrdb.c [USE_MOTIF]: Don’t include keyboard.h. * src/xselect.c: Don’t include dispextern.h, character.h, buffer.h, process.h. * src/xsmfns.c: Don’t include systime.h, sysselect.h. * src/xterm.c: Don’t include syssignal.h, charset.h, disptab.h, intervals.h process.h, keymap.h, xgselect.h. Include composite.h. 2015-10-20 Paul Eggert (/ N) now returns the reciprocal of N This is more compatible with Common Lisp and XEmacs (Bug#21690). See: http://lists.gnu.org/archive/html/emacs-devel/2015-10/msg01053.html * lisp/color.el (color-hue-to-rgb, color-hsl-to-rgb) (color-xyz-to-srgb, color-xyz-to-lab): * lisp/emacs-lisp/cl-extra.el (cl-float-limits): * lisp/net/shr-color.el (shr-color-hue-to-rgb) (shr-color-hsl-to-rgb-fractions): Exploit the change to simplify the code a bit. * lisp/emacs-lisp/bytecomp.el (byte-compile-quo): Don’t complain about single-argument calls to ‘/’. * src/data.c (arith_driver, float_arith_driver): Implement the change. 2015-10-20 Dmitry Gutov Call vc-dir-refresh after stash operations * lisp/vc/vc-git.el (vc-git-stash-apply-at-point) (vc-git-stash-pop-at-point): Call vc-dir-refresh (bug#13960). * lisp/vc/vc-dir.el (vc-dir-resynch-file): Expand FNAME as well, since it can be abbreviated (as returned by vc-find-root). 2015-10-20 Dmitry Gutov * lisp/vc/vc-svn.el: * lisp/vc/vc-mtn.el: * lisp/vc/vc-hg.el: * lisp/vc/vc-cvs.el: * lisp/vc/vc-git.el: * lisp/vc/vc-bzr.el: Don't declare vc-exec-after anymore. Its usages have been replaced with vc-run-delayed. 2015-10-20 Dima Kogan Fix memory leak in fontset handling * src/font.c (copy_font_spec): Make a deep copy of the input argument FONT. (Bug#21651) 2015-10-20 Michael Sperber * lisp/gnus/mailcap.el (mailcap-mime-data): Conditonalize `doc-view-mode', which does not exist on XEmacs. 2015-10-20 Oleh Krehel Update the way directories are compressed * lisp/dired-aux.el (dired-compress-file-suffixes): Update the recipe for *.tar.gz decompression to use a pipe. Add an entry for the default directory compression (to *.tar.g). (dired-compress-file): Update. See https://lists.gnu.org/archive/html/emacs-devel/2015-10/msg00949.html. 2015-10-20 Michael Sperber Unbreak `group' option for `mail-sources' * lisp/gnus/nnml.el (nnml-retrieve-groups, nnml-request-scan): * lisp/gnus/nnmail.el (nnmail-get-new-mail-per-group) (nnmail-get-new-mail-1): Unbreak `group' option for `mail-sources'. 2015-10-19 Nicolas Petton New function seq-position * lisp/emacs-lisp/seq.el (seq-position): New function. * test/automated/seq-tests.el: New tests for seq-position. * doc/lispref/sequences.texi: Add documentation for `seq-position'. 2015-10-19 Ken Brown Enable --with-wide-int build on 32-bit Cygwin * src/sheap.c (STATIC_HEAP_SIZE): Remove distinction between x86 and x86_64 to enable --with-wide-int build on 32-bit Cygwin. 2015-10-19 Glenn Morris * doc/emacs/ack.texi (Acknowledgments): Small, sad, update. 2015-10-19 Eli Zaretskii Resurrect image loading under auto-image-file-mode * src/image.c (x_find_image_fd): Handle the case of -2 returned by 'openp' specially. This special case was lost in the changes on 2015-08-18. (Bug#21685) 2015-10-19 Eli Zaretskii Fix return value of 'set-file-extended-attributes' * lisp/files.el (set-file-extended-attributes): Return non-nil when setting either ACLs or SELinux context succeeds. Document the return value. (Bug#21699) * doc/lispref/files.texi (Changing Files): Document the return value of set-file-extended-attributes. 2015-10-19 Eli Zaretskii Improve documentation of functions that change files * doc/lispref/files.texi (Changing Files): Document that these functions signal an error on failure. 2015-10-18 Eli Zaretskii Fix doc string of 'shell-quote-argument' * lisp/subr.el (shell-quote-argument): Doc fix. (Bug#21702) 2015-10-18 Michael Albinus Some minor Tramp changes * doc/misc/tramp.texi (Obtaining Tramp): Add http git cloning. * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): Expand `tramp-auto-save-directory'. 2015-10-18 Michael Albinus Minor edits in Tramp * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp): Declare it. * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp): Remove declaration. 2015-10-17 Mark Oteiza * lisp/emacs-lisp/eldoc.el: Add back-to-indentation to the command list. 2015-10-17 Eli Zaretskii Avoid crashes when redisplayng a window changes faces or fonts * src/xdisp.c (redisplay_internal): If redisplaying the selected window or one of the frames turns on the frame's 'redisplay' flag, redisplay again. (Bug#21428) * src/frame.c (x_set_font): Set the frame's 'fonts_changed' flag. 2015-10-17 Michael Albinus Solve timimg issues in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify-test02-events): Rectify `attribute-change' tests. There are timing issues with gfilenotify. (Bug#21669) 2015-10-16 Paul Eggert Fix quoting of data within htmlfontify doc * doc/misc/htmlfontify.texi (Data Structures, Customization): Fix quoting of data structures. A Lisp quote is needed only when data appears within Lisp code. 2015-10-16 Artur Malabarba * lisp/emacs-lisp/package.el: Reload archive-contents if priorities change. (package--old-archive-priorities): New variable. (package-read-all-archive-contents, package-menu--refresh): Use it to decide when the `package-archive-contents' needs to be read again. 2015-10-16 Paul Eggert Make src headers idempotent and standalone Redo src/*.h so that each include file is idempotent (that is, can be included multiple times with the latter inclusions having no effect) and standalone (that is, can be included by itself, with no include file other than config.h needed as a prerequisite). This is standard practice in GNU programs nowadays. * lwlib/lwlib-widget.h, src/buffer.h, src/category.h, src/character.h: * src/charset.h, src/coding.h, src/commands.h, src/disptab.h: * src/fontset.h, src/gnutls.h, src/indent.h, src/keymap.h, src/macros.h: * src/regex.h [emacs]: * src/syntax.h, src/systty.h, src/termhooks.h: Include lisp.h, for Lisp_Object. * src/buffer.h, src/category.h, src/cm.h, src/commands.h, src/disptab.h: * src/indent.h, src/intervals.h, src/keyboard.h, src/macros.h: * src/process.h, src/puresize.h, src/region-cache.h, src/syntax.h: * src/syssignal.h, src/sysstdio.h, src/systty.h, src/termchar.h: * src/termopts.h, src/tparam.h, src/unexec.h: Protect against multiple inclusion. * src/buffer.h: Include character.h, for STRING_CHAR. * src/emacsgtkfixed.h (struct frame): * src/fontset.h (struct face): * src/region-cache.h (struct buffer): * src/termhooks.h (struct glyph): * src/xsettings.h (struct x_display_info): Add possibly-forward decl. * src/syntax.h: Include buffer.h, for BVAR. * src/sysselect.h: Include lisp.h, for eassume. * src/termchar.h: Include , for FILE. * src/widget.h: Include , for Widget. * src/xsettings.h: Include , for XEvent. 2015-10-16 Jürgen Hötzel Handle symlink targets containing spaces in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): Handle symlink targets containing spaces. 2015-10-16 Artur Malabarba * lisp/custom.el (custom-theme-load-path): Demote to defvar. `custom-theme-load-path' was a defcustom, but it shouldn't be for the same reason that `load-path' shouldn't. Setting it via the customize interface is a trap for the user. Installed themes commonly add themselves to this variable, which means its value is not fit for being saved (it will permanently remember dirs that don't exist anymore). This is aggravated by the fact that Emacs always applies the `user' theme on top of any theme that's loaded, since this will apply the old variable value and remove any new directories that had been recently added by themes themselves. Not to mention, we already have `custom-theme-directory', which is safe to customize. 2015-10-16 Stefan Monnier * lisp/mpc.el: Rename the new toggling commands. (mpc-toggle-consume, mpc-toggle-repeat, mpc-toggle-single) (mpc-toggle-shuffle): Add "-toggle" in the name. 2015-10-16 Eli Zaretskii Improve the doc string of 'completion-boundaries' * lisp/minibuffer.el (completion-boundaries): Rename the argument TABLE to COLLECTION, for consistency with other high-level completion functions. Document how COLLECTION is called if it is a function. (Bug#21644) 2015-10-16 Oleh Krehel * lisp/dired-aux.el (dired-shell-command): Fix compile warning. 2015-10-16 Oleh Krehel Make dired-do-compress work for *.zip files * lisp/dired-aux.el (dired-check-process): Transform the top-level comment into a docstring. (dired-shell-command): New command. This mirrors `dired-check-process', but is more user-friendly for passing arguments. (dired-compress-file-suffixes): Allow to specify the command switches along with input (%i) and output (%o) inside the PROGRAM part. Add an entry for *.zip files, and update the entry for *.tar.gz files to the new style. Update the docstring. (dired-compress-file): When PROGRAM matches %i or %o, use the new logic. (dired-update-file-line): Avoid an error when at end of buffer. Fixes bug#21637. 2015-10-16 Eli Zaretskii Minor improvement in documentation of internals * doc/lispref/internals.texi (Writing Emacs Primitives): Document QUIT. 2015-10-16 Eli Zaretskii Improve documentation of COLLECTION in completion functions * doc/lispref/minibuf.texi (Minibuffer Completion): Add a cross-reference to "Programmed Completion". * src/minibuf.c (Fcompleting_read): Improve the doc string. (Bug#21644) 2015-10-16 Eli Zaretskii Add more release info to etc/HISTORY * etc/HISTORY: Add more release information about 19.x and 20.x versions. 2015-10-15 Paul Eggert New file etc/HISTORY * admin/FOR-RELEASE: Procedure for etc/HISTORY. * etc/HISTORY: New file. * etc/NEWS: Mention it. 2015-10-15 Dmitry Gutov js-mode: Don't misindent generator methods * lisp/progmodes/js.el (js--looking-at-operator-p): Distinguish generator methods from multiplication operator (https://github.com/mooz/js2-mode/issues/275). 2015-10-15 Paul Eggert Fix animation timeout delay calculation * lisp/image.el (image-animate-timeout): Don’t assume speed is floating-point. 2015-10-15 Mark Oteiza Add commands for controlling MPD modes * lisp/mpc.el (mpc-cmd-consume, mpc-cmd-random, mpc-cmd-repeat) (mpc-cmd-single): New functions. (mpc-consume, mpc-repeat, mpc-single, mpc-shuffle): New commands. (mpc-mode-menu): Add new commands as menu items. 2015-10-15 Dmitry Gutov Refer to `(elisp)Basic Completion' in completing-read docstring * src/minibuf.c (Fcompleting_read): Refer to `(elisp)Basic Completion' in the docstring (bug#21644). 2015-10-14 Mark Oteiza * lisp/mpc.el (mpc-format): Always push form to pred 2015-10-14 Paul Eggert Spelling fixes * configure.ac (bitmapdir): Fix misspelling of bmd_acc. * test/automated/coding-tests.el (ert-test-coding-bogus-coding-systems): Fix misspelling of nonexistent file name. 2015-10-14 Mark Oteiza * lisp/mpc.el (mpc-mode-menu, mpc-toggle-play): Fix docstrings 2015-10-14 Michael Albinus Some editing fixes in Tramp * lisp/net/tramp-gvfs.el: * doc/misc/tramp.texi: "customer option" -> "custom option". * lisp/net/tramp.el (tramp-completion-function-alist): Fix docstring. 2015-10-14 Jürgen Hötzel Use proper localization in tramp-gvfs.el * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes): Suppress localized settings in order to proper parse gfvs output. 2015-10-14 Warren Lynn (tiny change) * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Quote argument in proper order. (Bug#21562) 2015-10-14 Nicolas Petton Fix typos in docstrings * lisp/emacs-lisp/map.el: * lisp/emacs-lisp/seq.el: Fix typos in the docstrings of the pcase macros. 2015-10-14 Mark Oteiza * lisp/mpc.el (mpc-volume-refresh): Check if buffer is live. 2015-10-14 Oleh Krehel Make dired-jump work with tar-subfile-mode * lisp/dired-x.el (dired-jump): When in `tar-subfile-mode', instead of emitting an error, switch to `tar-superior-buffer'. 2015-10-14 Juanma Barranquero * .gitignore: Add build-aux/ar-lib. 2015-10-14 Nicolas Petton Better docstrings in seq.el and map.el * lisp/emacs-lisp/map.el: * lisp/emacs-lisp/seq.el: Improve the docstring for the pcase patterns. 2015-10-14 Paul Eggert Merge from gnulib This incorporates: 2015-10-13 binary-io, u64, unistd: port to strict C 2015-09-26 c-ctype: do not worry about EBCDIC + char signed 2015-09-25 c-ctype: port better to z/OS EBCDIC 2015-09-25 gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash * doc/misc/texinfo.tex, lib/binary-io.c, lib/c-ctype.h, lib/u64.c: * lib/unistd.c, m4/gnulib-common.m4, m4/gnulib-comp.m4: Copy from gnulib. 2015-10-14 Paul Eggert Take XPNTR private * src/alloc.c (PURE_POINTER_P): Remove. All uses replaced with PURE_P. (XPNTR_OR_SYMBOL_OFFSET): New function. (XPNTR): Move here from lisp.h. Reimplement in terms of XPNTR_OR_SYMBOL_OFFSET. (mark_maybe_object, valid_lisp_object_p, survives_gc_p): Remove unnecessary cast. (purecopy): Use XPNTR_OR_SYMBOL_OFFSET instead of XPNTR, to avoid an unnecessary runtime test for symbols. * src/lisp.h (lisp_h_XPNTR, XPNTR): Remove, moving XPNTR to alloc.c. Only alloc.c needs XPNTR now. 2015-10-13 Mark Oteiza Add MPC play/pause command * lisp/mpc.el (mpc-toggle-play): New command. (mpc-mode-map): Bind it to "s". (mpc-mode-menu): Add corresponding menu item. 2015-10-13 Mark Oteiza Add bindings and menu items for prev and next tracks * lisp/mpc.el (mpc-mode-map): Bind ">" to mpc-next, "<" to mpc-prev. (mpc-mode-menu): Add corresponding menu items 2015-10-13 Ken Raeburn Reduce face-related consing during frame creation. * lisp/faces.el (face--attributes-unspecified): Compute the "unspecified" attribute list once. (face-spec-reset-face): Use it instead of building the list. 2015-10-13 Ken Raeburn Do process ConfigureNotify events indicating size changes. * src/xterm.c (handle_one_xevent): If consecutive ConfigureNotify events don't have the same size, process each one. 2015-10-13 Mark Oteiza Derive mpc-mode from special-mode lisp/mpc.el (mpc-mode-map): Make from sparse keymap. Unbind g. (mpc-mode): Derive from special mode. (mpc-songs-mode-map): Don't set parent keymap. 2015-10-13 Mark Oteiza Fix error messages for when covers are not found. The last change to mpc-format let the binding to file call mpc-file-local-copy with nil argument. Instead, employ if-let here so nil bindings don't result in needless computation and errors. * lisp/mpc.el: Require 'subr-x at compile time. * lisp/mpc.el (mpc-format): Use if-let. 2015-10-13 Oleh Krehel Make dired-do-compress work for *.tar.gz files * lisp/dired-aux.el (dired-compress-file-suffixes): Associate "tar -zxvf" to *.tar.gz; update docstring. (dired-compress-file): Allow to specify switches after the command in `dired-compress-file-suffixes'. 2015-10-13 Oleh Krehel Make dired-do-compress work for directories * lisp/dired-aux.el (dired-compress-file): When FILE is a directory, instead of emitting an error, call "tar -czf FILE.tar.gz FILE". Also convert the top comment into a docstring. 2015-10-13 Stefan Monnier * lisp/mpc.el (mpc-songs-refresh): Don't side-effect `active' ... since it might come straight from the memoizing table. 2015-10-13 Juanma Barranquero * src/w32fns.c (x_change_tool_bar_height): Remove unused variable frame. 2015-10-13 Mark Oteiza Use special-mode in eww list modes * lisp/net/eww.el (eww-bookmark-mode, eww-history-mode) (eww-buffers-mode): Derive from special-mode and remove redundant setting of buffer-read-only. (eww-mode-map): Remove redundant keymap parent setting. (eww-bookmark-mode-map, eww-history-mode-map, eww-buffers-mode-map): Remove redundant keymap suppressions and mappings. 2015-10-13 Martin Rudalics Allow setting frame pixel sizes from frame parameters (Bug#21415) Also fix some misfeatures in frame (re-)sizing code, add more debugging information and remove some dead code. * lisp/frame.el (frame-notice-user-settings, make-frame): Change parameter names when setting `frame-size-history'. (frame--size-history): New function. * src/frame.c (frame_inhibit_resize): If frame has not been made yet, return t if inhibit_horizontal_resize or inhibit_vertical_resize bit have been set. (adjust_frame_size): Simplify. (make_frame): Initialize inhibit_horizontal_resize, inhibit_vertical_resize, tool_bar_redisplayed, tool_bar_resized. (Fframe_after_make_frame): Reset inhibit_horizontal_resize and inhibit_vertical_resize slots. (x_set_frame_parameters): Handle `text-pixels' specification for width and height parameters. Don't consider new_height or new_width changes. Call adjust_frame_size instead of Fset_frame_size. (x_figure_window_size): Two new arguments x_width and y_width returning frame's figures width and height. Calculate tool bar height before frame sizes so SET_FRAME_HEIGHT can pick it up. Handle `text-pixels' specification for width and height parameters. (Qtext_pixels, Qx_set_frame_parameters, Qset_frame_size) (Qx_set_window_size_1, Qx_set_window_size_2) (Qx_set_window_size_3, Qx_set_menu_bar_lines) (Qupdate_frame_menubar, Qfree_frame_menubar_1) (Qfree_frame_menubar_2): New symbols. * src/frame.h (structure frame): New booleans tool_bar_redisplayed, tool_bar_resized, inhibit_horizontal_resize, inhibit_vertical_resize. (x_figure_window_size): Update external declaration. * src/gtkutil.c (xg_frame_set_char_size): Set size hints before calling gtk_window_resize. (update_frame_tool_bar): Make inhibiting of frame resizing more discriminative. Set tool_bar_resized bit. * src/nsfns.m (x_set_tool_bar_lines): Make inhibiting of frame resizing more discriminative. Call adjust_frame_size instead of x_set_window_size. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. * src/nsterm.m (x_set_window_size): For GNUSTEP build don't subtract 3 from tool bar height. (x_set_window_size): Add frame_size_history_add call. (x_new_font): Call adjust_frame_size instead of x_set_window_size. * src/w32fns.c (x_change_tool_bar_height): Reset tool_bar_redisplayed and tool_bar_resized bits when adding tool bar. Make inhibiting of frame resizing more discriminative. (w32_wnd_proc): Remove dead code in WM_WINDOWPOSCHANGING case. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. Set size hints before adjusting frame size. (x_create_tip_frame): Adjust x_figure_window_size call. * src/w32term.c (x_set_window_size): Add frame_size_history_add call. * src/widget.c (set_frame_size): Remove dead code. Add frame_size_history_add call. When frame_resize_pixelwise is t use FRAME_PIXEL_WIDTH and FRAME_PIXEL_HEIGHT instead of pixel_width and pixel_height. (update_various_frame_slots): Remove dead code. (EmacsFrameResize): Add more information in frame_size_history_add call. (EmacsFrameQueryGeometry): Round only when frame_resize_pixelwise is not set. * src/xdisp.c (redisplay_tool_bar): Set tool_bar_redisplayed bits. * src/xfns.c (x_set_menu_bar_lines): Change argument name. (x_change_tool_bar_height): Reset tool_bar_redisplayed and tool_bar_resized bits when adding tool bar. Make inhibiting of frame resizing more discriminative. (Fx_create_frame): Handle x_width and x_height if set by x_figure_window_size. Set size hints before adjusting frame size. (x_create_tip_frame): Adjust x_figure_window_size call. * src/xmenu.c (update_frame_menubar): Don't handle Lucid specially. (set_frame_menubar): On Lucid never add core-border-width to avoid that adding XtNinternalBorderWidth adds it again. (free_frame_menubar): Handle frame_inhibit_resize true for Motif. * src/xterm.c (x_new_font): In non-toolkit case handle size change of menu bar. (x_set_window_size_1): Fix calls to frame_size_history_add. (x_wm_set_size_hint): Remove dead code. Set size_hints.min_width and size_hints.min_height to base_width and base_height. 2015-10-13 Michael Albinus * test/automated/file-notify-tests.el (file-notify--test-timeout): Add docstring. Increase to 10 seconds for remote directories. (Bug#21669) 2015-10-12 Paul Eggert Unmacroize ebrowse.c and etags.c a bit * lib-src/ebrowse.c (READ_CHUNK_SIZE): Now an enum constant. (streq, filename_eq, set_flag, has_flag): Now inline functions. (set_flag): First arg is now an address, not an lvalue. All callers changed. (filename_eq, set_flag, has_flag): Rename from FILENAME_EQ, SET_FLAG, HAS_FLAG. All callers changed. * lib-src/etags.c (streq, strcaseeq, strneq, strncaseeq): Now inline functions. Remove asserts that are unnecessary these days (and in some cases were too-generous anyway). 2015-10-12 Mark Oteiza Use highlight for current items * lisp/mpc.el (mpc-select-make-overlay, mpc-tagbrowser-all-select): Apply highlight face instead of region face. 2015-10-12 Mark Oteiza Search for more cover image names in MPC * lisp/mpc.el (mpc-format): Also look for .folder.jpg or folder.jpg case insensitively 2015-10-12 Juanma Barranquero Remove or comment out unused variables * src/w32fns.c (x_set_mouse_color): Comment out variables cursor, nontext_cursor, mode_cursor, hand_cursor and count. (x_change_tool_bar_height): Remove variable old_text_height. (deliver_wm_chars): Remove variable strip_Alt. (Fw32_shell_execute): Remove variable document_a. (Fw32_frame_geometry): Remove variable fullboth. * src/w32term.c (w32_setup_relief_color): Comment out variable w32_display_info. (w32_horizontal_scroll_bar_handle_click): Remove variables start, end. (w32_read_socket): Comment out variables rows, columns. * src/w32uniscribe.c (uniscribe_check_otf_1): Remove variable rest. 2015-10-12 Juanma Barranquero * src/w32proc.c (sys_select): Fix bitwise test. 2015-10-12 Eli Zaretskii Minor typo corrections in doc strings * lisp/menu-bar.el (popup-menu, popup-menu-normalize-position): Doc fixes. 2015-10-12 Eli Zaretskii * nt/INSTALL: Recommend MSYS Automake/Autoconf from ezwinports. 2015-10-12 Eli Zaretskii Attempt to avoid crashes in plist-member * src/fns.c (Fplist_member): Don't call QUIT between a CONSP test and a call to XCDR. (Bug#21655) 2015-10-12 Mike FABIAN * lisp/select.el (gui-get-primary-selection): In gui-get-primary-selection use gui--selection-value-internal (Bug#20906) 2015-10-12 Tassilo Horn Support RTF in doc-view * lisp/doc-view.el (doc-view-set-doc-type): Add entry for RTF extension. 2015-10-12 Juanma Barranquero * src/w32fns.c (get_wm_chars): Increment counter, not pointer. 2015-10-11 Nicolas Petton Replace the usage of an obsolete function in auth-source.el * lisp/gnus/auth-source.el (auth-source-epa-make-gpg-token): Replace an usage of `epg-context-set-armor' with `setf'. 2015-10-11 Nicolas Petton * lisp/gnus/auth-source.el: Use sharp-quoting with functions. 2015-10-11 Jay Belanger Have calc-yank recognize numbers in different bases. * lisp/calc/calc-yank.el (math-number-regexp): New function. (calc-yank): Use `math-number-regexp' to recognize numbers. 2015-10-11 Ken Raeburn Handle an opaque-move X11 window manager operation more efficiently * src/xterm.c (handle_one_xevent): If a ConfigureNotify event is followed by more ConfigureNotify events for the same window, process only the last one. 2015-10-11 Ken Raeburn Fix cursor setting for tip frame; re-enable cursor generation * src/xfns.c (x_create_tip_frame): Include the cursor in the window attributes sent when creating the new X window. Don't skip setting the pointerColor parameter. 2015-10-11 Ken Raeburn Rewrite x_set_mouse_color to sync less We can track serial numbers of X requests and correlate error events with the associated requests. This way we can identify errors for specific calls without having to use XSync after every one. * src/xfns.c (enum mouse_cursor): New type. (struct mouse_cursor_types, struct mouse_cursor_data): New types. (mouse_cursor_types): New array listing the Lisp variables and default cursor appearances for each cursor type. (x_set_mouse_color_handler): New function; checks error event serial number against submitted requests. (x_set_mouse_color): Updated to use the new error handler callback, and to be more table-driven, to simplify repetitious code. 2015-10-11 Ken Raeburn Add x_catch_errors_with_handler * src/xterm.c (struct x_error_message_stack): Add new fields for a callback function and associated data pointer. (x_error_catcher): If the callback function is set, call it after saving the error message string. (x_catch_errors_with_handler): Renamed from x_catch_errors but now accepts a callback function and data pointer. (x_catch_errors): Now a wrapper function. * src/xterm.h (x_special_error_handler): New typedef. (x_catch_errors_with_handler): Declare. 2015-10-11 Ken Raeburn Introduce x_uncatch_errors_after_check to reduce XSync calls Both x_had_errors_p and x_check_errors call XSync, so if they're immediately followed by x_uncatch_errors, its XSync call will be redundant, resulting in a wasted round trip to the X server. * src/xterm.c (x_uncatch_errors_after_check): New routine; a copy of x_uncatch_errors without the XSync call. (XTmouse_position, x_wm_supports): * src/xfns.c (x_set_mouse_color): * src/xmenu.c (Fx_menu_bar_open_internal): * src/xselect.c (x_own_selection, x_get_foreign_selection): (Fx_get_atom_name): Call it instead of x_uncatch_errors. * src/xterm.h (x_uncatch_errors_after_check): Declare. 2015-10-10 Jay Belanger Document the optional prefix to `calc-yank' * doc/misc/calc.texi (Yanking into the Stack): Document the optional prefix to `calc-yank'. * lisp/calc/calc-yank.el (calc-yank): Ensure that things killed from the Calc buffer are yanked back unchanged. 2015-10-10 Mark Oteiza * lisp/calendar/calendar.el: Display buffer before executing body. In each use of this macro, the modeline is derived from a window width calculation, which will be wrong if (display-buffer) splits the window horizontally. 2015-10-10 Paul Eggert Use ‘echo’ safely with ‘\’ or leading ‘-’ POSIX says that ‘echo FOO’ produces implementation-defined output if FOO contains leading ‘-’, or ‘\’ anywhere, so don’t assume GNU behavior in that case. * Makefile.in (removenullpaths): Remove. (epaths-force): Rewrite to avoid the need for ‘echo’. (install-etc): Be clearer about escaping the shell metacharacters ‘\’ and ‘$’. * Makefile.in (install-arch-indep, install-etcdoc): * admin/charsets/mapconv, admin/merge-gnulib, admin/merge-pkg-config: * admin/quick-install-emacs, build-aux/gitlog-to-emacslog: * configure.ac, lib-src/rcs2log, make-dist: * src/Makefile.in (lisp.mk): Don’t assume ‘echo’ outputs ‘\’ and leading ‘-’ unscathed. For example, use ‘printf '%s\n' "$foo"’ rather than ‘echo "$foo"’ if $foo can contain arbitrary characters. * lisp/Makefile.in (TAGS): Use ‘ls’, not ‘echo’, to avoid ‘\’ issues. * doc/lispref/two-volume.make (vol1.pdf): * test/etags/make-src/Makefile (web ftp publish): Use ‘printf’ rather than ‘echo -e’. 2015-10-10 Kaushal Modi Allow numbers with different radixes to be yanked. * lisp/calc/calc-yank.el (calc-yank): Allow radixes besides the default base 10. 2015-10-10 Paul Eggert Improve CHECK_IMPURE and PURE_P speedup * src/data.c (Faset): Use XVECTOR and XSTRING rather than XPNTR. 2015-10-10 Jay Belanger Use events instead of chars to keep track of steps. * lisp/calc/calc-prog.el (calc-kbd-loop): Use events instead of chars to keep track of steps. 2015-10-10 Paul Eggert Fix --enable-gcc-warnings problem with older GCC * src/puresize.h: Add INLINE_HEADER_BEGIN, INLINE_HEADER_END. This is for building with --enable-gcc-warnings with GCC 4.6 through 5.0. 2015-10-10 Eli Zaretskii Fix vertical-motion in truncated lines that end in a stretch * src/indent.c (Fvertical_motion): Expect overshoot when point is beyond window margin and lines are truncated, even if we have a stretch at point. (Bug#21468) 2015-10-10 Eli Zaretskii Avoid link-time errors due to inline functions * src/emacs.c: Include puresize.h, to avoid link-time errors in unoptimized builds due to PURE_P and CHECK_IMPURE, which are now inline functions. 2015-10-10 Andreas Schwab * src/data.c (Faset): Fix last change. 2015-10-10 Paul Eggert CHECK_IMPURE and PURE_P speedup * src/intervals.c (create_root_interval): Do CHECK_IMPURE only for strings; not needed for buffers. Prefer ! STRINGP to BUFFERP, for a tad more speed. * src/puresize.h (CHECK_IMPURE, PURE_P): Now inline functions instead of macros. (PURE_P): Don’t use XPNTR; that is now the caller’s responsibility. All callers changed. (CHECK_IMPURE): New argument PTR, to save us the work of running XPNTR. All callers changed. 2015-10-09 Noah Friedman (tramp-open-connection-setup-interactive-shell): Send -onlcr as well. 2015-10-09 Stefan Monnier * lisp/progmodes/cc-mode.el (c-after-font-lock-init): Only *move* our after-change-function, rather than re-adding it if it was removed. 2015-10-09 Stefan Monnier * lisp/cedet/ede: Silence some compiler warnings * lisp/cedet/ede.el: Require cl-lib. Silence some compiler warnings. (ede-menu-obj-of-class-p): Use cl-some rather than `eval'. (ede-apply-object-keymap, ede-reset-all-buffers) (ede-auto-add-to-target): Use dolist. (ede-new, ede-flush-deleted-projects, ede-global-list-sanity-check): Use field names rather than initarg names in `oref'. (ede-load-project-file): Remove unused var `file'. (ede-map-any-target-p): Use cl-some rather than ede-map-targets. (ede-set): Remove unused var `a'. * lisp/cedet/ede/emacs.el: Silence some compiler warnings. (ede-project-autoload): Avoid the old-style "name" argument. (ede-emacs-find-matching-target): Use field names rather than initarg names in `oref'. * lisp/cedet/ede/linux.el: Silence some compiler warnings. (ede-linux-load, ede-project-autoload): Avoid the old-style "name" argument. (ede-linux-find-matching-target): Use field names rather than initarg names in `oref'. 2015-10-09 Stefan Monnier * lisp/textmodes/reftex.el: Silence byte-compiler warnings. 2015-10-09 Stefan Monnier * lisp/progmodes/prolog.el (prolog-smie-rules): Try and avoid indenting too far after ":-". 2015-10-09 Eli Zaretskii Update case-table and categories of recently added characters * lisp/international/characters.el: Update information about Latin Extended-C, Latin Extended-D, Latin Extended-E, Cyrillic Extended, Georgian, Glagolitic, Deseret, Old Hungarian, and Warang Citi blocks. (Byug#21654) 2015-10-09 Martin Rudalics * src/frame.c (adjust_frame_size): In minibuffer-only windows don't count minibuffer height twice. (Bug#21643) 2015-10-09 Eli Zaretskii Avoid inflooping in font-lock * lisp/font-lock.el (font-lock-extend-region-wholelines): Bind inhibit-field-text-motion around the call to line-beginning-position, to avoid inflooping. (Bug#21615) 2015-10-09 Tassilo Horn Refactor duplicated code; ensure default is in completions * lisp/textmodes/reftex-cite.el (reftex--query-search-regexps): New function. (reftex-extract-bib-entries): Use it. (reftex-extract-bib-entries-from-thebibliography): Use it. 2015-10-09 Vincent Belaïche * doc/misc/autotype.texi (Skeletons as Abbrevs): "if" -> "ifst" in the example. 2015-10-08 Stefan Monnier * lisp/calc/calc.el: Silence byte-compiler warnings. (calc-scan-for-dels): Use ignore-errors. (calc-dispatch, calc-do-dispatch): Make unused arg optional. (calc-read-key-sequence): Remove unused var `prompt2'. (calc-kill-stack-buffer): Remove unused var `buflist'. (calc): Remove unused var `oldbuf'. (calc-refresh): Use inhibit-read-only. (calc-can-abbrev-vectors): Declare. (calc-record): Remove unused var `mainbuf'. (math-sub-bignum): Remove unused var `sum'. (math-svo-c, math-svo-wid, math-svo-off): Declare. 2015-10-08 Daiki Ueno Use g_clear_error instead of g_error_free * src/image.c: Define g_clear_error instead of g_error_free. (init_svg_functions): Resolve symbol g_clear_error instead of g_error_free. (svg_load_image): Use g_clear_error instead of g_error_free, to suppress GLib warnings when ERR is not set. See bug#21641. 2015-10-08 Paul Eggert * src/image.c (image_size_error): Simplify. 2015-10-08 Paul Eggert Fix problems caught with --enable-gcc-warnings * src/image.c (lookup_rgb_color): * src/xfns.c (x_defined_color): * src/xterm.c (x_parse_color): Remove unused locals. 2015-10-08 Jay Belanger * lisp/calc/calc.el (calc-digit-start-entry): Fix typo. 2015-10-08 Jay Belanger Format initial input uniformly * lisp/calc/calc.el (calc-digit-start-entry): New function. * lisp/calc/calc.el (calcDigit-start): * lisp/calc/calc-aent.el (calc-alg-digit-entry): Use `calc-digit-start-entry' to format input. 2015-10-08 Ken Raeburn Disable non-working pointerColor setting for X tooltip frame It generates a bunch of server traffic, but there's some bug wherein the new mouse cursor settings don't seem to get used. In most situations the cursor isn't likely to be seen anyway, so it's not urgent to fix. * src/xfns.c (x_create_tip_frame): Don't set pointerColor. 2015-10-08 Ken Raeburn Reduce some unnecessary X calls * src/xfns.c (x_real_pos_and_offsets): Remove a redundant XGetGeometry call. If border width is wanted, get it from the XGetGeometry call instead of calling XGetWindowAttributes on the same window. Skip some X calls if we've already detected an error from the X server. * src/xterm.c (x_wm_supports): Delete x_sync before x_had_errors_p. (handle_one_xevent): Delete XSync call before x_uncatch_errors. 2015-10-08 Ken Raeburn Reduce color allocation/query traffic in the TrueColor case When working with an X visual with TrueColor class, pixel values can be generated from the RGB values according to mask value provided by the server on connection. Some of the image-handling code was already doing this. * src/xterm.h (x_make_truecolor_pixel): New function; code taken from lookup_rgb_color. (x_mutable_colormap): New function. * src/image.c (lookup_rgb_color): Move pixel composition code to x_make_truecolor_pixel. (x_kill_gs_process): Call x_mutable_colormap. * src/xfaces.c (x_free_colors, x_free_dpy_colors): Call x_mutable_colormap. * src/xftfont.c (xftfont_get_colors): Call x_query_colors. * src/xterm.c (x_query_colors): For a TrueColor display, decompose the pixel value into RGB values directly, and don't send a request to the server. (x_alloc_nearest_color): For a TrueColor display, construct the pixel value with x_make_truecolor_pixel. (x_copy_color): For an immutable color map, just return the provided pixel value. 2015-10-08 Ken Raeburn Cache XParseColor results in the X display info structure With repeated lookups of foreground and background colors for multiple faces per frame, we issue a lot of redundant color name lookups to the X server, waiting every time for the response. On a remote network with, say, 30ms round-trip time, this can add nearly a full second to creation of a new frame. * src/gtkutil.c (xg_check_special_colors): Call x_parse_color. * src/image.c (get_spec_bg_or_alpha_as_argb): (xpm_init_color_cache, xpm_lookup_color): * src/xfns.c (x_defined_color): * src/xterm.c (x_parse_color): New function; caches color names not starting with "#" in the display-info structure. (x_delete_display): Delete the cache content. * src/xterm.h (struct color_name_cache_entry): New type. (x_parse_color): Declare. (struct x_display_info): Add a new field for the cache. 2015-10-07 Stefan Monnier * src/syntax.c (syms_of_syntax): Make syntax-propertize--done local. 2015-10-07 Eli Zaretskii Fix segfault in image_size_error * src/image.c (image_size_error): Pass a Lisp string to image_error, not a C string. (Bug#21641) 2015-10-07 Simen Heggestøyl Highlight CSS variable definitions * lisp/textmodes/css-mode.el (css-nmstart-re): Tweak regexp to accept CSS variables. (Bug#21638) 2015-10-07 Artur Malabarba * test/automated/tabulated-list-test.el: New file. Test bug#21639 and some basic functionality. 2015-10-07 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Check if column can be sorted before trying. (Bug#21639) 2015-10-07 Nicolas Richard Add test for `self-insert-command' (bug#21633) * test/automated/cmds-tests.el: New file. 2015-10-07 Martin Rudalics * src/window.c (resize_frame_windows): Don't set root window's top position when resizing horizontally. 2015-10-07 Artur Malabarba * lisp/progmodes/prog-mode.el (prettify-symbols-alist): Document more possible values. 2015-10-06 Stefan Monnier * lisp/textmodes/tex-mode.el: Use lexical-binding. 2015-10-06 Stefan Monnier * lisp/indent.el (indent--default-inside-comment): New function. (indent-for-tab-command): Use it for `noindent' indentation. 2015-10-06 Paul Eggert Fix bug in GC_CHECK_MARKED_OBJECTS check * src/alloc.c (mark_object): Fix bug in checking code. When GC_CHECK_MARKED_OBJECTS is defined, the bug caused CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each bucket. The bug did not affect behavior either in the normal case where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does not have an internal error that a properly-written CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect. 2015-10-06 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add prettified version for \\Bbb{Q}. 2015-10-06 Artur Malabarba * test/automated/package-test.el (package-test-install-single): Add a test for bug#21625. 2015-10-06 Aaron Ecay * lisp/emacs-lisp/package.el (package-install): Fix error when pkg is not a package-desc object. Also clarify documentation. (Bug#21625) 2015-10-06 Eli Zaretskii Fix display of characters adjacent to ZWJ and ZWNJ * src/bidi.c (bidi_resolve_neutral): Treat all Bn (a.k.a. "control") characters the same as directional formatting controls. (bidi_level_of_next_char): Include all Bn characters in rule L1, as mandated by the UBA. 2015-10-06 Andreas Schwab * src/cmds.c (Fself_insert_command): Don't use XFASTINT on a negative number. (Bug#21633) 2015-10-05 Xue Fuqiao * doc/lispref/objects.texi (Window Type): Add a cross reference. * src/buffer.c (syms_of_buffer): Typo fix. (Bug#21622) 2015-10-05 Eli Zaretskii * lisp/language/misc-lang.el (composition-function-table): Fix entries for Arabic and Syriac. 2015-10-05 Damien Cassou Add first unit tests for auth-source.el * test/automated/auth-source-tests.el: New file. 2015-10-05 Eli Zaretskii Remove redundant redisplay code * src/xdisp.c (redisplay_internal, try_cursor_movement) (try_window_reusing_current_matrix, try_window_id): Remove redundant restrictions on redisplay optimizations based on the frame's 'redisplay' flag. See http://osdir.com/ml/general/2015-10/msg02110.html for the relevant discussions. 2015-10-04 Stefan Monnier * src/xdisp.c (windows_or_buffers_changed): Improve docstring. 2015-10-04 Xue Fuqiao Update tutorials/TUTORIAL.cn * etc/tutorials/TUTORIAL.cn: Improve translation. 2015-10-04 YAMAMOTO Mitsuharu * src/macfont.m (macfont_encode_char, syms_of_macfont): Remove unused vars. 2015-10-04 Stefan Merten Pull in version numbers from rst.el upstream release. * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev) (rst-svn-timestamp, rst-official-version) (rst-official-cvs-rev, rst-package-emacs-version-alist): Update version numbers. 2015-10-04 Eli Zaretskii * test/automated/coding-tests.el: New file. 2015-10-04 Michael Albinus Improve XEmacs compatibility of Tramp * lisp/net/tramp-compat.el (directory-listing-before-filename-regexp): Declare if it doesn't exist. (file-remote-p): Remove defalias, which was necessary for GNU Emacs 21. (redisplay): Make it an alias if it doesn't exist. * lisp/net/tramp.el (tramp-get-remote-tmpdir): Don't use `file-remote-p' (due to XEmacs compatibility). * lisp/net/trampver.el (locate-dominating-file) (tramp-compat-replace-regexp-in-string): Autoload. (tramp-repository-get-version): Do not dupe byte-compiler. 2015-09-02 K. Handa fix for the case that M17N_FLT_USE_NEW_FEATURE is not defined * src/ftfont.c (ftfont_drive_otf) [not M17N_FLT_USE_NEW_FEATURE]: Adjusted for the change of type of elements in the array MFLTGlyphString.glyphs. 2015-10-04 Eli Zaretskii Michael Heerdegen shr: fix too long lines in rendered buffers (Bug#21012) * lisp/net/shr.el (shr-insert-document, shr-fill-text): Correct calculation of available width. (shr-find-fill-point): Don't overflow window edge if shr-kinsoku-shorten is nil. 2015-10-04 Vincent Belaïche Restore blank line before next section, erroneously erased in my previous commit * etc/compilation.txt (symbol ant): Add an additional trailing blank line to this section, so that there are two of them immediately before the next section. 2015-10-04 Vincent Belaïche Support MSW filename style for ant compilation error regexp * etc/compilation.txt (symbol ant): * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Support MSW filename style. 2015-10-03 Paul Eggert * nt/INSTALL: Minor spelling and quote fixes. * lisp/ibuffer.el: Fix docstring length (Bug#21541). 2015-10-03 Simen Heggestøyl Maintain ordering of JSON object keys by default * lisp/json.el (json-object-type): Mention order handling in doc-string. (json--plist-reverse): New utility function. (json-read-object): Maintain ordering for alists and plists. (json-pretty-print): Ensure that ordering is maintained. * test/automated/json-tests.el (test-json-plist-reverse): New test for `json--plist-reverse'. (json-read-simple-alist): Update test to accommodate for changes in `json-read-object'. * etc/NEWS: Document the new behavior of the pretty printing functions. 2015-10-03 Andreas Schwab * src/coding.c (complement_process_encoding_system): Revert last change. 2015-10-03 Ulf Jasper * admin/MAINTAINERS: Add entry for Ulf Jasper. 2015-10-03 Xue Fuqiao Doc fix for `defmacro' * doc/lispref/objects.texi (Macro Type): `defmacro' is a macro now. 2015-10-03 Andreas Schwab More validatation of coding systems * src/fileio.c (Finsert_file_contents): Remove redundant coding-system check. (choose_write_coding_system): Likewise. * src/coding.c (complement_process_encoding_system): Check argument for valid coding system. 2015-10-03 Eli Zaretskii Avoid crashes in coding_inherit_eol_type * src/coding.c (coding_inherit_eol_type): Check the validity of the arguments. Suggested by Andreas Schwab . (Bug#21602) 2015-10-03 Eli Zaretskii More validatation of coding system in 'write-region' * src/coding.c (choose_write_coding_system): More validation of coding-system from various sources. Suggested by Andreas Schwab . (Bug#21602) 2015-10-03 Eli Zaretskii Avoid crashes due to invalid coding-system * src/fileio.c (choose_write_coding_system) (Finsert_file_contents): Check validity of coding-system-for-write and coding-system-for-read bound by the caller. (Bug#21602) 2015-10-03 Tassilo Horn Adapt to new prettify-symbols-unprettify-at-point default * etc/NEWS: Mention that unprettication of symbol at point is off by default. 2015-10-03 Tassilo Horn Revert my two recent process.c changes Revert "Improve last commit to process.c" and "Remove callback-handled channels from Available set" because they did not fix bug#21313. This reverts commits bfa1aa8e2bdaf14adbbf1e9e824051d3f740694c and 27f871907cc24f33a7d12ac3a4ab71a88f0bc554. 2015-10-02 Markus Triska * lisp/progmodes/prolog.el: Update and extend operator table. (prolog-smie-grammar): Add multifile, public etc. 2015-10-02 Paul Eggert Allow autogen even when Git is not installed * autogen.sh: Test ‘git status’ before trying to use Git. 2015-10-02 Stefan Monnier * lisp/vc/vc-git.el (vc-git-region-history): Handle local changes. Adjust lto/lfrom when we have uncommitted changes. 2015-10-02 Paul Eggert Fix problems found by clang 3.5.0 * src/cmds.c (Fdelete_char): Don’t assume XINT returns int. * src/font.c (font_parse_family_registry): Use &"str"[X] instead of "str"+X, to pacify clang -Wstring-plus-int. 2015-10-02 Eli Zaretskii * nt/INSTALL: Update instructions for running autogen.sh. * nt/INSTALL: Point to ezwinports for libXpm binaries. 2015-10-02 Daniel Colascione Fix winner in cl-lib not loaded case * lisp/winner.el (winner-change-fun): Don't use cl-lib functions without requiring CL 2015-10-02 Paul Eggert Fix a few problems with directed quotes This is in response to a problem report by Kaushal Modi in: http://bugs.gnu.org/21588#25 * lisp/cedet/mode-local.el (describe-mode-local-overload): * lisp/emacs-lisp/bytecomp.el (byte-compile-fix-header): * lisp/info-xref.el (info-xref-check-all-custom): * lisp/mail/emacsbug.el (report-emacs-bug-hook): Prefer directed to undirected single quotes in diagnostics. 2015-10-01 Eli Zaretskii Revert "Attempt to fix slow redisplay caused by last changes" * src/xdisp.c (try_window_id, try_window_reusing_current_matrix) (try_cursor_movement): Don't relax requirements for redisplay optimizations for the selected frame. (Bug#21597) This reverts commit c4c1fb97727ff52bcfa83ad5ed94a64a93d12e59. 2015-10-01 Eli Zaretskii Fix slow redisplay when daemon frame exists * src/xdisp.c (redisplay_internal): Don't consider daemon frames when looking for frames that need to be redisplayed. (Bug#21597) 2015-10-01 Eli Zaretskii Attempt to fix slow redisplay caused by last changes * src/xdisp.c (try_window_id, try_window_reusing_current_matrix) (try_cursor_movement): Relax requirements for redisplay optimizations for the selected frame. (Bug#21597) 2015-10-01 Stephen Leake * src/dired.c (Ffile_name_completion, Ffile_name_all_completions): Improve doc string. 2015-10-01 Stephen Leake * lisp/minibuffer.el (minibuffer-completion-help): Set default base-size, in case completion table does not set it. 2015-10-01 Eli Zaretskii Fix GUD display of GDB output with non-ASCII text * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): New defcustom. (gdb-mi-decode): New function. (gud-gdbmi-marker-filter): If gdb-mi-decode-strings is non-nil, decode octal escapes in GDB output. (Bug#21572) 2015-10-01 Eli Zaretskii * nt/INSTALL: Document where to find XPM support files. 2015-10-01 Tassilo Horn Un- and re-prettification are not exclusive * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook): Re-apply prettification to previous symbol also when unprettifying next one. 2015-10-01 Tassilo Horn Don't unprettify symbol at point by default * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point): Default to disabled (nil). 2015-09-30 Artur Malabarba * lisp/progmodes/prog-mode.el (prettify-symbols-unprettify-at-point): Support unprettifying when point is after a symbol. * etc/NEWS: Document `prettify-symbols-unprettify-at-point'. 2015-09-30 Eli Zaretskii Avoid assertion violations in push_prefix_prop * src/xdisp.c (push_prefix_prop): Avoid assertion violations when a line that has a line-prefix defined starts with an image. (Bug#21428) 2015-09-30 Eli Zaretskii Disable some display optimizations when frames need redisplay These optimizations were previously disabled by the windows_or_buffers_changed flag, which now is not set when only some frames need to be redrawn. * src/xdisp.c (redisplay_internal): Redisplay any frame whose 'redisplay' flag is set. (try_window_reusing_current_matrix, try_window_id) (try_cursor_movement): Disable these optimizations when the frame's 'redisplay' flag is set. 2015-09-30 Tassilo Horn Don't modify buffer by unprettification * lisp/progmodes/prog-mode.el (prettify-symbols--compose-symbol): (prettify-symbols--post-command-hook, prettify-symbols-mode): Don't modify buffer when setting/removing custom prettify-symbols-start/end text properties. Add them to font-lock-extra-managed-props, too. 2015-09-30 Stefan Monnier Try to avoid redisplaying all frames when creating a new one * src/xfns.c (x_set_menu_bar_lines, x_change_tool_bar_height): * src/xfaces.c (Finternal_make_lisp_face, Finternal_copy_lisp_face) (Finternal_set_lisp_face_attribute, update_face_from_frame_parameter): * src/frame.c (x_set_screen_gamma): Set the specific frame's `redisplay' bit rather than windows_or_buffers_changed. * src/window.c (apply_window_adjustment): Remove redundant setting of windows_or_buffers_changed. * src/xdisp.c (redisplay_internal): Set the specific frame's `redisplay' bit rather than update_mode_lines in response to cursor_type_changed. (syms_of_xdisp): Use hash-tables for redisplay_*_cause tables. (AINC): Adjust accordingly. 2015-09-30 Tassilo Horn Implement unprettification of symbol at point * lisp/progmodes/prog-mode.el: Implement feature for unprettifying the symbol at point. (prettify-symbols--current-symbol-bounds): New variable. (prettify-symbols--post-command-hook): New function. (prettify-symbols-unprettify-at-point): New defcustom. (prettify-symbols-mode): Use it. (prettify-symbols--compose-symbol): Use them. 2015-09-30 YAMAMOTO Mitsuharu * src/macfont.m (mac_font_descriptor_supports_languages): Regard "zh" as synonym of "zh-Hans". 2015-09-30 YAMAMOTO Mitsuharu Work around crash when displaying etc/HELLO on OS X 10.11 * src/macfont.m (mac_font_get_weight) (mac_font_descriptor_get_adjusted_weight): New functions. (macfont_store_descriptor_attributes): Adjust weight. 2015-09-30 YAMAMOTO Mitsuharu * src/macfont.m: Fix compilation with USE_CT_GLYPH_INFO. 2015-09-30 Nicolas Petton * lisp/arc-mode.el (archive-rar-summarize): Better alignment of the columns. 2015-09-30 Nicolas Petton Use unar and lsar to handle RAR archives in arc-mode * lisp/arc-mode.el (archive-rar-extract, archive-extract-by-file): Rely on unar and lsar instead of unrar-free for RAR archives (bug#17663). 2015-09-30 Wieland Hoffmann (tiny change) Clarify :create in auth-source's docs * lisp/gnus/auth-source.el (auth-source-search): Clarify :create's meaning. 2015-09-30 Phil Sainty Avoid empty -path arguments in rgrep * lisp/progmodes/grep.el (rgrep-default-command): Remove nil from the list produced according to grep-find-ignored-directories, before passing it to Find/Grep invocation. (Bug#21548) 2015-09-30 Eli Zaretskii Clarify documentation of pos-visible-in-window-p * src/window.c (Fpos_visible_in_window_p): Clarify the meaning of t for POS. See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg01040.html for the original report. * doc/lispref/windows.texi (Window Start and End): Clarify the meaning of t for the POSITION argument of pos-visible-in-window-p. 2015-09-29 Stefan Monnier * lisp/progmodes/prolog.el: Fix various indentation cases. (prolog-operator-chars): New const (add \\). (prolog-smie-forward-token, prolog-smie-backward-token): Use it. (prolog-smie-rules): Add rules according to bug#21526. 2015-09-29 Stefan Monnier * lisp/progmodes/sh-script.el: Old "dumb" continued line indent. (sh-indent-after-continuation): Add new value `always' (bug#17620) (sh-smie-sh-rules): Remove old handling of continued lines. (sh-smie--indent-continuation): New function. (sh-set-shell): Use it. 2015-09-29 Stefan Monnier * lisp/progmodes/octave.el: Use grammar more; Handle enumeration fun. Remove redundant :group keyword args. (octave-begin-keywords, octave-else-keywords, octave-end-keywords): Remove variables. (octave-operator-table, octave-smie-bnf-table): Use let-when-compile to turn them into compile-time variables. Auto-generate the "foo ... end" rules from the "foo ... endfoo" rules. Add rules for break, continue, return, global, and persistent. Refine the rule for "until". (octave-smie--funcall-p, octave-smie--end-index-p) (octave-smie--in-parens-p): New functions. (octave-smie-backward-token, octave-smie-forward-token): Use them to distinguish the "enumeration" function and the "end" index from their corresponding keywords. (octave--block-offset-keywords): New constant. (octave-smie-rules): Use it. Adjust rules for new global/persistent parsing. (octave-reserved-words): Redefine using octave-smie-grammar. (octave-font-lock-keywords): Use octave-smie--funcall-p and octave-smie--end-index-p. 2015-09-29 Stefan Monnier * lisp/emacs-lisp/lisp-mode.el (let-when-compile): Work like let*. 2015-09-29 Eli Zaretskii * nt/INSTALL: Remove references to GTK site. That site no longer offers Windows downloads. 2015-09-29 Eli Zaretskii * nt/INSTALL: Add instructions for installing Git. 2015-09-29 Katsumi Yamaoka * lisp/net/shr.el (shr-colorize-region): Allow 88-color tty to use colors. Suggested by Eli Zaretskii. 2015-09-28 Katsumi Yamaoka * lisp/net/shr.el (shr-colorize-region): Don't do it on a system not supporting 256 above colors (bug#21557). 2015-09-28 Dmitry Gutov Revert "Don't rely on defaults in decoding UTF-8 encoded Lisp files" This reverts commit db828f62f6f17414fbbc3206dac123dc73dd6055. 2015-09-28 Nicolas Petton Add documentation for seq.el * doc/lispref/sequences.texi: Add documentation regarding extending seq.el, as well as missing documentation for seq-elt, seq-length, seq-p, seq-do and seq-map. 2015-09-28 Nicolas Petton Better documentation for seq-some * doc/lispref/sequences.texi: * lisp/emacs-lisp/seq.el: Update the documentation of seq-some to guarantee that the returned value is the first non-nil value that resulted from applying the predicate. 2015-09-28 Nicolas Petton * lisp/arc-mode.el: Sharp-quote function arguments. 2015-09-28 Eli Zaretskii Avoid redisplay error in ediff-regions-wordwise * lisp/vc/ediff-util.el (ediff-clone-buffer-for-region-comparison): Make sure the mark is set before activating it. (Bug#21567) 2015-09-28 Eli Zaretskii Another attempt to fix crashes due to prematurely freed faces * src/xdisp.c (redisplay_internal): Inhibit freeing of realized faces for as long as we might have desired matrices that reference those faces. (Bug#21428) 2015-09-28 Tassilo Horn Add auctex development list email address 2015-09-28 Tassilo Horn * admin/MAINTAINERS: Add entries for AUCTeX team and myself. 2015-09-28 Arash Esbati (tiny change) Improve wrapfig package support and caption parsing * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Correct description string and add wraptable environment. (reftex-default-context-regexps): Improve caption regexp. 2015-09-28 Anders Lindgren Respect value of frame_resize_pixelwise when handling fullscreen state * src/nsterm.m (handleFS): Respect frame_resize_pixelwise when setting size increments. 2015-09-27 Michael Albinus * src/gfilenotify.c (Fgfile_add_watch): Cleanup temporary variable. 2015-09-27 Simen Heggestøyl Add prettify-symbols-alist for js-mode * lisp/progmodes/js.el (js--prettify-symbols-alist): New defconst. (js-mode): Use it. 2015-09-27 Eli Zaretskii * nt/subdirs.el: File deleted (no longer used). 2015-09-26 Alan Mackenzie Fix follow-scroll-up/down, making them replacements for scroll-up/down 1. Allow point to move between follow windows in scroll operations. 2. Fix bug where `right-char' just before EOB caused spurious scrolling, when EOB was isolated in the last follow window. * lisp/follow.el (follow-fixed-window): New variable. (follow-get-scrolled-point): New function. (follow-scrol-up, follow-scroll-down): Add autoload cookies. Reformulate the code. Put `scroll-command' properties on the functions. Correct minor errors in ...-down's doc string and code. (follow-calc-win-end): Amend incomplete doc string. Use `pos-visible-in-window-p' to check whether EOB is in the window. (follow-estimate-first-window-start): Correct an off-by-1 error. (follow-adjust-window): Add handling for explicit scrolling operations. 2015-09-26 Paul Eggert * admin/MAINTAINERS: Add self, plus list some more files sans maintaners. 2015-09-26 Zachary Kanfer (tiny change) New DWIM commands for changing letter-case * lisp/simple.el (upcase-dwim, downcase-dwim, capitalize-dwim): New functions. (Bug#21501) 2015-09-26 Eli Zaretskii * etc/PROBLEMS: Document problems with pasting on MS-Windows. 2015-09-26 Eli Zaretskii Make face realization be more frame-specific * src/frame.h (struct f): New flag face_change. * src/xfaces.c (Finternal_make_lisp_face) (Finternal_copy_lisp_face, Finternal_set_lisp_face_attribute) (update_face_from_frame_parameter): Set the face_change flag only for the frame whose faces are affected. * src/xdisp.c (init_iterator): If a frame's face_change flag is set, free faces only on that frame. (redisplay_internal): Disable "display optimization 1" if the frame's face_change flag is set. (redisplay_window): Don't allow skipping a window's redisplay if its frame's face_change flag is set. * src/frame.c (x_set_screen_gamma): Instead of calling Fclear_face_cache, call clear_face_cache and set windows_or_buffers_changed to a non-zero value. This avoids setting the global face_change flag that triggers face realization on all frames and thorough redisplay of all of them. * lisp/term/tty-colors.el (tty-register-default-colors): Don't clear face cache if the selected frame is a GUI frame. 2015-09-26 Tassilo Horn Remove font-latex specific check * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Use syntax-ppss data to identify verbatim contents. 2015-09-25 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Fix some false negatives. 2015-09-25 Eli Zaretskii Reorder Windows version in Emacs manifests * nt/emacs-x64.manifest: * nt/emacs-x86.manifest: Reorder Windows version from lowest to highest. 2015-09-25 Eli Zaretskii Update Emacs manifest files for Windows 10 * nt/emacs-x86.manifest: * nt/emacs-x64.manifest: Declare compatibility with Windows 10. 2015-09-25 Eli Zaretskii Avoid non-ASCII decoding errors in C src files * src/nsterm.m: * src/lisp.h: * src/editfns.c: * src/doprnt.c: Add 'coding' cookies -- these files include Unicode characters and should be decoded as UTF-8. 2015-09-25 Alan Mackenzie Resurrect edebug-set-initial-mode, repurposing it to set the global mode * lisp/emacs-lisp/edebug.el (edebug-initial-mode-alist): Uncomment, and amend to match current modes and functions. (edebug-set-initial-mode): Uncomment and change from setting a defun's `edebug-initial-mode''s property to setting the variable `edebug-initial-mode'. (top level): Create new binding C-x C-a C-m for `edebug-set-initial-mode'. * doc/lispref/edebug.texi (Edebug Execution Modes): Document `edebug-set-initial-mode' and its new key binding. (Edebug Options): Mention the new command in the pertinent place. * etc/NEWS: Write entry for this change. 2015-09-25 Eli Zaretskii Avoid non-ASCII decoding errors in Texinfo files * doc/misc/tramp.texi: * doc/lispref/strings.texi: * doc/lispref/positions.texi: * doc/lispref/help.texi: * doc/lispref/functions.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/emacs/text.texi: * doc/emacs/modes.texi: * doc/emacs/mini.texi: * doc/emacs/display.texi: * doc/emacs/custom.texi: * doc/emacs/basic.texi: Add 'coding' cookies -- these files use Unicode characters and should be decoded as UTF-8. * doc/lispref/frames.texi (Size Parameters): Don't use a non-ASCII apostrophe unnecessarily. 2015-09-25 Paul Eggert Merge from gnulib This incorporates: 2015-09-25 c-ctype: rewrite to use inline functions 2015-09-24 maint: add coding cookies to non-ASCII sources 2015-09-24 gitlog-to-changelog: trim only trailing whitespaces * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex: * lib/acl-internal.c, lib/acl-internal.h, lib/c-ctype.c: * lib/c-ctype.h, lib/get-permissions.c, lib/qcopy-acl.c: * lib/set-permissions.c: Copy from gnulib. 2015-09-24 Paul Eggert Update publicsuffix.txt from upstream * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/effective_tld_names.dat dated 2015-09-24 17:29:21 UTC. 2015-09-24 Eli Zaretskii Prevent timers from messing up TTY menus * src/term.c (tty_menu_activate): Inhibit redisplay for as long as the TTY menu is open. (Bug#21530) 2015-09-24 Paul Eggert No need to mention K&R C in c-mode intro 2015-09-24 Stefan Monnier Fix recent bootstrap problems * src/syntax.c (parse_sexp_propertize): Fix last fix. * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): Fix paren typo. * lisp/emacs-lisp/lisp-mode.el: Require cl-lib for cl-progv. 2015-09-24 Michael Albinus * src/gfilenotify.c (Fgfile_add_watch): Decrease polling rate. 2015-09-23 Ivan Andrus Properly quote nested xml comments (Bug#6267) (Bug#20001) * lisp/nxml/nxml-mode.el (nxml-comment-quote-nested): New function. (nxml-mode): Set comment-quote-nested-function. 2015-09-23 Ivan Andrus Allow major-modes full control over quoting nested comments * lisp/newcomment.el (comment-quote-nested-function): New variable. (comment-quote-nested-default): New function. (comment-quote-nested): Use `comment-quote-nested-function'. 2015-09-23 Paul Eggert Prefer CALLN in a few more places * src/macfont.m (macfont_set_family_cache): * src/nsterm.m (append2): * src/xterm.c (x_cr_export_frames): Prefer CALLN to allocating the arg arrays by hand. 2015-09-23 Michael Albinus Adapt file-notify-test02-events test case * test/automated/file-notify-tests.el (file-notify-test02-events): Create a new watch for every test. 2015-09-23 Michael Albinus Continue gfilenotify.c implementation of missing parts * lisp/filenotify.el (file-notify-add-watch): Append `flags' to `gfile-add-watch' call. (file-notify-rm-watch): Modify `file-notify-descriptors' only after calling the low level functions. * src/gfilenotify.c (dir_monitor_callback): Check, whether event_type is expected. (Fgfile_add_watch): Allow also `change'and `attribute-change' for FLAGS. (Fgfile_rm_watch): Fix typo. (syms_of_gfilenotify): Declare Qchange and Qattribute_change. 2015-09-23 Stefan Monnier * src/syntax.c (parse_sexp_propertize): Handle spurious e_property_truncated flag. (update_syntax_table_forward): Remove invalid assertion. 2015-09-23 Eli Zaretskii * src/xdisp.c (produce_stretch_glyph): Support ':relative-width' space display spec on text-mode terminals, by calling PRODUCE_GLYPHS instead of x_produce_glyphs. Remove the HAVE_WINDOW_SYSTEM guards from the supporting code, as well as the test for a GUI frame. 2015-09-23 Oleh Krehel Move let-when-compile to lisp-mode.el This fixes the bootstrapping problem of `let-when-compile' using `cl-progv' while being in subr.el (i.e. before cl stuff was loaded). 2015-09-23 Thomas Fitzsimmons * lisp/url/url-http.el (url-http-parse-headers): Do not automatically include Authorization header in redirect. (Bug#21350) 2015-09-22 Eli Zaretskii Clarify documentation of ':relative-width' * doc/lispref/display.texi (Specified Space): Document that ':relative-width' is only supported on GUI frames. 2015-09-22 Eli Zaretskii Fix 'current-column' in presence of :relative-width * src/indent.c (check_display_width): Support ':relative-width' in a display spec that specifies a stretch glyph. (Bug#21533) 2015-09-22 Ken Manheimer Reformat the pdbtrack remote-file fix ChangeLog.2 entry ... to conform better to CONTRIBUTE guidelines. 2015-09-22 Stefan Monnier * lisp/progmodes/prolog.el: Fix indentation of empty line * lisp/emacs-lisp/smie.el (smie-rules-function): Document new `empty-line-token' element. (smie-indent-empty-line): New function. (smie-indent-functions): Add it. * lisp/progmodes/prolog.el (prolog-smie-rules): Fix :list-intro behavior and use the new `empty-line-token' element (bug#21526). (prolog-mode-variables): Fix comment-start-skip setting to match comment-start. * test/indent/prolog.prolog: Add nested indentation tests. * lisp/newcomment.el (comment-normalize-vars): Fix default value of comment-start-skip not to misuse submatch 1. 2015-09-22 Alan Mackenzie Make description of `edebug-initial-mode' user friendly Fixes bug#21365. * doc/lispref/edebug.texi (Edebug Execution Modes): Change the description of `edebug-initial-mode' from that of its implementation to that of its visual effect and use. Move the paragraph higher up. 2015-09-22 Eli Zaretskii lisp/progmodes/gud.el (gud-format-command): Fix last commit * lisp/progmodes/gud.el (gud-format-command): Don't use Tramp internal functions 'tramp-file-name-localname' and 'tramp-dissect-file-name'. 2015-09-22 Tassilo Horn Improve last commit to process.c 2015-09-22 Michael Albinus Implement gfile-valid-p * lisp/filenotify.el (file-notify-callback): Fix typo. (gfile-valid-p): Remove defalias. * src/gfilenotify.c (dir_monitor_callback): Cancel the monitor if the file or directory to be watched is deleted. (Fgfile_add_watch): Make watch_object a triple. (Fgfile_rm_watch): Check, whether watch is cancelled already. (Fgfile_valid_p): New defun. (syms_of_gfilenotify): Declare Sgfile_valid_p. 2015-09-22 Tassilo Horn Remove callback-handled channels from Available set * src/process.c (wait_reading_process_output): Remove channel from Available set if it is handled by a callback, e.g., dbus or inotify (bug#21313). 2015-09-21 Mark Oteiza Use lunate epsilon for TeX \epsilon * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add \varepsilon using GREEK SMALL LETTER EPSILON, and change \epsilon to use GREEK LUNATE EPSILON SYMBOL 2015-09-21 Stefan Monnier * lisp/progmodes/prolog.el: Fix nested electric if-then-else * lisp/progmodes/prolog.el (prolog-find-unmatched-paren): Use innermost rather than outermost paren (bug#21526). 2015-09-21 Paul Eggert Improve git diff hunk headers for .el, .texi Problem reported by Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00826.html * .gitattributes (*.el, *.texi): New patterns. * autogen.sh: Configure diff.elisp.xfuncname and diff.texinfo.xfuncname if using Git. 2015-09-21 Eli Zaretskii Don't rely on defaults in decoding UTF-8 encoded Lisp files * lisp/replace.el: * lisp/textmodes/rst.el: * lisp/whitespace.el: Add an explicit UTF-8 encoding tag. 2015-09-21 Paul Eggert Clarify or replace a few \u escapes * doc/lispref/nonascii.texi (Character Properties) More-detailed commentary for \u escapes. * lisp/progmodes/python.el (python--prettify-symbols-alist): * lisp/replace.el (query-replace-from-to-separator): * lisp/textmodes/rst.el (rst-bullets, rst-re-alist-def) (rst-mode-syntax-table): * lisp/whitespace.el (whitespace-display-mappings): Prefer actual character to \u escape when this makes the code easier to follow in the usual case where Unicode chars can be displayed. 2015-09-21 Paul Eggert Pacify GCC -Wmaybe-uninitialized in xdisp.c * src/xdisp.c (face_before_or_after_it_pos): Use do-while rather than while loop to avoid GCC -Wmaybe-uninitialized diagnostic with charpos. The loop should always execute at least once anyway. 2015-09-21 Tassilo Horn Signal error on invalid regexp * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries): Signal an error when the user tries searching with a regexp matching the empty string. 2015-09-21 Eli Zaretskii Another fix of file-notify-tests for w32notify * test/automated/file-notify-tests.el (file-notify-test02-events): Further adaptation for w32notify: reduce the number of expected 'changed' events. (Bug#21435) 2015-09-21 Michael Albinus Adapt tests and manual for w32notify * doc/lispref/os.texi (File Notifications): w32notify does not send `attribute-changed' events. * test/automated/file-notify-tests.el (file-notify--test-with-events): Simplify parameters. Adapt all callees. (file-notify-test02-events): w32notify does not send `attribute-changed' events. (file-notify-test04-file-validity, file-notify-test05-dir-validity): Do not skip in case of w32notify. Simply ignore this part of the test. 2015-09-21 Dima Kogan Fix setting breakpoints when remote-debugging * lisp/progmodes/gud.el (gud-format-command): Send localized file names to the debugger running on the remote. (Bug#13304) 2015-09-21 Nicolas Petton Better docstring and parameter name for seq-find * lisp/emacs-lisp/seq.el (seq-find): Improve the docstring and rename the parameter `sentinel' to `default'. * doc/lispref/sequences.texi (Sequence Functions): Update the documentation for `seq-find' accordingly. 2015-09-21 Eli Zaretskii Avoid infinite recursion while displaying box face * src/xdisp.c (face_before_or_after_it_pos): Fix calculation of the previous string/buffer character position under bidi iteration. (Bug#21428) 2015-09-21 Anders Lindgren Keep upper edge unchanged when changing size of NS frame * src/nsterm.m (x_set_window_size): Keep upper frame edge unchanged (Bug#21415). 2015-09-20 Stefan Monnier * lisp/progmodes/prolog.el: Improve handling of if/then/else. (prolog-smie-rules): Accommodate standard if/then/else special indentation. (prolog-mode): Add . to electric-indent-chars. (prolog-electric--if-then-else): Re-indent the line before adding space after the new char (bug#21526). 2015-09-20 Mark Oteiza Add prettify symbols to python-mode * lisp/progmodes/python.el (python-prettify-symbols-alist): New variable. (python-mode): Use it 2015-09-20 Stefan Monnier * lisp/emacs-lisp/syntax.el (syntax-begin-function): Make obsolete. 2015-09-20 Jostein Kjønigsen (tiny change) (compilation-error-regexp-alist-alist): Tone down guile-file * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Make guile-file a bit less enthusiastic (bug#21496). 2015-09-20 Drew Csillag * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix m4_* highlighting. * lisp/progmodes/m4-mode.el (m4-font-lock-keywords): Fix recognition of commands when they have a "m4_" prefix. 2015-09-20 Paul Eggert '.' -> `.' in doc string * lisp/emacs-lisp/timer.el (run-at-time): In doc string, quote individual chars with grave quotes instead of straight quotes, as this works better when they are translated to curved quotes. 2015-09-20 Michael Albinus Improve file notifications, especially for Tramp * doc/lispref/files.texi (Magic File Names): Mention `file-notify-valid-p'. * doc/lispref/os.texi (File Notifications): Describe `file-notify-valid-p'. * etc/NEWS: Add `file-notify-valid-p'. * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch): Improve implementation. (tramp-gvfs-monitor-file-process-filter): Rename from `tramp-gvfs-file-gvfs-monitor-file-process-filter'. Delete process if appropriate. * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): Improve implementation. (tramp-sh-gvfs-monitor-dir-process-filter): Rename from `tramp-sh-file-gvfs-monitor-dir-process-filter'. Delete process if appropriate. (tramp-sh-inotifywait-process-filter): Rename from `tramp-sh-file-inotifywait-process-filter'. Delete process if appropriate. * lisp/net/tramp.el (tramp-handle-file-notify-rm-watch): Use `delete-process'. (tramp-handle-file-notify-valid-p): Check also, that file or directory to be watched still exists. * test/automated/file-notify-tests.el (file-notify--test-timeout): New defun. Use it at all places a timeout is needed. (file-notify--test-cleanup): Delete directories recursively. Cleanup also Tramp connections. (file-notify-test02-events): Add tests for `attribute-change'. (file-notify-test04-file-validity, file-notify-test05-dir-validity): Add tests for `file-notify-rm-watch'. 2015-09-20 Paul Eggert Use %s to format strings instead of splicing them If FOO might contain quotes that are part of a file or variable name, the quotes should not be translated when showing FOO’s name in a diagnostic. So, for example, (message (concat (FOO ": bar"))) is not quite right, as it would translate FOO’s quotes. Change it to (message "%s: bar" FOO) instead. * lisp/allout.el (allout-process-exposed): * lisp/calc/calc-ext.el (calc-do-prefix-help): * lisp/calc/calc-store.el (calc-store-into): * lisp/calendar/todo-mode.el (todo-category-completions): * lisp/cedet/semantic/complete.el (semantic-completion-message): * lisp/org/ob-latex.el (convert-pdf): * lisp/org/org-crypt.el (org-crypt-check-auto-save): * lisp/org/ox-latex.el (org-latex-compile): * lisp/org/ox-man.el (org-man-compile): * lisp/org/ox-odt.el (org-odt--export-wrap): * lisp/org/ox-texinfo.el (org-texinfo-compile): * lisp/progmodes/ruby-mode.el (ruby-in-ppss-context-p): * lisp/progmodes/verilog-mode.el (verilog-batch-execute-func) (verilog-signals-combine-bus, verilog-read-defines) (verilog-getopt-file, verilog-expand-dirnames) (verilog-modi-lookup, verilog-modi-modport-lookup-one): * lisp/term/ns-win.el (ns-spi-service-call): Use %s to avoid translating quotes of file names etc. in diagnostics. 2015-09-20 Stefan Monnier * lisp/progmodes/js.el (js--syntax-begin-function): Remove. (js-mode): Don't set syntax-begin-function. 2015-09-20 Stefan Monnier * lisp/font-lock.el (font-lock-compile-keywords): Don't assume syntax-begin-function is a symbol. 2015-09-20 Eli Zaretskii Improve documentation of 'run-at-time' * lisp/emacs-lisp/timer.el (run-at-time): Improve the doc string. In particular, don't refer to 'diary-entry-time', because it is unavailable until diary-lib is loaded. Also, refer to 'timer-duration-words', not 'timer-duration', as the latter's doc string says nothing about the accepted strings. 2015-09-19 Jay Belanger * lisp/calc/calc-ext.el (calc-do-prefix-help): Tidy up error message. 2015-09-19 Ken Manheimer Repair pdbtrack remote file tracking * lisp/progmodes/python.el (python-pdbtrack-set-tracked-buffer): Rectify pdbtrack so it follows transitions from one remote source file to the next. 2015-09-19 Artur Malabarba * lisp/emacs-lisp/timer.el (run-at-time): Docstring formatting. 2015-09-19 Eli Zaretskii Adapt vc-src to the old-new vc-checkin API * lisp/vc/vc-src.el (vc-src-checkin): Accept and ignore an additional optional parameter. 2015-09-19 Simen Heggestøyl Add overflow module to CSS property list * lisp/textmodes/css-mode.el (css-property-ids): Add properties from CSS Overflow Module Level 3. 2015-09-19 Eli Zaretskii Fix documentation of "C-u C-x v v" * doc/emacs/maintaining.texi (Advanced C-x v v): Make the documentation of "C-u C-x v v" match what the code does. Resurrect the ability to specify a revision in vc-next-action * lisp/vc/vc-bzr.el (vc-bzr-checkin): * lisp/vc/vc-dav.el (vc-dav-checkin): * lisp/vc/vc-git.el (vc-git-checkin): * lisp/vc/vc-hg.el (vc-hg-checkin): * lisp/vc/vc-mtn.el (vc-mtn-checkin): Accept and silently ignore an additional optional argument, the revision to checkin. * lisp/vc/vc-sccs.el (vc-sccs-checkin): * lisp/vc/vc-cvs.el (vc-cvs-checkin): * lisp/vc/vc-rcs.el (vc-rcs-checkin): Allow to optionally specify a revision to checkin. * lisp/vc/vc.el (vc-next-action): Allow to optionally specify the revision when checking in files. See http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00688.html for the details. 2015-09-18 Wilson Snyder * lisp/progmodes/verilog-mode.el (verilog-forward-sexp-function) (verilog-decls-princ, verilog-modport-princ) (verilog-modi-modport-lookup-one): Fix checkdoc warnings. 2015-09-17 Jay Belanger Fix the routine for help on Calc's prefixes * lisp/calc/calc-ext.el (calc-prefix-help-retry): New variable. (calc-do-prefix-help): Use `read-char' to determine the next Calc command. 2015-09-17 Stefan Monnier * lisp/font-lock.el (font-lock-beginning-of-syntax-function): Remove. (font-lock-fontify-block): Don't let-bind it. (font-lock-compile-keywords): Don't use it. (font-lock-set-defaults): Don't set it. Allow the variable alist to start one slot earlier, instead. * lisp/emacs-lisp/syntax.el (font-lock-beginning-of-syntax-function): Don't declare. (syntax-ppss): Don't use it either. * lisp/font-core.el (font-lock-defaults): Remove SYNTAX-BEGIN from docstring. * doc/emacs/display.texi (Font Lock): Don't mention font-lock-beginning-of-syntax-function. * doc/lispref/modes.texi (Font Lock Basics): Update description of font-lock-defaults. (Syntactic Font Lock): Remove font-lock-beginning-of-syntax-function. * lisp/loadhist.el (unload-feature-special-hooks): Remove font-lock-beginning-of-syntax-function. * lisp/obsolete/lazy-lock.el (lazy-lock-fontify-region): * lisp/emacs-lisp/lisp.el (beginning-of-defun-raw): Don't let-bind font-lock-beginning-of-syntax-function. 2015-09-17 Paul Eggert Backslash cleanup in Elisp source files This patch should not change behavior. It typically omits backslashes where they are redundant (e.g., in the string literal "^\$"). In a few places, insert backslashes where they make regular expressions clearer: e.g., replace "^\*" (equivalent to "^*") with "^\\*", which has the same effect as a regular expression. Also, use ‘\ %’ instead of ‘\%’ when avoiding confusion with SCCS IDs, and similarly use ‘\ $’ instead of ‘\$’ when avoiding confusion with RCS IDs, as that makes it clearer that the backslash is intended. Some more minor backslash fixes * test/automated/compile-tests.el (compile-tests--test-regexps-data): * test/automated/info-xref.el (info-xref-test-write-file): Double backslashes in strings. Fix several backslash typos in Elisp strings * lisp/calendar/todo-mode.el (todo-files, todo-rename-file) (todo-find-filtered-items-file, todo-reset-nondiary-marker) (todo-reset-done-string, todo-reset-comment-string) (todo-reset-highlight-item): * lisp/erc/erc-networks.el (erc-networks-alist): * lisp/gnus/gnus-art.el (gnus-button-handle-library): * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group-url): * lisp/gnus/nntp.el (nntp-via-shell-prompt) (nntp-telnet-shell-prompt): * lisp/gnus/spam-report.el (spam-report-gmane-regex): * lisp/image-dired.el (image-dired-rotate-original): (image-dired-get-exif-file-name): * lisp/international/latin1-disp.el (latin1-display-ucs-per-lynx): * lisp/mail/undigest.el (rmail-digest-parse-rfc1153strict): * lisp/mh-e/mh-letter.el (mh-file-is-vcard-p): * lisp/mh-e/mh-mime.el (mh-file-mime-type-substitutions): * lisp/net/shr-color.el (shr-color->hexadecimal): * lisp/org/org-bibtex.el (org-bibtex-fields): * lisp/org/org-docview.el (org-docview-export): * lisp/org/org-entities.el (org-entities): * lisp/org/ox-icalendar.el (org-icalendar-cleanup-string): * lisp/progmodes/cperl-mode.el (cperl-indent-exp): * lisp/progmodes/ebnf2ps.el (ebnf-file-suffix-regexp) (ebnf-style-database): * lisp/progmodes/idlw-help.el (idlwave-do-context-help1): * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block): * lisp/progmodes/sql.el (sql-product-alist): * lisp/progmodes/verilog-mode.el (verilog-error-regexp-emacs-alist) (verilog-error-font-lock-keywords) (verilog-assignment-operator-re): * lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): * lisp/vc/add-log.el (change-log-version-number-regexp-list): Fix typo by replacing ‘\’ with ‘\\’ in a string literal. For example, to get the regular expression ‘\.’ use the string literal "\\.", not "\." (which is equivalent to "."). * lisp/emulation/viper-util.el (viper-glob-unix-files): Remove stray ‘\j’ from string. * lisp/gnus/nntp.el (nntp-via-shell-prompt) (nntp-telnet-shell-prompt): Treat > like $ when matching a shell prompt. * lisp/progmodes/make-mode.el (makefile-browse): Properly quote a diagnostic. Fix minor quoting problems in diagnostics * lisp/tutorial.el (tutorial--describe-nonstandard-key): * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Follow text-quoting-style in diagnostic, and quote a file name. 2015-09-17 Eli Zaretskii * doc/lispref/frames.texi (Cursor Parameters): Document 'x-stretch-cursor'. 2015-09-16 Paul Eggert Omit unnecessary \ before paren in C docstrings Although \( is needed in docstrings in Elisp code, it is not needed in docstrings in C code, since C function definitiions do not start with a parenthesis. The backslashes made the docstrings a bit harder to read and to format in columns. Also, some C docstrings had ( in column 1 and this did not appear to be causing any problems. So, simplify C docstrings by replacing \( with ( and \) with ). A few more minor quoting fixes in a script and a text file Minor quoting fixes in scripts and doc Prefer straight quotes in random script files, as they are not converted. Prefer grave quotes in a couple of places in the manual that were missed earlier, as these quotes are converted. Minor backslash fixes in manuals and scripts * Makefile.in (install-arch-indep): * admin/charsets/compact.awk: * admin/charsets/gb180302.awk (gb_to_index): * admin/charsets/gb180304.awk (gb_to_index): Avoid undefined behavior in Awk regular expression backslashes. * doc/misc/efaq.texi (Matching parentheses): Omit unnecessary backslashes. * doc/misc/gnus-faq.texi (FAQ 5-8): Avoid undefined behavior in suggested sed backslash usage. Add -Wswitch to --enable-gcc-warnings Make --enable-gcc-warnings a bit pickier, by also using -Wswitch. * configure.ac (WERROR_CFLAGS): Don’t add -Wno-switch. * lib-src/etags.c (main, consider_token, C_entries): * src/coding.c (encode_invocation_designation): * src/data.c (Ftype_of): * src/eval.c (Fdefvaralias, default_toplevel_binding) (Fbacktrace__locals, mark_specpdl): * src/lisp.h (record_xmalloc): * src/syntax.c (scan_lists, scan_sexps_forward): * src/window.c (window_relative_x_coord): * src/xdisp.c (push_it, pop_it): * src/xterm.c (xg_scroll_callback, x_check_fullscreen): Error out or do nothing (as appropriate) if a switch statement with an enum value does not cover all of the enum. * src/dispextern.h (struct iterator_stack_entry.u.comp): Remove unused member discovered by using -Wswitch. * src/lisp.h (record_xmalloc): Add a ‘+ 0’ to pacify -Wswitch. * src/vm-limit.c (check_memory_limits): Simplify warning-diagnostic computation by using a table. etags ‘fatal’ function is now printf-like * lib-src/etags.c (fatal): Now printf-like. All callers changed. Also, now static; not clear why it needed to be extern. (verror): New function, with most of the old contents of ‘error’. (fatal, error): Use it. 2015-09-16 Eli Zaretskii More adaptations in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify-test05-dir-validity): Skip for w32notify in batch-mode. (Bug#21432) 2015-09-16 Michael Albinus Adapt test in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify-test04-file-validity): Skip for w32notify in batch-mode. Add test lost last commit. 2015-09-16 Dima Kogan winner no longer holds on to dead frames * lisp/winner.el (winner-change-fun): Cull dead frames. This prevents a potentially massive memory leak. See: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00619.html 2015-09-16 Michael Albinus Use common report_file_notify_error function * src/fileio.c (report_file_notify_error): New function. * src/inotify.c (report_inotify_error): Remove function. (inotify_callback, symbol_to_inotifymask, Finotify_add_watch) (Finotify_rm_watch): Use report_file_notify_error. * src/lisp.h (report_file_notify_error): Declare external function. * src/w32notify.c (report_w32notify_error): Remove function. (Fw32notify_add_watch, Fw32notify_rm_watch): Use report_file_notify_error. 2015-09-16 Jay Belanger Fix documentation. * doc/misc/calc.texi (Single-Variable Statistics): Fix the wording of the documentation of the root mean square. 2015-09-16 Martin Rudalics Remove tool_bar_redisplayed_once and associated code. * src/frame.h (tool_bar_redisplayed_once): Remove slot. * src/frame.c (make_frame, x_set_font): Remove initialization of f->tool_bar_redisplayed_once. * src/w32fns.c (x_change_tool_bar_height): * src/xfns.c (x_change_tool_bar_height): Don't check for f->tool_bar_redisplayed_once. * src/xdisp.c (redisplay_internal): Remove handling of f->tool_bar_redisplayed_once. 2015-09-16 Eli Zaretskii Restore some of the quoting in the manuals * doc/lispref/windows.texi (Coordinates and Windows) (Coordinates and Windows): * doc/lispref/variables.texi (Lexical Binding) (File Local Variables): * doc/lispref/text.texi (Format Properties): * doc/lispref/symbols.texi (Symbol Components): * doc/lispref/strings.texi (Creating Strings): * doc/lispref/sequences.texi (Sequence Functions): * doc/lispref/searching.texi (Regexp Special, Regexp Search) (Search and Replace): * doc/lispref/processes.texi (Bindat Spec): * doc/lispref/os.texi (Idle Timers): * doc/lispref/objects.texi (Basic Char Syntax): * doc/lispref/numbers.texi (Float Basics, Random Numbers): * doc/lispref/nonascii.texi (Character Properties): * doc/lispref/modes.texi (Major Mode Conventions, Mode Hooks) (Mode Line Variables): * doc/lispref/minibuf.texi (Text from Minibuffer): * doc/lispref/loading.texi (Autoload): * doc/lispref/keymaps.texi (Controlling Active Maps): * doc/lispref/frames.texi (Frame Layout, Size and Position) (Size Parameters, Implied Frame Resizing): * doc/lispref/files.texi (Changing Files, Magic File Names): * doc/lispref/eval.texi (Self-Evaluating Forms): * doc/lispref/display.texi (Progress, Abstract Display) (Abstract Display Example, Bidirectional Display): * doc/lispref/commands.texi (Event Mod): * doc/emacs/windows.texi (Displaying Buffers): * doc/emacs/trouble.texi (Bug Criteria, Checklist): * doc/emacs/text.texi (Enriched Text): * doc/emacs/programs.texi (MixedCase Words): * doc/emacs/picture-xtra.texi (Insert in Picture) (Tabs in Picture): * doc/emacs/misc.texi (Emacs Server, Printing): * doc/emacs/mini.texi (Minibuffer History): * doc/emacs/maintaining.texi (Old Revisions, VC Change Log) (Pulling / Pushing): * doc/emacs/killing.texi (Yanking, Cut and Paste, Clipboard): * doc/emacs/help.texi (Help, Help Echo): * doc/emacs/glossary.texi (Glossary): * doc/emacs/frames.texi (Mouse Commands, Creating Frames) (Frame Commands): * doc/emacs/files.texi (Reverting, Saving, Directories): * doc/emacs/entering.texi (Exiting): * doc/emacs/emacs.texi (Top): * doc/emacs/cmdargs.texi (Window Size X, Icons X): * doc/emacs/anti.texi (Antinews): Restore quoting of text where appropriate or replace quoting with @dfn. * doc/misc/ediff.texi (Window and Frame Configuration): * doc/lispref/processes.texi (Network Feature Testing): * doc/lispref/display.texi (Display Margins): Quote the phrase after "a.k.a." where appropriate. 2015-09-16 Tassilo Horn Clarify reftex-extra-bindings docs * lisp/textmodes/reftex-vars.el (reftex-extra-bindings): * doc/misc/reftex.texi (Key Bindings): Document that the variable only has an effect at load-time. 2015-09-16 Daniel McClanahan (tiny change) * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Fix search argument. (Bug#21492) (Bug#21493) 2015-09-16 Tassilo Horn * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add pretty symbols for \qquad and \varrho. 2015-09-15 Jay Belanger Add new functions for the root mean square of a (Calc) vector * lisp/calc/calc-stat.el (calcFunc-rms, calc-vector-rms): New functions. * lisp/calc/calc-ext.el (calc-init-extensions): Add keybinding for `calc-vector-rms', add autoloads for `calc-vector-rms' and `calcFunc-rms'. * lisp/calc/calc-map.el (calc-u-oper-keys): Add entry for `calcFunc-rms'. * lisp/calc/calc-menu.el (calc-vectors-menu): Add entry for `calc-vector-rms'. * doc/misc/calc.texi (Single-Variable Statistics): Document the rms command. 2015-09-15 Stephen Leake Add monotone EDE generic project * lisp/cedet/ede/generic.el (ede-enable-generic-projects): Add monotone generic project. Revert premature commit * doc/lispref/files.texi: Revert premature commit of change to file-name-all-completions. Fix a bug in elisp--xref-find-definitions related to cl-generic defaults * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Fix bug with cl-generic defaults. (elisp--xref-find-references): Add doc string. * test/automated/elisp-mode-tests.el (xref-elisp-generic-*): Improve tests to find bug. Fix bugs in eieio-oref-default related to class symbols * lisp/emacs-lisp/eieio-core.el (class-p): Handle symbol properly. (eieio-oref-default): Handle class properly. 2015-09-15 Paul Eggert Quote “fullboth” when defining it * doc/lispref/frames.texi (Size Parameters): Use @dfn for “fullboth” and rewrite the containing paragraph, which was awkward. (Bug#21472). 2015-09-15 Eli Zaretskii Minor doc fix in emacs/ack.texi * doc/emacs/ack.texi (Acknowledgments): Fix an xref missing the first argument. 2015-09-15 Michael Albinus Adapt tests in auto-revert-tests.el * test/automated/auto-revert-tests.el (auto-revert--timeout): Make it a defconst. (auto-revert--wait-for-revert): New defun. (auto-revert-test00-auto-revert-mode) (auto-revert-test01-auto-revert-tail-mode) (auto-revert-test02-auto-revert-mode-dired): Use it. 2015-09-15 Stefan Monnier * lisp/emacs-lisp/lisp-mode.el (lisp-mode-symbol-regexp): New const. Use it everywhere "\\(\\sw\\|\\s_\\|\\\\.\\)+" was used. (cl-lib-fdefs): Add defgeneric. (cl-kw): Add all elements of eieio-kw and cl-lib-kw. (eieio-kw, cl-lib-kw, el-kw): Remove. 2015-09-15 Paul Eggert Quote less in manuals The manuals often used quotes ``...'' when it is better to use @dfn or @code or capitalized words or no quoting at all. For example, there is no need for the `` and '' in “if a variable has one effect for @code{nil} values and another effect for ``non-@code{nil}'' values”. Reword the Emacs, Lisp intro, and Lisp reference manuals to eliminate unnecessary quoting like this, and to use @dfn etc. instead when called for (Bug#21472). 2015-09-15 Mark Oteiza * lisp/custom.el (load-theme): Only compute hash when needed. 2015-09-15 Paul Eggert Pacify --enable-gcc-warnings * src/inotify.c (report_inotify_error): Declare it _Noreturn. 2015-09-15 Michael Albinus Improve error reports in inotify.c * src/inotify.c (report_inotify_error): New function. Clone of report_w32notify_error. (inotify_callback, symbol_to_inotifymask, Finotify_add_watch) (Finotify_rm_watch): Use it. 2015-09-15 Eli Zaretskii Fix the file-notify tests for watch validation on w32 * test/automated/file-notify-tests.el (file-notify-test04-file-validity): Move the directory deletion out of the file-notify--test-with-events macro. (file-notify-test04-file-validity) (file-notify-test05-dir-validity): Enlarge the timeout of read-event to 0.5, as 0.1 is borderline on w32. (Bug#21432) 2015-09-15 Tassilo Horn Use OPEN BOX instead of space for \quad. * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Use OPEN BOX character for \quad instead of a space. 2015-09-15 Eli Zaretskii Add missing *.pbm images * etc/images/connect.pbm: New file. * etc/images/custom/down-pushed.pbm: New file. * etc/images/custom/down.pbm: New file. * etc/images/custom/right-pushed.pbm: New file. * etc/images/custom/right.pbm: New file. * etc/images/describe.pbm: New file. * etc/images/disconnect.pbm: New file. * etc/images/ezimage/bits.pbm: New file. * etc/images/ezimage/bitsbang.pbm: New file. * etc/images/ezimage/box-minus.pbm: New file. * etc/images/ezimage/box-plus.pbm: New file. * etc/images/ezimage/box.pbm: New file. * etc/images/ezimage/checkmark.pbm: New file. * etc/images/ezimage/dir-minus.pbm: New file. * etc/images/ezimage/dir-plus.pbm: New file. * etc/images/ezimage/dir.pbm: New file. * etc/images/ezimage/doc-minus.pbm: New file. * etc/images/ezimage/doc-plus.pbm: New file. * etc/images/ezimage/doc.pbm: New file. * etc/images/ezimage/info.pbm: New file. * etc/images/ezimage/key.pbm: New file. * etc/images/ezimage/label.pbm: New file. * etc/images/ezimage/lock.pbm: New file. * etc/images/ezimage/mail.pbm: New file. * etc/images/ezimage/page-minus.pbm: New file. * etc/images/ezimage/page-plus.pbm: New file. * etc/images/ezimage/page.pbm: New file. * etc/images/ezimage/tag-gt.pbm: New file. * etc/images/ezimage/tag-minus.pbm: New file. * etc/images/ezimage/tag-plus.pbm: New file. * etc/images/ezimage/tag-type.pbm: New file. * etc/images/ezimage/tag-v.pbm: New file. * etc/images/ezimage/tag.pbm: New file. * etc/images/ezimage/unlock.pbm: New file. * etc/images/gnus/important.pbm: New file. * etc/images/gnus/mail-send.pbm: New file. * etc/images/gnus/receipt.pbm: New file. * etc/images/gnus/toggle-subscription.pbm: New file. * etc/images/gnus/unimportant.pbm: New file. * etc/images/gud/all.pbm: New file. * etc/images/gud/rcont.pbm: New file. * etc/images/gud/recstart.pbm: New file. * etc/images/gud/recstop.pbm: New file. * etc/images/gud/rfinish.pbm: New file. * etc/images/gud/rnext.pbm: New file. * etc/images/gud/rnexti.pbm: New file. * etc/images/gud/rstep.pbm: New file. * etc/images/gud/rstepi.pbm: New file. * etc/images/gud/thread.pbm: New file. * etc/images/lock-broken.pbm: New file. * etc/images/lock-ok.pbm: New file. * etc/images/lock.pbm: New file. * etc/images/mail/copy.pbm: New file. * etc/images/mail/forward.pbm: New file. * etc/images/mail/not-spam.pbm: New file. * etc/images/mail/outbox.pbm: New file. * etc/images/mail/preview.pbm: New file. * etc/images/mail/save-draft.pbm: New file. * etc/images/mh-logo.pbm: New file. * etc/images/mpc/add.pbm: New file. * etc/images/mpc/ffwd.pbm: New file. * etc/images/mpc/next.pbm: New file. * etc/images/mpc/pause.pbm: New file. * etc/images/mpc/play.pbm: New file. * etc/images/mpc/prev.pbm: New file. * etc/images/mpc/rewind.pbm: New file. * etc/images/mpc/stop.pbm: New file. * etc/images/redo.pbm: New file. * etc/images/smilies/braindamaged.pbm: New file. * etc/images/smilies/cry.pbm: New file. * etc/images/smilies/dead.pbm: New file. * etc/images/smilies/evil.pbm: New file. * etc/images/smilies/forced.pbm: New file. * etc/images/smilies/grin.pbm: New file. * etc/images/smilies/indifferent.pbm: New file. * etc/images/sort-ascending.pbm: New file. * etc/images/sort-column-ascending.pbm: New file. * etc/images/sort-criteria.pbm: New file. * etc/images/sort-descending.pbm: New file. * etc/images/sort-row-ascending.pbm: New file. * etc/images/unchecked.pbm: New file. * etc/images/zoom-in.pbm: New file. * etc/images/README: Update instructions for PBM files. Add separator.pbm tool-bar image * etc/images/separator.pbm: New file. Having it avoids the side effect of changing the tool-bar height when the default font's size changes and XPM image support is not available, due to the SPC characters that are left in the Lisp string used to display the tool bar, because there are no images to display instead of those SPC characters. Make show-paren-match face visible on mono-color displays * lisp/faces.el (show-paren-match): Use the underline face for mono-color displays. (Bug#21481) 2015-09-14 Paul Eggert Don’t double-encode non-ASCII mail clipboard * lisp/mail/mailclient.el (mailclient-send-it): Also fix the case when mailclient-place-body-on-clipboard-flag is non-nil. Problem reported by Eli Zaretskii (Bug#21471#37). 2015-09-14 Michael Albinus Adapt file-notify-tests.el test cases * lisp/filenotify.el (file-notify-rm-watch): Ignore `file-notify-error'. * src/inotify.c (Finotify_valid_p): Adapt docstring. * test/automated/file-notify-tests.el (file-notify-test03-autorevert) (file-notify-test04-file-validity) (file-notify-test04-file-validity-remote) (file-notify-test05-dir-validity) (file-notify-test05-dir-validity-remote): Adapt docstring. (file-notify-test04-file-validity): Let events arrive before calling final `file-notify-valid-p'. Do not ignore errors. (file-notify-test05-dir-validity): Do not manipulate `temporary-file-directory', it isn't necessary. Let events arrive before calling final `file-notify-valid-p'. Do not ignore errors. 2015-09-14 Paul Eggert Don’t double-encode non-ASCII for mail client * lisp/mail/mailclient.el (mailclient-encode-string-as-url): Use RFC 6068’s list of unreserved characters. (mailclient-send-it): When encoding the body as a URL, first decode it as per Content-Type: and Content-Transfer-Encoding:, as URLs must use percent-encoded UTF-8 (Bug#21471). * doc/misc/url.texi (mailto): Update RFC number. 2015-09-14 Stefan Monnier * lisp/progmodes/cc-langs.el (c-make-init-lang-vars-fun): Use dolist. 2015-09-14 Alan Mackenzie Replace `cadar' with `cadr/car', since `cadar' is problematic on Emacs (c-make-init-lang-vars-fun): Replace two occurrences of `cadar' with `cadr/car'. 2015-09-14 Eli Zaretskii Clarify documentation of char-table extra slots * doc/lispref/sequences.texi (Char-Tables): Clarify that extra slot numbers are zero-based. (Bug#21467) 2015-09-14 Alan Mackenzie Elisp mode: Make font-lock and imenu handle escaped characters in symbols Fixes bug#21449. * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression) (lisp--el-match-keyword, lisp-el-font-lock-keywords-1) (lisp-cl-font-lock-keywords-1, lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2, lisp-string-in-doc-position-p): Insert "\\|\\\\." into regexps which match symbols. 2015-09-14 Eli Zaretskii Improve the doc string of w32notify-valid-p * src/w32notify.c (Fw32notify_valid_p): Mention in the doc string that removing a watch makes its object invalid. 2015-09-14 Tassilo Horn Fix tests for file-notify-valid-p * test/automated/file-notify-tests.el (file-notify--test-cleanup): Use delete-directory to delete file-notify--test-tmpfile if it is a directory. Likewise for file-notify--test-tmpfile1. (file-notify-test04-file-validity) (file-notify-test05-dir-validity): Delete the parent directory of the test. Ignore errors when cleaning up after the test. 2015-09-14 Eli Zaretskii Report file-notify-error in w32notify.c * src/w32notify.c (report_w32notify_error): New function. (Fw32notify_add_watch, Fw32notify_rm_watch): Use it to report errors, instead of calling report_file_error. (Bug#21432) Implement w32notify-valid-p * src/w32notify.c (Fw32notify_valid_p): New function. (Bug#21432) * lisp/filenotify.el (w32notify-valid-p): No longer an alias for 'identity'. 2015-09-14 Tassilo Horn Test file-notify-valid-p * test/automated/file-notify-tests.el (file-notify-test04-file-validity, file-notify-test05-dir-validity): New tests. 2015-09-13 Eli Zaretskii Fix markup in ELisp manual * doc/lispref/frames.texi (Font and Color Parameters): Fix markup of the 'alpha' parameter value. (Bug#21470) 2015-09-13 Michael Albinus Introduce `file-notify-valid-p' * lisp/filenotify.el (file-notify-valid-p): New defun. (gfile-valid-p, w32notify-valid-p): Make them an alias to `identity'. * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist) * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist) * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist) * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist) : Add handler. * lisp/net/tramp.el (tramp-file-name-for-operation): Add `file-notify-valid-p'. (tramp-handle-file-notify-valid-p): New defun. * src/inotify.c (Finotify_valid_p): New defun. (syms_of_inotify): Declare Sinotify_valid_p. 2015-09-13 Paul Eggert Port Unicode char detection to FreeBSD+svgalib Problem reported by Ashish SHUKLA in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00531.html * configure.ac: Check for struct unipair.unicode instead of for , since that’s more specific to what the code actually needs. * src/terminal.c: Use HAVE_STRUCT_UNIPAIR_UNICODE, not HAVE_LINUX_KD_H. * src/indent.c (Fvertical_motion): Simplify bugfix (Bug#21468). 2015-09-13 Eli Zaretskii Fix vertical cursor motion across overlay strings with newlines * src/indent.c (Fvertical_motion): Don't leave point in the middle of an overlay string with newlines, as that will position the cursor after the string at whatever column is there. (Bug#21468) 2015-09-12 Michael Albinus Fix tests in file-notify-tests.el * test/automated/file-notify-tests.el: Remove Tramp declarations. (file-notify-test00-availability): Print remote command w/o Tramp internal functions. (file-notify-test02-events, file-notify-test02-events-remote): Adapt docstring. (file-notify-test03-autorevert): Use `format-message' when inspecting *Messages* buffer. 2015-09-12 Stefan Monnier Bind inhibit-modification-hooks rather than a/b-c-f * lisp/wid-edit.el (widget-editable-list-insert-before) (widget-editable-list-delete-at): * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres) (cperl-font-lock-unfontify-region-function): * lisp/progmodes/antlr-mode.el (save-buffer-state-x): * lisp/obsolete/longlines.el (longlines-mode): * lisp/obsolete/fast-lock.el (save-buffer-state): * lisp/mouse.el (mouse-save-then-kill-delete-region): * lisp/gnus/message.el (message-hide-headers): * lisp/eshell/esh-mode.el (eshell-send-input, eshell-output-filter): * lisp/ibuffer.el (ibuffer-update-title-and-summary) (ibuffer-redisplay-engine): Bind inhibit-modification-hooks to t rather than after/before-change-functions to nil. 2015-09-11 Stefan Monnier (jit-lock-deferred-fontify): Pay attention to skipped redisplays * lisp/jit-lock.el (jit-lock-deferred-fontify): Make sure we refresh the buffers, even if the forced redisplay is interrupted. * lisp/emacs-lisp/eieio-core.el (class-p): Accept class objects Merge syntax-propertize--done and parse-sexp-propertize-done * lisp/emacs-lisp/syntax.el (syntax-propertize--done): Remove. (syntax-propertize): Set syntax-propertize--done even if syntax-propertize-function is nil. Avoid recursive invocations. (syntax-propertize-chunks): New var. (internal--syntax-propertize): Use it. Rename from syntax--jit-propertize. Simplify. (parse-sexp-propertize-function): Don't set any more. * src/syntax.c (SETUP_SYNTAX_TABLE): Call parse_sexp_propertize as needed. (parse_sexp_propertize): Don't assume charpos is not yet propertized. Call Qinternal__syntax_propertize instead of Vparse_sexp_propertize_function. Truncate e_property if needed. (update_syntax_table_forward): Streamline. (syms_of_syntax): Define Qinternal__syntax_propertize. (syntax_propertize__done): Rename from parse_sexp_propertize_done. 2015-09-11 Paul Eggert Prefer straight quoting in some text files Mostly this just changes ` to ' in static text. Some exceptions: * INSTALL.REPO: Use curved quotes, as the diagnostic in question typically does that now. * admin/quick-install-emacs (TRY, top level): Use straight quoting in diagnostics. * src/README: Fix working-directory confusion. * CONTRIBUTE: Move send-email here from git-workflow. 2015-09-11 Michael Albinus Improve file notifications in Tramp * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): Set proper events to watch for. (tramp-sh-file-gvfs-monitor-dir-process-filter): Report only watched events. 2015-09-11 Eli Zaretskii Fix NS build with --enable-checking='glyphs' * src/nsfns.m (unwind_create_frame): Make the preprocessor conditionals for referencing 'dpyinfo' consistent throughout the function. (Bug#21426) 2015-09-10 Nicolas Petton Add seq-find This function is similar to `seq-some' but returns the found element. In the cases where nil can be the found element, a sentinel optional argument can be provided to avoid ambiguities. * lisp/emacs-lisp/seq.el (seq-find): New function. * test/automated/seq-tests.el (test-seq-find): Add tests for `seq-find'. * doc/lispref/sequences.texi (Sequence Functions): Add documentation for seq-find. 2015-09-10 Tassilo Horn Document file-notify--test-with-events. * test/automated/file-notify-tests.el (file-notify--test-with-events): Add docstring. 2015-09-10 Michael Albinus Report used native library in file-notify-tests.el * test/automated/file-notify-tests.el (tramp-get-remote-gvfs-monitor-dir) (tramp-get-remote-inotifywait): Declare them. (file-notify-test00-availability): Print used native library. 2015-09-10 Mark Oteiza * lisp/mpc.el (mpc--proc-connect): Use file-name-absolute-p. (mpc-file-local-copy): Check for absolute path. Check more config locations. 2015-09-10 Eli Zaretskii Improve documentation of categories * doc/lispref/syntax.texi (Categories): Clarify the example of using define-category and modify-category-entry. (Bug#21448) 2015-09-10 Paul Eggert Revert some stray curved quotes I missed earlier Problem reported by David Kastrup in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00440.html * lisp/international/mule-cmds.el (leim-list-header): Use format-message with an ASCII-only format. Prefer NUMBERP to spelling it out * src/editfns.c (styled_format): * src/frame.h (NUMVAL): * src/image.c (parse_image_spec): * src/lisp.h (CHECK_NUMBER_OR_FLOAT) (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER): * src/process.c (Fsignal_process): * src/xdisp.c (calc_pixel_width_or_height, on_hot_spot_p): * src/xfaces.c (check_lface_attrs): * src/xselect.c (x_fill_property_data, x_send_client_event): Use NUMBERP rather than INTEGERP || FLOATP. 2015-09-10 Tassilo Horn Improve file-notify-tests * test/automated/file-notify-tests.el: Use lexical-binding. (file-notify--test-cleanup): New function. (file-notify-test00-availability, file-notify-test01-add-watch) (file-notify-test02-events, file-notify-test03-autorevert): Use it. (file-notify--test-with-events): New macro. (file-notify-test02-events): Use it. 2015-09-10 Paul Eggert Add patch-sending instructions to git-workflow From a suggestion by Mitchel Humpherys in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00421.html * admin/notes/git-workflow (Sending patches): New section. Port to GIFLIB 5.0.6 and later Problem reported by Mitchel Humpherys in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00420.html * src/image.c (HAVE_GIFERRORSTRING) [HAVE_GIF]: New macro. (GifErrorString, init_gif_functions) [HAVE_GIF && WINDOWSNT]: (gif_load) [HAVE_GIF]: Use it. 2015-09-10 Glenn Morris * lisp/cedet/ede/auto.el (ede-project-autoload): Doc fix. 2015-09-09 Glenn Morris * test/automated/file-notify-tests.el (file-notify-test02-events): Fix recent change. 2015-09-09 Paul Eggert Refix movemail GCC pacification Problem reported by Ken Brown in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00406.html * lib-src/movemail.c (main): Fix previous change. 2015-09-09 Stefan Monnier * lisp/calendar/time-date.el (time-to-seconds, time-less-p): Mark unused vars with underscore. * src/syntax.c (SETUP_SYNTAX_TABLE): Move truncation... (parse_sexp_propertize): ...from here. * lisp/filenotify.el: Use lexical-binding (file-notify-add-watch): Avoid add-to-list. 2015-09-09 Tassilo Horn Start checking event types in file-notify tests * test/automated/file-notify-tests.el (file-notify--test-events): New variable. (file-notify--test-event-handler): Append received event to file-notify--test-events for later analysis. (file-notify-test02-events): Assert that the expected notifications have arrived in the expected order. 2015-09-09 Paul Eggert Merge from gnulib and texinfo This incorporates: 2015-08-03 Improve port of stdalign to C++11 * lib/stdalign.in.h: Copy from gnulib. * doc/misc/texinfo.tex: Copy from texinfo. 2015-09-09 Stefan Monnier Make syntax.c call syntax-propertize on demand * lisp/emacs-lisp/syntax.el (syntax--jit-propertize): New function. (parse-sexp-propertize-function): Use it. (syntax-propertize): Disable parse-sexp-propertize-function. * src/syntax.c (parse_sexp_propertize, update_syntax_table_forward): New functions. (syms_of_syntax): New vars `parse-sexp-propertize-done' and `parse-sexp-propertize-function'. * src/syntax.h (struct gl_state_s): Add `e_property_truncated' field. (UPDATE_SYNTAX_TABLE_FORWARD): Use update_syntax_table_forward. (SETUP_BUFFER_SYNTAX_TABLE): Set e_property_truncated. * lisp/progmodes/elisp-mode.el (elisp-byte-code-syntax-propertize): Don't assume `point' is set. 2015-09-09 Eli Zaretskii Fix indentation of an @example in ELisp manual * doc/lispref/syntax.texi (Categories): Untabify the example. (Bug#21448) 2015-09-09 Paul Eggert Define internal-char-font even if --without-x The function is used now even in non-graphical environments. Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00401.html * src/font.c (Finternal_char_font): Move here ... * src/fontset.c (Finternal_char_font): ... from here. 2015-09-09 Stefan Monnier * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Remove warning. 2015-09-09 Eli Zaretskii Fix display of complex local data types in GDB-MI * lisp/progmodes/gdb-mi.el (gdb-locals-handler-custom): If a variable has no value, display "" as a placeholder, instead of a confusing "nil". (Bug#21438) 2015-09-09 Oleh Krehel Remove redundant redefinition of seq-drop-while from seq.el * lisp/emacs-lisp/seq.el (seq-drop-while): Define only once. 2015-09-09 Phil Sainty * lisp/emacs-lisp/package.el (package--ensure-init-file): More robust check for `package-initialize' calls in init file. This function accepts an optional argument, but calls passing an argument would not have been detected. 2015-09-09 Paul Eggert Port movemail to RHEL 6 with --enable-gcc-warnings * lib-src/movemail.c (main): Declare local only if needed. Port recent Linux console changes to RHEL 6 * src/terminal.c [HAVE_LINUX_KD_H]: Include . Improvements for curved quotes on Linux consule This should help Emacs work better out-of-the-box on Linux consoles, which have only limited support for displaying Unicode characters. Also, undo the recent change that caused text-quoting-style to affect quote display on terminals, so that the two features are independent. See Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00244.html Finally, add a style parameter to startup--setup-quote-display, so that this function can also be invoked after startup, with different styles depending on user preference at the time. * configure.ac: Check for linux/kd.h header. * doc/emacs/display.texi (Text Display): Document quote display. * doc/lispref/display.texi (Active Display Table): * etc/NEWS: * lisp/startup.el (startup--setup-quote-display, command-line): text-quoting-style no longer affects quote display. * doc/lispref/frames.texi (Terminal Parameters): Fix typo. * lisp/international/mule-util.el (char-displayable-p): * lisp/startup.el (startup--setup-quote-display): On a text terminal supporting glyph codes, use the reported glyph codes instead of the terminal coding system, as this is more accurate on the Linux console. * lisp/startup.el (startup--setup-quote-display): New optional arg STYLE. * src/fontset.c (Finternal_char_font): Report glyph codes for a text terminal, if they are available. Currently this is supported only for the Linux console. * src/termhooks.h (struct terminal): New member glyph-code-table. * src/terminal.c [HAVE_LINUX_KD_H]: Include , . (calculate_glyph_code_table) [HAVE_LINUX_KD_H]: New function. (terminal_glyph_code): New function. 2015-09-08 Juri Linkov * lisp/info.el (Info-fontify-node): Don't stop at the non-title underline. (Bug#21433) 2015-09-08 Stefan Monnier * lisp/calendar/time-date.el (with-decoded-time-value): Fix debug spec. 2015-09-08 Tassilo Horn Fix double-reporting of rename events with inotify * lisp/filenotify.el (file-notify-callback): Fix double-reporting of rename events with inotify (bug#21435). 2015-09-08 Vasilij Schneidermann (tiny change) * lisp/play/tetris.el (tetris-move-down): New command (bug#21360). (tetris-mode-map): Use it. 2015-09-08 Stefan Monnier Remove a few simple cases of global redisplay * src/dispnew.c (redraw_frame): Don't redisplay all frames. * src/xdisp.c (echo_area_display): Set the frame's `redisplay' bit rather than returning a "resized_p" boolean. (redisplay_internal): Adjust call accordingly. * src/xfaces.c (free_realized_faces): Don't redisplay all frames. (free_all_realized_faces): Set windows_or_buffers_changed so as to ease tracking of this undesirable situation. * src/process.c (status_notify): Avoid global redisplay (bug#11822) * src/process.c (status_notify): Only set the update_mode_line on the relevant buffers rather than setting it globally. 2015-09-07 Stefan Monnier * lisp/electric.el (electric-quote-post-self-insert-function): Don't use syntax-ppss if comment-use-syntax is nil (e.g. message-mode). (electric-quote-mode): Activate everywhere in message-mode. 2015-09-07 Paul Eggert Go back to grave quoting in source-code docstrings etc. This reverts almost all my recent changes to use curved quotes in docstrings and/or strings used for error diagnostics. There are a few exceptions, e.g., Bahá’í proper names. * admin/unidata/unidata-gen.el (unidata-gen-table): * lisp/abbrev.el (expand-region-abbrevs): * lisp/align.el (align-region): * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet) (outlineify-sticky): * lisp/apropos.el (apropos-library): * lisp/bookmark.el (bookmark-default-annotation-text): * lisp/button.el (button-category-symbol, button-put) (make-text-button): * lisp/calc/calc-aent.el (math-read-if, math-read-factor): * lisp/calc/calc-embed.el (calc-do-embedded): * lisp/calc/calc-ext.el (calc-user-function-list): * lisp/calc/calc-graph.el (calc-graph-show-dumb): * lisp/calc/calc-help.el (calc-describe-key) (calc-describe-thing, calc-full-help): * lisp/calc/calc-lang.el (calc-c-language) (math-parse-fortran-vector-end, math-parse-tex-sum) (math-parse-eqn-matrix, math-parse-eqn-prime) (calc-yacas-language, calc-maxima-language, calc-giac-language) (math-read-giac-subscr, math-read-math-subscr) (math-read-big-rec, math-read-big-balance): * lisp/calc/calc-misc.el (calc-help, report-calc-bug): * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes) (calc-auto-recompute): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-read-parse-table-part, calc-user-define-invocation) (math-do-arg-check): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-vec.el (math-read-brackets): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calc/calc.el (calc, calc-do, calc-user-invocation): * lisp/calendar/appt.el (appt-display-message): * lisp/calendar/diary-lib.el (diary-check-diary-file) (diary-mail-entries, diary-from-outlook): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--convert-float-to-ical) (icalendar--convert-date-to-ical) (icalendar--convert-ical-to-diary) (icalendar--convert-recurring-to-diary) (icalendar--add-diary-entry): * lisp/calendar/time-date.el (format-seconds): * lisp/calendar/timeclock.el (timeclock-mode-line-display) (timeclock-make-hours-explicit, timeclock-log-data): * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category) (todo-item-mark, todo-check-format) (todo-insert-item--next-param, todo-edit-item--next-key) (todo-mode): * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules): * lisp/cedet/mode-local.el (describe-mode-local-overload) (mode-local-print-binding, mode-local-describe-bindings-2): * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-start.el (standard): * lisp/cus-theme.el (describe-theme-1): * lisp/custom.el (custom-add-dependencies, custom-check-theme) (custom--sort-vars-1, load-theme): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/dired-x.el (dired-do-run-mail): * lisp/dired.el (dired-log): * lisp/emacs-lisp/advice.el (ad-read-advised-function) (ad-read-advice-class, ad-read-advice-name, ad-enable-advice) (ad-disable-advice, ad-remove-advice, ad-set-argument) (ad-set-arguments, ad--defalias-fset, ad-activate) (ad-deactivate): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand) (byte-compile-unfold-lambda, byte-optimize-form-code-walker) (byte-optimize-while, byte-optimize-apply): * lisp/emacs-lisp/byte-run.el (defun, defsubst): * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode) (byte-compile-log-file, byte-compile-format-warn) (byte-compile-nogroup-warn, byte-compile-arglist-warn) (byte-compile-cl-warn) (byte-compile-warn-about-unresolved-functions) (byte-compile-file, byte-compile--declare-var) (byte-compile-file-form-defmumble, byte-compile-form) (byte-compile-normal-call, byte-compile-check-variable) (byte-compile-variable-ref, byte-compile-variable-set) (byte-compile-subr-wrong-args, byte-compile-setq-default) (byte-compile-negation-optimizer) (byte-compile-condition-case--old) (byte-compile-condition-case--new, byte-compile-save-excursion) (byte-compile-defvar, byte-compile-autoload) (byte-compile-lambda-form) (byte-compile-make-variable-buffer-local, display-call-tree) (batch-byte-compile): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use): * lisp/emacs-lisp/chart.el (chart-space-usage): * lisp/emacs-lisp/check-declare.el (check-declare-scan) (check-declare-warn, check-declare-file) (check-declare-directory): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-message-text-engine): * lisp/emacs-lisp/cl-extra.el (cl-parse-integer) (cl--describe-class): * lisp/emacs-lisp/cl-generic.el (cl-defgeneric) (cl--generic-describe, cl-generic-generalizers): * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody) (cl-symbol-macrolet): * lisp/emacs-lisp/cl.el (cl-unload-function, flet): * lisp/emacs-lisp/copyright.el (copyright) (copyright-update-directory): * lisp/emacs-lisp/edebug.el (edebug-read-list): * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read): * lisp/emacs-lisp/eieio-core.el (eieio--slot-override) (eieio-oref): * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): * lisp/emacs-lisp/eieio-speedbar.el: (eieio-speedbar-child-make-tag-lines) (eieio-speedbar-child-description): * lisp/emacs-lisp/eieio.el (defclass, change-class): * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms) (elint-init-form, elint-check-defalias-form) (elint-check-let-form): * lisp/emacs-lisp/ert.el (ert-get-test, ert-results-mode-menu) (ert-results-pop-to-backtrace-for-test-at-point) (ert-results-pop-to-messages-for-test-at-point) (ert-results-pop-to-should-forms-for-test-at-point) (ert-describe-test): * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol) (find-function-library): * lisp/emacs-lisp/generator.el (iter-yield): * lisp/emacs-lisp/gv.el (gv-define-simple-setter): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring) (advice--make, define-advice): * lisp/emacs-lisp/package-x.el (package-upload-file): * lisp/emacs-lisp/package.el (package-version-join) (package-disabled-p, package-activate-1, package-activate) (package--download-one-archive) (package--download-and-read-archives) (package-compute-transaction, package-install-from-archive) (package-install, package-install-selected-packages) (package-delete, package-autoremove, describe-package-1) (package-install-button-action, package-delete-button-action) (package-menu-hide-package, package-menu--list-to-prompt) (package-menu--perform-transaction) (package-menu--find-and-notify-upgrades): * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1): * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode): * lisp/emacs-lisp/ring.el (ring-previous, ring-next): * lisp/emacs-lisp/rx.el (rx-check, rx-anything) (rx-check-any-string, rx-check-any, rx-check-not, rx-=) (rx-repeat, rx-check-backref, rx-syntax, rx-check-category) (rx-form): * lisp/emacs-lisp/smie.el (smie-config-save): * lisp/emacs-lisp/subr-x.el (internal--check-binding): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): * lisp/emacs-lisp/testcover.el (testcover-1value): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/emulation/viper-cmd.el (viper-toggle-parse-sexp-ignore-comments) (viper-toggle-search-style, viper-kill-buffer) (viper-brac-function): * lisp/emulation/viper-macs.el (viper-record-kbd-macro): * lisp/env.el (setenv): * lisp/erc/erc-button.el (erc-nick-popup): * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login, english): * lisp/eshell/em-dirs.el (eshell/cd): * lisp/eshell/em-glob.el (eshell-glob-regexp) (eshell-glob-entries): * lisp/eshell/em-pred.el (eshell-parse-modifiers): * lisp/eshell/esh-opt.el (eshell-show-usage): * lisp/facemenu.el (facemenu-add-new-face) (facemenu-add-new-color): * lisp/faces.el (read-face-name, read-face-font, describe-face) (x-resolve-font-name): * lisp/files-x.el (modify-file-local-variable): * lisp/files.el (locate-user-emacs-file, find-alternate-file) (set-auto-mode, hack-one-local-variable--obsolete) (dir-locals-set-directory-class, write-file, basic-save-buffer) (delete-directory, copy-directory, recover-session) (recover-session-finish, insert-directory) (file-modes-char-to-who, file-modes-symbolic-to-number) (move-file-to-trash): * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer): * lisp/find-cmd.el (find-generic, find-to-string): * lisp/finder.el (finder-commentary): * lisp/font-lock.el (font-lock-fontify-buffer): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/frame.el (get-device-terminal, select-frame-by-name): * lisp/fringe.el (fringe--check-style): * lisp/gnus/nnmairix.el (nnmairix-widget-create-query): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode) (describe-minor-mode-from-indicator): * lisp/image.el (image-type): * lisp/international/ccl.el (ccl-dump): * lisp/international/fontset.el (x-must-resolve-font-name): * lisp/international/mule-cmds.el (prefer-coding-system) (select-safe-coding-system-interactively) (select-safe-coding-system, activate-input-method) (toggle-input-method, describe-current-input-method) (describe-language-environment): * lisp/international/mule-conf.el (code-offset): * lisp/international/mule-diag.el (describe-character-set) (list-input-methods-1): * lisp/mail/feedmail.el (feedmail-run-the-queue): * lisp/mouse.el (minor-mode-menu-from-indicator): * lisp/mpc.el (mpc-playlist-rename): * lisp/msb.el (msb--choose-menu): * lisp/net/ange-ftp.el (ange-ftp-shell-command): * lisp/net/imap.el (imap-interactive-login): * lisp/net/mairix.el (mairix-widget-create-query): * lisp/net/newst-backend.el (newsticker--sentinel-work): * lisp/net/newst-treeview.el (newsticker--treeview-load): * lisp/net/rlogin.el (rlogin): * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer): * lisp/obsolete/otodo-mode.el (todo-more-important-p): * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region): * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region): * lisp/org/ob-core.el (org-babel-goto-named-src-block) (org-babel-goto-named-result): * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap): * lisp/org/ob-ref.el (org-babel-ref-resolve): * lisp/org/org-agenda.el (org-agenda-prepare): * lisp/org/org-clock.el (org-clock-notify-once-if-expired) (org-clock-resolve): * lisp/org/org-ctags.el (org-ctags-ask-rebuild-tags-file-then-find-tag): * lisp/org/org-feed.el (org-feed-parse-atom-entry): * lisp/org/org-habit.el (org-habit-parse-todo): * lisp/org/org-mouse.el (org-mouse-popup-global-menu) (org-mouse-context-menu): * lisp/org/org-table.el (org-table-edit-formulas): * lisp/org/ox.el (org-export-async-start): * lisp/proced.el (proced-log): * lisp/progmodes/ada-mode.el (ada-get-indent-case) (ada-check-matching-start, ada-goto-matching-start): * lisp/progmodes/ada-prj.el (ada-prj-display-page): * lisp/progmodes/ada-xref.el (ada-find-executable): * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos): * lisp/progmodes/etags.el (etags-tags-apropos-additional): * lisp/progmodes/flymake.el (flymake-parse-err-lines) (flymake-start-syntax-check-process): * lisp/progmodes/python.el (python-shell-get-process-or-error) (python-define-auxiliary-skeleton): * lisp/progmodes/sql.el (sql-comint): * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point): * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate): * lisp/recentf.el (recentf-open-files): * lisp/replace.el (query-replace-read-from) (occur-after-change-function, occur-1): * lisp/scroll-bar.el (scroll-bar-columns): * lisp/server.el (server-get-auth-key): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, list-processes--refresh) (compose-mail, set-variable, choose-completion-string) (define-alternatives): * lisp/startup.el (site-run-file, tty-handle-args, command-line) (command-line-1): * lisp/subr.el (noreturn, define-error, add-to-list) (read-char-choice, version-to-list): * lisp/term/common-win.el (x-handle-xrm-switch) (x-handle-name-switch, x-handle-args): * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid): * lisp/textmodes/reftex-ref.el (reftex-label): * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): * lisp/textmodes/two-column.el (2C-split): * lisp/tutorial.el (tutorial--describe-nonstandard-key) (tutorial--find-changed-keys): * lisp/type-break.el (type-break-noninteractive-query): * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes) (wdired-do-perm-changes): * lisp/whitespace.el (whitespace-report-region): Prefer grave quoting in source-code strings used to generate help and diagnostics. * lisp/faces.el (face-documentation): No need to convert quotes, since the result is a docstring. * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, info-apropos): Simplify by generating only curved quotes, since info files are typically that ways nowadays anyway. * lisp/international/mule-diag.el (list-input-methods): Don’t assume text quoting style is curved. * lisp/org/org-bibtex.el (org-bibtex-fields): Revert my recent changes, going back to the old quoting style. 2015-09-07 Artur Malabarba * lisp/emacs-lisp/package.el: Reduce autoloading before compiling. (package--autoloads-file-name) (package--activate-autoloads-and-load-path): New function. (package-activate-1): Delegate autoloading and load-path configuration to `package--activate-autoloads-and-load-path'. (package--compile): Before compilation, call `package--activate-autoloads-and-load-path' instead of `package-activate-1'. 2015-09-07 Stefan Monnier * src/keyboard.c (read_key_sequence): Complete last fix (bug#21403). 2015-09-07 Eli Zaretskii Fix deletion of symlinks to directories on MS-Windows * src/w32.c (sys_unlink): If 'unlink' fails, and the argument is a symlink to a directory, try again with 'rmdir'. (is_symlink): If the argument is a symlink to a directory, set a bit in the return value to indicate that fact. 2015-09-07 Artur Malabarba * lisp/emacs-lisp/package.el (package-initialize): Set enable-at-startup When `package-initialize' is called as part of loading the init file, the user probably doesn't want it to be called again afterwards. In this situation, `package-initialize' now sets `package-enable-at-startup' to nil to prevent that. The user can have the old behavior by setting this variable to t after the call to `package-initialize'. (Bug#21423) * doc/emacs/package.texi (Package Installation): Document it. * doc/lispref/package.texi (Packaging Basics): Document it. * etc/NEWS: Document it. 2015-09-06 Thomas Fitzsimmons Bump version of ntlm.el to 2.00 * lisp/net/ntlm.el: Bump version to 2.00. New maintainer. Add comm keyword. 2015-09-06 Adam Sjøgren * doc/misc/gnus.texi (Mail Source Specifiers): Allow :mailbox to be a list. 2015-09-06 Dmitry Gutov * lisp/progmodes/etags.el (etags-tags-completion-table): Allow even one non-regular character before the implicit tag name. Reported at http://emacs.stackexchange.com/questions/15269/. 2015-09-06 Thomas Fitzsimmons Add support for NTLMv2 authentication * lisp/net/ntlm.el (ntlm): New customization group. (ntlm-compatibility-level): New defcustom. (ntlm-compute-timestamp): New function. (ntlm-generate-nonce): Likewise. (ntlm-build-auth-response): Add support for NTLMv2 authentication. 2015-09-06 Artur Malabarba * lisp/emacs-lisp/package.el: Rename custom faces. All of the recently introduced faces, like `package-name-face', have been renamed to no end in `-face' to comply with the convention described in (info "(elisp) Defining Faces"). (package-name, package-description) (package-status-built-in, package-status-external) (package-status-available, package-status-new) (package-status-held, package-status-disabled) (package-status-installed, package-status-dependency) (package-status-unsigned, package-status-incompat) (package-status-avail-obso): New faces. (package-menu--print-info-simple): Use them. 2015-09-06 Adam Sjøgren mail-source.el: Make the imap mail-source's :mailbox handle a list * lisp/gnus/mail-source.el (mail-source-fetch-imap): Allow :mailbox to be a list. 2015-09-06 Eric Abrahamsen nnimap.el: Handle nil arg to nnimap-request-group * lisp/gnus/nnimap.el (nnimap-request-group): Handle nil "info" arg. This arg isn't always passed in, check it's not nil before making it into a list. The active arg will also be nil if the group is new, check for that. 2015-09-06 Michael Albinus File notifications: Support renaming over directory boundaries * lisp/filenotify.el (file-notify-handle-event): (file-notify--pending-event): Adapt docstring. (file-notify--descriptor, file-notify-callback): Reimplement in order to support renaming over directory boundaries. (file-notify-add-watch): Adapt `file-notify--descriptor' call. * doc/lispref/os.texi (File Notifications): Remove limitation of file renaming to the same directory. 2015-09-05 Paul Eggert Spelling fix (Bug#21420) 2015-09-05 Nicolas Petton Improve the semantic of map-some Update map-some to return the returned by the predicate, similar to seq-some. * lisp/emacs-lisp/map.el (map-some): Update the function to return the return value of the predicate. * test/automated/map-tests.el (test-map-some): Update the test to check for non-nil values only. Rename map-contains-key-p and map-some-p Remove the "-p" suffix from both function names. * lisp/emacs-lisp/map.el (map-contains-key, map-some): Rename the functions. * test/automated/map-tests.el (test-map-contains-key, test-map-some): Update both test functions. Improve the semantic of seq-some Update seq-some to return non-nil if the predicate returns non-nil for any element of the seq, in which case the returned value is the one returned by the predicate. * lisp/emacs-lisp/seq.el (seq-some): Update the function and its docstring. * test/automated/seq-tests.el (test-seq-some): Add a regression test. * doc/lispref/sequences.texi (Sequence Functions): Update the documentation for seq-some. Rename seq-some-p to seq-some and seq-contains-p to seq-contains * lisp/emacs-lisp/seq.el (seq-some, seq-contains): Rename the functions without the "-p" prefix. * test/automated/seq-tests.el (test-seq-some, test-seq-contains): Update the tests accordingly. * doc/lispref/sequences.texi (Sequence Functions): Update the documentation for seq.el. 2015-09-05 Paul Eggert text-quoting-style for usage of fn names with ‘’ * lisp/help.el (help--docstring-quote): Don’t assume text-quoting-style is ‘curve’ when generating usage strings for functions whose names contain curved quotes. 2015-09-05 Paul Eggert Fix fix for describe-function keybinding confusion This fixes a bug introduced by the previous patch. * lisp/help-fns.el (help-fns--signature): Last arg of help-fns--signature is now a buffer, or nil if a raw signature is wanted. All callers changed. (describe-function-1): Use this to do the right thing with signatures. 2015-09-05 Johan Bockgård * doc/lispref/frames.texi (Mouse Tracking): Fix typo. Use PAT rather than UPAT in pcase macros * lisp/emacs-lisp/cl-macs.el (cl-struct) : * lisp/emacs-lisp/eieio.el (eieio) : Use PAT rather than UPAT. 2015-09-05 Paul Eggert Fix describe-function keybinding confusion * lisp/help-fns.el (describe-function-1): Compute signature in the original buffer, not in standard-output, so that substitute-command-keys uses the proper keybindings. This fixes Bug#21412, introduced in commit 2015-06-11T10:23:46-0700!eggert@cs.ucla.edu. 2015-09-05 Xue Fuqiao * doc/emacs/programs.texi (Program Modes): Remove an index entry. 2015-09-05 Robert Pluim (tiny change) Avoid read error messages from 'inotify' * src/process.c (wait_reading_process_output): Add a 'tls_available' set and manipulate it instead of 'Available' when checking TLS inputs. Assign the value to 'Available' only if we find any TLS data waiting to be read. This avoids error messages from 'inotify' that tries to read data it shouldn't. (Bug#21337) 2015-09-05 Eli Zaretskii Avoid errors in thing-at-point with 2nd argument non-nil * lisp/thingatpt.el (thing-at-point): Only call 'length' on sequences. (Bug#21391) 2015-09-05 Philip (tiny change) Fix segfaults due to using a stale face ID * src/xdisp.c (forget_escape_and_glyphless_faces): New function. (display_echo_area_1, redisplay_internal): Call it to avoid reusing stale face IDs for 'escape-glyph' and 'glyphless-char' faces, which could case a segfault if the frame's face cache was freed since the last redisplay. (Bug#21394) * src/xfaces.c (free_realized_faces): Call forget_escape_and_glyphless_faces. * src/dispextern.h (forget_escape_and_glyphless_faces): Add prototype. 2015-09-04 Paul Eggert Fix minor problems with " in manual 2015-09-04 Michael Albinus * doc/misc/tramp.texi (Frequently Asked Questions): New item for ad-hoc multi-hop files. 2015-09-04 Paul Eggert Support automated ‘make check’ in non-C locale This lets the builder optionally test Emacs behavior in other locales. The C locale is still the default for tests. * test/automated/Makefile.in (TEST_LOCALE): New macro. (emacs): Use it. * test/automated/flymake-tests.el (flymake-tests--current-face): Use C locale for subprocesses so that tests behave as expected. * test/automated/python-tests.el: (python-shell-prompt-validate-regexps-1) (python-shell-prompt-validate-regexps-2) (python-shell-prompt-validate-regexps-3) (python-shell-prompt-validate-regexps-4) (python-shell-prompt-validate-regexps-5) (python-shell-prompt-validate-regexps-6) (python-shell-prompt-set-calculated-regexps-1): Adjust expected output to match locale. * test/automated/tildify-tests.el (tildify-test--test) (tildify-space-test--test, tildify-space-undo-test--test): This test assumes UTF-8 encoding. 2015-09-03 Paul Eggert Fix some more docstring etc. quoting problems Mostly these fixes prevent the transliteration of apostrophes that should stay apostrophes. Also, prefer curved quotes in Bahá’í proper names, as that’s the preferred Bahá’í style and these names are chock-full of non-ASCII characters anyway. * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload) (eieio-defclass-internal): * lisp/emacs-lisp/eieio.el (defclass): * lisp/hi-lock.el (hi-lock-mode): Don’t transliterate Lisp apostrophes when generating a doc string or diagnostic. * lisp/international/mule-diag.el (list-coding-systems-1): * lisp/international/ogonek.el (ogonek-jak, ogonek-how): * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): * lisp/vc/ediff-mult.el (ediff-redraw-registry-buffer): * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Substitute quotes before putting them in the help buffer. 2015-09-03 Stefan Monnier Re-add the notion of echo_prompt lost in the translation * src/keyboard.h (struct kboard): Replace echo_after_prompt with new echo_prompt which contains the actual string. Update all uses. * src/keyboard.c (kset_echo_prompt): New function. (echo_update): Add echo_prompt at the very beginning. (read_char): Remove workaround for bug#19875, not needed any more. (read_key_sequence): Set echo_prompt rather than echo_string (bug#21403). (mark_kboards): Mark echo_prompt. Fix disassembly of non-compiled lexical functions (bug#21377) * lisp/emacs-lisp/bytecomp.el (byte-compile): Handle `closure' arg. * lisp/emacs-lisp/disass.el: Use lexical-binding. (disassemble): Recognize `closure's as well. (disassemble-internal): Use indirect-function and help-function-arglist, and accept `closure's. (disassemble-internal): Use interactive-form. (disassemble-1): Use functionp. * lisp/textmodes/tex-mode.el (tex--prettify-symbols-compose-p): Don't compose inside verbatim blocks! 2015-09-03 Mark Oteiza * lisp/thingatpt.el (thing-at-point-uri-schemes): Add "man:" (bug#19441). * lisp/mpc.el (mpc--proc-connect): Handle unix sockets (bug#19394). 2015-09-03 Dmitry Gutov vc-git-mode-line-string: Explicitly re-apply the face * lisp/vc/vc-git.el (vc-git-mode-line-string): Explicitly re-apply the face (bug#21404). 2015-09-02 Paul Eggert Treat initial-scratch-message as a doc string * doc/emacs/building.texi (Lisp Interaction): * doc/lispref/os.texi (Startup Summary): * etc/NEWS: Document this. * lisp/startup.el (initial-scratch-message): Look up find-file’s key rather than hardcoding it. (command-line-1): Substitute the doc string. This also substitutes the quotes, which will help test display quoting at startup. Fix describe-char bug with glyphs on terminals * lisp/descr-text.el (describe-char): Terminals can have glyphs in buffers too, so don’t treat them differently from graphic displays. Without this fix, describe-char would throw an error on a terminal if given a glyph with a non-default face. Follow text-quoting-style in display table init This attempts to fix a problem reported by Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-09/msg00112.html * doc/lispref/display.texi (Active Display Table): Mention how text-quoting-style affects it. * doc/lispref/help.texi (Keys in Documentation): Say how to set text-quoting-style in ~/.emacs. * etc/NEWS: Document the change. * lisp/startup.el (startup--setup-quote-display): Follow user preference if text-quoting-style is set. (command-line): Setup quote display again if user expresses a preference in .emacs. 2015-09-02 K. Handa Fix typo * src/ftfont.c (ftfont_drive_otf): otf_positioning_type_components_mask -> OTF_positioning_type_components_mask. Fix previous change * src/ftfont.c (ftfont_drive_otf): Remember some bits of OTF_Glyph->positioning_type in MFLTGlyphFT->libotf_positioning_type. 2015-09-01 David Caldwell (tiny change) * lisp/vc/vc-hooks.el (vc-refresh-state): New command. Rename from vc-find-file-hook and make interactive. (vc-find-file-hook): Redefine as obsolete alias. 2015-09-01 Paul Eggert Escape ` and ' in doc Escape apostrophes and grave accents in docstrings if they are are supposed to stand for themselves and are not quotes. Remove apostrophes from docstring examples like ‘'(calendar-nth-named-day -1 0 10 year)’ that confuse source code with data. Do some other minor docstring fixups as well, e.g., insert a missing close quote. 2015-09-01 Stefan Monnier Generalize the prefix-command machinery of C-u * lisp/simple.el (prefix-command-echo-keystrokes-functions) (prefix-command-preserve-state-hook): New hooks. (internal-echo-keystrokes-prefix): New function. (prefix-command--needs-update, prefix-command--last-echo): New vars. (prefix-command-update, prefix-command-preserve): New functions. (reset-this-command-lengths): New compatibility definition. (universal-argument--mode): Call prefix-command-update. (universal-argument, universal-argument-more, negative-argument) (digit-argument): Call prefix-command-preserve-state. * src/keyboard.c: Call internal-echo-keystrokes-prefix to build the "prefix argument" to echo. (this_command_key_count_reset, before_command_key_count) (before_command_echo_length): Delete variables. (echo_add_key): Always add a space. (echo_char): Remove. (echo_dash): Don't give up when this_command_key_count is 0, since that is now the case after a prefix command. (echo_update): New function, extracted from echo_now. (echo_now): Use it. (add_command_key, read_char, record_menu_key): Remove old disabled code. (command_loop_1): Don't refrain from pushing an undo boundary when prefix-arg is set. Remove other prefix-arg special case, now handled directly in the prefix commands instead. But call echo_now if there's a prefix state to echo. (read_char, record_menu_key): Use echo_update instead of echo_char. (read_key_sequence): Use echo_now rather than echo_dash/echo_char. (Freset_this_command_lengths): Delete function. (syms_of_keyboard): Define Qinternal_echo_keystrokes_prefix. (syms_of_keyboard): Don't defsubr Sreset_this_command_lengths. * lisp/simple.el: Use those new hooks for C-u. (universal-argument--description): New function. (prefix-command-echo-keystrokes-functions): Use it. (universal-argument--preserve): New function. (prefix-command-preserve-state-hook): Use it. (command-execute): Call prefix-command-update if needed. * lisp/kmacro.el (kmacro-step-edit-prefix-commands) (kmacro-step-edit-prefix-index): Delete variables. (kmacro-step-edit-query, kmacro-step-edit-insert): Remove ad-hoc support for prefix arg commands. (kmacro-step-edit-macro): Don't bind kmacro-step-edit-prefix-index. * lisp/emulation/cua-base.el (cua--prefix-override-replay) (cua--shift-control-prefix): Use prefix-command-preserve-state. Remove now unused arg `arg'. (cua--prefix-override-handler, cua--prefix-repeat-handler) (cua--shift-control-c-prefix, cua--shift-control-x-prefix): Update accordingly. (cua--prefix-override-timeout): Don't call reset-this-command-lengths any more. (cua--keep-active, cua-exchange-point-and-mark): Don't set mark-active if the mark is not set. 2015-09-01 Paul Eggert Rework quoting in Emacs Lisp Introduction * doc/lispintro/emacs-lisp-intro.texi (Sample let Expression) (if in more detail, type-of-animal in detail, else): Rework the early example to use " rather than ' so that we don’t burden complete novices with the low-priority detail of text quoting style. (Complete zap-to-char, kill-region, Complete copy-region-as-kill) (kill-new function, kill-ring-yank-pointer) (Complete forward-sentence, Loading Files) (Code for current-kill, Code for current-kill, yank): Resurrect the Emacs 22 versions of the code, which uses grave quoting style in doc strings. (Complete zap-to-char): Mention how quoting works in doc strings. Setup quote display only if interactive * lisp/startup.el (command-line): Skip call to startup--setup-quote-display if noninteractive. Without this change, python-shell-prompt-validate-regexps-1 fails in test/automated/python-tests.el when run in an en_US.utf8 locale on Fedora. 2015-09-01 Katsumi Yamaoka Use defalias at the top level * lisp/gnus/gnus-util.el (gnus-format-message): * lisp/net/tls.el (tls-format-message): Use defalias at the top level so as to make eval-and-compile unnecessary. Thanks to Stefan Monnier. 2015-09-01 Paul Eggert terminal-init-w32console mimicks command-line Problem reported by Eli Zaretskii. * lisp/startup.el (startup--setup-quote-display): New function, refactored from a part of ‘command-line’. (command-line): Use it. * lisp/term/w32console.el (terminal-init-w32console): Use it, so that this function stays consistent with ‘command-line’. Display replacement quotes with shadow glyphs * lisp/startup.el (command-line): When displaying ASCII replacements for curved quotes, use a shadow glyph instead of a regular one, to avoid ambiguity. 2015-09-01 Michael Albinus * lisp/net/tramp-sh.el (tramp-methods) : Mask "Password:". 2015-09-01 Paul Eggert Docstring fixes re quotes in C code Fix some docstring quoting problems, mostly by escaping apostrophe. 2015-09-01 Michael Albinus Some Tramp password fixes * lisp/net/tramp.el (tramp-clear-passwd): Clear also the passwords of the hops. * lisp/net/tramp-sh.el (tramp-methods) : Move "-p" "Password:" at the beginning of the command. Otherwise, it could be interpreted as password prompt if the remote host echoes the command. (tramp-remote-coding-commands): Add "openssl enc -base64". 2015-09-01 Dmitry Gutov Make vc-git-working-revision always return the commit hash * lisp/vc/vc-git.el (vc-git-working-revision): Return the commit hash (bug#21383). (vc-git--symbolic-ref): New function, extracted from above. (vc-git-mode-line-string): Use it. 2015-09-01 K. Handa Use the new type MFLTGlyphFT for MFLTGlyphString.glyphs * src/ftfont.c (MFLTGlyphFT): New type. (ftfont_get_glyph_id, ftfont_get_metrics, ftfont_drive_otf) (ftfont_shape_by_flt): Make MFLTGlyphFT the actual type of elements in the array MFLTGlyphString.glyphs. 2015-09-01 Stephen Leake Improve comments in elisp-mode.el, elisp-mode-tests.el * lisp/progmodes/elisp-mode.el: Clean up FIXMEs, comments. Delete Emacs 25 test in mode-local.el * lisp/cedet/mode-local.el (describe-mode-local-overload): Fix missed an edit in previous commit. Show all known mode-local overrides in *Help* * lisp/cedet/mode-local.el (describe-mode-local-overload): Assume Emacs 25. Add all known mode-local overrides. 2015-09-01 Katsumi Yamaoka * lisp/gnus/gnus-sum.el (gnus-summary-search-article): Ensure that the article where the search word is found is displayed and pointed to in the summary buffer. 2015-08-31 Zachary Kanfer (tiny change) * lisp/newcomment.el (comment-dwim): Use `use-region-p'. When the region is active, but is empty (length 0), act as though the region was not active; that is, put a comment at the end of the line. (Bug#21119) 2015-08-31 Katsumi Yamaoka Port tls.el to older Emacs * lisp/net/tls.el (tls-format-message): Alias to format-message, or format if not available. (open-tls-stream): Use it. 2015-08-31 Rüdiger Sonderfeld hideif.el: Recognize .h++ as C++ header * lisp/progmodes/hideif.el (hide-ifdef-header-regexp): Add .h++. isearch: Document character folding mode * lisp/isearch.el (isearch-forward): Mention `isearch-toggle-character-fold' in doc string. 2015-08-31 Paul Eggert Quoting fixes in ERC and Eshell * lisp/erc/erc-autoaway.el (erc-autoaway-set-away): * lisp/erc/erc-backend.el (define-erc-response-handler): * lisp/erc/erc-fill.el (erc-fill-static-center): * lisp/eshell/em-dirs.el (eshell-save-some-last-dir): * lisp/eshell/em-glob.el (eshell-glob-entries): * lisp/eshell/em-hist.el (eshell-save-some-history): * lisp/eshell/em-unix.el (eshell-remove-entries, eshell/rm) (eshell-shuffle-files): * lisp/eshell/esh-cmd.el (eshell-do-eval): * lisp/eshell/esh-proc.el (eshell-process-interact) (eshell-query-kill-processes): Respect ‘text-quoting-style’ in diagnostics and doc strings. Quoting fixes in Gnus * lisp/gnus/gnus-agent.el: (gnus-agent-possibly-synchronize-flags-server): * lisp/gnus/gnus-art.el (gnus-article-browse-delete-temp-files): * lisp/gnus/gnus-eform.el (gnus-edit-form): * lisp/gnus/gnus-group.el (gnus-group-edit-group) (gnus-group-nnimap-edit-acl): * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters): * lisp/gnus/mail-source.el (mail-source-delete-old-incoming): * lisp/gnus/message.el (message-strip-subject-encoded-words) (message-check-recipients, message-send-form-letter): * lisp/gnus/mm-decode.el (mm-display-part): * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract-1): * lisp/gnus/mml-smime.el (mml-smime-get-dns-cert) (mml-smime-get-ldap-cert): * lisp/gnus/spam-report.el (spam-report-process-queue): Respect ‘text-quoting-style’ in diagnostics. * lisp/gnus/gnus-art.el (article-display-face) * lisp/gnus/gnus-fun.el (gnus-display-x-face-in-from): Use straight quoting in email. * lisp/gnus/rfc2231.el (rfc2231-decode-encoded-string): Escape apostrophes in doc strings. Quoting fixes in lisp mail, mh-e, net, url * lisp/mail/emacsbug.el (report-emacs-bug) (report-emacs-bug-hook): Use straight quotes in outgoing email, * lisp/mail/feedmail.el (feedmail-message-action-help-blat): * lisp/mail/rmail.el (rmail-unknown-mail-followup-to): * lisp/mail/rmailout.el (rmail-output-read-file-name): * lisp/net/imap.el (imap-interactive-login): * lisp/net/tls.el (open-tls-stream): * lisp/url/url-auth.el (url-register-auth-scheme): Respect ‘text-quoting-style’ in diagnostics. * lisp/mh-e/mh-e.el (mh-sortm-args): Quote docstring example using text quotes, not as a Lisp quote. 2015-08-31 Stephen Leake Fix some byte-compiler warnings in EDE This fixes a bug that caused ede-generic-new-autoloader to overwrite the existing autoloader list, rather than add to it. * lisp/cedet/ede/auto.el (ede-project-class-files): Delete obsolete name argument to eieio class constructor. (ede-show-supported-projects): New. (ede-add-project-autoload): Replace obsolete `eieio-object-name-string' with (oref ... name). (ede-auto-load-project): Use slot name, not initarg key. * lisp/cedet/ede/generic.el (ede-generic-load) (ede-generic-find-matching-target): Use slot name, not initarg key. (ede-find-target): Use oref-default on class name. (ede-generic-new-autoloader): Delete obsolete name argument to eieio class constructor. (ede-enable-generic-projects): Make project type names unique. 2015-08-31 Eli Zaretskii Fix directory accessibility tests for w32 network volumes * src/w32.c (faccessat): Don't fail with network volumes without a share. (w32_accessible_directory_p): Handle network volumes without a share. Fix handling long file names in readdir on MS-Windows * src/w32.c (sys_readdir): Append "\*" to the directory after converting it to UTF-16/ANSI, not before, to avoid overflowing the 260-character limit on file names in filename_to_utf16/ansi. Make file-accessible-directory-p reliable on MS-Windows * src/w32.c (w32_accessible_directory_p): New function. * src/w32.h (w32_accessible_directory_p): Add prototype. * src/fileio.c (file_accessible_directory_p) [WINDOWSNT]: Call w32_accessible_directory_p to test a directory for accessibility by the current user. (Bug#21346) (Ffile_accessible_directory_p): Remove the w32 specific caveat from the doc string. 2015-08-31 Martin Rudalics Don't call do_pending_window_change in signal handlers (Bug#21380) * src/gtkutil.c (xg_frame_resized): * src/xterm.c (x_set_window_size): * src/w32term.c (x_set_window_size): Don't call do_pending_window_change. 2015-08-31 Paul Eggert Quoting fixes in lisp/org * lisp/org/org-agenda.el (org-search-view, org-todo-list) (org-tags-view): * lisp/org/org-capture.el (org-capture-mode) * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file) (org-ctags-ask-append-topic): * lisp/org/org.el (org-time-string-to-time) (org-time-string-to-absolute): * lisp/org/org-ctags.el (org-ctags-visit-buffer-or-file) (org-ctags-ask-append-topic): * lisp/org/org.el (org-time-string-to-time) (org-time-string-to-absolute): Respect ‘text-quoting-style’ in diagnostics. * lisp/org/org-agenda.el (org-agenda-custom-commands) (org-agenda-dim-blocked-tasks): Plural of TODO is TODOs, not TODO’s. * lisp/org/org-capture.el (org-capture-fill-template): Avoid contraction in output file that might be ASCII. * lisp/org/org-compat.el (format-message): Define if not already defined, for backward compatibility. * lisp/org/org-src.el (org-edit-src-save): * lisp/org/org.el (org-cycle, org-ctrl-c-ctrl-c): Escape apostrophes in diagnostics. Treat “instead” strings as docstrings * lisp/emacs-lisp/bytecomp.el (byte-compile-form): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): Substitute quotes in instead strings. 2015-08-31 Nicolas Petton Better documentation of seq-let * doc/lispref/sequences.texi (Sequence Functions): Rephrase the documentation of seq-let. 2015-08-31 Paul Eggert * lisp/international/ccl.el: Fix quoting. Quoting fixes in lisp/international and lisp/leim * lisp/international/ccl.el (ccl-dump, ccl-dump-call): * lisp/international/ja-dic-utl.el (skkdic-lookup-key): * lisp/international/mule-cmds.el: (select-safe-coding-system-interactively, leim-list-file-name): * lisp/international/quail.el (quail-use-package, quail-help): * lisp/international/titdic-cnv.el (tit-process-header) (miscdic-convert): Respect text quoting style in doc strings and diagnostics. * lisp/international/quail.el (lisp/international/quail.el): * lisp/leim/quail/ethiopic.el ("ethiopic"): Escape apostrophes in doc strings. Make ‘text-quoting-style’ a plain defvar It doesn’t need customization, as it’s likely useful only by experts. Suggested by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg01020.html * lisp/cus-start.el: Remove doc.c section for builtin customized vars. Quoting fixes in lisp/textmodes * lisp/textmodes/bibtex.el (bibtex-validate) (bibtex-validate-globally, bibtex-search-entries): * lisp/textmodes/ispell.el (ispell-command-loop): * lisp/textmodes/page-ext.el (search-pages, pages-directory): * lisp/textmodes/texinfmt.el (texinfmt-version) (texinfo-format-region, texinfo-format-buffer-1): * lisp/textmodes/two-column.el (2C-split): Respect text quoting style in doc strings and diagnostics. * lisp/textmodes/conf-mode.el (conf-mode-map, conf-quote-normal): * lisp/textmodes/sgml-mode.el (sgml-specials, sgml-mode): Escape apostrophes in doc strings. Documentation fixes re quotes Prefer curved quotes in examples if users will typically see curved quotes when the examples run. Mention format-message when appropriate. Don’t use @code in examples. Quote an apostrophe with @kbd. Quoting fixes in lisp/progmodes * lisp/progmodes/cc-engine.el (c-bos-report-error): * lisp/progmodes/cpp.el (cpp-edit-reset): * lisp/progmodes/ebrowse.el (ebrowse-tags-apropos): * lisp/progmodes/etags.el (etags-tags-apropos-additional) (etags-tags-apropos, list-tags, tags-apropos): * lisp/progmodes/executable.el (executable-set-magic): * lisp/progmodes/octave.el (octave-sync-function-file-names) (octave-help, octave-find-definition-default-filename) (octave-find-definition): Respect text quoting style in doc strings and diagnostics. * lisp/progmodes/cc-langs.el (c-populate-syntax-table): * lisp/progmodes/verilog-mode.el (verilog-auto-reset-widths): * lisp/progmodes/vhdl-mode.el (vhdl-electric-quote): Escape apostrophes in doc strings. * lisp/progmodes/cmacexp.el (c-macro-expansion): Use straight quoting in ASCII comment. * lisp/progmodes/idlwave.el (idlwave-auto-fill-split-string) (idlwave-pad-keyword): * lisp/progmodes/vhdl-mode.el (vhdl-widget-directory-validate) (vhdl-electric-open-bracket, vhdl-electric-close-bracket): (vhdl-electric-semicolon, vhdl-electric-comma) (vhdl-electric-period, vhdl-electric-equal): Use directed quotes in diagnostics and doc strings. 2015-08-30 Xue Fuqiao Minor documentation and NEWS tweak * doc/lispintro/emacs-lisp-intro.texi (fwd-para let): Add an index entry. * etc/NEWS: Fix a typo in character-fold-to-regexp. 2015-08-30 Michael Albinus * lisp/net/tramp-sh.el (tramp-convert-file-attributes): Revert patch from 2015-08-24. Tramp shall behave like for local files. * test/automated/tramp-tests.el (tramp-test18-file-attributes): Adapt test. 2015-08-30 Paul Eggert Text quoting fixes in cedet, emulation, emacs-lisp * lisp/cedet/ede.el (ede-check-project-directory): * lisp/cedet/semantic/analyze/debug.el (semantic-analyzer-debug-insert-include-summary): * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment): * lisp/cedet/semantic/decorate/include.el (semantic-decoration-unknown-include-describe) (semantic-decoration-all-include-summary): * lisp/cedet/semantic/ia.el (semantic-ia-fast-jump): * lisp/emulation/edt.el (edt-load-keys): * lisp/emulation/viper-cmd.el (viper-display-current-destructive-command) (viper-query-replace, viper-brac-function): * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-compile): * lisp/emulation/viper-macs.el (viper-unrecord-kbd-macro): Respect text quoting style in doc string or diagnostic. * lisp/cedet/mode-local.el (describe-mode-local-overload): Use format-message to avoid overtranslating quotes. * lisp/emacs-lisp/checkdoc.el (checkdoc-in-sample-code-p): Escape an apostrophe in a docstring. * lisp/emacs-lisp/warnings.el (lwarn): Fix doc string. 2015-08-29 Daniel Colascione Fix which-func for curly quotes: look for symbol, not message * lisp/progmodes/which-func.el (which-func-ff-hook): Look for new imenu-unavailable error symbol instead of trying to match message exactly. * lisp/imenu.el (imenu-unavailable): New error. (imenu-unavailable-error): New function. 2015-08-29 Eli Zaretskii Fix Python tests on MS-Windows * test/automated/python-tests.el (python-shell-calculate-command-1): Run python-shell-interpreter through shell-quote-argument before comparing with what python-shell-calculate-command returns. (python-shell-calculate-pythonpath-1) (python-shell-calculate-pythonpath-2) (python-shell-calculate-process-environment-2): Use path-separator instead of a literal ':'. (python-shell-calculate-exec-path-2) (python-shell-calculate-exec-path-3) (python-shell-calculate-exec-path-4) (python-shell-with-environment-1) (python-shell-with-environment-2): Run "/env/bin" through expand-file-name before comparing with exec-path. (Bug#21375) 2015-08-29 YAMAMOTO Mitsuharu Use Core Text types/functions/variables/enumerators directly * src/macfont.h (FontDescriptorRef, FontRef, FontSymbolicTraits) (CharacterCollection): Remove typedefs. All uses replaced with definitions. (MAC_FONT_NAME_ATTRIBUTE, MAC_FONT_FAMILY_NAME_ATTRIBUTE) (MAC_FONT_TRAITS_ATTRIBUTE, MAC_FONT_SIZE_ATTRIBUTE) (MAC_FONT_CASCADE_LIST_ATTRIBUTE) (MAC_FONT_CHARACTER_SET_ATTRIBUTE, MAC_FONT_LANGUAGES_ATTRIBUTE) (MAC_FONT_FORMAT_ATTRIBUTE, MAC_FONT_SYMBOLIC_TRAIT) (MAC_FONT_WEIGHT_TRAIT, MAC_FONT_WIDTH_TRAIT) (MAC_FONT_SLANT_TRAIT): Remove macros. All uses replaced with definitions. (MAC_FONT_TRAIT_ITALIC, MAC_FONT_TRAIT_BOLD) (MAC_FONT_TRAIT_MONO_SPACE, MAC_FONT_TRAIT_COLOR_GLYPHS) (MAC_FONT_FORMAT_BITMAP) (MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING) (MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1): Remove enumerators. All uses replaced with definitions. (kCTFontTraitItalic, kCTFontTraitBold, kCTFontTraitMonoSpace) (kCTFontTraitColorGlyphs, kCTCharacterCollectionIdentityMapping) (kCTCharacterCollectionAdobeJapan1 kCTFontOrientationDefault): Add compatibility enumerators for older versions. (mac_font_descriptor_create_with_attributes) (mac_font_descriptor_create_matching_font_descriptors) (mac_font_descriptor_create_matching_font_descriptor) (mac_font_descriptor_copy_attribute) (mac_font_descriptor_supports_languages) (mac_font_create_with_name, mac_font_get_size) (mac_font_copy_family_name, mac_font_copy_character_set) (mac_font_get_glyphs_for_characters, mac_font_get_ascent) (mac_font_get_descent, mac_font_get_leading) (mac_font_get_underline_position) (mac_font_get_underline_thickness, mac_font_copy_graphics_font) (mac_font_copy_non_synthetic_table): Remove macros. All uses replaced with definitions. (mac_font_create_preferred_family_for_attributes) (mac_font_get_advance_width_for_glyph) (mac_font_get_bounding_rect_for_glyph) (mac_font_create_available_families, mac_font_shape): Remove macros for renamed functions. (mac_nsctfont_copy_font_descriptor): Remove unused macro. * src/macfont.m (mac_font_descriptor_supports_languages): Rename from mac_ctfont_descriptor_supports_languages. (mac_font_create_preferred_family_for_attributes): Rename from mac_ctfont_create_preferred_family_for_attributes. (mac_font_get_advance_width_for_glyph): Rename from mac_ctfont_get_advance_width_for_glyph. Use kCTFontOrientationDefault also for older versions. (mac_font_get_bounding_rect_for_glyph): Rename from mac_ctfont_get_bounding_rect_for_glyph. Use kCTFontOrientationDefault also for older versions. (mac_font_create_available_families): Rename from mac_ctfont_create_available_families. (mac_font_equal_in_postscript_name): Rename from mac_ctfont_equal_in_postscript_name. All uses changed. (mac_font_create_line_with_string_and_font): Rename from mac_ctfont_create_line_with_string_and_font. All uses changed. (mac_font_shape): Rename from mac_ctfont_shape. (mac_font_family_compare): Remove unused declaration. 2015-08-29 Paul Eggert Fix minor text quoting in calc, calendar, vc * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help): * lisp/calc/calc-help.el (calc-j-prefix-help): * lisp/calc/calc-misc.el (calc-help): * lisp/calc/calc.el (calc-algebraic-mode, calc-mode): Escape an apostrophe in a docstring. * lisp/calc/calc-forms.el (calc-hms-notation): * lisp/calc/calc-mode.el (calc-display-raw, calc-algebraic-mode): Escape an apostrophe in a diagnostic. * lisp/calc/calc-misc.el (calc-help): * lisp/calendar/diary-lib.el (diary-include-files): * lisp/calendar/todo-mode.el (todo-prefix, todo-item-mark): * lisp/vc/diff-mode.el (diff-delete-trailing-whitespace): * lisp/vc/ediff-diff.el (ediff-same-contents): * lisp/vc/ediff-merg.el (ediff-re-merge): * lisp/vc/ediff-ptch.el (ediff-patch-file-internal): * lisp/vc/ediff-util.el (ediff-test-save-region) (ediff-status-info): * lisp/vc/ediff.el (ediff-merge-revisions) (ediff-merge-revisions-with-ancestor): * lisp/vc/pcvs.el (cvs-mode-checkout, cvs-vc-command-advice): * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string): Respect text quoting style in doc string or diagnostic. * lisp/calc/calc-prog.el (calc-kbd-push, calc-kbd-pop): * lisp/vc/add-log.el (change-log-goto-source): Avoid double-formatting. * lisp/vc/ediff-init.el (format-message): New backward-compatibility alias. 2015-08-28 Paul Eggert Fix minor text quoting problems in lisp top level * lisp/apropos.el (apropos-describe-plist): * lisp/cus-theme.el (customize-themes): * lisp/dired.el (dired-log): * lisp/help-fns.el (describe-variable): * lisp/hexl.el (hexl-insert-multibyte-char): * lisp/info.el (Info-finder-find-node): * lisp/json.el (json-read-string): * lisp/novice.el (disabled-command-function) (disabled-command-function): * lisp/startup.el (normal-mouse-startup-screen): * lisp/woman.el (WoMan-log, WoMan-warn): Respect text quoting style in doc string or diagnostic. * lisp/replace.el (replace-character-fold): * src/syntax.c (Fmodify_syntax_entry): Escape an apostrophe in a docstring. * lisp/tempo.el (tempo-define-template): Remove confusing apostrophe from docstring. * lisp/whitespace.el (whitespace-mark-x): Use directed quotes in docstring. 2015-08-28 Simen Heggestøyl Fix indentation rule in css-mode * lisp/textmodes/css-mode.el (css-smie-rules): Fix indentation of brackets in presence of pseudo-selectors. (Bug#21328) 2015-08-28 Eli Zaretskii Fix a bug in recording a macro while flyspell-mode is active * lisp/subr.el (sit-for): Don't call read-event when recording a macro. (Bug#21329) 2015-08-27 Paul Eggert Tweak startup screen quoting * lisp/startup.el (normal-splash-screen): Use standard "M-" abbrevation rather than a confusingly-different one. (normal-no-mouse-startup-screen): Follow ‘text-quoting-style’. 2015-08-27 Paul Eggert Add test case for ‘format’ bug and refactor * src/editfns.c (styled_format): Refactor internally, mostly by moving declarations closer to uses. This should not affect behavior. * test/automated/textprop-tests.el (textprop-tests-format): New test. Fix ‘format’ bug with property offsets * src/editfns.c (styled_format): Fix recently-introduced ‘format’ bug in calculating string property offsets (Bug#21351). Use straight quotes in lib-src diagnostics These auxiliary programs can’t use Emacs’s text-quoting-style, and it’s too much trouble to redo that mechanism by hand. So just use straight quotes for now. * lib-src/ebrowse.c (main): * lib-src/emacsclient.c (decode_options, main): * lib-src/etags.c (Ada_help, default_C_help, Cplusplus_help) (Forth_help, HTML_help, Lisp_help, Makefile_help, Objc_help) (Perl_help, PHP_help, Python_help, Scheme_help, TeX_help, auto_help) (none_help, print_language_names, print_help, add_regex) (suggest_asking_for_help): * lib-src/make-docfile.c (write_c_args, scan_c_stream): Use straight quotes in diagnostics. ‘text-quoting-style’ fixes for admin * admin/admin.el (cusver-scan, cusver-check): * admin/authors.el (authors-canonical-file-name): * admin/bzrmerge.el (bzrmerge-missing): Respect ‘text-quoting-style’ in diagnostics. 2015-08-26 Paul Eggert Assume GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS This removes the need for GCPRO1 etc. Suggested by Stefan Monnier in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00918.html * doc/lispref/internals.texi (Writing Emacs Primitives): * etc/NEWS: Document the change. * src/alloc.c (gcprolist, dump_zombies, MAX_ZOMBIES, zombies) (nzombies, ngcs, avg_zombies, max_live, max_zombies, avg_live) (Fgc_status, check_gcpros, relocatable_string_data_p, gc-precise): * src/bytecode.c (mark_byte_stack) [BYTE_MARK_STACK]: * src/eval.c (gcpro_level) [DEBUG_GCPRO]: * src/lisp.h (struct handler.gcpro, struct gcpro, GC_MARK_STACK) (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS) (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES) (BYTE_MARK_STACK, GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, GCPRO6) (GCPRO7, UNGCPRO, RETURN_UNGCPRO): Remove. All uses removed. The code now assumes GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS. * src/bytecode.c (relocate_byte_stack): Rename from unmark_byte_stack, since it now only relocates. All callers changed. * src/frame.c (make_frame): Add an IF_LINT to pacify GCC 5.2 with GCPROs removed. * src/systime.h: Use EMACS_LISP_H as the canary instead of GCPRO1. * test/automated/finalizer-tests.el (finalizer-basic) (finalizer-circular-reference, finalizer-cross-reference) (finalizer-error): * test/automated/generator-tests.el (cps-test-iter-close-finalizer): Remove tests, as they depend on gc-precise. 2015-08-26 Nicolas Petton Improve seq-concatenate for new sequence types Use the new `seq-into-sequence' in seqs passed to `seq-concatenate' to ensure that concatenation happens on sequences only. This makes it possible to use `seq-concatenate' for new types of seqs. * lisp/emacs-lisp/seq.el (seq-into-sequence, seq-concatenate): New function used in `seq-concatenate'. * test/automated/seq-tests.el (test-seq-into-sequence): New unit test for seq-into-sequence. 2015-08-26 Stephen Leake Add mode local overrides to xref-find-definitions * lisp/cedet/mode-local.el (xref-mode-local--override-present) (xref-mode-local-overload): New; add mode local overrides to xref-find-definitions. * test/automated/elisp-mode-tests.el: Add mode local override tests. (xref-elisp-test-run): Handle indented defuns. (xref-elisp-generic-*): Improve doc strings. * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): New. (elisp--xref-find-definitions): Use it. Add mode local overrides to describe-function * lisp/cedet/mode-local.el (describe-mode-local-overload): New; add mode local overrides to describe-function. * etc/NEWS: Document change. 2015-08-26 Paul Eggert Prefer straight quoting in some etc text files These files are plain text and might be used by non-Emacs apps. They’re mostly ASCII, so just use straight quotes. Fix quoting in ‘message_with_string’ * src/nsfont.m (nsfont_open): Use directed quotes in format; they should work now. * src/xdisp.c (message_to_stderr): New function, refactored from part of ‘message3_nolog’. (message3_nolog): Use it. (message_with_string): Use it. Don’t mishandle NUL bytes when noninteractive. Prefer AUTO_STRING when it’s most likely faster. Use ‘format-message’, not ‘format’, so that quotes are translated. 2015-08-26 Eli Zaretskii Mention false positives of file-accessible-directory on w32 * src/fileio.c (Ffile_accessible_directory_p): Doc fix. (Bug#21346) 2015-08-26 Paul Eggert Treat error strings as help * src/print.c (print_error_message): Translate quotes and command keys in errmsg so that users see, e.g., "Symbol’s value as variable is void: foo" when text-quoting-style is curved. 2015-08-26 Michael Albinus * lisp/net/tramp-cache.el (top): Use `message', not `format-message'. 2015-08-26 Paul Eggert Top-level elisp files respect ‘text-quoting-style’ In top-level elisp files, use format-message in diagnostic formats, so that they follow user preference as per ‘text-quoting-style’ rather than being hard-coded to quote `like this'. * lisp/allout.el (allout-get-configvar-values): * lisp/apropos.el (apropos-symbols-internal): * lisp/dired-aux.el (dired-do-shell-command, dired-create-files) (dired-do-create-files-regexp, dired-create-files-non-directory): * lisp/dired-x.el (dired-do-run-mail): * lisp/dired.el (dired-log, dired-dnd-handle-local-file): * lisp/disp-table.el (standard-display-european): * lisp/find-dired.el (find-dired): * lisp/forms.el (forms-mode): * lisp/ido.el (ido-buffer-internal): * lisp/info.el (Info-index-next): * lisp/outline.el (outline-invent-heading): * lisp/printing.el (pr-ps-outfile-preprint, pr-i-ps-send): * lisp/proced.el (proced-log): * lisp/ps-print.el (ps-print-preprint, ps-get-size): * lisp/recentf.el (recentf-open-files, recentf-save-list): * lisp/savehist.el (savehist-save): * lisp/server.el (server-ensure-safe-dir): * lisp/ses.el (ses-rename-cell): * lisp/simple.el (list-processes--refresh): * lisp/startup.el (command-line): * lisp/strokes.el (strokes-unset-last-stroke) (strokes-execute-stroke): Use format-message so that quotes are restyled. * lisp/cus-edit.el (custom-raised-buttons, customize-browse): Don’t quote ‘raised’. * lisp/descr-text.el (describe-char): * lisp/dirtrack.el (dirtrack-debug-message): * lisp/hexl.el (hexl-insert-multibyte-char): Apply substitute-command-keys to help string. * lisp/wdired.el (wdired-do-renames, wdired-do-symlink-changes) (wdired-do-perm-changes): Let dired-log do the formatting. 2015-08-25 Paul Eggert Go back to grave quoting in Tramp * lisp/net/tramp-adb.el: * lisp/net/tramp-cache.el: * lisp/net/tramp-compat.el: * lisp/net/tramp-gvfs.el: * lisp/net/tramp-gw.el: * lisp/net/tramp-sh.el: * lisp/net/tramp-smb.el: * lisp/net/tramp.el: Stick with grave quoting in diagnostics strings. This is more portable to older Emacs, desirable for Tramp. * lisp/net/tramp-cache.el: Use ‘format-message’, not ‘format’, for diagnostic that needs requoting. * lisp/net/tramp-compat.el (format-message): Fall back on simple ‘format’, since that’s good enough now. Go back to grave quoting in Gnus * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries): * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer) (gnus-agent-fetch-headers): * lisp/gnus/gnus-int.el (gnus-start-news-server): * lisp/gnus/gnus-registry.el: (gnus-registry--split-fancy-with-parent-internal) (gnus-registry-post-process-groups): * lisp/gnus/gnus-score.el (gnus-summary-increase-score): * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): * lisp/gnus/gnus-topic.el (gnus-topic-rename): * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days): * lisp/gnus/spam.el (spam-check-blackholes): Stick with grave quoting in diagnostics strings. This is more portable to older Emacs, desirable for Gnus. Fix customization of text-quoting-style * lisp/cus-edit.el (custom-guess-type, custom-variable-documentation): * lisp/wid-edit.el (widget-docstring): Get raw docstring here since it’s cooked later and should not be cooked twice. * lisp/cus-edit.el (custom-group-value-create): Cook the docstring before inserting it. * lisp/cus-start.el (text-quoting-style): Quote the customization docstrings according to the new rules. Give curved examples. format-message now curves ` and ' That way, the caller doesn’t have to use curved quotes to get diagnostics that match the text-quoting-style preferences. Suggested by Dmitry Gutov in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00893.html This means we no longer need %qs, so remove that format. While we’re at it, fix an unlikely bug and lessen the pressure on the garbage collector by processing the string once rather than twice in the usual case. * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document this. * lisp/subr.el (format-message): Remove; now done in C. * src/callint.c (Fcall_interactively): * src/editfns.c (Fmessage, Fmessage_box): Use Fformat_message instead of Finternal__text_restyle followed by Fformat. * src/doc.c (LSQM, RSQM): Remove; all uses changed to use uLSQM and uRSQM. (Fsubstitute_command_keys): Prefer AUTO_STRING to build_string when pure ASCII now suffices. Fix unlikely bug when parsing unibyte string containing non-ASCII bytes. Use inline code rather than memcpy, as it’s a tiny number of bytes. (Finternal__text_restyle): Remove; no longer used. (syms_of_doc): Don’t declare it. * src/editfns.c (Fformat): Rewrite in terms of new function ‘styled_format’. (Fformat_message): New function, moved here from subr.el. (styled_format): New function, with the old guts of Fformat, except it now optionally transliterates quotes, and it transliterates traditional grave accent and apostrophe quoting as well. Remove recently-added q flag; no longer needed or used. (syms_of_editfns): Define format-message. * src/lisp.h (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Remove; no longer need to be global symbols. * src/xdisp.c (vadd_to_log): Use Fformat_message, not Fformat, so that callers can use `%s'. * src/image.c (image_size_error, xbm_load_image, xbm_load) (xpm_load, pbm_load, png_load_body, jpeg_load_body, tiff_load) (gif_load, imagemagick_load_image, imagemagick_load, svg_load) (svg_load_image, gs_load, x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Use `%s' instead of %qs in formats. 2015-08-25 Eli Zaretskii Minor fixes in doc/emacs/search.texi * doc/emacs/search.texi (Basic Isearch): Fix a typo. (Special Isearch): Use @w{} to generate several consecutive spaces with Texinfo 6. (Bug#21345) 2015-08-25 Michael Albinus * lisp/net/tramp-sh.el (tramp-awk-encode, tramp-awk-decode) (tramp-awk-coding-test): New defconsts. (tramp-remote-coding-commands): Use them. (tramp-find-inline-encoding): Check for Perl only if necessary. 2015-08-25 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Add some index entries for the special form `quote'. 2015-08-25 Paul Eggert Spelling fixes Gnus format-message typo fix * lisp/gnus/gnus-util.el (gnus-format-message): Fix typo when running in older Emacs. Prefer directed to neutral quotes in docstings and diagnostics. In docstrings, escape apostrophes that would otherwise be translated to curved quotes using the newer, simpler rules. * admin/unidata/unidata-gen.el (unidata-gen-table): * lisp/align.el (align-region): * lisp/allout.el (allout-mode, allout-solicit-alternate-bullet): * lisp/bookmark.el (bookmark-default-annotation-text): * lisp/calc/calc-aent.el (math-read-if, math-read-factor): * lisp/calc/calc-lang.el (math-read-giac-subscr) (math-read-math-subscr): * lisp/calc/calc-misc.el (report-calc-bug): * lisp/calc/calc-prog.el (calc-fix-token-name) (calc-read-parse-table-part): * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-dist-rules): * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): * lisp/dabbrev.el (dabbrev-expand): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/elint.el (elint-get-top-forms): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emulation/viper-cmd.el (viper-toggle-search-style): * lisp/erc/erc-button.el (erc-nick-popup): * lisp/erc/erc.el (erc-cmd-LOAD, erc-handle-login): * lisp/eshell/em-dirs.el (eshell/cd): * lisp/eshell/em-glob.el (eshell-glob-regexp): * lisp/eshell/em-pred.el (eshell-parse-modifiers): * lisp/eshell/esh-arg.el (eshell-parse-arguments): * lisp/eshell/esh-opt.el (eshell-show-usage): * lisp/files-x.el (modify-file-local-variable): * lisp/filesets.el (filesets-add-buffer, filesets-remove-buffer) (filesets-update-pre010505): * lisp/find-cmd.el (find-generic, find-to-string): * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries): * lisp/gnus/gnus-agent.el (gnus-agent-check-overview-buffer) (gnus-agent-fetch-headers): * lisp/gnus/gnus-int.el (gnus-start-news-server): * lisp/gnus/gnus-registry.el: (gnus-registry--split-fancy-with-parent-internal): * lisp/gnus/gnus-score.el (gnus-summary-increase-score): * lisp/gnus/gnus-start.el (gnus-convert-old-newsrc): * lisp/gnus/gnus-topic.el (gnus-topic-rename): * lisp/gnus/legacy-gnus-agent.el (gnus-agent-unlist-expire-days): * lisp/gnus/nnmairix.el (nnmairix-widget-create-query): * lisp/gnus/spam.el (spam-check-blackholes): * lisp/mail/feedmail.el (feedmail-run-the-queue): * lisp/mpc.el (mpc-playlist-rename): * lisp/net/ange-ftp.el (ange-ftp-shell-command): * lisp/net/mairix.el (mairix-widget-create-query): * lisp/net/tramp-cache.el: * lisp/obsolete/otodo-mode.el (todo-more-important-p): * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): * lisp/obsolete/pgg-pgp.el (pgg-pgp-process-region): * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-process-region): * lisp/org/ob-core.el (org-babel-goto-named-src-block) (org-babel-goto-named-result): * lisp/org/ob-fortran.el (org-babel-fortran-ensure-main-wrap): * lisp/org/ob-ref.el (org-babel-ref-resolve): * lisp/org/org-agenda.el (org-agenda-prepare): * lisp/org/org-bibtex.el (org-bibtex-fields): * lisp/org/org-clock.el (org-clock-notify-once-if-expired) (org-clock-resolve): * lisp/org/org-feed.el (org-feed-parse-atom-entry): * lisp/org/org-habit.el (org-habit-parse-todo): * lisp/org/org-mouse.el (org-mouse-popup-global-menu) (org-mouse-context-menu): * lisp/org/org-table.el (org-table-edit-formulas): * lisp/org/ox.el (org-export-async-start): * lisp/play/dunnet.el (dun-score, dun-help, dun-endgame-question) (dun-rooms, dun-endgame-questions): * lisp/progmodes/ada-mode.el (ada-goto-matching-start): * lisp/progmodes/ada-xref.el (ada-find-executable): * lisp/progmodes/antlr-mode.el (antlr-options-alists): * lisp/progmodes/flymake.el (flymake-parse-err-lines) (flymake-start-syntax-check-process): * lisp/progmodes/python.el (python-define-auxiliary-skeleton): * lisp/progmodes/sql.el (sql-comint): * lisp/progmodes/verilog-mode.el (verilog-load-file-at-point): * lisp/server.el (server-get-auth-key): * lisp/subr.el (version-to-list): * lisp/textmodes/reftex-ref.el (reftex-label): * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): * lisp/vc/ediff-diff.el (ediff-same-contents): * lisp/vc/vc-cvs.el (vc-cvs-mode-line-string): * test/automated/tramp-tests.el (tramp-test33-asynchronous-requests): Use directed rather than neutral quotes in diagnostics. Treat ' like ’ even when not matching ` This is simpler and easier to explain, and should encourage better typography. Do this in Electric Quote mode and when translating quotes in docstrings. Inspired by a suggestion by Dmitry Gutov in: https://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00806.html * doc/emacs/text.texi (Quotation Marks): * doc/lispref/help.texi (Keys in Documentation): * etc/NEWS: Document this. * lisp/electric.el (electric-quote-post-self-insert-function): * src/doc.c (Fsubstitute_command_keys): Always treat ' like ’ even when not matched by an open quote. 2015-08-25 Glenn Morris * doc/emacs/cal-xtra.texi (Holiday Customizing): Fix typo in example. * lisp/calendar/holidays.el (calendar-holidays): Fix doc typo. 2015-08-24 YAMAMOTO Mitsuharu * src/macfont.m (macfont_create_family_with_symbol): Accept localized names. 2015-08-24 Paul Eggert Tramp diagnostics as per ‘text-quoting-style’ * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename) (tramp-adb-get-ls-command, tramp-adb-handle-make-directory) (tramp-adb-handle-delete-directory) (tramp-adb-handle-delete-file) (tramp-adb-handle-file-local-copy) (tramp-adb-handle-write-region, tramp-adb-handle-copy-file) (tramp-adb-send-command-and-check, tramp-adb-wait-for-output) (tramp-adb-maybe-open-connection): * lisp/net/tramp-cache.el: * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory) (tramp-compat-octal-to-decimal) (tramp-compat-coding-system-change-eol-conversion): * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler) (tramp-gvfs-do-copy-or-rename-file) (tramp-gvfs-handle-delete-directory) (tramp-gvfs-handle-delete-file) (tramp-gvfs-handle-expand-file-name) (tramp-gvfs-handle-file-local-copy) (tramp-gvfs-handle-file-notify-add-watch) (tramp-gvfs-handle-make-directory) (tramp-gvfs-handle-write-region, tramp-gvfs-url-file-name): * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel) (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection): * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename) (tramp-sh-handle-set-visited-file-modtime) (tramp-sh-handle-set-file-modes) (tramp-sh-handle-file-name-all-completions) (tramp-sh-handle-add-name-to-file, tramp-do-copy-or-rename-file) (tramp-do-copy-or-rename-file-directly) (tramp-do-copy-or-rename-file-out-of-band) (tramp-sh-handle-make-directory) (tramp-sh-handle-delete-directory, tramp-sh-handle-delete-file) (tramp-sh-handle-insert-directory, tramp-process-sentinel) (tramp-sh-handle-start-file-process) (tramp-sh-handle-file-local-copy) (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered) (tramp-sh-handle-file-notify-add-watch, tramp-maybe-send-script) (tramp-find-file-exists-command, tramp-open-shell) (tramp-find-shell) (tramp-open-connection-setup-interactive-shell) (tramp-find-inline-encoding, tramp-find-inline-compress) (tramp-compute-multi-hops, tramp-maybe-open-connection) (tramp-wait-for-output, tramp-send-command-and-check) (tramp-send-command-and-read, tramp-get-remote-path) (tramp-get-ls-command, tramp-get-ls-command-with-dired) (tramp-get-ls-command-with-quoting-style) (tramp-get-test-command, tramp-get-remote-ln) (tramp-get-remote-perl, tramp-get-remote-stat) (tramp-get-remote-readlink, tramp-get-remote-trash) (tramp-get-remote-touch, tramp-get-remote-gvfs-monitor-dir) (tramp-get-remote-inotifywait, tramp-get-remote-id) (tramp-get-remote-python): * lisp/net/tramp-smb.el (tramp-smb-errors) (tramp-smb-handle-add-name-to-file, tramp-smb-handle-copy-file) (tramp-smb-handle-delete-directory) (tramp-smb-handle-delete-file) (tramp-smb-handle-file-local-copy) (tramp-smb-handle-make-directory) (tramp-smb-handle-make-directory-internal) (tramp-smb-handle-make-symbolic-link) (tramp-smb-handle-rename-file, tramp-smb-handle-set-file-acl) (tramp-smb-handle-set-file-modes) (tramp-smb-handle-write-region, tramp-smb-get-file-entries): * lisp/net/tramp.el (tramp-debug-message, tramp-error) (tramp-process-actions): Generate diagnostics according to ‘text-quoting-style’, by using curved quotes in format strings and ‘format-message’ when appropriate. * lisp/net/tramp-compat.el (format-message): Define a replacement, if it’s an older version of Emacs that doesn’t have it already. * etc/NEWS: Clarify text-quoting-style and electric-quote-mode. 2015-08-24 Xue Fuqiao Fix documentation for `save-excursion' * doc/lispref/positions.texi (Excursions): * doc/lispintro/emacs-lisp-intro.texi (save-excursion) (Template for save-excursion, Point and mark): `save-excursion' does not save&restore the mark any more. 2015-08-24 Michael Albinus * lisp/net/tramp-sh.el (tramp-stat-marker, tramp-stat-quoted-marker): New defconsts. (tramp-do-file-attributes-with-stat) (tramp-do-directory-files-and-attributes-with-stat): Use them. (tramp-convert-file-attributes): Remove double slashes in symlinks. * test/automated/tramp-tests.el (tramp-test18-file-attributes): Handle symlinks with "//" in the file name. Revert fbb5531fa11d13854b274d28ccd329c9b6652cfc for tramp.el. 2015-08-24 Nicolas Petton Fix cl-subseq and cl-concatenate * lisp/emacs-lisp/cl-extra.el (cl-subseq, cl-concatenate): Do not use seq functions. * lisp/emacs-lisp/seq.el (seq-concatenate): Call cl-concatenate in seq-concatenate. 2015-08-24 Pip Cet (tiny change) Fix full-screen code when there is no window manager (Bug#21317) * src/xterm.h (x_wm_supports): Declare external. * src/xterm.c (wm_suppports): Rename to `x_wm_supports', export. (do_ewmh_fullscreen, x_ewmh_activate_frame): Adjust for rename. (x_check_fullscreen): Call `x_wm_set_size_hint', restore `fullscreen' frame parameter. * src/gtkutil.c (x_wm_set_size_hint): Set size hints when running without a window manager. 2015-08-24 Glenn Morris * lisp/version.el (emacs-version): No longer include build host. * doc/lispref/intro.texi (Version Info): Update example. 2015-08-24 Paul Eggert * doc/lispref/elisp.texi: Fix typo in previous change. More-conservative ‘format’ quote restyling Instead of restyling curved quotes for every call to ‘format’, create a new function ‘format-message’ that does the restyling, and using the new function instead of ‘format’ only in contexts where this seems appropriate. Problem reported by Dmitry Gutov and Andreas Schwab in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00826.html http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00827.html * doc/lispref/commands.texi (Using Interactive): * doc/lispref/control.texi (Signaling Errors, Signaling Errors): * doc/lispref/display.texi (Displaying Messages, Progress): * doc/lispref/elisp.texi: * doc/lispref/help.texi (Keys in Documentation): * doc/lispref/minibuf.texi (Minibuffer Misc): * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document the changes. * lisp/abbrev.el (expand-region-abbrevs): * lisp/apropos.el (apropos-library): * lisp/calc/calc-ext.el (calc-record-message) (calc-user-function-list): * lisp/calc/calc-help.el (calc-describe-key, calc-full-help): * lisp/calc/calc-lang.el (math-read-big-balance): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--add-diary-entry): * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/semantic/complete.el (semantic-completion-message): * lisp/cedet/semantic/edit.el (semantic-parse-changes-failed): * lisp/cedet/semantic/wisent/comp.el (wisent-log): * lisp/cedet/srecode/insert.el (srecode-insert-show-error-report): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/dframe.el (dframe-message): * lisp/dired-aux.el (dired-query): * lisp/emacs-lisp/byte-opt.el (byte-compile-log-lap-1): * lisp/emacs-lisp/bytecomp.el (byte-compile-log) (byte-compile-log-file, byte-compile-warn, byte-compile-form): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv-analyze-form): * lisp/emacs-lisp/check-declare.el (check-declare-warn): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): * lisp/emacs-lisp/edebug.el (edebug-format): * lisp/emacs-lisp/eieio-core.el (eieio-oref): * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message) (eldoc-message): * lisp/emacs-lisp/elint.el (elint-file, elint-log): * lisp/emacs-lisp/find-func.el (find-function-library): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring): * lisp/emacs-lisp/package.el (package-compute-transaction) (package-install-button-action, package-delete-button-action) (package-menu--list-to-prompt): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/emacs-lisp/warnings.el (lwarn, warn): * lisp/emulation/viper-cmd.el: (viper-toggle-parse-sexp-ignore-comments) (viper-kill-buffer, viper-brac-function): * lisp/emulation/viper-macs.el (viper-record-kbd-macro): * lisp/facemenu.el (facemenu-add-new-face): * lisp/faces.el (face-documentation, read-face-name) (face-read-string, read-face-font, describe-face): * lisp/files.el (find-alternate-file, hack-local-variables) (hack-one-local-variable--obsolete, write-file) (basic-save-buffer, delete-directory): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--obsolete) (help-fns--interactive-only, describe-function-1) (describe-variable): * lisp/help.el (describe-mode): * lisp/info-xref.el (info-xref-output): * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, info-apropos): * lisp/international/kkc.el (kkc-error): * lisp/international/mule-cmds.el: (select-safe-coding-system-interactively) (select-safe-coding-system, describe-input-method): * lisp/international/mule-conf.el (code-offset): * lisp/international/mule-diag.el (describe-character-set) (list-input-methods-1): * lisp/international/quail.el (quail-error): * lisp/minibuffer.el (minibuffer-message): * lisp/mpc.el (mpc--debug): * lisp/msb.el (msb--choose-menu): * lisp/net/ange-ftp.el (ange-ftp-message): * lisp/net/gnutls.el (gnutls-message-maybe): * lisp/net/newst-backend.el (newsticker--sentinel-work): * lisp/net/newst-treeview.el (newsticker--treeview-load): * lisp/net/nsm.el (nsm-query-user): * lisp/net/rlogin.el (rlogin): * lisp/net/soap-client.el (soap-warning): * lisp/net/tramp.el (tramp-debug-message): * lisp/nxml/nxml-outln.el (nxml-report-outline-error): * lisp/nxml/nxml-parse.el (nxml-parse-error): * lisp/nxml/rng-cmpct.el (rng-c-error): * lisp/nxml/rng-match.el (rng-compile-error): * lisp/nxml/rng-uri.el (rng-uri-error): * lisp/obsolete/iswitchb.el (iswitchb-possible-new-buffer): * lisp/org/org-ctags.el: (org-ctags-ask-rebuild-tags-file-then-find-tag): * lisp/proced.el (proced-log): * lisp/progmodes/ebnf2ps.el (ebnf-log): * lisp/progmodes/flymake.el (flymake-log): * lisp/progmodes/vhdl-mode.el (vhdl-warning-when-idle): * lisp/replace.el (occur-1): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, define-alternatives): * lisp/startup.el (command-line): * lisp/subr.el (error, user-error, add-to-list): * lisp/tutorial.el (tutorial--describe-nonstandard-key) (tutorial--find-changed-keys): * src/callint.c (Fcall_interactively): * src/editfns.c (Fmessage, Fmessage_box): Restyle the quotes of format strings intended for use as a diagnostic, when restyling seems appropriate. * lisp/subr.el (format-message): New function. * src/doc.c (Finternal__text_restyle): New function. (syms_of_doc): Define it. 2015-08-23 Paul Eggert * etc/NEWS: The new ‘q’ flag is not an incompatible change. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix python-shell-buffer-substring on indented code (Bug#21086) * lisp/progmodes/python.el (python-shell-buffer-substring): Respect current line indentation when calculating string. * test/automated/python-tests.el (python-shell-buffer-substring-10) (python-shell-buffer-substring-11) (python-shell-buffer-substring-12): New tests. 2015-08-23 Paul Eggert Fix minor glitches from ‘format’ reversion * doc/lispref/strings.texi (Formatting Strings): After reversion, ‘text-quoting-style’ is documented in ‘Keys in Documentation’, not below. * src/syntax.c (Finternal_describe_syntax_value): Prefer AUTO_STRING to build_string where either will do, as AUTO_STRING is a bit faster. 2015-08-23 Fabián Ezequiel Gallina python.el: Defer shell setup code until first interactive prompt * lisp/progmodes/python.el (python-shell-comint-watch-for-first-prompt-output-filter): New function. (inferior-python-mode): Use it. (python-shell-first-prompt-hook): New hook. (python-shell-send-setup-code) (python-shell-completion-native-turn-on-maybe-with-msg): Attach to this hook instead of inferior-python-hook. 2015-08-23 Nicolas Petton Remove the calls to `seq-into` from `seq-concatenate` Since most new types of seq would have to be defined as sequences (cons cells or CL structs, mostly), there is no need to convert the seqs to sequences (which can be a fairly expensive operation). * lisp/emacs-lisp/seq.el (seq-concatenate): Do not ensure that seqs are sequences. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix completion for pdb interactions * lisp/progmodes/python.el (python-shell-completion-setup-code): Simplify. Toggle print_mode for native wrapped completer. (python-shell-completion-native-setup): Ensure process buffer. Add print_mode attribute to completer wrapper to toggle returning or printing candidates. (python-shell-completion-native-get-completions): Cleanup. (python-shell-completion-get-completions): Cleanup. (python-shell-completion-at-point): Perform prompt checks. Force fallback completion in pdb interactions. 2015-08-23 Nicolas Petton Make seq.el more extensible by using cl-defmethod * lisp/emacs-lisp/seq.el: Define seq.el functions using cl-defmethod to make it easier to extend seq.el with new "seq types". * test/automated/seq-tests.el (test-setf-seq-elt): New test. * lisp/emacs-lisp/cl-extra.el (cl-subseq): Move back the definition of subseq in cl-extra.el, and use it in seq.el. 2015-08-23 Fabián Ezequiel Gallina python.el: Fix prompt detection with user overridden interpreter * lisp/progmodes/python.el (python-shell-prompt-detect): Honor buffer local python-shell-interpreter and python-shell-interpreter-interactive-arg. 2015-08-23 Eli Zaretskii Support exec-directory with non-ASCII characters on Windows * src/w32proc.c (sys_spawnve): Make sure exec-directory is encoded in the system's ANSI codepage, when it is used for invoking cmdproxy. 2015-08-23 Andreas Schwab Revert "Extend ‘format’ to translate curved quotes" This reverts commit 244c801689d2f7a80480d83cd7d092d4762ebe08. Revert "Prefer ‘format’ to ‘substitute-command-keys’" This reverts commit 6af5aad26411ffe21c3fe4bc5438347110910111. 2015-08-23 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Switching Buffers): Clarify "invisible window". 2015-08-23 Xue Fuqiao * doc/emacs/modes.texi (Choosing Modes): Minor doc fix for magic-fallback-mode-alist. 2015-08-22 Fabián Ezequiel Gallina python.el: fallback completion, ffap and eldoc setup enhancements Setup codes are now sent continuously so that the current frame is always taken into account. This allows working within debuggers and always keeping a fresh version of setup codes that will return proper results. * lisp/progmodes/python.el (python-shell-setup-codes): Cleanup. (python-shell-send-setup-code): Send code only when python-shell-setup-codes is non-nil. (python-shell-completion-string-code): Cleanup trailing newline. (python-shell-completion-get-completions): Always use python-shell-completion-setup-code. (python-ffap-setup-code): Work with any object, not only modules. (python-ffap-string-code): Cleanup trailing newline. (python-ffap-module-path): Always use python-ffap-setup-code. (python-eldoc-string-code): Cleanup trailing newline. (python-eldoc--get-doc-at-point): Always use python-eldoc-setup-code. Return non-nil only if docstring is found. python.el: Increase native completion robustness * lisp/progmodes/python.el (python-shell-completion-native-setup): Make completer print real candidates and just return dummy ones to avoid input modification. (python-shell-completion-native-get-completions): Set comint-redirect-insert-matching-regexp to non-nil and make comint-redirect-finished-regexp match the last dummy candidate. Use python-shell-accept-process-output to wait for the full list of candidates. 2015-08-22 Eli Zaretskii Fix invocation of programs via cmdproxy.exe * src/w32proc.c (sys_spawnve): Use exec-directory, not invocation-directory, for finding cmdproxy.exe. When Emacs is run from the source tree, look for cmdproxy.exe in the same source tree. (Bug#21323) 2015-08-22 Simen Heggestøyl Handle comments inside unquoted URIs in css-mode * lisp/textmodes/css-mode.el (css--uri-re): New defconst. (css-syntax-propertize-function): New defconst. (css--font-lock-keywords): Handle parens around unquoted URIs. (css-mode): Set `syntax-propertize-function'. 2015-08-22 Eli Zaretskii Support invocation of Hunspell with multiple dictionaries * lisp/textmodes/ispell.el (ispell-parse-hunspell-affix-file): Support lists of dictionaries of the form "DICT1,DICT2,...". (ispell-hunspell-add-multi-dic): New command. (Bug#20495) Minor formatting changes in ispell.el * lisp/textmodes/ispell.el (ispell-create-debug-buffer) (ispell-print-if-debug, ispell-aspell-find-dictionary) (ispell-aspell-add-aliases, ispell-hunspell-dict-paths-alist) (ispell-hunspell-dictionary-alist) (ispell-hunspell-fill-dictionary-entry) (ispell-find-hunspell-dictionaries, ispell-send-replacement) (ispell-buffer-with-debug, ispell-complete-word) (ispell-current-dictionary, ispell-current-personal-dictionary) (ispell-accept-output, ispell-minor-mode) (ispell-personal-dictionary, ispell-dictionary-alist) (ispell-really-aspell, ispell-really-hunspell) (ispell-encoding8-command, ispell-aspell-supports-utf8) (ispell-aspell-dictionary-alist, ispell-set-spellchecker-params): Fix whitespace, inconsistent capitalization, and arguments in doc strings. 2015-08-22 Martin Rudalics * lisp/window.el (adjust-window-trailing-edge): Fix bug where this function refused to resize a size-preserved window. 2015-08-22 Eli Zaretskii * doc/lispref/windows.texi (Selecting Windows): Improve documentation and indexing of 'window-use-time'. 2015-08-21 Stefan Monnier * lisp/progmodes/cc-vars.el, lisp/progmodes/cc-styles.el: * lisp/progmodes/cc-mode.el, lisp/progmodes/cc-menus.el: * lisp/progmodes/cc-langs.el, lisp/progmodes/cc-guess.el: * lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-engine.el: * lisp/progmodes/cc-defs.el, lisp/progmodes/cc-cmds.el: * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-awk.el: * lisp/progmodes/cc-align.el, lisp/net/soap-client.el: Fix up commenting style. 2015-08-21 Paul Eggert text-quoting-style in emacs-lisp diagnostics * lisp/emacs-lisp/advice.el (ad-read-advised-function) (ad-read-advice-class, ad-read-advice-name, ad-enable-advice) (ad-disable-advice, ad-remove-advice, ad-set-argument) (ad-set-arguments): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand) (byte-compile-unfold-lambda, byte-optimize-form-code-walker) (byte-optimize-while, byte-optimize-apply): * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode) (byte-compile-log-file, byte-compile-format-warn) (byte-compile-nogroup-warn, byte-compile-arglist-warn) (byte-compile-cl-warn) (byte-compile-warn-about-unresolved-functions) (byte-compile-file, byte-compile-fix-header) (byte-compile--declare-var, byte-compile-file-form-defmumble) (byte-compile-form, byte-compile-normal-call) (byte-compile-variable-ref, byte-compile-variable-set) (byte-compile-subr-wrong-args, byte-compile-setq-default) (byte-compile-negation-optimizer) (byte-compile-condition-case--old) (byte-compile-condition-case--new, byte-compile-save-excursion) (byte-compile-defvar, byte-compile-autoload) (byte-compile-lambda-form) (byte-compile-make-variable-buffer-local, display-call-tree) (batch-byte-compile): * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use) (cconv-analyze-form): * lisp/emacs-lisp/chart.el (chart-space-usage): * lisp/emacs-lisp/check-declare.el (check-declare-scan) (check-declare-warn, check-declare-file) (check-declare-directory): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-message-text-engine): * lisp/emacs-lisp/cl-extra.el (cl-parse-integer): * lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause, cl-tagbody) (cl-symbol-macrolet): * lisp/emacs-lisp/cl.el (cl-unload-function, flet): * lisp/emacs-lisp/copyright.el (copyright) (copyright-update-directory): * lisp/emacs-lisp/edebug.el (edebug-read-list): * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read): * lisp/emacs-lisp/eieio-core.el (eieio--slot-override) (eieio-oref, eieio-oset-default): * lisp/emacs-lisp/eieio-speedbar.el: (eieio-speedbar-child-make-tag-lines) (eieio-speedbar-child-description): * lisp/emacs-lisp/eieio.el (defclass, change-class): * lisp/emacs-lisp/elint.el (elint-file, elint-get-top-forms) (elint-init-form, elint-check-defalias-form) (elint-check-let-form): * lisp/emacs-lisp/ert.el (ert-get-test): * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol) (find-function-library): * lisp/emacs-lisp/generator.el (iter-yield): * lisp/emacs-lisp/gv.el (gv-define-simple-setter): * lisp/emacs-lisp/lisp-mnt.el (lm-verify): * lisp/emacs-lisp/package-x.el (package-upload-file): * lisp/emacs-lisp/package.el (package-version-join) (package-disabled-p, package-activate-1, package-activate) (package--download-one-archive) (package--download-and-read-archives) (package-compute-transaction, package-install-from-archive) (package-install, package-install-selected-packages) (package-delete, package-autoremove) (package-install-button-action, package-delete-button-action) (package-menu-hide-package, package-menu--list-to-prompt) (package-menu--perform-transaction) (package-menu--find-and-notify-upgrades): * lisp/emacs-lisp/pcase.el (pcase-exhaustive, pcase--u1): * lisp/emacs-lisp/re-builder.el (reb-enter-subexp-mode): * lisp/emacs-lisp/ring.el (ring-next, ring-previous): * lisp/emacs-lisp/rx.el (rx-check, rx-anything): * lisp/emacs-lisp/smie.el (smie-config-save): * lisp/emacs-lisp/subr-x.el (internal--check-binding): * lisp/emacs-lisp/testcover.el (testcover-1value): Use curved quotes in diagnostic format strings. 2015-08-21 Fabián Ezequiel Gallina python.el: Ensure remote process-environment on non-interactive processes * lisp/progmodes/python.el (python-shell-tramp-refresh-process-environment): New function. (python-shell-with-environment): Use it. * test/automated/python-tests.el (python-shell-with-environment-2): Update. python.el: Enhancements to process environment setup. * lisp/progmodes/python.el (python-shell-process-environment) (python-shell-extra-pythonpaths, python-shell-exec-path) (python-shell-virtualenv-root): Update docstring. Remove :safe. (python-shell-setup-codes): Remove :safe. (python-shell-remote-exec-path): New defcustom. (python-shell--add-to-path-with-priority): New macro. (python-shell-calculate-pythonpath): Give priority to python-shell-extra-pythonpaths. Update docstring. (python-shell-calculate-process-environment): Give priority to python-shell-process-environment. Update docstring. (python-shell-calculate-exec-path): Give priority to python-shell-exec-path and calculated virtualenv bin directory. Update docstring. (python-shell-tramp-refresh-remote-path): New function. (python-shell-with-environment): Use it when working remotely and do not modify tramp-remote-path. Allow nesting. (python-shell-calculate-command): Remove useless python-shell-with-environment call. * test/automated/python-tests.el (python-shell-calculate-pythonpath-1) (python-shell-calculate-pythonpath-2) (python-shell-calculate-process-environment-6) (python-shell-calculate-process-environment-7) (python-shell-calculate-process-environment-8) (python-shell-calculate-exec-path-3) (python-shell-calculate-exec-path-4) (python-shell-calculate-exec-path-5) (python-shell-calculate-exec-path-6) (python-shell-with-environment-3): New tests. (python-shell-calculate-process-environment-2) (python-shell-calculate-process-environment-3) (python-shell-calculate-process-environment-4) (python-shell-calculate-process-environment-5) (python-shell-calculate-exec-path-1) (python-shell-calculate-exec-path-2) (python-shell-with-environment-1) (python-shell-with-environment-2): Update and simplify. 2015-08-21 Paul Eggert Avoid hard-coding "M-x command" in docstrings * lisp/calendar/todo-mode.el (todo-mode): * lisp/desktop.el (desktop-save-mode): * lisp/edmacro.el (edit-kbd-macro): * lisp/emacs-lisp/package.el (package-menu-execute): * lisp/emulation/viper-cmd.el (viper-ask-level): * lisp/emulation/viper-init.el (viper-expert-level): * lisp/filesets.el (filesets-add-buffer): * lisp/follow.el (follow-mode): * lisp/gnus/auth-source.el (auth-sources): * lisp/international/ogonek.el (ogonek-informacja) (ogonek-information): * lisp/net/tramp.el (tramp-process-actions): * lisp/org/org-gnus.el (org-gnus-no-new-news): * lisp/org/org.el (org-ellipsis): * lisp/progmodes/python.el (python-shell-get-process-or-error): * lisp/progmodes/vhdl-mode.el (vhdl-mode): * lisp/server.el (server-start): * lisp/type-break.el (type-break-noninteractive-query): * lisp/userlock.el (ask-user-about-supersession-help): * lisp/whitespace.el (whitespace-report-region): Prefer (substitute-command-keys "`\\[foo-command]'") to "`M-x foo-command'" in docstrings and the like. 2015-08-21 Tassilo Horn Use add-function for prettify-symbols-compose-predicate * lisp/textmodes/tex-mode.el (tex-common-initialization): Set prettify-symbols-compose-predicate in terms of add-function. * etc/NEWS: Mention prettify-symbols-compose-predicate and prettify-symbols-mode support in tex-mode. 2015-08-21 Stefan Monnier * lisp/emacs-lisp/smie.el (smie-indent-current-column): New fun. (smie-indent-exps, smie-indent-keyword): Use it. * test/indent/css-mode.css: Test alignment with leading comment. 2015-08-21 Paul Eggert Respect text-quoting-style in (*Finder*) menus * lisp/info.el (info--prettify-description): Treat description as a docstring, so that it's requoted as per text-quoting-style. 2015-08-21 Martin Rudalics Document `window-use-time' in Elisp manual * doc/lispref/windows.texi (Selecting Windows): Document `window-use-time'. 2015-08-21 Eli Zaretskii * src/w32uniscribe.c (_WIN32_WINNT): Define to 0x0600. This is a cleaner fix for Bug#21260 than the previous change. 2015-08-21 Paul Eggert Respect text-quoting-style in calc In calc, tespect text-quoting-style preference in diagnostic formats and fix a few similar problems in docstrings. * lisp/calc/calc-aent.el (math-read-factor): * lisp/calc/calc-embed.el (calc-do-embedded): * lisp/calc/calc-ext.el (calc-user-function-list) * lisp/calc/calc-graph.el (calc-graph-show-dumb): * lisp/calc/calc-help.el (calc-describe-key) (calc-describe-thing): * lisp/calc/calc-lang.el (calc-c-language) (math-parse-fortran-vector-end, math-parse-tex-sum) (math-parse-eqn-matrix, math-parse-eqn-prime) (calc-yacas-language, calc-maxima-language, calc-giac-language) (math-read-big-rec, math-read-big-balance): * lisp/calc/calc-mode.el (calc-auto-why, calc-save-modes) (calc-auto-recompute): * lisp/calc/calc-prog.el (calc-user-define-invocation) (math-do-arg-check): * lisp/calc/calc-store.el (calc-edit-variable): * lisp/calc/calc-units.el (math-build-units-table-buffer): * lisp/calc/calc-vec.el (math-read-brackets): * lisp/calc/calc-yank.el (calc-edit-mode): * lisp/calc/calc.el (calc, calc-do, calc-user-invocation): Use curved quotes in diagnostic format strings. * lisp/calc/calc-help.el (calc-describe-thing): Format docstrings with substitute-command-keys. * lisp/calc/calc-help.el (calc-j-prefix-help): * lisp/calc/calc-misc.el (calc-help): * lisp/calc/calc-ext.el (calc-shift-Z-prefix-help): Escape a docstring "`". 2015-08-21 Eli Zaretskii Fix documentation of 'menu-set-font' and 'set-frame-font' * lisp/menu-bar.el (menu-set-font): Doc fix. (Bug#21303) * doc/lispref/frames.texi (Frame Font): Document that set-frame-font with the last argument 't' will also make the font the default for the future GUI frames. Document '--create-frame' option to emacsclient * doc/emacs/misc.texi (emacsclient Options): Document the '--create-frame' option. (Bug#21308) 2015-08-21 Stefan Monnier * lisp/progmodes/js.el (js-mode): Don't eagerly syntax propertize. 2015-08-21 Eli Zaretskii Document 'get-mru-window' in the ELisp manual * doc/lispref/windows.texi (Cyclic Window Ordering): Document 'get-mru-window'. (Bug#21306) Clarify documentation of 'get-buffer-window-list' * doc/lispref/windows.texi (Buffers and Windows): Mention that the current window, if relevant, will be the first in the list returned by 'get-buffer-window-list'. * lisp/window.el (get-buffer-window-list): Doc fix. (Bug#21305) 2015-08-21 Vasilij Schneidermann In `ielm' use `pop-to-buffer-same-window' (Bug#20848) * lisp/ielm.el (ielm): Use `pop-to-buffer-same-window' instead of `switch-to-buffer'. 2015-08-21 Kaushal Modi (tiny change) In woman.el use `display-buffer' instead of `switch-to-buffer' (Bug#21047) * lisp/woman.el (woman-really-find-file, WoMan-find-buffer): Use `display-buffer' instead of `switch-to-buffer'. 2015-08-21 Paul Eggert Follow user preference in calendar diagnostics Respect text-quoting-style preference in diagnostic formats by using curved quotes (which are translated as per text-quoting-style) instead of grave accent and apostrophe (which are not). * lisp/calendar/appt.el (appt-display-message): * lisp/calendar/diary-lib.el (diary-check-diary-file) (diary-mail-entries, diary-from-outlook): * lisp/calendar/icalendar.el (icalendar-export-region) (icalendar--convert-float-to-ical) (icalendar--convert-date-to-ical) (icalendar--convert-ical-to-diary) (icalendar--convert-recurring-to-diary) (icalendar--add-diary-entry): * lisp/calendar/time-date.el (format-seconds): * lisp/calendar/timeclock.el (timeclock-mode-line-display) (timeclock-make-hours-explicit): * lisp/calendar/todo-mode.el (todo-prefix, todo-delete-category) (todo-item-mark, todo-check-format) (todo-insert-item--next-param, todo-edit-item--next-key) (todo-mode): Use curved quotes in diagnostic format strings. * lisp/calendar/icalendar.el (icalendar-import-format-sample): * test/automated/icalendar-tests.el (icalendar--import-format-sample): Just use straight quoting for simple test case. 2015-08-21 Michael Albinus * src/gfilenotify.c (Fgfile_add_watch): Handle errors from g_file_monitor. 2015-08-21 Martin Rudalics In frames.texi use "minibuffer-less frame" instead of "non-minibuffer frame" * doc/lispref/frames.texi (Frame Layout): Use "minibuffer-less frame" instead of "non-minibuffer frame". Fix frame geometry related text * doc/lispref/frames.texi (Frame Layout): Rename `x-frame-geometry' to `frame-geometry'. * doc/lispref/frames.texi (Mouse Position): * doc/lispref/windows.texi (Coordinates and Windows): Use `set-mouse-absolute-pixel-position' instead of `x-set-mouse-absolute-pixel-position'. Sanitize frame geometry related functions * src/nsfns.m (Fx_frame_geometry): Rename to Fns_frame_geometry. (Fx_frame_edges): Rename to Fns_frame_edges. * src/w32fns.c (Fx_frame_geometry): Rename to Fw32_frame_geometry. (Fx_frame_edges): Rename to Fw32_frame_edges. (Fx_mouse_absolute_pixel_position): Rename to Fw32_mouse_absolute_pixel_position. (Fx_set_mouse_absolute_pixel_position): Rename to Fw32_set_mouse_absolute_pixel_position. * lisp/frame.el (x-frame-geometry, w32-frame-geometry) (ns-frame-geometry, x-frame-edges, w32-frame-edges) (ns-frame-edges, w32-mouse-absolute-pixel-position) (x-mouse-absolute-pixel-position) (w32-set-mouse-absolute-pixel-position) (x-set-mouse-absolute-pixel-position): Declare. (frame-geometry, mouse-absolute-pixel-position) (set-mouse-absolute-pixel-position): New functions. (frame-edges): Rewrite in terms of x-/w32-/ns-frame-edges. 2015-08-21 Eli Zaretskii Fix MinGW64 build broken by latest w32uniscribe.c changes * src/w32uniscribe.c (UNISCRIBE_OPENTYPE): Define to 0x0100, for MinGW64. Reported by Andy Moreton . (Bug#21260) 2015-08-21 Tassilo Horn Add TeX defaults for prettify-symbol-mode * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Rename from tex-prettify-symbols-alist. (tex--prettify-symbols-compose-p): New function. (tex-common-initialization): Use them as prettify-symbols-alist and prettify-symbols-compose-predicate. Generalize prettify-symbols to arbitrary modes * lisp/progmodes/prog-mode.el (prettify-symbols-default-compose-p): New function. (prettify-symbols-compose-predicate): New variable. (prettify-symbols--compose-symbol): Use it. 2015-08-20 Paul Eggert Don't quote symbols 'like-this' in docstrings etc. * admin/unidata/uvs.el (uvs-insert-fields-as-bytes): * lisp/allout-widgets.el (allout-widgets-count-buttons-in-region): * lisp/allout.el (allout-add-resumptions, allout-mode): * lisp/calculator.el (calculator-operators): * lisp/cedet/data-debug.el (dd-propertize): * lisp/cedet/ede/proj-prog.el (ede-proj-target-makefile-program): * lisp/cedet/semantic/analyze/debug.el: (semantic-analyzer-debug-global-miss-text): * lisp/cedet/semantic/lex-spp.el: (semantic-lex-spp-replace-or-symbol-or-keyword): * lisp/cedet/semantic/symref.el: (semantic-symref-cleanup-recent-buffers-fcn): * lisp/cedet/semantic/tag.el (semantic-tag-class): * lisp/cedet/srecode/el.el (srecode-semantic-handle-:el-custom): * lisp/gnus/nnmairix.el (nnmairix-propagate-marks-upon-close): * lisp/gnus/pop3.el (pop3-authentication-scheme): * lisp/help-fns.el (describe-function-orig-buffer): * lisp/imenu.el (imenu--history-list): * lisp/mail/feedmail.el (feedmail-confirm-outgoing) (feedmail-display-full-frame, feedmail-deduce-bcc-where) (feedmail-queue-default-file-slug) (feedmail-queue-buffer-file-name): * lisp/net/mairix.el (mairix-searches-mode-map): * lisp/net/newst-backend.el (newsticker-retrieval-method) (newsticker-auto-mark-filter-list): * lisp/obsolete/vi.el (vi-mode): * lisp/progmodes/cc-engine.el (c-literal-type): * lisp/progmodes/cpp.el (cpp-face): * lisp/progmodes/ebrowse.el (ebrowse-electric-list-looper): * lisp/progmodes/elisp-mode.el (elisp--xref-make-xref): * lisp/progmodes/pascal.el (pascal-auto-lineup): * lisp/progmodes/prog-mode.el (prog-widen): * lisp/progmodes/verilog-mode.el (verilog-regexp-words) (verilog-auto-lineup, verilog-auto-reset-widths) (verilog-auto-arg-format, verilog-auto-inst-template-numbers): * lisp/textmodes/flyspell.el (flyspell-maybe-correct-transposition) (flyspell-maybe-correct-doubling): * lisp/textmodes/table.el (table-justify, table-justify-cell) (table-justify-row, table-justify-column, table-insert-sequence) (table--justify-cell-contents): * lisp/url/url-auth.el (url-get-authentication): * lisp/window.el (display-buffer-record-window): * lisp/xml.el (xml-parse-file, xml-parse-region): * src/gfilenotify.c (Fgfile_add_watch): Don't quote symbols with apostrophes in doc strings. Use asymmetric quotes instead. * lisp/cedet/semantic/complete.el (semantic-displayor-show-request): Likewise for symbol in diagnostic. * lisp/image.el (image-extension-data): * lisp/register.el (frame-configuration-to-register): * src/buffer.c (syms_of_buffer): Remove bogus apostrophes after symbols. * lisp/thumbs.el (thumbs-conversion-program): Quote Lisp string values using double-quotes, not apostrophes. 2015-08-20 Martin Rudalics Describe frame geometry and related functions in Elisp manual * doc/lispref/display.texi (Size of Displayed Text, Line Height) (Showing Images): Update references. * doc/lispref/elisp.texi (Top): Update node listing. * doc/lispref/frames.texi (Frame Geometry): New node. Move `Size and Position' section here. (Size Parameters): Update references. (Mouse Position): Update references and nomenclature. Describe new functions `x-mouse-absolute-pixel-position' and `x-set-mouse-absolute-pixel-position'. * doc/lispref/windows.texi (Window Sizes): Update references. (Resizing Windows): Update references. Move description of `fit-frame-to-buffer' here. (Coordinates and Windows): Update nomenclature and references. Describe new arguments of `window-edges'. Comment out descriptions of `window-left-column', `window-top-line', `window-pixel-left' and `window-pixel-top'. Describe `window-absolute-pixel-position'. 2015-08-20 Alan Mackenzie Handling of `c-parse-state'. Fix low level bug. * lisp/progmodes/cc-engine.el (c-remove-stale-state-cache-backwards): Add "CASE 3.5" to handle `cache-pos' being only slightly before `here'. 2015-08-20 Andreas Politz * lisp/wid-edit.el (widget-color--choose-action): Quit *Color* window instead of deleting it. 2015-08-20 Martin Rudalics In w32fns.c's Fx_frame_geometry rewrite check whether frame has a titlebar * src/w32fns.c (Fx_frame_geometry): Use title_bar.rgstate[0] to determine whether frame has a titlebar. Suggested by Eli Zaretskii 2015-08-20 Tassilo Horn Add a prettify-symbols-alist for (La)TeX * lisp/textmodes/tex-mode.el (tex-prettify-symbols-alist): New variable holding an alist suitable as prettify-symbols-alist in (La)TeX modes. 2015-08-19 Alan Mackenzie Make electric-pair-mode, delete-selection-mode and CC Mode cooperate. Fixes debbugs#21275. In Emacs >= 25, let electric-pair-mode take precedence over delete-selection-mode. * lisp/delsel.el (delete-selection-uses-region-p): New function, previously a lambda expression in a property value for `self-insert-command'. (top-level): Set the `delete-selection' property of `self-insert-command' to `delete-selection-uses-region-p'. * lisp/progmodes/cc-cmds.el (top-level): Give the `delete-selection' property for c-electric-\(brace\|paren\) the value `delete-selection-uses-region-p' when the latter function exists. 2015-08-19 Paul Eggert Fix key binding quoting in tutorial *Help* * lisp/tutorial.el (tutorial--describe-nonstandard-key): When generating help for custom key bindings, use the user-preferred quoting style rather than hardcoding the grave style. 2015-08-19 Eli Zaretskii Improve and future-proof OTF fonts support in w32uniscribe.c * src/w32uniscribe.c (uniscribe_otf_capability): Add commentary about the expected results and why the new Uniscribe APIs are not used in this function. (ScriptGetFontScriptTags_Proc, ScriptGetFontLanguageTags_Proc) (ScriptGetFontFeatureTags_Proc): New function typedefs. (uniscribe_new_apis): New static variable. (uniscribe_check_features): New function, implements OTF features verification while correctly accounting for features in the list after the nil member, if any. (uniscribe_check_otf_1): New function, retrieves the features supported by the font for the requested script and language using the Uniscribe APIs available from Windows Vista onwards. (uniscribe_check_otf): If the new Uniscribe APIs are available, use them in preference to reading the font data directly. Call uniscribe_check_features to verify that the requested features are supported, replacing the original incomplete code. (syms_of_w32uniscribe): Initialize function pointers for the new Uniscribe APIs. (Bug#21260) (otf_features): Scan the script, langsys, and feature arrays back to front, so that the result we return has them in alphabetical order, like ftfont.c does. * src/w32fns.c (syms_of_w32fns) : New variable for debugging w32uniscribe.c code. 2015-08-19 Artur Malabarba * lisp/isearch.el (isearch-search-fun-default): Revert a5bdb87 Remove usage of `isearch-lax-whitespace' inside the `iearch-word' clause of `isearch-search-fun-default'. That lax variable does not refer to lax-whitespacing. Related to (bug#21777). This reverts commit a5bdb872edb9f031fe041faf9a8c0be432e5f64c. * lisp/character-fold.el (character-fold-search): Set to nil. Default to nil for now, until someone implements proper lax-whitespacing with char-fold searching. 2015-08-19 Martin Rudalics Fix doc-string of `help-mode-finish'. * lisp/help-mode.el (help-mode-finish): Fix doc-string. In nsimage.m include coding.h (Bug#21292) * src/nsimage.m (top-level): Include coding.h (Bug#21292). Move window edge functions to Elisp. * src/window.c (Fwindow_edges, Fwindow_pixel_edges) (Fwindow_absolute_pixel_edges, Fwindow_inside_edges) (Fwindow_inside_pixel_edges, Fwindow_inside_absolute_pixel_edges): Move to window.el. (calc_absolute_offset): Remove. * lisp/frame.el (frame-edges): New function. * lisp/window.el (window-edges, window-pixel-edges) (window-absolute-pixel-edges): Move here from window.c. (window-body-edges, window-body-pixel-edges) (window-absolute-body-pixel-edges): Move here from window.c and rename "inside" to "body". Keep old names as aliases. (window-absolute-pixel-position): New function. 2015-08-19 Katsumi Yamaoka [Gnus]: Use overlay functions directly * lisp/gnus/gnus-art.el (gnus-mime-inline-part, gnus-mm-display-part) (gnus-insert-mime-button, gnus-mime-buttonize-attachments-in-header) (gnus-article-highlight-signature, gnus-article-extend-url-button) (gnus-article-add-button, gnus-insert-prev-page-button) (gnus-insert-next-page-button, gnus-insert-mime-security-button): * lisp/gnus/gnus-cite.el (gnus-cite-delete-overlays) (gnus-cite-add-face): * lisp/gnus/gnus-html.el (gnus-html-wash-tags): * lisp/gnus/gnus-salt.el (gnus-tree-read-summary-keys) (gnus-tree-recenter, gnus-highlight-selected-tree): * lisp/gnus/gnus-sum.el (gnus-summary-show-all-threads) (gnus-summary-show-thread, gnus-summary-hide-thread) (gnus-highlight-selected-summary): * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines): * lisp/gnus/message.el (message-fix-before-sending) (message-toggle-image-thumbnails): * lisp/gnus/mm-decode.el (mm-convert-shr-links): * lisp/gnus/sieve.el (sieve-highlight, sieve-insert-scripts): Use overlay functions directly instead of using gnus-overlay-*, message-overlay-*, and sieve-overlay-*. * lisp/gnus/gnus-sum.el (gnus-remove-overlays): * lisp/gnus/gnus.el (gnus-make-overlay, gnus-copy-overlay) (gnus-delete-overlay, gnus-overlay-get, gnus-overlay-put) (gnus-move-overlay, gnus-overlay-buffer, gnus-overlay-start) (gnus-overlay-end, gnus-overlays-at, gnus-overlays-in): * lisp/gnus/message.el (message-delete-overlay, message-make-overlay) (message-overlay-get, message-overlay-put, message-overlays-in): * lisp/gnus/sieve.el (sieve-make-overlay, sieve-overlay-put) (sieve-overlays-at): Remove. 2015-08-19 Martin Rudalics In w32fns.c condition TITLEBAR_INFO declaration on WINDOWS version * src/w32fns.c (TITLEBAR_INFO): Make it a typedef so MinGW64 builds can use the declaration from the system headers. (GetTitleBarInfo_Proc, Fx_frame_geometry): Adapt to new definition of TITLEBAR_INFO. Suggested by Eli Zaretskii 2015-08-19 Glenn Morris * lisp/gnus/nnmaildir.el (nnmaildir-flag-mark-mapping): Add "P". 2015-08-19 Paul Eggert Use new q ‘format’ flag when fixing quotes in C * src/image.c (image_size_error): New function. All uses of image_error with "Invalid image size ..." changed to use it. * src/image.c (image_size_error, xbm_load_image, xbm_load) (xpm_load, xpm_load_image, xpm_load, pbm_load, png_load_body) (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image) (imagemagick_load, svg_load, svg_load_image, gs_load) (x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Use %qs, not uLSQM and uRSQM. * src/syntax.c (Finternal_describe_syntax_value): Prefer Fsubstitute_command_keys to Fformat, as this lets us use AUTO_STRING. * src/xdisp.c (vadd_to_log): Use AUTO_STRING on the format argument, as it's now guaranteed to be ASCII. * src/xselect.c (x_clipboard_manager_error_2): Avoid grave accent in low-level stderr diagnostic. 2015-08-19 Paul Eggert New q flag for ‘format’ * doc/lispref/processes.texi (Sentinels): Don't hardwire grave quoting style in example. * doc/lispref/strings.texi (Formatting Strings): * etc/NEWS: Document new q flag. * src/editfns.c (Fformat): Implement it. 2015-08-18 Daiki Ueno pinentry.el: Add debugging support * lisp/net/pinentry.el (pinentry-debug): New variable. (pinentry-debug-buffer): New variable. (pinentry--process-filter): Send input to the debug buffer, if `pinentry-debug' is set. pinentry.el: Improve multiline prompt * lisp/net/pinentry.el (pinentry--prompt): Simplify the interface. (pinentry--process-filter): Use `pinentry--prompt' for CONFIRM command. 2015-08-18 Paul Eggert Fix multibyte confusion in diagnostics * src/print.c (print_error_message): Don't assume that the caller's name is unibyte. * src/xdisp.c (vadd_to_log): Don't assume that the formatted diagnostic is unibyte. Fix file name encodings in diagnostics Also, close some minor races when opening image files, by opening them once instead of multiple times. * src/gtkutil.c (xg_get_image_for_pixmap): * src/image.c (xpm_load, tiff_load, gif_load, imagemagick_load) (svg_load): * src/nsimage.m (allocInitFromFile:): * src/xfns.c (xg_set_icon): Encode file name, since x_find_image_file no longer does that. * src/image.c (x_find_image_fd): New function. (x_find_image_file): Use it. Do not encode resulting file name, since callers sometimes need it decoded. (slurp_file): File arg is now a fd, not a file name. All callers changed. This saves us having to open the file twice. (xbm_load, xpm_load, pbm_load, png_load_body, jpeg_load_body) (svg_load): Use x_find_image_fd and fdopen to save a file-open. Report file name that failed. * src/lread.c (openp): If PREDICATE is t, open the file in binary mode. 2015-08-18 Dmitry Gutov Allow blink-matching-paren to jump off screen * doc/emacs/programs.texi (Matching): Mention the `blink-matching-paren' value `jump-offscreen'. * lisp/simple.el (blink-matching-paren): New possible value. (blink-matching-paren-on-screen): Clarify the docstring. (blink-matching-open): Handle `jump-offscreen' (bug#21286). Refine the previous change * lisp/simple.el (blink-matching-open): Use minibuffer-message outside of save-excursion (bug#21286). 2015-08-18 Martin Rudalics Rewrite and add frame geometry related functions. * src/frame.c (Fframe_position): New function. (Fset_frame_position): Rename parameters and rewrite doc-string. (syms_of_frame): Remove Qframe_position, Qframe_outer_size, Qtitle_height and Qframe_inner_size. Add Qouter_edges, Qouter_position, Qouter_size, Qnative_edges, Qinner_edges, Qtitle_bar_size. * src/nsfns.m (frame_geometry): New function. (Fx_frame_geometry): Call frame_geometry. (Fx_frame_edges): New function. * src/w32fns.c (C_CHILDREN_TITLEBAR, TITLEBAR_INFO) (GetTitleBarInfo_Proc): Define these so we can use the GetTitleBarInfo API. (Fw32_frame_menu_bar_size, Fw32_frame_rect): Remove. (Fx_frame_geometry): Rewrite. (Fx_frame_edges, Fx_mouse_absolute_pixel_position) (Fx_set_mouse_absolute_pixel_position): New functions. * src/xfns.c (frame_geometry): New function. (Fx_frame_geometry): Call frame_geometry. (Fx_frame_edges, Fx_mouse_absolute_pixel_position) (Fx_set_mouse_absolute_pixel_position): New functions. 2015-08-18 Michael Albinus Improve Tramp's compatibility * lisp/net/tramp.el (tramp-get-method-parameter): * lisp/net/tramp-adb.el (tramp-adb-parse-device-names) (tramp-adb-get-device): * lisp/net/trampver.el (tramp-repository-get-version): Use `tramp-compat-replace-regexp-in-string'. 2015-08-18 Pierre Téchoueyres (tiny change) * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable): Encode/decode string. 2015-08-18 Paul Eggert Clarify what happens to match data on failure Problem reported by Ernesto Alfonso (Bug#21279). * doc/lispref/searching.texi (Regexp Search, Simple Match Data): Document more carefully what happens to match data after a failed search. * src/search.c (Fmatch_beginning, Fmatch_end): Document that the return value is undefined if the last search failed. (Fmatch_data): Simplify doc string line 1. 2015-08-18 Daiki Ueno Revert "pinentry.el: Support external passphrase cache" This reverts commit e086e55a664ec27fbca7b3231c4b32cb78a89337. pinentry.el shouldn't directly interact with the secrets service, but ask the caller to cache the passphrase. 2015-08-17 Xue Fuqiao * doc/emacs/sending.texi (Mail Misc): Fix two index entries for Message mode hooks. 2015-08-17 Daiki Ueno epg.el: Make gpgconf output parsing future proof * lisp/epg.el (epg--start): Count the number of fields in "gpgconf --list-options" output. pinentry.el: Support external passphrase cache * lisp/net/pinentry.el (pinentry-use-secrets): New user option. (pinentry--allow-external-password-cache): New local variable. (pinentry--key-info): New local variable. (secrets-enabled, secrets-search-items, secrets-get-secret): Declare. (pinentry--send-passphrase): New function, split from `pinentry--process-filter'. (pinentry--process-filter): Use secrets.el to retrieve passphrase from login keyring. pinentry.el: Popup window for multiline prompt * lisp/net/pinentry.el (pinentry): New custom group. (pinentry-popup-prompt-window): New user option. (pinentry-prompt-window-height): New user option. (pinentry--prompt-buffer): New variable. (pinentry-prompt-mode-map): New variable. (pinentry-prompt-mode): New function. (pinentry--prompt): New function. (pinentry--process-filter): Use `pinentry--prompt' instead of `read-passwd' and `y-or-n-p'. 2015-08-17 Katsumi Yamaoka message.el: Silent the byte compiler * lisp/gnus/message.el (message-overlay-put, message-make-overlay) (message-kill-all-overlays, message-overlays-in, message-overlay-get) (message-delete-overlay, message-window-inside-pixel-edges): Declare before using. * lisp/gnus/message.el (message-overlay-get, message-overlays-in) (message-window-inside-pixel-edges): XEmacs compatible functions. 2015-08-17 Lars Magne Ingebrigtsen * lisp/gnus/message.el (message-toggle-image-thumbnails): New command. 2015-08-17 Noah Friedman * lisp/simple.el (blink-matching-open): Restore point before calling minibuffer-message. 2015-08-17 Ronnie Schnell * lisp/play/dunnet.el: Update version number in header (now matches help). 2015-08-17 Paul Eggert Curved quotes in --batch diagnostics in non-UTF-8 When run with --batch, check that curved quotes are compatible with the system locale before outputting them in diagnostics. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00594.html * lisp/startup.el (command-line): Set internal--text-quoting-flag after the standard display table is initialized. * src/doc.c (default_to_grave_quoting_style): New function. (text_quoting_style): Use it. (text_quoting_flag): New static var, visible to Lisp as internal--text-quoting-flag. * src/emacs.c: Include if available. (using_utf8): New function. (main): Use it to initialize text_quoting_flag. * src/regex.h (btowc) [WIDE_CHAR_SUPPORT && emacs]: Don't define, as it's not needed and it clashes with wchar.h. 2015-08-17 Glenn Morris * doc/misc/tramp.texi (Configuration): Reword to avoid warning from makeinfo about spurious "Note:" cross-reference, and for grammar. 2015-08-17 Ilya Zakharevich Minor change in variable initialization on MS-Windows * src/w32fns.c : Initialize to -1. (deliver_wm_chars): If after_deadkey is zero, don't set after_dead non-zero. Fix a bug with LWindow key remapping on MS-Windows * src/w32fns.c (deliver_wm_chars): Fix a typo. (Bug#21276) 2015-08-17 Eli Zaretskii Improve fontset support for latest OTF script tags * lisp/international/fontset.el (otf-script-alist): Add some missing script tags. (setup-default-fontset): Include settings for v2 versions of the script tags used by some modern OTF/TTF fonts. 2015-08-17 Paul Eggert Spelling fixes 2015-08-16 Paul Eggert Use curved quotes in core elisp diagnostics In the core elisp files, use curved quotes in diagnostic formats, so that they follow user preference as per ‘text-quoting-style’ rather than being hard-coded to quote `like this'. * lisp/abbrev.el (expand-region-abbrevs): * lisp/button.el (button-category-symbol, button-put) (make-text-button): * lisp/cus-start.el: * lisp/custom.el (custom-add-dependencies, custom-check-theme) (custom--sort-vars-1, load-theme): * lisp/emacs-lisp/byte-run.el (defun, defsubst): * lisp/emacs-lisp/cl-generic.el (cl-defgeneric) (cl-generic-generalizers): * lisp/emacs-lisp/macroexp.el (macroexp--obsolete-warning): * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): * lisp/emacs-lisp/nadvice.el (advice--make-docstring) (advice--make, define-advice): * lisp/emacs-lisp/tabulated-list.el (tabulated-list-put-tag): * lisp/emacs-lisp/timer.el (timer-event-handler): * lisp/env.el (setenv): * lisp/facemenu.el (facemenu-add-new-face) (facemenu-add-new-color): * lisp/faces.el (face-documentation, read-face-name) (face-read-string, read-face-font, face-spec-set-match-display) (read-color, x-resolve-font-name): * lisp/files.el (locate-user-emacs-file, find-alternate-file) (set-auto-mode, hack-local-variables) (hack-one-local-variable--obsolete) (dir-locals-set-directory-class, write-file) (basic-save-buffer, delete-directory, copy-directory) (recover-session, recover-session-finish, insert-directory) (file-modes-char-to-who, file-modes-symbolic-to-number) (move-file-to-trash): * lisp/font-lock.el (font-lock-fontify-buffer): * lisp/format.el (format-write-file, format-find-file) (format-insert-file): * lisp/frame.el (get-device-terminal, select-frame-by-name): * lisp/fringe.el (fringe--check-style): * lisp/help.el (describe-minor-mode-from-indicator): * lisp/image.el (image-type): * lisp/international/fontset.el (x-must-resolve-font-name): * lisp/international/mule-cmds.el (prefer-coding-system) (select-safe-coding-system-interactively) (select-safe-coding-system, activate-input-method) (toggle-input-method, describe-current-input-method): * lisp/international/mule-conf.el (code-offset): * lisp/mouse.el (minor-mode-menu-from-indicator): * lisp/replace.el (query-replace-read-from) (occur-after-change-function, occur-1): * lisp/scroll-bar.el (scroll-bar-columns): * lisp/simple.el (execute-extended-command) (undo-outer-limit-truncate, compose-mail, set-variable) (choose-completion-string, define-alternatives): * lisp/startup.el (site-run-file, tty-handle-args) (command-line, command-line-1): * lisp/subr.el (noreturn, define-error, add-to-list) (read-char-choice): * lisp/term/common-win.el (x-handle-xrm-switch) (x-handle-name-switch, x-handle-args): * lisp/term/x-win.el (x-handle-parent-id, x-handle-smid): Use curved quotes in diagnostics. * lisp/international/mule.el (find-auto-coding): Use " to quote in a diagnostic, to be consistent with the rest of this file. Convert lisp/term/x-win.el to UTF-8 * lisp/term/x-win.el: Convert to UTF-8. This doesn't affect runtime behavior, and the file is multilingual so compile-time appearance shouldn't be an issue. * admin/notes/unicode: Document this. 2015-08-16 Wilson Snyder Update verilog-mode.el to 2015-05-14-6232468-vpo-GNU. * lisp/progmodes/verilog-mode.el: Fix some non-automated indent issues and comments, bug#943. (verilog-type-font-keywords): Cycle delay operators like ##1 and ##[0:$] are now highlighted in their entirety similarly to the # delay-control operator. Likewise, the followed-by operators #-# and #=# are no longer partially highlighed. (verilog-backward-syntactic-ws-quick) (verilog-skip-backward-comments): Minor performance improvements to buffer traversal functions for reduced latency. (verilog-calc-1, verilog-in-deferred-immediate-final-p): When the keyword 'final' follows 'assert/assume/cover', then it is part of a deferred immediate assertion item and should not be treated as a final construct for indentation. Reported by Yuri Sugihara. (verilog-do-indent): Virtual task/function/class definition lines should not be considered as declarations. Reported by Enzo Chi. (verilog-do-indent): Do not falsely indent to '=' of property/sequence operators on subsequent lines of a multi-line statement. (verilog-assignment-operator-re): Fix '!==' operator and add support for '<->', ':/', '#-#', and '#=#' operators. (verilog-calculate-indent, verilog-label-be): Enable case-sensitive regular expression parsing when looking for keywords. (verilog-calc-1): Detect 'pure virtual method' declarations which exist in abstract classes. Reported by Enzo Chi and Kaushal Modi. (verilog-backward-ws&directives): When moving back to the start of a line and the preceeding line ended with an escaped-newline, then jump up one line. This properly consumes a multi-line pre-processor directive. Reported by Kaushal Modi. (verilog-dpi-import-export-re, verilog-extended-complete-re) (verilog-calc-1): Teach verilog-mode to properly indent after a DPI import/export statement that resides outside of a module. Reported by Kaushal Modi. (verilog-extended-complete-re): Update regexp to match both "DPI-C" and "DPI". Reported by Kaushal Modi. 2015-08-15 Paul Eggert substitute-command-keys a few more doc strings * lisp/allout.el (outlineify-sticky): * lisp/files.el (hack-one-local-variable--obsolete): * lisp/help-fns.el (help-fns--obsolete, describe-variable): Use substitute-command-keys on some doc strings so that they don't use hard-coded key bindings or quoting styles. Fix quoting in Fformat calls * src/image.c (xbm_read_bitmap_data, xbm_load_image, xbm_load) (xpm_load, xpm_load_image, pbm_load, png_load_body) (jpeg_load_body, tiff_load, gif_load, imagemagick_load_image) (imagemagick_load, svg_load, svg_load_image, gs_load) (x_kill_gs_process): * src/lread.c (load_warn_old_style_backquotes): * src/xfaces.c (load_pixmap): * src/xselect.c (x_clipboard_manager_error_1): Quote diagnostics according to user preference when calling Fformat or its derivatives. 2015-08-15 Glenn Morris * admin/admin.el (set-version, set-copyright): Remove deleted files. 2015-08-15 Stephen Leake Allow describe-function helpers to access buffer-local values This will be used by cedet/mode-local.el `describe-mode-local-override' on `help-fns-describe-function-functions' in upstream CEDET. * lisp/help-fns.el (describe-function-orig-buffer): New, let-bound in `describe-function'. (describe-function): Bind it, save it on the help xref stack. Handle pulse-background being nil * lisp/cedet/pulse.el (pulse-lighten-highlight): Inherit pulse-background, handle it being nil. 2015-08-15 Paul Eggert Fix "\`" confusion in Lisp strings * admin/authors.el (authors-canonical-author-name): Fix typo by using "\\`" not "\`" in string RE. * lisp/obsolete/complete.el (PC-complete-as-file-name): * lisp/obsolete/vi.el (vi-backward-blank-delimited-word): * lisp/progmodes/verilog-mode.el (verilog-mode-map): Use plain "`", not the equivalent-but-confusing "\`", in strings. * lisp/textmodes/texinfmt.el: Fix comment likewise. 2015-08-15 Dani Moncayo * nt/zipdist.bat: Remove -- no longer used. 2015-08-15 Jürgen Hötzel * lisp/net/tramp-sh.el (tramp-remote-selinux-p): Use "selinuxenabled" rather than "getenforce". (tramp-sh-handle-set-file-selinux-context): Do not cache SELinux context if not all context components are given. 2015-08-15 Eli Zaretskii Add doc strings to 2 help-mode.el functions * lisp/help-mode.el (help-mode-setup, help-mode-finish): Add doc strings. (Bug#21263) Remove files used by the old MS-Windows specific build procedure * admin/unidata/makefile.w32-in: * doc/emacs/makefile.w32-in: * doc/lispintro/makefile.w32-in: * doc/lispref/makefile.w32-in: * doc/misc/makefile.w32-in: * leim/makefile.w32-in: * lib-src/makefile.w32-in: * lib/makefile.w32-in: * lisp/makefile.w32-in: * nt/INSTALL.OLD: * nt/config.nt: * nt/emacs-src.tags: * nt/envadd.bat: * nt/gmake.defs: * nt/makefile.w32-in: * nt/multi-install-info.bat: * nt/nmake.defs: * nt/paths.h: * src/makefile.w32-in: Files deleted. * nt/configure.bat: Remove everything except the blurb about the new build procedure. * make-dist: Remove references to makefile.w32-in in various directories, and to files in nt/ that were deleted. * etc/NEWS: Mention the fact that the files were dropped. 2015-08-15 Paul Eggert * doc/emacs/mule.texi (Charsets): Give fuller title for ISO-IR. (Bug#21248) 2015-08-14 Paul Eggert Default to inotify instead of gfile * configure.ac (with_file_notification): Fix typo that prevented suppression of file notification if HAVE_NS. (NOTIFY_OBJ): Prefer inotify to gfile if both exist and with_file_notification is 'yes' (Bug#21241). * etc/NEWS: Mention this. Fix broken URLs for ISO-IR * doc/emacs/mule.texi (Charsets): * lisp/international/mule-conf.el: Fix broken URL (Bug#21248). Low-level diagnostics now use ‘text-quoting-style’ * src/doprnt.c (doprnt): Format ` and ' as per ‘text-quoting-style’. * src/xdisp.c (vmessage, message): Mention that the format should not contain ` or '. Prefer ‘format’ to ‘substitute-command-keys’ * src/character.h (uLSQM, uRSQM): Move here ... * src/doc.c (uLSQM, uRSQM): ... from here. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-extra.el (cl--describe-class): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Prefer ‘format’ to ‘substitute-command-keys’ when either will do to implement quoting style. This generally makes the code simpler. Extend ‘format’ to translate curved quotes This is a followup to the recent doc string change, and deals with diagnostics and the like. This patch is more conservative than the doc string change, in that the behavior of ‘format’ changes only if its first arg contains curved quotes and the user prefers straight or grave quotes. (Come to think of it, perhaps we should be similarly conservative with doc strings too, but that can wait.) The upside of this conservatism is that existing usage is almost surely unaffected. The downside is that we'll eventually have to change Emacs's format strings to use curved quotes in places where the user might want curved quotes, but that's a simple and mechanical translation that I'm willing to do later. (Bug#21222) * doc/lispref/help.texi (Keys in Documentation): Move description of text-quoting-style from here ... * doc/lispref/strings.texi (Formatting Strings): ... to here, and describe new behavior of ‘format’. * etc/NEWS: Describe new behavior. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): * lisp/info.el (Info-find-index-name): Use ‘concat’ rather than ‘format’ to avoid misinterpretation of recently-added curved quotes. * src/doc.c (uLSQM0, uLSQM1, uLSQM2, uRSQM0, uRSQM1, uRSQM2): Move from here ... * src/lisp.h: ... to here. * src/doc.c (text_quoting_style): New function. (Fsubstitute_command_keys): Use it. * src/editfns.c (Fformat): Implement new behavior. * src/lisp.h (enum text_quoting_style): New enum. 2015-08-14 Stefan Monnier * src/keyboard.c: Use false/true instead of 0/1 for booleans. * src/keyboard.h (struct kboard): Mark kbd_queue_has_data as boolean. 2015-08-14 Michael Albinus * lisp/net/tramp-sh.el (tramp-sh-handle-file-acl): Do not redirect stderr to /dev/null, this is done in `tramp-send-command-and-check'. 2015-08-14 Jürgen Hötzel Flush file properties in Tramp * lisp/net/tramp-sh.el (tramp-sh-handle-set-file-modes) (tramp-sh-handle-set-file-times): * lisp/net/tramp-adb.el (tramp-adb-handle-set-file-modes) (tramp-adb-handle-set-file-times): Flush the file properties of the directory. 2015-08-14 Ronnie Schnell * doc/emacs/misc.texi (Amusements): Fixed typo. 2015-08-14 Eli Zaretskii Don't miss warnings about removing string text properties while dumping * src/alloc.c (purecopy): Warn about removing a string's text properties even when the same string was already pure-copied earlier. * lisp/progmodes/elisp-mode.el (elisp--xref-format) (elisp--xref-format-extra): Fix the commentary. 2015-08-13 Stefan Monnier * lisp/progmodes/sh-script.el (sh-mode): Handle .cshrc (bug#21049). 2015-08-13 Magnus Henoch * lisp/progmodes/compile.el: Use lexical-binding. (compilation-move-to-column): Assume 8-wide TABs (bug#21038). 2015-08-13 Stefan Monnier (uniquify-ask-about-buffer-names-p): Remove, unused (bug#21037) * lisp/uniquify.el: Remove redundant `:group's. 2015-08-13 Jürgen Hötzel * lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes): Make a copy of result to prevent modification of the tramp-cache by side effects. Use the correct cache key. 2015-08-13 Paul Eggert Make add_to_log varargs * src/alloc.c (run_finalizer_handler): * src/charset.c (load_charset_map_from_vector): * src/nsimage.m (ns_load_image): * src/xfaces.c (load_pixmap, load_color2): Simplify, now that add_to_log has a variable number of args. * src/image.c (image_error): Take a variable number of args. Callers simplified. * src/lisp.h (add_to_log, vadd_to_log): Adjust to new APIs. * src/xdisp.c (format_nargs, vadd_to_log): New functions. (add_to_log): Make varargs, and reimplement in terms of vadd_to_log. * src/xfaces.c (merge_face_ref): Fix typo that omitted color name. Optional args for holiday-greek-orthodox-easter * etc/NEWS: Document this. * lisp/calendar/holidays.el (holiday-greek-orthodox-easter): Add optional args N and STRING, mimicking the API and code of ‘holiday-easter-etc’. From suggestion by Foivos S. Zakkak (Bug#21256). 2015-08-13 Stephen Leake xref-find-definitions: Exclude more generic function items. * lisp/emacs-lisp/cl-generic.el (cl--generic-search-method): Add doc string. (cl--generic-find-defgeneric-regexp): New. (find-function-regexp-alist): Add it. * lisp/emacs-lisp/find-func.el (find-feature-regexp): Move here from elisp-mode.el, change to search for ";;; Code:" (find-alias-regexp): Move here from elisp-mode.el, cleaned up. (find-function-regexp-alist): Add them. * lisp/progmodes/elisp-mode.el: (elisp--xref-format, elisp--xref-format-extra): Change back to defvar due to bug#21237. (elisp--xref-find-definitions): Exclude co-located default methods for generic functions. Also exclude implicitly declared defgeneric. (elisp--xref-find-definitions): Handle C source properly. Exclude minor mode variables defined by 'define-minor-mode'. * test/automated/elisp-mode-tests.el: Declare generic functions, add tests for them. (xref-elisp-test-run): Fix bug. (emacs-test-dir): Improve initial value. (find-defs-defun-defvar-el): Don't expect defvar. (find-defs-feature-el): Match change to find-feature-regexp. 2015-08-13 Eli Zaretskii Improve warning about purecopy of strings with properties * src/alloc.c (purecopy): Show the offending string with the warning about removing its text properties. 2015-08-12 Alan Mackenzie Introduce new macros to cover Emacs's new names in cl-lib.el This also eliminates `mapcan' warnings in XEmacs. * lisp/progmodes/cc-defs.el (c--mapcan-status): New variable to characterise [X]Emacs versions. (top-level): Require either 'cl or 'cl-lib, depending on c--mapcan-status. Change this back to cc-external-require from an eval-when-compile require. (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all) (c--delete-duplicates): New macros which expand into either old or new names. (c-make-keywords-re, c-lang-defconst, c-lang-const): Use the new macros rather than the old names. * lisp/progmodes/cc-engine.el (c-declare-lang-variables): Use c--mapcan rather than mapcan. * lisp/progmodes/cc-fonts.el (c-compose-keywords-list): Use c--mapcan. * lisp/progmodes/cc-langs.el (top-level): Require either 'cl or 'cl-lib, depending on c--mapcan-status. (c-filter-ops, c-all-op-syntax-tokens, c-assignment-op-regexp) (c-type-start-kwds, c-prefix-spec-kwds, c-specifier-key) (c-not-decl-init-keywords, c-not-primitive-type-keywords) (c-paren-any-kwds, c-<>-sexp-kwds, c-block-stmt-kwds, c-expr-kwds) (c-decl-block-key, c-keywords, c-keywords-obarray) (c-regular-keywords-regexp, c-primary-expr-regexp) (c-primary-expr-regexp, c-block-prefix-disallowed-chars) (c-known-type-key, c-nonlabel-token-key) (c-make-init-lang-vars-fun): Use the new macros rather than the old names. 2015-08-12 Oleh Krehel loadhist.el (read-feature): Conform to completing-read * lisp/loadhist.el (read-feature): According to `completing-read' documentation, if collection is a list, then it must be a list of strings, not a list of symbols like before. 2015-08-12 David Kastrup Deal gracefully with up-events (Bug#19746) * src/keyboard.c (apply_modifiers_uncached, parse_solitary_modifier) (parse_modifiers_uncached): React gracefully to "up-" modifiers: those may easily be injected by user-level Lisp code. (read_key_sequence): Discard unbound up-events like unbound down-events: they are even more likely only relevant for special purposes. While Emacs will not produce up-events on its own currently (those are converted to drag or click events before being converted to Lisp-readable structures), the input queue can be made to contain them by synthesizing events to `unread-command-events'. Emacs should deal consistently with such events. 2015-08-12 Eli Zaretskii Fix display of thin lines whose newline has line-height property of t * src/xdisp.c (append_space_for_newline): Don't try to fix ascent and descent values of non-empty glyph rows, since they could have forced low values deliberately. (Bug#21243) 2015-08-12 Richard Stallman Offer to combine multiple To or CC fields. * lisp/mail/sendmail.el (mail-combine-fields): New function. (mail-send): Call 'mail-combine-fields'. Don't decrypt encrypted files. * lisp/mail/mail-utils.el (mail-file-babyl-p): Bind epa-inhibit to t. Handle encrypted mbox files. * lisp/mail/rmailout.el (rmail-output-as-mbox): Decrypt and reencrypt the mbox file if necessary. Re-enable mime processing after decryption. Add 'decrypt' keyword. * lisp/mail/rmail.el (rmail-epa-decrypt-1): New subroutine. (rmail-epa-decrypt): rmail-epa-decrypt-1 broken out. In a mime message, reenable Mime and show the parts that were shown before. Add keyword "decrypt" if anything decrypted. epa-inhibit inhibits auto-recognition of .gpg files * lisp/epa-file.el (epa-inhibit): New variable. (epa-file-handler): Check epa-inhibit. 2015-08-12 Artur Malabarba * lisp/emacs-lisp/lisp-mnt.el (lm-header): Add save-excursion. 2015-08-11 Fabián Ezequiel Gallina Respect python.el imenu when semantic-mode is off Fixes bug#21220 * lisp/cedet/semantic/wisent/python.el: Do not force wisent-python-default-setup on python-mode-hook. 2015-08-11 Paul Eggert Give names to Unicode code points in C code * src/character.h (NO_BREAK_SPACE, SOFT_HYPHEN) (ZERO_WIDTH_NON_JOINER, ZERO_WIDTH_JOINER, HYPHEN) (NON_BREAKING_HYPHEN, LEFT_SINGLE_QUOTATION_MARK) (RIGHT_SINGLE_QUOTATION_MARK, PARAGRAPH_SEPARATOR) (LEFT_POINTING_ANGLE_BRACKET, RIGHT_POINTING_ANGLE_BRACKET) (LEFT_ANGLE_BRACKET, RIGHT_ANGLE_BRACKET) (OBJECT_REPLACEMENT_CHARACTER): New named constants for Unicode code points. * src/bidi.c (bidi_fetch_char, CANONICAL_EQU): * src/composite.c (char_composable_p): * src/lread.c (readevalloop, read1): * src/xdisp.c (get_next_display_element): Use them. * src/doc.c (LEFT_SINGLE_QUOTATION_POINT): Remove; now in character.h. 2015-08-11 Stephen Leake elisp--xref-find-definitions handle cl-defstuct default constructor * lisp/progmodes/elisp-mode.el (elisp-xref-find): Add FIXME. (elisp--xref-format-extra): Rename from elisp--xref-format-cl-defmethod. (elisp--xref-find-definitions): Handle cl-defstuct default constructor. * test/automated/elisp-mode-tests.el (xref-elisp-test-run): Split out from xref-elisp-test for ease of debugging. (xref-elisp-deftest): Rename from xref-elisp-test. (find-defs-constructor): New test. (find-defs-defgeneric-el): Match batch test config. (compile): Required for find-defs compilation-minor-mode test. (find-defs-defvar-el): Match code change. (find-defs-face-el): Match code change. * lisp/progmodes/xref.el (xref-find-function, xref-find-definitions): Improve doc string. 2015-08-11 Stefan Monnier * lisp/replace.el (perform-replace): Document `replacements'. (perform-replace): Move the description of the format of `replacements' from the body's comment to the doc string. 2015-08-11 Jürgen Hötzel * lisp/net/tramp-adb.el (tramp-adb-prompt): Match leading escape sequence. Recent adb version send initial escape sequences, even when terminal type is set to TERM=dumb. 2015-08-10 Stephen Leake Rewrite elisp--xref-find-definitions to handle many more cases; add tests * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Function deleted. (elisp--xref-format-cl-defmethod): New defconst. (find-feature-regexp, find-alias-regexp): New defcustoms. (elisp--xref-make-xref): New function. (elisp--xref-find-definitions): Rewrite using the above, handle many more cases. Always output all available definitions. (xref-location-marker): No need for special cases. * test/automated/elisp-mode-tests.el: Add more tests of elisp--xref-find-definitions, improve current tests. 2015-08-10 Eli Zaretskii Fix recording of events pushed onto unread-command-events * src/keyboard.c (read_char): Make sure events read from unread-command-events and unread-post-input-method-events are always recorded by record_char. Reported by David Kastrup , see http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00193.html. 2015-08-10 Samer Masterson Set file buffer as current for "--file" * lisp/startup.el (command-line-1): Set file buffer as current before it is displayed so it can be used with options like "--eval". (Bug#21095) 2015-08-10 Eli Zaretskii Avoid setting LC_NUMERIC on MS-Windows to anything but "C" * src/emacs.c (synchronize_locale) [WINDOWSNT]: Call fixup_locale after setting LC_ALL to the desired locale, to avoid affecting how numbers are read and printed. (Bug#21223) 2015-08-10 Alan Mackenzie Fix "Invalid search bound (wrong side of point)" in fontification * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): After skipping an initialization expression, check point is not beyond the fontification limit. 2015-08-09 Paul Eggert Fix DPI calculation when Xft/DPI is default * src/xsettings.c (parse_settings): Don't use Xft/DPI default value of -1, which evaluates to 2**32 - 1 (Bug#21152). Remove unnecessary cast while we're in the neighborhood. 2015-08-09 Dmitry Gutov Add project-vc-search-path and project-vc-ignores * lisp/progmodes/project.el (project-vc): New group. (project-vc-search-path, project-vc-ignores): New variables. (project--value-in-dir): Utility function. (project-search-path, project-ignores): Use them. * lisp/progmodes/xref.el (xref--rgrep-command): Only replace `./' at bos. Don't add extra `/'. Don't prepend with `*' if replaced. 2015-08-09 Paul Eggert Fix some minor quoting issues with grave accent * src/dispnew.c (add_window_display_history) [GLYPH_DEBUG]: Remove redundant quotes. * src/doc.c (uLSQM, uRSQM): New macros. * src/doc.c (Fsubstitute_command_keys): * src/syntax.c (Finternal_describe_syntax_value): Follow the user preference for quotes rather than hardcoding the ‘grave’ style. * src/regex.c (PUSH_FAILURE_POINT, POP_FAILURE_POINT) (re_match_2_internal) [DEBUG]: In debugging output, quote C strings with "...", not `...'. ChangeLog.2 ignores remote-tracking merges * build-aux/gitlog-to-emacslog: Ignore commit logs matching "Merge remote-tracking branch '.*'" too. See Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00384.html 2015-08-09 Nicolas Richard Use kpsewhich in ffap-latex-mode, if available * lisp/ffap.el (ffap-latex-guess-rules): New variable. (ffap-latex-mode): Use kpsewhich if available. ffap: disallow braces in filenames for tex modes * lisp/ffap.el (ffap-string-at-point-mode-alist): Don't allow braces in tex-related modes. Remove useless backslashes from ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Remove useless and misleading backslashes from default value. Augment docstring of ffap-string-at-point-mode-alist * lisp/ffap.el (ffap-string-at-point-mode-alist): Describe how BEG and END are handled. 2015-08-09 Paul Eggert * lisp/org/org-src.el (org-edit-src-code) (org-edit-fixed-width-region): * lisp/simple.el (completion-setup-function): Remove calls to substitute-command-keys that always just return their argument. 2015-08-09 Daiki Ueno * lisp/epa.el (epa-exit-buffer-function): Set to `quit-window'. (Bug#21210) 2015-08-09 Ivan Kanis Fix link to source code in help window * lisp/help-fns.el (find-lisp-object-file-name): Remove code that will never work due to Glenn Morris change a6d63d9 on Apr 20 2013 'No longer include timestamp in header of .elc files'. Add code that will return .el source file in load-path. 2015-08-09 Artur Malabarba * lisp/isearch.el (isearch-search-fun-default): (Bug#21164) Respect `isearch-lax-whitespace' when searching through `isearch-word'. 2015-08-08 Stefan Monnier * test/automated/ert-tests.el (ert-test-deftest): Add FIXME. * lisp/org/org.el: Fix up some lexical scoping warnings, and use dolist * lisp/org/org.el (org-set-regexps-and-options-for-tags, org-goto-map) (org-set-regexps-and-options, org-assign-fast-keys) (org-contextualize-keys, org-contextualize-validate-key) (org-notes-order-reversed-p, org-local-logging, org-map-entries) (org-find-olp, org-find-exact-heading-in-directory) (org-cycle-agenda-files, org-release-buffers, org-fill-template) (org-agenda-prepare-buffers, org-occur-in-agenda-files) (org-replace-escapes): Use dolist. (org-mode): Optimize away XEmacs-only code. (org-refile-get-targets): Remove unused var `f'. (org-fast-todo-selection): Remove unused var `e'. (org-make-tags-matcher): Use dolist. Remove unused var `term'. (org-fast-tag-selection): Use dolist. Remove unused var `e'. (org-format-latex): Use dolist. Remove unused var `e'. (org-toggle-heading): Access vars lexically rather than dynamically. (org-backward-sentence, org-forward-sentence, org-meta-return) (org-kill-line): Mark arg as unused. (org-submit-bug-report): Silence compiler warning. (org-occur-in-agenda-files): Don't use add-to-list on local vars. (org-get-cursor-date): Remove unused var `tm'. (org-comment-or-uncomment-region): Use standard name `_'. (reftex-docstruct-symbol, reftex-cite-format): Declare to silence byte-compiler. (org-reftex-citation): Add `org--' prefix to dynamically scoped `rds' var. 2015-08-08 Paul Eggert Electric quote if coding is undecided or no conv * lisp/electric.el (electric--insertable-p): Also say that a string is insertable if the buffer file coding system is undecided or uses no conversion, as curved quotes will work in either case. * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Simplify configuration. 2015-08-08 Eli Zaretskii Fix overlay string display regressions introduced in Emacs 24.5 * src/xdisp.c (pop_it): Reset the flag to ignore overlays at this buffer position, if we move the iterator to a new position as result of jumping over text covered by a "replacing" display property. * test/redisplay-testsuite.el (test-redisplay-4): Add 2 new tests. Support recovery from C stack overflow on MS-Windows * src/w32fns.c (w32_reset_stack_overflow_guard) (stack_overflow_handler): New functions for handling C stack overflow exceptions. (my_exception_handler): Handle EXCEPTION_STACK_OVERFLOW exceptions specially, and zero out except_addr if we do. (globals_of_w32fns): Initialize dwMainThreadId in non-interactive mode. * src/sysdep.c [HAVE_STACK_OVERFLOW_HANDLING]: Add !WINDOWSNT to the condition, as HAVE_STACK_OVERFLOW_HANDLING is now defined for the MinGW build, but the code guarded by that is for Posix hosts. * src/keyboard.c (command_loop) [WINDOWSNT]: Call w32_reset_stack_overflow_guard. * nt/inc/ms-w32.h (sigjmp_buf): New typedef. (sigsetjmp): New macro. (w32_reset_stack_overflow_guard): Declare the prototype. * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Set to 1 for MinGW. 2015-08-07 Phillip Lord Improve error signalling for seq-subseq * lisp/emacs-lisp/seq.el (seq-subseq): The existing behavior is to error when indexes are too large, but to silently ignore numbers which are too negative for lists. String and vector handling errors in both cases. This has been regularized. Error signaling behavior has been explicitly added to the doc string. * lisp/cl-extra.el (cl-subseq): Defers to (seq-subseq) and is therefore also impacted by this change. Update the doc string to reflect this. * test/automated/seq-tests.el (test-seq-subseq): Tests have been added for these exceptional cases, as well as one non exceptional base case. 2015-08-07 Jürgen Hötzel Improve error checking in tramp-adb.el * lisp/net/tramp-adb.el (tramp-adb-ls-output-name-less-p): Improve error checking. "ls -l" on Android in Enforcing mode can print "lstat './FILENAME failed: Permission denied". 2015-08-07 Stefan Monnier * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Don't burp on non-struct vectors. 2015-08-07 Stephen Leake Fix typo in lisp/window.el, more `display-buffer-use-some-frame' * lisp/window.el: Fix typo that broke build. (display-buffer--action-function-custom-type): Add `display-buffer-use-some-frame'. (display-buffer): Add `display-buffer-use-some-frame' to doc string. Add support for 'inhibit-same-window in 'display-buffer-use-some-frame' * lisp/window.el (display-buffer-use-some-frame): Add support for 'inhibit-same-window in alist. * doc/lispref/windows.texi (display-buffer-use-some-frame): Doc support for 'inhibit-same-window in alist. 2015-08-07 Eli Zaretskii Avoid infinite loop in display of invisible text in strings * src/xdisp.c (handle_invisible_prop): If the next change of invisibility spec does not mean the beginning of a visible text, update the string position from which to start the search for the next invisibility change. This avoids an infinite loop when we have more than one invisibility spec that are made inactive by buffer-invisibility-spec. Simplify code. (Bug#21200) * test/redisplay-testsuite.el (test-redisplay-4): Add a test case for the situation that caused bug #21200. 2015-08-06 Artur Malabarba * lisp/emacs-lisp/package.el: Simplify describe-package-1 (package-help-section-name-face): New face. (package--print-help-section): New function. (describe-package-1): Refactor section printing. (package-make-button): Use face instead of font-lock-face, which doesn't work on buttons. * lisp/emacs-lisp/package.el: Define custom faces (package-name-face, package-description-face) (package-status-built-in-face, package-status-external-face) (package-status-available-face, package-status-new-face) (package-status-held-face, package-status-disabled-face) (package-status-installed-face, package-status-dependency-face) (package-status-unsigned-face, package-status-incompat-face) (package-status-avail-obso-face): New faces. (package-menu--print-info-simple): Use them. 2015-08-05 Paul Eggert Fix some confusion with ‘format’ * lisp/allout-widgets.el (allout-widgets-before-change-handler) (allout-graphics-modification-handler): Protect arbitrary string in a format context with "%s" format. * lisp/avoid.el: * lisp/cedet/semantic/bovine/scm.el: Fix comment. * lisp/calendar/icalendar.el (icalendar--convert-sexp-to-ical): * lisp/erc/erc-button.el (erc-button-beats-to-time): * lisp/gnus/message.el (message-send-form-letter): * lisp/org/ob-core.el (org-babel-check-evaluate) (org-babel-confirm-evaluate): * lisp/org/ob-fortran.el (org-babel-fortran-var-to-fortran): * lisp/org/ox-latex.el (org-latex-compile): * lisp/org/ox-man.el (org-man-compile): * lisp/org/ox-odt.el (org-odt-template): * lisp/org/ox-texinfo.el (org-texinfo-compile): * lisp/progmodes/prolog.el (prolog-help-info) (prolog-view-predspec): * lisp/progmodes/ruby-mode.el (ruby-parse-partial): * lisp/progmodes/verilog-mode.el (verilog-showscopes): * lisp/textmodes/rst.el (rst-replace-lines): Change (message (format ...)) to (message ...), and likewise for ‘error’. This lessens the probability of confusion when the output of ‘format’ contains ‘%’. 2015-08-05 Artur Malabarba * lisp/replace.el (replace-character-fold): Default to nil. * lisp/character-fold.el: Fix lax whitespace. (character-fold-table): Don't make space match other whitespace chars. (character-fold-to-regexp): Simplify lax behavior. 2015-08-05 Dmitry Gutov Preserve window point in xref-find-definitions-other-window Fix the problem reported by Ingo Logmar in http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00152.html * lisp/progmodes/xref.el (xref--goto-char): Extract from xref--goto-location. (xref--pop-to-location): Use it. Replace xref--goto-location with a direct xref-location-marker call. (xref--show-location): Likewise. (xref--display-position): Use xref--goto-char. * lisp/progmodes/project.el: Add a paragraph to the front matter. 2015-08-04 David Kastrup * lisp/vc/emerge.el (emerge-show-file-name): * lisp/progmodes/vhdl-mode.el (vhdl-electric-dash) (vhdl-comment-insert, vhdl-hooked-abbrev): * lisp/progmodes/octave.el (inferior-octave-dynamic-list-input-ring): * lisp/progmodes/fortran.el (fortran-window-create-momentarily): * lisp/progmodes/ebrowse.el (ebrowse-hack-electric-buffer-menu): * lisp/progmodes/cperl-mode.el (cperl-putback-char): * lisp/obsolete/vip.el (vip-escape-to-emacs) (vip-prefix-arg-value, vip-prefix-arg-com): * lisp/obsolete/terminal.el (te-escape-extended-command-unread): * lisp/leim/quail/tibetan.el (quail-tibetan-update-translation) (quail-tibkey-update-translation): * lisp/leim/quail/lrt.el (quail-lrt-update-translation): * lisp/leim/quail/lao.el (quail-lao-update-translation): * lisp/leim/quail/japanese.el (quail-japanese-update-translation) (quail-japanese-self-insert-and-switch-to-alpha): * lisp/leim/quail/hangul.el (hangul2-input-method) (hangul3-input-method, hangul390-input-method): * lisp/language/hanja-util.el (hangul-to-hanja-char): * lisp/international/robin.el (robin-input-method): * lisp/international/quail.el (quail-start-translation) (quail-start-conversion): * lisp/gnus/gnus-art.el (gnus-article-describe-key) (gnus-article-describe-key-briefly): * lisp/eshell/em-hist.el (eshell-list-history): * lisp/term.el (term-dynamic-list-input-ring) (term-dynamic-list-completions): * lisp/subr.el (momentary-string-display): * lisp/simple.el (read-quoted-char): * lisp/pcomplete.el (pcomplete-show-completions): * lisp/kmacro.el (kmacro-repeat-on-last-key): * lisp/info.el (Info-summary): * lisp/ehelp.el (electric-help-command-loop): * lisp/ebuff-menu.el (electric-buffer-list) (Electric-buffer-menu-exit): * lisp/double.el (double-translate-key): * lisp/comint.el (comint-dynamic-list-input-ring) (comint-dynamic-list-completions): Do not overwrite preexisting contents of `unread-command-events' when putting new events into it. 2015-08-04 Daniel Colascione Improve ansi-color filtering of unrecognized escape sequences * lisp/ansi-color.el (ansi-color-drop-regexp): Recognize mode-setting escape sequences. (ansi-color-filter-apply, ansi-color-apply): Filter out unrecognized escape sequences. 2015-08-04 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-mode-map): Convert menu definitions to `easy-menu-define', improve a couple to account for async, and add a couple of new commands. 2015-08-03 Jürgen Hötzel * lisp/net/tramp-cache.el (tramp-set-file-property): Fix code typo. 2015-08-03 Ingo Lohmar Add new 'calendar-weekend-days' option Make the days receiving the 'calendar-weekend-header' face freely customizable, as they differ by region/culture. * doc/emacs/calendar.texi (Move to Beginning or End): Document the new variable. * lisp/calendar/calendar.el (calendar-generate-month): New variable calendar-weekend-days to customize day header fontification. 2015-08-03 Paul Eggert Redo text-quoting-style variable Rename help-quote-translation to text-quoting-style, and use symbols rather than characters as values. This follows suggestions along these lines by Alan Mackenzie in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00343.html and by Drew Adams in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00048.html * doc/lispref/help.texi (Keys in Documentation) * etc/NEWS: * lisp/cus-start.el (standard): * src/doc.c (Fsubstitute_command_keys, syms_of_doc): Document and/or implement the new behavior instead of the old. (syms_of_doc): New symbols 'grave' and 'straight'. 2015-08-03 Nikolaus Rath nnimap.el: Use IMAP MOVE extension if available * lisp/gnus/nnimap.el (nnimap-request-move-article) (nnimap-process-expiry-targets, nnimap-split-incoming-mail): Use MOVE extension if available. nnimap.el: Explicitly ask for server capabilities * lisp/gnus/nnimap.el (nnimap-open-connection-1): Don't assume full capabilities will be returned in the login-result. 2015-08-02 Paul Eggert Treat help strings like other doc strings * doc/lispref/text.texi (Special Properties), etc/NEWS: Document this. * lisp/epa.el (epa--select-keys): Remove no-longer-needed calls to substitute-command-keys. * src/keyboard.c (show_help_echo, parse_menu_item): Call substitute-command-keys on the help string before displaying it. Also mention "curly quotes" See Drew Adams's email in: http://lists.gnu.org/archive/html/emacs-devel/2015-08/msg00040.html * doc/lispref/help.texi (Keys in Documentation): Add index entry "curly quotes". * etc/NEWS: Use the phrase "curly quotes" too. ede-proj-target-makefile docstring tweaks * lisp/cedet/ede/proj.el (ede-proj-target-makefile): Consistently use "all:" to describe the all: target, replacing three different and confusingly-quoted usages. 2015-08-02 Evgeny Fraimovitch (tiny change) Don't abort emacsclientw when -a was specified * lib-src/emacsclient.c (set_tcp_socket) [WINDOWSNT]: Don't error out if we are in emacsclientw and -a was specified. 2015-08-02 Eli Zaretskii Fix handling of 1st keystroke on MS-Windows * src/w32fns.c (globals_of_w32fns): Initialize after_deadkey to -1. This is needed to correctly handle the session's first keystroke, if it has any modifiers. (Bug#19994) 2015-08-02 Paul Eggert Substitute some customization etc. doc strings These changes apply substitute-command-keys to some doc strings that were going through untranslated when creating customization or other widgets. * lisp/cus-edit.el (custom-group-value-create): * lisp/wid-edit.el (widget-default-create): (widget-push-button-value-create): Treat the widget tag as a doc string. * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slot): Treat the :documentation value as a doc string. * lisp/wid-edit.el (widget-choose): Treat the choice names as doc strings. (widget-default-create): Treat the :doc value as a doc string. (widget-toggle-value-create): Treat the :on and :off values as doc strings. (widget-documentation-string-value-create): Substitute the doc string. 2015-08-01 Dmitry Gutov Add a second argument to project-ignores * lisp/progmodes/project.el (project-ignores): Add a second argument DIR. * lisp/progmodes/project.el (project-ignores): Only include the VC ignores if DIR is the VC root. * lisp/progmodes/xref.el (xref-find-regexp): Update accordingly. 2015-08-01 Eli Zaretskii Prevent incorrect display when 'line-spacing' variable is set * src/xdisp.c (try_window_id): Give up this optimization if the buffer has its 'line-spacing' variable set non-nil. 2015-08-01 Dmitry Gutov Don't pass NOVISIT to find-file * lisp/progmodes/etags.el (next-file): Don't pass NOVISIT to find-file (bug#21175). Ignore buffer restriction for tags-loop-eval * lisp/progmodes/etags.el (tags-loop-continue): Ignore buffer restriction (bug#21167). 2015-08-01 Eli Zaretskii Fix a thinko in 'ffap-gopher-at-point' * lisp/ffap.el (ffap-gopher-at-point): Fix last change. (Bug#21168) Honor 'line-spacing' for empty lines * src/xdisp.c (append_space_for_newline): Honor 'line-height' property and 'line-spacing' frame parameter or variable or property for empty lines, by doing the same processing as in x_produce_glyph for newline characters. (Bug#21165) 2015-08-01 Paul Eggert Simplify by assuming C99 integer division * src/floatfns.c (ceiling2, floor2, truncate2): Assume C99 (i.e., Fortran) semantics for integer division. This simplifies the code. 2015-07-31 Paul Eggert Don't overflow if computing approximate percentage * lisp/align.el (align-region): * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream): * lisp/cedet/semantic/wisent.el (wisent-parse-region): * lisp/cus-edit.el (custom-buffer-create-internal): * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-ispell-loop) (checkdoc-message-interactive-ispell-loop, checkdoc-next-error) (checkdoc-next-message-error): * lisp/emacs-lisp/eieio-opt.el (eieio-display-method-list): * lisp/epa.el (epa-progress-callback-function): * lisp/erc/erc-dcc.el (erc-dcc-do-LIST-command): * lisp/ffap.el (ffap-menu-rescan): * lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers): * lisp/gnus/nndiary.el (nndiary-retrieve-headers): * lisp/gnus/nneething.el (nneething-retrieve-headers): * lisp/gnus/nnmbox.el (nnmbox-retrieve-headers): * lisp/gnus/nnmh.el (nnmh-retrieve-headers): * lisp/gnus/nnml.el (nnml-retrieve-headers): * lisp/gnus/nnspool.el (nnspool-retrieve-headers): * lisp/gnus/nntp.el (nntp-retrieve-headers) (nntp-retrieve-articles): * lisp/imenu.el (imenu--relative-position): * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi) (skkdic-convert-okuri-nasi): * lisp/net/ange-ftp.el (ange-ftp-process-handle-hash): * lisp/nxml/rng-valid.el (rng-compute-mode-line-string): * lisp/org/org-list.el (org-update-checkbox-count): * lisp/org/org.el (org-table-map-tables) (org-update-parent-todo-statistics): * lisp/play/decipher.el (decipher-insert-frequency-counts) (decipher-analyze-buffer): * lisp/profiler.el (profiler-format-percent): * lisp/progmodes/cc-cmds.el (c-progress-update): * lisp/progmodes/cpp.el (cpp-highlight-buffer): * lisp/progmodes/idlwave.el (idlwave-convert-xml-system-routine-info) (idlwave-list-load-path-shadows): * lisp/progmodes/opascal.el (opascal-step-progress): * lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info) (vhdl-scan-directory-contents): * lisp/textmodes/bibtex.el (bibtex-progress-message): * lisp/textmodes/flyspell.el (flyspell-small-region) (flyspell-external-point-words): * lisp/textmodes/table.el (table-recognize): Prefer (floor (* 100.0 NUMERATOR) DENOMINATOR) when calculating progress-report percentages and the like. This avoids problems if (* 100 NUMERATOR) would overflow. * lisp/gnus/gnus-registry.el (gnus-registry-import-eld): * lisp/gnus/registry.el (registry-reindex): Use (* 100.0 ...) rather than (* 100 ...) to avoid int overflow issues. * lisp/descr-text.el (describe-char): * lisp/org/org-colview.el (org-nofm-to-completion): * lisp/ps-print.el (ps-plot): * lisp/simple.el (what-cursor-position): Prefer (round (* 100.0 NUMERATOR) DENOMINATOR) to a more-complicated and less-accurate approximation. Fix some int overflows in profiler.c * src/profiler.c (make_log): Make args EMACS_INT, not int, to avoid unwanted behavior on 'int' overflow. (make_log, evict_lower_half, record_backtrace): Use ptrdiff_t, not int, for object indexes. Port to pedantic memcpy * src/keyboard.c (menu_bar_items, tool_bar_items): * src/xrdb.c (magic_db): Port to pedantic memcpy implementations that reject memcpy (0, 0, 0). Merge from gnulib This incorporates: 2015-07-29 time_rz: port to pedantic memcpy * lib/time_rz.c: Copy from gnulib. 2015-07-31 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): When updating the very last entry, tabulated-list-print would erase it and then try to look at the next one (which obviously isn't there). 2015-07-31 Eli Zaretskii Allow to use the old key processing code on MS-Windows * src/w32fns.c (syms_of_w32fns) : New variable. (w32_wnd_proc): Use it to invoke the old code that processed character keys, as fallback, when this variable is non-nil. Fix typos in comments. (Bug#19994) 2015-07-31 Ilya Zakharevich Improve handling of Unicode keyboard input on MS-Windows * src/w32fns.c (get_wm_chars, deliver_wm_chars): New functions. (FPRINTF_WM_CHARS) [DEBUG_WM_CHARS]: New macro for debugging. (w32_wnd_proc): Call deliver_wm_chars to process non-special keys upon receiving WM_KEYDOWN or WM_SYSKEYDOWN messages. If that is successful, don't call TranslateMessage. (Bug#19994) 2015-07-30 Dmitry Gutov Fix default-directory in changeset diffs after vc-print-log * lisp/vc/log-view.el (log-view-diff-common): Move the revision-granularity check back into log-view-diff-changeset. (log-view-diff-changeset): Bind default-directory to the current VC root. Rename project-directories to project-roots * lisp/progmodes/project.el (project-search-path-function) (project-search-path): Update the docstring. (project-directories): Rename to `project-roots', update all callers and implementations accordingly. (project-root): Remove. * lisp/progmodes/xref.el (xref-find-regexp): Use * instead of *.* as the default file mask. 2015-07-30 Eli Zaretskii Support long URLs in w32-shell-execute * src/w32fns.c (Fw32_shell_execute): Don't use filename_to_utf16 and filename_to_ansi to convert the DOCUMENT argument, as it could be a URL that is not limited to MAX_PATH characters. Instead, use MultiByteToWideChar directly, and allocate heap storage as required to accommodate the converted string. Likewise with non-Unicode operation. Ensure OPERATION is null-terminated, even if it is longer than 32K bytes. (Bug#21158) 2015-07-30 Stephen Leake * lisp/vc/vc-mtn.el (vc-mtn-find-revision): Handle null rev. 2015-07-29 Stephen Leake Add docs for display-buffer action display-buffer-use-some-frame * lisp/window.el (display-buffer-use-some-frame): Improve doc string. * doc/lispref/windows.texi (Display Action Functions): Add display-buffer-use-some-frame. * etc/NEWS: Mention display-buffer-use-some-frame. Add display-buffer action display-buffer-use-some-frame * lisp/window.el (display-buffer-use-some-frame): New. Handle vc-mtn error more gently * lisp/vc/vc-mtn.el (vc-mtn-mode-line-string): Return "" when branch is nil. 2015-07-29 Michael Albinus Fix Tramp problems with multihops, and nc * lisp/net/tramp-cache.el (tramp-get-file-property) (tramp-set-file-property, tramp-flush-file-property) (tramp-get-connection-property, tramp-set-connection-property) (tramp-flush-connection-property): Remove hop from vector. * lisp/net/tramp-gw.el (tramp-gw-process-filter): Ignore errors. * lisp/net/tramp-sh.el (tramp-methods) : Separate STDERR. (tramp-do-copy-or-rename-file-out-of-band): Increase timeout of netstat to 60". (tramp-sh-handle-start-file-process): Do not show hops in prompt. * lisp/net/tramp.el (tramp-handle-file-name-as-directory) (tramp-handle-file-name-directory, tramp-handle-file-remote-p): Keep hop in result. * test/automated/tramp-tests.el (tramp-test02-file-name-dissect): Add hop tests. 2015-07-29 Eli Zaretskii Resurrect highlighting of repeated words by Flyspell Mode * lisp/textmodes/flyspell.el (flyspell-word): Leave some non-word characters between point and the doublon candidate, so that flyspell-word-search-backward finds it. (Bug#21157) Fix redisplay of large images on expose events * src/xdisp.c (expose_window, expose_area): Avoid comparisons between signed negative values and unsigned values. This prevented redisplay on expose events when the window showed a very large image. 2015-07-29 Paul Eggert Remove unnecessary stack overflow dependency * configure.ac (HAVE_STACK_OVERFLOW_HANDLING): Don't worry about $ac_cv_header_sys_resource_h and $ac_cv_func_getrlimit, as they're no longer needed for this. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00443.html 2015-07-28 Andy Moreton (tiny change) Pacify compilation -Wincompatible-pointer-types warnings * src/w32proc.c (Fw32_get_codepage_charset): Avoid compilation warning. (CompareStringW_Proc): New typedef. (w32_compare_strings): Use it, to pacify compiler warnings under "-Wincompatible-pointer-types". * src/w32fns.c (GetDiskFreeSpaceExW_Proc) (GetDiskFreeSpaceExA_Proc): New typedefs. (Ffile_system_info): Use them, to pacify compiler warnings under "-Wincompatible-pointer-types". 2015-07-28 Paul Eggert Fix subscript error in calculate_direct_scrolling Use slightly-longer cost vectors. Without this change, calculate_direct_scrolling can have a subscript violation when FRAME_LINES (frame) <= delta. * src/scroll.c (calculate_scrolling, calculate_direct_scrolling) (line_ins_del, do_line_insertion_deletion_costs): Allocate and use slightly-larger cost vectors, ones based on FRAME_TOTAL_LINES instead of FRAME_LINES. Fix uninitalized value in encode_coding_object * src/coding.c (encode_coding_object): Also initialize coding->src_pos and coding->src_pos_byte when NILP (src_object). This avoids later use of uninitialized storage. 2015-07-27 Xue Fuqiao * doc/lispref/variables.texi (Variable Aliases): Typo fix. (Bug#21141) 2015-07-27 Paul Eggert Merge from gnulib This incorporates: 2015-07-27 time_rz: port better to MinGW 2015-07-27 time: port __need_time_t to MinGW * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/strftime.c, lib/time.in.h, lib/time_rz.c: Copy from gnulib. * lib/time-internal.h: New file, from gnulib. 2015-07-27 Eli Zaretskii Handle NULL pointers in w32heap.c allocation routines * src/w32heap.c (FREEABLE_P): Consider a NULL pointer "not freeable". (realloc_after_dump, realloc_before_dump, free_before_dump): Handle NULL pointers gracefully, as Emacs now seems to expect that. Fix Cairo build without PNG * src/image.c: Define PNG function when USE_CAIRO is defined, even if HAVE_PNG is not. (Bug#21133) MS-Windows follow-up for recent TZ-related changes * nt/mingw-cfg.site (ac_cv_header_pthread_h) (gl_cv_sys_struct_timespec_in_pthread_h): Force to "no", to avoid picking up 'struct timespec' from pthread.h, if it is installed on the user's system. We want either the definitions from MinGW system headers, if available, or the Gnulib replacements if not. * nt/inc/ms-w32.h : Don't define, as we now use lib/time.h. * lib/time.in.h: Don't let __need_* symbols affect what happens on MinGW. These symbols are defined by MinGW system headers, but we don't want that to affect whether Gnulib portions of the header are or aren't used. 2015-07-26 Paul Eggert * src/ftfont.c (ftfont_close): Add comment re Bug#20890. New optional ZONE arg for format-time-string etc. This simplifies time conversions in other time zones. It also prevents display-time-world tampering with TZ (Bug#21020). * admin/admin.el (add-release-logs): Use improved add-log-time-format API. * admin/merge-gnulib (GNULIB_MODULES): Add time_rz, timegm. (GNULIB_TOOL_FLAGS): Avoid flexmember, setenv, unsetenv. * configure.ac (tzalloc): Remove test for this, since Emacs no longer uses HAVE_TZALLOC directly. * doc/lispref/os.texi (Time of Day, Time Conversion) (Time Parsing): * etc/NEWS: Document the new behavior. Merge from gnulib, incorporating: 2015-07-25 strftime: fix newly-introduced bug on Solaris 2015-07-23 fprintftime, strftime: use timezone_t args * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib/strftime.c, lib/strftime.h, lib/time.in.h, m4/sys_time_h.m4: * m4/time_h.m4: Update from gnulib. * lib/time_rz.c, lib/timegm.c, m4/time_rz.m4, m4/timegm.m4: New files from gnulib. * lisp/time-stamp.el (time-stamp-string): * lisp/time.el (display-time-world-list) (display-time-world-display): Use new API, with time zone arg. * lisp/time.el (display-time-world-display): Fix race when current-time advances while we're running. * lisp/vc/add-log.el (add-log-iso8601-time-zone) (add-log-iso8601-time-string): Accept optional time zone arg. * lisp/vc/add-log.el (add-change-log-entry): * lisp/vc/log-edit.el (log-edit-changelog-ours-p): Use new arg. * nt/gnulib.mk: Propagate lib/gnulib.mk changes here. Add rules for the time module, since they're now needed for tzalloc etc. * src/conf_post.h (getenv_TZ, setenv_TZ): New macros. (emacs_getenv_TZ, emacs_setenv_TZ): New decls. * src/editfns.c: Include errno.h. (set_time_zone_rule): Omit unnecessary forward decl. (initial_tz): Remove, replacing with ... (local_tz, wall_clock_tz, utc_tz): New static vars and constants. (tzeqlen): New constant; prefer it to (sizeof "TZ=" - 1). (emacs_localtime_rz, emacs_mktime_z, xtzalloc, xtzfree) (tzlookup): New static functions. (init_editfns): New arg DUMPING. All uses changed. (init_editfns): Omit most initialization if dumping, not if !initialized. Initialize wall_clock_tz and local_tz. (emacs_nmemftime, format_time_string): Time zone argument can now be any time zone, not just a boolean for UTC or local time. All callers changed. (Fformat_time_string, Fencode_time, Fcurrent_time_string) (Fcurrent_time_zone): New optional arg ZONE. (Fdecode_time, Fset_time_zone_rule): ZONE arg can now also take the same form as with the other new additions. (decode_time_zone): Remove; no longer needed. (tzvalbuf): Now file-scope. (emacs_getenv_TZ, emacs_setenv_TZ): New functions. (syms_of_editfns): Define Qwall. * src/editfns.c (mktime_z) [!HAVE_TZALLOC]: * src/systime.h (mktime_z, timezone_t, tzalloc, tzfree) [!HAVE_TZALLOC]: Remove; now supplied by gnulib. * src/emacs.c (main): * src/lisp.h (init_editfns): Adjust to init_editfns API change. 2015-07-26 Shigeru Fukaya Fix infinite loop in delete-consecutive-dups * lisp/subr.el (delete-consecutive-dups): Work even if the last element is nil (Bug#20588). Avoid rescan of a circular list in deletion of last element. 2015-07-26 Martin Rudalics Have `x-frame-geometry' return nil for terminal and initial frames (Bug#21132) * src/nsfns.m (Fx_frame_geometry): * src/xfns.c (Fx_frame_geometry): Return nil for initial and terminal frames. * src/w32fns.c (Fw32_frame_menu_bar_size, Fw32_frame_rect) (Fx_frame_geometry): Return nil for terminal frames 2015-07-26 HOSOYA Kei (tiny change) * etc/tutorials/TUTORIAL.ja: Improve translation. 2015-07-25 Eli Zaretskii Avoid crashes when w32 GUI functions are called in -batch * src/w32fns.c (Fx_frame_geometry, Fw32_frame_rect) (Fw32_frame_menu_bar_size, Fw32_send_sys_command): Don't call FRAME_W32_WINDOW for initial frame. (Bug#21132) Fix flyspell-check-previous-highlighted-word * lisp/textmodes/flyspell.el (flyspell-check-previous-highlighted-word): Really accept a numeric argument, as the doc string describes. Fix an off-by-one error in looking up overlays, so invocation with point immediately after a word would check that word. Clarify the doc string as Suggested by N. Jackson . (Bug#21129) 2015-07-24 Michael Albinus Minor cleanup in tramp-tests.el * test/automated/tramp-tests.el (tramp-test31-*, tramp-test32-*): Implement using the documented interface `tramp-connection-properties', rather than with internal functions. 2015-07-24 Harald Hanche-Olsen (tiny change) Pass lambdas to `skeleton-read' * lisp/skeleton.el (skeleton-read): Allow PROMPT to be a function. * lisp/textmodes/sgml-mode.el (sgml-attributes, sgml-value): Pass lambdas to `skeleton-read' (bug#20386). 2015-07-24 Eli Zaretskii * INSTALL (DETAILED BUILDING AND INSTALLATION): Mention --without-imagemagick. Don't require GUI frames and mouse for Flyspell menus * lisp/textmodes/flyspell.el (flyspell-correct-word-before-point) (flyspell-emacs-popup): Require neither a GUI frame nor mouse support, since pop-up menus work with text terminals and can be controlled via the keyboard. Improve documentation of Flyspell commands * doc/emacs/fixit.texi (Spelling): Mention Flyspell commands that can be invoked via the keyboard. Mention those commands by name and add them to the fn index. (Bug#21125) 2015-07-23 Michael Albinus Fix some Tramp problems with HP-UX * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Add "tab0" to stty call. * test/automated/tramp-tests.el (tramp-persistency-file-name): Set to nil. (tramp--test-hpux-p): New defun. (tramp--test-utf8): Use it. 2015-07-22 Glenn Morris * build-aux/update-subdirs: Put "no-update-autoloads: t" in output. 2015-07-22 Eli Zaretskii Fix point positioning in ffap-next-guess * lisp/ffap.el (ffap-url-at-point): Set ffap-string-at-point-region, as our callers expect. This was clobbered as part of fixing bug#5673. (Bug#21107) (ffap-gopher-at-point): Set ffap-string-at-point-region. 2015-07-22 Martin Rudalics * lisp/window.el (even-window-sizes): Fix customization type. Optionally even widths of `display-buffer' windows. (Bug#21100) * lisp/window.el (quit-restore-window): Restore width if requested. (display-buffer-record-window): Record width when window is reused and horizontally combined. (even-window-sizes): New option to allow evening window widths. (even-window-heights): Defalias to `even-window-sizes'. (window--even-window-heights): Rename to `window--even-window-sizes'. Handle side-by-side windows. (display-buffer-use-some-window): Call `window--even-window-sizes' instead of `window--even-window-heights'. * lisp/help.el (resize-temp-buffer-window): Fix indentation. * doc/lispref/windows.texi (Choosing Window Options): Describe `even-window-sizes'. (Coordinates and Windows): Fix typo. 2015-07-22 Stephen Leake Add file name to autoload error messages * lisp/emacs-lisp/autoload.el (autoload-save-buffers): Add condition-case to add file name to error message. 2015-07-22 Michael Albinus * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Use 0.0.0.1 as test host. 2015-07-21 Stefan Monnier (advice--called-interactively-skip): Fix inf-loop (bug#21083) * lisp/emacs-lisp/nadvice.el (advice--called-interactively-skip): Fix inf-loop (bug#21083). 2015-07-21 Glenn Morris * test/automated/package-test.el (package-test-signed): Update for recent changes. * test/automated/elisp-mode-tests.el (elisp-xref-finds-both-function-and-variable) (elisp-xref-finds-only-function-for-minor-mode): Update for recent xref name changes. 2015-07-21 Dmitry Gutov Make eldoc timer non-repeatable * lisp/emacs-lisp/eldoc.el (eldoc-schedule-timer): Make the timer non-repeatable. Since it's on post-command hook, that just wasted CPU cycles. 2015-07-21 Michael Albinus Mention `tramp-connection-properties' in NEWS Sync with Tramp repository * doc/misc/tramp.texi (Configuration): Note, that Tramp must be required prior changing its configuration. (Connection caching, Predefined connection information) (Remote shell setup): Fix typos. (Predefined connection information): Describe, how to overwrite parameters of `tramp-methods'. (Remote programs, Remote processes, Traces and Profiles): Simplify example. (Remote programs): Remove superfluous comment. * doc/misc/trampver.texi: Update release number. * lisp/net/tramp-cache.el (tramp-connection-properties): Adapt docstring. * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): New defun. (tramp-gvfs-handle-copy-file, tramp-gvfs-handle-rename-file): Use it. (tramp-gvfs-handle-make-directory): Reimplement PARENTS handling, "gvfs-mkdir -p ..." does not work robust. (tramp-gvfs-maybe-open-connection): Adapt `tramp-get-method-parameter' call. * lisp/net/tramp-sh.el (tramp-methods): Add `tramp-remote-shell-login' parameter where it fits. (tramp-get-remote-path): Use it. (tramp-make-copy-program-file-name): Fix quoting for "psftp" method. (all): Adapt `tramp-get-method-parameter' calls. * lisp/net/tramp.el (tramp-methods): Adapt docstring. (tramp-get-method-parameter): Replace argument METHOD by VEC. Check also for hits in `tramp-connection-properties'. Adapt docstring. (tramp-get-remote-tmpdir): Cache only the local name of tmpdir. (all): Adapt `tramp-get-method-parameter' calls. * lisp/net/trampver.el: Update release number. * test/automated/tramp-tests.el (tramp--instrument-test-case): Add "^make-symbolic-link not supported$" to `debug-ignored-errors'. (tramp-test13-make-directory, tramp--test-adb-p) (tramp--test-smb-or-windows-nt-p): Simplify. (tramp--test-ftp-p, tramp--test-gvfs-p): New defuns. (tramp--test-special-characters): Fix docstring. Add gvfs and ftp tests. (tramp--test-utf8): Fix docstring. 2015-07-20 Dmitry Gutov Add new xref-query-replace command * lisp/progmodes/xref.el (xref--match-buffer-bounds): New function, extracted from xref-pulse-momentarily. (xref-query-replace): New command. (xref--query-replace-1): New helper function. (xref--xref-buffer-mode-map): Add `r' binding. 2015-07-20 Paul Eggert Simplify icalendar decoding of Z dates * lisp/calendar/icalendar.el (icalendar--decode-isodatetime): Simplify calculation of time strings with trailing "Z". 2015-07-19 Dmitry Gutov Do not corrupt grep-find-ignored-files * lisp/progmodes/project.el (project-ignores): Change the order of the arguments to nconc, in order not to corrupt grep-find-ignored-files. Add xref-match-item, and use it * lisp/progmodes/xref.el (xref-match-bounds): New generic function. (xref-file-location): Add reader for the column slot. (xref-match-item): New class. (xref-match-bounds): A method implementation for it. (xref-make-match): New constructor function. (xref--current-item): New private variable. (xref-pulse-momentarily): Use it. (xref--pop-to-location): Change the first argument to an xref item, instead of location, bind xref--current-item. Update all callers. (xref-next-line, xref-prev-line, xref--next-error-function) (xref--mouse-2): Look for the property `xref-item', instead of `xref-location'. (xref--item-at-point): Likewise. This function replaces `xref-location-at-point'. Update all callers. (xref--insert-xrefs): Add the `xref-item' text property, instead of `xref-location'. (xref--collect-match): Use xref-make-match. * lisp/progmodes/xref.el (xref-item): Rename from `xref--xref'. Update all references. * lisp/progmodes/xref.el (xref--xref): Rename the `description' slot to `summary'. vc-hg: Perform the print-log call asynchronously * lisp/vc/vc-hg.el (vc-hg-print-log): Perform the call asynchronously (bug#21067). Add xref-after-jump-hook and xref-after-return-hook * lisp/progmodes/xref.el (xref-after-jump-hook) (xref-after-return-hook): New hooks. (xref-pulse-on-jump): Remove, in favor of the above. (xref-pulse-momentarily): Rename from xref--maybe-pulse. (xref--pop-to-location, xref--display-position) (xref-pop-marker-stack): Use the new hooks, as requested in http://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00213.html 2015-07-19 Bozhidar Batsov * lisp/progmodes/js.el (js-mode): Correct the lighter. 2015-07-19 Leo Liu Fix a bug in cfengine3-mode * lisp/progmodes/cfengine.el (cfengine3-mode): Handle nil eldoc-documentation-function. 2015-07-18 Julien Danjou sieve-mode: support "body" test command * lisp/gnus/sieve-mode.el (sieve-font-lock-keywords): Add missing "body" test command. 2015-07-18 Eli Zaretskii Fix info-apropos when the default encoding is Latin-N * lisp/info.el (Info-find-node-2): Reset the buffer's encoding to 'undecided', so that it is set to the encoding of the Info file we are about to insert. Otherwise, 'info-apropos' will fail to find some index nodes in some UTF-8 encoded files, if the buffer's previous encoding is Latin-N or some such. 2015-07-18 Ivan Andrus * lisp/epg.el (epg--start): Check that gpgconf can be found before calling it. Expose more file types to OS X that Emacs understands * nextstep/Cocoa/Emacs.base/Contents/Info.plist: Add editor role for sty, dtx, json, and org files. Export UTIs for el, elc, and org files. 2015-07-18 Eli Zaretskii Fix visual-order cursor movement when lines are truncated * src/xdisp.c (Fmove_point_visually): When lines are truncated, simulate display in a window of infinite width, to allow move_it_* functions reach positions outside of normal window dimensions. Remove code that tried to handle a subset of these situations by manual iteration of buffer text. (Bug#17777) Fix following Info cross-references to anchors * lisp/info.el (Info-read-subfile): Add to the returned value the length of subfile preamble, after converting it to file's byte offset, as expected by the caller. Use bufferpos-to-filepos. (Info-find-node-2): If searching for a node with a 1000-character slop fails, try again with a 10000-character slop, to account for known bugs in Texinfo 5.0 and 5.1. (Bug#21055) * lisp/international/mule-util.el (bufferpos-to-filepos): New function. * etc/NEWS: Mention bufferpos-to-filepos. Fix scrolling backwards on TTY frames under scroll-conservatively * src/xdisp.c (move_it_vertically_backward): Fix off-by-one error in moving backwards on TTY frames. (Bug#21080) 2015-07-17 Dmitry Gutov Consider a jsdoc tag to be a beginning of a paragraph as well * lisp/progmodes/js.el (js-mode): Change c-paragraph-start to consider a jsdoc tag to be a beginning of a paragraph as well. 2015-07-17 Artur Malabarba * lisp/emacs-lisp/package.el: Fix warnings. * lisp/emacs-lisp/package.el (package-buffer-info): Add author and maintainers to `package-buffer-info'. * lisp/emacs-lisp/package.el: Many small changes. Replace all instances of 'face with 'font-lock-face. (describe-package-1): Improve some strings and move the summary up the list. (package-install-file): Update docstring. (package-menu-hide-package): Bind to `H'. * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Fix error handling. 2015-07-17 Paul Eggert Fix hang with large yanks This should fix the bug fixed by Mike Crowe's patch in: https://lists.gnu.org/archive/html/emacs-devel/2015-07/msg00106.html A problem in this area has been reported by several users; see Bug#16737, Bug#17101, Bug#17026, Bug#17172, Bug#19320, Bug#20283. This fix differs from Mike Crowe's patch in that it should avoid a race condition that could lose SIGIO signals. ignore_sigio dates back to the 1980s when some platforms couldn't block signals, and could only ignore them, which led to races when signals arrived while being ignored. We shouldn't have to worry about those old platforms now. * src/dispextern.h, src/sysdep.c (ignore_sigio): Remove. * src/emacs.c (shut_down_emacs): Don't call ignore_sigio; unrequest_sigio should suffice. * src/keyboard.c (kbd_buffer_store_buffered_event): Use unrequest_sigio, not ignore_sigio. (kbd_buffer_get_event): Call request_sigio when getting the ball rolling again. 2015-07-17 Artur Malabarba * lisp/obsolete/longlines.el (longlines-search-function): Fallback on `isearch-search-fun-default'. 2015-07-17 Tassilo Horn Support @-mentions * lisp/net/rcirc.el (rcirc-completion-at-point): Support completion of mentions/messages with @nick instead of just nick. 2015-07-16 Michael Albinus Fix bug#20943 * lisp/autorevert.el (auto-revert-handler): Do not check for `buffer-modified-p'. * lisp/files.el (buffer-stale--default-function): Check for `buffer-modified-p'. * test/automated/auto-revert-tests.el (auto-revert-test02-auto-revert-mode-dired): Adapt test. 2015-07-16 Ari Roponen Fix delete-dups bug on long lists * lisp/subr.el (delete-dups): Don't mistakenly keep some dups when applied to long lists. 2015-07-16 Paul Eggert Better heuristic for C stack overflow Improve the heuristic for distinguishing stack overflows from other SIGSEGV causes (Bug#21004). Corinna Vinschen explained that the getrlimit method wasn't portable to Cygwin; see: https://www.cygwin.com/ml/cygwin/2015-07/msg00092.html Corinna suggested pthread_getattr_np but this also has problems. Instead, replace the low-level system stuff with a simple heuristic based on known good stack addresses. * src/eval.c, src/lisp.h (near_C_stack_top): New function. * src/sysdep.c: Don't include . (stack_direction): Remove. All uses removed. (stack_overflow): New function. (handle_sigsegv): Use it instead of incorrect getrlimit heuristic. Make SEGV fatal in non-main threads. 2015-07-16 Daiki Ueno epg: Automatically start pinentry server * lisp/epg-config.el (epg-gpgconf-program): New variable. * lisp/epg.el (epg--start): Call `pinentry-start' if allow-emacs-pinentry is set in ~/.gnupg/gpg-agent.conf. 2015-07-15 Katsumi Yamaoka * lisp/gnus/nnimap.el: Fix my last bogus change. Reinstall Stefan Monnier's change that was made in <83d824bc4041332f338ad7e5e830f443535aa300>. 2015-07-15 Paul Eggert Merge from gnulib This incorporates: 2015-07-05 acl-permissions: Document FreeBSD ACL_TYPE_NFS4 acls 2015-07-05 acl-permissions: Fix on FreeBSD 2015-07-05 file-has-acl, acl-permissions: fix some more HP-UX typos * lib/acl-internal.c, lib/acl-internal.h, lib/get-permissions.c: * lib/set-permissions.c: Copy from gnulib. Port to stricter C99 * src/keyboard.h (kbd_buffer_store_event_hold): Don't return a void expression. 2015-07-15 Xue Fuqiao * doc/emacs/frames.texi (Creating Frames): Fix the command `C-x 5 m' runs. 2015-07-14 Michael Albinus New autorevert tests * test/automated/auto-revert-tests.el: New file. 2015-07-14 Paul Eggert Clear gcprolist etc. after stack overflow After stack overflow, command_loop calls init_eval, and this needs to clear gcprolist and byte_stack_list (Bug#20996). * src/alloc.c (init_alloc): Move gcprolist and byte_stack_list initialization from here ... * src/eval.c (init_eval): ... to here. 2015-07-13 Xue Fuqiao * doc/emacs/windows.texi (Pop Up Window): Fix the description of `C-x 4 m'. 2015-07-13 YAMAMOTO Mitsuharu Avoid deprecated enums in mac-ct font backend driver * src/macfont.m (mac_font_copy_default_descriptors_for_language) (mac_ctfont_get_advance_width_for_glyph) (mac_ctfont_get_bounding_rect_for_glyph): Avoid deprecated enums. Cache font family in mac-ct font backend driver * src/macfont.m (macfont_family_cache): New variable. (syms_of_macfont): Initialize it. (macfont_available_families_cache): New variable. (macfont_invalidate_family_cache, macfont_get_family_cache_if_present) (macfont_set_family_cache, macfont_invalidate_available_families_cache) (macfont_handle_font_change_notification) (macfont_init_font_change_handler) (macfont_copy_available_families_cache): New functions. (macfont_create_family_with_symbol): Use font family caches. (macfont_list, macfont_list_family): Use macfont_copy_available_families_cache instead of mac_font_create_available_families. 2015-07-12 Dmitry Gutov Show the default value in the prompt * lisp/progmodes/xref.el: Add `M-?' binding for xref-find-references. Declare functions `grep-read-files' and `grep-expand-template'. (xref--read-identifier): Show the default value in the prompt. * lisp/progmodes/xref.el (xref-find-regexp): When called with prefix argument, ask for file patterns to search as well. When prompting for the directory, require an existing one. (xref-collect-matches): Add a new argument, FILES. Use it in the above function. Add `project-ignores' * lisp/progmodes/project.el (project-ignores): New generic function, and an implementation for the VC project type. * lisp/progmodes/xref.el (xref--rgrep-command): Split, as a variant of rgrep-default-command that handles a generic list of ignores. (xref-collect-matches): Use it, and pass through to it the value of the newly added argument. (xref-find-regexp): Handle ignored paths within the project. Remove outdated comment. * lisp/vc/vc.el (vc-default-ignore-completion-table): Skip the comments and the empty lines. 2015-07-12 Xue Fuqiao * doc/emacs/buffers.texi (Misc Buffer): Add a cross reference. 2015-07-11 Eric Abrahamsen gnus-registry.el: Correct function argument order * lisp/gnus/gnus-registry.el (gnus-registry--set/remove-mark): Reverse the order of function arguments. 2015-07-11 Dmitry Gutov Bind grep-highlight-matches to nil * lisp/progmodes/xref.el (xref-collect-matches): Bind grep-highlight-matches to nil (bug#20728). 2015-07-11 Nikolaus Rath nnimap.el: Fix IMAP message size parsing * lisp/gnus/nnimap.el (nnimap-transform-headers): Don't assume that UID comes before RFC822.SIZE. 2015-07-10 Stefan Monnier * lisp/gnus/nnimap.el: Clean up "unused var" warnings (auth-source-creation-prompts): Declare. (nnimap-retrieve-headers, nnimap-status-message) (nnimap-request-create-group, nnimap-request-delete-group) (nnimap-close-group, nnimap-request-move-article) (nnimap-request-accept-article, nnimap-request-newgroups) (nnimap-request-post, nnimap-dummy-active-number) (nnimap-save-mail-spec, nnimap-get-groups): Add _ to unused vars. (nnimap-parse-flags): Remove unused var `p'. (nnimap-retrieve-group-data-early): Remove unused var `groups'. (nnimap-flags-to-marks): Remove unused var `totalp'. 2015-07-10 Andy Moreton (tiny change) * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 20MB. 2015-07-10 YAMAMOTO Mitsuharu * src/macfont.m (macfont_list): Ignore font families lacking font descriptors. 2015-07-09 Dmitry Gutov Don't check the exit status, it can be misleading * lisp/progmodes/xref.el (xref-collect-matches): Don't check the exit status, it can be misleading. Introduce a Project API * lisp/progmodes/project.el: New file. * lisp/cedet/ede.el (project-try-ede): New function. (project-root): New implementation. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Set project-search-path-function. (elisp--xref-find-references): Delegate some logic to project-search-path. (elisp-search-path): New function. (elisp-xref-find): Don't implement `matches' anymore. * lisp/progmodes/etags.el: Don't implement `matches'. Delegate some logic to project-search-path. (etags-search-path): New function. * lisp/progmodes/xref.el (xref-find-function): Remove `matches' from the API. (xref-find-regexp): Move whatever common logic was in elisp and etags implementations, and search the directories returned by project-directories and project-search-path. 2015-07-09 Nicolas Petton * test/automated/map-tests.el (test-map-delete-return-value): Uncomment test. Add support for gv.el in map.el * lisp/emacs-lisp/map.el (map-elt, map-delete): Declare a gv-expander. * lisp/emacs-lisp/map.el (map-put): Refactor using `setf' and `map-elt'. * test/automated/map-tests.el: Update tests to work with the new implementations of map-elt and map-put. 2015-07-09 Glenn Morris * lisp/emacs-lisp/debug.el (debug-help-follow): Use describe-symbol. 2015-07-09 Dmitry Gutov Syntax-propertize until the end of the line first * lisp/progmodes/xref.el (xref--collect-match): Syntax-propertize until the end of the line first. 2015-07-09 Xue Fuqiao * doc/emacs/files.texi (File Archives): Add a cross reference. 2015-07-08 Nikolaus Rath nnimap.el: Handle plain value for nnimap-stream * lisp/gnus/nnimap.el (nnimap-open-connection-1): Always query capabilities, so that a 'plain value for the `nnimap-stream' server variable is handled correctly. * doc/misc/gnus.texi (Customizing the IMAP Connection): Document the 'plain option. 2015-07-08 Leo Liu Fix bug in thing-at-point--bounds-of-well-formed-url * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url): Make sure boundary contains current point. 2015-07-08 Dmitry Gutov * lisp/progmodes/xref.el (xref-collect-matches): Use `nreverse' in the end. Declare whitespace-line-column a safe file-local * lisp/whitespace.el (whitespace-line-column): Declare to be a safe file-local when the value is an integer. 2015-07-08 Eric Abrahamsen gnus-group.el: Check if group names are already strings * lisp/gnus/gnus-group.el (gnus-group-group-name): The group name may already be a string. Specifically, in the group list reached from the *Server* buffer, the 'gnus-group text property returns a string. Everywhere else it returns a symbol. nnimap.el: Remove unused let variables * lisp/gnus/nnimap.el (nnimap-request-group): Variables are not used. 2015-07-08 Eli Zaretskii Support "maximized" property of runemacs's shortcut * nt/runemacs.c (WinMain): If runemacs is invoked "maximized", pass the '--maximized' switch to Emacs. Support "minimized" property of runemacs's shortcut * nt/runemacs.c (WinMain): If runemacs is invoked "minimized", pass the '--iconic' switch to Emacs. (Bug#20991) 2015-07-08 Xue Fuqiao Doc fixes * doc/emacs/files.texi (Diff Mode): Fix the description of `C-c C-w' in Diff mode. * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu): Add a cross reference. 2015-07-08 Nicolas Richard * lisp/obsolete/landmark.el: Add Obsolete-since header. 2015-07-07 Glenn Morris * test/automated/ert-tests.el (ert-test-deftest): Update for recent changes. 2015-07-07 Stefan Monnier (gv-setter, gv-synthetic-place, gv-delay-error): New funs/macros * lisp/emacs-lisp/gv.el (gv-setter): New function. (gv-invalid-place): New error. (gv-get): Use them. (gv-synthetic-place, gv-delay-error): New places. * lisp/emacs-lisp/cl-generic.el (cl--generic-setf-rewrite): Remove. (cl-defgeneric, cl-defmethod): Use gv-setter. 2015-07-07 Fabrice Popineau Make vc-tests work with MSYS svn program * lisp/vc/vc-svn.el (vc-svn-create-repo): Fix the file:// URL when svn is an MSYS program. 2015-07-07 Ken Brown Improve recent change to emacsclient on Cygwin * lisp/server.el (server-process-filter): Remove redundant check that 'cygwin-convert-file-name-from-windows' is defined as a function on Cygwin. Don't call that function unless its argument starts with a drive letter. 2015-07-07 Artur Malabarba * lisp/emacs-lisp/package.el (package-compute-transaction): Fix void variable due to `found-something' being in the wrong `let'. 2015-07-07 Nicolas Richard * lisp/play/landmark.el: Move to lisp/obsolete/. 2015-07-07 Martin Rudalics Have `x-show-tip' handle `right' and `bottom' frame parameters * src/nsfns.m (compute_tip_xy, Fx_show_tip) * src/w32fns.c (compute_tip_xy, Fx_show_tip) * src/xfns.c (compute_tip_xy, Fx_show_tip): Allow aligning tooltips also via `right' and `bottom' frame parameters. 2015-07-07 Stefan Monnier Add online-help support to describe types * lisp/help-fns.el (describe-symbol-backends): Move to help-mode.el. (describe-symbol): Improve the selection of default. * lisp/help-mode.el: Require cl-lib. (describe-symbol-backends): Move from help-fns.el. (help-make-xrefs): Use it. * lisp/emacs-lisp/cl-extra.el (describe-symbol-backends): Add entry for types. (cl--typedef-regexp): New const. (find-function-regexp-alist): Add entry for types. (cl-help-type, cl-type-definition): New buttons. (cl-find-class): New function. (cl-describe-type): New command. (cl--describe-class, cl--describe-class-slot) (cl--describe-class-slots): New functions, moved from eieio-opt.el. * lisp/emacs-lisp/cl-generic.el (cl--generic-method-documentation) (cl--generic-all-functions, cl--generic-specializers-apply-to-type-p): New functions. Moved from eieio-opt.el. (cl--generic-class-parents): New function, extracted from cl--generic-struct-specializers. (cl--generic-struct-specializers): Use it. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Use pcase-dolist. Improve constructor's docstrings. (cl-struct-unknown-slot): New error. (cl-struct-slot-offset): Use it. * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Record the type definition in current-load-list. * lisp/emacs-lisp/eieio-core.el (eieio--known-slot-names): New var. (eieio--add-new-slot): Set it. (eieio-defclass-internal): Use new name for current-load-list. (eieio-oref): Add compiler-macro to warn about unknown slots. * lisp/emacs-lisp/eieio.el (defclass): Update eieio--known-slot-names as compile-time as well. Improve constructor docstrings. * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio--help-print-slot, eieio-help-class-slots): Move to cl-extra.el. (eieio-class-def): Remove button. (eieio-help-constructor): Use new name for load-history element. (eieio--specializers-apply-to-class-p, eieio-all-generic-functions) (eieio-method-documentation): Move to cl-generic.el. (eieio-display-method-list): Use new names. * lisp/emacs-lisp/lisp-mode.el (lisp-imenu-generic-expression): Add "define-linline". (lisp-fdefs): Remove "defsubst". (el-fdefs): Add "defsubst", "cl-defsubst", and "define-linline". * lisp/emacs-lisp/macroexp.el (macroexp--warned): New var. (macroexp--warn-and-return): Use it to avoid inf-loops. Add `compile-only' argument. 2015-07-06 Fabián Ezequiel Gallina python.el: Fix local/remote shell environment setup * lisp/progmodes/python.el (python-shell-with-environment): Fix remote/local environment setup. * test/automated/python-tests.el (python-shell-with-environment-1) (python-shell-with-environment-2): New tests. 2015-07-06 Glenn Morris * lisp/simple.el (set-variable): Tweak recent doc fix. 2015-07-06 Ken Brown * src/sysdep.c (handle_sigsegv) [CYGWIN]: Increase STACK_DANGER_ZONE. 2015-07-06 Glenn Morris * lisp/simple.el (set-variable): Use user-error for type mismatch. 2015-07-06 Ken Brown * src/emacs.c (main): Don't increase the stack size on Cygwin. 2015-07-06 Stefan Monnier (describe-symbol): Rewrite describe-function-or-variable * lisp/help-fns.el (describe-symbol-backends): New var. (help-xref-stack-item): Declare. (describe-symbol): Rename from describe-function-or-variable. Rewrite using describe-symbol-backends instead of help-xref-interned. * lisp/help.el (help-map): Use it. * lisp/help-mode.el (help-symbol, help-follow-symbol): Use it. (help-xref-interned): Make it into an obsolete alias. * lisp/emacs-lisp/eieio-base.el (eieio-persistent-save): Don't ignore `file' arg (bug#20972). Always use utf-8-emacs. Use with-temp-buffer and cl-letf. 2015-07-06 Wolfgang Jenkner Fix parsing glitches in dired-mark-sexp (bug#13575) * lisp/dired-x.el (dired-x--string-to-number): New function. (dired-mark-sexp): Use it. Tweak dired-re-inode-size. Fix usage of directory-listing-before-filename-regexp. Consider forward-word harmful and replace it. Add more verbiage in comments and doc string. 2015-07-06 Fabián Ezequiel Gallina python.el: Respect process environment for remote shells * lisp/progmodes/python.el (python-shell-calculate-process-environment): Calculate process-environment or tramp-remote-process-environment depending whether current file is remote. (python-shell-calculate-exec-path): Calculate exec-path or tramp-remote-path depending whether current file is remote. (python-shell-with-environment): New macro. (python-shell-prompt-detect, python-shell-calculate-command) (python-shell-make-comint, python-check): Use it. python.el: Avoid making let-bound defvars buffer local (Bug#18244) * lisp/progmodes/python.el (python-shell--interpreter) (python-shell--interpreter-args): New vars. (inferior-python-mode, python-shell-make-comint): Use them. python.el: Fixes for IPython 3.x (Bug#20580) * lisp/progmodes/python.el: (python-shell-completion-native-setup): Fix IPython 3.x setup. (python-shell-completion-native-get-completions): Fix timeout logic. python.el: Fix mark-defun behavior (Bug#19665) * lisp/progmodes/python.el (python-mark-defun): New function. * test/automated/python-tests.el (python-mark-defun-1) (python-mark-defun-2, python-mark-defun-3): New tests. 2015-07-05 Glenn Morris * lisp/progmodes/f90.el (f90-type-def-re): Handle attribute lists such as "extends(parent), private". (Bug#20969) * test/automated/f90.el (f90-test-bug20969, f90-test-bug20969b): New tests. 2015-07-05 Paul Eggert Avoid duplicate calls to current_timespec * src/process.c (wait_reading_process_output): Cache current_timespec results as long as we're not waiting. 2015-07-05 Ian Kelling Avoid returning early reading process output due to SIGIO * src/process.c (wait_reading_process_output): Extend the behavior of not breaking due to not finding output when a timer has lowered the timeout to include when SIGIO lowers the timeout. Don't return as fast reading any process output * src/process.c (wait_reading_process_output): The patch for Bug#17647 returns too fast sometimes when reading from any processes. Revert part of it, and limit the timeout more sensibly (Bug#20978). Refactor timeouts in wait_reading_process_output * src/process.c (wait_reading_process_output): Simplify timeouts with an enum. Remove a redundant condition. (Bug#20978) Remove ADAPTIVE_READ_BUFFERING ifdef * src/process.c (make-process, make-pipe-process, deactivate_process) (wait_reading_process_output, read_process_output, send_process) (init_process_emacs): ifdef ADAPTIVE_READ_BUFFERING was originally added in case there was an operating system in which it was not useful. That was 11 years ago and it hasn't happened. Make development easier by not considering the effect of changes on a theoretical OS where this is disabled (Bug#20978). 2015-07-05 Glenn Morris * lisp/simple.el (set-variable): Doc fix. * lisp/progmodes/fortran.el (fortran-line-length): Doc fix. 2015-07-05 Ian Kelling accept-process-output fix This is a followon to the fix for bug#17647 (Bug#20976). * src/process.c (status_notify): Fix too high return in some cases. 2015-07-05 Artur Malabarba * lisp/character-fold.el (character-fold-table): Only fold decompositions if at least one character is non-spacing. (Bug#20975) 2015-07-05 Paul Eggert Merge from gnulib This incorporates: 2015-07-04 file-has-acl, acl-permissions: fix HP-UX typos 2015-07-03 set-permissions.c: adjust acl_from_mode's cpp guard 2015-07-02 update-copyright: fix test failure with perl >= 5.22 2015-07-01 gnulib-common.m4: change the ARFLAGS default to 'cr' 2015-07-01 acl: fix definition of acl_from_mode on FreeBSD * build-aux/update-copyright, doc/misc/texinfo.tex, lib/acl-internal.h: * lib/set-permissions.c, m4/gnulib-common.m4: Copy from gnulib. 2015-07-05 Christoph Wedler Respect `prog-indentation-context' in python.el * lisp/progmodes/python.el (python-indent-guess-indent-offset) (python-indent-context, python-indent--calculate-indentation) (python-info-current-defun) (python-info-dedenter-opening-block-message) (python-info-line-ends-backslash-p) (python-info-beginning-of-backslash) (python-info-continuation-line-p): Use `prog-widen'. (python-indent--calculate-indentation) (python-indent--calculate-levels) (python-indent-calculate-indentation): Use `prog-first-column'. (python-indent--calculate-levels): Simplify. Ignore also initial empty lines for syntax calculation. * lisp/progmodes/python.el (python-indent-context): Return :no-indent for first non-empty line, not just in line 1. * test/automated/python-tests.el (python-indent-base-case) (python-indent-inside-paren-1, python-indent-inside-paren-2) (python-indent-inside-paren-3, python-indent-inside-paren-4) (python-indent-inside-paren-5, python-indent-inside-paren-6) (python-indent-after-backslash-1) (python-indent-after-backslash-2) (python-indent-after-backslash-3) (python-indent-after-backslash-4, python-indent-inside-string-1): Expect :no-indent for first non-empty line. 2015-07-04 Daniel Colascione Factor isearch word description into new function * lisp/isearch.el (isearch--describe-word-mode): New function. (isearch-message-prefix, isearch-query-replace): Use it. 2015-07-04 Eli Zaretskii Fix mouse pointer on w32 when a menu is active * src/w32fns.c (w32_wnd_proc): Don't change the mouse pointer shape while a menu is in use. This started happening since we now send WM_EMACS_SHOWCURSOR messages when the mouse moves. 2015-07-04 Martin Rudalics Fix processing of alpha parameter for Windows tip frames (Bug#17344) * src/w32fns.c (x_create_tip_frame): Fix processing alpha parameter. (Bug#17344) Have `compilation-set-window' use right window for getting fringes (Bug#20829) * lisp/progmodes/compile.el (compilation-set-window): Take `window-fringes' from argument window. 2015-07-03 Glenn Morris Update eieio tests for recent eieio-core change. * test/automated/eieio-test-persist.el (persist-test-save-and-compare): * test/automated/eieio-tests.el (eieio-test-32-slot-attribute-override-2): Replace the deleted eieio--class-v with cl--find-class. 2015-07-03 Martin Rudalics Fix some issues with `window-divider-mode' * lisp/frame.el (window-divider-default-places): New option. (window-divider-mode): Remove option. (window-divider-mode): Make it a "regular" minor mode. (window-divider-width-valid-p): Drop frame- prefix. (window-divider-mode-apply): New argument ENABLE. Drop frame- prefix. Handle `window-divider-default-places'. (frame--window-divider-mode-set-and-apply): Remove. (window-divider-default-bottom-width) (window-divider-default-right-width): Drop :group entries. * lisp/menu-bar.el (menu-bar-bottom-and-right-window-divider) (menu-bar-right-window-divider, menu-bar-bottom-window-divider) (menu-bar-no-window-divider): Set `window-divider-default-places' and call `window-divider-mode'. * doc/emacs/frames.texi (Window Dividers): Document `window-divider-default-places'. 2015-07-02 Xue Fuqiao * doc/emacs/display.texi (Displaying Boundaries): * doc/emacs/search.texi (Word Search): Add cross references. 2015-07-02 Paul Eggert -batch should not affect ‘’ -> `' display * lisp/startup.el (command-line): Do the ‘’ -> `' check even if -batch (Bug#20926). 2015-07-02 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio--class-v): Remove * lisp/emacs-lisp/eieio-core.el, lisp/emacs-lisp/eieio.el: * lisp/emacs-lisp/eieio-opt.el, lisp/emacs-lisp/eieio-compat.el: Use cl--find-class instead. * lisp/term/xterm.el (xterm--query): Fix paren typo (bug#20951). 2015-07-02 Martin Rudalics Some further fixes in Change Window node (Bug#20183) * doc/emacs/windows.texi (Change Window): Replace "rearranging" by "resizing" in section title. Add some concept indices. Suggested by N. Jackson (Bug#20183). * doc/emacs/windows.texi (Change Window): Reference window dividers. Document new `window-divider-mode'. * lisp/frame.el (window-divider-mode): Fix doc-string. * doc/emacs/frames.texi (Window Dividers): New section. Improve accessibility of window dividers (Bug#20183) * lisp/faces.el (window-divider) (window-divider-first-pixel, window-divider-last-pixel): Change membership from `frames' to `window-divider' customization group. * lisp/frame.el (window-divider): New customization group. (window-divider-mode): New minor mode. (window-divider-default-bottom-width) (window-divider-default-right-width): New options. (frame--window-divider-previous-mode): New variable. (frame-window-divider-width-valid-p) (frame--window-divider-mode-apply) (frame--window-divider-mode-set-and-apply): New functions. * lisp/menu-bar.el (menu-bar-options-save): Save window-divider-mode settings. (menu-bar-window-divider-customize) (menu-bar-bottom-and-right-window-divider) (menu-bar-right-window-divider, menu-bar-bottom-window-divider) (menu-bar-no-window-divider): New functions. (menu-bar-showhide-window-divider-menu): New variable. (menu-bar-showhide-menu): Show/hide window divider menu. * lisp/mouse.el (mouse-split-window-vertically) (mouse-split-window-horizontally): Replace `error' by `user-error'. Bind `window-combination-resize' to nil. (top-level): Add/reorder mouse key bindings on mode- and vertical-line. 2015-07-02 Paul Eggert Don't display ‘’ as `' under X in en_GB The curved quote setup code invokes (char-displayable-p ?‘), but this isn’t reliable until after the X frame replaces the terminal frame (Bug#20926). * lisp/international/mule-cmds.el (set-locale-environment): Move curved quote setup code from here ... * lisp/startup.el (command-line): ... to here, after creating the X frame. 2015-07-01 Nicolas Richard * lisp/emacs-lisp/seq.el (seq-difference): Fix typo in docstring. * lisp/ido.el (ido-restrict-to-matches): Add an optional argument to reverse the meaning (Bug#15631). 2015-07-01 Eli Zaretskii Be more tolerant to fonts named "Foobar-12" * src/frame.c (x_set_font): If font_spec_from_name returns nil, don't barf; instead, request a new fontset to be generated. This avoids unnecessarily rejecting fonts named against XLFD rules. See http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html, for the description of the original problem. * lisp/faces.el (set-face-attribute): Don't be fooled too easily by a hyphen in a font's name. Fix value of posn-at-pont in R2L lines * src/keyboard.c (Fposn_at_x_y, Fposn_at_point): Allow X pixel coordinate of -1, for a newline in a right-to-left line that overflowed into the left fringe. 2015-07-01 Stefan Monnier (cl--copy-slot-descriptor): Copy the `props' alist as well * lisp/emacs-lisp/cl-preloaded.el (cl--copy-slot-descriptor-1): Rename from cl--copy-slot-descriptor. (cl--copy-slot-descriptor): New function. Copy the alist (bug#20914). 2015-06-30 Stefan Monnier * lisp/term/xterm.el (xterm--query): Avoid generating garbage (xterm-query-timeout): New var. (xterm--query): Use it. Fallback on async method if we timeout before getting the first byte of the reply (bug#12354). 2015-06-30 Paul Eggert Spelling fixes * lisp/character-fold.el (character-fold-search): * lisp/emacs-lisp/package.el (package-hidden-regexps): Fix typos. 2015-06-30 Xue Fuqiao * doc/emacs/frames.texi (Frame Commands): Typo fix. (Bug#20946) 2015-06-30 Paul Eggert In strings, prefer plain ` and ' to \` and \' * lisp/allout.el (allout-insert-listified): * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): * lisp/ls-lisp.el (ls-lisp-UCA-like-collation) (ls-lisp-string-lessp): * lisp/menu-bar.el (menu-bar-open): * lisp/obsolete/otodo-mode.el (todo-top-priorities): * lisp/progmodes/compile.el (compile): * lisp/progmodes/etags.el (tags-loop-scan): * lisp/progmodes/make-mode.el (makefile-browser-insert-continuation): * lisp/subr.el (posn-actual-col-row): * lisp/term/pc-win.el (x-list-fonts): * lisp/textmodes/texinfmt.el (texinfmt-version): * lisp/textmodes/texnfo-upd.el (texinfo-master-menu): * lisp/time.el (display-time-world-list): * lisp/tmm.el (tmm-menubar): * src/buffer.c (syms_of_buffer): * src/fileio.c (syms_of_fileio): Omit unnecessary and confusing backslash before quote. * lisp/erc/erc.el (erc-cmd-LASTLOG): * lisp/progmodes/flymake.el (flymake-fix-file-name): * lisp/progmodes/vhdl-mode.el (vhdl-in-extended-identifier-p): Fix string that was intended to escape a backslash and not a quote. 2015-06-30 Glenn Morris * leim/Makefile.in, lisp/Makefile.in: Add missing EXEEXT definition. * lisp/Makefile.in (MH_E_SRC, TRAMP_SRC, CAL_SRC): Replace hard-coded lists with wildcard + filter-out. * configure.ac (system-configuration-features): Add X11, NS. Improve reproducibility of generated loaddefs file * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads): Make the return value the modtime of the input file (if no autoloads). (update-directory-autoloads): In the "no autoloads" section, use "most recent modtime" rather than "current time". 2015-06-30 Artur Malabarba * lisp/emacs-lisp/package.el (package--remove-hidden): Fix logic. (Bug#20930) 2015-06-30 Nicolas Petton * doc/lispref/sequences.texi: Add documentation for seq-min and seq-max. Add seq-min and seq-max Bump version number. * lisp/emacs-lisp/seq.el (seq-min, seq-max): New functions. * test/automated/seq-tests.el: Add tests for seq-min and seq-max. 2015-06-30 Eli Zaretskii Make sure sleep-for always delays for as long as it's told * src/dispnew.c (Fsleep_for): Call wait_reading_process_output in a loop, to ensure we always wait exactly the required amount of time. (Bug#15990) 2015-06-30 Paul Eggert Fix pointer signedness glitch * src/font.c (font_load_for_lface): Use SSDATA, not SDATA. 2015-06-30 Eli Zaretskii Don't block changes in mouse pointer inside 'track-mouse' * etc/NEWS: * doc/lispref/frames.texi (Mouse Tracking): Document the special effect of setting 'track-mouse' to 'dragging'. * lisp/textmodes/artist.el (artist-mouse-draw-continously): * lisp/ruler-mode.el (ruler-mode-mouse-drag-any-column-iteration): * lisp/mouse-drag.el (mouse-drag-throw): * lisp/mouse.el (mouse-drag-line): Set 'track-mouse' to 'dragging' to avoid changes in the shape of the mouse pointer. * src/xdisp.c (define_frame_cursor1): Don't change the mouse pointer shape when do_mouse_tracking has the value of 'dragging', not just any non-nil value. (Bug#20934) (syms_of_xdisp): DEFSYM 'dragging'. 2015-06-30 Artur Malabarba * lisp/isearch.el (isearch-toggle-word): Fix toggle. * lisp/emacs-lisp/package.el (package-compute-transaction): Don't assume version sorting. * lisp/emacs-lisp/package.el (package--save-selected-packages): Don't save before init time, to avoid overwriting configurations. (Bug#20855) 2015-06-30 Xue Fuqiao * doc/emacs/display.texi (Standard Faces, Fringes): Add cross references. 2015-06-29 Ted Zlatanov Update for the upcoming CFEngine 3.7 release: support macros and quoted context strings; reformat JSON; indent promise attributes 2 units by default; give function parameter descriptions in the eldoc glue. * lisp/progmodes/cfengine.el: Update version and docs and fix name. Autoload `json-pretty-print'. Support new features in 3.7. (cfengine-parameters-indent): Set default promise attribute indent to 2 more than the promise itself. (cfengine3-macro-regex): New variable to match the new macro syntax. (cfengine3-font-lock-keywords): Use it to highlight macros. (cfengine3-indent-line): Use it to indent macros to column 0. (cfengine3-class-selector-regex): Update for the new quoted strings format. (cfengine3-reformat-json-string): New function to reformat a JSON string using `json-pretty-print'. (cfengine3-format-function-docstring): Use function parameter description if it's provided by the cf-promises syntax dump. 2015-06-29 Michael R. Mauger Cygwin emacsclient handles w32 file names * lisp/server.el (server-process-filter): Allow Cygwin's emacsclient to be used as a file handler on MS-Windows. 2015-06-29 Katsumi Yamaoka * lisp/isearch.el (isearch-exit): Don't call isearch-done twice (bug#20925). 2015-06-29 Eli Zaretskii * doc/lispref/text.texi (Sticky Properties): Improve wording. (Bug#20924) Allow font names that end in "-NN", where NN is a number * src/font.c (font_load_for_lface): If the font-spec didn't match any available fonts, try again without interpreting trailing "-NN" as the font size. For the description of the original problem, see http://lists.gnu.org/archive/html/help-emacs-windows/2015-06/msg00001.html .gdbinit followup to changes in !USE_LSB_TAG * src/.gdbinit (xgetsym): Don't left-shift $ptr even under !USE_LSB_TAG, as Emacs no longer does. 2015-06-29 Wolfgang Jenkner * lisp/calc-store.el (calc-insert-permanent-variable): Heed case. Otherwise `s p' of f and F will stomp on each other's value. (Bug#20916) 2015-06-29 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't block remember-pos if buffer isn't displayed. (Bug#20921) 2015-06-29 Nicolas Richard * lisp/emacs-lisp/package.el (describe-package): Use symbol-at-point as additional guess. * lisp/emacs-lisp/package.el (describe-package): Convert the guess to a string. 2015-06-28 Paul Eggert apropos-library quoting fix * lisp/apropos.el (apropos-library): Quote library consistently with the rest of the quoting used by apropos. Clarify interpreter-mode-alist doc * lisp/files.el (interpreter-mode-alist): Reword to avoid confusing quoting that wasn't working anyway. 2015-06-28 Michael Albinus Sync with Tramp 2.2.12 * doc/misc/trampver.texi: * lisp/net/trampver.el: Update release number. * test/automated/tramp-tests.el (tramp-test13-make-directory): Fix cleanup. 2015-06-28 Artur Malabarba * lisp/isearch.el (isearch-mode): Don't char-fold regexps (bug#20913). 2015-06-27 Dmitry Gutov Bind grep-highlight-matches around the rgrep call * lisp/progmodes/grep.el (zrgrep): Bind grep-highlight-matches around the rgrep call (bug#20728). Put "--color" before the other options in grep-command * lisp/progmodes/grep.el (grep-compute-defaults): Put "--color" before the other options in grep-command (bug#20912). Add --color Grep option to the command dynamically * lisp/progmodes/grep.el (grep-template, grep-find-template): Update the description for . (Bug#20728) (grep-compute-defaults): Don't add the --color option to grep-options. Only add it to grep-command. (grep-expand-keywords): Expand the env value opts into . (grep-expand-template): Replace cf in the env with the opts list, that can include -i and --color. * lisp/progmodes/xref.el (xref-collect-matches): Do not remove "--color=always" from the template, because we don't have to. 2015-06-27 Paul Eggert cl-extra fixes for most-negative-fixnum * lisp/emacs-lisp/cl-extra.el (cl-gcd, cl-lcm, cl-random): Don't mishandle an argument equal to most-negative-fixnum, whose absolute value equals itself. (cl-gcd, cl-lcm): Use dolist rather than doing it by hand. Initialize cl--gensym-counter to 0 Previously it was initialized to a random value, which made it harder to reproduce earlier Emacs runs. The need for a random value went away when Emacs introduced and used the #: syntax for uninterned symbols (Bug#20862). * doc/misc/cl.texi (Creating Symbols, Common Lisp Compatibility): Document that cl--gensym-counter now starts with 0. * lisp/emacs-lisp/cl-lib.el (cl--gensym-counter): Remove. (cl--random-time): Move to near only remaining use. * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Initialize to 0. Improve docstring for macroexp-let2 * lisp/emacs-lisp/macroexp.el (macroexp-let2): Improve as per suggestion by RMS in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00621.html Also, rename args to match new doc string. 2015-06-27 Eli Zaretskii Fix VC test suite on MS-Windows * lisp/vc/vc-svn.el (vc-svn-create-repo): Make sure the file: URL always starts with 3 slashes after the colon. * test/automated/vc-tests.el (vc-test--create-repo-function): Use 'w32-application-type' to invoke CVS on MS-Windows with properly formatted CVSROOT directory name. Add a new function w32-application-type * src/w32proc.c (Fw32_application_type): New function. Avoid error in TLS connections due to incorrect format * src/gnutls.c (Fgnutls_boot): Use the %x conversion specifier in the call to 'error', instead of the unsupported %u. Reported by lo2net . (Bug#20908) 2015-06-26 Artur Malabarba * lisp/replace.el (replace-search): Fix regexp case (bug#20901). 2015-06-26 Leo Liu * lisp/emacs-lisp/cl-indent.el: Fix indentation for `with-output-to-string' in elisp. Revert "lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string". This reverts commit 659199f2ca5f283fb246faa78a244e5ca25f53dd. 2015-06-26 Eli Zaretskii Minor corrections in ELisp manual * doc/lispref/nonascii.texi (Character Properties): Correct inaccuracies in description of values of the Unicode properties. Fix invisible mouse pointers on Windows. * src/w32fns.c: Include windowsx.h. (w32_wnd_proc): If the mouse moved and the mouse pointer is invisible, make it visible again even when the main (Lisp) thread is busy. * src/w32term.c (w32_toggle_invisible_pointer): Rather then garbaging the frame have the input thread call SetCursor. 2015-06-26 Martin Rudalics Provide invisible mouse pointers on Windows (Bug#6105) (Bug#12922) * src/w32fns.c (w32_wnd_proc): Handle f->pointer_invisible for WM_SETCURSOR and WM_EMACS_SETCURSOR cases. * src/w32term.c (w32_hide_hourglass): Handle f->pointer_invisible. (w32_toggle_invisible_pointer): New function. (w32_create_terminal): Add w32_toggle_invisible_pointer as toggle_invisible_pointer_hook for this terminal. 2015-06-25 Xue Fuqiao Doc fix for deletion commands 'delete-char' does not respect the value of 'delete-active-region'. * doc/emacs/killing.texi (Deletion): Fix documentation for some single-char deletion commands. * doc/emacs/help.texi (Apropos): Improve documentation of 'apropos-do-all'. * doc/emacs/help.texi (Help Summary): Improve documentation of 'describe-mode'. 2015-06-25 Paul Eggert Fix submake dependency bug with .h files * src/Makefile.in ($(libsrc)/make-docfile$(EXEEXT)): Depend on $(lib)/libgnu.a, so that we build $(lib)/*/*.h before the submake in $(libsrc) would spin off a subsubmake for $(lib) in parallel with our submake for $(lib) (Bug#20894). 2015-06-25 Artur Malabarba * lisp/character-fold.el (character-fold-table): Reuse `table'. 2015-06-25 Paul Eggert Translate undisplayable ‘ to ` * doc/lispref/help.texi (Keys in Documentation): * lisp/international/mule-cmds.el (set-locale-environment): * lisp/term/w32console.el (terminal-init-w32console): * src/doc.c (Fsubstitute_command_keys, Vhelp_quote_translation): If ‘ is not displayable, transliterate it to `, not to '. See: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00542.html Fix C99 incompatibilities in Cairo code * src/image.c (xpm_load) [USE_CAIRO]: * src/xterm.c (x_cr_accumulate_data) [USE_CAIRO]: Fix pointer signedness problem. 2015-06-25 Oleh Krehel lisp/emacs-lisp/cl-indent.el: Fix indent of with-output-to-string * lisp/emacs-lisp/cl-indent.el (common-lisp-indent-function): `with-output-to-string' should have the same indent as `progn'. This is in line with the declaration of `with-output-to-string'. 2015-06-25 Paul Eggert Get ‘./configure; make -C src emacs’ to work Without this fix, lib/fcntl.h isn't built in time (Bug#20894). * lib-src/Makefile.in (../lib/libgnu.a): * src/Makefile.in ($(lib)/libgnu.a): Build all, not libgnu.a. 2015-06-24 Paul Eggert Fix GC bugs --with-wide-int and Qnil == 0 Use the same alignment for the !USE_LSB_TAG case as for the more-typical USE_LSB_TAG case. The attempt to support arbitrary alignments with !USE_LSB_TAG had subtle bugs in garbage collection once we changed the representation of symbols so that Qnil == 0. Problem reported by Eli Zaretskii (Bug#20862). * src/alloc.c (XMALLOC_HEADER_ALIGNMENT) [XMALLOC_OVERRUN_CHECK]: * src/alloc.c (vector_alignment, union aligned_Lisp_Symbol) (union aligned_Lisp_Misc, maybe_lisp_pointer, pure_alloc): Use same alignment for !USE_LSB_TAG as for USE_LSB_TAG. * src/alloc.c (POINTERS_MIGHT_HIDE_IN_OBJECTS): Remove. This optimization in the !USE_LSB_TAG case is no longer valid when symbols are represented via offsets. Change the only use to assume that pointers might hide in objects. * src/lisp.h (alignas) [!USE_LSB_TAG]: Require support in this case, too. (TAG_SYMOFFSET, XSYMBOL) [!USE_LSB_TAG]: Do not shift the offset. This is OK, because the !USE_LSB_TAG case now applies only when Lisp_Object is wider than void *, so there's no longer any need to shift the offset. Not shifting the offset means that symbol representations have the same alignment as pointers, which the GC assumes. 2015-06-24 Xue Fuqiao * doc/lispintro/emacs-lisp-intro.texi (Data types): Improve documentation of 'substring'. 2015-06-24 Artur Malabarba * lisp/character-fold.el (character-fold-table): Fix table generation. 2015-06-24 Glenn Morris * nextstep/Makefile.in (all): Make it the first target. (../src/emacs${EXEEXT}): Add rule for making it. 2015-06-24 Artur Malabarba * etc/NEWS: Fix mention to old function name. * lisp/character-fold.el: New file (Bug#20887) (character-fold-to-regexp): New function. * lisp/replace.el (replace-search): Check value of `character-fold-search'. * lisp/isearch.el: Move character-folding code to character-fold.el (isearch-toggle-character-fold): New command. (isearch-mode-map): Bind it to "\M-sf". (isearch-mode): Check value of `character-fold-search'. 2015-06-24 Stefan Monnier lisp/subr.el (remove-from-invisibility-spec): Handle the t case * lisp/subr.el (remove-from-invisibility-spec): Make sure `element' is visible even if it's not yet in buffer-invisibility-spec (bug#20468). * lisp/progmodes/xref.el (xref-location-group, xref-location-marker) (xref--insert-xrefs, xref-collect-references): Avoid init-args in oref. 2015-06-24 Glenn Morris * Makefile.in (install-arch-dep): Don't set sticky bit on the binary. 2015-06-24 Stefan Monnier lisp/gnus/nnmaildir.el: Silence lexical warnings * lisp/gnus/nnmaildir.el (nnmaildir--prepare): Use a more functional style. (nnmaildir--update-nov): Remove unused var `numdir'. (nnmaildir-request-type, nnmaildir--scan, nnmaildir-request-newgroups) (nnmaildir-request-group, nnmaildir-request-create-group) (nnmaildir-request-post, nnmaildir-request-move-article) (nnmaildir-request-accept-article, nnmaildir-active-number): Mark unused args. (nnmaildir-get-new-mail, nnmaildir-group-alist) (nnmaildir-active-file): Declare. (nnmaildir-request-scan): Remove unused vars `group' and `grp-dir'. (nnmaildir-request-update-info): Remove unused vars `dotfile', `num', `mark', `end', `new-mark', and `mark-sym'. (nnmaildir-retrieve-headers): Remove unused args `srv-dir', `dir', `nlist2'. (nnmaildir-request-expire-articles): Remove unused vars `article', `stop' and `nlist2'. (nnmaildir-request-set-mark): Remove unused vars `begin', `article' and `end'. Use nnmaildir--article when dyn-binding is needed. Give the value directly in the `let' for `del-mark', `del-action', `add-action', and `set-action'. Don't use `add-to-list' on a local var. (nnmaildir-close-server): Declare those local vars that need to be dyn-bound. 2015-06-24 Paul Eggert * src/keyboard.h (kbd_buffer_store_event_hold): Remove unused local. Port selection info fix to clang * src/keyboard.h (kbd_buffer_store_event_hold): Don't assume C11 semantics for alignof (Bug#20756). Fix bug that munged selection info On some optimizing C compilers, copying a structure did not copy the padding bytes between elements, and the type punning between struct input_data and struct selection_input_data did not work. Change the C code to use a proper union type instead. Problem reported by YAMAMOTO Mitsuharu (Bug#20756). * src/keyboard.c (kbd_buffer, kbd_fetch_ptr, kbd_store_ptr) (readable_events, discard_mouse_events, kbd_buffer_events_waiting) (kbd_buffer_get_event, process_special_events, stuff_buffered_input) (mark_kboards): Use union buffered_input_event, not struct input_event. (clear_event, deliver_input_available_signal, process_special_events): Remove unnecessary forward decls. (kbd_buffer_store_buffered_event): New function, mostly just the old kbd_buffer_store_event_hold, except its argument is of type union buffered_input_event, not struct input_event. (kbd_buffer_unget_event): Define only if HAVE_X11, since it's not needed otherwise. Argument is now of type struct selection_input_event *, not struct input_event *. All callers changed. (clear_event): Arg is now of type union buffered_input_event *, not struct input_event *. All callers changed. * src/keyboard.h [HAVE_X11]: Include "xterm.h". (union buffered_input_event): New type. (kbd_buffer_store_event_hold): Now an inline function, defined here. * src/termhooks.h (EVENT_KIND_WIDTH): New constant. (struct input_event): Use it. * src/xselect.c (struct selection_event_queue): Make elements be of type struct selection_input_event, not struct input_event. (selection_input_event_equal): New static function. (x_queue_event): Use it. (x_queue_event, x_decline_selection_request) (x_selection_current_request, x_reply_selection_request) (x_handle_selection_request, x_handle_selection_clear) (x_handle_selection_event): Use struct selection_input_event, not struct input_event. All callers changed. (x_convert_selection): Omit unused first arg. All callers changed. (Fx_disown_selection_internal): Omit unnecessary union. * src/xterm.c (handle_one_xevent): Use new union buffered_input_event rather than rolling our own equivalent. Prefer sie.kind when setting up that kind of structure. Call kbd_buffer_store_buffered_event, not kbd_buffer_store_event_hold. * src/xterm.h (struct selection_input_event: Use EVENT_KIND_WIDTH. (SELECTION_EVENT_DISPLAY, SELECTION_EVENT_DPYINFO) (SELECTION_EVENT_REQUESTOR, SELECTION_EVENT_SELECTION) (SELECTION_EVENT_TARGET, SELECTION_EVENT_PROPERTY) (SELECTION_EVENT_TIME, x_handle_selection_event): Arg is now of type struct selection_input_event *) not struct input_event *. All callers changed. 2015-06-23 Glenn Morris * Makefile.in (install-arch-dep): Simplify with Make conditionals. 2015-06-23 Artur Malabarba * lisp/isearch.el: Fold many unicode characters to ASCII. (isearch-character-fold-search, isearch--character-fold-extras) (isearch--character-fold-table): New variable. (isearch--character-folded-regexp): New function. (isearch-search-fun-default): Use them. * lisp/replace.el (replace-character-fold): New variable. (replace-search): Use it. * etc/NEWS: Document it. 2015-06-23 Glenn Morris Check for an input event before showing a dialog box. (Bug#20813) * lisp/subr.el (y-or-n-p): * src/fns.c (Fyes_or_no_p): Check last-input-event as well as last-nonmenu-event. 2015-06-23 Jürgen Hartmann (tiny change) Respect ‘switch-to-visible-buffer’ more rigidly. (Bug#20861) * lisp/window.el (switch-to-visible-buffer): Doc adjustment. (switch-to-prev-buffer, switch-to-next-buffer): Respect switch-to-visible-buffer independent of the windows history. 2015-06-23 Paul Eggert * src/keyboard.c (last_timer_event): Remove unused var. 2015-06-23 Artur Malabarba * test/automated/package-test.el (package-test-update-listing): Fix test. 2015-06-23 Glenn Morris Revert 2014-06-25 nextstep/Makefile change. * nextstep/Makefile.in (${ns_appbindir}): Remove rule. (${ns_appbindir}/Emacs, links): Create ns_appbindir in the rule, not as an order-only prerequisite. * configure.ac (--with-ns): Enable by default on OS X. 2015-06-23 Leo Liu Fix shell-for/backward-command to exclude spaces * lisp/shell.el (shell-forward-command, shell-backward-command): Handle the 'move case from re-search-forward/backward. fixes debbugs:20873 2015-06-22 Juri Linkov * lisp/replace.el (query-replace-read-from): Add separator to the local binding of text-property-default-nonsticky. (Bug#20690) * lisp/simple.el (shell-command-on-region): Replace 'error' with 'user-error'. (Bug#20785) 2015-06-22 Ken Brown Enable CPU profiling on Cygwin * src/syssignal.h [CYGWIN] (PROFILER_CPU_SUPPORT): Revert previous change that undefined this. (SIGEV_SIGNAL): Ensure that this is defined as a macro. * src/profiler.c [CYGWIN] (timer_getoverrun): Define as a macro on Cygwin. Improve diagnostics of profiler-cpu-start * src/profiler.c (setup_cpu_timer): Change return type to 'int'; return -1 if the sampling interval is invalid. (Fprofiler_cpu_start): Improve error message if 'setup_cpu_timer' fails. (Bug#20843) 2015-06-22 Artur Malabarba * lisp/emacs-lisp/package.el: Exclude packages by name. (package-hidden-regexps): New variable. (package-menu--refresh): Use it. (package-menu-hide-package): New command. * lisp/emacs-lisp/package.el: Rename hide-obsolete to toggle-hiding. 2015-06-22 Eli Zaretskii Fix debug-timer-check on systems without HAVE_TIMERFD * src/atimer.c (Fdebug_timer_check) [!HAVE_TIMERFD]: Actively run the expired timers, since wait_reading_process_output doesn't. (debug_timer_callback): Enlarge the tolerance to 20 msec. Fix RCS crashes in vc-test * lisp/vc/vc-rcs.el (vc-rcs-register): Avoid crashes with some old ports of 'ci' on MS-Windows by always passing the -t- switch. 2015-06-22 Glenn Morris * doc/emacs/package.texi (Packages): * doc/emacs/trouble.texi (Known Problems): Remove faq cross-references. * doc/misc/efaq-w32.texi (Downloading): Copyedits. (Bug#20851) 2015-06-22 Paul Eggert Port tests to help-quote-translation * test/automated/ert-x-tests.el (ert-test-describe-test): * test/automated/package-test.el (package-test-describe-package) (package-test-signed): Allow straight quotes, too. 2015-06-22 Dmitry Gutov Make find-function-on-key use the current window * lisp/emacs-lisp/find-func.el (find-function-on-key-do-it): Extract from `find-function-on-key', add a second argument. (find-function-on-key): Use it (bug#19679). (find-function-on-key-other-window) (find-function-on-key-other-frame): New commands. 2015-06-21 Nicolas Petton Revert "Define `map-elt' as a generalized variable" This reverts commit 8b6d82d3ca86f76ed964063b3941a7c6ab0bf1c6. 2015-06-21 Ken Brown Drop support for CPU profiling on Cygwin * src/syssignal.h (PROFILER_CPU_SUPPORT): Don't define on Cygwin. (Bug#20843) 2015-06-21 Paul Eggert Fix some “nested” quoting confusion in doc strings * lisp/emacs-lisp/advice.el (ad-map-arglists): * lisp/kermit.el (kermit-clean-on): * lisp/mh-e/mh-comp.el (mh-repl-group-formfile): * src/keyboard.c (Frecursive_edit): Use curved quotes when quoting text containing apostrophe, so that the apostrophe isn't curved in the output. 2015-06-21 Nicolas Petton Define `map-elt' as a generalized variable * lisp/emacs-lisp/map.el (map-elt): Define a gv-expander. * lisp/emacs-lisp/map.el (map--dispatch): Tighten the code. * lisp/emacs-lisp/map.el (map-put): Redefine it as a function using a `setf' with `map-elt'. * test/automated/map-tests.el: Comment out `test-map-put-literal'. 2015-06-21 Michael Albinus Improve error handling in tramp-adb.el * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy): Improve error handling. 2015-06-21 Nicolas Petton Reuse `alist-get' in map.el * lisp/emacs-lisp/map.el (map-elt): Use `alist-get' to retrieve alist elements. 2015-06-21 Eli Zaretskii Fix bytecomp-tests--warnings when $TMPDIR has a long name * test/automated/bytecomp-tests.el (bytecomp-tests--warnings): Allow the warning to begin on the 3rd, not only 2nd line, which happens if temporary-file-directory has a very long name. Expect 2 icalendar tests to fail on MS-Windows * test/automated/icalendar-tests.el (icalendar-import-with-timezone) (icalendar-real-world): Make them expected failures on MS-Windows. 2015-06-20 Paul Eggert Improve port of settings UI to older displays * lisp/cus-start.el (standard): Don't assume curved quotes are easily distinguishable when users are tinkering with a setting that affects how curved quotes are generated. Fix quoting in electric-quote-mode doc string * lisp/electric.el (electric-quote-mode): Fix quoting. This is a fallout from the recent change introducing ‘help-quote-translation’. Spelling fix * doc/misc/texinfo.tex, lib/set-permissions.c: Merge from gnulib. * src/doc.c (syms_of_doc): Remove unused symbols. 2015-06-20 Martin Rudalics * lisp/window.el (window-state-put): Undedicate target window before putting STATE into it. (Bug#20848) 2015-06-19 Paul Eggert Merge from origin/emacs-24 a5e6f33 Fixes: debbugs:20832 b9f02cf Fixes: debbugs:20832 2015-06-19 Eli Zaretskii Fix file-in-directory-p when the directory is UNC * lisp/files.el (file-in-directory-p): Support files and directories that begin with "//". (Bug#20844) 2015-06-19 Stephen Berman * lisp/calendar/todo-mode.el (todo-show): Don't visit todo file in the minibuffer. (Bug#20832) 2015-06-19 Nicolas Richard * lisp/calendar/todo-mode.el (todo-show): Signal an error if buffer for adding new todo file is empty but modified. (Bug#20832) 2015-06-19 Stefan Monnier (filepos-to-bufferpos): Further tweaks to the utf-16 code * lisp/international/mule-util.el (filepos-to-bufferpos): Fix typo. Move non-exact check to the utf-16 branch (the only one affected). Don't use byte-to-position for the utf-16 case. 2015-06-19 Eli Zaretskii Minor fixes in filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos): Remove test for utf-8-emacs. Exempt single-byte encodings from the 'use-exact' path when QUALITY is 'exact'. Test UTF-16 encodings for BOM before subtracting 2 bytes. Use 'identity' when adjusting UTF-16 encoded files for CR-LF EOLs. 2015-06-19 Paul Eggert Improve the optional translation of quotes Fix several problems with the recently-added custom variable help-quote-translation where the code would quote inconsistently in help buffers. Add support for quoting 'like this', which is common in other GNU programs in ASCII environments. Change help-quote-translation to use more mnemonic values: values are now the initial quoting char, e.g., (setq help-quote-translation ?`) gets the traditional Emacs help-buffer quoting style `like this'. Change the default behavior of substitute-command-keys to match what's done in set-locale-environment, i.e., quote ‘like this’ if displayable, 'like this' otherwise. * doc/lispref/help.texi (Keys in Documentation): Document new behavior of substitute-command-keys, and document help-quote-translation. * doc/lispref/tips.texi (Documentation Tips): Mention the effect of help-quote-translation. * etc/NEWS: Mention new behavior of substitute-command-keys, and merge help-quote-translation news into it. When talking about doc strings, mention new ways to type quotes. * lisp/cedet/mode-local.el (overload-docstring-extension): Revert my recent change to this function, which shouldn't be needed as the result is a doc string. * lisp/cedet/mode-local.el (mode-local-print-binding) (mode-local-describe-bindings-2): * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode) (help-fns--obsolete, help-fns--interactive-only) (describe-function-1, describe-variable): * lisp/help.el (describe-mode): Use substitute-command-keys to ensure a more-consistent quoting style in help buffers. * lisp/cus-start.el (standard): Document new help-quote-translation behavior. * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): * lisp/help-mode.el (help-xref-symbol-regexp, help-xref-info-regexp) (help-xref-url-regexp): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Also match 'foo', in case we're in a help buffer generated when help-quote-translation is ?'. * src/doc.c: Include disptab.h, for DISP_CHAR_VECTOR. (LEFT_SINGLE_QUOTATION_MARK, uLSQM0, uLSQM1, uLSQM2, uRSQM0) (uRSQM1, uRSQM2, LSQM, RSQM): New constants. (Fsubstitute_command_keys): Document and implement new behavior. (Vhelp_quote_translation): Document new behavior. 2015-06-18 Glenn Morris * lisp/cus-start.el (help-quote-translation): Add :version. * src/doc.c (Fsubstitute_command_keys): Make previous change compile. 2015-06-18 Alan Mackenzie Make translation of quotes to curly in doc strings optional. * src/doc.c (traditional, prefer-unicode): New symbols. (help-quote-translation): New variable. (Fsubstitute_command_keys): Make translation of quotes dependent on `help-quote-translation'; also translate curly quotes back to ASCII ones. * lisp/cus-start.el (top-level): Add a customization entry for `help-quote-translation'. 2015-06-18 Artur Malabarba * lisp/emacs-lisp/package.el: Don't always propagate async errors (package--with-work-buffer-async): Only propagate the error if the callback returns non-nil. (package--download-one-archive): Return nil on the signature checking callback if we accept unsigned. (package--download-and-read-archives): Return non-nil on the archive download callback. 2015-06-18 Martin Rudalics Set image_cache_refcount before x_default_parameter calls. (Bug#20802) * src/nsfns.m (Fx_create_frame): * src/xfns.c (Fx_create_frame, x_create_tip_frame): Move setting image_cache_refcount before first x_default_parameter call. 2015-06-18 Eli Zaretskii Improve and extend filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos--dos): Don't barf if F returns nil for some argument. (filepos-to-bufferpos): Expand to support UTF-16 and not assume that every encoding of type 'charset' is single-byte. 2015-06-18 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu--perform-transaction): Properly delete packages. (Bug#20836) 2015-06-18 Eli Zaretskii Update data files from just-released Unicode 8.0 * etc/NEWS: Update wording since Unicode 8.0 is no longer in draft status. * test/BidiCharacterTest.txt: Update from Unicode 8.0. * admin/unidata/BidiMirroring.txt: * admin/unidata/BidiBrackets.txt: * admin/unidata/UnicodeData.txt: Update from Unicode 8.0. 2015-06-18 Paul Eggert Document curved quotes a bit better * doc/emacs/basic.texi (Inserting Text): Mention C-x 8. Change example to use curved quote rather than infinity, as this lets us give more ways to do it. * doc/emacs/mule.texi (International Chars): Mention C-x 8 shortcuts and quotation marks. * doc/emacs/text.texi (Quotation Marks): * doc/lispref/tips.texi (Documentation Tips): Add "curly quotes" and "curved quotes" to the index. * doc/emacs/text.texi (Quotation Marks): Give the C-x 8 shorthands for curved quotes. Cross-reference to "Quotation Marks". 2015-06-17 Daiki Ueno Add pinentry.el for better GnuPG integration * lisp/pinentry.el: New file. * etc/NEWS: Add entry about pinentry.el. * lisp/epg.el (epg--start): Set INSIDE_EMACS envvar. (Bug#20550) 2015-06-17 Artur Malabarba * lisp/emacs-lisp/package.el: Slightly better error reporting. 2015-06-17 Stefan Monnier (define-minor-mode): Use setq-default for :global minor modes * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Use setq-default for :global minor modes (bug#20712). 2015-06-17 Eli Zaretskii Avoid infloop in redisplay with tall images * src/xdisp.c (try_scrolling): Prevent an infloop when scrolling down near ZV. (Bug#20808) Call bidi_unshelve_cache to avoid memory leaks. Use IT_CHARPOS instead of CHARPOS. 2015-06-17 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Fix error reporting. * lisp/emacs-lisp/let-alist.el: Move to lisp/emacs-lisp/let-alist.el * lisp/emacs-lisp/package.el: Revert buffer after any operation Call `package-menu--post-refresh' after any operation that changes the package database (`package-install' and `package-delete'). To avoid performance issues in large transactions, these functions add `post-refresh' to `post-command-hook' instead of calling it immediately. (package-menu--mark-or-notify-upgrades): New function. (list-packages): Add it to `package--post-download-archives-hook'. (package-menu--post-refresh): Lose the upgrade-checking code, add code to remove itself from `post-command-hook'. (package-install, package-delete): Add it to `post-command-hook'. (package-menu-execute): Don't call `package-menu--post-refresh'. 2015-06-17 Stephen Leake Add missing function xref-location-group for elisp-mode. * lisp/progmodes/elisp-mode.el: Add missing function xref-location-group. 2015-06-17 Wolfgang Jenkner * src/editfns.c (Fbyte_to_position): Fix bytepos not at char boundary. The behavior now matches the description in the manual. (Bug#20783) 2015-06-17 Xue Fuqiao * etc/tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL. 2015-06-17 Glenn Morris Generate char-script-table from Unicode source. (Bug#20789) * admin/unidata/Makefile.in (AWK): New, set by configure. (all): Add charscript.el. (blocks): New variable. (charscript.el, ${unidir}/charscript.el): New targets. (extraclean): Also remove generated charscript.el. * admin/unidata/blocks.awk: New script. * admin/unidata/Blocks.txt: New data file, from unicode.org. * lisp/international/characters.el: Load charscript. * src/Makefile.in (charscript): New variable. (${charscript}): New target. (${lispintdir}/characters.elc): Depend on charscript.elc. (temacs$(EXEEXT)): Depend on charscript. * lisp/international/characters.el (char-script-table): Tweak some ranges to better match the source. (Bug#20789#17) Remove "no-byte-compile: t" from a few files. * lisp/obsolete/bruce.el, lisp/obsolete/keyswap.el: * lisp/obsolete/patcomp.el: No reason not to compile these. 2015-06-16 Glenn Morris Fix some typos in copied Unicode data. (Bug#20789) * lisp/international/characters.el (char-script-table): * lisp/international/fontset.el (script-representative-chars) (setup-default-fontset): Fix typos. * lisp/emacs-lisp/check-declare.el (check-declare-warn): Don't print filename twice (it's in the prefix now). * lisp/emacs-lisp/pcase.el (pcase--u1): Revert earlier workaround. No longer needed. Address a compilation warning. * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defalias): Replace 't' with '_' in pcase. Address some check-declare warnings. * lisp/simple.el (tabulated-list-print): * lisp/progmodes/elisp-mode.el (xref-collect-matches): * lisp/term/ns-win.el (ns-selection-owner-p, ns-selection-exists-p) (ns-get-selection): Update declarations. Address some compilation warnings. * lisp/elec-pair.el (electric-pair-post-self-insert-function): * lisp/vc/vc-git.el (vc-git-file-type-as-string): Replace 't' with '_' in pcase. Address some compilation warnings. * lisp/face-remap.el (text-scale-adjust): * lisp/menu-bar.el (popup-menu-normalize-position): * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): * lisp/emacs-lisp/bytecomp.el (byte-compile-arglist-warn): * lisp/emacs-lisp/generator.el (cps--transform-1): * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): * lisp/obsolete/vc-arch.el (vc-arch-mode-line-string): * lisp/progmodes/octave.el (octave-goto-function-definition) (octave-find-definition-default-filename): Replace 't' with '_' in pcase. * lisp/emacs-lisp/pcase.el (pcase--u1): Paper-over today's bootstrap failure. 2015-06-16 Nicolas Petton * lisp/emacs-lisp/seq.el: Fix a byte-compiler warnings related to pcase. * lisp/emacs-lisp/map.el (map-into): Fix a byte-compiler warning. Better confirmation message in `find-alternate-file' (Bug#20830) * lisp/files.el (find-alternate-file'): Improve the confirmation message to show the buffer name. Better docstring for null. (Bug#20815) * src/data.c (null): Improves the docstring, saying what null returns when OBJECT is non-nil. 2015-06-16 Stefan Monnier * lisp/net/newst-treeview.el: Use lexical-binding. (filepos-to-bufferpos): Add missing cases. Make sure it terminates. * lisp/international/mule-util.el (filepos-to-bufferpos--dos): New auxiliary function, extracted from filepos-to-bufferpos. Make sure it terminates. (filepos-to-bufferpos): Use it to fix the latin-1-dos case. Add support for the `exact' quality. 2015-06-16 Cédric Chépied Identify feeds in newsticker treeview with :nt-feed property * lisp/net/newst-treeview.el: (newsticker--treeview-nodes-eq): Use property :nt-feed instead of :tag. 2015-06-16 Stefan Monnier * lisp/emacs-lisp/pcase.el: Improve docs and error handling. (pcase--self-quoting-p): Floats aren't self-quoting. (pcase): Tweak docstring. (pcase--u1): Deprecate the t pattern. Improve error detection for the nil pattern. (\`): Tweak docstring. Signal an error for unrecognized cases. (bug#20784) 2015-06-16 Eli Zaretskii Fix infloop in filepos-to-bufferpos * lisp/international/mule-util.el (filepos-to-bufferpos): Fix EOL offset calculation, and make it conditional on the eol-type of the file's encoding. (Bug#20825) 2015-06-16 Martin Rudalics Fix handling of image cache refcounts. (Bug#20802) This backports Eli Zaretskii's solution of this problem for W32 to X and NS. * src/nsfns.m (image_cache_refcount): Define unconditionally. (unwind_create_frame): If the image cache's reference count hasn't been updated yet, do that now. (Fx_create_frame): Set image_cache_refcount unconditionally. * src/xfns.c (image_cache_refcount): Define unconditionally. (unwind_create_frame): If the image cache's reference count hasn't been updated yet, do that now. (Fx_create_frame, x_create_tip_frame): Set image_cache_refcount unconditionally. * src/w32fns.c (image_cache_refcount): Make it a ptrdiff_t as on X and NS. 2015-06-16 Nils Ackermann Improve reftex-label-regexps default value * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Make keyvals label regexp more strict to better cope with unbalanced brackets common in math documents. 2015-06-16 Glenn Morris * doc/emacs/calendar.texi (Format of Diary File): Move "nonmarking" from here... (Displaying the Diary): ... to here. * doc/emacs/calendar.texi (Format of Diary File, Displaying the Diary): Swap the order of these nodes. * doc/emacs/emacs.texi: Update detailed menu for the above change. * doc/emacs/calendar.texi (Specified Dates, Special Diary Entries): Update date of examples. (Diary, Format of Diary File): Move example from former to latter. Reduce duplication. No need for cp51932.el, eucjp-ms.el to not be compiled any more. * admin/charsets/cp51932.awk, admin/charsets/eucjp-ms.awk: Don't set no-byte-compile in the outputs. * lisp/loadup.el: Don't specify uncompiled cp51932, eucjp-ms. 2015-06-15 Glenn Morris * lisp/calendar/calendar.el (diary-file): Use locate-user-emacs-file. * doc/emacs/calendar.texi (Diary, Format of Diary File): Update for above diary-file change. * lisp/macros.el (name-last-kbd-macro, kbd-macro-query) (apply-macro-to-region-lines): Use user-error. * lisp/textmodes/page-ext.el (add-new-page, pages-directory) (pages-directory-for-addresses): Doc fixes. 2015-06-15 Stefan Monnier * lisp/info.el: Cleanup bytepos/charpos issues * lisp/international/mule-util.el: Use lexical-binding. (filepos-to-bufferpos): New function. * lisp/info.el (Info-find-in-tag-table-1): Use 0-based file positions. (Info-find-node-2): Use filepos-to-bufferpos (bug#20704). (Info-read-subfile, Info-search): Use 0-based file positions. * lisp/progmodes/perl-mode.el: Refine handling of /re/ and y/abc/def/ (perl--syntax-exp-intro-keywords): New var. (perl--syntax-exp-intro-regexp, perl-syntax-propertize-function): Use it. (bug#20800). 2015-06-15 Paul Eggert Fix quoting when making derived mode docstring * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Nest regexp-quote inside format, not the reverse. Problem reported by Artur Malabarba in: http://lists.gnu.org/archive/html/emacs-devel/2015-06/msg00206.html 2015-06-15 Eli Zaretskii Fix current-iso639-language on MS-Windows * lisp/international/mule-cmds.el (set-locale-environment): Downcase the locale name before interning it. This is so the 'current-iso639-language' on MS-Windows matches the ':lang' property of font-spec objects. Limit Symbola usage some more * lisp/international/fontset.el (setup-default-fontset): Limit Symbol coverage of Currency Symbols to u+20B6..u+20CF. (Bug#20727) 2015-06-15 Nicolas Petton * lisp/emacs-lisp/map.el (map-let): Better docstring. 2015-06-15 Paul Eggert * test/automated/help-fns.el (abc\\\[universal-argument\]b\`c\'d\\e\"f): (help-fns-test-funny-names): Spelling fixes. 2015-06-14 Glenn Morris * lisp/version.el (emacs-repository-version-git): Demote errors. Check result is a hash. 2015-06-14 Artur Malabarba * lisp/emacs-lisp/package.el (package--with-work-buffer-async): Catch errors that happen before going async. (Bug#20809) 2015-06-14 Eli Zaretskii Another improvement of documentation of set-fontset-font * doc/lispref/display.texi (Fontsets): Say explicitly that CHARACTER can be a single codepoint. * src/fontset.c (Fset_fontset_font): Doc fix. Another improvement for symbol and punctuation characters * lisp/international/fontset.el (setup-default-fontset): Exclude from Symbola character ranges for symbols and punctuation covered well by popular Unicode fonts. Prefer fixed-misc Unicode font, if installed and where its coverage of symbols and punctuation is known to be good. (Bug#20727) 2015-06-14 Christoph Wedler Some generic support for multi-mode indentation. * lisp/progmodes/prog-mode.el (prog-indentation-context): New variable. (prog-first-column, prog-widen): New convenience functions. 2015-06-14 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't assume that `tabulated-list-printer' will leave point at the end of the buffer. (Bug#20810) 2015-06-13 Glenn Morris Tweaks for getting repository version; a bit more like it was for bzr * lisp/version.el (emacs-repository-version-git) (emacs-repository--version-git-1): New functions, split from emacs-repository-get-version. (emacs-repository-get-version): Make the second argument meaningful. * lisp/startup.el (command-line-1): Inform if skipping relative file names due to deleted PWD. * src/xsmfns.c (x_session_initialize): Avoid libSM crash when starup directory is missing. (Bug#18851) (errno.h): Include it. 2015-06-13 Paul Eggert Better fix for documenting `X as "`X" Fix suggested by Stefan Monnier. * lisp/help-fns.el (help-fns--signature): Insert "`X", not "(\` X)", when documenting `X (Bug#20759). * lisp/help.el (help-split-fundoc, help--make-usage-docstring): Don't treat `X specially, as help-fns--signature now handles this. 2015-06-13 Eli Zaretskii Improve the default fontset when Symbola is not installed * lisp/international/fontset.el (setup-default-fontset): Only prepend Symbola and FreeMono font specs for symbols and punctuation; do not replace the default spec for them. This should have better results when Symbola/FreeMono are not installed. (Bug#20727) Improve documentation of ':lang' in font specs * src/font.c (Ffont_spec): Doc fix: elaborate on the values and use of the ':lang' property of the font spec. * doc/emacs/frames.texi (Fonts): Document the language names that can be in the STYLE part of XLFD. * doc/lispref/display.texi (Low-Level Font): Document the ':lang' property. * nt/README: Don't advertise the (obsolescent) w32 FAQ. * nt/README.W32: Don't advertise the (obsolescent) w32 FAQ. Revert last change in fontset.el * lisp/international/fontset.el (setup-default-fontset): Revert the change "Configure Symbola font only if installed", since font search is evidently not yet set up when this function is called. (Bug#20727) 2015-06-12 Glenn Morris Ensure early startup warnings are visible at the end. (Bug#20792) * lisp/emacs-lisp/warnings.el (display-warning): If startup isn't complete, delay the warning. * lisp/startup.el (normal-top-level, command-line): Let display-warning automatically handle the needed delays. Run delayed-warnings-hook. * lisp/version.el (emacs-repository-get-version): Avoid calling external executable if possible. (Bug#20799) 2015-06-12 Paul Eggert Document `X as "`X", not as "(` X)" * lisp/help.el (help-split-fundoc, help--make-usage-docstring): Document (backquote FOO) as "`FOO", not as "(` FOO)" (Bug#20759). * src/print.c (print_object): Minor simplification. 2015-06-12 Glenn Morris * src/buffer.c (init_buffer): Add final newline to message. 2015-06-12 Paul Eggert Configure Symbola font only if installed * lisp/international/fontset.el (setup-default-fontset): Don't specify the Symbola font if it's not installed. Likewise for FreeMono. (Bug#20727) 2015-06-12 Eli Zaretskii Configure Symbola font only for symbols and punctuation * lisp/international/fontset.el (setup-default-fontset): Leave only symbols and punctuation in the fontset setup for Symbola font; remove "Greek and Coptic" and "Cyrillic Supplement". (Bug#20798) 2015-06-12 Andreas Schwab Fix crash in fontset-info * src/fontset.c (Ffontset_info): Check that the RFONT-DEF elt is non-nil. 2015-06-12 Paul Eggert Port to Solaris 10 sparc + Sun C 5.13 * configure.ac (SETUP_SLAVE_PTY) [sol2* | unixware]: Adjust to process.c change. * src/process.c (create_process): Declare volatile variables at top level of this function, so that they're less likely to be reused later in the function in the code executed by the vforked child. Do not declare locals used only in the vforked child, as they might share memory with locals still live in the parent. Instead, use the same variables in the child as in the parent. This works around a subtle bug that causes a garbage collector crash when Emacs is built with Sun C 5.13 sparc on Solaris 10. 2015-06-12 Glenn Morris * lisp/startup.el (normal-top-level): Don't let *Messages* get a nil default-directory. 2015-06-11 Glenn Morris * lisp/startup.el (normal-top-level): Use delay-warning. (Bug#20792) Some progress towards starting with PWD deleted. (Bug#18851) * src/buffer.c (init_buffer): Handle get_current_dir_name failures. * lisp/startup.el (normal-top-level, command-line-1): * lisp/minibuffer.el (read-file-name-default): Handle default-directory being nil. 2015-06-11 Paul Eggert Fix "not a tty" bug on Solaris 10 * configure.ac (PTY_OPEN): Define to plain 'open' on SVR4-derived hosts, so that the O_CLOEXEC flag isn't set. * src/process.c (allocate_pty): Set the O_CLOEXEC flag after calling PTY_TTY_NAME_SPRINTF, for the benefit of SVR4-derived hosts that call grantpt which does its work via a setuid subcommand (Bug#19191, Bug#19927, Bug#20555, Bug#20686). Also, set O_CLOEXEC even if PTY_OPEN is not defined, since it seems relevant in that case too. 2015-06-11 Juri Linkov * lisp/bindings.el (debug-ignored-errors): Add mark-inactive. * lisp/simple.el (kill-region): Replace 'error' with 'user-error'. (Bug#20785) 2015-06-11 Glenn Morris * lisp/international/characters.el (char-script-table): Fix typo. 2015-06-11 Paul Eggert Fix quoting of help for functions with odd names While investigating Bug#20759, I discovered other quoting problems: C-h f mishandled characters like backslash and quote in function names. This fix changes the behavior so that 'C-h f pcase RET' now generates "... (\` QPAT) ..." instead of "... (` QPAT) ...", because '(format "%S" '(` FOO))' returns "(\\` FOO)". A comment in src/lread.c's read1 function says that the backslash will be needed starting in Emacs 25, which implies that 'format' is correct and the old pcase documention was wrong to omit the backslash. * lisp/emacs-lisp/nadvice.el (advice--make-docstring): * lisp/help-fns.el (help-fns--signature): * lisp/help.el (help-add-fundoc-usage): * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Use help--make-usage-docstring rather than formatting help-make-usage. * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Return raw docstring. * lisp/help-fns.el (help-fns--signature): New arg RAW, to return raw docstring. Take more care to distinguish raw from cooked dstrings. (describe-function-1): Let help-fns--signature substitute command keys. * lisp/help.el (help--docstring-quote): New function. (help-split-fundoc): Use it, to quote funny characters more systematically. (help--make-usage): Rename from help-make-usage, since this should be private. Leave an obsolete alias for the old name. (help--make-usage-docstring): New function. * test/automated/help-fns.el (help-fns-test-funny-names): New test. 2015-06-11 Stefan Monnier * lisp/thingatpt.el (in-string-p): Revert last change, since in-string-p is not used in thingatpt.el but only from outside. Also, use lexical binding. 2015-06-11 Artur Malabarba * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Fix cons. * test/automated/let-alist.el (let-alist-cons): Test it. 2015-06-11 Nicolas Richard * src/syntax.c (Fbackward_prefix_chars): Reword docstring. 2015-06-10 Glenn Morris * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits. Improve generated ChangeLog for gitmerge.el commits. (Bug#20717) * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits. * admin/gitmerge.el (gitmerge-commit-message): Exclude "skipped" messages from ChangeLog once again. Slight namespace cleanup for thingatpt.el. * lisp/thingatpt.el (thing-at-point--in-string-p) (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp) (thing-at-point--read-from-whole-string): Rename from old versions without "thing-at-point--" prefix. Keep old versions as obsolete aliases. Update all uses. * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords): Move requiring of finder from here... (checkdoc-package-keywords): ... to here. Use 'user-error' in a few calendar files. * lisp/calendar/appt.el (appt-add): * lisp/calendar/calendar.el (calendar-absolute-from-gregorian) (calendar-generate): * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic): Replace 'error' with 'user-error'. * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error. * lisp/files-x.el (add-file-local-variable): Special-case 'lexical-binding'. (Bug#20641) * lisp/progmodes/executable.el (executable-self-display): Obsolete. No longer autoload. * doc/misc/autotype.texi (Executables): Undocument executable-self-display. * lisp/progmodes/executable.el (executable-self-display): Use non-obsolete tail syntax. (Bug#20779) (executable-self-display): Doc update. 2015-06-10 Stefan Monnier * lisp/emacs-lisp/checkdoc.el: Use lexical-binding (finder-known-keywords): Silence byte-compiler. 2015-06-09 Stefan Monnier * lisp/simple.el (eval-expression): Macroexpand before evaluating (bug#20730). * lisp/progmodes/sh-script.el: Better handle nested quotes. (sh-here-doc-open-re): Don't mis-match the <<< operator (bug#20683). (sh-font-lock-quoted-subshell): Make sure double quotes within single quotes don't mistakenly end prematurely the surrounding string. * lisp/progmodes/elisp-mode.el: Require cl-lib for cl-defstruct. 2015-06-09 Glenn Morris * test/automated/Makefile.in (ELFILES): Sort. * Makefile.in (SUBDIR_MAKEFILES): * lwlib/Makefile.in (WARN_CFLAGS): Use built-in Make functions rather than echo+sed. 2015-06-09 Eli Zaretskii Update char-script-table * lisp/international/characters.el (char-script-table): Update from Unicode 8.0 Draft. Improve font selection for punctuation and other symbols * src/fontset.c (face_for_char): If the character's script is 'symbol', and the font used for ASCII face has a glyph for it, use the font for the ASCII face instead of searching the fontsets. This comes instead of NS-specific code that used the current face's font instead, which is now disabled due to undesirable consequences. (Bug#20727) 2015-06-08 Dmitry Gutov * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Skip past `#' to find BEG (bug#20771). * test/automated/elisp-mode-tests.el (elisp-completes-functions-after-hash-quote): New test. 2015-06-08 Eli Zaretskii Fix compilation warning/error in --without-x builds * src/xdisp.c (append_space_for_newline): Condition GUI-specific code on HAVE_WINDOW_SYSTEM. Improve the default fontset wrt symbols * lisp/international/fontset.el (setup-default-fontset): Better setup of fontset-default for symbols: use Symbola and FreeMono. (Bug#20727) 2015-06-08 Oleh Krehel Add new command checkdoc-package-keywords * lisp/emacs-lisp/checkdoc.el (checkdoc-package-keywords-flag): New defcustom. (checkdoc-list-of-strings-p): Add doc. (checkdoc-current-buffer): When `checkdoc-package-keywords-flag' is non-nil, call `checkdoc-package-keywords'. (checkdoc-get-keywords): New defun. (checkdoc-package-keywords): New command. Warns if the current file has package.el-style keywords that aren't in `finder-known-keywords'. * etc/NEWS: Add entry. 2015-06-08 Eli Zaretskii Avoid crashes when key-binding is called from a timer * src/keymap.c (Fkey_binding): Don't segfault if called with an empty vector as KEY. (Bug#20705) Fix a thinko in arc-mode.el * lisp/arc-mode.el (archive-zip-summarize): Fix last change in the non-Zip64 case. (Bug#20769) 2015-06-08 Artur Malabarba * lisp/emacs-lisp/package.el (package-delete): Make interactive. 2015-06-08 Oleh Krehel * lisp/emacs-lisp/checkdoc.el (checkdoc-file): New function. (checkdoc-error): When `checkdoc-diagnostic-buffer' is set to "*warn*", print the warning to the standard output. (bug#20754) 2015-06-07 Glenn Morris * admin/update_autogen (changelog_files): Remove gitlog-to-emacslog. * src/font.c (syms_of_font) : Doc fix. Remove the obsolete leading "*" from some C doc strings. * src/coding.c (syms_of_coding): * src/font.c (syms_of_font): Remove leading "*" from docs. * lisp/cus-start.el (enable-character-translation): Add it. 2015-06-07 Paul Eggert Move gen_origin from program to data That way, 'make change-history' needs to change only ChangeLog.2, instead of having to change two files. * ChangeLog.2: Add commit info for range that this file covers. * Makefile.in (new_commit_regexp): New macro. (change-history-nocommit): Simplify, by putting what used to be the gen_origin value into the data (ChangeLog.2) rather than into the program (gitlog-to-emacslog). * build-aux/gitlog-to-emacslog (gen_origin): Calculate from the input file (e.g., ChangeLog.2) rather than by having a constant in the program. Substitute it into the output. 2015-06-07 Dmitry Gutov * lisp/help-fns.el (help-fns--signature): Quote any quotes in the function name (bug#20759). 2015-06-07 Eli Zaretskii Adapt 'struct timespec' to next release of MinGW runtime * nt/inc/ms-w32.h (struct timespec): Don't declare if __struct_timespec_defined is defined. 2015-06-06 Paul Eggert Merge from gnulib This incorporates: 2015-06-06 acl-permissions: pacify -Wsuggest-attribute=const 2015-06-05 stdio: Don't redefine gets when using C++ 2015-06-05 acl-permissions: port to AIX, C89 HP-UX 2015-06-02 file-has-acl: fix build on Mac OS X 10 2015-06-01 gnulib-tool: concatenate lib_SOURCES to a single line 2015-06-01 pthread_sigmask: discount system version if a simple macro 2015-05-31 readlinkat: avoid OS X 10.10 trailing slash bug * doc/misc/texinfo.tex, lib/acl-internal.h, lib/get-permissions.c: * lib/readlinkat.c, lib/set-permissions.c, lib/stdio.in.h: * m4/acl.m4, m4/pthread_sigmask.m4, m4/readlinkat.m4: Copy from gnulib. * lib/gnulib.mk: Regenerate. 2015-06-06 Juri Linkov * lisp/progmodes/grep.el (zrgrep): Let-bind grep-highlight-matches before calling grep-compute-defaults because now it affects the command lines computed in grep-compute-defaults. (Bug#20728) 2015-06-06 Glenn Morris Address some compilation warnings. * lisp/international/mule-cmds.el (w32-get-console-codepage) (w32-get-console-output-codepage): * lisp/progmodes/elisp-mode.el (xref-collect-references): * lisp/version.el (cairo-version-string): Declare. * lisp/erc/erc.el (erc-nickname-in-use): Fix typo. 2015-06-06 Eli Zaretskii Fix display when a font claims large values of ascent and descent This fixes bug#20628. * src/xdisp.c (get_phys_cursor_geometry): Correct the Y coordinate of a hollow cursor glyph when the original glyph's ascent is too small. (get_font_ascent_descent, normal_char_ascent_descent) (normal_char_height): New functions. (handle_single_display_spec, append_space_for_newline) (calc_pixel_width_or_height, produce_stretch_glyph) (calc_line_height_property): Use normal_char_ascent_descent and normal_char_height. (x_produce_glyphs): When font-global values of ascent and descent are too large, use per-character glyph metrics instead, if possible. But don't allow the glyph row's ascent and descent values become smaller than the values from the metrics of the font's "normal" character. * src/xftfont.c (xftfont_draw): * src/w32font.c (w32font_draw): Correct the values of ascent and descent used to draw glyphless characters' hex code in a box. * src/xterm.c (x_draw_glyph_string_background): * src/xdisp.c (x_produce_glyphs): * src/w32term.c (x_draw_glyph_string_background): * src/nsterm.m (ns_maybe_dumpglyphs_background): Use FONT_TOO_HIGH to detect fonts whose global ascent and descent values are too large to be used in layout decision, and redraw the background when that happens. * src/dispextern.h (FONT_TOO_HIGH): New macro. (get_font_ascent_descent): Add prototype. * src/xterm.c (x_new_font): * src/w32term.c (x_new_font): * src/nsterm.m (x_new_font): * src/font.c (font_open_entity): * src/composite.c (composition_gstring_width): Use get_font_ascent_descent to obtain reasonable values for ascent and descent of a font. 2015-06-06 Nicolas Richard Add assertion in adjust_point_for_property * src/keyboard.c (adjust_point_for_property): Add eassert for current buffer being shown in selected window. 2015-06-06 Dmitry Gutov Replace uses of in-string-p; make it obsolete * lisp/thingatpt.el (in-string-p): Declare obsolete (bug#20732). (end-of-sexp, beginning-of-sexp): Use syntax-ppss instead. 2015-06-06 Eli Zaretskii Fix Dired display of an explicit list of files by ls-lisp.el * lisp/ls-lisp.el (ls-lisp-uid-d-fmt, ls-lisp-uid-s-fmt) (ls-lisp-gid-d-fmt, ls-lisp-gid-s-fmt): Make the initial values be correct for when displaying individual files separately, not as part of listing a directory, in which case these values are not recomputed by 'ls-lisp-insert-directory', but used verbatim. * lisp/dired.el (dired): Doc fix. (Bug#20739) 2015-06-06 Nicolas Richard Do not adjust point in a non-selected window * src/keyboard.c (command_loop_1): Do not adjust point when current buffer is not shown in selected window (Bug#20590). * etc/DEBUG: Mention 'maybe_call_debugger' 2015-06-05 Nicolas Petton Fix a unit test for map.el * test/automated/map-tests.el (test-map-let): Fix the test to work with the new syntax of `map-let'. * lisp/emacs-lisp/map.el (map-let): Better docstring. Better syntax for the map pcase pattern * lisp/emacs-lisp/map.el: Improves the map pcase pattern to take bindings of the form (KEY PAT) or SYMBOL. KEY is not quoted. * lisp/emacs-lisp/map.el (map--dispatch): Better docstring. Fix a byte-compiler error in map-put and map-delete * lisp/emacs-lisp/map.el (map-put, map-delete): Ensure that `setq' is called with a symbol. 2015-06-05 Glenn Morris * admin/gitmerge.el (gitmerge-commit-message): Revert to including "skipped" messages in ChangeLog once again. 2015-06-05 Tassilo Horn Use string> instead of equiv lambda with string< * lisp/help.el (view-emacs-news): Use string> instead of equivalent lambda with string<. 2015-06-05 Glenn Morris * lisp/emacs-lisp/map.el (map--dispatch): Move before use. (map--delete-array): Fix typo. * test/automated/map-tests.el: Replace "assert" with "should". * lisp/Makefile.in (SUBDIRS): Rename from SUBDIRS_ABS. (SUBDIRS_REL): Derive from SUBDIRS. Tweak some build messages. * lisp/Makefile.in ($(lisp)/loaddefs.el): * lisp/cus-dep.el (custom-make-dependencies): * lisp/finder.el (finder-compile-keywords): Say what we are doing. * lisp/international/titdic-cnv.el (batch-titdic-convert): Don't say how to compile. 2015-06-05 Paul Eggert Omit U+0332 COMBINING LOW LINE in previous change It turns out that it does not work on Ubuntu 15.04. Fix transliteration of Bahá'í months * lisp/calendar/cal-bahai.el (calendar-bahai-month-name-array): Improve quality of Latin transliteration of Bahá'í month names. Fix curved quotes in a few places * lisp/calc/calc-misc.el (calc-help): Fix quoting. The strings in question are not doc strings, so this partially undoes the recent change that assumed they were doc strings. * lisp/cedet/srecode/srt-mode.el (srecode-macro-help): * lisp/info.el (Info-finder-find-node): Use curved quotes. * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): Also allow curved quotes in doc strings. 2015-06-04 Glenn Morris * lisp/Makefile.in (AM_V_at): Add missing definition. * lisp/Makefile.in: Quieten output a bit. ($(lisp)/cus-load.el, $(lisp)/finder-inf.el): Don't echo directories, since the commands we invoke print them. * lisp/Makefile.in: Replace shell fragments in variables with $(shell). (SUBDIRS_REL, SUBDIRS_ABS, SUBDIRS_ALMOST, SUBDIRS_FINDER) (SUBDIRS_SUBDIRS): New variables. (setwins, setwins_almost, setwins_finder, setwins_for_subdirs): Remove. ($(lisp)/cus-load.el, $(lisp)/finder-inf.el, $(lisp)/loaddefs.el) (update-subdirs, compile-main, compile-clean): Replace "setwins" usage with new "SUBDIRS" variables. * lisp/vc/compare-w.el (compare-windows-get-window-function): Fix :version tag. 2015-06-04 YAMAMOTO Mitsuharu * src/ftfont.c (ftfont_open2): Round divisions by upEM. Undo removal of x_clear_area call on expose for GTK3 or cairo * src/xterm.c (handle_one_xevent) [HAVE_GTK3 || USE_CAIRO]: Clear exposed area. (Bug#20677) 2015-06-04 Glenn Morris * doc/lispref/hash.texi (Creating Hash): Remove obsolete makehash. * lisp/Makefile.in (check-defun-dups): Also skip ldefs-boot. * lisp/leim/quail/lrt.el (quail-lrt-update-translation): Rename from quail-lao-update-translation, since lao.el defines that. 2015-06-04 Dmitry Gutov Handle new-style advice in find-funct * lisp/emacs-lisp/find-func.el (find-function-advised-original): Handle new-style advice. Return the symbol's function definition. (Bug#20718) (find-function-library): Update accordingly. 2015-06-04 Nicolas Petton Merge branch 'map' * lisp/emacs-lisp/map.el: Better docstring for the map pcase macro. Add new function string-greaterp * lisp/subr.el (string-greaterp): New function. Also aliased to `string>'. * test/automated/subr-tests.el (string-comparison-test): Add unit tests for `string>'and `string<'. * src/fns.c (string-lessp): Better docstring. 2015-06-04 Eli Zaretskii Fix timezone-related functions on MS-Windows * src/editfns.c (set_time_zone_rule) [WINDOWSNT]: Always call 'xputenv', even if no reallocation of tzvalbuf was necessary. This fixes a bug in timezone-related functions on MS-Windows. Reported by Fabrice Popineau . 2015-06-03 Paul Eggert Don't pass raw directory name to 'error' * lisp/files.el (basic-save-buffer-2): Avoid format error if a directory name contains a string like "%s". 2015-06-03 Dmitry Gutov Override 'grep --color=always' * lisp/progmodes/xref.el (xref-collect-matches): Override --color=always in grep-find-template. 2015-06-03 Michael Albinus Fix error introduced recently in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-remote-enabled): Do not use `file-notify--test-desc'. (file-notify--deftest-remote): Revert previous patch, not necessary anymore. 2015-06-03 Wolfgang Jenkner * src/indent.c (Fvertical_motion): Amend motion by 0 lines. Starting from a display string after a newline, point went to the previous line. Also, fix an inadvertent use of a buffer position with FETCH_BYTE. (Bug#20701) 2015-06-03 Michael Albinus Instrument file-notify-test.el in order to catch hydra error * test/automated/file-notify-tests.el (file-notify--deftest-remote): Wrap body by `ignore-case', in order to trap non-local errors. 2015-06-03 YAMAMOTO Mitsuharu Undo previous changes in non-toolkit scroll bar drawing * src/xterm.c (x_scroll_bar_set_handle, x_scroll_bar_expose) [!USE_TOOLKIT_SCROLL_BARS]: Draw into scroll bar window. (Bug#20668) 2015-06-03 Paul Eggert * .gitignore: Also ignore doc/*/*/*.html and .ps. Support quotes 'like this' in info files This is possible when 'makeinfo --disable-encoding' is used in Texinfo 5. * lisp/calc/calc-help.el (calc-describe-thing): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/info.el (Info-find-index-name): * lisp/vc/ediff-help.el (ediff-help-for-quick-help): Also support quotes 'like this'. * lisp/calc/calc-help.el (calc-describe-thing): Simplify. * lisp/finder.el (finder-font-lock-keywords): Remove var that hasn't been used in years, instead of bothering to fix its quoting. 2015-06-02 Paul Eggert * .gitignore: Remove !test/etags/html-src/*.html. It's no longer needed, since *.html was removed. Sort. 2015-06-02 Dmitry Gutov Restore instead of '.' in grep-find-template * lisp/cedet/semantic/symref/grep.el (semantic-symref-grep-use-template): Update a comment. * lisp/progmodes/grep.el (grep-compute-defaults): Restore instead of '.' in grep-find-template (bug#20719). (rgrep): Pass nil as the directory to rgrep-default-command. * lisp/progmodes/grep.el (grep-expand-keywords): Use '.' as the default value for DIR. * lisp/progmodes/xref.el (xref-collect-matches): Drop the workaround. 2015-06-02 Glenn Morris * configure.ac (emacs_config_features): Add X toolkit and scroll-bars. * configure.ac (emacs_config_features): Add Cairo. * configure.ac [HAVE_GTK3]: Remove USE_CAIRO that gets reset later. 2015-06-02 Michael Albinus Ensure that autorevert works for remote files in file-notify-tests.el * test/automated/file-notify-tests.el (file-notify--test-desc): New defvar. (file-notify--test-remote-enabled) (file-notify-test00-availability, file-notify-test01-add-watch) (file-notify-test02-events): Use it. (file-notify--test-event-test): Check proper descriptor. (file-notify-test03-autorevert): Ensure that `visited-file-modtime' has changed. (Bug#20392) 2015-06-02 Nicolas Petton Add a pcase pattern for maps and `map-let' based on it * lisp/emacs-lisp/map.el (map-let): New macro. (map--make-pcase-bindings, map--make-pcase-patterns): New functions. * test/automated/map-tests.el: New test for `map-let'. 2015-06-02 Dmitry Gutov Reuse rgrep mechanics in xref-find-regexp * lisp/progmodes/grep.el (rgrep-default-command): Extract from `rgrep'. * lisp/progmodes/xref.el (xref-collect-references): Split from `xref-collect-matches'. Only handle the case of symbol search. (xref-collect-matches): Instead of Semantic Symref, use `rgrep-default-command', to take advantage of its directory and file ignore settings. (xref--collect-match): Remove the last argument, leaving the regexp construction up to the caller. * lisp/progmodes/elisp-mode.el (elisp--xref-find-matches): Change to take the xref-collect- function to use as an argument. (elisp-xref-find): Update accordingly. * lisp/progmodes/etags.el (etags--xref-find-matches) (etags-xref-find): Same. Move xref-elisp-location to elisp-mode.el * lisp/progmodes/xref.el (xref-elisp-location) (xref-make-elisp-location, xref-location-marker): Remove here. (xref--xref): Don't limit the type of the location slot. * lisp/progmodes/elisp-mode.el (xref-elisp-location): Define as a cl-struct here. (xref-location-marker): Move here. 2015-06-02 Eli Zaretskii Minor tweaks for .gitignore * .gitignore: Don't ignore versioned *.html and *.ps files. Don't ignore admin/notes/tags that might be ignored as TAGS on case-insensitive filesystems. (Bug#20710) 2015-06-02 Paul Eggert Generate curved quotes in ert doc * lisp/emacs-lisp/ert.el (ert--print-test-for-ewoc) (ert-results-mode-menu) (ert-results-pop-to-backtrace-for-test-at-point) (ert-results-pop-to-messages-for-test-at-point) (ert-results-pop-to-should-forms-for-test-at-point) (ert-describe-test): Quote ‘like this’, not `like this', when generating doc strings and the like. * test/automated/ert-x-tests.el (ert-test-describe-test): Allow quoting ‘like this’. 2015-06-02 Nicolas Richard Add test for previous commit * test/automated/replace-tests.el: New file. (query-replace--split-string-tests): Add test for previous commit. Avoid confusion in query-replace history when replacing NUL chars * lisp/replace.el (query-replace--split-string): New function. (query-replace-read-from): Rely on the 'separator' property instead of searching for the NUL character (Bug#20690). 2015-06-02 Glenn Morris Merge from origin/emacs-24 8b5f2f4 * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual. * admin/gitmerge.el (gitmerge-commit-message): Exclude "skipped" messages from ChangeLog. 2015-06-01 Michael Albinus Sync with Tramp repository * lisp/net/tramp.el (tramp-message): Dump connection buffer error messages. (tramp-handle-make-auto-save-file-name): When calling `make-auto-save-file-name' internally, make sure it uses Unix-like behavior, not Windows-like behavior. * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Add a timeout for the local case, because "chown" might fail on w32. * lisp/net/trampver.el (tramp-repository-get-version): Don't run for XEmacs. 2015-06-01 Eli Zaretskii MS-Windows followup for batch stdout/stderr output changes * lisp/international/mule-cmds.el (set-locale-environment): In batch mode, use console codepages for keyboard and terminal encoding. (Bug#20545) Update .gitattributes for DOS EOL files * .gitattributes: Use "whitespace=cr-at-eol" for files with DOS CRLF end-of-line format. NS equivalents of xterm.c and w32term.c changes * src/nsterm.m (ns_maybe_dumpglyphs_background): Force redraw of glyph string background also when the font in use claims preposterously large global height value. Helps to remove artifacts left from previous displays when glyphless characters are displayed as hex code in a box. (x_new_font): Call get_font_ascent_descent to obtain a reasonable value for FRAME_LINE_HEIGHT, even when a font claims very large value for its height. 2015-06-01 Paul Eggert Avoid grave accent quoting in stderr diagnostics A few Emacs diagnostics go directly to stderr, and so can't easily contain curved quotes (as non-UTF-8 locales might mishandle them). Instead of bothering to add support for this rarity, reword the diagnostics so that they don't use grave accent to quote. * src/alloc.c (mark_memory): Fix comment. * src/buffer.c (init_buffer): * src/dispnew.c (init_display): * src/emacs.c (main, sort_args): * src/lread.c (dir_warning): * src/term.c (init_tty): * src/unexmacosx.c (unexec): * src/xfns.c (select_visual): * src/xterm.c (cvt_string_to_pixel, x_io_error_quitter): Reword stderr diagnostics to avoid quoting `like this'. * src/unexmacosx.c: Include errno.h. * src/xfns.c (select_visual): Encode value for locale. 2015-05-31 Paul Eggert Treat batch stdout/stderr like standard display Calls like (print FOO) could generate improperly encoded or hard-to-read output if FOO contains characters outside the system locale. Fix this by treating batch stdout and stderr like interactive standard display, when it comes to transliterating and encoding characters (Bug#20545). * doc/emacs/mule.texi (Communication Coding): * doc/lispref/display.texi (Active Display Table): * doc/lispref/nonascii.texi (Locales): * etc/NEWS: * src/coding.c (syms_of_coding): * src/dispnew.c (syms_of_display): Document this. * src/print.c: Include disptab.h. (printchar_to_stream): New function, with much of the guts of the old Fexternal_debugging_output, except this one also uses the standard display table. (printchar, strout, Fexternal_debugging_output): Use it. 2015-05-31 Glenn Morris * src/emacs.c (syms_of_emacs) : Doc fix. 2015-05-31 Paul Eggert Remove DEFSYMs that aren't used at the C level. Also: * src/decompress.c (Qzlib_dll): * src/font.c (Qunicode_sip): * src/frame.c (Qtip_frame): * src/ftfont.c (Qserif): * src/gnutls.c (Qgnutls_dll): * src/xml.c (Qlibxml2_dll): Move from here ... * src/w32fns.c (syms_of_w32fns): ... to here, as these are used only on MS-Windows. 2015-05-31 Michael Albinus Use another default value for tramp-histfile-override * lisp/net/tramp-sh.el (tramp-histfile-override): Use ".tramp_history" as default. Fixes bug#20446 2015-05-29 Nicolas Petton * doc/emacs/emacs.texi: Update the ISBN of the Emacs manual. 2015-05-16 Nicolas Petton * etc/NEWS: Add an entry about map.el. Improve the docstring of functions in map.el Since a map is not a data structure but a concept, adding information about the possible types of maps can be useful information. * lisp/emacs-lisp/map.el: Add documentation about the type of MAP to each public function. 2015-04-29 Nicolas Petton * lisp/emacs-lisp/map.el (map-empty-p): Faster implementation using specific tests depending on the type of the map. * lisp/emacs-lisp/map.el: Better docstrings. 2015-04-25 Artur Malabarba * lisp/emacs-lisp/map.el (map-pairs): Dump redundant lambda. 2015-04-25 Nicolas Petton * lisp/emacs-lisp/map.el (map--elt-list): Better docstring. * lisp/emacs-lisp/map.el (map--elt-list): Minor refactoring. Fix a false negative in `map-elt' with alists and values being nil * lisp/emacs-lisp/map.el (map-elt): If map is an alist and key is found but its associated value is nil, do not return the default value. * test/automated/map-tests.el: Add a regression test. 2015-04-24 Nicolas Petton * lisp/emacs-lisp/map.el (map--dispatch): Improve the docstring. Do not signal an error when trying to delete a key from an array * lisp/emacs-lisp/map.el (map-delete): When map is an array, check if the key is present to avoid signaling an error. * test/automated/map-tests.el: Add a test for deleting non-existing keys from maps. * lisp/emacs-lisp/map.el: Better docstring. Minor improvement in map-elt * lisp/emacs-lisp/map.el (map-elt): Do not use `ignore-errors' when doing a lookup in arrays, but check the boundaries of the array instead. * test/automated/map-tests.el: Adds a test for `map-elt' with arrays and a negative integer as key. 2015-04-21 Nicolas Petton * test/automated/map-tests.el: Refactoring of test methods. * test/automated/map-tests.el: Renamed from map-test.el. 2015-04-18 Nicolas Petton * lisp/emacs-lisp/map.el (map-into): Better error message. * lisp/emacs-lisp/map.el: Remove byte-compilation warnings. Throw an error when converting a map into an unknown map type * lisp/emacs-lisp/map.el (map-into): Throw an error if type is not valid. * test/automated/map-tests.el: Add a regression test. New library map.el similar to seq.el but for mapping data structures. * test/automated/map-tests.el: New file. * lisp/emacs-lisp/map.el: New file. 2015-05-30 Dmitry Gutov * lisp/progmodes/etags.el (tag-implicit-name-match-p): Make sure there's no explicit tag name (bug#20629). 2015-05-30 Paul Eggert Remove format2 * src/editfns.c, src/lisp.h (format2): Remove. It is more trouble than it's worth, now that we have CALLN. This is just a minor refactoring. * src/buffer.c (Fkill_buffer): * src/dbusbind.c (XD_OBJECT_TO_STRING): * src/fileio.c (barf_or_query_if_file_exists): Adjust to format2 going away. Don't misencode C-generated messages Also, be more consistent about calls to 'Fmessage' vs 'message'. * src/alloc.c (Fgc_status): Prefer AUTO_STRING to build_string for Fmessage call. * src/data.c (Fmake_variable_buffer_local) (Fmake_local_variable, Fmake_variable_frame_local): * src/doc.c (store_function_docstring): Use Fmessage, not message, since the argument can contain non-ASCII characters, and this can cause the resulting message to be incorrectly encoded for the current environment. * src/fns.c (maybe_resize_hash_table): * src/xselect.c (x_clipboard_manager_save_all): Use message, not Fmessage, since Fmessage's power isn't needed here. * src/process.c (Fmake_network_process): Reword message to avoid %s. * src/xdisp.c (vmessage): Document restrictions on message contents. (message_nolog) [false]: Remove unused code. Use \r rather than ^M in string literals This is less likely to cause problems on platforms that use CRLF (or CR!) termination for lines. Update .gitattributes to match current sources http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00879.html * .gitattributes: Accommodate tests that insist on DOS format. Remove test/automated/data/decompress/foo-gzipped. Add etc/e/eterm-color. 2015-05-30 Eli Zaretskii * doc/emacs/mule.texi (Modifying Fontsets): Document face-ignored-fonts. (Bug#20628) Add etags test for the new -Q option * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to test-case changes below. * test/etags/ETAGS.good_6: New file. * test/etags/cp-src/x.cc: New file. * test/etags/Makefile (CPSRC): Add x.cc. (check): Add one more test, for -Q. 2015-05-30 Dmitry Gutov Use list for the tags completion table, not obarray * lisp/progmodes/etags.el (etags-tags-completion-table): Return a list instead of an obarray (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00876.html). (tags-completion-table): Combine those lists. (tags-completion-table): Update the docstring. 2015-05-30 Eli Zaretskii Restore EOL format testing in etags * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5, test/etags/CTAGS.good: Adjust to test-case changes below. * test/etags/html-src/algrthms.html: Convert back to DOS EOL format. * test/etags/cp-src/c.C (B): Add back stray CR character. * test/etags/c-src/dostorture.c: Add back. * test/etags/Makefile (CSRC): Add back c-src/dostorture.c. 2015-05-30 Vitaly Takmazov (tiny change) Declare Emacs on MS-Windows to be DPI-aware * nt/emacs-x86.manifest (asmv3:windowsSettings): Add dpiAware. * nt/emacs-x64.manifest (asmv3:windowsSettings): Add dpiAware. This avoids Windows entering compatibility mode for Emacs, which causes fonts to look less nice. 2015-05-30 Michael Albinus Improve Tramp traces * lisp/net/trampver.el (tramp-repository-get-version): New defun. * lisp/net/tramp.el (tramp-debug-message): Use it. 2015-05-30 Paul Eggert backup-buffer minor reworking of internals * lisp/files.el (backup-buffer): Rework to avoid a couple of unused locals inadvertently introduced in the previous change. backup-buffer now reports .emacs.d/%backup% ills * lisp/files.el (backup-buffer): If the write to .emacs.d/%backup% fails due to disk space exhaustion or whatever, do not pretend that it succeeded. More generally, do a better job of checking for I/O failures, and limit the scope of the condition-case to just the operations where file errors should be caught and ignored (Bug#20595). Also, don't bother trying to delete later backups if an earlier deletion fails, as this is a sign of trouble and it's better to stop when there's trouble. copy-file now truncates output after writing * src/fileio.c (Fcopy_file): Truncate output after writing rather than before. This is more likely to work than truncation before writing, if the file system is out of space or the user is over disk quota (Bug#20595). Also, check for read errors. 2015-05-29 Artur Malabarba * lisp/emacs-lisp/package.el (package-load-all-descriptors): Don't load descriptors from directories above the package directories. 2015-05-29 Paul Eggert Merge from gnulib This incorporates the following (Bug#20681): 2015-05-29 acl-permissions: Fix build on Mac OS X and older AIX 2015-05-29 acl-permissions: Fix build on Solaris and Cygwin * lib/set-permissions.c: Copy from gnulib. 2015-05-29 Michael Albinus Improve Tramp traces * lisp/net/tramp.el (tramp-call-process-region): New defun. * lisp/net/tramp-sh.el (tramp-get-inline-coding): Use it. 2015-05-29 Glenn Morris * test/automated/vc-tests.el: Try enabling tests on hydra.nixos.org. 2015-05-29 Wolfgang Jenkner * src/xfns.c (x_set_menu_bar_lines): Fix calls to x_clear_area. The signature was changed in the cairo branch, merged on 2015-05-23. This oversight broke compiling only the non-toolkit X version. 2015-05-29 Samer Masterson * doc/lispref/os.texi: Update initial-buffer-choice docs. 2015-05-29 Glenn Morris * test/automated/vc-tests.el (vc-test-rcs04-checkout-model): Mark as an expected failure. 2015-05-29 Paul Eggert Change package test to look for curved quotes * test/automated/package-test.el (package-test-describe-package) (package-test-signed): Search for curved single quotes as well as for grave accent and apostrophe. 2015-05-28 Katsumi Yamaoka * lisp/gnus/gnus-art.el (gnus-button-alist): Re-revert last change. cf. 2015-05-28 Samer Masterson Show files when `initial-buffer-choice' is non-nil * lisp/startup.el (command-line-1): When Emacs is given a file as an argument and `initial-buffer-choice' is non-nil, display both the file and `initial-buffer-choice'. For more than one file, show `initial-buffer-choice' and *Buffer List*. Refactor display-changing commands out of the command line arg parser. (initial-buffer-choice): Clarify docstring. 2015-05-28 Eli Zaretskii Fix last commit * nt/gnulib.mk (libgnu_a_SOURCES): Add get-permissions.c back. (gnulib module qcopy-acl): Add back, as it is harmless. This minimizes differences wrt lib/gnulib.mk. Fix the MS-Windows build as followup to gnulib update * nt/gnulib.mk (libgnu_a_SOURCES): Remove get-permissions.c and set-permissions.c, as they don't compile on MinGW. (gnulib module qcopy-acl): Remove, as it needs set-permissions.c. 2015-05-28 Paul Eggert Revert my change to gnus-art.el * lisp/gnus/gnus-art.el (gnus-button-alist): Revert last change. It wasn't that important, and it caused a Gnus build to fail. See: http://www.randomsample.de:4456/builders/emacs-devel/builds/734 New minor mode Electric Quote This lets you easily insert quotes ‘like this’ by typing quotes `like this', and similarly you can easily insert quotes “like this” by typing quotes ``like this'' (Bug#20545). * doc/emacs/basic.texi (Inserting Text): * doc/emacs/modes.texi (Minor Modes): * etc/NEWS: Document it. * doc/emacs/text.texi (Quotation Marks): New section. * lisp/electric.el (electric-quote-comment) (electric-quote-string, electric-quote-paragraph): New custom vars. (electric--insertable-p) (electric-quote-post-self-insert-function): New functions. (electric-quote-mode, electric-quote-local-mode): New minor modes. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add curved single quotes to electric-pair-text-pairs. Set electric-quote-string in this buffer. A few more doc string fixes (Bug#20385) Accept curved quotes in doc strings * lisp/info-look.el (info-lookup-guess-custom-symbol): (info-lookup-alist): Treat ‘’ like `' when parsing help buffers etc. Generate curved quotes in pseudo-info nodes * lisp/info.el (Info-virtual-index-find-node) (Info-virtual-index, Info-apropos-find-node, info-apropos): Quote ‘like this’, not `like this', when generating pseudo-info nodes. Fix minor quoting problems in doc strings Most of these fixes involve escaping grave accents that are actually intended to be grave accents, not left quotes. (Bug#20385) Support curved quotes in doc strings Emacs's traditional doc string style has been to quote symbols `like this'. This worked well on now-obsolete terminals where ` and ' were symmetric quotes, but nowadays curved quotes ‘like this’ look better. Support quoting the new way too. (Bug#20385) * doc/lispref/tips.texi (Documentation Tips): Symbols can be quoted ‘like-this’ as well as `like-this'. * etc/NEWS: Mention this. * lisp/cedet/mode-local.el (overload-docstring-extension) (mode-local-print-binding, mode-local-describe-bindings-2): * lisp/cus-theme.el (describe-theme-1): * lisp/descr-text.el (describe-text-properties-1, describe-char): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): * lisp/emacs-lisp/eieio-opt.el (eieio-help-class) (eieio-help-constructor): * lisp/emacs-lisp/package.el (describe-package-1): * lisp/faces.el (describe-face): * lisp/help-fns.el (help-fns--key-bindings) (help-fns--compiler-macro, help-fns--parent-mode, help-fns--obsolete): (help-fns--interactive-only, describe-function-1): (describe-variable): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (describe-input-method) (describe-language-environment): * lisp/international/mule-diag.el (describe-character-set) (print-coding-system-briefly, list-input-methods) (list-input-methods-1): Insert curved quotes rather than grave accent and apostrophe. * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine) (checkdoc-proper-noun-region-engine): * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) (lisp-cl-font-lock-keywords-2): * lisp/finder.el (finder-font-lock-keywords): * lisp/gnus/gnus-art.el (gnus-button-alist): * lisp/help-fns.el (help-do-arg-highlight) (describe-function-1, describe-variable): * lisp/help-mode.el (help-xref-symbol-regexp) (help-xref-info-regexp, help-xref-url-regexp): * lisp/help.el (describe-mode): * lisp/international/mule-cmds.el (help-xref-mule-regexp-template): * lisp/wid-edit.el (widget-documentation-link-regexp): Parse symbols quoted ‘like-this’ as well as `like-this'. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add "‘" and "’" to electric-pair-text-pairs. (elisp--form-quoted-p): Also allow "‘" as a quoting char. (elisp-completion-at-point, elisp--preceding-sexp): Also treat "‘" and "’" as quoting chars. substitute-command-keys now curves quotes So, for example, it turns "`abc'" into "‘abc’" (Bug#20385). * doc/lispref/help.texi (Keys in Documentation): * etc/NEWS: Document this. * src/doc.c (Fsubstitute_command_keys): Implement it. 2015-05-28 Glenn Morris * lisp/mail/rmailsum.el (rmail-summary-by-recipients) (rmail-summary-by-topic, rmail-summary-by-senders): No longer strip leading/trailing whitespace. * lisp/progmodes/f90.el (f90-type-def-re): Add "type, extends". (f90-no-block-limit): Add "enum". (Bug#20680) * test/automated/f90.el (f90-test-bug20680, f90-test-bug20680b): New tests. 2015-05-27 Stefan Monnier * lisp/isearch.el (isearch--current-buffer): Give a default value. Un-revert changes mistakenly dropped by f9fabb2b. 2015-05-27 Paul Eggert Merge from gnulib This incorporates: 2015-05-27 qacl: Reimplement qset_acl and qcopy_acl (Bug#20666) 2015-05-27 file-has-acl: Split feature tests again (Bug#20667) 2015-05-27 string: fix build failure on BSD/OSX with FORTIFY_SOURCE 2015-05-26 stdio: limit __gnu_printf__ witness to gcc 4.4+ 2015-05-26 inttypes: force correct mingw PRIdMAX even without 2015-05-26 stdio: fix probe on mingw under gcc 5.1 * admin/merge-gnulib (GNULIB_MODULES): Replace qacl with qcopy-acl, since we don't need the rest of qacl. * doc/misc/texinfo.tex, lib/acl-internal.c, lib/acl-internal.h: * lib/inttypes.in.h, lib/qcopy-acl.c, lib/qset-acl.c: * lib/string.in.h, m4/acl.m4, m4/stdio_h.m4: Get latest versions from gnulib. * lib/get-permissions.c, lib/set-permissions.c: New files. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * nt/gnulib.mk: Merge lib/gnulib.mk changes by hand. 2015-05-27 Dmitry Gutov * lisp/vc/vc-dispatcher.el (vc-setup-buffer): Delete the old process here. (vc-do-command): Rather than here (bug#20608). 2015-05-27 Ivan Shmakov Avoid gratuitous delete-dups in face-at-point * lisp/faces.el (face-at-point): Do not compute the properly ordered, duplicate-free list if only a single value is requested anyway. (Bug#20519) Show the exact C-x 8 RET invocation in describe-char * lisp/descr-text.el (describe-char): Show the exact C-x 8 RET invocation instead of a template. (Bug#20522) 2015-05-27 Artur Malabarba * lisp/emacs-lisp/package.el: Don't erase tags on refresh. (package-menu--post-refresh): Call `tabulated-list-print' with the UPDATE argument. This only affects the refresh action, the revert action still erases tags. (package-menu-get-status): Change `assq' to `assoc'. (package-menu--mark-upgrades-1): New function. (package-menu--mark-upgrades-pending): New variable. (package-menu-mark-upgrades): Use them to delay marking until after refresh is done. (package-menu--post-refresh): Call mark-upgrades-1 if mark-upgrades-pending is non-nil. 2015-05-27 Michael Albinus * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): Fix typo in "Improve tramp-handle-make-auto-save-file-name" (commit 3953c4be2816537be95520605d45b866dc731f4b). 2015-05-27 Stefan Monnier * lisp/isearch.el (isearch--current-buffer): New var. (isearch-update): Set cursor-sensor-inhibit here. (isearch-done): Unset cursor-sensor-inhibit in the right buffer (bug#20532). Change inhibit-point-motion-hooks to t * src/textprop.c (syms_of_textprop): Default Vinhibit_point_motion_hooks to t and document it as obsolete. 2015-05-27 Eli Zaretskii Support ZIP files that use Zip64 extensions * lisp/arc-mode.el (archive-zip-summarize): Handle the new ZIP format of central directory offsets used by Zip64 extensions. (Bug#20665) 2015-05-27 Michael Albinus New test tramp-test30-make-auto-save-file-name * test/automated/tramp-tests.el (tramp-test30-make-auto-save-file-name): New test. (tramp-test31-special-characters) (tramp-test31-special-characters-with-stat) (tramp-test31-special-characters-with-perl) (tramp-test31-special-characters-with-ls, tramp-test32-utf8) (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl) (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests) (tramp-test34-recursive-load, tramp-test35-unload): Rename. Improve tramp-handle-make-auto-save-file-name * lisp/net/tramp.el (tramp-auto-save-directory): Add :tags. (tramp-handle-make-auto-save-file-name): Let native `make-auto-save-file-name' use `auto-save-file-name-transforms', if `tramp-auto-save-directory' is not set. 2015-05-27 Glenn Morris No longer set dired-directory in eshell. (Bug#16477) * lisp/eshell/esh-mode.el (eshell-mode): * lisp/eshell/em-dirs.el (eshell/cd): No longer set dired-directory. * lisp/mail/sendmail.el (mail-position-on-field): Doc fix. Make c-submit-bug-report file reports at debbugs.gnu.org. (Bug#15784) * lisp/progmodes/cc-mode.el (c-mode-help-address): Change to submit@debbugs. (c-mode-bug-package): New constant. (mail-position-on-field): Declare. (c-submit-bug-report): Insert X-Debbugs-Package header. * doc/misc/cc-mode.texi (Mailing Lists and Bug Reports): Mention debbugs.gnu.org. 2015-05-26 Glenn Morris * lisp/mail/rmailsum.el: Commas no longer separate regexps. (Bug#19026) (rmail-summary-by-recipients, rmail-summary-by-topic) (rmail-summary-by-senders): No longer use mail-comma-list-regexp. * doc/emacs/rmail.texi (Rmail Make Summary): Update for this change. 2015-05-26 Paul Eggert Handle curved quotes in info files * lisp/calc/calc-help.el (calc-describe-thing): * lisp/info.el (Info-find-index-name) (Info-try-follow-nearest-node, Info-fontify-node): * lisp/vc/ediff-help.el (ediff-help-for-quick-help): In info files, process quotes ‘like this’ the same way we process quotes `like this'. This catches a few places we missed earlier. 2015-05-26 Dmitry Gutov xref-prompt-for-identifier: Use a list value * lisp/progmodes/xref.el (xref-prompt-for-identifier): Allow list value, to be interpreted as a list of commands. (xref--prompt-p): New function. (xref--read-identifier): Use it. 2015-05-26 Eli Zaretskii Teach MS-Windows font back-end return per-glyph ascent/descent * src/w32font.h (struct w32_metric_cache): Add ascent and descent values. * src/w32font.c (w32font_text_extents): Compute, cache, and accumulate per-glyph ascent and descent values, instead of copying global values from the font. If the values are not available from the font data, i.e., non-TTF fonts, fall back on font-global values. (compute_metrics): Compute and return per-glyph ascent and descent values, if returned by GetGlyphOutlineW, falling back on font-global values. (Bug#20628) * src/w32term.c (w32_draw_rectangle): Add 1 pixel to width and height of rectangle to be drawn, to be compatible with XDrawRectangle. Fixes glyphless-char display as hex codes in a box, when per-glyph ascent/descent values are used. 2015-05-26 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't sort if sorter is nil. 2015-05-26 Michael Albinus Fix Bug#20621 * lisp/net/tramp-sh.el (tramp-set-auto-save): Remove it. There are major modes which set `auto-save-mode' on their own rules; Tramp shall not overwrite such settings. 2015-05-26 Glenn Morris * lisp/desktop.el: If modes aren't autoloaded, try simple guesswork. (desktop-load-file): Guess that "foobar" defines "foobar-mode". (desktop-buffer-mode-handlers, desktop-minor-mode-handlers): Doc updates. (vc-dir-mode): Remove unnecessary autoload. 2015-05-25 Philipp Stephani * lisp/term/xterm.el: Add gui-get-selection support via OSC-52. (xterm--extra-capabilities-type): Add `getSelection'. (xterm--query): Add `no-async' argument. (xterm--init-activate-get-selection): New function. (terminal-init-xterm): Use it. (xterm--init-modify-other-keys): Rename from terminal-init-xterm-modify-other-keys. (xterm--init-bracketed-paste-mode): Rename from terminal-init-xterm-bracketed-paste-mode. (xterm--init-activate-set-selection): Rename from terminal-init-xterm-activate-set-selection. (xterm--selection-char): New function. (gui-backend-set-selection): Use it. Use the &context to only apply this method in terminals where we enabled the feature. (gui-backend-get-selection): New method. 2015-05-25 Daniel Colascione * lisp/progmodes/cc-langs.el (c-constant-kwds): Add C-language keyword constants to C++. 2015-05-25 Paul Eggert Make TAGS files more portable to MS-Windows * etc/NEWS: Document this. * lib-src/etags.c (readline_internal) [DOS_NT]: Don't treat CRs differently from GNUish hosts. * lisp/progmodes/etags.el (etags-goto-tag-location): Adjust STARTPOS to account for the skipped CRs in dos-style files. 2015-05-25 Michael Albinus Improve fix of bug#20634 in tramp-sh.el 2015-05-25 Eli Zaretskii Fix a typo in last commit * lib-src/etags.c (C_entries): Fix a typo. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to the change in etags.c. Fix tagging of class members in C-like OO languages * lib-src/etags.c (longopts): Add new option --class-qualify and its shorthand -Q. (print_help): Add help text for --class-qualify. (main): Add handling of -Q. (consider_token, C_entries) : Append argument types to Objective C methods only if --class-qualify was specified. Qualify C++, Objective C, and Java class members with their class names only if --class-qualify was specified. (C_entries): If --class-qualify was not specified, remove the namespace and class qualifiers from tag names of C++ methods. This allows to use etags.el as xref back-end without the tag-symbol-match-p method, which greatly increases the number of potentially false positives. (Bug#20629) * doc/man/etags.1: Update to document the new --class-qualify option. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: * test/etags/CTAGS.good: Update due to changes in etags.c. 2015-05-25 Stefan Monnier (cl-generic-define-method): Side effects are evil (bug#20644) * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Don't reuse cons-cells that might be used as keys in an `equal' hash-table. 2015-05-25 Lars Magne Ingebrigtsen Make erc timestamps visible again * lisp/erc/erc-stamp.el (erc-munge-invisibility-spec): Make timestamps visible again (if requested). 2015-05-25 Eli Zaretskii Fix last change in etags.c that broke tagging compresed files * lib-src/etags.c (process_file_name) [MSDOS || DOS_NT]: Fix quoting of decompression shell command for MS-Windows/MS-DOS. 2015-05-25 Stefan Monnier * lisp/emacs-lisp/cl-macs.el (cl-tagbody): Scope cl--tagbody-alist. (Bug#20639) 2015-05-25 Michael Albinus * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer): Fix typo in "Inhibit `epa-file-handler' in Tramp" (commit 89035e247591c8d688fce922b7079881aa110f33). 2015-05-25 Orivej Desh (tiny change) Fix IPv6 addresses in Tramp * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Add square brackets around host name. 2015-05-25 Michael Albinus Inhibit `epa-file-handler' in Tramp (Bug#20634) * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer) (tramp-sh-handle-insert-file-contents-literally): Inhibit also `epa-file-handler'. 2015-05-24 Stefan Monnier * lisp/emacs-lisp/pcase.el: Use PAT rather than UPAT in docstring. (pcase-let): Document the behavior in case the pattern doesn't match. 2015-05-24 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: New optional print method. (tabulated-list-print): New optional argument, UPDATE. If non-nil, the list is printed by only adding and deleting the changed entries, instead of erasing the whole buffer. This method is much faster when few or no entries have changed. * doc/lispref/modes.texi (Tabulated List Mode): Document it. * etc/NEWS: Document it. * lisp/emacs-lisp/tabulated-list.el: Improve printing. (tabulated-list--get-sorter): New function. (tabulated-list-print): Restore window-line when remember-pos is passed and optimize away the `nreverse'. 2015-05-24 Paul Eggert Simpilify etags TEX mode scanning * lib-src/etags.c (TEX_mode, TEX_esc, TEX_opgrp, TEX_clgrp): Remove static vars. (TeX_commands): Deduce escapes here instead. (TEX_LESC, TEX_SESC, TEX_mode): Remove; all uses removed. This removes the need for a reset_input call. Improve etags I/O error reporting * lib-src/etags.c: Don't include sys/types.h and sys/stat.h; no longer needed. (infilename): New static var. (process_file_name): Don't call 'stat'. Instead, just open the file for reading and report any errors. Don't bother making a copy of the file argument; it's not needed. Be more careful to use the failing errno when reporting an error. Quote the real name better (though no perfectly) when passing it to the shell. (reset_input): New function, which reports I/O errors. All uses of 'rewind' changed to use this function. (perhaps_more_input): New function, which also checks for I/O errors. All uses of 'feof' changed to use this function. (analyze_regex): Report an error if fclose fails. (readline_internal): Report an error if getc fails. (etags_mktmp): Return an error if close fails. etags.c: avoid side effects in 'if' * lib-src/etags.c (process_file_name, Perl_functions) (TEX_decode_env): Hoist side effects into previous statement. .gitignore tweaks * .gitignore: Ignore all *.stamp files. Sort. Ignore [0-9]*.txt (commonly used name for git patches) and /vc-dwim-log-* (vc-dwim temporary). 2015-05-24 Eli Zaretskii Fix last change in etags.c, which failed the test suite * lib-src/etags.c (intoken): Add '$' to the set, as it was there before the last change. 2015-05-23 Glenn Morris Remove charset map files from repository, generate in first bootstrap * admin/charsets/Makefile.in (${srcdir}/charsets.stamp): New. (all): Create the stamp file. (extraclean): Delete the stamp file. * src/Makefile.in (lispintdir, charsets): New variables. (${lispintdir}/cp51932.el, ${lispintdir}/eucjp-ms.el, ${charsets}): New rules. (emacs$(EXEEXT), temacs$(EXEEXT)): Depend on $charsets. * lisp/international/cp51932.el, lisp/international/eucjp-ms.el: * etc/charsets/*.map: Remove from repository. 2015-05-23 Paul Eggert Cleanup etags.c to use locale-independent code Although this doesn't alter behavior (as etags doesn't use setlocale), the new version is more clearly locale-independent and the executable is a bit smaller on my platform. * lib-src/etags.c: Include , for UCHAR_MAX. Include instead of . (CHARS, CHAR, init, _wht, _nin, _itk, _btk, _etk, white, nonam, endtk) (begtk, midtk): Remove; no longer needed. (iswhite, ISALNUM, ISALPHA, ISDIGIT, ISLOWER, lowcase): Remove. All callers changed to use c_isspace, c_isalnum, c_isalpha, c_isdigit, c_islower, c_tolower, respectively. (notinname, begtoken, intoken, endtoken): Rewrite as functions instead of macros, and initialize the tables at compile-time rather than at run-time. Put default action first in src/Makefile * src/Makefile.in (all): Put this rule before lisp.mk. That way, plain 'make' works in the src directory again. 2015-05-23 Glenn Morris * Makefile.in: Fix extraclean rule. (extraclean_dirs): New. (extraclean): Use it. 2015-05-23 Eli Zaretskii Avoid compiler warning in image.c on MS-Windows * src/w32term.h (x_query_color): Add prototype, to avoid compiler warning in image.c. 2015-05-23 Glenn Morris Fix --without-toolkit-scroll-bars builds. * src/xterm.c (x_scroll_bar_set_handle) [!USE_TOOLKIT_SCROLL_BARS]: Add new argument to x_clear_area1. (XTset_horizontal_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]: Update x_clear_area arguments. * admin/charsets/glibc/: New directory, imported from glibc 2.21. * admin/charsets/Makefile.in (GLIBC_CHARMAPS): Change to included version. (LOCAL, local, totalclean): Remove. (extraclean): Delete all generated files. 2015-05-23 Stefan Monnier * lisp/pcmpl-cvs.el (pcmpl-cvs-entries): Don't assume CVS/Entries exists. * lisp/progmodes/xref.el (xref-find-apropos): Use read-string. * lisp/progmodes/etags.el (tags-completion-at-point-function): Don't trust the find-tag function. 2015-05-23 Paul Eggert Pacify --enable-gcc-warnings * src/frame.h (x_query_color): Remove redundant extern decl. * src/ftcrfont.c (ftcrfont_glyph_extents, ftcrfont_list) (ftcrfont_match, ftcrfont_open, ftcrfont_close) (ftcrfont_text_extents, ftcrfont_draw): * src/xterm.c (x_set_window_size_1, *x_color_cells, x_update_end) (XTframe_up_to_date, x_clear_area1, x_clear_frame) (x_ins_del_lines, frame_highlight, frame_unhighlight) (x_new_focus_frame, x_focus_changed, XTframe_rehighlight) (x_draw_hollow_cursor, x_draw_bar_cursor, x_flush, x_update_begin) (x_update_window_begin, x_connection_closed) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window) (*x_gc_get_ext_data, x_extension_initialize) (x_cr_accumulate_data): Remove redundant static decl. Many of these GCC doesn't complain about, but we might as well clean out the duplication while we're in the neighborhood. * src/xterm.c (x_fill_trapezoid_for_relief): Remove decl of nonexistent function. 2015-05-23 Stefan Monnier Replace gui-method macros with cl-generic with &context * lisp/frame.el (gui-method--name, gui-method, gui-method-define) (gui-method-declare, gui-call): Remove. (frame-creation-function): Use cl-defgeneric. (make-frame): Adjust callers. * lisp/menu-bar.el (menu-bar-edit-menu): Use gui-backend-selection-exists-p. * lisp/select.el (x-get-clipboard): Use gui-backend-get-selection. (gui-backend-get-selection): New cl-generic to replace gui-get-selection method. (gui-backend-set-selection): New cl-generic to replace gui-set-selection method. (gui-selection-owner-p): New cl-generic to replace gui-selection-owner-p method. (gui-backend-selection-exists-p): New cl-generic to replace gui-selection-exists-p method. Adjust all callers. * lisp/server.el (server-create-window-system-frame): Don't ignore window-system spec even when unsupported. * lisp/simple.el (deactivate-mark): Use new gui-backend-* functions. * lisp/startup.el (handle-args-function, window-system-initialization): Use cl-defgeneric. (command-line): Adjust calls accordingly. * lisp/term/ns-win.el (ns-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/pc-win.el (w16-get-selection-value): Turn into a gui-backend-get-selection method. (gui-selection-exists-p, gui-selection-owner-p, gui-set-selection): Use cl-defmethod on the new functions instead. (msdos-window-system-initialization): Turn into a window-system-initialization method. (frame-creation-function, handle-args-function): Use cl-defmethod. * lisp/term/w32-win.el (w32-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/x-win.el (x-window-system-initialization): Turn into a window-system-initialization method. (handle-args-function, frame-creation-function): Use cl-defmethod. (gui-set-selection, gui-selection-owner-p, gui-selection-exists-p) (gui-get-selection): Use cl-defmethod on the new functions instead. * lisp/term/xterm.el (xterm--set-selection): Turn into a gui-backend-set-selection method. * src/nsselect.m (Fns_selection_exists_p): Remove unused arg `terminal'. (Fns_selection_owner_p): Remove unused arg `terminal'. (Fns_get_selection): Remove unused args `time_stamp' and `terminal'. 2015-05-23 Eli Zaretskii Revert "Fix etags Bug#20629 that broke C++ support" This reverts commit 13dd9d4f7e75d2c78aa5537cef09de03663e9748. 2015-05-23 Jan D Fix etags Bug#20629 that broke C++ support * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): Revert commit from Sun May 10 (Bug#20629). Merge branch 'cairo'. Main work done by YAMAMOTO Mitsuharu . Small fixes and image work by Jan D. . Merge branch 'master' into cairo Fixes to compile cairo branch without cairo * src/gtkutil.c (xg_update_scrollbar_pos): x_clear_area takes frame as first argument. * src/xterm.c (handle_one_xevent): Surround x_cr_destroy_surface with USE_CAIRO. 2015-05-23 Artur Malabarba * lisp/emacs-lisp/package.el: Always update selected-packages. (package--update-selected-packages): New function. (package-menu-execute): Use it before starting the transaction, this way the list of selected packages is updated even when the transaction fails. (package-menu--perform-transaction): Don't edit selected-packages. 2015-05-23 Eli Zaretskii Fix etags reading of compressed files * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Define. Include fcntl.h, for O_CLOEXEC. (process_file_name): Don't use 'popen', whose streams cannot be rewound. Instead, uncompress the file to a temporary file, created by 'etags_mktmp', and read from that as usual. (etags_mktmp): New function. * test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4: * test/etags/ETAGS.good_5: Update to be consistent with latest changes in etags.c regarding reading compressed files. Improve documentation of 'set-fontset-font' * doc/lispref/display.texi (Fontsets): Document the value of nil for the 3rd argument of 'set-fontset-font'. Fix documentation of forward-line * src/cmds.c (Fforward_line): Clarify the return value if the line at end of accessible portion of the buffer has no newline. * doc/lispref/positions.texi (Text Lines): Document what happens if the line at end of accessible portion of buffer has no newline. (Bug#20587) 2015-05-22 Glenn Morris * admin/charsets/Makefile.in (TRANS_TABLE): Add short aliases. * admin/charsets/mapconv (LC_ALL): Set to C. * Makefile.in: Add admin/charsets into top-level clean rules. (clean): Add admin/charsets. (maybeclean_dirs): New variable. (distclean, bootstrap-clean, maintainer-clean): Use $maybeclean_dirs. * admin/charsets/Makefile.in (LOCAL, local): Fix members. 2015-05-22 Artur Malabarba * lisp/emacs-lisp/package.el (package-selected-packages): Fix doc. 2015-05-22 Glenn Morris Generate admin/charsets Makefile via configure, and make more portable * configure.ac (SUBDIR_MAKEFILES): Add admin/charsets/Makefile. (admin/charsets/Makefile): Generate it. * admin/charsets/Makefile.in: Rename from Makefile. (AWK, srcdir, top_srcdir, AM_DEFAULT_VERBOSITY): New variables, set by configure. (charsetdir, lispintdir, mapfiledir, AM_V_GEN, am__v_GEN_) (am__v_GEN_0, am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0) (am__v_at_1, LOCAL, mapconv, run_mapconv, big5, compact, cp51932) (cp932, eucjp_ms, gb180302, gb180304, kuten): New variables. (TRANS_TABLE, CHARSETS): Add directory prefix to value. (all): Declare PHONY. (local): New PHONY target. (map_template): New template. Use to define short PHONY aliases. (*.map): Add directory prefixes to targets and prerequisites. Respect make verbosity. (JISC6226.map): Replace non-portable sed append without newline. (install): Remove rule. (clean): Only delete temporary sedscript. (bootstrap-clean, distclean, maintainer-clean, extraclean) (totalclean): New PHONY rules. * admin/charsets/mapconv (BASE): Replace basename with expr. (FILE): Add "mapfiles" subdirectory. (AWK): New variable. Use throughout in place of "awk". (main): Use "gunzip -c" in place of "zcat". Don't leave whitespace before "p", for older sed. * admin/charsets/mapfiles/PTCP154: Add final newline, to make older sed versions happy. 2015-05-22 Stefan Monnier * lisp/autorevert.el: Use lexical-binding. Fix hook usage. (global-auto-revert-ignore-buffer, auto-revert-notify-modified-p) (auto-revert-notify-watch-descriptor): Use defvar-local. (find-file-hook, auto-revert-tail-mode) (auto-revert-notify-add-watch): Use setq-local. (auto-revert-notify-add-watch): Don't call make-local-variable on kill-buffer-hook (bug#20601). 2015-05-21 Stefan Monnier Change defgeneric so it doesn't completely redefine the function * lisp/emacs-lisp/cl-generic.el (cl-generic-define): Don't throw away previously defined methods. (cl-generic-define-method): Let-bind purify-flag instead of using `fset'. (cl--generic-prefill-dispatchers): Only define during compilation. (cl-method-qualifiers): Remove redundant alias. (help-fns-short-filename): Silence byte-compiler. * test/automated/cl-generic-tests.el: Adjust to new defgeneric semantics. 2015-05-21 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-execute): Remove reference to remove-dups. 2015-05-21 kwhite * lisp/erc/erc.el: Hide network/channel messages. (erc-network-hide-list, erc-channel-hide-list): New lists to define message types per network/channel. (erc-add-targets): New function to parse list of targets. (erc-hide-current-message-p): Modify to check for new targets. 2015-05-21 Paul Eggert Don't quote nil and t in doc strings This is as per "Tips for Documentation Strings" in the elisp manual. For consistency, do the same in diagnostics and comments. 2015-05-21 Eli Zaretskii Fix a minor problem with mouse-face on mode line * src/xdisp.c (note_mode_line_or_margin_highlight): Reset the mouse face also if the mouse pointer hovers above mode-line glyphs that don't come from any Lisp string. (Bug#20620) 2015-05-21 Artur Malabarba * lisp/emacs-lisp/package.el: Fix selected-package logic. (package-menu-execute): Mark as selected all non-upgrade packages being installed. (package-menu--perform-transaction): Don't mark anything. * lisp/emacs-lisp/package.el: Mode-line progress report. (package-menu--transaction-status): New variable. (package-menu-mode, package-menu--perform-transaction): Use it. * lisp/emacs-lisp/package.el: Better transaction messages. (package-menu--partition-transaction): New function. (package-menu--prompt-transaction-p, package-menu-execute): Use it. (package-menu--perform-transaction): Don't do any messaging. * lisp/emacs-lisp/package.el: Revert async package transactions. (package-menu-async): Update doc. (package-install-from-archive, package-download-transaction) (package-install, package-menu--perform-transaction) (package-menu-execute): Remove asynchronous functionality. 2015-05-21 Paul Eggert Revert doc string changes to f90.el Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00596.html * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start): Revert recent changes to doc strings, as it's intended that they use grave accent, not quote. 2015-05-20 Bozhidar Batsov * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): Improve parameter name. * lisp/emacs-lisp/subr-x.el (hash-table-empty-p): New inline function. 2015-05-20 Paul Eggert Don't require help-fns when not needed * lisp/emacs-lisp/autoload.el, lisp/emacs-lisp/advice.el: * lisp/emacs-lisp/elint.el: Don't require help-fns at the top level * lisp/emacs-lisp/advice.el (ad-arglist): * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda): Don't require help-fns. (Bug#17001) 2015-05-20 Eli Zaretskii Fix slash collapsing in etags on MS-Windows * lib-src/etags.c (canonicalize_filename) [DOS_NT]: Separate the MS-Windows code from the Posix code, and support collapsing both forward- and back-slashes on MS-Windows. Fixes a regression found by the test suite. Improve documentation of glyphless-char-display * doc/lispref/display.texi (Glyphless Chars): Improve documentation of glyphless character display. Fix "acronym" display of glyphless characters on w32 * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Don't ignore "acronym" substitutes of 1 character for glyphless characters. 2015-05-20 Oleh Krehel Add an automated test for let-when-compile * test/automated/subr-tests.el (let-when-compile): New test. Add let-when-compile macro instead of using pcase-let * lisp/subr.el (let-when-compile): New let-like macro that makes its bindings known to macros like `eval-when-compile' in the body. * lisp/emacs-lisp/lisp-mode.el: Change the top-level `pcase-let' to a `let-when-compile'. Also comment out the unused lexical var `el-kws-re'. The change greatly improves readability, while providing almost the same (even shorter) byte code: instead of pre-evaluating 10 variables, tossing them into a list, and destructuring that list a full screen page later, the variables are simply bound as they are evaluated, wrapped individually in `eval-when-compile'. 2015-05-20 Artur Malabarba * lisp/emacs-lisp/package.el: "Delete" button in Help buffer. (package-delete-button-action): New function. (describe-package-1): Add Delete button. * lisp/emacs-lisp/package.el: Better dependency description. (package--used-elsewhere-p): New optional arg, ALL, and return package-desc objects instead of names. (package-delete): Update accordingly. (describe-package-1): Describe which packages require the package. 2015-05-20 Martin Rudalics Fix handling and doc-string of FRAME arg of `other-buffer' (Bug#20533) * src/buffer.c (Fother_buffer): Argument FRAME must denote a live frame. Fix doc-string. Improve `switch-to-buffer' in strongly dedicated windows (Bug#20472) * lisp/window.el (switch-to-buffer-in-dedicated-window): New option. (switch-to-buffer): If the selected window is strongly dedicated to its buffer, signal error before prompting for buffer name. Handle `switch-to-buffer-in-dedicated-window'. * doc/lispref/windows.texi (Switching Buffers): Document `switch-to-buffer-in-dedicated-window'. 2015-05-19 Paul Eggert Prefer "this" to “this” in doc strings This mostly just straightens quotes introduced in my previous patch. Suggested by Dmitry Gutov in: http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00565.html * lisp/faces.el, lisp/gnus/gnus-group.el, lisp/ldefs-boot.el: * lisp/mail/supercite.el, lisp/net/tramp.el, lisp/recentf.el: * lisp/textmodes/artist.el, lisp/textmodes/rst.el: * lisp/textmodes/tildify.el, lisp/vc/ediff-util.el: * lisp/vc/log-edit.el, lisp/xt-mouse.el: Prefer straight double quotes to curved double quotes in doc strings. Fix minor quoting problems in doc strings These were glitches regardless of how or whether we tackle the problem of grave accent in doc strings. * lisp/calc/calc-aent.el (math-restore-placeholders): * lisp/ido.el (ido-ignore-buffers, ido-ignore-files): * lisp/leim/quail/cyrillic.el ("bulgarian-alt-phonetic"): * lisp/leim/quail/hebrew.el ("hebrew-new") ("hebrew-biblical-sil"): * lisp/leim/quail/thai.el ("thai-kesmanee"): * lisp/progmodes/idlw-shell.el (idlwave-shell-file-name-chars): Used curved quotes to avoid ambiguities like ‘`''’ in doc strings. * lisp/calendar/calendar.el (calendar-month-abbrev-array): * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-cache-flush-fcn): * lisp/cedet/semantic/symref.el (semantic-symref-tool-baseclass): * lisp/cedet/semantic/tag.el (semantic-tag-copy) (semantic-tag-components): * lisp/cedet/srecode/cpp.el (srecode-semantic-handle-:cpp): * lisp/cedet/srecode/texi.el (srecode-texi-texify-docstring): * lisp/emacs-lisp/byte-opt.el (byte-optimize-all-constp): * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): * lisp/emacs-lisp/generator.el (iter-next): * lisp/gnus/gnus-art.el (gnus-treat-strip-list-identifiers) (gnus-article-mode-syntax-table): * lisp/net/rlogin.el (rlogin-directory-tracking-mode): * lisp/net/soap-client.el (soap-wsdl-get): * lisp/net/telnet.el (telnet-mode): * lisp/org/org-compat.el (org-number-sequence): * lisp/org/org.el (org-remove-highlights-with-change) (org-structure-template-alist): * lisp/org/ox-html.el (org-html-link-org-files-as-html): * lisp/play/handwrite.el (handwrite-10pt, handwrite-11pt) (handwrite-12pt, handwrite-13pt): * lisp/progmodes/f90.el (f90-mode, f90-abbrev-start): * lisp/progmodes/idlwave.el (idlwave-mode, idlwave-check-abbrev): * lisp/progmodes/verilog-mode.el (verilog-tool) (verilog-string-replace-matches, verilog-preprocess) (verilog-auto-insert-lisp, verilog-auto-insert-last): * lisp/textmodes/makeinfo.el (makeinfo-options): * src/font.c (Ffont_spec): Fix minor quoting problems in doc strings, e.g., missing quote, ``x'' where `x' was meant, etc. * lisp/erc/erc-backend.el (erc-process-sentinel-2): Fix minor quoting problem in other string. * lisp/leim/quail/ethiopic.el ("ethiopic"): * lisp/term/tvi970.el (tvi970-set-keypad-mode): Omit unnecessary quotes. * lisp/faces.el (set-face-attribute, set-face-underline) (set-face-inverse-video, x-create-frame-with-faces): * lisp/gnus/gnus-group.el (gnus-group-nnimap-edit-acl): * lisp/mail/supercite.el (sc-attribs-%@-addresses) (sc-attribs-!-addresses, sc-attribs-<>-addresses): * lisp/net/tramp.el (tramp-methods): * lisp/recentf.el (recentf-show-file-shortcuts-flag): * lisp/textmodes/artist.el (artist-ellipse-right-char) (artist-ellipse-left-char, artist-vaporize-fuzziness) (artist-spray-chars, artist-mode, artist-replace-string) (artist-put-pixel, artist-text-see-thru): * lisp/vc/ediff-util.el (ediff-submit-report): * lisp/vc/log-edit.el (log-edit-changelog-full-paragraphs): Use double-quotes rather than TeX markup in doc strings. * lisp/skeleton.el (skeleton-pair-insert-maybe): Reword to avoid the need for grave accent and apostrophe. * lisp/xt-mouse.el (xterm-mouse-tracking-enable-sequence): Don't use grave and acute accents to quote. 2015-05-19 Stefan Monnier * lisp/emacs-lisp/generator.el (cps--gensym, cps--transform-1): Silence compiler. 2015-05-19 Paul Eggert Try to port new etags tests to MS-Windows * test/etags/CTAGS.good, test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5: Adjust to test-case changes below. * test/etags/Makefile (CSRC): Remove dostorture.c. Whatever it was trying to test, wasn't working portably. (LC_ALL): Remove. Apparently there wasn't an encoding problem, just a line-ending problem. * test/etags/c-src/dostorture.c: Remove. * test/etags/cp-src/c.C: Remove stray CR. * test/etags/html-src/algrthms.html: Remove trailing CRs. State UTF-8 as the encoding. The file is ASCII so it doesn't matter, but if someone edits it later it should stay UTF-8-compatible. 2015-05-19 Eli Zaretskii Fix display of overlapping window-specific overlays * src/keyboard.c (adjust_point_for_property): When adjusting point due to display strings, ignore overlays that are specific to windows other than the currently selected one. * src/xdisp.c (handle_single_display_spec): If the display property comes from an overlay, arrange for buffer iteration to resume only after the end of that overlay. (Bug#20607) 2015-05-19 Dmitry Gutov New command icomplete-force-complete-and-exit * lisp/icomplete.el (icomplete-force-complete-and-exit): New command (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00461.html) (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00516.html). (icomplete-minibuffer-map): Bind C-j to it. (icomplete-forward-completions, icomplete-backward-completions): Mention the new command in the docstring. * lisp/minibuffer.el (minibuffer-force-complete-and-exit): Revert the previous fix for bug#17545. 2015-05-19 Martin Rudalics Fix last commit In Elisp manual explain how to override window manager positioning (Bug#20552) * doc/lispref/frames.texi (Position Parameters): Give example of how to override a window manager positioning decision. Clarify concept of "surrogate minibuffer frames" (Bug#20538) * src/frame.c (Fdelete_frame): In doc-string mention that frame can't be deleted if it has a surrogate minibuffer. * doc/lispref/frames.texi (Minibuffers and Frames) (Deleting Frames): Explain "surrogate minibuffer frames". * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 19/12 MB. 2015-05-18 Glenn Morris Add option to ignore commit lines matching a pattern in ChangeLog * build-aux/gitlog-to-changelog: Add --ignore-line option. * build-aux/gitlog-to-emacslog: Ignore lines matching '^; '. 2015-05-18 Paul Eggert Don't skip new etags tests on non-UTF-8 hosts Problem reported by Eli Zaretskii for MS-Windows. * test/etags/Makefile (UTF8_LOCALE, UTF8_ENCODING): Remove. (LC_ALL): Set to C if the current locale isn't UTF-8. (.PHONY): Remove ediff_1 thru ediff_5. (check): Always run. 2015-05-18 Glenn Morris * lisp/calculator.el (calculator-funcall): * lisp/textmodes/artist.el (artist-spray-random-points): Use standard degree/radian conversion utilities. Further lisp-complete-symbol related cleanup. * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Unadvertise non-functional argument. Replace obsolete alias. 2015-05-18 Dmitry Gutov Add a test case for Maven warning ouput * test/automated/compile-tests.el (compile-tests--test-regexps-data): Add a case for Maven warning ouput. (compile--test-error-line): Check the compilation message type, if it's specified in the test data. 2015-05-18 Paul Pogonyshev Update Maven compilation-mode entry to distinguish warnings * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Update Maven entry to distinguish warnings (bug#20556). 2015-05-18 Przemysław Wojnowski * test/automated/sgml-mode-tests.el: New file. 2015-05-18 Dmitry Gutov Improve handling of the first Git revision * lisp/vc/log-view.el (log-view-toggle-entry-display): When there's no next entry, delete until the end of the buffer. (log-view-end-of-defun-1): Stop at eob. * lisp/vc/vc-annotate.el (vc-annotate-show-diff-revision-at-line-internal): Don't give up when previous-revision is nil. * lisp/vc/vc-git.el (vc-git-expanded-log-entry): End the arguments with `--' to avoid ambiguity. (vc-git-annotate-extract-revision-at-line): Exclude `^' from the returned revision string. (vc-git-annotate-time): Expect `^' before the first revision. * lisp/vc/vc-git.el (vc-git-diff): Diff against an empty tree if REV1 is nil, and REV2 is not. * lisp/vc/vc.el: Update the description of the `diff' function. 2015-05-18 Oleh Krehel Allow checkdoc to be called in batch * lisp/emacs-lisp/checkdoc.el (checkdoc-error): When `noninteractive' is non-nil, echo the error with `warn'. How it can be used in -batch: (with-current-buffer (find-file "checkdoc.el") (checkdoc-current-buffer t)) 2015-05-18 Glenn Morris * lisp/calendar/solar.el (solar-ecliptic-coordinates): Use float-pi. 2015-05-17 Paul Eggert * admin/notes/unicode: New section "binary files". Change new etags test to use UTF-8 encoding * test/etags/CTAGS.good, test/etags/ETAGS.good_1: * test/etags/ETAGS.good_2, test/etags/ETAGS.good_3: * test/etags/ETAGS.good_4, test/etags/ETAGS.good_5: * test/etags/html-src/index.shtml, test/etags/html-src/software.html: * test/etags/html-src/softwarelibero.html: Switch to UTF-8 encoding. * test/etags/Makefile (SRCS): Adjust to switch to UTF-8. Remove Makefile, as it's too incestuous to have the test input include the build procedure. (UTF8_LOCALE, UTF_ENCODING): New macros. (LC_ALL): If possible, set to a UTF-8 encoding if not already UTF-8. (check): Skip if not UTF-8. (.PHONY): New rule. (FRC): Remove, as superseded by .PHONY. All uses removed. (regexfile): Prefer printf to echo when outputting oddball chars. (.PRECIOUS): Remove, as these files are not built. Rename 'foo-gzipped' to 'foo.gz' * test/automated/data/decompress/foo.gz: Rename from test/automated/data/decompress/foo-gzipped, to make it easier for other tools to tell that it's compressed. * test/automated/zlib-tests.el (zlib--decompress): Adjust to renamed file. 2015-05-17 Dmitry Gutov Set up default-directory * lisp/vc/vc-annotate.el (vc-annotate-mode-map): Remove duplicate binding for `v'. (vc-annotate-show-changeset-diff-revision-at-line): Set up an appropriate value for default-directory. 2015-05-17 Samer Masterson * lisp/eshell/em-term.el (eshell-term-sentinel): No-op by default, only kills term buffer if `eshell-destroy-buffer-when-process-dies' is non-nil. (Bug#18108) (eshell-destroy-buffer-when-process-dies): New custom to preserve previous behavior. eshell: Introduce new buffer syntax The new buffer syntax '#' is equivalent to '#'. Remove `eshell-buffer-shorthand', as it is no longer needed (Bug#19319). * lisp/eshell/esh-io.el (eshell-buffer-shorthand): Remove. (eshell-get-target): Remove shorthand-specific code. * lisp/eshell/esh-arg.el (eshell-parse-special-reference): Parse '#'. 2015-05-17 Jan D Merge branch 'master' into cairo 2015-04-26 Jan D Merge branch 'master' into cairo Add PBM support for cairo * src/image.c (xcolor_to_argb32): New function. (get_spec_bg_or_alpha_as_argb): Call xcolor_to_argb32. (pbm_load, png_load_body, jpeg_load_body, gif_load): Only use XImagePtr if ! USE_CAIRO. (pbm_load): Add cairo support. 2015-04-12 Jan D * src/xterm.c (x_free_cr_resources): Rename from x_prepare_for_xlibdraw. (x_cr_draw_frame, x_cr_export_frames, x_shift_glyphs_for_insert) (x_free_frame_resources): Rename x_prepare_for_xlibdraw to x_free_cr_resources. Handle specified bg in images. Use generic libpng code for PNGs. * src/image.c (get_spec_bg_or_alpha_as_argb) (create_cairo_image_surface): New functions when USE_CAIRO. (xpm_load): Call the above functions. Handle XPM without mask when USE_CAIRO. (png_load_body): Handle USE_CAIRO case. (png_load): Remove USE_CAIRO specific fuction, modify png_load_body instead. (jpeg_load_body): Call create_cairo_image_surface. (gif_load, svg_load_image): Handle specified background, call create_cairo_image_surface. * src/xterm.c (x_draw_image_glyph_string): Add missing USE_CAIRO. 2015-04-11 Jan D Support GIF and TIFF with cairo * configure.ac: Allow jpeg with cairo. Allow tiff and gif with cairo. * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO. (tiff_load): Create cairo image surface if USE_CAIRO. (gif_load): Ditto. Support JPEG with USE_CAIRO * configure.ac: Allow jpeg with cairo. * src/image.c (jpeg_load_body): Create cairo image surface if USE_CAIRO. 2015-04-05 Jan D Support RSVG and cairo * configure.ac: Allow rsvg with cairo. Move back HAVE_RSVG. * src/dispextern.h (struct image): Add cr_data2 if cairo. * src/image.c: #undef COLOR_TABLE_SUPPORT when USE_CAIRO. (x_clear_image): Free cr_data and cr_data2 if set. (xpm_load): Assign data to cr_data2. (svg_load_image): Convert from GdkPixbuf to CAIRO_FORMAT_ARGB32. 2015-04-03 Jan D Introduce limited Xpm support (32 bit ZPixmap) for Cairo * configure.ac (HAVE_RSVG): Move after cairo. (USE_CAIRO): Disable rsvg, don't disable Xpm. * src/image.c (prepare_image_for_display): Don't load if USE_CAIRO. (x_clear_image): If USE_CAIRO, also free possible img->ximg->obdata and don't return early. (ALLOC_XPM_COLORS): Don't define when USE_CAIRO. (xpm_load): Convert simple Xpms (32 bit ZPixmap) to CAIRO_FORMAT_ARGB32 and create a surface. Tool tips for menus did not show any text. * src/xterm.c (x_update_begin): Don't create any surface for non-visible tip frames, the geometry may be wrong. Merge branch 'master' into cairo, fixes tooltips not shown. Merge branch 'master' into cairo Add CAIRO_CFLAGS to lwlib/Makefile.in * Makefile.in (CAIRO_CFLAGS): Add. 2015-02-19 YAMAMOTO Mitsuharu * src/ftcrfont.c (ftcrfont_draw): Don't flush when drawing to screen. 2015-02-16 YAMAMOTO Mitsuharu Draw outermost line using black relief and erase corners also for cairo. * src/xterm.c [USE_CAIRO]: Include math.h. (enum corners) [USE_CAIRO]: New enum. (x_erase_corners_for_relief) [USE_CAIRO]: New function. (x_draw_relief_rect) [USE_CAIRO]: Use it. If box width is larger than 1, draw the outermost line using the black relief. * src/xterm.c (x_fill_trapezoid_for_relief): Remove unnecessary cairo_close_path. 2015-02-15 YAMAMOTO Mitsuharu * src/xterm.c (x_draw_relief_rect) [USE_CAIRO]: Reset clipping. * src/xterm.c (x_draw_stretch_glyph_string): Call x_reset_clip_rectangles instead of XSetClipMask. Use int instead of unsigned int for width and height args. * src/xterm.c (x_cr_draw_image, x_fill_rectangle, x_draw_rectangle) (x_fill_trapezoid_for_relief): Use int instead of unsigned int for width and height args. Modernize k&r cairo-related function declarations. * src/gtkutil.c (xg_page_setup_dialog, xg_get_page_setup, draw_page) (xg_print_frames_dialog): Modernize k&r declarations. * src/xfns.c (Fx_export_frames, Fx_page_setup_dialog, Fx_get_page_setup) (Fx_print_frames_dialog): Modernize k&r declarations. * src/xterm.c (x_gc_get_ext_data, x_extension_initialize) (x_begin_cr_clip, x_end_cr_clip, x_set_cr_source_with_gc_foreground) (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap) (x_cr_destroy_fringe_bitmap, x_cr_draw_frame, x_cr_accumulate_data) (x_cr_destroy, x_cr_export_frames, x_prepare_for_xlibdraw) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_clear_window, x_fill_trapezoid_for_relief) (x_clear_area): Modernize k&r declarations. Implement wave-style variant of underlining for cairo. * src/xterm.c (x_draw_horizontal_wave) [USE_CAIRO]: New function. (x_draw_underwave) [USE_CAIRO]: Use it. * src/xterm.c (x_draw_window_divider): Use x_fill_rectangle instead of XFillRectangle. 2015-02-13 YAMAMOTO Mitsuharu Fix fringe bitmap initialization for cairo * src/fringe.c (init_fringe_bitmap) [USE_CAIRO]: Adjust bitmap data for cairo image surface. * src/xterm.c (x_cr_define_fringe_bitmap): Call cairo_surface_mark_dirty. 2015-02-11 Jan D Add cairo drawing * configure.ac (with-cairo): New option. (USE_CAIRO): Default to yes for Gtk+ 3. Add code to test for cairo, set CAIRO_CFLAGS, CAIRO_LIBS. Add ftcrfonto to FONT_OBJ if cairo. Output "Does Emacs use cairo?". * lisp/version.el (emacs-version): Add cairo version. * src/Makefile.in (CAIRO_CFLAGS, CAIRO_LIBS): New variables. (FONT_OBJ): Add comment about ftcrfont. (ALL_CFLAGS): Add CAIRO_CFLAGS. (LIBES): Add CAIRO_LIBS. * src/dispextern.h (struct image): Add cr_data for cairo. (x_cr_init_fringe): Declare. * src/font.c (syms_of_font): Call syms_of_ftcrfont for cairo. * src/font.h (ftcrfont_driver, syms_of_ftcrfont): Declare * src/fringe.c (x_cr_init_fringe): New function name that shares code with w32_init_fringe. * src/ftcrfont.c: New font driver for cairo, based on the ftfont driver. * src/ftfont.c (ftfont_info_size); New global variable. (ftfont_open2): New extern function almost the same as old ftfont_open, but takes the font_object as argument. (ftfont_open): Build font object and call ftfont_open2. * src/ftfont.h (ftfont_open2, ftfont_info_size): Declare. * src/gtkutil.c (xg_clear_under_internal_border) (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos): Only queue_draw if not cairo. Change args to x_clear_area. (xg_get_font): Use Qftcr when using cairo, Qxft otherwise. (xg_page_setup_dialog, xg_get_page_setup, draw_page) (xg_print_frames_dialog): New functions for printing. * src/gtkutil.h (xg_page_setup_dialog, xg_get_page_setup) (xg_print_frames_dialog): Declare. * src/image.c: Add defined (USE_CAIRO) for PNG. Add !defined USE_CAIRO for W32 PNG code. (x_clear_image): If cairo, destroy the surface in cr_data. (png_load): Add new cairo compatible implementation. (lookup_image_type): Add defined (USE_CAIRO) for define png_type. * src/xfns.c: New section Printing. (x-export-frames, x-page-setup-dialog, x-get-page-setup) (x-print-frames-dialog): New printing functions. (Fx_create_frame, x_create_tip_frame): Register ftcrfont if cairo. (syms_of_xfns): Defsym Qorientation, Qtop_margin, Qbottom_margin, Qportrait, Qlandscape, Qreverse_portrait, Qreverse_landscape). (syms_of_xfns): Provide cairo and defvar cairo-version-string. defsubr Sx_page_setup_dialog, Sx_get_page_setup, Sx_print_frames_dialog. * src/xterm.c (x_clear_area1, x_prepare_for_xlibdraw) (x_set_clip_rectangles, x_reset_clip_rectangles, x_fill_rectangle) (x_draw_rectangle, x_fill_trapezoid_for_relief, x_clear_window) (x_gc_get_ext_data, x_extension_initialize, x_cr_accumulate_data): Declare. (FRAME_CR_CONTEXT, FRAME_CR_SURFACE): New macros. (max_fringe_bmp, fringe_bmp): New variables. (x_gc_get_ext_data, x_extension_initialize) (x_cr_destroy_surface, x_begin_cr_clip, x_end_cr_clip) (x_set_cr_source_with_gc_foreground) (x_set_cr_source_with_gc_background, x_cr_define_fringe_bitmap) (x_cr_destroy_fringe_bitmap, x_cr_draw_image, x_cr_draw_frame) (x_cr_accumulate_data, x_cr_destroy, x_cr_export_frames) (x_prepare_for_xlibdraw, x_set_clip_rectangles) (x_reset_clip_rectangles, x_fill_rectangle, x_draw_rectangle) (x_clear_window, x_fill_trapezoid_for_relief): New functions. (x_update_begin): Create cairo surface if needed. (x_draw_vertical_window_border): Call x_fill_rectangle for cairo. (x_update_end): Paint cairo drawing surface to xlib surface. (x_clear_under_internal_border, x_after_update_window_line): Adjust arguments to x_clear_area. (x_draw_fringe_bitmap): Call x_fill_rectangle. Get GC values and call x_cr_draw_image for cairo. Call x_reset_clip_rectangles instead of XSetClipMask. (x_set_glyph_string_clipping) (x_set_glyph_string_clipping_exactly): Use x_set_clip_rectangles instead of XSetClipRectangles. (x_clear_glyph_string_rect, x_draw_glyph_string_background): Use x_fill_rectangle instead of XFillRectangle. (x_draw_glyph_string_foreground) (x_draw_composite_glyph_string_foreground) (x_draw_glyphless_glyph_string_foreground): Use x_draw_rectangle instead of XDrawRectangle. (x_draw_relief_rect): Add code for USE_CAIRO. Call x_reset_clip_rectangles instead of XSetClipMask. (x_draw_box_rect): x_set_clip_rectangles instead of XSetClipRectangles, x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_draw_image_foreground, x_draw_image_foreground_1): x_draw_rectangle instead of XDrawRectangle. (x_draw_glyph_string_bg_rect): x_fill_rectangle instead of XFillRectangle. (x_draw_image_glyph_string): If img has cr_data, use it as a cairo surface. (x_draw_stretch_glyph_string): x_set_clip_rectangles instead of XSetClipRectangles, x_fill_rectangle instead of XFillRectangle. (x_draw_glyph_string): x_fill_rectangle instead of XFillRectangle., x_reset_clip_rectangles instead of XSetClipMask. (x_shift_glyphs_for_insert): Call x_prepare_for_xlibdraw. (x_clear_area1): New function that calls XClearArea. (x_clear_area): Takes frame as parameter, calls x_clear_area1 for non-cairo. (x_clear_frame): x_clear_window instead of XClearWindow. (x_scroll_run): Set frame garbaged if cairo. (XTmouse_position): Initialize *part to 0. (x_scroll_bar_create): Adjust arguments to x_clear_area. (x_scroll_bar_set_handle): x_clear_area1 instead of x_clear_area, x_fill_rectangle instead of XFillRectangle. (XTset_vertical_scroll_bar, XTset_horizontal_scroll_bar): Adjust arguments to x_clear_area. (x_scroll_bar_expose): x_draw_rectangle instead of XDrawRectangle. (handle_one_xevent): Adjust arguments to x_clear_area. Destroy cairo surface for frame if ConfigureNotify. (x_clip_to_row): x_set_clip_rectangles instead of XSetClipRectangles. (x_draw_hollow_cursor): x_draw_rectangle instead of XDrawRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_draw_bar_cursor): x_fill_rectangle instead of XFillRectangle, x_reset_clip_rectangles instead of XSetClipMask. (x_clear_frame_area): Adjust arguments to x_clear_area. (x_free_frame_resources): Call x_prepare_for_xlibdraw. (x_term_init): Call x_extension_initialize if cairo. (x_redisplay_interface): Add x_cr_define_fringe_bitmap, x_cr_destroy_fringe_bitmap for cairo. (x_initialize): Call x_cr_init_fringe for cairo. * src/xterm.h: Add include of cairo header files. (x_bitmap_record): Add img if cairo. (x_gc_ext_data): New struct for cairo. (x_display_info): Add ext_codes for cairo. (x_output): Add cr_context and cr_surface for cairo. (x_clear_area): Change arguments from Display*/Window to frame pointer. (x_query_color, x_begin_cr_clip, x_end_cr_clip) (x_set_cr_source_with_gc_foreground, x_set_cr_source_with_gc_background) (x_cr_draw_frame, x_cr_export_frames): Declare. 2015-05-17 Johan Bockgård Fix integer-valued `mouse-highlight' (Bug#20590) * src/xterm.c (handle_one_xevent) [USE_GTK]: Fix ifdef scope. 2015-05-17 Eli Zaretskii MS-Windows followup for ASCIIfication of curved quotes * lisp/term/w32console.el (terminal-init-w32console): Repeat the test for curved quotes being displayable, after switching the terminal encoding. (Bug#20545) 2015-05-17 Jan D Add comment that x_shift_glyphs_for_insert is never called * src/xterm.c (x_shift_glyphs_for_insert, x_redisplay_interface): Add comment that this function is never called. 2015-05-16 Glenn Morris * src/lisp.mk: Remove from repository and generate at build-time. * src/Makefile.in (lisp.mk): New rule to generate from loadup.el. (shortlisp_filter): New variable. (emacs$(EXEEXT), $(etc)/DOC): Depend on lisp.mk. (distclean): Remove lisp.mk. * Makefile.in ($(MAKEFILE_NAME)): No longer depend on src/lisp.mk. * lisp/loadup.el: Tweak layout to make it easier to parse. * make-dist: Do not distribute src/lisp.mk. 2015-05-16 Dmitry Gutov Display shorter dates in Git annotate output * lisp/vc/vc-git.el (vc-git-annotate-command): Use the short date format (when not overridden with vc-git-annotate-switches). (vc-git-annotate-time): Support the short format, as well as ISO 8601 that has been used until now (bug#5428). 2015-05-16 Paul Eggert ASCIIfy curved quotes on displays lacking them * lisp/international/mule-cmds.el (set-locale-environment): If curved quotes don't work, display straight ASCII approximations (Bug#20545). 2015-05-16 Glenn Morris Small src/Makefile simplification * src/lisp.mk (shortlisp): Rename from lisp, remove $lispsource prefix. * src/Makefile.in (lisp): Derive from shortlisp. ($(etc)/DOC): Use $shortlisp rather than parsing lisp.mk. 2015-05-16 Eli Zaretskii * lisp/help-mode.el (help-go-forward): Doc fix. (Bug#20577) * doc/lispref/debugging.texi (Profiling): Improve indexing. (Bug#20576) 2015-05-16 Dmitry Gutov * lisp/vc/vc-git.el (vc-git-resolve-when-done): Use `unless' to have one fewer `not'. * lisp/vc/vc-git.el (vc-git-diff-switches) (vc-git-annotate-switches, vc-git-resolve-conflicts) (vc-git-program, vc-git-root-log-format): Remove the redundant :group declarations. 2015-05-16 Nicolas Petton Removes the predicate from lisp-complete-symbol (Bug#20456) * lisp/emacs-lisp/lisp.el (lisp-complete-symbol): Do not use predicate and remove it from the docstring. 2015-05-16 Dmitry Gutov Add new option vc-git-resolve-conflicts * lisp/vc/vc-git.el (vc-git-resolve-conflicts): New variable. (vc-git-find-file-hook): Add to after-save-hook only when the above is non-nil. (vc-git-resolve-when-done): Update to honor the new variable. (Bug#20292) 2015-05-16 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: Don't error on null header-string. (tabulated-list-init-header): Document new behavior. (tabulated-list-print-fake-header): Do nothing if `tabulated-list--header-string' is nil. (tabulated-list--header-string): Add a docstring. * doc/lispref/modes.texi (Tabulated List Mode): Document it. * etc/NEWS: Document it. 2015-05-15 Leo Liu Revert "Fix cps--gensym" * lisp/emacs-lisp/generator.el (cps--gensym): Revert commit fbda511ab8069d0115eafca411a43353b85431b1 on 2015-05-14. 2015-05-15 Glenn Morris Replace AC_SUBST_FILE in configure with include in Makefiles * configure.ac (DEPDIR, MKDEPDIR, deps_frag, lwlib_deps_frag) (oldxmenu_deps_frag, lisp_frag): Remove output variables/files. (AUTO_DEPEND): New output variable. * lwlib/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (lwlib_deps_frag): Replace by conditional include. * lwlib/autodeps.mk: Remove file. * oldXMenu/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (oldxmenu_deps_frag): Replace by conditional include. * oldXMenu/autodeps.mk: Remove file. * src/Makefile.in (AUTO_DEPEND): New, set by configure. (DEPFLAGS, MKDEPDIR): Set directly via conditional. (lisp_frag): Replace by an include. (deps_frag): Replace by conditional include. * src/autodeps.mk: Remove file. Tweak japanese.el's loading of dependencies * lisp/loadup.el: Explicitly load cp51932 and eucjp-ms. * lisp/language/japanese.el: Use require rather than load. * lisp/international/cp51932.el, lisp/international/eucjp-ms.el: Provide a feature. * admin/charsets/eucjp-ms.awk, admin/charsets/cp51932.awk: Provide a feature in the generated file. 2015-05-15 Jan D Fix NS warnings * src/nsmenu.m (ns_popup_dialog) * src/nsimage.m (initFromXBM:width:height:fg:bg:) * src/nsfns.m (Fx_create_frame): Remove unused variables. (Fns_read_file_name): Initialize fname, remove ret. * src/nsterm.m (ns_draw_window_cursor): Handle DEFAULT_CURSOR in switch. (ns_get_color, ns_set_horizontal_scroll_bar, keyDown): Remove unused variable. (init): Add parantesis in if. (ns_create_terminal): Assign set_horizontal_scroll_bar_hook. 2015-05-15 Jan Djärv Fix a enum conversion warning in macfont.m * src/macfont.h (CharacterCollection): Typedef to NSCharacterCollection. (MAC_CHARACTER_COLLECTION_*): Use the NS variants. 2015-05-15 Eli Zaretskii * lisp/textmodes/ispell.el (ispell-aspell-find-dictionary): Support Aspell dictionaries with names like "de-alt". (Bug#20581) 2015-05-15 Jan Djärv * lisp/cus-start.el: Add ns-confirm-quit. Fix warnings on OSX 10.10 * src/nsfns.m (MODAL_OK_RESPONSE): New define for different OSX versions. (Fns_read_file_name): Check against MODAL_OK_RESPONSE. (compute_tip_xy): Use convertRectToScreen for OSX >= 10.7 * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:) * src/nsimage.m (allocInitFromFile, setPixmapData): Only call setScalesWhenResized for OSX < 10.6. * src/nsterm.h (EmacsScroller): Declare scrollerWidth. * src/nsterm.m (ns_copy_bits): New function that does not use deprecated NSCopyBits. (ns_scroll_run, ns_shift_glyphs_for_insert): Call ns_copy_bits. (runAlertPanel): New function. (applicationShouldTerminate:): Call runAlertPanel. (initFrameFromEmacs, toggleFullScreen:): Only call useOptimizedDrawing for OSX < 10.10. (initFrameFromEmacs:): Only call allocateGState for OSX < 10.10. (windowWillUseStandardFrame:defaultFrame:): Cast arg to abs to int. (draggingEntered:): Returns NSDragOperation. (scrollerWidth): Use scrollerWidthForControlSize for OSX >= 10.7. 2015-05-15 Artur Malabarba * lisp/emacs-lisp/package.el: Don't ensure-init during startup. (package--init-file-ensured): New variable. (package-initialize, package--ensure-init-file): Use it. 2015-05-15 Jan Djärv Honor :fore/background for XBM on NS (Bug#14969) * src/nsterm.h (EmacsImage): Add xbm_fg, remove initFromSkipXBM, initFromXBM takes bg, fg args, remove flip arg. (ns_image_from_XBM): Add bg, fg args. * src/image.c (x_create_bitmap_from_data) (Create_Pixmap_From_Bitmap_Data): ns_image_from_XBM takes bg, fg args. * src/nsimage.m (ns_image_from_XBM): Add fg, bg args, pass to initFromXBM. Remove flip arg. (initFromSkipXBM): Move code to initFromXBM. (initFromXBM): Actually set fg and bg, instead of playing alpha games. Use fg, bg from args (Bug#14969). Remove if (length) section, was always false. Remove bit flipping (bitPat, swt), generated incorrect images when width/height wasn't a multiple of 8. (setXBMColor:): Modify planes by comparing to saved xbm_fg. * src/nsterm.m (ns_draw_fringe_bitmap): initFromXBM takes fg, bg args, remove flip arg. 2015-05-15 Artur Malabarba * lisp/emacs-lisp/package.el: Be more careful with the init file. (package--ensure-init-file): Check that user-init-file is set, exists, is readable, and is writable. (Bug#20584) Also expand the docstring. 2015-05-14 Wilson Snyder Sync with upstream verilog-mode revision 6232468 * lisp/progmodes/verilog-mode.el (verilog-font-lock-grouping-keywords-face) (verilog-highlight-grouping-keywords): Fix use of face when `verilog-highlight-grouping-keywords' set. Reported by Jeff Pompa. (verilog-auto-reset): Fix AUTORESET to ignore member resets if parent is reset, bug906. Reported by Ken Schmidt. (verilog-auto-inout-module): Add fourth regexp argument to AUTOINOUTMODULE and AUTOINOUTCOMP for signals to not match, bug856. Reported by John Tillema. (verilog-auto-inst-port): Fix AUTOINST interfaces to not show modport if signal attachment is itself a modport. Reported by Matthew Lovell. (verilog-auto-reset, verilog-auto-sense-sigs): Fix AUTORESET with always_comb and always_latch, bug844. Reported by Greg Hilton. (verilog-at-constraint-p, verilog-beg-of-statement-1): Fix hanging with many curly-bracket pairs, bug663. (verilog-set-auto-endcomments): Fix end comments for functions of type void, etc. Reported by Alex Reed. (verilog-do-indent): Fix electric tab deleting form-feeds. Note caused by indent-line-to deleting tabls pre 24.5. (verilog-nameable-item-re): Fix nameable items that can have an end-identifier to include endchecker, endgroup, endprogram, endproperty, and endsequence. Reported by Alex Reed. (verilog-label-be): When auto-commenting a buffer, consider auto-comments on all known keywords (not just a subset thereof). Reported by Alex Reed. (verilog-auto-end-comment-lines-re) (verilog-end-block-ordered-re, verilog-set-auto-endcomments): Automatically comment property/endproperty blocks to match other similar blocks like sequence/endsequence, function/endfunction, etc. Reported by Alex Reed. (verilog-set-auto-endcomments): Detect the function- or task-name when auto-commenting blocks that lack an explicit portlist. Reported by Alex Reed. (verilog-auto, verilog-auto-insert-last): Add AUTOINSERTLAST to allow post-AUTO user fixups, bug826. Reported by Dennis Muhlestein. (verilog-no-indent-begin-re): When `verilog-indent-begin-after-if' is nil, fix indenting initial/final to match always statements, bug825. Reported by Tim Clapp. (verilog-extended-complete-re): Fix indentation of DPI-C imports with c_identifiers, and DPI-C imports, bug557. Reported by ZeDong Mao and Jason Forkey. (verilog-read-decls): Fix parsing typed interfaces. Fix AUTOINOUTMODPORT missing types. Reported by Stephan Bourduas. Fix localparam not being ignored in AUTOINSTPARAM, bug889. Reported by Shannon Hill. (verilog-auto-output-every): Add regexp to AUTOOUTPUTEVERY, bug793. Reported by Pierre-David Pfister. (verilog-auto-arg-format, verilog-auto-arg-ports): Add verilog-auto-arg-format to support newlines in AUTOARG. Reported by Jie Xiao. (verilog-batch-execute-func): Do not batch re-auto files loaded by Local Variables. Fix printing "no changes to be saved" with verilog-batch. Reported by Dan Dever. (verilog-auto-inout-module): Fix AUTOINOUTMODULE not inserting interface-only modules, bug721. Reported by Dean Hoyt. Author: Alex Reed * lisp/progmodes/verilog-mode.el (verilog-beg-of-statement): Don't treat ':' as the start of a labeled statement, bug905. Reported by Enzo Chi. (verilog-directive-re, verilog-compiler-directives) (verilog-keywords): Match full set of IEEE 2012-1800 compiler directives (plus some extras) when determining indentation, bug 901. Reported by Bernd Beuster. (verilog-at-constraint-p): Fix indentation of coverpoint bins if iff expression doesn't start with word-character, bug900. (verilog-optional-signed-range-re, verilog-optional-signed-re): Fix incorrect indentation/alignment of unsigned declarations, bug897. (verilog-looking-back, verilog-in-attribute-p): Fix labeling of always constructs, bug895. (verilog-calc-1): Fix verilog-mode constraint indentation, bug324. Reported by Eric Mastromarchi. (verilog-beg-of-statement): Fix indenting for some forms of constraintsm bug433. Reported by Brad Parker. Fix indentation of continued assignment incorrect if first line ends with ']', bug437. Reported by Dan Dever. Fix indention of cover inside an ifdef, bug 862. Reported by Bernd Beuster. Fix labeling do-while blocks, bug842. (verilog-preprocessor-re): Fix fork/end UNMATCHED warning, bug859. Reported by Kaushal Modi. (verilog-set-auto-endcomments): Fix endlabel end comments, bug888. (verilog-backward-token): Fix indenting sensitivity lists with named events, bug840. Reed. (verilog-no-indent-begin-re): Fix `verilog-indent-begin-after-if' nil not honoring 'forever', 'foreach', and 'do' keywords. 2015-05-14 Paul Eggert Check for invalid GTK+ monitor scales * src/gtkutil.c (xg_get_gdk_scale): Return 1 for invalid scales, INT_MAX for too-large scales. All callers changed to assume the result is valid (Bug#20432). (xg_frame_set_char_size, xg_update_scrollbar_pos): Calculate scale only if needed. Show ASCII approximations instead. 2015-05-14 Eli Zaretskii Fix daemon crashes when linum-mode is turned on early on * src/window.c (Fwindow_end): Don't try calling display engine functions on initial-frame frame. (Bug#20565) Fix selective diff browsing in Ediff * lisp/vc/ediff-util.el (ediff-focus-on-regexp-matches): Go to the beginning of the region before searching for the ediff-regexp-focus-* regexps. (Bug#20568) 2015-05-14 Jan D Fixes bug#20142 * src/gtkutil.c (delete_cb): Don't send delete event here, it does arrive in the main loop, even for Gtk 3 (Bug#20142). Don't access display after i/o error (Bug#19147). * src/xterm.c (x_connection_closed): Add third arg ioerror. If ioerror, set display to 0 (Bug#19147). (x_error_quitter): Call x_connection_closed with third arg false. (x_io_error_quitter): Call x_connection_closed with third arg true. Handle GTK_SCALE, fixes Bug#20432. * src/gtkutil.c (xg_get_gdk_scale): New function. (xg_frame_set_char_size) (x_wm_set_size_hint, xg_get_default_scrollbar_width) (xg_get_default_scrollbar_height) (xg_update_horizontal_scrollbar_pos): Take GTK_SCALE in to account when setting sizes (Bug#20432). 2015-05-13 Leo Liu * lisp/emacs-lisp/generator.el (cps--gensym): Fix. 2015-05-13 Glenn Morris Fix bootstrap (void function cl-member). * lisp/emacs-lisp/cl-lib.el: Load cl-seq if no cl-loaddefs file. * lisp/emacs-lisp/cl-seq.el: Provide a feature. 2015-05-13 Stefan Monnier * lisp/loadup.el ("emacs-lisp/cl-generic"): Preload * src/lisp.mk (lisp): Add emacs-lisp/cl-generic.elc. * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method): Avoid defalias for closures which are not immutable. (cl--generic-prefill-dispatchers): New macro. Use it to prefill the dispatchers table with various entries. * lisp/emacs-lisp/ert.el (emacs-lisp-mode-hook): * lisp/emacs-lisp/seq.el (emacs-lisp-mode-hook): Use add-hook. 2015-05-13 Eli Zaretskii Improve tagging of C bindings in DEFVAR_* * src/Makefile.in (TAGS): Add --regex options to tag the C binding from DEFVAR_*. 2015-05-13 Paul Eggert * src/editfns.c (Fformat): Fix use-after-free bug (Bug#20548). 2015-05-12 Glenn Morris * lisp/progmodes/tcl.el (tcl-filter): Handle comint-prompt-read-only like gud.el does. (Bug#20549) Add basic VC push support * lisp/vc/vc.el (vc-push): New autoloaded command. * lisp/vc/vc-hooks.el (vc-prefix-map, vc-menu-map): Add vc-push. * lisp/vc/vc-bzr.el (vc-bzr--pushpull): New, factored from vc-bzr-pull. (vc-bzr-pull): Reimplement using vc-bzr--pushpull. (vc-bzr-push): New. * lisp/vc/vc-git.el (vc-git--pushpull): New, factored from vc-git-pull. (vc-git-pull): Reimplement using vc-git--pushpull. (vc-git-push): New. * lisp/vc/vc-hg.el (vc-hg--pushpull): New, factored from vc-hg-pull. (vc-hg-pull, vc-hg-push): Reimplement using vc-hg--pushpull. * doc/emacs/maintaining.texi (Pulling / Pushing): Rename from "VC Pull". Mention pushing. (VC With A Merging VCS, VC Change Log): Update xrefs. (Branches): Update menu. * doc/emacs/emacs.texi: Update menu. * etc/NEWS: Mention this. 2015-05-12 Nicolas Petton Improve the seq pcase pattern and the `seq-let' macro * lisp/emacs-lisp/seq.el: The pcase pattern now matches only if the object is a sequence, and binds each element of ARGS to the corresponding element of the sequence. 2015-05-12 Eli Zaretskii Fix tags created from DEFVAR_* declarations in C * src/Makefile.in (TAGS): Improve the --regex argument to etags, to make tags extracted from DEFVAR_* declarations more accurate. Add a test suite for etags * test/etags/: New test suite, adapted from http://fly.isti.cnr.it/pub/software/unix/etags-regression-test.tar.bz2, whose original author is Francesco Potortì . Fix tagging of symbols in C enumerations * lib-src/etags.c (consider_token): Don't tag symbols in expressions that assign values to enum constants. See http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00291.html for details. (C_entries): Reset fvdef to fvnone after processing a preprocessor conditional and after a comma outside of parentheses. 2015-05-12 Glenn Morris * lisp/url/url-handlers.el (url-file-name-completion) (url-file-name-all-completions): Silence compiler. * lisp/emacs-lisp/chart.el (chart-axis-draw): Replace obsolete alias. * lisp/play/dunnet.el (dun-dos-boot-msg): Fix time. (Bug#20554) 2015-05-12 Stefan Monnier * lisp/emacs-lisp/cl-generic.el: Add dispatch on &context arguments (cl--generic-mandatory-args): Remove. (cl--generic-split-args): New function. (cl-generic-define, cl--generic-lambda): Use it. (cl-generic-define-method): Use it as well, and add support for context args. (cl--generic-get-dispatcher): Handle &context dispatch. (cl--generic-cache-miss): `dispatch-arg' can now be a context expression. (cl--generic-dispatchers): Pre-fill. * test/automated/cl-generic-tests.el (sm-generic-test-12-context): New test. 2015-05-11 Glenn Morris * make-dist: Abort if "make ChangeLog" fails. Add "--no-changelog". 2015-05-11 Stefan Monnier * lisp/term/xterm.el: Fix xterm-paste handling for rxvt * lisp/term/rxvt.el: Require term/xterm. (rxvt-function-map): Use xterm-rxvt-function-map. (rxvt-standard-colors): Move before first use. (terminal-init-rxvt): Use xterm--push-map and xterm-register-default-colors. (rxvt-rgb-convert-to-16bit, rxvt-register-default-colors): Remove. * lisp/term/xterm.el (xterm-rxvt-function-map): New var. Move shared bindings between rxvt and xterm to it. (xterm-function-map): Use it. Move the xterm-paste binding to xterm-rxvt-function-map (bug#20444). (xterm-standard-colors): Move before first use. (xterm--push-map): New function. (xterm-register-default-colors): Take standard colors as argument. (terminal-init-xterm): Use it. Adjust call to xterm-register-default-colors. 2015-05-11 Glenn Morris * lisp/term/x-win.el: Quieten --without-x compilation. (x-own-selection-internal, x-disown-selection-internal) (x-selection-owner-p, x-selection-exists-p, x-get-selection-internal): Declare. * Makefile.in (emacslog): Remove srcdir. (ChangeLog): Update for the above. 2015-05-10 Fabián Ezequiel Gallina python.el: better limit for looking-back calls * lisp/progmodes/python.el (python-shell-accept-process-output): Use last comint prompt start as limit for looking-back. 2015-05-10 Stefan Monnier CEDET (srecode-insert-fcn): Fix use of oref on a class * lisp/cedet/srecode/insert.el (srecode-insert-fcn): Fix use of oref on a class. Reported by Pierre Lorenzon. (srecode-template-inserter-point): Remove declaration. CEDET (srecode-create-dictionary): Avoid obsolete object name * lisp/cedet/srecode/dictionary.el (srecode-create-dictionary): Don't use a symbol as an object name. Reported by Pierre Lorenzon. 2015-05-10 Paul Eggert C-x 8 shorthands for curved quotes, Euro, etc. Although C-x 8 lets you insert arbitrary Unicode characters, it's awkward to use this to insert commonly used symbols such as curved quotes, the Euro symbol, etc. This patch adds simpler sequences for characters commonly found in English text and in basic math. For example, assuming the Alt key works on your keyboard and iso-transl is loaded, one can now type "A-[" instead of "A-RET LEFT SIN TAB RET" to get the character "‘" (U+2018 LEFT SINGLE QUOTATION MARK). (Bug#20499) * doc/emacs/mule.texi (Unibyte Mode): A few other printing characters now work too. * etc/NEWS: Document this. * lisp/international/iso-transl.el (iso-transl-char-map): Also support the following characters: ‐ ‑ ‒ – — ― ‘ ’ “ ” † ‡ • ′ ″ € № ← → ↔ − ≈ ≠ ≤ ≥ 2015-05-10 Dmitry Gutov Add xref-find-regexp * lisp/progmodes/xref.el (xref-find-function): Describe the `matches' action. (xref-find-regexp): New command, using it. (xref-collect-references): Rename to xref-collect-matches. (xref--collect-reference): Rename to xref--collect-match. (xref-collect-matches, xref--collect-match): Accept new argument, KIND. Update accordingly. (xref--regexp-to-extended): New function. * lisp/progmodes/elisp-mode.el (elisp-xref-find): Support the `matches' action. (elisp--xref-find-matches): Accept new argument. Resolve a FIXME. * lisp/progmodes/etags.el (etags-xref-find): Support the `matches' action. (etags--xref-find-matches): New function. 2015-05-10 Glenn Morris * Makefile.in: Fixes for recent change-history changes. (change-history-nocommit): Update footer regexp. Ensure output script stays executable. 2015-05-10 Nicolas Petton New version of `seq-let' based on a pcase pattern * lisp/emacs-lisp/seq.el (seq-let): Define the macro in terms of a pcase pattern if `pcase-defmacro' is defined (Emacs>=25.1). 2015-05-10 Przemysław Wojnowski Add basic HTML5 tags and a template * lisp/textmodes/sgml-mode.el: Basic HTML5 support. (html-tag-alist): Add HTML5 tags. (html-tag-help): Add new tags descriptions. (html-navigational-links): Template for nav links. (html-html5-template): Template for a HTML5 page. 2015-05-10 Dmitry Gutov semantic/symref/grep: Don't use word boundaries * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): Instead of wrapping input in word boundaries, check that the characters before and after are not word constituents. semantic/symref/grep: Support regexp search * lisp/cedet/semantic/symref.el (semantic-symref-hit-to-tag-via-buffer): Don't regexp-quote when the search type is regexp. * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): Support the regexp search type. Pass -E to Grep when it's used. semantic-symref-regexp: Allow to input an arbitrary string * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp): Allow to input an arbitrary string interactively. Remove tag-symbol-match-p from etags-xref-find-definitions-tag-order * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): Remove tag-symbol-match-p from the default value (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00292.html). Declare find-tag obsolete * lisp/progmodes/etags.el (find-tag): Declare obsolete in favor of xref-find-definitions. 2015-05-10 Jan D Draw composite string correctly (Bug#20537) * src/nsterm.m (ns_draw_composite_glyph_string_foreground): New function. (ns_draw_glyph_string): Call it. 2015-05-09 Eli Zaretskii Avoid infloop in ERC * lisp/simple.el (line-move-to-column): Ignore field boundaries while computing line beginning position. (Bug#20498) 2015-05-08 Glenn Morris * Makefile.in (ChangeLog): No longer pass "srcprefix"; cd instead. * build-aux/gitlog-to-emacslog: Check called from right directory. (srcprefix): Remove. * build-aux/gitlog-to-emacslog: Get rid of "distprefix". * Makefile.in (ChangeLog): No longer pass "distprefix". * make-dist: Update "make ChangeLog" syntax for the above change. * build-aux/gitlog-to-emacslog: Don't hard-code "ChangeLog.2". * Makefile.in (ChangeLog): Pass -n to gitlog-to-emacslog. * build-aux/gitlog-to-emacslog: Add "for earlier changes" to footer. Add command-line option-parsing to gitlog-to-emacslog * build-aux/gitlog-to-emacslog: Add command-line options. By default, refuse to remove an existing output file. * Makefile.in (CHANGELOG): Update default. (ChangeLog): Do not test for existing file. (change-history-nocommit): Ensure temp file does not exist. Quieten --without-x compilation * lisp/term/common-win.el: Provide a feature. * lisp/term/x-win.el (term/common-win): Require it. * lisp/dired-aux.el (dired-do-print): Require lpr. Quieten compilation, eg in --without-x builds * lisp/dired-aux.el (lpr-printer-switch): * lisp/frame.el (tool-bar-height): * lisp/linum.el (font-info): * lisp/window.el (font-info, overflow-newline-into-fringe) (tool-bar-height): * lisp/emacs-lisp/package-x.el (tar-data-buffer): * lisp/gnus/gnus-util.el (iswitchb-mode): * lisp/mail/rmailmm.el (libxml-parse-html-region): * lisp/net/nsm.el (gnutls-peer-status) (gnutls-peer-status-warning-describe): * lisp/net/shr.el (libxml-parse-xml-region): * lisp/url/url-http.el (gnutls-peer-status): Declare. 2015-05-08 Stefan Monnier CEDET (srecode-pop, srecode-peek): Don't use `subclass' * lisp/cedet/srecode/insert.el (srecode-pop, srecode-peek): Don't use `subclass' since they're never called with a class. (srecode-insert-method, srecode-insert-subtemplate): Avoid obsolete srecode-dictionary-child-p. 2015-05-08 Nicolas Richard * lisp/help.el (help--binding-locus): Document argument POSITION. (Bug#20530) 2015-05-08 Paul Eggert Merge from gnulib * doc/misc/texinfo.tex: Get latest version. 2015-05-08 Oleh Krehel ffap.el (ffap-read-file-or-url): Fix completing-read call * lisp/ffap.el (ffap-read-file-or-url): The HIST argument of `completing-read' should be a symbol. 2015-05-08 Eli Zaretskii Verify file modifications by other programs * src/filelock.c (lock_file): Check whether the file was modified since it was visited even if 'create-lockfiles' is nil. (Bug#18828) Fix keyboard macros that include function keys * src/keyboard.c (read_char_minibuf_menu_prompt): Record function keys in the macro before returning. (Bug#20454) 2015-05-08 Glenn Morris * build-aux/gitlog-to-changelog: Treat "Tiny-change" like "Copyright-paperwork-exempt". (Bug#20324) * lisp/vc/log-edit.el: Handle "(tiny change)". (Bug#20324) (log-edit-rewrite-tiny-change): New variable. (log-edit-insert-changelog): Maybe add "Copyright-paperwork-exempt". (log-edit-changelog-ours-p): Set log-edit-author to a cons. * etc/NEWS: Mention this. * lisp/calc/calc.el (math-zerop): Declare. * lisp/emacs-lisp/eieio-opt.el (help-fns-short-filename): Declare. 2015-05-07 Artur Malabarba * lisp/emacs-lisp/subr-x.el (if-let): Fix debug spec. Support the case when BINDINGS is a single tuple. (Bug#20525) * etc/NEWS: Fix typo in previous commit (14bb519f1034ddb38ce375cbad7095d9b07f8b26). 2015-05-07 Jan D * configure.ac: Warn for multiple display crash for all Gtk+ versions. Output URL to Gtk+ bug (Bug#20452). * lisp/term/ns-win.el (ns-paste-secondary): Use gui-get-selection. 2015-05-07 Artur Malabarba * lisp/emacs-lisp/package.el: New "external" package status. An external package is any installed package that's not built-in and not from `package-user-dir', which usually means it's from an entry in `package-directory-list'. They are treated much like built-in packages, in that they cannot be through the Package Menu deleted and are not considered for upgrades. (package-desc-status): Identify if a package is installed outside `package-user-dir'. (package-menu--print-info-simple) (package-menu--status-predicate): Add support for it. * etc/NEWS: Document it. 2015-05-06 Stefan Monnier * lisp/mail/rmail.el: Use lexical-binding. (rmail-bury): Remove unused var `buffer-to-bury'. (rmail-get-new-mail): Remove unused vars `opoint' and `success'. (rmail-parse-url): Remove unused var `proto', `user', and `host'. (rmail-unrmail-new-mail-maybe): Remove unused var `new-file'. (rmail-insert-inbox-text): Remove unused var `movemail'. (rmail-add-mbox-headers): Remove unused var `limit'. (rmail-undelete-previous-message): Remove unused var `value'. (rmail-reply): Remove unused vars `resent-to', `resent-cc', `resent-reply-to'. (rmail-mime-mbox-buffer, rmail-mime-view-buffer): Declare. (rmail-restore-desktop-buffer): Rename arguments. 2015-05-06 Glenn Morris * Makefile.in (change-history-commit): Add missing piece of previous. Avoid unnecessary bumping of Makefile.in's timestamp * Makefile.in (gen_origin): Move to gitlog-to-emacslog. (emacslog): New variable. (ChangeLog): Use $emacslog. Don't pass $gen_origin. (unchanged-history-files): Use $emacslog rather than Makefile.in. (change-history-nocommit): Store hash in $emacslog. * build-aux/gitlog-to-emacslog (gen_origin): Move default here. * admin/update_autogen (changelog_files): Update for the above. * Makefile.in: Don't always insist on removing existing "ChangeLog". (CHANGELOG): New variable. (no-ChangeLog): Remove. (ChangeLog): Replace "no-ChangeLog"; pass output file to script. (change-history-nocommit): Use a temp file rather than insisting on deletion of any existing "ChangeLog". * build-aux/gitlog-to-emacslog: Allow specification of output. * admin/update_autogen: Add option to update ChangeLog. (usage): Mention -H. (changelog_flag, changelog_n, changelog_files): New variables. (main): Check for -H, and maybe run change-history-nocommit. 2015-05-06 Stefan Monnier * lisp/subr.el (delete-dups): Pre-size the hashtable. * lisp/emacs-lisp/cl.el (define-modify-macro): Make sure cl--arglist-args is defined (bug#20517). 2015-05-06 Glenn Morris * Makefile.in (change-history-nocommit): New. 2015-05-06 Dmitry Gutov * lisp/cedet/pulse.el (pulse-momentary-unhighlight): Only cancel timer when it is non-nil (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00223.html). 2015-05-06 Glenn Morris Quieten CEDET compilation * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym->tag): Invert fboundp test to quieten on current Emacs. * lisp/cedet/ede/config.el (ede-shell-run-something) (semanticdb-file-table-object, semanticdb-needs-refresh-p) (semanticdb-refresh-table): Declare. (ede-preprocessor-map): Require semantic/db. Quieten cc-mode compilation * lisp/progmodes/cc-awk.el (c-forward-sws): * lisp/progmodes/cc-cmds.el (c-forward-subword, c-backward-subword): Declare. 2015-05-06 Oleh Krehel * lisp/subr.el (delete-dups): Avoid nreverse. 2015-05-06 Artur Malabarba * lisp/subr.el (delete-dups): Make it destructive again. 2015-05-06 Paul Eggert * doc/lispref/sequences.texi (Sequence Functions): Fix quoting. 2015-05-06 Stefan Monnier * lisp/emacs-lisp/testcover.el: Don't use edebug--read (bug#20487). * lisp/emacs-lisp/testcover.el: Use lexical-binding. (testcover--read): Rename from testcover-read. Change calling convention. Use edebug-read-and-maybe-wrap-form now that edebug-read is gone. (testcover-start): Use add-function. Move edebug-all-defs binding to testcover--read. (testcover-this-defun): Tighten scope of edebug-all-defs binding. (testcover-mark): Remove unused var `item'. * src/lread.c (syms_of_lread): Default load-read-function to `read'. 2015-05-06 Oleh Krehel * lisp/subr.el (delete-dups): When there are more than 100 candidates, use a hash table. This can result in ~500 times speed-up for typical collections of size 5000, like that of `load-library'. 2015-05-06 Stefan Monnier CEDET: Avoid `oref' on classes in a few more cases * lisp/cedet/ede/generic.el (ede-find-target): * lisp/cedet/ede.el (ede-project-forms-menu): Avoid `oref' on classes. * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-setup): Remove unused var `prefix'. * lisp/cedet/semantic/symref/grep.el: Fix unused var warnings. (grepflags, greppattern): Declare. (semantic-symref-perform-search): Remove unused var `pat'. CEDET (srecode-compile-inserter): Avoid `oref' on classes * lisp/cedet/srecode/compile.el (srecode-compile-inserter): Avoid `oref' on classes (bug#20491). (srecode-compile-split-code): Remove unused var `key'. 2015-05-06 Dmitry Gutov Clean up pulse.el a little * lisp/cedet/pulse.el (pulse): Remove. (pulse-momentary-timer): Save instead of the stop time. (pulse-momentary-highlight-overlay): Call pulse-momentary-unhighlight first thing. Treat pulse-momentary-overlay as a single value, not a list. Save the created timer. Only pass the stop time to the timer. (pulse-tick): Update accordingly. (pulse-momentary-unhighlight): Treat pulse-momentary-overlay as a single value. Cancel the timer. 2015-05-06 Tassilo Horn * lisp/textmodes/reftex-cite.el (reftex-format-bib-entry): Support the biblatex journaltitle field. 2015-05-05 Glenn Morris Minor declare-function improvement * lisp/emacs-lisp/bytecomp.el (byte-compile-macroexpand-declare-function): Handle declarations after calls. (Bug#20509) * lisp/progmodes/js.el (js--optimize-arglist): Remove declaration. * lisp/w32-fns.el (w32-shell-name): Silence compiler. 2015-05-05 Dmitry Gutov Pulse using a timer * lisp/cedet/pulse.el (pulse-momentary-stop-time): New variable. (pulse-momentary-highlight-overlay): Set up the timer instead of calling `pulse' (http://lists.gnu.org/archive/html/emacs-devel/2015-05/). (pulse-tick): New function. (pulse-momentary-unhighlight): Cut off the stop time. (pulse-delay): Update the docstring WRT to not using sit-for. Add semantic/symref/grep file patterns for ruby-mode * lisp/cedet/semantic/symref/grep.el (semantic-symref-filepattern-alist): Add patterns for ruby-mode. Clarify the docstring. Don't require match * lisp/progmodes/xref.el (xref--read-identifier): Don't require match. That doesn't work for every command, and some identifier completion tables are bound to be imperfect anyway. 2015-05-05 Stefan Monnier * lisp/cedet/semantic/grammar.el: Fix compiler warnings (bug#20505). (semantic-grammar--template-expand): New function. (semantic-grammar-header, semantic-grammar-footer): Use it. (semantic-grammar--lex-block-specs): Remove unused var `block-spec'. (semantic-grammar-file-regexp): Refine regexp. (semantic-grammar-eldoc-get-macro-docstring): Use elisp-get-fnsym-args-string when available. (semantic-idle-summary-current-symbol-info): Use new elisp-* names instead of the old eldoc-* names. * lisp/emacs-lisp/eldoc.el (eldoc-docstring-format-sym-doc): Move back from elisp-mode.el. Tweak calling convention. * lisp/progmodes/elisp-mode.el (package-user-dir): Declare. (elisp-get-fnsym-args-string): Add `prefix' argument. Rename from elisp--get-fnsym-args-string. (elisp--highlight-function-argument): Add `prefix' arg. (elisp-get-var-docstring): Rename from elisp--get-var-docstring. (elisp--docstring-format-sym-doc): Move back to eldoc.el. 2015-05-05 Glenn Morris * lisp/help-fns.el (describe-function-1): Handle builtins with advertised calling conventions. (Bug#20479) 2015-05-05 Nicolas Petton Merge branch 'seq-let' Update `seq-let' documentation * doc/lispref/sequences.texi: Update the documentation of `seq-let' with the support of `&rest'. Add support for &rest in `seq-let' * lisp/emacs-lisp/seq.el (seq--make-bindings): Add support for `&rest' in the argument list. * test/automated/seq-tests.el: Add a test for parsing and binding `&rest' in `seq-let'. 2015-05-05 Pierre Lorenzon (tiny change) * lisp/emacs-lisp/eieio-custom.el (eieio-object-value-get): Add missing increment (Bug#20467). (eieio-object-value-create): Adjust to new slots representation (Bug#20467). (eieio-object-value-create): Fix missed adjustment to new representation of slots metadata. 2015-05-05 Nicolas Petton * lisp/emacs-lisp/seq.el (seq--make-bindings): Improve the docstring. 2015-05-05 Dmitry Gutov Work around "Attempt to modify read-only object" * lisp/progmodes/elisp-mode.el (elisp--xref-format): Extract from elisp--xref-find-definitions, to work around "Attempt to modify read-only object" error. Only skip some variables that have function counterparts * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Only skip minor-mode-named variable if it's defined in a Lisp file, and it's in minor-mode-list (bug#20506). * test/automated/elisp-mode-tests.el (elisp-xref-finds-both-function-and-variable) (elisp-xref-finds-only-function-for-minor-mode): New tests. 2015-05-04 Dmitry Gutov * lisp/progmodes/xref.el (xref--location-at-point): Revert the previous change. (xref--insert-xrefs): Buttonize the whole line, including the number at the beginning. * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Make sure we're inside the let bindings. * test/automated/elisp-mode-tests.el (elisp-completes-functions-after-let-bindings): New test. 2015-05-04 Glenn Morris * lisp/cedet/semantic/grammar.el (eldoc-function-argstring) (eldoc-docstring-format-sym-doc, eldoc-last-data-store) (eldoc-get-fnsym-args-string, eldoc-get-var-docstring): Remove outdated declarations. Replace instances of "(eval-when-compile (autoload ...))" * lisp/gnus/gnus-art.el (nneething-get-file-name): Declare rather than autoload. * lisp/gnus/gnus-async.el (gnus-html-prefetch-images): Remove pointless autoload. * lisp/gnus/gnus-sync.el (gnus-group-topic): Autoload at run-time. (gnus-topic-create-topic, gnus-topic-enter-dribble): Declare rather than autoload. * lisp/gnus/mm-archive.el (gnus-recursive-directory-files) (mailcap-extension-to-mime): Autoload at run-time. * lisp/gnus/mm-util.el (latin-unity-massage-name) (latin-unity-maybe-remap, latin-unity-representations-feasible-region) (latin-unity-representations-present-region): Declare rather than autoload. * lisp/gnus/mml-smime.el (epg-make-context) (epg-passphrase-callback-function): Autoload at run-time. (epg-context-set-signers, epg-context-result-for) (epg-new-signature-digest-algorithm) (epg-verify-result-to-string, epg-list-keys, epg-verify-string) (epg-sign-string, epg-encrypt-string) (epg-context-set-passphrase-callback, epg-sub-key-fingerprint) (epg-configuration, epg-expand-group, epa-select-keys): Declare rather than autoload. * lisp/gnus/nnir.el (nnimap-change-group, nnimap-make-thread-query): Autoload at run-time. (gnus-group-topic-name, nnimap-buffer, nnimap-command) (gnus-registry-get-id-key, gnus-registry-action): Declare rather than autoload. * lisp/gnus/nnmail.el (mail-send-and-exit): Autoload at run-time. * lisp/gnus/spam.el (spam-stat-buffer-change-to-non-spam) (spam-stat-buffer-change-to-spam, spam-stat-buffer-is-non-spam) (spam-stat-buffer-is-spam, spam-stat-load, spam-stat-save) (spam-stat-split-fancy): Remove pointless autoloads. * lisp/net/mairix.el: Load gnus-util when compiling. (gnus-group-read-ephemeral-group, gnus-summary-toggle-header) (message-field-value): Declare rather than autoload. (mairix-gnus-ephemeral-nndoc, mairix-gnus-fetch-field): Check gnus-alive-p is fbound. (vm-quit, vm-visit-folder, vm-select-folder-buffer) (vm-check-for-killed-summary, vm-error-if-folder-empty) (vm-get-header-contents, vm-select-marked-or-prefixed-messages): Declare rather than autoload. * lisp/gnus/mm-view.el (epg-decrypt-string): Autoload. * lisp/gnus/mml-smime.el (epg-key-sub-key-list) (epg-sub-key-capability, epg-sub-key-validity): Fix declarations. * lisp/progmodes/elisp-mode.el (xref-collect-references): Declare. * lisp/emacs-lisp/debug.el (help-xref-interned): Update declaration. * lisp/allout.el (epg-user-id-string, epg-key-user-id-list): * lisp/emacs-lisp/package.el (epg-signature-status): Fix declarations. * lisp/play/gametree.el (gametree-show-children-and-entry) (gametree-apply-layout, gametree-mouse-show-subtree) (gametree-mouse-hide-subtree): Replace obsolete outline aliases. * lisp/emacs-lisp/check-declare.el (check-declare-verify): Handle cl-defgeneric, cl-defmethod. 2015-05-04 Dmitry Gutov * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): Highlight both type and symbol name. Insert, highlight and align line numbers in xref output * lisp/progmodes/etags.el (xref-location-line): Specialize for xref-etags-location. * lisp/progmodes/xref.el (xref-location-line): New generic method. (xref-file-location): Add reader for the line slot. (xref--location-at-point): Skip to the `xref-location' property. (xref--collect-reference): Drop the line number from description. (xref--insert-xrefs): Insert, highlight and align line numbers. 2015-05-04 Daniel Colascione * lisp/simple.el (save-mark-and-excursion--save) (save-mark-and-excursion--restore): Fix previous commit (255a011f0ecf004b31c59945b10154b10fac3af1). 2015-05-04 Dmitry Gutov Don't pulse the indentation, or the newline * lisp/cedet/pulse.el (pulse-lighten-highlight) (pulse-reset-face): Fall back to the inherited background attribute in FACE. (pulse-momentary-highlight-region): Add autoload cookie. * lisp/progmodes/xref.el (xref--maybe-pulse): Don't highlight the indentation, or the newline, if the line's non-empty (http://lists.gnu.org/archive/html/emacs-devel/2015-05/msg00118.html). 2015-05-04 Daniel Colascione Add `save-mark-and-excursion', which has the old `save-excursion' behavior * doc/lispref/positions.texi (Excursions): Document `save-mark-and-excursion'. * lisp/font-lock.el (font-lock-fontify-block): Use `save-mark-and-excursion' instead of `save-excursion', restoring Emacs 24 behavior. * lisp/simple.el (save-mark-and-excursion--save) (save-mark-and-excursion--restore): New functions. (save-mark-and-excursion): New user macro. * src/editfns.c (Fsave_excursion): Mention `save-mark-and-excursion' in `save-excursion' documentation. 2015-05-04 Dmitry Gutov * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Classify lone symbol inside let varlist as variable. * test/automated/elisp-mode-tests.el (completest-variables-in-let-bindings): New test. Add xref-pulse-on-jump * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line): Add autoload cookie. * lisp/progmodes/xref.el (xref-pulse-on-jump): New option. (xref--maybe-pulse): New function. (xref-pop-marker-stack, xref--pop-to-location) (xref--display-position): Use it. (xref--location-at-point): Use back-to-indentation. 2015-05-04 Stefan Monnier lisp/org/org-{macs,list}.el: Fix lexical warnings * lisp/org/org-list.el (org-list-struct): Remove unused var `ind'. (org-list-get-next-item, org-list-get-prev-item) (org-list-get-children): Mark unused arg `struct'. (org-list-use-alpha-bul-p): Remove unused var `bul'. (org-toggle-checkbox): Mark unused var. (org-update-checkbox-count): Remove unused var `box-num'. (org-adapt-indentation): Declare. (org-list-parse-list): Declare var instead of adding a dummy duplicate. (org-list-send-list): Remove unused var `txt'. (org-list-to-latex, org-list-to-texinfo): Mark unused arg `params'. (org-list-to-subtree): Add prefix to dyn-bind var, and declare them. * lisp/org/org-macs.el: Use `declare'. (org-with-limited-levels): Declare dyn-bound vars. 2015-05-04 Eli Zaretskii Fix minor issues with CEDET on MS-Windows * lisp/cedet/semantic/symref/idutils.el (semantic-symref-parse-tool-output-one-line): Fix the search regexp to match MS-Windows file names with drive letters. (Bug#19468) * lisp/cedet/semantic/symref/grep.el (semantic-symref-grep-use-template): Remove "--color=always" from Grep switches on MS-Windows. (semantic-symref-grep-shell): Use shell-file-name as the default value, so this works not only on Posix platforms. (semantic-symref-perform-search): Use shell-quote-argument instead of literal '..' for portable quoting of Grep command-line argument. Use shell-command-switch instead of a literal "-c". * lisp/cedet/semantic/bovine/gcc.el (semantic-gcc-get-include-paths): Use file-name-absolute-p to test for an absolute file name in a portable way. 2015-05-04 Artur Malabarba * lisp/emacs-lisp/package.el: Remove `package--silence' variable. (package-import-keyring, package-refresh-contents) (package-compute-transaction, package--save-selected-packages) (package-install-from-archive, package-delete) (package-menu--perform-transaction): Use `inhibit-message' instead. (package--compile): Set `warning-minimum-level' to :error. 2015-05-03 Stefan Monnier * lisp/term/screen.el (xterm-screen-extra-capabilities): New custom. (terminal-init-screen): Use it (bug#20356). * lisp/term/xterm.el: Provide `term/xterm' instead of `xterm'. (xterm--extra-capabilities-type): New const. (xterm-extra-capabilities): Use it. (xterm--version-handler): Lower the pseudo-version for `screen'. 2015-05-03 Dmitry Gutov * lisp/progmodes/xref.el (xref--insert-xrefs): Tweak the faces. Always insert a newline at the end (to avoid mouse-face background tail at the last line). elisp-completion-at-point: Prioritize being quoted over funpos * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): Only consider function position when not inside quoted form (bug#20425). * test/automated/elisp-mode-tests.el: New file. Stop vc-print-log from jumping to the top * lisp/vc/vc.el (vc-print-log-internal): Pass nil GOTO-LOCATION-FUNC to vc-log-internal-common when WORKING-REVISION is not specified. (vc-incoming-outgoing-internal): Always pass nil. (vc-log-internal-common): When GOTO-LOCATION-FUNC is nil, don't call it, and don't set vc-sentinel-movepoint (bug#15322). (vc-print-root-log): Don't fetch the root working revision, nor pass it to vc-print-log-internal. 2015-05-02 Michael Vehrs Fix display of keyboard layouts for right-to-left scripts * lisp/international/quail.el (quail-insert-kbd-layout): Force left-to-right paragraph direction. 2015-05-02 K. Handa * src/cmds.c (internal_self_insert): When we insert spaces for padding, set point before the padding spaces, not after them. 2015-05-02 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-p): New alias to `sequencep'. 2015-05-02 Dmitry Gutov Fix etags-xref-find for references * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): Use `cl-mapcan'. * lisp/progmodes/etags.el (etags-xref-find): Ditto. Prompt for directory if no tags tables are loaded (bug#19468). 2015-05-02 Philipp Stephani Update the options in whitespace-style defcustom * lisp/whitespace.el (whitespace-style): Use `set' instead of a `repeat' because the option is really set-like. Add missing options. Reorder options to match the order in the documentation. (Bug#20346) 2015-05-02 Eli Zaretskii Fix error diagnostics of c-macro-expand * lisp/progmodes/cmacexp.el (c-macro-expansion): Don't bail out too early if no start-marker string was found -- that generally means cpp exited abnormally, and we still want to show its error messages to the user. Don't require Texinfo 5.0 for Emacs documentation * doc/emacs/docstyle.texi: Use "@set txicodequoteundirected" and "@set txicodequotebacktick" instead of "@codequotebacktick on" and "@codequoteundirected on", respectively, to avoid requiring Texinfo 5.x for Emacs documentation. 2015-05-01 Simen Heggestøyl * lisp/files.el (pwd): When called with a prefix argument, insert the current default directory at point. 2015-05-01 Stefan Monnier * lisp/isearch.el (isearch-mode-map): Allow backspace remapping * lisp/isearch.el (isearch-mode-map): Don't inhibit function-key-map remapping for backspace (bug#20466). 2015-05-01 Dmitry Gutov Implement xref-find-references in etags and elisp-mode * lisp/progmodes/elisp-mode.el (elisp--xref-find-references): New function. (elisp-xref-find): Use it. * lisp/progmodes/etags.el (etags-xref-find): Use `xref-collect-references'. * lisp/progmodes/xref.el (xref-collect-references): (xref--collect-reference): New functions. 2015-05-01 Paul Eggert Prefer plain characters to Texinfo circumlocutions For example, prefer 'François' to 'Fran\c{c}ois', 'Fran\c cois', 'Fran@,{c}ois' or 'Francois' (all of which were used!) in Texinfo sources. Fix single-quoting style in PDF manuals The PDF versions of the GNU manuals used curved single quotes to represent grave accent and apostrophe, which made it a pain to cut and paste code examples from them. Fix the PDF versions to use grave accent and apostrophe for Lisp source code, keystrokes, etc. This change does not affect the info files, nor does it affect ordinary uses of curved single quotes in PDF. * doc/emacs/docstyle.texi: New file, which specifies treatment for grave accent and apostrophe, as well as the document encoding. * doc/emacs/emacs-xtra.texi, doc/emacs/emacs.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/back.texi, doc/lispref/book-spine.texi: * doc/lispref/elisp.texi, doc/lispref/lay-flat.texi: * doc/misc/ada-mode.texi, doc/misc/auth.texi: * doc/misc/autotype.texi, doc/misc/bovine.texi, doc/misc/calc.texi: * doc/misc/cc-mode.texi, doc/misc/cl.texi, doc/misc/dbus.texi: * doc/misc/dired-x.texi, doc/misc/ebrowse.texi, doc/misc/ede.texi: * doc/misc/ediff.texi, doc/misc/edt.texi, doc/misc/efaq-w32.texi: * doc/misc/efaq.texi, doc/misc/eieio.texi, doc/misc/emacs-gnutls.texi: * doc/misc/emacs-mime.texi, doc/misc/epa.texi, doc/misc/erc.texi: * doc/misc/ert.texi, doc/misc/eshell.texi, doc/misc/eudc.texi: * doc/misc/eww.texi, doc/misc/flymake.texi, doc/misc/forms.texi: * doc/misc/gnus-coding.texi, doc/misc/gnus-faq.texi: * doc/misc/gnus.texi, doc/misc/htmlfontify.texi: * doc/misc/idlwave.texi, doc/misc/ido.texi, doc/misc/info.texi: * doc/misc/mairix-el.texi, doc/misc/message.texi, doc/misc/mh-e.texi: * doc/misc/newsticker.texi, doc/misc/nxml-mode.texi: * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/pcl-cvs.texi: * doc/misc/pgg.texi, doc/misc/rcirc.texi, doc/misc/reftex.texi: * doc/misc/remember.texi, doc/misc/sasl.texi, doc/misc/sc.texi: * doc/misc/semantic.texi, doc/misc/ses.texi, doc/misc/sieve.texi: * doc/misc/smtpmail.texi, doc/misc/speedbar.texi: * doc/misc/srecode.texi, doc/misc/todo-mode.texi, doc/misc/tramp.texi: * doc/misc/url.texi, doc/misc/vhdl-mode.texi, doc/misc/vip.texi: * doc/misc/viper.texi, doc/misc/widget.texi, doc/misc/wisent.texi: * doc/misc/woman.texi: Use it instead of '@documentencoding UTF-8', to lessen the need for global changes like this in the future. * doc/emacs/Makefile.in (EMACS_XTRA): * doc/lispintro/Makefile.in (srcs): * doc/lispref/Makefile.in (srcs): Add dependency on docstyle.texi. * doc/misc/Makefile.in (style): New macro. (${buildinfodir}/%.info, %.dvi, %.pdf, %.html) (${buildinfodir}/ccmode.info, ${buildinfodir}/efaq%.info, gnus_deps): Use it. 2015-05-01 Glenn Morris * test/automated/cl-lib-tests.el (cl-lib-adjoin-test): Fix it. * lisp/emacs-lisp/pcase.el (get-edebug-spec, edebug-match) (help-fns--signature): Declare. * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Require help-fns. 2015-05-01 Nicolas Petton New macro seq-let, providing destructuring support to seq.el * lisp/emacs-lisp/seq.el (seq-let): New macro. `seq-let' is similar to `cl-destructuring-bind' but works on all sequence types supported by `seq.el'. Bump version number to 1.6. * test/automated/seq-tests.el: Add tests for seq-let. * doc/lispref/sequences.texi: Add documentation for seq-let. 2015-05-01 Pontus Michael * lisp/simple.el (blink-matching-open): Better behavior in minibuffer. 2015-05-01 Glenn Morris * lisp/emacs-lisp/ert.el (ert--special-operator-p): Fix previous. 2015-05-01 Artur Malabarba * lisp/emacs-lisp/bytecomp.el: Revert "Silence noninteractive compilations" This reverts commit 9a7ddde977378cb5276a81476ae458889c403267. This reverts commit 3c0ea587daf8b17960b90603a70e3ac4057d883d. With message: "* lisp/emacs-lisp/bytecomp.el: Use `inhibit-message'". (Bug#20445). 2015-05-01 K. Handa * lisp/international/mule-cmds.el (input-method-use-echo-area): Change :type to 'boolean. 2015-05-01 Lars Magne Ingebrigtsen Start using proportional fonts in eww by default * lisp/net/shr.el (shr-use-fonts): Switch the default to t, since it seems to work well. Fix links in tables in shr * lisp/net/shr.el: Remove `shr-inhibit-decoration', because that makes (some) links in tables not work. 2015-05-01 Jan D * lisp/term/ns-win.el (ns-get-cut-buffer-internal): Remove this alias. 2015-04-30 Glenn Morris * lisp/emacs-lisp/ert.el (ert--special-operator-p): Update for 2015-02-08 change to indirect-function. * lisp/term/ns-win.el (ns-get-selection-internal): Remove declaration for function deleted 2014-10-21. * lisp/dom.el: Load subr-x when compiling, for when-let. Silence some compilation warnings * lisp/emacs-lisp/check-declare.el (compilation-forget-errors): * lisp/emulation/cua-base.el (delete-active-region): * lisp/net/net-utils.el (w32-get-console-output-codepage): * lisp/term/ns-win.el (ns-own-selection-internal) (ns-disown-selection-internal, ns-selection-owner-p) (ns-selection-exists-p, ns-get-selection): Declare for compiler. Function declaration updates prompted by 'make check-declare' * lisp/emacs-lisp/package.el (lm-homepage): * lisp/gnus/gnus-util.el (iswitchb-read-buffer): * lisp/gnus/mm-decode.el (libxml-parse-html-region): * lisp/gnus/mml.el (libxml-parse-html-region): * lisp/gnus/nnrss.el (libxml-parse-html-region): * lisp/net/eww.el (libxml-parse-html-region): * lisp/net/shr.el (libxml-parse-html-region): * lisp/vc/vc-bzr.el (vc-annotate-convert-time): * lisp/vc/vc-cvs.el (vc-annotate-convert-time): * lisp/vc/vc-git.el (vc-annotate-convert-time): * lisp/vc/vc-hg.el (vc-annotate-convert-time): * lisp/vc/vc-mtn.el (vc-annotate-convert-time): * lisp/vc/vc-rcs.el (vc-annotate-convert-time): Update declaration. Remove compatibility code for 20-year old function renaming * lisp/progmodes/idlw-shell.el (idlwave-shell-comint-filter): Make it an obsolete alias. (idlwave-shell-filter): Change all uses to comint-output-filter. 2015-04-30 Tassilo Horn Add ace-window face config * etc/themes/tsdh-light-theme.el (tsdh-light): Add ace-window face configuration. 2015-04-30 Paul Eggert Unclutter 'make doc' output a bit * Makefile.in ($(DOCS), $(INSTALL_DOC), $(UNINSTALL_DOC)): Use make subst rather than sh IFS to split target string apart. This makes 'make' output easier to follow. Merge from gnulib * doc/misc/texinfo.tex: Update from gnulib. 2015-04-30 Artur Malabarba * lisp/emacs-lisp/package.el: Some speed optimizations on menu refresh. (package-menu--print-info): Obsolete. (package-menu--print-info-simple): New function. (package-menu--refresh): Use it, simplify code, and improve performance. * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry): Tiny performance improvement. * lisp/emacs-lisp/package.el (package--message): inhibit-message. 2015-04-29 Paul Eggert Omit -Wstrict-overflow workaround in GCC 5 * src/process.c: Remove workaround for GCC -Wstrict-overflow bug if it's GCC 5 or later, as the bug appears to be fixed in GCC 5.1. Merge from gnulib This incorporates: 2015-04-29 extern-inline: no need for workaround in GCC 5.1 2015-04-26 file-has-acl: port to CentOS 6 * m4/acl.m4, m4/extern-inline.m4: Update from gnulib. 2015-04-29 Helmut Eller Set next-error-* in xref--xref-buffer-mode * lisp/progmodes/xref.el (xref--xref-buffer-mode): Set `next-error-function' and `next-error-last-buffer'. (xref--next-error-function): New function. (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01311.html) 2015-04-29 Fabián Ezequiel Gallina python.el: Fix warnings on looking-back calls missing LIMIT * lisp/progmodes/python.el (python-shell-accept-process-output): Pass LIMIT arg to looking-back. 2015-04-29 Artur Malabarba * lisp/emacs-lisp/package.el: Use pushnew for downloads in progress. (package--download-and-read-archives): Use pushnew instead of append. If something terrible happened during a previous download, simply refreshing should now make things work again. 2015-04-29 Dmitry Gutov Introduce etags-xref-find-definitions-tag-order * lisp/progmodes/etags.el (etags-xref-find-definitions-tag-order): New variable. (etags--xref-find-definitions): Use it (bug#19468). 2015-04-29 Eli Zaretskii PATH- and completion-related fixes in Eshell on MS-Windows * lisp/eshell/esh-ext.el (eshell-search-path): When running on MS-Windows, prepend "." to list of directories produced from PATH, as Windows always implicitly searches the current directory first. (eshell-force-execution): Make it have a non-nil default value on MS-Windows and MS-DOS. * lisp/eshell/em-cmpl.el (eshell-complete-commands-list): If eshell-force-execution is non-nil, complete on readable files and directories, not only executables. When running on MS-Windows, prepend "." to list of directories produced from PATH, as Windows always implicitly searches the current directory first. 2015-04-29 Sam Steingold Bury RCIRC buffers when there is no activity * lisp/net/rcirc.el (rcirc-non-irc-buffer): Remove. (rcirc-bury-buffers): New function. (rcirc-next-active-buffer): When there is no new activity, use `rcirc-bury-buffers' to hide all RCIRC buffers. 2015-04-29 Krzysztof Jurewicz (tiny change) Fix DBUS query result parsing for secrets-search-items * lisp/net/secrets.el (secrets-search-items): Fix DBUS query result parsing. The function assumed that return value of the SearchItems method called on a collection is a list of two lists, however this is true only when no collection is specified. GNOME had used to incorrectly return a list of two lists in both cases, but this was already fixed: https://bugzilla.gnome.org/show_bug.cgi?id=695115 . Also fix an incorrect information in the secrets-search-items’ docstring. (Bug#20449) 2015-04-29 Artur Malabarba * lisp/emacs-lisp/bytecomp.el (byte-compile--message): Use `inhibit-message' instead of hiding the previous message with (message nil). 2015-04-29 Oleh Krehel Remove the deprecated INTERNAL_FIELD macro by expanding it * src/lisp.h (INTERNAL_FIELD): Remove. (DEFVAR_KBOARD): Modify accordingly. * src/alloc.c, src/buffer.c, src/buffer.h, src/category.c: * src/keyboard.c, src/keyboard.h, src/syntax.c: Adjust users. * src/buffer.c (compact_buffer): Use BVAR. 2015-04-29 Glenn Morris Replace an obsolete function alias * lisp/isearch.el (isearch-yank-x-selection): * lisp/mouse-copy.el (mouse-drag-secondary-pasting) (mouse-drag-secondary-moving): * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function): Replace obsolete alias x-get-selection with gui-get-selection. 2015-04-29 Stefan Monnier * lisp/mail/rmailsum.el: Use lexical-binding. 2015-04-29 Glenn Morris * test/automated/package-test.el (package-test-update-archives-async): Skip test on hydra.nixos.org. 2015-04-28 Glenn Morris * lisp/foldout.el: Update for 2015-01-30 outline.el changes. (foldout-zoom-subtree, foldout-exit-fold, foldout-mouse-show) (foldout-mouse-hide-or-exit): Use new names for outline functions. * lisp/cedet/semantic/bovine/c.el (semantic-c-do-lex-if): Update for 2014-06-26 hideif.el change. * lisp/mail/rmailsum.el: Fix search for encoded subjects. (Bug#19088) (rmail--decode-and-apply): New function. (rmail-message-regexp-p-1, rmail-message-subject-p): Use it. * lisp/mail/rmail.el (rmail-highlighted-headers): Fix :type. 2015-04-28 Artur Malabarba * lisp/emacs-lisp/package.el: Fix priority-hiding corner case (package-menu--refresh): Delegate obsolete-hiding to `package--remove-hidden'. (package--remove-hidden): Disregard high-priority package if it is older than the installed one. 2015-04-28 Paul Eggert Update source file encoding list Update admin/notes/unicode, along with coding system cookies in other files, so that the two match each other better. * admin/notes/unicode: lisp/language/ethio-util.el and lisp/language/ethiopic.el also use utf-8-emacs. * admin/notes/hydra, doc/misc/dbus.texi, doc/misc/org.texi: * doc/misc/remember.texi, etc/refcards/cs-dired-ref.tex: * etc/refcards/cs-refcard.tex, etc/refcards/cs-survival.tex: * etc/refcards/sk-dired-ref.tex, etc/refcards/sk-refcard.tex: * etc/refcards/sk-survival.tex: Add "coding: utf-8" so that this file is not mishandled in a Latin-1 or Big-5 locale. * lisp/international/robin.el, lisp/org/ox-ascii.el: Specify utf-8, not utf-8-emacs, as these are plain UTF-8 files. * lisp/language/ethio-util.el: Fix trailer. 2015-04-28 Eli Zaretskii Fix synchronous invocation of Ispell * lisp/textmodes/ispell.el (ispell-init-process): Assign a non-nil value to ispell-process-directory before calling ispell-init-process. Don't call set-process-coding-system if ispell-async-processp is nil. (Bug#20448) 2015-04-28 Artur Malabarba * lisp/emacs-lisp/package.el: Skip space and comments in init file (package--ensure-init-file): Insert snippet at first non-whitespace non-comments line. Respects local-vars at the top of the file. 2015-04-28 Glenn Morris * lisp/mail/rmail.el (rmail-copy-headers): Handle rmail-nonignored-headers being nil. (Bug#18878) * lisp/subr.el (delay-mode-hooks): Fix doc typo. * lisp/vc/vc-bzr.el (vc-bzr-after-dir-status): Don't get confused by a bzrlib version mismatch warning. 2015-04-27 Thomas Fitzsimmons Change default location of EUDC options file * etc/NEWS: Document change to EUDC options file's default location. * lisp/net/eudc-vars.el (eudc-options-file): Use `locate-user-emacs-file' to change default options file location. 2015-04-27 Glenn Morris * test/automated/package-test.el (package-test-update-archives-async): Try to handle the test server script dying. 2015-04-27 Stefan Monnier * lisp/saveplace.el (save-place-mode): New minor mode. (save-place): Redefine as an obsolete alias. * lisp/midnight.el: Make it a minor mode. Allow predicates. * lisp/midnight.el: Use lexical-binding. (midnight-mode): Make it a proper minor mode. (midnight-buffer-display-time): Make arg non-optional. (midnight-find): Remove. (clean-buffer-list-kill-never-regexps) (clean-buffer-list-kill-regexps): Tweak type for new function choice. (clean-buffer-list-delay): Allow clean-buffer-list-kill-regexps to contain functions. (clean-buffer-list): Use cl-find. Allow clean-buffer-list-kill-never-regexps to contain functions. 2015-04-27 Nicolas Petton Bump version of seq.el to 1.5 * lisp/emacs-lisp/seq.el (seq-doseq): Remove undocumented return value from seq-doseq. Bump version number of seq.el. 2015-04-27 Glenn Morris * lisp/mail/rmail.el (rmail-reply): Decode subject before matching "Re:" prefix. (Bug#20396) 2015-04-27 Artur Malabarba * lisp/emacs-lisp/package.el: Small improvements (package--with-work-buffer-async): More informative error. (package-install-user-selected-packages): Rename to `package-install-selected-packages'. 2015-04-27 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Fix last change. (eieio--class-make): Remove leftover `tag'. 2015-04-27 Glenn Morris * lisp/gnus/message.el (gnus-extract-address-components): Remove bogus declaration that was masking previous problem. 2015-04-27 Nicolas Graner (tiny change) * lisp/gnus/message.el (message-insert-formatted-citation-line): Fix typo. (Bug#20318) 2015-04-27 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Reuse oldc. * lisp/textmodes/reftex-toc.el: Improve multi-frame behavior * lisp/textmodes/reftex-toc.el (reftex-toc-revert): Avoid displaying the buffer in yet another frame. (reftex-toc-visit-location): Make sure toc-window has focus at the end when `final' is nil. (reftex--rebuilding-toc): Defvar to avoid `boundp' and silence warnings. Use `--' to clarify that it's internal. (reftex-toc-next, reftex-toc-previous, reftex-toc-demote) (reftex-toc-promote): Clarify unused argument. (reftex--pro-or-de, reftex--start-line, reftex--mark-line): Add `reftex--' prefix. Fix all users. (reftex-toc-promote-prepare): Use _ for dummy variable. (reftex-toc-restore-region): Rename `m. 2015-04-27 Eli Zaretskii Fix a typo in bibtex.el * lisp/textmodes/bibtex.el (bibtex-insert-kill): Fix a typo from last change. (Bug#20429) Fix redisplay of frame after loading new fonts * src/xdisp.c (redisplay_internal): When retrying redisplay of a frame because new fonts were loaded, disable all redisplay optimizations on that frame by calling SET_FRAME_GARBAGED. (Bug#20410) 2015-04-27 Stefan Monnier * lisp/info.el (Info-menu): Properly provide the `default' (Bug#20391) * lisp/progmodes/elisp-mode.el (elisp--get-fnsym-args-string): Catch errors from documentation (bug#20418). (emacs-lisp-mode-abbrev-table): Remove redundant defvar. 2015-04-26 Stefan Monnier * lisp/emacs-lisp/package.el: Move variables to silence byte-compiler. Remove redundant ":group 'package". 2015-04-26 Eli Zaretskii Fix a typo in rmail.el * lisp/mail/rmail.el (rmail-ensure-blank-line): Fix a typo in the last commit. (Bug#20429) 2015-04-26 Dmitry Gutov Introduce xref-prompt-for-identifier * lisp/progmodes/xref.el (xref-prompt-for-identifier): New option. (xref--read-identifier): Use it (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01205.html). 2015-04-26 João Távora `tex-insert-quote' after single `'' opens quotes instead of closing Without this, it's very hard to precede double quotes with the apostrophe character, i.e. insert the sequence '`` (quote-backquote-backquote), commonly useful in portuguese, for instance. * lisp/textmodes/tex-mode.el (tex-insert-quote): Add ?' to the list of preceding chars making `tex-insert-quote' be in the "opening" context. 2015-04-25 Dmitry Gutov Pass `id' to `completing-read' as def instead of initial input * lisp/progmodes/xref.el (xref--read-identifier): Pass `id' to `completing-read' as the default value instead of initial input (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg01182.html). 2015-04-25 Paul Eggert Don't freeze with unreadable processes Don't freeze if an exiting process can't be read from. (Bug#19860). This fixes a bug I introduced in 2014-07-08T07:24:07Z@eggert@cs.ucla.edu "* process.c: Add sanity checks for file descriptors." Dmitry Gutov did most of the legwork in finding the problem. * src/process.c (wait_reading_process_output): Treat non-running processes that can't be read from the same as other non-running processes. 2015-04-25 Alan Mackenzie Fix change from 2015-04-22 "On C-y, stop some text property entries ..." * lisp/subr.el (remove-yank-excluded-properties): Put `with-silent-modifications' around only the last three lines of code. 2015-04-25 Artur Malabarba * lisp/emacs-lisp/package.el (package-all-keywords): Don't cache (package--all-keywords): Deleted variable. * etc/NEWS: Document package-hiding functionality. 2015-04-25 Eli Zaretskii * lisp/window.el (recenter-last-op): Doc fix. (Bug#20419) Clarify the doc string of 'replace-regexp-in-string' * lisp/subr.el (replace-regexp-in-string): Doc fix. (Bug#20395) Improve doc string of 'insert-buffer-substring' * src/editfns.c (Finsert_buffer_substring): Doc fix. (Bug#20421) MS-Windows followup for the recent gnulib update * nt/gnulib.mk (libgnu_a_SOURCES): Replace file-has-acl.c with acl-internal.c. 2015-04-24 Paul Eggert Spelling fixes Merge from gnulib This incorporates: 2015-04-24 file-has-acl: new module, split from acl 2015-04-24 manywarnings: add GCC 5.1 warnings 2015-04-21 lstat: fix cross-compilation 'ln -s' problem 2015-04-15 qacl: Simplify HP-UX acl_nontrivial check 2015-04-15 acl: On Linux, check for acls without libacl 2015-04-14 tempname: avoid unused parameter warnings (trivial) * lib/acl-internal.c: New file, from gnulib. * lib/file-has-acl.c: Remove; no longer imported from gnulib. * lib/acl-internal.h, lib/gnulib.mk, lib/qcopy-acl.c, lib/tempname.c: * m4/acl.m4, m4/gnulib-comp.m4, m4/lstat.m4, m4/manywarnings.m4: Update from gnulib. Port --enable-gcc-warnings to GCC 5.1 x86-64 * lib-src/ebrowse.c (dump_sym): * lib-src/hexl.c (main): * src/ccl.c (ccl_driver): * src/character.c (string_escape_byte8): * src/dbusbind.c (xd_retrieve_arg, xd_add_watch): * src/gnutls.c (Fgnutls_boot): * src/gtkutil.c (xg_check_special_colors): * src/image.c (x_build_heuristic_mask): * src/print.c (safe_debug_print, print_object): * src/term.c (produce_glyphless_glyph): * src/xdisp.c (get_next_display_element) (produce_glyphless_glyph): * src/xterm.c (x_draw_glyphless_glyph_string_foreground): Don't use a signed format to print an unsigned integer, or vice versa. GCC 5.1's new -Wformat-signedness option warns about this. * src/image.c (png_load_body, jpeg_load_body): Silence a bogus setjump diagnostic from GCC 5.1 (GCC bug 54561). 2015-04-24 Tassilo Horn Add new faces to tsdh-light-theme * etc/themes/tsdh-light-theme.el (tsdh-light): New face definitions for Info-quoted, ace-jump-face-foreground, hl-paren-face, show-paren-match, and show-paren-mismatch. 2015-04-24 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-doseq): Fix the macro. 2015-04-24 Glenn Morris * build-aux/gitlog-to-emacslog: Use raw log format rather than wrapped one. 2015-04-24 Stefan Monnier * lisp/emacs-lisp/seq.el (seq-doseq): Tighten the code. (seq-doseq): Fix out-of-scope binding. Don't call `seq-length at every iteration. Reduce `if's from 3 to 2 per iteration. (emacs-lisp-mode-hook): Don't tweak in Emacs≥25. 2015-04-24 Glenn Morris * lisp/textmodes/text-mode.el (text-mode-hook): Move text-mode-hook-identify to default. * lisp/mouse.el (minor-mode-menu-from-indicator): Handle non-function members of minor-mode-map-alist. (Bug#20201) * lisp/help-fns.el (describe-function): More type checking. (describe-function-1): Handle changed symbol-function. (Bug#20201) * build-aux/gitlog-to-emacslog: Convert "Fixes:" to "(Bug#)". (Bug#20325) 2015-04-24 Andreas Schwab shr: strip leading whitespace when expanding URLs * lisp/net/shr.el (shr-expand-url): Strip leading whitespace from URL. 2015-04-24 Eli Zaretskii Clarify "co-authored" some more * CONTRIBUTE: Clarify "co-authored-by". (Bug#20400) Clarify doc strings of functions that search for properties * src/textprop.c (Fnext_char_property_change) (Fprevious_char_property_change) (Fnext_single_char_property_change) (Fprevious_single_char_property_change, Fnext_property_change) (Fnext_single_property_change, Fprevious_property_change) (Fprevious_single_property_change): Clarify doc strings wrt return value and the optional LIMIT argument. (Bug#20411) 2015-04-24 Glenn Morris * test/automated/message-mode-tests.el (message-mode-propertize): Handle non-writable HOME; eg on hydra.nixos.org. 2015-04-23 Eli Zaretskii Avoid starting threads by w32-shell-execute * src/w32fns.c (Fw32_shell_execute): Convert "file:///" URLs into local file names, before invoking ShellExecute. (Bug#20220) 2015-04-23 Martin Rudalics Fix following doc-links in `widget-documentation-link-action' * lisp/wid-edit.el (widget-documentation-link-action): Make following doc-links less simplistic (Bug#20398). 2015-04-22 Thomas Fitzsimmons Improve EUDC manual * doc/misc/eudc.texi (Troubleshooting): New LDAP troubleshooting subsection. 2015-04-22 Paul Eggert Omit needless "\ " after multibyte then newline * src/print.c: Include , for c_isxdigit. (print_object): When print-escape-multibyte is non-nil and a multibyte character is followed by a newline or formfeed, followed by a hex digit, don't output a needless "\ " before the hex digit. * test/automated/print-tests.el (print-hex-backslash): New test. 2015-04-22 Oleh Krehel Add a new `inhibit-message' variable * src/xdisp.c (syms_of_xdisp): Define a boolean `inhibit_message'. (message3): Don't call `message3_nolog' (i.e. use the Echo Area) when `inhibit_message' is non-zero. * etc/NEWS: Add an entry. * doc/lispref/display.texi: Add an entry for `inhibit-message', mention it in `message'. 2015-04-22 Martin Rudalics Fix last fix in `display-buffer-record-window'. * lisp/window.el (display-buffer-record-window): Fix last fix. 2015-04-22 Eli Zaretskii Minor edits in CONTRIBUTE * CONTRIBUTE: Rearrange instructions about log messages. Use "Git" capitalized all over. Use 2 spaces between sentences. 2015-04-22 Artur Malabarba * lisp/files.el (basic-save-buffer): Fix argument. * lisp/cus-edit.el (custom-file): Consider init-file-had-error. In case `(and (null custom-file) init-file-had-error)' do the same thing we'd do if `(null user-init-file)', which is to either error out or return nil. This is in line with `custom-save-all' which would throw an error in that situation. (Bug#20355) * lisp/emacs-lisp/package.el: Hide lower-priority packages in menu. (package-menu-hide-low-priority): New variable, see its doc. (package-archive-priorities): Update doc. (package-desc-priority): New function. (package-desc-priority-version): Use it. (package--remove-hidden): New function. (package-menu--refresh): Use it. * lisp/emacs-lisp/package.el: Implement displaying obsolete packages. (package-menu--hide-obsolete): New variable. (package--remove-hidden): Use it. (package-menu-hide-obsolete): New interactive function to toggle the variable. (package--quick-help-keys): Document it. (package-menu-async): Add :version tag. (package-menu-mode-map): Bind package-menu-hide-obsolete. (package-desc-status): Indicate non-installed obsolete packages as avail-obso. (package-menu-mark-install): Allow installation of avail-obso. (package-menu--status-predicate): Sort avail-obso with available. 2015-04-22 Alan Mackenzie On C-y, stop some text property entries being written into buffer-undo-list * lisp/subr.el (remove-yank-excluded-properties): Enclose the code in `with-silent-modifications'. 2015-04-22 Martin Rudalics In display-buffer-record-window record selected window if necessary * lisp/window.el (display-buffer-record-window): Store selected window if it differs from 3rd element of 'quit-restore' parameter (Bug#20353). 2015-04-22 Tassilo Horn Fix reftex-citation bug * lisp/textmodes/reftex-cite.el (reftex-extract-bib-entries): Fix `wrong-type-argument stringp nil' error that occurs when AUCTeX integration is enabled and there are no citations in the document so far. 2015-04-21 Dmitry Gutov Add or reset based on the presence of MERGE_HEAD * lisp/vc/vc-git.el (vc-git-find-file-hook): Add `vc-git-resolve-when-done' to `after-save-hook' in either case. (vc-git-conflicted-files): Add a TODO. (vc-git-resolve-when-done): Depending on the presence of MERGE_HEAD, either update the resolved file in the index, or remove it from there. (Bug#20292) 2015-04-21 Glenn Morris * lisp/custom.el (custom-declare-group): No need to purecopy custom-current-group-alist members following recent change to set it to nil before dumping. * build-aux/gitlog-to-emacslog: Get footer from ChangeLog.2. (Bug#20399) 2015-04-21 Daniel Colascione Unbreak no-op buffer save message * lisp/files.el (basic-save-buffer): Accept called-interactively as an argument instead of directly invoking called-interactively-p, which will always yield nil in that context. 2015-04-21 Alan Mackenzie CC Mode: Do nothing in before/after-change-functions for text property changes Fixes bug#20266. * lisp/progmodes/cc-mode.el (c-basic-common-init): Make yank-handled-properties buffer local, and remove 'category from it. (c-called-from-text-property-change-p): New function. (c-before-change): Don't do anything if a call of the new function returns non-nil. (c-after-change): Don't do much if a call of the new function returns non-nil. (c-extend-after-change-region): Put changes to text property 'fontified inside c-save-buffer-state. 2015-04-20 Stefan Monnier Fix byte-compiler warnings about looking-back * lisp/vc/log-view.el (log-view-end-of-defun-1): * lisp/textmodes/tex-mode.el (latex-forward-sexp-1): * lisp/textmodes/reftex-ref.el (reftex-goto-label): * lisp/textmodes/bibtex.el (bibtex-insert-kill): * lisp/progmodes/sh-script.el (sh--maybe-here-document): * lisp/progmodes/ruby-mode.el (ruby-end-of-defun): * lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p): * lisp/org/org.el (org-insert-heading, org-sort-entries): * lisp/org/org-mouse.el (org-mouse-end-headline) (org-mouse-context-menu): * lisp/org/org-clock.el (org-clock-cancel): * lisp/man.el (Man-default-man-entry): * lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text) (rmail-ensure-blank-line): * lisp/mail/footnote.el (Footnote-delete-footnote): * lisp/mail/emacsbug.el (report-emacs-bug): * lisp/info.el (Info-follow-reference, Info-fontify-node): * lisp/info-look.el (info-lookup-guess-custom-symbol): * lisp/help-fns.el (help-fns--key-bindings): * lisp/files.el (hack-local-variables): * lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete) (viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file) (viper-complete-filename-or-exit): * lisp/emulation/viper-cmd.el (viper-backward-indent): * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): * lisp/emacs-lisp/elint.el (elint-get-top-forms): * lisp/cus-edit.el (custom-face-edit-value-create): * lisp/calendar/todo-mode.el (todo-set-item-priority) (todo-filter-items-1, todo-convert-legacy-files) (todo-prefix-overlays): Add explicit second arg to looking-back. 2015-04-20 Glenn Morris Avoid non-nil current-load-list at startup * src/process.c (init_process_emacs): Move Fprovide statement... (syms_of_process): ... to here. * lisp/loadup.el (custom-current-group-alist): Reset before dumping. * lisp/startup.el (command-line) : Avoid rogue value in emacs -Q. 2015-04-20 Ludovic Courtès * lisp/loadup.el (exec-path): Avoid storing build-time PATH in binary. (Bug#20330) 2015-04-20 Glenn Morris * lisp/cus-start.el (exec-path): Set standard value, to avoid rogue. Tweak exec-path in uninstalled case * src/callproc.c (init_callproc): If running uninstalled, do not include eventual installation libexec directory in exec-path. 2015-04-20 Artur Malabarba * lisp/emacs-lisp/package.el: Filter by multiple keywords and cache keywords. (package-menu-filter): Accept a list of keywords. (package--all-keywords): New variable to cache known keywords. (package-all-keywords): Populate it if necessary. (package-refresh-contents): Reset it. * lisp/emacs-lisp/package.el: Make archive and status pseudo-keywords (package--has-keyword-p): Understand "arc:xxxx" and "status:xxxx" as special keywords which match agains package archive and status respectively. * etc/NEWS: Document it. 2015-04-20 Eli Zaretskii Describe and index "empty overlays". * doc/lispref/display.texi (Overlays): Improve indexing. (Managing Overlays): Describe "empty" overlays. (Overlay Properties, Finding Overlays): Add cross-reference to where empty overlays are described. 2015-04-19 Paul Eggert Spelling fixes Quote 'like this' in top-level files * CONTRIBUTE, INSTALL, Makefile.in, README, configure.ac, make-dist: Prefer to single-quote 'like this' (instead of the older style `like this'). * configure.ac: Fix some space-before-tab problems that 'git commit' complained about. Use bool for boolean in textprop.c, undo.c * src/textprop.c (soft, hard): Now constants instead of macros. (validate_plist): Rewrite to avoid need for boolean local. (interval_has_all_properties, interval_has_some_properties) (interval_has_some_properties_list, add_properties) (remove_properties, get_char_property_and_overlay) (Fnext_single_char_property_change) (Fprevious_single_char_property_change, add_text_properties_1) (Fremove_text_properties, Fremove_list_of_text_properties) (copy_text_properties): * src/tparam.c (tparam1): * src/undo.c (record_change, record_property_change) (syms_of_undo): Use 'true' and 'false' for booleans. 2015-04-19 Dmitry Gutov * lisp/vc/vc-git.el (vc-git-find-file-hook): Call `smerge-start-session' even when dealing with a stash conflict (bug#20292). 2015-04-19 Vibhav Pant Add option to eshell/clear to clear scrollback. * lisp/eshell/esh-mode.el (eshell/clear-scrollback): New function. (eshell/clear): Add an optional SCROLLBACK argument. If non-nil, scrollback contents are cleared. * etc/NEWS: Describe change. * doc/misc/eshell.texi: Add entry for `clear'. 2015-04-19 Paul Eggert * src/widget.c (set_frame_size): Prefer 'int' to 'unsigned' where either will do. 2015-04-19 Steve Purcell Assume package archive-contents are UTF8-encoded * lisp/emacs-lisp/package.el (package--read-archive-file): Set `coding-system-for-read' explicitly to 'utf-8 when reading the downloaded and cached archive-contents files, so that non-ASCII characters in package descriptions are displayed correctly in the `list-packages' menu. (Bug#20231) 2015-04-19 Dmitry Gutov Abort when looking at stashed changes * lisp/vc/vc-git.el (vc-git-find-file-hook): Abort when looking at stashed changes (bug#20292). 2015-04-19 Paul Eggert Refactor low-level printing for simplicity * src/print.c (PRINTDECLARE): Remove. Move its contents into PRINTPREPARE; doable now that we assume C99. All callers changed. (PRINTCHAR): Remove, as it adds more mystery than clarity. All callers changed. (strout): Assume that caller computes length. All callers changed. (print_c_string): New function. (write_string, write_string_1): Compute length instead of asking the caller to compute it. All callers changed. (write_string): Simplify by using write_string_1. (write_string_1): Simplify by using print_c_string. (Fterpri): Compute default val more clearly. (Fprin1_to_string, print_object): Assume C99 to avoid unnecessary nesting. (print_object): Prefer print_c_string to multiple printchar, or to calling strout with -1 length. Coalesce into sprintf when this is easy. 2015-04-18 Paul Eggert Prefer "Bug#1234" in commit messages (Bug#20325) * .dir-locals.el (log-edit-mode): Don't rewrite Bug#, as this isn't useful for Git. * CONTRIBUTE: Suggest "Bug#1234" instead of "Fixes: debbugs:1234". 2015-04-18 Glenn Morris * lisp/files.el (auto-mode-alist): Use conf mode for gitconfig, hgrc. (Bug#19506) 2015-04-18 Tom Willemse (tiny change) * lisp/elec-pair.el (electric-pair-post-self-insert-function): Do not use `chomp' as a function. (Bug#19505) 2015-04-18 Glenn Morris * lisp/net/browse-url.el (browse-url, browse-url-at-point): Doc fixes. * doc/emacs/misc.texi (Sorting): Small edit. (Bug#19896) * admin/admin.el (make-manuals): Add emacs-xtra in pdf and ps. 2015-04-18 Simen Heggestøyl css-mode.el: Support multi-line comment filling (Bug#20256) * lisp/textmodes/css-mode.el (css-fill-paragraph): Support multi-line comment filling. (css-adaptive-fill): New function. (css-mode): Set `adaptive-fill-function'. (scss-mode): Set `comment-continue'. 2015-04-18 Nicolas Petton * lisp/emacs-lisp/seq.el (seq-concatenate, seq-into): Better error messages. 2015-04-18 Ivan Radanov Ivanov (tiny change) Minor improvements in Bulgarian input methods * lisp/leim/quail/cyrillic.el (bulgarian-phonetic, bulgarian-bds): Replace U+042C with U+045D, as the former character is not used in the modern Bulgarian language. (Bug#20350) 2015-04-17 Thomas Fitzsimmons Improve EUDC manual * doc/misc/eudc.texi (LDAP Configuration): Mention simple and SASL authentication schemes. Add index items. Shorten example server name. 2015-04-17 Dmitry Gutov Don't show both feature and function with the same name * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Don't show both feature and function with the same name. (elisp--xref-identifier-location): Skip variable, if it's also a function * lisp/progmodes/elisp-mode.el (elisp--xref-identifier-location): Avoid returning both the variable and the function for the same minor mode. 2015-04-17 Wolfgang Jenkner Fix fontification of keywords clobbered by the prompt * lisp/comint.el (comint-output-filter): Remove the uses of with-silent-modifications I introduced as part of the last change. This fixes, e.g., erratically missing highlighting when running ./configure --help; ./configure in a shell-mode buffer with compilation-shell-minor-mode turned on. 2015-04-17 Glenn Morris * admin/authors.el (authors-valid-file-names) (authors-renamed-files-alist): Additions. 2015-04-17 Stefan Monnier * lisp/indent.el (indent-region): Don't deactivate the mark. (Bug#20357) 2015-04-17 Sam Steingold * lisp/net/rcirc.el (defun-rcirc-command): Mark `target' as ignorable. 2015-04-16 Leo Liu * lisp/progmodes/xref.el (xref-push-marker-stack): Add optional arg. 2015-04-16 Stefan Monnier * lisp/erc/erc-pcomplete.el (erc-pcomplete): Don't use `pcomplete' any more. 2015-04-16 Glenn Morris * admin/authors.el (authors-lax-changelogs): Update for erc changes. 2015-04-16 Eli Zaretskii Don't link with -ljpeg on MS-Windows, to avoid dependency on DLL * configure.ac (LIBJPEG): Leave it empty for MinGW. 2015-04-16 Glenn Morris * lisp/replace.el (query-replace-from-to-separator): Delay initialization to avoid rogue setting after startup. 2015-04-16 Paul Eggert Pre-4.6 GCC succeeds with unknown option * configure.ac (emacs_cv_prog_cc_nopie): Port to pre-4.6 GCC. (Bug#20338) 2015-04-15 Paul Eggert '[:graph:]' now excludes whitespace, not just ' ' * doc/lispref/searching.texi (Char Classes): * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:] sans whitespace (not sans space). * src/character.c (graphicp): Exclude all Unicode whitespace chars, not just space. * src/regex.c (ISGRAPH): Exclude U+00A0 (NO-BREAK SPACE). 2015-04-15 Stefan Monnier * lisp/subr.el (substitute-key-definition-key, special-form-p) (macrop): Drop deprecated second arg to indirect-function. (looking-back): Make the second arg non-optional. * lisp/org/org-clock.el (org-x11idle-exists-p): Be honest about which command is actually sent to the shell. 2015-04-15 Paul Eggert Port jpeg configuration to Solaris 10 with Sun C * configure.ac: Check for jpeglib 6b by trying to link it, instead of relying on cpp magic that has problems in practice. Check for both jpeglib.h and jerror.h features. Remove special case for mingw32, which should no longer be needed (and if it were needed, should now be addressable by hotwiring emacs_cv_jpeglib). (Bug#20332) 2015-04-15 Stefan Monnier Move some Elisp-specific code from lisp-mode.el to elisp-mode.el * lisp/emacs-lisp/lisp-mode.el (lisp--el-font-lock-flush-elisp-buffers): Move to elisp-mode.el. (lisp-mode-variables): (Re)move elisp-specific settings. * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add settings removed from lisp-mode-variables. (elisp--font-lock-flush-elisp-buffers): New function, moved from lisp-mode.el. * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): Avoid pathological slowdown at top-level in large file. 2015-04-15 Paul Eggert Standardize names of ChangeLog history files Suggested by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html * Makefile.in (install-man): Don't treat ChangeLog.1 as a man page. * doc/man/ChangeLog.1: Rename back from doc/man/ChangeLog.01. * lisp/erc/ChangeLog.1: New file, containing the old contents of ... * lisp/erc/ChangeLog.01, lisp/erc/ChangeLog.02, lisp/erc/ChangeLog.03: * lisp/erc/ChangeLog.04, lisp/erc/ChangeLog.05, lisp/erc/ChangeLog.06: * lisp/erc/ChangeLog.07, lisp/erc/ChangeLog.08, lisp/erc/ChangeLog.09: Remove. Split top-level entries into pre- and post-April 7 This more clearly distingiushes pre-April-7 ChangeLog entries (which are for top-level files only) from post-April-7 entries (which are about files at all levels. Problem reported by Glenn Morris in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00678.html * ChangeLog.1: Move post-April-7 entries from here ... * ChangeLog.2: ... to this new file. * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump to 2. 2015-04-15 Stefan Monnier Fix recent cus-start changes that added customize-rogues * lisp/cus-start.el (custom-delayed-init-variables): Initialize the vars early. * lisp/loadup.el ("cus-start"): Move to the end to reduce customize-rogue. 2015-04-15 Nicolas Petton Define cl-concatenate as an alias to seq-concatenate * lisp/emacs-lisp/cl-extra.el (cl-concatenate): Removes duplicated code by making cl-concatenate an alias to seq-concatenate. 2015-04-15 Stefan Monnier * src/lread.c (intern_1): Make sure we'd find the symbol we add (Bug#20334) * src/xfaces.c (resolve_face_name): Don't use `intern' with Lisp_Strings. 2015-04-15 Glenn Morris * doc/lispref/sequences.texi (Sequence Functions): Fix typo in previous. 2015-04-15 Lars Magne Ingebrigtsen Clean up gnus-uu saving code slightly * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Make the save-restriction/widen calls make more sense. 2015-04-15 Paul Eggert Make [:graph:] act like [:print:] sans space In POSIX [[:print:]] is equivalent to [ [:graph:]], so change [:graph:] so that it matches everything that [:print:] does, except for space. * doc/lispref/searching.texi (Char Classes): * etc/NEWS: * lisp/emacs-lisp/rx.el (rx): Document [:graph:] to be [:print:] sans ' '. * src/character.c, src/character.h (graphicp): New function. * src/regex.c (ISGRAPH) [emacs]: Use it. (BIT_GRAPH): New macro. (BIT_PRINT): Increase to 0x200, to make room for BIT_GRAPH. (re_wctype_to_bit) [! WIDE_CHAR_SUPPORT]: Return BIT_GRAPH for RECC_GRAPH. (re_match_2_internal) [emacs]: Use ISGRAPH if BIT_GRAPH, and ISPRINT if BIT_PRINT. 2015-04-14 Stefan Monnier automated/eieio-test-methodinvoke.el (make-instance) <(subclass C)>: Don't use call-next-method in a cl-defmethod. * lisp/emacs-lisp/eieio-core.el (eieio--class): Derive from cl--class (eieio--class-p): Remove, provided by cl-defstruct. 2015-04-14 Nicolas Petton Add seq-intersection and seq-difference to the seq library * lisp/emacs-lisp/seq.el (seq-intersection, seq-difference): New functions. * test/automated/seq-tests.el: Add tests for seq-intersection and seq-difference. * doc/lispref/sequences.texi: Add documentation for seq-intersection and seq-difference. 2015-04-14 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (class-abstract-p): Don't inline, to avoid leaking internals. 2015-04-14 Sam Steingold package--ensure-init-file: widen requires save-restriction 2015-04-14 Eli Zaretskii Improve the commit-msg Git hook for unibyte environments * build-aux/git-hooks/commit-msg: Set LC_ALL=C, before running Awk in unibyte environments. (Suggested by Paul Eggert .) Use a more accurate approximation to [:print:], based on UTF-8 sequences of the unprintable characters. Describe problems with cursor caused by Windows Magnifier * etc/PROBLEMS: Describe the problem with cursor shape on MS-Windows due to Windows Magnifier. (Bug#20271) Make [:print:] support non-ASCII characters correctly * src/regex.c (ISPRINT): Call 'printablep' for multibyte characters. (BIT_PRINT): New bit mask. (re_wctype_to_bit): Return BIT_PRINT for RECC_PRINT. * src/character.c (printablep): New function. * src/character.h (printablep): Add prototype. * lisp/emacs-lisp/rx.el (rx): Doc fix: document the new behavior of 'print', 'alnum', and 'alphabetic'. * doc/lispref/searching.texi (Char Classes): Document the new behavior of [:print:]. * etc/NEWS: Mention the new behavior of [:print:]. Assign correct general-category and names to surrogates * admin/unidata/unidata-gen.el (unidata-setup-list): Don't ignore surrogates. This avoids assigning them the default general-category of 'Cn', i.e. unassigned codepoints. (unidata-get-name): Give surrogates synthetic names. 2015-04-14 Paul Eggert Assume C89 offsetof in xterm.c, xlwmenu.c * lwlib/xlwmenu.c (offset): * src/xterm.c (cvt_string_to_pixel_args): Use offsetof, not XtOffset. 2015-04-14 Paul Eggert Assume C89 offsetof in widget.c * src/widget.c (XtOffset): Remove; no longer needed. (offset): Implement via offsetof instead of via pre-C89 XtOffset hack. Fix think-o in previous patch * src/window.c (count_windows, get_leaf_windows): Don't optimize count_windows incorrectly. 2015-04-13 Paul Eggert Avoid some int overflows in window.c * src/print.c (print_object): * src/window.c (sequence_number): * src/window.h (struct window.sequence_number): Don't assume window sequence number fits in int. * src/window.c (window_select_count): * src/window.h (struct window.use_time, window_select_count): Don't assume window use time fits in int. * src/window.c (Fsplit_window_internal): Don't assume user-supplied integer, or sum, fits in int. (Fset_window_configuration, count_windows, get_leaf_windows) (save_window_save, Fcurrent_window_configuration): Use ptrdiff_t for object counts. (Fset_window_configuration): Omit unused local 'n'. (count_windows): Simplify by writing in terms of get_leaf_windows. (get_leaf_windows): Don't store through FLAT if it's null. (extract_dimension): New static function. (set_window_margins, set_window_fringes, set_window_scroll_bars): Use it to avoid undefined behavior when converting user-supplied integer to 'int'. 2015-04-13 Glenn Morris Minor doc copyedits * doc/emacs/custom.texi (Init Examples): Tweak example, replace typo. * doc/lispintro/emacs-lisp-intro.texi (condition-case): Typo fix. 2015-04-13 Katsumi Yamaoka [Gnus] Catch the invalid-operation that idna.el will issue * lisp/gnus/gnus-art.el (gnus-use-idna): * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): * lisp/gnus/message.el (message-use-idna): Catch the invalid-operation that idna.el will issue. 2015-04-13 Paul Eggert * doc/lispref/processes.texi (Shell Arguments): Prefer diff -u. 2015-04-13 Sam Steingold package--ensure-init-file: widen before looking for "(package-initialize)" 2015-04-13 Dmitry Gutov Change diff-switches default to `-u' (Bug#20290) * doc/emacs/files.texi (Comparing Files): Document the new default value of `diff-switches'. * doc/emacs/trouble.texi (Sending Patches): Document the preference for unified diff format. Escape the plus in the suggested `-F' regexp value. * lisp/vc/diff.el (diff-switches): Change the default to `-u'. 2015-04-13 Stefan Monnier (gnus-group--setup-tool-bar-update): Fix last change * lisp/gnus/gnus-group.el (gnus-group--setup-tool-bar-update): cursor-sensor-functions should be a list of functions. 2015-04-13 Katsumi Yamaoka * lisp/gnus/gnus-topic.el (gnus-topic-mode): Use gmm-called-interactively-p. 2015-04-13 Stefan Monnier * lisp/loadup.el ("cus-start"): Load it after loaddefs.el (Bug#20321) * lisp/cus-start.el (read-buffer-function): Don't advertise iswitchb-read-buffer any more. (iswitchb): Don't tweak this obsolete group any more. 2015-04-13 Artur Malabarba * lisp/emacs-lisp/package.el: Fix package--ensure-init-file. * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Implement docstrings. Adding a string after a constructor's argument list will use that string as the constructor function docstring. If this string is absent but the struct itself was given a docstring, use that as the constructor's docstring. Fixes bug#17284. 2015-04-13 Stefan Monnier Deprecate `intangible' and `point-entered' properties * lisp/emacs-lisp/cursor-sensor.el: New file. * lisp/simple.el (pre-redisplay-functions): New hook. (redisplay--pre-redisplay-functions): New function. (pre-redisplay-function): Use it. (minibuffer-avoid-prompt): Mark obsolete. (redisplay--update-region-highlight): Adapt it to work as a function on pre-redisplay-functions. * lisp/cus-start.el (minibuffer-prompt-properties--setter): New fun. (minibuffer-prompt-properties): Use it. Use cursor-intangible rather than point-entered to make the prompt intangible. * lisp/forms.el: Move `provide' calls to the end. (forms-mode): Don't use `run-hooks' on a local var. (forms--make-format, forms--make-format-elt-using-text-properties): Use cursor-intangible rather than `intangible'. (forms-mode): Enable cursor-intangible-mode. * lisp/isearch.el (isearch-mode): Use defvar-local. (cursor-sensor-inhibit): Declare. (isearch-mode): Set cursor-sensor-inhibit. (isearch-done): Set it back. (isearch-open-overlay-temporary, isearch-open-necessary-overlays) (isearch-close-unnecessary-overlays): Don't bother with `intangible' any more. * lisp/ses.el (ses-localvars): Remove `mode-line-process'. (ses-sym-rowcol, ses-cell-value, ses-col-width, ses-col-printer): Add Edebug spec. (ses-goto-print, ses-print-cell, ses-adjust-print-width) (ses-goto-data, ses-setup, ses-copy-region): Don't let-bind inhibit-point-motion-hooks any more. (ses--cell-at-pos, ses--curcell): New functions, extracted from ses-set-curcell. (ses-set-curcell): Use them. (ses-print-cell, ses-setup): Use cursor-intangible instead of `intangible'. Make sure cursor-intangible isn't sticky at BOB. (ses-print-cell-new-width, ses-reprint-all, ses-recalculate-all): Use ses--cell-at-pos. (ses--mode-line-process, ses--cursor-sensor-highlight): New functions, extracted from ses-command-hook. Make them work with multiple windows displaying the same buffer. (ses-mode): Use them via mode-line-process and pre-redisplay-functions. Enable cursor-intangible-mode. (ses-command-hook): Remove cell highlight and mode-line update code. (ses-forward-or-insert, ses-copy-region-helper, ses-sort-column): Update for new name of text-property holding the cell name. (ses-rename-cell): Don't mess with mode-line-process. * lisp/erc/erc-stamp.el (erc-add-timestamp): Use the new cursor-sensor-functions property instead of point-entered. (erc-insert-timestamp-right, erc-format-timestamp): Use cursor-intangible rather than `intangible'. (erc-munge-invisibility-spec): Use add-to-invisibility-spec and remove-from-invisibility-spec. Enable cursor-intangible-mode and cursor-sensor-mode if needed. (erc-echo-timestamp): Adapt to calling convention of cursor-sensor-functions. (erc-insert-timestamp-right): Remove unused vars `current-window' and `indent'. * lisp/gnus/gnus-group.el (gnus-tmp-*): Declare. (gnus-update-group-mark-positions): Remove unused `topic' var. (gnus-group-insert-group-line): Remove unused var `header'. (gnus-group--setup-tool-bar-update): New function. (gnus-group-insert-group-line): Use it. (gnus-group-update-eval-form): Declare local dynamically-bound variables. (gnus-group-unsubscribe-group): Use \` and \' to match string bounds. * lisp/gnus/gnus-topic.el (gnus-topic-jump-to-topic) (gnus-group-prepare-topics, gnus-topic-update-topic) (gnus-topic-change-level, gnus-topic-catchup-articles) (gnus-topic-remove-group, gnus-topic-delete, gnus-topic-indent): Use inhibit-read-only. (gnus-topic-prepare-topic): Use gnus-group--setup-tool-bar-update. (gnus-topic-mode): Use define-minor-mode and derived-mode-p. * lisp/textmodes/reftex-index.el (reftex-display-index): Use cursor-intangible-mode if available. (reftex-index-post-command-hook): Check cursor-intangible. * lisp/textmodes/reftex-toc.el (reftex-toc): Use cursor-intangible-mode if available. (reftex-toc-recenter, reftex-toc-post-command-hook): Check cursor-intangible. * lisp/textmodes/sgml-mode.el: Use lexical-binding. (sgml-tag): Use cursor-sensor-functions instead of point-entered. (sgml-tags-invisible): Use with-silent-modifications and inhibit-read-only. Enable cursor-sensor-mode. (sgml-cursor-sensor): Rename from sgml-point-entered and adjust to calling convention of cursor-sensor-functions. * lisp/textmodes/table.el (table-cell-map-hook, table-load-hook) (table-point-entered-cell-hook, table-point-left-cell-hook): Don't autoload. (table-cell-entered-state): Remove var. (table--put-cell-point-entered/left-property) (table--remove-cell-properties): Use cursor-sensor-functions rather than point-entered/left. (table--point-entered/left-cell-function): Merge table--point-entered-cell-function and table--point-left-cell-function and adjust to calling convention of cursor-sensor-functions. Update ldef-boots.el * lisp/emacs-lisp/pcase.el (pcase-dolist): Autoload as well. * doc/misc/eieio.texi: Don't advertise now obsolete constructs Collapse successive char deletions in the undo log * src/cmds.c (remove_excessive_undo_boundaries): New function, extracted from Fself_insert_command. (Fdelete_char, Fself_insert_command): Use it. * src/fileio.c (Fmake_symbolic_link): Rename arg to `target'. * src/keyboard.c (syms_of_keyboard): `top-level' shouldn't be special. xterm and OSC 52: Add NEWS entry, and tweak the code * lisp/term/xterm.el (gui-set-selection) : Move method definition to top-level. (terminal-init-xterm-activate-set-selection): Set a terminal property. (xterm--set-selection): Use it instead of checking the value of `terminal-initted'. Don't use string-bytes. 2015-04-13 Philipp Stephani xterm.el: Implement OSC-52 functionality for setting the X selection * lisp/term/xterm.el (xterm-max-cut-length): New var. (xterm--set-selection, terminal-init-xterm-activate-set-selection): New funs. (terminal-init-xterm, xterm--version-handler): Use them. 2015-04-13 Stefan Monnier Remove left over code from when we used an obsolete/loaddefs.el file * lisp/subr.el (do-after-load-evaluation): Remove left over code from when we used an obsolete/loaddefs.el file. * lisp/cedet/semantic/fw.el (semantic-exit-on-input) (semanticdb-without-unloaded-file-searches): Use declare. (semantic-fw-add-edebug-spec): Remove. * lisp/completion.el (completion-lisp-mode-hook): Use completion-separator-chars rather than local key binding. * src/*.c: Set deactivate_mark buffer-locally (Bug#20260) * src/insdel.c (prepare_to_modify_buffer_1): * src/fileio.c (Finsert_file_contents): Set deactivate_mark buffer-locally. 2015-04-12 Fabián Ezequiel Gallina python.el: Keep symmetry on sexp navigation with parens (Bug#19954) * lisp/progmodes/python.el (python-nav--forward-sexp): Add argument skip-parens-p. (python-nav-forward-sexp, python-nav-backward-sexp) (python-nav-forward-sexp-safe) (python-nav-backward-sexp-safe): Use it. * test/automated/python-tests.el (python-nav-forward-sexp-1): Fix test. 2015-04-12 João Távora Don't use `setq-local' in Gnus code This might break upstream builds with older Emacsen * lisp/gnus/message.el (message-mode): Use `set' and `make-local-variable' instead of `setq-local'. 2015-04-12 Paul Eggert Update Makefile.in's .PHONY dependencies * Makefile.in (change-history-commit, master-branch-is-current) (no-ChangeLog): Now phony. Remove configure's --with-mmdf option * configure.ac (MAIL_USE_MMDF): Remove. * etc/NEWS: Document this. * lib-src/movemail.c: Assume MAIL_USE_MMDF is not defined. (Bug#20308) * doc/man/ChangeLog.01: Rename from doc/man/ChangeLog.1. That way, 'make install' won't think it's a man page. Reported by Ashish SHUKLA in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00656.html Improve 'make change-history' prereq tests * Makefile.in (gen_origin): Fix to match what's in the master branch. (no-ChangeLog, master-branch-is-current): New rules. (change-history): Depend on them, to avoid similar future problems. Escape the local-variables string to pacify Emacs when editing Makefile.in. 2015-04-12 Artur Malabarba * test/automated/package-test.el (with-package-test): Kill Packages buffer. * lisp/emacs-lisp/package.el: Improve transaction y-or-n prompt. (package-menu--prompt-transaction-p): Prompt for "Delete" first, "Upgrade" last, and use capitalized instead of all-caps. * lisp/emacs-lisp/package.el: Completely silence async operations. (package--make-autoloads-and-stuff): Silence autoloads. (package--save-selected-packages): New function, silences `customize-save-variable'. (package--user-selected-p, package-install-from-buffer) (package-delete, package-install): Use it. (package-install-from-archive) (package-menu--perform-transaction): Silence. (package-menu-execute): Feedback when operation starts. Use delay-mode-hooks when visiting the init-file * lisp/emacs-lisp/package.el (package--ensure-init-file): delay-mode-hooks. * lisp/cus-edit.el (custom-save-all): delay-mode-hooks. * lisp/files.el: Only message when saving if save-silently is nil. (save-silently): New variable. (files--message): New function. (find-file-noselect, save-buffer, basic-save-buffer) (basic-save-buffer-2, save-some-buffers, not-modified) (append-to-file): Use them. 2015-04-12 Johan Bockgård Support debug declarations in pcase macros * lisp/emacs-lisp/pcase.el (pcase-MACRO): New edebug spec. (pcase-UPAT): Use it. Remove "`". (pcase--edebug-match-macro): New function. (pcase-defmacro): Support debug declarations. * lisp/emacs-lisp/cl-macs.el (cl-struct) : * lisp/emacs-lisp/eieio.el (eieio) : * lisp/emacs-lisp/pcase.el (\`): : Add debug declaration. pcase.el: Edebug support for `app' and vector patterns * lisp/emacs-lisp/pcase.el (pcase-FUN): New edebug spec. (pcase-UPAT): Use it. Support `app' patterns. (pcase-QPAT): Support vector patterns. edebug.el: Disambiguate vector specifications * lisp/emacs-lisp/edebug.el (edebug-match-list): Always treat `(vector ...)' as a vector specification, not as a sublist. (gnus-summary-refer-thread): Don't clobber unread articles This fixes a bug where `A T' causes "random" articles to become marked as read. * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread): Make sure gnus-newsgroup-unreads remains sorted. mouse-sel.el: Fix mouse-sel-get-selection-function * lisp/obsolete/mouse-sel.el (mouse-sel-get-selection-function): Use gui--last-selected-text-primary instead of no longer existing gui-last-selected-text. * lisp/rect.el (delete-whitespace-rectangle-line): Don't cross EOL. * lisp/net/nsm.el (nsm-query-user): Use cursor-in-echo-area. 2015-04-12 Artur Malabarba * lisp/emacs-lisp/package.el (list-packages): Avoid redundant generate. * lisp/emacs-lisp/package.el (list-packages): Call refresh in right buffer. * lisp/emacs-lisp/bytecomp.el: Silence noninteractive compilations. (byte-compile--interactive): New var. (byte-compile--message): New function. (byte-compile-log-1, byte-force-recompile) (byte-recompile-directory, byte-recompile-file) (byte-compile-file, compile-defun) (byte-compile-file-form-defmumble, byte-compile) (byte-compile-file-form-defalias, display-call-tree): Use it. * lisp/files.el: Don't message when nothing happened. (save-some-buffers, basic-save-buffer): Before messaging to say "nothing was saved" check if (called-interactively-p 'any). 2015-04-12 João Távora Summary: Improve sexp-based movement in message-mode Works by giving citations and smileys a different syntax. This helps modes like `show-paren-mode', `electric-pair-mode', and C-M-* sexp-based movement. * lisp/gnus/message.el (message--syntax-propertize): New function. (message-mode): Set syntax-related vars. (message-smileys): New variable. * test/automated/message-mode-tests.el: New file 2015-04-11 Paul Eggert Use bool for boolean in window.c * src/window.c: Omit unnecessary static function decls. (adjust_window_count, select_window, Fselect_window) (window_body_width, Fwindow_body_height, Fwindow_body_width) (set_window_hscroll, check_window_containing, Fwindow_at) (Fwindow_end, Fset_window_start, Fpos_visible_in_window_p) (unshow_buffer, replace_window, recombine_windows) (add_window_to_list, candidate_window_p, next_window) (Fnext_window, Fprevious_window, window_loop, check_all_windows) (Fget_buffer_window, Fdelete_other_windows_internal) (replace_buffer_in_windows_safely, set_window_buffer) (Fset_window_buffer, Fforce_window_update) (temp_output_buffer_show, make_parent_window) (window_resize_check, window_resize_apply, Fwindow_resize_apply) (resize_frame_windows, Fsplit_window_internal) (Fdelete_window_internal, grow_mini_window, shrink_mini_window) (Fresize_mini_window_internal, mark_window_cursors_off) (window_scroll, window_scroll_pixel_based) (window_scroll_line_based, scroll_command, Fscroll_other_window) (Fscroll_left, Fscroll_right, displayed_window_lines, Frecenter) (Fmove_to_window_line, Fset_window_configuration) (delete_all_child_windows, apply_window_adjustment) (set_window_fringes, set_window_scroll_bars) (Fset_window_vscroll, foreach_window, foreach_window_1) (compare_window_configurations, Fcompare_window_configurations): Prefer 'bool', 'true', and 'false' for booleans. * src/window.h (WINDOW_MODE_LINE_LINES) (WINDOW_HEADER_LINE_LINES): Omit unnecessary "!!" on bool value. 2015-04-11 Artur Malabarba Speed up byte-compilation and autoload generation by avoiding mode-hooks This prevents emacs-lisp-mode-hook from being run everytime an autoload file is generated, which can account for a fraction of package installation time depending on the hooks the user has configured. * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Use delay-mode-hooks. * lisp/emacs-lisp/autoload.el (autoload-find-file) (autoload-find-generated-file): Use delay-mode-hooks. * lisp/emacs-lisp/package.el: Improve `package-menu-refresh'. (package-menu-refresh): Respect async and do new package checking. (list-packages): Use `package-menu-refresh' instead of repeating code. * lisp/emacs-lisp/package.el: Improve package-menu-quick-help. (package--quick-help-keys): New variable. (package--prettify-quick-help-key): New function. (package-menu-quick-help): Use it. * lisp/emacs-lisp/package.el: Fix initially wrong compat table. (package--build-compatibility-table): Require finder. * test/automated/package-test.el: Fix new test. * lisp/emacs-lisp/package.el: Silence async operations. (package--silence): New variable. (package--message): New function. (package-import-keyring, package-refresh-contents) (package-compute-transaction, package-install, package-delete) (package-menu--perform-transaction, package-menu-execute): Use it. * test/automated/package-test.el: Test async functionality. (package-test-update-archives-async): New test. 2015-04-11 Daiki Ueno Utilize `make-process' in epg.el * lisp/epg.el (epg-error-output): Abolish. (epg-context): New slot `error-buffer'. (epg--start): Use `make-process' and `make-pipe-process'. (epg--process-filter): Remove code separating stderr from stdout. (epg-wait-for-completion): Simplify `error-output' handling. (epg-reset): Dispose error buffer. 2015-04-11 Paul Eggert * .gitignore: Ignore doc temps and outputs. Port commit-msg to MSYS Bash+Gawk See Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00610.html * build-aux/git-hooks/commit-msg (cent_sign_utf8_format) (cent_sign, print_at_sign, at_sign): Revert previous change. (print_at_sign): Prepend "BEGIN". (at_sign): Redirect from /dev/null to be safer with pre-POSIX awk. Port commit-msg to broken MS-Windows shell * build-aux/git-hooks/commit-msg (cent_sign): Just use UTF-8 here rather than ASCII + printf, as the latter fails on a broken MS-Windows shell. Reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00592.html 2015-04-11 Chris Zheng (tiny change) Support GnuTLS v3.4 and later on MS-Windows * src/gnutls.c (syms_of_gnutls) : New DEFSYM. * lisp/term/w32-win.el (dynamic-library-alist): Determine which GnuTLS DLL to load according to value of libgnutls-version. (Bug#20294) 2015-04-11 Paul Eggert Minor quoting etc. fixes to misc manuals Fix some minor quoting and spacing issues. Distinguish more clearly among grave accent and apostrophe (which are ASCII) and single quote (which is not). Prefer the standard terms "apostrophe" and "grave accent" to alternative names that can be confusing. Use apostrophes to single-quote ASCII text. * doc/misc/remember.texi: Spell the mystic's pseudonym in UTF-8 rather than approximating it in ASCII with grave accent. 2015-04-11 Daiki Ueno Respect more keyword args in `make-process' * src/process.c (Fmake_process): Respect `:sentinel' and `:filter' keywords as documented. 2015-04-10 Dmitry Gutov Extract ChangeLog entries when committing a directory * lisp/vc/vc-dispatcher.el (vc-log-edit): Update FIXME comment. * lisp/vc/log-edit.el (log-edit-changelog-insert-entries): Add a FIXME comment. (log-edit-changelog-entries): Extract from `log-edit-changelog-entries', handle FILE being a directory (http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00555.html). 2015-04-10 Paul Eggert Fix problems found by --enable-gcc-warnings * src/process.c (create_process, Fmake_pipe_process) (Fmake_network_process): Omit unused locals. Fix commit-msg to handle scissors lines * build-aux/git-hooks/commit-msg: Ignore every line after a scissors line, such as a line generated by 'git commit -v'. Problem reported by Johan Bockgård in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00580.html port commit-msg to Gawk 3.0.4 (1999) * build-aux/git-hooks/commit-msg (cent_sign_utf8_format, cent_sign) (print_at_sign, at_sign): New vars. Use them to avoid problems Eli Zaretskii encountered with Gawk 3.0.4 (1999) on MSYS. See: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html Have commit-msg report commit failure * build-aux/git-hooks/commit-msg: If the commit is aborted, say so. Simplify by doing this at the end. Problem reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00566.html 2015-04-10 Thomas Fitzsimmons Clean up LDAP Configuration section of EUDC manual * doc/misc/eudc.texi: Combine indices. (LDAP Configuration): Use command markup. Add index entries. Change formatting. Wrap long lines. Add noindent markup. 2015-04-10 Daiki Ueno Add facility to collect stderr of async subprocess * src/w32.h (register_aux_fd): New function declaration. * src/w32.c (register_aux_fd): New function. * src/process.h (struct Lisp_Process): New member stderrproc. * src/process.c (PIPECONN_P): New macro. (PIPECONN1_P): New macro. (Fdelete_process, Fprocess_status, Fset_process_buffer) (Fset_process_filter, Fset_process_sentinel, Fstop_process) (Fcontinue_process): Handle pipe process specially. (create_process): Respect p->stderrproc. (Fmake_pipe_process): New function. (Fmake_process): Add new keyword argument :stderr. (wait_reading_process_output): Specially handle a pipe process when it gets an EOF. (syms_of_process): Register Qpipe and Smake_pipe_process. * doc/lispref/processes.texi (Asynchronous Processes): Document `make-pipe-process' and `:stderr' keyword of `make-process'. * lisp/subr.el (start-process): Suggest to use `make-process' handle standard error separately. * test/automated/process-tests.el (process-test-stderr-buffer) (process-test-stderr-filter): New tests. * etc/NEWS: Mention new process type `pipe' and its usage with the `:stderr' keyword of `make-process'. 2015-04-10 Paul Eggert Minor quoting etc. fixes to lispref manual * doc/lispref/tips.texi (Documentation Tips): Distinguish more clearly among grave accent, apostrophe, and single quote. * doc/lispref/README, doc/lispref/buffers.texi: * doc/lispref/commands.texi, doc/lispref/control.texi: * doc/lispref/customize.texi, doc/lispref/display.texi: * doc/lispref/elisp.texi, doc/lispref/files.texi: * doc/lispref/frames.texi, doc/lispref/hash.texi: * doc/lispref/help.texi, doc/lispref/internals.texi: * doc/lispref/loading.texi, doc/lispref/makefile.w32-in: * doc/lispref/markers.texi, doc/lispref/modes.texi: * doc/lispref/nonascii.texi, doc/lispref/objects.texi: * doc/lispref/os.texi, doc/lispref/positions.texi: * doc/lispref/strings.texi, doc/lispref/syntax.texi: * doc/lispref/text.texi, doc/lispref/tips.texi: * doc/lispref/two-volume-cross-refs.txt, doc/lispref/windows.texi: Use American-style double quoting in ordinary text, and quote 'like this' when single-quoting in ASCII text. Also, fix some minor spacing issues. 2015-04-10 Michael Albinus Handle symlinked test directory in tramp-tests.el * test/automated/tramp-tests.el (tramp-test18-file-attributes) (tramp--test-check-files): Use `file-truename' for directories. 2015-04-10 Eli Zaretskii Fix 'recenter' when visual-line-mode is turned on * src/window.c (Frecenter): Use the same code for GUI and TTY frames alike; use vmotion only for "initial" frames. This is because vmotion doesn't support visual-line-mode. Rewrite the 'iarg >= 0' case to use move_it_* functions instead of using vmotion, for the same reason. Fix the clipping of the argument value to support scroll-margin in all cases and avoid unwarranted recentering. Reported by Milan Stanojević in http://lists.gnu.org/archive/html/help-gnu-emacs/2015-04/msg00092.html, which see. 2015-04-09 Stefan Monnier * lisp/abbrev.el (define-abbrev-table): Refine last change. * lisp/emacs-lisp/cl-lib.el: Partial revert of "2015-04-05 Rationalize use of c[ad]+r", so as to keep the "cl-" prefix on all cl-lib definitions. * lisp/progmodes/vhdl-mode.el (vhdl-prepare-search-2): Use inhibit-point-motion-hooks. * lisp/cedet/semantic: Remove some dead code. * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-header-line-format): Emacs<22 is not supported any more. * lisp/cedet/semantic/fw.el (semantic-buffer-local-value): Emacs<21 is not supported any more. (semantic-safe): Use `declare'. * lisp/cedet/semantic/decorate.el (semantic-set-tag-intangible) (semantic-tag-intangible-p): Remove unused functions. * lisp/cedet/semantic/complete.el (semantic-displayor-window-edges): Remove unused function. * lisp/gnus/gnus-art.el (gnus-hidden-properties): Simplify. (gnus-article-hide-text, gnus-article-unhide-text) (gnus-article-unhide-text-type): Remove special handling of `intangible' since that property is not used any more. (gnus-article-treat-body-boundary): Use gnus-hidden-properties. 2015-04-09 Dmitry Gutov Use the VC root in `log-edit-listfun' * lisp/vc/vc-dispatcher.el (vc-log-edit): Use the VC root in `log-edit-listfun'. 2015-04-09 Jay Belanger Fix description of Unix time, mention new function. * lisp/calc/calc-forms.el (calcFunc-unixtime): Fix adjustment for Unix time. * doc/misc/calc.texi (Date Forms): Fix description of Unix time. (Basic Operations on Units): Mention `calc-convert-exact-units'. 2015-04-09 Artur Malabarba * lisp/emacs-lisp/package.el: Use mode-line-process for notification. 2015-04-09 Dmitry Gutov * lisp/vc/log-edit.el (log-edit-insert-changelog-entries): Don't add newline after the last entry. 2015-04-09 Simen Heggestøyl css-mode.el: Add "not" pseudo-class (Bug#20267) * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add "not" to list of CSS pseudo-classes. 2015-04-09 Stefan Monnier * etc/NEWS: Add missing entry for "Stop messing with the EMACS env var". 2015-04-09 Michael Albinus Stop messing with the EMACS env var * doc/emacs/misc.texi (Interactive Shell): Remove description of EMACS env var. 2015-04-09 Paul Eggert Adapt 'make change-history' to coding cookie * Makefile.in (change-history): Adjust to change of format of ChangeLog file, which now has a coding cookie before an indented copyright notice. 2015-04-09 Paul Eggert Adapt 'make change-history' to coding cookie * Makefile.in (change-history): Adjust to change of format of ChangeLog file, which now has a coding cookie before an indented copyright notice. gitlog-to-changelog coding cookie and mv -i * build-aux/gitlog-to-emacslog: Use ChangeLog.1, not Makefile.in, for copyright notice prototype, so that we get a proper "coding:" cookie. Use 'mv -i' to avoid unconditionally overwriting an existing ChangeLog. Problems reported by Eli Zaretskii in: http://lists.gnu.org/archive/html/emacs-devel/2015-04/msg00504.html Merge from gnulib * build-aux/gitlog-to-changelog: Update from gnulib, incorporating: 2015-04-09 gitlog-to-changelog: port to MS-Windows 2015-04-09 Boruch Baum (tiny change) * lisp/bookmark.el (bookmark-bmenu-goto-bookmark): Don't inf-loop. (Bug#20212) 2015-04-09 Stefan Monnier Stop messing with the EMACS env var (Bug#20202) * lisp/net/tramp-sh.el (tramp-remote-process-environment): * lisp/comint.el (comint-exec-1): * lisp/term.el (term-exec-1): Don't set EMACS envvar. * lisp/progmodes/compile.el (compilation-start): Same and bring INSIDE_EMACS's format in line with other users. css-mode.el (css-smie-rules): Fix indentation after complex selectors (Bug#20282) * lisp/textmodes/css-mode.el (css-smie-rules): Don't get confused by inner structure of selectors. 2015-04-08 Fabián Ezequiel Gallina python.el: Indent docstring lines to base-indent (Bug#19595) Thanks to immerrr for reporting and providing an initial patch. * lisp/progmodes/python.el (python-indent-context): Add :inside-docstring context. (python-indent--calculate-indentation): Handle :inside-docstring. (python-indent-region): Re-indent docstrings. * test/automated/python-tests.el (python-indent-region-5) (python-indent-inside-string-2): Fix tests. python.el: Increase native completion robustness (Bug#19755) Thanks to Carlos Pita for reporting this and providing useful ideas. * lisp/progmodes/python.el (python-shell-completion-native-output-timeout): Increase value. (python-shell-completion-native-try-output-timeout): New var. (python-shell-completion-native-try): Use it. (python-shell-completion-native-setup): New readline setup avoids polluting current context, ensures output when no-completions are available and includes output end marker. (python-shell-completion-native-get-completions): Trigger with one tab only. Call accept-process-output until output end is found or python-shell-completion-native-output-timeout is exceeded. 2015-04-08 Samer Masterson * lisp/eshell: Make backslash a no-op in front of normal chars (Bug#8531) * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Update comment. (eshell-parse-backslash): Return escaped character after backslash if it is special. Otherwise, if the backslash is not in a quoted string, ignore the backslash and return the character after; if the backslash is in a quoted string, return the backslash and the character after. * test/automated/eshell.el (eshell-test/escape-nonspecial) (eshell-test/escape-nonspecial-unicode) (eshell-test/escape-nonspecial-quoted) (eshell-test/escape-special-quoted): Add tests for new `eshell-parse-backslash' behavior. 2015-04-08 Gustav Hållberg (tiny change) * lisp/vc/diff-mode.el (diff-hunk-file-names): Don't require a TAB after the file name. (Bug#20276) 2015-04-08 Paul Eggert Minor quoting etc. fixes to Emacs manual * doc/emacs/Makefile.in, doc/emacs/ack.texi, doc/emacs/building.texi: * doc/emacs/calendar.texi, doc/emacs/cmdargs.texi: * doc/emacs/custom.texi, doc/emacs/dired.texi, doc/emacs/emacs.texi: * doc/emacs/files.texi, doc/emacs/glossary.texi, doc/emacs/gnu.texi: * doc/emacs/indent.texi, doc/emacs/macos.texi: * doc/emacs/maintaining.texi, doc/emacs/makefile.w32-in: * doc/emacs/programs.texi, doc/emacs/rmail.texi: * doc/emacs/search.texi, doc/emacs/trouble.texi: * doc/emacs/vc1-xtra.texi: Use American-style double quoting in ordinary text, and quote 'like this' when single-quoting in ASCII text. Also, fix some minor spacing issues. Minor quoting etc. fixes to elisp intro * doc/lispintro/emacs-lisp-intro.texi: Consistently use American-style double quoting in ordinary text. In ASCII text, consistently quote 'like this' instead of `like this', unless Emacs requires the latter. 2015-04-08 Dmitry Gutov * CONTRIBUTE: Mention log-edit-insert-changelog. * CONTRIBUTE: Emphasize creating the top-level ChangeLog file manually. 2015-04-08 Paul Eggert * doc/misc/calc.texi (Summary): Avoid '@:' when usurped. 2015-04-08 Stefan Monnier * lisp/emacs-lisp/eieio-core.el (eieio-copy-parents-into-subclass): Fix inheritance of initargs. (Bug#20270) 2015-04-08 Artur Malabarba * lisp/emacs-lisp/package.el (package-menu-mode): Mode-line notification while dowloading information. * lisp/emacs-lisp/package.el: More conservative `ensure-init-file' (package--ensure-init-file): Check file contents before visiting. (package-initialize): Call it. (package-install-from-buffer, package-install): Don't call it. 2015-04-08 Eli Zaretskii * src/eval.c (init_eval_once): Bump max_lisp_eval_depth to 800. (Bug#17517) 2015-04-08 Michael Albinus * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug. 2015-04-08 Tassilo Horn Add notice to visual commands section * doc/misc/eshell.texi (Input/Output): Add notice that some tools such as git call less with its -F option which omits pagination if the contents is less than one page long. This interferes with eshell's visual (sub-)commands. 2015-04-07 Dmitry Gutov * lisp/ffap.el (ffap-string-at-point-mode-alist): Support environment variable expansion in file names. (Bug#19839) 2015-04-07 Paul Eggert Prefer double-quote to accent-grave in man pages 2015-04-07 Stefan Monnier (Bug#20257) * lisp/files.el (set-visited-file-name): Clear auto-save if nil. 2015-04-07 Ivan Shmakov Update etc/PROBLEMS. * etc/PROBLEMS: Mention visible-cursor; a few more mentions of ~/.Xresources and xrdb(1); refer to 'GNU Coreutils' and 'X Window System' or 'X' (were: 'GNU Fileutils' and 'X Windows', respectively); other minor updates and tweaks. (Bug#20011) 2015-04-07 Paul Eggert Add doc strings for some Isearch state vars * lisp/misearch.el (multi-isearch-buffer-list) (multi-isearch-file-list): Add doc strings. (Bug#20232) 2015-04-07 Alan Mackenzie Always mark "<" and ">" in #include directives with text properties. * lisp/progmodes/cc-fonts.el (c-cpp-matchers): Replace a font-lock "anchored matcher" with an invocation of c-make-font-lock-search-function to allow fontification when there's no trailing space on an "#include <..>" line. 2015-04-07 Paul Eggert Generate a ChangeLog file from commit logs * .gitignore: Add 'ChangeLog'. * build-aux/gitlog-to-changelog: New file, from Gnulib. * build-aux/gitlog-to-emacslog: New file. * CONTRIBUTE: Document the revised workflow. * Makefile.in (clean): Remove *.tmp and etc/*.tmp* instead of just special cases. (CHANGELOG_HISTORY_INDEX_MAX, CHANGELOG_N, gen_origin): New vars. (ChangeLog, unchanged-history-files, change-history) (change-history-commit): New rules. * admin/admin.el (make-manuals-dist--1): Don't worry about doc/ChangeLog. * admin/authors.el: Add a FIXME. * admin/make-tarball.txt: * lisp/calendar/icalendar.el: * lisp/gnus/deuglify.el: * lisp/obsolete/gulp.el: * lwlib/README: Adjust to renamed ChangeLog history files. * admin/merge-gnulib (GNULIB_MODULES): Add gitlog-to-changelog. * admin/notes/repo: Call it 'master' a la Git, not 'trunk' a la Bzr. Remove obsolete discussion of merging ChangeLog files. New section "Maintaining ChangeLog history". * build-aux/git-hooks/pre-commit: Reject attempts to commit files named 'ChangeLog'. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * make-dist: Make and distribute top-level ChangeLog if there's a .git directory. Distribute the new ChangeLog history files instead of scattered ChangeLog files. Distribute the new files gitlog-to-changelog and gitlog-to-emacslog. (Bug#19113) Rename ChangeLogs for gitlog-to-changelog This patch was implemented via the following shell commands: find * -name ChangeLog | sed 's,.*,git mv & &.1, s, lisp/ChangeLog\.1$, lisp/ChangeLog.17, s, lisp/erc/ChangeLog\.1$, lisp/erc/ChangeLog.09, s, lisp/gnus/ChangeLog\.1$, lisp/gnus/ChangeLog.3, s, lisp/mh-e/ChangeLog\.1$, lisp/mh-e/ChangeLog.2, s, src/ChangeLog\.1$, src/ChangeLog.13,' | sh git commit -am"[this commit message]" This file records repository revisions from commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to commit 1af4493b1d487aa404e7ad72586971ebcb77afcb (inclusive). See ChangeLog.1 for earlier changes. ;; Local Variables: ;; coding: utf-8 ;; End: Copyright (C) 2015-2016 Free Software Foundation, Inc. This file is part of GNU Emacs. GNU Emacs is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. GNU Emacs is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see .