From: Stefan Kangas Date: Tue, 30 Nov 2021 08:36:54 +0000 (+0100) Subject: ; make change-history-commit X-Git-Tag: emacs-28.0.90~25 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=6192525a96f7524e245f2d3325413cc563ba28a8;p=emacs.git ; make change-history-commit --- diff --git a/ChangeLog.3 b/ChangeLog.3 index ad659694a99..8789471ed36 100644 --- a/ChangeLog.3 +++ b/ChangeLog.3 @@ -1,3 +1,88462 @@ +2021-11-29 Protesilaos Stavrou + + Remove problematic characters from modus-themes.org (bug#52126) + + * doc/misc/modus-themes.org + (Enable and load, Font configurations for Org and others) + (Note on highlight-parentheses.el, Note on god-mode.el): Update links to + headings so that they no longer include the removed portions of text. + + (Option for color-coding success state, Option for line highlighting) + (Option for line numbers, Option for parenthesis matching) + (Advanced customization, Per-theme customization settings) + (Case-by-case face specs using the themes' palette) + (Face specs at scale using the themes' palette) + (Remap face with local value, Cycle through arbitrary colors) + (Override colors, Override color saturation) + (Font configurations for Org and others, Configure bold and italic faces) + (Custom Org user faces, Update Org block delimiter fontification) + (Measure color contrast, Load theme depending on time of day) + (Backdrop for pdf-tools) + (A theme-agnostic hook for theme loading, Note on EWW and Elfeed fonts) + (Frequently Asked Questions): Remove parentheses from headings as they + can cause problems in the .texi version of the file. + +2021-11-29 Andreas Schwab + + Avoid undefined behaviour when copying part of structure + + * src/dispnew.c (copy_row_except_pointers): Don't use address of + subobject as starting point. + + (cherry picked from commit 6943786b5c1fe76ea05a3a810512bd6777883710) + +2021-11-29 Stefan Kangas + + * Makefile.in (PREFERRED_BRANCH): Now emacs-28. + +2021-11-28 Eli Zaretskii + + * src/coding.c (Fdecode_coding_region, Fencode_coding_region): Doc fix. + +2021-11-27 Mike Kupfer + + Fix Subject when forwarding message with 2-line From + + * lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): Collapse + two-line From headers into a single line (SF#266). Based on a + suggestion from Lester Buck (many thanks!). + +2021-11-27 Kyle Meyer + + Update to Org 9.5.1-11-g96d91b + +2021-11-27 Eli Zaretskii + + * doc/lispref/commands.texi (Click Events): Fix wording (bug#52142). + +2021-11-25 Robert Pluim + + Fix pdf generation with Texinfo 6.7 + + * doc/lispref/display.texi (Size of Displayed Text): Put @group inside + @example (bug#52102). + +2021-11-25 Eli Zaretskii + + Fix 'posn-at-point' near some overlays + + * src/xdisp.c (pos_visible_p): Fix 'posn-at-point' for positions + just after a display property that draws a fringe bitmap. + (Bug#52097) + +2021-11-25 Narendra Joshi (tiny change) + + * lisp/repeat.el (repeat-post-hook): Add check symbolp rep-map. + +2021-11-24 Eli Zaretskii + + Revert "Use @pxref when necessary" + + This reverts commit b4f47d2ee2203a9f22bebeb3d09e0fb3fce2f65e. + Cleanups should not be done on the release branch: that's + unnecessary risk. + +2021-11-24 Robert Pluim + + Use @pxref when necessary + + * doc/lispref/customize.texi (Composite Types): + * doc/lispref/edebug.texi (Specification List): + * doc/lispref/variables.texi (Local Variables): + * doc/misc/efaq.texi (Basic keys): + (Informational files for Emacs): + * doc/misc/flymake.texi (Locating a master file): + * doc/misc/gnus.texi (Don't Panic): + (Oort Gnus): + * doc/misc/htmlfontify.texi (Non-interactive): + * doc/misc/mh-e.texi (More About MH-E): + * doc/misc/pcl-cvs.texi (Entering PCL-CVS): + * doc/misc/tramp.texi (Remote processes): + * doc/misc/vhdl-mode.texi (Indentation Calculation): + (Custom Indentation Functions): Use @pxref when inside parens. + +2021-11-24 Michael Albinus + + Backport Tramp fixes, don't merge + + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + Use `tramp-handle-file-readable-p'. + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test02-file-name-dissect): Use `make-tramp-file-name'. + +2021-11-23 Takesi Ayanokoji (tiny change) + + Fix typos in documentation + + * doc/lispref/anti.texi: + * doc/misc/efaq.texi: Fix typos. + +2021-11-22 Eli Zaretskii + + Fix '(space :relative-width N)' display spec w/non-ASCII chars + + * src/xdisp.c (produce_stretch_glyph): Use the correct face for + non-ASCII characters. Support :relative-width display spec on + Lisp strings, not just on buffer text. + +2021-11-22 Juri Linkov + + * lisp/proced.el (proced-sort-header): Fix event positions (bug#1779). + + The logic was copied from 'tabulated-list-col-sort'. + +2021-11-20 Kyle Meyer + + Update to Org 9.5-72-gc5d6656 + +2021-11-20 Eli Zaretskii + + Fix mouse handling with several TTY frames on MS-Windows + + * src/w32inevt.c (do_mouse_event): Reset the 'mouse_moved' flag of + the selected frame. Without that, this flag might remain set on a + TTY frame that is not displayed. + +2021-11-20 Eli Zaretskii + + Fix temacs invocation from outside of the 'src' directory + + * src/emacs.c (main) [HAVE_NATIVE_COMP]: Recompute the value of + native-comp-eln-load-path if about to load loadup in uninitialized + Emacs. (Bug#51999) + +2021-11-20 martin rudalics + + Fix mouse events on tab bar or tool bar when 'track-mouse' is t + + * lisp/mouse.el (mouse-drag-track): + * lisp/mouse-drag.el (mouse-drag-drag): Set 'track-mouse' to some + value neither t nor nil. + * src/keyboard.c (make_lispy_position): If track_mouse is Qt, + report event on tool or tab bar (Bug#51794). + +2021-11-20 Po Lu + + Fix `browse-url-interactive-arg' for certain kinds of events + + * lisp/net/browse-url.el (browse-url-interactive-arg): Don't + call `mouse-set-point' unless event is actually a mouse event. + +2021-11-19 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp-get-remote-gid): Remove declaration. + +2021-11-19 Michael Albinus + + Add upward compatibility entry in Tramp (don't merge) + + * lisp/net/tramp.el (tramp-file-name-for-operation): + Add `abbreviate-file-name'. + +2021-11-18 Juri Linkov + + Fix sorting of menus in `context-menu-local' (bug#50067). + + * lisp/menu-bar.el (menu-bar-keymap): Don't use `lookup-key' + on the `keymap' arg. + + * lisp/mouse.el (context-menu-global): Use `lookup-key global-map' + for the `keymap' arg of `menu-bar-keymap'. + (context-menu-local): Use `menu-bar-keymap' to sort `keymap'. + +2021-11-18 Juri Linkov + + Fix flyspell-correct-word selected from context menu opened with the keyboard + + * lisp/mouse.el (context-menu-open): Call interactively a command + returned by `context-menu-map' such as `flyspell-correct-word' (bug#50067). + + * lisp/textmodes/flyspell.el (flyspell-correct-word): Handle the + case when it's called by a key bound to `context-menu-open'. + Then it should work the same way as `C-c $' typed on misspelled word + where the arg `event' of `flyspell-correct-word-before-point' is nil. + +2021-11-18 Robert Pluim + + * lisp/repeat.el (describe-repeat-maps): Print all bound keys (bug#49265). + +2021-11-18 Juri Linkov + + * lisp/tab-bar.el: Use 'mouse-1' for history buttons like for 'add-tab' button + + * lisp/tab-bar.el (tab-bar-mouse-down-1, tab-bar-mouse-1): + Handle clicks for 'history-back' and 'history-forward' the same way + as 'add-tab' clicks. + +2021-11-18 Eli Zaretskii + + Improve documentation of window hooks + + * doc/lispref/windows.texi (Window Hooks): Clarify "buffer-local + functions". (Bug#51930) + +2021-11-18 Eli Zaretskii + + Improve doc string of 'highlight-nonselected-windows' + + * src/xdisp.c (syms_of_xdisp) : + Clarify the doc string. (Bug#51927) + +2021-11-17 Stefan Kangas + + * admin/authors.el (authors-ignored-files): Ignore some NEWS files. + +2021-11-16 Juri Linkov + + * lisp/tab-bar.el (tab-bar-select-tab): Add check for wc-frame (bug#51883). + +2021-11-16 Juri Linkov + + * lisp/tab-bar.el: Doc fixes for commands bound to modifier keys. + + (tab-bar-select-tab-modifiers) + (tab-bar-select-tab, tab-bar-switch-to-last-tab): Doc fixes. + +2021-11-15 Eli Zaretskii + + Fix removal of fringe marks of deleted bookmarks + + * lisp/bookmark.el (bookmark--remove-fringe-mark): The fringe + overlay is at BOL, not at POS. (Bug#51233) + +2021-11-15 Juri Linkov + + * lisp/repeat.el (repeat-echo-message): Bind message-log-max to nil. + + Don't insert messages about repeatable keys in the *Messages* buffer. + +2021-11-15 Robert Pluim + + * lisp/repeat.el (describe-repeat-maps): Use help-fns--analyze-function. + + Print keys bound to commands in every keymap (bug#49265) + +2021-11-15 Juri Linkov + + * lisp/repeat.el: Detect changes in the minibuffer state (bug#47566) + + (repeat--prev-mb): New internal variable. + (repeat-post-hook): Check the property 'repeat-map' on the symbol + from 'this-command' in addition to 'real-this-command'. Don't allow + repeatable maps in the activated minibuffer or in the minibuffer + from another command. Set 'repeat--prev-mb' at the end. + +2021-11-15 Eli Zaretskii + + Avoid segfaults due to freed face cache + + * src/xfaces.c (face_at_buffer_position): Make sure DEFAULT_FACE + is usable. (Bug#51864) + +2021-11-15 Stefan Kangas + + Doc fix; change recommended file name of custom-file + + * lisp/cus-edit.el (custom-file): Change file name recommendation to + match Info node '(emacs) Saving Customizations'. + +2021-11-14 Philip Kaludercic + + * rcirc.el (rcirc-define-command): Fix interactive-spec generation + + * rcirc.el (rcirc-define-command): Wrap interactive spec in a list call. + +2021-11-14 Lars Ingebrigtsen + + Fix `C-h k' in gnus-article-mode (don't merge) + + * lisp/gnus/gnus-art.el (gnus-article-describe-key): + (gnus-article-describe-key-briefly): Fix `describe-key' calling + convention (bug#51796). + +2021-11-14 Daniel Martín + + Fix semantic-symref-perform-search doc string + + * lisp/cedet/semantic/symref/cscope.el (semantic-symref-perform-search): + Fix the docstring to refer to the correct tool (bug#51846). + +2021-11-14 Eli Zaretskii + + Add more files to be natively-compiled AOT + + * src/Makefile.in (elnlisp): Add emacs-lisp/gv.eln and other + missing dependencies of comp.el. + +2021-11-14 Lars Ingebrigtsen + + gnus-summary-line-format doc string clarification + + * lisp/gnus/gnus.el (gnus-summary-line-format): Clarify the Date + part of the doc string (bug#51823). + +2021-11-13 Alan Mackenzie + + Fix follow-scroll-down in a small buffer which starts slightly scrolled + + This fixes bug #51814. + + * lisp/follow.el (follow-scroll-down): Do away with the optimization of doing + vertical-motion over only one window. Instead move over all windows, to + checck for being close to point-min, and setting point accordingly. + +2021-11-13 Eli Zaretskii + + Fix compilation on MS-Windows + + * src/callproc.c (emacs_spawn) : Define the label only + if USABLE_POSIX_SPAWN is defined, to avoid a compiler warning. + + (cherry picked from commit a8fc08085110de00ebcbd67b5273a755a5cb8ea1) + +2021-11-13 Philipp Stephani + + Use posix_spawn if possible. + + posix_spawn is less error-prone than vfork + execve, and can make + better use of system-specific enhancements like 'clone' on Linux. Use + it if we don't need to configure a pseudoterminal. + + Backported from commit a60053f8368e058229721f1bf1567c2b1676b239. + Unlike that commit, only define USABLE_POSIX_SPAWN on macOS, because + there posix_spawn is much faster than vfork. + + Don't merge to master. + + * configure.ac (HAVE_SPAWN_H, HAVE_POSIX_SPAWN) + (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR) + (HAVE_POSIX_SPAWN_FILE_ACTIONS_ADDCHDIR_NP) + (HAVE_POSIX_SPAWNATTR_SETFLAGS, HAVE_DECL_POSIX_SPAWN_SETSID): New + configuration variables. + * src/callproc.c (USABLE_POSIX_SPAWN): New configuration macro. + (emacs_posix_spawn_init_actions) + (emacs_posix_spawn_init_attributes, emacs_posix_spawn_init): New + helper functions. + (emacs_spawn): Use posix_spawn if possible. + + (cherry picked from commit a60053f8368e058229721f1bf1567c2b1676b239) + +2021-11-13 Eli Zaretskii + + Improve style and comments in font-related sources + + * src/w32font.c (fill_in_logfont): Stylistic changes. + * src/font.h (font_property_index, font_select_entity): + Add/improve comments. + +2021-11-12 Eli Zaretskii + + Improve documentation of 'decode-coding-region' + + * src/coding.c (Fdecode_coding_region): Doc fix. + + * doc/lispref/nonascii.texi (Coding System Basics) + (Explicit Encoding): Explain the significance of using 'undecided' + in 'decode-coding-*' functions. + +2021-11-12 Lars Ingebrigtsen + + Fix problem with temp buffer killing in package-install-file + + * lisp/emacs-lisp/package.el (package-install-file): Allow killing + the temporary buffer without querying (bug#51769). + +2021-11-12 Lars Ingebrigtsen + + Fix Lisp Intro markup error + + * doc/lispintro/emacs-lisp-intro.texi (Insert let): Fix @code + markup error (bug#51777). + +2021-11-11 Eli Zaretskii + + Fix ACL errors with WebDAV volumes on MS-Windows + + * src/w32.c (acl_get_file): Handle ERROR_INVALID_FUNCTION from + WebDAV. Patch from Ioannis Kappas . + (Bug#51773) + +2021-11-11 Aleksandr Vityazev + + Fix tramp-compat-file-name-concat (Bug#51754) + + * lisp/net/tramp-compat.el: Make `tramp-compat-file-name-concat' + work like file-name-concat. (Bug#51754) + +2021-11-10 Juri Linkov + + * lisp/vc/vc-git.el (vc-git-mergebase): More meaningful error message. + + Display a readable error message instead of signaling an error on nil value. + +2021-11-10 Stephen Gildea + + time-stamp: %F is "file name" not "pathname" + other doc + + * lisp/time-stamp.el (time-stamp-format): doc 'file' instead of 'path'. + * test/lisp/time-stamp-tests.el (formatz, format-time-offset): + Clarify the difference and similarity between these two test helpers. + +2021-11-09 Juri Linkov + + * doc/misc/eww.texi (Advanced): Fix missed variable name eww-retrieve-command. + +2021-11-09 Juri Linkov + + * doc/emacs/windows.texi (Window Convenience): Use @code for windmove. + + This refers to both a command and a user option. + + * etc/NEWS: Add some ---. + +2021-11-09 Juri Linkov + + * doc/emacs/maintaining.texi (Basic VC Editing): Mention Dired buffer. + + * doc/emacs/text.texi (Outline Mode): Replace S-TAB with with S-. + + * etc/NEWS: Add some missing +++/--- and move some related items closer. + +2021-11-09 Juri Linkov + + * lisp/progmodes/prog-mode.el (prog-context-menu): Use "Go Back" (bug#38797) + +2021-11-09 Stefan Kangas + + Revert "Fix localized display of date and time in the NS port" + + This reverts commit 5e05be566b0e13ce0b4e75da663fb051039f0751. + + This was discussed in + https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51321#93 + +2021-11-08 Juri Linkov + + * lisp/mouse.el (mouse-buffer-menu-mode-groups): Tighten "Version Control". + + Use word boundaries in the "Version Control" regexp to match mode names + "Log-Edit", "Log-View", "Git-Log-View", "Change Log", "VC dir", + but not "Verilog", "Prolog", "Rlogin" (bug#51337). + +2021-11-08 Juri Linkov + + * doc/emacs/search.texi (Isearch Yank): Add isearch-forward-thing-at-point. + +2021-11-07 Alan Mackenzie + + Amend Follow Mode to handle header lines and tab lines correctly + + This fixes bug #51590. + + list/follow.el (follow-scroll-down): Incorporate the height of the tab line + into the calculation of the window height. + (follow-calc-win-end): Incorporate the pixel heights of the header line and + the tab line the calculation of the buffer position of the bottom screen line. + +2021-11-07 Stefan Kangas + + * lisp/files.el (user-emacs-directory-warning): Clarify docstring. + +2021-11-07 Juri Linkov + + * doc/emacs/frames.texi (Tab Bars): Add text about mouse and tab-bar-format + + Briefly describe mouse commands on the tab bar and tab-bar-format (bug#51444) + +2021-11-07 Juri Linkov + + * doc/emacs/frames.texi (Tab Bars): Describe tab-last. + + 'C-9' and 'M-9' already had kindex, so describe them in the text as well + (bug#51444). + +2021-11-07 Jim Porter + + Add some unit tests for 'abbreviate-file-name' + + * test/lisp/files-tests.el (files-tests-abbreviate-file-name-homedir) + (files-tests-abbreviate-file-name-directory-abbrev-alist): New tests. + +2021-11-07 Eli Zaretskii + + Fix compilation MinGW warnings + + * src/w32.h (prepare_standard_handles, reset_standard_handles): + Fix prototypes. Reported by Andy Moreton + in + https://lists.gnu.org/archive/html/emacs-devel/2021-11/msg00597.html. + +2021-11-06 Stefan Kangas + + Escape '%' in filenames to fix flymake warnings + + * lisp/progmodes/flymake.el (flymake--log-1): Escape '%' in filenames + for 'warning-type-format' so they are not interpreted as a %-sequence + by 'format' later. (Bug#51549) + +2021-11-06 Lars Ingebrigtsen + + Fix search string generation in nnimap-make-thread-query + + * lisp/gnus/nnimap.el (nnimap-make-thread-query): Remove text + properties before constructing the search string (bug#49926). + +2021-11-06 Kyle Meyer + + Update to Org 9.5-68-g77e2ec + +2021-11-06 Michael Albinus + + Fix dbus-test04-register-method on CentOS (Bug#51369) + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): + Fix problem on CentOS. (Bug#51369) + +2021-11-06 Jonas Bernoulli + + * lisp/transient.el: Update to package version v0.3.7-11-g7f5520b3. + +2021-11-06 Eli Zaretskii + + Clarify "text area of a window" in the documentation + + * src/keyboard.c (Fposn_at_x_y): Clarify that the Y coordinate + includes the header-line and the tab-line. (Bug#51590) + + * doc/lispref/windows.texi (Window Sizes, Splitting Windows) + (Textual Scrolling, Coordinates and Windows): Fix/remove improper + or confusing uses of "text area" of a window. + +2021-11-06 Stefan Kangas + + Improve docstring of kmacro-set-format + + * lisp/kmacro.el (kmacro-set-format): Improve docstring. + (kmacro-insert-counter, kmacro-display-counter) + (kmacro-set-counter, kmacro-add-counter): Add cross-references + to the info manual. + +2021-11-05 Stefan Kangas + + Revert "* lisp/wid-edit.el (widget-field): Add subtle border to face." + + This reverts commit 8b024a6ff10f7907445ea60c4db8355638616ed1. + + This lead to some alignment issues. (Bug#51550) + Don't merge to master, where we will continue investigating. + +2021-11-05 Stefan Kangas + + * etc/PROBLEMS: Mention X forwarding slowdowns. (Bug#7092) + +2021-11-04 Stefan Kangas + + * lisp/custom.el (defgroup): Document the :prefix keyword. + +2021-11-04 Thibault Polge + + Document ibuffer-auto-mode in ibuffer-mode doc string + + * lisp/ibuffer.el (ibuffer-mode): Mention ibuffer-auto-mode in the + ibuffer-mode doc string (bug#51584). + +2021-11-04 Juri Linkov + + * doc/emacs/frames.texi (Tab Bars): Reorder toggle-frame-tab-bar. + +2021-11-04 Stefan Kangas + + Use current face foreground for SVG icons in customize + + It turns out these few icons were missed when the color and size + information was removed from the SVG icons that replaced XPM icons for + Customize buffer. + * etc/images/down.svg: + * etc/images/left.svg: + * etc/images/right.svg: + * etc/images/up.svg: Don't define foreground; this means they will use + the foreground of the currently defined face instead. (Bug#51556) + + (cherry picked from commit 11702a6dd7cb8286f28b7cb986057d2d2c66a914) + +2021-11-03 Juri Linkov + + * doc/emacs/building.texi (Compilation Mode): Add next-error-message-highlight + + The variable 'next-error-message-highlight' already has vindex, + so describe it in the text as well (bug#51444). + +2021-11-03 Daniel Martín + + Document a macOS error message when opening Emacs + + * etc/PROBLEMS: Document a potential error message when opening Emacs + on macOS for the first time. + +2021-11-03 Eli Zaretskii + + Fix header-line and tab-line when mode-line-compact is set + + * src/xdisp.c (display_mode_line): Make 'mode-line-compact' apply + only to mode lines. (Bug#51558) + +2021-11-03 Mattias Engdegård + + Add manual section about how to avoid regexp problems + + Help users affected by our NFA engine's stack overflows and occasional + poor performance, replacing old text that was more limited in scope. + + * doc/lispref/elisp.texi (Top): + * doc/lispref/searching.texi (Regular Expressions): Add menu entries. + (Regexp Problems): New node. + (Regexp Special): + * etc/PROBLEMS: Remove superseded text. + +2021-11-03 Phillip Lord + + Clarify build environment + + * admin/nt/dist-build/README-scripts: + +2021-11-03 Phillip Lord + + Clarify build directory structure + + * admin/nt/dist-build/README-scripts: Clarify build directory structure + +2021-11-02 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Add sanity check. + +2021-11-01 Juri Linkov + + * lisp/progmodes/prog-mode.el (prog-context-menu): Use text-mode-context-menu. + +2021-11-01 Michael Albinus + + Fix bug#51369 + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): Skip on hydra. + +2021-11-01 Michael Albinus + + Adapt arguments of `tramp-make-tramp-file-name' + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted): + * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp): + Use `make-tramp-file-name'. + + * lisp/obsolete/rcompile.el (remote-compile): Pacify byte-compiler. + +2021-11-01 Lars Ingebrigtsen + + Fix typo in describe-map-tree doc string + + * lisp/help.el (describe-map-tree): Fix typo in doc string. + +2021-11-01 Ken Brown + + Drop support for native compilation on 32-bit Cygwin + + * configure.ac (cygwin32-native-compilation): New option. + [i686-pc-cygwin]: Don't allow native compilation unless that + option is specified. (Bug#50666) + +2021-10-31 Lars Ingebrigtsen + + Fix rendering of title-less tags in shr + + * lisp/net/shr.el (shr-tag-abbr): Render tags that have no + title (bug#51525). + +2021-10-31 Eli Zaretskii + + Avoid signaling errors in lookup-key + + * src/keymap.c (Flookup_key): Handle KEY vectors where not all + components are symbols. (Bug#51527) Do not merge to master. + +2021-10-31 Daniel Martín + + Fix localized display of date and time in the NS port + + * src/nsterm.m (ns_init_locale): If not already set, set LC_ALL to the + current locale ID so that dates, currencies, etc. use the settings + configured in the operating system. (Bug#51321) + +2021-10-31 Eli Zaretskii + + Fix display glitches with side-by-side windows on TTY frames + + * src/dispnew.c (adjust_glyph_matrix, prepare_desired_row): Leave + room for the border glyph only if the window does actually have + the right margin. (Bug#51521) + +2021-10-30 Carlos Pita + + Avoid replacing common prefix with ellipsis + + * lisp/progmodes/python.el + (python-shell-completion-native-setup): Configure readline not to + suppress common prefixes. (Bug#51218) + +2021-10-30 Eli Zaretskii + + Improve documentation of string truncation APIs + + * doc/lispref/display.texi (Size of Displayed Text): + * lisp/international/mule-util.el (truncate-string-to-width): + Document caveats of using 'truncate-string-to-width' when + character composition is involved. + + * lisp/emacs-lisp/subr-x.el (string-limit): + * doc/lispref/strings.texi (Creating Strings): Improve the + documentation of 'string-limit'. + +2021-10-29 Imran Khan (tiny change) + + * lisp/textmodes/css-mode.el: Fix typo. (Bug#51488) + +2021-10-29 Lars Ingebrigtsen + + Make message/rfc822 on buttons work again in Gnus + + * lisp/gnus/gnus-art.el (gnus-article-mode): Set + mm-inline-message-prepare-function buffer-locally so that it works + both when inlining rfc822 and hitting the MIME button (bug#51388). + (gnus-mime--inline-message): Factor out into own function. + (gnus-mime-display-single): From here. + +2021-10-29 Glenn Morris + + * lisp/loadup.el: Unbreak build. + +2021-10-29 Lars Ingebrigtsen + + Move lisp/shorthands.el to lisp/emacs-lisp/shorthands.el + +2021-10-29 Michael Albinus + + Some Tramp changes, mainly in tramp-tests.el + + * doc/misc/tramp.texi (External packages): Don't use Tramp internals. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted): + Protect `tramp-make-tramp-file-name' call. + + * lisp/net/tramp.el (tramp-make-tramp-file-name): Set advertised + calling conventions. + + * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes): + Adapt test. + (tramp--test-supports-processes-p): New defun. + (tramp-test28-process-file, tramp-test29-start-file-process) + (tramp-test30-make-process, tramp-test32-shell-command) + (tramp-test32-shell-command-dont-erase-buffer) + (tramp-test34-explicit-shell-file-name, tramp-test35-exec-path) + (tramp-test44-asynchronous-requests): Use it. + +2021-10-29 Gregory Heytings + + Make hieroglyphs display correctly with existing fonts + + * etc/HELLO: Remove hieroglyph format control characters. + + * lisp/language/misc-lang.el: Add a rule to compose Egyptian + hieroglyphs even without Unicode format control characters. + +2021-10-29 Eli Zaretskii + + Clarify "default face attributes" in the ELisp manual + + * doc/lispref/display.texi (Defining Faces): Add index entries for + face symbol properties. + (Attribute Functions): Clarify "default face attribute values" wrt + 'face-all-attributes' and 'face-attribute'. (Bug#51465) + +2021-10-28 Lars Ingebrigtsen + + Make `C-u RET' work again + + * lisp/simple.el (newline): Fix regression introduced by + d1aacceae9 (bug#51459). + +2021-10-28 Jan Synacek (tiny change) + + Fix typos in the manual and in a comment + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): + * doc/lispintro/emacs-lisp-intro.texi (Mode Line): Fix typos + (bug#51434). + +2021-10-28 Eli Zaretskii + + Avoid assertion violations in 'lookup-key' + + * src/keymap.c (Flookup_key): Don't call ASIZE unless KEY is a + vector. This avoids assertion violations when KEY is a string. + +2021-10-28 Stefan Kangas + + image-dired: Unreverse accidentally reversed menus + + * lisp/image-dired.el (image-dired-thumbnail-mode-map) + (image-dired-display-image-mode-map, image-dired-minor-mode-map): + In Emacs 26.1 (commits b905454680c7 and bed0373855ea), the menus were + converted to use 'easy-menu-define', but they were reversed in the + process. Unreverse the menus. (Bug#51446) + +2021-10-28 Stefan Kangas + + Be more allowing when looking for menu-bar items + + Don't merge to master. This is a safe-for-release fix for Bug#50752. + + * src/keymap.c (lookup_key_1): Factor out function from + Flookup_key. + (Flookup_key): Be case insensitive when looking for Qmenu_bar + items. (Bug#50752) + + * test/src/keymap-tests.el + (keymap-lookup-key/mixed-case) + (keymap-lookup-key/mixed-case-multibyte): New tests. + +2021-10-27 Juri Linkov + + * lisp/textmodes/text-mode.el (text-mode-context-menu): Rename recently added. + +2021-10-27 Robert Pluim + + Allow automatic use of color fonts for emoji on macOS + + * src/macfont.m (macfont_list): Don't exclude color fonts when the + fontspec has an 'emoji' script specification. + +2021-10-27 Eli Zaretskii + + Fix help commands for menu-bar menus + + * lisp/help.el (help--analyze-key): Fix "C-h c" and "C-h k" on + menu-bar menu items. (Bug#51421) + +2021-10-26 Stefan Kangas + + Improve function documentation with text from XDG BDS spec + + * lisp/xdg.el (xdg-config-home, xdg-cache-home, xdg-data-home) + (xdg-runtime-dir, xdg-config-dirs, xdg-data-dirs): Copy in the + text from the XDG Base Directory Specification to better explain + what these functions return. + +2021-10-25 Jonas Bernoulli + + * lisp/transient.el: Update to package version 0.3.7. + +2021-10-25 Eli Zaretskii + + Revert "Fix a typo in emacs-lisp-intro.texi" + + This reverts commit 98eb6d783a482cd7ebca7ec656b0775b82c68e57. + I've consulted with Richard Stallman about this, and he says + that the original wording, "kinds of atom", is both correct + and more elegant writing. So I'm restoring the original text. + * doc/lispintro/emacs-lisp-intro.texi (Lisp Atoms): Undo the + fix of a "typo" that wasn't a typo. (Bug#51271) + +2021-10-25 Robert Pluim + + * doc/lispref/functions.texi (Mapping Functions): Use #' when mapping. + +2021-10-25 Miha Rihtaršič + + Fix issue with interpreting ANSI codes in eshell + + * lisp/eshell/esh-mode.el (eshell-mode): Make window point advance on + insertion. + (eshell-output-filter): Don't use insert-before-markers (bug#45380). + +2021-10-25 Stefan Kangas + + image-dired: Doc fix to better explain thumbnail generation + + * doc/emacs/dired.texi (Image-Dired): Improve description by + explaining that the generation of thumbnails is asynchronous. + +2021-10-25 Stefan Kangas + + Clarify two image-dired docstrings + + * lisp/image-dired.el (image-dired-dir): Doc fix; clarify that + thumbnails will be saved in "$XDG_CACHE_HOME/thumbnails", as per the + Thumbnail Managing Standard. + (image-dired-thumb-size): Doc fix; clarify that this option will be + ignored when using the Thumbnail Managing Standard. + +2021-10-25 Lars Ingebrigtsen + + Fix flymake example backend conditions in the manual + + * doc/misc/flymake.texi (An annotated example backend): Also react + to `signal' process statuses (bug#51380). + +2021-10-24 Stefan Kangas + + * etc/PROBLEMS: Mention problems with regexp matcher. (Bug#18577) + +2021-10-24 Juri Linkov + + * test/lisp/repeat-tests.el: New file. + +2021-10-24 Juri Linkov + + * lisp/tab-bar.el (tab-bar-move-repeat-map): Fix alias binding of tab-move. + + (tab-bar-move-tab-backward): Put 'repeat-map' symbol property. + +2021-10-24 Stefan Kangas + + Use restrictive umask when creating image-dired data + + * lisp/image-dired.el (image-dired-dir) + (image-dired-sane-db-file): Create thumbnail directory and + .image-dired_db with umask 077. This avoids creating world readable + copies of private data, and is in fact mandated by the Thumbnail + Managing Standard that we aim to support. + +2021-10-24 Eli Zaretskii + + Fix compilation errors with MinGW64 GCC 11 + + * lib-src/ntlib.c (_GL_ATTRIBUTE_MALLOC) + (_GL_ATTRIBUTE_DEALLOC_FREE): Define to avoid compilation errors + with MinGW64 GCC 11. Suggested by Andy Moreton + . Do not merge to master. + +2021-10-24 Ihor Radchenko + + Doc fix for concat + + * src/fns.c (Fconcat): Note that composition values may not remain eq + in return value of concat. (Bug#48740) + +2021-10-24 Stefan Kangas + + * lisp/image-dired.el (image-dired-external-viewer): Support feh. + +2021-10-24 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2021-10-16 16:33:47 GMT. + +2021-10-24 Stefan Kangas + + Refer to the info node on keymaps in map-keymap docstring + + * src/keymap.c (Fmap_keymap): Doc fix; add a reference to the Info + node '(elisp) Keymaps'. (Bug#30958) + +2021-10-23 Stefan Kangas + + Clarify abnormal hook documentation + + * doc/lispref/hooks.texi (Standard Hooks): + * doc/lispref/modes.texi (Hooks): Clarify wording of "abnormal + hook" documentation. (Bug#34588) + +2021-10-23 Kyle Meyer + + Update to Org 9.5-59-g52e6f1 + +2021-10-23 Stefan Kangas + + Improve documentation of cl-reduce + + * doc/misc/cl.texi (Mapping over Sequences): Change the + explanation of 'cl-reduce' so you don't need to have a major in + mathematics to understand it. (Bug#24014) + +2021-10-23 Stefan Kangas + + Improve documentation of apply-partially + + * doc/lispref/functions.texi (Calling Functions): Improve + documentation of 'apply-partially' to be slightly more clear with + regards to function arity. (Bug#17623) + +2021-10-23 Michael Albinus + + Fix typos + + * doc/emacs/cmdargs.texi: + * etc/DEBUG: + * etc/NEWS: Fix typos. + +2021-10-23 Michael Albinus + + Revert commit 225ca617b7, and apply another fix + + * lisp/minibuffer.el (read-file-name-default): Revert commit + 225ca617b7. (Bug#50976). + + * lisp/shell.el (shell): Remove volume letter for remote shell + file name. (Bug#49229) + +2021-10-23 Stefan Kangas + + Fix documentation of posn-at-x-y + + * doc/lispref/commands.texi (Accessing Mouse): Fix documentation of + 'posn-at-x-y' to match docstring. (Bug#15783) + +2021-10-22 Robert Pluim + + Improve some NEWS entries + + * etc/NEWS: Improve some NEWS entries. + +2021-10-22 Robert Pluim + + Improve documentation of syntax-ppss-context slightly + + * doc/lispref/syntax.texi (Parser State): Document all possible return + values from 'syntax-ppss-context'. + +2021-10-22 Robert Pluim + + Move some xwidget entries + + * etc/NEWS: Move xwidget entries to correct location. + +2021-10-22 Stephen Gildea + + time-stamp-tests: improvements to test macros + + test/lisp/time-stamp-tests.el: Update macro declarations. + (formatz-generate-tests): Don't nconc onto a constant list. + Tests now run 12% faster in batch mode. + +2021-10-22 Itai Y. Efrat + + Fix rfc6068-parse-mailto-url autoload + + * lisp/net/browse-url.el (rfc6068-parse-mailto-url): Fix autoload + cookie (bug#51333). + +2021-10-22 Lars Ingebrigtsen + + Regexp-quote github domains in bug-reference + + * lisp/progmodes/bug-reference.el + (bug-reference--build-forge-setup-entry): Regexp-quote the domain + (bug#51316). + +2021-10-22 Lars Ingebrigtsen + + Ensure valid end/beginning lines in message-mark-inserted-region + + * lisp/gnus/message.el (message-mark-inserted-region): Ensure + there's a newline before inserting the end line (bug#51324). + +2021-10-22 Robert Pluim + + * etc/NEWS: Improve 'repeat-mode' entry. + + * lisp/repeat.el (repeat-keep-prefix): Expand description. + + * lisp/net/eww.el (eww-retrieve-command): Add :tag. + +2021-10-22 Stefan Kangas + + Add description of cards to etc/refcards/README + + * etc/refcards/README: List all the generated reference cards, + including their translations. (Bug#8932) + +2021-10-22 Martin Rudalics + + Fix 'calculate-lisp-indent' when "[" starts containing sexp (Bug#51312) + + * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Handle + arbitrary paren syntax after skipping whitespace backwards within + containing sexp (Bug#51312). + +2021-10-22 Stefan Kangas + + Fix typo in doc/emacs/anti.texi + + * doc/emacs/anti.texi (Antinews): Fix typo. (Bug#51325) + Reported by Po Lu . + +2021-10-22 Stephen Gildea + + Update doc of Edebug specification for macros + + doc/lispref/edebug.texi: Update documentation of Edebug specification: + - Do not document "0" as a recommended shortcut for non-instrumented + arguments; nobody knows about nor uses this, so don't encourage it. + - Add an example equivalent to (declare (debug (&rest sexp))). + +2021-10-21 Eli Zaretskii + + Fix non-interactive behavior of 'kill-region' + + * lisp/simple.el (kill-region): Actually ignore BEG and END when + REGION is non-nil. Doc fix. (Bug#51320) + +2021-10-21 Juri Linkov + + * test/lisp/dabbrev-tests.el: Use 'kbd' for readable keys. + + (dabbrev-expand-test, dabbrev-completion-test) + (dabbrev-completion-test-with-argument): + Use 'kbd' to format keys for 'execute-kbd-macro'. + (dabbrev-expand-test): Fix docstring. + +2021-10-21 Juri Linkov + + * lisp/menu-bar.el (menu-bar-keymap): Add optional arg KEYMAP (bug#50067). + + * lisp/mouse.el (context-menu-global): Use 'menu-bar-keymap' with + its arg KEYMAP set to 'global-map'. + +2021-10-21 Lars Ingebrigtsen + + Fix todo-mode AOT test failures (bug#51308) + + Fix hi-lock AOT test failures (bug#51308) + +2021-10-21 Lars Ingebrigtsen + + Fix socks test + + * test/lisp/net/socks-tests.el (socks-tests-v4-basic): Fix failure + under native-comp (bug#51308). + +2021-10-20 Juri Linkov + + * lisp/help.el (help--analyze-key): Add new arg BUFFER (bug#51173). + + * lisp/help.el (describe-key): Use BUFFER as arg for help--analyze-key. + (describe-key-briefly): Change arg UNTRANSLATED deprecated in 27.1 + to BUFFER. + + * lisp/gnus/gnus-art.el (gnus-article-describe-key) + (gnus-article-describe-key-briefly): Call describe-key and + describe-key-briefly with first arg as a cons with raw keys, + and the BUFFER arg set to the current buffer. + +2021-10-20 Juri Linkov + + Improve docstrings and NEWS item of 'repeat-mode' + + * lisp/repeat.el (repeat-exit-timeout, repeat-echo-function) + (repeat-in-progress, repeat-map): Update docstrings. + +2021-10-20 Juri Linkov + + * lisp/tab-bar.el (tab-bar-menu-bar): New command (bug#51247). + + (tab-bar-format): Rename option 'tab-bar-format-menu-global' to + 'tab-bar-format-menu-bar'. + (tab-bar-format-menu-bar): Rename from 'tab-bar-format-menu-global'. + +2021-10-20 Po Lu + + Display a tab bar item as sunken when appropriate + + When the mouse pointer is pressed on the tab bar, moved out of the tab + bar, and moved back in, it would be more appropriate to behave like + other programs by displaying the item as sunken. + + * src/xdisp.c (note_tab_bar_highlight): Display item as sunken if the + mouse pointer returns to the tab bar down. + +2021-10-20 Po Lu + + Fix tab bar item highlight when a mouse click is dropped + + * src/xdisp.c (note_mouse_highlight): Clear last_tab_bar_item if the + movement wasn't made on top of the tab bar. + +2021-10-20 Stefan Kangas + + Refer to mouse-highlight from make-pointer-invisible docstring + + * src/frame.c (syms_of_frame) : Doc fix; + add reference to 'mouse-highlight'. (Bug#42889) + +2021-10-20 Robert Pluim + + * etc/PROBLEMS: Add hex codepoint for NO-BREAK SPACE + +2021-10-20 Robert Pluim + + Describe how to debug fontconfig issues + + * etc/PROBLEMS: Add FC_DEBUG usage pointers. + +2021-10-20 Michael Albinus + + Adapt Tramp tests + + * test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load): + Adapt code snippet. + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Adapt tests. + (tramp--test-supports-set-file-modes-p): Renamed from + `tramp--test-supports-file-modes-p'. Adapt all callees. + (tramp-test35-exec-path): Use it. + +2021-10-20 Jim Porter + + Convert ANSI color definitions in themes to use faces (e.g. 'ansi-color-red') + + * etc/themes/dichromacy-theme.el: + * etc/themes/leuven-theme.el: + * etc/themes/misterioso-theme.el: + * etc/themes/tango-theme.el: + * etc/themes/tango-dark-theme.el: + * etc/themes/wombat-theme.el: Convert ANSI color definitions to + use faces. + +2021-10-20 Lars Ingebrigtsen + + Revert "Revert back to using ESC as viper-ESC-key again" + + This reverts commit 5d522b430bd5ecfb8f082906cd634883dbb68f3e. + + The change led to M-x not working in non-gui Emacsen (bug#51253). + +2021-10-19 Alan Third + + Fix inset rectangle corners when sides aren't drawn (bug#51251) + + * src/nsterm.m (ns_draw_relief): Make the inner rectangle line up with + the outer rectangle's edges where the edges aren't drawn. + +2021-10-19 Jan Synacek (tiny change) + + Don't use color escape sequences in vc-git-expanded-log-entry + + * lisp/vc/vc-git.el (vc-git-expanded-log-entry): Use '--no-color' flag + in git invocation. (Bug#51262) + +2021-10-19 Michael Albinus + + Code cleanup in tramp-tests.el + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Extend tests. + (tramp--test-out-of-band-p): New defun. + (tramp--test-windows-nt-and-out-of-band-p) + (tramp-test42-utf8-with-stat, tramp-test42-utf8-with-perl) + (tramp-test42-utf8-with-ls): Use it. + (tramp--test-windows-nt-or-smb-p): Use `tramp--test-windows-nt-p'. + +2021-10-19 Robert Pluim + + * admin/notes/unicode: Refer to Unicode's emoji-style.txt + +2021-10-19 Robert Pluim + + Handle VS-16 correctly for non-emoji codepoints + + * admin/unidata/blocks.awk: Remove emoji overrides for codepoints with + Emoji_Presentation = No, they're no longer necessary. + * lisp/composite.el: Remove #xFE0F (VS-16) from the range handled by + `compose-gstring-for-variation-glyph' so it can be handled by + `font_range'. + * src/composite.c (syms_of_composite): New variable + `auto-composition-emoji-eligible-codepoints'. + * admin/unidata/emoji-zwj.awk: Generate value for + `auto-composition-emoji-eligible-codepoints'. Add + `composition-function-table' entries for 'codepoint + U+FE0F' for + them. + * src/font.c (codepoint_is_emoji_eligible): New function to check if + we should try to use the emoji font for a codepoint. + (font_range): Use it. + +2021-10-19 Tassilo Horn + + Adjust bug-reference-bug-regexp default values to match only at beg of word + + Previously, the "bug 1" in "(debug 1)" has also been highlighted. + + * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp) + (bug-reference--setup-from-vc-alist,bug-reference-setup-from-mail-alist) + (bug-reference-setup-from-irc-alist): Adjust bug-reference-bug-regexp + default values to match only at the beginning of a word. + +2021-10-19 Stefan Kangas + + Fix a typo in emacs-lisp-intro.texi + + * doc/lispintro/emacs-lisp-intro.texi (Lisp Atoms): Fix typo. + Reported by Mor Zahavi . (Bug#51271) + +2021-10-18 Michael Albinus + + Fix some Tramp problems + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + Use `tramp-adb-handle-file-executable-p' and + `tramp-adb-handle-file-readable-p'. + (tramp-adb-handle-file-executable-p) + (tramp-adb-handle-file-readable-p): New defuns. + (tramp-adb-handle-file-writable-p): Simplify. + (tramp-adb-handle-make-process): Handle :filter being t. + (tramp-adb-find-test-command): Remove. + + * lisp/net/tramp-sh.el (tramp-sh-handle-file-readable-p): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-file-readable-p): + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + Use `tramp-handle-file-readable-p'. + (tramp-gvfs-handle-file-executable-p): Do not check whether file + exists, this is done in `tramp-check-cached-permissions'. + (tramp-gvfs-handle-file-readable-p): Remove. + + * lisp/net/tramp.el (tramp-error): Move binding of `inhibit-message' ... + (tramp-signal-hook-function): ... here. + (tramp-handle-access-file): Rewrite. + (tramp-handle-file-readable-p): New defun. + (tramp-handle-make-process): Setting :filter to t works since + Emacs 29.1 only. + + * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory) + (tramp-test18-file-attributes): Extend tests. + +2021-10-18 Michael Albinus + + Adapt Tramp manual + + * doc/misc/tramp.texi: Use @uref instead of @url. + (Frequently Asked Questions): Adapt ELPA references. + +2021-10-18 Martin Rudalics + + Further fixes to Elisp manual + + * doc/lispref/frames.texi (Frame Layout): Index "tab bar" instead + of "internal tab bar". + (Implied Frame Resizing): Remove irritating hyphens. + * doc/lispref/windows.texi (Windows and Frames): Remove paragraph + relating 'minibuffer-window' to 'window-list'. + +2021-10-18 Alan Mackenzie + + * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): check type-start + + Check type-start is non-nil at L659 of the function. + +2021-10-18 Juri Linkov + + Rename tab-bar-drag-maybe to tab-bar--dragging-in-progress + + * lisp/tab-bar.el (tab-bar--event-to-item, tab-bar-mouse-down-1) + (tab-bar-mouse-move-tab): Rename tab-bar-drag-maybe to + tab-bar--dragging-in-progress. + + * src/xdisp.c (note_mouse_highlight): Rename tab_bar_drag_maybe to + tab_bar__dragging_in_progress. + +2021-10-18 Mattias Engdegård + + Fix xref elisp identifier namespace mistake + + Pressing `M-.` on ALPHA in + + (let ((ALPHA BETA)) ...) + + would incorrectly search for ALPHA as a function rather than a variable. + + * lisp/progmodes/elisp-mode.el (elisp--xref-infer-namespace): Fix logic. + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-mode-infer-namespace): Add test case. + +2021-10-18 Eli Zaretskii + + Minor fixes for recent changes in ELisp manual + + * doc/lispref/windows.texi (Basic Windows, Windows and Frames) + (Selecting Windows): + * doc/lispref/objects.texi (Window Type): + * doc/lispref/frames.texi (Input Focus, Frame Layout): Fix + wording, punctuation, and indexing. + +2021-10-18 Lars Ingebrigtsen + + Fix example in calc manual + + * doc/misc/calc.texi (Arithmetic Tutorial): Fix sign in the + example (bug#51265). + +2021-10-18 Martin Rudalics + + Rewrites of Elisp manual including tab-bar and tab-line changes + + * doc/lispref/buffers.texi (Current Buffer, Buffer List): Update + references to 'selected-window'. + * doc/lispref/elisp.texi (Top): Move up Selecting Windows section + in front of Window Sizes section. + * doc/lispref/frames.texi (Creating Frames): Say window system + instead of windowing system. + (Frame Layout): Add Tab Bar to layout. + (Layout Parameters): Add 'tab-bar-lines'. + (Input Focus): Say window system window instead of window + manager window. Fix reference to 'selected-window'. + * doc/lispref/objects.texi (Window Type): Minor rewrite. + * doc/lispref/windows.texi (Basic Windows): Rewrite. Settle on + term 'window system window' for disambiguation with our windows. + Move 'selected-window' description to Selecting Windows section. + Move schematic of window structure here. Use 'decorations' for + objects outside the window body. Say that the areas reserved + for continuation and truncation glyphs, vertical dividers and + line numbers are part of the window body. + (Windows and Frames): Minor rewrite, adding and fixing some + cross references. Move live window schematic to 'Basic Windows' + section. + (Selecting Windows): Move section in front of Window Sizes + section. Move description of 'selected-window' here. Move up + description of 'frame-selected-window' and + 'set-frame-selected-window'. Update and move description of + 'window-bump-use-time' here. + (Window Sizes): Throughout use the term 'decorations' instead of + enumerating them individually. Add 'window-tab-line-height' + description. + (Resizing Windows): Again use the term 'decorations' instead of + enumerating them individually. + (Splitting Windows): Minor fix. + (Cyclic Window Ordering): Improve descriptions of 'get-lru-window' + and 'get-mru-window'. Move 'window-bump-use-time' to Selecting + Windows section. + (Coordinates and Windows, Window Configurations): Once more use + the term 'decorations' instead of enumerating them individually. + * src/window.c (Fwindow_bump_use_time): Move after + 'window-use-time'. Make it work for live windows only. Make + WINDOW argument optional. Update doc-string. + +2021-10-17 Juri Linkov + + * lisp/tab-bar.el: Improve docstrings (bug#51247) + + * lisp/tab-bar.el (tab-bar--key-to-number) + (tab-bar--event-to-item, tab-bar--format-tab-group) + (tab-bar--current-tab-make): Improve docstrings. + (switch-to-buffer-other-tab): Obsolete the arg NORECORD. + +2021-10-17 Juri Linkov + + * lisp/tab-bar.el (tab-bar-mouse-move-tab): Don't drag tab to itself. + +2021-10-17 Martin Rudalics + + Add tab-bar-drag-maybe for indication of tab dragging (bug#50993) + + * lisp/tab-bar.el (tab-bar--event-to-item) + (tab-bar-mouse-move-tab): Set tab-bar-drag-maybe to nil. + (tab-bar-mouse-down-1): Set tab-bar-drag-maybe to t. + + * src/xdisp.c (note_mouse_highlight): Set cursor to 'hand_cursor' + when tab_bar_drag_maybe is true. + (syms_of_xdisp): New variable tab-bar-drag-maybe. + +2021-10-17 Juri Linkov + + * lisp/tab-bar.el: Add a new tab on [mouse-1] instead of [down-mouse-1] + + * lisp/tab-bar.el (tab-bar-mouse-down-1): Rename from + tab-bar-mouse-select-tab. Ignore 'add-tab'. + (tab-bar-mouse-1): Rename from tab-bar-mouse-close-tab-from-button. + Use binding of 'add-tab'. + (tab-bar-map): Rebind [down-mouse-1] from tab-bar-mouse-select-tab to + tab-bar-mouse-down-1, and [mouse-1] from tab-bar-mouse-close-tab-from-button + to tab-bar-mouse-1 (bug#51246). + +2021-10-17 Juri Linkov + + Add new and fix existing docstrings in tab-bar.el and tab-line.el (bug#51247) + + * lisp/tab-bar.el (tab-bar--key-to-number) + (tab-bar--event-to-item, tab-bar--format-tab) + (tab-bar--format-tab-group, tab-bar--tab, tab-bar--current-tab) + (tab-bar--current-tab-make): Add/fix docstrings. + +2021-10-17 Po Lu + + Add tab bar support to the nextstep port + + * src/nsfns.m (ns_change_tab_bar_height): New function. + (ns_set_tab_bar_lines): Check tab bar height and set tab bar + accordingly. + * src/nsterm.m (ns_clear_under_internal_border): Clear internal border + correctly when there is a tab bar. + (ns_create_terminal): Add ns_change_tab_bar_height. + (mouseDown): Handle tab bar mouse click events. + +2021-10-17 Alan Third + + Fix potential buffer overflow (bug#50767) + + * src/image.c (svg_load_image): Check how many bytes were actually + written to the buffer. Don't check xmalloc return value as xmalloc + doesn't return if it fails. + +2021-10-17 Eli Zaretskii + + Improve doc strings in tab-line.el + + * lisp/tab-line.el (tab-line-tab-name-function) + (tab-line-tab-name-truncated-buffer, tab-line-tabs-mode-buffers) + (tab-line-tabs-buffer-group-function) + (tab-line-tabs-buffer-group-sort-function) + (tab-line-tabs-buffer-groups, tab-line-tab-name-format-function) + (tab-line-tab-name-format-default, tab-line-format-template) + (tab-line-tab-face-inactive-alternating) + (tab-line-tab-face-special, tab-line-tab-face-modified) + (tab-line-format, tab-line-auto-hscroll, tab-line-hscroll-right) + (tab-line-hscroll-left, tab-line-new-tab, tab-line-select-tab) + (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab) + (tab-line-close-tab-function, tab-line-close-tab) + (tab-line-tab-context-menu, tab-line-context-menu) + (tab-line-mode, tab-line-exclude-modes, tab-line-mode--turn-on): + Add or fix doc strings. + +2021-10-17 Eli Zaretskii + + More documentation fixes in tab-bar.el + + * lisp/tab-bar.el (tab-bar-detach-tab, tab-bar-move-window-to-tab) + (tab-bar-new-tab-to, tab-bar-new-tab, tab-bar-close-tab-select) + (tab-bar-close-last-tab-choice, tab-bar-tab-pre-close-functions) + (tab-bar-close-tab, tab-bar-close-tab-by-name) + (tab-bar-close-other-tabs, tab-bar-rename-tab) + (tab-bar-rename-tab-by-name, tab-bar-move-tab-to-group) + (tab-bar-change-tab-group, tab-bar-close-group-tabs) + (tab-switcher-next-line, tab-switcher-prev-line) + (tab-switcher-unmark, tab-switcher-delete, tab-switcher-select) + (tab-bar-get-buffer-tab, display-buffer-in-tab) + (display-buffer-in-new-tab, switch-to-buffer-other-tab) + (find-file-other-tab, find-file-read-only-other-tab): Doc fixes. + +2021-10-17 Eli Zaretskii + + Improve doc strings of tab-bar commands + + * lisp/tab-bar.el (tab-bar-mouse-select-tab) + (tab-bar-mouse-move-tab, tab-bar-mouse-close-tab-from-button) + (tab-bar-mouse-close-tab, tab-bar-mouse-context-menu) + (tab-bar-switch-to-next-tab, tab-bar-switch-to-prev-tab) + (tab-bar-switch-to-last-tab, tab-bar-switch-to-recent-tab) + (tab-bar-move-tab-backward, tab-bar-move-tab) + (tab-bar-move-tab-to-frame): Add/fix doc strings. + +2021-10-17 Stefan Kangas + + Fix a semantic test on some macOS machines + + * test/lisp/cedet/semantic/bovine/gcc-tests.el + (semantic-gcc-test-output-parser-this-machine): Fix test on some macOS + machines where running "gcc" runs "llvm" instead. + +2021-10-16 Kyle Meyer + + Update to Org 9.5-57-g9bc3a2 + +2021-10-16 Stefan Kangas + + Recommend against using uce.el + + * lisp/mail/uce.el: Recommend against its use. (Bug#46472) + Do not merge to master. + +2021-10-16 Eli Zaretskii + + Avoid aborts when a thread is signaled while "waiting for input". + + * src/process.c (kbd_is_ours): New function. + (wait_reading_process_output): Set 'waiting_for_input' only if the + current thread is monitoring the keyboard descriptor. See also + https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg01180.html. + (Bug#51229) + +2021-10-16 Philipp Stephani + + Improve documentation string for 'compilation-error-regexp-alist'. + + * lisp/progmodes/compile.el (compilation-error-regexp-alist): Clarify + behavior when TYPE is a cons cell. + +2021-10-16 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix target dir. + +2021-10-16 Eli Zaretskii + + Fix removal of fringe indication of bookmarks + + * lisp/bookmark.el (bookmark--remove-fringe-mark): Fix off-by-one + error in looking for bookmark-related overlays. (Bug#51233) + +2021-10-15 Stefan Kangas + + Prefer "graphical displays" to "X terminals" in documentation + + * doc/lispref/objects.texi (Ctl-Char Syntax): Fix incorrect remark; + some text terminals can generate ASCII control characters. + (Other Char Bits): + * lisp/bindings.el: + * lisp/gnus/gnus-undo.el (gnus-undo-mode-map): Say "graphical display" + and "GUI display" instead of "X terminal"; the latter term is + archaic. (Bug#51217) + +2021-10-15 Michael Albinus + + Precise documentation of file-notify-add-watch + + * doc/lispref/os.texi (File Notifications): + * lisp/filenotify.el (file-notify-add-watch): Precise, that + watching a directory includes reports on file changes for some + backends. (Bug#51146) + +2021-10-15 Martin Rudalics + + Fixes to account for windows' tab lines + + * doc/lispref/display.texi (Size of Displayed Text): Fix entry + on 'window-text-pixel-size'. + * lisp/window.el (window--dump-window): Dump tab-line-height and + scroll-bar-height too. + (window--min-size-1): Take 'window-tab-line-height' into account. + * src/xdisp.c (Fwindow_text_pixel_size): Fix doc-string of + 'window-text-pixel-size'. Rename last argument to 'MODE-LINES'. + +2021-10-15 Andrea Corallo + + * Fix `native-compile-target-directory' effectiveness on trampolines + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix + `native-compile-target-directory' effectiveness on trampoline + compilation. + +2021-10-15 Jan Synacek + + Add missing single quotes in the Emacs manual + + * lisp/mwheel.el (mouse-wheel-scroll-amount): Add missing single + quotes. (Bug#51223) + +2021-10-15 Juri Linkov + + * lisp/menu-bar.el (yank-menu-length): Fix docstring (bug#51138). + +2021-10-14 Michael Albinus + + Accept process-filter t in Tramp + + * lisp/net/tramp.el (tramp-handle-make-process): + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Filter can be t. + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Test filter equal t. + +2021-10-14 Lars Ingebrigtsen + + Document the t value for set-process-filter in the manual + + * doc/lispref/processes.texi (Filter Functions): Mention what t + means (bug#51177). + +2021-10-14 Michael Albinus + + * doc/misc/tramp.texi (Frequently Asked Questions): Add reference + + to ELPA Installation node. + +2021-10-14 Eli Zaretskii + + Fix Help functions for clicks on tool bar and tab bar + + * lisp/mouse.el (mouse-minibuffer-check): Don't assume posn-window + returns a window. (Bug#5199) + +2021-10-14 Martin Rudalics + + In make_lispy_position fix Bug#50993 in rudimentary fashion + + * src/keyboard.c (make_lispy_position): Do not set posn to + tool- or tab-bar when track_mouse is enabled (Bug#50993). + +2021-10-14 Dmitry Gutov + + Mark vc-switch-backend as obsolete + + * etc/NEWS: Mention the change. + + * lisp/vc/vc.el (vc-switch-backend): Mark as obsolete (bug#50344). + (vc-transfer-file): Wrap the calls in 'with-suppressed-warnings'. + +2021-10-14 Yan (tiny change) + + Add missing parentheses in the Emacs manual + + * doc/emacs/maintaining.texi (Xref Commands): Add missing + parentheses (bug#51195). + +2021-10-14 Stefan Kangas + + Improve tooltip of mode-line-position again + + * lisp/bindings.el (mode-line-position): Improve tooltip again. + This change was discussed in + https://lists.gnu.org/r/emacs-devel/2021-10/msg00952.html + +2021-10-13 Philip Kaludercic + + Use browse-url-button-regexp for rcirc-url-regexp + + * rcirc.el (rcirc-url-regexp): Copy improved regexp from browse-url + +2021-10-13 Juri Linkov + + * lisp/help.el (help--analyze-key): Avoid mouse-set-point for non-mouse events + + (bug#51173) + +2021-10-13 Michael Albinus + + Tramp doc cleanup + + * doc/misc/tramp.texi (Overview, Bug Reports) + (Frequently Asked Questions): Stylistic changes. + (Bug Reports): Mention tramp buffers appended to bug report. + +2021-10-13 Lars Ingebrigtsen + + Make emacs-lisp-byte-compile-and-load load the .elc file again + + * lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile-and-load): + Load the compiled file instead of the source (bug#51180). + +2021-10-13 Peter Münster + + Fix point movement in image-dired + + * lisp/image-dired.el (image-dired-thumb-file-marked-p): Don't + move point in associated dired buffer. + (image-dired-delete-marked): Revert "Fix deletion of associated image" + because it was wrong and introduced another problem (bug#51152). + +2021-10-13 Stefan Kangas + + Improve shortdoc for vector + + * lisp/emacs-lisp/shortdoc.el (vector): Improve shortdoc with titles. + Add mapc. Fix typo where 'seq-reduce' is incorrectly written as + 'reduce'. + +2021-10-13 Paul Eggert + + Fix test bug when calloc returns null + + * test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make): + Don’t dump core if calloc returns null and signal_errno returns. + +2021-10-12 Paul Eggert + + Pacify GCC 11 -fanalyzer on x86-64 + + * src/buffer.c (fix_overlays_before): + Redo slightly to work around GCC bug 102692 + . + +2021-10-12 Gregory Heytings + + Improve handling of non-character events in input methods + + * lisp/international/quail.el (quail-add-unread-command-events): + Handle non-vector event arguments. Fixes bug#51118. + +2021-10-12 Martin Rudalics + + In Fdelete_other_windows_internal fix new total window sizes (Bug#51007) + + * src/window.c (Fdelete_other_windows_internal): Assign the + new total sizes of windows _after_ the new window configuration + is in place (Bug#51007). + +2021-10-12 Stephen Gildea + + * lisp/mh-e/mh-show.el (mh-junk-whitelist): Custom obsolescence message. + +2021-10-11 João Távora + + Don't apply shorthands to punctuation-only symbols (bug#51089) + + This includes symbols used for arithmetic functions such as -, /=, + etc. Using "-" or "/=" is still possible but doing so won't shadow + those functions. + + * doc/lispref/symbols.texi (Shorthand, Exceptions): New + subsubsection. + + * src/lread.c (read1): Exempt punctionation-only symbols from + oblookup_considering_shorthand. + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-dont-shadow-punctuation-only-symbols): Tweak test. + +2021-10-11 Stefan Kangas + + * lisp/progmodes/python.el: Bump package version to 0.28. + +2021-10-11 Stefan Kangas + + Fontify "print" and "exec" as functions in python-mode + + This change was first made on master, but on closer consideration it + is better to fix this bug already in Emacs 28.1. + + * lisp/progmodes/python.el (python-font-lock-keywords-level-2): + Fontify "print" and "exec" as functions, which is the case in + Python 3. (Bug#43298) Do not merge to master. + +2021-10-11 Juri Linkov + + Copy parent face attributes to tab-line-tab-current instead of inheriting face + + * lisp/tab-line.el (tab-line-tab-current): Don't inherit face from + 'tab-line-tab' to not inherit the face attribute :height from 'tab-line', + because :height of mouse-face is added to the base face. + Copy here most of the parent face attributes (bug#50798). + +2021-10-11 Martin Rudalics + + Another fix for 'ibuffer-shrink-to-fit' (Bug#7218, Bug#51029) + + * lisp/ibuffer.el (ibuffer-shrink-to-fit): Fit window only if its + buffer is in 'ibuffer-mode' (Bug#7218, Bug#51029). + +2021-10-11 Michael Albinus + + Backport: * doc/misc/tramp.texi (Bug Reports): Describe, how to activate ELPA Tramp. + + (cherry picked from commit 978e5339e0d4ef98575096bcf3ec2061ad530f27) + +2021-10-11 Paul Eggert + + Work around GCC bug 102671 + + This is for --enable-gcc-warnings on GCC 11.2.1. + * src/window.c, src/timefns.c: Disable -Wanalyzer-null-dereference. + +2021-10-11 Amin Bandali + + Release ERC 5.4 + + * lisp/erc/erc.el (Version, erc-version): Bump to 5.4. + (customize-package-emacs-version-alist): Add entry for 5.4. + +2021-10-11 Amin Bandali + + * etc/ERC-NEWS: Announce ERC's addition to GNU ELPA. + + * etc/ERC-NEWS: Fix outline level for the recent additions. + +2021-10-11 Amin Bandali + + Add ERC entries for 'customize-package-emacs-version-alist' + + * lisp/erc/erc.el (customize-package-emacs-version-alist): Add entries + for existing ERC versions. + +2021-10-11 Dmitry Gutov + + Expand the full file name + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Expand the full file name, not just the local part (bug#51112). + +2021-10-11 Stefan Kangas + + Obsolete XEmacs compat convention in 'erc-button-press-button' + + * lisp/erc/erc-button.el (erc-button-press-button): Advertise new + calling convention without XEmacs compatibility. + +2021-10-11 F. Jason Park + + Backport: Add ERC version to protocol log + + * lisp/erc/erc.el (erc-toggle-debug-irc-protocol): Include the erc + version in the debug logs (bug#51107). + + (cherry picked from commit 13411346202f86e950bee076a5d528e98695fbb4) + +2021-10-11 Eli Zaretskii + + Adapt the recent 'num_processors' change to MS-Windows + + * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_nproc): Omit nproc. + + * src/w32.c (num_processors): New function. + * src/w32proc.c (Fw32_get_nproc): Remove. + +2021-10-11 Stefan Kangas + + Minor fix to clarify a sentence in emacs-lisp-intro + + * doc/lispintro/emacs-lisp-intro.texi (Simple Extension): Add the word + "that" for clarity. (Bug#43965) + +2021-10-11 Lars Ingebrigtsen + + Make tty-run-terminal-initialization load the .elc file (if any) + + * lisp/faces.el (tty-run-terminal-initialization): + `locate-library' may have found the .el.gz file (bug#51116). + +2021-10-11 Lars Ingebrigtsen + + Fix ert errors when there's a test that binds `debug-on-error' + + * lisp/emacs-lisp/ert.el (ert--run-test-internal): Don't infloop + on errors when signalling errors (bug#51131). + +2021-10-10 Paul Eggert + + New function num-processors + + This addresses a FIXME comment in lisp/emacs-lisp/comp.el, + relating to the number of subsidiary processes used by + comp-run-async-workers in native compilation. + * admin/merge-gnulib (GNULIB_MODULES): Add nproc. + * doc/lispref/processes.texi (Process Information), etc/NEWS: + Document num-processors. + * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. + * lib/nproc.c, lib/nproc.h, m4/nproc.m4: + New files, copied from Gnulib by admin/merge-gnulib. + * lisp/emacs-lisp/comp.el (w32-get-nproc): Remove decl. + (comp-effective-async-max-jobs): Use num-processors. + * src/process.c: Include nproc.h. + (Fnum_processors): New function. + (syms_of_process): Define ‘all’, ‘current’, ‘num-processors’. + * src/w32proc.c (Fw32_get_nproc): Add FIXME comment. + * test/src/process-tests.el (process-num-processors): New test. + +2021-10-10 Juri Linkov + + Add symbol property 'save-some-buffers-function' (bug#46374) + + * lisp/files.el (save-some-buffers-root): Put non-nil + symbol property 'save-some-buffers-function'. + (save-some-buffers): Check pred for the + symbol property 'save-some-buffers-function'. + (save-some-buffers-default-predicate): Mention + symbol property 'save-some-buffers-function'. + +2021-10-10 Juri Linkov + + Keep reading when typed RET in read-char-from-minibuffer and y-or-n-p + + * lisp/subr.el (read-char-from-minibuffer-map): + Remap exit-minibuffer to read-char-from-minibuffer-insert-other. + (y-or-n-p-map): Remap 'exit' to y-or-n-p-insert-other. + (y-or-n-p): Don't mention RET in docstring. (Bug#51101) + +2021-10-10 David M. Koppelman + + * lisp/userlock.el (ask-user-about-supersession-threat): Accept 'y' strictly. + + (Bug#51101) + +2021-10-10 Eli Zaretskii + + Fix point positioning on mouse clicks with non-zero line-height + + * src/xdisp.c (move_it_to): After passing a newline, reset + it->override_ascent, like 'display_line' does (in + 'append_space_for_newline'). (Bug#51111) + +2021-10-10 João Távora + + Complete shorthands to longhands for symbol-completing tables + + Shorthands aren't symbols, they're text forms that 'read' into + symbols. As such, shorthands aren't candidates in these tables of + symbols. But in some situations, if no other candidates match the + pattern, we can e.g. complete "x-foo" to "xavier-foo" if the shorthand + + (("x-" . "xavier-")) + + is set up in the buffer of origin. + + bug#50959 + + * lisp/help-fns.el (help--symbol-completion-table): Report + `symbol-help' category. + + * lisp/minibuffer.el (completion-styles-alist): New 'shorthand' + style. + (completion-category-defaults): Link 'symbol-help' category with + 'shorthand' style. + (minibuffer--original-buffer): New variable. + (completing-read-default): Setup minibuffer--original-buffer. + (completion-shorthand-try-completion) + (completion-shorthand-all-completions): New helpers. + +2021-10-10 João Távora + + Add new failing test for bug#51089 + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-dont-shadow-punctuation-only-symbols): Add new failing test. + +2021-10-10 Dmitry Gutov + + Avoid mapping file names through 'substring' + + * lisp/progmodes/project.el (project--files-in-directory): + Avoid mapping file names through 'substring'. Reducing the amount + of garbage generated. Better perf by up to 20%. + Bump the package version. + +2021-10-09 Kyle Meyer + + Update to Org 9.5-46-gb71474 + +2021-10-09 Stephen Gildea + + Expanded testing of MH-E with multiple MH variants + + * test/lisp/mh-e/mh-utils-tests.el: Environment variable TEST_MH_PATH + controls which installed MH variant to test with. Moved the commentary + about testing with different MH variants from above 'with-mh-test-env' + definition to "Commentary" section at the top of the file. + * test/lisp/mh-e/test-all-mh-variants.sh: New script to test all + installed MH variants. + +2021-10-09 Philipp Stephani + + Fix Seccomp filter for newer GNU/Linux systems (Bug#51073). + + On some systems, process startup calls prctl(PR_CAPBSET_READ) via + 'cap_get_bound'. We can just return EINVAL. + + * lib-src/seccomp-filter.c (main): Add a rule for + prctl(PR_CAPBSET_READ, ...). + +2021-10-09 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp.el (tramp-remote-path): Adapt docstring. + (tramp-action-login, tramp-action-password, tramp-action-yesno) + (tramp-action-yn, tramp-process-actions): Move let-binding of + `enable-recursive-minibuffers' up. + (tramp-handle-make-process, tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region) + (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) + (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Use `string-or-null-p'. + +2021-10-09 Michael Albinus + + Fix thinko in ls-lisp--insert-directory + + * lisp/ls-lisp.el (ls-lisp--insert-directory): Ensure that + SWITCHES is a string. + +2021-10-09 Lars Ingebrigtsen + + Mention that RET means "yes" in y-or-n-p + + * lisp/subr.el (y-or-n-p): Mention that RET also means yes (bug#51101). + +2021-10-09 Eli Zaretskii + + Rewrite Antinews for Emacs 28 + + * doc/lispref/anti.texi (Antinews): + * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 28. + * doc/lispref/elisp.texi (Top): + * doc/emacs/emacs.texi (Top): Update menu accordingly. + +2021-10-09 Stefan Kangas + + * lisp/bindings.el (mode-line-position): Improve tooltip. + +2021-10-09 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump the version. + +2021-10-09 Dmitry Gutov + + Slight simplificaiton + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Compute log only once. Use 'dolist'. + +2021-10-08 Eli Zaretskii + + Fix doc strings of 2 categories + + * lisp/international/characters.el (?R, ?L): Make the first line + of the categories' doc string shorter, to fit into 15 columns. + +2021-10-08 Dmitry Gutov + + (xref--collect-matches-1): Remove some intermediate allocations + + * lisp/progmodes/xref.el: (xref--collect-matches-1): + Rewrite to remove some intermediate allocations. + Modest performance improvement. + +2021-10-08 Arash Esbati + + Use the correct label in the warning + + * lisp/textmodes/reftex-toc.el (reftex-toc-rename-label): Add + missing space in the prompt. Use the new user defined label in + the warning (bug#36235). + +2021-10-08 Dmitry Gutov + + Add Emacs 27 compatibility hack + + * lisp/progmodes/xref.el: Add Emacs 27 compatibility hack, for the + standalone version of this package. + +2021-10-07 Paul Eggert + + Pacify GCC 10.3 -Wmaybe-uninitialized + + Problem reported by Basil L. Contovounesios (Bug#51075). + * src/term.c (encode_terminal_code): + Add an UNINIT to pacify GCC 10 bug. + +2021-10-07 Juri Linkov + + * lisp/tab-bar.el (tab-detach, tab-window-detach): New aliases. + + (tab-bar-mouse-context-menu, tab-bar-duplicate-tab): + Use word "clone" in help/doc string. + +2021-10-07 Eli Zaretskii + + Include the refcards in the release tarball + + * make-dist (possibly_non_vc_files): Include *.pdf files, to + include the produced refcards in the tarball. This was lost when + 'make-dist' was rewritten for Emacs 27. + +2021-10-07 Stefan Monnier + + Backport: * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): Scope + + Fix the scoping of `tramp-archive-enabled`. + + (cherry picked from commit 8d53c23f90aab6e527c61137ae43274c7a36eca7) + +2021-10-07 Eli Zaretskii + + Improve documentation and customization of 'blink-matching-paren' + + * lisp/simple.el (blink-matching-paren): Fix the wording of the + doc string and the descriptions in the value menu. (Bug#51032) + +2021-10-07 Amin Bandali + + * lisp/erc/erc.el: Don't error if 'erc-loaddefs' does not exist. + + That autoload file is created as part of the Emacs compilation + process, however we would like ERC to be usable if used outside + emacs.git (e.g. if installed from GNU ELPA). + +2021-10-07 Amin Bandali + + Add 'erc-bug' command for reporting ERC bugs + + * etc/ERC-NEWS: Announce the new command, and mention it at the top of + the file along with 'report-emacs-bug'. + * lisp/erc/erc.el (erc-bug): New command for reporting ERC bugs. It + prompts for a subject, and passes it on to 'report-emacs-bug' along + with the current ERC version, with the ERC mailing list in Cc. + +2021-10-07 Amin Bandali + + Add 'erc-version' and use it to display ERC version consistently + + * lisp/erc/erc.el (erc-version): New constant holding the current ERC + version, now used in the function with the same name to produce a + version string for use across ERC for consistency. Also, add another + optional argument, 'bold-erc', which when non-nil, marks the "ERC" + portion of the string with the control character for bold display. + (erc-quit/part-reason-default): Use the 'erc-version' function for a + consistent version string. + (erc-cmd-SV): Mention the ERC version number from the 'erc-version' + constant. + (erc-ctcp-query-VERSION): Use the 'erc-version' function for a + consistent version string. + +2021-10-07 Amin Bandali + + Small tweaks and improvements to etc/ERC-NEWS + + * etc/ERC-NEWS: Small tweaks inspired by etc/NEWS, namely to add a + descriptive blurb at the top of the file to explain what it is about + and how to report ERC bugs, add a form feed before the section for + every release, and set the same Local Variables that etc/NEWS does. + +2021-10-07 Amin Bandali + + Add NEWS items for changes to ERC since 5.3 to etc/ERC-NEWS + + * etc/ERC-NEWS: copy ERC NEWS items from etc/NEWS, etc/NEWS.27, + etc/NEWS.26, etc/NEWS.25, and etc/NEWS.24 to here. Future ERC NEWS + are also to be added here. This is in motivated by preparation for + addition of ERC to GNU ELPA, along with the ERC manual and NEWS. + * etc/NEWS: remove ERC-related entries, and refer the reader to + ERC-NEWS instead. + +2021-10-06 Juri Linkov + + Clone the frame window configuration in 'clone-frame' + + * doc/emacs/frames.texi (Creating Frames): Mention the cloned + window configuration for clone-frame. + + * lisp/frame.el (clone-frame): Change second arg to 'no-windows' + and clone window configuration when it's nil. + + * lisp/tab-bar.el (tab-bar-mouse-context-menu) + (tab-bar-detach-tab): Replace "Detach" with "Move" in help/doc strings. + + https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00408.html + +2021-10-06 Eli Zaretskii + + * lisp/tool-bar.el (tool-bar-position): Doc fix. + +2021-10-06 Philip Kaludercic + + * NEWS: Mention rcirc connects to #emacs by default + +2021-10-06 Stephen Gildea + + Refactor mh-utils-tests macro 'with-mh-test-env' + + * test/lisp/mh-e/mh-utils-tests.el (with-mh-test-env): Refactor to + reduce the size of the expanded macro. + (mh-test-utils-setup): New helper function. + (mh-ensure-native-trampolines): Absorbed by mh-test-utils-setup. + +2021-10-05 Stefan Kangas + + Avoid using variable before it has been initialized + + * lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't try to use + ibuffer-auto-mode variable before ibuf-ext.el has been loaded. + (Bug#51029) + +2021-10-05 Stefan Kangas + + Clarify docstring of blink-matching-paren + + * lisp/simple.el (blink-matching-paren): Clarify + docstring. (Bug#51032) + +2021-10-05 Stefan Kangas + + * doc/misc/gnus.texi (Loose Threads): Use regexp-opt in example. + +2021-10-05 Dmitry Gutov + + Bump project.el version + + * lisp/progmodes/project.el: Bump the version. + +2021-10-05 Dmitry Gutov + + Retain compatibility with older project.el projects + + * lisp/progmodes/xref.el (xref--analyze): + Retain compatibility with older project.el and its compatible + project definitions (for standalone Xref from ELPA). + +2021-10-05 Stephen Gildea + + native-comp-available-p is the definitive test + + * doc/lispref/compile.texi (Native Compilation): Document + native-comp-available-p as the way to test for native compilation. + * lisp/emacs-lisp/package.el (package--native-compile-async): + * test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines): + Test for native compilation with native-comp-available-p. + + Thank you to Andrea Corallo for reviewing this patch. + +2021-10-05 Eli Zaretskii + + Minor fix of a recently installed documentation change + + * doc/emacs/search.texi (Lax Search): Don't use ".." inside @samp, + it looks confusing, especially in print. (Bug#51020) + +2021-10-05 Paul Eggert + + Fix md5 issue in recent Gnulib merge + + When configured --with-native-compilation, Emacs needs md5_stream. + Problem reported by Andy Moreton (Bug#50985#23). + * admin/merge-gnulib (GNULIB_MODULES): Add crypto/md5, + needed for --with-native-compilation. + (AVOIDED_MODULES): Avoid crypto/af_alg, since Emacs doesn’t + need to bother with kernel-supported cryptography algorithms. + * lib/gnulib.mk.in, m4/gnulib-comp.m4: + Regenerate by running admin/merge-gnulib. + * lib/md5-stream.c: New file, copied from Gnulib. + +2021-10-05 Paul Eggert + + Tweak recent 'configure' fix + + * configure.ac (gt_TYPE_WINT_T): Omit obsolete and + now-overridden definition. + +2021-10-05 Stefan Kangas + + Document minibuffer-default-prompt-format in manual + + * doc/emacs/mini.texi (Basic Minibuffer): Mention + minibuffer-default-prompt-format. (Bug#50935) + +2021-10-05 Eli Zaretskii + + Backward compatibility option for 'nobreak-char-display' + + * src/xdisp.c (syms_of_xdisp) : New + variable. + (get_next_display_element): If 'nobreak-char-ascii-display' is + non-nil, display non-ASCII space and hyphen characters as their + ASCII equivalents. (Bug#50983) + + * etc/NEWS: + * etc/PROBLEMS: Mention 'nobreak-char-ascii-display'. + +2021-10-05 Eli Zaretskii + + Unbreak the build after Gnulib update + + * lib/gnulib.mk.in (GNULIBHEADERS_OVERRIDE_WINT_T): Rename from + GNULIB_OVERRIDES_WINT_T. + * configure.ac (GNULIBHEADERS_OVERRIDE_WINT_T): Define. + (Bug#50985) + +2021-10-05 Michael Albinus + + Check, whether an FUSE mount has been broken in Tramp + + * lisp/net/tramp-fuse.el (tramp-fuse-mount-timeout): New defconst. + (tramp-fuse-mounted-p): Use it. Check for a file property instead + of a connection property. + (tramp-fuse-unmount): Dito. + + * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection): + Do not trust existence of a process, whether the volume is mounted. + +2021-10-05 Augusto Stoffel + + Disable 'nobreak-char-display' in Eldoc buffers + + * lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Set + 'nobreak-char-display' to nil in Eldoc buffers (bug#50989). + +2021-10-05 Miha Rihtaršič + + Fix small error in comint-send-input + + * lisp/comint.el (comint-send-input): Run + comint-output-filter-functions with comint-last-output-start set + correctly (bug#51009). + +2021-10-05 Daniel Martín + + Update documentation of search-whitespace-regexp + + * doc/emacs/search.texi (Lax Search): Update the documentation about + the default value of search-whitespace-regexp, as it is now + independent of the major mode's syntax table (bug#51020). + +2021-10-05 Po Lu via + + Fix cc-compat.el syntax error + + * lisp/obsolete/cc-compat.el (offsets): Fix syntax error in BOCM + style setup. + +2021-10-05 Tak Kunihiro + + Mention `seq-uniq' in `delete-dups' documentation + + * doc/lispref/lists.texi (Sets And Lists): Mention `seq-uniq' + (bug#50928). + + * lisp/subr.el (delete-dups): Link to `seq-uniq' in doc string. + +2021-10-05 Paul Eggert + + Port recent Gnulib changes to MS-Windows + + * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_free-posix) + (OMIT_GNULIB_MODULE_malloc-posix) + (OMIT_GNULIB_MODULE_realloc-gnu) + (OMIT_GNULIB_MODULE_realloc-posix): + New macros, since we don’t want these modules on MS-Windows. + * src/w32heap.c (heap_alloc, heap_realloc): New functions. + (malloc_after_dump, realloc_after_dump, realloc_before_dump): + Use them. + +2021-10-05 Paul Eggert + + Update from Gnulib + + Make the following changes by hand, and run 'admin/merge-gnulib'. + * .gitignore: Add lib/malloc/*.gl.h. + * admin/merge-gnulib: Copy lib/af_alg.h and lib/save-cwd.h + directly from Gnulib, without worrying about Gnulib modules, + as these files are special cases. + (AVOIDED_MODULES): Remove malloc-posix. + * lib/malloc.c, lib/realloc.c, m4/malloc.m4, m4/realloc.m4: + * m4/year2038.m4: New files, copied from Gnulib. + * lib/malloca.c, lib/malloca.h: + * m4/close-stream.m4, m4/glibc21.m4, m4/malloca.m4: + Remove. These are either no longer present in Gnulib, or are no + longer needed by modules that Emacs uses. + * oldXMenu/AddPane.c, oldXmenu/Addsel.c: Include XmenuInt.h first; + needed for new Gnulib. + * src/xmenu.c: Call emacs_abort, not abort. + +2021-10-04 Andrea Corallo + + * Fix mh tests for native comp builds (bug#50975) + + * test/lisp/mh-e/mh-utils-tests.el (mh-ensure-native-trampolines): + New function. + (mh-test-utils-setup-with-mocks) + (mh-test-utils-setup-with-variant): Use it. + +2021-10-04 Andrea Corallo + + * Fix `batch-native-compile' not to spawn a subprocess + + * lisp/emacs-lisp/comp.el (comp-running-batch-compilation): New var. + (comp-final): Use it. + (batch-native-compile): Bind `comp-running-batch-compilation' it. + +2021-10-04 Ken Brown + + Fix native-compilation build from tarball on Cygwin + + * src/Makefile.in (../native-lisp) [CYGWIN]: Rebase the *.eln + files after they are all created, to avoid fork problems later in + the build. (Bug#50666) + +2021-10-04 Robert Pluim + + Remove U+FE0F from script-representative-chars + + * lisp/international/fontset.el (script-representative-chars): Remove + U+FE0F / VS-16 from the 'emoji' entry. It could cause us to skip + fonts that don't have a glyph for it, even though we don't actually + need one. + +2021-10-04 Robert Pluim + + Fix problem with 'vertical-motion' and emoji + + * src/font.c (font_range): Pass correct position to + font_for_char (Bug#51012). + +2021-10-04 Michael Albinus + + * test/README: Mention :nativecomp tag. + +2021-10-04 Gregory Heytings + + Avoid exiting when outputting error messages during loadup + + * src/print.c (print_error_message): Don't call + 'substitute-command-keys' when it isn't fboundp. + +2021-10-04 Robert Pluim + + Remove implemented emoji items + + * etc/TODO: Remove implemented emoji items. + +2021-10-04 Lars Ingebrigtsen + + project.el NEWS tagging + + thing-at-mouse NEWS tagging + +2021-10-04 Lars Ingebrigtsen + + Mention ffap-file-name-with-spaces in the ffap doc strin + + * lisp/ffap.el (find-file-at-point): Mention + ffap-file-name-with-spaces in the doc string. + +2021-10-04 Lars Ingebrigtsen + + Revert "Make info-look search harder for the Python info file" + + This reverts commit 711eb40b9b9e2aabd0e23ec264e8e8f913329d33. + + This leads to loading info-look being excessively slow if the info path is long. It'll be reimplemented in Emacs 29. + +2021-10-04 Paul Eggert + + Add safety check in x_menu_show + + * src/xmenu.c (x_menu_show): Explicitly check whether save_wv can + be null here. Looks like it can be but I am not 100% sure, so + play it safe and add a FIXME comment. + +2021-10-04 Paul Eggert + + Tweak x_connection_closed when I/O error + + * src/xterm.c (x_connection_closed): Don’t dereference dpyinfo + in the unlikely case where it is null and ioerror is true. + This pacifies gcc 11.2.1 -Wanalyzer-null-dereference. + +2021-10-04 Stefan Kangas + + * lisp/erc/erc.el (erc-user-mode): Set "+i" by default. + +2021-10-04 Paul Eggert + + Port unused decls to C2x + + * src/conf_post.h (ATTRIBUTE_UNUSED): Remove. All uses replaced + by MAYBE_UNUSED, and moved to start as needed for C2x. + +2021-10-04 Stefan Kangas + + Improve structure of TODO + + * etc/TODO: Various improvements to the document structure according + to discussion with the maintainers. + +2021-10-04 Stefan Kangas + + Don't use some obsolete names in documentation + + * admin/notes/bugtracker: Use non-obsolete name + 'mail-dont-reply-to-names'. + * admin/notes/multi-tty: Mention new variable name + 'x-selection-value'. + * doc/lispintro/emacs-lisp-intro.texi (Point and mark) + (Point and mark, Design @value{COUNT-WORDS}): Avoid using obsolete + name 'count-lines-region'. + * doc/lispref/hooks.texi (Standard Hooks): Remove reference to + obsolete abnormal hook 'completion-annotate-function'. + * doc/misc/efaq.texi (SPC no longer completes file names): Remove + reference to obsolete 'minibuffer-local-filename-must-match-map'; + setting it has no effect. + * doc/misc/gnus.texi (NNTP): Remove reference to obsolete variable + 'nntp-authinfo-file'. + * doc/misc/reftex.texi (Table of Contents, Creating Citations) + (Options - Table of Contents, Options - Referencing Labels) + (Options - Creating Citations, Options - Index Support) + (Options - Index Support, Changes): Don't use obsolete names. + * doc/misc/speedbar.texi (Minor Display Modes) + (Major Display Modes): Make variable name suggestions more in line + with existing non-obsolete variable. + * lisp/textmodes/reftex-cite.el (reftex-select-bib-mode-map): + * lisp/textmodes/reftex-ref.el (reftex-offer-label-menu): Don't use + obsolete variable names. + * lisp/progmodes/which-func.el (which-func-mode): Doc fix. + +2021-10-04 Paul Eggert + + Tweak x_hide_tip for consistency + + * src/xfns.c (x_hide_tip, Fx_show_tip): Be consistent about using + !NILP (tip_frame) instead of FRAMEP (tip_frame). The two + expressions are logically equivalent since tip_frame is either a + frame or nil, !NILP is a bit faster, and making things consistent + pacifies gcc 11.2.1 -Wanalyzer-null-dereference. + +2021-10-04 Paul Eggert + + Remove encode_terminal_code UNINITs + + * src/term.c (encode_terminal_code): Clarify by removing a couple + of UNINITs and testing the local variable ‘cmp’ instead of + retesting src->u.cmp.automatic. This pacifies gcc 11.2.1 + -Wanalyzer-null-dereference. + +2021-10-04 Paul Eggert + + Port pdumper.c maybe_unused to C2x + + Port pdumper.c to C2x, and pacify gcc 11.2.1 -Wattributes -Wunused. + * src/pdumper.c (dump_tailq_prepend): + Omit ATTRIBUTE_UNUSED, since it’s always used. + (dump_tailq_append): Remove; unused. + +2021-10-04 Paul Eggert + + Port systhreads.h to C2x + + * src/systhread.h: Put NODISCARD at the start of extern + declarations, not at the end. This is needed by C2x. + This patch also pacifies gcc 11.2.1 -Wattributes. + +2021-10-04 Paul Eggert + + Pacify -Wanalyzer-null-argument in lisp_malloc + + * src/alloc.c (lisp_malloc): Document that NBYTES must be + positive, and omit a needless runtime check. This pacifies a + false alarm with gcc 11.2.1 -Wanalyzer-possible-null-dereference. + +2021-10-04 Paul Eggert + + Pacify gcc 11.2.1 -Wanalyzer-null-argument + + * src/gtkutil.c (xg_item_label_same_p): Clarify boolean expression + to pacify -Wanalyzer-null-argument with GCC 11.2.1 20210728 + (Red Hat 11.2.1-1). + +2021-10-04 João Távora + + Simplify hack-read-symbol-shorthands again (bug#50946) + + * lisp/loadup.el (load-source-file-function): Don't set twice. + + * lisp/shorthands.el (hack-read-symbol-shorthands): Simplify. + (load-with-shorthands-and-code-conversion): Remove. + + * lisp/international/mule.el (load-with-code-conversion): Call + hack-read-symbol-shorthands-function. Set up shorthands. + (hack-read-symbol-shorthands-function): New variable. + +2021-10-03 Eli Zaretskii + + Fix recipe for 'native-lisp' directory + + * src/Makefile.in (../native-lisp): If the directory native-lisp + exists, do nothing. + +2021-10-03 Paul Eggert + + Simplify socket symlink-attack checking + + This is a minor bugfix cleanup (Bug#33847#161). + * lib-src/emacsclient.c: Move "#include " to inside + "#ifdef SOCKETS_IN_FILE_SYSTEM", which is more accurate + and simpler than having a separate "#ifndef WINDOWSNT". + (O_PATH): Likewise. + +2021-10-03 Alan Mackenzie + + Clarify (elisp) insert-file-contents with BEG or END not on character boundary + + * doc/lispref/files.texi (Reading from files): When the argument BEG or END to + insert-file-contents are at a byte position not at a character boundary, + clarify that raw bytes get inserted, and how to handle this awkwardness in + Lisp. Also clarify that insert-file-contents-literally is intended to insert + raw bytes into the buffer. Fix the outdated example that states it inserts + 500 characters, when it actually inserts 500 bytes. + +2021-10-03 Andreas Schwab + + * src/Makefile.in: Simplify conditionals. + +2021-10-03 Juri Linkov + + Move context-menu selection items Defun/List/Symbol to prog-mode (bug#9054) + + * lisp/mouse.el (context-menu-functions): + Add context-menu-middle-separator to choices. + (context-menu-region): Move Defun/List/Symbol selection items + to prog-context-menu. + + * lisp/progmodes/prog-mode.el (prog-context-menu): + Move Defun/List/Symbol selection items from context-menu-region. + Include text-mode select menu only in strings and comments. + + * lisp/textmodes/text-mode.el (text-mode-menu): New function. + (text-mode): Add text-mode-menu to context-menu-functions. + +2021-10-03 Juri Linkov + + * lisp/tab-bar.el (tab-bar-detach-tab): Handle frame selected by make-frame. + + (tab-bar-move-window-to-tab): New command. + (tab-bar-new-tab-to): Handle the value 'window' of tab-bar-new-tab-choice. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02197.html + +2021-10-03 Juri Linkov + + * lisp/tab-line.el (tab-line-format): Add face-modified to the cache key. + + When tab-line-tab-face-functions contains tab-line-tab-face-modified, + add 'buffer-modified-p' status to the cache-key, so the cache will expire + when the buffer modification status will change. + https://lists.gnu.org/archive/html/emacs-devel/2021-10/msg00129.html + +2021-10-03 Michael Albinus + + Fix unmounting in Tramp + + * doc/misc/tramp.texi (FUSE setup): Add tramp-fuse-unmount-on-cleanup. + + * lisp/net/tramp.el (tramp-file-name-unify): New defun. + (tramp-file-name-equal-p): + * lisp/net/tramp-cache.el (tramp-get-connection-property) + (tramp-set-connection-property, tramp-flush-connection-property) + (tramp-flush-connection-properties): Use it. + + * lisp/net/tramp-fuse.el (tramp-fuse-get-fusermount): New defun. + (tramp-fuse-mount-points): New defvar. + (tramp-fuse-unmount): Use it. Delete VEC from + `tramp-fuse-mount-points'. Delete mount point. + (tramp-fuse-unmount-on-cleanup): New user option. + (tramp-fuse-cleanup, tramp-fuse-cleanup-all): New defuns. + (top): Adapt `tramp-fuse-unload-hook', + `tramp-cleanup-connection-hook', + `tramp-cleanup-all-connections-hook' and `kill-emacs-hook'. + + * lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection): + * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection): + Add VEC to `tramp-fuse-mount-points'. + + * test/lisp/net/tramp-tests.el (tramp-fuse-unmount-on-cleanup): Declare. + (tramp-test39-make-lock-file-name): Use it. + +2021-10-03 Stefan Kangas + + * etc/themes/light-blue-theme.el: Add "Maintainer: emacs-devel". + +2021-10-03 Eli Zaretskii + + Define HAVE_NATIVE_COMP in src/Makefile.in + + * src/Makefile.in (HAVE_NATIVE_COMP): Define. Reported by Ken + Brown . + +2021-10-03 João Távora + + Rename elisp-shorthands to read-symbol-shorthands + + The new name fits better in the family of variables that affect + the Lisp reader. + + Suggested-by: Po Lu + + * doc/lispref/symbols.texi (Shorthands): Mention read-symbol-shorthands + + * lisp/shorthands.el (hack-read-symbol-shorthands) + (hack-read-symbol-shorthands) + (shorthands-font-lock-shorthands): Use read-symbol-shorthands + + * lisp/progmodes/elisp-mode.el (elisp--completion-local-symbols) + (elisp--completion-local-symbols) + (elisp-shorthands): Use read-symbol-shorthands + + * src/lread.c: + (syms_of_lread): Define Vread_symbol_shorthands + (oblookup_considering_shorthand): Use Vread_symbol_shorthands. + + * test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer): + (elisp-shorthand-read-from-string): Use read-symbol-shorthands + + * test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el + Use new symbol name read-symbol-shorthands. + +2021-10-03 João Távora + + Font-lock shorthands in elisp-mode for quick visual recognition (bug#50959) + + Only the shorthanded prefix is font-locked. This allows the remainder + of the font-lock logic to subsist (e.g. for macro-defining symbols). + + * lisp/shorthands.el (cl-lib): Require it when compiling. + (elisp-shorthand-font-lock-face): New face. + (shorthands--mismatch-from-end): New helper. + (shorthands-font-lock-shorthands): New helper. + + * test/lisp/progmodes/elisp-mode-resources/simple-shorthand-test.el: + Add some dummy test code. + +2021-10-03 Michael Albinus + + Suppress superfluous error messages in Tramp + + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-insert-file-contents): + * lisp/net/tramp.el (tramp-handle-insert-file-contents) + (tramp-handle-lock-file): Suppress superfluous error message. + +2021-10-03 Eli Zaretskii + + Fix reading the tail of a file in shorthands.el + + * lisp/shorthands.el (hack-elisp-shorthands): Fix reading past + 3000-character limit from EOF. (Bug#50946) + +2021-10-03 Lars Ingebrigtsen + + Fix substitution of pretty quotes in code in easy-mmode + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Adjust. + (easy-mmode--mode-docstring): Avoid making quotes into pretty + quotes in code (bug#50968). + +2021-10-03 Lars Ingebrigtsen + + Fix agent directory deletion + + * lisp/gnus/gnus-agent.el (gnus-agent-expire-unagentized-dirs): + Delete directories in a simpler way that actually works (bug#50986). + +2021-10-03 Stefan Kangas + + Clarify the purpose of internal--format-docstring-line + + * test/lisp/subr-tests.el (subr-test-internal--format-docstring-line): + * lisp/subr.el (internal--format-docstring-line): Make it more clear + that this function is not intended for the first line of a docstring. + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add comment explaining + why we use 'internal--format-docstring-line'. + Problem pointed out by Stefan Monnier . + +2021-10-02 Juri Linkov + + * lisp/net/dictionary.el (context-menu-dictionary): Move menu item down. + + Place the dictionary menu item after middle-separator (bug#50552). + +2021-10-02 Kyle Meyer + + Update to Org 9.5-30-g10dc9d + + The plan is to cut the Org 9.5.1 release and include it in Emacs 28.1, + but in the meantime regularly sync changes from Org's bugfix branch to + emacs-28. + + This sync includes files from Org 9.5's new etc/csl/ directory that + should have been synced in bf9ec3d91a (Update to Org 9.5, 2021-09-29). + +2021-10-02 Glenn Morris + + Remove bogus ":safe t" custom properties + + * lisp/org/oc.el (org-cite-global-bibliography) + (org-cite-note-rules, org-cite-punctuation-marks): + * lisp/org/oc-csl.el (org-cite-csl-locales-dir) + (org-cite-csl-styles-dir, org-cite-csl-no-citelinks-backends): + * lisp/org/oc-natbib.el (org-cite-natbib-options): + * lisp/org/org-keys.el (org-mouse-1-follows-link): + Remove bogus ":safe t" properties that would largely need to be + replaced by custom predicates. + +2021-10-02 Eli Zaretskii + + Fix 'apropos-compact-layout' + + * lisp/textmodes/fill.el (fill-region-as-paragraph): Fix filling + paragraphs that end at EOB without a newline. (Bug#50974) + +2021-10-02 Glenn Morris + + Remove bogus ":safe nil" custom properties + + * lisp/org/oc.el (org-cite-activate-processor) + (org-cite-export-processors, org-cite-follow-processor) + (org-cite-insert-processor): + * lisp/org/ol.el (org-link-parameters, org-link-frame-setup) + (org-link-shell-confirm-function) + (org-link-shell-skip-confirm-regexp) + (org-link-elisp-confirm-function) + (org-link-elisp-skip-confirm-regexp): + * lisp/org/org-num.el (org-num-format-function): + Remove bogus ":safe nil" that do nothing but propagate a + misunderstanding of the safe-local-variable property. + +2021-10-02 Glenn Morris + + The safe-local-variable property is a function (bug#50944) + + * lisp/org/oc-basic.el (org-cite-basic-sorting-field) + (org-cite-basic-author-year-separator) + (org-cite-basic-max-key-distance) + (org-cite-basic-author-column-end) + (org-cite-basic-column-separator) + (org-cite-basic-mouse-over-key-face): + * lisp/org/oc-biblatex.el (org-cite-biblatex-options): + * lisp/org/oc-csl.el (org-cite-csl-link-cites) + (org-cite-csl-html-hanging-indent) + (org-cite-csl-html-label-width-per-char) + (org-cite-csl-latex-hanging-indent): + * lisp/org/oc.el (org-cite-adjust-note-numbers): + * lisp/org/org-keys.el (org-return-follows-link): + * lisp/org/org.el (org-fontify-todo-headline): + * lisp/org/ox-html.el (org-html-equation-reference-format) + (org-html-wrap-src-lines): + * lisp/org/ox-latex.el (org-latex-reference-command) + (org-latex-default-quote-environment): + * lisp/textmodes/tildify.el (tildify-pattern) + (tildify-space-string): Fix :safe property. + +2021-10-02 Stefan Kangas + + Revert "; * etc/TODO: Move elpa.gnu.org items to the end." + + This reverts commit d73f0e96a7026808c01861f7525a2909279fc00d. + + These items are a priority for the project and should be before other, + less prioritized items, according to a private discussion with project + co-maintainer Eli Zaretskii . + +2021-10-02 Stefan Kangas + + Revert "* etc/TODO: Rearrange to start with "Simple tasks"." + + This reverts commit 879ef5b19ab1dd90284aef829ef306d56b4e5adb. + + Some of these items are a priority for the project and should be + before other, less prioritized items, according to a private + discussion with project co-maintainer Eli Zaretskii . + +2021-10-02 Eli Zaretskii + + Fix selection of fonts for Arabic on Posix platforms + + * lisp/international/fontset.el (script-representative-chars): Add + U+06C1 to representative-characters for Arabic. (Bug#50951) + +2021-10-02 Lars Ingebrigtsen + + Fix ox-koma-letter compilation warnings + + * lisp/org/ox-koma-letter.el (org-koma-letter-export-block) + (org-koma-letter-export-snippet): Fix warning about two unused + parameter. + +2021-10-02 Eli Zaretskii + + Preload paren.el + + * lisp/Makefile.in (COMPILE_FIRST): Add the dependencies of + comp.el, so that they are natively-compiled in advance. + * lisp/loadup.el ("paren"): Preload paren.el. (Bug#50934) + +2021-10-02 Eli Zaretskii + + Improve documentation of 'shift-select-mode' + + * doc/emacs/mark.texi (Shift Selection): Document the 'permanent' + value of 'shift-select-mode'. Add index entry for that variable. + (Bug#50954) + + * etc/NEWS: Update the entry for 'shift-select-mode'. + +2021-10-02 João Távora + + Simplify shorthand injection (bug#50946) + + * lisp/loadup.el: Load "shorthands" relatively late. Set + load-source-file-function to load-with-shorthands-and-code-conversion + + * lisp/international/mule.el (hack-elisp-shorthands) + (load-with-shorthands-and-code-conversion): Move to + lisp/shorthands.el + + * lisp/shorthands.el: New file. + +2021-10-01 Glenn Morris + + * doc/lispref/control.texi (pcase Macro): Fix cross-reference. + +2021-10-01 Glenn Morris + + Fix some custom types + + * lisp/mpc.el (mpc-cover-image-re): + * lisp/org/oc-csl.el (org-cite-csl-locales-dir) + (org-cite-csl-styles-dir): + * lisp/org/org-plot.el (org-plot/preset-plot-types): Fix :type. + +2021-10-01 Stefan Kangas + + * etc/TODO: Add interactive mode tagging. + + * etc/TODO: Rearrange to start with "Simple tasks". + + * etc/TODO: Remove outdated item. (Bug#50904) + +2021-10-01 Stefan Kangas + + Rename arguments of ERC's '/whois' and simplify doc string + + * lisp/erc/erc.el (erc-cmd-WHOIS): Rename arguments and reword the doc + string to further clarify and simplify. + +2021-09-30 Dmitry Gutov + + Migrate Xref off EIEIO + + To improve performance and flexibility (bug#50777). + + * lisp/progmodes/xref.el (xref-location): Remove. + (xref-file-location): Change to cl-struct. + (xref-buffer-location, xref-bogus-location): Ditto. + (xref-item, xref-match-item): Same. + And update all method definitions accordingly. + (xref--insert-xrefs): Don't use 'oref', use 'xref-item-location'. + (xref--insert-xrefs, xref-show-definitions-completing-read): + Insetad of 'with-slots', use 'xref-item-summary' and + 'xref-item-location'. + + * lisp/progmodes/etags.el (xref-etags-location): + Change from EIEIO class into a cl-struct. + (xref-etags-apropos-location): Ditto. + Update all method definitions. + + * test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run): + Avoid using 'oref'. + +2021-09-30 Eli Zaretskii + + * admin/release-branch.txt: New file. + + * lisp/dired.el (dired-omit-mode): Declare, to avoid compiler warning. + +2021-09-30 Eli Zaretskii + + Cut the emacs-28 release branch + + * README: + * configure.ac: + * nt/README.W32: + * msdos/sed2v2.inp: Bump Emacs version to 28.0.60. + + * lisp/cus-edit.el (customize-changed-options-previous-release): + Update the last released version of Emacs. + +2021-09-30 Nikolay Kudryavtsev + + Make checkdoc's docstring substitution consistent with other docs + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + In error text, say "mapvar" instead of "keymap", and "command" + instead of "function", to be consistent with the ELisp manual. + (Bug#50903) + +2021-09-30 Mattias Engdegård + + Fix regexp snags in org + + * lisp/org/org-element.el (org-element-citation-key-re): + * lisp/org/ox-org.el (org-org-identity): + Remove repeated chars in alternatives. + * lisp/org/ob-java.el (org-babel-execute:java): + Remove superfluous backslash. + * lisp/org/ob-java.el (org-babel-java--main-re) + (org-babel-java--any-method-re): Remove (0+ space) expressions + subsumed by adjacent expressions. + +2021-09-30 Mattias Engdegård + + org-element: use correct function + + * lisp/org/org-element.el (org-element-headline-parser): + Pretty sure this one should be `skip-chars-backward`, not + `skip-syntax-backward`, since \t isn't a valid syntax code. + +2021-09-30 Mattias Engdegård + + Revert "Indent bodies of local function definitions properly in elisp-mode" + + This reverts commit 38037e04cb05cb1f2b604f0b1602d36b0bcf6985. + +2021-09-30 Mattias Engdegård + + Revert "Fix regressions in cl-flet indentation" + + This reverts commit c42af5aee74f310bdcd63aac96b1c02ec07a1c50. + +2021-09-30 Philip Kaludercic + + Add rcirc-omit-unless-requested option + + * doc/misc/rcirc.texi (Notices): Update documentation + * lisp/net/rcirc.el (rcirc-pending-requests): Add local variable + (rcirc-omit-unless-requested): Add user option + (rcirc-print): Respect rcirc-omit-unless-requested + (rcirc-define-command): Update rcirc-pending-requests + +2021-09-30 Stefan Monnier + + * lisp/org/ob-julia.el: Use lexical-binding + + (ess-eval-visibly-p): Declare. + (org-babel-julia-assign-elisp): Remove unused vars `header` and + `row-names` and corespondingly remove now unused args `colnames-p` and + `rownames-p`. + (org-babel-variable-assignments:julia): Adjust call to + `org-babel-julia-assign-elisp` accordingly. + (org-babel-julia-initiate-session): Use `bound-and-true-p`. + (org-babel-julia-evaluate-external-process) + (org-babel-julia-evaluate-session, org-babel-julia-evaluate): + Remove unused arg `row-names-p`. + (org-babel-execute:julia): Adjust call to + `org-babel-julia-evaluate` accordingly. + +2021-09-30 Stefan Monnier + + * lisp/org/ox-koma-letter.el: Use lexical-binding + + And remove redundant `:group` args. + +2021-09-30 Eli Zaretskii + + Fix a recent change of 'undo-redo' binding + + * lisp/bindings.el (global-map): Fix the binding of 'undo-redo'. + (Bug#50911) + +2021-09-30 Eli Zaretskii + + Merge Org 9.5 from branch 'origin/scratch/org-sync'. + +2021-09-30 Lars Ingebrigtsen + + Fix previous `newline' patch + + * lisp/simple.el (newline): Signal an error earlier to avoid + peculiar behaviour after getting a backtrace (bug#50900). + +2021-09-30 Lars Ingebrigtsen + + Make `newline' check the argument earlier + + * lisp/simple.el (newline): Signal an error earlier to avoid + peculiar behaviour after getting a backtrace (bug#50900). + +2021-09-30 akater + + Fix regressions in cl-flet indentation + + * lisp/emacs-lisp/lisp-mode.el (lisp--local-defform-body-p): + Rename (from -p-less form) and fix indentation regression + introduced by 38037e04cb05cb1f2b604f0b1602d36b0bcf6985 + (bug#9622). Also add cl-macrolet cl-flet* cl-symbol-macrolet. + +2021-09-30 dickmao + + Fix bootstrap after recent undo-redo change + + * lisp/bindings.el (global-map): Don't use `kbd' here -- it breaks + bootstrap (bug#50911). + +2021-09-30 Kyle Meyer + + * etc/NEWS: Announce Org update. + + Update to Org 9.5 + +2021-09-30 Amin Bandali + + Add new '/wii' convenience ERC command + + * etc/NEWS: Announce the addition of the command. + * lisp/erc/erc.el (erc-cmd-WII): Add '/wii' convenience command which + calls the '/whois' command with the given nick as both arguments, + which is useful for displaying the whois information for the nick + along with idle time, even if the nick is on a different server than + the one we are currently connected to. + +2021-09-30 Amin Bandali + + Restore the previous order of ERC's '/whois' arguments + + * etc/NEWS: Remove unneeded entry. + * lisp/erc/erc.el (erc-cmd-WHOIS): Restore the previous order of + arguments sent to the server, so that there's no change in the + function's behavior. Instead, rename the arguments to be more + accurate, and expand upon them in the doc string. + +2021-09-30 Stefan Kangas + + New command mpc-goto-playing-song + + * lisp/mpc.el (mpc-goto-playing-song): New command to go to the + currently playing song. + (mpc-mode-map): Bind it to "o". + +2021-09-29 Stefan Kangas + + * lisp/linum.el: Recommend `display-line-numbers-mode'. + +2021-09-29 Dmitry Gutov + + Add bindings for 'undo-redo' + + * etc/NEWS: Describe the change. + + * lisp/bindings.el (global-map): Add bindings for 'undo-redo'. + + * lisp/simple.el (undo-no-redo): Turn into a user option. + +2021-09-29 Juri Linkov + + * lisp/tab-bar.el (tab-bar-move-tab-to-frame): Delete frame with last tab. + +2021-09-29 Adam Porter + + * lisp/tab-bar.el: (tab-bar-detach-tab) New command + + (tab-bar-detach-tab): New command. + (tab-bar-mouse-context-menu): Add menu entry. + + With thanks to Matt Beshara for his feedback. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg02141.html + +2021-09-29 Lars Ingebrigtsen + + Tweak previous message-newline-and-reformat change + + * lisp/gnus/message.el (message-newline-and-reformat): Only search + for previous/next cited lines that have space, because it's the + space we're trying to find. + +2021-09-29 Lars Ingebrigtsen + + Cross reference `dired-do-revert-buffer' + + * lisp/dired-aux.el (dired-do-copy): + (dired-do-symlink): + (dired-do-hardlink): + (dired-do-rename): Mention `dired-do-revert-buffer'. + +2021-09-29 Lars Ingebrigtsen + + Do some NEWS taggin + +2021-09-29 Stefan Kangas + + * etc/TODO: Delete ImageMagick items. (Bug#50891) + +2021-09-29 Lars Ingebrigtsen + + Make `M-q' in message-mode work better + + * lisp/gnus/message.el (message-newline-and-reformat): Fix + bug#43299 differently. + (message-newline-and-reformat): Revert change for bug#43299. This + fixes bug#50842. + +2021-09-29 Stefan Kangas + + Force volume to an integer divisible by mpc-volume-step + + * lisp/mpc.el (mpc-volume-mouse-set): Force volume to an integer + divisible by 'mpc-volume-step'. + (mpc-volume-step): Add docstring. + +2021-09-29 Lars Ingebrigtsen + + Signal an error in `search-forward-help-for-help' + + * lisp/help.el (search-forward-help-for-help): Error out instead + of showing an empty buffer (bug#50881). + +2021-09-29 Lars Ingebrigtsen + + Add a comment about bug#50877 for gnus-set-difference + +2021-09-29 Lars Ingebrigtsen + + Revert "Obsolete local set difference functions in favor of seq-difference" + + This reverts commit 20f7fa691b7c2859b96550d9ccb326bf394e160d. + + gnus-set-difference is orders of magnitude faster than seq-difference + (on these sets), and using seq-difference makes nnimap too + slow. + +2021-09-29 Michael Albinus + + * test/Makefile.in (WRITE_LOG): Add emacs-module-tests as problematic. + +2021-09-29 Protesilaos Stavrou + + Update modus-themes to version 1.6.0 + + * doc/misc/modus-themes.org (Customization Options): Document new user + options in code sample. + (Option for inhibiting theme reload): Remove trailing space. + (Option for mode line presentation): Include new possible value. + (Option for Org agenda constructs): Include new symbols for the + 'modus-themes-org-agenda' alist. + (Control the scale of headings): Document 'modus-themes-scale-small'. + (Override color saturation (DIY)): Fix markup for proper texi output. + (Custom Org user faces (DIY)): Update code samples. + (Full support for packages or face groups): Note names of newly + supported packages or face groups. + (Indirectly covered packages): Document indirectly supported packages. + (Note on highlight-parentheses.el): Provide detailed instructions on + how to use 'highlight-parentheses' with the Modus themes. + (Note on prism.el): Refine code samples. + (What is the best setup for legibility?): Minor rewording. + (Sources of the themes): Mention only Emacs28 without explaining that + it is the development target---in preparation of the emacs-28 branch + cut. + (Acknowledgements): Name new contributors to code/ideas. Stephen + Gildea's patch was a couple lines long. The others have assigned + copyright to the FSF. + (Meta): Include another link to the development notes of the themes + about 'modus-themes-org-agenda'. + + * etc/themes/modus-operandi-theme.el, + etc/themes/modus-vivendi-theme.el: Bump file version. + + * etc/themes/modus-themes.el (modus-themes-operandi-colors) + (modus-themes-vivendi-colors): Recalibrate some colour values and add + a few new ones. + (modus-themes-slanted-constructs): Remove obsolete user option. + Superseded by the alias 'modus-themes-italic-constructs'. + (modus-themes-org-agenda, modus-themes-mode-line): Update user option. + (modus-themes-scale-headings, modus-themes-scale-4): Update doc + string. + (modus-themes-scale-5): Remove obsolete user option. Superseded by + the alias 'modus-themes-scale-title'. + (modus-themes-scale-small, modus-themes-tabs-accented): Add new user + option. + (modus-themes--agenda-date, modus-themes--mode-line-attrs) + (modus-themes--tab): Update internal functions. + (modus-themes-faces): Update variousface attributes. + + Detailed change log here: + . + +2021-09-29 Philip Kaludercic + + Remove rcirc-omit-responses-after-join option + + The implementation does not work as expected and behaves + unpredictably. + + * rcirc.el (rcirc-omit-responses-after-join): Remove option + (rcirc-joined): Remove variable + (rcirc-reconnect): Remove rcirc-joined code + (rcirc-get-buffer-create): Remove rcirc-joined code + (rcirc-print): Remove rcirc-omit-responses-after-join check + * doc/misc/rcirc.texi (Notices): Remove documentation + * etc/NEWS: Remove mention + +2021-09-29 Stefan Kangas + + New user option mpc-cover-image-re + + * lisp/mpc.el (mpc-cover-image-re): New user option. + (mpc-format): Find cover image based on regexp given by above new user + option. Treat "folder.png" as a valid cover image name. + +2021-09-29 Martin Rudalics + + Fix 'window-toggle-side-windows' (Bug#50867) + + * lisp/window.el (window-toggle-side-windows): Bind + 'window-combination-resize' to t around 'window-state-put' + calls (Bug#50867). + +2021-09-29 Michael Albinus + + Some inmprovements in emba CI files + + * test/infra/Dockerfile.emba: Remove superfluous "make -j4". + + * test/infra/gitlab-ci.yml (.test-template): Add 'allow_failure' clause. + (test-all-inotify): Add 'needs' clause. + +2021-09-29 Juri Linkov + + * lisp/net/dictionary.el (context-menu-dictionary): Add autoload cookie. + + (context-menu-functions): Remove context-menu-dictionary from hook (bug#50552) + +2021-09-29 Lars Ingebrigtsen + + Tweak the whitespace before "This is a generic function" + + * lisp/emacs-lisp/cl-generic.el (cl--generic-describe): Make the + number of blank lines before this section consistent (whether + there's an indented section before it or not). + +2021-09-29 Lars Ingebrigtsen + + Improve the max-specpdl-size doc string + + * src/eval.c (syms_of_eval): Mention what "specpdl" means. + +2021-09-29 Amin Bandali + + Switch the order of ERC's '/whois' arguments sent to the server + + * lisp/erc/erc.el (erc-cmd-WHOIS): Switch the order of 'server' and + 'user' arguments sent to the server. Per RFC 1459 and RFC 2812, the + optional 'server' argument command comes before the 'user' argument, + not after. While at it, update the doc string to explain why one may + want to specify the 'server' argument. + * etc/NEWS: Announce the change. + +2021-09-29 Stefan Kangas + + * lisp/mpc.el (mpc-format): Fix printing after last format spec. + +2021-09-29 Amin Bandali + + Unobsolete erc-compat.el + + * lisp/obsolete/erc-compat.el: Move from here... + * lisp/erc/erc-compat.el: ...back to here. ERC will soon be added to + GNU ELPA, and erc-compat.el will be used to provide compatibility + functions and/or variables for using ERC on older Emacsen. + * etc/NEWS: Remove the previously added obsoletion news item. + +2021-09-29 Stefan Kangas + + * etc/NEWS: Announce Eshell bookmarks. + +2021-09-29 Stefan Kangas + + Add bookmark.el support to eww + + * lisp/net/eww.el (eww-bookmark-name, eww-bookmark-make-record) + (eww-bookmark-jump): New defuns. + (eww-mode): Set up bookmark handler. + +2021-09-29 Dmitry Gutov + + Enable show-paren-mode by default + + * etc/NEWS (https): Mention the change. + + * lisp/paren.el (show-paren-mode): + Enable by default, as discussed on emacs-devel. + +2021-09-29 Stefan Kangas + + * lisp/net/eww.el (eww-mode): Show keybindings in docstring. + +2021-09-28 Juri Linkov + + * lisp/mouse.el (context-menu-map): Fix when menu is a command (bug#50851) + + * lisp/help.el (help--analyze-key): Get information at the position + of mouse click such as 'C-h k' on a context menu item (bug#50067). + +2021-09-28 Stefan Kangas + + Add shortdoc for text properties + + * lisp/emacs-lisp/shortdoc.el (text-properties): New shortdoc. + + e for your changes. Lines starting + +2021-09-28 Stefan Kangas + + Mention describe-symbol in cl-defstruct docstring + + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Mention 'describe-symbol' + in docstring. + +2021-09-28 Stefan Kangas + + Mention cl-describe-type in cl-defstruct docstring + + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Mention + 'cl-describe-type' in docstring. + +2021-09-28 Stefan Monnier + + * lisp/emacs-lisp/map.el: Restore compatibility with Emacs-26 + + Don't use the new `eql` syntax. + +2021-09-28 Michael Albinus + + Adapt tramp-tests.el for macOS + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Adapt for macOS. + +2021-09-28 Stefan Kangas + + * doc/man/emacs.1.in: Add --no-x-resources. (Bug#50855) + +2021-09-28 Stefan Kangas + + Improve coding conventions for error messages + + * doc/lispref/tips.texi (Programming Tips): Clarify coding + conventions for error messages to say that an error message can + start with a Lisp symbol. (Bug#50658) + +2021-09-28 Stefan Kangas + + Improve docstrings of ert-resource-{directory,file} + + * lisp/emacs-lisp/ert-x.el (ert-resource-directory) + (ert-resource-file): Improve docstrings. + +2021-09-28 Stefan Kangas + + Signal error on newline in internal--format-docstring-line + + * lisp/subr.el (internal--format-docstring-line): Signal error + when trying to fill a line containing a newline. + + * lisp/cedet/semantic/decorate/mode.el + (define-semantic-decoration-style): + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Don't pass newlines to 'internal--format-docstring-line'. + +2021-09-28 Eli Zaretskii + + Make the build of source tarball produce *.eln files + + * lisp/emacs-lisp/comp.el (batch-native-compile): Accept an + optional argument; if non-nil, place the .eln file as appropriate + for building a source tarball. + + * doc/lispref/compile.texi (Native-Compilation Functions): + Document the new optional argument of 'batch-native-compile'. + + * lisp/Makefile.in (.PHONY, $(THEFILE)n) [HAVE_NATIVE_COMP]: New + targets. + + * src/Makefile.in (%.eln) [HAVE_NATIVE_COMP]: New recipe. + (all) [HAVE_NATIVE_COMP]: Add ../native-lisp to prerequisites. + (elnlisp) [HAVE_NATIVE_COMP]: New list of *.eln files. + (../native-lisp) [HAVE_NATIVE_COMP]: New recipe. + + * src/verbose.mk.in (AM_V_ELN): New macro. + +2021-09-28 Lars Ingebrigtsen + + Adjust ispell-look-command type + + * lisp/textmodes/ispell.el (ispell-look-command): Adjust :type + after previous change. + +2021-09-28 André A. Gomes + + Fix search of the look program + + * lisp/textmodes/ispell.el (ispell-look-command): Fix logic + concerning the existence of the look program (bug#50852) -- search + through the executable path. + (ispell-look-p): Adjust logic. + +2021-09-28 Lars Ingebrigtsen + + Use ert-resource-file in the shorthand tests + + Also move to the standard directory naming. + +2021-09-28 Stefan Kangas + + checkdoc: Allow Lisp symbols to start a message + + * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): Allow + Lisp symbols to start a message. + (checkdoc--error-bad-format-p): New helper function. + + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-test-error-format-is-good) + (checkdoc-test-error-format-is-bad): New helper functions. + (checkdoc-tests-error-message-bad-format-p) + (checkdoc-tests-error-message-bad-format-p/defined-symbols) + (checkdoc-tests-error-message-bad-format-p/not-capitalized): + New tests. + +2021-09-27 Ken Brown + + Make .eln files executable on Cygwin + + * Makefile.in (INSTALL_ELN): New variable, equal to $(INSTALL) on + Cygwin and $(INSTALL_DATA) on other platforms. + (install-eln): Use INSTALL_ELN instead of INSTALL_DATA. + (Bug#50818) + +2021-09-27 Michael Albinus + + Simplify `file-notify--rm-descriptor' + + * lisp/filenotify.el (file-notify--rm-descriptor): + Use `file-notify-handle-event'. + +2021-09-27 Juri Linkov + + * lisp/mouse.el (context-menu-region): Check for nil for char-after at eobp. + +2021-09-27 Mattias Engdegård + + * lisp/progmodes/flymake.el (flymake-menu): Don't use obsolete name. + +2021-09-27 Alan Third + + Fix GNUstep build failure + + * src/nsfns.m (Fns_hide_emacs): NSRunningApplication is only available + in GNUstep 0.27 and above. + +2021-09-27 Robert Pluim + + Document 'glyphless-char-display-control' changes + + * etc/NEWS: Document 'glyphless-char-display-control' changes for + Variation Selectors. + +2021-09-27 Robert Pluim + + Try to be consistent about user options in NEWS + + * etc/NEWS: Try to be consistent about calling 'user options' that + instead of 'variables'. + +2021-09-27 Alan Third + + Fix resizing glitches in NS port (bug#50413) + + * src/nsterm.m ([EmacsView resizeWithOldSuperviewSize:]): Use the + superview's size instead of trusting the view's size. + +2021-09-27 Alan Third + + Attempt to debug a graphical glitch on macOS + + * src/nsterm.m (ns_scroll_run): + (ns_shift_glyphs_for_insert): Switch to using NSPoint for destination. + ([EmacsView copyRect:to:]): Use NSPoint for the destination, always + use the view's layer, and log any questionable copy requests. + +2021-09-27 Alan Third + + Fix NS toolbar again (bug#50534) + + * src/nsmenu.m (free_frame_tool_bar): Remove toolbar. + (update_frame_tool_bar_1): New function. + (update_frame_tool_bar): Move most of the functionality to + update_frame_tool_bar_1. + * src/nsterm.h: Definitions of functions and methods. + * src/nsterm.m (ns_update_begin): + ([EmacsView windowDidEnterFullScreen]): + ([EmacsView windowDidExitFullScreen]): We no longer need to reset the + toolbar visibility as that's done when we create the new fullscreen + window. + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Move the check + for undecorated frames into createToolbar:. + ([EmacsWindow createToolbar:]): Check whether a toolbar should be + created, and run the toolbar update immediately. + +2021-09-27 Stefan Kangas + + Fix automatic filling of docstring in cl-defstruct + + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix bug where a paragraph + was filled as if it were a single line, which led to garbled + output in the docstring. (Bug#50839) + + * test/lisp/subr-tests.el + (subr-test-internal--format-docstring-line): New test. + +2021-09-27 Eli Zaretskii + + Minor fix in 'w32-find-non-USB-fonts' + + * lisp/term/w32-win.el (w32--filter-USB-scripts): Handle + representative characters given as a vector, not a list. + +2021-09-27 João Távora + + * etc/NEWS (Shorthands for Lisp symbols): Reword. + +2021-09-27 Robert Pluim + + Enhance font_range to check for emoji composition triggers + + If the codepoint that triggered composition is from the emoji script, + use the emoji font to check the string being composed, rather than the + font of the first character of the string. This makes e.g. + + "emoji codepoint with Emoji_Presentation = No followed by VS-16 (FE0F)" + + display the emoji version of the glyph for that codepoint. + + * admin/unidata/blocks.awk: Add VS-1 through VS-16 to the emoji + script. + * src/composite.c (autocmp_chars): Accept additional argument CH for + the codepoint that triggered composition, pass it to font_range. + (composition_reseat_it, find_automatic_composition): Pass codepoint + that triggered composition to autocmp_chars. + * src/font.c (font_range): Accept additional argument CH for the + triggering codepoint. If the codepoint is from the 'emoji' script, + use Vscript_representative_chars to find the font to use for the + composition attempt. + (syms_of_font): Add Qemoji symbol. + * src/font.h: Update font_range prototype for argument CH. + * etc/NEWS: Announce change. + +2021-09-27 Lars Ingebrigtsen + + Fix checkdoc-related test failure + + Fix two doc-related test failures + +2021-09-27 Michael Albinus + + Optimize emba builds + + * test/infra/Dockerfile.emba (emacs-base): Install also + libdbus-1-dev and libacl1-dev. + + * test/infra/gitlab-ci.yml (prep-image-base): Comment out. This + stage is activated by default in Dockerfile.emba. + +2021-09-27 Eli Zaretskii + + Minor stylistic fixes of shorthand code in C + + * src/lread.c (oblookup_considering_shorthand): Now static. Move + prototype to where it belongs. + (read1, Fintern, Fintern_soft, Funintern) + (oblookup_considering_shorthand, syms_of_lread): Fix style of + braces and indentation, comments, and doc strings. + +2021-09-27 Eli Zaretskii + + Minor fixes of Lisp doc strings for shorthands feature + + * lisp/progmodes/elisp-mode.el (obarray-cache) + (elisp--completion-local-symbols): + * lisp/international/mule.el (hack-elisp-shorthands) + (load-with-shorthands-and-code-conversion): Doc string fixes. + +2021-09-27 Eli Zaretskii + + Minor fixes in documentation of shorthands + + * etc/NEWS: + * doc/lispref/symbols.texi (Symbol Components, Creating Symbols) + (Shorthands): Improve wording, fix indexing and typos. + +2021-09-27 Lars Ingebrigtsen + + Make comint understand the ccrypt password phrases + + * lisp/comint.el (comint-password-prompt-regexp): Add the ccrypt + confirmation phrase (bug#50837). + + * lisp/international/mule-conf.el (password-word-equivalents): Add + the ccrypt phrases. + +2021-09-27 Lars Ingebrigtsen + + Add "passwd" (change password) prompt to comint + + * lisp/comint.el (comint-password-prompt-regexp): Add "passwd" (to + change the password) first promp in Debian bullseye. + +2021-09-27 Lars Ingebrigtsen + + Note that the Packaging sub-nodes are mostly for maintainers + + * doc/lispref/package.texi (Packaging): Note that the information + is mostly for ELPA maintainers (bug#50825). + +2021-09-27 dickmao + + Get a `package-test-signed` to work again + + The test signing key succumbed to either expiration or bitrot. + I hope I didn't just publish my secret key to the world. + + * test/lisp/emacs-lisp/package-resources/key.pub: Refresh. + * test/lisp/emacs-lisp/package-resources/key.sec: Refresh. + +2021-09-27 Lars Ingebrigtsen + + Move test-cl-flet-indentation to the right file + +2021-09-27 Lars Ingebrigtsen + + Improve describe-char buffer extremely slightly + + * lisp/descr-text.el (describe-char): Add a colon to further + signify that we're talking about the following line (bug#50795). + +2021-09-27 João Távora + + Document shorthands in the Elisp manual section on Symbols + + * doc/lispref/symbols.texi (Symbol Components): Mentione "Shorthands". + (Creating Symbols): Mention shorthands. Correct references to Common + Lisp. + (Shorthands): New section. + + * etc/NEWS (Shorthands): New entry. + +2021-09-27 João Távora + + Add #_ reader macro to escape shorthand renaming + + * src/lread.c (read1): Add skip_shorthand variable. Add a '#_' + case. If skip_shorthand call oblookup instead of + oblookup_considering_shorthand. + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-shorthand-escape): New test. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el + (#_f-test4---): New fixture function. + +2021-09-27 João Távora + + Consider shorthands in Elisp's elisp-completion-at-point + + Instead of referencing obarray directly, that function has to consider + a collection of completions which includes the shorthand versions of + some of the symbols. That collection changes from buffer to buffer, + depending on the choice of elisp-shorthands. + + To make this process efficient, and avoid needless recalculation of + the above collection, a new obarray-specific cache was invented. The + Elisp variable obarray-cache is immediately nullified if something + touches the obarray. + + * lisp/progmodes/elisp-mode.el : New helper. + (elisp-completion-at-point): Use new helpers. + (elisp--completion-local-symbols) + (elisp--fboundp-considering-shorthands) + (elisp--bboundp-considering-shorthands): New helpers + + * src/lread.c (intern_driver): Nullify Qobarray_cache. + (syms_of_lread): Add Qobarray_cache. + + * test/lisp/progmodes/elisp-mode-tests.el + (elisp-shorthand-completion-at-point): New test. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el + (f-test-complete-me): New fixture. + +2021-09-27 João Távora + + Rework Elisp shorthands to only allow only prefix substitution + + This simplification in requirements makes for more complex C code but + that code is much less wasteful in Lisp strings than the previous + implementation. + + * src/lread.c (read1): Rework. + (Fintern): Rework. + (Fintern_soft): Rework. + (Funintern): Rework. + (oblookup_considering_shorthand): Rewrite. + + * test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer) + (elisp-shorthand-read-from-string): Use new format of + elisp-shorthands. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el (f-test) + (f-test2, f-test3): Use new form of elisp-shorthands. + +2021-09-27 João Távora + + Move most of the shorthand implementation to C code + + It passes the tests designed for the previous Elisp implementation. + + Likely, this isn't the final form of the implementation. For one, the + reader is much slower and allocates a Lisp string for every atom read, + regardless if its already interned or not. This has the potential to + be catastrophic in terms of GC. + + Also rename the main variable to elisp-shorthands, from the + repetitive shorthand-shorthands. + + For some reason, I had to put 'hack-elisp-shorthands' and + 'load-with-shorthands-and-code-conversion', the new source-file + loading functions, in lisp/international/mule.el. + + Otherwise, lisp/loadup.el wouldn't see them, for some reason that I + didn't investigate. This should probably be fixed. + + * lisp/shorthand.el: Remove. + + * test/lisp/shorthand-tests.el: Remove. + + * src/lread.c: + (read1, Fintern, Fintern_soft, Funintern): Use + oblookup_considering_shorthand. + (oblookup_considering_shorthand): New helper. + (syms_of_lread): Declare elisp-shorthands. + + * lisp/progmodes/elisp-mode.el (elisp-shorthands): + Put a safe-local-variable spec. + + * test/lisp/progmodes/elisp-mode-tests.el (elisp-shorthand-read-buffer) + (elisp-shorthand-read-from-string) + (elisp-shorthand-byte-compile-a-file) + (elisp-shorthand-load-a-file): New tests. + + * test/lisp/progmodes/elisp-resources/simple-shorthand-test.el: New file + + * lisp/loadup.el (load-source-file-function): Set to + load-with-shorthands-and-code-conversion. + + * lisp/international/mule.el (hack-elisp-shorthands): Move here. + (load-with-shorthands-and-code-conversion): And here. + +2021-09-27 João Távora + + First Elisp version of lisp/shorthand.el, failing some tests + + * lisp/shorthand.el: New file + + * test/lisp/shorthand-tests.el: New file + +2021-09-26 Stefan Kangas + + Add 'doc-string' declaration to defcalcmodevar + + * lisp/calc/calc.el (defcalcmodevar): Add 'doc-string' declaration. + +2021-09-26 Stefan Kangas + + Move two incorrectly named test files + + * test/lisp/emacs-lisp/tabulated-list-test.el: Move from here... + * test/lisp/emacs-lisp/tabulated-list-tests.el: ...to here. + * test/lisp/url/url-handlers-test.el: Move from here... + * test/lisp/url/url-handlers-tests.el: ...to here. + +2021-09-26 Stefan Kangas + + checkdoc: Don't add "Commentary" header to test files + + * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): + Don't add "Commentary:" header if it looks like a test file. + +2021-09-26 Robert Pluim + + Add glyphless-char-display-control for Variation Selectors + + * lisp/international/characters.el (update-glyphless-char-display): + (glyphless-char-display-control): Add control knob for U+FE00 through + U+FE0F, defaulting to 'thin-space'. + * doc/lispref/display.texi (Glyphless Chars): Document it. + +2021-09-26 Stefan Kangas + + Explicitly make the rest of erc-compat.el obsolete + + * lisp/obsolete/erc-compat.el (erc-decode-coding-string) + (erc-encode-coding-string, erc-set-write-file-functions) + (erc-emacs-build-time, erc-replace-match-subexpression-in-string) + (erc-member-if, erc-delete-if, erc-remove-if-not, erc-subseq): + Explicitly declare obsolete. + (erc-define-minor-mode): Make into obsolete function alias for + 'define-minor-mode'. + (erc-user-emacs-directory): Make into obsolete variable alias for + 'user-emacs-directory'. + +2021-09-26 Stefan Kangas + + Add fast-path to ert--explain-string-equal + + * lisp/emacs-lisp/ert.el (ert--explain-string-equal): Add fast-path to + avoid doing extra work. + Problem reported by Mattias Engdegård . + +2021-09-26 Michael Albinus + + * test/infra/gitlab-ci.yml (variables): Set DOCKER_BUILDKIT. + +2021-09-26 Stefan Kangas + + Rename "Homepage" field to "Website" in package description + + * lisp/emacs-lisp/package.el (describe-package-1): Rename + "Homepage" field to "Website". + + * test/lisp/emacs-lisp/package-tests.el + (package-test-describe-package) + (package-test-describe-installed-multi-file-package) + (package-test-describe-non-installed-package) + (package-test-describe-non-installed-multi-file-package): Update tests. + +2021-09-26 Stefan Kangas + + Prefer https for other domains than gnu.org in package URL + + * lisp/emacs-lisp/package.el (describe-package-1): Prefer https for + some other common domains in the package URL. + +2021-09-26 Stefan Kangas + + Add test for lm-website + + * lisp/emacs-lisp/lisp-mnt.el (lm-website): Use rx. + * test/lisp/emacs-lisp/lisp-mnt-tests.el + (lm--tests-lm-website): New test. + +2021-09-26 Mattias Engdegård + + Rx documentation touch-ups (bug#46910) + + * doc/lispref/searching.texi (Rx Constructs, Rx Functions): + Add clarifications and improve naming of arguments. Add examples + illustrating the differences between `rx` and `rx-to-string`. + +2021-09-26 Stefan Kangas + + Warn about overly long docstring in lambda + + * lisp/emacs-lisp/bytecomp.el + (byte-compile-docstring-length-warn): Warn about overly long + docstring in lambda. (Bug#44858) + + (byte-compile--wide-docstring-p): Improve comment. + * test/lisp/emacs-lisp/bytecomp-tests.el + ("warn-wide-docstring-defun.el"): Update to test for the above new + warning. + +2021-09-26 Stefan Kangas + + Avoid warning about long docstring lines in defcustom + + * lisp/custom.el (defcustom): Avoid warning about long docstring + lines. This was caused by the value of the defcustom being treated as + docstring due to it being wrapped in a lambda. + +2021-09-26 Stefan Kangas + + Fill some auto-generated docstring lines + + * lisp/cedet/mode-local.el (define-mode-local-override): + * lisp/cedet/semantic/decorate/mode.el (define-semantic-decoration-style): + * lisp/cedet/semantic/idle.el (define-semantic-idle-service): + * lisp/emacs-lisp/derived.el (derived-mode-make-docstring): + * lisp/emacs-lisp/eieio.el (defclass): Fill auto-generated docstring + lines. + +2021-09-26 Stefan Kangas + + Avoid false positives in bytecomp docstring width warning + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + Ignore more function argument lists. + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-tests-byte-compile--wide-docstring-p): New test. + +2021-09-26 Stefan Kangas + + Improve filling of generated docstring lines + + * lisp/subr.el (internal--fill-string-single-line): Improve filling to + use full width. Fix bug where line was not wrapped correctly. + +2021-09-26 Stefan Kangas + + ert: Add basic explainer for string-equal + + * lisp/emacs-lisp/ert.el (ert--explain-string-equal): Add basic + explainer for 'string-equal' based on 'ert--explain-equal'. + +2021-09-26 Stefan Kangas + + Unbreak ert tests + + * test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-print) + (tabulated-list-sort): Update tests for recent change. + +2021-09-26 Stefan Kangas + + Doc fix: mode name in local variables needs no suffix + + * doc/emacs/custom.texi (Specifying File Variables): Clarify that a + mode name does not need the "-mode" suffix. (Bug#50801) + +2021-09-26 Stefan Kangas + + checkdoc: Library footer must match package.el requirement + + * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): + Don't accept footer format unless it matches the requirement in + package.el. + +2021-09-26 Michael Albinus + + Adapt Tramp's make-process for macOS. + + * lisp/net/tramp-sh.el (tramp-check-remote-uname): New defun. + (tramp-sh-handle-file-ownership-preserved-p) + (tramp-sh-handle-make-process, tramp-find-executable) + (tramp-find-shell, tramp-get-remote-stat): Use it. (Bug#50748) + + * test/lisp/net/tramp-tests.el (tramp-check-remote-uname): Declare. + (tramp-test29-start-file-process, tramp-test30-make-process): + Instrument for macOS. + (tramp--test-hpux-p): Adapt function. + (tramp--test-macos-p): New defun. + +2021-09-26 Lars Ingebrigtsen + + Expand the ` doc string slightly + + * lisp/emacs-lisp/backquote.el (backquote): Note that ` is used + for other things in some macros (bug#25462). + +2021-09-26 Lars Ingebrigtsen + + Fix rendering non-ASCII text with links + + * lisp/gnus/mm-view.el (mm-text-html-renderer-alist): Add a new + form for links. + (mm-links-remove-leading-blank): Make obsolete. + (mm-inline-wash-with-file): + (mm-inline-render-with-file): Make obsolete -- they were awkwardly + defined and only used with links. + (mm-inline-render-with-links): New function. + +2021-09-26 Lars Ingebrigtsen + + Add new macro with-environment-variables + + * doc/lispref/os.texi (System Environment): Document it. + + * lisp/env.el (with-environment-variables): New macro. + +2021-09-25 Stefan Kangas + + Revert "; Fix capitalization of F1..F12 keys in docs" + + This reverts commit fe5b20410f68546821e6c87577d7f826167491dc. + + This change was not correct; these are Lisp symbols that should be in + lower-case. Problem reported by Mattias Engdegård . + +2021-09-25 Stefan Kangas + + Revert part of previous doc fix + + * lisp/emacs-lisp/derived.el (define-derived-mode): Revert part of + previous doc fix. This change made the text confusing. (Bug#17567) + +2021-09-25 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab-to): Use ignore-window-parameters. + + Suggested by Adam Porter in + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01758.html + +2021-09-25 Adam Porter + + * lisp/tab-line.el: Add modified-buffer face + + (tab-line-tab-modified): New face. + (tab-line-tab-face-modified): New function. + (tab-line-tab-face-functions): Use new function. + + * etc/NEWS: Update. + +2021-09-25 Mattias Engdegård + + Fix byte-compiler crash for legal dynamic-binding code + + This should really be taken care of by a syntax normalisation step in + the frontend, but there is no such step for non-lexbind code yet. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Tolerate bindingsa + without initialising expressions. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test cases. + +2021-09-25 Mattias Engdegård + + Constant-propagate variables bound outside loops + + Previously, variables bound outside `while` loops were not substituted + inside even in the absense of mutation. Add the necessary mutation + checking inside loops to allow propagation of values and aliased + variables. + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize--inhibit-outside-loop-constprop): New variable. + (byte-optimize-form-code-walker): First traverse each loop without + substitution to discover mutation, then without restrictions. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-loop): New. + (bytecomp-tests--test-cases): Add test cases. + +2021-09-25 Mattias Engdegård + + Use ambient lexical-binding value in ert-deftest body (bug#50738) + + * lisp/emacs-lisp/ert.el (ert-deftest): + Evaluate the body of `ert-deftest` with the `lexical-binding` value of + the source file (or more precisely the value in force when the + definition is evaluated), which is what everyone expected, instead of + always using dynamic binding which is what they got until now. + * test/lisp/emacs-lisp/ert-tests.el + (ert-test-deftest-lexical-binding-t): New test. + +2021-09-25 Mattias Engdegård + + Renege on anonymous &rest (bug#50268, bug#50720) + + Allowing &rest without a variable name following turned out not to be + very useful, and it never worked properly. Disallow it. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): + * src/eval.c (funcall_lambda): + Signal error for &rest without variable name. + * doc/lispref/functions.texi (Argument List): Adjust manual. + * etc/NEWS (file): Announce. + * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): + Extend test, also checking with and without lexical binding. + (eval-tests-accept-empty-optional-rest): Reduce to... + (eval-tests-accept-empty-optional): ...this, again checking + with and without lexical binding. + +2021-09-25 Stefan Kangas + + Clarify define-derived-mode docstring + + * lisp/emacs-lisp/derived.el (define-derived-mode): Doc fixes; + correctly mention that the mode name is used in the mode line, clarify + argument types, and how the mode hook is named. (Bug17567) + + (derived-mode-hook-name, derived-mode-map-name) + (derived-mode-syntax-table-name, derived-mode-abbrev-table-name): + Clarify that argument is a symbol. + +2021-09-25 Philip Kaludercic + + Add myself as rcirc maintainer + + * rcirc.el (rcirc-sentinel): Use process-status + + * rcirc.texi (Using rcirc with bouncers): Remove confusing sentence + + * rcirc.el (rcirc-reconnect): Use rcirc-reconnect-delay + + * rcirc.el (rcirc-reconnect): Set rcirc-joined + +2021-09-25 Stefan Kangas + + * lisp/isearch.el (isearch-forward-regexp): Doc fix. (Bug22483) + +2021-09-25 Stefan Kangas + + Minor clarification of define-minor-mode :keymap argument + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Minor doc fix; + clarify by saying that ":keymap" should be an "unquoted variable + name". (Bug#25505) + +2021-09-25 Stefan Kangas + + Buttonize functions in curved quotes in ERC + + * lisp/erc/erc-button.el (erc-button-alist): Buttonize Emacs + functions in curved quotes. (Bug#49964) + +2021-09-25 Stefan Kangas + + Extend and improve ERT manual section on running interactively + + * doc/misc/ert.texi (Running Tests Interactively): Format commands in + a table, improve indexing, and add several missing + commands. (Bug#41829) + +2021-09-25 Stephen Gildea + + Update mh-scan regexp to match mh-note-allowlisted + + lisp/mh-e/mh-scan.el (mh-scan-good-msg-regexp, mh-scan-cmd-note-width): + Update to match new value ("A") of mh-note-allowlisted. + +2021-09-25 Lars Ingebrigtsen + + Document the new paren-space indentation rule + + * doc/emacs/programs.texi (Lisp Indent): Mention the new + paren-space indentation rule. + +2021-09-25 Lars Ingebrigtsen + + Some NEWS tagging + +2021-09-25 Lars Ingebrigtsen + + 'xref-search-program'-related doc string fixes + + * lisp/progmodes/xref.el (xref-search-program): Mention what this + variable controls. + (xref-matches-in-files): Mention the variables that controls it. + +2021-09-25 Lars Ingebrigtsen + + Document the 'string' thingatpt target + + * doc/lispref/text.texi (Buffer Contents): Mention the 'string' + target. + +2021-09-25 Eli Zaretskii + + Fix cursor motion around some Emoji sequences + + * src/character.h: Add TAG_SPACE and CANCEL_TAG to known Unicode + characters values. + * src/composite.c (char_composable_p): Recognize TAG characters + relevant to Emoji as composable regardless of their General + Category. (Bug#39799) + +2021-09-25 Eli Zaretskii + + Use explicit man-page section in references + + * lisp/dired-aux.el (dired-do-chmod): Use explicit man-page + section in the doc string. This avoids inadvertently showing + the wrong man page, when several identically-named pages are + possible in different sections. E.g., there's also chmod(2). + +2021-09-25 Lars Ingebrigtsen + + save-some-buffers-root doc string change + + * lisp/files.el (save-some-buffers-root): Improve doc string. + +2021-09-25 Lars Ingebrigtsen + + Do some NEWS tagging + +2021-09-25 Lars Ingebrigtsen + + Document redisplay-skip-fontification-on-input + + * doc/emacs/display.texi (Scrolling): Mention + redisplay-skip-fontification-on-input. + +2021-09-25 Lars Ingebrigtsen + + Add new user option ispell-help-timeout + + * lisp/textmodes/ispell.el (ispell-help-timeout): New user option. + (ispell-help): Use it. + +2021-09-25 Stefan Kangas + + Set :type of suggest-key-bindings to natnum + + * lisp/simple.el (suggest-key-bindings): Set :type to + natnum. (Bug#15809) + +2021-09-25 Stefan Kangas + + New :type natnum for defcustom + + * lisp/wid-edit.el (natnum): New widget type. (Bug#15809) + * doc/lispref/customize.texi (Simple Types): Document it. + +2021-09-25 Stefan Kangas + + * lisp/dired-aux.el (dired-do-chmod): Simplify docstring. + +2021-09-25 Stefan Kangas + + Add support for man page hyperlinks in doc strings + + * lisp/help-mode.el (help-man): New button type. + (help-xref-man-regexp): New const. + (help-make-xrefs): Use them to allow making man page buttons. + * doc/lispref/tips.texi (Documentation Tips): Document the new + hyperlink type. (Bug#39215) + +2021-09-25 Lars Ingebrigtsen + + Fix some instances in the Emacs manual with misleading prefix syntax + + * doc/emacs/msdos.texi (Windows Keyboard): + * doc/emacs/misc.texi (Editing Binary Files): + * doc/emacs/macos.texi (Mac / GNUstep Events): + * doc/emacs/kmacro.texi (Basic Keyboard Macro): + * doc/emacs/glossary.texi (Glossary): + * doc/emacs/fixit.texi (Spelling): Fix some instances where the + syntax seems to imply we're talking about a prefix key (bug#50792). + +2021-09-25 Manuel Giraud + + Make 'C-u C-x v v' handle unregistered files. + + * lisp/vc/vc.el (vc-next-action): Make 'C-u C-x v v' handle + unregistered files (bug#50602). + +2021-09-25 Daniel Martín + + Mention the 'r' key in ask-user-about-supersession-help + + * lisp/userlock.el (ask-user-about-supersession-help): Replace "n, and + then M-x revert-buffer" in the help message with "r", which does the + same thing. (Bug#50780) + +2021-09-25 akater + + Indent bodies of local function definitions properly in elisp-mode + + * lisp/emacs-lisp/lisp-mode.el (lisp-indent-function): Check for + local defforms (`cl-flet' and `cl-labels'). + (lisp--local-defform-body): New auxiliary function (bug#9622). + +2021-09-25 Stefan Kangas + + Clarify where to find CONTRIBUTE + + * doc/emacs/trouble.texi (Contributing): Say that CONTRIBUTE is + found in the development version of Emacs. (Bug#37414) + +2021-09-25 Lars Ingebrigtsen + + Use gzip to uncompess .xz files on MacOS + + * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Use + gzip to uncompess .xz files on MacOS (bug#29235). + +2021-09-25 Lars Ingebrigtsen + + Use `temporary-file-directory' in `with-existing-directory' + + * lisp/subr.el (with-existing-directory): Use + `temporary-file-directory' over TMPDIR. + +2021-09-25 Stefan Kangas + + Fix alignment on font size change in tabulated-list-mode + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-col): Fix + bug where the columns didn't align correctly when using + 'text-scale-mode' to decrease the font size. (Bug#48639) + +2021-09-25 Stefan Kangas + + Doc fix; cl-random is only pseudo-random + + * lisp/emacs-lisp/cl-extra.el (cl-random): Doc fix; say it's only + pseudo-random. + +2021-09-24 Stefan Kangas + + checkdoc: Don't ask to disambiguate mode names + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + Don't ask to disambiguate mode names. (Bug#4110) + +2021-09-24 Stefan Kangas + + Fix recently introduced bug in checkdoc + + * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Fix + recently introduced bug where some abbreviations weren't recognized. + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-tests-in-abbrevation-p/basic-case): Extend test. + +2021-09-24 Stefan Kangas + + Revert change to use seq-random-elt in Tramp test + + * test/lisp/net/tramp-tests.el (tramp-test44-asynchronous-requests): + Revert change to use seq-random-elt, as Tramp needs to be compatible + with Emacs 25, and the function was only added in 26.1. + +2021-09-24 Stefan Kangas + + checkdoc: Improve wide line warning to decrease false positives + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + Respect 'byte-compile-docstring-max-column' if it is set. Allow the + first line to be three characters longer than the others to account + for indentation and the opening string character. + +2021-09-24 Stefan Kangas + + Use command substitution instead of raw keys in more places + + * admin/authors.el (authors): + * lisp/abbrev.el (abbrev-suggest-show-report): + * lisp/calc/calc.el (calc-display-trail, calc): + * lisp/completion.el (completion-locate-db-error): + * lisp/dired-x.el (dired-extra-startup): + * lisp/emacs-lisp/package.el (package-install-selected-packages): + * lisp/emulation/viper.el (viper-mode): + * lisp/facemenu.el (list-colors-display): + * lisp/mail/emacsbug.el (report-emacs-bug-hook): + * lisp/mail/sendmail.el (mail): + * lisp/menu-bar.el (menu-bar-mode): + * lisp/org/org.el (org-revert-all-org-buffers): + * lisp/progmodes/antlr-mode.el (antlr-help-rules-intro) + (antlr-insert-makefile-rules): + * lisp/progmodes/gdb-mi.el (gdb--check-interpreter): + * lisp/progmodes/xscheme.el (xscheme-process-sentinel): + * lisp/ps-print.el (ps-font-info-database): + * lisp/recentf.el (recentf-edit-list, recentf-open-files): + * lisp/vc/ediff-util.el (ediff-suspend): + * lisp/vc/pcvs.el (cvs-mode): + * lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Use command + substitution. + +2021-09-24 Stefan Kangas + + Prefer seq-random-elt to nth+random + + * lisp/emacs-lisp/seq.el (seq-random-elt): Autoload. + * lisp/avoid.el (mouse-avoidance-random-shape): + * lisp/epa-ks.el (epa-ks--query-url): + * lisp/erc/erc-networks.el (erc-server-select): + * lisp/gnus/gnus-fun.el (gnus--random-face-with-type) + (gnus-fun-ppm-change-string): + * lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type): + * lisp/obsolete/landmark.el (landmark-random-move): + * lisp/play/mpuz.el (mpuz-build-random-perm): + * lisp/play/zone.el (zone-pgm-stress): + * lisp/vc/add-log.el (add-change-log-entry): + * test/lisp/net/tramp-tests.el + (tramp-test44-asynchronous-requests): Prefer seq-random-elt to + nth+random. + +2021-09-24 Michael Albinus + + Fix auto-revert-test05-global-notify + + * test/lisp/autorevert-tests.el (auto-revert-test05-global-notify): + Adapt test for killed buffer. + +2021-09-24 Robert Pluim + + Generate skin tone compositions from emoji-sequences.txt + + Read skin tone modifier sequences from emoji-sequences.txt and add + them to the per-character composition rules derived from + emoji-zwj-sequences.txt, rather than adding them as lookback rules for + the skin tone modifiers. This avoids an issue with the application of + such lookback rules. See Bug#39799, + specifically + + for more details. + + * admin/unidata/Makefile.in (zwj): Add emoji-sequences.txt as a dependency. + * admin/unidata/emoji-zwj.awk: Match RGI_Emoji_ZWJ_Sequence and + RGI_Emoji_Modifier_Sequence. Remove manual addition of skin tone + composition rules with lookback. + +2021-09-24 Robert Pluim + + Add a few more missing emoji overrides + + * admin/unidata/blocks.awk: Add some more emoji overrides. + +2021-09-24 Robert Pluim + + Move compose-gstring-for-variation-glyph + + It logically belongs in composite.el, not japanese.el + + * lisp/language/japanese.el (compose-gstring-for-variation-glyph): + Remove from here. + * lisp/composite.el (compose-gstring-for-variation-glyph): And add here. + +2021-09-24 Robert Pluim + + Update provenance comment in charscript.el + + * admin/unidata/blocks.awk: Update comment about sources used to + generate charscript.el. + +2021-09-24 Juri Linkov + + * lisp/gnus/mm-uu.el (mm-uu-type-alist): Add markdown-diff/-emacs-sources + + (Bug#50763) + +2021-09-24 Juri Linkov + + New thing-at-point target 'string' used in context-menu-region + + * lisp/mouse.el (context-menu-region): Use separate "List" and "String". + + * lisp/thingatpt.el (string): New target 'string'. + (thing-at-point-bounds-of-string-at-point): New function. + (thing-at-point-bounds-of-list-at-point): Revert previous commit + by removing optional args 'escape-strings' and 'no-syntax-crossing'. + (list-or-string): Remove recently added target 'list-or-string'. + (thing-at-point-bounds-of-list-or-string-at-point): Remove function. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01737.html + +2021-09-24 Basil L. Contovounesios + + Pacify recent warnings in ansi-color-tests.el + + * test/lisp/ansi-color-tests.el: Remove invalid package keyword + 'ansi', and unused dependency on cl-lib. + (yellow, bright-yellow): Replace prefix-less dynvars with + corresponding local lexvars. + (test-strings): Rename prefix-less dynvar... + (ansi-color-tests--strings): ...to this. All users updated. + (ansi-color-apply-on-region-test) + (ansi-color-apply-on-region-bold-is-bright-test): Simplify. + (ansi-color-apply-on-region-preserving-test): Reindent. + +2021-09-23 Lars Ingebrigtsen + + Add `info-lookup-symbol' to the menu + + * lisp/menu-bar.el (menu-bar-search-documentation-menu): Add entry + for `info-lookup-symbol' (bug#50759). + +2021-09-23 Lars Ingebrigtsen + + Add s Symbol entry in the glossary + + * doc/emacs/glossary.texi (Glossary): Add an entry for Symbol + (bug#50760). + +2021-09-23 Konstantin Kharlamov + + Do not count git markers as "deleted lines" + + * lisp/vc/diff-mode.el (diff-fixup-modifs): Skip "end of patch" + markers that `git-format-patch` leaves around (bug#50761). + +2021-09-23 Miha Rihtaršič + + Fix problems with 'C-c C-n' in sh-script-mode + + * lisp/progmodes/sh-script.el (sh-shell-process): If a *shell* buffer + doesn't exist, 'C-c C-n' creates one and displays it. This patch + prevents it from being displayed in the selected window. + Additionally, it ensures that the local `sh-shell-process' variable is + set in the correct buffer (bug#50765). + +2021-09-23 Stefan Kangas + + checkdoc: Add abbreviation and simplify + + * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Add + abbreviation "a.k.a.". Simplify. + +2021-09-23 Lars Ingebrigtsen + + Fix typo in previous man.el change + + * lisp/man.el (Man-ansi-color-map): Fix typo in last checkin. + +2021-09-23 Jim Porter + + Add support for "bright" ANSI colors in term-mode + + * list/term.el (ansi-term-color-vector): Add new faces. + (term-color-black, term-color-red, term-color-green, term-color-yellow) + (term-color-blue, term-color-magenta, term-color-cyan, term-color-white): + Inherit from 'ansi-color-COLOR'. + (term-color-bright-black, term-color-bright-red, term-color-bright-green) + (term-color-bright-yellow, term-color-bright-blue) + (term-color-bright-magenta, term-color-bright-cyan) + (term-color-bright-white): New faces. + (term--maybe-brighten-color): New function. + (term-handle-colors-array): Handle bright colors. + * test/lisp/term-tests.el (term-colors, term-colors-bold-is-bright): + New functions. + +2021-09-23 Jim Porter + + Add support for "bright" ANSI colors in ansi-color + + * lisp/ansi-color.el (ansi-color-bold, ansi-color-faint, ansi-color-italic) + (ansi-color-underline, ansi-color-slow-blink, ansi-color-fast-blink) + (ansi-color-inverse, ansi-color-red, ansi-color-green, ansi-color-yellow) + (ansi-color-blue, ansi-color-magenta, ansi-color-cyan, ansi-color-white) + (ansi-color-bright-red, ansi-color-bright-green, ansi-color-bright-yellow) + (ansi-color-bright-blue, ansi-color-bright-magenta, ansi-color-bright-cyan) + (ansi-color-bright-white): New faces. + (ansi-color-basic-faces-vector, ansi-color-normal-colors-vector) + (ansi-color-bright-colors-vector): New constants. + (ansi-color-faces-vector, ansi-color-names-vector): Make obsolete. + (ansi-color-bold-is-bright): New defcustom. + (ansi-color--find-face): Sort ANSI codes and check + 'ansi-color-bold-is-bright'. + (ansi-color-apply-sequence): Support bright ANSI colors. + (ansi-color-make-color-map, ansi-color-map, ansi-color-map-update): + Make obsolete. + (ansi-color-get-face-1): Add BRIGHT parameter. + * lisp/man.el (Man-ansi-color-basic-faces-vector): New variable. + (Man-ansi-color-map): Make obsolete. + (Man-fontify-manpage): Use 'Man-ansi-color-basic-faces-vector' here. + * test/lisp/ansi-color-tests.el + (ansi-color-apply-on-region-bold-is-bright-test): New function. + +2021-09-23 Stefan Kangas + + Avoid jumping too far in checkdoc-in-abbreviation-p + + * lisp/emacs-lisp/checkdoc.el (checkdoc-in-abbreviation-p): Use + 'forward-ward' instead of 'forward-sexp' to avoid jumping too far in + some situations. (Bug#50731) + + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-tests--abbrev-test): New helper function. + (checkdoc-tests-in-abbrevation-p/basic-case): Rename from + 'checkdoc-tests-in-abbrevation-p'. + (checkdoc-tests-in-abbrevation-p/with-parens) + (checkdoc-tests-in-abbrevation-p/with-escaped-parens): Use above new + helper function. + (checkdoc-tests-in-abbrevation-p/single-char) + (checkdoc-tests-in-abbrevation-p/with-em-dash) + (checkdoc-tests-in-abbrevation-p/incorrect-abbreviation): New tests. + +2021-09-23 Philip Kaludercic + + Handle updates flags when setting flags + + * nnmaildir.el (nnmaildir--article-set-flags): Handle updated flags + more gracefully + +2021-09-23 Dmitry Gutov + + A bit less overhead when converting hits + + * lisp/progmodes/xref.el (xref--collect-matches): + Move 'remote-id' and 'syntax-needed' definitions to the caller + function. Bind 'inhibit-modification-hooks' to t (bug#50733). + +2021-09-23 Dmitry Gutov + + More per-match overhead reduction + + * lisp/progmodes/xref.el (xref--show-common-initialize) + (xref-revert-buffer): Inhibit modification hooks (bug#50733). + (xref--insert-xrefs): Cosmetics (no measurable difference here). + +2021-09-23 Dmitry Gutov + + xref-matches-in-files: Decrease per match and per group overhead + + * lisp/progmodes/xref.el (xref-search-program-alist): + Add '--null' argument for slightly faster parsing and probably + better behavior with weirder file names. + (xref--alistify): Don't accept TEST argument, use 'assoc' instead + of 'cl-assoc', use a tash table during sorting (bug#50733). + +2021-09-23 Philip Kaludercic + + Fix string-distance for two empty strings + + * fns.c (Fstring_distance): Avoid using uninitialized memory. + * test/src/fns-tests.el (test-string-distance): Add test cases. + +2021-09-23 Juri Linkov + + * lisp/mouse.el (context-menu-region): Use save-excursion for syntax-ppss. + +2021-09-23 Juri Linkov + + New thing-at-point target 'list-or-string' used in context-menu-region + + * lisp/mouse.el (context-menu-region): Rearrange the order to + All>Defun>List>Line>Symbol. Show title either "List" or "String" + depending on syntax-ppss, then use thing 'list-or-string' (bug#9054). + + * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Add optional + args 'escape-strings' and 'no-syntax-crossing' like in 'up-list'. + (list-or-string): New target 'list-or-string'. + (thing-at-point-bounds-of-list-or-string-at-point): New function. + +2021-09-23 Juri Linkov + + * lisp/outline.el (outline-minor-mode-cycle-filter): New defcustom (bug#50679) + + (outline-minor-mode-cycle--bind): New helper function. + (outline-minor-mode-cycle-map): Rename from outline-mode-cycle-map. + (outline-mode-map): Revert part of 6458e16f33 to disassociate + keymaps outline-mode-map and outline-minor-mode-cycle-map. + (outline-font-lock-keywords, outline-minor-mode-highlight-buffer): + Use outline-minor-mode-cycle-map instead of outline-mode-cycle-map. + + * lisp/help.el (describe-bindings): Rename outline-mode-cycle-map + to outline-minor-mode-cycle-map. + +2021-09-23 Michael Albinus + + * test/infra/Dockerfile.emba: Do not run 'make -j4 bootstrap'. + +2021-09-23 Michael Albinus + + Fix Tramp's make-process on macOS + + * lisp/net/tramp-sh.el (tramp-get-remote-mknod-or-mkfifo): New defun. + (tramp-sh-handle-make-process): Use it. (Bug#50748) + +2021-09-23 Michael Albinus + + * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Remove trace buffer. + +2021-09-23 Philip Kaludercic + + Add aggregate project discovery and maintenance functions + + * project.el (project-remember-project): Add optional no-write argument + (project-remember-projects-under): Add command + (project-forget-zombie-projects): Add command + (project-forget-projects-under): Add command + * etc/NEWS: Document new commands + +2021-09-23 Dmitry Gutov + + Fix vc-annotate-show-log-revision-at-line + + * lisp/vc/vc-annotate.el (vc-annotate-show-log-revision-at-line): + Stop from being affected by 'vc-git-print-log-follow'. + + * lisp/vc/vc-git.el (vc-git-print-log-follow): + Mention caveats in a comment. + +2021-09-23 Wilson Snyder + + verilog-mode.el: Backout part of recent change showing wrong comment + +2021-09-23 Stefan Kangas + + Clarify which-function tooltip text + + * lisp/progmodes/which-func.el (which-func-format): Clarify tooltip + text. + +2021-09-23 Robert Pluim + + Improve NEWS entry for 'ffap-file-name-with-spaces' + + * etc/NEWS: Mention default value of 'ffap-file-name-with-spaces'. + +2021-09-23 Martin Rudalics + + ;* lisp/whitespace.el (whitespace-display-window): Add doc-string. + +2021-09-23 Lars Ingebrigtsen + + Clarify align-regexp doc string + + * lisp/align.el (align-regexp): Clarify what REGEXP has to + contain, and which bits are added automatically interactively + (bug#33541). + +2021-09-23 Stefan Kangas + + Add section to refcard explaining our keybinding notation + + * etc/refcards/refcard.tex (Starting Emacs): Delete section. + (Key Binding Notation): New section. (Bug#41403) + +2021-09-23 Stefan Kangas + + Use lexical-binding in emoji-zwj.el + + * admin/unidata/emoji-zwj.awk: Add lexical-binding cookie to + generated fie emoji-zwj.el. + +2021-09-23 Lars Ingebrigtsen + + Expand the `match-string' doc string + + * lisp/subr.el (match-string): Mention some caveats (bug#34214). + +2021-09-22 Lars Ingebrigtsen + + Improve error messaging from byte-compiling dotted lists + + * lisp/emacs-lisp/cconv.el (cconv-analyze-form): Improve error + messaging when byte-compiling dotted lists (bug#35186). + + Test case -- byte-compile the following file: + + ;;; -*- lexical-binding: t -*- + + (defun foo () + (+ 1 2) + (a . b)) + +2021-09-22 Lars Ingebrigtsen + + Move 'kdb-macro-redisplay' key binding + + * doc/emacs/kmacro.texi (Basic Keyboard Macro): Adjust. + + * lisp/kmacro.el (kmacro-keymap): Move 'kdb-macro-redisplay' to + `C-x C-k d' since upper-case letters are reserved for users (bug#50727). + +2021-09-22 Dmitry Gutov + + Put './' in the project directory completions + + * lisp/progmodes/project.el (project--read-file-cpd-relative): + Put './' in the completions set when cpd was in the original + (bug#50732). + +2021-09-22 Juri Linkov + + Many improvements for Context Menus (bug#9054) + + * lisp/menu-bar.el (menu-bar-showhide-menu): Add "Context Menus". + + * lisp/mouse.el (context-menu-undo): Add "in Region" to the titles + when the region is active. + (context-menu-region): Use 'mouse-yank-from-menu' in menu items + created from 'yank-menu' for submenu "Paste from Kill Menu". + (context-menu-region): Add submenu "Select" with things to mark. + (mark-thing-at-mouse, mouse-yank-from-menu): New functions. + + * lisp/thingatpt.el (bounds-of-thing-at-mouse): New function. + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): + Use full symbol/identifier names in :help strings. + + Suggested by Martin Rudalics + +2021-09-22 Eli Zaretskii + + Fix build with native compilation but without zlib + + * src/comp.c (comp_hash_source_file): Condition code that requires + zlib with HAVE_ZLIB. + + * etc/NEWS: Explain that '--without-compress-install' is necessary + when configuring with native compilation but without zlib. + +2021-09-22 Wilson Snyder + + verilog-mode.el: Enable lexical binding, and merge from upstream. + + * lisp/progmodes/verilog-mode.el: Enable lexical binding. Templates that + used the never-documented `inst' or `submod' variables may need to change + to use vl-... variables. + (verilog-at-constraint-p): Fix indentation on double curly brackets + (#1719) (#1744). Reported by Nikolay Puzanov. + +2021-09-22 Mattias Engdegård + + Don't rely on lexical-binding being nil in tests + + * test/lisp/button-tests.el (button--help-echo-form): + * test/lisp/files-tests.el (files-tests-permanent-local-variables): + Remove assumption that `with-temp-buffer` creates a buffer + where `lexical-binding` is nil. + +2021-09-22 Eli Zaretskii + + Doc string fixes in comp.e + + * src/comp.c (Fcomp_el_to_eln_filename) + (Fcomp_el_to_eln_rel_filename): Doc fix. + +2021-09-22 Eli Zaretskii + + Update comments warning about GC-resistant C programming + + * src/eval.c: Remove an outdated comment about protection from GC. + * src/buffer.h: + * src/lisp.h: Add warnings about using 'char *' pointers to text + of Lisp strings and buffer text in code that could GC. Reported by + Po Lu + +2021-09-22 Daniel Fleischer + + Native compilation on macOS: libgccjit not found + + * etc/PROBLEMS: Describe the problem with libgccjit setup on + macOS. (Bug#50411) + +2021-09-22 Lars Ingebrigtsen + + Speed up `replace-match' slightly + + * src/search.c (Freplace_match): Speed up non-literal (but + actually literal) common case. + + This makes + + (benchmark-run 1000000 + (replace-regexp-in-string + "a+" "foo" + "ogihdipofdhookfdohkfdpokhpokhfdpokfdhpokfdhkdfkhgoadfphokfkhpofdkhkdpokf")) + + about 10% faster. + +2021-09-22 Stephen Gildea + + Migrate MH-E functional tests from SourceForge + + * test/lisp/mh-e/mh-limit-tests.el: + * test/lisp/mh-e/mh-utils-tests.el: + * test/lisp/mh-e/mh-xface-tests.el: + Import the functional tests from src/mh-unit.el. + + mh-unit.el is from the old SourceForge mh-e repository, last changed + in 2017. To this are applied unmerged patches Mike Kupfer wrote in + 2018 ("Refactor mh-unit into functional and release tests" and + "Fix the functional tests"). + + All tests have been converted to run under Emacs's ERT framework. + + Some tests for mh-utils use MH programs to examine mail folders. + These tests require an MH variant to be installed on the system; for + these, added both a mock harness that pretends the needed files and MH + programs do exist, and a wrapper that creates the necessary mail files. + + New function 'mh-test-utils-setup-with-variant' bears some resemblance + to 'mh-test-folders-set-up' from the original tests. New function + 'mh-test-utils-setup-with-mocks' is new functionality for these tests. + +2021-09-22 Lars Ingebrigtsen + + Change how thread-first/thread-last indent the first argument + + * lisp/doc-view.el (doc-view--current-cache-dir): Reindent. + + * lisp/emacs-lisp/subr-x.el (thread-first): + (thread-last): Change indentation to match examples. + (internal--build-binding): Reindent. + + * test/lisp/emacs-lisp/subr-x-tests.el + (subr-x-test-thread-first-function-names-are-threaded): + (subr-x-test-thread-first-examples): + (subr-x-test-thread-last-function-names-are-threaded): + (subr-x-test-thread-last-examples): Reindent. + +2021-09-21 Lars Ingebrigtsen + + Make global-auto-revert-non-file-buffers work better + + * lisp/autorevert.el (global-auto-revert-mode): Always switch on + the non-file tracking. + (auto-revert--global-possibly-adopt-current-buffer): New function + to respect dynamically changing `global-auto-revert-non-file-buffers'. + +2021-09-21 Stefan Monnier + + (etc-authors-mode--hide-local-variables): Obfuscate more efficiently + +2021-09-21 Stefan Kangas + + Fix warning in etc-authors-mode.el + + * lisp/textmodes/etc-authors-mode.el + (etc-authors-mode--hide-local-variables): Avoid warning. + +2021-09-21 Lars Ingebrigtsen + + Don't quote nil and t in doc strings and comments + + * test/src/minibuf-tests.el (test-try-completion-ignore-case): + * test/lisp/url/url-auth-tests.el + (url-auth-test-digest-auth-retrieve-cache): + * test/lisp/subr-tests.el (subr-tests-add-hook-depth): + * test/lisp/so-long-tests/so-long-tests.el + (so-long-tests-invisible-buffer-function): + * test/lisp/emacs-lisp/tabulated-list-test.el (tabulated-list-sort): + * src/xfaces.c: + * src/process.c (Finterrupt_process): + (syms_of_process): + * src/minibuf.c (Fread_from_minibuffer): + (Fcompleting_read): + (syms_of_minibuf): + * src/dispnew.c (syms_of_display): + * src/data.c: + * lisp/so-long.el (so-long--hack-local-variables): + * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): + (elisp--xref-find-definitions): + * lisp/org/ox-html.el (org-html-htmlize-output-type): + * lisp/org/org-agenda.el (org-agenda-do-in-region): + * lisp/net/tramp.el: + * lisp/minibuffer.el (set-minibuffer-message): + * lisp/isearch.el (isearch-wrap-pause): + (isearch-repeat-on-direction-change): + * lisp/emacs-lisp/timer.el (timer): + * lisp/emacs-lisp/package.el (package-read-archive-contents): + * lisp/emacs-lisp/faceup.el (faceup-next-property-change): + * lisp/emacs-lisp/comp.el (comp-func): + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p): + * lisp/emacs-lisp/cl-macs.el (cl-do): + (cl-do*): + (cl--self-tco): + * lisp/emacs-lisp/bytecomp.el (byte-compile-unresolved-functions): + (byte-compile-cond-jump-table): Don't quote t and nil. + +2021-09-21 Lars Ingebrigtsen + + Document isearch-wrap-pause + + * doc/emacs/search.texi (Repeat Isearch): Document + `isearch-wrap-pause'. + +2021-09-21 Stefan Kangas + + New major mode with font-locking for etc/AUTHORS + + * lisp/textmodes/etc-authors-mode.el: New file. (Bug#50674) + * etc/AUTHORS (mode): Add "mode: etc-authors" to local variables. + * admin/authors.el (authors): Add "mode: etc-authors" to local + variables of the generated AUTHORS file. + +2021-09-21 Eli Zaretskii + + Improve recently added documentation + + * doc/lispref/lists.texi (Building Lists): + * lisp/subr.el (ensure-list): Avoid passive tense in documenting + 'ensure-list'. + +2021-09-21 Lars Ingebrigtsen + + Add new function `ensure-list' + + * doc/lispref/lists.texi (Building Lists): Document it. + + * lisp/subr.el (ensure-list): New function. + + * lisp/emacs-lisp/shortdoc.el (list): Mention it. + +2021-09-21 Michael Albinus + + Fix tramp-compat-temporary-file-directory implementation + + * lisp/net/tramp-archive.el + (tramp-archive-handle-temporary-file-directory): + Use `tramp-compat-temporary-file-directory-function'. + + * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory): + Make it a defconst. + + * lisp/net/tramp.el (tramp-get-debug-buffer, tramp-get-debug-file-name) + (tramp-debug-message, tramp-file-name-handler, tramp-parse-file) + (tramp-parse-shostkeys-sknownhosts) + (tramp-handle-expand-file-name, tramp-handle-make-process) + (tramp-local-host-p, tramp-call-process) + (tramp-call-process-region, tramp-process-lines) + (tramp-read-passwd): + * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection): + * lisp/net/tramp-compat.el (tramp-compat-make-temp-name) + (tramp-compat-make-temp-file); + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-for-operation) + (tramp-crypt-maybe-open-connection, tramp-crypt-send-command) + (tramp-crypt-do-encrypt-or-decrypt-file-name): + * lisp/net/tramp-fuse.el (tramp-fuse-mount-point, tramp-fuse-mounted-p) + (tramp-fuse-unmount): + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) + (tramp-sh-handle-expand-file-name) + (tramp-sh-handle-file-local-copy, ) + (tramp-sh-handle-write-region, tramp-maybe-open-connection): + * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it. + +2021-09-21 Stefan Kangas + + Minor clean-up and fixes in checkdoc + + * lisp/emacs-lisp/checkdoc.el: Minor doc fixes. Remove unnecessary + space at the end of 'y-or-n-p' prompts. Move obsolete definitions to + the end of the file. + (checkdoc-symbol-words, checkdoc-common-verbs-wrong-voice): Add + some more common words. + +2021-09-21 Stefan Kangas + + checkdoc: New defvars to disable some warnings + + * lisp/emacs-lisp/checkdoc.el (checkdoc--argument-missing-flag) + (checkdoc--disambiguate-symbol-flag) + (checkdoc--interactive-docstring-flag): New defvars to disable some + warnings. These are intended for use with Emacs itself rather than + with third-party libraries. + (checkdoc-this-string-valid, checkdoc-this-string-valid-engine): + Respect above new variables. + +2021-09-21 Stefan Kangas + + Add new command 'checkdoc-dired' + + * lisp/emacs-lisp/checkdoc.el (checkdoc-dired): New command. + (checkdoc--dired-skip-lines-re): New constant. + +2021-09-21 Lars Ingebrigtsen + + More NEWS tagging + + Do some NEWS tagging + +2021-09-21 Lars Ingebrigtsen + + Document `window-bump-use-time' + + * doc/lispref/windows.texi (Cyclic Window Ordering): Mention + window-bump-use-time. + +2021-09-21 Juri Linkov + + * lisp/tab-bar.el: Preserve all existing tab parameters when switching tabs. + + * lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab-make): + Copy other possible tab parameters. + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg01544.html + +2021-09-21 Lars Ingebrigtsen + + Document completions-detailed + + * doc/emacs/help.texi (Name Help): Document completions-detailed. + * lisp/minibuffer.el (completions-detailed): Give an example in + the doc string. + +2021-09-21 Michalis V + + Make dired-do-compress-to work in inserted subdirectories + + * lisp/dired-aux.el (dired-do-compress-to): Make this work in file + in inserted subdirectories (bug#46913). + +2021-09-21 Lars Ingebrigtsen + + Revert "Make dired-compress-file query for a directory to uncompress to" + + This reverts commit 7e395a59b025c7f4be49294ad806addf5b1a25c9. + + The behaviour change isn't good for the majority of tar files. + +2021-09-21 Lars Ingebrigtsen + + Revert "Make recent dired tests check for external executables" + + This reverts commit 98a17f30b8314e40a1edefac3d542d3e105c7bd6. + + Reverting parent commit. + +2021-09-21 Lars Ingebrigtsen + + Restore some of the previous behaviour in whitespace-display-window + + * lisp/whitespace.el (whitespace-display-window): Emulate previous + behaviour (bug#50716). Code from martin rudalics . + +2021-09-21 Lars Ingebrigtsen + + Don't use `format' on strings without % format directives + + * lisp/vc/ediff-init.el (ediff-BAD-INFO): + * lisp/url/url-ldap.el (url-ldap): + * lisp/url/url-http.el (url-http--user-agent-default-string): + * lisp/textmodes/reftex.el (reftex-access-parse-file): + * lisp/textmodes/reftex-index.el (reftex-index-phrases-info): + * lisp/textmodes/ispell.el (ispell-create-debug-buffer): + * lisp/term.el (serial-read-speed): + * lisp/progmodes/verilog-mode.el (verilog-scan-debug): + * lisp/progmodes/idlwave.el (idlwave-find-module): + * lisp/progmodes/compile.el (compilation-revert-buffer): + * lisp/org/org-agenda.el (org-search-view): + * lisp/net/telnet.el (telnet-revert-buffer): + * lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type): + * lisp/net/newst-backend.el (newsticker--cache-read): + * lisp/mh-e/mh-seq.el (mh-msg-is-in-seq): + * lisp/mail/smtpmail.el (smtpmail-via-smtp): + * lisp/mail/emacsbug.el (report-emacs-bug): + * lisp/jsonrpc.el (jsonrpc-error): + * lisp/help-fns.el (describe-variable): + * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): + * lisp/gnus/gnus.el (gnus-group-startup-message): + (gnus-group-startup-message): + * lisp/gnus/gnus-group.el (gnus-group-restart): + * lisp/frame.el (make-frame-on-display): + * lisp/emulation/viper-ex.el (ex-help): + * lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary): + (icalendar--add-diary-entry): + * lisp/calendar/cal-tex.el (cal-tex-end-document): + * lisp/calc/calcalg3.el (math-ninteg-romberg): Don't use `format' + on strings that have no % format directives in them. + +2021-09-21 Lars Ingebrigtsen + + Fix usage of `format' in mm-uu-pgp-encrypted-extract + + * lisp/gnus/mm-uu.el (mm-uu-pgp-encrypted-extract): Use + `substring' instead of `format' to ensure a fresh string. + +2021-09-21 Lars Ingebrigtsen + + Fix usage of `format' in `article-verify-x-pgp-sig' + + * lisp/gnus/gnus-art.el (article-verify-x-pgp-sig): Use + `substring' instead of `format' to ensure a fresh string. + +2021-09-21 Lars Ingebrigtsen + + Fix PGP verification buttons (which would have cached results) + + * lisp/gnus/mm-uu.el (mm-uu-pgp-signed-extract): `format' was used + here to guarantee a new, fresh string (since it's destructively + modified), but that's apparently not the case any more. Use + `substring' instead, which is documented to do this. + +2021-09-21 Lars Ingebrigtsen + + Don't inhibit redisplay in the mml* functions + + * lisp/gnus/mml-smime.el (inhibit-redisplay): Removed. + (mml-smime-epg-encrypt): + (mml-smime-epg-verify): Don't inhibit. + + * lisp/gnus/mml1991.el (mml1991-epg-sign): Ditto. + + * lisp/gnus/mml2015.el (inhibit-redisplay): Removed + (mml2015-epg-decrypt): + (mml2015-epg-clear-decrypt): + (mml2015-epg-verify): + (mml2015-epg-clear-verify): + (mml2015-epg-sign): + (mml2015-epg-encrypt): Don't bind `inhibit-redisplay', because it + makes debugging very odd, and doesn't seem to help much with anything. + +2021-09-21 Stefan Monnier + + * python.el (python-syntax-stringify): Extend comment about last change + +2021-09-21 Robert Pluim + + Fix emoji-zwj.awk dolist + + * admin/unidata/emoji-zwj.awk: Fix typo, the dolist should end + after the first set-char-table-range. + +2021-09-21 Glenn Morris + + Make recent dired tests check for external executables + + * test/lisp/dired-aux-tests.el (dired-test-bug47058-tar) + (dired-test-bug47058-zip): Add skip conditions. + +2021-09-21 Dmitry Gutov + + Rename project-remove-known-project to project-forget-project + + * doc/emacs/maintaining.texi (Managing Projects): Ditto. + + * etc/NEWS: Update accordingly. + + * lisp/progmodes/project.el (project-forget-project): + Rename from 'project-remove-known-project', for consistency with + 'project-remember-project' (discussed in bug#50297). + +2021-09-21 Basil L. Contovounesios + + Consistently test alist keys with equal in map.el + + * etc/NEWS: Announce new default behavior of map-elt and map-delete + on alists. + + * lisp/emacs-lisp/map.el: Bump to version 3.2. + (map-elt): Test alist keys with equal by default. Betray a little + bit more information in the docstring on which functions are used + for which map types. (Bug#47368) + (map-put): Update docstring accordingly. + (map--plist-delete): Consistently test plist keys with eq. + (map-delete): Consistently test alist keys with equal. + + * test/lisp/emacs-lisp/map-tests.el (test-map-elt-testfn): Update + for new map-elt behavior. + (test-map-put!-alist, test-map-delete-alist): New tests. + +2021-09-21 Robert Pluim + + Remove the emoji script overrides for U+2xxx codepoints + + * admin/unidata/blocks.awk: Remove the overrides for U+261D, U+26F9, + U+270C..U+270D, and U+2764. They don't belong in the emoji script. + +2021-09-21 Robert Pluim + + Fix the UK flag sequence composition regexp + + * admin/unidata/emoji-zwj.awk: Fix the regexp for UK flags. + Thanks to Mattias Engdegård and his magic + regexp checker. + +2021-09-21 Robert Pluim + + Silence byte-compiler warning for network-stream-tests.el + + The api specifically requires a symbol here, so we can't just replace + nowait with nil. + + * test/lisp/net/network-stream-tests.el + (open-gnutls-stream-old-api-wait): Add explicit value for nowait + to silence byte-compiler warning due to Bug#47080. + +2021-09-21 Basil L. Contovounesios + + Avoid double argument evaluation in vc-call macro + + * lisp/vc/vc-hooks.el (vc-call): Ensure second argument is evaluated + only once (bug#50690). + * etc/NEWS (Change Logs and VC): Announce this change in behavior. + +2021-09-21 João Távora + + Make syntax-ppss more accurate for Python triple quotes (bug#49518) + + By putting delimiter syntax on the last character of Python + triple-quoted strings, this makes syntax-ppss be more accurate. + + Previously: + + emacs -Q something.py + type two single quotes + M-: (nth 3 (syntax-ppss)) + notice how the return value says you're outside a string, correctly + type another quote + M-: (nth 3 (syntax-ppss)) + notice how the return value says you're inside a string, correctly + backspace the quote just entered + M-: (nth 3 (syntax-ppss)) + notice how the return value says you're inside a string, incorrectly + + With this patch the last step is corrected. This helps things like + electric-pair-mode. Also, the test + python-syntax-after-python-backspace now passes, again. + + * lisp/progmodes/python.el (python-syntax-stringify): Put + delimiter syntax in "inner" of the surrouding triple quotes. + + * test/lisp/progmodes/python-tests.el + (python-syntax-after-python-backspace): Passes again. + +2021-09-21 João Távora + + Expand and improve electric-pair-mode and Python testing (bug#49518) + + In python-tests.el, the triple-quote pairing tests are passing + incorrectly, i.e. the auto-pairing functionality they purport to guard + isn't really working for users trying it interactively. Added a new + failing test, soon to be fixed. + + In electric-tests.el, added tests for Python, too. + + * test/lisp/electric-tests.el (define-electric-pair-test): Also run + main tests for python-mode. (pair-some-quotes-skip-others): Test + another slightly different pairing. + + * test/lisp/progmodes/python-tests.el + (python-triple-double-quote-pairing): Rename from + python-triple-quote-pairing. + (python-triple-single-quote-pairing): New test. + +2021-09-21 João Távora + + Add docstring for 'electric-pair-p-s-i-f' and minor refactor + + Extract the "open newline between pairs behaviour" into its own + function, electric-pair-open-newline-between-pairs-psif. + + * lisp/elec-pair.el (electric-pair-post-self-insert-function): Add + docstring. + (electric-pair-open-newline-between-pairs-psif): New function. + (electric-pair-mode): Add/remove electric-pair-open-newline-between-pairs-psif + +2021-09-21 João Távora + + Speed up test/lisp/electric-tests.el when run interactively + + 'blink-paren-function' and its timers could sometimes interfere with + the tests and slow them down significantly. + + * test/lisp/electric-tests.el (call-with-saved-electric-modes): + Bind blink-paren-function to nil. + +2021-09-21 Lars Ingebrigtsen + + Fix whitespace-report window creation + + * lisp/whitespace.el (whitespace-display-window): Avoid creating + many buffers if called many times (bug#50716). + +2021-09-21 Lars Ingebrigtsen + + Use `special-mode' for whitespace-report + + * lisp/whitespace.el (whitespace-report-region): Use + `special-mode' instead of `fundamental-mode' (bug#50715). + +2021-09-21 Lars Ingebrigtsen + + Inhibit warning in mm-inline-wash-with-file from previous change + + * lisp/gnus/mm-view.el (mm-inline-wash-with-file): Inhibit warning + about previous lexical fixup. + +2021-09-21 Lars Ingebrigtsen + + Fix problems with non-ASCII non-encoded PGP names + + * lisp/epg.el (epg-signature-to-string): User IDs may be + non-encoded, non-ASCII (bug#50706). + +2021-09-21 Lars Ingebrigtsen + + Fix typo in tex--prettify-symbols-alist + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix + varsigma typo (bug#50710). + +2021-09-21 Lars Ingebrigtsen + + Fix lexical fallout in mm-inline-wash-with-file + + * lisp/gnus/mm-view.el (mm-inline-wash-with-file): This is only + called from the `links' handler, and it passes in `file' expecting + that to be dynamically bound. Which is a very, very confusing + interface, but make that work again, anyway. + +2021-09-21 Michalis V + + Make dired-compress-file query for a directory to uncompress to + + * lisp/dired-aux.el (dired-compress-file-suffixes): Specify the + directory in the tar targets. + (dired-uncompress-file): New function (bug#47058). This asks what + directory to uncompress to. + (dired-compress-file): Use it. + +2021-09-21 Lars Ingebrigtsen + + Clear netrc cache in auth-source test + + * test/lisp/auth-source-tests.el + (auth-source-test-netrc-create-secret): Clear the netrc cache, too. + +2021-09-21 Lars Ingebrigtsen + + Only search netrc in the netrc tests + + * test/lisp/auth-source-tests.el + (auth-source-test-netrc-create-secret): Only search netrc. + +2021-09-21 Eric Abrahamsen + + Remove some last calls to Gnus group name encoding + + This should have been part of cb12a84f2c + + * lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc, + gnus-inews-do-gcc): Don't encode group names. + +2021-09-21 Dmitry Gutov + + New command: project-find-dir + + * doc/emacs/maintaining.texi (Project File Commands): + Mention the new command and update the bindings information. + + * lisp/progmodes/project.el (project-find-dir): + New command (bug#43153). + (project-prefix-map): Use 'd' as its binding. + Move 'project-dired' to 'D'. + (project-switch-commands): + Replace 'project-dired' with 'project-find-dir'. + +2021-09-20 Robert Pluim + + Support for Unicode emoji sequences + + This covers both sequences using Zero-Width-Joiner codepoints and + those without. Bug#39799, I hope. + + * .gitignore: Add emoji-zwj.el + * admin/notes/unicode: Add emoji-zwj-sequences.txt and + emoji-sequences.txt references. Describe how to test after updating + to a newer Unicode version. + * admin/unidata/Makefile.in (all): add emoji-zwj.el as a dependency. + (emoji-zwj.el): Add target plus rules for building. + (gen-clean): Add emoji-zwj.el. + * admin/unidata/README: Add emoji-zwj-sequences.txt and + emoji-sequences.txt references. + * admin/unidata/blocks.awk: Force emoji script to be used for certain + codepoints that are used by the Unicode sequences. + * admin/unidata/emoji-sequences.txt: New file. + * admin/unidata/emoji-zwj-sequences.txt: New file. + * admin/unidata/emoji-zwj.awk: New file. Derives + composition-function-table rules from emoji-zwj-sequences.txt, plus + hardcodes some derived manually from emoji-sequences.txt. + * etc/NEWS: Announce change. + * lisp/international/characters.el: Load the generated emoji-zwj.el + * src/Makefile.in (emoji-zwj): New target. + (temacs): Add emoji-zwj as a dependency. + +2021-09-20 Jonas Bernoulli + + No longer raise error when http authentication failed + + * lisp/url/url-http.el (url-http-handle-authentication): Return t + instead of raising an error, instructing the caller to invoke the + request specific error handler (bug#50511). + +2021-09-20 Robert Pluim + + Add a note about testing out-of-tree builds + + * CONTRIBUTE: Ask contributors to test out-of-tree builds when + making build system changes. + +2021-09-20 Robert Pluim + + Base emoji script membership on Emoji_Presentation + + The Emoji property describes which codepoints can be displayed as + emoji, but Emoji_Presentation governs which are displayed as emoji by + default. + + * admin/notes/unicode: Adjust check-emoji-coverage to look in the + Emoji_Presentation sections of emoji-data.txt + * admin/unidata/blocks.awk: Assign emoji script using the + Emoji_Presentation section. + +2021-09-20 Basil L. Contovounesios + + Fix VC repo URL detection in bug-reference-mode + + * lisp/progmodes/bug-reference.el (bug-reference-try-setup-from-vc): + Pass file or directory name in question as the first argument to the + backend's repository-url implementation (bug#50689). Use when-let + and seq-some to flatten nested conditionals. + +2021-09-20 Eli Zaretskii + + Fix assertion violation with zero-width :box attributes + + * src/xfaces.c (merge_face_ref): Don't allow :box attribute with a + zero value. (Bug#50699) + +2021-09-20 Michael Albinus + + Remove superfluous skip in auth-source-tests.el + + * test/lisp/auth-source-tests.el + (auth-source-test-netrc-create-secret): Remove superfluous skip. + +2021-09-20 Mattias Engdegård + + Dump with `lexical-binding` bound to nil + + * lisp/loadup.el (dump-mode): Temporarily bind `lexical-binding` to + nil while dumping. Otherwise, it will be t in Emacs by default + and that is not our intention (yet). + +2021-09-20 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab): Add optional arg 'from-number'. + + (tab-bar-mouse-context-menu): Use tab-number as an arg for + 'tab-bar-duplicate-tab'. + (tab-bar-duplicate-tab): Add optional arg 'from-number'. + +2021-09-20 Juri Linkov + + Add support for url-retrieve-synchronously to eww-retrieve-command (bug#50680) + + * doc/misc/eww.texi (Advanced): Mention url-retrieve-synchronously + for eww-retrieve-command. + + * lisp/net/eww.el (eww-retrieve-command): Add choice 'sync' for + url-retrieve-synchronously. + (eww-retrieve): Use value 'sync' for url-retrieve-synchronously. + (eww-isearch-next-buffer): Let-bind eww-retrieve-command to 'sync'. + +2021-09-20 Miha Rihtaršič + + Improve documentation of exiting recursive editing + + * doc/lispref/commands.texi (Recursive Editing): Mention what happens + when throwing a string or any other value to 'exit. + * src/keyboard.c (Frecursive_edit): Document throwing a function + to 'exit (bug#49700). + +2021-09-20 Miha Rihtaršič + + Refactor minibuffer aborting + + * lisp/minibuffer.el (minibuffer-quit-recursive-edit): New optional + argument to specify how many levels of recursion to quit. + + * src/eval.c (internal_catch): Remove special handling of 'exit + tag (bug#49700). + * src/minibuf.c (Fabort_minibuffers): Use + minibuffer-quit-recursive-edit to quit multiple levels of minibuffer + recursion. + +2021-09-20 Philip Kaludercic + + Fix dolist-with-progress-reporter behaviour + + * subr.el (dolist-with-progress-reporter): Use the length of list + argument as maximal value the reporter with reach + +2021-09-19 Stefan Kangas + + Revert "Flag checkdoc-symbol-words as a :safe variable" + + There was no need for this change, as this variable was already marked + as :safe. + + This reverts commit 222a7a1a8afdf6921e5981133c605c2d695e9281. + +2021-09-19 Eli Zaretskii + + Avoid segfaults due to 'bug-reference-mode' + + * src/xdisp.c (handle_fontified_prop): Set the frame's + inhibit_clear_image_cache flag around calls to + 'fontification-functions', to avoid Lisp triggering the clearing + of image and/or face caches behind redisplay's back. (Big#50571) + +2021-09-19 Eli Zaretskii + + Fix blocks.awk wrt to Emoji characters + + * admin/unidata/blocks.awk: Fix emoji-data.txt processing for + older Awks. + +2021-09-19 Michael Albinus + + Do not save empty passwords in auth-source-search + + * lisp/auth-source.el (auth-source-netrc-create) + (auth-source-secrets-create): Set :save-function only for non + empty passwords. + + * lisp/net/tramp.el (tramp-read-passwd): Don't save empty passwords. + + * test/lisp/auth-source-tests.el + (auth-source-test-secrets-create-secret): Adapt test. + (auth-source-test-netrc-create-secret): New test. + +2021-09-19 Stefan Kangas + + Be explicit about missing sections in eshell manual + + * doc/misc/eshell.texi (Writing a module, Module testing) + (Directory handling, Key rebinding, Smart scrolling) + (Terminal emulation): Explicitly say that these sections remain to + be written. (Bug#49306) + +2021-09-19 Juri Linkov + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): Improve menu items. + +2021-09-19 Ken Brown + + Fix build with native compilation on Cygwin + + * src/Makefile.in (emacs$(EXEEXT)) [CYGWIN]: Rebase the *.eln + files after they are all created, to avoid fork problems later + in the build. (Bug#50666) + +2021-09-19 Stefan Kangas + + Clarify docstring of pcase-exhaustive + + * lisp/emacs-lisp/pcase.el (pcase-exhaustive): Clarify docstring + by contrasting with pcase. (Bug#44166) + +2021-09-19 Stefan Kangas + + Make two unused variables obsolete + + * lisp/progmodes/idlw-help.el (idlwave-help-directory) + (idlwave-help-use-hh): Make unused variables obsolete. + +2021-09-19 Stefan Kangas + + * etc/NEWS: Add section on recent checkdoc changes. + +2021-09-19 Mattias Engdegård + + Initialise unread buffer + + The reader has an extra 1-char unread buffer that was incorrectly + initialised to 0, which means that the first character read would + always be NUL. As this is often the code that looks for the + lexical-binding cookie, the first loaded source module would be + treated as dynamically bound. During bootstrapping this is loadup.el + and so its local variables got dumped into the global environment. + + * src/lread.c (unread_char): Initialise to empty. + (Fload): Initialise here too just in case. + +2021-09-19 Stefan Kangas + + checkdoc: Verify format of yes-or-no-p and format-message + + * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-next-string): + Check also for "yes-or-no-p" and "format-message". Convert regexps to + use rx. + +2021-09-19 Stefan Kangas + + Flag checkdoc-symbol-words as a :safe variable + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Flag as a safe + file local variable. + +2021-09-19 Eli Zaretskii + + Teach Mail mode to request Disposition Notifications + + * lisp/mail/sendmail.el (mail-insert-disposition-notification-to): + New function. + (mail-mode-map): Add it to key bindings and menu bar. + +2021-09-19 Amin Bandali + + Add new '/opme' and '/deopme' convenience ERC commands + + * lisp/erc/erc.el (erc-cmd-OPME, erc-cmd-DEOPME): Add convenience + commands for setting and unsetting the operator status on the current + nick in the current channel. 'erc-cmd-OPME' relies on ChanServ for + obtaining the operator status (see doc string for more details). + + * etc/NEWS: Announce the addition of the commands. + +2021-09-19 Stefan Kangas + + Revert previous mode-line-modes change to unbreak bootstrap + + * lisp/bindings.el (mode-line-modes): Revert previous change to + unbreak bootstrap. + +2021-09-19 Lars Ingebrigtsen + + Viper doc string fix + + * lisp/emulation/viper-keym.el (viper-want-ctl-h-help): Fold + over-long first line. + +2021-09-19 Lars Ingebrigtsen + + Fix viper-util compilation warning + + * lisp/emulation/viper-util.el (cl-lib): Require for cl-subseq. + +2021-09-18 Stefan Kangas + + * etc/NEWS: Shorten entry on move to Libera.Chat. + +2021-09-18 Stefan Kangas + + Use command substitution in checkdoc-recursive-edit + + * lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command + substitution. + (checkdoc--help-buffer): New variable. Use it instead of hard-coded + string. + +2021-09-18 Stefan Kangas + + Use command substitution for exit-recursive-edit + + * lisp/bindings.el (mode-line-modes): + * lisp/emacs-lisp/checkdoc.el (checkdoc-recursive-edit): Use command + substitution for 'exit-recursive-edit'. + +2021-09-18 Juri Linkov + + * lisp/subr.el (string-replace): Add dashes to arg names (bug#50644) + + * lisp/net/tramp-compat.el (tramp-compat-string-replace): Idem. + * doc/lispref/searching.texi (Search and Replace): Idem. + +2021-09-18 Arthur Miller + + Add new help-enable-symbol-autoload user option + + * lisp/help-fns.el (help-fns--analyze-function): Use it. + * lisp/help-fns.el (help-enable-symbol-autoload): New user option. + * doc/emacs/help.texi (Name Help): Document it. + +2021-09-18 Lars Ingebrigtsen + + Mention xref-quit-and-pop-marker-stack in the manual + + * doc/emacs/maintaining.texi (Xref Commands): Mention + xref-quit-and-pop-marker-stack in the manual. + +2021-09-18 Lars Ingebrigtsen + + Do some xwidget NEWS markup (and adjust doc string) + + * lisp/xwidget.el (xwidget-webkit-bookmark-make-record): Mention + `xwidget-webkit-bookmark-jump-new-session' in the doc string. + +2021-09-18 Lars Ingebrigtsen + + Make argument optional in pulse-momentary-highlight-one-line + + * lisp/cedet/pulse.el (pulse-momentary-highlight-one-line): Make + POINT optional (bug#50642) so that the function can be used more + easily from some hook functions. + +2021-09-18 Dan Ports (tiny change) + + Use the newest gcc installed by Macports + + * configure.ac: There may be more than one gcc version installed + in Macports (bug#50649). Use the newest. + +2021-09-18 Basil L. Contovounesios + + Fontify Libtool macros in autoconf-mode + + * lisp/progmodes/autoconf.el (autoconf-font-lock-keywords): Apply + font-lock-keyword-face also to Libtool's LT_* macros (bug#50659). + +2021-09-18 Eli Zaretskii + + Improve doc strings of a recent commit + + * lisp/emacs-lisp/generator.el (iter-defun): + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): + * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): + * lisp/emacs-lisp/autoload.el (autoload-insert-section-header): + Include description of arguments in the doc string's first line. + +2021-09-18 Mattias Engdegård + + Regexp-quote literal symbols when grepping + + `xref-find-references` was unable to find symbols like + `backquote-list*-macro`. + + * lisp/cedet/semantic/symref/grep.el + (semantic-symref-grep--quote-extended): New function. + (semantic-symref-perform-search): Call it. + +2021-09-18 Eli Zaretskii + + Fix performance degradation in commands that describe key bindings + + * src/keymap.c (syms_of_keymap) + : New variable. + (describe_vector): Check shadowing of consecutive keys only if + 'describe-bindings-check-shadowing-in-ranges' is non-nil. Remove + redundant second loop when VECTOR is a char-table. Improve + comments. Patch by Stefan Kangas . (Bug#45379) + + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-one-shadowed-in-range): Adapt the + test case for the new variable. + +2021-09-18 Stefan Kangas + + * lisp/emacs-lisp/checkdoc.el: Doc fix; mention flymake. + + Do interactive mode tagging for checkdoc.el + +2021-09-18 Stefan Kangas + + checkdoc: Only look for commonly used modifier keys + + * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + Search for the modifier key "s-", but not the modifier key "A-". + The latter is very uncommon and leads to false positives. + +2021-09-18 Michael Albinus + + Skip "fast" tests on emba CI + + * test/infra/gitlab-ci.yml (stages): Comment "fast" stage out. + (test-fast-inotify): Comment out. + +2021-09-18 Stefan Kangas + + Add indent declaration to emerge-defvar-local + + * lisp/vc/emerge.el (emerge-defvar-local): Add indent declaration + for docstring. Fix wrongly indented callers. + +2021-09-18 Stefan Kangas + + Make doc argument of emerge-defvar-local optional + + * lisp/vc/emerge.el (emerge-defvar-local): Make doc argument + optional. + +2021-09-18 Stefan Kangas + + Make doc argument of ediff-defvar-local optional + + * lisp/vc/ediff-init.el (ediff-defvar-local): Make DOC argument + optional. Update callers passing the empty string to not use it. + +2021-09-18 Federico Tedin + + Check for null bytes in filenames in 'expand-file-name' (bug#49723) + + * src/fileio.c (expand-file-name): Check for null bytes for both + NAME and DEFAULT-DIRECTORY arguments. Also check for null bytes + in buffer-local default-directory, assuming it is used. + * src/coding.c (encode_file_name): Use CHECK_STRING_NULL_BYTES. + * src/lisp.h (CHECK_STRING_NULL_BYTES): Add function for checking + for null bytes in Lisp strings. + * test/src/fileio-tests.el (fileio-test--expand-file-name-null-bytes): + Add test for new changes to expand-file-name. + * etc/NEWS: Announce changes. + +2021-09-18 Amin Bandali + + * lisp/erc/erc.el: Add Package-Requires and URL headers. + +2021-09-18 Amin Bandali + + * etc/NEWS: Announce update of IRC-related references to point to Libera.Chat. + + Also remove the note about freenode subdomain change, as it's not + relevant anymore. + +2021-09-17 Stefan Kangas + + Update refcard to mention iconify before suspend + + * etc/refcards/refcard.tex (section{Leaving Emacs}): Put iconify + Emacs ahead of suspend. + +2021-09-17 Stefan Kangas + + checkdoc: 'y-or-n-p' no longer needs space + + * lisp/emacs-lisp/checkdoc.el (checkdoc-message-text-engine): + Change 'y-or-n-p' check to accept prompt ending with both "? " or "?", + that is, it no longer needs the space. (Bug#50621) + (checkdoc--fix-y-or-n-p): New helper function. + * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests-fix-y-or-n-p) + (checkdoc-tests-fix-y-or-n-p/no-change) + (checkdoc-tests-fix-y-or-n-p/with-space): New tests. + +2021-09-17 Robert Pluim + + Move emoji fontset addition later + + * lisp/international/fontset.el (setup-default-fontset): Move the + fontset addition for emoji script after that for various graphic-like + characters, since they overlap, and we want the emoji setting to win. + +2021-09-17 Martin Joerg (tiny change) + + * lisp/net/tramp-sh.el (tramp-methods) : Separate "%c" marker. + +2021-09-17 Robert Pluim + + Fix emoji-induced build breakage + + * admin/unidata/blocks.awk: Cater for out-of-tree builds, match + the name of the file using regexp rather than exact match. + +2021-09-17 Uwe Brauer + + Replace hex representation by its literal form in pretty tex symbols + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): + Correct error \Bbb{T}, replace hex representation by its literal + form (bug#50645). + +2021-09-17 Lars Ingebrigtsen + + Tweak how term-emulate-terminal selects windows + + * lisp/term.el (term-emulate-terminal): Don't record the selection + of the window here, because we're not doing a user-level window + selection, but just selecting the window for internal purposes + (bug#41984). + +2021-09-17 Juri Linkov + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): Improve menu items. + +2021-09-17 Juri Linkov + + * lisp/repeat.el (repeat-echo-message): Clear only own added part of message. + + (describe-repeat-maps, repeat-mode): Refer to each other in docstrings. + +2021-09-17 Lars Ingebrigtsen + + Stop imenu indexing after a certain number of seconds + + * doc/emacs/programs.texi (Imenu): Document it. + * lisp/imenu.el (imenu-max-index-time): New user option. + (imenu-default-create-index-function, imenu--generic-function): + Use it (bug#18696). + +2021-09-17 Manuel Giraud + + Fix typo in idlwave + + * lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Fix typo + (bug#50638). + +2021-09-17 Uwe Brauer + + Add more symbols to tex--prettify-symbols-alist + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Add + mathbb, caligraphic letters, fractur, varkappa and + \|. (bug#50639). + +2021-09-17 Lars Ingebrigtsen + + Mention that the garbage collection is convervative + + * doc/lispref/internals.texi (Garbage Collection): Mention that + we're using a conservative gc (bug#42013). + +2021-09-17 Stephen Gildea + + MH-E: fix check for nmh or Mailutils installation + + * lisp/mh-e/mh-e.el (mh-variant-gnu-mh-info, mh-variant-nmh-info): + Run install-mh, not mhparam, to check whether an MH variant is + installed on the system. mhparam fails if no user profile is found, + so it is not a reliable check of the state of the system as a whole. + + Tested with: + nmh 1.4, nmh 1.7.1, GNU Mailutils 2.2, GNU Mailutils 3.7, GNU Mailutils 3.13 + +2021-09-17 Eli Zaretskii + + Fix display of stretch glyphs + + * src/xterm.c (x_draw_stretch_glyph_string): + * src/w32term.c (w32_draw_stretch_glyph_string): Fix drawing + stretch glyphs when the window is hscrolled. (The original + pre-Jan-2021 code was almost correct, except that it used + 'window_box_left_offset' instead of 'window_box_left', and didn't + restrict the background_width fixup to text-area.) (Bug#50564) + +2021-09-17 Robert Pluim + + Split Unicode emoji into their own script + + * admin/notes/unicode: Describe how to update emoji for new Unicode release. + * admin/unidata/Makefile.in: Pass emoji-data.txt to + blocks.awk script. + * admin/unidata/README: Add pointer to emoji-data.txt file. + * admin/unidata/blocks.awk: Parse emoji-data.txt, add emoji codepoints + to the 'emoji' script (except for the ASCII ones). + * admin/unidata/emoji-data.txt: New file. + * etc/NEWS: Describe new 'emoji' script. + * etc/TODO: Update item about 'emoji' script. + * lisp/international/fontset.el (script-representative-chars): Add + 'emoji' script. + (setup-default-fontset): Add 'emoji' script. Use "Noto Color Emoji" + as default font for it. + +2021-09-17 Dmitry Gutov + + xref-matches-in-files: Move sorting to Lisp + + For better compatibility with different systems. + Performance is unaffected, except in very pathological cases + (~100000 matches), and even then the overhead of 'sort' is comparable. + + * lisp/progmodes/xref.el (xref-search-program-alist): + Drop the piping through 'sort'. + (xref-matches-in-files): Sort here instead. + Do that to both searchers' output as well now. + +2021-09-17 Eli Zaretskii + + Improve the documentation of a recent change + + * etc/NEWS: + * doc/lispref/sequences.texi (Sequence Functions): Improve + documentation of 'seq-union'. + +2021-09-17 Stefan Kangas + + Improve performance of seq-union + + * lisp/emacs-lisp/seq.el (seq-union): Improve performance by using + nreverse instead of seq-reverse. + +2021-09-17 Stefan Kangas + + Make viper-subseq into obsolete alias for cl-subseq + + * lisp/emulation/viper-util.el (viper-subseq): Make into obsolete + function alias for 'cl-subseq'. Update callers. + +2021-09-17 Stefan Kangas + + * lisp/vc/ediff-util.el (ediff-member): Make obsolete. + +2021-09-17 Stefan Kangas + + Make ediff-set-difference into obsolete alias for seq-difference + + * lisp/vc/ediff-util.el (ediff-set-difference): Make into obsolete + function alias for 'seq-difference'. + * lisp/vc/ediff-mult.el (ediff-intersect-directories): Update single caller. + +2021-09-17 Stefan Kangas + + Make ediff-intersection into obsolete alias for seq-intersection + + * lisp/vc/ediff-util.el (ediff-intersection): Make into obsolete + function alias for 'seq-intersection'. + * lisp/vc/ediff-mult.el (ediff-intersect-directories): Update + single caller. + +2021-09-17 Stefan Kangas + + Make ediff-union into obsolete alias for seq-union + + * lisp/emacs-lisp/seq.el (seq-union): Autoload. + * lisp/vc/ediff-util.el (ediff-union): Make into obsolete function + alias for 'seq-union'. + * lisp/vc/ediff-mult.el (ediff-intersect-directories): Update single + caller. + +2021-09-17 Stefan Kangas + + Add new sequence function 'seq-union' + + * lisp/emacs-lisp/seq.el (seq-union): New function. + * doc/lispref/sequences.texi (Sequence Functions): + * lisp/emacs-lisp/shortdoc.el (sequence): Document above new + function. + * test/lisp/emacs-lisp/seq-tests.el (test-seq-union): New test. + +2021-09-17 Stefan Kangas + + * lisp/allout.el (allout-old-expose-topic): Make obsolete. + +2021-09-17 John Cummings (tiny change) + + Fix disk-free info in 'insert-directory' + + * lisp/files.el (insert-directory): Call 'get-free-disk-space' + with the argument FILE, to make sure the reported info is for the + correct volume. (Bug#50630) + +2021-09-17 Michael Albinus + + Fix annoyance in tramp-smb.el + + * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): + Add "TERM=dumb". + +2021-09-17 Olivier Certner + F. Jason Park + + ERC: NickServ: Prompt for password last, overall simplifications (bug#46777) + + When 'erc-prompt-for-nickserv-password' is non-nil, don't ignore the + other forms of identification. Instead, process them first, and + prompt for the password last. Separate concerns (determination of the + nick to use, of the password to use, and actual message sending). + + Note that the user can be interactively prompted for a password on + reception of a NickServ request, as before (on + 'erc-prompt-for-nickserv-password'). + + * lisp/erc/erc-services.el (erc-nickserv-identify): Make the password + argument optional (and don't prompt for it interactively). Further, + now take the nick to use for identification (interactively, ask for + it, defaulting to the current one). Move the actual message sending + into the new 'erc-nickserv-send-identify' function, and the password + prompting into 'erc-nickserv-get-password'. + + (erc-nickserv-send-identify): New function containing the code for + sending the identify message to NickServ, given the nick and password. + + (erc-nickserv-get-password): Try each password source in turn, in the + following order: 'erc-nickserv-passwords', auth-source (if + 'erc-use-auth-source-for-nickserv-password' is non-nil), and in the + end prompt the user interactively (if + 'erc-prompt-for-nickserv-password' is non-nil). If one source returns + a string, the function returns it, or nil if the string is empty. + + (erc-nickserv-call-identify-function): Declare obsolete, but retain + for backward compatibility. Prefer invoking 'erc-nickserv-identify' + directly instead. + + (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect) + (erc-nickserv-identify-on-nick-change): Call 'erc-nickserv-identify' + directly ('erc-nickserv-call-identify-function' has been obsoleted). + For the last two functions, remove the redundant checks on the + NickServ identification flags (additionally, it is doubtful they have + any measurable impact on performance). + + * etc/NEWS: Announce the change. + +2021-09-17 Amin Bandali + + * lisp/erc/erc-button.el (erc-emacswiki-url): Update to shorter address. + +2021-09-17 Alfred M. Szmidt + + * lisp/vc/vc.el: API doc fixes. + +2021-09-17 Manuel Giraud + + Reuse vc-read-backend more + + * lisp/vc/vc.el (vc-read-backend): New optional arguments. + (vc-create-repo): Use it here. + (vc-switch-backend): And here (bug#50603). + +2021-09-16 Stefan Kangas + + Docfix: use command substitution for 'universal-argument' + + * lisp/autoarg.el (autoarg-mode): + * lisp/bookmark.el (bookmark-set, bookmark-set-no-overwrite) + (bookmark-save): + * lisp/calendar/todo-mode.el (todo-insert-item) + (todo-filter-top-priorities) + (todo-filter-top-priorities-multifile): + * lisp/dired-x.el (dired-mark-extension, dired-mark-suffix): + * lisp/eshell/eshell.el (eshell): + * lisp/gnus/gnus-group.el (gnus-group-find-new-groups): + * lisp/gnus/gnus-start.el (gnus-find-new-newsgroups): + * lisp/gnus/gnus-sum.el (gnus-summary-show-article): + * lisp/gnus/gnus.el (gnus-secondary-servers): + * lisp/org/org-timer.el (org-timer-set-timer): + * lisp/org/ox.el (org-export-dispatch-last-position): + * lisp/printing.el (pr-ps-directory-preview) + (pr-ps-directory-using-ghostscript, pr-ps-directory-print) + (pr-ps-directory-ps-print, pr-ps-buffer-preview) + (pr-ps-buffer-using-ghostscript, pr-ps-buffer-print) + (pr-ps-buffer-ps-print, pr-despool-preview) + (pr-despool-using-ghostscript, pr-despool-print) + (pr-despool-ps-print, pr-ps-file-up-ps-print, pr-ps-fast-fire) + (pr-txt-fast-fire): + * lisp/progmodes/idlwave.el (idlwave-complete): + * lisp/progmodes/sh-script.el (sh-set-shell): + * lisp/replace.el (occur): + * lisp/ses.el (ses--advice-yank): + * lisp/simple.el (set-mark-command-repeat-pop): + * lisp/sort.el (delete-duplicate-lines): + * lisp/strokes.el (strokes-help): + * lisp/textmodes/artist.el (artist-mode): + * lisp/textmodes/reftex-cite.el (reftex-citation): + * lisp/textmodes/reftex-dcr.el (reftex-view-crossref): + * lisp/textmodes/reftex-index.el (reftex-index-selection-or-word) + (reftex-display-index): + * lisp/textmodes/reftex-ref.el (reftex-reference): + * lisp/textmodes/reftex-toc.el (reftex-toc): + * lisp/textmodes/reftex-vars.el (reftex-cite-prompt-optional-args) + (reftex-enable-partial-scans): + * lisp/textmodes/texnfo-upd.el (texinfo-master-menu): + * lisp/windmove.el (windmove-display-in-direction) + (windmove-delete-left, windmove-delete-up) + (windmove-delete-right, windmove-delete-down): + * lisp/window.el (recenter-window-group, recenter-other-window): Use + command substitution for 'universal-argument' instead of raw "C-u". + +2021-09-16 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp-sh.el (tramp-methods) : + Reintroduce "%n" marker. + (tramp-maybe-open-connection): Handle it. + + * lisp/net/tramp.el (tramp-prefix-regexp): + * lisp/net/tramp-smb.el (tramp-smb-options): Fix docstring. + + * lisp/net/tramp*.el: Fix typos. Remove trailing space from + `yes-or-no-p' and `y-or-n-p' prompts. + + * test/lisp/net/tramp-tests.el (tramp--test-telnet-p): New defun. + (tramp-test29-start-file-process, tramp-test30-make-process) + (tramp-test35-remote-path, tramp-test44-asynchronous-requests): + Adapt tests. + +2021-09-16 Wilson Snyder + + verilog-mode.el: Merge from upstream: prepare for lexical bindings. + + * verilog-mode.el (verilog-do-indent) + (verilog-indent-declaration, verilog-read-always-signals-recurse) + (verilog-read-decls): Prepare for lexical bindings. + +2021-09-16 Eli Zaretskii + + Support '...' quoting in Lisp files + + * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2): + Support quoting 'like this'. + +2021-09-16 Augusto Stoffel + + Make 'compile' respect buffer-local process environment + + * lisp/progmodes/compile.el (compilation-start): Use + `process-environment' from original buffer in the compilation + process (bug#50607). + +2021-09-16 Lars Ingebrigtsen + + Bind `M-o' in html-mode and enriched-mode + + * lisp/textmodes/enriched.el (enriched-mode-map): Actually define + the `M-o' face map. + + * lisp/textmodes/sgml-mode.el (html-mode-map): Ditto (bug#50616). + + * lisp/textmodes/sgml-mode.el (html-mode): Adjust doc string. + +2021-09-16 Kevin Brubeck Unhammer + + Allow irc network symbols in erc-autojoin-channels-alist + + * lisp/erc/erc-join.el (erc-autojoin-channels-alist): Explain the + extension. + (erc-autojoin-server-match): New function. + (erc-autojoin-channels): Use it. + (erc-autojoin-current-server): New function. + (erc-autojoin-add): Use it. + (erc-autojoin-remove): Ditto. + + This can be useful when connecting to an IRC proxy like Weechat that + relays several networks under the same server. If we just keyed on the + server name, we would end up joining a channel on all networks + whenever we join one network on that server. + + Networks are simply stored as symbols instead of regexes, since that's + how `erc-network' works. + + The `erc-autojoin-add' function will still auto-add servers as strings + if the network doesn't have at least one entry in + `erc-autojoin-channels-alist'. + +2021-09-16 Stefan Kangas + + Prefer "website" to "homepage" + + These days, a "home page" is understood to be only "the main web page + of a website" or "landing page", whereas a "website" is "a collection + of web pages and related content" (Wikipedia). + + * doc/emacs/emacs.texi (Top): + * doc/emacs/package.texi (Package Menu): + * doc/lispintro/emacs-lisp-intro.texi (Top): + * doc/lispref/elisp.texi (Top): + * doc/lispref/tips.texi (Documentation Tips): + * doc/misc/ede.texi (ede-project): + * doc/misc/efaq-w32.texi (More information): + * doc/misc/gnus-faq.texi (FAQ 5-7): + * doc/misc/gnus.texi (About mairix): + * doc/misc/mairix-el.texi (About): + * doc/misc/reftex.texi (AUCTeX, Imprint): + * lisp/cedet/ede/base.el (ede-project): + * lisp/cedet/ede/system.el (ede-web-browse-home): + * lisp/emacs-lisp/package.el (package-menu-mode-menu) + (package-browse-url): + * lisp/erc/erc-button.el (erc-emacswiki-url): + * lisp/filesets.el (filesets-goto-homepage): + * lisp/net/mairix.el: + * lisp/net/webjump.el (webjump-sample-sites): + * lisp/obsolete/vc-arch.el: + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): + * lisp/progmodes/idlwave.el (idlwave, idlwave-mode): + * lisp/textmodes/reftex-vars.el (reftex): + Prefer "website" to "home page". + + * doc/lispref/tips.texi (Documentation Tips): + Sort the "URL" header comment before "Homepage". + + * lisp/emacs-lisp/lisp-mnt.el + (lm-website): Rename from 'lm-homepage'. + (lm-homepage): Make into alias for 'lm-website'. + +2021-09-16 F. Jason Park + + Change the erc debug logging format to be more repeatable + + * erc.el (erc-debug-irc-protocol): Fix line-ending mismatch between + incoming and outgoing logger lines without changing interface. Do this + by adding carriage returns to the latter to improve machine + readability. Change printed peer labels to most accurately reflect + logical endpoints. + + (erc-debug-irc-protocol-time-format): Add new variable to support + timestamps in protocol logger output. + + (erc-debug-irc-protocol-version): Add new variable to help tooling + track logging format independent of ERC and Emacs versions. + + (erc-toggle-debug-irc-protocol): Add headers to protocol-log buffer + to aid future bug-reproduction tools. Clean up overlong lines (bug#50009). + +2021-09-16 F. Jason Park + + Fix erc nick trimming + + * lisp/erc/erc.el (erc-lurker-maybe-trim): Prevent warning from + showing up in third-party code using this function by autoloading + rx.el when needed. Remove trailing chars appended for uniquifying + purposes when a nick is already taken. Special thanks to Mattias + Engdegård for making this more respectable (Bug#50005). + + * test/lisp/erc/erc-tests.el: Add tests for the above and require + erc-networks. + +2021-09-16 F. Jason Park + + Fix mistake in test for erc-ring-previous-command + + * test/lisp/erc/erc-tests.el (erc-ring-previous-command): + The variable erc-send-completed-hook was previously set to nil + permanently, which would affect other tests (bug#50005). + +2021-09-16 Stefan Kangas + + Do interactive mode tagging for play/*.el + +2021-09-16 Eli Zaretskii + + Clarify use of early-init file + + * doc/emacs/custom.texi (Early Init File): Clarify that using the + early-init file should be reserved to cases where it is absolutely + necessary. (Bug#50491) + +2021-09-16 Lars Ingebrigtsen + + Clarify test-completion doc string + + * src/minibuf.c (Ftest_completion): Clarify what it means to be a + valid completion (bug#50583). + +2021-09-16 Stefan Kangas + + Remove references to dead packages + + * etc/themes/manoj-dark-theme.el: Delete references to colortheme and + emacs-goodies. + +2021-09-16 Stefan Kangas + + Make a redundant idlwave variable obsolete + + * lisp/progmodes/idlw-help.el (idlwave-help-browse-url-available): + Make obsolete. + (idlwave-help-check-locations): Don't use above variable. + +2021-09-16 Stefan Kangas + + Various minor checkdoc tweaks + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add more + "good" words that are used a lot in practice, and where using them + doesn't really hurt the quality of the documentation. + (checkdoc-proper-noun-list): Add "dired", remove "ispell"; the + latter should not always be capitalized. + (checkdoc-common-verbs-wrong-voice): Add some more common words. + Don't check for "matches" as it leads to too many false positives and + almost no fixes in practice. + (checkdoc-this-string-valid-engine): Clarify comment. + (checkdoc-in-abbreviation-p): Ignore some less common or non-standard + abbreviations. + +2021-09-16 Stefan Kangas + + Doc fix for y-or-n-p; trailing space is no longer needed + + * doc/lispref/minibuf.texi (Yes-or-No Queries): + * doc/lispref/os.texi (Suspending Emacs): + * doc/lispref/tips.texi (Programming Tips): + * doc/misc/gnus-faq.texi (FAQ 5-9): + * lisp/subr.el (y-or-n-p): + * src/fns.c (Fyes_or_no_p): Doc fix to reflect that a trailing space + is no longer needed; one is added or removed automatically. + +2021-09-16 Stefan Kangas + + * doc/misc/pgg.texi: Clarify that its obsolete in the menu entry. + +2021-09-15 Stefan Kangas + + Remove function obsolete since 22.1 + + * lisp/erc/erc-networks.el (erc-current-network): Remove function + obsolete since Emacs 22.1. + +2021-09-15 Eli Zaretskii + + Documentation followup to a recent commit + + * doc/lispref/tips.texi (Documentation Tips): Make the wording of + recommendation not to over-use \\[..] more future-proof. + (Bug#50599) + +2021-09-15 Basil L. Contovounesios + + Evaluate recent isearch-motion lambdas + + * lisp/isearch.el (beginning-of-buffer, end-of-buffer) + (scroll-up-command, scroll-down-command): Evaluate the lambdas + inside the isearch-motion properties of these commands. + +2021-09-15 Stefan Kangas + + checkdoc: Don't warn about command substitutions by default + + * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): + Add new valid value nil meaning to never warn about too many command + substitutions, and use this value as the default. This is no longer a + performance problem on modern machines. (Bug#50599) + (checkdoc-this-string-valid-engine): Respect above new valid value + nil. + +2021-09-15 Juri Linkov + + * lisp/tab-line.el: Add context menu bound to down-mouse-3 like on tab bar. + + * lisp/tab-line.el: Bind tab-line down-mouse-3 to tab-line-context-menu. + (tab-line-tab-map): Rebind tab-line-select-tab from mouse-1 to down-mouse-1. + Bind down-mouse-3 to tab-line-tab-context-menu. + (tab-line-add-map): Rebind tab-line-new-tab from mouse-1 to down-mouse-1. + (tab-line-left-map, tab-line-right-map): Rebind mouse-1 to down-mouse-1. + (tab-line-tab-context-menu, tab-line-context-menu): New functions. + (tab-line-hscroll-right, tab-line-hscroll-left) + (tab-line-new-tab, tab-line-select-tab) + (tab-line-switch-to-prev-tab, tab-line-switch-to-next-tab) + (tab-line-close-tab): Rename event args to 'event'. + +2021-09-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-format): Add new option tab-bar-format-menu-global + + (tab-bar-format-menu-global): New function. + +2021-09-15 Juri Linkov + + Add docstrings to context menu functions, and add middle-separator + + * lisp/mouse.el (context-menu-functions): Add context-menu-middle-separator + to default values. + (context-menu-middle-separator): New function. + + * lisp/replace.el (occur-context-menu): Use middle-separator. + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): + Use middle-separator and reorder menu items correspondingly. + +2021-09-15 Philip Kaludercic + + Merge branch 'feature/rcirc-update' + +2021-09-15 Lars Ingebrigtsen + + Tweak python-hideshow-forward-sexp-function warning avoidance + + * lisp/progmodes/python.el + (python-hideshow-forward-sexp-function): Avoid compilation warning + in a more standard way. Problem reported in + https://thedailywtf.com/articles/the-programmer-s-motto-and-other-comments + +2021-09-15 Eli Zaretskii + + Avoid crashes due to clearing of a frame's face cache + + * src/xfaces.c (clear_face_cache): Don't clear fonts and faces of + a frame that is being redisplayed, just because it's time for some + routine maintenance. (Bug#50571) + * src/xdisp.c (redisplay_internal): + * src/frame.h (struct frame) : Update + commentary of using this struct member. + +2021-09-15 Michael Albinus + + * lisp/net/tramp-sh.el (tramp-methods): : Change template. (Bug#50594) + +2021-09-15 Eli Zaretskii + + Avoid compiler warnings in comp.c on MS-Windows + + * src/comp.c (DEF_DLL_FN, init_gccjit_functions): Don't load and + don't define functions/macros if libgccjit doesn't have them, to + avoid compiler warnings. + +2021-09-15 Mattias Engdegård + + Faster grep pattern for identifiers + + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + Use the `-w` flag instead of wrapping the pattern in regexps that make + matching much slower. This speeds up `xref-find-references` by about + 3× on macOS. + +2021-09-15 Eli Zaretskii + + Update Unicode support to Unicode version 14.0.0 + + * admin/unidata/copyright.html: + * admin/unidata/UnicodeData.txt: + * admin/unidata/Blocks.txt: + * admin/unidata/BidiBrackets.txt: + * admin/unidata/BidiMirroring.txt: + * admin/unidata/IVD_Sequences.txt: + * admin/unidata/NormalizationTest.txt: + * admin/unidata/SpecialCasing.txt: + * test/manual/BidiCharacterTest.txt: Updated files from Unicode + 14.0. + + * lisp/international/fontset.el (script-representative-chars): Add + new scripts. + (otf-script-alist): Update from latest version. + (setup-default-fontset): Add new scripts. + * lisp/international/characters.el: Update syntax and category + tables for new characters and scripts. + (char-width-table): Update for changes in Unicode 14.0. + * lisp/international/mule-cmds.el (ucs-names): Update used and + unused ranges per Unicode 14.0. + + * test/lisp/international/ucs-normalize-tests.el + (ucs-normalize-tests--failing-lines-part1) + (ucs-normalize-tests--failing-lines-part2): Update per the test + results. + + * doc/lispref/nonascii.texi (Character Properties): Update Unicode + version number. + + * etc/NEWS: Announce support for Unicode 14.0. + + * admin/notes/unicode: Minor copyedits. + +2021-09-15 João Távora + + * doc/misc/flymake.texi: Fix @include docstyle.texi + +2021-09-15 Augusto Stoffel + + Python shell: rearrange printing of newline before output + + * progmodes/python.el (python-shell-output-filter-in-progress) + (python-shell-output-filter-buffer): Move defvars to avoid compiler + warnings. + (python-shell-eval-setup-code): Don't print a newline in + __PYTHON_EL_eval. + (python-shell-send-string): Insert newline before output when + applicable (bug#50514). + +2021-09-15 Lars Ingebrigtsen + + Make bookmark fringe marks evaporate + + * lisp/bookmark.el (bookmark--set-fringe-mark): Make the bookmark + evaporate when a buffer is erased (like, for instance, when doing + `revert-buffer' in a vc buffer). + +2021-09-15 Lars Ingebrigtsen + + Mention `lisp-data-mode' in `emacs-lisp-mode' doc string + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Mention + `lisp-data-mode'. + +2021-09-15 Juri Linkov + + Adjust occur-context-menu and elisp-context-menu + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): Add separator + only when there is a symbol at mouse click. + + * lisp/replace.el (occur-context-menu): Insert items in the middle + of the menu after mark-whole-buffer. + +2021-09-15 Philip Kaludercic + + Add occur-related context-menu operations (bug#50552) + + * replace.el (occur-word-at-mouse): Add new command. + (occur-symbol-at-mouse): Add new command. + (occur-context-menu): Add new function. + +2021-09-15 Juri Linkov + + * lisp/window.el (display-buffer-in-previous-window): Add symbolp (bug#50576) + +2021-09-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-close-other-tabs): Add arg ‘tab-number’. + + (tab-bar-mouse-context-menu): Bind menu-item "Close other tabs" to + tab-bar-close-other-tabs with arg ‘tab-number’. + +2021-09-15 Juri Linkov + + * lisp/tab-bar.el: Rename args to consistent naming convention. + + Use the same naming scheme for function arguments. Use the term "index" when + arguments count from 0, and the term "number" when arguments count from 1. + + * lisp/tab-bar.el (tab-bar-select-tab): Rename ‘arg’ to ‘tab-number’. + (tab-bar-move-tab-to): Rename ‘from-index’ to ‘from-number’ + and ‘to-index’ to ‘to-number’. + (tab-bar-move-tab-to-frame): Rename ‘from-index’ to ‘from-number’ + and ‘to-index’ to ‘to-number’. + (tab-bar-new-tab-to): Rename ‘to-index’ to ‘tab-number’. + (tab-bar-close-tab): Rename ‘arg’ to ‘tab-number’ + and ‘to-index’ to ‘to-number’. + (tab-bar-rename-tab): Rename ‘arg’ to ‘tab-number’. + (tab-bar-change-tab-group): Rename ‘arg’ to ‘tab-number’. + +2021-09-15 Stephen Gildea + + * lisp/mh-e/mh-e.el: Simplify file commentary for a native package. + +2021-09-15 Dmitry Gutov + + Localize namespace-filtering code + + To be able to filter results coming from + elisp-xref-find-def-functions, and for general ease of + understanding. + + * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): + Undo the previous change. + (xref-backend-apropos): Update accordingly. + (elisp--xref-filter-definitions): New function. + (xref-backend-definitions): Use it to post-filter the results + coming from elisp--xref-find-definitions. + + * test/lisp/progmodes/elisp-mode-tests.el (find-defs-minor-defvar-c): + New test. + (find-defs-defun-defvar-el): Update test. + +2021-09-15 Wilson Snyder + + verilog-mode.el: Update verilog-mode from upstream. + + * lisp/progmodes/verilog-mode.el: (verilog-basic-complete-re) + (verilog-behavioral-block-beg-re, verilog-defun-keywords) + (verilog-defun-level-generate-only-re, verilog-defun-level-re) + (verilog-endcomment-reason-re, verilog-indent-re) (verilog-keywords, + verilog-no-indent-begin-re) (verilog-set-auto-endcomments): Support + Verilog-A `analog` blocks (#1738). Reported by Dan McMahill. + (verilog-read-defines): Fix verilog-read-defines to work + with SystemVerilog types (#1734). Reported by Shareef Jalloq. + (verilog-indent-declaration, + verilog-pretty-declarations): Fix leaving extra spaces before tabs on + lining up declarations. (#1723) Reported by TAKAI Kousuke. + (verilog-auto-inst, verilog-auto-inst-port) + (verilog-read-auto-template-middle, verilog-read-sub-decls-line): + Support AUTONOHOOKUP to not AUTOWIRE hookup AUTO_TEMPLATE signals. (#1526) + Reported by firefoxtc. + +2021-09-15 Glenn Morris + + * test/Makefile.in (XDG_CONFIG_HOME): Don't export (bug#50577). + +2021-09-14 Glenn Morris + + * doc/misc/flymake.texi: Avoid xrefs in @copying. + + This isn't really what @copying is for, and doesn't work with + makeinfo 4.13. + +2021-09-14 Philip Kaludercic + + Fix interactive forms for rcirc-define-command + + * rcirc.el (rcirc-define-command): Handle string descriptors correctly + +2021-09-14 Philip Kaludercic + + Unset mode-line-process for all buffers on reconnecting + + * rcirc.el (rcirc-sentinel): Add loop over all managed buffers + +2021-09-14 Philip Kaludercic + + Restore rcirc-target if possible + + * rcirc.el (rcirc-process-message): Extract target from buffer name + +2021-09-14 João Távora + + Unbreak make bootstrap (don't use cl-defun's &aux parameters) + + * lisp/progmodes/flymake.el (flymake--handle-report): Don't use &aux. + +2021-09-14 Philip Kaludercic + + Display server buffer after connecting + + * rcirc.el (rcirc-display-server-buffer): Add new option + (rcirc): Respect rcirc-display-server-buffer + +2021-09-14 Philip Kaludercic + + Allow for multiple attempts when reconnecting + + * doc/misc/rcirc.texi (rcirc commands): Mention rcirc-reconnect-attempts + * etc/NEWS: Document change + (rcirc-connect): Ensure no other process exists + (rcirc-reconnect-attempts): Add option + (rcirc-failed-attempts): Add local variable + (rcirc-reconnection-timer): Add local variable + (rcirc-reconnect): Add function + (rcirc-sentinel): Manage multiple reconnection attempts + (rcirc-process-server-response): Change user for error messages + (rcirc-mode): Don't set rcirc-last-connect-time + (reconnect): Extract functionality to rcirc-reconnect + +2021-09-14 Philip Kaludercic + + * rcirc.texi (Hacking and Tweaking): Add missing section to menu + +2021-09-14 Philip Kaludercic + + * rcirc.el (rcirc-server-alist): Add #emacs to default server list + + Author: + +2021-09-14 Harald Jörg + + cperl-mode.el: Allow non-ASCII Perl identifiers + + Replace all "A-Z" regexp literals with unicode-aware rx constructs + wherever Perl allows non-ASCII identifiers. + * lisp/progmodes/cperl-mode.el (cperl-after-sub-regexp) + (cperl-after-label. cperl-sniff-for-indent) + (cperl-find-pods-heres, cperl-indent-exp) + (cperl-fix-line-spacing, cperl-imenu--create-perl-index) + (cperl-init-faces, cperl-find-tags): + Replace ASCII regex literals by unicode-aware rx constructs. + (cperl-init-faces): Eliminate unused lexical `font-lock-anchored'. + (cperl-have-help-regexp, cperl-word-at-point-hard): Allow non-ASCII + word characters. + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-fontify-special-variables): New test for $^T + and $^{VARNAME}. + (cperl-test-ws-rx cperl-test-ws+-rx), + (cperl-test-version-regexp, cperl-test-package-regexp): Skip + for perl-mode. + (cperl-test-identifier-rx, cperl--test-unicode-setup) + (cperl-test-unicode-labels, cperl-test-unicode-sub) + (cperl-test-unicode-varname) + (cperl-test-unicode-varname-list, cperl-test-unicode-arrays) + (cperl-test-unicode-hashes, cperl-test-unicode-hashref) + (cperl-test-unicode-proto, cperl-test-unicode-fhs) + (cperl-test-unicode-hashkeys, cperl-test-word-at-point): + New tests for unicode identifiers. + (cperl-test-imenu-index): Add a unicode identifier to the test. + + * test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add a + function with non-ASCII name for imenu tests. + +2021-09-14 Glenn Morris + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Fix type. + +2021-09-14 Alan Third + + A further fix for toolbar visibility problems on macOS (bug#50534) + + * src/nsterm.m (ns_update_begin): Ensure the toolbar's visibility is + set correctly. + +2021-09-14 Eli Zaretskii + + Fix recent changes in Flymake manual + + * doc/misc/flymake.texi: Fix typos. Downcase the first word of + each index entry, for more reliable sorting. + (Starting Flymake, Finding diagnostics, Troubleshooting): Fix + typos. + +2021-09-14 Lars Ingebrigtsen + + Make `find-function-source-path' into obsolete alias + + * lisp/finder.el (finder-commentary): Adjust usage. + + * lisp/emacs-lisp/find-func.el (find-function-source-path): Made + into obsolete alias (bug#50508). + (find-library-source-path): New name. + (find-library-name, find-library, find-function-noselect) + (find-variable-noselect, find-definition-noselect): Adjust usage + and update doc strings. + +2021-09-14 João Távora + + Re-organize and rewrite parts of the Flymake manual + + bug#50244 + + * doc/misc/flymake.texi (Starting Flymake): New section. + (Finding diagnostics): New section, now contains info previously in + "Listing diagnostics" + (Mode line status): Renamed from "Mode-line syntax check status" + (Troubleshooting): Renamed from "Backend exceptions". + (Flymake error types): Tweak phrasing. + +2021-09-14 João Távora + + Add support for project-wide diagnostics in Flymake (bug#50244) + + This is done with two new concepts: "foreign diagnostics" and + "list-only diagnostics". The manual has been updated with a + description of these new concepts. + + * doc/misc/flymake.texi (Flymake utility functions): + Explain creation of foreign diagnostics. + (Foreign and list-only diagnostics): New subsection. + (Listing diagnostics): New subsection. + + * lisp/progmodes/flymake.el + (Version): Bump to 1.2.1 + (project): Require project. + (flymake--diag): Add new slots 'orig-beg' and 'orig-end'. Rename + 'buffer' slot to 'locus'. + (flymake-make-diagnostic): Rework docstring. Accept stringp + LOCUS arg. + (flymake-diagnostic-beg, flymake-diagnostic-end) + (flymake-diagnostic-buffer): Simplify definition. + (flymake--equal-diagnostic-p): New helper + (flymake--highlight-line): Rework. Accept FOREIGN arg. + (flymake--state): Work docstring. Add new slot 'foreign-diags' + (flymake--handle-report): Call + flymake--update-diagnostics-listings. + (flymake--handle-report): New helper. + (flymake--mode): Forward declare. + (flymake--handle-report): Rework for foreign diagnostics. + (flymake-mode): When turning on, notice any Flymake diagnostics + for current buffer. When turning off update diagnostics listings. + (flymake-kill-buffer-hook): Turn off flymake explicitly before + killing. + (flymake--mode-line-counter): Use flymake-diagnostics to collect + diagnostics. + (flymake-show-diagnostic): Visit buffer of file-specific + diagnostic. + (flymake--tabulated-entries-1): New helper extracted from + flymake--diagnostic-buffer-entries. + (flymake--diagnostics-buffer-entries): Rework. + (flymake--diagnostics-base-tabulated-list-format): New helper. + (flymake--diagnostics-buffer-name): Adjust. + (flymake-list-only-diagnostics): New variable. + (flymake--project-diagnostic-list-project): New variable. + (flymake--clear-list-only-diagnostics): New helper. + (flymake-project-diagnostics-mode): New major mode. + (flymake--project-diagnostics) + (flymake--project-diagnostics-entries) + (flymake--project-diagnostics-buffer): New helpers. + (flymake-show-project-diagnostics): New command. + (flymake--update-diagnostics-listings): New helper. + (flymake-show-buffer-diagnostics): Renamed from flymake-diagnostics-buffer. + + * etc/NEWS: Mention change. + +2021-09-14 João Távora + + Bump lisp/progmodes/project.el version to 0.7.1 + + Amont other things exposes the new project-buffers generic function to + ELPA users. + + * lisp/progmodes/project.el (Version): Bump to 0.7.1 + +2021-09-14 João Távora + + Keep and report "foreign" diangnostics in flymake-cc Flymake backend + + This includes diagnostics for .h files that sprang up when checking a + c file. Those diagnostics are reported to the Flymake infrastructure + which does not (yet) do anything with them. + + This includes a change to the test fixtures, too. + + * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): Rework + + * test/lisp/progmodes/flymake-resources/another-problematic-file.c: + New file. + + * test/lisp/progmodes/flymake-resources/some-problems.h: + Add a function declaration.. + +2021-09-14 João Távora + + Abbreviate Flymake backend name in flymake-show-diagnostics-buffer + + * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): + (flymake-diagnostics-buffer-mode): Report abbreviated backend, too. + +2021-09-14 João Távora + + Unbreak M-x compile-defun of functions using flymake-log + + * lisp/progmodes/flymake.el (flymake-log): Check if compilation unit + is indeed a string before treating it as a file name. + +2021-09-14 João Távora + + Refactor some Flymake functions + + * lisp/progmodes/flymake.el (flymake-diagnostic-buffer): New + helper. + (flymake-diagnostic-beg, flymake-diagnostic-end): Tweak docstring. + (flymake--handle-report): Simplify. + (flymake--publish-diagnostics): Helper for flymake--handle-report. + (flymake--mode-line-counter, flymake-show-diagnostic) + (flymake--diagnostics-buffer-entries): Use + flymake-diagnostic-buffer, flymake-diagonstic-type, + flymake-diagnostic-beg. + +2021-09-14 João Távora + + Rename flymake--backend-state to flymake--state + + The previous name was confusing and akward and dreadful to type and + read. + + * lisp/progmodes/flymake.el (flymake--state): Rename from + flymake--backend-state. + (flymake--with-backend-state): Use flymake--state. + (flymake--handle-report): Use flymake--state. + (flymake--collect): Use flymake--state. + (flymake-running-backends): Use flymake--state. + (flymake--disable-backend): Use flymake--state. + (flymake--run-backend): Use flymake--state. + (flymake-start): Use flymake--state. + (flymake-mode): Use flymake--state. + (flymake--mode-line-title): Use flymake--state. + (flymake--mode-line-exception): Use flymake--state. + (flymake--mode-line-counter): Use flymake--state. + +2021-09-14 Lars Ingebrigtsen + + Project File Commands manual clarification + + * doc/emacs/maintaining.texi (Project File Commands): Clarify what + happens with the file name under point. + +2021-09-14 Alan Third + + Fix incorrectly appearing toolbar on NS (bug#50534) + + * src/nsmenu.m (update_frame_tool_bar): Ensure both sides of the test + are booleans. + * src/nsterm.m ([EmacsWindow createToolbar:]): Make the toolbar + non-visible initially, in case things get out of sync. Remove call to + update_frame_tool_bar: the window isn't yet associated with the view, + so it will return immediately. + +2021-09-14 Alan Third + + Fix libgccjit detection on macOS + + * configure.ac: Combine the Homebrew and MacPorts detection so they + will not create nonsense flags if both are installed. + +2021-09-14 Juri Linkov + + * lisp/tab-bar.el: Close tab only on mouse-1, not down-mouse-1 (bug#41343) + + * lisp/tab-bar.el (tab-bar-mouse-select-tab): Don't close the tab + when clicked on the close button. + (tab-bar-mouse-close-tab-from-button): New function. + (tab-bar-map): Bind [mouse-1] to 'tab-bar-mouse-close-tab-from-button'. + (tab-bar-mouse-move-tab): Do nothing on non-tab events. + +2021-09-14 Stefan Kangas + + Add user option to avoid checkdoc warning for unescaped left paren + + * lisp/emacs-lisp/checkdoc.el + (checkdoc-column-zero-backslash-before-paren): New user option to + avoid warning on unescaped left parenthesis in column zero. + (checkdoc-this-string-valid-engine): Respect above new option. + +2021-09-14 Stefan Kangas + + Minor improvements to checkdoc + + * lisp/emacs-lisp/checkdoc.el (checkdoc-symbol-words): Add ignored + values. + (checkdoc-proper-noun-list): Remove XEmacs from list of words to + capitalize; there is little need to insist on consistency here. + (checkdoc-in-abbreviation-p): Add abbreviation "etc." and sort entries + alphabetically. + +2021-09-13 Dmitry Gutov + + Use the term "future history" rather than "default" + + * lisp/progmodes/project.el + (project-find-file, project-or-external-find-file): + Update docstring. + (project--read-file-cpd-relative, project--read-file-absolute) + (project--completing-read-strict): Rename DEFAULT to MB-DEFAULT. + (project-find-file-in): Rename FILENAME to SUGGESTED-FILENAME. + +2021-09-13 Dmitry Gutov + + Make sure to return some valid project root + + * lisp/progmodes/project.el (project-prompt-project-dir): + If the user just pressed RET on prompt, prompt again. + +2021-09-13 Juri Linkov + + * lisp/progmodes/elisp-mode.el (elisp-context-menu): New function (bug#9054) + + (emacs-lisp-mode): Add elisp-context-menu to context-menu-functions. + +2021-09-13 Juri Linkov + + * lisp/isearch.el: Improve 'isearch-allow-motion' feature (bug#50466) + + * lisp/isearch.el: Add recenter to 'isearch-motion' property of + 'end-of-buffer' to maximize the number of search hits on the screen. + In 'isearch-motion' property of 'scroll-up-command' use 'recenter 0' + for the first line of the screen. + (isearch-beginning-of-buffer) + (isearch-end-of-buffer): Sync logic from 'isearch-allow-motion' part + of isearch-pre-command-hook. Direct users to isearch-allow-motion + in the docstrings. + (isearch-pre-command-hook): Don't override shifted 'isearch-yank-on-move' + in 'isearch-allow-motion'. + +2021-09-13 Mattias Engdegård + + Remove duplication of `find` file pattern arguments + + * lisp/cedet/semantic/symref/grep.el + (semantic-symref-derive-find-filepatterns): Avoid including the same + pattern twice. + +2021-09-13 Andrea Corallo + + * Clean-up some unnecessary macro usage in comp.c + + * src/comp.c (emit_static_object) + (Fcomp_native_driver_options_effective_p, add_driver_options) + (Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version): Clean-up + unenecessary 'defined (WINDOWSNT)' usage. + +2021-09-13 Lars Ingebrigtsen + + Continue NEWS tag checking + + Fix typo in previous files.el change + +2021-09-13 Lars Ingebrigtsen + + Mention unibyte issues in insert-file-contents-literally doc string + + * lisp/files.el (insert-file-contents-literally): Mention possible + issues with multibyte buffers (bug#50560). + +2021-09-13 Stefan Monnier + + * doc/lispref/variables.texi (named-let): Document TCO + +2021-09-13 Dmitry Gutov + + Fix the tests + + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-abs) + (xref--xref-file-name-display-is-nondirectory) + (xref--xref-file-name-display-is-relative-to-project-root): + Update for the latest change in xref.el. + +2021-09-13 Lars Ingebrigtsen + + Use a fringe mark in bookmark instead of a whole background line + + * lisp/bookmark.el (bookmark-face): Adjust colors. + (bookmark-fringe-mark): New bitmap. + (bookmark--fontify): Use a fringe instead of marking the whole line. + (bookmark--unfontify): Adjust to remove. + (bookmark--jump-via): Ditto. + (bookmark-set-fringe-mark): Renamed from bookmark-fontify. + (bookmark--set-fringe-mark, bookmark--remove-fringe-mark): Renamed + from --*fontify. Callers adjusted. + +2021-09-13 Lars Ingebrigtsen + + NEWS copy edits and tagging + + Correct nroff-mode NEWS entry after `M-o' changes + +2021-09-13 Lars Ingebrigtsen + + Mention how to disable auto-fill-mode in the auto-fill section + + * doc/lispref/text.texi (Margins): Mention how to disable + auto-fill-mode. + +2021-09-13 Lars Ingebrigtsen + + Document backtrace-on-error-noninteractive in the --batch section + + * doc/emacs/cmdargs.texi (Initial Options): Mention + backtrace-on-error-noninteractive. + +2021-09-13 Lars Ingebrigtsen + + Further NEWS tagging updates + +2021-09-13 Lars Ingebrigtsen + + completions-annotations doc string clarification + + * lisp/minibuffer.el (completions-annotations): Mention that it's + not always used. + +2021-09-13 Lars Ingebrigtsen + + Update some more NEWS tagging + +2021-09-13 Lars Ingebrigtsen + + Mention `benchmark-call' in the manual + + * doc/lispref/debugging.texi (Profiling): Mention `benchmark-call'. + +2021-09-13 Lars Ingebrigtsen + + Update some pcase NEWS tags for already-documented functions + + Update NEWS tagging for string helper functions + +2021-09-13 Lars Ingebrigtsen + + Document named-let and update some NEWS tags + + * doc/lispref/variables.texi (Local Variables): Document `named-let'. + +2021-09-13 Lars Ingebrigtsen + + Clarify bookmark-fontify NEWS entry + +2021-09-13 Lars Ingebrigtsen + + package-menu-execute doc string clarification + + * lisp/emacs-lisp/package.el (package-menu-execute): Say what + happens to upgrade-marked packages (bug#50551). + +2021-09-13 Lars Ingebrigtsen + + * etc/NEWS: Clarify insert-into-buffer (bug#50558). + +2021-09-13 Juri Linkov + + Support mouse events clicked on the tab bar but outside of any tab (bug#41343) + + * lisp/tab-bar.el (tab-bar--key-to-number): Return non-nil non-numeric t + when no tab is used. Return nil for current-tab. + (tab-bar-mouse-select-tab, tab-bar-mouse-close-tab): Do nothing + when tab-bar--key-to-number returns non-nil non-numeric t + for click events outside of any tab. + (tab-bar-mouse-context-menu): Add context menu when mouse is clicked + outside of tabs. Add "Duplicate" alongside with "Close" to the menu + used when mouse is clicked on a tab. + (toggle-tab-bar-mode-from-frame, toggle-frame-tab-bar): Move code + closer to 'tab-bar-show'. + + * src/xdisp.c (handle_tab_bar_click): Return Qtab_bar with empty list + when mouse is clicked on the tab bar but outside of any tab. + +2021-09-13 Lars Ingebrigtsen + + Only do multi-isearch in eww if there's next/prev links + + * lisp/net/eww.el (eww-handle-link): Only do multi-isearch if + there's a next/prev link in the HTML (bug#50497). + (eww-setup-buffer): Clear the function. + (eww-mode): Don't set it here. + +2021-09-13 Juri Linkov + + Change value of DEFAULT_TAB_BAR_BUTTON_MARGIN from 4 to 1 (bug#50424) + + * doc/emacs/frames.texi (Tab Bars): Improve documentation. + +2021-09-13 Lars Ingebrigtsen + + Fix detection of char regions in print-fontset-element + + * lisp/international/mule-diag.el (print-fontset-element): Fix the + regexp for "foo .. bar " (bug#50519). + +2021-09-13 Lars Ingebrigtsen + + Add some search-whitespace-regexp examples + + * lisp/isearch.el (search-whitespace-regexp): Add some + alternatives in the defcustom. + +2021-09-13 Lars Ingebrigtsen + + Mention get-byte in shortdoc + + * lisp/emacs-lisp/shortdoc.el (buffer): Mention `get-byte' here. + +2021-09-13 Tassilo Horn + + bug-reference.el: Adapt default debbugs bug regexp for IRC modes + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-irc-alist): + Adapt regexp so that group 1 defines overlay region. + +2021-09-13 Tassilo Horn + + bug-reference.el: Adapt default debbugs bug regexp for mail modes + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-mail-alist): + Adapt regexp so that group 1 defines overlay region. + +2021-09-13 Stefan Kangas + + Declare unused function cperl-inside-parens-p obsolete + + * lisp/progmodes/cperl-mode.el (cperl-inside-parens-p): Declare + unused function obsolete. + +2021-09-13 Stefan Kangas + + Improve checkdoc abbreviation handling + + * lisp/emacs-lisp/checkdoc.el + (checkdoc-in-abbreviation-p): New helper function. + (checkdoc-sentencespace-region-engine): Fix handling abbreviations + after escaped parenthesis. + + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-tests-in-abbrevation-p) + (checkdoc-tests-in-abbrevation-p/with-parens) + (checkdoc-tests-in-abbrevation-p/with-escaped-parens): New tests. + +2021-09-13 Stefan Kangas + + Remove some remaining references to XEmacs + + * lisp/allout.el (allout-overlay-preparations): + * lisp/cedet/semantic/decorate/include.el + (semantic-decoration-unknown-include-menu) + (semantic-decoration-fileless-include-menu): + * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-setup-timers): + * lisp/vc/ediff-init.el: + * lisp/vc/ediff-util.el (ediff-mode): Remove some remaining references + to XEmacs. + +2021-09-13 Dmitry Gutov + + Extend xref-file-name-display to elisp and etags definitions + + And all other types of locations (with a looks-like-file-name check). + + * lisp/progmodes/xref.el (xref--group-name-for-display): Extract + from xref-buffer-location's implementation of xref-location-group. + (xref-file-location): Define trivial reader for the 'file' slot. + (xref-location-group): Update docstring. + (xref--analyze): Use the new function here, to be able to format + group names coming from any location type. + +2021-09-12 Amin Bandali + + ERC: Use 'string-replace' only on Emacs 28 and later + + * lisp/erc/erc-dcc.el (erc-dcc-unquote-filename): + * lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy) + (erc-update-mode-line-buffer, erc-message-english-PART): Use + 'string-replace' only on Emacs 28 and later, otherwise use + 'replace-regexp-in-string' on older Emacsen. + +2021-09-12 Amin Bandali + + ERC: Use 'string-search' only on Emacs 28 and later + + * lisp/erc/erc-backend.el (erc-parse-server-response): + * lisp/erc/erc-dcc.el (erc-dcc-member): + * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) + (erc-speedbar-expand-channel, erc-speedbar-expand-user): + * lisp/erc/erc.el (erc-send-input): Use 'string-search' only on + Emacs 28 and later, otherwise use 'string-match' on older Emacsen. + +2021-09-12 Juri Linkov + + * lisp/tab-bar.el (tab-bar-get-buffer-tab): Use 'remq' instead of 'seq-remove' + +2021-09-12 Juri Linkov + + Allow region-related context menu to be used on selected region with one click + + * lisp/mouse.el (mouse-drag-track): Don't deactivate the mark for + the context menu invoked by down-mouse-3. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01577.html + +2021-09-12 Juri Linkov + + * lisp/thingatpt.el (thing-at-mouse): New function (bug#50256). + + * lisp/net/dictionary.el: Add 'context-menu-dictionary' to + 'context-menu-functions'. + (dictionary-search-word-at-mouse): New function. + (context-menu-dictionary): New function that uses 'thing-at-mouse'. + (dictionary-mouse-popup-matching-words): Remove stray 'selected-window'. + + * lisp/textmodes/flyspell.el (flyspell-context-menu): Add '_click' arg. + +2021-09-12 Juri Linkov + + * lisp/mouse.el (context-menu-map): Add 'click' arg to called funs (bug#50256) + + (context-menu-toolbar, context-menu-global, context-menu-local) + (context-menu-minor, context-menu-buffers, context-menu-vc) + (context-menu-undo, context-menu-region, context-menu-ffap): Add 'click' arg. + + * lisp/dired.el (dired-context-menu): + * lisp/help-mode.el (help-mode-context-menu): + * lisp/info.el (Info-context-menu): + * lisp/net/eww.el (eww-context-menu): + * lisp/net/goto-addr.el (goto-address-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): Add 'click' arg. + +2021-09-12 Eli Zaretskii + + Fix quoting style in Lisp comments + + * lisp/textmodes/rst.el: + * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions): + * lisp/org/org.el: + * lisp/org/org-list.el (org-list-to-generic): + * lisp/org/org-compat.el: + * lisp/hexl.el (hexl-ascii-region): + * lisp/emacs-lisp/lisp-mode.el: + * lisp/calendar/calendar.el: In comments, quote 'like this'. + +2021-09-12 Juri Linkov + + * lisp/mouse.el (context-menu-map): Remove duplicate separators (bug#50067). + + * lisp/mouse.el (context-menu-undo, context-menu-region): + * lisp/progmodes/prog-mode.el (prog-context-menu): + Use 'when' instead of ':visible' that allows to remove duplicate separators + created between empty submenus. + +2021-09-12 Juri Linkov + + Use window-point in event-start and event-end (bug#50256) + + * lisp/subr.el (event-start, event-end): Provide window-point + as an arg for posn-at-point, and for the constructed list. + + * lisp/help-mode.el (help-mode-context-menu): Remove a kludge + that checked if window-buffer is current-buffer. + +2021-09-12 Juri Linkov + + * lisp/tab-bar.el: Improve logic of 'ignore-current-tab'. + + * lisp/tab-bar.el (tab-bar-get-buffer-tab): Prefer the current tab + when 'ignore-current-tab' is nil. + (display-buffer-in-tab): Use alist entry 'ignore-current-tab' + as the third arg of 'tab-bar-get-buffer-tab'. Improve docstring. + + Suggested by Feng Shu + https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00955.html + +2021-09-12 Eli Zaretskii + + Minor copyedits in Emacs FAQ + + * doc/misc/efaq.texi (What was XEmacs?, Colors on a TTY): Fix + wording and improve the description. + +2021-09-12 Lars Ingebrigtsen + + Fix read-no-blanks-input doc string typo + + * lisp/minibuffer.el (read-no-blanks-input): Fix doc string typo. + +2021-09-12 dick r. chiang + + Fix read-no-blanks-input history argument + + * lisp/minibuffer.el (read-no-blanks-input): Use the + `minibuffer-history' symbol, not the value (bug#50535). + +2021-09-12 Mattias Engdegård + + Infer identifier namespace in elisp xref backend + + Improve the accuracy of `xref-find-definitions` by inferring the + likely namespace of the sought identifier from its context. + This reduces the number of irrelevant search hits when it is clear + what kind of identifier is being looked for (such as showing a + variable when the user looks for a function). + + Co-written with Dmitry Gutov. + + * lisp/progmodes/elisp-mode.el (elisp--xref-list-index) + (elisp--xref-infer-namespace, xref-backend-identifier-at-point): New. + (xref-backend-definitions): Use the buffer position for inferring. + (elisp--xref-find-definitions): Use the inferred namespace. + (xref-backend-apropos): Adapt call. + * test/lisp/progmodes/elisp-mode-tests.el (elisp-mode-test--with-buffer) + (elisp-mode-with-buffer, elisp-mode-infer-namespace): New tests. + +2021-09-12 Martin Rudalics + + ;* lisp/window.el (switch-to-prev-buffer): Fix typo in doc-string. + +2021-09-12 Martin Rudalics + + Improve doc-strings of some buffer display options (Bug#50518) + + * lisp/window.el (pop-up-frame-alist, same-window-buffer-names) + (same-window-regexps, pop-up-frames, pop-up-windows): In + doc-strings say that these options are maintained for backward + compatibility only (Bug#50518). + +2021-09-12 Eli Zaretskii + + Improve documentation of tab bars in the Emacs manual + + * doc/emacs/frames.texi (Tab Bars): Improve wording, indexing, and + cross-references. Make sure each command is mentioned by its name + when it is called out by the key sequence. Index entries should + precede @item lines in a @table. + +2021-09-12 Eli Zaretskii + + Improve documentation of some tab-bar features + + * lisp/tab-bar.el (tab-bar-show, toggle-frame-tab-bar): Doc + fixes. + + * etc/NEWS: Update the corresponding entries. + +2021-09-12 Olivier Certner + + ERC: Track: Fix a perceived minor bug in mode line face selection + + * lisp/erc/erc-track.el (erc-track-modified-channels): Fix what is a + probable bug when a new insert event happens for a buffer that was not + tracked or for which no mode line face was selected: in this case, + stop treating the latest buffer's face (first in list) as the previous + one, which could be overridden with an older one (in FACES' rest), as + if it had happened after. + +2021-09-12 Olivier Certner + Amin Bandali + + ERC: Track: Rewrite 'erc-track-find-face' as 'erc-track-select-mode-line-face' + + * lisp/erc/erc-track.el (erc-track-find-face): Declare obsolete and + rewrite as 'erc-track-select-mode-line-face', changing the function + arguments, so that it is very clear what the current algorithm is. + No functional changes. Performance improvements. Clarify the + documentation and remove the part on some faces being lists, which + clearly does not apply. + (erc-track-modified-channels): Replace calls to 'erc-track-find-face' + with calls to 'erc-track-select-mode-line-face', preserving the + existing behavior. + (erc-modified-channels-alist): Change the reference to + 'erc-track-select-mode-line-face' in the documentation following the + rename. + * etc/NEWS: Announce the change. + +2021-09-12 Amin Bandali + + Merge from origin/emacs-27 + + d7f4cc0974 ERC: Track: Clarify documentation on tracked buffers and a... + fb1f0dfec9 ERC: Track: Fix documentation of structure of 'erc-modifie... + 252a769b11 ; * doc/lispref/files.texi (Changing Files): Fix xref to f... + edc93a5ce6 ; Fix grammar in efaq.texi on Emacs vs XEmacs. + + # Conflicts: + # doc/misc/efaq.texi + +2021-09-12 Olivier Certner + + ERC: Track: Clarify documentation on tracked buffers and add references + + * lisp/erc/erc-track.el (erc-modified-channels-alist): Clarify what + the list contains. Add references to variables and functions involved + in displaying tracked buffers from this list. + (erc-make-mode-line-buffer-name): Describe exactly the algorithm, and + reference custom variables that influence it. + +2021-09-12 Olivier Certner + + ERC: Track: Fix documentation of structure of 'erc-modified-channels-alist' + + * lisp/erc/erc-track.el (erc-modified-channels-alist): Fix the + docstring: each element is a dotted list where the last cdr is + sometimes a proper list, making the element only sometimes a proper + list. + +2021-09-12 Dmitry Gutov + + Re-fix bug#16897 + + * lisp/vc/vc-git.el (vc-git--file-list-is-rootdir): + Extract from 'vc-git-command'. + (vc-git--literal-pathspecs): Use it here as well. + +2021-09-11 Tassilo Horn + + Refactor bug-reference setup for software forges + + * lisp/progmodes/bug-reference.el (bug-reference-gitea-instances) + (bug-reference-gitlab-instances,bug-reference-sourcehut-instances): + Delete defvars. Those are replaced with bug-reference-forge-alist. + (bug-reference-forge-alist): New variable. + (bug-reference--build-forge-setup-entry): New cl-defgeneric with + methods for github, gitlab, gitea, and sourcehut instances. + (bug-reference--setup-from-vc-alist): Use bug-reference-forge-alist + and bug-reference--build-forge-setup-entry. + * doc/emacs/maintaining.texi (Bug Reference): Mention that the first + group in bug-reference-bug-regexp defines the overlay bounds. Also + mention bug-reference-forge-alist in VCS setup section. + +2021-09-11 Philip Kaludercic + + * NEWS: Remove empty entry + + * NEWS: Mention rcirc changes + +2021-09-11 Mattias Engdegård + + Fix byte-compilation warnings + + * lisp/calc/calc-graph.el (calc-gnuplot-check-for-errors): + * lisp/calendar/holidays.el (list-holidays): + Dodge 'save-excursion+set-buffer' warnings that appeared after + the progn flattening was introduced. + +2021-09-11 Mattias Engdegård + + Remove obsolete variable + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize--vars-outside-condition): Remove. + (byte-optimize-form-code-walker): Remove bindings. + +2021-09-11 Mattias Engdegård + + Propagate aliased lexical variables in byte compiler + + Replace uses of a variable aliasing another variable with that aliased + variable, to allow for variable removal when possible. This also + enables opportunities for other optimisations. Example: + + (let ((y x)) (f y)) => (f x) + + The optimisation is only performed if both aliased and aliasing + variables are lexically bound. Shadowing bindings are α-renamed when + necessary for correctness. Example: + + (let* ((b a) (a EXPR)) (f a b)) + => (let* ((a{new} EXPR)) (f a{new} a)) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--aliased-vars): New. + (byte-optimize-form-code-walker): Cancel aliasing upon mutation. + (byte-optimize--rename-var-body, byte-optimize--rename-var): New. + (byte-optimize-let-form): Add the optimisation. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add relevant test cases. + +2021-09-11 Philip Kaludercic + + * rcirc.texi: Replace defun-rcirc-command with rcirc-define-command + + * rcirc.texi: Document rcirc-track-abbrevate-flag + + * rcirc.texi: Document rcirc-nick-filter and rcirc-channel-filter + + * rcirc.texi: Document rcirc-track-ignore-server-buffer-flag + + * rcirc.texi: Document rcirc-omit-responses-after-join + +2021-09-11 Philip Kaludercic + + Rename rcirc-omit-after-reconnect to rcirc-omit-after-connect + + * rcirc.el (rcirc-omit-after-reconnect): Remove variable + (rcirc-omit-responses-after-join): Add variable + (rcirc-reconncting): Remove variable + (rcirc-joined): Add variable + (rcirc-get-buffer-create): Set rcirc-joined + (rcirc-print): Use rcirc-joined + (reconnect): Remove code relating to rcirc-reconncting + +2021-09-11 Augusto Stoffel + + Keep python.el compatible with older Emacsen + + * progmodes/python.el (python-shell-send-string): Don't assume + comint-max-line-length is defined (bug#50503). + +2021-09-11 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory): Simplify. + + * lisp/net/tramp-sh.el (tramp-methods) : Don't use + "%n" marker. + + * test/lisp/net/tramp-tests.el (tramp-test13-make-directory): Merge with + `tramp-test-make-directory-helper' and + `tramp-test13-make-directory-with-file-modes'. + (tramp-test44-asynchronous-requests): Use always the same + operation in timer. + +2021-09-11 Augusto Stoffel + + Allow using 'python-shell-send-file' across machines + + * progmodes/python.el (python-shell-eval-file-setup-code): Look for a + file coding cookie on the Python rather than on the Emacs side, to + avoid additional file transfers. + (python-shell--save-temp-file): Allow argument to be a buffer. + (python-shell-send-file): Address the case where the selected file and + the inferior process are on different machines (bug#50516). + +2021-09-11 Augusto Stoffel + + Implement caching for 'python-shell-completion-at-point' + + * lisp/progmodes/python.el (python-shell-completion-at-point): cache + results, since computing them involves talking with the inferior + process and, potentially, network communications + (python-shell--capf-cache): new variable, for cache + (python-shell-completion-get-completions) + (python-shell-completion-native-get-completions): 'import' argument is + not needed anymore. + (python-shell-completion-native-setup) + (python-shell-completion-native-try): pass the setup code + synchronously, to avoid printing a message in the shell (bug#50459). + +2021-09-11 Alan Third + + Fix display of tab-bar buttons + + * src/xterm.c (x_draw_image_relief): + * src/w32term.c (w32_draw_image_relief): Fix the display of + tab-bar buttons when mouse pointer moves off the button. + (Bug#50424) + +2021-09-11 Eli Zaretskii + + Document tool-bar and tab-bar mouse events + + * doc/lispref/commands.texi (Click Events): Document the format of + POSITION for tab-bar and tool-bar events. + +2021-09-11 Eli Zaretskii + + Fix tab-bar scrolling for mice that report mouse-wheel events + + * src/keyboard.c (make_lispy_position): Call + 'window_from_coordinates' with last 2 arguments non-zero, to have + it report on tool-bar and tab-bar positions. Tweak the return + value according to the expectations of 'make_lispy_event'. + (make_lispy_event): No more need to inject "tab-bar" into a click + event on the tab bar: it's already there. + +2021-09-11 Tassilo Horn + + bug-reference-bug-regexp now defines a contract for the overlay region + + Formerly, bug-reference-fontify placed the overlay on the complete + match of bug-reference-bug-regexp. That made it impossible to encode + constraints like "must not match at BOL" in the regexp without messing + up fontification. Therefore, now it establishes the contract that + subexpression 1 defines the overlay region. Subexpression 2 must + still match the part of the bug reference injected into + bug-reference-url-format if that's a string. If its a function, the + interpretation of subexpressions > 1 is up to the function. + + For backwards compatibility, bug-reference-fontify checks if the + bounds of subexpression 2..10 are within the bounds of subexpession + 1. If not, or subexpression 1 doesn't even exist/match, we fall back + to placing the overlay from (match-beginning 0) to (match-end 0) but + issue a warning. + + * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp): Document + contract that subexpression 1 defines the overlay region and adapt the + default value accordingly. + (bug-reference--nonconforming-regexps): New internal variable. + (bug-reference--overlay-bounds): New function. + (bug-reference-fontify): Place overlay on subexpression 1's bounds if + bug-reference-bug-regexp conforms to the documented contract. + (bug-reference--setup-from-vc-alist): Adapt regexps to new contract. + * doc/emacs/maintaining.texi (Bug Reference): Adapt regexp used in + example. + +2021-09-11 Stefan Kangas + + * lisp/info.el (Info-streamline-headings): Add entry. + +2021-09-11 Eli Zaretskii + + Improve documentation of Show Paren mode + + * doc/emacs/programs.texi (Matching): Improve wording and + indexing. (Bug#29381) + +2021-09-11 Eli Zaretskii + + Fix restoring from pdumper file on MS-Windows 9X + + * src/pdumper.c (dump_map_file_w32): Use PAGE_WRITECOPY flag when + calling CreateFileMapping for DUMP_MEMORY_ACCESS_READWRITE access, + as that is required by Windows 9X. (Bug#50453) + +2021-09-11 Dmitry Gutov + + New minor mode 'show-paren-local-mode' + + * lisp/paren.el (show-paren--delete-overlays): + New function, extracted from show-paren-mode. + (show-paren-local-mode): New minor mode. + (show-paren-mode): Update docstring to mention it (bug#29381). + + * doc/emacs/programs.texi (Matching): Update show-paren-mode section. + +2021-09-11 Tassilo Horn + + Improve overlay placement performance + + * lisp/progmodes/bug-reference.el (bug-reference--overlays-in): New + function. + (bug-reference-unfontify): Use it. + (bug-reference-fontify): Reuse and move existing overlays instead of + deleting all and creating them anew. + +2021-09-10 Arthur Miller + + Add support for GCC compiler command-line options + + * lisp/emacs-lisp/comp.el ('native-comp-compiler-options): New option. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Add support + for new 'native-comp-compiler-options'. + * src/comp.c (Fcomp_native_compiler_options_effective_p): New function. + (add_compiler_options): New function. + (Fcomp__compile_ctxt_to_file): Call 'add_compiler_options'. + +2021-09-10 Philip Kaludercic + + Merge branch 'master' into feature/rcirc-update + +2021-09-10 Philip Kaludercic + + Fix double reconnection bug + + * rcirc.el (rcirc-sentinel): Don't reconnect if reconnecting + (reconnect): Use delete-process instead of kill-process + +2021-09-10 Dmitry Gutov + + Fix test find-defs-defgeneric-el + + * test/lisp/progmodes/elisp-mode-tests.el (find-defs-defgeneric-el): + Fix the test. Reported by dick.r.chiang@gmail.com. + +2021-09-10 Lars Ingebrigtsen + + Revert usage of format-prompt in python.el + + * lisp/progmodes/python.el (python-eldoc-at-point): Revert usage + of format-prompt in python.el since this is also an ELPA package + (and older Emacs versions doesn't have format-prompt). + +2021-09-10 Augusto Stoffel + + Properly encode all strings sent to Python shell + + * lisp/progmodes/python.el: Now depends on Emacs 28. + (python-shell-package-enable, python-shell-completion-get-completions) + (python-ffap-module-path, python-eldoc--get-doc-at-point): Enconde + Python strings using 'python-shell--encode-string' instead of triple + quotes. + (python-shell-completion-string-code, python-eldoc-string-code) + (python-ffap-string-code): Remove defcustoms. (bug#50503). + +2021-09-10 Stephen Gildea + + Tramp: honor default file modes in make-directory + + * lisp/net/tramp-sh.el: + * lisp/net/tramp-adb.el: + * lisp/net/tramp-sudoedit.el: + * lisp/net/tramp-gvfs.el: Add support for default file modes to + relevant Tramp back ends for make-directory. (Closes: Bug#50410) + * test/lisp/net/tramp-tests.el (tramp-test13-make-directory-with-file-modes): + New test. + * etc/NEWS: Note this enhancement. + + Thanks to Michael Albinus for helping improve this patch. + +2021-09-10 Eli Zaretskii + + Doc string followup to last change. + + * lisp/progmodes/xref.el (xref-find-apropos): Mention + 'tags-apropos-additional-actions' in the doc string. + * lisp/progmodes/etags.el (tags-apropos-additional-actions): + Mention 'xref-find-apropos' in the doc string. + +2021-09-10 Eli Zaretskii + + Document 'tags-apropos-additional-actions' with Xref + + * doc/emacs/maintaining.texi (Looking Up Identifiers): Rearrange + and reword documentation of 'xref-find-apropos' and + 'xref-auto-jump-to-first-definition'. Add the description of + 'tags-apropos-additional-actions'. Delete the comment with + not-yet implemented features that were available with + 'tags-apropos'. + + * etc/NEWS: Augment the wording of 'xref-find-apropos' entry. + +2021-09-10 Lars Ingebrigtsen + + Further fix for the search-whitespace-regexp change + + * lisp/isearch.el (search-whitespace-regexp): Fix yet another typo + in this one-line change (bug#21278). + +2021-09-10 Gregory Heytings + + New user options to move between isearch matches + + * lisp/isearch.el (isearch-allow-motion, + isearch-motion-changes-direction): New user options. + (isearch-pre-command-hook): Handle the new options. + + * etc/NEWS: Mention the new user options. + + * doc/emacs/search.texi: Document the new user options. + +2021-09-10 Lars Ingebrigtsen + + Fix typo in previous search-whitespace-regexp change + + * lisp/isearch.el (search-whitespace-regexp): Fix typo in last + checkin for this variable. + +2021-09-10 Gregory Heytings + + Fix behavior of isearch-{beginning,end}-of-buffer + + * lisp/isearch.el (isearch-beginning-of-buffer) + (isearch-end-of-buffer): Fix their behavior when + isearch-repeat-on-direction-change is non-nil (bug#50466). + +2021-09-10 Lars Ingebrigtsen + + Change the default value of search-whitespace-regexp + + * lisp/isearch.el (search-whitespace-regexp): Change the default + to always exclude newlines from the set (bug#21278). It used to + be mode-dependent whether newlines were included or not, and this + was confusing as a user interface. + +2021-09-10 Dmitry Gutov + + * lisp/progmodes/ruby-mode.el (ruby-current-indentation): Tweak obsoletion. + +2021-09-10 Dmitry Gutov + + Support tags-apropos-additional-actions in etags Xref backend + + * lisp/progmodes/etags.el (xref-etags-apropos-location): + New class. + (xref-location-marker): New method definition. + (xref-make-etags-apropos-location): New function. + (etags--xref-apropos-additional): New function. + (xref-backend-apropos): Use it here. + +2021-09-09 Eli Zaretskii + + Improve documentation of tab-bar functions and variables + + * etc/NEWS: Improve wording of tab-bar related entries. + + * lisp/tab-bar.el (tab-bar-show, tab-bar-select-tab-modifiers): + Improve and clarify the doc strings. + +2021-09-09 Eli Zaretskii + + Fix a recent change wrt 'comint-max-line-length' + + * lisp/progmodes/python.el (python-shell-send-string): Only heed + 'comint-max-line-length' for subprocesses with which we + communicate via PTYs. (Bug#49822) + + * lisp/comint.el (comint-max-line-length): Doc fix. Add a value + for MS-Windows. + +2021-09-09 Stefan Monnier + + Change ruby-align-chained-calls indendation + + * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Align with the + first sibling on the previous line instead of the last (bug#32496). + + That is, before it used to be + + one.two.three + .four + + and now it is + + one.two.three + .four + +2021-09-09 Augusto Stoffel + + Better treatment of line length limits for the Python inferior + + * lisp/comint.el (comint-max-line-length): New constant reflecting a + safe maximum line size that can be sent to an inferior process. + * lisp/progmodes/python.el + (python-shell-comint-watch-for-first-prompt-output-filter): Send setup + code to the inferior process only once and at this stage. + (python-shell-eval-setup-code, python-shell-eval-file-setup-code): + Move, unchanged, to an earlier point to avoid byte-compiler warnings. + (python-shell-send-string-no-output): Revert changes of e32c7d2a8d + (python-shell-send-string): Use 'comint-max-line-length' to decide + when to resort to temp files. + (python-shell-send-string, python-shell-send-file): Don't send setup + code each time (bug#49822). + +2021-09-09 Lars Ingebrigtsen + + Clarify Gnus vs. font locking in the Gnus manual + + * doc/misc/gnus.texi (Formatting Variables): Explicitly mention + that font locking doesn't work in Gnus buffers (bug#50474). + +2021-09-09 Lars Ingebrigtsen + + Remove the "Real meaning of copyleft" node in efaq + + * doc/misc/efaq.texi (Real meaning of copyleft): Remove the + section (bug#50446). + (Common acronyms): Add a link to the GNU site's page about licenses. + +2021-09-09 Juri Linkov + + Merge branch 'feature/tab-bar-events' + +2021-09-08 Michael Albinus + + Document restriction of completion styles with remote file names + + * doc/misc/tramp.texi (File name completion): Mention restriction + of completion styles. + +2021-09-08 Lars Ingebrigtsen + + Don't ding at the user in pop-mark + + * lisp/simple.el (pop-mark): Don't ding at the user if there's no + mark to pop (bug#44375). This function is used (in some + circumstances) when the user mouse-1-clicks links (in *Help* + buffer, for instance), which will then ding at the user before + following the link. + +2021-09-08 Lars Ingebrigtsen + + Further tweak describe-variable look + + * lisp/help-fns.el (describe-variable): Tweak how long variable + values are shown. + +2021-09-08 Mattias Engdegård + + * etc/NEWS: macOS alternative context menu mouse binding. + +2021-09-08 Lars Ingebrigtsen + + Fix previous help-fns change + + * lisp/help-fns.el (help-fns--run-describe-functions): Fix the + test for whether the function inserted anything. + +2021-09-08 Lars Ingebrigtsen + + Adjust test to describe-function changes + + The doc now always ends with an empty line + +2021-09-08 Miha Rihtaršič + + Allow kmacros to end with C-g in minibuffer + + * src/keyboard.c (cmd_error): If a command causes a minibuffer-quit + condition, record its key in a keyboard macro (bug#48603). + +2021-09-08 Lars Ingebrigtsen + + Add support for keypad `=' key in xterm.el + + * lisp/term/xterm.el (xterm-function-map): Add support for keypad + = key (bug#16645). + +2021-09-08 Lars Ingebrigtsen + + Don't disable ipython as a native interpreter + + * lisp/progmodes/python.el + (python-shell-completion-native-disabled-interpreters): Remove + ipython from list, because it apparently works fine these days + (bug#50458). + +2021-09-08 Lars Ingebrigtsen + + Fix mail-user-agent defcustom type + + * lisp/simple.el (mail-user-agent): Any symbol can be used as the + value (bug#50460). + +2021-09-08 Lars Ingebrigtsen + + Move the indented *Help* block to after the doc string + + * lisp/help-fns.el (describe-function-1): Move indented admin + block to the end (bug#50463). + (describe-variable): Ditto (bug#50463). + +2021-09-08 Lars Ingebrigtsen + + Don't output "probably introduced" if we know the answer for sure + + * lisp/help-fns.el (help-fns--customize-variable-version): + Factored out from `help-fns--customize-variable' to be able to see + whether it outputs anything. + (help-fns--run-describe-functions): New function. + (help-fns--activated-functions): New internal variable. + (describe-variable): Use new function. + (describe-face, describe-function-1): Ditto (bug#50463). + +2021-09-08 Stefan Kangas + + Center Emacs logo above text on the splash screen + + * lisp/startup.el (fancy-splash-head): Center Emacs logo above + text on the splash and about screen. + +2021-09-08 Dmitry Gutov + + Have Git backend actions accept nil filenames again + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Move the nil check to the beginning (bug#50422). + +2021-09-07 Harald Jörg + + cperl-mode.el: Use rx sequences for Perl grammar + + Following advice by Mattias Engdegård, most uses of rx-to-string + were eliminated, and rx sequences used instead to define Perl + grammar components. + * lisp/progmodes/cperl-mode.el: (cperl-block-declaration-p): New + function, replaces regexp literals. + (cperl-imenu--function-name-regexp-perl): Deleted, use rx + sequences to find imenu entries instead. + (cperl-indent-line): Use rx components instead of regexp literals. + (cperl-sniff-for-indent): use `cperl-block-declaration-p' to + increase accuracy, use rx sequence for labels to replace + inaccurate regexp literals. + (cperl-block-p): Replace inline comment by docstring. Use + `cperl-block-declaration-p'. + (cperl-after-block-p): Use `cperl-block-declaration-p'. + (cperl-after-block-and-statement-beg): Replace inline comment by + docstring. + (cperl-imenu-package-keywords), (cperl-imenu-sub-keywords), + (cperl-imenu-pod-keywords) : New variables to sort imenu + entries into categories. + (cperl-imenu--create-perl-index): Use rx sequences to collect + imenu entries. + (cperl-init-faces): Use rx components instead of regexp literals + for labels. + + * test/lisp/progmodes/cperl-mode-tests.el: Test rx sequences + instead of regexp strings + +2021-09-07 Philip Kaludercic + + Add rcirc-track-ignore-server-buffer-flag option + + * rcirc.el (rcirc-track-ignore-server-buffer-flag): Add option + (rcirc-record-activity): Use rcirc-track-ignore-server-buffer-flag + +2021-09-07 Eric Abrahamsen + + Don't let nndiary.el alter variables when loading file + + * lisp/gnus/nndiary.el (nndiary-open-server): Move the manipulation of + `gnus-extra-headers' and `nnmail-extra-headers' into this function: it + should only happen if we're actually firing up an nndiary server. + Previously, simply attempting to complete a gnus-* prefixed symbol + could end up loading this file, and changing the variable values. + +2021-09-07 Alan Mackenzie + + Increase jit-lock-chunk-size from 500 to 1500 for performance reasons + + * lisp/jit-lock.el (jit-lock-chunk-size): Increase to 1500. + + See also https://lists.gnu.org/archive/html/emacs-devel/2021-09/msg00540.html. + +2021-09-07 Lars Ingebrigtsen + + Encode urls more before using in browse-url + + * lisp/net/browse-url.el (browse-url-default-windows-browser) + (browse-url-default-macosx-browser): Encode the URL before using + (in case it contains spaces) (bug#50435). + +2021-09-07 Lars Ingebrigtsen + + Fix encoding in browse-url-encode-url + + * lisp/net/browse-url.el (browse-url-url-encode-chars): Document + what the argument really is, and simplify the implementation + (bug#50435). + (browse-url-encode-url): Encode spaces. + +2021-09-07 Alex Bochannek + + Add a new Gnus command to toggle whether to use fonts in shr + + * doc/misc/gnus.texi (Article Washing): Document it. + + * lisp/gnus/gnus-art.el (gnus-article-toggle-fonts): New command + and key binding (bug#50383). + +2021-09-07 Lars Ingebrigtsen + + Improve the Info mode line further + + * lisp/info.el (Info-set-mode-line): Improve the Info mode line + further (bug#13776). + +2021-09-07 Eli Zaretskii + + Fix a recent documentation change + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref): + * etc/NEWS: Fix wording and typos. + +2021-09-07 Glenn Morris + + Merge from origin/emacs-27 + + 97aa8240d2 (origin/emacs-27) * doc/misc/efaq.texi: Misc copyedits. + e1050492d1 * doc/misc/efaq.texi (Reporting bugs): Refer to the Emacs ... + + # Conflicts: + # doc/misc/efaq.texi + +2021-09-07 Michael Albinus + + Adapt tramp-test26-file-name-completion + + * test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion): + Do not check for default method. + +2021-09-07 Eli Zaretskii + + Improve documentation of new Xref options + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref): More accurate description in the + doc strings. + + * doc/emacs/maintaining.texi (Looking Up Identifiers) + (Identifier Search, List Identifiers, Project File Commands): Fix + the documentation of 'xref-auto-jump-to-first-definition' and + 'xref-auto-jump-to-first-xref' to be more accurate. + + * etc/NEWS: More accurate wording of the entry about + 'xref-auto-jump-to-first-definition' and + 'xref-auto-jump-to-first-xref'. + +2021-09-07 Michael Albinus + + Do not expand default method, user, host in remote file name completion + + * lisp/net/tramp.el (tramp-completion-handle-file-name-all-completions): + Do not expand default method, user, host. (Bug#50387) + (tramp-get-completion-methods): `partial-method' can be nil. + +2021-09-07 Eli Zaretskii + + Fix display of tab-bar buttons + + * src/xterm.c (x_draw_image_relief): + * src/w32term.c (w32_draw_image_relief): Fix calculation of relief + thickness for tab-bar buttons. + + * lisp/tab-bar.el (tab-bar--load-buttons) + (tab-bar-history-mode): Fix the :margin specification for tab-bar + buttons. (Bug#50424) + +2021-09-07 Philip Kaludercic + + Use fresh symbol for argument list + + * rcirc.el (rcirc-define-command): Use make-symbol instead of gensym + +2021-09-07 Philip Kaludercic + + Allow /reconnect while connecting + + * rcirc.el (reconnect): Kill previous process and start a new one + +2021-09-07 A + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): Git env tweak. + +2021-09-07 Dmitry Gutov + Jiacai Liu + + Support specifying just one command in project-switch-commands + + * lisp/progmodes/project.el (project-switch-commands): + Describe the new possible type of value. + (project--switch-project-command): + New function, extract from project-switch-project. + (project-switch-project): If project-switch-commands's value is a + symbol, invoke that command without showing a menu. + +2021-09-07 Stefan Kangas + + Small FAQ fixes + + * doc/misc/efaq.texi (Colors on a TTY): Remove reference to + ancient Emacs version 22. + (Finding Emacs on the Internet): Use more current terminology. + +2021-09-07 Stefan Kangas + + Remove Emacs FAQ maintainer + + * doc/misc/efaq.texi: Remove maintainer Romain Francoise after private + communication. + +2021-09-07 Stefan Kangas + + * etc/NEWS: Some further re-organization. + + * etc/NEWS: Clarify entry about the "*Completions*" buffer. + +2021-09-06 Philip Kaludercic + + Mention list of capabilities that should be implemented + + * rcirc.el (rcirc-implemented-capabilities): Add comment + +2021-09-06 Philip Kaludercic + + Implement standard-replies capability + + * rcirc.el (rcirc-implemented-capabilities): Add standard-replies to list + (rcirc-response-formats): Add response formats for WARN, FAIL and NOTE + (rcirc-handler-FAIL): Add handler + (rcirc-handler-WARN): Add handler + (rcirc-handler-NOTE): Add handler + +2021-09-06 Philip Kaludercic + + Connect to server asynchronously + + * rcirc.el (rcirc-connect): Add :nowait option to open-network-stream + (rcirc-sentinel): Handle "open\n" events + +2021-09-06 Tassilo Horn + + Add possibility to override the default highlighting + + * lisp/progmodes/bug-reference.el (bug-reference-fontify): Highlight + 99th group if it exists. + (bug-reference-bug-regexp): Document that regexp group 99 can be used + to override the default behavior of highlighting the complete match. + (bug-reference--run-auto-setup): Use run-hook-with-args-until-success + instead of throw/catch. + +2021-09-06 Mattias Engdegård + + Normalise nested `progn` forms in byte-code optimiser + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-body): Flatten body. + This simplifies the source tree and reduces the number of different + cases that other optimisations need to take into account. + +2021-09-06 Mattias Engdegård + + More robust optimisation of `ignore` + + Treat `ignore` as any other function during source-level optimisation, + to avoid having its warning-suppression effects cancelled by repeated + passes. Instead, define a custom code generation function. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Don't treat `ignore' specially here. + (side-effect-free-fns): Don't mark `ignore` as side-effect-free + or error-free (although it is), since that would allow the optimiser + to elide calls. + * lisp/emacs-lisp/bytecomp.el (ignore, byte-compile-ignore): + Define and register a code-gen function. + +2021-09-06 Mattias Engdegård + + Optimise `member` and `assoc` (etc) with constant empty list + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize-assq): New. + (byte-optimize-member, byte-optimize-assoc, byte-optimize-memq): + When the list argument is constant nil, the result is always nil. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test cases. + +2021-09-06 Dmitry Gutov + + Fixup dired-do-find-regexp-and-replace + + * lisp/dired-aux.el (dired-do-find-regexp-and-replace): + Disregard the customized value of xref-auto-jump-to-first-xref + (it breaks the xref-query-replace-in-results invocation). + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-xref): + Mention the caveat for users or xref distributed through ELPA. + +2021-09-06 Michael Albinus + + Revert an accidential change in etc/NEWS + +2021-09-06 Lars Ingebrigtsen + + Make calc-grab-region work with rectangular selects + + * lisp/calc/calc.el (calc-grab-region): Heed `rectangle-mark-mode' + (bug#50403). + +2021-09-06 martin rudalics + + Restore the debugging window size more reliably + + * lisp/emacs-lisp/debug.el (debug): Restore the debugging window + size more reliably (bug#12921). + +2021-09-06 Lars Ingebrigtsen + + Add a tooltip to the comint-mode mode line format + + * lisp/comint.el (comint-mode): Add a tooltip to say what the :run + bit means (bug#13776). + +2021-09-06 Lars Ingebrigtsen + + Improve the info-mode mode line + + * lisp/info.el (Info-set-mode-line): Add a help echo to help + explain what the thing in parentheses is (bug#13776). + +2021-09-06 Lars Ingebrigtsen + + Simplify `image-dired-dired-file-marked-p' + + * lisp/image-dired.el (image-dired-dired-file-marked-p): Use + `dired-re-mark' instead of open-coding the opposite regexp (bug#14925). + +2021-09-06 Lars Ingebrigtsen + + Improve the gnus-group-default-list-level doc string + + * lisp/gnus/gnus-group.el (gnus-group-default-list-level): Improve + doc string. + +2021-09-06 Lars Ingebrigtsen + + Reset gnus-group-use-permanent-levels when Gnus restarts + + * lisp/gnus/gnus-start.el (gnus-clear-system): Reset + `gnus-group-use-permanent-levels' upon Gnus restart (bug#50416). + +2021-09-06 Allen Li + + Make `gnus-group-use-permanent-levels' work better + + * lisp/gnus/gnus-group.el (gnus-group-default-level): Removed implicit + setting of gnus-group-use-permanent-levels. + (gnus-group-list-groups): Set gnus-group-use-permanent-levels + explicitly. + (gnus-group-get-new-news): Set gnus-group-use-permanent-levels + explicitly (bug#50417). + (gnus-group-get-new-news): When the user has given a numeric + prefix, use that as the list level. + +2021-09-06 Juri Linkov + + * etc/NEWS: Reorder "Isearch and Replace" items + +2021-09-06 Eli Zaretskii + + * doc/emacs/maintaining.texi (Xref Commands): Fix indexing. + +2021-09-06 Stefan Kangas + + * etc/NEWS: Improve file organization. + +2021-09-06 Stefan Kangas + + Improve documentation of save-place-abbreviate-file-names + + * lisp/saveplace.el (save-place-abbreviate-file-names): Document why + you might want to enable this option. + +2021-09-06 Stefan Kangas + + * etc/NEWS: Don't mention a fixed bug. + +2021-09-06 Dmitry Gutov + + project--files-in-directory: Fix handling of ignores + + * lisp/progmodes/project.el (project--files-in-directory): + Pass "." as the DIR argument to 'find' because otherwise the ignore + expression can match the project root directory name, which we don't + want to happen (bug#50240). Fixup the resulting file names at the end + with concatenation. + Originally I thought it could lead to worse performance, but the + results show equal or slightly better timings. + + * lisp/progmodes/xref.el (xref-matches-in-directory): + Apply a similar fix. + (xref--find-ignores-arguments): Use file-name-as-directory, so + that when passed "." replace-match still had the expected effect. + + * test/lisp/progmodes/project-tests.el (project-ignores-bug-50240): + New test. + + * test/lisp/progmodes/xref-tests.el + (xref-matches-in-directory-filters-with-ignores): New test. + +2021-09-06 Dmitry Gutov + + Try to fix vc-test-git06-version-diff on Hydra + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): + Fix Git backend when running in clean environment. + (vc-test-git06-version-diff): Unskip on Hydra. + +2021-09-06 Glenn Morris + + * doc/misc/efaq.texi: Misc copyedits. + + Prefer mailing lists to newgroups. + (History of Emacs): Rename from "Status of Emacs". + Move XEmacs node here. + (Emacs for other operating systems): Merge all the "non-Unix" + systems into a single node. + +2021-09-05 Glenn Morris + + * test/lisp/vc/vc-tests.el (vc-test-git06-version-diff): Skip on hydra. + +2021-09-05 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump the version again. + +2021-09-05 Philip Kaludercic + + Implement multi-prefix capability + + * rcirc.el (rcirc-implemented-capabilities): Add capability + (rcirc-user-nick): Handle multiple prefixes + +2021-09-05 Philip Kaludercic + + Fix rcirc-track-abbrevate-flag documentation + + * rcirc.el (rcirc-track-abbrevate-flag): Rephrase docstring + +2021-09-05 Philip Kaludercic + + Store symbols in rcirc-acked-capabilities + + * rcirc.el (rcirc-handler-CAP): Use intern and downcase + +2021-09-05 Juri Linkov + + Improve tab-bar event handling (bug#41343) + + * lisp/tab-bar.el (tab-bar--key-to-number): Rename from tab--key-to-number. + (tab-bar--event-to-item): New function from tab-bar-handle-mouse. + (tab-bar-mouse-select-tab, tab-bar-mouse-close-tab) + (tab-bar-mouse-context-menu, tab-bar-mouse-move-tab): + Use tab-bar--event-to-item. + + * src/menu.c (x_popup_menu_1): Handle Qtab_bar in the second list element. + + * src/xdisp.c (tty_get_tab_bar_item): Change arg 'end' to bool 'close_p'. + (tty_get_tab_bar_item): Detect if the close button was clicked. + (tty_handle_tab_bar_click): Return a list with caption that has + text properties. + +2021-09-05 Philip Kaludercic + + Print value on malformed input + + * rcirc.el (rcirc-define-command): Unquote argument + +2021-09-05 Lars Ingebrigtsen + + Autoload cl-struct-slot-info + + * lisp/emacs-lisp/cl-macs.el (cl-struct-slot-info): Autoload + (bug#50301). + + * test/lisp/emacs-lisp/memory-report-tests.el: Don't require cl-macs. + +2021-09-05 Lars Ingebrigtsen + + Improve the documentation around the read-key/minibuffer prompting + + * lisp/subr.el (read-char-choice-use-read-key): Explain the + difference. + (read-char-choice): Mention the variables. + (y-or-n-p-use-read-key): Explain the difference. + (y-or-n-p): Mention the variable (bug#50390). + +2021-09-05 Lars Ingebrigtsen + + Clarify completion-list-mode NEWS entry + + * etc/NEWS: Clarify completion-list-mode entry (bug#50394). + +2021-09-05 Juri Linkov + + * lisp/progmodes/xref.el: Fix defcustoms (bug#50067) + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref, xref-search-program): Fix defcustoms. + +2021-09-05 Eli Zaretskii + + Improve documentation of new Xref options + + * doc/emacs/maintaining.texi (Looking Up Identifiers): + * etc/NEWS: Document the new Xref user options. Move a lost + Xref-related entry to the rest of them. + +2021-09-05 Augusto Stoffel + + Fixes for 'python-shell-send-string' and 'python-shell-send-file' + + * lisp/progmodes/python.el (python-shell-send-string): use a temporary + file for sufficiently long strings. + (python-shell-send-file, python-shell-eval-file-setup-code): Avoid + showing "plumbing code" in the traceback (bug#32042). + +2021-09-05 Ian W (tiny change) + + Fix error handling in 'ispell-init-process' + + * lisp/textmodes/ispell.el (ispell-init-process): When Ispell + initialization reports an error, call 'ispell-accept-output' only + if the Ispell process is still alive. (Bug#50370) + +2021-09-05 Michael Albinus + + Cleanup tramp-tests.el + + * test/lisp/net/tramp-tests.el + (tramp--test--deftest-direct-async-process): Fix macro declaration. + (tramp-test29-start-file-process, tramp-test30-make-process): + Do not run connection type test for direct async processes. + +2021-09-05 Glenn Morris + + * test/lisp/vc/vc-tests.el (vc-test-sccs06-version-diff): Fix it. + +2021-09-05 Dmitry Gutov + + Belated fix + + * lisp/progmodes/xref.el: (xref--show-xref-buffer): + Fix support for xref-auto-jump-to-first-xref. + +2021-09-05 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump version. + +2021-09-05 Dmitry Gutov + + Xref: automatic jumping to the first definition or reference + + * lisp/progmodes/xref.el (xref-auto-jump-to-first-definition) + (xref-auto-jump-to-first-xref): New user options. + Discussed in bug#50067. + (xref--show-xrefs, xref--show-defs): Use them here. + (xref--auto-jump-first): New function, handles different values. + (xref-show-definitions-buffer) + (xref-show-definitions-buffer-at-bottom): Use it. + +2021-09-05 Dmitry Gutov + + Fix test on machines with Bzr not set up + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): + Add EMAIL= to the environment to avoid potential failure. + +2021-09-05 Philip Kaludercic + + Replace with-current-buffer with buffer-local-value where applicable + + * rcirc.el (rcirc-buffer-process): Use buffer-local-value + (rcirc-last-quit-line): Use buffer-local-value + (rcirc-bury-buffers): Use buffer-local-value + (rcirc-record-activity): Use buffer-local-value + +2021-09-05 Matthias Meulien + + Add tests for vc-version-diff + + * test/lisp/vc/vc-tests.el (vc-test--version-diff): + New function. + (vc-test-%s06-version-diff): New family of tests. + +2021-09-05 Dmitry Gutov + + Rename xref-select-and-{goto,show}-xref + + * lisp/progmodes/xref.el (xref-select-and-show-xref): + Rename from xref-select-and-goto-xref (bug#35376). + Update all references. + +2021-09-04 Basil L. Contovounesios + + Avoid segfault in command-modes + + * src/data.c (Fcommand_modes): Check that bytecode object is + interactive before accessing its interactive spec to avoid + segfaulting (bug#50376). + +2021-09-04 Stefan Monnier + + * lisp/emacs-lisp/timer.el (timer-create): Don't inline it + +2021-09-04 Eli Zaretskii + + Improve documentation of line truncation and wrapping + + * doc/emacs/display.texi (Line Truncation, Visual Line Mode): + * doc/lispref/display.texi (Truncation): Document that turning on + line truncation disables wrapping, and vice versa. + + * src/buffer.c (syms_of_buffer) : + * src/xdisp.c (syms_of_xdisp) : + Warn against turning on when 'visual-line-mode' is in effect. + * lisp/simple.el (visual-line-mode): Document that this mode + disables line truncation. (Bug#29664) + +2021-09-04 Lars Ingebrigtsen + + Allow killing the diff buffer after `C-x v u' + + * doc/emacs/maintaining.texi (VC Undo): Document this. + * lisp/vc/vc.el (vc-revert-show-diff): Allow a `kill' value. + (vc-revert): Use it (bug#16902). + +2021-09-04 Lars Ingebrigtsen + + Improve error message in ielm on printing errors + + * lisp/ielm.el (ielm-eval-input): Don't claim that there's a bug + on pp -- it may just be something that nests too far (bug#18012). + +2021-09-04 Lars Ingebrigtsen + + Add a customization group link from whitespace-mode + + * lisp/whitespace.el (whitespace-mode): Add a link to the + whitespace customization group to see the faces (bug#18296). + +2021-09-04 Lars Ingebrigtsen + + Add support for customization group hyperlinks in doc strings + + * lisp/help-mode.el (help-customization-group): New button. + (help-xref-customization-group-regexp): New const. + (help-make-xrefs): Use them to allow making customization group + buttons. + +2021-09-04 Lars Ingebrigtsen + + Make multi-frame `M-x calendar' setup work when `pop-up-frames' + + * lisp/calendar/calendar.el (calendar): Make the calendar frame + setup work when pop-up-frames is non-nil (bug#19256). + +2021-09-04 Lars Ingebrigtsen + + Tweak hi-lock-mode doc string + + * lisp/hi-lock.el (hi-lock-mode): Tweak the doc string so that + running hi-lock-mode in a *Help* buffer showing this help text + won't issue an error (bug#20977). + +2021-09-04 Lars Ingebrigtsen + + Make `M-x term' offer completion + + * lisp/term.el (term): Have completion in the prompt (bug#21296). + +2021-09-04 Yuchen Pei + + Add diary-offset to diary-lib.el + + * doc/emacs/calendar.texi: Document the change. + * lisp/calendar/diary-lib.el (diary-offset): + * test/lisp/calendar/icalendar-tests.el: Add a test (bug#50195). + +2021-09-04 Stefan Kangas + + * etc/DISTRIB: Refer to gnu.org instead of the deleted file etc/GNU. + +2021-09-03 Glenn Morris + + * doc/misc/efaq.texi (Reporting bugs): Refer to the Emacs manual. + + That is better than having a separate, outdated text. + +2021-09-03 Glenn Morris + + Merge from origin/emacs-27 + + 0aa0410372 (origin/emacs-27, emacs-27) Fix "Finder" description for m... + +2021-09-03 Augusto Stoffel + + Change Python eval to send directly instead of using temporary files + + * lisp/progmodes/python.el (python-shell-eval-setup-code): New + const for setting up eval (bug#49822). + (python-shell--encode-string): New function. + (python-shell-send-string): Use it to send commands directly + instead of writing to a temporary file. + (python-shell-send-string-no-output): Adjust sending. + (python-shell-send-file): Ditto. + +2021-09-03 Theodor Thornhill + + Update to CSS Flexible Box Layout Module Level 2 + + * css-mode.el (css-property-alist): Update link. + +2021-09-03 Theodor Thornhill + + Update to CSS Containment Module Level 2 + + * css-mode.el (css-property-alist): Update contain, and add + content-visibility. + +2021-09-03 Theodor Thornhill + + Update to CSS Grid Layout Module Level 2 + + * css-mode.el (css-property-alist): Update to the newer spec, and add + the subgrid keywords + +2021-09-03 Theodor Thornhill + + Clean up css-property-alist for alignment + + * css-mode.el (css-property-alist, css-value-class-alist): Provide new + position related entries for use in css-property-alist. Make sure + that property-alist reflect the spec: + https://www.w3.org/TR/css-align-3/#property-index + +2021-09-03 Lars Ingebrigtsen + + Fix `describe-function' for autoloaded adviced functions + + * lisp/emacs-lisp/nadvice.el (advice--make-single-doc): Factor + out. + (advice--make-docstring): From here (bug#23523). Also include + advices for autoloads. + +2021-09-03 Lars Ingebrigtsen + + Allow gud-mi to edit two executables with the same name + + * lisp/progmodes/gud.el (gud-common-init): Allow editing two + executables with the same name (bug#22772). + +2021-09-03 Lars Ingebrigtsen + + Make recent timer changes more backwards-compatible + + * lisp/emacs-lisp/timer.el (timerp, timer-event-handler): Make + backwards-compatible with old .elc files that have their own + versions of `timer-create'd structures. + +2021-09-03 Lars Ingebrigtsen + + Fix message in previous toggle-truncate-lines change + + * lisp/simple.el (toggle-truncate-lines): Fix message in previous + change. + +2021-09-03 Lars Ingebrigtsen + + Allow not putting pasted text onto the kill ring under xterm + + * lisp/term/xterm.el (xterm-paste): Don't put pasted text onto the + kill ring (bug#28868). + (xterm-store-paste-on-kill-ring): New user option. + +2021-09-03 Eli Zaretskii + + * etc/NEWS: Announce recent change in 'toggle-truncate-lines'. + +2021-09-03 Stefan Kangas + + Sync latest SKK-JISYO.L + + * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version. + +2021-09-03 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2021-09-02 22:13:03 UTC. + +2021-09-03 Lars Ingebrigtsen + + Make toggle-truncate-lines disable visual-line-mode + + * lisp/simple.el (toggle-truncate-lines): Disable + `visual-line-mode' (bug#29664). + +2021-09-03 Stefan Kangas + + Avoid cl-lib alias for cadadr and friends + + * lisp/edmacro.el (edmacro-fix-menu-commands): + * lisp/frameset.el (frameset-move-onscreen): + * lisp/htmlfontify.el (hfy-face-at, hfy-merge-adjacent-spans) + (hfy-mark-tag-names): + * lisp/mail/footnote.el (footnote--make-hole) + (footnote-back-to-message): + * lisp/net/eudc.el (eudc-get-email, eudc-get-phone): + * lisp/net/rcirc.el (rcirc-make-trees, rcirc-handler-333) + (rcirc-authenticate): + * lisp/play/5x5.el (5x5-draw-grid, 5x5-solver): + * lisp/play/decipher.el (decipher-insert-frequency-counts): + * lisp/ses.el (ses-relocate-range): + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-step-into-macro-error) + (edebug-tests-error-stepping-into-subr): Avoid using cl-lib aliases + for cadadr and friends that now reside in subr.el. + +2021-09-03 Stefan Kangas + + Move cl-lib tests for caaXr to subr-tests.el + + * test/lisp/emacs-lisp/cl-lib-tests.el (cl-test-caaar) + (cl-test-caadr): Move tests using a cl-lib alias from here... + * test/lisp/subr-tests.el (subr-test-caaar, subr-test-caadr): ...to + here. The functions under test are in subr.el. + +2021-09-03 Theodor Thornhill + + Add CSS Box Alignment Module Level 3 to css-mode + + * lisp/textmodes/css-mode.el (css-property-alist): Consolidate + `align-{contents, items, self}', as well as the corresponding + values for `justify-{contents, items, self}' and `place-{contents, + items, self}'. Values extracted from the flex part and into its + own block (bug#50345). + +2021-09-03 Theodor Thornhill + + Add selection to css-pseudo-element-ids + + * lisp/textmodes/css-mode.el (css-pseudo-element-ids): Add + selection as an element id (bug#50345). + +2021-09-03 Lars Ingebrigtsen + + Fix `revert-buffer' message in `find-file-select' + + * lisp/files.el (find-file-noselect): Refer to revert-buffer-quick + here since we're in a file-based buffer. + +2021-09-03 Lars Ingebrigtsen + + Fix memory-report test failure + + * test/lisp/emacs-lisp/memory-report-tests.el: Fix test build failure. + +2021-09-03 Dmitry Gutov + + Fix recently broken vc-delete-file with Git + + * lisp/vc/vc-git.el (vc-git-delete-file): + Treat FILE as string, not list (bug#50334). + +2021-09-03 Glenn Morris + + More fixes for recently added vc-rename test + + * test/lisp/vc/vc-tests.el (vc-test-cvs05-rename-file): Skip. + (vc-test-sccs05-rename-file): Treat like RCS. + +2021-09-02 Tassilo Horn + + Support forges by type rather than by host + + Formerly, bug-reference-setup-from-vc-alist basically had one entry + per host (like gitlab.com). Restructure so that it's easy to add new + hosts being just an instance of some type of forge such as SourceHut, + Gitea, or GitLab. + + While we're at it, add support for gitea.com, salsa.debian.org, and + framagit.org, the latter two being GitLab instances. + + * lisp/progmodes/bug-reference.el (bug-reference-gitea-instances) + (bug-reference-gitlab-instances,bug-reference-sourcehut-instances): + New variables listing online instances of those forges. + (bug-reference--setup-from-vc-alist): New function (and variable for + caching) using the former three new variables to generate suitable VC + auto-setup alist. + (bug-reference-try-setup-from-vc): Use both + bug-reference-setup-from-vc-alist and + bug-reference--setup-from-vc-alist. + +2021-09-02 Juri Linkov + + * lisp/abbrev.el: Improve docstrings of inverse commands (bug#50303) + + * lisp/abbrev.el (add-mode-abbrev, add-global-abbrev) + (inverse-add-mode-abbrev, inverse-add-global-abbrev): + Add interlinking to opposite commands in docstrings. + +2021-09-02 Eli Zaretskii + + Fix expansion of non-ASCII $HOME + + * src/fileio.c (Fexpand_file_name): Make the file name multibyte + if the value of $HOME is multibyte. (Bug#50266) + +2021-09-02 Eli Zaretskii + + Fix 'clone-frame' on TTY frames + + * src/frame.c (Fmake_terminal_frame): Make a separate copy of the + faces for the new frame before calling modify-frame-parameters, as + on TTY frames that needs the faces already set up. (Bug#34715) + +2021-09-02 Eli Zaretskii + + Improve a recent change in 'mule-cmds.el' + + * lisp/international/mule-cmds.el + (select-safe-coding-system--format-list): Display codepoints in + hex and as characters. Display the ellipsis in a better place. + Enlarge the limit to 5 codepoints, as the display is now easier to + grasp. + (select-safe-coding-system-interactively): Don't use + 'select-safe-coding-system--format-list' for "rejected" + coding-systems, as those don't come with characters and positions. + +2021-09-02 Lars Ingebrigtsen + + Make the coding system warning prettier + + * lisp/international/mule-cmds.el + (select-safe-coding-system--format-list): New function to display + the coding system information in a more readable format (bug#31062). + (select-safe-coding-system-interactively): Use it. + +2021-09-02 Lars Ingebrigtsen + + Reformat up-list and backward-up-list doc strings + + * lisp/emacs-lisp/lisp.el (backward-up-list): Reformat the doc + string into several paragraphs (bug#31349). + (up-list): Ditto and fix the "start" to be "end". + +2021-09-02 Lars Ingebrigtsen + + isearch*-lax-whitespace doc string improvements + + * lisp/isearch.el (isearch-regexp-lax-whitespace): + * lisp/isearch.el (isearch-lax-whitespace): Mention the key binding + in the doc string (bug#31790). + +2021-09-02 Lars Ingebrigtsen + + Fix documentation of `dired-do-touch' + + * doc/emacs/dired.texi (Operating on Files): Fix documentation of + `dired-do-touch' (bug#50323). + +2021-09-02 Yikai Zhao + + memory-report: support calculating size for structures + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Add + support for cl-defstruct types (bug#50301). + +2021-09-02 Lars Ingebrigtsen + + Fix up previous ebfn2ps tweak + + * lisp/progmodes/ebnf2ps.el (ebnf-print-buffer): Remove NOOP decode + step. + +2021-09-02 Lars Ingebrigtsen + + Add a test for bug#50320 in sh-script + +2021-09-02 Lars Ingebrigtsen + + Revert "Tweak sh-script-mode indentation further" + + This reverts commit 6392bc37ab3b7eb83465d9b2248d21173373ae73. + + The changes led to errors throughout (bug#50320). + +2021-09-02 Stephen Gildea + + tramp-auto-save-directory: make private + + * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name): + chmod 0700 tramp-auto-save-directory when creating + + Thanks to Michael Albinus for reviewing this patch. + +2021-09-01 Eli Zaretskii + + Fix segfault with invalid key-translation-map binding + + * src/keyboard.c (access_keymap_keyremap): Don't assume an invalid + function is specified as a symbol. Reported by Perry E. Metzger + . + +2021-09-01 Lars Ingebrigtsen + + Filter out the `name' parameter in clone-frame + + * lisp/frame.el (clone-frame): Filter out the `name' parameter, + because two frames shouldn't have the same name and this will + lead to a warning. + +2021-09-01 Lars Ingebrigtsen + + Don't have epg bug out on non-existent packages + + * lisp/epg.el (epg--start): We may be called from contexts where + the directory doesn't exist, but we need to have an existing + directory here for the process (bug#32004). + +2021-09-01 Lars Ingebrigtsen + + Add new macro `with-existing-directory' + + * doc/lispref/files.texi (Testing Accessibility): Document it. + * lisp/subr.el (with-existing-directory): New macro (bug#32004). + +2021-09-01 Kien Nguyen + + * Add a dll loader entry for gcc_jit_context_new_cast (bug#50315) + + * src/comp.c: Add a dll loader entry for + 'gcc_jit_context_new_cast' (bug#50315). + +2021-09-01 Drew Adams + + Add new command `clone-frame' + + * doc/emacs/frames.texi (Creating Frames): Document it. + + * lisp/frame.el (clone-frame): New command and keystroke (bug#34715). + +2021-09-01 Glenn Morris + + Make set-foreground-color display completions using foreground colors + + * lisp/faces.el (defined-colors-with-face-attributes): Also create + colors for foregrounds (bug#33799). + (read-color): Also allow varying the foreground color. + + * lisp/frame.el (set-foreground-color): Vary the foreground color. + +2021-09-01 Lars Ingebrigtsen + + Fix (setf (map-elt map key) (my-func)) + + * lisp/emacs-lisp/map.el (map-elt): Ensure that the value isn't + referenced more than once (bug#50290). + +2021-09-01 Lars Ingebrigtsen + + Autoload calc-grab-sum-across and calc-grab-sum-down + + * lisp/calc/calc.el (calc-grab-sum-down): + (calc-grab-sum-across): Autoload, since they can be used from + outside Calc (bug#50311). + +2021-09-01 Miha Rihtaršič + + In batch mode, avoid killing Emacs with C-g in the minibuffer + + * src/keyboard.c (Fcommand_error_default_function): Don't kill emacs + when handling the minibuffer-quit condition (bug#48603). + +2021-09-01 Marco Centurion (tiny change) + + Use "gzip -d" instead of "gunzip" + + * lisp/dired-aux.el (dired-compress-file-suffixes): Use "gzip -d" + instead of "gunzip" since we already assume that "gzip" exists on + the system (bug#10990). + +2021-08-31 Philip Kaludercic + + Avoid failing if vc backend doesn't implement ignore-completion-table + + * project.el (project-ignores): Handle vc-not-supported signals + +2021-08-31 Lars Ingebrigtsen + + Rename xref--mouse-2 and adjust documentation + + * doc/emacs/maintaining.texi (Xref Commands): `mouse-1' is bound + to `xref-goto-xref', not `mouse-2' (bug#35376). + (Xref Commands): Mention what `mouse-2' does. + + * lisp/progmodes/xref.el (xref--button-map): Adjust. + (xref-select-and-goto-xref): Rename from xref--mouse-2 (bug#35376). + +2021-08-31 Lars Ingebrigtsen + + Fix point placement after ispell-complete-word + + * lisp/textmodes/ispell.el (ispell-complete-word): Leave point at + the end of the inserted word instead of a less than useful amount + of distance from the start of the word (bug#37552). + +2021-08-31 Lars Ingebrigtsen + + call-process doc string clarification + + * src/callproc.c (Fcall_process): Explicitly say that "output" + means both stdout and stderr (bug#37906). + +2021-08-31 Lars Ingebrigtsen + + Make calc plotting through gnuplot work on non-X gnuplots + + * lisp/calc/calc-graph.el (calc-graph-plot): Fall back on "dumb" + if we don't support the terminal (bug#50237). + (calc-gnuplot-command): Say whether the command errored out. + +2021-08-31 Lars Ingebrigtsen + + Fix abnf parsing of elements + + * lisp/progmodes/ebnf-abn.el (ebnf-abn-lex): Make parsing + work (bug#39663). + +2021-08-31 Lars Ingebrigtsen + + Make run-at-time try harder to run at integral multiples + + * lisp/emacs-lisp/timer.el (timer): Add new slot integral-multiple. + (timerp): Adjust. + (timer-event-handler): Recompute the delay if requested + (bug#39099). + (run-at-time): Mark the timer as recomputable if given a t + parameter. + + * src/keyboard.c (decode_timer): Adjust. + +2021-08-31 Dmitry Gutov + + Move the expansion of abbreviated names to vc-git.el + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Perform the expansion of abbreviated file names here instead + (bug#39452). + + * lisp/vc/vc.el (vc-root-diff, vc-print-root-log): + Undo the recent change. + +2021-08-30 Andreas Schwab + + Implement proper type conversion in native compiler + + * src/comp.c (enum cast_kind_of_type): Remove. + (comp_t): Add cast_ptr_to_int, cast_int_to_ptr, remove + cast_type_sizes, cast_type_kind, cast_type_names, cast_union_fields, + cast_union_field_biggest_type. + (emit_coerce): Remove check for type size. + (struct cast_type): Remove bytes_size. + (define_type_punning): New function. + (define_cast_from_to): Implement proper type conversion. + (define_cast_functions): Adjust. (bug#50230) + +2021-08-30 Stefan Monnier + + (cperl-test-bug-14343): Make it work for perl-mode + + * test/lisp/progmodes/cperl-mode-tests.el (cperl--tests-heredoc-face): + New const. + (cperl-test-heredocs, cperl-test-bug-14343): Use it. + (cperl-test-identify-no-heredoc): Remove left-over message. + +2021-08-30 Stefan Monnier + + * test/lisp/progmodes/cperl-mode-tests.el: Adjust here-doc tests for perl-mode + + (cperl-test-identify-heredoc, cperl-test-identify-no-heredoc): + Tweak tests so they can also be used for perl-mode. + +2021-08-30 Stefan Monnier + + * etc/NEWS: Fix typo + +2021-08-30 Eli Zaretskii + + Improve documentation of 'ispell-hunspell-add-multi-dic' + + * lisp/textmodes/ispell.el (ispell-hunspell-add-multi-dic): + Explain in the doc string how to call from Lisp. (Bug#50241) + +2021-08-30 Eli Zaretskii + + Minor improvement in 'get-locale-names' on MS-Windows + + * lisp/international/mule-cmds.el (get-locale-names): Delete + duplicate locales from the list returned by the MS-Windows + implementation. + +2021-08-30 Lars Ingebrigtsen + + Fix typo in kill-buffer-delete-auto-save-files NEWS entry + +2021-08-30 Lars Ingebrigtsen + + Make some non-ASCII work in ebnf2ps + + * lisp/progmodes/ebnf2ps.el (ebnf-print-buffer): Make non-ASCII + work slightly better (bug#39663). + +2021-08-30 Lars Ingebrigtsen + + Fix typo in previous custom.texi change + + * doc/emacs/custom.texi (Init Syntax): Fix typo in previous change + -- it's customize-set-variable. + +2021-08-30 Lars Ingebrigtsen + + Make epg use rfc6068 for decoding %-encoded strings + + * lisp/epg.el (epg--decode-percent-escape-as-utf-8): Make obsolete + and adjust callers. + (epg--decode-hexstring): Ditto. + + * lisp/mail/rfc6068.el (rfc6068-unhexify-string): Allow returning + non-decoded octets (bug#39689). + +2021-08-30 Lars Ingebrigtsen + + Make rfc2368 obsolete and add rfc6068 + + * lisp/obsolete/rfc2368.el: Moved here and made obsolete. + + * lisp/mail/rfc6068.el (rfc6068-unhexify-string): New file. + +2021-08-30 Lars Ingebrigtsen + + Only look for the port command on MacOS + + * configure.ac: Only look for the port command on MacOS (bug#50259). + +2021-08-29 Lars Ingebrigtsen + + Move vc-branch-p and vc-branch-part from vc.el to vc-rcs.el and rename + + * lisp/vc/vc-rcs.el (vc-rcs-branch-p): Renamed from `vc-branch-p' + (old name made into obsolete alias) and moved from vc.el. + (vc-rcs-branch-part): Renamed from `vc-branch-part' + (old name made into obsolete alias) and moved from vc.el. + +2021-08-29 Lars Ingebrigtsen + + Fix vc test for RCS + + * test/lisp/vc/vc-tests.el (vc-test--rename-file): Fix test for RCS. + +2021-08-29 Lars Ingebrigtsen + + Mention `set-variable' in the Init Syntax Emacs manual node + + * doc/emacs/custom.texi (Init Syntax): Mention set-variable + (bug#50248). + (Init Examples): Add an example. + +2021-08-29 Clément Pit-Claudel + + Change --with-nativecomp to --with-native-compilation in messages + + * configure.ac: + * test/infra/Dockerfile.emba: + * test/infra/gitlab-ci.yml: Fix mentions of --with-nativecomp + (bug#50255). + +2021-08-29 Augusto Stoffel + + Add support for OSC 7 in comint (current directory tracking) + + * lisp/comint.el (comint-osc-directory-tracker, comint-osc-handlers): + Define and register a handler for OSC 7. + (comint-osc-process-output): Do fewer checks on + 'comint-last-output-start'. + +2021-08-29 Kévin Le Gouguec + + Tweak sh-script-mode indentation further + + * lisp/progmodes/sh-script.el (sh-smie--default-backward-token): + Allow more parentheses in a token (bug#44592). + +2021-08-29 Philipp Stephani + + Improve compatibility with musl-libc (Bug#48789) + + * lib-src/seccomp-filter.c (export_filter): Remove use of + nonstandard macro TEMP_FAILURE_RETRY. + +2021-08-29 Alan Mackenzie + + C++ Mode: handle compound identifiers preceding brace lists correctly + + * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): early in + function, check alternatively for c-back-over-compound-identifier when doing + c-backward-token-2. + + * bracelist-36.{cc,res}: New test files. + +2021-08-29 Alan Third + + Fix libexec installation on NS (bug#50250) + + * lib-src/Makefile.in (ns_applibexecdir): New variable. + +2021-08-29 Eli Zaretskii + + Better document obsolescence of 'values' + + * doc/lispref/eval.texi (Eval): Mention that 'values' is obsolete. + * etc/NEWS: Add a rationale for obsoleting 'values'. + +2021-08-29 Alan Third + + Disable the NS app when no frames are left (bug#14619, bug#21357, bug#23586) + + * src/nsfns.m (Fx_create_frame): Enable the app. + * src/nsterm.m (ns_delete_terminal): Disable the app. + +2021-08-29 Dmitry Gutov + + Add tests for vc-rename-file + + * test/lisp/vc/vc-tests.el (vc-test--rename-file): New function. + (vc-test-%s05-rename-file): New family of tests (bug#39452). + +2021-08-28 Stefan Monnier + + * etc/NEWS: Document the recent xterm.el change for `\e[29~` + +2021-08-27 Juri Linkov + + * lisp/progmodes/flymake.el: Bind mouse-3 to flymake-menu on mode-line. + + * lisp/progmodes/flymake.el (flymake--mode-line-title): + Bind [mode-line down-mouse-3] to flymake-menu (bug#50067) + +2021-08-27 Juri Linkov + + Revert part of 3572613550f5d1d0b3392dbc809b32f3989e2981 (bug#39452) + + * lisp/vc/vc-git.el (vc-git-rename-file): Don't use vc-git--literal-pathspecs. + +2021-08-27 Dario Gjorgjevski + + Fix shell-script-mode indentation of continuation lines + + * lisp/progmodes/sh-script.el (sh-smie--default-backward-token): + Fix indentation of continuation lines (bug#44592). + +2021-08-27 Michalis V + + Fix completion of extended "..." syntax in eshell + + * lisp/eshell/em-cmpl.el (eshell-complete-parse-arguments): Expand + "..." (bug#19626). + +2021-08-27 Lars Ingebrigtsen + + Don't overly truncate tabulated-list headers + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header): + Don't overly truncate headers that are before a right-aligned + column (bug#44594). + (tabulated-list--available-space): Separated out into own + function... + (tabulated-list-print-col): ... from here. + +2021-08-27 Lars Ingebrigtsen + + Fix `M-X TAB' completion for commands marked for multiple modes + + * lisp/simple.el (command-completion-using-modes-p): Fix + completion over commands that are defined for multiple modes + (bug#50228). + +2021-08-27 Lars Ingebrigtsen + + Put advice documentation at the end of the displayed doc string + + * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Put the + advice things at the end of the documentation (bug#50222). It's + important to have the first line of the original documentation + remain the first line, because it's used when doing one-line + summaries of the function. + +2021-08-27 Thierry Volpiatto + + Make `eshell-command' also work when asynchronous + + * lisp/eshell/esh-cmd.el (eshell-eval-command): Make asynchronous + `eshell-command' work (e.g. `M-x eshell-command RET sleep 10 &') + (bug#50209). + +2021-08-27 Christophe Troestler (tiny change) + + lisp/newcomment.el: Uncommenting with whitespace `comment-continue' + + * lisp/newcomment.el (uncomment-region-default-1): Make + all-whitespace `comment-continue' work (bug#50226). + +2021-08-27 Andrea Corallo + + * Forward `comp-file-preloaded-p' to async workers + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward + `comp-file-preloaded-p' to async workers. + +2021-08-27 Juri Linkov + + Replace flyspell-use-mouse-3-for-menu with context-menu-mode (bug#50067) + + * doc/emacs/fixit.texi (Spelling): Replace mentions of + flyspell-use-mouse-3-for-menu with context-menu-mode. + + * lisp/mouse.el (context-menu-map): Use the function from the + text property context-menu-function at mouse click event. + + * lisp/textmodes/flyspell.el (flyspell--set-use-mouse-3-for-menu): + Remove function. + (flyspell-use-mouse-3-for-menu): Remove defcustom added recently in 28.1. + (flyspell-context-menu): New function. + (flyspell-mode): Don't call flyspell--set-use-mouse-3-for-menu. + (flyspell-mode-on): Replace flyspell-use-mouse-3-for-menu + with context-menu-mode. + (make-flyspell-overlay): When context-menu-mode is non-nil, + put overlay context-menu-function with flyspell-context-menu + instead of using keymap flyspell-mouse-map. + +2021-08-27 Lars Ingebrigtsen + + python-shell-interpreter doc string clarification + + * lisp/progmodes/python.el (python-shell-interpreter): Note what + to do when using ipython3 (bug#44732). + +2021-08-27 Lars Ingebrigtsen + + Fix backtrace when query-about-changed-file nil and file has changed + + * lisp/userlock.el (userlock--check-content-unchanged): Make the + assertion more robust -- we may be called here from a different + contexts if `query-about-changed-file' is nil. + +2021-08-27 Noah Evans (tiny change) + + Fix recentering issue in `follow-mode' + + * lisp/follow.el (follow-recenter): Make `C-c . C-l' work in + windows before the middle one, too (bug#50220). + +2021-08-27 Lars Ingebrigtsen + + Enable setting timeclock-workday after switching mode on + + * lisp/calendar/timeclock.el (timeclock--previous-workday): New + variable. + (timeclock-find-discrep): Use it to flush values when + timeclock-workday changes (bug#50216). + (timeclock-mode-line-display): Mention `timeclock-workday' setting + in doc string. + +2021-08-26 Lars Ingebrigtsen + + Fix problem with symlinks in compile buffers + + * lisp/progmodes/compile.el (compilation-find-file): Avoid + `expand-file-name' when computing the file names, because that will + reliably give the wrong result when there's symlinks and ".." + involved (bug#8035). + +2021-08-26 Philip Kaludercic + + timeclock.el: Update example configuration + + * lisp/calendar/timeclock.el: Update comments that were no longer + correct (bug#50211). + +2021-08-26 Lars Ingebrigtsen + + Make dired-chmod-program obsolete + + * lisp/dired.el (dired-chmod-program): Make into a defvar and make + obsolete (bug#50190). + + * lisp/net/ange-ftp.el (ange-ftp-process-file): Remove usage of + dired-chmod-program. + +2021-08-26 Lars Ingebrigtsen + + Revert "Add support for "bright" ANSI colors in ansi-color" + + This reverts commit c8e3347ec01a9ed6dc8d88c2dbbb3a08497e8eb2. + + Jim Porter's paperwork isn't finalised yet. + +2021-08-26 Lars Ingebrigtsen + + Revert "Add support for "bright" ANSI colors in term-mode" + + This reverts commit 2b2a103db0c3597c7685d3ffff4bca7f2e4d094e. + + Jim Porter's paperwork isn't finalized yet. + +2021-08-26 Lars Ingebrigtsen + + Revert "Add missing :version tags to new faces" + + This reverts commit 9759fb596b634db2faf7edcd4fd557a11abe9903. + + Jim Porter's paperwork isn't finalized yet. + +2021-08-26 Michael Albinus + + Improve robustness of shadowfile.el + + * lisp/shadowfile.el (shadow-site-help): New defconst. + (shadow-read-site): Use it. + (shadow-make-fullname, shadow-contract-file-name) + (shadow-define-literal-group): Handle errors more robust. (Bug#49596) + + * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups): + Extend test. + +2021-08-26 Tassilo Horn + + Fix docs about the meaning of the Re: in the subject + + * doc/misc/message.texi (Message Headers): Clarify that it comes from + the Latin "res" meaning "in the matter of" rather than "in response + to" as claimed previously (see RFC-2822). + +2021-08-26 Eli Zaretskii + + Define a substitute for on MS-Windows + + * lisp/mouse.el (context-menu-mode-map): On w32, use + in addition to (the mostly non-existent) . + +2021-08-26 Dmitry Gutov + + Rename arguments for clarity + + * lisp/vc/vc-git.el (vc-git--literal-pathspecs) + (vc-git--literal-pathspecs): + Rename arguments for clarity (bug#39452). + +2021-08-26 Dmitry Gutov + + Make sure to remove the remote specification before adding :(literal) + + * lisp/vc/vc-git.el (vc-git--literal-pathspec): + Make sure to remove the remote specification from the file name + (bug#50175, bug#39452). + +2021-08-26 Stephen Gildea + + Fix "Finder" description for multi-file packages + + * lisp/finder.el (finder-compile-keywords): Now that 'version' is + set for more files, it is no longer necessary to check that we have + a version when picking the file from which to take the description. + Doing so caused built-in packages (where the version is known) to have + their package description taken from the last .el file that matched the + file name pattern, usually the last source file in the sub-directory. + + This bug was introduced in July 2019 and first released in Emacs 27.1. + + Thanks to Michael Albinus for reviewing this patch. + +2021-08-26 Stefan Monnier + + * lisp/term/xterm.el (xterm-function-map): Map `\e[29~` to `menu` + +2021-08-25 Gabriel do Nascimento Ribeiro + + Handle nil messages in repeat-echo-message. + + * lisp/repeat.el (repeat-echo-message): Handle cases where + 'current-message' is nil (bug#50176). + +2021-08-25 Lars Ingebrigtsen + + Make thingatpt respect fields + + * lisp/thingatpt.el (thing-at-point): Make thingatpt respect + fields (bug#9454). + +2021-08-25 Lars Ingebrigtsen + + Make `set-locale-environment' complete over locale names + + * lisp/international/mule-cmds.el (get-locale-names): New function. + (set-locale-environment): Use it to allow completion (bug#9655). + +2021-08-25 João Távora + + Speed up pcm completion styles for patternless special case + + (Bug#48841) + + * lisp/minibuffer.el (completion-flex-all-completions): Skip + completion-pcm--hilit-commonality if there's no pattern yet. + +2021-08-25 Lars Ingebrigtsen + + Disable xterm selection operators in stterm + + * lisp/term/st.el (xterm-st-extra-capabilities): st doesn't + support the xterm selection things (bug#50192). + +2021-08-25 Eli Zaretskii + + Add missing :version tags to new faces + + * lisp/term.el (term-color-bright-black, term-color-bright-red) + (term-color-bright-green, term-color-bright-yellow) + (term-color-bright-blue, term-color-bright-magenta) + (term-color-bright-cyan, term-color-bright-white): Add :version. + +2021-08-25 Jim Porter + + Add support for "bright" ANSI colors in term-mode + + * list/term.el (ansi-term-color-vector): Add new faces. + (term-color-white): Tweak colors. + (term-color-bright-black, term-color-bright-red, term-color-bright-green) + (term-color-bright-yellow, term-color-bright-blue) + (term-color-bright-magenta, term-color-bright-cyan) + (term-color-bright-white): New faces. + (term--maybe-brighten-color): New function. + (term-handle-colors-array): Handle bright colors. + * test/lisp/term-tests.el (term-colors, term-colors-bold-is-bright): + New functions. + +2021-08-25 Jim Porter + + Add support for "bright" ANSI colors in ansi-color + + * lisp/ansi-color.el (ansi-bright-color-names-vector): New defcustom. + (ansi-color-bold-is-bright): New defcustom. + (ansi-color--find-face): Sort ANSI codes and check + 'ansi-color-bold-is-bright'. + (ansi-color-apply-sequence): Support bright ANSI colors. + (ansi-color--fill-color-map): New function. + (ansi-color-make-color-map): Add bright ANSI colors. + (ansi-color-get-face-1): Add BRIGHT parameter. + * test/lisp/ansi-color-tests.el + (ansi-color-apply-on-region-bold-is-bright-test): New function. + +2021-08-25 Shitikanth Kashyap (tiny change) + + tabulated-list-print delete excess lines + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Ensure + that we delete remaining lines if the list has gotten shorter + (bug#50194). + +2021-08-25 Augusto Stoffel + + Add support for OSC escape codes in comint + + * doc/emacs/misc.texi (Shell Mode): Document it. + + * lisp/comint.el (comint-osc-handlers, comint-osc--marker): New + variables. + (comint-osc-process-output): New function. + (comint-osc-hyperlink-map): New map. + (comint-osc-hyperlink-handler): New function. + +2021-08-25 Lars Ingebrigtsen + + Fix up deleting auto-save/killing buffer wrt. `auto-save-visited-mode' + + * src/buffer.c (Fkill_buffer): Respect `auto-save-visited-mode'. + +2021-08-25 Lars Ingebrigtsen + + Further checks for kill-buffer-delete-auto-save-files + + * src/buffer.c (Fkill_buffer): Check that the auto-save file + exists before asking whether to delete it. + +2021-08-25 Lars Ingebrigtsen + + Fix up previous conf-mode/tex-mode redirection hacks + + * lisp/textmodes/conf-mode.el (conf-mode): + * lisp/textmodes/tex-mode.el (tex--redirect-to-submode): The + previous hack to these redirections would disable all local + variables. Try to work around this a bit more. + +2021-08-24 Michael Albinus + + Some precisements in Tramp's connection type handling + + * doc/misc/tramp.texi (Remote processes): Precise connection type + handling. + + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): + * lisp/net/tramp.el (tramp-handle-make-process): + Fix :connection-type handling. + (tramp-action-show-and-confirm-message): Pacify byte compiler. + + * lisp/net/tramp-compat.el (tramp-compat-ignore-error): New defmacro. + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process) + (tramp-test30-make-process): Extend tests. + +2021-08-24 Ergus + + * lisp/mouse.el (context-menu-mode-map): Bind [menu] to context-menu-open. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg01004.html + +2021-08-24 Juri Linkov + + * lisp/mouse.el (context-menu-buffers): New function (bug#50067). + + (context-menu-functions): Add context-menu-buffers to the choice list. + +2021-08-24 Paul Eggert + + Doc that dired-do-chmod no longer follows symlinks + + * doc/emacs/dired.texi (Operating on Files): + * etc/NEWS: Document this security precaution. + +2021-08-24 Gabriel do Nascimento Ribeiro + + Fix to clear echo-area after repeat-exit-timeout. + + * lisp/repeat.el (repeat-echo-message): Use 'string-match-p' + to handle cases where echo-area contains other messages (bug#50176). + +2021-08-23 Eli Zaretskii + + Document 'jit-lock-bounds' + + * doc/lispref/modes.texi (Other Font Lock Variables): + * lisp/jit-lock.el (jit-lock-functions, jit-lock-register): + Document the return value of the fontification functions. + +2021-08-23 Eli Zaretskii + + Improve documentation of 'inhibit-mouse-event-check' + + * etc/NEWS: + * src/callint.c (syms_of_callint): Fix wording of the + documentation of 'inhibit-mouse-event-check'. + +2021-08-23 Mattias Engdegård + + Add example of advanced user-defined Rx form to manual + + * doc/lispref/searching.texi (Extending Rx): Add example illustrating + how to define a user-defined Rx form that performs computation, + from a discussion with Michael Herdeegen (bug#50136). + * lisp/emacs-lisp/rx.el (rx): Clarify evaluation time for `eval`. + +2021-08-23 Juri Linkov + + * lisp/mouse.el (context-menu-open): New command bound to [S-f10]. + + * doc/emacs/frames.texi (Menu Mouse Clicks): Mention S-F10 + to pop up the context menu. + + * src/callint.c (Fcall_interactively): + Use inhibit_mouse_event_check for the case 'e'. + (inhibit-mouse-event-check): New variable. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00733.html + +2021-08-23 Glenn Morris + + Fix recently added cperl test + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-here-doc-missing-end): Fix quote regexp. + +2021-08-23 Eli Zaretskii + + Improve recently-changed docs + + * src/frame.c (Fnext_frame): + * doc/lispref/frames.texi (Finding All Frames): Improve wording + and style of the 'next-frame's documentation. + +2021-08-23 Eli Zaretskii + + Fix doc strings in recent changes. + + * lisp/progmodes/cperl-mode.el (cperl-commentify) + (cperl-here-doc-functions, cperl-is-here-doc-p) + (cperl-find-pods-heres): Fix wording, style, and punctuation of + doc strings. + +2021-08-23 Lars Ingebrigtsen + + Clarify the documentation of `next-frame' + + * doc/lispref/frames.texi (Finding All Frames): Clarify what it + means to "consider". + * src/frame.c (Fnext_frame): Rewrite doc string to say what the + parameters actually mean (bug#13339). + +2021-08-23 Lars Ingebrigtsen + + Add new variable 'kill-buffer/delete-auto-save-files' + + * doc/emacs/files.texi (Auto Save Files): Document it. + * lisp/cus-start.el (standard): Add customize form. + + * lisp/files.el (delete-auto-save-files): Move definition to C + (since it's used in the C layer). + + * src/buffer.c (Fkill_buffer): Use the new variable (and remove + the old code that apparently didn't trigger for + kill-buffer/delete-auto-save-files. + (syms_of_buffer): Add new variable + kill-buffer-delete-auto-save-files and move definition of + delete-auto-save-files here (bug#21612). + +2021-08-23 Michael Albinus + + Complete implementation of `copy-directory-create-symlink' in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): Fix the case + NEWNAME is a directory name with a trailing slash. + + * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory): + Implement `copy-directory-create-symlink'. (Bug#10897) + + * test/lisp/net/tramp-tests.el + (tramp--test-ignore-make-symbolic-link-error): Move up. + (tramp-test15-copy-directory): Extend test. + +2021-08-23 Juri Linkov + + * lisp/mouse.el (context-menu-toolbar): New function. + + (context-menu-functions): Add context-menu-toolbar to choice. + (context-menu-region): Bind "Paste" to mouse-yank-at-click + instead of mouse-yank-primary. + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00735.html + +2021-08-23 Lars Ingebrigtsen + + Clarify :stderr in the make-process doc string + + * src/process.c (Fmake_process): Elaborate upon what :stderr does + (bug#50166). + +2021-08-23 Lars Ingebrigtsen + + Update NEWS tagging for modules and parse-time-string + +2021-08-23 Lars Ingebrigtsen + + Document `dlet' + + * doc/lispref/variables.texi (Local Variables): Document `dlet'. + +2021-08-23 Lars Ingebrigtsen + + Improve byte-compile-warnings doc string + + * lisp/emacs-lisp/bytecomp.el (byte-compile-warnings): Mention + 'byte-compile-docstring-max-column'. + +2021-08-23 Lars Ingebrigtsen + + Do command mode markup in xwidget.el + +2021-08-23 Lars Ingebrigtsen + + Make xwidget-webkit-enable-plugins a defcustom + + * lisp/xwidget.el (xwidget-webkit-enable-plugins): Make into + defcustom. + +2021-08-23 Basil L. Contovounesios + + Fix recent parse-partial-sexp argument validation + + * src/syntax.c (parse-partial-sexp): Also handle markers as + arguments (bug#49944). Tweak error message to follow conventions in + "(elisp) Signaling Errors". + +2021-08-22 Andrea Corallo + + Set a unique ID for eln files on macOS (bug#45934) + + * src/comp.c (Fcomp__compile_ctxt_to_file): Set gcc's -install_name + parameter to the real filename. + +2021-08-22 Masahiro Nakamura + + Set label for NSToolbarItem (bug#50159) + + * src/nsmenu.m (update_frame_tool_bar): Get label text and pass it to ... + ([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]): + ... this that sets label for NSToolbarItem. + * src/nsterm.h + ([EmacsToolbar addDisplayItemWithImage:idx:tag:labelText:helpText:enabled:]): + Add labelText argument. + +2021-08-22 Michael Albinus + + Implement `copy-directory-create-symlink' for remote files + + * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory): + Implement `copy-directory-create-symlink'. (Bug#10897) + + * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory): + Extend test. + +2021-08-22 João Távora + + Double check completions-group customization variable in Icomplete + + bug#48545 + + * lisp/icomplete.el (icomplete--augment): Double check completions-group. + +2021-08-22 João Távora + + Don't mess up grouping in completion-all-sorted-completions + + The default sorting order will mess up the naturally grouped order of + the candidates in the table that specified the group-function. + + As seen in xref.el when + + (setq xref-show-definitions-function + 'xref-show-definitions-completing-read) + (setq completions-group t) + M-x fido-mode + + Also partially seen with C-x 8 RET (M-x insert-char) with + + (setq read-char-by-name-sort 'code) + + bug#48545 + + * lisp/minibuffer.el (completion-all-sorted-completions): Don't + use default sort if there's a group-function in the table. + +2021-08-22 Lars Ingebrigtsen + + Revert "Fix dired switch (that contain quotes and spaces) parsing" + + This reverts commit 04f723dec944eaa7b5e99373840a8bf920ba5fdd. + + The dired switches are documented to not follow shell syntax, but instead + uses a lisp-in-string-form kind of quoting. + +2021-08-22 Colin Woodbury + + Don't echo empty string in file-name-with-extension + + * lisp/files.el (file-name-with-extension): Avoid echoing a filename + string known to be empty (bug#50149). + +2021-08-22 Omar Polo + + Avoid using %n in emacsclient + + * lib-src/emacsclient.c (local_sockname): Avoid using %n (bug#50155). + +2021-08-22 Michael Albinus + + Some adaptions for Tramp's security key detection. + + * lisp/net/tramp.el (tramp-security-key-timeout-regexp): New defcustom. + (tramp-action-show-and-confirm-message): Don't use timeout, check + for the timeout message of the ssh command. + +2021-08-22 Mattias Engdegård + + Make Qhide declaration non-target-specific + + * src/xfns.c (syms_of_xfns): Move DEFSYM from here... + * src/menu.c (syms_of_menu): ... to here. + This fixes the NS build after dd7d966eb40b. + +2021-08-22 Ergus + + * lisp/mouse.el (context-menu-mode-map): New variable. + + (context-menu--saved-bindings, context-menu--bind-mouse) + (context-menu--restore-bindings): Remove. + (context-menu-mode): Don't use removed functions. + +2021-08-22 Juri Linkov + + Don't show menu titles with the text property 'hide' (bug#50067) + + * lisp/mouse.el (context-menu-map): Add menu title "Context Menu" + propertized with the text property 'hide'. + + * src/menu.c (x_popup_menu_1): Don't show the title with the non-nil + text property 'hide' on GTK and NS. + +2021-08-22 Eli Zaretskii + + Improve documentation of 'set-keyboard-coding-system' + + * doc/lispref/nonascii.texi (Terminal I/O Encoding): + * doc/emacs/mule.texi (Terminal Coding): + * lisp/international/mule.el (set-keyboard-coding-system): + Document that 'set-keyboard-coding-system' has no effect on modern + MS-Windows systems. (Bug#15289) + +2021-08-22 Glenn Morris + + * test/lisp/international/ucs-normalize-tests.el: Save 30m on hydra. + +2021-08-22 Stephen Gildea + + mh-x-image-url-sane-p: accept "https" URLs + + * lisp/mh-e/mh-xface.el (mh-x-image-url-sane-p): Accept https URLs. + * test/lisp/mh-e/mh-xface.el: New file, to test mh-x-image-url-sane-p. + +2021-08-21 Glenn Morris + + * test/Makefile.in: Turn off hydra verbose logging for electric-tests. + +2021-08-21 Glenn Morris + + * test/lisp/net/tramp-tests.el: Reduce hydra run time by 1 hour. + + It's just too slow to run these after every commit. + +2021-08-21 Glenn Morris + + * test/lisp/electric-tests.el: Un-skip c-mode tests on hydra. + +2021-08-21 Lars Ingebrigtsen + + Fix failures in recent files tests + + * test/lisp/files-tests.el (files-tests-buffer-offer-save) + (files-tests-save-buffers-kill-emacs--asks-to-save-buffers): + `read-event' is called with arguments. + +2021-08-21 Lars Ingebrigtsen + + Clarify cl-defstruct doc string and manual entry somewhat + + * doc/misc/cl.texi (Structures): Rename the slot "name" in the + examples to "first-name", since we're talking about the names of + slots a lot here, and having a slot with the name "name" makes the + examples somewhat confusing. + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Clarify certain + things about slots (bug#14278). + +2021-08-21 Lars Ingebrigtsen + + Fix perldb doc string + + * lisp/progmodes/gud.el (perldb): Fix doc string (bug#14588). + +2021-08-21 Lars Ingebrigtsen + + Clarify dired-jump doc string + + * lisp/dired.el (dired-jump): Make the doc string say what happens + in buffers not visiting files (bug#14733). + +2021-08-21 Lars Ingebrigtsen + + Tweak the comment-start-skip example in the manual + + * doc/emacs/programs.texi (Options for Comments): Tweak the + example regexp for comment-start-skip (bug#15006). + +2021-08-21 Lars Ingebrigtsen + + Clarify how to do the `count-words-in-defun' recipe + + * doc/lispintro/emacs-lisp-intro.texi (count-words-in-defun): + Clarify the recipe (bug#15069). + +2021-08-21 Lars Ingebrigtsen + + Make parse-partial-sexp signal an error if TO is smaller than FROM + + * src/syntax.c (Fparse_partial_sexp): Signal an error if TO is + smaller than FROM (bug#49944). + +2021-08-21 Lars Ingebrigtsen + + Mention problems with synthetic fonts on macOS + + * etc/PROBLEMS: Mention synthetic fonts (bug#18818). + +2021-08-21 Alan Third + + Fix display bug on macOS (bug#50112) + + * src/nsterm.m ([EmacsLayer initWithColorSpace:]): Use the colorspace + setter. + ([EmacsLayer setColorSpace:]): Sometimes we seem to get null + colorspaces, so set a default in this case. + ([EmacsLayer getContext]): Check whether there's been a surface or + graphics context allocation failure and log it. + +2021-08-21 Alan Third + + * configure.ac: Make homebrew check for libgccjit match macports. + +2021-08-21 Mattias Engdegård + + Remove default "Select" title from NS popup menus (bug#50067) + + * src/menu.c (x_popup_menu_1): Remove default "Select" title. + * src/nsmenu.m (ns_menu_show): Allow title to be absent. + +2021-08-21 Mattias Engdegård + + Use overlay arrow to indicate current *xref* selection + + * lisp/progmodes/xref.el (xref--set-arrow): New function. + (xref-show-location-at-point, xref-goto-xref) + (xref--next-error-function): Call it. + (xref--show-common-initialize): Remove arrow. + +2021-08-21 Mattias Engdegård + + Add "Find References" to context menu (bug#50067) + + The new entry appears next to "Find Definition" and like it only + appears when the context menu was invoked on an identifier. + + * lisp/progmodes/prog-mode.el (prog-context-menu): New menu entry. + * lisp/progmodes/xref.el (xref-find-references-at-mouse): New + function, analogous to `xref-find-definitions-at-mouse`. + +2021-08-21 Mattias Engdegård + + Indicate progress while searching for references in xref + + * lisp/progmodes/xref.el (xref-backend-references): Add messages to + show the user that something is happening instead of silently freezing + during the frequently long synchronous searches for references. + +2021-08-21 Mattias Engdegård + + Re-type the :location slot in `xref-match-item` to `xref-location` + + * lisp/progmodes/xref.el (xref-match-item): Change type for + :location from `xref-file-location`, which was likely a mistake, + to `xref-location`. This allows `xref-make-match` to take + arguments of any subtype of `xref-location` (bug#50067). + +2021-08-21 Mattias Engdegård + + Add xref operations to context menu unconditionally + + * lisp/progmodes/prog-mode.el (prog-context-menu): + Add xref operations to the context menu even if xref hasn't been + loaded yet; the functions involved are autoloaded (bug#50067). + +2021-08-21 Alan Mackenzie + + CC Mode: Move a macro to before its first use in a file. + + * lisp/progmodes/cc-defs.el (c-benign-error): Move earlier in the file for the + benefit of c-tnt-chng-cleanup. + +2021-08-21 Eli Zaretskii + + Improve documentation of context menus + + * doc/lispref/modes.texi (Major Mode Conventions): Add conventions + of setting menu-bar menus and context menus for a major mode. + * doc/emacs/frames.texi (Menu Mouse Clicks): Fix description of + context menu functionality. + +2021-08-21 Eli Zaretskii + + Improve doc string of 'M-.' + + * lisp/progmodes/xref.el (xref-find-definitions): Mention 'M-,' in + the doc string. + +2021-08-21 Eli Zaretskii + + Improve documentation of 'file-preserve-symlinks-on-save' + + * lisp/files.el (file-precious-flag): Mention + 'file-preserve-symlinks-on-save' in the doc string. + + * doc/lispref/files.texi (Saving Buffers): Move the description of + 'file-preserve-symlinks-on-save' from here... + * doc/emacs/files.texi (Customize Save): ...to here. Improve + wording. + + * etc/NEWS: Fix wording of 'file-preserve-symlinks-on-save' entry. + +2021-08-21 Eli Zaretskii + + Fix documentation of 'repeat-mode' changes + + * doc/emacs/basic.texi (Repeating): Fix indexing. Improve + wording. + +2021-08-21 Eli Zaretskii + + Fix documentation of recently-added tests for files.el + + * test/lisp/files-tests.el (files-tests--save-some-buffers) + (files-tests-save-some-buffers) + (files-tests--with-buffer-offer-save) + (files-tests-buffer-offer-save): Doc fixes. + +2021-08-21 Eli Zaretskii + + * etc/TODO: Entry about markers being non-scalable. (Bug#49127) + +2021-08-21 Dmitry Gutov + + Speed up project--read-project-buffer in remote buffers + + * lisp/progmodes/project.el (project-buffers): New generic function. + (project--read-project-buffer): Use it here (bug#49264). + (project--buffers-to-kill): And here. + (project-buffers): Specialized implementation for vc-project. + +2021-08-21 Glenn Morris + + * lisp/bindings.el (page-navigation-repeat-map): Fix bootstrap. + +2021-08-20 Alan Mackenzie + + Fix c-tentative-buffer-changes to be nestable in c-save-buffer-state + + * lisp/progmodes/cc-defs.el (c-tentative-buffer-changes) + (c-tnt-chng-record-state, c-tnt-chng-cleanup): Enhance such that a + buffer-undo-list of t is handled specially, so that a nil isn't consed onto + it. Thus garbage collection can't later remove the (nil . t) from the end of + the buffer-undo-list, causing an infinite loop. + +2021-08-20 Davide Masserut (tiny change) + + Mark page navigation commands as repeatable + + * doc/emacs/basic.texi (Repeating): Document page navigation + repeatability. + + * lisp/bindings.el (page-navigation-repeat-map): Add new map + (bug#50137). + * lisp/bindings.el (forward-page): + (backward-page): Mark as repeatable. + +2021-08-20 Lars Ingebrigtsen + + Document how to get rid of completion on `SPC' and `?' + + * doc/emacs/custom.texi (Minibuffer Maps): Mention how to get rid + of completion on `SPC' and `?' (bug#16528). + +2021-08-20 Lars Ingebrigtsen + + Fix printing of C-@ in `describe-fontset' + + * lisp/international/mule-diag.el (mule--kbd-at): New function + (bug#17836). + (print-fontset-element): Use it to get multi-key things correct. + +2021-08-20 Lars Ingebrigtsen + + Allow preserving symlinks with file-precious-flag set + + * doc/lispref/files.texi (Saving Buffers): Document it. + * lisp/files.el (file-preserve-symlinks-on-save): New user option + (bug#18125). + (basic-save-buffer-2): Use it. + +2021-08-20 Lars Ingebrigtsen + + Fix infinite recursion in mode: tex + + * lisp/textmodes/tex-mode.el (tex--redirect-to-submode): Inhibit + recursion when called from file-local variables (bug#50126). + +2021-08-20 Lars Ingebrigtsen + + Fix infinite recursion of conf-mode + + * lisp/textmodes/conf-mode.el (conf-mode): Inhibit recursion when + called from file-local variables (bug#50126). + +2021-08-20 Marco Centurion (tiny change) + + Allow copy-directory to copy the source as a symlink + + * doc/emacs/files.texi (Copying and Naming): Document it. + + * lisp/files.el (copy-directory): Allow copying symbolic links as + is (bug#10897). + (copy-directory-create-symlink): New user option. + +2021-08-20 Lars Ingebrigtsen + + Further tweaks to execute-extended-command + + * lisp/simple.el (execute-extended-command): Move finding the + short command to the timer command, too (bug#50042). This further + ensures that post-command-hook is run faster. + +2021-08-20 Lars Ingebrigtsen + + Remove even more waiting from execute-extended-command + + * lisp/simple.el (execute-extended-command): Remove all the + waiting from the command and do it all with timers (bug#50042). + This ensures that post-command-hook is run immediately also when + the command has messaged something. + +2021-08-20 Mattias Engdegård + + Use C-mouse-1 for context menu on NS + + The Mac platform convention is to use control-left-click for context + menus (as a synonym to right-click). + + * lisp/mouse.el (context-menu--old-bindings): Remove. + (context-menu--saved-bindings) + (context-menu--bind-mouse, context-menu--reset-bindings): New. + (context-menu-mode): Use new functions, with C-mouse-1 as extra + binding on NS. + +2021-08-20 Mattias Engdegård + + Fix xref {prev,next}-error target buffer match highlighting extent + + * lisp/progmodes/xref.el (xref--next-error-function): + Bind `xref--current-item` during the call to `xref--show-location` so + that `xref-pulse-momentarily` finds the match extent. + +2021-08-20 Mattias Engdegård + + Don't mutate string literal + + * lisp/obsolete/terminal.el (terminal-escape-map): Rewrite loop in a + simpler and more robust way. + +2021-08-20 Lars Ingebrigtsen + + Tweak a failing custom test + + * test/lisp/custom-tests.el (custom-tests-require-theme): Fix a + native-comp-related test failure. + + In this test, we set load-path to nil, and under native-comp some of + the tests want to give a warning: + + Warning (comp): Cannot look-up eln file as no source file was + found for /tmp/custom-tests-bfdbkW/custom-tests--d.elc + + But we can't load warning.el after setting load-path to nil, so + require it first. + +2021-08-20 João Távora + + Make icomplete-forward-completions O(1) when icomplete-scroll is t + + In particular, this makes the recently added + icomplete-vertical-goto-last (bug#49005) be O(n) instead of O(n^2). + That used to be almost unbearably slow for large n. + + * lisp/icomplete.el (icomplete-forward-completions): don't call last + unless needed. + +2021-08-19 Lars Ingebrigtsen + + Remove more mentions of the removed `M-o' facemenu binding + + * doc/emacs/text.texi (Fill Commands, Fill Commands): Adjust `M-o' + mentions. + + * etc/refcards/refcard.tex (section{Formatting}): + * etc/refcards/pt-br-refcard.tex (section{Formatando}): + * etc/refcards/fr-refcard.tex (section{Formater}): Remove mention + of `M-o'. + +2021-08-19 Madhu (tiny change) + + Correctly call completion-in-region in shell.el + + * lisp/shell.el (shell-dynamic-complete-command) + (shell-dynamic-complete-environment-variable): Correctly call + completion-in-region (bug#50125). + +2021-08-19 Lars Ingebrigtsen + + Fix space at the start of appt mode line element + + * lisp/calendar/appt.el (appt-check): Add space at the end + (bug#18164) -- all `global-mode-string' elements should have it + there to get an even space distribution. + +2021-08-19 Lars Ingebrigtsen + + Add ibuffer-saved-filter-groups example to the doc string + + * lisp/ibuf-ext.el (ibuffer-saved-filter-groups): Add an example + for this complicated syntax (bug#18694). + +2021-08-19 Lars Ingebrigtsen + + Fix dired switch (that contain quotes and spaces) parsing + + * lisp/files.el (insert-directory): Tokenize shell strings + correctly (bug#18875). + +2021-08-19 Lars Ingebrigtsen + + Fix st.el doc string + + * lisp/term/st.el (xterm-st-extra-capabilities): New user option + (bug#50119). + (terminal-init-st): Use it to avoid a two-second timeout. + +2021-08-19 Peter Münster + + Add support for history of image tags and completion in the minibuffer + + * lisp/image-dired.el (image-dired-tag-history): New variable holding the + tag history. + (image-dired-tag-files, image-dired-tag-thumbnail, image-dired-delete-tag) + (image-dired-tag-thumbnail-remove): Use it for the user input. + +2021-08-19 Peter Münster + + Avoid problems when one tag/file is a substring of another + + * lisp/image-dired.el (image-dired-remove-tag): End of filename is bound + by ";" and end of tag is bound by ";" or end of line. + +2021-08-19 Peter Münster + + New placement of newline characters in image-dired-db-file + + It's more usual to have the newline at the end of the line, instead of the + beginning. This change avoids missing newline at the end of the file, an + empty line at the start and eventually a lot of empty lines when + `require-final-newline' is not nil. + + * lisp/image-dired.el (image-dired-write-tags): Insert newline at the end + of the line, instead of the beginning. + (image-dired-remove-tag): Do not delete empty line at end of buffer. + +2021-08-19 Peter Münster + + Fix deletion of associated image + + * lisp/image-dired.el (image-dired-delete-marked): Treat original images + first, because point position is used when there are no marked files. + +2021-08-19 Eli Zaretskii + + Fix inaccuracies in documentation of 'message-truncate-lines' + + * doc/lispref/display.texi (Echo Area Customization): + * src/xdisp.c (syms_of_xdisp): Adjust the documentation of + message-truncate-lines to changes that fixed bug#46718. + +2021-08-19 Eli Zaretskii + + Minor doc fixes in icomplete.el + + * lisp/icomplete.el (icomplete-section): Add :version. + (icomplete--augment): Doc fix. + +2021-08-19 Eli Zaretskii + + Fix errors with hscrolling mini-windows under truncate-lines + + * src/xdisp.c (hscroll_window_tree): Disallow hscroll in + mini-windows that display echo-area messages. (Bug#50096) + +2021-08-19 Lars Ingebrigtsen + + stterm doesn't understand all codes that xterm does + + * lisp/term/st.el (xterm-st-extra-capabilities): New user option + (bug#50119). + (terminal-init-st): Use it to avoid a two-second timeout. + +2021-08-19 João Távora + + Section by 'group-function' in Icomplete and Fido's vertical modes + + (Bug#48545) + + * lisp/icomplete.el (icomplete--augment): Rewrite from icomplete--affixate. + (icomplete--render-vertical): Rework. + (icomplete--vertical-minibuffer-setup): Separator is hardcoded "\n", no + need to set. + +2021-08-19 João Távora + + Improve fix of bug#49888 on no-pattern flex sorting + + This version is functionally equivalent, but doesn't duplicate any + code. When nothing "flexy" is happening, it works by simply not doing + any metadata adjustments, instead of attempting to synthesize a + function to mimic the non-flex case. + + * lisp/minibuffer.el (completion--flex-adjust-metadata): Simplify. + +2021-08-19 Dmitry Gutov + + Fix vc-root-diff broken with Git as well + + * lisp/vc/vc.el (vc-root-diff): Fix similar to 35023214031e1 by + avoiding the abbreviated directory name in argument (bug#39452). + +2021-08-18 Eli Zaretskii + + Improve documentation of 'assoc' + + * doc/lispref/lists.texi (Association Lists): + * src/fns.c (Fassoc): Document how TESTFN is called. (Bug#50110) + +2021-08-18 Juri Linkov + + Mouse wheel scrolling on the tab bar + + * lisp/tab-bar.el (tab-bar-map): Bind mouse-4/wheel-up/wheel-left + to tab-previous and mouse-5/wheel-down/wheel-right to tab-next. + Bind S-mouse-4/wheel-up/wheel-left to tab-bar-move-tab-backward + and S-mouse-5/wheel-down/wheel-right to tab-bar-move-tab. + (tab-bar-move-tab-backward): New command. + (tab-bar-move-repeat-map): Use tab-bar-move-tab-backward + instead of lambda. + + * src/xterm.c (handle_one_xevent): Remove restriction + to allow clicking mouse-4 and mouse-5. + +2021-08-18 Juri Linkov + + Bind [drag-mouse-1] to tab-bar-mouse-move-tab on tab-bar-map + + * lisp/tab-bar.el (tab-bar-mouse-move-tab): New command. + (tab-bar-map): Bind [drag-mouse-1] to tab-bar-mouse-move-tab. + (tab-bar-select-tab): Zero or nil arg means the current tab. + + * src/xdisp.c (handle_tab_bar_click): Remove restriction + to allow dragging the tab to another tab. + +2021-08-18 Juri Linkov + + Redesign tab-bar event processing (bug#41342, bug#41343) + + Instead of emitting menu-item keys like [tab-1], + emit normal mouse events like [mouse-1] and [down-mouse-3] + for all mouse clicks issued on the tab-bar. + + * lisp/mouse.el (mouse-posn-property): Handle 'tab-bar' posn-area. + + * lisp/tab-bar.el (tab--key-to-number): New internal function. + (tab-bar-handle-mouse): Use tab key to select/close tab. + (tab-bar-mouse-select-tab, tab-bar-mouse-close-tab) + (tab-bar-mouse-context-menu): New commands. + (tab-bar-map): Bind [down-mouse-1] to tab-bar-mouse-select-tab, + [down-mouse-2] to tab-bar-mouse-close-tab, + [down-mouse-3] to tab-bar-mouse-context-menu. + (tab-bar-keymap-cache): Remove. + (tab-bar-make-keymap): Don't use cache. + (tab-bar--format-tab): Remove default bindings from menu items. + (tab-bar-make-keymap-1): Prepend tab-bar-map. + + * src/keyboard.c (make_lispy_event): Append event->arg to position + for Qtab_bar. + + * src/term.c (handle_one_term_event): Simplify to set event arg. + + * src/w32inevt.c (do_mouse_event): Set emacs_ev->arg to the value + returned from tty_handle_tab_bar_click. + + * src/w32term.c (w32_handle_tab_bar_click): Return value from + handle_tab_bar_click. + (w32_read_socket): Set tab_bar_key to value returned from + w32_handle_tab_bar_click, and set event arg from it. + + * src/xdisp.c (handle_tab_bar_click): Instead of emitting event, + return a list with Qtab_bar and tab caption with text properties + that contain Qmenu_item with key and binding. + (tty_handle_tab_bar_click): Simplify to return a list of Qtab_bar, + key and close_p, instead of emitting event. + + * src/xterm.c (handle_one_xevent): Set tab_bar_key to value + returned from handle_tab_bar_click, and set event arg from it. + +2021-08-18 Juri Linkov + + * lisp/progmodes/xref.el (xref--collect-matches): Widen temporarily. + +2021-08-18 Juri Linkov + + * lisp/mouse.el: More fixes for context-menu. + + (context-menu-map): Remove menu title "Context Menu" (bug#50067). + (context-menu-minor): Reverse sub-menus to display exactly in the same order + as on the menu bar. + +2021-08-18 Eli Zaretskii + + Improve documentation of last change. + + * etc/NEWS: Mention the string value of 'auto-composition-mode'. + + * src/composite.c (syms_of_composite) : Doc + fix. + +2021-08-18 Lars Ingebrigtsen + + Disable auto compositions on the Linux console only + + * lisp/term/linux.el (terminal-init-linux): Disable auto + compositions on "linux" consoles (bug#21363). + + * src/composite.c (inhibit_auto_composition): New function to + implement this. + (composition_compute_stop_pos, composition_adjust_point) + (Ffind_composition_internal): Use it. + (syms_of_composite): Document it. + + * src/lisp.h: Export tty_type_name. + + * src/term.c (tty_type_name): Factored out. + (Ftty_type): Use it. + +2021-08-18 Lars Ingebrigtsen + + Add undo-in-region test case for bug#21523 + +2021-08-18 Eli Zaretskii + + Yet another place inside redisplay_window to prevent quitting + + * src/xdisp.c (handle_single_display_spec): Inhibit quitting + around the call to lookup_image. (Bug#44448) + +2021-08-18 Eli Zaretskii + + Fix abort when turning on Hebrew or Arabic input methods + + * src/xdisp.c (face_before_or_after_it_pos): Add the missing + initialization of the bidi scan direction. (Bug#50107) + +2021-08-18 Peter Münster + + Add menu bindings to new functions in image-dired.el + + * lisp/image-dired.el (image-dired--with-marked): New macro for + cycling over marked thumbnails. + (image-dired-tag-thumbnail, image-dired-tag-thumbnail-remove): Can + handle now also all marked thumbnails. + (image-dired-tag-marked-thumbnails): Remove it, because it's + obsoleted by `image-dired-tag-thumbnail' now. + (image-dired-delete-marked): Use new macro + `image-dired--with-marked', and add command to menu (bug#50000). + +2021-08-18 pillule + + Fix ediff3 layouts with window-combination-resize non-nil (Bug#49277) + + * lisp/vc/ediff-wind.el (ediff-setup-windows-plain-compare) + (ediff-setup-windows-multiframe-compare): Fix three windows + layouts produced by ediff3 when 'window-combination-resize' + was customized to t and 'even-window-sizes' to nil. + +2021-08-18 pillule + + Fix behavior when switch-to-prev-buffer-skip is a function (Bug#49275) + + * lisp/window.el (switch-to-prev-buffer) + (switch-to-next-buffer): More correctly handle cases where + 'switch-to-prev-buffer-skip' is a function. + +2021-08-17 Andrea Corallo + + * Fix `native-compile-target-directory' effectiveness for async compilation. + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async + workers `native-compile-target-directory'. + +2021-08-17 Glenn Morris + + * lisp/mouse.el (context-menu-filter-function): Fix type. + +2021-08-17 Eli Zaretskii + + Another fix for quitting while displaying non-selected windows + + * src/xdisp.c (handle_face_prop, extend_face_to_end_of_line): + Inhibit quitting around the call to face_at_pos, to prevent + leaking wrong value of point when the user quits while we + redisplay a non-selected window. (Bug#44448) + +2021-08-17 Glenn Morris + + * test/lisp/electric-tests.el: Skip most c-mode tests on hydra. + +2021-08-17 Eli Zaretskii + + Fix TTY display performance degradation due to many markers + + * src/coding.c (encode_coding_object): Don't assume that + src_object == dst_object means src_object is the current buffer. + Add the missing commentary that explains the arguments. + (Bug#49127) + +2021-08-17 Michalis V + + Improve `forward-sexp' in *Help* buffers + + * lisp/help-mode.el (help-mode-syntax-table): New variable (bug#39134). + (help-make-xrefs): Use it to make picking out symbols in curved + quotes work reliably. + (help-xref-on-pp): Ditto. + +2021-08-17 João Távora + + Bind and in icomplete-vertical-mode + + Suggested by Ergus + + * lisp/icomplete.el (icomplete-vertical-mode-minibuffer-map): Bind + and + +2021-08-17 João Távora + Simon Lang + + Jump to first,last completion with M-<, M-> in icomplete-vertical-mode + + (Bug#49005) + + + * lisp/icomplete.el (icomplete-backward-completions): Return + non-nil iff something was stepped. Ajust docstring. + (icomplete-forward-completions): Adjust docstring. + (icomplete-vertical-goto-first, icomplete-vertical-goto-last): New commands. + (icomplete-vertical-mode-minibuffer-map): Bind new commands to M-< and M->. + +2021-08-17 Juri Linkov + + Merge branch 'feature/context-menu' + +2021-08-17 Dmitry Gutov + + ruby-mode imenu: Support methods with modifiers + + * lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block): + Support methods with modifiers (visibility or otherwise) + (bug#50079). + +2021-08-17 Dmitry Gutov + + vc-git-region-history: Fix to call 'diff' more correctly + + * lisp/vc/vc-git.el (vc-git-region-history): + Fix to pass a list to the backend 'diff' command (bug#39452). + +2021-08-17 João Távora + + Make icomplete-vertical-mode take immediate effect (bug#49075) + + * etc/NEWS: Mention change. + + * lisp/icomplete.el (icomplete-vertical-mode): + (fido-vertical-mode): Tweak docstring. Turn on + icomplete-mode. and fido-mdoe + +2021-08-16 Glenn Morris + + * test/Makefile.in: Verbose logging for electric-tests on hydra. + +2021-08-16 Eli Zaretskii + + Plug another hole for longjmp-ing from 'redisplay_window' + + * src/fringe.c (update_window_fringes): Inhibit quitting, so as + not to longjmp out of redisplay_window. (Bug#44448) + +2021-08-16 Stephen Berman + + Add Command Modes to Elisp manual menu and add index entries + + * doc/lispref/commands.texi (Command Modes): Add index entries. + + * doc/lispref/elisp.texi (Top): Add entry for the Command Modes + node to the detailed node listing. + +2021-08-16 Eli Zaretskii + + Fix recent documentation additions + + * doc/lispref/searching.texi (Search and Replace): Document the + new functions by @defun. + +2021-08-16 Glenn Morris + + Merge from origin/emacs-27 + + 9664ee182c (origin/emacs-27) C++ Mode: Don't confuse the pointer oper... + b3aec9ee48 CC Mode: Fix unstable fontification of doc strings. + + # Conflicts: + # lisp/progmodes/cc-fonts.el + +2021-08-16 Lars Ingebrigtsen + + Make overlays-in treat zero-length overlays at point-max consistently + + * doc/lispref/display.texi (Finding Overlays): Adjust documentation. + + * src/buffer.c (overlays_in): Treat the end of the buffer and the + end of the narrowed-to buffer the same (bug#19422). + (Foverlays_in): Adjust doc string. + +2021-08-16 Lars Ingebrigtsen + + Fix cursor movement on the Linux console with certain characters + + * lisp/term/linux.el (terminal-init-linux): Switch off + auto-compositions, because they confuse cursor movement on the + Linux console (bug#21363). + +2021-08-16 Lars Ingebrigtsen + + Minor clarification for define-minor-mode :variable + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): + * doc/lispref/modes.texi (Defining Minor Modes): Clarify what the + setter function should do (bug#14875). + +2021-08-16 Clément Pit-Claudel + + Remove prettification for \par in tex-mode + + * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Remove + prettified version of `\par'. Many fonts don't display anything for + the character it was mapped to (#x2029 PARAGRAPH SEPARATOR), so + enabling prettification makes every `\par' disappear (bug#50073). + +2021-08-16 Lars Ingebrigtsen + + Add new functions to replace strings/regexp in a region + + * doc/lispref/searching.texi (Search and Replace): Document them. + * lisp/subr.el (replace-string-in-region) + (replace-regexp-in-region): New functions. + + * lisp/emacs-lisp/shortdoc.el (regexp, buffer): Mention them. + +2021-08-16 Lars Ingebrigtsen + + Don't remove `fontified' in nxml--buffer-substring-filter + + * lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Removing + `fontified' is probably unnecessary (bug#50061). + +2021-08-16 Dmitry Gutov + + Fix regressions in the last change + + * lisp/vc/vc-git.el (vc-git-register): + Use file names verbatim with 'git update-index', as it only accepts + file names, not pathspecs (bug#39452). + + * lisp/vc/vc.el (vc-print-root-log): + Expand ROOTDIR, so that vc-git-print-log doesn't receive an + abbreviated name. Literal pathspecs don't work with those. + +2021-08-15 Alan Mackenzie + + C++ Mode: Don't confuse the pointer operator -> with the type indicating -> + + This fixes bug #47468. + + * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): While searching + backwards for "->" which is a type indicating operator, disallow also commas. + +2021-08-15 Alan Mackenzie + + CC Mode: Fix unstable fontification of doc strings. + + Also optimize a loop over several line doc-comments. + + * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): New variable + comment-mid, used as the starting point for applying c-doc-face-name in a + line comments. In block comments, apply this face not from `comment-beg' but + from `region-beg', no earlier than the start of the fontification region. + +2021-08-15 Juri Linkov + + Use map-keymap in context-menu-global, context-menu-local, context-menu-minor + +2021-08-15 Juri Linkov + + * lisp/simple.el (shift-select-mode): Add new choice 'permanent' (bug#50038). + + (handle-shift-selection): Handle new choice 'permanent'. + +2021-08-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-button-show): Make variable obsolete. + +2021-08-15 Stefan Monnier + + * lisp/nxml/nxml-mode.el (nxml-mode): Use add-function + + This avoids calling the internal function `buffer-substring--filter` + from `nxml.el`. + + (nxml--buffer-substring-filter): Adjust accordingly. + +2021-08-15 Lars Ingebrigtsen + + Filter out rng-state elements in nxml-mode buffers from the kill ring + + * lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Filter + out `rng-state' objects (bug#50061). + (nxml-mode): Set `filter-buffer-substring-function'. + +2021-08-15 João Távora + + Sort by recency in flex completion style when no flexy stuff happening + + (Bug#49888) + + * minibuffer.el (completion--flex-adjust-metadata): Fall back to usual + alphanumeric, length, recency strategy if no minibuffer input. There + is still a bug indicated by the nearby FIXMEs, though. + +2021-08-15 Augusto Stoffel + + Allow evaluating Python code across machines + + * python.el (python-shell-send-string): Ensure that the temporary file + is created in the host running the Python process (bug#50057). + +2021-08-15 Lars Ingebrigtsen + + Run execute-extended-command key binding suggestion from a timer + + * lisp/simple.el (execute-extended-command): Run the key binding + suggestion from a timer instead of in the program flow -- this + allows `post-command-hook' to be executed immediately (bug#50042). + +2021-08-15 Lars Ingebrigtsen + + Make Emacs compile with musl instead of glibc + + * src/alloc.c: musl doesn't have malloc_info (bug#50058). + +2021-08-15 Eli Zaretskii + + Fix unwarranted point movement after C-g + + When the same buffer is displayed in more than one window, + redisplay temporarily moves point to the window-point when it + works on non-selected windows. If we allow C-g to quit out of + redisplay_window in this situation, point will appear to have + moved to the window-point of that non-selected window, which is + unwarranted. These changes prevent quitting in strategic places, + so that we never quit out of redisplay_window. + * src/xdisp.c (run_window_scroll_functions): + Prevent quitting while running window-scroll-functions, so that we + don't quit out of redisplay_window with temporarily moved point. + (redisplay_window): While redisplaying the mode line, prevent + quitting, to avoid exiting while point is temporarily moved. + (decode_mode_spec): Use safe_call1 instead of call1, to trap any + errors instead of letting them throw out of redisplay. (Bug#44448) + +2021-08-15 Masahiro Nakamura + + Mark up commands in shortdoc.el for modes + + * lisp/emacs-lisp/shortdoc.el: Add command mode tagging + (bug#50064). + +2021-08-15 João Távora + + Fix bug#50063 when using icomplete-fido-kill with C-x p p + + C-x p p utilizes a completion table "category" which is 'project-file' + icomplete-fido-kill only functioned for 'buffer' and 'file', and + failed with a non-informative message when something else was used. + + * lisp/icomplete.el (icomplete-fido-kill): Support 'project-file' + class. Use cl-case, instead of pcase. + +2021-08-15 Wolfgang Scherer + + Fix vc-git-state for filenames with wildcards + + * lisp/vc/vc-git.el: (vc-git--literal-pathspec-inner), + (vc-git--literal-pathspec), (vc-git--literal-pathspecs) new functions + to add ":(literal)" pathspec magic (bug#39452). + + (vc-git-registered), (vc-git-state), (vc-git-dir-status-goto-stage), + (vc-git-register), (vc-git-unregister), (vc-git-checkin), + (vc-git-find-revision), (vc-git-checkout), (vc-git-revert), + (vc-git-conflicted-files), (vc-git-print-log), (vc-git-diff), + (vc-git-previous-revision), (vc-git-next-revision), + (vc-git-delete-file), (vc-git-rename-file) functions + vc-git--literal-pathspec, vc-git--literal-pathspecs applied. + +2021-08-15 Dmitry Gutov + + Revert "Bind the GIT_LITERAL_PATHSPECS environment variable" + + This reverts commit a2d0ff26005c5c10ffe0d84bd8b458a06828be82. + + It was found to break a certain use case, and we decided to go with + the other solution (bug#39452). + +2021-08-14 Lars Ingebrigtsen + + Mark auto-revert-test02-auto-revert-deleted-file as unstable + + * test/lisp/autorevert-tests.el + (auto-revert-test02-auto-revert-deleted-file): This tests fails + about 30% of the time for me. + +2021-08-14 Eli Zaretskii + + * src/w32.c (_sys_read_ahead): Pacify a silly compiler warning. + +2021-08-14 Stefan Monnier + + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051 + + This corrects the quite confused conversion to closure done in + commit a070bd1c8b5213ad469d41dd80d392f924644aed. + +2021-08-14 Alan Mackenzie + + * lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function + +2021-08-14 Eli Zaretskii + + Fix 'random' on MS-Windows when integers are wider than 30 bits + + * src/w32.c (random): Provide more random bits for MS-Windows + builds with EMACS_INT that is wider than 32 bits. (Bug#32605) + +2021-08-14 Lars Ingebrigtsen + + Add a test for netrc folding parsing (bug#25769) + +2021-08-14 Lars Ingebrigtsen + + Filter out -L foo labels in diff-hunk-file-names + + * lisp/vc/diff-mode.el (diff-hunk-file-names): Filter out "-L foo" + labels (bug#10160). + +2021-08-14 Lars Ingebrigtsen + + Revert "Add macro `seq-setq`." + + This reverts commit a8a3fd8f8e27089ac46bf98e534529ff03f679a5. + + The same patch was applied twice. Remove the second instance. + +2021-08-14 Lars Ingebrigtsen + + Make lm-crack-address less strict + + * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Use + mail-header-parse-address-lax (bug#50049). + +2021-08-14 Lars Ingebrigtsen + + Add new functions for lax mail address splitting + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Autoload. + * lisp/mail/mail-parse.el (mail-header-parse-addresses-lax) + (mail-header-parse-address-lax): New functions. + +2021-08-14 Earl Hyatt + + Add macro `seq-setq`. + + * doc/lispref/sequences.texi (seq-setq): Document this macro. + + * test/lisp/emacs-lisp/seq-tests.el (test-seq-setq): + Test this macro (bug#50053). + +2021-08-14 Earl Hyatt + + Add macro `seq-setq`. + + * doc/lispref/sequences.texi (seq-setq): Document this macro. + + * lisp/emacs-lisp/seq.el (seq-setq): New macro. + + * test/lisp/emacs-lisp/seq-tests.el (test-seq-setq): + Test this macro (bug#50053). + +2021-08-14 Yikai Zhao (tiny change) + + Fix memory-report counting of vector/hash table sizes + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): + Count element values in vectors and hash tables. + +2021-08-14 Basil L. Contovounesios + + Fix merging of ambiguous nil maps + + * lisp/emacs-lisp/map.el: Bump version to 3.1. + (map--merge): New merging subroutine that uses a hash table in place + of lists, for both efficiency and avoiding ambiguities (bug#49848). + (map-merge): Rewrite in terms of map--merge. + (map-merge-with): Ditto. This ensures that FUNCTION is called + whenever two keys are merged, even if they are not eql (which could + happen until now). It also makes map-merge-with consistent with + map-merge, thus achieving greater overall predictability. + * etc/NEWS: Announce this weakening of guarantees. + * test/lisp/emacs-lisp/map-tests.el (test-map-merge) + (test-map-merge-with): Don't depend on specific orderings. Test + that nil is correctly merged into a plist. + +2021-08-14 Mattias Engdegård + + Add font-lock-doc-markup-face (bug#50041) + + This face is intended for mark-up syntax and constructs inside text + using font-lock-doc-face; ie, documentation comments and strings in + programming modes. + + * lisp/font-lock.el (font-lock-doc-markup-face): New face. + * lisp/cus-theme.el (custom-theme--listed-faces): Add it to the list. + * doc/lispref/modes.texi (Faces for Font Lock): Document it. + * etc/NEWS: Mention it. + +2021-08-13 Alan Mackenzie + + CC Mode: Fix a bug in yesterday's patch + + * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check + the language has multi-line strings before calling + c-ml-string-opener-at-or-around-point. + +2021-08-13 Lars Ingebrigtsen + + Make `debug' reset `inhibit-read-only' while running + + * lisp/emacs-lisp/debug.el (debug): Bind `inhibit-read-only' to + nil in case we're in a context that has bound it to t (bug#26947). + +2021-08-13 Lars Ingebrigtsen + + Adjust previous diff-changed-unspecified change + + * lisp/vc/diff-mode.el (diff-changed-unspecified): Adjust the + definition to Emacs 28 (bug#26969). + +2021-08-13 Lars Ingebrigtsen + + Add new face diff-changed-unspecified + + * lisp/vc/diff-mode.el (diff-changed-unspecified): New face. + (diff-font-lock-keywords): Use it (bug#26969). + +2021-08-13 Lars Ingebrigtsen + + permanently-enabled-local-variables doc string clarification + + * lisp/files.el (permanently-enabled-local-variables): Clarify + what kind of local variables this refers to. + +2021-08-13 Lars Ingebrigtsen + + Make info-look search harder for the Python info file + + * lisp/info-look.el (python-mode): Try harder to find the correct + info file (bug#31405). + +2021-08-13 Lars Ingebrigtsen + + Fix problem where an error would change standard-output + + * src/keyboard.c (cmd_error): Don't set + standard-output/standard-input (bug#30529). Instead bind them + temporarily while handling the error. + +2021-08-13 Lars Ingebrigtsen + + Unknown line endings in filepos-to-bufferpos/bufferpos-to-linepos + + * lisp/international/mule-util.el (filepos-to-bufferpos): Give + better errors on `exact' with unknown line endings, and guess at + Unix if `approximate' (bug#36573). + (bufferpos-to-filepos): Ditto. + +2021-08-13 Lars Ingebrigtsen + + Remove :group from defcustoms in image-dired.el + + * lisp/image-dired.el: Remove :group from the defcustoms throughout. + +2021-08-13 Peter Münster + + Don't disable transient mark mode when changing image faces + + * lisp/image-dired.el (image-dired-thumb-update-marks): Keep the + mark state when changing faces. (bug#49999). + +2021-08-13 Juri Linkov + + * lisp/tab-bar.el (tab-bar-history-buttons-show): Remove defcustom. + + (tab-bar-format-history): Don't use this recently added variable + because now it's possible to customize the option 'tab-bar-format' + to remove 'tab-bar-format-history' from it that gives the same result. + +2021-08-13 Juri Linkov + + Add save-some-buffers-root to save-some-buffers-default-predicate (bug#46374) + + * lisp/files.el (save-some-buffers-default-predicate): Add choice + 'save-some-buffers-root'. + (save-some-buffers-root): New predicate function. + (save-some-buffers): Check if 'pred' returns a lexically-bound lambda, + then use it as 'pred'. + + Thanks to Tino Calancha + +2021-08-12 Alan Mackenzie + + CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language + + * lisp/progmodes/cc-defs.el (cadar, caddr, cdddr): Add defsubsts for these for + when they are missing from the host Emacs. + (c-point): Add new `position' 'boll "beginning of logical line". + (c-clear-char-properties): Return the position of the lowest removed + property. + + * lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Fix for rare case where + LIMIT < START in parse-partial-sexp. + (c-old-beg-rs, c-old-end-rs, c-raw-string-end-delim-disrupted) + (c-raw-string-pos, c-raw-string-in-end-delim, c-depropertize-raw-string) + (c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings) + (c-propertize-raw-string-id, c-propertize-raw-string-opener): Old functions + and variables removed or renamed "raw" -> "ml" and adapted. + (c-old-beg-ml, c-old-1-beg-ml, c-old-end-ml, c-beg-pos, c-end-pos) + (c-ml-string-end-delim-disrupted, c-depropertize-ml-string-delims) + (c-ml-string-delims-around-point,c-position-wrt-ml-delims) + (c-before-change-check-ml-strings, c-after-change-unmark-ml-strings) + (c-maybe-re-mark-ml-string, c-propertize-ml-string-id) + (c-propertize-ml-string-opener, c-depropertize-ml-string) + (c-depropertize-ml-strings-in-region): New functions and variables adapted and + possibly renamed from "raw" -> "ml". + (c-ml-string-make-closer-re, c-ml-string-make-opener-re) + (c-c++-make-ml-string-closer-re, c-c++-make-ml-string-opener-re) + (c-get-ml-closer, c-ml-string-opener-around-point) + (c-ml-string-opener-intersects-region, c-ml-string-opener-at-or-around-point) + (c-ml-string-back-to-neutral, c-ml-string-in-end-delim, c-neutralize-pos) + (c-neutralized-prop): New functions and variables. + + * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Replace + c-font-lock-raw-strings with c-font-lock-ml-strings. + (c-font-lock-ml-strings): New function taking the place of the old + c-font-lock-ml-strings. + + * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Move + c-depropertize-CPP to the second item of the C++ entry, and replace + c-before-change-check-raw-strings by c-before-change-check-ml-strings. Add a + new entry for Pike Mode. + (c-before-font-lock-functions): (Replace c-after-change-unmark-raw-strings by + c-after-change-unmark-ml-strings in the C++ entry, and add a new entry for + Pike Mode. + (c-ml-string-backslash-escapes, c-ml-string-non-punc-skip-chars) + (c-ml-string-opener-re, c-ml-string-max-opener-len, c-ml-string-any-closer-re) + (c-ml-string-max-closer-len, c-ml-string-max-closer-len-no-leader) + (c-ml-string-back-closer-re, c-make-ml-string-closer-re-function) + (c-make-ml-string-opener-re-function, c-ml-string-cpp-or-opener-re) + (c-cpp-or-ml-match-offset): New c-lang-defconsts and c-land-defvars. + (c-multiline-string-start-char): Remove the Pike Mode setting. + + * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Test for general ml strings + rather than C++ raw strings. + (c-unescaped-nls-in-string-p): Handle languages with ml strings. + (c-clear-string-fences): Fix bug with wrong parenthesisation. + (c-before-change-check-unbalanced-strings) + (c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string): + Adapt for multi-line strings. + +2021-08-12 Michael Albinus + + Improve connection type `pipe' for remote processes + + * doc/misc/tramp.texi (Remote processes): New subsection "Remote + process connection type". + + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + Use `tramp-process-connection-type' as default connection type. + Improve check for `:connection-type'. + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): + Use `tramp-process-connection-type' as default connection type. + Improve check for `:connection-type'. Send "stty -icrnl" when + connection type is a pipe. + + * lisp/net/tramp.el (tramp-process-connection-type): Allow all + possible values. + (tramp-handle-make-process): Use `tramp-process-connection-type' + as default connection type. Improve check for `:connection-type'. + + * test/lisp/net/tramp-tests.el (tramp-test30-make-process): Extend test. + +2021-08-12 Stefan Monnier + + * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Handle multi-addresses + + (lm-authors, lm-maintainers): Adjust accordingly. + +2021-08-12 Lars Ingebrigtsen + + Make info-look try to use more recent Python manual + + * lisp/info-look.el: Use the Debian-installed python3.9 manual if + it exists (bug#31405). + +2021-08-12 Lars Ingebrigtsen + + Further tweak minibuffer-inactive-mode doc string + + * lisp/minibuffer.el (minibuffer-inactive-mode): Mention + `minibuffer-exit-hook' (bug#13641). + +2021-08-12 Lars Ingebrigtsen + + Improve minibuffer-inactive-mode documentation + + * lisp/minibuffer.el (minibuffer-inactive-mode): Clarify when it's + used (bug#13641). + +2021-08-12 Lars Ingebrigtsen + + Mention url-handler-mode in the Emacs manual + + * doc/emacs/misc.texi (Browse-URL): Mention url-handler-mode + (bug#30389). + + * lisp/url/url-handlers.el (url-handler-mode): Improve doc string. + +2021-08-12 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with `pcase-let` + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-setq): Rename from + pcase-setq and ajust accordingly. + +2021-08-12 Lars Ingebrigtsen + + Add support for Python mode in info-lookup-symbol + + * lisp/info-look.el (:mode): Add support for Python mode + (bug#31405). + +2021-08-12 Lars Ingebrigtsen + + Clarify smie-indent-forward-token doc string + + * lisp/emacs-lisp/smie.el (smie-indent-forward-token): Doc string + clarification (bug#31948). + +2021-08-12 Lars Ingebrigtsen + + Change the `region' face in the Wombat theme + + * etc/themes/wombat-theme.el (class): Don't use a foreground in + the `region' face because it obscures syntax highlighting (bug#32143). + +2021-08-12 Omar Polo + + Mention `find-ignore-file' in the vc.el commentary + + * lisp/vc/vc.el: Update documentation in the comments about + `find-ignore-file' (bug#50013). + +2021-08-12 Lars Ingebrigtsen + + Add XLFD font parsing tests + + * test/src/font-tests.el (font-parse-xlfd-test): Add some tests + for XLFD testing (bug#35816). + +2021-08-12 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (fixnum, bignum): Fix type definitions + +2021-08-12 Lars Ingebrigtsen + + Fix bytecomp container test case + + * lisp/startup.el (normal-top-level): Make startup more robust -- + we may not be allowed to create any directories when running under + test mode (bug#48350). + +2021-08-12 Stefan Monnier + + * lisp/obsolete/cl.el (labels): Don't quote lambda + + (flet): Don't need `fboundp` any more before calling `symbol-function`. + +2021-08-11 Earl Hyatt + + Add a `pcase-setq' macro + + * doc/lispref/control.texi (Destructuring with pcase Patterns): + Document this macro. + + * lisp/emacs-lisp/pcase.el (pcase-setq): New macro. This macro is + the 'setq' equivalent of 'pcase-let'. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-setq): Test this new + macro. (bug#49809). + +2021-08-11 Lars Ingebrigtsen + + Allow using a single anonymous face in enriced-mode + + * lisp/format.el (format-annotate-single-property-change): Allow + using a single anonymous face (bug#33682). + +2021-08-11 Lars Ingebrigtsen + + Allow using XLFD font names with dashes in the family name + + * src/font.c (font_parse_xlfd_1): Rename from font_parse_xlfd to + allow calling twice from a wrapper (bug#35816). + (font_parse_xlfd): Wrapper function -- first try to parse in the + normal way, and then try to guess that the hyphenated bits are in + the family name. + +2021-08-11 Lars Ingebrigtsen + + Allow `tex-buffer' to work on buffers not visiting files + + * lisp/textmodes/tex-mode.el (tex-region): Make `tex-buffer' work + again on unsaved files (bug#34082). + +2021-08-11 Stephen Berman + + Fix URL entry in ffap after previous change + + * lisp/ffap.el (ffap-read-file-or-url): Make URL entry actually + work again (bug#50011). + +2021-08-11 Peter Münster + + Add new image-dired commands + + * lisp/image-dired.el (image-dired-delete-marked): Factored out + (bug#50000). + (image-dired-display-thumbs): From here. + (image-dired-tag-marked-thumbnails): New command. + (image-dired-delete-marked): Ditto. + +2021-08-11 Michael Albinus + + Replace some `string-match-p' calls in Tramp + + * lisp/net/tramp.el (tramp-debug-message, tramp-set-completion-function) + (tramp-get-completion-methods, tramp-get-completion-user-host): + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) + (tramp-open-connection-setup-interactive-shell) + (tramp-convert-file-attributes): Use `string-prefix-p'. + + * lisp/net/tramp.el (tramp-dissect-file-name) + (tramp-progress-reporter-update, tramp-handle-insert-directory): + * lisp/net/tramp-cache.el (tramp-get-hash-table) + (tramp-flush-directory-properties): + * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers): + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory) + (tramp-call-local-coding-command, tramp-get-inline-coding): + * lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes) + (tramp-smb-handle-file-name-all-completions) + (tramp-smb-handle-file-writable-p) + (tramp-smb-handle-insert-directory) + (tramp-smb-handle-start-file-process, ) + (tramp-smb-read-file-entry): Use `tramp-compat-string-search'. + +2021-08-11 Rajeev Narang + + Make icalendar parse multi-line items correctly + + * lisp/calendar/icalendar.el (icalendar--parse-summary-and-rest): + Parse multi-line items correctly (bug#37887). + +2021-08-11 Lars Ingebrigtsen + + Fix icalendar-import-file prompt + + * lisp/calendar/icalendar.el (icalendar-import-file): Fix prompt. + +2021-08-11 Lars Ingebrigtsen + + Make gnus-icalendar-event-from-ical more robust + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + Don't bug out on nil UIDs. + +2021-08-11 Peter Oliver + + Drop redundant keywords in .desktop files. + + The Freedesktop.org Desktop Entry spec says, “The values [of + Keywords]… should not be redundant with the values of Name or + GenericName”. + + * etc/emacs.desktop, etc/emacsclient.desktop (Keywords): Remove + keywords that are duplicated from the GenericName field. + +2021-08-11 Peter Oliver + + Hint that emacsclient.desktop should match a search for “emacsclient” + + This is necessary to get the Gnome desktop to show “Emacs (Client)” + when the user searches for “emacsclient”. + + * etc/emacsclient.desktop, emacsclient-mail.desktop (Keywords): Add + “emacsclient”. + +2021-08-11 Peter Oliver + + Valid quoting in .desktop files + + * etc/emacsclient.desktop, emacsclient-mail.desktop (Exec): Quote + according to the rules in the Freedesktop.org Desktop Entry + Specification. + +2021-08-11 Peter Münster + + Mark marked images in Image-Dired mode + + * lisp/image-dired.el (image-dired-thumb-update-marks): New + function that makes the marks visible in the thumbnail buffer + (bug#49988). + (image-dired-thumb-margin, image-dired-thumb-mark-color): New user + options. + +2021-08-11 Peter Münster + + Let image-dired-mouse-toggle-mark act on active region + + * lisp/image-dired.el (image-dired-mouse-toggle-mark): When region is + active, then toggle marks of all images within (bug#49987). + (image-dired-mouse-toggle-mark-1): Separated out into function. + +2021-08-11 Juri Linkov + + * lisp/replace.el (perform-replace): Use 'remove-function' (bug#49963). + + Don't let-bind the value of 'isearch-filter-predicate' to protect + from changing the global value, since with a buffer-local value + it still changes the global value. So after using 'add-function' on the + global value of 'isearch-filter-predicate', call 'remove-function' to remove + 'region-filter' from the global value in 'unwind-protect'. + +2021-08-10 Lars Ingebrigtsen + + Use ### for outline headings in shell-script-mode + + * lisp/progmodes/sh-script.el (sh-mode): Use ### for outline headings. + This aligns it more with emacs-lisp-mode headings. + +2021-08-10 Lars Ingebrigtsen + + Add support for outlining in shell-script-mode + + * lisp/progmodes/sh-script.el (sh-mode): Set outline-regexp (bug#49346). + +2021-08-10 Lars Ingebrigtsen + + Add new user option `gnus-topic-prepare-topic' + + * doc/misc/gnus.texi (Topic Variables): Document it. + * lisp/gnus/gnus-topic.el (gnus-topic-prepare-topic): New user option. + (gnus-topic-prepare-topic): Use it. + +2021-08-10 Mattias Engdegård + + More robust auto-detect of grep-highlight-matches (bug#49978) + + * lisp/progmodes/grep.el (grep-compute-defaults): + Don't require "grep --help" to finish with exit status 0 (BSD grep + does not) and check the output in a slightly more robust way. + +2021-08-10 Lars Ingebrigtsen + + Add a new command `revert-buffer-quick' + + * doc/emacs/files.texi (Reverting): Document it. + * lisp/bindings.el (ctl-x-x-map): Bind `C-x x g' to + `revert-buffer-quick' instead. + + * lisp/files.el (revert-buffer-quick-short-answers): New user option. + (revert-buffer-quick): New command (bug#49869). + +2021-08-10 Benjamin Riefenstahl + + Fix nnrss-get-namespace-prefix (bug#34685) + + * lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Use the car of + parameter el to match what dom-search expects. + * test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): Adjust to what + xml-parse-region produces (bug#34685). + +2021-08-10 Mattias Engdegård + + Tramp string-search and string-replace compatibility functions + + Add a `string-search` compatibility function for use in Tramp with + Emacs version prior to 28, and fix the existing `string-replace` + compatibility function so that it uses the right semantics. + + * lisp/net/tramp-compat.el (tramp-compat-string-replace): + Use case-sensitive matching and literal replacement. + (tramp-compat-string-search): New function. + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions): + * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions) + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-sh-handle-make-process, tramp-sh-handle-process-file): + * lisp/net/tramp.el (tramp-handle-make-process): + Use `tramp-compat-string-search` instead of `string-match-p`. + +2021-08-10 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el: Try and fix bug#49866 + + (cl-generic-generalizers): Remember the specializers that match + a given value. + (cl--generic-eql-generalizer): Adjust accordingly. + + * test/lisp/emacs-lisp/cl-generic-tests.el (cl-generic-test-01-eql): + Add corresponding test. + +2021-08-10 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-buffer-info): Fix typo + +2021-08-09 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-buffer-info): Use lm-maintainers + + Avoid the now obsolete `lm-maintainer`. + +2021-08-09 Lars Ingebrigtsen + + Make ffap-read-file-or-url put point at the correct place for URLs + + * lisp/ffap.el (ffap-read-file-or-url): Put point at the end of + URLs (bug#44822). + (ffap--url-file-handler): Remove hack for default dirs. + +2021-08-09 dickmao + + Forestall "Selected deleted buffer" in url-http-generic-filter + + * lisp/url/url-http.el (url-http-generic-filter): Check that + corresponding buffer is still live before using it (bug#49928). + +2021-08-09 Lars Ingebrigtsen + + Make xterm-set-window-title more robust + + * lisp/term/xterm.el (xterm-set-window-title): Don't do anything + on graphic displays (bug#49932). + +2021-08-09 Lars Ingebrigtsen + + Fix tmm-get-keymap under native-compile + + * lisp/tmm.el (tmm-get-keymap): Make this work under + natively-compiled Emacsen (and with lexical binding, too) (bug#49953). + +2021-08-09 Lars Ingebrigtsen + + Further fixes for package-quickstart-refresh printing + + * lisp/emacs-lisp/package.el (package-quickstart-refresh): Really + ensure that the structures aren't shortened (bug#49924). + +2021-08-09 Michael Albinus + + Fix last commit of tramp.el + +2021-08-09 Grégoire Jadi + + Fix freeze on OpenBSD when reading the SECONDARY selection + + * configure.ac (NSIG_MINIMUM): OpenBSD doesn't have a broken SIGIO + any more (bug#29170). Backport fix from the current OpenBSD port + tree. + +2021-08-09 Benjamin Riefenstahl + + Add test for nnrss + + * test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): New test (bug#34685). + +2021-08-09 Lars Ingebrigtsen + + Add a new test for dom-search + +2021-08-09 Mattias Engdegård + + Fix variable binding in calendar (bug#49945) + + * lisp/calendar/cal-tex.el (cal-tex-week-hours, cal-tex-daily-page): + Use `let*` instead of `let`. + +2021-08-09 Mattias Engdegård + + Use string-search instead of string-match[-p] + + `string-search` is easier to understand, less error-prone, much + faster, does not pollute the regexp cache, and does not mutate global + state. Use it where applicable and obviously safe (erring on the + conservative side). + + * admin/authors.el (authors-canonical-file-name) + (authors-scan-change-log): + * lisp/apropos.el (apropos-command) + (apropos-documentation-property, apropos-symbols-internal): + * lisp/arc-mode.el (archive-arc-summarize) + (archive-zoo-summarize): + * lisp/calc/calc-aent.el (math-read-factor): + * lisp/calc/calc-ext.el (math-read-big-expr) + (math-format-nice-expr, math-format-number-fancy): + * lisp/calc/calc-forms.el (math-read-angle-brackets): + * lisp/calc/calc-graph.el (calc-graph-set-range): + * lisp/calc/calc-keypd.el (calc-keypad-press): + * lisp/calc/calc-lang.el (tex, latex, math-read-big-rec): + * lisp/calc/calc-prog.el (calc-fix-token-name) + (calc-user-define-permanent, math-define-exp): + * lisp/calc/calc.el (calc-record, calcDigit-key) + (calc-count-lines): + * lisp/calc/calcalg2.el (calc-solve-for, calc-poly-roots) + (math-do-integral): + * lisp/calc/calcalg3.el (calc-find-root, calc-find-minimum) + (calc-get-fit-variables): + * lisp/cedet/ede/speedbar.el (ede-tag-expand): + * lisp/cedet/semantic/java.el (semantic-java-expand-tag): + * lisp/cedet/semantic/sb.el (semantic-sb-show-extra) + (semantic-sb-expand-group): + * lisp/cedet/semantic/wisent/python.el + (semantic-python-instance-variable-p): + * lisp/cus-edit.el (get): + * lisp/descr-text.el (describe-text-sexp): + * lisp/dired-aux.el (dired-compress-file): + * lisp/dired-x.el (dired-make-relative-symlink): + * lisp/dired.el (dired-glob-regexp): + * lisp/dos-fns.el (dos-convert-standard-filename, dos-8+3-filename): + * lisp/edmacro.el (edmacro-format-keys): + * lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand): + * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand): + * lisp/emacs-lisp/lisp-mnt.el (lm-keywords-list): + * lisp/emacs-lisp/warnings.el (display-warning): + * lisp/emulation/viper-ex.el (viper-ex-read-file-name) + (ex-print-display-lines): + * lisp/env.el (read-envvar-name, setenv): + * lisp/epa-mail.el (epa-mail-encrypt): + * lisp/epg.el (epg--start): + * lisp/erc/erc-backend.el (erc-parse-server-response): + * lisp/erc/erc-dcc.el (erc-dcc-member): + * lisp/erc/erc-speedbar.el (erc-speedbar-expand-server) + (erc-speedbar-expand-channel, erc-speedbar-expand-user): + * lisp/erc/erc.el (erc-send-input): + * lisp/eshell/em-glob.el (eshell-glob-entries): + * lisp/eshell/esh-proc.el (eshell-needs-pipe-p): + * lisp/eshell/esh-util.el (eshell-convert): + * lisp/eshell/esh-var.el (eshell-envvar-names): + * lisp/faces.el (x-resolve-font-name): + * lisp/ffap.el (ffap-file-at-point): + * lisp/files.el (wildcard-to-regexp, shell-quote-wildcard-pattern): + * lisp/forms.el (forms--update): + * lisp/frameset.el (frameset-filter-unshelve-param): + * lisp/gnus/gnus-art.el (article-decode-charset): + * lisp/gnus/gnus-kill.el (gnus-kill-parse-rn-kill-file): + * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): + * lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc) + (gnus-inews-insert-gcc): + * lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body): + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output) + (gnus-search--complete-key-data): + * lisp/gnus/gnus-spec.el (gnus-parse-simple-format): + * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): + * lisp/gnus/gnus-util.el (gnus-extract-address-components) + (gnus-newsgroup-directory-form): + * lisp/gnus/gnus-uu.el (gnus-uu-grab-view): + * lisp/gnus/gnus.el (gnus-group-native-p, gnus-short-group-name): + * lisp/gnus/message.el (message-check-news-header-syntax) + (message-make-message-id, message-user-mail-address) + (message-make-fqdn, message-get-reply-headers, message-followup): + * lisp/gnus/mm-decode.el (mm-dissect-buffer): + * lisp/gnus/nnheader.el (nnheader-insert): + * lisp/gnus/nnimap.el (nnimap-process-quirk) + (nnimap-imap-ranges-to-gnus-ranges): + * lisp/gnus/nnmaildir.el (nnmaildir--ensure-suffix): + * lisp/gnus/nnmairix.el (nnmairix-determine-original-group-from-path): + * lisp/gnus/nnrss.el (nnrss-match-macro): + * lisp/gnus/nntp.el (nntp-find-group-and-number): + * lisp/help-fns.el (help--symbol-completion-table-affixation): + * lisp/help.el (help-function-arglist): + * lisp/hippie-exp.el (he-concat-directory-file-name): + * lisp/htmlfontify.el (hfy-relstub): + * lisp/ido.el (ido-make-prompt, ido-complete, ido-copy-current-word) + (ido-exhibit): + * lisp/image/image-converter.el (image-convert-p): + * lisp/info-xref.el (info-xref-docstrings): + * lisp/info.el (Info-toc-build, Info-follow-reference) + (Info-backward-node, Info-finder-find-node) + (Info-speedbar-expand-node): + * lisp/international/mule-diag.el (print-fontset-element): + * lisp/language/korea-util.el (default-korean-keyboard): + * lisp/linum.el (linum-after-change): + * lisp/mail/ietf-drums.el (ietf-drums-parse-address): + * lisp/mail/mail-utils.el (mail-dont-reply-to): + * lisp/mail/rfc2047.el (rfc2047-encode-1, rfc2047-decode-string): + * lisp/mail/rfc2231.el (rfc2231-parse-string): + * lisp/mail/rmailkwd.el (rmail-set-label): + * lisp/mail/rmailsum.el (rmail-header-summary): + * lisp/mail/smtpmail.el (smtpmail-maybe-append-domain) + (smtpmail-user-mail-address): + * lisp/mail/uce.el (uce-reply-to-uce): + * lisp/man.el (Man-default-man-entry): + * lisp/mh-e/mh-alias.el (mh-alias-gecos-name) + (mh-alias-minibuffer-confirm-address): + * lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject): + * lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output): + * lisp/mh-e/mh-utils.el (mh-collect-folder-names-filter) + (mh-folder-completion-function): + * lisp/minibuffer.el (completion--make-envvar-table) + (completion-file-name-table, completion-flex-try-completion) + (completion-flex-all-completions): + * lisp/mpc.el (mpc--proc-quote-string, mpc-cmd-special-tag-p) + (mpc-constraints-tag-lookup): + * lisp/net/ange-ftp.el (ange-ftp-send-cmd) + (ange-ftp-allow-child-lookup): + * lisp/net/mailcap.el (mailcap-mime-types): + * lisp/net/mairix.el (mairix-search-thread-this-article): + * lisp/net/pop3.el (pop3-open-server): + * lisp/net/soap-client.el (soap-decode-xs-complex-type): + * lisp/net/socks.el (socks-filter): + * lisp/nxml/nxml-outln.el (nxml-highlighted-qname): + * lisp/nxml/rng-cmpct.el (rng-c-expand-name, rng-c-expand-datatype): + * lisp/nxml/rng-uri.el (rng-uri-file-name-1): + * lisp/obsolete/complete.el (partial-completion-mode) + (PC-do-completion): + * lisp/obsolete/longlines.el (longlines-encode-string): + * lisp/obsolete/nnir.el (nnir-compose-result): + * lisp/obsolete/terminal.el (te-quote-arg-for-sh): + * lisp/obsolete/tpu-edt.el (tpu-check-search-case): + * lisp/obsolete/url-ns.el (isPlainHostName): + * lisp/pcmpl-unix.el (pcomplete/scp): + * lisp/play/dunnet.el (dun-listify-string2, dun-get-path) + (dun-unix-parse, dun-doassign, dun-cat, dun-batch-unix-interface): + * lisp/progmodes/ebnf2ps.el: (ebnf-eps-header-footer-comment): + * lisp/progmodes/gdb-mi.el (gdb-var-delete) + (gdb-speedbar-expand-node, gdbmi-bnf-incomplete-record-result): + * lisp/progmodes/gud.el (gud-find-expr): + * lisp/progmodes/idlw-help.el (idlwave-do-context-help1): + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode) + (idlwave-shell-filter-hidden-output, idlwave-shell-filter): + * lisp/progmodes/idlwave.el (idlwave-skip-label-or-case) + (idlwave-routine-info): + * lisp/progmodes/octave.el (inferior-octave-completion-at-point): + * lisp/progmodes/sh-script.el (sh-add-completer): + * lisp/progmodes/sql.el (defun): + * lisp/progmodes/xscheme.el (xscheme-process-filter): + * lisp/replace.el (query-replace-compile-replacement) + (map-query-replace-regexp): + * lisp/shell.el (shell--command-completion-data) + (shell-environment-variable-completion): + * lisp/simple.el (display-message-or-buffer): + * lisp/speedbar.el (speedbar-dired, speedbar-tag-file) + (speedbar-tag-expand): + * lisp/subr.el (split-string-and-unquote): + * lisp/tar-mode.el (tar-extract): + * lisp/term.el (term-command-hook, serial-read-name): + * lisp/textmodes/bibtex.el (bibtex-print-help-message): + * lisp/textmodes/ispell.el (ispell-lookup-words, ispell-filter) + (ispell-parse-output, ispell-buffer-local-parsing): + * lisp/textmodes/reftex-cite.el (reftex-do-citation): + * lisp/textmodes/reftex-parse.el (reftex-notice-new): + * lisp/textmodes/reftex-ref.el (reftex-show-entry): + * lisp/textmodes/reftex.el (reftex-compile-variables): + * lisp/textmodes/tex-mode.el (tex-send-command) + (tex-start-tex, tex-append): + * lisp/thingatpt.el (thing-at-point-url-at-point): + * lisp/tmm.el (tmm-add-one-shortcut): + * lisp/transient.el (transient-format-key): + * lisp/url/url-auth.el (url-basic-auth) + (url-digest-auth-directory-id-assoc): + * lisp/url/url-news.el (url-news): + * lisp/url/url-util.el (url-parse-query-string): + * lisp/vc/vc-cvs.el (vc-cvs-parse-entry): + * lisp/wid-browse.el (widget-browse-sexp): + * lisp/woman.el (woman-parse-colon-path, woman-mini-help) + (WoMan-getpage-in-background, woman-negative-vertical-space): + * lisp/xml.el: + * test/lisp/emacs-lisp/check-declare-tests.el + (check-declare-tests-warn): + * test/lisp/files-tests.el + (files-tests-file-name-non-special-dired-compress-handler): + * test/lisp/net/network-stream-tests.el (server-process-filter): + * test/src/coding-tests.el (ert-test-unibyte-buffer-dos-eol-decode): + Use `string-search` instead of `string-match` and `string-match-p`. + +2021-08-08 Alan Third + + * src/nsterm.m (max_used_fringe_bitmap): Remove unused variable. + +2021-08-08 Tassilo Horn + + Un-obsolete dired-in-this-tree-p and use it again in certain places. + + This reverts parts of b425966b07, and 7b50ed553f, i.e. it reverts the + obsoletion of dired-in-this-tree-p and switches some new callers of + file-in-directory-p back to using dired-in-this-tree-p. + + It turned out that using file-in-directory-p can be a major + performance regression in case you have a dired buffer of a remote + directory which has become (almost) inaccessible. + + Any attempt to open a new dired buffer is checking if a buffer for + that directory already exists (in terms of dired-buffers-for-dir) + which meant that file-in-directory-p was called with the directory of + any existing dired buffer including the inaccessible one where the + file-truename call in file-in-directory-p could block for seconds or + even minutes. + + * lisp/dired.el (dired-in-this-tree-p): Undo obsoletion. + (dired-buffers-for-dir): Use dired-in-this-tree-p as before. + * lisp/dired-aux.el (dired-kill-tree,dired-tree-down): Une + dired-in-this-tree-p as before. + +2021-08-08 Mattias Engdegård + + Use string-replace instead of replace-regexp-in-string + + `string-replace` is easier to understand, less error-prone, much + faster, and results in shorter Lisp and byte code. Use it where + applicable and obviously safe (erring on the conservative side). + + * admin/authors.el (authors-scan-change-log): + * lisp/autoinsert.el (auto-insert-alist): + * lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent) + (calc-edit-macro-combine-ext-command) + (calc-edit-macro-combine-var-name): + * lisp/calc/calc-units.el (math-make-unit-string): + * lisp/calendar/cal-html.el (cal-html-comment): + * lisp/calendar/cal-tex.el (cal-tex-comment): + * lisp/calendar/icalendar.el (icalendar--convert-string-for-export) + (icalendar--convert-string-for-import): + * lisp/calendar/iso8601.el (iso8601--concat-regexps) + (iso8601--full-time-match, iso8601--combined-match): + * lisp/calendar/time-date.el (format-seconds): + * lisp/calendar/todo-mode.el (todo-filter-items-filename): + * lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name) + (cedet-file-name-to-directory-name): + * lisp/comint.el (comint-watch-for-password-prompt): + * lisp/dired-aux.el (dired-do-chmod): + * lisp/dired-x.el (dired-man): + * lisp/dired.el (dired-insert-directory, dired-goto-file-1): + * lisp/emacs-lisp/comp.el (comp-c-func-name): + * lisp/emacs-lisp/re-builder.el (reb-copy): + * lisp/erc/erc-dcc.el (erc-dcc-unquote-filename): + * lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy) + (erc-update-mode-line-buffer, erc-message-english-PART): + * lisp/files.el (make-backup-file-name-1, files--transform-file-name) + (read-file-modes): + * lisp/fringe.el (fringe-mode): + * lisp/gnus/gnus-art.el (gnus-button-handle-info-url): + * lisp/gnus/gnus-group.el (gnus-group-completing-read): + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + * lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy): + * lisp/gnus/gnus-search.el (gnus-search-query-parse-date) + (gnus-search-transform-expression, gnus-search-run-search): + * lisp/gnus/gnus-start.el (gnus-dribble-enter): + * lisp/gnus/gnus-sum.el (gnus-summary-refer-article): + * lisp/gnus/gnus-util.el (gnus-mode-string-quote): + * lisp/gnus/message.el (message-put-addresses-in-ecomplete) + (message-parse-mailto-url, message-mailto-1): + * lisp/gnus/mml-sec.el (mml-secure-epg-sign): + * lisp/gnus/mml-smime.el (mml-smime-epg-verify): + * lisp/gnus/mml2015.el (mml2015-epg-verify): + * lisp/gnus/nnmaildir.el (nnmaildir--system-name) + (nnmaildir-request-list, nnmaildir-retrieve-groups) + (nnmaildir-request-group, nnmaildir-retrieve-headers): + * lisp/gnus/nnrss.el (nnrss-node-text): + * lisp/gnus/spam-report.el (spam-report-gmane-internal) + (spam-report-user-mail-address): + * lisp/ibuffer.el (name): + * lisp/image-dired.el (image-dired-pngnq-thumb) + (image-dired-pngcrush-thumb, image-dired-optipng-thumb) + (image-dired-create-thumb-1): + * lisp/info.el (Info-set-mode-line): + * lisp/international/mule-cmds.el (describe-language-environment): + * lisp/mail/rfc2231.el (rfc2231-parse-string): + * lisp/mail/rfc2368.el (rfc2368-parse-mailto-url): + * lisp/mail/rmail.el (rmail-insert-inbox-text) + (rmail-simplified-subject-regexp): + * lisp/mail/rmailout.el (rmail-output-body-to-file): + * lisp/mail/undigest.el (rmail-digest-rfc1153): + * lisp/man.el (Man-default-man-entry): + * lisp/mouse.el (minor-mode-menu-from-indicator): + * lisp/mpc.el (mpc--debug): + * lisp/net/browse-url.el (browse-url-mail): + * lisp/net/eww.el (eww-update-header-line-format): + * lisp/net/newst-backend.el (newsticker-save-item): + * lisp/net/rcirc.el (rcirc-sentinel): + * lisp/net/soap-client.el (soap-decode-date-time): + * lisp/nxml/rng-cmpct.el (rng-c-literal-2-re): + * lisp/nxml/xmltok.el (let*): + * lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex) + (nnir-run-find-grep): + * lisp/play/dunnet.el (dun-doassign): + * lisp/play/handwrite.el (handwrite): + * lisp/proced.el (proced-format-args): + * lisp/profiler.el (profiler-report-header-line-format): + * lisp/progmodes/gdb-mi.el (gdb-mi-quote): + * lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex) + (makefile-make-font-lock-keywords): + * lisp/progmodes/prolog.el (prolog-guess-fill-prefix): + * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes): + * lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal): + * lisp/progmodes/which-func.el (which-func-current): + * lisp/replace.el (query-replace-read-from) + (occur-engine, replace-quote): + * lisp/select.el (xselect--encode-string): + * lisp/ses.el (ses-export-tab): + * lisp/subr.el (shell-quote-argument): + * lisp/term/pc-win.el (msdos-show-help): + * lisp/term/w32-win.el (w32--set-selection): + * lisp/term/xterm.el (gui-backend-set-selection): + * lisp/textmodes/picture.el (picture-tab-search): + * lisp/thumbs.el (thumbs-call-setroot-command): + * lisp/tooltip.el (tooltip-show-help-non-mode): + * lisp/transient.el (transient-format-key): + * lisp/url/url-mailto.el (url-mailto): + * lisp/vc/log-edit.el (log-edit-changelog-ours-p): + * lisp/vc/vc-bzr.el (vc-bzr-status): + * lisp/vc/vc-hg.el (vc-hg--glob-to-pcre): + * lisp/vc/vc-svn.el (vc-svn-after-dir-status): + * lisp/xdg.el (xdg-desktop-strings): + * test/lisp/electric-tests.el (defun): + * test/lisp/term-tests.el (term-simple-lines): + * test/lisp/time-stamp-tests.el (formatz-mod-del-colons): + * test/lisp/wdired-tests.el (wdired-test-bug32173-01) + (wdired-test-unfinished-edit-01): + * test/src/json-tests.el (json-parse-with-custom-null-and-false-objects): + Use `string-replace` instead of `replace-regexp-in-string`. + +2021-08-08 Eli Zaretskii + + Another fix for parse-colon-path + + * test/lisp/files-tests.el (files-tests-bug-21454, files-colon-path): + Adapt to change in behavior of 'parse-colon-path'. + + * lisp/files.el (parse-colon-path): Don't expand the directory + names: that changes the names in ways this function is not + supposed to. (Bug#49918) + +2021-08-08 Michael Albinus + + Doc update wrt Tramp support of SSH security keys + + * doc/misc/tramp.texi (Frequently Asked Questions): Speak about + SSH security keys. + (GVFS-based methods, Predefined connection information) + (Remote shell setup): Fix typo. + + * etc/NEWS: Precise Tramp's support for SSH security keys. Fix typos. + +2021-08-08 Dmitry Gutov + + project.el: Bump the version + + * lisp/progmodes/project.el: Bump the version. + +2021-08-07 Eric Abrahamsen + + Further fix to filtering Gnus search group names + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Group + names in the GROUPS argument may be prefixed or not, depending on + which server we're searching, so always enforce prefix policy within + the function. + +2021-08-07 Eli Zaretskii + + Fix files-tests broken on MS-Windows by a recent change + + * test/lisp/files-tests.el (files-colon-path): Use path-separator, and + account for drive letters in absolute file names on MS-Windows. (Bug#49918) + +2021-08-07 Lars Ingebrigtsen + + Fix prin1 problem in package-quickstart-refresh + + * lisp/emacs-lisp/package.el (package-quickstart-refresh): Bind + print-length/print-level before using prin1-to-string (bug#49924). + +2021-08-07 Lars Ingebrigtsen + + Fix print-length issue in comp-run-async-workers + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind + print-length/print-level to ensure there's no truncation (bug#49922). + +2021-08-07 Lars Ingebrigtsen + + Make `q' in `org-agenda' work even with `debug-on-error' set + + * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command): + Using `error' here will trigger users with `debug-on-error' so use + `user-error' instead (bug#49920). It would probably be preferable + to rewrite this to not use the error system to do control flow. + +2021-08-07 Lars Ingebrigtsen + + Fix problem with relative directories in CDPATH + + * lisp/files.el (parse-colon-path): Allow relative directories + (like ".") in CDPATH (bug#49918). + +2021-08-07 Tomasz Konojacki (tiny change) + + perl-mode: fix variable fontification + + * lisp/progmodes/perl-mode.el: Handle variables first to avoid + conflicting with keywords. This fixes cases like "$package" + (bug#49906). + +2021-08-07 Lars Ingebrigtsen + + Allow building on MacOS with MacPorts and libgccjit + + * configure.ac: Check for the "port" command (MacPorts). + Add the required lib/include directories for nativecomp. + + * src/Makefile.in (LIBGCCJIT_CFLAGS, LIBGCCJIT_LIBS): Split into + two parts to allow including -L/-I for MacPorts. + (LIBES): Adjust. + (EMACS_CFLAGS): Ditto. + +2021-08-06 Philip Kaludercic + + Add new option rcirc-channel-filter + + * rcirc.el (rcirc-channel-filter): Add option + (rcirc-short-buffer-name): Respect rcirc-channel-filter + (rcirc-handler-JOIN): Respect rcirc-channel-filter + (rcirc-handler-PART): Respect rcirc-channel-filter + (rcirc-handler-KICK): Respect rcirc-channel-filter + (rcirc-handler-QUIT): Respect rcirc-channel-filter + (rcirc-handler-INVITE): Respect rcirc-channel-filter + +2021-08-06 Philip Kaludercic + + Add new option rcirc-track-abbrevate-flag + + * rcirc.el (rcirc-track-abbrevate-flag): Add option + (rcirc-short-buffer-name): Respect rcirc-track-abbrevate-flag + +2021-08-06 Glenn Morris + + Merge from origin/emacs-27 + + b77f6af24e (origin/emacs-27) ERC right stamps: also use latest buffer... + + # Conflicts: + # lisp/erc/erc-stamp.el + +2021-08-06 dickmao + + Improve ffap-ido-mode test + + * test/lisp/ffap-tests.el (ffap-ido-mode): Actually test + `ido-everywhere' at run time, not compile time (bug#49895). + +2021-08-06 dick r. chiang + + Fix problem with occasional stalls in `url-retrieve-synchronously' + + * lisp/url/url.el (url-retrieve-synchronously): Use + `accept-process-output' on a null process. That is the safer, more + conventional way of achieving non-blocking sleep-for (bug#49897). + + Also rewrite for greater readability. + +2021-08-06 Lars Ingebrigtsen + + Mention NonGNU in "Package Archives" node in the manual + + * doc/lispref/package.texi (Package Archives): Mention NonGNU, too + (bug#49899). + +2021-08-06 Dmitry Gutov + + Add colon-space after prompt + + * lisp/progmodes/project.el (project--completing-read-strict): + Fix last change's regression (bug#49865). + +2021-08-06 Eli Zaretskii + + Fix automatic hscrolling when line numbers are displayed + + * src/xdisp.c (hscroll_window_tree): When line numbers are + displayed, account for the the line-number space when calculating + the desired X coordinate on the left. (Bug#49891) + +2021-08-06 Eli Zaretskii + + Improve wording of recently changed documentation + + * src/minibuf.c (syms_of_minibuf): + * lisp/minibuffer.el (minibuffer-restore-windows): + * lisp/progmodes/etags.el (etags-xref-prefer-current-file): + Improve wording of doc strings. + + * etc/NEWS: Improve wording and format of recently added entries. + +2021-08-06 Eli Zaretskii + + Make sure installed *.eln files have correct permissions + + * Makefile.in (install-eln): Add "umask 022" to ensure the *.eln + files are accessible from the user's Emacs session. Suggested by + Wilhelm Kirschbaum . (Bug#49864) + +2021-08-06 Olivier Certner + + ERC right stamps: also use latest buffer's window's width (Bug#44140) + + * lisp/erc/erc-stamp.el (erc-insert-timestamp-right): Use latest + buffer's window's width to position the timestamp, if both + `erc-timestamp-right-column' and `erc-fill-column' are not set (or + `erc-fill-mode' is off). This is what the documentation says, but was + not implemented. Also fix the bug of using selected window's width + instead of the (or some) window showing the buffer. The latest + window's width is saved in `erc-timestamp-last-window-width' and used + when the buffer is no more shown. In case the buffer was never shown, + which I'm not sure can happen, either use `fill-column' if set, or + give up on aligning and just output the timestamp (modulo the kludge) + right after message text. While here, fix the off by one calculation + of point start when the reference is the window's width. + +2021-08-06 Dmitry Gutov + + Change how project-find-file's completion works + + * lisp/progmodes/project.el (project--completing-read-strict): + Allow to choose a non-existent file, with confirmation + (bug#49204). + Don't use the string at point as a "real" default, and instead + only include it in "future history": meaning, it will be inserted + on 'M-n' (bug#49865). + +2021-08-06 Dmitry Gutov + + New option etags-xref-prefer-current-file + + * lisp/progmodes/etags.el (etags-xref-prefer-current-file): + New user option (bug#2544). + (xref-backend-definitions): Use it. + +2021-08-06 Dmitry Gutov + + Provide a default for xref-find-apropos pattern + + * lisp/progmodes/xref.el (xref-find-apropos): + Provide a default for the pattern (bug#49731). + +2021-08-06 Dmitry Gutov + + Change the xref-goto-xref error message + + * lisp/progmodes/xref.el (xref-goto-xref): + Change the error message (bug#49846). + +2021-08-06 Juri Linkov + + Add function minibuffer-restore-windows (bug#45072) + + * lisp/minibuffer.el (minibuffer-restore-windows): New function + that removes the completions buffer. Add it to minibuffer-exit-hook. + * src/minibuf.c (read-minibuffer-restore-windows): Mention + minibuffer-restore-windows. + +2021-08-05 Konstantin Kharlamov + + Reset mtime of a buffer reverted "delicately" + + * lisp/files.el (revert-buffer-insert-file-contents-delicately): + Once buffer is reverted, reset its mtime to that of the file. + (Bug#49893) + +2021-08-05 Eli Zaretskii + + Fix files-tests on non-Posix systems + + * test/lisp/files-tests.el (files-test-auto-save-name-default) + (files-test-auto-save-name-transform) + (files-test-auto-save-name-unique, files-test-lock-name-default) + (files-test-lock-name-unique): Skip the drive letter in absolute + file names on MS-Windows/MS-DOS when comparing file names against + the expected ones. + (files-tests-file-name-non-special--subprocess): Skip test on + MS-Windows/MS-DOS. + +2021-08-05 Mattias Engdegård + + Cease attempts to const-propagate through setq + + The current method of propagating constants through setq was unsound + because it relied on each setq form only being traversed at most once + during optimisation, which isn't necessarily true in general; it could + be made to miscompile code in rare cases. + + Since it was only used in limited circumstances, disabling this + optimisation doesn't cost us much. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Don't update the known value when traversing `setq`. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test case. + +2021-08-05 Lars Ingebrigtsen + + Fix M-n description in refcards + + * etc/refcards/pl-refcard.tex (section{Szukanie przyrostowe}): + Ditto (in comments). + + * etc/refcards/refcard.tex (section{Incremental Search}): Fix M-n + description (bug#49872). + +2021-08-05 Roland Winkler + + Add support for the oauth2.el library in nnimap and smtpmail + + * doc/misc/gnus.texi (Customizing the IMAP Connection): + * doc/misc/smtpmail.texi (Authentication): Mention it. + + * lisp/gnus/nnimap.el (nnimap-login): Support oauth2. + + * lisp/mail/smtpmail.el (smtpmail-try-auth-method): New function + for oauth2. + +2021-08-05 Glenn Morris + + * lisp/cus-start.el (read-minibuffer-restore-windows): Fix entry. + +2021-08-04 Juri Linkov + + * lisp/vc/smerge-mode.el (smerge-mode-menu): Add menu item for smerge-refine. + +2021-08-04 dickmao + + Package archive location needs to be absolute filename + + * lisp/emacs-lisp/package.el (package--with-response-buffer-1): + Actually check that URL is absolute (bug#49788). + +2021-08-04 Lars Ingebrigtsen + + Add a new thing-at-point type: existing-filename + + * doc/lispref/text.texi (Buffer Contents): Mention it. + + * lisp/thingatpt.el (thing-at-point-file-at-point): New function. + (existing-filename): Register it. + +2021-08-04 Lars Ingebrigtsen + + Make `M-j' work reliably if `comment-auto-fill-only-comments' is set + + * lisp/simple.el (default-indent-new-line): Force breaking the + line when called interactively (bug#49849). (Perhaps the + interactive command should be rebound and call this function + instead...) + +2021-08-04 Lars Ingebrigtsen + + Improve `define-globalized-minor-mode' doc strings + + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Copy the description from easy-mmode--arg-docstring (bug#49843). + +2021-08-04 dickmao + + ffap ido accommodation + + Now that ffap-file-finder can be ido-find-file, the + noninteractive portion of find-file-at-point cannot + assume ffap-file-finder always takes an argument + (ido-find-file does not). + + * lisp/ffap.el (find-file-at-point): Do not call ffap-file-finder. + * test/lisp/ffap-tests.el (ffap-ido-mode): Test it. + +2021-08-04 Miha Rihtaršič + + Use `abort-minibuffers' in delsel + + * lisp/delsel.el (minibuffer-keyboard-quit): Use + `abort-minibuffers' (bug#49821). + + Previously, C-g was bound to abort-recursive-edit, now it is bound to + abort-minibuffers. However, after requiring delsel, it gets bound to + minibuffer-keyboard-quit, which still uses abort-recursive-edit. Use + the new function instead. + +2021-08-04 martin rudalics + + Add new user option 'read-minibuffer-restore-windows' + + * doc/lispref/minibuf.texi (Text from Minibuffer): Document it + (bug#45072). + + * lisp/cus-start.el (standard): Add. + + * src/minibuf.c (syms_of_minibuf): New variable + 'read-minibuffer-restore-windows'. + +2021-08-04 Lars Ingebrigtsen + + Update outdated Gnus information + + * doc/misc/gnus.texi (History): Update information. + +2021-08-04 Lars Ingebrigtsen + + Fix apparent typo in new cl-generic-tests.el test case + +2021-08-04 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Don't emit warning + + Also remove "WARNING" annotations after confirming that he code was right. + +2021-08-04 akater + + Evaluate eql specializers + + * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Evaluate + forms that are eql specializers. Provide backward compatibility + with a warning. + + * test/lisp/emacs-lisp/cl-generic-tests.el: Add a test. + * lisp/emacs-lisp/bindat.el (bindat--type): Adhere to the new rule. + * lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Adhere to the new rule. + * lisp/emacs-lisp/map.el (map-into): Adhere to the new rule. + * lisp/emacs-lisp/radix-tree.el (map-into): Adhere to the new rule. + * lisp/frame.el (cl-generic-define-context-rewriter): Adhere to the new rule. + * lisp/gnus/gnus-search.el + (gnus-search-transform-expression): Adhere to the new rule. + * lisp/image/image-converter.el + (image-converter--probe image-converter--convert): Adhere to the new rule. + * lisp/mail/smtpmail.el (smtpmail-try-auth-method): Adhere to the new rule. + * lisp/progmodes/elisp-mode.el + (xref-backend-definitions) + (xref-backend-apropos): Adhere to the new rule. + * lisp/progmodes/etags.el (xref-backend-identifier-at-point) + (xref-backend-identifier-completion-table) + (xref-backend-identifier-completion-ignore-case) + (xref-backend-definitions)(xref-backend-apropos): Adhere to the new rule. + * test/lisp/emacs-lisp/checkdoc-tests.el + (checkdoc-cl-defmethod-with-types-ok) + (checkdoc-cl-defmethod-qualified-ok) + (checkdoc-cl-defmethod-with-extra-qualifier-ok): Adhere to the new rule. + + * etc/NEWS: Describe the change. + +2021-08-03 Michael Albinus + + Code cleanup for Tramp's yubikey integration + + * lisp/net/tramp-sh.el (tramp-actions-before-shell) + (tramp-actions-copy-out-of-band): + Use `tramp-security-key-confirm-regexp'. + + * lisp/net/tramp.el (tramp-security-key-confirm-regexp): Rename from + `tramp-yubikey-regexp'. Adapt docstring. + (tramp-security-key-confirmed-regexp): New defcustom. + (tramp-action-show-and-confirm-message): + Redisplay. Use `tramp-security-key-confirmed-regexp'. + +2021-08-03 Lars Ingebrigtsen + + file-name-concat is not error free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Declare + file-name-concat as side-effect free. + +2021-08-03 Lars Ingebrigtsen + + Declare file-name-concat as side-effect free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Declare + file-name-concat as side-effect (and error) free. + +2021-08-03 Mattias Engdegård + + Remove ineffective expression in verilog-mode + + * lisp/progmodes/verilog-mode.el (verilog-set-auto-endcomments): + Remove expression that now elicits a byte-compiler warning. + +2021-08-03 Mattias Engdegård + + Declare `match-beginning` and `match-end` as side-effect-free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add functions. + +2021-08-03 Phil Sainty + + Merge branch 'scratch/so-long' + +2021-08-03 Phil Sainty + + Make `global-so-long-mode' use `buffer-line-statistics' + + * lisp/so-long.el: (so-long-statistics-excessive-p): New predicate + function using `buffer-line-statistics'. + (so-long-predicate): Use `so-long-statistics-excessive-p' by default. + + * etc/NEWS: Describe changes. + + * test/lisp/so-long-tests/so-long-tests-helpers.el: + * test/lisp/so-long-tests/so-long-tests.el: Update tests. + Also improve the existing `so-long-tests-predicate' tests. + +2021-08-03 Phil Sainty + + Support 'preserved' variables and minor modes in `so-long-mode' + + The default values support preserving the state of `view-mode' when + switching to (and reverting from) `so-long-mode' (bug#45084). + + * lisp/so-long.el (so-long-mode-preserved-variables) + (so-long-mode-preserved-minor-modes): New user options. + (so-long-mode-maintain-preserved-variables) + (so-long-mode-maintain-preserved-minor-modes): New functions. + (so-long-remember-all, so-long-after-change-major-mode) + (so-long-mode-revert): Use them. + + * etc/NEWS: Describe changes. + + * test/lisp/so-long-tests/so-long-tests-helpers.el: + * test/lisp/so-long-tests/so-long-tests.el: Update tests. + +2021-08-03 Phil Sainty + + * lisp/so-long.el (so-long-minor-modes): Additional modes to disable + +2021-08-03 Phil Sainty + + Make `global-so-long-mode' handle unrecognised file types + + * lisp/so-long.el (so-long-target-modes): Add `fundamental-mode' + + * etc/NEWS: Describe changes. + + This doesn't affect buffers which are simply in `fundamental-mode' by + default. It only affects buffers for which `set-auto-mode' has been + called (normally via `find-file') without establishing a different + major mode. + +2021-08-03 Phil Sainty + + Increase `so-long-threshold' and `so-long-max-lines' defaults + + * lisp/so-long.el (so-long-threshold, so-long-max-lines): Increase + default values to reduce false-positives. + + * etc/NEWS: Describe changes. + + Lines shorter than 10,000 characters shouldn't generally be causing + problems, so testing this explicitly will largely eliminate + false-positives. We must also increase the maximum number of lines + to check, because 'minified' code may still include newlines, and so + there may be many lines shorter than the new threshold before we find + a line which exceeds it. + + Previously we used a minimum-effort heuristic, testing a very small + number of lines against a maximum length which, while not remotely + long enough to cause problems, would nevertheless be uncommon in any + normal file of programming code (and hence indicative that the file + was likely to be minified code). + + Testing indicates that the performance penalty for the larger values + should be negligible. + +2021-08-03 Jimmy Yuen Ho Wong + + * Fix error while disassembling native code on macOS + + * lisp/emacs-lisp/disass.el (disassemble-internal): Make sure the + regexp that searches for a symbol takes into account of llvm-objdump's + output format. + +2021-08-03 Juri Linkov + + Improve handling of context menus for global, local, minor-mode menus + + * lisp/mouse.el (context-menu-global, context-menu-local, context-menu-minor): + Better handling of possibly nested menu maps. + +2021-08-03 Amin Bandali + + Merge from origin/emacs-27 + + 75ecce4323 Unbreak ERC's Ibuffer filter (Bug#44100) + +2021-08-03 Olivier Certner + + Unbreak ERC's Ibuffer filter (Bug#44100) + + * lisp/erc/erc-ibuffer.el (erc-modified): Don't use `length' on dotted + lists (and not even to test if there is more than one element, for + that matter). Use `cdr' instead. + +2021-08-03 Juri Linkov + + Adjust tab-bar to the new mode-line-misc-info value (bug#49806) + + * lisp/tab-bar.el (tab-bar--define-keys): Adjust to the new + default value for `mode-line-misc-info'. + +2021-08-02 Stephen Gildea + + mh-junk: adjust messages for allow/block actions + + * lisp/mh-e/mh-junk.el: Remove messages that get overwritten quickly. + Keep messages that give status for slow operations. Add information + that might be useful for debugging failures. + +2021-08-02 Stefan Monnier + + * lisp/mwheel.el: Don't use `custom-initialize-delay`. + + Set up the keybindings when loading the file. + + (mouse-wheel--installed-bindings-alist): Move to beginning. + (mouse-wheel-change-button): Don't update bindings when they're not installed. + (mouse-wheel--setup-bindings): New function extracted from `mouse-wheel-mode`. + (): Call it when loading the file. + (mouse-wheel-mode): Use the default :initializer. + +2021-08-02 Stefan Monnier + + * lisp/progmodes/flymake.el (flymake--mode-line-title): Don't quote lambda + +2021-08-01 Juri Linkov + + * lisp/progmodes/project.el (project-switch-project): Use 'let*' (bug#49635). + + This allows overriding-local-map to have effect on read-key-sequence. + +2021-08-01 Juri Linkov + + * lisp/help-mode.el (help-mode-context-menu): New function. + + (help-mode): Use it. + +2021-08-01 Juri Linkov + + * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Display warning. + + https://lists.gnu.org/archive/html/emacs-devel/2021-08/msg00007.html + +2021-08-01 Mattias Engdegård + + Make dlet work like let, not let* + + Change `dlet` so that it has binding semantics like `let` because that + is what a user would expect and it allows a corresponding `dlet*` to + be added later should the need arise. Fortunately the change has no + effect where it is currently used. + + * lisp/subr.el (dlet): Work like let. + * lisp/calendar/cal-bahai.el (calendar-bahai-date-string): + * lisp/calendar/cal-coptic.el (calendar-coptic-date-string): + * lisp/calendar/cal-dst.el (calendar-time-zone-daylight-rules) + (calendar-dst-starts, dst-in-effect): + * lisp/calendar/cal-persia.el (calendar-persian-date-string): + * lisp/calendar/calendar.el (calendar-dlet, calendar-generate-month) + (calendar-update-mode-line, calendar-date-string): + * lisp/calendar/diary-lib.el (diary-list-entries-2) + (diary-list-entries, diary-mark-entries-1, diary-sexp-entry) + (diary-remind, diary-font-lock-date-forms, diary-fancy-date-pattern): + * lisp/calendar/holidays.el (holiday-sexp): + * lisp/calendar/icalendar.el (icalendar--convert-float-to-ical): + * lisp/calendar/solar.el (solar-time-string): + * lisp/calendar/todo-mode.el (todo-date-pattern) + (todo-edit-item--header, todo-convert-legacy-date-time) + (todo-read-date): + Rename `calendar-dlet*` to `calendar-dlet` since it uses `dlet`. + +2021-08-01 Mattias Engdegård + + Indicate selected occur target with fringe arrow + + * lisp/replace.el (occur--set-arrow): New function. + (occur-mode-goto-occurrence) + (occur-mode-goto-occurrence-other-window) + (occur-mode-display-occurrence): Call it. + * etc/NEWS: Announce. + +2021-08-01 Juri Linkov + + * lisp/filecache.el: Fix cycling (bug#49761). + + (file-cache-cycle): Refactor from file-cache-minibuffer-complete. + (file-cache-minibuffer-complete): Use file-cache-cycle in 2 old places, + and in 1 following new place. When last-command is equal to this-command, + use file-cache-cycle to continue cycling the previous completion + as long as the user continues typing C-TAB. + Also when displaying a list of completions, don't try to move point + to the common prefix. + +2021-08-01 Kévin Le Gouguec + + Extend Gnus summary highlight faces by default + + * lisp/gnus/gnus.el (gnus-summary-selected): + (gnus-summary-normal-ancient): + (gnus-summary-normal-undownloaded): + (gnus-summary-normal-unread): + (gnus-summary-normal-read): Set :extend attribute. + +2021-08-01 Lars Ingebrigtsen + + Adjust the fully qualified host name when nothing is set + + * doc/misc/message.texi (News Headers): Adjust index. + * lisp/gnus/message.el (message-check-news-header-syntax): Adjust check. + (message-make-fqdn): Be less hilarious. + +2021-07-31 Lars Ingebrigtsen + + Fix `u' binding in Gnus Browse mode + + * lisp/gnus/gnus-srvr.el (gnus-browse-mode-map): Bind to + `gnus-browse-toggle-subscription-at-point', which is the command. + +2021-07-31 Mattias Engdegård + + Occur-mode multi-line match property gap filling + + When an occur-mode regexp matches across multiple lines, the spacing + prefixes inserted between each did not have the `occur-target` + property which is essential for jumping to the corresponding place in + the target buffer. This prevented next-error and previous-error + from working. + + * lisp/replace.el (occur-engine): Put the `occur-target` property on + the continuation prefix to avoid the gap. + +2021-07-31 Mattias Engdegård + + * etc/NEWS: Mention occur-mode highlight changes. + +2021-07-31 Lars Ingebrigtsen + + C-x 5 5 manual tweak + + * doc/emacs/frames.texi (Creating Frames): Mention + other-frame-prefix function name. + +2021-07-31 Lars Ingebrigtsen + + Update NEWS tagging for a couple entries + +2021-07-31 Lars Ingebrigtsen + + Add an index entry for outline-minor-mode-cycle + + * doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle. + +2021-07-31 Lars Ingebrigtsen + + Document outline-minor-mode-cycle in the manual. + + * doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle. + +2021-07-31 Lars Ingebrigtsen + + Make `ffap-read-file-or-url' work again (to read URLs) + + * lisp/ffap.el (ffap--url-file-handler): New function (bug#44822). + (ffap-read-file-or-url): Use it to allow switching between URLs + and files. + +2021-07-31 Lars Ingebrigtsen + + Add new user option python-forward-sexp-function + + * lisp/progmodes/python.el (python-forward-sexp-function): New + user option (bug#41361). + (python-mode): Use it. + +2021-07-31 Lars Ingebrigtsen + + Adjust how `replace-match' runs modification hooks + + * src/editfns.c (Fsubst_char_in_region) + (Ftranslate_region_internal): + * src/cmds.c (internal_self_insert): Update callers. + * src/insdel.c (replace_range): Allow inhibiting + signal_after_change/update_compositions. + * src/lisp.h: Update. + + * src/search.c (Freplace_match): Run the modification hooks at the + end instead of before adjusting point (bug#42424). + +2021-07-31 Lars Ingebrigtsen + + Extend whitespace-empty to the end of the line + + * lisp/whitespace.el (whitespace-empty): Restore Emacs 26 look by + extending the face (bug#42112). + +2021-07-31 Lars Ingebrigtsen + + Revert "Fix `speedbar-directory-buttons' when using Tramp" + + This reverts commit 5afad3918bc8816b74e8efcff9cc441785446aa6. + + This patch can't possibly be correct, and it breaks the stated interface. + +2021-07-31 Lars Ingebrigtsen + + Revert "Allow nil initializers in define-minor-mode" + + This reverts commit 02cbb37de73d563149389615ee44741322007108. + + This was mistakenly commited and doesn't really make much sense. + +2021-07-31 Lars Ingebrigtsen + + Don't bind and RET in *Help* buffers + + * lisp/help-mode.el (help-mode-map): Remove key bindings for RET + and (bug#49784). + (help-xref-stack, help-xref-forward-stack, help-xref-stack-item) + (help-make-xrefs): Fix doc strings -- these aren't used by + `help-follow', but by `help-follow-symbol'. + (help-follow-mouse, help-follow): Make obsolete. + +2021-07-31 Lars Ingebrigtsen + + Allow nil initializers in define-minor-mode + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Make the + meaning of :initialize nil and a missing :initialize the same. + +2021-07-31 Alan Third + + Fix some macOS problems + + * src/nsmenu.m (update_frame_tool_bar): Make sure the toolbar isn't + displayed when it's not supposed to be. + * src/nsterm.m ([EmacsView layoutSublayersOfLayer:]): Reinstate code + intended to prevent a crash when running redisplay. + +2021-07-31 Alan Third + + Move parent frame setting code into EmacsWindow + + * src/nsterm.m (ns_make_frame_visible): + (ns_set_parent_frame): + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Use new method. + ([EmacsWindow setParentChildRelationships]): New method. + +2021-07-31 Alan Third + + Move NS port toolbar handling to the window + + * src/nsmenu.m (free_frame_tool_bar): + (update_frame_tool_bar): Remove wait_for_tool_bar and get the toolbar + from the window. + * src/nsterm.h (EmacsView): Remove toolbar and wait_for_tool_bar. + * src/nsterm.m (ns_update_begin): + ([EmacsView windowDidEnterFullScreen]): + ([EmacsView windowDidExitFullScreen]): Get the toolbar from the + window, not the view. + ([EmacsView dealloc]): Remove toolbar from view. + ([EmacsView createToolbar:]): Move method to EmacsWindow. + ([EmacsView initFrameFromEmacs:]): Don't create toolbar here any more. + ([EmacsView toolbar]): Remove method. + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): Create toolbar here. + ([EmacsWindow createToolbar:]): Moved from EmacsView. + ([EmacsWindow dealloc]): Make sure we clean up the toolbar after + closing the window. + +2021-07-31 Alan Third + + Fix macOS live resize drawing + + * src/nsterm.m ([EmacsView layout]): + ([EmacsView layoutSublayersOfLayer:]): Rename layout to + layoutSublayersOfLayer. + +2021-07-31 Alan Third + + Change NS port resize detection + + * src/nsterm.m ([EmacsView windowDidResize:]): Remove function, it's + not performing a useful function any more. + ([EmacsView viewDidResize]): + ([EmacsView resizeWithOldSuperviewSize:]): Replace viewDidResize with + resizeWithOldSuperviewSize. + ([EmacsView initFrameFromEmacs:]): Remove the view resize notification + as we don't need it any more. + +2021-07-31 Alan Third + + Tidy up NS port OS window handling + + * src/nsterm.h (EmacsWindow): Move above EmacsView definition and add + new method definitions. + (EmacsView): Remove redundant bwidth variable, and change NSWindow to + EmacsWindow. + (EmacsFSWindow): Delete definition. + * src/nsterm.m (ns_set_undecorated): Rewrite to work in GNUstep using + the new OS window creating methods. + ([EmacsView initFrameFromEmacs:]): Move all NSWindow related code to + new init method in EmacsWindow, and use said method. + ([EmacsView toggleFullScreen:]): Use EmacsWindow instead of NSWindow. + ([EmacsWindow initWithEmacsFrame:]): + ([EmacsWindow initWithEmacsFrame:fullscreen:screen:]): + ([EmacsWindow borderWidth]): New methods. + (EmacsFSWindow): Remove implementation. + +2021-07-31 Alan Third + + Simplify macOS drawing code + + Convert EmacsSurface into a CALayer subclass so we can use the + built-in relationships. Also simplify the macOS versioning code. + This will result in more warnings on older versions of macOS but makes + reading the code easier. + + * configure.ac: Add QuartzCore framework. + * src/nsterm.h (NS_DRAW_TO_BUFFER): Remove define and all references. + (EmacsSurface, EmacsLayer): Rename EmacsSurface to EmacsLayer and + modify the definition to fit the new function. + * src/nsterm.m (ns_update_begin): + (ns_update_end): + (ns_focus): + (ns_unfocus): Use the new overridden lockFocus and unlockFocus and + simplify the frame management. + ([EmacsView dealloc]): + ([EmacsView viewDidResize:]):Don't explicitly release surfaces. + ([EmacsView initFrameFromEmacs:]): Move the layer code to after the + NSWindow has been created as creating the layer now relies on some of + it's properties. + ([EmacsView makeBackingLayer]): New function. + ([EmacsView lockFocus]): + ([EmacsView focusOnDrawingBuffer]): Rename to lockFocus. + ([EmacsView unlockFocus]): + ([EmacsView unfocusDrawingBuffer]): Rename to unlockFocus. + ([EmacsView windowDidChangeBackingProperties]): Don't explicitly + release surfaces but reset EmacsLayer properties. + ([EmacsView layout]): + ([EmacsView viewWillDraw]): Rename to layout. + ([EmacsView wantsUpdateLayer]): Remove function and change all callers + to [EmacsView wantsLayer]. + (EmacsSurface, EmacsLayer): Rename to EmacsLayer. + ([EmacsSurface getSize]): + ([EmacsSurface initWithSize:ColorSpace:Scale:]): Remove methods. + ([EmacsSurface initWithColorSpace:]): + ([EmacsLayer checkDimensions]): + ([EmacsLayer releaseSurfaces]): + ([EmacsLayer display]): New functions. + * src/nsterm.m ([EmacsLayer dealloc]): Use releaseSurfaces. + ([EmacsSurface getContext]): Automatically detect frame property + changes and clear the cache if required. Use built-in CALayer + properties where available. + ([EmacsLayer copyContentsTo:]): Use [CALayer contents] as source. + +2021-07-31 Eli Zaretskii + + * src/fontset.c (check_fontset_name): A better fix for bug#49782. + +2021-07-30 Adam Porter + + * lisp/emacs-lisp/cl-macs.el: Add cl-type pattern + + * lisp/emacs-lisp/cl-macs.el: + ((pcase-defmacro type)): Add 'cl-type' pattern. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Add test. + + * doc/lispref/control.texi (pcase Macro): Update manual. + + With thanks to Stefan Monnier and Eli Zaretskii for their guidance. + +2021-07-30 Eli Zaretskii + + * src/fontset.c (check_fontset_name): Fix last change. + +2021-07-30 Eli Zaretskii + + Avoid segfault when set-fontset-font is called from non-GUI frames + + * src/fontset.c (check_fontset_name): Avoid crashes if this is + called from a non-GUI frame. (Bug#49782) + +2021-07-30 Michael Albinus + + Change Tramp version to "2.5.2-pre" + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.2-pre". + +2021-07-30 Dmitry Gutov + + Make fileloop skip missing files + + * lisp/fileloop.el (fileloop-next-file): If a file doesn't exist, + skip to the next one (bug#44979). + +2021-07-30 Maxim Nikulin (tiny change) + + Tweak previous mailcap-view-file change + + * lisp/net/mailcap.el (mailcap-view-file): Remove the :noquery t + mistakenly added (bug#12972). + +2021-07-30 k3tu0isui (tiny change) + + Fix problem when switching between different prolog versions + + * lisp/progmodes/prolog.el (run-prolog): Make switching between + different prolog systems work more reliably (bug#45795). + + * lisp/progmodes/prolog.el (prolog-ensure-process): Don't start a + new process if one already exists. + +2021-07-30 Mattias Engdegård + + Simplify lexical let-optimisations + + Ensure in cconv that let-bindings have the normal form (VAR EXPR) + where VAR is a valid variable name, so that we don't need to keep + re-checking this all the time in the optimiser. + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize-enable-variable-constprop) + (byte-optimize-warn-eliminated-variable): Remove; these were mainly + used for debugging. + * lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form): + Assume normalised let-bindings (with lexical-binding). + Stop using the variables removed above. + * lisp/emacs-lisp/cconv.el (cconv-convert): Ensure normalised + let-bindings. Malformed bindings are dropped after warning. + + remove byte-optimize-warn-eliminated-variable + +2021-07-30 Lars Ingebrigtsen + + Ensure that recover-file doesn't leave stale auto-save files behind + + * lisp/files.el (recover-file): Don't leave stale auto-save files + behind after crash recovery (bug#11331). + +2021-07-30 Lars Ingebrigtsen + + Allow shell PROMPT strings to have ANSI codes + + * lisp/comint.el (comint-output-filter): Don't overwrite ANSI + codes from the prompt command (bug#11883). + +2021-07-30 Max Nikulin (tiny change) + + mailcap.el: Avoid xdg-open silent failure + + * lisp/net/mailcap.el (mailcap-view-file): Use 'pipe :connection-type + instead of 'pty to prevent killing of background process on handler + exit. Avoid regression similar to Bug#44824. + + Problem happens only in some desktop environments where mailcap handler + launches actual viewer (as defined in .desktop files and obtained from + mimeapps.list) in background. E.g. xdg-open invokes "gio open" or + kde-open5 for Gnome or KDE accordingly and these handlers launch e.g. + eog or okular in background. As soon as main process exits, temporary + terminal session created by `start-process-shell-command' is terminated. + As a result background processes receive SIGHUP. + + Previously command were executed with no buffer as well, so the change + does not affect "needsterminal" and "copiousoutput" mailcap features, + they are not supported as earlier. + + If main process of the handler fails then show a message with exit + reason. Output (including error messages) is ignored as before. + Gtk applications tend to report significant amount of failed asserts + hardly informative for majority of users (bug#12972). + +2021-07-30 Lars Ingebrigtsen + + Fix case insensitivity in `read-file-name' + + * lisp/minibuffer.el (read-file-name-default): Make `read-file-name' + actually respect `read-file-name-completion-ignore-case' (bug#14340). + +2021-07-30 Lars Ingebrigtsen + + Fix issue with mml-preview from outside Gnus + + * lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Be more + resilient when running from outside Gnus. + +2021-07-30 Lars Ingebrigtsen + + Work around long-standing seq.el compilation warning + + * lisp/emacs-lisp/seq.el (seq-contains): When using cl-defgeneric + to define an obsolete function, it'll complain about it being + obsolete. Suppress that warning. (Should probably be fixed in + cl-defgeneric instead.) + +2021-07-30 Basil L. Contovounesios + + Remove a redundant let-binding from Ispell + + Recent optimizer changes revealed a case-fold-search binding in + Ispell that was made redundant in the revision of 2020-11-03 + "Simplify ispell-check-version’s use of -vv flag". + + * lisp/textmodes/ispell.el (ispell-check-version): Remove no-op + binding of case-fold-search. + +2021-07-30 Michael Albinus + + * etc/NEWS: Tramp supports authentication via yubikey now. Fix typos. + +2021-07-30 Michael Albinus + + Fix bug#49773 in Tramp + + * lisp/net/tramp.el (tramp-handle-find-backup-file-name) + (tramp-handle-lock-file, tramp-handle-make-auto-save-file-name): + Check security hole only if action is in progress. (Bug#49773) + +2021-07-30 Mattias Engdegård + + Optimise let and let* whose body is constant or the last variable + + Simplify (let ((X1 E1) ... (Xn En)) Xn) + => (progn E1 ... En) + + and (let* ((X1 E1) ... (Xn En)) Xn) + => (let* ((X1 E1) ... (Xn-1 En-1)) En) + + and similarly the case where the body is a constant, extending a + previous optimisation that only applied to the constant nil. + This reduces the number of bound variables, shortens the code, and + enables further optimisations. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-letX): Rewrite using + `pcase` and add the aforementioned transformations. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test cases. + +2021-07-30 Mattias Engdegård + + Move warnings about bad let-bindings from source optimiser to cconv + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form): Move warnings... + * lisp/emacs-lisp/cconv.el (cconv-convert): ...here, which is an + overall better place (closer to the front-end). + +2021-07-30 Mattias Engdegård + + Optimise prog1 better + + Rewrite (prog1 CONST FORMS...) => (progn FORMS... CONST) + where CONST is a compile-time constant, because putting the value last + allows the lapcode peephole pass to do important improvements like + branch elimination. Also use progn instead of prog1 for `ignore`. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + New `prog1` and `ignore` transforms. + +2021-07-30 Mattias Engdegård + + Elide lexical variables in for-effect context in source optimiser + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Remove for-effect uses of lexical variables. We previously relied on + this being done by the lapcode peephole optimiser but at source level + it enables more optimisation opportunities. + Keywords are elided for the same reason. + +2021-07-30 Mattias Engdegård + + Single source optimiser entry point + + Make the optimiser aware of lexical arguments. Otherwise we cannot + know for sure whether a variable is lexical or dynamic during + traversal. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-one-form): New optimiser + entry point, replacing the recursive byte-optimize-form. + * lisp/emacs-lisp/bytecomp.el (byte-optimize-one-form): Autoload. + (byte-compile-keep-pending, byte-compile-top-level): + Use byte-optimize-one-form. + +2021-07-30 Stephen Gildea + + mh-junk: replace color-based terms with descriptive words + + * lisp/mh-e/*.el: "whitelist" -> "allowlist" and "blacklist" -> "blocklist". + * doc/misc/mh-e.texi: update manual to match. + * lisp/mh-e/folder.el: Change the binding of 'mh-junk-allowlist' to 'J a'. + Add a compatibility binding for the old 'J w'. + * lisp/mh-e/mh-scan.el (mh-note-allowlisted): Change char from 'W' to 'A'. + * lisp/mh-e/junk.el: Rename 'mh-blacklist-a-msg' to 'mh-junk-blocklist-a-msg', + adding the missing "junk-" to the function name. + +2021-07-29 Nick Gasson (tiny change) + + Avoid errors in rmailsum for messages without "From" + + * lisp/mail/rmailsum.el (rmail-header-summary): Be defensive about + the presence of the "From" header. (Bug#49770) + +2021-07-29 dickmao + + Follow-up toggle-subscription name change + + * doc/misc/gnus.texi (Subscription Commands): Refer to correct function. + * lisp/gnus/gnus-group.el (gnus-group-unsubscribe-current-group): + Make backwards-compatible. + (gnus-group-unsubscribe-group): + Make backwards-compatible (bug#49768). + +2021-07-29 Dmitry Gutov + + Fix printing of multiple items in one group without line numbers + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Fix printing of multiple items in one group without line numbers + (mentioned in bug#49731). + +2021-07-28 dickmao + + Rename Gnus -unsubscribe-group commands to -toggle-subscription + + * doc/emacs/misc.texi (Gnus Group Buffer): Document change. + * doc/misc/gnus.texi (Subscription Commands): Document change. + (Browse Foreign Server): Document change. + * lisp/gnus/gnus-group.el (gnus-group-mode-map): + Unsubscribe is not subscribe. + (gnus-group-sub-map): Unsubscribe is not subscribe. + (gnus-group-make-menu-bar): Unsubscribe is not subscribe. + (gnus-group-tool-bar-gnome): Unsubscribe is not subscribe. + (gnus-group-mode): Unsubscribe is not subscribe. + (gnus-group-unsubscribe): Refactor. + (gnus-group-subscribe): Refactor. + (gnus-group-unsubscribe-current-group): Define obsolete alias. + (gnus-group-unsubscribe-group): Define obsolete alias. + (gnus-group-toggle-subscription-at-point): Refactor. + (gnus-group-set-subscription-at-point): Refactor. + (gnus-group-toggle-subscription): Refactor. + (gnus-group-set-subscription): Refactor. + * lisp/gnus/gnus-srvr.el (gnus-browse-mode-map): + Unsubscribe is not subscribe. + (gnus-browse-make-menu-bar): Unsubscribe is not subscribe. + (gnus-browse-mode): Document the change. + (gnus-browse-unsubscribe-current-group): Define obsolete alias. + (gnus-browse-unsubscribe-group): Define obsolete alias. + (gnus-browse-toggle-subscription-at-point): Unsubscribe is not subscribe. + (gnus-browse-toggle-subscription): Unsubscribe is not subscribe + (bug#49759). + +2021-07-28 Juri Linkov + + Improve :type of defcustom 'context-menu-functions' and add documentation. + + * doc/emacs/frames.texi (Menu Mouse Clicks): Describe context-menu-mode + and context-menu-functions instead of suggesting global-set-key. + (Menu Bars): Mention context-menu-mode and context-menu-functions. + + * etc/NEWS: Add context-menu-mode and context-menu-functions. + + * lisp/mouse.el (context-menu-functions): Use :type with repeat/function-item. + (context-menu-minor, context-menu-undo, context-menu-region) + (context-menu-ffap): Improve docstrings displayed for function-item in + defcustom of context-menu-functions. + +2021-07-28 Lars Ingebrigtsen + + Improve mode-line-position-column-format manual entry + + * doc/lispref/modes.texi (Mode Line Variables): Mention %C, and + don't mention the obsolete column-number-indicator-zero-based + variable. + +2021-07-28 Juri Linkov + + * lisp/progmodes/gud.el: Add prefix 'gud-' to repeat-map variables (bug#49632) + + * lisp/progmodes/gud.el (gud-sdb-repeat-map, gud-dbx-repeat-map) + (gud-xdb-repeat-map, gud-perldb-repeat-map, gud-pdb-repeat-map) + (gud-guiler-repeat-map, gud-jdb-repeat-map): Rename with prefix 'gud-'. + +2021-07-28 Lars Ingebrigtsen + + Make byte-recompile-directory less brittle + + * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Don't + interpret files named "~" as $HOME (bug#49758). + +2021-07-28 Lars Ingebrigtsen + + Improve mode-line-position-column-format doc string + + * lisp/bindings.el (mode-line-position-column-format): Improve doc + string. + (mode-line-position-line-format): Point to + `mode-line-position-column-line-format'. + +2021-07-28 Kévin Le Gouguec + + Improve file-name-concat NEWS entry + +2021-07-28 Philip Kaludercic + + Replace cl-c[ad]+r with regular c[ad]+r + + * rcirc.el (rcirc-make-trees): Replace cl-cdadr with cdadr + (rcirc-handler-333): Replace cl-cadddr with cadddr + (rcirc-authenticate): Replace cl-cdddr with cdddr + +2021-07-28 Michael Albinus + + Display yubikey message properly in Tramp + + * lisp/net/tramp.el (tramp-action-show-and-confirm-message): + Display message properly. + +2021-07-27 Brian Leung + + Ensure that gud commands for non-GDB debuggers are handled by repeat-mode + + * lisp/progmodes/gud.el (sdb-repeat-map): Define. + (sdb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (dbx-repeat-map): Define. + (dbx): Set repeat-mode property to the symbol corresponding to the + repeat map. + (xdb-repeat-map): Define. + (xdb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (perldb-repeat-map): Define. + (perldb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (pdb-repeat-map): Define. + (pdb): Set repeat-mode property to the symbol corresponding to the + repeat map. + (guiler-repeat-map): Define. + (guiler): Set repeat-mode property to the symbol corresponding to the + repeat map. + (jdb-repeat-map): Define. + (jdb): Set repeat-mode property to the symbol corresponding to the + repeat map. (Bug#49632) + +2021-07-27 Brian Leung + + Ensure that gud commands for M-x gdb are handled by repeat-mode + + * lisp/progmodes/gud.el (gud-gdb-repeat-map): Rename from + gud-repeat-map, and populate at the top-level. + (gud-set-repeat-map-property): Introduce this helper function for + setting the repeat-map property. + (gud-gdb): Use the gud-set-repeat-map-property function to assign the + repeat-map property. + + * lisp/progmodes/gdb-mi.el (gdb): Use the gud-set-repeat-map-property + function to assign the repeat-map property. + + Because different debugging tools may not support all of the gud-foo + functions, we reassign the repeat-map property within the respective + commands, as opposed to the top level of the files, to ensure that the + repeat-map property is reassigned each time to a symbol corresponding + to the active debugging tool. (Bug#49632) + +2021-07-27 Juri Linkov + + * lisp/tab-bar.el (tab-bar-format-global): Use string-trim-right (bug#30056). + +2021-07-27 Juri Linkov + + Add new context-menu options for menus "File At Point" and "Version Control". + + * lisp/mouse.el (context-menu-functions): Add more options. + (context-menu-global, context-menu-local): Fix separators. + (context-menu-minor): Rewrite to support list of submenus. + (context-menu-vc, context-menu-ffap): New functions. + (context-menu-undo, context-menu-region): Fix separators. + + * lisp/dired.el (dired-context-menu): + * lisp/info.el (Info-context-menu): + * lisp/net/goto-addr.el (goto-address-context-menu): + * lisp/net/eww.el (eww-context-menu): + * lisp/progmodes/prog-mode.el (prog-context-menu): Fix separators. + +2021-07-27 Philip Kaludercic + + Remove removal of text properties from rcirc-buffer-alist keys + + * rcirc.el (rcirc-mode): Remove set-text-properties call + +2021-07-27 Michael Albinus + + Mark all autorevert tests as unstable on Cygwin (bug#49665) + + * test/lisp/autorevert-tests.el: Mark all tests as unstable on + Cygwin (bug#49665). + +2021-07-27 Philip Kaludercic + + Fix checkdoc issues + + * rcirc.el (rcirc-finished-sasl): Add period. + (rcirc-mode): Expand docstring. + (rcirc-handler-900): Document sender and process + +2021-07-27 Mattias Engdegård + + Fix mistake in switch-case generation of `null` (bug#49746) + + Reported by Gregor Zattler. + + * lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix): + Be more careful in the selection of equality. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test case. + +2021-07-27 Philip Kaludercic + + Update rcirc-buffer-alist after receiving NICK + + * rcirc.el (rcirc-handler-NICK): Remove old nick and add new nick + +2021-07-27 Lars Ingebrigtsen + + Revert "Make revert-buffer preserve buffer-readedness" + + This reverts commit fcae435f598471a2911641412125c5ac4f73559f. + + This leads to problems when reverting from a file that's changed + readedness externally. + +2021-07-27 Philip Kaludercic + + Fix TOPIC command + + * rcirc.el (topic): Add target argument. + +2021-07-27 Michael Albinus + + Final tweak for Tramp's yubikey detection + + * lisp/net/tramp.el (tramp-yubikey-regexp) + (tramp-action-show-and-confirm-message): Expect also "\n". + +2021-07-27 Alan Third + + Convert fringe bitmaps to vectors on NS port + + Unfortunately *step doesn't support masks for bitmap images so + changing the colors of fringe bitmaps is awkward. We can work around + this by converting the bitmap into an NSBezierPath and drawing it in + the required color. + + * src/nsterm.m (ns_define_fringe_bitmap): + (ns_destroy_fringe_bitmap): New functions + (ns_draw_fringe_bitmap): Display the NSBezierPath. + * src/nsimage.m + ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): Remove + variable that's there to allow us to easily modify the XBM colors. + ([EmacsImage setXBMColor:]): Remove method. + +2021-07-27 Alan Third + + Fix NS inset rectangle corners + + * src/nsterm.m (ns_draw_relief): Use a path to draw the mitered + corners instead of rectangles. + +2021-07-27 Alan Third + + Simplify NS sizing and positioning code + + * src/nsterm.m (ns_set_offset): Unify the two branches into one, most + of the code is the same. + (ns_set_window_size): Use the provided tools to calculate the window + size instead of doing it ourselves. + +2021-07-27 Alan Third + + * src/nsterm.m (ns_set_frame_alpha): Enable alpha on GNUstep. + +2021-07-26 Alan Third + + Fix image crash on macOS (bug#49688) + + * src/nsimage.m ([EmacsImage allocInitFromFile:]): Use isValid to + check whether the image is valid instead of generating a tiff. + +2021-07-26 Mattias Engdegård + + Adjust grep-mode end-col function return value + + * lisp/progmodes/grep.el (grep-regexp-alist): Adjust the return value + from the END-COL function by one since it is now (after fixing + bug#49624) inclusive. Found by Juri Linkov. + +2021-07-26 Michael Albinus + + Some minor improvements for share handling in tramp-gvfs.el + + * lisp/net/tramp-gvfs.el (tramp-gvfs-connection-mounted-p): + Set "share" connection property if the mount spec offers it. + (tramp-gvfs-handle-get-remote-uid) + (tramp-gvfs-handle-get-remote-gid): Use it. + +2021-07-26 Michael Albinus + + Adapt Tramp for yubikey + + * lisp/net/tramp.el (tramp-yubikey-regexp): Adapt value. + (tramp-trace-functions): Adapt docstring. + (tramp-process-action-regexp): New defvar. + (tramp-action-password, tramp-process-one-action): Use it. + (tramp-action-show-and-confirm-message): Rewrite. + +2021-07-26 Michael Albinus + + Adapt tramp-sudoedit.el for better testing + + * doc/misc/tramp.texi (Bug Reports): Revert last change. Mention + exception for sudoedit. + + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): + Let-bind `tramp-cache-read-persistent-data' for better password handling. + +2021-07-25 Mattias Engdegård + + Describe changes to the occur-mode implementation in NEWS + + * etc/NEWS: Mention change to the `occur-target` property (bug#39121). + +2021-07-25 Glenn Morris + + Fix recent gdb-mi change + + * lisp/progmodes/gdb-mi.el (gdb-registers-filter-pattern-list): + Fix type. + +2021-07-25 Glenn Morris + + Merge from origin/emacs-27 + + d0625dc553 (origin/emacs-27) ; One more change in back.texi. + 06d0a66e57 ; Yet another last-minute change in Emacs manual for printing + +2021-07-25 Michael Albinus + + Add instructions for Tramp bug reports + + * doc/misc/tramp.texi (Bug Reports): Describe how to use password + cache with "emacs -Q". + +2021-07-25 Mattias Engdegård + + Fix tex-validate-buffer + + * lisp/textmodes/tex-mode.el (tex-validate-buffer): + Set `inhibit-read-only` around all modifications of the + read-protected *Occur* buffer (bug#19326). + Add the `occur-match` property, and adjust the extent of the + `occur-target` property, so that next-error and previous-error work + correctly (bug#39121). + +2021-07-25 Mattias Engdegård + + Add back occur-mode-find-occurrence for compatibility (bug#39121) + + * lisp/replace.el (occur-mode-find-occurrence): + Put back (an emulation of) the previously removed function. + It is used internally in eshell and in some external code. + + Problem found by Basil Contovounesios. + +2021-07-25 Eli Zaretskii + + Fix compilation of xftfont.c with old fontconfig + + * src/xftfont.c (FC_LCD_FILTER): Define if undefined, for older + versions of fontconfig. This was mistakenly deleted 2 years ago. + (Bug#49722) + +2021-07-25 Michael Albinus + + Fix extended attributes for Tramp's sudoedit method (bug#49724) + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file): + Remove compat code for `{set-}file-extended-attributes'. + (tramp-sudoedit-handle-write-region): Handle extended attributes. + (Bug#49724) + + * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux): + Fix test for sudoedit method. + +2021-07-25 Kévin Le Gouguec + + * etc/NEWS: Fix renaming of directory-append. + +2021-07-25 Christopher League + + When bookmark is overwritten, unfontify its previous position + + * lisp/bookmark.el (bookmark-store): When the bookmark-fontify option + is non-nil, setting or jumping to bookmarks will colorize them using + `bookmark-face'. With this change, overwriting a bookmark will remove + the fontification at its former position (bug#49725). + +2021-07-25 Michael Albinus + + Use `file-name-concat' in Tramp + + * lisp/net/tramp-compat.el (tramp-compat-file-name-concat): + New defalias. + + * lisp/net/tramp.el (tramp-handle-expand-file-name): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): + * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): + * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name): + Use it. + +2021-07-25 Mattias Engdegård + + Don't squash markers in occur-edit-mode + + * lisp/replace.el (occur-after-change-function): Instead of replacing + the whole line being edited, use shrink-wrapping to replace the + smallest interval encompassing the change. That way, we avoid + disturbing markers (such as occur highlighting locations) in the line; + they would otherwise all be forced to the beginning. + +2021-07-25 Mattias Engdegård + + Keep track of match extents in occur-mode (bug#39121) + + Use the `occur-target` text property to keep track of the extents of + all matches on each line instead of just the start of the first match. + Doing so allows us to highlight all matches when jumping to a matching + line instead of just the first one, and it works in a more principled + way. It also removes compatibility problems that were introduced with + occur-highlight-regexp. + + For compatibility with code that populate their own occur-mode + buffers, we still accept `occur-target` properties with a single + marker as value. + + * lisp/replace.el (occur-highlight-regexp, occur-highlight-overlay): + Remove. + (occur-highlight-overlays): New. + (occur--targets-start): New. + * lisp/replace.el (occur-after-change-function): + (occur-mode-find-occurrence): Replace with... + (occur-mode--find-occurrences): ...this function that returns the + whole `occur-target` property value. + (occur-mode-goto-occurrence, occur-mode-goto-occurrence-other-window) + (occur-goto-locus-delete-o, occur-mode-display-occurrence) + (occur-engine): Adjust to new property format. + (occur--highlight-occurrence): Replace with... + (occur--highlight-occurrences): ...this function that takes + the `occur-target` property value as argument. + (occur-1): Don't use `occur-highlight-regexp`. + * test/lisp/replace-tests.el (occur-highlight-occurrence): + Adapt to new property format. + +2021-07-25 Arthur Miller (tiny change) + + Support '--group-directories-first' in ls-lisp.el + + * lisp/ls-lisp.el (ls-lisp--sanitize-switches): New function. + (ls-lisp--insert-directory): Support '--group-directories-first'. + Call 'ls-lisp--sanitize-switches' to convert long options to short + forms and remove unsupported long options. Update the doc string. + +2021-07-25 Peter Feigl + + Add commands to move to next/previous column in tabulated-list-mode + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode-map): Add + keybindings M-left and M-right. + (tabulated-list-previous-column tabulated-list-next-column): Implement + commands (bug#44711). + +2021-07-25 Lars Ingebrigtsen + + Rename directory-append to file-name-concat + + * src/fileio.c (Ffile_name_concat): + * lisp/files.el (move-file-to-trash): + * lisp/emacs-lisp/shortdoc.el (file-name): + * doc/lispref/files.texi (Directory Names): Rename + `directory-append' to `file-name-concat'. + +2021-07-25 Lars Ingebrigtsen + + Allow empty elements in directory-append + + * doc/lispref/files.texi (Directory Names): Document it. + * src/fileio.c (Fdirectory_append): Allow empty elements. + +2021-07-24 Mattias Engdegård + + Disable delay and ding in replace-tests + + * test/lisp/replace-tests.el (replace-tests-with-undo): + When testing the "U" (undo all changes) option, the code will delay + and ding which is obnoxious in an automated test. + Disabling that makes the test quiet and about 150 times faster. + +2021-07-24 Yuan Fu + + Add filter to GDB's register buffer + + * lisp/progmodes/gdb-mi.el (gdb-registers-enable-filter) + (gdb-registers-filter-pattern-list): New custom options. + (gdb-header-click-event-handler, gdb-registers-toggle-filter): New + functions. + (gdb-header-click-event-handler): Only add a register if it passes the + filter. + (gdb-registers-mode-map): New keybinding for toggling the filter. + (gdb-registers-header): New buttons on the header line for the + filter (bug#39179). + +2021-07-24 Lars Ingebrigtsen + + Really convert to multibyte in Fdirectory_append + + * src/fileio.c (Fdirectory_append): Fix check for whether we need + to convert to multibyte. + (Fdirectory_append): + +2021-07-24 Michael Albinus + + Fix last commit in tramp.el + +2021-07-24 Lars Ingebrigtsen + + Fix Fdirectory_append check for whether strings have to be converted + + * src/coding.c (string_ascii_p): Make it non-static. + + * src/fileio.c (Fdirectory_append): Fix check for whether we need + to convert to multibyte. + + * src/fns.c (string_ascii_p): Remove copy. + + * src/lisp.h: Declare string_ascii_p. + +2021-07-24 Lars Ingebrigtsen + + Set the normal-erase-is-backspace variable from Customize + + * lisp/simple.el (normal-erase-is-backspace): Always set the + variable so that Customize is up-to-date (bug#49593). + +2021-07-24 Lars Ingebrigtsen + + Tweak Fdirectory_append slightly + + * src/fileio.c (Fdirectory_append): Make the xfree condition more + robust. + +2021-07-24 Lars Ingebrigtsen + + Improve directory-append manual entry + + * doc/lispref/files.texi (Directory Names): Mention zero-length + restriction. + +2021-07-24 Lars Ingebrigtsen + + Tweak Fdirectory_append for efficiency + + * src/fileio.c (Fdirectory_append): Make slightly more efficient. + +2021-07-24 Lars Ingebrigtsen + + Extend directory-append to take an arbitrary number of components + + * doc/lispref/files.texi (Directory Names): Document it. + * lisp/emacs-lisp/shortdoc.el (file-name): Add new example. + + * src/fileio.c (Fdirectory_append): Change the function to take an + arbitrary number of components. + +2021-07-24 Philip Kaludercic + + Ensure that rcirc-buffer-alist has no text properties + + * rcirc.el (rcirc-mode): Remove text properties from + rcirc-buffer-alist keys + +2021-07-24 Michael Albinus + + Add Tramp support for yubikey (bug#49714) + + * lisp/net/tramp.el (tramp-yubikey-regexp): New defcustom. + (tramp-action-show-and-confirm-message): New defun. + + * lisp/net/tramp-sh.el (tramp-actions-before-shell) + (tramp-actions-copy-out-of-band): Add `tramp-yubikey-regexp' action. + +2021-07-24 Lars Ingebrigtsen + + Adjust tab-bar to the new mode-line-misc-info value + + * lisp/tab-bar.el (tab-bar--define-keys): Adjust to the new + default value for `mode-line-misc-info'. + +2021-07-24 Lars Ingebrigtsen + + Remove duplicated NEWS entries + +2021-07-24 Lars Ingebrigtsen + + Make 's' in *Help* work for Lisp-defined variables again + + * lisp/help-fns.el (describe-variable): Make the `s' command work + for Lisp-defined variables again (bug#39121). + +2021-07-24 Lars Ingebrigtsen + + Fix problem when moving files called ~ to the trash + + * lisp/files.el (move-file-to-trash): Construct the trash file + name safely (bug#49711). This makes (move-file-to-trash "/tmp/~") + etc work. + +2021-07-24 Lars Ingebrigtsen + + Add new function `directory-append' + + * doc/lispref/files.texi (Directory Names): Document it, and + remove the concat-based file concatenation description. + * lisp/emacs-lisp/shortdoc.el (file-name): Add. And add more + expand-file-name examples. + + * src/fileio.c (Fdirectory_append): New function. + +2021-07-24 Philip Kaludercic + + Generate no message when activating rcirc-omit-mode + + * rcirc.el (rcirc-omit-mode): Remove (message ...) expressions + +2021-07-24 Lars Ingebrigtsen + + Make the test for auto-mode-alist from .dir-local.el stricter + + * lisp/files.el (set-auto-mode--dir-local-valid-p): New function. + (set-auto-mode--apply-alist): Use it as a stricter test. + +2021-07-23 Eli Zaretskii + + Improve recently added documentation + + * etc/NEWS: Improve wording of a recently added entry. + + * doc/misc/smtpmail.texi (Queued delivery): Fix typo. + +2021-07-23 Alex Bochannek + + Fix bug#49699 + + * lisp/net/tramp-sh.el (tramp-scp-strict-file-name-checking): + Adapt check for macOS. (Bug#49699) + +2021-07-23 Lars Ingebrigtsen + + Fix typo in set-auto-mode--apply-alist + + * lisp/files.el (set-auto-mode--apply-alist): Fix typo in + ad5faa424a5 (bug#49712). + +2021-07-23 Lars Ingebrigtsen + + Allow storing SMTP variables when queueing mail + + * doc/misc/smtpmail.texi (Queued delivery): Document it (bug#49709). + + * lisp/gnus/message.el (message-multi-smtp-send-mail): Store + variables. + + * lisp/mail/smtpmail.el (smtpmail-queue-mail): Mention it. + (smtpmail-store-queue-variables): New variable. + (smtpmail-send-it): Store SMTP variables if requested. + (smtpmail-send-queued-mail): Restore variables. + +2021-07-23 Lars Ingebrigtsen + + Fix do-auto-fill thinko introduced earlier today + + * lisp/simple.el (do-auto-fill): `current-fill-column' returns nil + to signal that we should fill. + +2021-07-23 Tom Tromey + + Add auto-mode-alist functionality to .dir-locals.el + + * doc/emacs/custom.texi (Directory Variables): Document + auto-mode-alist in .dir-locals.el (Bug#18721) + * doc/emacs/modes.texi (Choosing Modes): Update. + * lisp/files.el (set-auto-mode--apply-alist): New function, + from set-auto-mode. + (set-auto-mode): Check directory locals for auto-mode-alist. + (dir-locals-collect-variables): Add "predicate" parameter. + (hack-dir-local--get-variables): New function, from + hack-dir-local-variables. + (hack-dir-local-variables): Call hack-dir-local--get-variables. + * test/lisp/files-resources/.dir-locals.el: New file. + * test/lisp/files-resources/whatever.quux: New file. + * test/lisp/files-tests.el (files-tests-data-dir): New variable. + (files-test-dir-locals-auto-mode-alist): New test. + +2021-07-23 Jean Forget + + Add more support for the French Revolutionary Calendar + + * lisp/calendar/cal-french.el (calendar-french-feasts-array): New + variable (bug#19174). + (calendar-french-trim-feast): New function. + (calendar-french-date-string, calendar-french-goto-date): + (calendar-french-goto-date): Use them. + + http://datetime.mongueurs.net/Histoire/s-c/01-g.en.html + https://metacpan.org/pod/DateTime::Calendar::FrenchRevolutionary#Internet + +2021-07-23 Mattias Engdegård + + Off-by-one error in compilation rule end-column function (bug#49624) + + * lisp/progmodes/compile.el (compilation-error-properties): + When the end-column parameter of a compilation message rule + (in compilation-error-regexp-alist[-alist]) is a function, treat its + return value as if it were matched by the regexp, which is how it is + documented to work, and how all other parameters work. + +2021-07-23 Mattias Engdegård + + Warn about arity errors in inlining calls (bug#12299) + + Wrong number of arguments in inlining function calls (to `defsubst` or + explicitly using `inline`) did not result in warnings, or in very + cryptic ones. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Add calls + to `byte-compile--check-arity-bytecode`. + * lisp/emacs-lisp/bytecomp.el (byte-compile-emit-callargs-warn) + (byte-compile--check-arity-bytecode): New functions. + (byte-compile-callargs-warn): Use factored-out function. + * test/lisp/emacs-lisp/bytecomp-resources/warn-callargs-defsubst.el: + * test/lisp/emacs-lisp/bytecomp-tests.el ("warn-callargs-defsubst.el"): + New test case. + +2021-07-23 F. Jason Park + + Remove text props from callback args in erc-button + + * lisp/erc/erc-button.el (erc-button-add-buttons-1): Remove text + properties from strings stored in `erc-data' and passed to + `erc-callback' + (both text properties themselves) (bug#49704). This reduces + memory usage in erc buffers (which are long-lived and can become + very large). + +2021-07-23 Lars Ingebrigtsen + + declare-function doc string clarification about FILE + + * lisp/subr.el (declare-function): Mention that FILE can be nil + (bug#21466). + +2021-07-23 Stefan Kangas + + Make nil value of fill-column obsolete + + * lisp/textmodes/fill.el (current-fill-column): Make nil value of + 'fill-column' obsolete. (Bug#22847) + (current-fill-column--has-warned): New variable to track warning. + * lisp/simple.el (do-auto-fill): Remove handling of nil return value + from 'current-fill-column'. + * etc/NEWS: Announce obsoletion of this usage. + +2021-07-23 Lars Ingebrigtsen + + Adjust time-tests.el to bug#30056 + + * test/lisp/time-tests.el (time-tests-display-time-update): Adjust + test (bug#30056). + +2021-07-23 Lars Ingebrigtsen + + Move mode-line NEWS items to a common section + +2021-07-23 Lars Ingebrigtsen + + 'global-mode-string' elements should have a space at the end + + * lisp/time.el (display-time-string-forms): + * lisp/battery.el (battery-mode-line-format): Add a space to the + end (bug#30056). + * lisp/bindings.el (mode-line-misc-info): Remove space from end. + This will make the default format have one space before the + line-of-dashes (instead of two) on terminals. + +2021-07-23 Lars Ingebrigtsen + + Fix an rcirc merge problem + + * lisp/net/rcirc.el (rcirc-get-server-method) + (rcirc-get-server-password): Remove double definition after merge. + +2021-07-23 Eli Zaretskii + + MS-Windows followup to recent emacsclient changes + + * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_file-has-acl): Set to true + to avoid compiling file-has-acl.c on MS-Windows. + +2021-07-23 Paul Eggert + + Redo emacsclient socket symlink-attack checking + + * admin/merge-gnulib (GNULIB_MODULES): Add file-has-acl. + * lib/file-has-acl.c: New file, copied from Gnulib. + * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate. + * lib-src/emacsclient.c: Include acl.h, for file_has_acl. + (O_PATH): Default to O_SEARCH, which is good enough here. + (union local_sockaddr): New type. + (socket_status): Remove, replacing with ... + (connect_socket): New function. All callers changed. + This function checks for ownership and permissions issues with the + parent directory of the socket file, instead of checking the + owner of the socket (which does not help security). + (socknamesize): Move to file scope. + (local_sockname): New arg S. No need to pass socknamesize. + UID arg is now uid_t. All callers changed. Get file descriptor + of parent directory of socket, to foil some symlink attacks. + Do not follow symlinks to that directory. + (set_local_socket): Create the socket here instead of on + each attempt to connect it. Fall back from XDG_RUNTIME_DIR + to /tmp only if the former fails due to ENOENT. Adjust + permission-failure diagnostic to match changed behavior. + + This addresses Bug#33847, which complained about emacsclient in a + safer XDG environment not connecting to an Emacs server running in + a less-safe enviroment outside XDG. The patch fixes a + longstanding issue with emacsclient permission checking. + It’s ineffective to look at the permission of the socket file + itself; on some platforms, these permissions are ignored anyway. + What matters are the permissions on the parent directory of the + socket file, as these are what make symlink attacks possible. + Change the permissions check accordingly, and also refuse to + follow symlinks to that parent directory. These changes make it + OK for emacsclient to fall back from XDG_RUNTIME_DIR to the + traditionally less-safe /tmp/emacsNNNN directories, since /tmp is + universally sticky nowadays. + +2021-07-23 Philip Kaludercic + + Merge branch 'feature/rcirc-update' + +2021-07-23 Lars Ingebrigtsen + + Make erc recognize `foo*' as a function Lisp symbol + + * lisp/erc/erc-button.el (erc-button-alist): Add some more chars + to the `foo' button regexp (bug#49690). + +2021-07-23 Lars Ingebrigtsen + + Make supersession warnings work again + + * src/filelock.c (lock_file): Fix thinko in lock_file in 2ad34bcea4e + (bug#49701). + +2021-07-22 Eli Zaretskii + + Fix display of line/wrap-prefix when there's a display property at BOL + + * src/xdisp.c (get_line_prefix_it_property): New function. + (handle_line_prefix): Call 'get_line_prefix_it_property' instead + of 'get_it_property', to examine also the property of the buffer + text underlying the display or overlay string. (Bug#49695) + +2021-07-22 Lars Ingebrigtsen + + Make revert-buffer preserve buffer-readedness + + * lisp/files.el (revert-buffer): Preserve buffer-readedness + (bug#35166). + +2021-07-22 Lars Ingebrigtsen + + `term-char-mode' doc string clarification + + * lisp/term.el (term-char-mode): Document behaviour (bug#49186). + +2021-07-22 Dmitry Gutov + + Bind the GIT_LITERAL_PATHSPECS environment variable + + * lisp/vc/vc-git.el (vc-git-command): + (vc-git--call): Ensure that git interprets file names literally + (bug#39452). + +2021-07-22 Sergey Organov (tiny change) + + Avoid failing in desktop-clear due to killed buffers + + * lisp/desktop.el (desktop-clear): check that buffer is not already + killed before attempting to kill it. A buffer might become killed as + part of regular operation as a side-effect of killing another buffer, + and then attempt to kill it again causes error (bug#49692). + +2021-07-22 Lars Ingebrigtsen + + Remove the (value) bits from cus-start Customize strings + + * lisp/cus-start.el (standard): Don't mention the Lisp values in + the choice strings, because that's just confusing in the Customize + interface (bug#49687). + +2021-07-22 Eli Zaretskii + + Avoid byte-compilation warning + + * test/src/buffer-tests.el (buffer-tests-inhibit-buffer-hooks): + Avoid byte-compiler warning. (Bug#49667) + +2021-07-22 Lars Ingebrigtsen + + Move generalized variable specs from cl-lib.el to gv.el + + * lisp/emacs-lisp/cl-lib.el: Move all the generalized variable + specifications from cl-lib.el... + * lisp/emacs-lisp/gv.el: ... to gv.el. This will make things like + `(setf (getenv "FOO") "BAR")' work without requiring anything, + since `setf' lives in gv.el (bug#49651). + +2021-07-21 Yan Gajdos (tiny change) + + Make vc-git-mode-line-string more robust + + * lisp/vc/vc-git.el (vc-git-mode-line-string): Make function more + robust (bug#49683). It could previously error out under certain + conditions, like moving directories in and out of the + VC-controlled tree. + +2021-07-21 Illia Ostapyshyn (tiny change) + + * lisp/cus-start.el: Add mode-line-compact to Customize + + * lisp/cus-start.el (standard): Make `mode-line-compact' into a + user option (bug#49687). + +2021-07-21 Juri Linkov + + Improve docstring of context-menu-functions and add eww-context-menu + + * lisp/mouse.el (context-menu-functions): Explain function args in docstring. + + * lisp/net/eww.el (eww-context-menu): New function. + (eww-mode): Add it to context-menu-functions. + + * lisp/info.el (Info-context-menu): Move history items higher. + + * lisp/progmodes/prog-mode.el (prog-context-menu): Add menu items + in the middle of the menu after the region menu items. + +2021-07-21 Juri Linkov + + Change the order of context-menu-functions and add more context menus. + + * lisp/mouse.el (context-menu-functions): Update default list. + (context-menu-overriding-function): Remove variable. + (context-menu-map): Reverse the order. + (context-menu-global, context-menu-local, context-menu-minor): New functions. + (context-menu-undo, context-menu-region): Add separators. + Use define-key-after instead of bindings--define-key. + (context-menu-entry): New variable. + (context-menu-mode): Use it. + + * lisp/dired.el (dired-context-menu): New function. + (dired-mode): Add it to context-menu-functions. + + * lisp/info.el (Info-context-menu): Reorder. + + * lisp/net/goto-addr.el (goto-address-at-mouse): + Rename from goto-address-at-click. + (goto-address-context-menu): Use goto-address-at-mouse. + + * lisp/progmodes/prog-mode.el (prog-context-menu): New function. + (prog-mode): Add it to context-menu-functions. + +2021-07-21 Logan Perkins + + Make input of multi-key inputs in different emacsclients more logical + + * src/keyboard.c (read_key_sequence): Don't continue the input of + multi-key commands in one emacsclient in another (bug#39687). + +2021-07-21 Stefan Monnier + + * src/eval.c (signal_quit_p): Fix the usual int/Lisp_Object mixup + +2021-07-21 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-warn-and-return): Add arg `category` + + Use it to obey `byte-compile-warnings`. + + (macroexp--warn-wrap): Add arg `category`. + (macroexp-macroexpand, macroexp--expand-all): Use it. + + * lisp/emacs-lisp/cconv.el (cconv--convert-funcbody, cconv-convert): + Mark the warnings as `lexical`. + + * lisp/emacs-lisp/eieio-core.el (eieio-oref, eieio-oref-default) + (eieio-oset-default): + * lisp/emacs-lisp/eieio.el (defclass): Adjust to new calling convention. + +2021-07-21 Lars Ingebrigtsen + + Make `C-g' after `M-x' not give a backtrace unless required + + * src/eval.c (signal_quit_p): New function. + (maybe_call_debugger): React to all `quit' signals (bug#49675). + + * src/keyboard.c (cmd_error_internal, menu_item_eval_property_1): + Ditto. + +2021-07-21 Jashank Jeremy + + Speed up by storing frame faces in hash tables instead of alists + + * src/frame.h (struct frame): Add face_hash_table, remove face_alist. + (fset_face_hash_table): New function. + (fset_face_alist): Remove. + * src/frame.c (make_frame): Initialize f->face_hash_table. + (Fmake_terminal_frame): Update to work with hash tables instead of + alists. + * src/xfaces.c (lface_from_face_name_no_resolve): + (Finternal_make_lisp_face): + (update_face_from_frame_parameter): Update to work with hash tables + instead of alists. + (Fframe_face_hash_table): New function. + (Fframe_face_alist): Move to faces.el as frame-face-alist. + (syms_of_xfaces): Add frame_face_hash_table. + + * lisp/progmodes/elisp-mode.el (elisp--eval-defun-1): + * lisp/frame.el (frame-set-background-mode): Update to work with hash + tables instead of alists. + * lisp/faces.el (face-new-frame-defaults): Mark obsolete. + (face-list): Update to use face--new-frame-defaults. + (frame-face-alist): Moved here from src/xfaces.c. + (x-create-frame-with-faces): Update to handle subtle semantic change + to how frame faces propagate, which otherwise breaks frame creation + with reverse video enabled (bug#41200). + + Reworked from a patch by Clément Pit-Claudel . + +2021-07-21 Stefan Monnier + + * doc/lispref/display.texi (Overlay Properties): Tweak further + + The "character after point" is not as important as point itself + +2021-07-21 Lars Ingebrigtsen + + Remove some "is"es from previous json checkin + + * lisp/subr.el (json-available-p): + * doc/lispref/text.texi (Parsing JSON): Fix typo in last check-in. + +2021-07-21 Stefan Kangas + + Factor out char_table_ref_simple for readability + + * src/chartab.c (char_table_ref_simple): New function... + (sub_char_table_ref_and_range, char_table_ref_and_range): + ...factored out from here. (bug#45550). + +2021-07-21 Lars Ingebrigtsen + + Fix final test for invalid base64url chars + + * src/fns.c (base64_decode_1): Fix test for invalid base64url + (bug#45562). Noted by Andreas Schwab. + +2021-07-21 Pankaj Jangid + + Fixed a typo in Gnus manual + + * doc/misc/gnus.texi (Washing Mail): Fixed typo + +2021-07-21 Lars Ingebrigtsen + + Fix bug-reference.el compilation warning + + * lisp/progmodes/bug-reference.el (bug-reference-mode): Silence a + compilation warning (bug#49677). + +2021-07-21 Lars Ingebrigtsen + + Restore evaluation logic in dired-guess-default + + * lisp/dired-x.el (dired-guess-default): Restore the `eval' bits + also removed in a previous commit (bug#48071). + +2021-07-21 Lars Ingebrigtsen + + Fix dired-guess-default logic after previous change + + * lisp/dired-x.el (dired-guess-default): Restore previous logic -- + require matches for all files (bug#48071). + +2021-07-21 Lars Ingebrigtsen + + Add json-available-p + + * doc/lispref/text.texi (Parsing JSON): Document it. + * lisp/subr.el (json-available-p): New function (bug#49660). + +2021-07-21 Lars Ingebrigtsen + + Mention rear-advance in relation to the keymap overlay property + + * doc/lispref/display.texi (Overlay Properties): Mention the + effect of REAR-ADVANCE (bug#459). + +2021-07-21 Mattias Engdegård + + Fix mistake in `quote` optimiser + + Found by Pip Cet. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-quote): Fix mistake that + made this optimiser ineffective at removing quoting of nil, t, and + keywords. The only obvious consequence is that we no longer need... + (byte-optimize-form): ...a 'nil => nil normalising step here; remove. + (byte-optimize-form-code-walker): Make the compiler warn about (quote). + +2021-07-20 Juri Linkov + + Add new mode context-menu-mode and use it in info.el and goto-addr.el + + * lisp/mouse.el (context-menu-functions): New defcustom. + (context-menu-overriding-function): New function. + (context-menu-filter-function): New defcustom. + (context-menu-map): New function. + (context-menu-undo, context-menu-region): New menu functions. + (context-menu-mode): New mode. + + * lisp/info.el (Info-context-menu): New function. + (Info-mode): Add Info-context-menu to context-menu-functions. + + * lisp/net/goto-addr.el (goto-address-context-menu): New function. + (goto-address-at-click): New command. + (goto-address-mode): Add goto-address-context-menu to context-menu-functions. + +2021-07-20 Juri Linkov + + * lisp/button.el (button-map): Bind [follow-link] to 'mouse-face' (bug#49626) + +2021-07-20 Mattias Engdegård + + Strength-reduce (eq X nil) to (not X) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-eq): New optimisation, + which results in better test and branch code generation where it + applies. + +2021-07-20 Mattias Engdegård + + Count (not X) as a switch condition + + * lisp/emacs-lisp/bytecomp.el (byte-compile--cond-switch-prefix): + Treat (not VAR) and (null VAR) as (eq VAR nil) when computing the + extent of switch ops. + +2021-07-20 Michael Albinus + + * lisp/shadowfile.el (shadow-homedir): Add slash. + + (shadow-contract-file-name): Use it. Bug#49596. + +2021-07-20 Eli Zaretskii + + Fix documentation of a recent changeset + + * lisp/autorevert.el (auto-revert-mode): + * lisp/files.el (revert-buffer): Doc fix. (Bug#49661) + +2021-07-20 Michael Albinus + + Fix Bug#49636 + + * test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name): + Let-bind `auto-save-default'. (Bug#49636) + +2021-07-20 Konstantin Kharlamov + + Improve auto-revert-mode and revert-buffer doc strings + + * lisp/autorevert.el (auto-revert-mode): + * lisp/files.el (revert-buffer): Mention that there is + revert-buffer-with-fine-grain that is better suited for markers + preservation (bug#49661). + +2021-07-20 jakanakaevangeli + + Make `kill-all-local-variables' also remove lambda from hooks + + * src/buffer.c (reset_buffer_local_variables): Also remove + non-symbol elements from hook variables (bug#46407). + +2021-07-20 Lars Ingebrigtsen + + Make dired-guess-default return all matching programs + + * lisp/dired-x.el (dired-guess-default): Return all matching + programs (bug#48071). + +2021-07-20 Ioannis Kappas + + Allow installing packages with DOS line endings + + * lisp/emacs-lisp/package.el (package-install-from-buffer): Allow + installing files with different line ending conventions (Unix, DOS + and Macos) (bug#48137). + +2021-07-20 Lars Ingebrigtsen + + Signal an error in json.c function if not available + + * src/json.c (Fjson_serialize, Fjson_insert) + (Fjson_parse_string, Fjson_parse_buffer, syms_of_json): Signal + `json-unavailable' if jansson isn't available (bug#48228). + +2021-07-20 Miha Rihtaršič + + Quit minibuffers without aborting kmacros + + * doc/lispref/commands.texi (Quitting): Document `minibuffer-quit' + (Recursive Editing): Document throwing of function values to `exit'. + + * doc/lispref/errors.texi (Standard Errors): Document + `minibuffer-quit' + + * lisp/minibuffer.el (minibuffer-quit-recursive-edit): New function. + + * lisp/simple.el (minibuffer-error-function): Do not abort keyboard + macro execution if is minibuffer-quit is signaled (bug#48603). + * src/data.c (syms_of_data): New error symbol `minibuffer-quit' + + * src/keyboard.c (recursive_edit_1): Implement throwing of function + values to `exit`. In that case, the function will be called without + arguments before returning from the command loop. + (cmd_error): + (Fcommand_error_default_function): Do not abort keyboard macro + execution if minibuffer-quit is signaled. + (command_loop_2): New argument HANDLERS. + + * src/macros.c (Fexecute_kbd_macro): Use command_loop_2 instead of + command_loop_1. + + * src/minibuf.c (Fabort_minibuffers): Use it. + +2021-07-20 Kenichi Handa + + Fix problem with certain fonts in ftfont_shape_by_flt + + * src/ftfont.c (ftfont_shape_by_flt): Fix problem with unusual OTF + tables in fonts (bug#49066). + +2021-07-20 Earl Hyatt + + Add commands 'kill-matching-lines' and 'copy-matching-lines' + + * doc/emacs/search.texi: Document these additions. + * lisp/replace.el: + Add the commands 'kill-matching-lines' and 'copy-matching-lines'. + + 'kill-matching-lines' is like 'flush-lines', but adds the lines to the + kill ring as a single string, keeping line endings. + 'copy-matching-lines' is like 'kill-matching-lines', but only copies + those lines instead of killing them. + +2021-07-20 Lars Ingebrigtsen + + Tweak example in Function Indirection node in the lispref manual + + * doc/lispref/eval.texi (Function Indirection): Make example more + robust (bug#49647). Suggested by Scott Marks + . + +2021-07-20 Lars Ingebrigtsen + + Put command line file names and mouse dragging onto 'file-name-history' + + * lisp/dnd.el (dnd-open-local-file): Add file to history. + * lisp/files.el (file-name-history--add): New function (bug#12915). + + * lisp/startup.el (command-line-1): Add file to history. + +2021-07-20 Lars Ingebrigtsen + + Mention `overlays-in' in the `overlays-at' doc string + + * src/buffer.c (Foverlays_at): Mention `overlays-in' in the doc + string (bug#459). + +2021-07-19 Lars Ingebrigtsen + + Make wdired work better in narrowed-to buffers + + * lisp/wdired.el (wdired--before-change-fn): + (wdired--restore-properties): Widen before doing anything so that + we get all the changed bits (bug#49124). + +2021-07-19 Ivan Sokolov + + Add function for filtering ANSI sequences when compiling + + * lisp/ansi-color.el (ansi-color-for-compilation-mode): New user + option (bug#49609). + (ansi-color-compilation-filter): New function. + +2021-07-19 Eli Zaretskii + + Fix typos in a recent change + + * src/buffer.c (Fmake_indirect_buffer): Fix a typo in a recent + change. + + * doc/lispref/buffers.texi (Indirect Buffers): Fix punctuation. + +2021-07-19 Lars Ingebrigtsen + + Make the `s' command in *Help* work for Lisp variables defined in C + + * lisp/help-fns.el (describe-variable): Store the type. + * lisp/help-mode.el (help-view-source): Use the type. This fixes + the problem when looking for a variable defined in a C file. + +2021-07-19 Lars Ingebrigtsen + + Add inhibit-buffer-hooks to `make-indirect-buffer' + + * doc/lispref/buffers.texi (Indirect Buffers): Document it (bug#49160). + + * src/buffer.c (Fmake_indirect_buffer): Allow controlling whether + to inhibit buffer hooks. + +2021-07-19 dickmao + + Make make-indirect-buffer inherit inhibit-buffer-hook from base buffer + + * src/buffer.c (Fmake_indirect_buffer): + Match base buffer's inhibit-buffer-hooks. + * test/src/buffer-tests.el (buffer-tests-inhibit-buffer-hooks-indirect): + Add a test (bug#49160). + +2021-07-19 Eli Zaretskii + + Document recent changes in 'comint-delete-output' (bug#1496) + + * doc/emacs/misc.texi (Shell Mode): Document the new optional + behavior of 'C-c C-o'. + + * etc/NEWS: Call out the new behavior of 'C-c C-o'. + +2021-07-19 Gabriel do Nascimento Ribeiro + + Use 'remember-buffer' in remember.el doc strings. + + * lisp/textmodes/remember.el (remember-initial-contents) + (remember-before-remember-hook, remember-destroy): Refer to + `remember-buffer'. + + * lisp/textmodes/remember.el (remember-buffer): Make into + defcustom (bug#49373). + +2021-07-19 Gabriel do Nascimento Ribeiro + + Use 'remember-buffer' in remember.el doc strings. + + * lisp/textmodes/remember.el (remember-initial-contents) + (remember-before-remember-hook, remember-destroy): Refer to + `remember-buffer'. + + * lisp/textmodes/remember.el (remember-buffer): Make into + defcustom (bug#49373). + +2021-07-19 Madhu (tiny change) + + Propagate asynchronousness correctly when using proxies in url.el + + * lisp/url/url.el (url-retrieve-internal): Propagate + asynchronousness correctly when using a proxy (bug#49570). + +2021-07-19 Lars Ingebrigtsen + + Fix infloop in woman-file-name + + * lisp/woman.el (woman-file-name): Fix infloop for non-existent + manual page (bug#414). + +2021-07-19 Lars Ingebrigtsen + + Allow comint-delete-output to save the output on the kill ring + + * lisp/comint.el (comint-delete-output): Allow saving the output + to the kill ring (bug#1496). + +2021-07-19 Lars Ingebrigtsen + + Fix documentation of mouse-leave-buffer-hook + + * doc/lispref/hooks.texi (Standard Hooks): Ditto. + + * src/callint.c (syms_of_callint): Document the actual usage of + `mouse-leave-buffer-hook' (bug#2932). + +2021-07-19 Lars Ingebrigtsen + + Use make-separator-line in shortdoc + + * lisp/simple.el (separator-line): Tweak definition to not be so + overwhelming. + + * lisp/emacs-lisp/shortdoc.el (shortdoc-separator): Removed. + (shortdoc-display-group): Use make-separator-line. + +2021-07-19 Lars Ingebrigtsen + + Add a new function for separator lines + + * lisp/help-fns.el (describe-symbol): Use it. + + * lisp/help.el (describe-key): Use it. + + * lisp/simple.el (separator-line): New face. + (make-separator-line): New function (bug#49630). + +2021-07-18 Eli Zaretskii + + Fix documentation of a recent changeset (bug#5003) + + * lisp/files.el (safe-local-variable-values) + (ignored-local-variable-values): Doc fix. + (ignored-local-variable-values): Add :version tag. + + * doc/emacs/custom.texi (Safe File Variables): Mention + 'ignored-local-variable-values'. + * doc/lispref/variables.texi (File Local Variables): Fix wording. + + * etc/NEWS: Improve wording of the 'ignored-local-variable-values' + entry. + +2021-07-18 Mattias Engdegård + + Count compile errors when FILE is a function + + * lisp/progmodes/compile.el (compilation-parse-errors): + Don't omit messages from the error count when FILE is a function + rather than a regexp match number. + +2021-07-18 Lars Ingebrigtsen + + Clarify event-convert-list doc string + + * src/keyboard.c (Fevent_convert_list): Clarify that the base type + returned isn't always the same (bug#7631). + +2021-07-18 Stephen Gildea + + Add doc string to time-stamp-tests that didn't have one + + * test/lisp/time-stamp-tests.el (formatz-generate-tests, + formatz-%z-spotcheck): Add doc strings to tests. + +2021-07-18 Lars Ingebrigtsen + + Allow ignoring local variable values permanently + + * doc/lispref/variables.texi (File Local Variables): Document it. + + * lisp/files.el (ignored-local-variable-values): New user option + (bug#5003). + (hack-local-variables-confirm): Allow ignoring permanently. + (hack-local-variables-filter): Ignore the permanently ignored + variables. + +2021-07-18 Michael Albinus + + Make remote file locks more robust + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Make file locks more robust. + + * test/lisp/net/tramp-tests.el (tramp-test39-make-lock-file-name): + Rename and extend. + +2021-07-18 Naofumi Yasufuku (tiny change) + + Make remote file locks more robust. (Bug#49621) + + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Make file + locks more robust. (Bug#49621) + +2021-07-18 Lars Ingebrigtsen + + Maintain a list of terminal buffers in the menu + + * lisp/term.el (term--update-term-menu): New function (bug#5641). + (term-mode): Use it to list terminal buffers. + +2021-07-18 Eli Zaretskii + + Fix display of mode-line with bidi formatting controls + + * src/xdisp.c (face_before_or_after_it_pos): Reimplement the bidi + iteration to find the character after the current in visual order. + (Bug#49562) + +2021-07-18 Michael Albinus + + Fix problem in `shadow-define-literal-group' (Bug#49596) + + * lisp/shadowfile.el (shadow-make-fullname): HOST can also be a + remote file name. Bug#49596. + + * test/lisp/shadowfile-tests.el (auth-source-save-behavior) + (tramp-cache-read-persistent-data, tramp-persistency-file-name): + Set them globally. + (shadow-test06-literal-groups): Extend test. + +2021-07-18 Lars Ingebrigtsen + + Make indent-tabs-mode into a regular mode instead of just a variable + + * lisp/simple.el (indent-tabs-mode): Make into a minor mode (bug#6276). + +2021-07-18 Lars Ingebrigtsen + + Don't shorten comment padding if the padding isn't spaces + + * lisp/newcomment.el (comment-padright): Don't shorten non-space + padding (bug#6822). + (comment-padleft): Ditto. + +2021-07-18 Lars Ingebrigtsen + + Fix an unlikely `copyright-find-copyright' problem + + * lisp/emacs-lisp/copyright.el (copyright-find-copyright): Make + the copyright matcher more robust (bug#7179). + +2021-07-17 Lars Ingebrigtsen + + Fix previous grep-file-at-point change + + * lisp/progmodes/grep.el (grep-file-at-point): Fix previous change. + +2021-07-17 Lennart Borgman + + Add new function 'grep-file-at-point' + + * lisp/progmodes/grep.el (grep-file-at-point): New function to + return the file name at point (bug#8252). + +2021-07-17 Karthik Chikmagalur (tiny change) + + Enhance pcomplete support for xargs + + * lisp/pcmpl-unix.el (pcomplete/xargs): Add support for completing xargs + options, including the ability to distinguish them from the command + xargs runs (bug#49603). + +2021-07-17 Lars Ingebrigtsen + + Make 'n'/'p' work again in shortdoc after previous changes + + * lisp/emacs-lisp/shortdoc.el (shortdoc--goto-section): Adjust to + changes in how the text properties are inserted in 22a5482ab6 + (bug#49605). Also make into a regular function. + +2021-07-16 akater + + EIEIO: Prevent excessive evaluation of :initform + + * lisp/emacs-lisp/eieio.el (initialize-instance): + Do not evaluate initform of a slot when initarg for the slot is provided, + according to the following secitons of CLHS: + - Object Creation and Initialization + - Initialization Arguments + - Defaulting of Initialization Arguments + - Rules for Initialization Arguments + + * test/lisp/emacs-lisp/eieio-etests/eieio-tests.el: + Add corresponding tests + Fix a typo + +2021-07-16 Mattias Engdegård + + Define revert-buffer-function for *Memory Report* + + * lisp/emacs-lisp/memory-report.el (memory-report): + Allow the memory report buffer to be updated by pressing 'g'. + +2021-07-16 Michael Albinus + + Add lock-file-mode + + * doc/emacs/files.texi (Interlocking): + * doc/lispref/files.texi (File Locks): + * etc/NEWS: Add lock-file-mode. + + * lisp/files.el (lock-file-name-transforms) + (remote-file-name-inhibit-locks): Move down. + (lock-file-mode): New minor mode. + +2021-07-16 Glenn Morris + + Merge from origin/emacs-27 + + 7ac411ae2c (origin/emacs-27) ; * src/data.c (Fcar, Fcdr): Doc fix. + 0d9e1826f7 One more minor update of the Emacs manual for 19th printing + 92616d30e0 ; Fix let-alist Texinfo markup + c13acf8e34 ; * doc/emacs/mule.texi (International Chars): Mention 'de... + +2021-07-16 Lars Ingebrigtsen + + Clarify emacsclient Options node in the Emacs manual + + * doc/emacs/misc.texi (emacsclient Options): Don't claim that + emacsclient searches for a socket name (bug#13319). + +2021-07-16 Lars Ingebrigtsen + + Add new user option 'query-about-changed-file' + + * doc/emacs/files.texi (Visiting): Document it. + * lisp/files.el (query-about-changed-file): New user option (bug#10775). + (find-file-noselect): Use it. + +2021-07-16 Lars Ingebrigtsen + + Fix lock-file-name-transforms build problem + + * lisp/files.el (lock-file-name-transforms): Remove + custom-initialize-delay to fix build problem (bug#49507). + +2021-07-16 Eli Zaretskii + + Fix wording in a recent ELisp manual change + + * doc/lispref/tips.texi (Coding Conventions): Fix wording in a + recent change. (Bug#21440) + +2021-07-16 Lars Ingebrigtsen + + Allow hiding variables in Customize + + * lisp/cus-edit.el (custom-toggle-hide-variable): Allow closing an + option even if there are unsaved changes (bug#11655). + +2021-07-16 Remington Furman (tiny change) + + Make `number-at-point' work for more hex numbers + + * lisp/thingatpt.el (number-at-point): Rewrite to actually catch + the hex numbers (bug#49588). + +2021-07-16 Lars Ingebrigtsen + + Clarify -unload-feature in Coding Conventions + + * doc/lispref/tips.texi (Coding Conventions): Clarify when an + unload function is useful (bug#21440). + +2021-07-16 Lars Ingebrigtsen + + Add a couple more shell-tests-split-string tests + +2021-07-15 Glenn Morris + + Improve recent jka-compr-compression-info-list change + + * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): + Document previous change, and fix :type. + +2021-07-15 Tassilo Horn + + Add bug-reference support for Codeberg projects + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist): + Add support for codeberg.org bug and pull request references. + * doc/emacs/maintaining.texi (Bug Reference): Mention that bug and + pull request references for codeberg projects are supported. + +2021-07-15 Tassilo Horn + + Add support for sourcehut to bug-reference.el + + * lisp/progmodes/bug-reference.el (bug-reference-setup-from-vc-alist): + Add support for bug references like #17 and ~user/project#19 for + sourcehut (sr.ht). + * doc/emacs/maintaining.texi (Bug Reference): Document sourcehut + support. + +2021-07-15 Lars Ingebrigtsen + + Add more car/cdr examples to shortdoc + + * lisp/emacs-lisp/shortdoc.el (list): Add more car/cdr examples. + +2021-07-15 Lars Ingebrigtsen + + Improve the shortdoc link action in *Help* buffers + + * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Allow + taking an optional parameter to place point on a specific function. + (shortdoc--display-function): Go to the function in question in + the shortdoc buffer. + +2021-07-15 Lars Ingebrigtsen + + Add new user option to abbreviate file names in save-place + + * lisp/saveplace.el (save-place-abbreviate-file-names): New user + option (bug#13286). + (save-place-to-alist): Use it. + +2021-07-15 Lars Ingebrigtsen + + Allow restoring the original order in 'tabulated-list-mode' + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-sort): Allow + restoring the original order (bug#13411). + (tabulated-list--sort-by-column-name): Store the original order. + (tabulated-list--original-order): New buffer-local variable. + +2021-07-15 Protesilaos Stavrou + + Update modus-themes to version 1.5.0 + + * doc/misc/modus-themes.org (Enable and load): Include internal link. + (Sample configuration for use-package): Update code sample. + (Customization Options): Update references to customization options. + (Option for more italic constructs): Document new variable, as an + alias of the deprecated 'modus-themes-slanted-constructs'. + + (Option for syntax highlighting, Option for links) + (Option for command prompt styles, Option for mode line presentation) + (Option for language checkers) + (Option for line highlighting (hl-line-mode)) + (Option for parenthesis matching (show-paren-mode)) + (Option for active region, Option for the headings' overall style): + Update documentation to describe new possible values, expressed as a + list of symbols. + + (Option for Org agenda constructs): Document new user option. + + (Control the scale of headings): Update symbol of variable. + + (Remap face with local value (DIY), Backdrop for pdf-tools (DIY)): + Tweak text of internal reference. + + (Font configurations for Org and others (DIY)): Add internal link and + document how to configure the 'bold' and 'italic' faces. + + (Custom Org user faces (DIY)): Minor corrections or changes to single + words. + + (Full support for packages or face groups): Include new items. + + (Notes on individual packages): Add notes on Avy hints, the colour of + days in 'M-x calendar', and underlines in 'compilation-mode' buffers. + + (What is the best setup for legibility?): Remove single word. + (Acknowledgements): Update list of contributors. + + * etc/themes/modus-themes.el (modus-themes-faces) + (modus-themes-operandi-colors, modus-themes-vivendi-colors) + (modus-themes-subtle-red, modus-themes-subtle-green) + (modus-themes-subtle-yellow, modus-themes-subtle-blue) + (modus-themes-subtle-magenta, modus-themes-subtle-cyan) + (modus-themes-subtle-neutral, modus-themes-intense-red) + (modus-themes-intense-green, modus-themes-intense-yellow) + (modus-themes-intense-blue, modus-themes-intense-magenta) + (modus-themes-intense-cyan, modus-themes-intense-neutral) + (modus-themes-refine-red, modus-themes-refine-green) + (modus-themes-refine-yellow, modus-themes-refine-blue) + (modus-themes-refine-magenta, modus-themes-refine-cyan) + (modus-themes-active-red, modus-themes-active-green) + (modus-themes-active-yellow, modus-themes-active-blue) + (modus-themes-active-magenta, modus-themes-active-cyan) + (modus-themes-fringe-red, modus-themes-fringe-green) + (modus-themes-fringe-yellow, modus-themes-fringe-blue) + (modus-themes-fringe-magenta, modus-themes-fringe-cyan) + (modus-themes-nuanced-red, modus-themes-nuanced-green) + (modus-themes-nuanced-yellow, modus-themes-nuanced-blue) + (modus-themes-nuanced-magenta, modus-themes-nuanced-cyan) + (modus-themes-special-cold, modus-themes-special-mild) + (modus-themes-special-warm, modus-themes-special-calm) + (modus-themes-diff-added, modus-themes-diff-changed) + (modus-themes-diff-removed, modus-themes-diff-refine-added) + (modus-themes-diff-refine-changed, modus-themes-diff-refine-removed) + (modus-themes-diff-focus-added, modus-themes-diff-focus-changed) + (modus-themes-diff-focus-removed, modus-themes-diff-heading) + (modus-themes-pseudo-header, modus-themes-mark-alt) + (modus-themes-mark-del, modus-themes-mark-sel, modus-themes-mark-symbol) + (modus-themes-heading-1, modus-themes-heading-2, modus-themes-heading-3) + (modus-themes-heading-4, modus-themes-heading-5, modus-themes-heading-6) + (modus-themes-heading-7, modus-themes-heading-8, modus-themes-hl-line) + (modus-themes-bold, modus-themes-slant, modus-themes-variable-pitch) + (modus-themes-graph-red-0, modus-themes-graph-red-1) + (modus-themes-graph-green-0, modus-themes-graph-green-1) + (modus-themes-graph-yellow-0, modus-themes-graph-yellow-1) + (modus-themes-graph-blue-0, modus-themes-graph-blue-1) + (modus-themes-graph-magenta-0, modus-themes-graph-magenta-1) + (modus-themes-graph-cyan-0, modus-themes-graph-cyan-1) + (modus-themes-lang-note, modus-themes-lang-warning) + (modus-themes-lang-error, modus-themes-reset-soft) + (modus-themes-reset-hard, modus-themes-key-binding) + (modus-themes-search-success, modus-themes-search-success-modeline) + (modus-themes-search-success-lazy): Add new ':group' specification for + custom faces. + + (modus-themes-operandi-color-overrides) + (modus-themes-vivendi-color-overrides, modus-themes-bold-constructs) + (modus-themes-variable-pitch-headings, modus-themes-variable-pitch-ui) + (modus-themes-no-mixed-fonts, modus-themes-fringes) + (modus-themes-scale-headings, modus-themes-scale-1, modus-themes-scale-2) + (modus-themes-scale-3, modus-themes-scale-4, modus-themes-scale-title) + (modus-themes-org-blocks, modus-themes-completions) + (modus-themes-success-deuteranopia, modus-themes-mail-citations) + (modus-themes-subtle-line-numbers, modus-themes-intense-hl-line): Add + custom setter. + + (modus-themes-scale-5, modus-themes-scale-title): Deprecate variable + and replace it with alias 'modus-themes-scale-title'. + + (modus-themes-slanted-constructs, modus-themes-italic-constructs): + Deprecate variable and replace it with alias + 'modus-themes-italic-constructs'. + + (modus-themes-org-habit, modus-themes-org-agenda): Deprecate variable + and make its functionality a part of 'modus-themes-org-agenda'. + + (modus-themes-headings, modus-themes-mode-line, modus-themes-diffs) + (modus-themes-prompts, modus-themes-paren-match, modus-themes-syntax) + (modus-themes-links, modus-themes-region, modus-themes-lang-checkers) + (modus-themes-org-blocks): Make user options accept a value as a list + of properties. + + (modus-themes--mixed-fonts, modus-themes--slant) + (modus-themes--fixed-pitch, modus-themes--lang-check) + (modus-themes--prompt, modus-themes--paren) + (modus-themes--syntax-foreground, modus-themes--syntax-extra) + (modus-themes--syntax-string, modus-themes--syntax-docstring) + (modus-themes--syntax-comment, modus-themes--heading-p) + (modus-themes--heading, modus-themes--org-habit) + (modus-themes--mode-line-attrs, modus-themes--link-color) + (modus-themes--link, modus-themes--region, modus-themes--hl-line): + Update internal functions to parse new values for user options. + + * etc/themes/modus-operandi-theme.el, + etc/themes/modus-vivendi-theme.el: Bump version number. + + A detailed change log is provided here (no javascript required): + . + +2021-07-15 Lars Ingebrigtsen + + Autoload `split-string-shell-command' + + * lisp/shell.el (split-string-shell-command): Autoload. + +2021-07-15 Eli Zaretskii + + Fix 'shell-tests-split-string' on MS-Windows + + * test/lisp/shell-tests.el (shell-tests-split-string): Skip test + that always fails on MS-Windows/MS-DOS. + +2021-07-15 Lars Ingebrigtsen + + Improve the `window-end' doc string + + * src/window.c (Fwindow_end): Be more explicit about what the + position is (bug#13429). + +2021-07-15 Lars Ingebrigtsen + + Mention more split-string-* functions in shortdoc + + * lisp/emacs-lisp/shortdoc.el (string): Mention + split-string-and-unquote and split-string-shell-command. + +2021-07-15 Lars Ingebrigtsen + + Allow using spaces in `inferior-lisp' command names + + * lisp/progmodes/inf-lisp.el (inferior-lisp): Allow using spaces + in the command names (by splitting using shell syntax) (bug#16005). + +2021-07-15 Lars Ingebrigtsen + + Rename shell-split-string to split-string-shell-command + + * lisp/shell.el (split-string-shell-command): + * doc/lispref/processes.texi (Shell Arguments): Rename from + shell-split-string. + +2021-07-15 Lars Ingebrigtsen + + Add a new function 'shell-split-string' + + * doc/lispref/processes.texi (Shell Arguments): Document it. + * lisp/shell.el (shell-split-string): New function. + +2021-07-15 Lars Ingebrigtsen + + Clarify overriding-local-map doc string + + * src/keyboard.c (syms_of_keyboard): Clarify + `overriding-local-map' vs. text properties/overlays (bug#16312). + +2021-07-15 Paul Eggert + + Pacify gcc -Woverflow more clearly + + * src/alloc.c (mark_maybe_pointer): Make it clearer that ANDing + with UINTPTR_MAX is intended. Omit a now-unnecessary cast. + +2021-07-14 Michael Albinus + + Preserve backward compatibility in Tramp + + * lisp/net/tramp-crypt.el (tramp-crypt-handle-lock-file) + (tramp-crypt-handle-unlock-file): Preserve backward compatibility. + + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): Do not + create lock file twice. + + * lisp/net/tramp.el (tramp-handle-make-lock-file-name): Move lock + file security check ... + (tramp-handle-lock-file): ... here. + (tramp-handle-unlock-file): Preserve backward compatibility. + + * test/lisp/net/tramp-tests.el (lock-file-name-transforms) + (remote-file-name-inhibit-locks): Declare. + (tramp-allow-unsafe-temporary-files): Set to t. + (tramp-test37-make-auto-save-file-name) + (tramp-test38-find-backup-file-name): Move binding of + `tramp-allow-unsafe-temporary-files' up. + (tramp-test39-lock-file): Bind `tramp-allow-unsafe-temporary-files'. + Preserve backward compatibility. Extend test. + +2021-07-14 Lars Ingebrigtsen + + Fontify the signature separator in Message mode + + * lisp/gnus/message.el (message-signature-separator): New face + (bug#17757). + (message-font-lock-keywords): Add it to the signature, and ensure + that the trailing space isn't removed when hitting RET. + (message--match-signature): New helper function. + +2021-07-14 Lars Ingebrigtsen + + Clarify backward-delete-char-untabify doc string + + * lisp/simple.el (backward-delete-char-untabify): Mention the + effect of Transient Mark mode (bug#17263). + +2021-07-14 Lars Ingebrigtsen + + * etc/NEWS: Add back a missing apostrophe. + +2021-07-14 Lars Ingebrigtsen + + switch-to-buffer-other-frame doc string improvement + + * lisp/window.el (switch-to-buffer-other-frame): Document that we + don't always display the buffer in a different frame (bug#17719). + +2021-07-14 Lars Ingebrigtsen + + Fix hilit-chg highlighting of characters where text has been removed + + * lisp/hilit-chg.el (hilit-chg-set-face-on-change): Remove + highlighting from characters that are just highlighted because of + something that has been previously deleted (bug#17784). + +2021-07-14 Eli Zaretskii + + Fix deprecation warnings from libtiff + + * src/image.c (UINT32) [TIFFLIB_VERSION >= 20210416]: Define to + use stdint.h type for recent libtiff versions. Reported by Andy + Moreton . + +2021-07-14 Michael Albinus + + * etc/NEWS (insert-into-buffer'): Fix thinko. + +2021-07-14 Lars Ingebrigtsen + + Make `apropos-library' also work for libraries without symbols + + * lisp/apropos.el (apropos--preamble): Factor out (bug#17832)... + (apropos-print-doc): ... from here. + (apropos-library): Use it to display the apropos buffer even if it + has no symbols of its own. + +2021-07-14 Juri Linkov + + Revert e0619995594d1686afd0493391417d6f900d632c that added save-match-data. + + * lisp/isearch.el (isearch-filter-predicate): Mention precautions against + clobbering the match data in docstring (bug#49534). + +2021-07-14 Juri Linkov + + * lisp/isearch.el: Add save-match-data for funcall isearch-filter-predicate. + + * lisp/isearch.el (isearch-search): Add save-match-data before + funcall isearch-filter-predicate. + (isearch-lazy-highlight-search): Add save-match-data before + funcall isearch-filter-predicate. + (Bug#49534) + +2021-07-14 Lars Ingebrigtsen + + Add a better interactive spec to `facemenu-add-face' + + * lisp/facemenu.el (facemenu-add-face): Use `read-face-name' + (bug#18369) by copying over the interactive spec from + facemenu-set-face. + +2021-07-13 Lars Ingebrigtsen + + Make jka-compr-insert-file-contents slightly more efficient + + * lisp/jka-compr.el (jka-compr-insert-file-contents): Make more + efficient by using `insert-into-buffer'. + +2021-07-13 Lars Ingebrigtsen + + Add new function 'insert-into-buffer' + + * doc/lispref/text.texi (Insertion): Document it. + * lisp/subr.el (insert-into-buffer): New function. + +2021-07-13 Lars Ingebrigtsen + + Fall back on zlib-decompress-region if gzip doesn't exist + + * lisp/jka-cmpr-hook.el (jka-compr-info-uncompress-function): New + function (bug#18823). + (jka-compr-compression-info-list): Expand info with decompression + function. + + * lisp/jka-compr.el (jka-compr-insert-file-contents): Fall back on + internal decompression function if external doesn't exist. + +2021-07-13 Daniel Martín + + Fix dired-number-of-marked-files when there are no marked files + + * lisp/dired.el (dired-number-of-marked-files): Fix if expression so + that the else part is evaluated correctly. + +2021-07-13 Stefan Monnier + + * doc/lispref/modes.texi (Multiline Font Lock): Tweak last change + +2021-07-13 Lars Ingebrigtsen + + Allow not updating Customize settings in set-frame-font + + * lisp/frame.el (set-frame-font): Allow not updating the + Customization settings (bug#19298). + +2021-07-13 Lars Ingebrigtsen + + Document the syntax-multilne text property + + * doc/lispref/modes.texi (Multiline Font Lock): Document the + syntax-multiline text property (bug#20436). + +2021-07-13 Juri Linkov + + Support Isearch filter predicates with empty search hits (bug#49534) + + * lisp/isearch.el (isearch-search): Move (= (match-beginning 0) (match-end 0)) + and (bobp)/(eobp) outside the call to isearch-filter-predicate. + Use forward-char 1/-1 on empty matches only when going to retry search. + (isearch-lazy-highlight-search): Remove (= (point) bound), + but leave (= (match-beginning 0) (match-end 0)) since empty matches + make no sense in lazy-highlighting. + +2021-07-13 Lars Ingebrigtsen + + Make 'tex-validate-buffer' work again + + * lisp/textmodes/tex-mode.el (tex-validate-buffer): The *Occur* + buffer is read-only, so inhibit that before inserting things into + it (bug#19326). + +2021-07-13 Michael Albinus + + Add remote-file-name-inhibit-locks + + * doc/emacs/files.texi (Interlocking): + * doc/lispref/files.texi (File Locks): + * doc/misc/tramp.texi (Auto-save File Lock and Backup): + Add remote-file-name-inhibit-locks. + + * etc/NEWS: New user option 'remote-file-name-inhibit-locks'. + + * lisp/files.el (remote-file-name-inhibit-locks): New defcustom. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist): + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + * lisp/net/tramp-rclone.el (tramp-rclone-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): + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist): + Use `tramp-handle-make-lock-file-name'. + + * lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): Fix docstring. + (tramp-handle-make-lock-file-name): New defun. + + * test/lisp/net/tramp-tests.el (tramp-test39-lock-file): Extend test. + +2021-07-13 Lars Ingebrigtsen + + Add new user option to avoid piling on Dired buffers + + * doc/emacs/dired.texi (Dired Visiting): Document it. + + * lisp/dired.el (dired-kill-when-opening-new-dired-buffer): New + user option (bug#20598). + (dired-up-directory, dired-find-file): Use it. + (dired--find-possibly-alternative-file): New convenience command + to respect the user option. + +2021-07-13 Mattias Engdegård + + Block TLS handshake until TCP connection established + + If a TLS handshake is attempted before the completion of an + asynchronous TCP connection has been ascertained, our local state will + not be set up correctly for further progress and the sentinel "open" + event will never be sent. This can occur if sufficient time passes + after the initiation of an async TCP connection so that by the time + `wait_reading_process_output` is called, the connection has already + been established on the TCP level. + + This somewhat timing-sensitive bug has plagued HTTPS connections on + some platforms, notably macOS, for a long time (bug#49449). + + * src/process.c (wait_reading_process_output): Gate the TLS handshake + by the NON_BLOCKING_CONNECT_FD flag. The flag will be cleared as soon + as the TCP socket is found to be writable. + * test/src/process-tests.el (process-async-https-with-delay): + New test. + +2021-07-13 Ken Brown + + Fix portability issue with make-serial-process + + * src/sysdep.c (struct speed_struct): New struct. + (speeds): New static array of struct speed_struct. + (convert_speed): New static function to convert a numerical baud + rate (e.g., 9600) to a Bnnn constant defined in termios.h (e.g., + B9600). + (serial_configure): Use convert_speed to make the call to cfsetspeed + compliant with its advertised API. (Bug#49524) + +2021-07-13 Eli Zaretskii + + One more minor update of the Emacs manual for 19th printing + + * doc/emacs/back.texi: + * doc/emacs/book-spine.texi: + * doc/emacs/emacs.texi: Last round of minor copyedits for 19th ed. + +2021-07-12 Michael Albinus + + Fix a problem with tramp-*-process-file + + * lisp/net/tramp-adb.el (tramp-adb-handle-process-file): + * lisp/net/tramp-sh.el (tramp-sh-handle-process-file): + * lisp/net/tramp-smb.el (tramp-smb-handle-process-file): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-process-file): + Use `(expand-file-name default-directory)'. + +2021-07-12 Paul Eggert + + Port test module to glibc 2.33 + + * test/Makefile.in (REPLACE_FREE, FREE_SOURCE_0, FREE_SOURCE_1): + New macros. + ($(test_module)): Improve accuracy of test as to whether free.c + should be compiled; glibc 2.33 does not need it compiled and the + compilation breaks if you try, if you build with + --enable-gcc-warnings. + +2021-07-12 Paul Eggert + + Pacify gcc 11.1.1 -Wclobbered + + * src/eval.c (Fprogn, internal_lisp_condition_case): + Add CACHEABLE to work around more instances of -Wclobbered bug. + +2021-07-12 Paul Eggert + + Pacify gcc 11.1.1 -Wanalyzer-possible-null-dereference + + * oldXMenu/Create.c (XMenuCreate): + * oldXMenu/Internal.c (_XMRecomputePane, _XMRecomputeSelection): + * oldXMenu/XMakeAssoc.c (XMakeAssoc): + * test/src/emacs-module-resources/mod-test.c (Fmod_test_userptr_make): + Don’t assume that malloc and calloc succeed. + +2021-07-12 Paul Eggert + + Pacify gcc 11.1.1 -Wanalyzer-null-argument + + * lib-src/etags.c (regexp): Omit member force_explicit_name, + since it’s always true. All uses removed. This lets us + remove calls to strlen (name) where GCC isn’t smart enough + to deduce that name must be nonnull. + * lib-src/movemail.c (main): Fix bug that could cause + link (tempname, NULL) to be called. + * src/emacs.c (argmatch): Break check into two ‘if’s, + since GCC doesn’t seem to be smart enough to check the single ‘if’. + * src/gtkutil.c (xg_update_menu_item): Fix bug where strcmp + could be given a NULL arg. + * src/xfont.c (xfont_list_family): Use nonnull value for dummy + initial value. + +2021-07-12 Paul Eggert + + Pacify gcc -Woverflow more nicely + + * src/alloc.c (mark_maybe_pointer): Simplify pacification + of gcc -Woverflow (unknown GCC version). + +2021-07-12 Juri Linkov + + * lisp/textmodes/enriched.el: Require 'facemenu' (bug#49466) + +2021-07-11 Eric Abrahamsen + + Further tweaks to gnus-search-query-expand-key + + * lisp/gnus/gnus-search.el (gnus-search-query-expand-key): It's + possible that KEY could be partially completed (ie no longer string= + to COMP), but not all the way. Use a more accurate test. Add + docstring. + +2021-07-11 Michael Albinus + + Use `auto-save-file-name-p' in tramp-*-write-region + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Use `auto-save-file-name-p'. + +2021-07-11 Eli Zaretskii + + Fix compilation of the --with-wide-int configuration + + * src/alloc.c (mark_maybe_pointer): Fix a recent change for + WIDE_EMACS_INT builds. (Bug#49261) + +2021-07-11 Paul Eggert + + Pacify GCC 11.1.1 20210531 (Red Hat 11.1.1-3) + + * src/image.c (xpm_load_image): + * src/xfns.c (x_icon): + Rework to pacify gcc -Wmaybe-uninitialized. + +2021-07-11 Paul Eggert + + Make pdumper-marking pickier + + Prevent some false-positives in conservative GC marking. + This doesn’t fix any correctness bugs; it’s merely to + reclaim some memory instead of keeping it unnecessarily. + * src/alloc.c (mark_maybe_pointer): New arg SYMBOL_ONLY. + All callers changed. Check that the pointer’s tag, if any, + matches the pdumper-reported type. + +2021-07-11 Paul Eggert + + Fix pdumper-related GC bug + + * src/alloc.c (mark_maybe_pointer): Also mark pointers + to pdumper objects, even when the pointers are tagged. + Add a FIXME saying why this isn’t enough. + +2021-07-11 Eric Abrahamsen + + Rewrite gnus-search-query-expand-key + + * lisp/gnus/gnus-search.el (gnus-search-query-expand-key): There was a + misunderstanding about how completion-all-completion works (if the + test string can't be completed, the whole table is returned). Simplify + to use try-completion. + * test/lisp/gnus/gnus-search-tests.el (gnus-s-expand-keyword): Ensure + that an unknown/uncompletable keyword is returned unmolested. + +2021-07-11 Eric Abrahamsen + + Rework gnus-search-indexed-parse-output + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more + careful about matching filesystem paths to Gnus group names; make + absolutely sure that we only return valid article numbers. + +2021-07-11 Matthew White + + * src/buffer.c (kill-buffer): Fix a typo. + + * src/buffer.c (Fkill_buffer): Fix typo in comment. + +2021-07-10 Filipp Gunbin + + doc/lispref/text.texi (Substitution): Add subst-char-in-string + + * doc/lispref/text.texi (Substitution): Document + subst-char-in-string (bug#49420). + +2021-07-10 Lars Ingebrigtsen + + Make package-menu-filter-by-status work as documented + + * lisp/emacs-lisp/package.el (package-menu-filter-by-status): Work + as documented (bug#49474). + +2021-07-09 Ken Brown + + Skip a process test on Cygwin to avoid hang + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-network-process): Skip + test on Cygwin to avoid hang due to connect/accept handshake. + (Bug#49496) + +2021-07-09 Stefan Monnier + + * lisp/facemenu.el: Preload the C-mouse-2 menu binding + +2021-07-09 Michael Albinus + + Further cleanup for file locks + + * doc/misc/tramp.texi (Top, Configuration): Adapt node name for + file locks. + (Auto-save File Lock and Backup): Rename node name and section + title. Add file-lock to @cindex. Describe file locks. + + * lisp/dired.el (dired-trivial-filenames): Add lock files. + (dired-font-lock-keywords): Move files suffixed with + `completion-ignored-extensions' up. Add lock files to these checks. + + * lisp/net/tramp.el (tramp-get-lock-file, tramp-handle-unlock-file): + Use `when-let' + (tramp-lock-file-info-regexp): Rename from + `tramp-lock-file-contents-regexp'. + (tramp-handle-file-locked-p, tramp-handle-lock-file): Adapt callees. + (tramp-handle-lock-file): Set file modes of lockname. + + * src/buffer.c (Frestore_buffer_modified_p): + * src/fileio.c (write_region): + * src/insdel.c (prepare_to_modify_buffer_1): Call Flock_file. + + * src/filelock.c (Qmake_lock_file_name): Declare symbol. + (make_lock_file_name): Use it. Don't check Fboundp, it doesn't + work for interned symbols. + (lock_file): Return a Lisp_Object. Don't check create_lockfiles. + Remove MSDOS version of the function. + (Flock_file): Check create_lockfiles. + (Flock_buffer): Call Flock_file. + + * src/lisp.h (lock_file): Remove. + + * test/lisp/shadowfile-tests.el (shadow-test08-shadow-todo) + (shadow-test09-shadow-copy-files): Let-bind `create-lockfiles'. + + * test/lisp/net/tramp-tests.el (create-lockfiles): Don't set it + globally. + (tramp-test39-lock-file): Check also for `set-visited-file-name'. + +2021-07-09 Eli Zaretskii + + Partially restore the lost C-mouse-2 drop-down menu + + This allows to pop up the Text Properties menu once facemenu is + loaded. It still doesn't allow C-mouse-2 clicks without manually + loading facemenu; FIXME. + * lisp/facemenu.el (global-map) : Add back the + removed binding. (Bug#49466) + +2021-07-09 Stefan Monnier + + * lisp/outline.el (outline-mode-cycle-map): Don't bind `tab`. + + Since it would take precedence over bindings for TAB in higher + precedence maps. + +2021-07-08 Michael Albinus + + * doc/lispref/files.texi (Magic File Names): Add make-lock-file-name. + +2021-07-08 Michael Albinus + + Code cleanup wrt file locks + + * lisp/files.el (make-lock-file-name): Fix docstring. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist): + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist): + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + * lisp/net/tramp-rclone.el (tramp-rclone-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): + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist): + Add `make-lock-file-name'. + + * lisp/net/tramp.el (tramp-file-name-for-operation): + Add `make-lock-file-name'. + (tramp-handle-unlock-file): Call `userlock--handle-unlock-error' + in case of error. + + * src/buffer.c (Frestore_buffer_modified_p): + * src/editfns.c (Freplace_buffer_contents): + * src/fileio.c (Finsert_file_contents, write_region): Call Funlock_file. + + * src/filelock.c (unlock_file): Rename from unlock_file_body. + Remove the other declarations of unlock_file. Move file name + handler check to ... + (Funlock_file): ... here. Adapt argument numbers. Call + unlock_file wrapped by internal_condition_case. + (Flock_file): Adapt argument numbers. + (unlock_all_files, Funlock_buffer, unlock_buffer): Call Funlock_file. + + * src/lisp.h (unlock_file): Remove. + +2021-07-08 Juri Linkov + + Don't turn mouse-1 into mouse-2 when clicking on the tab-line (bug#49247) + + * lisp/tab-line.el (tab-line-tab-name-format-default): For 'tab-line-tab-map' + add the property 'follow-link' with the value 'ignore'. + +2021-07-08 pillule + + Use display-buffer with re-builder (bug#49069) + + * lisp/emacs-lisp/re-builder.el (re-builder): Uses 'display-buffer' + with 'display-buffer-in-direction' to display the reb-buffer. This + allow user-customizations and using it on not splitables windows. + Add a dedication to its window so killing this buffer quit the window. + +2021-07-08 Lars Ingebrigtsen + + Make desktop-kill more robust + + * lisp/desktop.el (desktop-kill): Allow exiting Emacs even if we + can't delete the desktop file (bug#20762). + +2021-07-08 Lars Ingebrigtsen + + Allow inhibiting inserting #! in sh-set-shell + + * lisp/progmodes/sh-script.el (sh-set-shell): Allow inhibiting + inserting the #! line (bug#20959). + +2021-07-08 Lars Ingebrigtsen + + Avoid making backup files in ediff when `make-backup-files' is nil + + * lisp/vc/ediff-util.el (ediff-arrange-autosave-in-merge-jobs): + Don't make backup files when `make-backup-files' is nil (bug#21599). + +2021-07-08 Lars Ingebrigtsen + + Make ido-mode override ffap-file-finder + + * lisp/ffap.el: Autoload so that we can override in ido (bug#21980). + + * lisp/ido.el (ido-everywhere): Override ffap-file-finder. + +2021-07-08 Michael Albinus + + Some further adaptions wrt Tramp file name locks + + * lisp/files.el (files--transform-file-name): Rename from + `auto-save--transform-file-name'. Wrap with `save-match-data'. + (make-auto-save-file-name): Use it. + (make-lock-file-name): Use it. Call file name handler. + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + Suppress file lock for temporary file. + + * lisp/net/tramp-compat.el (tramp-compat-make-lock-file-name): + New defalias. + + * lisp/net/tramp.el (tramp-get-lock-file) + (tramp-handle-lock-file, tramp-handle-unlock-file): Use it. + (tramp-make-lock-name): Remove. + + * test/lisp/filenotify-tests.el (file-notify-test03-events-remote): + Tag it :unstable temporarily. + +2021-07-08 Lars Ingebrigtsen + + Exclude term-mode from hi-lock global modes + + * lisp/hi-lock.el (hi-lock-exclude-modes): Exclude term-mode so + that `C-x' works in terminal buffers (bug#22620). + +2021-07-08 Lars Ingebrigtsen + + Fix font-lock of Makefile variables at the start of lines + + * lisp/progmodes/make-mode.el (makefile-var-use-regex): Match + variables at the beginning of lines correctly (bug#23266). Change + suggested by Anders Lindgren . + +2021-07-08 N. Jackson + + Mention what happens with timers when the computer is asleep + + * doc/lispref/os.texi (Timers): Explain what happens if the + computer is a asleep when the timer is scheduled (bug#23929). + +2021-07-07 Lars Ingebrigtsen + + Make make_lock_file_name more robust + + * src/filelock.c (make_lock_file_name): Protect against the + make-lock-file-name not being defined. + (lock_file, unlock_file_body, Ffile_locked_p): Return early if not + defined. + +2021-07-07 Eli Zaretskii + + * lisp/faces.el: Fix a typo. + +2021-07-07 Eli Zaretskii + + Fix last change + + * lisp/faces.el (tty-menu-enabled-face, tty-menu-disabled-face): + Define for monochrome displays. + +2021-07-07 Lars Ingebrigtsen + + Add new user option lock-file-name-transforms + + * doc/emacs/files.texi (Interlocking): Mention + lock-file-name-transforms. + + * doc/lispref/files.texi (File Locks): Document + lock-file-name-transforms. + + * doc/misc/efaq.texi (Not writing files to the current directory): + Mention all the three variables needed to not having Emacs writing + files to the current directory in one place. + + * lisp/files.el (lock-file-name-transforms): New user option (bug#49261). + (make-auto-save-file-name): Factor out the main logic... + (auto-save--transform-file-name): ... to this new function. + (make-lock-file-name): New function that also calls the + factored-out function. + + * src/filelock.c: Remove MAKE_LOCK_NAME and fill_in_lock_file_name. + (make_lock_file_name): New utility function that calls out to Lisp + to heed `lock-file-name-transforms'. + (lock_file): Use it. Also remove likely buggy call to + dostounix_filename. + (unlock_file_body, Ffile_locked_p): Also use make_lock_file_name. + +2021-07-07 Eli Zaretskii + + Fix tty menus on monochrome displays + + * lisp/faces.el (tty-menu-selected-face): Make sure the selected + menu item stands out even without colors. + +2021-07-07 Michael Albinus + + Implement file locks for remote files (Bug#49261) + + * doc/lispref/files.texi (Magic File Names): Add file-locked-p, + lock-file and unlock-file. + + * etc/NEWS: Tramp supports file locks now. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-adb-handle-write-region): Handle LOCKNAME. + + * lisp/net/tramp-archive.el (tramp-archive-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + + * lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-crypt-handle-file-locked-p, tramp-crypt-handle-lock-file) + (tramp-crypt-handle-unlock-file): New defun. + + * lisp/net/tramp-fuse.el (tramp-fuse-mounted-p): Simplify. + (tramp-fuse-unmount): New defun. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-gvfs-maybe-open-connection): Set "lock-pid" connection property. + + * lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-rclone-maybe-open-connection): Set "lock-pid" connection property. + + * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-sh-handle-write-region): Handle LOCKNAME. + + * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-smb-handle-copy-directory): Use `sleep-for'. + (tramp-smb-handle-write-region): Handle LOCKNAME. + + * lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-sshfs-handle-write-region): Handle LOCKNAME. + (tramp-sshfs-maybe-open-connection): Set "lock-pid" connection property. + + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler-alist): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-sudoedit-maybe-open-connection): + Set "lock-pid" connection property. + + * lisp/net/tramp.el (tramp-file-name-for-operation): + Add `file-locked-p', `lock-file' and `unlock-file'. + (tramp-make-lock-name, tramp-get-lock-file, tramp-get-lock-pid) + (tramp-handle-file-locked-p, tramp-handle-lock-file) + (tramp-handle-unlock-file): New defuns. + (tramp-lock-file-contents-regexp): New regexp. + (tramp-handle-write-region): Handle LOCKNAME. + + * src/filelock.c (lock_file, unlock_file_body, Ffile_locked_p): + Call handler if exists. + (Flock_file, Funlock_file): New defuns. + (Qlock_file, Qunlock_file, Qfile_locked_p): Declare symbols. + (Slock_file, Sunlock_file): Declare subroutines. + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test40-make-nearby-temp-file) + (tramp-archive-test43-file-system-info): Rename. + + * test/lisp/net/tramp-tests.el (top): Set `create-lockfiles' to nil. + (tramp--test-fuse-p): New defun. + (tramp-test14-delete-directory): Use it. + (tramp-test39-lock-file): New test. + (tramp-test40-make-nearby-temp-file) + (tramp-test41-special-characters) + (tramp-test41-special-characters-with-stat) + (tramp-test41-special-characters-with-perl) + (tramp-test41-special-characters-with-ls, tramp-test42-utf8) + (tramp-test42-utf8-with-stat, tramp-test42-utf8-with-perl) + (tramp-test42-utf8-with-ls, tramp-test43-file-system-info) + (tramp-test44-asynchronous-requests, tramp-test45-auto-load) + (tramp-test45-delay-load, tramp-test45-recursive-load) + (tramp-test45-remote-load-path, tramp-test46-unload): Rename. + (tramp--test-special-characters, tramp--test-utf8) + (tramp--test-asynchronous-requests-timeout): Modify docstring. + +2021-07-07 Glenn Morris + + Merge from origin/emacs-27 + + fbf1cb2bf2 (origin/emacs-27) Fix overfull hbox in Emacs manual + fda60094a2 Minor copyedits of Emacs manual + + # Conflicts: + # doc/emacs/display.texi + +2021-07-06 Lars Ingebrigtsen + + Make previous empty-body warning disabling more robust + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): + `byte-compile-warning-enabled-p' may not be defined here. + +2021-07-06 Basil L. Contovounesios + + Avoid invalid regexp in wide docstring check + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + Avoid constructing an invalid regexp during byte-compilation by + limiting the number of columns to the current RE_DUP_MAX of 65535. + This protects against pathological values of fill-column, for + example (bug#49426). + +2021-07-06 Juri Linkov + + * lisp/repeat.el (describe-repeat-maps): Rename from `describe-repeat'. + + Fix text strings (bug#49265). + +2021-07-06 Lars Ingebrigtsen + + Make `M-x clipboard-yank' work reliably + + * lisp/menu-bar.el (clipboard-yank): Make the command work + consistently (bug#27442). + + * lisp/select.el (gui-selection-value): Try to explain why the + logic is the way it is. + +2021-07-06 Lars Ingebrigtsen + + Explain what ( . c) means to the Emacs Lisp reader + + * doc/lispref/objects.texi (Dotted Pair Notation): Explain what + ( . c) means to the Lisp reader (bug#24875). + +2021-07-06 Eli Zaretskii + + Fix right-margin display on TTY frames + + * src/dispnew.c (prepare_desired_row, adjust_glyph_matrix): Adjust + the glyph pointer of the right-margin area for all windows but the + rightmost ones on TTY frames, to account for the border glyph. + (Bug#48257) + +2021-07-06 Lars Ingebrigtsen + + Warn when wrapping index matches with `,' after `i' in Info + + * lisp/info.el (Info--current-index-alternative): New internal + variable. + (Info-warn-on-index-alternatives-wrap): New user option (bug#24282). + (Info-index-next): Use the new user option. + +2021-07-06 Protesilaos Stavrou + + Add faces for shr heading elements (bug#49433) + + * etc/NEWS: Document new faces. + * lisp/net/shr.el (shr-h1, shr-h2, shr-h3, shr-h4, shr-h5, shr-h6): + Define new faces. + (shr-tag-h1): Remove inclusion of 'variable-pitch' face. Fix + bug#49433 by applying a new face directly. + (shr-tag-h2, shr-tag-h3, shr-tag-h4, shr-tag-h5, shr-tag-h6): Apply + new faces. + +2021-07-06 Lars Ingebrigtsen + + Make gnus-gcc-externalize-attachments work again + + * lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Allow externalizing + parts again by defeating the cache (bug#49436). + +2021-07-06 Lars Ingebrigtsen + + Allow inhibiting warnings about unused variables and empty bodies + + * lisp/emacs-lisp/cconv.el (cconv--warn-unused-msg): Allow + inhibiting warnings about unbound variables (bug#26486). + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Allow + inhibiting warnings about empty bodies. + +2021-07-06 Lars Ingebrigtsen + + Allow using `mm-inline-message' from other mail clients than Gnus + + * lisp/gnus/mm-view.el (mm-inline-message-prepare-function): New + variable (bug#49380). + (mm-inline-message): Use it to separate out the Gnus-specific code. + * lisp/gnus/gnus-art.el (gnus-mime-display-single): ... which has + been moved here. + +2021-07-06 Eli Zaretskii + + Fix overfull hbox in Emacs manual + + * doc/emacs/display.texi (Displaying Boundaries): Fix overfull + hbox. + +2021-07-06 Eli Zaretskii + + Minor copyedits of Emacs manual + + * doc/emacs/book-spine.texi: Fix the author attribution. + (Bug#49405) + * doc/emacs/back.texi: Update text. + +2021-07-06 Philip Kaludercic + + Add query command removed in 4ff1f66b12 + + * rcirc.el (query): Readd accidentally removed command + +2021-07-06 Philip Kaludercic + + Fix issues with argument parsing in rcirc-define-command + + * rcirc.el (rcirc-define-command): Fix issues + +2021-07-06 Dmitry Gutov + + (xref--insert-xrefs): Fix printing of line numbers + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Fix printing of line numbers when we have multiple files with + (e.g.) single match on the same line. + +2021-07-05 Stephen Leake + + * lisp/progmodes/bug-reference.el: Refer to info manual node + +2021-07-05 Lars Ingebrigtsen + + Support reverting in Customize buffers + + * lisp/cus-edit.el (custom--revert-buffer): New function (bug#26871). + (Custom-mode): Set up reversion. + (custom--invocation-options): New variable. + (custom-buffer-create-internal): Set it. + +2021-07-05 Lars Ingebrigtsen + + Count zero-length matches in `count-matches' correctly + + * lisp/replace.el (how-many): Count zero-length matches correctly + (bug#27359). + +2021-07-05 Lars Ingebrigtsen + + Propagate :safe properties when autoloading defcustoms + + * lisp/emacs-lisp/autoload.el (make-autoload): Propagate the :safe + property to the loaddefs file (bug#28104). + +2021-07-05 Lars Ingebrigtsen + + Make `bookmark--unfontify' more robust + + * lisp/bookmark.el (bookmark--unfontify): Don't bug out if there's + no fontification recorded (bug#49341). + +2021-07-05 Lars Ingebrigtsen + + `image-save' doc string clarification + + * lisp/image.el (image-save): Clarify what's being saved + (bug#49347). + +2021-07-05 Michael Albinus + + Don't use LOCKNAME for temp files in Tramp (Bug#49406) + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-write-region): + Don't use LOCKNAME for temp file. (Bug#49406) + + * test/lisp/shadowfile-tests.el (password-cache-expiry): + Set `shadow-debug' also on emba. + +2021-07-05 Martin Rudalics + + Show hand cursor when dragging frame (Bug#49247) + + * src/xdisp.c (note_mode_line_or_margin_highlight): Show hand + cursor when dragging frame with mode, tab or header line. + (syms_of_xdisp): Define Qdrag_with_mode_line, + Qdrag_with_header_line and Qdrag_with_tab_line. + +2021-07-05 Michael Albinus + + Fix newly introduced error in tramp-tests.el (Bug#49406) + + * test/lisp/net/tramp-tests.el (tramp--test-check-files): + Filter out empty strings. (Bug#49406) + +2021-07-04 Lars Ingebrigtsen + + Ignore .dir-locals-2.el files more + + * lisp/emacs-lisp/shadow.el (load-path-shadows-find): + * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Ignore + .dir-locals-2.el, too (bug#23257). + +2021-07-04 Jim Porter + + Ensure 'call-process' interprets INFILE as a local path + + * src/callproc.c (get_current_directory): Rename from + 'encode_current_directory' and add boolean ENCODE flag. + (Fcall_process): Interpret INFILE relative to the working directory + from which PROGRAM is run, not 'default-directory'. + (call_process): Use 'get_current_directory'. + * src/process.c (Fmake_process): Use 'get_current_directory'. + * src/process.h (get_current_directory): Rename decl from + 'encode_current_directory'. + * src/sysdep.c (sys_subshell): Use 'get_current_directory' (bug#49283). + +2021-07-04 Lars Ingebrigtsen + + Adjust eshell and ps-print to not use emacs-kill-hook + + * lisp/ps-print.el (ps-kill-emacs-check): + + * lisp/eshell/em-dirs.el (eshell-dirs-initialize) + (eshell-save-some-last-dir): Don't use `emacs-kill-hook' (bug#28943). + + * lisp/eshell/em-hist.el (eshell-hist-initialize) + (eshell-save-some-history): + +2021-07-04 Eli Zaretskii + + * lisp/url/url-util.el (url-unhex-string): Doc fix. + +2021-07-04 Eli Zaretskii + + Avoid deprecation warnings with Texinfo 6.8 + + * doc/lispref/functions.texi (Function Safety): + * doc/misc/srecode.texi (Parts of SRecode): + * doc/misc/wisent.texi (Wisent Semantic, Wisent Lex): + * doc/misc/pcl-cvs.texi (Editing files): + * doc/misc/bovine.texi (top, Starting Rules) + (Bovine Grammar Rules, How Lexical Tokens Match) + (Optional Lambda Expression): + * doc/emacs/msdos.texi (Windows Keyboard): + * doc/emacs/buffers.texi (Several Buffers): + * doc/emacs/text.texi (Text): Avoid using @inforef, which is + deprecated. + +2021-07-04 Alan Third + + Fix crash in GNUstep font coverage check + + * src/nsfont.m (ns_charset_covers): Check coverage more accurately and + don't automatically assume the buffer is 8192 bytes long. + +2021-07-04 Alan Third + + Remove unused variables + + * src/nsterm.m ([EmacsView keyDown:]): Remove ns_fake_keydown as + there's no code that ever sets it to YES. + +2021-07-04 Alan Third + + Fix thread memory management under NS + + * src/thread.c (run_thread): Allocate an autorelease pool so that any + autoreleased Objective C objects are correctly released. + +2021-07-04 Amin Bandali + + Update a few more IRC-related references to point to Libera.Chat + +2021-07-04 Amin Bandali + + Merge from origin/emacs-27 + + 348b2aed0c Update IRC-related references to point to Libera.Chat + b0e725e2fe Fix typo in c-macro-expand docstring + + # Conflicts: + # doc/misc/erc.texi + # doc/misc/gnus-faq.texi + # doc/misc/rcirc.texi + # etc/NEWS + # lisp/erc/erc-services.el + # lisp/erc/erc.el + # lisp/ldefs-boot.el + # lisp/net/rcirc.el + +2021-07-04 Amin Bandali + + Merge from origin/emacs-27 + + d898d3c73a ; * doc/emacs/back.texi: Fix a typo. + de52dbd4ad Update doc/emacs/ for a new printing of the Emacs Manual book + +2021-07-04 Amin Bandali + + Update IRC-related references to point to Libera.Chat + + Per GNU and FSF's announcements [0, 1] of moving official IRC channels + to the Libera.Chat IRC network, as well as several Emacs-related + channels following suit [2], update IRC-related references to reflect + the migration. + + [0]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00005.html + [1]: https://lists.gnu.org/archive/html/info-gnu/2021-06/msg00007.html + [2]: https://lists.gnu.org/archive/html/info-gnu-emacs/2021-06/msg00000.html + +2021-07-04 Dmitry Gutov + + Speed up fido-mode + + * lisp/icomplete.el (icomplete-completions): Speed up fido-mode (bug#48841). + +2021-07-03 Daniel Martín + + Fix typo in c-macro-expand docstring + + * lisp/progmodes/cmacexp.el (c-macro-expand): Fix typo. (Bug#49356) + +2021-07-03 Christopher League + + Retain documentation string when customizing theme + + * lisp/cus-theme.el (customize-create-theme): When editing an existing + theme, load its doc string into the description widget, instead of + replacing it with a date stamp (Bug#49274). + +2021-07-02 Philip Kaludercic + + * rcirc.el (rcirc-define-command): Mention name of malformed command + + Author: + +2021-07-02 Lars Ingebrigtsen + + Don't have desktop-save-mode query on `M-x kill-emacs' + + * lisp/desktop.el (noninteractive): Prompting functions should not + be added to `kill-emacs-hook' (bug#28943). + (desktop-kill): Return t so that it can be used from + `kill-emacs-query-functions'. + +2021-07-02 Michael Albinus + + Implement another fix for bug#49229 + + * lisp/minibuffer.el (read-file-name-default): Respect remote files. + (Bug#49229) + + * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): + Handle special file names on MS Windows. + + * lisp/net/tramp.el (tramp-file-name-handler): Revert patch. + (Bug#49229) + +2021-07-02 Peter Oliver + + Hide emacs-mail.desktop, emacsclient-mail.desktop from menus + + These are intended for use as mailto: URL handlers, not for launching + directly, so we can reduce clutter by hiding them from a desktop + environment’s menus. + + * etc/emacs-mail.desktop, etc/emacsclient-mail.desktop: NoDisplay=true + +2021-07-02 Peter Oliver + + Install emacs-mail.desktop and emacsclient-mail.desktop + + * Makefile.in (install-etc): Install emacs-mail.desktop and + emacsclient-mail.desktop + +2021-07-02 Peter Oliver + + Provide an emacsclient-mail.desktop + + We provide both an emacs.desktop and an emacsclient.desktop, so for + consistency let’s do the same with mail. + + * etc/emacs-mail.desktop: Extract suggestions for using emacsclient + from comments to create emacsclient-mail.desktop. + * etc/emacsclient-mail.desktop: Send mail using an existing Emacs + rather than starting a new one. + +2021-07-02 Tino Calancha + + lisp/auth-source-pass.el: Keep legitimate spaces inside data + + Users should be able to store a field as follows: + message: remember: Destroy the image and you will break the enemy + + and later, recover the message untouched, i.e.: + "remember: Destroy the image and you will break the enemy" + + * lisp/auth-source-pass.el (auth-source-pass--parse-data): Preserve + inner spaces at data. + * test/lisp/auth-source-pass-tests.el + (auth-source-pass-parse-with-colons-in-data): Add test. + +2021-07-02 Iku Iwasa + + lisp/auth-source-pass.el: Support multiple hosts in search spec + + * lisp/auth-source-pass.el (auth-source-pass-search): Accept a list of + strings for argument HOST. + (auth-source-pass--build-result): Rename argument HOST to HOSTS. Also + return value "host" from entry if it exists. + (auth-source-pass--find-match): Rename argument HOST to HOSTS. Iterate + over each host in HOSTS. + * test/lisp/auth-source-pass-tests.el: Add corresponding tests + +2021-07-02 Jim Porter + + Don't pass 'null-device' to 'call-process' in ispell + + * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries): + Replace 'null-device' with nil (bug#49283). This allows running a + local ispell process when editing a buffer editing a file via Tramp. + +2021-07-02 Martin Rudalics + + New frame parameter 'drag-with-tab-line' (Bug#49247) + + The new frame parameter 'drag-with-tab-line' allows to move + frames by dragging their topmost windows' tab line with the + mouse thus achieving a behavior similar to that provided by + the 'drag-with-header-line' parameter. + + * lisp/mouse.el (mouse-drag-tab-line): New function. + (mouse-drag-frame-resize, mouse-drag-frame-move) + ([tab-line down-mouse-1]): Handle tab line dragging in various + keymaps. + * doc/lispref/frames.texi (Mouse Dragging Parameters): Describe + new parameter 'drag-with-tab-line'. + * etc/NEWS: Add entry for 'drag-with-tab-line'. + +2021-07-02 Michael Albinus + + Fix a problem of cus-start.el for remote default directories + + * lisp/cus-start.el: Bind `default-directory' to "/" when calling + `shell-command-to-string' for a local value on DARWIN. + +2021-07-01 Alan Third + + Fix NS self contained eln location (bug#49271) + + * Makefile.in: + * configure.ac: Change eln file install location to + Contents/Frameworks. + * src/comp.c (hash_native_abi): Replace dots with underscores in the + eln install location as the macOS code-signing tool won't sign the + files if the parent directories have dots. + +2021-07-01 Alan Third + + Fix NS native comp search path (bug#49270) + + * configure.ac (NS_SELF_CONTAINED): We need to make lispdirrel the + same as lispdir when building a self contained app bundle as they're + both relative paths. + +2021-07-01 Jonas Bernoulli + + * lisp/transient.el: Update to package version 0.3.6. + +2021-07-01 Mattias Engdegård + + Update describe-prefix-binding manual text + + * doc/emacs/help.texi (Misc Help): `ESC ?` isn't unbound any more. + +2021-07-01 Michael Albinus + + Handle test environment variables + + * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): + Check also for EMACS_EMBA_CI. + + * test/README (SELECTOR): Mention EMACS_TEST_VERBOSE. + + * test/infra/gitlab-ci.yml (variables): Set EMACS_TEST_VERBOSE. + +2021-07-01 Peter Oliver + + Fix copy/paste error in emacsclient.desktop + + * etc/emacsclient.desktop: new-instance should read new-window. + +2021-07-01 Eli Zaretskii + + Update doc/emacs/ for a new printing of the Emacs Manual book + + * doc/emacs/book-spine.texi: New file: the printed book spine. + * doc/emacs/back.texi: New file: the backcover text for the + printed book. + * doc/emacs/emacs.texi: Update ISBN. + +2021-07-01 Michael Albinus + + Doc cleanup + + * doc/lispref/files.texi (File Locks, Changing Files) + (File Name Components, File Name Expansion, Magic File Names): + * lisp/files.el (locate-dominating-stop-dir-regexp) + (auto-mode-alist, set-auto-mode, file-name-with-extension) + (backup-directory-alist, wildcard-to-regexp) + (save-buffers-kill-terminal): Doc fixes. + + * etc/NEWS: Fix typos. + +2021-06-30 Jonas Bernoulli + + In files that use allout use it for all headings + + * lisp/allout.el: Don't prefix regular comments with three + semicolons. + * lisp/icomplete.el: Use allout syntax for all headings. + * lisp/net/eudc.el: Use allout syntax for all headings. + +2021-06-30 Jonas Bernoulli + + * lisp/comint.el: Prefix headings with enough semicolons. + + Outline headings must begin with three or more semicolons. + +2021-06-30 Jonas Bernoulli + + Improve consistency of outline headings in dired libraries + + * lisp/dired-aux.el: Improve consistency of outline headings. + * lisp/dired-x.el: Improve consistency of outline headings. + * lisp/dired.el: Improve consistency of outline headings. + + - Use three semicolons at beginning of headings because that already + is the dominant number of semicolons for headings in these files. + - Prefix each heading with a ^L instead of randomly omitting it in + front of some. + - Always prefix the line with the ^L with a completely empty line. + - Begin headings with a capital letter. + - Do not update complete headings. + - Do not end headings with a period. + - Remove a handful of section end markers. + - Address further inconsistencies. + +2021-06-30 Jonas Bernoulli + + Cleanup whitespace and comments in dired libraries + + * lisp/dired-aux.el: Cleanup whitespace and comments. + * lisp/dired-x.el: Cleanup whitespace and comments. + * lisp/dired.el: Cleanup whitespace and comments. + +2021-06-30 Jonas Bernoulli + + Add new function lm-maintainers (bug#48592) + + * doc/lispref/tips.texi (Library Headers): Improve wording. + * lisp/emacs-lisp/lisp-mnt.el (lm-maintainers): New function. + (lm-maintainer): Make obsolete in favor of lm-maintainer. + (lm-verify): Use lm-maintainers. + (lm-report-bug): Use lm-maintainers. + +2021-06-30 Jonas Bernoulli + + * lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Right-trim name. + + The addresses might be aligned in which case we have to trim the + extra whitespace at the end of the names. + +2021-06-30 João Távora + + Adjust docstring of lisp-mode (bug#49278) + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Mention that this mode is + primarily for Common Lisp. + +2021-06-30 Lars Ingebrigtsen + + Add new user option to transform kill ring contents + + * doc/emacs/killing.texi (Kill Options): Document it. + * lisp/simple.el (kill-new): Use it. + (kill-transform-function): New user option (bug#29013). + +2021-06-30 Lars Ingebrigtsen + + Make the minor mode doc strings say that they're minor modes + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): + Mention that this is a minor mode (bug#20462). + +2021-06-30 Peter Oliver + + From .desktop files, reuse a frame or start a new Emacs as required + + * doc/emacs/misc.texi: (Using Emacs as a Server) Explain + emacsclient.desktop. + * etc/NEWS: (Emacs Server): Explain emacsclient.desktop. + * emacs-mail.desktop, etc/emacsclient.desktop: Automatically try to + reuse an existing frame, open a new frame, or start a new Emacs + daemon. Add actions for specific behaviours (bug#49195). + +2021-06-30 Peter Oliver + + Revert more of a partially reverted emacsclient.desktop patch + + * etc/emacsclient.desktop: Undo setting of StartupWMClass=Emacsd, since + this relies on a change to etc/emacs.service which was also undone. See + bug#37847 for more explanation (bug#49259). + +2021-06-30 Lars Ingebrigtsen + + Fix problem when creating an .authinfo entry with an existing machine name + + * lisp/auth-source.el (auth-source-netrc-create): Don't return the + incorrect data if there's a matching host entry but the wrong user + name (bug#49289). + +2021-06-30 Colin Woodbury + + Add new function file-name-with-extension + + * doc/lispref/files.texi (File Name Components): Document it. + * lisp/emacs-lisp/shortdoc.el (file-name): Ditto. + + * lisp/files.el (file-name-with-extension): New function. + +2021-06-29 Alan Third + + Fix NS port built with gcc + + * src/nsterm.m (ns_relocate): The NSArray shorthand notation doesn't + work in GCC. + +2021-06-29 Juri Linkov + + * lisp/repeat.el (describe-repeat): New command (bug#49265). + +2021-06-29 Michael Albinus + + Sync with Tramp 2.5.1 + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.1". + + * lisp/tramp.el (tramp-handle-write-region): + * lisp/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/tramp-sh.el (tramp-sh-handle-write-region): Call local + `write-region' directly. + + * test/lisp/net/tramp-tests.el (tramp--test-utf8): Adapt test for + MS Windows. + +2021-06-29 Alex McGrath + + Fix SASL joining channels after auth + + Send CAP END after authentication has been successful + +2021-06-29 Martin Rudalics + + In read_minibuf_unwind don't try to select dead window (Bug#49248) + + * src/minibuf.c (read_minibuf_unwind): Don't try to select dead + window (Bug#49248). + +2021-06-28 Alex McGrath + + Fix SASL on rcirc-update + +2021-06-28 Glenn Morris + + Merge from origin/emacs-27 + + ef5f3d5ee7 (origin/emacs-27) C++ Mode: Handle new keywords static_cas... + +2021-06-28 Reuben Thomas + + * lisp/textmodes/ispell.el: Fix finding dictionaries for Enchant. + + (ispell-find-enchant-dictionaries): + + I originally copied this code from the equivalent code for + Aspell. Unfortunately it was wrong for the case of Enchant: it should + find only dictionaries that Enchant knows about, and not merge in + `ispell-dictionary-base-alist' or add a default element, as these + are dealt with in `ispell-set-spellchecker-params'. + + This caused a bug where the correct `-d' argument would not be added + to the invocation of enchant, leading to the process not being + correctly started. + +2021-06-28 Reuben Thomas + + * lisp/textmodes/ispell.el: Check process is live before interacting. + + Check that `ispell-process' is live before trying to read from or + write to it. This avoids a hang if the process has died. + +2021-06-28 Michael Albinus + + Fix bug#49229 in shell.el + + * lisp/shell.el (shell): Ensure, that a remote shell is remote. + (Bug#49229) + +2021-06-28 Stefan Monnier + + * lisp/files.el (hack-one-local-variable): Allow `add-function` in `eval:` + + (Bug#49163) + +2021-06-27 Stefan Monnier + + * lisp/textmodes/flyspell.el: Fix bug#49104 + + (flyspell--prev-meta-tab-binding): Delete var. + (flyspell-prog-mode): Don't set it. + (flyspell-auto-correct-word): Lookup the "next" command dynamically. + +2021-06-27 Alan Mackenzie + + C++ Mode: Handle new keywords static_cast, etc., wrt angle brackets + + * lisp/progmodes/cc-langs.el (c-<>-arglist-kwds): Add const_cast, + dynamic_cast, reinterpret_cast and static_cast into this lang const. + + * lisp/progmodes/cc-engine.el (c-clear-<-pair-props, c-clear->-pair-props) + (c-clear-<-pair-props-if-match-after, c-clear->-pair-props-if-match-before) + (c-forward-<>-arglist-recur): + Invalidate caches with c-trunctate-lit-pos-cache. + (c-forward-<>-arglist-recur): If in a matching <...> expression, the < has a + syntax-table property, but the > not, remove that property. + +2021-06-26 Stefan Monnier + + * lisp/minibuffer.el (completion-in-region--single-word): Simplify + + Remove redundant args `collection` and `predicate` which were always + equal to `minibuffer-completion-table` and + `minibuffer-completion-predicate` anyway. + + (minibuffer-complete-word): + * lisp/emacs-lisp/crm.el (crm-complete-word): Simplify accordingly. + +2021-06-26 Stefan Monnier + + * lisp/minibuffer.el (minibuffer--completion-prompt-end): Rename + +2021-06-26 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el: Fix test regression + + (cl--alist-to-plist): New function. + (cl-struct-slot-info): Use it. + +2021-06-26 Michael Albinus + + Fix Tramp bug#49229 + + * lisp/net/tramp.el (tramp-file-name-handler): Drop possible + volume letter when `expand-file-name' is called with a local + absolute file name as first argument. (Bug#49229) + +2021-06-26 Stefan Monnier + + * lisp/minibuffer.el (completion--prompt-end): New function (bug#30668) + + (minibuffer-complete, minibuffer-force-complete-and-exit) + (minibuffer-force-complete, minibuffer-complete-and-exit) + (minibuffer-complete-word, minibuffer-completion-help): Use it. + +2021-06-26 Alan Third + + Fix NS self-contained build configuration + + * configure.ac: When rebuilding epaths.h for NS check that we're + actually doing an NS build first. + +2021-06-26 Alan Third + + Fix NS native compilation builds + + * Makefile.in (ns_applibexecdir): + (ns_applibdir): + (ns_appdir): New variables. + (.PHONY): Include new rule. + (epaths-force-ns-self-contained): Remove the app bundle directory from + all paths. + * configure.ac (NS_SELF_CONTAINED): Set the default site-lisp + directory instead of hard-coding it in the ObjC code, and use the new + epaths generating make rule. + * src/callproc.c (init_callproc_1): + (init_callproc): Remove all the NS specific code as the special cases + are now handled by decode_env_path. + * src/emacs.c (load_pdump): + (decode_env_path): Use ns_relocate to find the correct directory after + relocation. + * src/lread.c (load_path_default): Remove all the NS specific code as + the special cases are now handled by decode_env_path. + * src/nsterm.h: Update function definitions. + * src/nsterm.m (ns_etc_directory): + (ns_exec_path): + (ns_load_path): Remove functions that are no longer needed. + (ns_relocate): New function to calculate paths within the NS app + bundle. + * nextstep/Makefile.in (ns_applibexecdir): New variable, and update + anything relying on the libexec location. + +2021-06-26 Eric Abrahamsen + + Small improvements to handling of IMAP mark search + + * lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): Use a + KEYWORD search for any mark starting with a "$", so + "mark:$hasattachment" goes through as "KEYWORD $hasattachment". + +2021-06-25 Mattias Engdegård + + Print newlines as \n instead of \12 in ERT results + + This makes test errors unquestionably more readable. The change also + makes FF print as \f; other controls still use octal escapes. + + * lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline): + Run `pp` with `pp-escape-newlines` set to `t`. + +2021-06-25 Lars Ingebrigtsen + + Make (find-face-definition 'default) work more reliably + + * lisp/emacs-lisp/find-func.el (find-function--defface): New + function (bug#30230). + (find-function-regexp-alist): Use it to skip past definitions + inside comments and strings. + +2021-06-25 Lars Ingebrigtsen + + Fix the name of the sorted minor mode map after previous change + + * lisp/bindings.el (mode-line-major-mode-keymap): Change the name + of the minor mode menu items. + +2021-06-25 Eli Zaretskii + + Fix race conditions between Lisp threads in GTK builds + + * src/xgselect.c (release_select_lock, acquire_select_lock) + [GCC >= 4.7.0]: Use '__atomic' builtins to prevent races between + threads in accessing 'threads_holding_glib_lock'. Reported by + . (Bug#36609) + +2021-06-25 Michael Albinus + + Fix Tramp bug#49178 + + * lisp/net/tramp.el (tramp-handle-find-backup-file-name) + (tramp-handle-make-auto-save-file-name): Adapt checks. (Bug#49178) + +2021-06-25 Juri Linkov + + * lisp/tab-bar.el (tab-bar--define-keys): Fix global-mode-string (bug#49215) + +2021-06-25 Stephen Berman + + Prevent Org mode from mistakenly changing Calendar keymap + + * lisp/org/org-compat.el (org--setup-calendar-bindings): Fix logic + in test of 'org-agenda-diary-file' (bug#48199). + +2021-06-25 Eli Zaretskii + + Fix syntax-category of some punctuation characters + + * lisp/textmodes/text-mode.el (text-mode-syntax-table): Don't + modify the global syntax-table just because we load text-mode.el. + This happens at loadup time, and then affects the default syntax + in all modes, not just in text-mode and its derivatives. + (Bug#49214) + +2021-06-24 Stefan Monnier + + * lisp/bindings.el (bindings--sort-menu-keymap): Add "menu" in its name + + (bindings--menu-item-string): Use `pcase`. + +2021-06-24 Stefan Monnier + + * lisp/emacs-lisp/cl-preloaded.el: Fix the format of props in slot-descs + + (cl--plist-remove): Remove. + (cl--plist-to-alist): New function. + (cl-struct-define): Use it to convert slots's properties to the + format expected by `cl-slot-descriptor`. + + * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Revert last + changes, not needed any more. + +2021-06-24 Alex McGrath + + Add SASL authentication to rcirc + + * lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function + (bug#48601). + (rcirc-authenticate): + (rcirc-connect): Support sasl. + (rcirc-get-server-password, rcirc-get-server-method): New functions. + (rcirc-authinfo): Document it. + +2021-06-24 Mattias Engdegård + + Don't call ERT explainer on error + + * lisp/emacs-lisp/ert.el (ert--expand-should-1): If the predicate form + signals an error, don't call an explainer because the arguments passed + (the error and error argument, respectively) do not make any sense to + the explainer at all. + +2021-06-24 Lars Ingebrigtsen + + Attempt to make defclass documentation more legible + + * lisp/emacs-lisp/cl-extra.el (cl--print-table): Attempt to make + defclass documentation more readable (bug#30998). + (cl--describe-class-slots): Ditto. + +2021-06-24 Lars Ingebrigtsen + + Fix printing of defclass documentation slots again + + * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix + printing defclass slots, and retain printing of defstruct slots + (bug#30998 and bug#46662). + +2021-06-24 Lars Ingebrigtsen + + Allow `C-u M-x dig' to ask for a query type + + * lisp/net/dig.el (dig): Allow prompting for a query type + (bug#31810). + +2021-06-24 Alex McGrath + + Add SASL authentication to rcirc + + * lisp/net/rcirc.el (rcirc-handler-AUTHENTICATE): New function + (bug#48601). + (rcirc-authenticate): + (rcirc-connect): Support sasl. + (rcirc-get-server-password, rcirc-get-server-method): New functions. + (rcirc-authinfo): Document it. + +2021-06-24 E. Choroba + + Fix highlighting in cperl-mode for "for /regex/" + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Fix + highlighting of regexp in "print for /./;" (bug#49192). + +2021-06-24 Jim Porter + + Ignore file-missing errors during diff-refined font-locking + + * lisp/vc/diff-mode.el (diff--font-lock-refined): Ignore file-missing + errors (bug#49197). + +2021-06-24 Lars Ingebrigtsen + + Clarify the help in the package buffers + + * lisp/emacs-lisp/package.el (package--quick-help-keys): Clarify + marking help (bug#40457). + +2021-06-24 Jim Porter + + Sort the items in 'mode-line-mode-menu' before displaying the menu + + * lisp/bindings.el (bindings--menu-item-string, bindings--sort-keymap): + New functions. + (mode-line-major-mode-keymap, mode-line-minor-mode-keymap): + Sort 'mode-line-mode-menu'. + +2021-06-23 Saroj Thirumalai (tiny change) + + * lisp/printing.el (pr-global-menubar): Fix duplicate menu problem. + + In Emacs 27.1 Print menu items were moved to a submenu of the File menu. + The Printing package (lisp/printing.el) replaces the Print menu (via the + function: pr-global-menubar). The latter needs to be updated to reflect the + changes; otherwise, a second Print (sub)menu is created at the end of the + File menu. + +2021-06-23 Mauro Aranda + + Fix defvar->defcustom conversion in ethio-util.el + + * lisp/language/ethio-util.el (ethio-primary-language) + (ethio-secondary-language): Don't quote the const. + (ethio-use-three-dot-question, ethio-quote-vowel-always) + (ethio-W-sixth-always, ethio-numeric-reduction) + (ethio-java-save-lowercase): Really make them defcustom. + +2021-06-23 Lars Ingebrigtsen + + Make ethio-* variables into user options + + * lisp/language/ethio-util.el (ethiopic): New group. + (ethio-primary-language, ethio-secondary-language) + (ethio-use-colon-for-colon, ethio-use-three-dot-question) + (ethio-quote-vowel-always, ethio-W-sixth-always) + (ethio-numeric-reduction, ethio-java-save-lowercase): Make into + user options (bug#33024). + +2021-06-23 Lars Ingebrigtsen + + Revert "Sort the items in 'mode-line-mode-menu' before displaying the menu" + + This reverts commit d4d6d8f335165e2bda8942b4acd45e5bab613b70. + + This approach doesn't work on certain types of keymaps, so it should be implemented in a different way. + +2021-06-23 Jim Porter + + Sort the items in 'mode-line-mode-menu' before displaying the menu + + * lisp/bindings.el (bindings--menu-item-string, bindings--sort-keymap): + New functions. + (mode-line-major-mode-keymap, mode-line-minor-mode-keymap): + Sort 'mode-line-mode-menu'. + +2021-06-23 dickmao + + Clean up code in `message-replace-header' + + * lisp/gnus/message.el (message-replace-header): Elide redundancy + (bug#49180). + +2021-06-23 dickmao + + Fix message-replace-header after recent change + + * lisp/gnus/message.el (message-replace-header): Restore else + branch removed by mistake in 989de3b824 (bug#49179). + +2021-06-22 Lars Ingebrigtsen + + Give feedback to the user in dired-do-find-regexp + + * lisp/dired-aux.el (dired-do-find-regexp): Give some feedback to + the user (bug#35352). + +2021-06-22 Lars Ingebrigtsen + + Make minor mode docstrings say what the mode "variable" is + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Add + the mode variable (bug#36500). + (easy-mmode--mode-docstring): + (define-minor-mode): Pass in the getter. + +2021-06-22 Protesilaos Stavrou + + Use named face for apropos-button + + * etc/NEWS: Document new face. + * lisp/apropos.el (apropos-button): Define new face. + (apropos-face): Specify face instead of hardcoding + attributes (bug#49162). + +2021-06-22 Peter Oliver + + If the daemon’s TTY is our only frame, create a new frame + + * server.el (server-process-filter): If there won't be a current frame + to use, fall back to trying to create a new one (bug#11033). + +2021-06-22 Peter Oliver + + Advertise support for Startup Notification when built with GTK + + * etc/emacsclient.desktop, etc/emacsclient.desktop: Specify + StartupNotify=true. + * configure.ac (USE_STARTUP_NOTIFICATION): New variable, yes iff + HAVE_GTK. + * Makefile.in (install-etc): Remove StartupNotify=true from + etc/*.desktop unless USE_STARTUP_NOTIFICATION (bug#48783). + +2021-06-22 Utkarsh Singh + + Make tex-compile-commands heed tex-start-options + + * lisp/textmodes/tex-mode.el (tex-compile-commands): Respect + `tex-start-options' (bug#49018). + +2021-06-22 Eli Zaretskii + + Fix "make -j install" + + * Makefile.in (install-eln): Depend on 'lisp', so that people + could say "make -j install" without a separate "make" step. + (Bug#49099) + +2021-06-22 Stephen Gildea + + time-stamp: add principled, expressive %z + + * lisp/time-stamp.el (time-stamp-formatz-from-parsed-options): New + function for time zone offset formatting ("%z" variants). + + * test/lisp/time-stamp-tests.el (formatz*): New unit tests to cover + the new implementation of %5z. + +2021-06-21 Basil L. Contovounesios + + Fix shortdoc-add-function section creation + + * lisp/emacs-lisp/shortdoc.el (shortdoc-add-function): Use nconc to + actually append a new section to the list of groups while avoiding a + previous OBOE. Push a new group to the front of shortdoc--groups + without copying it, just like define-short-documentation-group does. + (buffer): Fix copypasta in unlock-buffer example. + + * test/lisp/emacs-lisp/shortdoc-tests.el (shortdoc-examples): Also + check that :no-value forms demonstrate the right function. + + * doc/lispref/help.texi (Documentation Groups): Clarify that @dots + in the define-short-documentation-group arglist refer to whole + key-value pairs. Fix typo in :eg-result-string description. + +2021-06-21 Lars Ingebrigtsen + + NEWS for tool bar "X" in *Help* buffers change (bug#49139) + +2021-06-21 Lars Ingebrigtsen + + Fix prompting for large files when loading literally + + * lisp/files.el (find-file-noselect): Don't include "literally" in + the "large file" prompt if we're gonna load literally anyway + (bug#49144). + +2021-06-21 Lars Ingebrigtsen + + Make find-file-literally ignore local variables again + + * lisp/files.el (find-file-noselect-1): Re-inhibit local variables + when loading a file literally (bug#49143). This was broken by + 5bedbe6b1d. + +2021-06-21 Alex Bochannek + + Refactor gnus-article-sort-by-* + + * lisp/gnus/gnus-sum.el (gnus-article-sort-extract-extra): New + function (bug#49081). + (gnus-article-sort-by-recipient): Use it. + (gnus-article-sort-by-newsgroups): Ditto. + +2021-06-21 Lars Ingebrigtsen + + Further fixes for bound-and-true-p doc string + + * lisp/bindings.el (bound-and-true-p): Improve doc string. + +2021-06-21 Andrea Corallo + + * Do not attempt to write .elc files when not necessary (bug#49118) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Do not attempt to + write .elc files when not necessary. + +2021-06-21 Philip Kaludercic + + Query encryption using yes-or-no-p + + * rcirc.el (rcirc-prompt-for-encryption): Replace completing-read + prompt with yes-or-no-p + +2021-06-20 Alan Third + + Fix GNUstep menu update crashes + + * src/nsmenu.m (ns_update_menubar): close the submenus before modifying them. + ([EmacsMenu close]): Make sure to close all submenus. + +2021-06-20 Alan Third + + Fix GNUstep build warnings + + * src/nsterm.h ([EmacsWindow orderedIndex]): + * src/nsterm.m ([EmacsWindow orderedIndex]): Implement orderedIndex + for use under GNUstep. + * src/nsmenu.m (free_frame_menubar): + (ns_update_menubar): + ([EmacsMenu addSubmenuWithTitle:]): + ([EmacsMenu addItemWithWidgetValue:attributes:]): Cast return values + to correct types. + ([EmacsMenu fillWithWidgetValue:]): Move variable definition inside + relevant #ifdef block. + ([EmacsMenu menuWillOpen:]): + ([EmacsMenu menuDidClose:]): + ([EmacsMenu confinementRectForMenu:onScreen:]): + ([EmacsMenu menu:willHighlightItem:]): New functions to silence build + warnings. + * src/nsfont.m (nsfont_open): Remove pointless fabs call. + +2021-06-20 Michael Albinus + + Adapt tests in tramp-archive-tests.el + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test05-expand-file-name) + (tramp-archive-test06-directory-file-name): Adapt tests. + +2021-06-20 Grant Shangreaux + + Add input methods for Lakota + + The White Hat and Suggested Lakota Orthography are represented here + by three different input modes: A prefix and postfix mode for the SLO, + and a postfix mode for the White Hat orthography. + * lisp/leim/quail/latin-post.el (lakota-slo-postfix) + (lakota-white-hat-postfix): + * lisp/leim/quail/latin-pre.el (lakota-slo-prefix): New input methods. + * etc/HELLO: Call out the additions. + +2021-06-20 Juri Linkov + + Add new convenience command for *Help* + + * doc/emacs/help.texi (Help Mode): Document it (bug#36767). + + * lisp/help-mode.el (help-mode-map): Add 'c'. + (help-mode-menu): Add help-customize. + (help-customize): New command. + +2021-06-19 Michael Albinus + + Fix error in tramp-archive.el + + * lisp/net/tramp-archive.el (tramp-archive-file-name-handler): + Archive must exist. (Bug#49030, Bug#49043) + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test06-directory-file-name): Tag it :unstable temporarily. + +2021-06-19 Glenn Morris + + Merge from origin/emacs-27 + + 7722b510aa (origin/emacs-27) Another improvement in documentation of ... + 8d5c70d73a Improve documentation of profiler + 0ffef0b46b Document 'ispell-program-name' + 7be610f911 Fix documentation of 'face-extend-p' + + # Conflicts: + # doc/lispref/debugging.texi + +2021-06-19 Lars Ingebrigtsen + + Use file-truename on files loaded with "emacs -l" + + * lisp/startup.el (command-line-1): When loading a file, use the + truename so that eval-after-load works more reliably (bug#49009). + Change suggested by ctarbide@tuta.io. + +2021-06-19 Lars Ingebrigtsen + + Improve bound-and-true-p doc string + + * lisp/bindings.el (bound-and-true-p): Improve doc string (bug#49116). + +2021-06-19 dickmao + + De-obfuscate gnutls_handshake loop + + * src/gnutls.c (gnutls_try_handshake): Rewrite the handshake loop + for greater clarity (bug#49055). + +2021-06-19 Alex Bochannek + + New Gnus Summary buffer sort options for extra headers + + * lisp/gnus/gnus-sum.el (gnus-article-sort-functions) + (gnus-thread-sort-functions, gnus-subthread-sort-functions) + (gnus-summary-mode-map, gnus-summary-make-menu-bar) + (gnus-article-sort-by-newsgroups) + (gnus-summary-sort-by-newsgroups, gnus-summary-sort-by-extra): + Sort by Newsgroups extra header. Prompt for header name for other + extra headers. + + * doc/misc/gnus.texi (Summary Sorting): Document new sort functions + + * etc/NEWS: New Gnus Summary buffer sort feature (bug#49081). + +2021-06-19 Eli Zaretskii + + Another improvement in documentation of "memory" profiler + + * lisp/profiler.el (profiler-start): Fix the doc string to better + explain what is "memory" profiler. + +2021-06-19 Łukasz Stelmach + + Allow `message-replace-header' to take a list of AFTERs + + * lisp/gnus/message.el (message-replace-header): Facilitate + capability of message-position-on-field to accept multiple headers + as AFTERS argument and make possible to mimic behavioir of + message-goto-* functions with message-replace-header in case the + header does not exist (bug#49070). + +2021-06-19 Alex Bochannek + + Add support for displaying total number of groups in subgroups in Gnus + + * lisp/gnus/gnus-topic.el (gnus-topic-line-format) + (gnus-topic-line-format-alist, gnus-topic-prepare-topic) + (gnus-topic-insert-topic-line, ) + (gnus-topic-display-missing-topic, ) + (gnus-topic-update-topic-line): + Provide number of groups in subtopics for topic line display and + add 'G' element to be used for 'gnus-topic-line-format' variable + + * doc/misc/gnus.texi (Topic Variables): + Document 'G' element for 'gnus-topic-line-format' variable (bug#49068). + +2021-06-19 Eli Zaretskii + + Improve documentation of profiler + + * doc/lispref/debugging.texi (Profiling): Stop misleading users + about what "memory" profiling really is. + +2021-06-19 Jim Porter + + Improve to selsel doc strings + + * lisp/delsel.el (delete-active-region): Document interactive behavior. + * lisp/delsel.el (delete-selection-repeat-replace-region): + Use "\\[universal-argument]" instead of literal "C-u" in docstring. + +2021-06-19 Michael Albinus + + Revert "Add `file-name-set-extension'" + + This reverts commit 4f1a5e456e35930e8d0713b990bd7b14923cfe97. + +2021-06-19 Michael Albinus + + Add `file-name-set-extension' + + * lisp/files.el (file-name-with-extension): New defun. + + * test/lisp/files-tests.el (files-tests-file-name-with-extension-good) + (files-tests-file-name-with-extension-bad): New tests. + +2021-06-19 Philip Kaludercic + + Use add-to-list instead of manually modifying minor-mode-alist + +2021-06-19 Michael Albinus + + Handle case remote uid is 0 in some Tramp related tests + + * test/lisp/filenotify-tests.el: + * test/lisp/shadowfile-tests.el: + Set `tramp-allow-unsafe-temporary-files' to t. + +2021-06-18 Mattias Engdegård + + Fix Morse for non-ASCII letters + + * lisp/play/morse.el (morse-code): Downcase letters in the table + because they must match downcased input. + +2021-06-18 Eli Zaretskii + + Improve and update the 'etags' test suite + + * lib-src/etags.c (mercury_pr): Remove redundant comment. + + * test/manual/etags/merc-src/accumulator.m: Add more complex + declarations. + * test/manual/etags/ETAGS.good_1: + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: + * test/manual/etags/CTAGS.good: Adapt to latest changes in 'etags' + and the test suite. (Bug#47408) + +2021-06-18 Fabrice Nicol + + Fix Mercury support, notably qualified procedures. + + Correct the previous fix (did not correctly handle qualified types). + Also fix the following issues: + - remove module name (+ dot) from tags, as prefixing module name is + often inconsistent in code and may cause tags to be too specific. + - now tag 0-arity predicates and functions (':- func foo_14.') + - now tag one-word declarations (':- interface.') + + * lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN + arguments to 'make_tag'. + (mercury_decl): Return more information about the declaration or + definition it finds. This allows mercury_pr to be smarter. + (Bug#47408) + +2021-06-18 Philipp Stephani + + Update SCSS test file syntax. + + According to + https://sass-lang.com/documentation/breaking-changes/slash-div, the + slash operator should be replaced by 'math.div'. + + Fixed using the migration tool mentioned at + https://sass-lang.com/documentation/breaking-changes/slash-div#automatic-migration. + + * test/manual/indent/scss-mode.scss: Remove slash operator. + +2021-06-18 Arash Esbati + + Use \footref when referencing a footnote label + + * lisp/textmodes/reftex-vars.el (reftex-label-alist-builtin): Use + \footref as `reference-format' for \footnote macro. + +2021-06-18 Arash Esbati + + Support new LaTeX kernel macro \footref + + * lisp/textmodes/reftex-vars.el (reftex-ref-style-alist): Add + entry for \footref macro which is part of LaTeX kernel 2021-06-01. + +2021-06-17 Juri Linkov + + * lisp/help-fns.el (help--symbol-class): Concat chars for all namespaces. + + Since Emacs Lisp is more than Lisp-2, separately output letters + for each namespace: functions, variables, faces, classes. + Use non-letter characters for additional properties + such as advice, obsolete, local. + (help--symbol-completion-table-affixation): Use format "%-4s". + https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00524.html + +2021-06-17 Juri Linkov + + Fix display-buffer-override-next-command for no-select case (bug#49057) + + * lisp/window.el (display-buffer-override-next-command): + Separate 'postfun' from 'clearfun', so 'clearfun' resets + 'display-buffer-overriding-action', whereas 'postfun' calls + 'post-function' that can select the right window in 'post-command-hook'. + + * lisp/windmove.el (windmove-display-no-select): Add new choice 'ignore'. + Improve docstring. + (windmove-display-in-direction): Use new value 'ignore' of + 'windmove-display-no-select'. Improve docstring. + (windmove-display-left, windmove-display-up) + (windmove-display-right, windmove-display-down): Mention + 'windmove-display-no-select' in docstrings. + +2021-06-16 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el: Fix bug#49053 and bug#47454 + + (cl-generic-define-method): Shorten the time window where the symbol is + defined to `dummy`. + +2021-06-16 Mattias Engdegård + + Eliminate some GCC warnings + + * src/doprnt.c (exprintf, evxprintf): + * src/lisp.h (exprintf, evxprintf): Don't use a pointer-to-const type + for the `nonheapbuf` argument: although it is never dereferenced, GCC + will warn when passing a pointer to uninitialised memory otherwise. + * src/fns.c (sort_vector_copy, realize_face, realize_gui_face) + (realize_tty_face): Use the same signatures in the prototypes as in + the actual function definitions. + +2021-06-16 Glenn Morris + + * lisp/simple.el (save-interprogram-paste-before-kill): Fix type. + +2021-06-16 Mattias Engdegård + + * src/xdisp.c (gui_draw_bottom_divider): Fix misleading indentation. + +2021-06-16 Mattias Engdegård + + Remove outdated advise from manual + + * doc/lispref/modes.texi (Search-based Fontification): + Remove paragraph that has been unnecessary and confusing ever since + regexp-opt stopped using capturing brackets more than 21 years ago. + +2021-06-16 Pip Cet + + Prepare pdumper dump file in memory, write it in one go (Bug#46881) + + * src/pdumper.c (struct dump_context): Add buf, buf_size, max_offset fields. + (dump_grow_buffer): New function. + (dump_write): Use memcpy, not an actual emacs_write. + (dump_seek): Keep track of maximum seen offset. Don't actually seek. + (Fdump_emacs_portable): Write out the file contents when done. + +2021-06-16 Philip Kaludercic + + Force mode line update after modifying activity string + + * rcirc.el (rcirc-update-activity-string): Call force-mode-line-update + +2021-06-16 pillule + + User option to choose a function triggered by windmove-create (bug#48917) + + * lisp/windmove.el (windmove-create-window): Add a defcustom choice. + (windmove-do-window-select): Trigger custom functions, update the docstring. + +2021-06-16 pillule + + User option to select 'no-other-window' with windmove (bug#48916) + + * lisp/windmove.el (windmove-wrap-around): Remove superfluous :group tag. + (windmove-create-window): Remove superfluous :group tag. + (windmove-window-distance-delta): Remove superfluous :group tag. + (windmove-allow-all-windows): Add new user option to allow the commands + of windmove to target windows with the 'no-other-window parameter. + (windmove-find-other-window): Use windmove-allow-all-windows. + (windmove-display-no-select): Remove superfluous :group tag. + (windmove-display-in-direction): Use windmove-allow-all-windows. + (windmove-delete-in-direction): Use windmove-allow-all-windows. + (windmove-swap-states-in-direction): Use windmove-allow-all-windows. + (windmove-default-keybindings): Remove superfluous :group tag. + (windmove-display-default-keybindings): Remove superfluous :group tag. + (windmove-delete-default-keybindings): Remove superfluous :group tag. + (windmove-swap-states-default-keybindings): Remove superfluous :group tag. + +2021-06-15 Philip Kaludercic + + Fix edge case with single argument for rcirc-define-command + + * rcirc.el (rcirc-define-command): Update regular expression generator + +2021-06-15 Philip Kaludercic + + Fix argument parser for rcirc-define-command with string input + + * rcirc.el (rcirc-define-command): Require at least one space between + arguments + +2021-06-15 Lars Ingebrigtsen + + Make help-view-source more robust + + * lisp/help-mode.el (help-view-source): Check the right thing to + see if we can jump to the source file. + +2021-06-15 Lars Ingebrigtsen + + Add new convenience commands for *Help* + + * doc/emacs/help.texi (Help Mode): Document it (bug#36767). + + * lisp/help-fns.el (help-fns-function-description-header) + (describe-variable, describe-face, describe-keymap) + (describe-mode): Add the required data. + + * lisp/help-mode.el (help-mode-map): Add 'i' and 's'. + (help-mode--current-data): New variable. + (help-mode): Make it local. + (help-view-source, help-goto-info): New commands. + +2021-06-15 Lars Ingebrigtsen + + Clarify (interactive "K") in the manual + + * doc/lispref/commands.texi (Interactive Codes): Clarify + (interactive "K") (bug#37146). + +2021-06-15 Philip Kaludercic + + Check if server buffer is live + + * rcirc.el (with-rcirc-server-buffer): Use live-buffer-p + (rcirc-buffer-nick): Use with-rcirc-server-buffer + (rcirc-switch-to-server-buffer): Use with-rcirc-server-buffer + +2021-06-15 Eli Zaretskii + + Document 'ispell-program-name' + + * doc/emacs/fixit.texi (Spelling): Document + 'ispell-program-name'. (Bug#49039) + +2021-06-15 Julian Scheid + + Allow ERT tests to output the failure reasons, too + + * lisp/emacs-lisp/ert.el (ert-reason-for-test-result): New function. + (ert-run-tests-batch): Output failure or skip reason (bug#47071). + +2021-06-15 Lars Ingebrigtsen + + Add a new function syntax-class-to-char + + * doc/lispref/syntax.texi (Syntax Table Internals): Document it. + * src/syntax.c (Fsyntax_class_to_char): New function (bug#37452). + +2021-06-15 Jared Finder + + Fix dragging dividers in terminal Emacs when there's margins + + * lisp/mouse.el (mouse-drag-line): Do the right thing in the + presence of margins (bug#41156). + (mouse-drag-line): Bind left-margin/right-margin in the map, too. + +2021-06-15 Lars Ingebrigtsen + + Document `completions-format' + + * doc/emacs/mini.texi (Completion Options): Document + `completions-format'. + + * lisp/simple.el (completion-list-mode): Mention in (bug#49003). + +2021-06-15 Lars Ingebrigtsen + + Fix false positives in docstring width warning with (fn...) constructs. + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + Don't consider the function signature when determining whether the + doc string is too wide (bug#49007). (The signature is folded + later when displaying help.) + +2021-06-15 Philip Kaludercic + + Improve message markup + + * rcirc.el (rcirc-markup-text-functions): Add rcirc-color-attributes, + rcirc-remove-markup-codes + (rcirc-markup-attributes): Recognize strike-through and monospace, + don't remove control codes + (rcirc-color-attributes): Recognize mIRC color codes + (rcirc-remove-markup-codes): Add function + (rcirc-monospace-text): Add face + +2021-06-15 Stephen Gildea + + mh-junk need not support SpamAssassin 2.20 from 2003 + + * lisp/mh-e/mh-junk.el (mh-spamassassin-*list): Remove support + for SpamAssassin 2.20. (SpamAssassin 3.0 was released in 2004.) + This change updates both the flags for sa-learn and the comments + about how the current version works. + + This change reverts part of a change made in 2003 that added + support for what was even then an "old version of spamassassin." + +2021-06-14 Philip Kaludercic + + Fix construction of interactive specification in rcirc-define-command + + * rcirc.el (rcirc-define-command): Ensure that only one argument is passed. + +2021-06-14 Lars Ingebrigtsen + + Remove unused variable from sgml-mode test + + * test/lisp/textmodes/sgml-mode-tests.el (sgml-test-brackets): + Remove unused variable. + +2021-06-14 Lars Ingebrigtsen + + Get fractional seconds in iso8601 parsing right + + * lisp/calendar/iso8601.el (iso8601-parse-time): Get fractional + times (with leading zeroes in the fraction part) right (bug#49017). + Fix based on a patch by "J.P." . + +2021-06-14 Andrea Corallo + + * Do not produce .elc temporary file when unnecessary (bug#48978) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Produce .elc + temporary files only when non native compiling or when native + compiling but `byte+native-compile' is non nil. + +2021-06-14 Stephen Berman + + Fix problem in HTML with bracketed characters + + * lisp/textmodes/sgml-mode.el (sgml-tag-syntax-table): Use bracket + syntax for all Unicode bracket characters (bug#43941). + +2021-06-14 Andrea Corallo + + ;* lisp/emacs-lisp/bytecomp.el (byte-native-compiling): Typo fix. + + * lisp/emacs-lisp/bytecomp.el (byte+native-compile): Update docstring. + +2021-06-14 Philip Kaludercic + + Rename set-rcirc-{encode,decode}-coding-system + + * rcirc.el (set-rcirc-decode-coding-system): Deprecate command + (rcirc-set-decode-coding-system): New command + (set-rcirc-encode-coding-system): Deprecate command + (rcirc-set-encode-coding-system): New command + +2021-06-14 Philip Kaludercic + + Preserve order of completion during cycling + + * rcirc.el (rcirc-completion-at-point): Specify cycle-sort-function + +2021-06-14 Michael Albinus + + Handle sensitive auto-save or backup remote files (Bug#45245) + + * doc/misc/tramp.texi (Auto-save and Backup): + Describe tramp-allow-unsafe-temporary-files. + (Ad-hoc multi-hops): Use proper format. + + * etc/NEWS: Mention confirmation for writing sensitive auto-save + or backup remote files to the local temporary directory.. + + * lisp/net/tramp-cache.el (tramp-dump-connection-properties): + Strengthen test. + + * lisp/net/tramp.el (tramp-allow-unsafe-temporary-files): New defcustom. + (tramp-handle-find-backup-file-name) + (tramp-handle-make-auto-save-file-name): Don't expose sensible + auto-save or backup files on local temporary directory. (Bug#45245) + + * test/lisp/net/tramp-tests.el (tramp--test-always): New defalias. + (tramp-test10-write-region, tramp-test21-file-links) + (tramp--test--deftest-direct-async-process): Use it. + (tramp-test37-make-auto-save-file-name) + (tramp-test38-find-backup-file-name): Extend tests. + +2021-06-14 pillule + + Improve handling of dedicated flag for side windows (Bug#48493) + + * doc/lispref/windows.texi (Buffers and Windows): Mention the + special handling of side windows and add a reference. + (Buffer Display Action Alists): Say explicitly that + `display-buffer-in-side-window' is dedicating to side by default. + (Dedicated Windows): Add case (4) and explain its meaning, add + a reference. + (Displaying Buffers in Side Windows): Move the paragraph about + `switch-to-(prev|next)-buffer' into a new item to emphasize the + special meaning of dedication for side windows. + * lisp/window.el (set-window-buffer-start-and-point): Restore + side dedication. + (switch-to-prev-buffer, switch-to-next-buffer): Correct return + value that should be nil instead of the same buffer in case of + no change. + (delete-windows-on): Restore side dedication. + (replace-buffer-in-windows): Update the docstring, restore side + dedication. + (quit-restore-window): Rearrange the logic so that strongly + dedicated windows are eventually deleted first. Restore the + side dedication. In the final case try to + `switch-to-prev-buffer' before deleting a window (Bug#48367). + +2021-06-14 Philip Kaludercic + + Add mouse properties to activity string + + * rcirc.el (rcirc-activity-string): Allow clicking on string + +2021-06-13 Philip Kaludercic + + Update activity string after switching to next active buffer + + * rcirc.el (rcirc-next-active-buffer): Call rcirc-update-activity-string + +2021-06-13 Eli Zaretskii + + Fix documentation of 'face-extend-p' + + * doc/lispref/display.texi (Attribute Functions): Fix description + of 'face-extend-p'. (Bug#48936) + +2021-06-13 Lars Ingebrigtsen + + Fix previous pulse.el fix + + * lisp/cedet/pulse.el (pulse-reset-face): Fix up previous + pulse-reset-face change -- reset back to the start face + (bug#48936). + +2021-06-13 dick + + Avoid an infinite loop in mml-expand-html-into-multipart-related + + * lisp/gnus/mml.el (mml-expand-html-into-multipart-related): + Skip images with empty filename parts (bug#49001). + +2021-06-13 Lars Ingebrigtsen + + Reset the pulse face more fully in pulse-reset-face + + * lisp/cedet/pulse.el (pulse-reset-face): Reset the :extend to nil + if there's no face given (bug#48936). + +2021-06-13 Eli Zaretskii + + Fix wording of recently added documentation + + * etc/NEWS: + * lisp/simple.el (save-interprogram-paste-before-kill): Fix + wording of a recently added documentation. (Bug#41168) + +2021-06-13 Lars Ingebrigtsen + + Fsubstitute_in_file_name doc string clarification + + * src/fileio.c (Fsubstitute_in_file_name): Mention that undefined + variables aren't replaced (as opposed to what happens in a shell + substitution) (bug#40949). + +2021-06-13 Lars Ingebrigtsen + + Allow save-interprogram-paste-before-kill to be a number + + * doc/emacs/killing.texi (Clipboard): Document it. + * lisp/simple.el (save-interprogram-paste-before-kill): Extend + range (bug#41168). + (kill-new): Implement it (bug#41168). + +2021-06-13 Juri Linkov + + * doc/emacs/windows.texi (Change Window): Add pxref to (elisp)Deleting Windows + + (Bug#47300) + +2021-06-12 Stefan Monnier + + EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior + + Change docs to advertize `slot-value` rather than `oref`. + Change the implementation of `:initform` to better match the CLOS semantics, + while preserving the EIEIO semantics, but warn when encountering cases + where the two diverge. + Demote the mostly unused special semantics of `oref-default` + on non-class allocated slots. + + * doc/misc/eieio.texi (Quick Start): Use `slot-value`. + (Accessing Slots): Move `slot-value` before `oref`. + Fix paren-typo in example (reported by pillule ). + (Introspection): Remove mention of `class-slot-initarg`. + + * lisp/transient.el (transient--parse-group, transient--parse-suffix): + Don't use `oref-default` to get the default value. + (transient-lisp-variable): Init forms are evaluated. + + * lisp/emacs-lisp/eieio.el (defclass): Warn about inapplicable + `:initarg` and about uses of init forms that are ambiguous. + (oref): Don't advertize the deprecated use of initargs as slot names. + (oref-default): Don't advertize the deprecated case where it returns the + initform's value. + (initialize-instance): Use `macroexp-const-p`. + * lisp/emacs-lisp/eieio-core.el (eieio--unbound): Rename from + `eieio-unbound`. + (eieio--unbound-form): New var. + (eieio--slot-override): Use it. + (eieio-defclass-internal): Use it. Change `init` so it should always + be evaluated. + (eieio--known-class-slot-names): New var. + (eieio--eval-default-p): Rename from `eieio-eval-default-p`. + (eieio--perform-slot-validation-for-default): Use `macroexp-const-p` to + decide whether to skip the test. + (eieio--add-new-slot): Register slot in `eieio--known-class-slot-names` + when applicable. + (eieio-oref-default, eieio-oset-default): Add warning for unknown slots + and slots not known to be allocated to the class. + (eieio-default-eval-maybe): Delete function. Use just `eval` instead. + (eieio-declare-slots): Allow slots to specify their allocation class. + + * lisp/cedet/srecode/insert.el (point): Declare the slot instead of + moving the class definition before the slot's first use. + (srecode-template-inserter-point, srecode-insert-fcn): + Use nil instead of unbound for the `point` slot. + + * lisp/cedet/srecode/compile.el (srecode-template-inserter): + Declare the `key` slot that all children should have. + + * lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar) + (eieio-speedbar-directory-button, eieio-speedbar-file-button): + * lisp/emacs-lisp/eieio-custom.el (eieio-widget-test-class): + * lisp/emacs-lisp/chart.el (chart-bar): + * lisp/cedet/semantic/ede-grammar.el (semantic-ede-proj-target-grammar): + * lisp/cedet/semantic/db.el (semanticdb-project-database): + * lisp/cedet/semantic/db-javascript.el (semanticdb-table-javascript) + (semanticdb-project-database-javascript): + * lisp/cedet/semantic/db-el.el (semanticdb-table-emacs-lisp) + (semanticdb-project-database-emacs-lisp): + * lisp/cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse) + (semanticdb-project-database-ebrowse): + * lisp/cedet/ede/proj.el (ede-proj-project): + * lisp/cedet/ede/proj-obj.el (ede-proj-target-makefile-objectcode): + * lisp/cedet/ede/generic.el (ede-generic-project): + * lisp/cedet/ede/config.el (ede-project-with-config): + * lisp/cedet/ede/base.el (ede-target, ede-project): + * lisp/auth-source.el (auth-source-backend): Init forms are evaluated, + so quote them accordingly. + +2021-06-12 Robert Pluim + + Make `window-system-for-display' work for ipv6, too + + * lisp/term/x-win.el (display-format-alist): Also work for ipv6 + (bug#42045). + +2021-06-12 Lars Ingebrigtsen + + Clarify some browse-url doc strings + + * lisp/net/browse-url.el (browse-url-of-file) + (browse-url-of-buffer, browse-url-of-region, browse-url) + (browse-url-at-point, browse-url-at-mouse): Clarify doc strings + (bug#42432). + +2021-06-12 Tassilo Horn + + Use file-in-directory-p instead of obsolete dired-in-this-tree-p + + * lisp/dired-aux.el (dired-rename-subdir,dired-rename-subdir-1) + (dired-insert-subdir,dired-insert-subdir-validate) + (dired-kill-tree,dired-tree-down): Use file-in-directory-p instead of + obsolete dired-in-this-tree-p. + +2021-06-12 Lars Ingebrigtsen + + Fix double (recursive) load of fortran.el + + * lisp/progmodes/fortran.el (fortran-menu): Move menu creation to + the end to avoid a recursive load (bug#43116). + +2021-06-12 Alex Bochannek + + Mention nov-is-evil/nnvirtual combination in the Gnus manual + + * doc/misc/gnus.texi (To From Newsgroups): Mention using separate + select methods for different values (bug#48801). + +2021-06-12 Matt Beshara + + Add ability to bring only the selected frame to the front (bug#48865) + + Causes ‘ns-hide-emacs’ to layer the selected frame in front of every other + application’s windows, and give that frame keyboard focus, when called with + 'activate-front. + + * src/nsfns.m (Fns_hide_emacs): Allow activating only selected frame. + +2021-06-11 Stefan Monnier + + * lisp/emacs-lisp/benchmark.el (benchmark-elapse): Tweak + +2021-06-11 Martin Rudalics + + Rename/rewrite recently added option and function in window.el + + * lisp/window.el (window-at-x-y): Rename from `window-at-pos'. + Fix doc-string. + (delete-window-choose-selected): Rename from + `delete-window-set-selected'. Fix doc-string. + (delete-window): Adjust to above renaming. + * doc/emacs/windows.texi (Change Window): Mention new option + `delete-window-choose-selected'. + * etc/NEWS: + * doc/lispref/windows.texi (Deleting Windows): Follow up on + above renamings. + +2021-06-11 Dmitry Gutov + + Simplify vc-git-log-switches's usage; change default value to nil + + * lisp/vc/vc-git.el (vc-git-log-switches): + Do not mention or allow the value 't' anymore + (https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00452.html). + (vc-git-print-log): Use 'vc-git-log-switches' directly. + +2021-06-10 Philip Kaludercic + + Preserve incoming order of messages with same timestamp + + * rcirc.el (rcirc-print): Emulate time-less-or-equal-p + +2021-06-10 Philip Kaludercic + + Allow hiding certain message types after reconnecting + + * rcirc.el (rcirc-omit-after-reconnect): Add new user option + (rcirc-reconncting): Add new variable + (rcirc-print): Check if message should be omitted + (reconnect): Mark buffers as freshly reconnected + +2021-06-10 Philip Kaludercic + + Use defvar-local instead of setq-local where applicable + +2021-06-10 Philip Kaludercic + + Allow for optional arguments using rcirc-define-command + + * rcirc.el (rcirc-define-command): Handle &optional arguments + +2021-06-10 Philip Kaludercic + + Fix prompt doubling when reconnecting + + * rcirc.el (rcirc-connect): Check if rcirc-mode is already active + (rcirc-get-buffer-create): Check if rcirc-mode is already active + +2021-06-10 Philip Kaludercic + + Allow filtering how nicks are presented + + * rcirc.el (rcirc-nick-filter): Add new option + (rcirc-completion-at-point): Use rcirc-nick-filter + (rcirc-format-response-string): Use rcirc-nick-filter + (rcirc-sort-nicknames-join): Use rcirc-nick-filter + +2021-06-10 Philip Kaludercic + + Implement invite-notify capability + + * rcirc.el (rcirc-implemented-capabilities): Add invite-notify + (rcirc-handler-INVITE): Handle invite notifications + +2021-06-10 Philip Kaludercic + + Add TAGMSG handler + + * rcirc.el (rcirc-handler-TAGMSG): Add new message handler + +2021-06-10 Philip Kaludercic + + Implement message-ids extension + + * rcirc.el (rcirc-implemented-capabilities): Add to list of + implemented extensions + (rcirc-print): Insert property denoting message ID + +2021-06-10 Philip Kaludercic + + Implement batch extension + + * rcirc.el (rcirc-implemented-capabilities): Add batch extension + (rcirc-supported-batch-types): Add new variable + (rcirc-batch-attributes): Add new variable + (rcirc-batched-messages): Add new variable + (rcirc-process-server-response-1): Handle messages with batch tag + (rcirc-handler-BATCH): Add batch dispatcher + +2021-06-10 Philip Kaludercic + + Implement server-time extension + + * rcirc.el (rcirc-implemented-capabilities): Add new capability + (rcirc-print): Insert messages in the right position + (rcirc-log): Use right time value + (rcirc-markup-timestamp): Use right time value + +2021-06-10 Philip Kaludercic + + Create framework for IRCv3 support + + * rcirc.el (rcirc-implemented-capabilities): Add new variable + (rcirc-requested-capabilities): Add new variable + (rcirc-acked-capabilities): Add new variable + (rcirc-connect): Request capabilities from rcirc-implemented-capabilities + (rcirc-process-regexp): Extend rcirc-process-regexp with tag support + (rcirc-tag-regexp): Add new tokenizer for tags + (rcirc-message-tags): Add new variable + (rcirc-get-tag): Add new function + (rcirc-process-server-response-1): Parse message-tags + (rcirc-handler-CAP): Add new handler for capability requests + +2021-06-10 Philip Kaludercic + + Replace defun-rcirc-command with rcirc-define-command + + * rcirc.el (defun-rcirc-command): Remove old macro + (rcirc-define-command): Create new macro + +2021-06-10 Eli Zaretskii + + Support mercury in 'ctags' as well + + The previous lack of support was due to incorrect calls to 'make_tag' + in 'mercury_pr', which caused 'pfnote' to refrain from adding Mercury + tags to the list of recorded tags. + + * lib-src/etags.c (mercury_pr): Pass the correct NAME and NAMELEN + arguments to 'make_tag'. + + * test/manual/etags/CTAGS.good: Adjust to the above change. + +2021-06-10 Eli Zaretskii + + Improve documentation of 'M-y' + + * doc/emacs/killing.texi (Yanking): Mention that TTY frames can + also support yanking from the clipboard. + (Earlier Kills): Finalize the documentation of the new behavior + of the lone 'M-y'. (Bug#48478) + +2021-06-10 Martin Rudalics + + Provide new option `delete-window-set-selected' (Bug#47300) + + When `delete-window' deletes its frame's selected window, this new + option allows to choose another window as replacement. + + * lisp/window.el (get-lru-window, get-mru-window) + (get-largest-window): New optional argument NO-OTHER. + (window-at-pos): New function. + (delete-window-set-selected): New option. + (delete-window): Handle `delete-window-set-selected'. + * src/window.c (Fdelete_window_internal): Set the selected + window of WINDOW's frame to the first window on that frame and + let `delete-window' choose a more suitable window instead. + * doc/lispref/windows.texi (Deleting Windows): Describe new + option `delete-window-set-selected'. + (Cyclic Window Ordering): Describe new NO-OTHER argument for + `get-lru-window', `get-mru-window' and `get-largest-window'. + * etc/NEWS: Mention `delete-window-set-selected' and the NO-OTHER + argument. + +2021-06-09 Alan Third + + Remove pause on fullscreening in NS (bug#48406) + + * src/nsterm.m (ns_make_frame_visible): + (ns_set_parent_frame): + ([EmacsView windowWillEnterFullScreen:]): + ([EmacsView windowDidEnterFullScreen:]): + ([EmacsView windowWillExitFullScreen:]): + ([EmacsView initFrameFromEmacs:]): Remove references to + in_fullscreen_transition. + ([EmacsView toggleFullScreen:]): Remove calls to removed methods. + ([EmacsView inFullScreenTransition]): + ([EmacsView waitFullScreenTransition]): Remove Methods. + * src/nsterm.h (EmacsView): Remove defintions of removed methods, and + the in_fullscreen_transition variable. + +2021-06-09 Glenn Morris + + * lib/Makefile.in (Makefile): Fix typo. + +2021-06-09 Philip Kaludercic + + Remove custom rcirc-completion implementation + + * rcirc.el (rcirc-completion-at-point): Improve completion suggestions + (rcirc-completions): Remove variable + (rcirc-completion-start): Remove variable + (rcirc-complete): Remove function + (rcirc-mode-map): Bind TAB to completion-at-point + (rcirc-mode): Use cycling for completion + +2021-06-09 Philip Kaludercic + + Recognize quoted commands in rcirc-process-input-line + + * rcirc.el (rcirc-process-input-line): Check for quoted commands + (rcirc-process-command): Don't check for quoted commands + +2021-06-09 Philip Kaludercic + + Integrate formatting into rcirc-send-string + + * rcirc.el (rcirc-connect): Use new syntax + (rcirc-send-string): Allow for more arguments + (rcirc-send-privmsg): Use new syntax + (rcirc-send-ctcp): Use new syntax + (rcirc-send-message): Use new syntax + (rcirc-clean-up-buffer): Use new syntax + (join): Use new syntax + (invite): Use new syntax + (part): Use new syntax + (quit): Use new syntax + (nick): Use new syntax + (names): Use new syntax + (topic): Use new syntax + (whois): Use new syntax + (mode): Use new syntax + (list): Use new syntax + (oper): Use new syntax + (kick): Use new syntax + (rcirc-handler-PING): Use new syntax + (rcirc-handler-ctcp-VERSION): Use new syntax + (rcirc-handler-ctcp-ACTION): Use new syntax + (rcirc-handler-ctcp-TIME): Use new syntax + +2021-06-09 Philip Kaludercic + + Fix checkdoc complaints and related issues + +2021-06-09 Philip Kaludercic + + Use auth-source for user-passwords + + * (rcirc): Use auth-source is no password was specifed + +2021-06-09 Philip Kaludercic + + Default to libera instead of freenode + + * rcirc.el (rcirc-server-alist): Update default value + +2021-06-09 Alan Third + + Fix image filename encoding issues (bug#48902) + + * src/image.c (image_find_image_fd): Don't return an encoded filename + string. + * src/nsfns.m: ([NSString stringWithLispString:]): Clarify usage + comment. + * src/nsimage.m ([EmacsImage allocInitFromFile:]): No need to encode + the filename when converting to NSString. + +2021-06-09 Michael Albinus + + * etc/NEWS: New user option 'shell-has-auto-cd'. + +2021-06-09 Jason Kim (tiny change) + + Handle auto-cd in shell-mode + + * lisp/shell.el (shell-has-auto-cd): New defcustom. + (shell-directory-tracker): Handle implicit "cd". + +2021-06-09 Utkarsh Singh (tiny change) + + New user option for Git log switches + + * lisp/vc/vc-git.el (vc-git-diff-switches): New defcustom. + (vc-git-print-log): Use it. + + * etc/NEWS: Announce the new option. + +2021-06-08 Juri Linkov + + * lisp/simple.el (yank-from-kill-ring): Add edited string to the kill-ring. + + (Bug#48478) + +2021-06-08 Juri Linkov + + Sync overlay code in minibuffer-message and set-minibuffer-message (bug#48669) + + * lisp/minibuffer.el (minibuffer-message): Copy more overlay positioning code + from set-minibuffer-message. + (minibuffer--message-overlay-pos): Mention both minibuffer-message and + set-minibuffer-message in the docstring. + (set-minibuffer-message): Use 'cursor t' instead of 1. + +2021-06-08 Glenn Morris + + Merge from origin/emacs-27 + + 37f4457994 (origin/emacs-27) ; Fix typo in dynamic module functions d... + f7d4bbceee ; * src/composite.h: Improve comments for LGSTRING and LGL... + +2021-06-08 Alex Bochannek + + Change the Gnus default to use `#' to toggle the process mark + + * doc/misc/gnus.texi (Marking Groups, Topic Commands): + (Setting Process Marks, Pick and Read): Document the new default. + * lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu. + + * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu. + + * lisp/gnus/gnus-topic.el (gnus-topic-make-menu-bar): Update menu. + + * lisp/gnus/gnus.el (gnus-process-mark-toggle): Change default. + +2021-06-08 Stephen Gildea + + MH-E: do not look for MH variants in relative directories + + * lisp/mh-e/mh-e.el (mh-variants): Do not examine relative directories + in exec-path (e.g., "."); these won't have MH installed. Also, + file-chase-links is not robust with relative names: you cannot pass it + a relative name that is a symlink. + +2021-06-08 Stefan Kangas + + Fix an example in ERC docs + + * doc/misc/erc.texi (Connecting): + * lisp/erc/erc.el (erc, erc-tls): Fix example to use J. Random Hacker + instead of Harry S. Truman. + +2021-06-08 Stefan Kangas + + * doc/man/emacs.1.in: Minor fixes. + +2021-06-08 Alan Third + + Revert "src/nsterm.m: fix window tabbing on macOS" + + This reverts commit 2207f9adccc0411b7ad73a3703f16250d7f8e139. + +2021-06-07 Michael Albinus + + Improve support of remote files in browse-url.el + + * etc/NEWS: Mention support of remote file browsing. + + * lisp/net/browse-url.el (browse-url-of-buffer): Revert last change. + (browse-url-of-file): Use temporary file in case of remote file. + (Bug#48397) + +2021-06-07 Dmitry Gutov + + Fix rgrep abbreviation + + * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): + Update for the last change in grep-find-template (bug#48471). + +2021-06-07 Eli Zaretskii + + * src/xdisp.c (Fwindow_text_pixel_size): Plug memory leak. (Bug#48884) + +2021-06-07 Michael Albinus + + Support remote file names in `browse-url-of-buffer' + + * lisp/net/browse-url.el (browse-url-of-buffer): Use temporary + file in case of remote `file-name'. (Bug#48397) + +2021-06-07 Dmitry Gutov + + Support old BSD find and "root dir symlink" better + + * lisp/progmodes/grep.el (grep-compute-defaults): + Add '-H' to grep-find-template (bug#48471). + + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + Pass the root directory name without the trailing slash. + + * lisp/progmodes/xref.el (xref-matches-in-directory): Ditto. + + * test/lisp/progmodes/xref-tests.el (xref--xref-file-name-display-is-abs) + (xref--xref-file-name-display-is-relative-to-project-root): + Make tests more strict again. + +2021-06-06 Dmitry Gutov + + completion-pcm--hilit-commonality: Reuse the match-data cons cells + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): Reuse + the match-data cons cells for better performance (bug#48841). + +2021-06-06 Eli Zaretskii + + Fix a problem with restarting 'tags-search' + + * lisp/progmodes/etags.el (tags-search, tags-query-replace): Link + to 'fileloop-continue' instead of 'tags-loop-continue', for + continuing TAGS-based search/replace commands. + + * lisp/fileloop.el (fileloop-continue): Reset + 'switch-to-buffer-preserve-window-point' to nil when switching to + another buffer, so as to make sure a new search always restarts + from point-min in each buffer it searches. (Bug#48628) + +2021-06-06 Lars Ingebrigtsen + + Clarify boolean widget prompt + + * lisp/wid-edit.el (widget-boolean-prompt-value): Clarify prompt + (bug#43593). + +2021-06-06 Lars Ingebrigtsen + + Clarify file reversion prompt + + * lisp/files.el (revert-buffer--default): Clarify prompt when the + buffer is modified (bug#43884). + +2021-06-06 Lars Ingebrigtsen + + Make `so-long' restore `view-mode' + + * lisp/so-long.el (so-long): Make the `v' command in Dired work + more reliably (bug#45084). + +2021-06-06 Sebastian Urban (tiny change) + + Minor copyedits in the Emacs user manual + + * doc/emacs/fixit.texi (Spelling): Move TeX hyphenation directives + from here... + * doc/emacs/docstyle.texi: ...to here. + * doc/emacs/display.texi (Displaying Boundaries, Text Display): + Minor stylistic changes. (Bug#48654) + +2021-06-06 Eli Zaretskii + + Minor fixes for last change + + * test/manual/etags/ETAGS.good_1: + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: Adapt to added Mercury support. + + * lib-src/etags.c (find_entries, test_objc_is_mercury): + * etc/NEWS: Fix punctuation and typos in last change. + +2021-06-06 Fabrice Nicol + + Add support for Mercury (https://mercurylang.org) in 'etags' + + Tag declarations starting lines with ':-'. + By default, all declarations are tagged. Optionally, first + predicate or functions in clauses can be tagged as in Prolog + support using '--declarations'. (Bug#47408). + * lib-src/etags.c (test_objc_is_mercury, Mercury_functions) + (mercury_skip_comment, mercury_decl, mercury_pr): + Implement Mercury support. As Mercury and Objective-C have + the same file extension .m, a heuristic test tries to detect + the language. + + * doc/man/etags.1: Document the change. Add Mercury-specific + behavior for '--declarations'. This option tags first + predicates or functions in clauses in addition to declarations. + +2021-06-06 Paul W. Rankin + + src/nsterm.m: fix window tabbing on macOS + + * src/nsterm.m: remove NSWindowTabbingModeDisallowed to respect + system-wide preferences + * etc/NEWS: add mention of native tab support in macOS and where + to specify system-wide setting + +2021-06-06 Michael Albinus + + * lisp/net/tramp.el (tramp-error): Make it a defun. + +2021-06-05 João Távora + + Consider environment vars in Fido's directory-aware RET binding + + (Bug#48782) + + * lisp/icomplete.el (icomplete-fido-ret): Consider environment + variables in dir expansion. + +2021-06-05 Alex Bochannek + + Fix Gnus summary exclusion when everything matches + + * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-recipient): + * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-subject): + (gnus-summary-limit-to-address, gnus-summary-limit-to-extra): + Don't claim that there aren't any matches when everything matches + an exclusion (bug#48834). + +2021-06-05 Stefan Monnier + + * src/keyboard.c (read_decoded_event_from_main_queue): Fix paren typo + + * lisp/mpc.el (mpc-intersection): Fix commit 1760029b0927242 + +2021-06-05 Eli Zaretskii + + Document the last change + + * doc/lispref/os.texi (Input Modes): Document the changes in the + values of the META flag. + + * etc/NEWS: Call out the change in input-meta-mode. + +2021-06-05 Max Mikhanosha + + Support terminal emulators that encode the Meta modifier as 8th bit + + See discussion starting at + + https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00034.html + + for the details. + * src/keyboard.c (read_decoded_event_from_main_queue): For + raw-text encoed input, if Meta bit is encoded, apply the Meta + modifier to single-byte characters that have the 0x80 bit set. + For input encoded otherwise, if the Meta bit is encoded, remove + the 0x80 bit after decoding the characters. + (tty_read_avail_input): Reset the 0x80 bit only if Meta bit is not + encoded. + (Fset_input_meta_mode): Support 'encoded' as the value of META. + (Fset_input_mode): Document 'encoded' for META. + (Fcurrent_input_mode): Support and document 'encoded' as the value + of META. + (syms_of_keyboard): DEFSYM 'encoded'. + +2021-06-05 Eli Zaretskii + + Fix slow operation of 'string-width' + + * src/composite.c (find_automatic_composition): Accept one + additional argument BACKLIM; don't look back in buffer or string + farther than that. Add an assertion for BACKLIM. + (composition_adjust_point, Ffind_composition_internal): Callers + adjusted. + * src/composite.h (find_automatic_composition): Adjust prototype. + * src/character.c (lisp_string_width): Call + 'find_automatic_composition' with the value of BACKLIM equal to POS, + to avoid costly and unnecessary search back in the string, since + those previous characters were already checked for automatic + compositions. (Bug#48734) (Bug#48839) + +2021-06-05 Eli Zaretskii + + Some additions to the TeX input method + + * lisp/leim/quail/latin-ltx.el (latin-ltx--define-rules): Add some + rules from Unicode Technical Note 28 "UnicodeMath" v3.1. + +2021-06-05 Dmitry Gutov + + Make icomplete less blinky and more responsive + + * lisp/icomplete.el (icomplete-pre-command-hook, icomplete-tidy): + Remove, update the callers + (https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00111.html). + (icomplete-compute-delay): Change the default to 150ms. + (icomplete-max-delay-chars): Change the default to 2. + +2021-06-04 Tassilo Horn + + Ask if dir and subdir dired buffers be killed when deleting dir + + Previously, when you've had dired buffers + + ~/foo/ + ~/foo/bar/ + ~/foo/bar/baz/ + + and then deleted ~/foo/, dired (with dired-clean-up-buffers-too set to + non-nil) would only ask to delete the dired buffer of ~/foo/. Now it + will offer to delete all three buffers. + + * lisp/dired.el (dired-buffers-for-dir): Add optional argument SUBDIRS + which makes the function return also dired buffers showing a subdir of + DIR. + (dired-in-this-tree-p): Make obsolete in favor of file-in-directory-p + which actually does what the name suggest whereas dired-in-this-tree-p + is just string-matching on filenames which will fail with symlinks + filenames including ./ or ../. + +2021-06-04 Eli Zaretskii + + Fix documentation of a recent change. + + * etc/NEWS: + * doc/emacs/misc.texi (Invoking emacsclient): Fix a recent change. + (Bug#11358) + +2021-06-04 Stephen Berman + + Fix placement of point in Dired deletion operations + + * lisp/dired.el (dired-do-flagged-delete, dired-do-delete): Use + point-marker instead of point to record each file name position. + Clean up the markers before returning. + (dired-internal-do-deletions): Move to the file name marker, and + then move point to the file name to visually emphasize which file + is being operated on (bug#48805). + +2021-06-04 Harald Hanche-Olsen (tiny change) + + Add a new `server-edit-abort' command + + * doc/emacs/misc.texi (Invoking emacsclient): Document it (bug#11358). + + * lisp/server.el (server-edit): Mention it in the doc string. + (server-edit-abort): New command. + +2021-06-04 Lars Ingebrigtsen + + Revert "Make the `i' command in Info-mode remove duplicate matches" + + This reverts commit 089e0c4c55dcf72f9cf2f6f04b8a52fc7355499c. + + There were no duplicate entries -- there were two entries + for different things that referred to the same line. + +2021-06-04 Eli Zaretskii + + Fix documentation of recent 'windmove' changes + + * lisp/windmove.el (windmove-default-keybindings) + (windmove-display-default-keybindings) + (windmove-delete-default-keybindings) + (windmove-swap-states-default-keybindings): Improve doc strings. + (Bug#41438) + + * etc/NEWS: Fix a typo in the 'windmove' entry. + +2021-06-03 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Fix the case of 'M-y M-p' (bug#48478) + + Don't use offsets for read-from-kill-ring-history when kill-ring-yank-pointer + points to the last element of kill-ring. + +2021-06-03 Juri Linkov + + * lisp/help-fns.el (help--symbol-class): New function. + + Refactored from help--symbol-completion-table-affixation. + https://lists.gnu.org/archive/html/emacs-devel/2021-06/msg00066.html + +2021-06-03 Juri Linkov + + * etc/NEWS: Add windmove keybindings (bug#41438) + +2021-06-03 Philip Kaludercic + + Add user options for default windmove commands (bug#41438) + + * windmove.el (windmove--default-keybindings-type): Add type. + (windmove-default-keybindings): Add user option. + (windmove-display-default-keybindings): Add user option. + (windmove-delete-default-keybindings): Add user option. + (windmove-swap-states-default-keybindings): Add user option. + +2021-06-03 Philip Kaludercic + + Improve windmove-*-default-keybindings functions (bug#41438) + + * windmove.el (windmove-mode-map): Add special map for windmove commands. + (windmove-mode): Add minor mode for activating windmove-mode-map. + (windmove-install-defaults): Add general function for manipulating + windmove-mode-map. + (windmove-default-keybindings): Use windmove-install-defaults. + (windmove-display-default-keybindings): Use windmove-install-defaults. + (windmove-delete-default-keybindings): Use windmove-install-defaults. + (windmove-swap-states-default-keybindings): Use windmove-install-defaults. + +2021-06-03 Mattias Engdegård + + Constant-propagate (function SYMBOL) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--substitutable-p): + Consider #'SYMBOL a constant for compile-time propagation purposes. + +2021-06-03 Mattias Engdegård + + Optimise (cons X nil) to (list X) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-cons): New function. + +2021-06-03 Eli Zaretskii + + Fix fill-column-indicator on TTY frames + + * src/xdisp.c (extend_face_to_end_of_line): Fix calculation of + fill-column-indicator on TTY frames. Suggested by Jimmy Aguilar + Mena . + +2021-06-03 Eli Zaretskii + + More accurate highlighting of mis-spellings in Flyspell + + * lisp/textmodes/flyspell.el (flyspell-word): Highlight only the + misspelled word, not any extra characters after it. (Bug#5575) + +2021-06-03 Lars Ingebrigtsen + + Make the `i' command in Info-mode remove duplicate matches + + * lisp/info.el (Info-index): Weed out duplicate matched + (bug#3692). + +2021-06-03 Lars Ingebrigtsen + + Fix up previous hideif change to avoid a compilation warning + + * lisp/progmodes/hideif.el + (hide-ifdef-expand-reinclusion-protection): Move to avoid a + compilation warning. + +2021-06-03 Lars Ingebrigtsen + + fringe-mode doc clarifications + + * lisp/fringe.el (fringe-mode): + (fringe-mode): Note that this variable and command have nothing to + do with modes (bug#6931). + +2021-06-03 Luke Lee + + * lisp/progmodes/hideif.el: Fix initial version for new variables + + (hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook) + (hide-ifdef-evalulate-leave-hook): Fix initial version to 28.1. + (hide-ifdef-expand-reinclusion-protection): Obsolete since 28.1, + rename to `hide-ifdef-expand-reinclusion-guard' instead. + +2021-06-03 Lars Ingebrigtsen + + Fix problem with empty command histories in eshell and `erase' + + * lisp/eshell/em-hist.el (eshell-add-input-to-history): Protect + against an empty ring (bug#48770). + +2021-06-03 Eli Zaretskii + + * configure.ac: Clarify "smoke test" error message. (Bug#48804) + +2021-06-03 Lars Ingebrigtsen + + Cross-reference the message/error control variables + + * src/keyboard.c (syms_of_keyboard): Mention set-message-function + in the command-error-function doc string... + + * src/xdisp.c (syms_of_xdisp): ... and vice versa (bug#13752). + +2021-06-03 Eli Zaretskii + + * configure.ac: Improve error messages about libgccjit. + +2021-06-02 Tassilo Horn + + Allow opening buttonized URL with secondary browser in rcirc + + * lisp/net/browse-url.el (browse-url-button-open-url): Add autoload + cookie. + * lisp/net/rcirc.el (rcirc-markup-urls): Use + `browse-url-button-open-url' instead of just `browse-url' in order to + be able to use the secondary browser by giving a prefix arg. + +2021-06-02 Eli Zaretskii + + Fix a typo in 'produce_glyphless_glyph' + + * src/xdisp.c (produce_glyphless_glyph): Initialize lower_xoff. + Remove workaround for lack of its initialization. (Bug#8215) + +2021-06-02 Luke Lee + + * lisp/progmodes/hideif.el: update for new C++ standards and extensions + + Matching gcc/clang behavior on stringification including keeping the same + number of white spaces. C++11, C++14, C++17 and GCC literals extension are + supported. Preprocessing time floating point operation supported but limited + to Emacs internal representation which is C data type "double". Also support + some frequently used keywords like __LINE__, __TIME__, __DATE__ and so on. + + (hif-clear-all-ifdef-defined, hif-show-all, hif-after-revert-function) + (hide-ifdef-define, hide-ifdefs, show-ifdefs): interactive behavior changes, + mainly to allow operation within the marked region. + (hif-eval, hif-__LINE__, hif-__FILE__, hif-__COUNTER__, hif-__cplusplus) + (hif-__DATE__, hif-__TIME__, hif-__STDC__, hif-__STDC_VERSION__) + (hif-__STDC_HOST__, hif-__FILE__, hif-full-match, hif-is-number, hif-is-float) + (hif-delete-char-in-string, hif-string-to-decfloat, hif-string-to-hexfloat) + (hif-strtok, hif-is-white, hif-backward-comment, hif-split-signed-token) + (hif-keep-single, hif-display-macro): new functions. + (hide-ifdef-verbose, hide-ifdef-evalulate-enter-hook) + (hide-ifdef-evalulate-leave-hook, hide-ifdef-evaluator, hif-predefine-alist) + (hif-numtype-suffix-regexp, hif-bin-regexp, hif-hex-regexp, hif-oct-regexp) + (hif-dec-regexp, hif-decfloat-regexp, hif-hexfloat-regexp) + (hif-unicode-prefix-regexp, hif-verbose-define-count): new constants or + variables. + (hif-macroref-regexp, hif-token-alist, hif-token-regexp) + (hif-string-literal-regexp): modified constants for faster regexp processing. + (hide-ifdef-expand-reinclusion-guard): renamed from + `hide-ifdef-expand-reinclusion-protection' to match commonly used term. + (hif-lookup, hif-defined, hif-string-to-number, hif-tokenize, hif-nextoken) + (hif-if-valid-identifier-p, hif-define-operator, hif-expand-token-list) + (hif-parse-exp, hif-math, hif-factor, hif-get-argument-list, hif-stringify) + (hif-token-concat, hif-mathify, hif-comma, hif-token-stringification) + (hif-token-concatenation, hif-macro-supply-arguments, hif-evaluate-macro) + (hif-find-define, hif-add-new-defines, hide-ifdef-guts, hif-undefine-symbol) + (hide-ifdef-set-define-alist, hide-ifdef-use-define-alist): modified functions + for new internal data representation, mainly for stringification and white + space preservation. Also better error handling to report source line number + and more informative error messages. + +2021-06-02 Lars Ingebrigtsen + + Fix ibuffer auto-shrinking windows + + * lisp/ibuffer.el (ibuffer-shrink-to-fit): Don't shrink all + windows, just the ibuffer one (bug#7218). + +2021-06-02 Lars Ingebrigtsen + + Move point in dired buffers when handling a list of files + + * lisp/dired-aux.el (dired-create-files): Advance point to the + current file (bug#8015). + +2021-06-02 Alex Bochannek + + Add new user option to Gnus to allow `#' to toggle + + * doc/misc/gnus.texi (Marking Groups, Setting Process Marks): + Mention the new variable. + + * lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu. + (gnus-group-mark-group): Support the variable. + (gnus-group-mark-update): New command. + (gnus-group-unmark-group, gnus-group-mark-region): Pass in new + parameter. + + * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu. + (gnus-summary-mark-as-processable): Use the variable. + + * lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): (bug#48683). + + * lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): Use the variable. + + * lisp/gnus/gnus.el (gnus-process-mark-toggle): New user option. + +2021-06-01 Alan Third + + Improve performance of NS port's display on macOS + + * src/nsterm.h: Update EmacsSurface definition. + * src/nsterm.m ([EmacsView focusOnDrawingBuffer]): Don't change the + CGContext's settings directly. + ([EmacsView unfocusDrawingBuffer]): Don't release the context here. + (CACHE_MAX_SIZE): Add maximum cache size. + ([EmacsView updateLayer]): Send a request for getContext, which will + copy the buffer and create the context if it doesn't already exist, to + the NS run loop. + ([EmacsSurface initWithSize:ColorSpace:Scale:]): Add the scale factor + and if there's already a CGContext available, reuse it. + ([EmacsSurface dealloc]): No longer need to release lastSurface + separately. + ([EmacsSurface getContext]): Don't create more surfaces than we have + spaces for in the cache. + ([EmacsSurface releaseContext]): If there's no context don't try to + release it and put currentSurface back on the cache instead of + lastSurface. + ([EmacsSurface copyContentsTo:]): Don't try to copy if the source and + destination are actually the same surface. + +2021-06-01 Andrea Corallo + + * Add `native-compile-target-directory' (bug#48743) + + * lisp/emacs-lisp/comp.el (native-compile-target-directory): New + variable. + (comp-spill-lap-function): Make use of. + +2021-06-01 Andrea Corallo + + Rename batch-byte-native-compile-for-bootstrap (bug#48743) + + * lisp/Makefile.in : Rename `batch-byte-native-compile-for-bootstrap' + -> `batch-byte+native-compile. + * lisp/emacs-lisp/bytecomp.el (byte+native-compile) + (byte-compile-file): Rename + `batch-byte-native-compile-for-bootstrap' -> + `batch-byte+native-compile + `byte-native-for-bootstrap' -> + `byte+native-compile'. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final) + (batch-native-compile, batch-byte+native-compile): Likewise. + * lisp/emacs-lisp/bytecomp.el (byte+native-compile) + (byte-compile-file): Likewise. + * test/src/comp-tests.el (comp-tests-bootstrap): Rename + `byte-native-for-bootstrap' -> `byte+native-compile'. + +2021-06-01 Glenn Morris + + Remove unnecessary function declaration in isearch + + * lisp/isearch.el (multi-isearch-switch-buffer): + Remove unnecessary declaration (after ldefs-boot update). + +2021-06-01 Andreas Schwab + + Avoid hang in nnimap-keepalive + + * lisp/gnus/nnimap.el (nnimap-keepalive): Make interruptable. + +2021-06-01 Stefan Monnier + + * lisp/gnus/gnus-art.el: Don't sneak dynbound code via quoting + + Make sure we don't accidentally quote lambdas by embedding them within + quoted data. + + (gnus-visible-headers, gnus-emphasis-alist) + (gnus-mime-display-alternative, gnus-article-describe-bindings): + Unquote lambdas. + +2021-06-01 João Távora + + Add annotation capability to icomplete-vertical-mode + + Co-authored-by Daniel Mendler + + * lisp/icomplete.el (icomplete--affixate): New helper. + (icomplete--render-vertical): Use it. Rework. + (icomplete-completions): Pass md to icomplete--render-vertical. + +2021-06-01 João Távora + + Improve icomplete-vertical-mode and fido-vertical-mode + + This mode is intended to be used with Icomplete ('M-x icomplete-mode') + or Fido ('M-x fido-mode'), to display the list of completions + candidates vertically instead of horizontally. When used with + Icomplete, completions are rotated and selection kept at the top. + When used with Fido, completions scroll like a typical dropdown + widget. + + If the dropdown behaviour is desired for Icomplete (instead of + rotation), icomplete-scroll can be adjusted separately by the user. + + * etc/NEWS (icomplete-vertical-mode): Reword. + + * lisp/icomplete.el (simple): Require it. + (icomplete-selected-match): New face. + (icomplete-scroll): New user-visible var. + (icomplete-forward-completions): Rework. + (icomplete-backward-completions): Rework. + (icomplete--fido-mode-setup): Prefer icomplete-scroll according to + icomplete-vertical mode. + (icomplete-minibuffer-setup): Initialize icomplete--scrolled-completions. + (fido-vertical-mode): An alias for icomplete-vertical-mode. + (icomplete-exhibit): Init icomplete--scrolled-past. Adjust overlay. + (icomplete--render-vertical): New helper. + (icomplete--sorted-completions): If cache is stale, also + invalidate icomplete--scrolled-past. + (icomplete-completions): Rework. Mostly reformat. + + * lisp/simple.el (max-mini-window-lines): New helper. + (display-message-or-buffer): Use it. + +2021-06-01 Lars Ingebrigtsen + + Allow packages to change the hl-line overlay priority + + * lisp/hl-line.el (hl-line-overlay-priority): New variable + (bug#11509). + (hl-line-make-overlay): Use it. + +2021-06-01 Lars Ingebrigtsen + + Fix problem with `format-alist' marking all the text in the buffer + + * lisp/format.el (format-decode-run-method): Use it to avoid + marking the entire buffer (bug#11691). + + * lisp/simple.el (shell-command-on-region): Allow replacing text + without activating the mark. + +2021-06-01 Lars Ingebrigtsen + + Document `with-selected-frame' + + * doc/lispref/windows.texi (Selecting Windows): Document + `with-selected-frame' (bug#12075). + +2021-06-01 Lars Ingebrigtsen + + Obsolete `global-whitespace-newline-mode' + + * lisp/whitespace.el (global-whitespace-newline-mode): Make + obsolete since it doesn't work correctly, and seems superfluous + (bug#12496). + +2021-06-01 Lars Ingebrigtsen + + Add a new command `mailcap-view-file' + + * doc/misc/emacs-mime.texi (mailcap): Document it (bug#12972). + + * lisp/net/mailcap.el (mailcap-view-file): New command. + +2021-06-01 Lars Ingebrigtsen + + Fix documentation of literal `face' syntax in font-lock section + + * doc/lispref/modes.texi (Search-based Fontification): Fix + the literal `(0 (face ...))' syntax documentation (bug#13917). + +2021-06-01 Philip Kaludercic + + Improve random selection of keyservers + + * epa-ks.el (epa-keyserver): Interpret a list as a pool. + (epa-ks--query-url): Add new auxiliary function. + (epa-ks--fetch-key): Use epa-ks--query-url. + (epa-search-keys): Use epa-ks--query-url. + +2021-05-31 Juri Linkov + + * lisp/isearch.el (lazy-highlight-buffer-max-at-a-time): Change from 20 to 200 + + Suggested by Augusto Stoffel in bug#48581 + +2021-05-31 Andrea Corallo + + * Make *Async-native-compile-log* buffer read-only (bug#48763) + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Make + "*Async-native-compile-log*" read-only. + +2021-05-31 Alan Mackenzie + + Make frames record when their selected window was the mini-window + + When a frame in this state is selected again by Fselect_frame (but not by + Fselect_window), the mini-window rather than the frame's currently selected + window, is chosen for selection, should there still be an active minibuffer in + it. + + This fixes bug #48674. + + * src/frame.h (struct frame): Add new boolean field select_mini_window_flag. + + * src/frame.c (make_frame): Initialize select_mini_window_flag to false. + (do_switch_frame): Set the new flag appropriately for the old frame, and + process the new frame's setting of this flag, before setting it to false. + + * src/window.c (select_window): Set f->select_mini_window_flag to false. + (Fset_frame_selected_window, Fdelete_other_windows_internal) + (Fdelete_window_internal): Add comments clarifying that there is no clearing + of f->select_mini_window_flag in these functions. + +2021-05-31 Glenn Morris + + * src/keyboard.c (make_lispy_event): Fix previous. + +2021-05-31 Glenn Morris + + Merge from origin/emacs-27 + + 5dfa5e26dd (origin/emacs-27) Improve documentation of regexp ranges + +2021-05-31 Alan Mackenzie + + Correct mouse handling when window origin changes between down and up events + + Do this by using frame relative positions rather than window relative ones, + which gave rise to spurious drag events when the origin of the window changed + between the mouse down and up events. This fixes bug #48409. + + * keyboard.c (frame_relative_event_pos): New static variable. + (make_lispy_event): Record frame relative position of down event. When the up + event is in the same position, "move" this event into the window of the down + event when this window (typically a mini-window) is no longer under the mouse. + Call make_lispy_position a second time to generate this changed event. + (syms_of_keyboard): Declare Qwindow_edges. static_pro + frame_relative_event_pos. + +2021-05-31 Colin Woodbury (tiny change) + + Remove spurious @example from the elisp manual + + * doc/lispref/macros.texi (Defining Macros): Remove spurious extra + pair of @example/@end example. + +2021-05-31 Lars Ingebrigtsen + + Remove messaging in ediff-make-diff2-buffer + + * lisp/vc/ediff-diff.el (ediff-make-diff2-buffer): Remove message + that's often misleading when diffing buffers (that may be unsaved) + (bug#13091). + +2021-05-31 Lars Ingebrigtsen + + Put ELP results in a special-mode buffer + + * lisp/emacs-lisp/elp.el (elp-results): Make `q' work in ELP + results buffer (bug#14104). + (elp-results-mode): Define as an empty special mode derivation. + +2021-05-31 Lars Ingebrigtsen + + Make `menu-bar-select-buffer' obsolete + + * lisp/menu-bar.el (menu-bar-select-buffer): Make obsolete (bug#15651). + + * lisp/msb.el (msb--select-buffer): Move function here and rename. + (msb--make-keymap-menu): Use it. + +2021-05-31 Lars Ingebrigtsen + + Revert "Move menu-bar-select-buffer to msb.el" + + This reverts commit 253e52478c355dc29052c0d21013b8d06b473880. + + This is to be fixed in a different way in the next patch. + +2021-05-31 Lars Ingebrigtsen + + Use buffer-local-boundp in describe-variable + + * lisp/help-fns.el (describe-variable): Use `buffer-local-boundp'. + +2021-05-31 Lars Ingebrigtsen + + Add new convenience function `buffer-local-boundp' + + * doc/lispref/variables.texi (Creating Buffer-Local): Document it. + * lisp/subr.el (buffer-local-boundp): New function. + + * src/data.c (Flocal_variable_p): Mention it. + +2021-05-31 Daniel Mendler + + Speed up `describe-variable' completion predicate + + * lisp/help-fns.el (describe-variable): Do not switch to the original + buffer in the predicate (bug#48738). + +2021-05-31 Lars Ingebrigtsen + + Fix error in xdg-mime-apps-files when XDG_CURRENT_DESKTOP is defined + + * lisp/xdg.el (xdg-mime-apps-files): Don't bug out when + XDG_CURRENT_DESKTOP is bound (bug#48748). + +2021-05-30 Philipp Stephani + + Document that the 'syntax-propertize-function' may move point. + + The functions generated by 'syntax-propertize-rules' don't use + 'save-excursion', but 'syntax-propertize' does, so we might as well + document that the 'syntax-propertize-function' may move point. + + * doc/lispref/syntax.texi (Syntax Properties): Document that the + 'syntax-propertize-function' may move point. + +2021-05-30 Philipp Stephani + + Give 'syntax-propertize-wholelines' a docstring. + + This function is generally useful. + + * lisp/emacs-lisp/syntax.el (syntax-propertize-wholelines): Add + docstring. + +2021-05-30 Stephen Gildea + + time-stamp: fix minor bug when parsing option combos + + * lisp/time-stamp.el (time-stamp-string-preprocess): Handle digit + options correctly to avoid overcounting colon options. + + * test/lisp/time-stamp-tests.el (time-stamp-format-time-zone-offset): + Add a new test case that would have caught the option-parsing error. + +2021-05-30 Stephen Gildea + + time-stamp: refactor time-stamp-string-preprocess + + * lisp/time-stamp.el (time-stamp-string-preprocess): Reduce lifetime of + some loop-local variables to be less error-prone. + +2021-05-30 Mauro Aranda + + Do not reset settings when disabling a theme + + * lisp/custom.el (disable-theme): Don't call custom-push-theme, since + that resets the theme settings and it isn't useful: we only need to + remove the theme setting from the themed variable or face. This fixes + a regression when "toggling" themes, introduced while fixing Bug#34027. + (Bug#48736) + +2021-05-30 Eli Zaretskii + + Improve documentation of regexp ranges + + * doc/lispref/searching.texi (Regexp Special): Document the effect + of using octal escapes in regexp ranges. (Bug#17758) + +2021-05-30 Eli Zaretskii + + Don't account for character compositions in 'format' and friends + + 'lisp_string_width' is called from 'format' and 'format-message', + which can be called both very early into Emacs initialization and in + other contexts where using the font backend is impossible or + undesirable. So this commit changes 'lisp_string_width' to try + accounting for automatic compositions only when explicitly requested, + and only 'string-width' does that; 'format' and 'format-message' + don't. + * src/character.c (lisp_string_width): Accept an additional + argument AUTO_COMP; attempt accounting for auto-compositions only + if that argument is non-zero. (Bug#48732) + * src/editfns.c (styled_format): + * src/character.c (Fstring_width): Callers of 'lisp_string_width' + adjusted. + +2021-05-30 Lars Ingebrigtsen + + Clarify that `symbol-file' only works for symbols in Lisp files + + * lisp/subr.el (symbol-file): Mention help-C-file-name in the doc + string (bug#14932). + +2021-05-30 Lars Ingebrigtsen + + Allow help-C-file-name to work on symbols designating subrs + + * lisp/help-fns.el (help-C-file-name): Allow working on symbols + designating subrs (bug#14932). + +2021-05-30 Lars Ingebrigtsen + + Fix kmacro-view-ring-2nd doc string + + * lisp/kmacro.el (kmacro-view-ring-2nd): Fix doc string (bug#15020). + +2021-05-30 Lars Ingebrigtsen + + Move menu-bar-select-buffer to msb.el + + * lisp/menu-bar.el (menu-bar-select-buffer): Move from + here... (bug#15651). + * lisp/msb.el (menu-bar-select-buffer): ... to here (which is the + only usage in-tree in Emacs). + +2021-05-30 Stephen Gildea + + time-stamp: improve unit-test coverage + + * test/lisp/time-stamp-tests.el (time-stamp-format-year-4digit, + time-stamp-format-ignored-modifiers): Improve coverage with more cases. + (time-stamp-format-multiple-conversions): New test. + +2021-05-30 Lars Ingebrigtsen + + `minibuffer-exit-hook' doc string clarification + + * src/minibuf.c (syms_of_minibuf): `minibuffer-exit-hook' is run + in the minubuffer usually, so don't claim that it's run after + (bug#16524). + +2021-05-30 Daniel Martín + + Add a new documentation group for overlays + + * lisp/emacs-lisp/shortdoc.el (overlay): Add documentation group for + buffer overlays(bug#48730). + +2021-05-30 Daniel Martín + + Improve the documentation of documentation groups + + * doc/lispref/help.texi (Documentation Groups): Fix typos and add an + example. + * lisp/emacs-lisp/shortdoc.el (define-short-documentation-group): Add + :no-eval* and :result-string keywords to the docstring. (Bug#48730) + +2021-05-30 Lars Ingebrigtsen + + Tweak octave continuation indentation + + * lisp/progmodes/octave.el (octave-smie-rules): Further tweak + continuation indentation (bug#17955). + +2021-05-30 Eli Zaretskii + + Clarify indent-line-function doc string + + * lisp/indent.el (indent-line-function): Clarify by avoiding + specifics (bug#20846). + +2021-05-29 Stefan Monnier + + * lisp/mpc.el (mpc-format): Fix inf-loop in constructed predicate + +2021-05-29 Andreas Schwab + + * lisp/wdired.el (wdired-normalize-filename): Sync with + dired-get-filename. (Bug#48659) + +2021-05-29 Stefan Monnier + + * lisp/electric.el: Do auto-indent inside strings and comments by default + + This fixes bug#20846 where it transpired that there is no good reason + to shy away from auto-indenting inside comments and strings. + + (electric-indent-post-self-insert-function): Don't check syntax-ppss. + +2021-05-29 Keith David Bershatsky + + Improve tex fontification of quoted strings + + * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-2): Fontify + ``text like this'' that has an apostrophe correctly (bug#16881). + +2021-05-29 Eli Zaretskii + + Fix last change + + * lisp/international/quail.el (quail-add-unread-command-events): + Fix wording of the doc string. Move the rationale for the + function out of the doc string and into a comment. + +2021-05-29 Gregory Heytings + + Fix key recording bug when an input method is activated + + * lisp/international/quail.el (quail-add-unread-command-events): + New function. + (quail-start-translation, quail-start-conversion) + (quail-update-translation, quail-next-translation) + (quail-prev-translation, quail-next-translation-block) + (quail-prev-translation-block, quail-minibuffer-message): Use + 'quail-add-unread-command-events' (and partly revert commit + 03e3440dbb). (Bug#48042) + + * lisp/subr.el (inhibit--record-char): Now obsolete. + + * lisp/term/xterm.el (xterm--init): New function, with most of the + code of former 'terminal-init-xterm'. + (terminal-init-xterm): Clear the lossage after terminal + initialization (see Bug#44908). + (xterm--read-event-for-query): Do not use 'inhibit--record-char' + anymore (revert commit 3e6525d69f). + + * src/keyboard.c (syms_of_keyboard): Remove 'inhibit--record-char' + (partly revert 03e3440dbb). + (record_char, syms_of_keyboard_for_pdumper): Do not use + 'inhibit_record_char anymore'. + +2021-05-29 Mattias Engdegård + + Fix shortdoc examples + + Make sure that each example in shortdoc actually contains the function + it illustrates, and add a test for it. + + * lisp/emacs-lisp/shortdoc.el (string, list, buffer, number): + Use the right functions in examples for string-version-lessp, + lax-plist-put, point-min and ffloor. + * test/lisp/emacs-lisp/shortdoc-tests.el: New test file. + +2021-05-29 Lars Ingebrigtsen + + Add lambda to the pretty Ruby symbols list + + * lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add + lambda (bug#48681). + +2021-05-29 William Denton + + Add pretty symbols to ruby-mode + + * lisp/progmodes/ruby-mode.el (ruby--prettify-symbols-alist): Add + pretty symbols (bug#48681). + (ruby-mode): Use them. + +2021-05-29 Lars Ingebrigtsen + + Mention the recent floating point reader changes in NEWS + + * etc/NEWS: Mention the floating point reader changes (bug#48678). + +2021-05-29 Lars Ingebrigtsen + + Improve the dired-guess-shell-alist-user doc string + + * lisp/dired-x.el (dired-guess-shell-alist-user): Document how + REGEXP is used (bug#17251). + +2021-05-29 Lars Ingebrigtsen + + Fix folding of non-ASCII lines when printing to Postscript + + * lisp/ps-mule.el (ps-mule-plot-string): Fix folding of non-ASCII + Latin-1 lines (bug#17758). + +2021-05-29 Lars Ingebrigtsen + + Improve Octave indentation after continuation lines + + * lisp/progmodes/octave.el (octave-smie-rules): Indent + continuation lines better (bug#17955). + +2021-05-29 Lars Ingebrigtsen + + Improve the file-accessible-directory-p doc strin + + * src/fileio.c (Ffile_accessible_directory_p): Don't use the + phrase "directory name spec", which isn't defined (bug#18201). + +2021-05-29 Lars Ingebrigtsen + + Fix point movement in morse-region and nato-region + + * lisp/play/morse.el (morse-region): + (nato-region): Leave point after the translated region + (bug#18717). + +2021-05-29 Peter Oliver (tiny change) + + Rename emacs.appdata.xml to emacs.metainfo.xml and add more data + + * Makefile.in: Replace "appdata" with "metainfo". + + This is the name currently recommended by the spec at + . + + * etc/emacs.metainfo.xml: Populate more fields, based on those + available in + https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html + (bug#48662). + +2021-05-29 Lars Ingebrigtsen + + Revert "Continue checking the same line when hitting SPC in ispell" + + This reverts commit 390044f854fa103020ffca00eb1fe0e16805ad72. + + This breaks the `a' command, so it should be fixed in a different way. + +2021-05-28 Juri Linkov + + * lisp/outline.el (outline-font-lock-keywords): Fix highlight case (bug#48707) + +2021-05-28 Utkarsh Singh (tiny change) + + * lisp/outline.el (outline-minor-mode-highlight): Fix safe-local-variable. + +2021-05-28 Eli Zaretskii + + Another stability fix in 'lisp_string_width' + + * src/character.c (lisp_string_width): Compute C pointer to data + of STRING immediately before using it, since STRING could be + relocated by GC triggered by processing compositions. (Bug#48711) + +2021-05-28 Eli Zaretskii + + Attempt to fix segfaults caused by changes in 'lisp_string_width' + + * src/character.c (lisp_string_width): Validate the value of TO + argument before passing it to 'composition_gstring_width'. + (Bug#48711) + +2021-05-28 Lars Ingebrigtsen + + Improve previous frames.texi change + + * doc/emacs/frames.texi (Fonts): Use conf names instead of path + names (bug#19568). + +2021-05-28 Lars Ingebrigtsen + + Specify which Gsetting font names are used in the manual + + * doc/emacs/frames.texi (Fonts): Explicitly say what Gsettings + names are used (bug#19568). + +2021-05-28 Lars Ingebrigtsen + + Fix previous admin/emake change + +2021-05-28 Lars Ingebrigtsen + + Adjust admin/emake filters + + Recent changes have made etc/doc always be regenerated, so it's no + longer interesting. And all "git pull"s will make + + INFO Scraping files for cal-loaddefs.el... + INFO Scraping files for cal-loaddefs.el...done + + etc be output, so filter them, too. + +2021-05-28 Lars Ingebrigtsen + + Continue checking the same line when hitting SPC in ispell + + * lisp/textmodes/ispell.el (ispell-process-line): Continue + checking the same line when hitting SPC (bug#20543). + +2021-05-28 Daniel Martín + + Fix looking-at-p example in shortdoc.el + + * lisp/emacs-lisp/shortdoc.el (regexp): Use `looking-at-p' instead of + `looking-at' (bug#48709). + +2021-05-28 Alex Bochannek + + Mention the -e switch in an ange-ftp doc string + + * lisp/net/ange-ftp.el (ange-ftp-ftp-program-args): Mention the -e + switch (bug#48494). + +2021-05-28 Alex Bochannek + + Fix nnimap lexical conversion problem + + * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Fix problem + introduced when converting to lexical binding -- `set' alters the + dynamic value (bug#48577). + +2021-05-27 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Silence warnings + + (byte-optimize--lexvars): Move before first use instead of using `dlet` + on that first use. + +2021-05-27 Ingo Lohmar + + * lisp/progmodes/sql.el: Turn `sql-*-statement-starters' to defvars. + + These variables hold information on the SQL standard and + product-specific additions and should not be user-customizable. + +2021-05-27 Eli Zaretskii + + * src/character.c (lisp_string_width): Fix a typo in recent change. + +2021-05-27 Eli Zaretskii + + Fix resolution of symlinks during dumping + + * src/comp.c (Fcomp_el_to_eln_rel_filename): Don't use + 'file-truename', as it is only available once files.el is loaded, + which doesn't work during dumping, until loadup loads files.el. + Instead, use 'realpath'. (Bug#48578) + * src/w32.c (realpath): New function. + * src/w32.h (realpath): Add prototype. + + * nt/mingw-cfg.site (ac_cv_func_realpath) + (gl_cv_func_realpath_works): Define to "yes", as this function is + now implemented in w32.c. + +2021-05-27 Eli Zaretskii + + * src/character.c (lisp_string_width): Fix last change. + +2021-05-27 Mattias Engdegård + + Fix lexing of numbers with trailing decimal point and exponent + + Numbers with a trailing dot and an exponent were incorrectly read as + integers (with the exponent ignored) instead of the floats they should + be. For example, 1.e6 was read as the integer 1, not 1000000.0 as + every sane person would agree was meant. (Bug#48678) + + Numbers with a trailing dot but no exponent are still read as + integers. + + * src/lread.c (string_to_number): Fix float lexing. + * test/src/lread-tests.el (lread-float): Add test. + * doc/lispref/numbers.texi (Float Basics): Clarify syntax. + +2021-05-27 Mattias Engdegård + + Don't propagate lexical variables into inlined functions + + Functions compiled when inlined (thus from inside the optimiser) + mustn't retain the lexical environment of the caller or there will be + tears. See discussion at + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg01227.html . + + Bug found by Stefan Monnier. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): + Bind byte-optimize--lexvars to nil when re-entering the compiler + recursively. + * test/lisp/emacs-lisp/bytecomp-resources/bc-test-alpha.el: + * test/lisp/emacs-lisp/bytecomp-resources/bc-test-beta.el: New files. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-defsubst): New test. + +2021-05-27 Philipp Stephani + + * src/character.c (lisp_string_width): Add missing type checks. + +2021-05-27 Eli Zaretskii + + A better fix for 'string-width' + + * src/character.c (lisp_string_width): Compute the width when + automatic compositions can happen more accurately, by using the + pixel widths of the grapheme clusters, divided by the default + face's font width. Disregard the current state of + 'auto-composition-mode', for consistency with 'current-column' . + +2021-05-27 Deneb Meketa (tiny change) + + Fix filling of overlong first lines in Python doc strings + + * lisp/progmodes/python.el (python-fill-string): Fill overlong + first lines correctly (bug#20860). + +2021-05-27 Lars Ingebrigtsen + + Improve the prompting in read-directory-name + + * lisp/dired-x.el (dired-virtual): Improve doc string and use + `read-directory-name' (bug#20993). + +2021-05-27 Lars Ingebrigtsen + + Fix ediff message parsing in non-English locales + + * lisp/vc/ediff-diff.el (ediff-exec-process): Run diff in the C + locale to enable parsing the messages (bug#21387). + +2021-05-27 Juri Linkov + + * lisp/vc/diff-mode.el (diff-hunk-text): Test-driven fix for newlines. + + * lisp/vc/diff-mode.el (diff-hunk-text): Fix handling of newlines + to cover all test cases according to new test. + + * test/lisp/vc/diff-mode-tests.el (diff-mode-test-hunk-text-no-newline): + New test to cover cases with no newline at end of file. + +2021-05-26 Alex Bochannek + + Remove the base64 Face header repadding in Gnus + + * lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Remove call. + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Remove. + +2021-05-26 Karl Fogel + + Improve some doc strings in bookmark.el + + * lisp/bookmark.el (bookmark-bmenu-load): Describe prefix argument + behavior. Refer to related functions for more information. + (bookmark-bmenu-save): Likewise refer to related functions. + + As discussed in this thread: + + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00389.html + + From: Karl Fogel + To: Eli Zaretskii + Cc: Matthias Meulien, Drew Adams, Lars Ingebrigtsen, + Stefan Monnier, Emacs Devel + Subject: Re: [External] : Re: [PATCH] When deleting in bookmark menu, + prompt for confirmation. + Date: Sun, 09 May 2021 13:37:52 -0500 + Message-ID: <87h7jboirj.fsf@red-bean.com> + +2021-05-26 Eli Zaretskii + + Make 'string-width' auto-composition aware + + * src/composite.c (find_automatic_composition): Now extern. + (char_composable_p): Don't assume 'unicode-category-table' is + always available. + * src/composite.h (find_automatic_composition): Add prototype. + * src/character.c (lisp_string_width): Support automatic + compositions; call 'find_automatic_composition' when + 'auto-composition-mode' is ON. + +2021-05-26 Filipp Gunbin + + * src/sysdep.c (system_process_attributes): Fix misspelled Qttname for FreeBSD + +2021-05-26 Filipp Gunbin + + Improve system_process_attributes on macOS (Bug#48548) + + * src/sysdep.c (system_process_attributes): Fix misprint in 'tty' attr + - should be 'ttname' instead. Change 'utime', 'stime', 'time', + 'majflt' attrs to obtain them from proc_pid_rusage, as sysctl call + used before doesn't give correct values; remove 'minflt' because it's + not available. Obtain 'vsize' / 'rss' / 'thcount' from proc_pidinfo. + Use sysctl with KERN_PROCARGS2 to obtain args: value contains both + argc and argv, so argv can be reliably cut out. + +2021-05-26 Protesilaos Stavrou + + Remove modus-themes.org build date (bug#48661) + + * modus-themes.org: Delete Org macro of the current export date. + + This makes the manual reproducible between Emacs builds. + +2021-05-25 Juri Linkov + + * lisp/international/mule-cmds.el (mule--ucs-names-group): Better char check. + +2021-05-25 Tassilo Horn + + Make the Alacritty terminal an alias of xterm-256color + + * lisp/faces.el (term-file-aliases): Make the Alacritty terminal + an alias of xterm-256color (bug#48439). + +2021-05-25 Lars Ingebrigtsen + + Make hs-set-up-overlay into user option + + * lisp/progmodes/hideshow.el (hs-set-up-overlay): Make into + defcustom (bug#48513). + +2021-05-25 Stephen Leake + + Restore `ff-find-other-file' buffer selection logic + + * lisp/find-file.el (ff-find-other-file): Restore selection of + buffer changed by previous change (bug#48535). + +2021-05-25 Lars Ingebrigtsen + + Fix font and indentation of call-with-port in scheme-mode + + * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add + call-with-port (bug#48544). + (call-with-port): Indent correctly. + +2021-05-25 Lars Ingebrigtsen + + Handle syntactically invalid .dir-locals.el files better + + * lisp/files.el (dir-locals-read-from-dir): Handle syntactically + invalid .dir-locals.el files more gently (bug#48568). Give a + message instead of bugging out later. + +2021-05-25 Protesilaos Stavrou + + Update modus-themes to version 1.4.0 + + * doc/misc/modus-themes.org: + (Overview): Document good support for cases with red-green color + deficiency (deuteranopia). + (Customization Options): Add code block with sample configuration. + (Option for mode line presentation): Document new values. + (Option for completion framework aesthetics): Reword statements. + (Option for mail citations): Include new customization. + (Option for line highlighting (hl-line-mode)): Change description + of possible value. + (Option for diff buffer looks): Update the meaning of 'fg-only', + which now is an alias for 'fg-only-deuteranopia'. + (Option for org-mode block styles): Rename possible values. + (Cycle through arbitrary colors (DIY)): Include code samples for + demo case. + (Override colors (DIY)): Use correct symbol. + (Override color saturation (DIY)): Show how to combine manual and + automatic color overrides. + (Update Org block delimiter fontification (DIY)): Provide example. + (Load theme depending on time of day): Include missing "DIY" label. + (Full support for packages or face groups): Update list with + additions, removals. + (Indirectly covered packages): Update list. + (Notes for individual packages) + (Note on dimmer.el) + (Note on display-fill-column-indicator-mode) + (Note on mmm-mode.el background colors) + (Note on prism.el) + (Note on ERC escaped color sequences) + (Note on powerline or spaceline) + (Note on Helm grep) + (Note on EWW and Elfeed fonts (SHR fonts)): Stylistic change to + the heading. + (Note on inline Latex in Org buffers) + (Note on god-mode.el): Add note. + (Frequently Asked Questions (FAQ)): Include new section. + (Acknowledgements): Update list of contributors (bug#48647). + * etc/themes/modus-operandi-theme.el: Bump version number. + + * etc/themes/modus-themes.el: Add new defcustom forms and update + existing ones, edit doc strings, remove old obsolete aliases, + tweak internal functions, refine face specifications. + + * etc/themes/modus-vivendi-theme.el: Bump version number. + +2021-05-25 Gregory Heytings + + Do not switch to other window when minibuffer is selected + + * lisp/window.el (handle-select-window): Do not silently switch to + other window when minibuffer is selected and + mouse-autoselect-window is t (Bug#47969). + +2021-05-25 Lars Ingebrigtsen + + Restore `dired-do-create-files' return value + + * lisp/dired-aux.el (dired-do-create-files): Preserve the return + value from `dired-create-files', which is apparently an + undocumented feature used by dired-aux-tests.el (dired-test-bug30624). + +2021-05-25 Eli Zaretskii + + Fix documentation of a recent change + + * src/process.c (syms_of_process) : + Doc fix. + + * etc/NEWS: Reword the entry for 'process-prioritize-lower-fds'. + +2021-05-25 Lars Ingebrigtsen + + Update help-tests.el after minibuffer map change + +2021-05-25 Miha Rihtaršič + + Try to not prioritise reading from lower file descriptors + + * src/process.c (wait_reading_process_output): When looping through + fds, continue from where we left off. + (syms_of_process): Vprocess_prioritize_lower_fds: New variable + (bug#48118). + +2021-05-25 Glenn Morris + + * doc/misc/cc-mode.texi: Remove hand-written node pointers (bug#48402). + +2021-05-25 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el: Make the build more reproducible + + (byte-compile-inline-expand): When inlining code from another file, + always inline the byte-code version of the function. + (byte-optimize--pcase): Simplify edebug spec. + +2021-05-25 Philipp Stephani + + Allow years in a copyright range to be separated by en dashes. + + * lisp/emacs-lisp/copyright.el (copyright-regexp) + (copyright-years-regexp, copyright-update-year) + (copyright-fix-years): Also include en dash. + + * test/lisp/emacs-lisp/copyright-tests.el (copyright-tests--data): New + test cases. + +2021-05-25 Jonas Bernoulli + + * lisp/transient.el: Update to package version 0.3.4. + +2021-05-25 Gregory Heytings + + Further improvements to completion-list-mode-map + + * doc/emacs/mini.texi (Completion Commands): Mention the change, + and mention the 'n' and 'p' keys bound to 'next-completion' and + 'previous-completion'. (bug#47699). + * lisp/minibuffer.el (minibuffer-local-completion-map): Change the + M-g key to M-g M-c. + + * lisp/simple.el (completion-list-mode-map): Change the M-g key to + M-g M-c. + (read-expression-map): Bind M-g M-c to + read-expression-switch-to-completions. + (read-expression-switch-to-completions): New function. + +2021-05-25 Gregory Heytings + + Improve completion-list-mode-map + + * doc/emacs/mini.texi (Completion Commands): Mention it. + + * lisp/minibuffer.el (minibuffer-local-completion-map): Add the M-g key + for switch-to-completion (bug#47699). + + * lisp/simple.el (completion-list-mode-map): Make special-mode-map its + parent, unbind the 'g' revert key, add the 'n' and 'p' keys for + next-completion and previous-completion, and the M-g key for + switch-to-minibuffer. + (switch-to-minibuffer): New function. + +2021-05-25 Gregory Heytings + + Use correct face when pulsing in CEDET + + * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Use + pulse-highlight-face, not pulse-highlight-start-face (bug#47810). + +2021-05-25 Gregory Heytings + + Consider all user-defined bitmaps in gui_init_fringe() + + * src/fringe.c (gui_init_fringe): Consider user-defined bitmaps + that override default ones (bug#47832). + +2021-05-25 Gregory Heytings + + Fix infloop in Modula-2 mode + + * lisp/progmodes/modula2.el (m2-smie-refine-colon): Stop looping + when point does not move with forward-sexp (Bug#48011). + +2021-05-25 Amin Bandali + + * lisp/erc/erc-services.el: Fix newly-added Libera.Chat entry (bug#48529). + +2021-05-25 Gregory Heytings + + Fix bug when moving directories to trash + + * lisp/files.el (move-file-to-trash): Pass the correct dir-flag to + make-temp-file so that a directory is created when a directory is + being trashed (Bug#47960). + +2021-05-24 Corwin Brust (tiny change) + + Add Libera.chat to `erc-nickserv-alist' + + * lisp/erc/erc-services.el (erc-nickserv-alist): Add support for + the Libera chat. + +2021-05-24 Glenn Morris + + Tweak c-mode bug reporting address + + * lisp/progmodes/cc-mode.el (c-mode-help-address): + Switch to bug-gnu-emacs. This is an alias for the previous + submit@debbugs address, except that if no Package header can be found, + as often seems to happen for cc-mode reports, debbugs will assign + the report to the "emacs" package rather than to "debbugs.gnu.org". + +2021-05-23 Philipp Stephani + + Fix find invocation for macOS (Bug#48471). + + * lisp/progmodes/project.el (project--files-in-directory): Instead of + appending a slash (which doesn't work well with macOS find), remove + trailing slash and pass -H instead. + +2021-05-23 Michael Albinus + + Adapt tramp-archive-autoload-file-name-handler + + * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): + Bind `default-directory' to safe value. + +2021-05-22 Juri Linkov + + * src/editfns.c (Finsert_char): Add docstring reference to read-char-by-name. + +2021-05-22 Tassilo Horn + + Document bug-reference setup for 3rd-party packages + + * doc/emacs/maintaining.texi (Bug Reference): Add section explaining + adding support for third-party packages. + * lisp/progmodes/bug-reference.el (bug-reference-maybe-setup-from-vc) + (bug-reference-maybe-setup-from-mail) + (bug-reference-maybe-setup-from-irc): Rename from + bug-reference--maybe-setup-from-*, i.e., un-privatize them because + they are advertised in the docs now. + +2021-05-22 Glenn Morris + + Merge from origin/emacs-27 + + 30e5d93ee1 (origin/emacs-27) Improve documentation of display tables + 8804ac857b * src/buffer.c (syms_of_buffer) : Doc fix. (Bu... + +2021-05-22 Glenn Morris + + * doc/emacs/maintaining.texi (Bug Reference): Fix cross refs. + + "First argument to cross-reference may not be empty." (makeinfo 4). + +2021-05-22 Michael Albinus + + Fix bug#48476 + + * lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler): + Add implementation. + + * lisp/net/tramp-integration.el (tramp-rename-files) + (tramp-rename-these-files): Declare them. + + * lisp/net/tramp.el (tramp-autoload-file-name-handler): + Load tramp-archive.el if needed. (Bug#48476) + + * test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load): + Extend test. + + Use #' syntax for function symbols. + +2021-05-22 Stefan Monnier + + * lisp/emacs-lisp/subr-x.el (if-let*, if-let): Use looser Edebug spec + + This makes the same spec work both for `if-let` and `when-let`. + + (when-let*, and-let*, when-let): Simplify accordingly. + +2021-05-22 Basil L. Contovounesios + + Fix native-comp-async-report-warnings-errors :type + + * doc/lispref/compile.texi (Native-Compilation Variables): Document + 'silent' alternative of native-comp-async-report-warnings-errors. + * lisp/emacs-lisp/comp.el + (native-comp-async-report-warnings-errors): Fix quoting in + :type expression (bug#48586). + +2021-05-22 Philipp Stephani + + Give 'when-let' and 'when-let*' their own Edebug specification. + + The Edebug specification of 'if-let' and 'if-let*' doesn't work if the + body is empty. While that's a pathological case, it's not wrong per + se, and could arguably happen due to macro expansion. + + * lisp/emacs-lisp/subr-x.el (when-let*, when-let): Don't reuse Edebug + specification from 'if-let*' and 'if-let'. + +2021-05-22 Philipp Stephani + + * lisp/emacs-lisp/cl-macs.el (cl-loop): Add missing 'when' to spec + +2021-05-21 Tassilo Horn + + Add documentation about bug-reference auto-setup. + + * doc/emacs/maintaining.texi (Bug Reference): Add documentation about + the automatic setup. + * lisp/progmodes/bug-reference.el + (bug-reference-setup-from-irc-alist): Remove doubling in docstring. + +2021-05-21 Eric Abrahamsen + + Robustify parsing of gnus-search search results + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Look + for a "process finished" tag, and don't choke on mis-parsed lines. + +2021-05-21 Juri Linkov + + * lisp/dired-aux.el (dired-do-revert-buffer): New defcustom (bug#48456). + + (dired-do-create-files): Use it. + +2021-05-21 Juri Linkov + + * lisp/simple.el (yank-from-kill-ring): Fix kill-ring-yank-pointer (bug#48478) + +2021-05-21 Michael Albinus + + Adapt native-comp entries in gitlab-ci.yml + + * test/infra/gitlab-ci.yml (stages): New stages native-comp-images + and native-comp. + (build-native-bootstrap-speed0): Simplify. + (build-native-bootstrap-speed1, build-native-bootstrap-speed2): + Deactivate temporarily. + + * test/infra/gitlab-ci.yml (.build-template): Add 'needs:' clause. + (.native-comp-template): New template. + (build-native-bootstrap-speed0): Use it. + +2021-05-21 Eli Zaretskii + + Avoid byte-compiler warning during bootstrap + + * lisp/isearch.el (multi-isearch-switch-buffer): Avoid + byte-compiler warning. + +2021-05-21 Michael Albinus + + Rearrange nativecomp tests for EMBA + + * test/infra/Dockerfile.emba (emacs-native-comp-speed0): + Add recipe. + + * test/infra/gitlab-ci.yml (stages): New stages native-comp-images + and native-comp. + (build-native-bootstrap-speed0): Simplify. + (build-native-bootstrap-speed1, build-native-bootstrap-speed2): + Deactivate temporarily. + +2021-05-21 Eli Zaretskii + + Improve documentation of display tables + + * doc/lispref/display.texi (Display Tables): Add a cross-reference + to the next section. + +2021-05-21 Andrea Corallo + + * Fix ahead-of-time native compilation for out-of-tree builds (bug#48497) + + * src/comp.c (Fcomp_el_to_eln_rel_filename): Expand + 'PATH_DUMPLOADSEARCH' while computing 'loadsearch_re_list'. + +2021-05-21 Eli Zaretskii + + * src/buffer.c (syms_of_buffer) : Doc fix. (Bug#48539) + +2021-05-20 Juri Linkov + + * lisp/help.el (describe-bindings-outline): New defcustom (bug#45147). + + (describe-bindings): Use describe-bindings-outline. + (describe-bindings-internal): Remove function obsolete since 24.4. + +2021-05-20 Juri Linkov + + * lisp/vc/diff-mode.el (diff-hunk-text): Handle better "\ No newline at end". + +2021-05-20 Juri Linkov + + Fix off-by-one inconsistency of 'M-y C-y' (bug#48478). + + * lisp/simple.el (read-from-kill-ring): Increment kill-ring-yank-pointer by 1. + (yank-from-kill-ring): Don't increment kill-ring-yank-pointer by 1. + +2021-05-20 Juri Linkov + + * lisp/international/mule-cmds.el: Use group-function in read-char-by-name. + + (mule--ucs-names-group): Simplify for using by group-function. + (read-char-by-name-group): Remove defcustom + obsoleted by completions-group. + (read-char-by-name): Mention completions-group and + completions-group-sort in docstring. Use group-function when + completions-group is non-nil. + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00791.html + +2021-05-20 Daniel Mendler + + (minibuffer-completion-help): Add group sorting + + Sort the groups as returned by the `group-function` of the completion + table depending on the value of the customizable variable + `completions-group-sort`. By default `completions-group-sort` is set + to nil. The variable can be set to the symbol `alphabetical` in order + to configure alphabetical sorting. Furthermore, a custom sorting + function can be used as value of `completions-group-sort`. + + * lisp/minibuffer.el (completions-group-sort): New variable. + (minibuffer--group-by): Add SORT-FUN argument. + (minibuffer-completion-help): Pass `completions-group-sort` to + `minibuffer--group-by`. + +2021-05-20 Daniel Mendler + + (completion--insert-vertical): Separate groups completely + + Insert the candidates vertically within the groups, but keep the + groups separate using the full width group separators. + + * minibuffer.el (completion--insert-vertical): Adjust grouping. + +2021-05-20 Daniel Mendler + + (minibuffer-completion-help): Do not check `completions-group` centrally + + The guard variable `completions-group` should be checked in each + completion table individually. The guard variable + `completions-detailed` variable is used in the same way. + + * minibuffer.el (minibuffer-completion-help): Remove check of + `completions-group`. + +2021-05-20 Daniel Mendler + + (completion--insert-strings): Split function; Full group title support + + Split `completion--insert-strings` into a function per completions + format in order to increase readability and extensibility. This + change eases the addition of more formats. Add support for group + titles to the vertical and horizontal formatting functions. + + * minibuffer.el (completion--insert): Add new function. + (completion--insert-vertical, completion--insert-horizontal, + completion--insert-one-column): Extract function from + `completion--insert-strings`. Use new function `completion--insert`. + (completion--insert-strings): Use new insertion functions. + +2021-05-20 Daniel Mendler + + (completing-read): Add `group-function` to the completion metadata + + A completion table can specify a `group-function` in its metadata. + The group function takes two arguments, a completion candidate and a + transform argument. The group function is used to group the + candidates after sorting and to enhance the completion UI with group + titles. + + If the transform argument is nil, the function must return the title + of the group to which the completion candidate belongs. The function + may also return nil if the candidate does not belong to a group. + + If the transform argument is non-nil, the function must return the + transformed candidate. For example, the transformation allows to + remove a redundant part of the candidate, which is then displayed in + the title. + + The grouping functionality is guarded by the customizable variable + `completions-group` and turned off by default for the *Completions* + buffer. + + The specific form of the `group-function` has been chosen in order to + allow allocation-free grouping. This is important for completion UIs, + which continously update the displayed set of candidates (Icomplete, + Vertico, Ivy, etc.). Only when the transform argument is non-nil the + candidate transformation is performed, which may involve a string + allocation as done in the function `xref--completing-read-group`. + + The function `xref-show-definitions-completing-read` makes use of the + `group-function`, by moving the file name prefix to the title. If + grouping is enabled, the *Completions* are displayed as + "linenum:summary" instead of "file:linenum:summary". This way the + *Completions* buffer resembles the *Occur* buffer. + + * doc/lispref/minibuf.texi: Add documentation. + + * lisp/minibuffer.el (completion-metadata): Describe the + `group-function` in the docstring. + (completions-group): Add guard variable, off by default. + (completions-group-format): Add variable defining the format string + for the group titles. + (completions-group-title): Add face used by `completions-group-format` + for the group titles. + (completions-group-separator): Add face used by + `completions-group-format` for the group separator lines. + (minibuffer--group-by): New grouping function. + (minibuffer-completion-help): Use it. + (display-completion-list): Add optional GROUP-FUN argument. + (completion--insert-strings): Add optional GROUP-FUN argument. Insert + group titles if `completions-format` is `one-column`. Transform each + candidate with the GROUP-FUN. Attach the untransformed candidate to + the property `completion--string`. + + * lisp/simple.el (choose-completion): Retrieve the untransformed + completion candidate from the property `completion--string`. + + * lisp/progmodes/xref.el: + (xref--completing-read-group): New grouping function. + (xref-show-definitions-completing-read): Use it. + +2021-05-20 Michael Albinus + + * doc/emacs/maintaining.texi (Bug Reference): Add debbugs-browse-mode. + +2021-05-20 Eli Zaretskii + + Improve documentation of 'etags' tests + + * test/manual/etags/README: New file. (Bug#46055) + + * test/README: Mention separate README files for tests in the + 'manual' subdirectory + +2021-05-20 Eli Zaretskii + + Fix arg-out-of-range errors in 'line-number-at-pos' + + * src/fns.c (Fline_number_at_pos): Pass character position to + args_out_of_range. Suggested by Andreas Schwab + . Call args_out_of_range_3 to show both + ends of the accessible portion. + +2021-05-20 Eli Zaretskii + + Make sure gmalloc's hybrid_free preserves errno + + * src/gmalloc.c (hybrid_free_1): New function, with the body of + the previous 'hybrid_free'. + (hybrid_free): Call 'hybrid_free_1' while preserving the value of + 'errno'. Suggested by Paul Eggert . + +2021-05-20 Eli Zaretskii + + Clean up the fix for unexec build on GNU/Linux + + * src/conf_post.h [HYBRID_MALLOC || DARWIN_OS && HAVE_UNEXEC]: + Include here, before redirecting 'malloc' and friends + to their hybrid_* and unexec_* equivalents. #undef malloc and + friends before redefining. Provide prototypes for the + replacements. Suggested by Paul Eggert . + * src/gmalloc.c [HYBRID_MALLOC]: Remove declarations of 'malloc' + and friends, as they are now redundant: we include in + conf_post.h before redefining 'malloc' etc., and that provides + prototypes from system headers. + + * configure.ac (HYBRID_MALLOC): Remove kludge to avoid replacement + of 'free' by Gnulib. (Bug#36649) + +2021-05-19 Tassilo Horn + + Add a section about bug-reference-mode. + + * doc/emacs/maintaining.texi (Maintaining): Add a section about + bug-reference-mode. + * doc/emacs/emacs.texi (Top): Link to the new section about + bug-reference-mode. + +2021-05-19 Juri Linkov + + * lisp/simple.el (yank-from-kill-ring-rotate): New defcustom (bug#48478). + + (read-from-kill-ring, yank-from-kill-ring): Use it. + +2021-05-19 Eli Zaretskii + + Fix rare failures in 'window-default-font-height' + + * lisp/window.el (window-default-font-height): Avoid signaling an + error when a client TTY frame happens to have an X-style 'display' + parameter. (Bug#48408) + +2021-05-19 Eli Zaretskii + + * lisp/startup.el (command-line-1): Avoid byte-compiler warning. + +2021-05-19 Glenn Morris + + Fix custom type of recent dired-aux additions + + * lisp/dired-aux.el (dired-compress-file-default-suffix) + (dired-compress-directory-default-suffix): Fix :type. + +2021-05-19 Stefan Monnier + + * lisp/kmacro.el (kmacro-lambda-form): Fix bug#48523 + + Re-add `counter` and `format` arguments, since they are used in + `insert-kbd-macro`. + +2021-05-19 Eli Zaretskii + + Fix the unexec build on GNU/Linux + + The unexec build on GNU/Linux must use HYBRID_MALLOC (gmalloc.c) and + sheap.c. This was inadvertently disabled because a configure-time + test for 'sbrk' was moved as side effect of an unrelated change. + + * configure.ac: Test for 'sbrk' before using the result in the + decision about SYSTEM_MALLOC and HYBRID_MALLOC. + (HYBRID_MALLOC): Prevent Gnulib from redirecting 'free' to its + replacement 'rpl_free'. + + * lib/Makefile.in (not_emacs_OBJECTS): Add mallooc/%.o and free.o. + +2021-05-19 Ingo Lohmar + + * lisp/progmodes/sql.el: `sql-postgres-statement-starters' defcustom + + Recognize common table expression as statement start in Postgres. + +2021-05-19 Mauro Aranda + + Lift restriction for finding theme summary line + + * lisp/cus-theme.el (custom-theme-summary): Don't limit the file to + having the deftheme form as the very first form, rather look for the + deftheme form explicitly. + +2021-05-19 Martin Rudalics + + Fix recently introduced misbehavior of `quit-restore-window' (Bug#48493) + + * lisp/window.el (quit-restore-window): Unconditionally call + `switch-to-prev-buffer' (Bug#48493). + +2021-05-19 Stefan Monnier + + * lisp/progmodes/js.el (js--make-framework-matcher): Use a closure + +2021-05-19 Stefan Monnier + + * lisp/progmodes/gud.el (gud-tooltip-tips): Use proper closures + + Also prefer #' to quote function names. + + (jdb): Fix $ => \'. + +2021-05-19 Stefan Monnier + + * lisp/org/org-timer.el (org-timer--run-countdown-timer): Use closures + +2021-05-19 Stefan Monnier + + * lisp/org/org-mouse.el: Make use of lexical scoping + + (org-mouse-todo-menu): Simplify by eta-reduction. + (org-mouse-popup-global-menu): Remove redundant `eval`. + (org-mouse-keyword-menu, org-mouse-keyword-replace-menu) + (org-mouse-tag-menu, org-mouse-match-closure): Use proper closures. + +2021-05-19 Stefan Monnier + + * lisp/org/org-colview.el (org-columns-map): Use proper closures + + Also prefer #' to quote function names. + + (org-columns-map): Use derived-mode-p. + +2021-05-19 Stefan Monnier + + * lisp/org/org-clock.el (org-clock-get-table-data): Use proper closures + + Also, prefer #' to quote function names + +2021-05-19 Stefan Monnier + + * lisp/net/sieve-manage.el (sieve-sasl-auth): Use proper closures + + * lisp/net/shr.el (shr-image-displayer): Use proper closures + +2021-05-19 Stefan Monnier + + * lisp/net/imap.el (imap-mailbox-close): Use proper closures + + Also, remove redundant `:group` args, and prefer #' to quote function names + +2021-05-19 Stefan Monnier + + * lisp/net/eudc.el (eudc-menu): Use proper closures + +2021-05-19 Stefan Monnier + + * lisp/net/browse-url.el: Avoid `(lambda ..) + + (browse-url-netscape, browse-url-mozilla, browse-url-galeon) + (browse-url-epiphany, browse-url-elinks): Use proper closures. + +2021-05-19 Stefan Monnier + + * lisp/misearch.el (multi-isearch-push-state): Use proper closures + +2021-05-19 Stefan Monnier + + * lisp/menu-bar.el: Avoid `(lambda + + (menu-bar-buffer-vector, menu-bar-update-buffers): Use proper closures. + +2021-05-19 Stefan Monnier + + * lisp/info.el (Info-isearch-push-state): Use proper closures + + * lisp/imenu.el (imenu--create-keymap): Use proper closures + + * lisp/find-dired.el (find-dired): Use a proper closure + + * lisp/facemenu.el (facemenu-add-new-face): Use `:documentation` + +2021-05-18 Stefan Monnier + + * lisp/eshell/em-pred.el: Take advantage of lexical scoping + + Also remove redundant `:group` arguments. + + (eshell-parse-modifiers): Make sure we pass a function value. + (eshell-parse-arg-modifier, eshell-parse-modifiers) + (eshell-add-pred-func, eshell-pred-user-or-group) + (eshell-pred-file-time, eshell-pred-file-type, eshell-pred-file-mode) + (eshell-pred-file-links, eshell-pred-file-size) + (eshell-pred-substitute, eshell-include-members, eshell-join-members) + (eshell-split-members): Use proper closures. + +2021-05-18 Juri Linkov + + * doc/emacs/basic.texi (Repeating): Document repeat-exit-timeout (bug#48472). + +2021-05-18 Stefan Monnier + + * lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Use a closure + +2021-05-18 Juri Linkov + + * lisp/repeat.el (repeat-exit-timeout): New defcustom (bug#48472). + + (repeat-exit-timer): New variable. + (repeat-post-hook): Run idle timer with an "exit function" + returned from set-transient-map. + Suggested by Gustavo Barros . + + (repeat-echo-message): Remove own previous message when input arg is nil. + + * lisp/window.el (display-buffer-override-next-command): Return exitfun. + +2021-05-18 Stefan Monnier + + * lisp/calendar/cal-menu.el (cal-menu-holidays-menu): Use a proper closure + +2021-05-18 Juri Linkov + + * lisp/emacs-lisp/lisp-mode.el (lisp-outline-level): Fix imprecise numbers. + + (lisp-outline-level): Return right levels starting from 1 instead of 5. + Suggested by Howard Melman in bug#46878. + +2021-05-18 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Add new arg PROMPT (bug#48478). + + * lisp/simple.el (yank-pop, yank-from-kill-ring): + * lisp/isearch.el (isearch-yank-from-kill-ring): + Use arg PROMPT in the call read-from-kill-ring. + +2021-05-18 Philipp Stephani + + Recreate symptom of Bug#42701. + + The fix to Bug#48489 (commit 9676d41b8301b84e07717e633059a3f2b5c4c9d8) + has masked the symptom of Bug#42701 for 'if-let'. Create a helper + macro that still exemplifies the bug. + + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests--duplicate-symbol-backtrack): New helper macro. + (edebug-tests-duplicate-symbol-backtrack): Use it instead of 'if-let'. + +2021-05-18 Lars Ingebrigtsen + + Fix some regressions introduced by the previous dired-aux change + + * lisp/dired-aux.el (dired-compress-file): Check that the file + we're compressing exists. Also work outside the current directory. + +2021-05-18 Basil L. Contovounesios + + Look for ElDoc buffer in all visible frames + + * lisp/emacs-lisp/eldoc.el (eldoc--echo-area-prefer-doc-buffer-p): + Look for a window displaying the ElDoc documentation buffer in all + visible frames, as promised by the user option + eldoc-echo-area-prefer-doc-buffer (bug#48278). + +2021-05-18 Miha Rihtaršič + + Fix problem with focusing in `C-o' in ibuffer in some circumstances + + * lisp/ibuffer.el (ibuffer-visit-buffer-other-window-noselect): + Use display-buffer instead of pop-to-buffer and selecting the old + window. `pop-to-buffer' focuses the new frame, but + `select-window' usually fails to focus the original frame. This + simple patch fixes that (bug#48218). + +2021-05-18 Gong Qijian (tiny change) + + Fix `custom-delayed-init-variables' problem when re-dumping emacs + + * lisp/startup.el (command-line): Don't bug out on redumping Emacs + (bug#48492). + +2021-05-18 Stefan Monnier + + * lisp/kmacro.el: Fix test cases broken by last change + + (kmacro-lambda-form): Remove unused args `counter` and `format`. + Arrange to be able to extract `mac` from the function. + (kmacro-extract-lambda): Use this new extraction instead of digging + into the guts of a function's code. + +2021-05-18 Alexandr Vityazev (tiny change) + + Fix the length= shortdoc example + + * lisp/emacs-lisp/shortdoc.el (list): Fix the length= example + (bug#48495). + +2021-05-18 Eli Zaretskii + + Revert "* lisp/bookmark.el: make bookmark-fontify nil default value" + + This reverts commit ed8c3303f945fbd2c16ece0e87d041c75ae05ff9. + +2021-05-18 Mattias Engdegård + + Fix pcase 'rx' patterns with a single named submatch (bug#48477) + + pcase 'rx' patterns with a single named submatch, like + + (rx (let x "a")) + + would always succeed because of an over-optimistic transformation. + Patterns with 0 or more than 1 named submatches were not affected. + + Reported by Philipp Stephani. + + * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander): + Special case for a single named submatch. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add tests. + +2021-05-18 Paul W. Rankin + + * lisp/bookmark.el: make bookmark-fontify nil default value + +2021-05-18 Philipp Stephani + + * lisp/emacs-lisp/subr-x.el (if-let): Swap &or branches (Bug#48489) + +2021-05-18 Stefan Monnier + + * lisp/kmacro.el: Avoid the dynbound dialect of ELisp + + (kmacro-call-macro, kmacro-lambda-form): Use proper closures. + (kmacro-keymap): Prefer #' top quote function names. + +2021-05-18 Dmitry Gutov + + Visually truncate excessively long lines in Xref + + * lisp/progmodes/xref.el (xref-truncation-width): New option. + (xref--apply-truncation): New function. + (xref--insert-xrefs): Use it (bug#46859). + +2021-05-17 Eli Zaretskii + + Fix the etags test suite + + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: + * test/manual/etags/CTAGS.good: Adjust to addition test.rs. + +2021-05-17 Lars Ingebrigtsen + + Add an etags test for Rust (bug#46055) + +2021-05-17 Eli Zaretskii + + Update the etags/ctags test files + + * test/manual/etags/ETAGS.good_1: + * test/manual/etags/ETAGS.good_2: + * test/manual/etags/ETAGS.good_3: + * test/manual/etags/ETAGS.good_4: + * test/manual/etags/ETAGS.good_5: + * test/manual/etags/ETAGS.good_6: + * test/manual/etags/CTAGS.good: Adjust to current codebase. + +2021-05-17 Sun Lin + + Allow specifying the default archive types to compress to in Dired + + * lisp/dired-aux.el (dired-compress-file-default-suffix): + (dired-compress-directory-default-suffix): New user options + (bug#47119). + (dired-compress-file-alist): New variable. + + * lisp/dired-aux.el (dired-compress-file): Use them. + (dired-compress-file-suffixes): Remove the directory item. + +2021-05-17 Pierre-Antoine Rouby + + Add support for Rust in etags + + * lib-src/etags.c (Rust_functions): New function to make tags for rust + files. + (Rust_help, Rust_suffixes): New constant. + * doc/emacs/maintaining.texi (Tag Syntax): Add Rust item. + * doc/man/etags.1: Add Rust (bug#46055). + +2021-05-17 Eli Zaretskii + + Avoid crashes in condition-case + + * src/eval.c (internal_lisp_condition_case): Don't take XCAR + without making sure the value is a cons cell. (Bug#48479) + +2021-05-17 Lars Ingebrigtsen + + Mention *-nov-is-evil in the Extra Headers Gnus manual section + + * doc/misc/gnus.texi (To From Newsgroups): Mention nov-is-evil. + +2021-05-17 Eli Zaretskii + + Improve documentation of new behavior of 'M-y' + + * lisp/minibuffer.el (minibuffer-local-map): Switch the order of + '\r' and '\n' bindings. + * lisp/simple.el (yank-pop, read-from-kill-ring) + (yank-from-kill-ring): Doc fixes. + + * doc/emacs/search.texi (Isearch Yank): + * doc/emacs/killing.texi (Yanking): Improve the description of the + new functionality of 'M-y'. + * doc/lispref/text.texi (Yank Commands): Remove inaccurate + description of 'M-y' in Isearch. + + * etc/NEWS: Improve the wording of 'M-y' entry. + +2021-05-17 Philipp Stephani + + Add a unit test to reproduce Bug#48471. + + * test/lisp/progmodes/project-tests.el (project-tests--trivial) + (project-root, project-ignores): New test project type. + (project-ignores): New unit test. + +2021-05-17 Philipp Stephani + + Fix a few Edebug specifications where code is wrapped in lambdas. + + As the Info node `(elisp) Specification List' explains, it is not + correct to use `body' or t for a piece of code that the macro wraps in + a `lambda' form. These should use `def-body' instead. + + * lisp/info-xref.el (info-xref-with-file): + * lisp/subr.el (subr--with-wrapper-hook-no-warnings, track-mouse) + (combine-change-calls, with-eval-after-load): + * lisp/emacs-lisp/bytecomp.el (displaying-byte-compile-warnings): + * lisp/emacs-lisp/cl-macs.el (cl-do-symbols, cl-progv): + * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): + * lisp/emacs-lisp/gv.el (gv-letplace): + * lisp/emacs-lisp/nadvice.el (define-advice): + * lisp/emacs-lisp/thunk.el (thunk-delay): + * lisp/vc/vc-dispatcher.el (vc-run-delayed): Use 'def-body' instead of + t or 'body' where applicable. + + * lisp/emacs-lisp/package.el (package--with-response-buffer): Remove + evaluation of the body altogether. I have no idea how to write it + correctly in this case. + +2021-05-16 Eric Abrahamsen + + Add a 'silent option for native-comp-async-report-warnings-errors + + * lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors): + Set to 'silent to log warnings, but not pop up the *Warnings* buffer. + * lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output): + Check value. + +2021-05-16 Eric Abrahamsen + + Use condition-case-unless-debug in nnselect-run + + * lisp/gnus/nnselect.el (nnselect-run): This is confusing for users, + make it more yielding to common debugging strategies. + +2021-05-16 Eric Abrahamsen + + Fix function signature for gnus-search-indexed-parse-output + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Generic + function arg list didn't match the method arglist, which made for + confusing function help. + +2021-05-16 Lars Ingebrigtsen + + mouse-wheel-progressive-speed doc string clarification + + * lisp/mwheel.el (mouse-wheel-progressive-speed): Doc string + improvement (bug#45322). + +2021-05-16 Ingo Lohmar + + prepend newline in sqli buffer + + (sql-remove-continuation-prompt, sql-send-string): Move newline + insertion. + + Previously, the preoutput filter `sql-remove-continuation-prompt' + inserted a leading newline in the interactive SQL buffer if it decided + that is has to remove continuation prompts and that it had found all + it was looking for. + + 1) This filter function was a doubtful place to do that (arguably, its + name does not suggest any action like this). + 2) The behavior worked inconsistently, eg, when sending a single-line + "SELECT" statement, because it only ran when the filter function + needed to remove any prompts (for example, not when sending a + region without newlines). + + This can lead to misaligned table headers, which explains why + emacswiki and stackoverflow both present several fixes to this + behavior. + +2021-05-16 Tassilo Horn + + Add bug-reference-mode-force-auto-setup + + * lisp/progmodes/bug-reference.el + (bug-reference-try-setup-from-rmail): Match the Rmail mbox filename + against GROUP-REGEXP in bug-reference-setup-from-mail-alist. + (bug-reference-mode-force-auto-setup): New function which forces + auto-setup even if bug-reference-bug-regexp and + bug-reference-url-format are already set. + +2021-05-16 Dario Gjorgjevski + + Add more completion tests + + * test/lisp/minibuffer-tests.el (completion--pcm-score) + (completion--pcm-first-difference-pos): New helpers. + (completion-pcm-test-1, completion-pcm-test-2) + (completion-pcm-test-3, completion-pcm-test-4) + (completion-pcm-test-5, completion-pcm-test-6) + (completion-substring-test-1, completion-substring-test-2) + (completion-substring-test-3, completion-substring-test-4) + (completion-flex-test-1, completion-flex-test-2) + (completion-flex-test-3): New tests (bug#42149) + +2021-05-16 Sebastian Urban (tiny change) + + Improve some quotation quoting in the Emacs manual + + * doc/emacs/text.texi (Quotation Marks, Quotation Marks): + * doc/emacs/display.texi (Text Display): Fix some issues when + quoting quote marks and the like (bug#35885). + + * doc/emacs/emacs.texi: Switch on double-sided printing headings. + +2021-05-16 Noam Postavsky + + Remove unreliable test for match data clobbering + + * src/search.c (Freplace_match): Don't test for change in search_regs + start and end, this is unreliable if change hooks modify text earlier + in the buffer (bug#35264). + +2021-05-16 Philipp Stephani + + Optimize calls to 'eql', 'memql' and similar for fixnums. + + It's good practice to compare integers using 'eql' because two bignum + objects representing the same integer might not be 'eq'. However, + 'eql' is slower and doesn't have its own byte code. Therefore, + replace it with 'eq' if one argument is guaranteed to be a fixnum on + all platforms. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--fixnump): New helper + function. + (byte-optimize-equal, byte-optimize-member, byte-optimize-assoc): Use + it to optimize 'eql' etc. to 'eq' if it will always compare fixnums. + +2021-05-16 Michael Albinus + + Fix handling of stderr buffer in Tramp's make-process (Bug#47861) + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): + Reimplement stderr buffer handling. (Bug#47861) + (tramp-maybe-open-connection): Improve traces. + + * test/lisp/net/tramp-tests.el (tramp-test30-make-process): + Rework for stderr buffer. + +2021-05-16 Tassilo Horn + + Bug reference auto-setup for Rmail + + * lisp/progmodes/bug-reference.el + (bug-reference-try-setup-from-rmail): New function setting up + `bug-reference-mode' from the current Rmail message. + +2021-05-15 Dmitry Gutov + + Update CSS completion tests + + * test/lisp/textmodes/css-mode-tests.el (css-test-complete-pseudo-class) + (css-test-complete-pseudo-element): Update the tests for recent changes. + +2021-05-15 Tassilo Horn + + Refactor bug-reference setup functions into a defvar + + * lisp/progmodes/bug-reference.el + (bug-reference-auto-setup-functions): New defvar so that other + packages can add their own auto-setup functions to it. + * lisp/progmodes/bug-reference.el (bug-reference--run-auto-setup): Use + the new variable instead of hard-coding the 4 functions we've had + already. + +2021-05-15 Eli Zaretskii + + Fix segfaults when byte-compiling with native-compilation + + * src/emacs.c (main): Call 'set_initial_minibuffer_mode' before + entering recursive-exit. + * src/minibuf.c (init_minibuf_once_for_pdumper): Don't call + 'set_minibuffer_mode' here... + (set_initial_minibuffer_mode): ... set it in this new function. + (Bug#48446) + * src/lisp.h: Add prototype for 'set_initial_minibuffer_mode'. + +2021-05-15 Alan Mackenzie + + Miscellaneous corrections to src/minibuf.c for bug #48337 + + * src/minibuf.c (read_minibuf): Call get_minibuffer before incrementing + minibuf_level, in case a hook function calls Factive_minibuffer_window. + (init_minibuf_once_for_pdumper): Create *Minibuf-0* here (moved from + init_minibuf_once), and set its mode, so that clicking in the mini-window + immediately after start up works (thanks, Eli Z.). + +2021-05-15 Eli Zaretskii + + Fix launching net-utils on MS-Windows + + * lisp/net/net-utils.el (net-utils-run-simple): Bind + coding-system-for-read around the code which starts the process. + (Bug#48375) + +2021-05-15 pillule (tiny change) + + Fix `quit-restore-window' when all previous buffers got killed (Bug#48367) + + * lisp/window.el (quit-restore-window): Simplify calculation of + WINDOW's previous buffer. Avoid that killing WINDOW's previous + buffers results in a state where `quit-window' has no more + effect, by simply deleting WINDOW in that case (Bug#48367). + +2021-05-15 Daniel Semyonov (tiny change) + + Mairix: use 'mairix-search-options' as documented + + * lisp/net/mairix.el (mairix-call-mairix): Append + 'mairix-search-options' to the arguments passed to mairix. + +2021-05-15 Daniel Semyonov (tiny change) + + Mairix: autoload main interactive functions + + * lisp/net/mairix.el (mairix-search, mairix-use-saved-search) + (mairix-edit-saved-searches-customize, mairix-search-from-this-article) + (mairix-search-thread-this-article, mairix-widget-search-based-on-article) + (mairix-edit-saved-searches, mairix-widget-search, mairix-update-database): + Add magic autoload comment. + +2021-05-15 Eli Zaretskii + + Improve doc string of 'log-edit-generate-changelog-from-diff' + + * lisp/vc/log-edit.el (log-edit-generate-changelog-from-diff): + Improve the doc string. (Bug#48269) + +2021-05-15 Martin Rudalics + + Have X builds handle VisibilityNotify events (Bug#48268, Bug#48413) + + * src/xterm.c (handle_one_xevent): Handle VisibilityNotify + events (Bug#48268, Bug#48413). + +2021-05-15 Dmitry Gutov + + Add :company-kind support to nxml-mode completion + + * lisp/nxml/rng-nxml.el (rng-complete-tag) + (rng-complete-attribute-name, rng-complete-attribute-value): + Support :company-kind. + +2021-05-15 Dmitry Gutov + + Add :company-kind support to sh-mode completion + + * lisp/progmodes/sh-script.el (sh--completion-keywords): + New variable. + (sh--cmd-completion-table): Extracted from here. + (sh-completion-at-point-function): Add :company-kind. + +2021-05-15 Dmitry Gutov + + Include colons in the completion strings + + * lisp/textmodes/css-mode.el + (css--complete-pseudo-element-or-class): + Include colons in the completion strings. That's simply the nicer + behavior (e.g. someone typing : will see pseudo-elements in + completions as well), and by the standards, the colons are part of + their names anyway (of pseudo-elements and classes). + +2021-05-15 Dmitry Gutov + + Add :company-kind support to css-mode completion + + * lisp/textmodes/css-mode.el (css--complete-pseudo-element-or-class) + (css--complete-property-value, css-completion-at-point) + (css--complete-at-rule): Add :company-kind properties, to annotate + completions with kinds returned in each case. + +2021-05-14 Lars Ingebrigtsen + + Make the M-x obsoletion check more robust + + * lisp/simple.el (read-extended-command): Make the obsoletion + check more robust. + +2021-05-14 Alan Mackenzie + + Various detailed fixes to minibuf.c, etc., to fix bug #48337 + + Also fix some unsafe coding. + + * lisp/window.el (push-window-buffer-onto-prev): New function, extracted from + (record-window-buffer): Refactor by extracting the above, and removing the now + redundant parameter DO-MINIBUF. + + * src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Replace calls to + get_minibuffer (0) by nth_minibuffer (0). Replace calls to + Qrecord_window_buffer by calls to Qpush_window_buffer_onto_prev. + (Factive_minibuffer_window, read_minibuf_unwind): Call abort_emacs should an + "impossible" null value be returned by nth_minibuffer. + (read_minibuf): Move the get_minibuffer_call to just after the incrementation + of minibuf_level as a precaution against a missing buffer in + Vminibuffer_list. + (nth_minibuffer): Replace XCAR by Fcar, to allow (car nil) to work. + (init_minibuf_once): Create the inactive buffer *Minibuf-0*. + (syms_of_minibuf): New DEFSYM, Qpush_window_buffer_onto_prev. + + * src/window.c (restore_window_configuration): Replace some XCARs and XCDRs + by Fcar_safe and Fcdr_safe. + +2021-05-13 Glenn Morris + + * doc/misc/calc.texi: Remove most hand-written node pointers. + + The complex, conditional node layout makes this one of the very + few cases that can't be done entirely automatically. + +2021-05-13 Glenn Morris + + Remove more hand-written node pointers in doc/misc + + * doc/misc/ede.texi, doc/misc/mh-e.texi, doc/misc/reftex.texi: + * doc/misc/todo-mode.texi: Remove hand-written node pointers. + +2021-05-13 Glenn Morris + + * doc/misc/epa.texi: Remove hand-written node pointers. + +2021-05-13 Glenn Morris + + Merge from origin/emacs-27 + + bcd92b5708 (origin/emacs-27) Improve documentation of Hexl mode + c233f4eccd ; * etc/NEWS: Fix decoded-time-set-defaults typo. + 4c3abb3dd1 Fix compilation errors with latest w32 API headers + 127f1f330b Improve doc strings in log-edit.el + e36183ff46 ; * etc/TODO (etc/DOC): Update the todo entries. + + # Conflicts: + # etc/NEWS + +2021-05-13 Glenn Morris + + * doc/misc/epa.texi: Fix @nodes in previous change. + +2021-05-13 Michael Albinus + + Improve Tramp traces + + * lisp/net/tramp-cmds.el (tramp-list-tramp-buffers): + List also trace buffers. + + * lisp/net/tramp.el (tramp-buffer-name): + Add `tramp-suppress-trace' property. + (tramp-get-debug-file-name): Fix docstring. + (tramp-trace-buffer-name): New defun. + (tramp-trace-functions): New defvar. + (tramp-debug-message): Obey also `tramp-trace-functions'. + + * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case): + Handle trace buffer accordingly. + +2021-05-13 dickmao + + Process sentinels need to work under X and commandline + + * src/process.c (add_non_keyboard_read_fd): Make this a public function. + (add_process_read_fd): Fold old, static add_non_keyboard_read_fd guts + into here. + * src/xsmfns.c (ice_conn_watch_CB): Call add_non_keyboard_read_fd + (bug#43834). + +2021-05-13 Eli Zaretskii + + Fix vertical cursor motion across tall text or small images + + 'line-move-partial' should in general leave it to the display + engine to scroll or recenter the window due to vertical motion of + the cursor. The only purpose of this function is to produce + vscroll suitable for scrolling across large (relatively to the + window's height) images, where moving by display lines is not + appropriate. + + * src/xdisp.c (Fdisplay__line_is_continued_p): New primitive. + + * lisp/simple.el (line-move-partial): Call + 'display--line-is-continued-p' to decide whether to leave it to + redisplay to scroll the window as appropriate. (Bug#48170) + +2021-05-13 Michael Albinus + + Fix bug#48349 in file-name-non-special + + * lisp/files.el (file-name-non-special): Use Tramp file name + handler only in case of `copy-file', 'rename-file' and + `copy-directory'. (Bug#48349) + +2021-05-13 Stefan Kangas + + Document `package-quickstart' in the user manual + + * doc/emacs/package.texi (Package Installation): Document + `package-quickstart' (bug#44748). + +2021-05-13 Nicolás Bértolo + + Make searching for files faster under Windows + + * src/lread.c (openp): Use faccessat to check that a file exists + before opening it on Windows (bug#41646). This speeds up + searching for files. + +2021-05-13 Stefan Kangas + + Don't consider obsolete commands for completion in some cases + + * lisp/simple.el (read-extended-command): Exclude obsolete commands + that are either lacking a 'current-name' or were obsoleted in a + previous major version (bug#43300). + + (There's been some back and forth here. Obsolete commands used to be + treated normally for completion, and then they were removed. Then + they were put back again, but annotated with what they were + obsoleting. There was some pushback on this change, so this latest + changes is a compromise between the last two states.) + +2021-05-13 Radon Rosborough + + Use an explicit line width of 1 on hollow cursors under X + + * src/xterm.c (x_draw_hollow_cursor): Specify a line width of + 1 explicitly to avoid problems on some X implementations (bug#42452). + +2021-05-13 Eli Zaretskii + + * src/image.c (xpm_image_p): Avoid another compiler warning. + + * src/image.c: Avoid compiler warnings in Cairo builds without XPM. + +2021-05-12 Tom Gillespie + + Fix evaluation order for hack-local-variables + + * lisp/files.el (hack-local-variables): Fix the ordering which + local variables are evaluated by `hack-local-variables' so that + prop-line local variables are evaluated first. There is a hidden + nreverse lurking in `hack-local-variables-apply' which means that + the prop line variables must come second in order to be evaluated + before the end of file variables. + +2021-05-12 Philip K + + Don't mark interactive commands as internal functions + + * lisp/epa-ks.el (epa-ks-search-mode-map): Rename commands from + "--" to "-" throughout. + +2021-05-12 Eli Zaretskii + + Improve doc strings and prompt in epa-ks.el + + * lisp/epa-ks.el (epa-ks--mark-key-to-fetch, epa-ks--fetch-key) + (epa-search-keys): Doc fixes. + (epa-ks-do-key-to-fetch): Better wording for the fetch prompt. + +2021-05-12 Lars Ingebrigtsen + + Even further `text-property-search-forward' clarifications + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward): Further doc string clarifications. + +2021-05-12 Lars Ingebrigtsen + + Update email address in epa-ks.el + +2021-05-12 Philip K + + All a GPG key server client + + * lisp/epa-ks.el (epa-keyserver): New file (bug#39886). + * doc/misc/epa.texi (Quick start): Mention it. + (Querying a key server): Document it. + +2021-05-12 Lars Ingebrigtsen + + Fix `uniquify-managed' unbounded growth + + * lisp/uniquify.el (uniquify-rationalize-file-buffer-names): + Protect against exponential `uniquify-managed' growth when + reverting several (more than two) buffers that have the same file + name (bug#36877). + +2021-05-12 Lars Ingebrigtsen + + Further corrections for the text-property-search doc strings + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward): Correct doc string. + (text-property-search-backward): Ditto. + +2021-05-12 Lars Ingebrigtsen + + Tweak indentation of #foo in js-mode + + * lisp/progmodes/js.el (js--proper-indentation): Indent #define + (etc) to column 0, but otherwise indent #foo normally (bug#47488). + +2021-05-12 Lars Ingebrigtsen + + Remove unused variable in rmail.el + + * lisp/mail/rmail.el (rmail-reply): Remove unused lexical variable + introduced in previous patch. + +2021-05-12 Eli Zaretskii + + Fix the tests for 'string-limit' + + * test/lisp/emacs-lisp/subr-x-tests.el (subr-string-limit-coding): + Fix the expected results of string-limit when encoding with + UTF-16. Add tests for UTF-8 with BOM. (Bug#48324) + + * lisp/emacs-lisp/subr-x.el (string-limit): Add FIXME comment + about the current implementation, which is faulty by design. + +2021-05-12 Jim Porter + + Abbreviate rgrep command on MS Windows (bug#48302) + + * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): + Adapt regexp to match MS Windows-style shell-quoting. + + * test/lisp/progmodes/grep-tests.el: New file. + +2021-05-12 Martin Rudalics + + Handle Bug#24526 without breaking Emacs on tiling WMs (Bug#48268) + + Since tiling window managers may react allergically to resize + requests immediately following MapNotify events on X, make sure + that such requests are issued only when a new frame should not + become visible and a size has been explicitly requested for it. + + * lisp/faces.el (x-create-frame-with-faces): Mark frame as + 'was-invisible' if it should be initially invisible or iconified + and has its size specified explicitly. + * src/frame.c (make_frame): Initialize new frame's was_invisible + flag. + (Fframe__set_was_invisible): New internal function. + * src/frame.h (struct frame): Specify size of new_size_p slot. + New flag was_invisible. + * src/w32fns.c (Fx_create_frame) + * src/nsfns.m (Fx_create_frame) + * src/xfns.c (Fx_create_frame): Set new frame's was_invisible + flag. + * src/xterm.c (handle_one_xevent): Call xg_frame_set_char_size + after a PropertyNotify or MapNotify event only if F's + was_invisible flag was set. + +2021-05-12 Richard Stallman + + Avoid querying in a noninteractive Emacs. + + * lisp/mail/sendmail.el (mail-send): In noninteractive Emacs, + don't ask about combining header fields. + +2021-05-12 Richard Stallman + + Handle empty string as mail-header-separator + + * lisp/mail/sendmail.el (mail-mode): + (mail-sendmail-undelimit-header): Handle mail-header-separator empty. + (mail-send): Search for mail-header-separator as entire contents of line. + +2021-05-12 Richard Stallman + + Handle multi-line FROM. + + * lisp/mail/rmailsum.el (rmail-header-summary): Handle multi-line FROM. + +2021-05-12 Richard Stallman + + Little improvements in rmail.el. Recognize encryped override headers. + + * lisp/mail/rmail.el (rmail-simplified-subject): Delete `[External] :'. + (rmail-reply): In encrypted message, search for other header fields + inside the encrypted part, and use them instead of the real header. + (rmail-epa-decrypt): Don't set MIME unless it's Rmail mode. + +2021-05-12 Richard Stallman + + Use rfc822-goto-eoh rather that mail-header-separator. + + * lisp/epa-mail.el (epa-mail-sign) + (epa-mail-default-recipients, epa-mail-encrypt): + Use rfc822-goto-eoh, not mail-header-separator. + (epa-mail-default-recipients): Assume epa-mail-aliases + elements are lower case, search case-independently. + +2021-05-11 Eli Zaretskii + + Move the Text Properties menu back to Edit + + * lisp/textmodes/enriched.el (enriched-mode): Don't add "Text + Properties" sub-menu to Text mode menu. + * lisp/facemenu.el (menu-bar-edit-menu): Add "Text Properties" + sub-menu back to the Edit menu. + +2021-05-11 Lars Ingebrigtsen + + Remove purecopy throughout facemenu.el (since it's not preloaded) + +2021-05-11 Lars Ingebrigtsen + + Move facemenu to enriched mode + + * lisp/menu-bar.el (menu-bar-edit-menu): Move from here... + + * lisp/textmodes/enriched.el (enriched-mode): ... to here. + +2021-05-11 Tassilo Horn + + Fix dired confirm message asking to kill buffers of deleted dir (bug#48301) + + * lisp/dired.el (dired-clean-up-after-deletion): Fix dired + confirmation message asking to kill buffers of deleted dir in the case + where `dired-listing-switches' contain -p (bug#48301). + +2021-05-11 Stefan Monnier + + * lisp/font-lock.el: Fix `font-lock-comment-end-skip` fallback (bug#34088) + + (font-lock-fontify-syntactically-region): Use `comment-end-skip` as + fallback for `font-lock-comment-end-skip`, as is done for + `font-lock-comment-start-skip` (and as the name suggests). + + * lisp/progmodes/opascal.el (opascal-mode): Revert last change, + made unnecessary. + +2021-05-11 Eli Zaretskii + + Improve documentation of Hexl mode + + * doc/emacs/misc.texi (Editing Binary Files): Explain that Hexl can + also be used for editing text, including non-ASCII text. + +2021-05-11 Andrea Corallo + + Rename comp-deferred-compilation + + * lisp/progmodes/elisp-mode.el + (emacs-lisp-native-compile-and-load): Rename + comp-deferred-compilation -> native-comp-deferred-compilation. + * src/comp.c (maybe_defer_native_compilation, syms_of_comp): + Likewise. + +2021-05-11 Andrea Corallo + + * Rename comp-deferred-compilation-deny-list + + * lisp/emacs-lisp/comp.el (native-comp-deferred-compilation-deny-list) + (native-compile-async-skip-p): Rename + comp-deferred-compilation-deny-list -> + native-comp-deferred-compilation-deny-list. + +2021-05-11 Eli Zaretskii + + Mention native compilation in the user manual + + * doc/emacs/building.texi (Lisp Libraries): Mention native + compilation. + +2021-05-11 Stefan Kangas + + Fix exiting Emacs when savehist-file not writable + + * lisp/savehist.el (savehist-save): Show warning when 'savehist-file' + is not writable. (Bug#34093) + (savehist--has-given-file-warning): New variable. + +2021-05-11 Lars Ingebrigtsen + + Fix comment end delimiter fontification in OPascal mode + + * lisp/progmodes/opascal.el (opascal-mode): Fontify the ending + brace with `font-lock-comment-delimiter-face' correctly (bug#34088). + +2021-05-11 Eli Zaretskii + + Fix assertions in nth_minibuffer + + * src/minibuf.c (nth_minibuffer): Avoid assertion violation when + DEPTHth minibuffer doesn't exist. (Bug#48337) + +2021-05-11 Lars Ingebrigtsen + + `text-property-search-forward' doc string improvement + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward): Correct and clarify the doc string + (bug#48317). + +2021-05-11 Eli Zaretskii + + Fix Hexl handling of coding-systems with BOM + + * lisp/international/mule-cmds.el (encode-coding-char): If + CODING-SYSTEM produces BOM, remove the BOM bytes from the produced + byte sequence. (Bug#48324) + + * lisp/hexl.el (hexl-mode): Use bufferpos-to-filepos to convert + point to offset into the original file. + (hexl-mode-exit, hexl-maybe-dehexlify-buffer): Use + filepos-to-bufferpos to restore point in the original buffer. + (hexl-mode, hexl-insert-multibyte-char) + (hexl-self-insert-command, hexl-insert-hex-char) + (hexl-insert-decimal-char, hexl-insert-octal-char) + (hexl-find-file): Enhance the doc strings, mainly explaining the + complications of inserting multibyte characters. + (hexl-insert-multibyte-char): Don't treat CH as unibyte if the + coding-system isn't ASCII-compatible. Don't treat null bytes as + multibyte. + +2021-05-11 Glenn Morris + + * doc/misc/erc.texi (Connecting): Fix cross reference. + +2021-05-11 Amin Bandali + + Tweak documentation relating to 'erc-tls' + + * doc/misc/erc.texi (Connecting): Add a reference to the auth manual. + * etc/NEWS: Remove the verbose, detailed example of client certificate + specification and refer to the ERC manual instead. + * lisp/erc/erc.el (erc-tls): Fix leftover path example in docstring. + +2021-05-10 Glenn Morris + + * lib/Makefile.in (maintainer-clean): Fully ignore rmdir errors. + +2021-05-10 Glenn Morris + + * Makefile.in: Simplify maintainer-clean. + + (maintainer_clean_dirs): Remove. + (maintainer-clean): Don't duplicate clean by running bootstrap-clean, + which can lead to issues with parallel clean. + +2021-05-10 Glenn Morris + + * test/src/emacs-module-tests.el (mod-test-file): Unbreak out-of-tree. + + * test/Makefile.in (clean): Remove generated mml-sec file. + +2021-05-10 Glenn Morris + + Always include the test/ directory in tarfiles + + In hindsight, it's hard to see why not including it was ever an option. + * make-dist: Always include the test/ directory. + (with_tests): Remove. + (--tests, --no-tests): Make these options no-ops. + * Makefile.in (mostlyclean_dirs, maintainer_clean_dirs): Add "test". + (mostlyclean, clean, distclean, maintainer-clean): + Remove special-casing for "test". + ($(CHECK_TARGETS)): Simplify. + +2021-05-10 Michael Albinus + + Extend meaning of UNIQUIFY `auto-save-file-name-transforms'. (Bug#47493) + + * doc/lispref/backups.texi (Auto-Saving): Explain UNIQUIFY being a + secure hash in auto-save-file-name-transforms. + + * etc/NEWS: Mention change in `auto-save-file-name-transforms'. + + * lisp/files.el (auto-save-file-name-transforms): Adapt docstring. + (make-auto-save-file-name): Care, if UNIQ is a secure hash symbol. + +2021-05-10 Mauro Aranda + + Avoid saving session customizations in the custom-file + + * lisp/custom.el (custom-theme-recalc-variable): Only stash theme + settings for void variables. + (custom-declare-variable): After initializing a variable, unstash a + theme setting, if present. + (disable-theme): When disabling a theme, maybe unstash a theme + setting. + + * test/lisp/custom-resources/custom--test-theme.el: Add two settings + for testing the fix. + +2021-05-10 Lars Ingebrigtsen + + Always heed the `lexical-binding' local variable + + * doc/lispref/variables.texi (File Local Variables): Document + `permanently-enabled-local-variables'. + + * lisp/files.el (enable-local-variables): Mention the new variable. + (set-auto-mode): Always call `hack-local-variables'. + (hack-local-variables): Factor out the variable gathering into its + own function, and respect the new variable (bug#47843). + (hack-local-variables--find-variables): Factored out from + `hack-local-variables'. + (permanently-enabled-local-variables): New variable. + +2021-05-10 Glenn Morris + + * lib-src/Makefile.in (clean): Tidy up seccomp-filter files. + + * test/Makefile.in (SUBDIRS, subdir_template): Fix out-of-tree. + +2021-05-10 Glenn Morris + + Small fixes for out-of-tree clean rules. + + * Makefile.in (top_maintainer_clean, extraclean): Fix out-of-tree. + +2021-05-10 Glenn Morris + + Small fixes for Makefile clean rules + + * Makefile.in (maintainer-clean): Move some items from extraclean. + (extraclean): doc/emacs already deletes emacsver.texi. + +2021-05-10 Glenn Morris + + Base the "extraclean" Make rule on "maintainer-clean" + + * Makefile.in (FIND_DELETE): New, set by configure. + (extraclean_dirs): Remove. + (extraclean): Make it just a small variation on maintainer-clean. + * admin/charsets/Makefile.in (extraclean): + * admin/grammars/Makefile.in (extraclean): + * admin/unidata/Makefile.in (extraclean): + * leim/Makefile.in (extraclean): + * lib-src/Makefile.in (extraclean): + * lisp/Makefile.in (extraclean): + * lwlib/Makefile.in (extraclean): + * nt/Makefile.in (extraclean): + * src/Makefile.in (extraclean): Remove target. + * lib/Makefile.in (extraclean): Merge into maintainer-clean. + +2021-05-09 Juri Linkov + + * lisp/misearch.el (multi-isearch-switch-buffer): New function. + + * lisp/isearch.el (isearch-search-string): + * lisp/misearch.el (multi-isearch-wrap, multi-isearch-pop-state): Use it. + + https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00309.html + +2021-05-09 Michael Albinus + + Cleanups for Tramp out-of-band methods on MS Windows + + * doc/misc/tramp.texi (Frequently Asked Questions): + tramp-use-ssh-controlmaster-options is nil on MS Windows. + + * lisp/net/tramp.el (tramp-unquote-shell-quote-argument): Revert previous + change, it worked (not as expected but) properly. + + * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): + Don't skip on MS Windows. + (tramp--test-windows-nt-and-scp-p): Remove. + (tramp--test-special-characters): Skip for out-of-band methods on + MS Windows, sometimes. + +2021-05-09 Andreas Schwab + + Make autoloads-force work in build directory + + * lisp/Makefile.in (autoloads-force): Remove $(lisp)/loaddefs.el, + not loaddefs.el. + +2021-05-09 Basil L. Contovounesios + + Default to 1970 in decoded-time-set-defaults + + * lisp/calendar/time-date.el (decoded-time-set-defaults): Set an + unspecified year field to 1970, as promised in the docstring, and to + ensure it's representable on all systems (bug#48298). + +2021-05-09 Lars Ingebrigtsen + + Reintroduce autoloads for edebug-all-defs/edebug-all-forms + + * lisp/emacs-lisp/edebug.el (edebug-all-defs, edebug-all-forms): + Reintroduce ;;;###autoload of these user options that were removed + in bae2cfe63c, because this leads to errors in a common (and + recommended) use case (bug#47516). + +2021-05-09 Lars Ingebrigtsen + + Fix indentation of lines starting with # in js-mode + + * lisp/progmodes/js.el (js--proper-indentation): # is not like in + C -- it doesn't have to appear on the beginning of the line + (bug#47488). + +2021-05-09 Eli Zaretskii + + Fix compilation errors with latest w32 API headers + + * src/w32common.h: Rename OS_* to OS_SUBTYPE__*, as w32 API + headers started defining OS_NT, which breaks the use of the + enumeration. All users changed. (Bug#48303) + +2021-05-08 Basil L. Contovounesios + + Tiny fixes to recent native compilation docs + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-05/msg00347.html + + * doc/lispref/compile.texi (Native Compilation): Fix grammar in @ref + online label. + (Native-Compilation Functions): Consistently unhyphenate + 'sub-process'. Fix grammar. + (Native-Compilation Variables): Fix @cindex entry. + +2021-05-08 Eli Zaretskii + + Document native-compilation + + * doc/lispref/loading.texi (How Programs Do Loading) + (Library Search): Update for native-compilation features. + * doc/lispref/compile.texi (Native Compilation) + (Native-Compilation Functions, Native-Compilation Variables): New + chapter and sections. + * doc/lispref/elisp.texi (Top): Update the top-level menus. + + * etc/NEWS: Add a reference to the ELisp manual. + +2021-05-08 Lars Ingebrigtsen + + Don't delete socket on server exit if it was passed in + + * lisp/server.el (server-sentinel): Don't delete the socket if it + was passed in to Emacs (bug#47511). + +2021-05-08 Lars Ingebrigtsen + + Remove dead URL in isearchb.el comments + + * lisp/isearchb.el: Remove dead URL in comments (bug#47514). + +2021-05-08 Alan Mackenzie + + Prevent the selected window being a dead mini-window when switching frames + + This fixes bug #48249 and also a situation where, with recursive minibuffers + enabled and minibuffer-follows-selected-frame t, switching frames when a + minibuffer was open would leave the mini-window selected on the old frame. + + * lisp/window.el (record-window-buffer): Add extra parameter DO-MINIBUF, and + amend the code such that minibuffers only get processed when that parameter is + non-nil. + + * src/minibuf.c (zip_minibuffer_stacks, read_minibuf): Call + Qrecord_window_buffer with the new argument set to Qt. + (move_minibuffers_onto_frame): Set the selected window on the old frame when + this would otherwise remain the mini-window. + +2021-05-08 dalanicolai (tiny change) + + Mention that Emacs is usually case-insensitive in a couple of places + + * doc/lispref/searching.texi (Regular Expressions): Mention + `case-fold-search'. + + * lisp/emacs-lisp/re-builder.el (re-builder): Mention case + sensitivity toggles (bug#47534). + +2021-05-08 Lars Ingebrigtsen + + Revert "Fix moving directories with the same name to trash" + + This reverts commit f618cc5bc83d3822759c5bb85d15320651ca2431. + + This patch doesn't cover some corner cases, I think. + +2021-05-08 Codruț Constantin Gușoi (tiny change) + + Fix moving directories with the same name to trash + + * lisp/files.el (move-file-to-trash): Allow moving several + directories with the same name to Trash (bug#48280). + +2021-05-08 Stefan Monnier + + * lisp/gnus/nnoo.el (defvoo, deffoo): Add `doc-string` property + +2021-05-08 Jim Porter + + Ensure ` ' handles rectangular regions + + * lisp/delsel.el (delete-active-region): Autoload it and make it interactive. + * lisp/menu-bar.el (menu-bar-edit-menu): Bind "Clear" to + `delete-active-region'. + +2021-05-07 Philipp Stephani + + Don't use symbolic links in the test resource directory. + + This doesn't work on Windows. Instead, use the EMACS_TEST_DIRECTORY + environment variable to find the BPF files. + + * test/src/emacs-tests.el (emacs-tests--lib-src): New constant. + (emacs-tests/seccomp/allows-stdout) + (emacs-tests/seccomp/forbids-subprocess) + (emacs-tests/bwrap/allows-stdout): Use it. + +2021-05-07 Michael Albinus + + Tramp: Fix file name quoting on MS Windows + + * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): + Use `tramp-unquote-shell-quote-argument'. + + * lisp/net/tramp.el (tramp-unquote-shell-quote-argument): + Adapt for MS Windows. + + * test/lisp/net/tramp-tests.el (tramp--test-special-characters): + Adapt for MS Windows. + +2021-05-07 Eli Zaretskii + + Fix a recent change in rmc.el + + * lisp/emacs-lisp/rmc.el (read-multiple-choice): Doc fix. Improve + the message when entering recursive-edit. + +2021-05-07 Michael Albinus + + Fix some annoyances wrt file-name-non-special + + * lisp/files.el (file-name-non-special): Do not expand `file-truename'. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use local `default-directory' for `start-process'. + +2021-05-07 Lars Ingebrigtsen + + `mail-envelope-from' doc clarification + + * lisp/mail/sendmail.el (mail-envelope-from): Note that the buffer + should be narrowed before calling (bug#47616). + +2021-05-07 Michael Albinus + + Tune Tramp traces + + * doc/misc/tramp.texi (Traces and Profiles): Describe call traces. + + * lisp/net/tramp-compat.el: Add `tramp-suppress-trace' property for all + functions. + + * lisp/net/tramp.el (tramp-verbose): Adapt docstring. + (tramp-file-name-method, tramp-file-name-user) + (tramp-file-name-domain, tramp-file-name-host) + (tramp-file-name-port, tramp-file-name-localname) + (tramp-file-name-hop, tramp-file-name-user-domain) + (tramp-file-name-host-port, tramp-file-name-port-or-default) + (tramp-tramp-file-p, tramp-find-method, tramp-find-user) + (tramp-find-host, tramp-dissect-file-name) + (tramp-dissect-hop-name, tramp-debug-buffer-name) + (tramp-debug-outline-level, tramp-get-debug-buffer) + (tramp-get-debug-file-name, tramp-read-passwd) + (tramp-clear-passwd): Add `tramp-suppress-trace' property. + (tramp-debug-message): Activate call traces. + + * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case): Simplify. + +2021-05-07 Eli Zaretskii + + Improve doc strings in log-edit.el + + * lisp/vc/log-edit.el (log-edit-new-comment-index) + (log-edit-maximum-comment-ring-size, log-edit-previous-comment) + (log-edit-next-comment, log-edit-comment-search-backward) + (log-edit-comment-search-forward) + (log-edit-comment-to-change-log) + (log-edit-header-contents-regexp, log-edit-font-lock-gnu-style) + (log-edit, log-edit-mode, log-edit-fill-entry, log-edit-done) + (log-edit-kill-buffer, log-edit-insert-message-template) + (log-edit-insert-cvs-template, log-edit-insert-cvs-rcstemplate) + (log-edit-rewrite-fixes, log-edit-add-to-changelog) + (log-edit-generate-changelog-from-diff) + (log-edit-insert-changelog, log-edit-narrow-changelog) + (log-edit-changelog-entry, log-edit-changelog-insert-entries) + (log-edit-extract-headers): Enhance and reword doc strings. + +2021-05-06 Jim Porter + + Shell-quote the directory when finding a project's files + + * lisp/progmodes/project.el (project--files-in-directory): + Shell-quote the directory (bug48247). + +2021-05-06 Dmitry Gutov + + project--buffer-list: Tighten the check + + * lisp/progmodes/project.el (project--buffer-list): Tighten the + check to speed up in the presence of multiple Tramp sessions, too. + (https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00152.html) + +2021-05-06 Andrea Corallo + + Rename comp-eln-load-path → native-comp-eln-load-path + + * src/comp.c (Fcomp_el_to_eln_filename): Rename comp-eln-load-path → + native-comp-eln-load-path. + * src/lread.c (maybe_swap_for_eln): Likewise. + * lisp/startup.el (native-comp-eln-load-path) + (normal-top-level): Likewise. + * lisp/emacs-lisp/comp.el (comp-spill-lap-function, comp-final) + (comp-eln-load-path-eff, comp-trampoline-compile) + (comp-clean-up-stale-eln, comp-run-async-workers) + (comp-lookup-eln, batch-byte-native-compile-for-bootstrap): Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-warning-on-missing-source + + * src/lread.c (maybe_swap_for_eln): Rename + comp-warning-on-missing-source → + native-comp-warning-on-missing-source. + * src/comp.c (syms_of_comp): Likewise. + * lisp/emacs-lisp/comp.el (native-comp-warning-on-missing-source): + Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-native-driver-options → native-comp-driver-options + + * src/comp.c (add_driver_options, syms_of_comp): Rename + comp-native-driver-options → native-comp-driver-options. + * lisp/emacs-lisp/comp.el (native-comp-driver-options) + (comp-ctxt, comp-spill-lap-function, comp-final) + (comp-run-async-workers): Likewise. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise. + +2021-05-06 Andrea Corallo + + * Rename comp-async-query-on-exit → native-comp-async-query-on-exit + + * lisp/emacs-lisp/comp.el (native-comp-async-query-on-exit) + (comp-run-async-workers): Rename comp-async-query-on-exit → + native-comp-async-query-on-exit. + +2021-05-06 Andrea Corallo + + * Rename comp-async-report-warnings-errors + + * lisp/emacs-lisp/comp.el (native-comp-async-report-warnings-errors) + (comp-accept-and-process-async-output): Rename + comp-async-report-warnings-errors → + native-comp-async-report-warnings-errors. + +2021-05-06 Andrea Corallo + + * Rename comp-async-env-modifier-form → native-comp-async-env-modifier-form + + * lisp/emacs-lisp/comp.el (native-comp-async-env-modifier-form) + (comp-final, comp-run-async-workers): Rename + comp-async-env-modifier-form → native-comp-async-env-modifier-form. + +2021-05-06 Andrea Corallo + + * Rename comp-async-all-done-hook → native-comp-async-all-done-hook + + * lisp/emacs-lisp/comp.el (native-comp-async-all-done-hook) + (comp-run-async-workers): Rename comp-async-all-done-hook → + native-comp-async-all-done-hook. + +2021-05-06 Andrea Corallo + + * Rename comp-async-cu-done-functions → native-comp-async-cu-done-functions + + * lisp/emacs-lisp/comp.el (native-comp-async-cu-done-functions) + (comp-run-async-workers): Rename comp-async-cu-done-functions → + native-comp-async-cu-done-functions. + +2021-05-06 Andrea Corallo + + * Rename comp-async-jobs-number → native-comp-async-jobs-number + + * lisp/emacs-lisp/comp.el (native-comp-async-jobs-number) + (comp-effective-async-max-jobs, native--compile-async) + (native-compile-async): Rename comp-async-jobs-number → + native-comp-async-jobs-number. + +2021-05-06 Andrea Corallo + + Rename comp-never-optimize-functions → native-comp-never-optimize-functions + + * lisp/emacs-lisp/nadvice.el (advice--add-function): Rename + comp-never-optimize-functions → native-comp-never-optimize-functions. + * lisp/emacs-lisp/comp.el (native-comp-never-optimize-functions) + (comp-subr-trampoline-install, comp-call-optim-form-call): Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-bootstrap-deny-list → native-comp-bootstrap-deny-list + + * lisp/emacs-lisp/comp.el (native-comp-bootstrap-deny-list) + (batch-native-compile): Rename comp-bootstrap-deny-list → + native-comp-bootstrap-deny-list. + +2021-05-06 Andrea Corallo + + * Rename comp-always-compile → native-comp-always-compile + + * lisp/emacs-lisp/comp.el (native-comp-always-compile) + (comp-run-async-workers): comp-always-compile → + native-comp-always-compile. + +2021-05-06 Andrea Corallo + + * Rename comp-verbose -> native-comp-verbose + + * lisp/emacs-lisp/comp.el (native-comp-verbose, comp-log) + (comp-log-func, comp-final, comp-run-async-workers): Rename + comp-verbose -> native-comp-verbose. + +2021-05-06 Andrea Corallo + + Rename comp-debug -> native-comp-debug + + * src/comp.c (emit_ctxt_code, syms_of_comp): Rename comp-debug -> + native-comp-debug. + * lisp/emacs-lisp/comp.el (native-comp-debug, comp-ctxt) + (comp-spill-lap-function, comp-run-async-workers): Likewise. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Likewise. + * test/src/comp-tests.el (comp-tests-bootstrap): Likewise. + +2021-05-06 Andrea Corallo + + Rename comp-speed -> native-comp-speed + + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename + comp-speed -> native-comp-speed. + * lisp/emacs-lisp/comp.el (native-comp-speed, comp-ctxt, comp-func, + comp-spill-lap-function, comp-trampoline-compile, + comp-run-async-workers): Likewise. + * src/comp.c (emit_ctxt_code, load_comp_unit, syms_of_comp): Likewise. + * test/src/comp-tests.el (comp-tests-tco, comp-tests-fw-prop-1) + (comp-tests-check-ret-type-spec, comp-tests-pure): Likewise. + +2021-05-06 Andrea Corallo + + * Rename comp-limple-mode -> native-comp-limple-mode + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Doc update. + (native-comp-limple-mode, comp-log-to-buffer): Rename comp-limple-mode + -> native-comp-limple-mode. + +2021-05-06 Michael Albinus + + In Tramp, use scp "-T" argument if available + + * lisp/net/tramp-sh.el (tramp-scp-strict-file-name-checking): New defvar. + (tramp-scp-strict-file-name-checking): New defun. + (tramp-do-copy-or-rename-file-out-of-band): Use it. + (tramp-methods) : Use "%x". + (tramp-make-copy-program-file-name): Use local quoting. + (tramp-sh-handle-make-process): Don't call + `tramp-maybe-open-connection', this happens implicitly by + `tramp-send-command'. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + + * test/lisp/net/tramp-tests.el (tramp-test40-special-characters) + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls): Don't skip for + `tramp--test-windows-nt-and-scp-p'. + +2021-05-06 Stefan Kangas + + Improve formatting in text-quoting-style docstring + + * src/doc.c (syms_of_doc) : Doc fix; improve + formatting for readability. + +2021-05-06 Stefan Kangas + + Remove another variable alias obsolete since Emacs 23 + + * lisp/menu-bar.el (menu-bar-files-menu): Delete variable alias for + `menu-bar-file-menu'. + * etc/NEWS: Announce its deletion. + +2021-05-06 Mattias Engdegård + + Don't fail image-tests if JPEG format isn't compiled in + + * test/lisp/image-tests.el (image-type/from-filename): + Make jpeg test conditional. Test pbm (always present). + +2021-05-06 Mattias Engdegård + + Tidy file-matching regexps and remove some ineffective backslashes + + * lisp/emacs-lisp/package.el (package--delete-directory): + * lisp/net/tramp-cmds.el (tramp-recompile-elpa): + Escape dot; replace $ with \'. + * lisp/help.el (help-for-help): + * lisp/transient.el (transient-font-lock-keywords): + Remove useless backslashes. + +2021-05-06 Lars Ingebrigtsen + + Make (setf (map-elt ...)) return the value in the alist/plist cases + + * lisp/emacs-lisp/map.el (map-elt): Return the value in the list + case (which can signal a `map-not-inplace' error. + (map-elt): Return the value in the list case, too (bug#47572). + +2021-05-06 Matt Armstrong + + Add tests for `map-elt' + + * test/lisp/emacs-lisp/map-tests.el: Add (failing) tests for `map-elt' + (bug#47572). + +2021-05-06 Michael Albinus + + Fix bug#47625 in dired + + * lisp/dired-aux.el (dired-create-files): Check, that + `dired-do-symlink' does not create symlinks on different hosts. + (Bug#47625) + +2021-05-06 Alan Mackenzie + + Fix wrong handling of minibuffers when frames get iconified/made invisible + + This should fix bug #47766. + + * lisp/window.el (window-deletable-p): Add a quote where it was missing from + minibuffer-follows-selected-frame. + + * src/frame.c (check_minibuf_window): Delete the function. + (delete_frame): In place of calling check_minibuf_window, call + move_minibuffers_onto_frame, possibly to move minibuffers onto the new current + frame. + (Fmake_frame_invisible, Ficonify_frame): Remove calls to check_minibuf_window. + + * src/minibuf.c (Factive_minibuffer_window): Search the frames for the active + minibuffer rather than just assuming minibuf_window has been correctly + updated. + +2021-05-06 Harald Jörg + + cperl-mode: Eliminate bad interpretation of ?foo? + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Delete + ?? from the allowed bare regexp delimiters. + (cperl-short-docs): Delete ?...? from the documentation. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug-47598): + Add tests for good, bad, and ambiguous use of ? as regex + delimiter (bug#47598). + +2021-05-06 Lars Ingebrigtsen + + Only look at the headers when computing the envelope from address + + * lisp/mail/smtpmail.el (smtpmail-send-it) + (smtpmail-send-queued-mail, smtpmail-via-smtp): + * lisp/mail/sendmail.el (sendmail-send-it): Only look at the + headers when computing the envelope from (bug#47616). + +2021-05-06 Dmitrii Kuragin (tiny change) + + Fix ispell program comparison + + * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): + Compare strings with `equal', not `eq' (since the identity of the + string may change) (bug#48246). + +2021-05-06 Lars Ingebrigtsen + + Make Info completion more robust + + * lisp/info.el (Info-build-node-completions): Don't signal an + error if there are no nodes in the file we're computing + completions over (bug#47771). + +2021-05-06 Daniel Martín + + Add a help option to the open large files prompt + + * lisp/files.el (files--ask-user-about-large-file-help-text): New + function that returns information about opening large files in + Emacs. (Bug#45412) + (files--ask-user-about-large-file): Use read-multiple-choice to + display the available actions. + * etc/NEWS: Advertise the new feature. + +2021-05-06 Daniel Martín + + Extend read-multiple-choice to support free-form help descriptions + + * lisp/emacs-lisp/rmc.el (read-multiple-choice): Add a new argument to + override the default help description in `read-multiple-choice'. Use + the `help-char' variable instead of ?\C-h. Also support the `edit' + action from `query-replace-map', so that help links can be visited by + entering a recursive edit. + +2021-05-05 Karl Fogel + + New option to confirm deletion in bookmark menu + + * lisp/bookmark.el (bookmark-menu-confirm-deletion): New defcustom. + (bookmark-delete-all): Add comment explaining why we don't use the new + confirmation formula here. + (bookmark-bmenu-execute-deletions): Conditionally confirm deletion. + Note that the bulk of the code diff here is just reindentation of an + otherwise unchanged `let' expression. + + * etc/NEWS: Announce the new option. + + Thanks to Lars Ingebrigtsen and Eli Zaretskii for review, and thanks + to Oliver Taylor for suggesting the option in the first place: + + https://lists.gnu.org/archive/html/emacs-humanities/2021-02/msg00022.html + From: Oliver Taylor + Subject: Re: [emacs-humanities] Extending Emacs Bookmarks to Work with EWW + To: Karl Fogel + Cc: Stefan Kangas, Emacs-humanities mailing list + Date: Wed, 3 Feb 2021 20:21:59 -0800 + Message-Id: <936D47EA-4D11-452B-8303-971B6386877B@me.com> + +2021-05-05 Andrea Corallo + + Rename feature `nativecomp' into `native-compile' + + * test/src/comp-tests.el : Rename feature `nativecomp' into + `native-compile'. + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun): Likewise. + * src/comp.c (syms_of_comp): Likewise. + * lisp/startup.el (normal-top-level): Likewise. + * lisp/loadup.el: Likewise. + * lisp/help.el (help-function-arglist): Likewise. + * lisp/emacs-lisp/package.el (package--native-compile-async) + (package--delete-directory): Likewise. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Likewise. + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. + +2021-05-05 Martin Rudalics + + Fix setting of 'width' and 'height' frame parameters + + * src/frame.c (Fframe_parameters): Fix bogus setting of 'height' + and 'width' parameters. + +2021-05-05 Andrea Corallo + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defsubst): Fix (bug#48221). + +2021-05-05 Kazuhiro Ito + + Tweak how some Japanese punctuation chars are translated to ASCII + + * lisp/language/japan-util.el (japanese-symbol-table): Tweak + Japanese punctuation character translation (bug#47767). + +2021-05-05 Andrea Corallo + + * Better identify native compiler presence in two tests. + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) + (help-fns-test-lisp-defsubst): Better identify native-comp + presence. + +2021-05-05 Daniel Mendler + + Don't bug out in `Info-goto-node' completion + + * lisp/info.el (Info-read-node-name-1): Don't bug out in the + middle of completion, but return nil instead (and issue a message) + (bug#47771). + +2021-05-05 Boruch Baum + + Fix error in ses.el when setting the current row + + * lisp/ses.el (ses-jump, ses-list-local-printers) + (ses-list-named-cells): Use `user-error' for user errors. + (ses-set-header-row): Function `ses-set-header-row' was + determining the current row based upon variable `ses--curcell', + but that variable is NIL until one begins an operation on a cell + (eg. keybindings '=', '"'), so navigating to a row was + insufficient to select that row, and further generated an ERROR + because the code was not expecting a NIL value for variable + `ses--curcell' (bug#47784). + +2021-05-05 Lars Ingebrigtsen + + Allow `C-x C-k l' to work even if `C-h l' is unbound + + * lisp/kmacro.el (kmacro-edit-lossage): `view-lossage' may be + bound to a different key than `C-h l' (bug#47785). + +2021-05-05 Matt Beshara + + Remove unnecessary call to message in js.el + + * lisp/progmodes/js.el (js--end-of-defun-nested): Remove debugging + message left over (bug#48234). + +2021-05-05 Lars Ingebrigtsen + + Use @defmac on eval-{and,when}-compile + + * doc/lispref/compile.texi (Eval During Compile): Use @defmac + instead of @defspec on two macros (bug#47862). + +2021-05-05 Martin Rudalics + + Fix two GTK3 event handling issues + + * src/xterm.c (handle_one_xevent): For GTK3 PropertyNotify and + MapNotify events explicitly request the stored frame sizes when + the frame changes from iconified to a non-hidden state + (Bug#24526). For Expose events do not change the frame's + visibility or iconified state. For FocusIn events on GTK3 do + not apply the fix for Bug#42655. The latter two changes are to + avoid that plain invisible frames get reported as iconified. + +2021-05-05 Lars Ingebrigtsen + + Make the ELC+ELN lines line up with the other lines + +2021-05-05 Eric Abrahamsen + + Add new defvoo nnimap-keepalive-intervals to Gnus nnimap servers + + * lisp/gnus/nnimap.el (nnimap-keepalive-intervals): New per-server + config for customizing when keepalive commands are sent. + (nnimap-keepalive, nnimap-open-connection-1): Consult in these + places. Additionally, use nnimap-streaming -> t when sending the + keepalive NOOP, so we don't wait for the response. + * doc/misc/gnus.texi (Customizing the IMAP Connection): Document. + +2021-05-04 Basil L. Contovounesios + + Remove unused lexical variables in cc-defs.el + + * lisp/progmodes/cc-defs.el (c-sc-scan-lists-no-category+1+1) + (c-sc-scan-lists-no-category+1-1, c-sc-scan-lists-no-category-1+1) + (c-sc-scan-lists-no-category-1-1): Remove unused lexical variable + 'here' to pacify byte-compilation warnings in cc-engine.el. + +2021-05-04 Andrea Corallo + + * Do not try to load unexistent eln file if async compilation was skipped + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Don't try to + load if the eln file was not produced. + +2021-05-04 Eli Zaretskii + + Fix infloop in lsp-mode + + * src/indent.c (line_number_display_width): Make sure the selected + window's buffer is current before using display code on it: + redisplay assumes that the window's buffer is current at all + times. Reported by Evgeny Kurnevsky via lsp-mode's issue 1621, + https://github.com/emacs-lsp/lsp-mode/issues/1621. + +2021-05-04 Glenn Morris + + Merge from origin/emacs-27 + + 40228fffd7 (origin/emacs-27) Fix code for newline-and-indent in skele... + 56c4c8ef32 * lisp/jka-compr.el (jka-compr-uninstall): Fix function re... + +2021-05-04 Glenn Morris + + Merge from origin/emacs-27 + + 101a049f55 Improve doc string of 'tab-width'. + 43c154404e * lisp/emacs-lisp/elp.el: Doc fixes. + 1984213f62 * lisp/emacs-lisp/pp.el: Doc fixes. + 6486c9dc73 * admin/make-tarball.txt: Note to update more files on web... + +2021-05-04 Basil L. Contovounesios + + Remove as of recently unused GDK macro + + Its only use was removed in the recent change of 2021-04-27 "Major + rewrite of adjust_frame_size", announced in the following thread: + https://lists.gnu.org/r/emacs-devel/2021-04/msg01162.html + + * src/gtkutil.c [USE_GTK && !HAVE_GTK3] (gdk_window_get_geometry): + Remove unused macro to pacify -Wunused-macros build warning. + +2021-05-04 Lars Ingebrigtsen + + Fix inconsistent behaviour in find-file-noselect when using nowarn + + * lisp/files.el (after-find-file): Behave the same in when + warning/not warning (bug#47850). This fixes this test case: + (switch-to-buffer (find-file-noselect "non-existing-dir/test.el" t)) + which would leave the buffer read-only. + +2021-05-04 Lars Ingebrigtsen + + Allow TAB to go to a key in EPA key buffers + + * lisp/epa.el (epa--insert-keys): Allow TAB to go to the keys + (bug#47876). + +2021-05-04 Lars Ingebrigtsen + + Fix doc marker for previous bookmark NEWS change + +2021-05-04 Boruch Baum + + Fontify lines when setting a bookmark + + * lisp/bookmark.el (bookmark-fontify): New user option (bug#48179). + (bookmark-face): New face. + (bookmark--fontify, bookmark--unfontify): New functions. + (bookmark-set-internal, bookmark--jump-via, bookmark-delete): Use + them. + +2021-05-04 Lars Ingebrigtsen + + Ensure updating the animated image in all windows + + * lisp/image.el (image-show-frame): Simplify the window update -- + pass in the buffer, which is a noop if the buffer isn't displayed. + +2021-05-04 Martin Rudalics + + Fix a problem with x_set_tab_bar_lines (Bug#46827) + + * src/xfns.c (x_set_tab_bar_lines): Call + x_change_tab_bar_height only if the number of tab bar lines + changed from or to zero (Bug#46827). + * src/xterm.c (x_make_frame_visible): Make frame_size_history + update less noisy by doing it only if the frame wasn't visible + before. + +2021-05-03 Philip K + + project--buffer-list: Avoid Tramp buffers when possible + + * project.el (project--buffer-list): Add file-remote-p check. + +2021-05-03 Michael Albinus + + Fix unquoting of file names in subprocesses (Bug#48177) + + * lisp/files.el (file-name-non-special): + Improve handling of inhibit-file-name-handlers. + + * src/callproc.c (Fcall_process, call_process): Unquote infile, + error_file and output_file. (Bug#48177) + + * test/lisp/files-tests.el (files-tests-file-name-non-special--subprocess) + (files-tests-file-name-non-special-file-name-all-completions) + (files-tests-file-name-non-special-file-name-completion): Adapt tests. + +2021-05-03 Alan Third + martin rudalics + + Fix incorrect resizing behaviour on macOS (bug#48157, bug#48162) + + * src/nsterm.m ([EmacsView viewDidResize:]): The drawing buffer can be + resized independently of Emacs's idea of the frame size. + +2021-05-03 Lars Ingebrigtsen + + ediff shouldn't alter the kill ring when copying a diff + + * lisp/vc/ediff-util.el (ediff-copy-diff, ediff-pop-diff): Don't + alter the kill ring (bug#47881). + +2021-05-03 Lars Ingebrigtsen + + Speed up animation of non-displayed buffers + + * lisp/image.el (image-show-frame): Don't force an update if the + buffer with the animation isn't in a window (bug#47895). Also + just update the window in question. + +2021-05-03 Lars Ingebrigtsen + + Speed up animation of non-displayed images + + * lisp/image.el (image-animate): Only compute the animation data + once -- this avoids recomputing the image on every iteration when + the image is not displayed (bug#47895). + +2021-05-03 Lars Ingebrigtsen + + Note that function symbols are preferred in `add-hook' + + * lisp/subr.el (add-hook): Note that FUNCTION should preferably be + a symbol (bug#47992). + +2021-05-03 Steve Purcell + + ruby-mode.el: puts and printf do not require args + + * lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): puts and + printf can be called without arguments, so the font locking of + "bare" calls to either is incorrect. The fix is to font-lock them + as for other kernel methods which accepts zero or more arguments + (bug#48180). + +2021-05-03 Lele Gaifax + + Align TUTORIAL.it to the English version + + * etc/tutorials/TUTORIAL.it: Reference 'describe-command' to replicate + recent change. Add also a space before '' in several places, + mimicking the usage of in the English version (bug#48183). + +2021-05-02 Philipp Stephani + + Fix code for newline-and-indent in skeleton language. + + The code for this is the symbol 'n', which is usually spelled as '\n' + here, not the character ?\n. + + * doc/misc/autotype.texi (Skeleton Language): Fix item for + newline-and-indent. + +2021-05-02 Martin Rudalics + + Add two changes announced but not included in previous commit + + * src/frame.c (adjust_frame_size): Remove extra + inhibit_horizontal/_vertical checks. Improve the implied + resize check when INHIBIT equals 2. + +2021-05-02 Stefan Kangas + + * etc/tutorials/TUTORIAL.sv: Adjust to latest change in TUTORIAL. + + * etc/tutorials/TUTORIAL.es: Adjust to latest change in TUTORIAL. + +2021-05-02 Alan Mackenzie + + * lisp/progmodes/cc-defs (c-save-buffer-state): Amend debug spec, t to let* + + This should solve part of bug #48100. + +2021-05-02 Eli Zaretskii + + * etc/tutorials/TUTORIAL.he: Adjust to latest change in TUTORIAL. + +2021-05-02 Stefan Kangas + + Add new help command 'describe-command' + + * lisp/help-fns.el (describe-command): New command. + (help-fns--describe-function-or-command-prompt): New helper + function to prompt for a function or function. (Bug#46627) + (describe-function): Use above new helper function. + + * lisp/help.el (help-map): Bind above new command to `C-h x'. + (help-for-help): Add this new command to the help summary. + * lisp/menu-bar.el (menu-bar-describe-menu): Add the new command to + the help menu. + + * doc/emacs/help.texi (Help Summary, Name Help): Document + 'describe-command', and update documentation on 'describe-function'. + * etc/tutorials/TUTORIAL: Change reference from 'describe-function' to + 'describe-command'. + +2021-05-02 Stefan Monnier + + * lisp/apropos.el (apropos-value, apropos-local-value): Tweak for lexbind + + Don't skip symbols for the nowadays lexically scoped local vars. + +2021-05-02 Alan Third + + Fix crash when resizing GNUstep builds + + The toolkit can send far too many resize notifications, so be more + careful when we take action after receiving one. + + * src/nsfns.m (ns_set_tool_bar_lines): Remove unneeded NSTRACE. + * src/nsterm.m ([EmacsView viewDidResize:]): Don't report resizes to + Emacs when the same change has already been reported and delayed. + +2021-05-02 Stefan Kangas + + * lisp/help-macro.el: Doc fix. + +2021-05-02 Stefan Kangas + + Bind S-SPC to scroll-down in help-for-help + + * lisp/help-macro.el (make-help-screen): Bind S-SPC to + scroll-down. Thanks to Dmitry Gutov . + +2021-05-02 Stefan Kangas + + Minor doc fixes in simple.el + + * lisp/simple.el (next-error-move-function) + (next-error-found-function, next-error-found) + (previous-error-no-select, eval-expression-get-print-arguments) + (undo-adjust-elt, undo-adjust-beg-end): Minor doc fixes. + +2021-05-02 Nikolay Kudryavtsev + + Don't use pdumper-stats with unexec + + * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): Check if + pdumper-stats is bound before using it. + +2021-05-02 Lars Ingebrigtsen + + Inhibit lines in doc-view-mode + + * lisp/doc-view.el (doc-view-mode): Inhibit line number modes + (bug#47974). Change suggested by Gregory Heytings. + +2021-05-02 Eric Skoglund + + Add newline and tab matching documentation to query-replace-regexp + + * lisp/replace.el: Add \n and \t matching information to + query-replace-regexp docstring (bug#47981). + +2021-05-02 Lars Ingebrigtsen + + Tweak filtering some more + + This should get the ./temacs continuation lines right. + +2021-05-02 Martin Rudalics + + Make adjust_frame_size set up frame's new_width/_height too (Bug#17120) + + The purpose of this change is to have implied frame size changes + pick up sizes requested by previous explicit size changes not + only after they have been confirmed by the WM but already when + they are initially passed to adjust_frame_size (Bug#17120). + + * src/dispextern.h (delayed_size_change): Remove extern. + * src/dispnew.c (delayed_size_change): Make static again. + (do_pending_window_change): Call change_frame_size only if F's + new_size_p flag is set. + (change_frame_size_1): Set/reset F's new_size_p flag + * src/frame.c (adjust_frame_size): Remove extra + inhibit_horizontal/_vertical checks. Improve the implied + resizes check with INHIBIT equals 2. Set F's new_width and + new_height and reset F's new_size_p flag when we run + set_window_size_hook with INHIBIT 0 or 1. + * src/frame.h (struct frame): New bit slot new_size_p. + * src/gtkutil.c (xg_frame_resized): Use F's new_size_p flag + instead of delayed_size_change to decide whether to call + change_frame_size. + (xg_frame_set_char_size): Call frame_size_history_extra before + waiting for the ConfigureNotify event. + * src/xterm.c (handle_one_xevent): Use F's new_size_p flag + instead of delayed_size_change to decide whether to call + change_frame_size. + +2021-05-02 Boruch Baum + + Suppress false positives in apropos-value + + * lisp/apropos.el (apropos-value): Skip more apropos-internal + variables (bug#48063). + (apropos-value-internal): Skip the first value in the history + values, which always contains the match. + +2021-05-02 Philipp Stephani + + * lisp/jka-compr.el (jka-compr-uninstall): Fix function reference. + +2021-05-01 Stefan Monnier + + * lisp/simple.el (newline): Make the hook function remove itself + + (copy-region-as-kill, kill-ring-save): Simplify interactive spec. + +2021-05-01 Stefan Monnier + + * lisp/minibuffer.el (completing-read-default): Fix bug#45474 + + Set `minibuffer-completion-*` variables buffer-locally instead of using + a global let-binding. This should also help make completion work + correctly when multiple minibuffers are simultaneously active. + +2021-05-01 Alan Third + + Fix infinite loop on GNUstep when toolbar updated + + * src/nsterm.m ([EmacsView viewDidResize:]): Use Emacs's existing + knowledge of the frame size to decide whether to resize or not. + +2021-05-01 Alan Third + + Fix NS build warnings + + * src/nsfns.m (Fx_create_frame): Remove unused variables. + +2021-05-01 Jim Porter + + Fix GUD overlay arrows in gdb-mi when debugging over Tramp + + * lisp/progmodes/gdb-mi.el (gdb-frame-handler): Use local part of + file name when setting `gud-last-frame'. + +2021-04-30 Stefan Kangas + + Advertise PgUp/PgDn instead of SPC/DEL in help-for-help + + * lisp/help-macro.el (make-help-screen): + * lisp/help.el (help-for-help): Advertise PgUp/PgDn instead of + SPC/DEL. + +2021-04-30 Mattias Engdegård + + Don't signal scan-error in interactive sexp-based commands + + This takes care of unfinished business from df0f32f04850 (bug#43489). + + * lisp/emacs-lisp/lisp.el (end-of-defun, mark-defun): + * lisp/reposition.el (reposition-window): + * lisp/simple.el (transpose-sexps): Convert nasty-looking scan-error + into a human-readable message. + +2021-04-30 Eli Zaretskii + + Fix the unexec build on MS-Windows + + * src/buffer.c (init_buffer) [USE_MMAP_FOR_BUFFERS]: If dumped + with unexec, be sure to map new memory also for the " prin1" + buffer. For the reasons and discussion, see + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01401.html. + +2021-04-30 Eli Zaretskii + + Improve doc string of 'tab-width'. + + * src/buffer.c (syms_of_buffer) : Clarify doc string. + (Bug#48058) + +2021-04-30 Lars Ingebrigtsen + + Alter `gnus-article-show-images' to re-display with images installed + + * lisp/gnus/gnus-art.el (gnus-article-show-images): Reselect to + display HTML images. + +2021-04-30 Eli Zaretskii + + Improve support for 'display-line-numbers-width-start' + + * lisp/display-line-numbers.el (display-line-numbers-width-start): + Allow the value to be a number. (Bug#48095) + (display-line-numbers-mode): Handle + 'display-line-numbers-width-start' whose value is a number. + +2021-04-30 Stefan Monnier + + * src/doc.c (Fsnarf_documentation): Fix bug#48019 + + Don't presume that `custom-delayed-init-variables` holds a list. + +2021-04-30 Stefan Monnier + + * lisp/mail/supercite.el (sc-select-attribution): Fix lexical conversion + + Mark `citation` and `attribution` as dynamically scoped around + `sc-attribs-postselect-hook`, as documented in the function's docstring. + +2021-04-29 Andrea Corallo + + * Improve `comp-normalize-valset' reproducibility (bug#48021) + + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Make + it more reproducible. + +2021-04-29 Glenn Morris + + Automatically generate texinfo.el internal autoloads + + * lisp/textmodes/texinfo.el: Replace manual autoloads. + * lisp/textmodes/makeinfo.el (makeinfo-region, makeinfo-buffer) + (makeinfo-recenter-compilation-buffer): + * lisp/textmodes/texnfo-upd.el (texinfo-make-menu) + (texinfo-all-menus-update, texinfo-start-menu-description) + (texinfo-indent-menu-description, texinfo-master-menu) + (texinfo-update-node, texinfo-every-node-update) + (texinfo-sequential-node-update, texinfo-insert-node-lines) + (texinfo-multiple-files-update): + Add autoload cookies, and set generated-autoload-file. + +2021-04-29 Stefan Kangas + + * lisp/emacs-lisp/elp.el: Doc fixes. + +2021-04-29 Michael Albinus + + Some Tramp corrections, Bug#48067 + + * doc/misc/tramp.texi (Frequently Asked Questions): Rephrase GNU + ELPA warnings. + + * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter): + Improve handling of gio warning. (Bug#48067) + +2021-04-29 Stefan Kangas + + * lisp/emacs-lisp/pp.el: Doc fixes. + + * lisp/emacs-lisp/shortdoc.el: Doc fixes. + +2021-04-29 Dmitry Gutov + + * lisp/progmodes/project.el: Also bump version. + + * lisp/progmodes/xref.el: Bump version. + +2021-04-28 Juri Linkov + + * lisp/window.el (window--state-put-2): Set next/prev-buffers even to nil. + + When next-buffers or prev-buffers are nil, still use set-window-next-buffers + or set-window-prev-buffers to set next/prev-buffers to nil. (Bug#46904) + +2021-04-28 Andrea Corallo + + * Add a note related to native compilation and Dynamic Binding + + * doc/lispref/variables.texi (Dynamic Binding): Add a note + related to native compilation. + +2021-04-28 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp-archive.el (tramp-archive-handle-insert-file-contents): + Code cleanup. + + * lisp/net/tramp.el: Reload `tramp-compat' when we reload + `tramp-autoloads'. + (with-tramp-file-property, with-tramp-connection-property): + Use `tramp-cache-undefined'. + (tramp-autoload-file-name-handler): Do not load tramp-compat.el. + (tramp-handle-insert-file-contents): Code cleanup. + +2021-04-28 Michael Albinus + + Fix gio warning in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter): + Improve handling of gio warning. (Bug#48067) + +2021-04-28 Eli Zaretskii + + Doc fixes in avl-tree.el + + * lisp/emacs-lisp/avl-tree.el (avl-tree--root) + (avl-tree--dir-to-sign, avl-tree--sign-to-dir) + (avl-tree--del-balance, avl-tree--enter-balance) + (avl-tree--do-copy, avl-tree--stack-repopulate, avl-tree-empty) + (avl-tree-delete, avl-tree-member, avl-tree-member-p) + (avl-tree-map, avl-tree-mapc, avl-tree-mapf, avl-tree-mapcar) + (avl-tree-copy, avl-tree-clear, avl-tree-stack) + (avl-tree-stack-first): Fix doc strings to be less verbose and to + have the first line a complete sentence. + +2021-04-28 Stefan Kangas + + * lisp/emacs-lisp/avl-tree.el: Minor doc fixes. + + * admin/make-tarball.txt: Note to update more files on web page. + +2021-04-28 Michael Albinus + + Improve add-log-current-defun-header-regexp + + * lisp/vc/add-log.el (add-log-current-defun-header-regexp): + Allow digits. Require at least one letter. (Bug#48037) + +2021-04-28 Peter Oliver + + Add tests + + * test/lisp/progmodes/ruby-mode-tests.el (ruby-with-temp-file): New helper. + (ruby--set-encoding-when-ascii, ruby--set-encoding-when-utf8) + (ruby--set-encoding-when-latin-15): Tests for the previous commit (bug#48043). + +2021-04-28 Dmitry Gutov + + Don't add magic comment to Ruby files for utf-8 encoding + + * lisp/progmodes/ruby-mode.el (ruby-encoding-map): + Add entry for utf-8 (bug#48043). + (ruby--detect-encoding): Don't convert to string too early, so + that returning nil is meaningful. + (ruby-mode-set-encoding): Convert to string here. + +2021-04-27 Andrea Corallo + + * Clean-up temporary eln test-suite directory when exiting (bug#48060) + + * lisp/startup.el (normal-top-level): Remove eln test-suite temp + dir when exiting. + +2021-04-27 Andrea Corallo + + Have `comp-cstr-intersection-no-mem' intersect pos neg value sets + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): + intersect pos and neg value sets + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests and fix some + test number. + +2021-04-27 Stefan Kangas + + Avoid missing whitespace in help-for-help + + * lisp/help.el (help--for-help-make-commands): Avoid missing + whitespace before description of command. + Problem reported by Dmitry Gutov . + +2021-04-27 Michael Albinus + + Fix loading problem in Tramp + + * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load also + tramp-compat.el. + +2021-04-27 Daniel Mendler + + (affixation-function): Allow only three-element list elements + + Restrict the definition of the `affixation-function`. The function + must return a list of three element lists. Since the + `affixation-function` is part of the widely used `completing-read` API + a simplification is helpful for both authors of completion UIs and + authors of completion tables. + + * doc/lispref/minibuf.texi: Update documentation. + * lisp/minibuffer.el: Update documentation. + * lisp/simple.el (read-extended-command--affixation): + Return three-element lists. + + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01193.html + +2021-04-27 Mattias Engdegård + + Calc: control digits after decimal point (bug#47302) + + Calc normally displays a trailing decimal point for floats with no + fractional part, like '12.'. Some uses require at least one digit + after the point; add the governing variable calc-digit-after-point. + + * lisp/calc/calc.el (calc-digit-after-point): New variable. + (math-format-number): Use it. + * test/lisp/calc/calc-tests.el (calc-display-digit-after-point): + New test. + +2021-04-27 Martin Rudalics + + Major rewrite of adjust_frame_size + + Have adjust_frame_size pass native frame sizes to backends + instead of text sizes. Expand frame size history management. + Drop PIXELWISE argument from change_frame_size and convert + native to text sizes only when calling adjust_frame_size. Use + convention in arguments that -1 instead of 0 means that no size + change is required. When adjusting frame sizes pick up delayed + size changes (Bug#46827). + + * lisp/frame.el (frame-notice-user-settings, make-frame): Don't + set frame size history. + (frame--size-history): Rewrite doc-string. Handle new formats + of `frame-size-history' entries. + * src/dispextern.h (delayed_size_change): Extern it. + (change_frame_size): Drop last argument from extern. + * src/dispnew.c (delayed_size_change): Make it global. + (handle_window_change_signal): Reformat. Drop last argument + from change_frame_size call. + (do_pending_window_change, init_display_interactive): Drop last + argument from change_frame_size call. + (change_frame_size_1): NEW_WIDTH and NEW_HEIGHT now specify + native sizes. Drop last argument PIXELWISE. Queue a change + when it either differs from F's current pixel sizes or F's + previously queued sizes. Inject frame_size_history_extra call + when queuing. Adopt convention that for queued sizes -1 means + that no size change is required. Convert from native to text + sizes when calling adjust_frame_size. + (change_frame_size): Drop last argument PIXELWISE and drop it + also in change_frame_size_1 calls. + * src/frame.c (frame_size_history_add): Remove. + (frame_inhibit_resize): Remove call to frame_size_history_add. + (set_menu_bar_lines, set_tab_bar_lines): Simplify. Drop last + argument from change_frame_size call. + (frame_windows_min_size): No more static. + (keep_ratio): Minor rewrite using macros. + (frame_size_history_adjust, frame_size_history_plain) + (frame_size_history_extra): New functions. + (adjust_frame_size): Major rewrite. Adopt new convention that + negative values for new sizes mean no change. Pick up delayed + size changes from F's new_width and new_height slots + (Bug#46827). Call set_window_size_hook with native instead of + text sizes. Do not sanitize window sizes any more. Call + frame_size_history_adjust instead of frame_size_history_add. + Always set F's resized_p slot to true. + (make_frame): Initialize new_width and new_height slots to -1. + Simplify setup of initial sizes and an adjust_frame_size call. + (Fframe_parameters): Drop processing F's new_pixelwise slot. + (check_frame_pixels): Reorder to make declarations appear first. + (Fset_frame_height, Fset_frame_width, Fset_frame_size): Pass + explicit width and height values to adjust_frame_size instead of + -1. + (gui_set_frame_parameters): Minor rewrite making sure that + explicit sizes and the corresponding parameter are passed to + adjust_frame_size. Remove frame_size_history_add call. + (gui_figure_window_size): Drop last two arguments. Simplify + assignment of initial size. Set new_height and new_width slots + to -1. Use adjust_frame_size to set sizes instead of returning + them to caller. + (syms_of_frame): Drop symbols used by frame size history; these + are now built on-the-fly. Also drop some menu bar related + symbols in favor of Qmenu_bar_lines. + * src/frame.h (struct frame): Remove new_pixelwise. + (SET_FRAME_COLS, SET_FRAME_LINES, SET_FRAME_WIDTH) + (SET_FRAME_HEIGHT): Remove macros. + (frame_size_history_add): Remove externs. + (frame_windows_min_size, frame_size_history_plain) + (frame_size_history_extra): Add externs. + (FRAME_WINDOWS_WIDTH, FRAME_WINDOWS_HEIGHT): Rename to + FRAME_INNER_WIDTH and FRAME_INNER_HEIGHT. + (gui_figure_window_size): Drop last two arguments from + extern. + * src/gtkutil.c (xg_frame_resized): Rename arguments to WIDTH + and HEIGHT. Consult delayed_size_change to handle case where + WIDTH and HEIGHT do not match F's new_width and new_height + values. Call change_frame_size with native sizes and without + PIXELWISE argument. Instead of frame_size_history_add call + frame_size_history_extra. + (xg_frame_set_char_size): WIDTH and HEIGHT are native sizes now; + fix adjust_frame_size call accordingly. Instead of + frame_size_history_add call frame_size_history_extra. + (style_changed_cb): Call xg_frame_set_char_size with native + instead of text sizes. + (tb_size_cb): Remove frame_size_history_add call. Call + adjust_frame_size with INHIBIT 5. + (free_frame_tool_bar, xg_change_toolbar_position): Remove + frame_size_history_add call. + (update_frame_tool_bar): Call adjust_frame_size with INHIBIT 2 + and let it handle frame_inhibit_implied_resize and + fullheight/-width. Remove frame_size_history_add call. + * src/keyboard.c (Fsuspend_emacs): Call change_frame_size with + native sizes. + * src/nsfns.m (ns_set_tool_bar_lines): Call adjust_frame_size + with INHIBIT 2 and let it handle frame_inhibit_implied_resize + and fullheight/-width. Remove frame_size_history_add call. + (Fx_create_frame): Drop two last arguments in + gui_figure_window_size call. Do not SET_FRAME_WIDTH and + SET_FRAME_HEIGHT, the adjust_frame_size in + gui_figure_window_size did that already. + * src/nsterm.m (ns_set_window_size): Drop PIXELWISE argument and + its processing; WIDTH and HEIGHT represent native pixel sizes + now. Call change_frame_size with native sizes. Remove call to + frame_size_history_add. + ([EmacsView viewDidResize:]): Call change_frame_size with native + sizes. + * src/term.c (Fresume_tty): Call change_frame_size with native + sizes. + * src/termhooks.h (*set_window_size_hook): Drop last argument + PIXELWISE. + * src/w32fns.c (w32_change_tab_bar_height) + (w32_change_tool_bar_height): Fix handling of these in the initial + phase before they have been resized at least once. + (Fx_create_frame, w32_create_tip_frame): Drop two last arguments + in gui_figure_window_size call. Do not SET_FRAME_WIDTH and + SET_FRAME_HEIGHT (or SET_FRAME_COLS and SET_FRAME_LINES), the + adjust_frame_size in gui_figure_window_size did that already. + * src/w32inevt.c (resize_event, maybe_generate_resize_event): + Pass native sizes to change_frame_size. + * src/w32term.c (w32_read_socket): When WM_WINDOWPOSCHANGED pass + native sizes to change_frame_size. + (w32_new_font): Recalculate FRAME_TAB_BAR_HEIGHT. Simplify + code. + (w32fullscreen_hook): Call change_frame_size with native sizes. + (w32_set_window_size): Drop argument PIXELWISE and its + processing; WIDTH and HEIGHT are native sizes now. Remove + frame_size_history_add calls. Pass native sizes to + change_frame_size. + * src/widget.c (set_frame_size): Set width and height of widget + directly. Call frame_size_history_plain instead of + frame_size_history_add. + (update_from_various_frame_slots): Call + frame_size_history_extra. + (EmacsFrameRealize): Call frame_size_history_plain. + (EmacsFrameResize): Call change_frame_size with native sizes. + Call frame_size_history_extra instead of frame_size_history_add. + (EmacsFrameSetCharSize): Call frame_size_history_extra. Drop + PIXELWISE argument in x_set_window_size call and specify pixels. + (pixel_to_text_size): Remove function. + * src/xdisp.c (resize_mini_window): Replace FRAME_WINDOWS_HEIGHT + with FRAME_INNER_HEIGHT. + (redisplay_tab_bar): Don't set tab_bar_redisplayed when we did + not redisplay it. + (redisplay_tool_bar): Don't call it for external tool bar. + Don't set tool_bar_redisplayed when we did not redisplay it. + (redisplay_window): When the tool bar is external call + update_frame_tool_bar directly. + * src/xfns.c (x_set_menu_bar_lines): Call adjust_frame_size only + if number of menu bar lines changed and fix 6th argument. + (x_change_tab_bar_height, x_change_tool_bar_height): Fix + handling of these in the initial phase before they have been + resized at least once. + (Fx_create_frame, x_create_tip_frame): Drop two last arguments + in gui_figure_window_size call. Do not SET_FRAME_WIDTH and + SET_FRAME_HEIGHT (or SET_FRAME_COLS and SET_FRAME_LINES), the + adjust_frame_size in gui_figure_window_size did that already. + * src/xmenu.c (update_frame_menubar): Fix 6th arg of + adjust_frame_size call. + (free_frame_menubar): For Motif frames fix fullscreen and + `frame-inhibit-implied-resize' handling. Fix 6th arg of + adjust_frame_size calls. + * src/xterm.c (x_net_wm_state): Remove call to + frame_size_history_add. + (handle_one_xevent): For PropertyNotify and UnmapNotify events + add frame_size_history_plain calls. For MapNotify and + ConfigureNotify events add a frame_size_history_extra call. For + ConfigureNotify events also handle delayed size changes and call + change_frame_size with native sizes. + (x_new_font): Recalculate FRAME_TAB_BAR_HEIGHT. Simplify code. + (x_handle_net_wm_state): Remove frame_size_history_add call. + (x_check_fullscreen): Remove frame_size_history_add call. Call + change_frame_size with native height. + (x_set_window_size_1): WIDTH and HEIGHT are now native. Remove + some frame_size_history_add calls and add frame_size_history_extra + calls instead. If the frame is not visible call adjust_frame_size + directly instead of calling change_frame_size. + (x_set_window_size): Drop PIXELWISE argument. WIDTH and HEIGHT + represent native sizes now. + (x_make_frame_visible, x_make_frame_invisible): Call + frame_size_history_plain. + * src/xterm.h (x_set_window_size): Drop last argument from + extern declaration. + +2021-04-27 Glenn Morris + + Doc fixes for comp.el + + * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list) + (comp-bootstrap-deny-list, comp-pred-to-cstr, make-comp-mvar) + (comp-mvar-used-p, comp-async-compilation): Doc fixes. + +2021-04-27 Glenn Morris + + Fix some custom types in comp.el + + * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list) + (comp-bootstrap-deny-list, comp-never-optimize-functions) + (comp-async-env-modifier-form, comp-native-driver-options): + Fix :type (`list' on its own isn't even a valid type). + +2021-04-27 Amin Bandali + + * lisp/erc/erc.el: Add past maintainer Michael Olson to Contributors. + +2021-04-27 Lars Ingebrigtsen + + Fix compilation warnings in non-toolkit builds + + * src/xterm.c (x_create_toolkit_scroll_bar) + (x_create_horizontal_toolkit_scroll_bar): String constants for + XtSetArg are defined as const strings (in + /usr/include/X11/Xaw3d/ThreeD.h, for instance), but the argument + in XtSetArg is defined as either a const char* or a regular char* + in /usr/include/X11/Intrinsic.h. Cast the argument to String + (which should be correct on all platforms, hopefully) to avoid a + compilation warning (bug#47452). + +2021-04-27 Stefan Kangas + + Rename abnormal hook to comp-async-cu-done-functions + + * lisp/emacs-lisp/comp.el (comp-async-cu-done-functions): Rename + from 'comp-async-cu-done-hook' to reflect that it is an abnormal + hook. Doc fix and update single caller. + +2021-04-27 Lars Ingebrigtsen + + Fix failing subr test + + * test/lisp/subr-tests.el (subr-tests-bug22027): Fix mocked + signature of `read-string' (bug#48022). + +2021-04-27 Lars Ingebrigtsen + + Fix failing auth-source test + + * test/lisp/auth-source-tests.el + (auth-source-test-secrets-create-secret): Fix test failing because + the mocked `read-string' had the wrong interface. + +2021-04-27 Adam Sjøgren + + Ensure that we get an X-Draft-From headers + + * lisp/gnus/gnus-msg.el (gnus-setup-message): Ensure that we get an + X-Draft-From headers (bug#48049). + +2021-04-27 Stefan Monnier + + * lisp/emacs-lisp/package.el: Fix use of `find-library-name` + + That function caused a warning for a good reason. + Don't just declare it and hope it will be available. + + (package--list-of-conflicts): Require `find-func` explicitly before + declaring the function. Also don't ignore all errors but only + the `file-error`s which will be emitted by `find-library-name` + in normal circumstances. + + * lisp/emacs-lisp/find-func.el (find-library-name): Signal a `file-error` + Instead of a generic `error`. + +2021-04-26 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Initialize it. + +2021-04-26 Andrea Corallo + + Rework where `comp-ctxt' is defined. + + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Remove + `comp-ctxt' definition. + * lisp/emacs-lisp/comp.el (comp-ctxt): Likewise. + * lisp/emacs-lisp/comp-cstr.el (comp-ctxt): Define it here. + +2021-04-26 Andrea Corallo + + * lisp/emacs-lisp/comp.el: Make it loadable in vanilla builds (bug#48021). + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix string-search. + +2021-04-26 Eric Abrahamsen + + Small tweaks to gnus-registry reindexing messaging + + * lisp/gnus/gnus-registry.el (gnus-registry-fixup-registry): Use + `seq-set-equal-p' so we don't care about list element ordering. Don't + show messages within `registry-reindex' if we aren't at gnus-verbose + level 9. + +2021-04-26 Lars Ingebrigtsen + + Fix previous emake adjustment + +2021-04-26 Andrea Corallo + + Make use of `ert-resource-file' `ert-resource-directory' in comp-tests + + * test/src/comp-resources/comp-test-pure.el: Rename. + * test/src/comp-resources/comp-test-funcs.el: Likewise. + * test/src/comp-resources/comp-test-funcs-dyn.el: Likewise. + * test/src/comp-resources/comp-test-45603.el: Likewise. + * test/src/comp-tests.el (comp-test-src, comp-test-dyn-src): Use + `ert-resource-file'. + (comp-tests-bootstrap): Use ert-resource-directory. + (comp-tests-45603-1, comp-tests-pure): Use `ert-resource-file'. + +2021-04-26 Andrea Corallo + + * Use `expand-file-name' in place of `concat' in comp-tests.el + + * test/src/comp-tests.el (comp-test-src, + comp-test-dyn-src) (comp-tests-bootstrap, comp-tests-pure, + comp-test-src): Use `expand-file-name' in place of `concat'. + +2021-04-26 Andrea Corallo + + Move native compiler test data into proper directory (bug#48031) + + * test/src/comp-tests-resources/comp-test-45603.el: Rename. + * test/src/comp-tests-resources/comp-test-funcs-dyn.el: Likewise. + * test/src/comp-tests-resources/comp-test-funcs.el: Likewise. + * test/src/comp-tests-resources/comp-test-pure.el: Likewise. + * test/src/comp-tests.el (comp-test-directory): Update. + +2021-04-26 Andrea Corallo + + * test/src/comp-tests.el: Fix it for non native compiled build (bug#48031). + +2021-04-26 Andrea Corallo + + * Fix comp-cstr tests for vanilla build (bug#48021) + + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-ctxt): Fix tests + for vanilla build (bug#48021) + +2021-04-26 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-accept-and-process-async-output): Fix regexp. + +2021-04-26 Michael Albinus + + Some rearrangement in gitlab-ci.yml + + * test/infra/gitlab-ci.yml (test-filenotify-gio, test-gnustep): + Add 'needs:' clause. + (build-native-bootstrap-speed0, build-native-bootstrap-speed1) + (build-native-bootstrap-speed2): Rename from 'test-*'. Do not use + '--without-makeinfo'. + +2021-04-26 Dario Gjorgjevski + + Fix typo in tramp-get-remote-gid + + * lisp/net/tramp.el (tramp-get-remote-gid): Pass the correct + operation to find-file-name-handler. (Bug#48026) + +2021-04-26 Stefan Kangas + + * src/editfns.c (Fpropertize): Doc fix; reference Info manual. + +2021-04-25 Stefan Monnier + + * lisp/url/url-proxy.el (url-find-proxy-for-url): Minor simplification + +2021-04-25 Andrea Corallo + + * lisp/startup.el (comp-eln-load-path): Silence a warning. + +2021-04-25 Lars Ingebrigtsen + + Hack around problems in Turkish environments in url-proxy + + * lisp/url/url-proxy.el (url-find-proxy-for-url): Work around a + problem in Turkish language environments (where a downcased I is + ?ı (bug#44604). + +2021-04-25 Stefan Kangas + + * lisp/emacs-lisp/comp.el (no-native-compile): Minor doc fixes. + + * lisp/help-macro.el: Remove stale Change Log. + +2021-04-25 Lars Ingebrigtsen + + Adjust regexp to extra native-comp lines + +2021-04-25 Andrea Corallo + + Merge branch 'feature/native-comp' into into trunk + +2021-04-25 Lars Ingebrigtsen + + Revert window/winner changes (Revert 0454bfd3313) + + See bug#23621 for an explanation. + +2021-04-25 Alan Mackenzie + + CC Mode: Get proper search limits in c-font-lock-cut-off-declarators + + * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators): Instead of + using a crude 2,000 characters back limit for backward searching, which is + erroneous when that point is in a literal, use the already calculated + c-determine-limit result. + +2021-04-25 Glenn Morris + + Merge from origin/emacs-27 + + 7d5b973959 (origin/emacs-27) * doc/misc/cl.texi (For Clauses): Minor ... + 4570781f8d ; * doc/lispref/files.texi (Directory Names): Add missing ... + 1b52fd538d Minor update for make-tarball.txt + 8efb8491b2 * doc/misc/cl.texi (Iteration Clauses): fix `never' clause... + 0873134682 ; Fix Texinfo in last change to minibuf.texi. + cad8913c89 Improve filling-related documentation + 2b7eed23eb ; * doc/lispref/keymaps.texi (Easy Menu): Fix typo. + 47fc92cefc Fix reference to "yanking" in the main Emacs manual + 1789dcdb35 Improve documentation of 'map-y-or-n-p' + +2021-04-25 Stefan Kangas + + Add more scroll key bindings to make-help-screen + + * lisp/help-macro.el (make-help-screen): Add bindings to scroll on + , , , . + +2021-04-25 Gregory Heytings (tiny change) + + Fix the handling of the Delete key in help screens. + + * lisp/help-macro.el (make-help-screen): Handle the Delete key + in help screens as in Emacs 23 and earlier. + +2021-04-25 Stefan Kangas + + * lisp/ses.el: Doc fixes. + +2021-04-25 Stefan Kangas + + Don't hard-code face of "Install" button + + * lisp/emacs-lisp/package.el (package-make-button): Use the + 'custom-button' face for the "Install" button. (Bug#47944) + +2021-04-25 Stefan Kangas + + Remove redundant #' before lambda in printing.el + + * lisp/printing.el (pr-menu-create, pr-eval-setting-alist) + (pr-complete-alist, pr-file-list, pr-ps-file-list) + (pr-insert-section-1, pr-insert-section-2) + (pr-insert-section-4, pr-insert-section-5, pr-choice-alist) + Remove redundant #' before lambda. + +2021-04-25 Stefan Kangas + + * src/keyboard.c (Flossage_size): Improve prompt. + +2021-04-25 Stefan Kangas + + Show correct lossage size in help-for-help + + * lisp/help.el (help-for-help): Show correct lossage size. Add + trailing newline. + Suggested by Gregory Heytings . + +2021-04-25 Štěpán Němec + + * doc/lispref/macros.texi (Eval During Expansion): Copy edit. + +2021-04-25 Daniel Mendler + + (completion-all-sorted-completions): Fix history use with boundaries + + Preprocess the history (and the default) through the new function + `minibuffer--sort-preprocess-history` to filter out the completion + base for completion tables with boundaries (in particular the file + completion table). + + * lisp/minibuffer.el (minibuffer--sort-preprocess-history_: New function. + (completion-all-sorted-completions): Use it. + * test/lisp/minibuffer-tests.el (completion-all-sorted-completions): + Add tests for various combinations of with/without history/base/default. + +2021-04-24 Juri Linkov + + * lisp/progmodes/project.el: Use project-prefixed-buffer-name in more places. + + (project-shell, project-eshell): Use project-prefixed-buffer-name (bug#47975). + (project-compilation-buffer-name-function): Add :version tag. + +2021-04-24 Philipp Stephani + + * doc/misc/cl.texi (For Clauses): Minor copyedits. + +2021-04-24 Stefan Monnier + + * lisp/mpc.el: Avoid (implicit) `eval`; prefer #' to quote function names + + (mpc-format): Compose functions instead of constructing + source-code expressions at run time. + Rename `mpc-pred` property to `mpc--uptodate-p`. + (mpc-status-buffer-refresh): Adjust to the new property name. + +2021-04-24 Stefan Monnier + + * lisp/svg.el: Fix typo in sample code; add minor optimization + + (svg--elliptical-arc-command, svg--moveto-command) + (svg--lineto-command): Use `mapcan`. + +2021-04-24 Stefan Monnier + + * doc/lispref/macros.texi (Eval During Expansion): Fix fixme + +2021-04-24 Glenn Morris + + Simlify top-level Makefile since admin is always included + + * Makefile.in (clean_dirs, distclean_dirs, maintainer_clean_dirs): + Add admin directories. + (clean, distclean, bootstrap-clean, maintainer-clean): Simplify. + (maybeclean_dirs): Remove - this dates to when admin/ was not + included in tar files. + +2021-04-24 Stefan Kangas + + * lisp/help.el (help--for-help-make-sections): Fix typo. + +2021-04-24 Stefan Kangas + + Redesign and improve the help-for-help (C-h C-h) command + + * lisp/help.el (help-for-help): Redesign help screen; add sections, + rearrange and reword. + (help-for-help-header): New face. + (help--for-help-make-commands, help--for-help-make-sections): New + functions. + (help-for-help-buffer-name): New variable. + + * lisp/help-macro.el (make-help-screen): New optional argument + BUFFER-NAME. Fontify keys. + + This change was discussed in: + https://lists.gnu.org/r/emacs-devel/2021-02/msg01695.html + https://lists.gnu.org/r/emacs-devel/2021-03/msg00670.html + https://lists.gnu.org/r/emacs-devel/2021-04/msg00292.html + +2021-04-24 Eli Zaretskii + + Improve detection of pdumper file and *.eln files + + * src/emacs.c (load_pdump_find_executable): Resolve symlinks even + if argv[0] includes leading directories. (Bug#46790) + +2021-04-24 Eli Zaretskii + + Minor update for make-tarball.txt + + * admin/make-tarball.txt (UPDATING THE EMACS WEB PAGES AFTER A + RELEASE): Update and enhance the section to make it easier to find + the banner and verify the updated pages are in place. + +2021-04-24 Jorge P. de Morais Neto (tiny change) + + * doc/misc/cl.texi (Iteration Clauses): fix `never' clause typo + + This fixes bug#47962. + +2021-04-24 Eli Zaretskii + + Obsolete the TAB binding in *xref* buffers + + * doc/emacs/maintaining.texi (Xref Commands): Remove the + description of the TAB binding. Enhance the description of the + RET binding. (Bug#44611) + + * etc/NEWS: Announce the obsolescence of TAB binding in XREF. + + * lisp/progmodes/xref.el (xref-goto-xref): Improve doc string. + +2021-04-24 Stefan Kangas + + * lisp/rot13.el: Improve documentation. (Bug#47970) + +2021-04-24 Eli Zaretskii + + Improve diagnostics of loading *.eln files + + * src/pdumper.c (dump_do_dump_relocation): Improve diagnostics + when loading preloaded *.eln files fails. (Bug#46790) + +2021-04-24 Stefan Monnier + + * lisp/subr.el (remove-hook): Improve last change + + Don't put a `hook--depth-alist` property if there isn't one already. + +2021-04-24 Amin Bandali + + Fix thinko introduced in the last ERC patch (bug#47788) + + * lisp/erc/erc-backend.el (erc-open-network-stream): Need to use apply + to call open-network-stream with the supplied arguments because of the + plist p of arguments. Thanks to neverwas for pointing it out. + +2021-04-23 Stefan Monnier + + * lisp/files.el (minibuffer-with-setup-hook): Fix bug#46326 + +2021-04-23 Stefan Monnier + + * lisp/subr.el (add-hook): Try and fix bug#46326 + + Use `eq` indexing on `hook--depth-alist`. + + (remove-hook): Remove old entries from `hook--depth-alist`. + +2021-04-23 Michael Albinus + + * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p): + + Check, whether Tramp has a package description. + +2021-04-23 Juri Linkov + + * lisp/wdired.el (wdired--before-change-fn): Wrap body in save-match-data. + + Suggested by Michael Heerdegen (bug#14013) + +2021-04-23 Eli Zaretskii + + Fix a recent change in minibuf.texi + + * doc/lispref/minibuf.texi (Basic Completion) + (Programmed Completion): Improve wording, punctuation, and markup + of a recently-added text. + +2021-04-23 Stefan Kangas + + * etc/NEWS: 'world-clock-mode' is no longer interactive. + +2021-04-23 Philipp Stephani + + Expand documentation on nontrivial completion boundaries. + + The interplay between nontrivial completion boundaries and the other + completion functions is somewhat subtle, so it deserves a bit more + explanation. + + * doc/lispref/minibuf.texi (Basic Completion) + (Programmed Completion): Add a few more remarks about nontrivial + completion boundaries. + +2021-04-23 Philipp Stephani + + Fix small bug in 'completion-table-subvert'. + + Even for a trivial underlying completion table (where the 'boundaries' + action returns nil), we need to provide nontrivial boundaries so that + they match the behavior of 'all-completions'. + + * lisp/minibuffer.el (completion-table-subvert): Return boundaries + even for trivial underlying completion table. + * test/lisp/minibuffer-tests.el (completion-table-subvert-test): + Amend unit test to also test boundaries. While there, also test + the other completion functions. + +2021-04-23 Eli Zaretskii + + Revert "Remove the binding for xref-quit-and-goto-xref" + + This reverts commit 522c34f0e80f60969861b0dc34bc7105249f9994. + + Making changes to which there was an explicit disagreement + and a long discussion is unacceptable. (Bug#44611) + +2021-04-23 Dmitry Gutov + + Misc changes + + * lisp/progmodes/project.el (project-shell, project-eshell): + Simplify. + (project-switch-commands, project-switch-use-entire-map): + Add :group keywords (to fix misattribution to project-vc). + +2021-04-23 Amin Bandali + + Add support for using a TLS client certificate with 'erc-tls' (bug#47788) + + * lisp/erc/erc-backend.el (erc-session-client-certificate): New + buffer-local variable storing the TLS client certificate used for the + current connection. + (erc-open-network-stream): Use open-network-stream instead of + make-network-process, and pass any additional arguments to it. + (erc-server-connect): Add an optional client-certificate argument + that if present is passed with the :client-certificate keyword as part + of the arguments to erc-server-connect-function. + * lisp/erc/erc.el (erc-open): Add new optional client-certificate + argument, set it as erc-session-client-certificate, and pass it along + to erc-server-connect. + (erc): Clarify documentation string with respect to the full-name + argument. + (erc-tls): Add new client-certificate keyword argument and pass it in + the direct call to erc-open (instead of going through erc). + (erc-open-tls-stream): Pass any additional arguments (such as + :client-certificate) to open-network-stream. Also allow overriding + :nowait if desired. + + * doc/misc/erc.texi: Add documentation for erc-tls, including the new + :client-certificate argument. + + * etc/NEWS: Announce the change. + +2021-04-23 Ivan Sokolov (tiny change) + + Introduce project-compilation-buffer-name-function + + * lisp/progmodes/project.el (project-compilation-buffer-name-function): + New option. + (project-compile): Use it. + (project-prefixed-buffer-name): New function. + +2021-04-22 Dmitry Gutov + + * lisp/progmodes/xref.el: Remove the "still experimental" note. + +2021-04-22 Dmitry Gutov + + Remove the binding for xref-quit-and-goto-xref + + * lisp/progmodes/xref.el (xref--xref-buffer-mode-map): + Remove the binding for xref-quit-and-goto-xref (bug#44611). + + * doc/emacs/maintaining.texi (Xref Commands): Update. + +2021-04-22 Stefan Kangas + + * lisp/time.el (world-clock-mode): Make non-interactive. + +2021-04-22 Stefan Kangas + + Minor improvements to world-clock + + * lisp/time.el (world-clock-mode-map): New variable. Bind 'n' and + 'p' to 'next-line' and 'previous-line'. + (world-clock-update): Preserve point. + +2021-04-22 Eli Zaretskii + + Fix MS-Windows link switches for unexec + + * configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Disable ASLR + when linking for unexec. Reported by Nikolay Kudryavtsev + . + +2021-04-22 Stefan Kangas + + * lisp/progmodes/which-func.el: Doc fixes. + +2021-04-22 Dmitry Gutov + + Move part of the fix from project to xref + + * lisp/progmodes/project.el (project--find-regexp-in-files): + Don't unquote file names here. + + * lisp/progmodes/xref.el (xref-matches-in-files): Do it here. + And only if the first element in the list is quoted (bug#47799). + +2021-04-22 Philipp Stephani + + Ensure that argument to 'verify' is a constant expression. + + Casting NULL is not a constant expression (Bug#47951). + + * lib-src/seccomp-filter.c (main): Turn check for null pointer + representation into a runtime assertion. + +2021-04-22 Utkarsh Singh (tiny change) + + * lisp/window.el (display-buffer): Doc fix. (Bug#47950) + +2021-04-22 Stefan Monnier + + Fix unload+reload of files using `custom-initialize-delay` (bug#47072) + + * lisp/custom.el (custom-initialize-delay): Don't delay if + `custom-delayed-init-variables` has already been processed. + * lisp/startup.el (command-line): Mark `custom-delayed-init-variables` + as processed. + +2021-04-22 Alan Mackenzie + + Fix unclean "can't happen" error handling in read_minibuf_unwind + + Also fix a bug where, with minibuffer-follows-selected-frame neither nil nor + t, a minibuffer could appear in two frames at the same time. + + * src/window.c (Fset_window_configuration): Add a new &optional parameter + DONT-SET-MINIWINDOW, which inhibits the minibuffer from being restored from + the supplied window configuration. + (restore_window_configuration): Enhance to match the above. + + * src/minibuf.c (read_minibuf): Enhance the argument list to the + restore_window_configuration calls to match the above. In the main case, + restoring the minibuffer is inhibited. + (read_minibuf_unwind): Should the frame with the expired minibuffer not be + found ("can't happen"), unwind the stacked data nevertheless, rather than just + exiting. + + * src/keyboard.c (read_char_help_form_unwind): Amend a call of + Fset_window_configuration. + + * doc/lispref/windows.texi (Window Configurations): Document the new form of + set-window-configuration. + + * etc/NEWS (Lisp Changes in Emacs 28.1): Amend the entry for + set-window-configuration. + +2021-04-22 Eli Zaretskii + + Fix Isearch hscrolling in a corner case + + * lisp/isearch.el (isearch-update): When we start hscrolled, + consider also the case that point ends up being to the left of the + hscrolled window's edge. (Bug#46316) + +2021-04-22 Eli Zaretskii + + Fix 'window-text-pixel-size' when there's after-string at EOB + + * src/xdisp.c (move_it_to): Fix logic of reaching TO_CHARPOS when + there's a display or overlay string(s) at EOB. (Bug#47860) + +2021-04-22 Andrea Corallo + + Improve a native compiler test + + * test/src/comp-tests.el (comp-test-47868-1): Improve + testcase. + * test/src/comp-test-funcs.el (comp-test-47868-3-f) + (comp-test-47868-4-f): New functions. + +2021-04-22 Stefan Kangas + + Avoid lowering gc-cons-threshold + + * lisp/cedet/semantic/wisent/comp.el (wisent--compile-grammar): + * lisp/international/mule-cmds.el (ucs-names): + * lisp/progmodes/ebrowse.el (ebrowse-read): + * test/src/coding-tests.el (benchmark-decoder): Avoid lowering + gc-cons-treshold. + +2021-04-22 Stefan Kangas + + * lisp/strokes.el: Doc fix; update URL. + +2021-04-22 Dmitry Gutov + + Use khaki1 as 'match' background + + * lisp/replace.el (match): Use khaki1 as the background color for + light backgrounds (bug#47574). + +2021-04-21 Stefan Kangas + + * lisp/emacs-lisp/package.el (package-archives): Bump :version. + + * lisp/emacs-lisp/package.el: Doc fix. + +2021-04-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Style fix. + +2021-04-21 Philip K + + Make outline commands repeatable (bug#47878) + + * outline.el (outline-navigation-repeat-map): Add new map. + (outline-editing-repeat-map): Add new map. + +2021-04-21 Mattias Engdegård + + Don't erroneously declare `mark` as error-free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns) + (side-effect-and-error-free-fns): + `mark` is side-effect-free but not error-free. + +2021-04-21 Juri Linkov + + * lisp/isearch.el (isearch-forward-thing-at-point): New command (bug#39512). + + (search-map): Bind "M-s M-." to isearch-forward-thing-at-point. + (isearch-forward-thing-at-point): New defcustom. + +2021-04-21 Juri Linkov + + * lisp/thingatpt.el (region): Put property bounds-of-thing-at-point, bug#39512 + +2021-04-21 Philipp Stephani + + Remove a self-reference from the Emacs Lisp manual. + + * doc/lispref/minibuf.texi (Programmed Completion): Remove + self-reference. + +2021-04-21 Stefan Kangas + + Improve error message for missing Info manual + + * lisp/info.el (Info-find-file): Improve error message for missing + Info manual. (Bug#46236) + Fix suggested by Eli Zaretskii . + +2021-04-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (batch-byte-native-compile-for-bootstrap): Fix typo. + +2021-04-21 Andrea Corallo + + Fix native compiler string hash consing strategy (bug#47868) + + * test/src/comp-tests.el (comp-test-47868-1): Add new test. + * test/src/comp-test-funcs.el (comp-test-47868-1-f) + (comp-test-47868-2-f): New functions. + * lisp/emacs-lisp/comp.el (comp-imm-equal-test): Define new hash + tanble test. + (comp-data-container): Use it. + (comp-final, comp-run-async-workers): have comp required before + reading dumped hashes so that `comp-imm-equal-test' is defined. + +2021-04-21 Andrea Corallo + + Introduce `sxhash-equal-including-properties'. + + * src/fns.c (collect_interval): Move it upwards. + (Fsxhash_equal_including_properties): New function. + (syms_of_fns): Register `sxhash-equal-including-properties'. + * etc/NEWS: Add 'sxhash-equal-including-properties'. + +2021-04-21 Philip K + + sgml-mode: Only set sgml-xml-mode if guessed to be an XML file + + * lisp/textmodes/sgml-mode.el (sgml-mode): Don't override + sgml-xml-mode if the result of the guess is used as the buffer local + value. (Bug#47877) + +2021-04-21 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925 + + In order to correctly detect the case of the "new style" with an empty body, + remove the old optional arguments `init-value`, `lighter`, and `keymap`, + so we can distinguish the "nil arg" from the "absent arg" cases. + +2021-04-20 Harald Jörg + + cperl-mode: Avoid abbrev expansion in variable names + + * lisp/progmodes/cperl-mode.el (cperl-electric-else): Don't expand + scalar variables like '$continue' as keywords. (Bug#47902) + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-hyperactive-electric-else): Verify that keywords are + expanded but variable names aren't. + +2021-04-20 Juri Linkov + + * lisp/wdired.el (wdired--self-insert): Put symbol property delete-selection. + + * lisp/isearch.el (isearch-post-command-hook): Revert ff796823e5 (bug#47894). + +2021-04-20 Jonas Bernoulli + + Add new library transient.el + + * lisp/transient.el: New file. + +2021-04-20 Eli Zaretskii + + Fix Rmail-MIME size estimations + + The quoted-printable estimation was obviously wrong: the size becomes + smaller when decoded, not larger... + * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix estimations + of decoded MIME attachment. + +2021-04-20 Stefan Monnier + + * src/minibuf.c (Fread_no_blanks_input): Move to `minibuffer.el` + + * src/keymap.c (syms_of_keymap): + * lisp/minibuffer.el (minibuffer-local-ns-map): Move declaration + to initialization. + (read-no-blanks-input): Move from `minibuf.c`. + +2021-04-20 Stefan Monnier + + * lisp/minibuffer.el (minibuffer-mode-map): Make it an alias + + Avoid creating this "dummy" keymap by making it an alias of + the parent keymap of all minibuffer keymaps. + +2021-04-20 Stefan Monnier + + * src/minibuf.c (read_minibuf): Change multibyte more safely + + We used to `bset_enable_multibyte_characters` while the buffer is not + empty, putting the buffer temporarily in an inconsistent state. + + Further simplifications along the way: Prefer re-using local var `histvar` + and let `insert` do the unibyte<->multibyte conversion if needed. + +2021-04-20 Eli Zaretskii + + Improve filling-related documentation + + * doc/emacs/text.texi (Auto Fill, Fill Commands): Mention special + line-breaking rules for CJK characters and the kinsoku rules. + (Bug#47856) + + * lisp/textmodes/fill.el + (fill-separate-heterogeneous-words-with-space): Doc fix. + +2021-04-20 Michael Albinus + + Fix localization problem in Tramp + + * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use localized + quotation characters for check. + +2021-04-20 Alan Mackenzie + + Fix bug #47781: (window-list-1 nil t) wrongly returned nil. + + * src/window.c (candidate_window_p): In the WINDOW_P (all_frames) branch of + the conditional, insert "EQ (minibuf, Qt)" in the requisite place. + +2021-04-20 Alan Mackenzie + + Introduce and use minibuffer-mode. This fixes bug #47150 + + * lisp/minibuffer.el (minibuffer-mode): New derived mode. + + * src/minibuf.c (syms_of_minibuf): New DEFSYMs Qminibuffer_mode, + Qminibuffer_inactive_mode, Qminibuffer_completing_file_name, + Qselect_frame_set_input_focus, Qadd_to_history. + (read_minibuf, set_minibuffer_mode, read_minibuf_unwind): Use the new DEFSYMs + in place of continual interning. + (set_minibuffer_mode): Put an active minibuffer into minibuffer-mode rather + than fundamental-mode. + + * doc/emacs/mini.texi (Minibuffer Edit): Mention minibuffer-mode. + + * doc/lispref/minibuf.texi (Intro to Minibuffers): Add a paragraph about + minibuffer-mode. + + * etc/NEWS (Incompatible Lisp Changes in Emacs 28.1): Add an entry. + +2021-04-20 Daniel Mendler + + (completion-all-sorted-completions): Additional alphabetical sorting + + Even in the cases where it does not make much visible difference, + it brings the benefit of making the result deterministic. + + * minibuffer.el (minibuffer--sort-by-length-alpha): New function. + (minibuffer--sort-by-position): New function extracted from + `completion-all-sorted-completions`. + (completion-all-sorted-completions): Use use them. + +2021-04-19 Daniel Mendler + + minibuffer.el: Use completion--message instead of minibuffer-message + + * minibuffer.el: Use completion--message consistently for the messages + "Incomplete", "Sole completion" and "No completions". + +2021-04-19 Philipp Stephani + + Seccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...). + + The dynamic loader of GNU libc 2.28 uses this system call to + initialize CPU information, see + https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/cpu-features.c;hb=glibc-2.28#l28. + Simulating an older kernel by returning EINVAL should be the most + harmless rule here. + + The ARCH_CET_STATUS symbol isn't yet exposed by the kernel headers; + see the FIXME at the top of + https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/include/asm/prctl.h;hb=glibc-2.28. + + * lib-src/seccomp-filter.c (ARCH_CET_STATUS): Define if not + already present. Inline the value because there doesn't seem to + be a header file exporting this constant yet. + (main): Make ARCH_CET_STATUS subfunction of arch_prctl return EINVAL. + +2021-04-19 Stefan Monnier + + * lisp/minibuffer.el (completion-all-sorted-completions): Fix last change + +2021-04-19 Stefan Monnier + + * lisp/minibuffer.el (minibuffer--sort-by-key): New function + + (completion-all-sorted-completions): Use it. + +2021-04-19 Daniel Mendler + + completion-all-sorted-completions: Fix sorting performance bug + + * lisp/minibuffer.el (completion-all-sorted-completions): Use hash + table for sorting by history position, O(m+n*log(n)) instead of + O(m*n*log(n)) with history length `m` and candidate length `n`. + +2021-04-19 Daniel Mendler + + completing-read: If HIST is the symbol `t', history is not recorded. + + * lisp/minibuffer.el (completion-all-sorted-completions): Check if + `minibuffer-history-variable` is `t` + * src/minibuf.c (completing-read): Update docstring + * doc/lispref/minibuf.texi: Update documentation of + `read-from-minibuffer` and `completing-read` + +2021-04-19 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-04-19 Michael Albinus + + Add Tramp recompilation + + * doc/misc/tramp.texi (Frequently Asked Questions): Refer to GNU + ELPA Tramp README. + + * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p) + (tramp-recompile-elpa): New defuns. Add property `completion-predicate'. + +2021-04-19 Stefan Kangas + + Don't hard-code "~/.emacs.d/" in two more places + + * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): + * lisp/progmodes/js.el (js-js-tmpdir): Don't hard-code + "~/.emacs.d/". + +2021-04-19 Philip K + + Don't hard-code "~/.emacs.d/" in rcirc.el + + * lisp/net/rcirc.el (rcirc-log-directory): Use + locate-user-emacs-file. (Bug#47880) + +2021-04-18 Philipp Stephani + + Factor out a helper macro to create a temporary directory. + + This is a useful abstraction, and saves a few levels of indentation in + the test body. + + * test/lisp/progmodes/project-tests.el + (project-tests--with-temporary-directory): New helper macro. + (project/quoted-directory): Use it. + +2021-04-18 Philipp Stephani + + Add quoted filename support to 'project-find-regexp' (Bug#47799). + + This is only a band-aid; it would be better to fix xref.el to work + with quoted filenames as well. + + * lisp/progmodes/project.el (project--find-regexp-in-files): Unquote + filenames before passing them to 'xref-matches-in-files'. + * test/lisp/progmodes/project-tests.el (project/quoted-directory): + Also test 'project-find-regexp'. + +2021-04-18 Philipp Stephani + + Extend project test so that 'project-current' works. + + * test/lisp/progmodes/project-tests.el (project/quoted-directory): + Verify that 'project-current' returns the right project. + +2021-04-18 Philipp Stephani + + Skip a unit test that requires an external program if necessary. + + * test/lisp/progmodes/project-tests.el (project/quoted-directory): + Skip if the 'find' program isn't available. The 'project-files' + function uses 'find' to obtain the list of project files. + +2021-04-18 Eli Zaretskii + + * src/emacs.c (main): Add back the call to init_callproc_1. (bug#47872) + +2021-04-18 Protesilaos Stavrou + + Update modus-themes to version 1.3.2 + + * doc/misc/modus-themes.org (COPYING): Reword to match the phrasing of + other manuals that are distributed with Emacs. + + (Install from the archives) + (Sample configuration for use-package) + (Option for more bold constructs) + (Option for more slanted constructs) + (Option for syntax highlighting) + (Option for no font mixing) + (Option for links) + (Option for command prompt styles) + (Option for completion framework aesthetics) + (Option for fringe visibility) + (Option for language checkers) + (Option for org-habit graph styles) + (Option for line numbers (display-line-numbers-mode)) + (Option for parenthesis matching (show-paren-mode)) + (Option for diff buffer looks) + (Option for scaled headings) + (Option for variable-pitch font in UI elements) + (Option for variable-pitch font in headings) + (Case-by-case face specs using the themes' palette (DIY)) + (Face specs at scale using the themes' palette (DIY)) + (Font configurations for Org and others (DIY)) + (Load theme depending on time of day): Minor markup changes for better + texi output. + + (Option for mode line presentation): Document new possible values for + 'modus-themes-mode-line'. + + (Option for line highlighting (hl-line-mode)): Document new + 'modus-themes-hl-line' variable, which supersedes + 'modus-themes-intense-hl-line'. + + (Option for active region): Document new possible values for + 'modus-themes-region'. + + (Option for org-mode block styles): Cite variables that affect + fontification. + + (Option for the headings' overall style): Include the option of a + per-level nil value. + + (Remap face with local value (DIY)) + (Override colors (DIY)): Add sections. + + (Full support for packages or face groups): Document newly supported packages + + (Note for dimmer.el) + (Note for EWW and Elfeed fonts (SHR fonts)): Add notes. + + (Acknowledgements): Add names of new contributors. + + (GNU Free Documentation License): Add tags for html export. + + * etc/themes/modus-operandi-theme.el (File) + * etc/themes/modus-vivendi-theme.el (File): Update to version 1.3.1 + + * etc/themes/modus-themes.el (modus-themes-operandi-colors) + (modus-themes-vivendi-colors) + (modus-theme-subtle-red) + (modus-themes-subtle-red) + (modus-theme-subtle-green) + (modus-themes-subtle-green) + (modus-theme-subtle-yellow) + (modus-themes-subtle-yellow) + (modus-theme-subtle-blue) + (modus-themes-subtle-blue) + (modus-theme-subtle-magenta) + (modus-themes-subtle-magenta) + (modus-theme-subtle-cyan) + (modus-themes-subtle-cyan) + (modus-theme-subtle-neutral) + (modus-themes-subtle-neutral) + (modus-theme-intense-red) + (modus-themes-intense-red) + (modus-theme-intense-green) + (modus-themes-intense-green) + (modus-theme-intense-yellow) + (modus-themes-intense-yellow) + (modus-theme-intense-blue) + (modus-themes-intense-blue) + (modus-theme-intense-magenta) + (modus-themes-intense-magenta) + (modus-theme-intense-cyan) + (modus-themes-intense-cyan) + (modus-theme-intense-neutral) + (modus-themes-intense-neutral) + (modus-theme-refine-red) + (modus-themes-refine-red) + (modus-theme-refine-green) + (modus-themes-refine-green) + (modus-theme-refine-yellow) + (modus-themes-refine-yellow) + (modus-theme-refine-blue) + (modus-themes-refine-blue) + (modus-theme-refine-magenta) + (modus-themes-refine-magenta) + (modus-theme-refine-cyan) + (modus-themes-refine-cyan) + (modus-theme-active-red) + (modus-themes-active-red) + (modus-theme-active-green) + (modus-themes-active-green) + (modus-theme-active-yellow) + (modus-themes-active-yellow) + (modus-theme-active-blue) + (modus-themes-active-blue) + (modus-theme-active-magenta) + (modus-themes-active-magenta) + (modus-theme-active-cyan) + (modus-themes-active-cyan) + (modus-theme-fringe-red) + (modus-themes-fringe-red) + (modus-theme-fringe-green) + (modus-themes-fringe-green) + (modus-theme-fringe-yellow) + (modus-themes-fringe-yellow) + (modus-theme-fringe-blue) + (modus-themes-fringe-blue) + (modus-theme-fringe-magenta) + (modus-themes-fringe-magenta) + (modus-theme-fringe-cyan) + (modus-themes-fringe-cyan) + (modus-theme-nuanced-red) + (modus-theme-nuanced-green) + (modus-theme-nuanced-yellow) + (modus-theme-nuanced-blue) + (modus-theme-nuanced-magenta) + (modus-theme-nuanced-cyan) + (modus-theme-special-cold) + (modus-theme-special-mild) + (modus-theme-special-warm) + (modus-theme-special-calm) + (modus-theme-diff-added) + (modus-theme-diff-changed) + (modus-theme-diff-removed) + (modus-theme-diff-refine-added) + (modus-theme-diff-refine-changed) + (modus-theme-diff-refine-removed) + (modus-theme-diff-focus-added) + (modus-theme-diff-focus-changed) + (modus-theme-diff-focus-removed) + (modus-theme-diff-heading) + (modus-theme-pseudo-header) + (modus-theme-mark-alt) + (modus-theme-mark-del) + (modus-theme-mark-sel) + (modus-theme-mark-symbol) + (modus-theme-heading-1) + (modus-theme-heading-2) + (modus-theme-heading-3) + (modus-theme-heading-4) + (modus-theme-heading-5) + (modus-theme-heading-6) + (modus-theme-heading-7) + (modus-theme-heading-8) + (modus-theme-hl-line) + (modus-theme-bold) + (modus-theme-slant) + (modus-theme-variable-pitch) + (modus-theme-graph-red-0) + (modus-theme-graph-red-1) + (modus-theme-graph-green-0) + (modus-theme-graph-green-1) + (modus-theme-graph-yellow-0) + (modus-theme-graph-yellow-1) + (modus-theme-graph-blue-0) + (modus-theme-graph-blue-1) + (modus-theme-graph-magenta-0) + (modus-theme-graph-magenta-1) + (modus-theme-graph-cyan-0) + (modus-theme-graph-cyan-1) + (modus-theme-lang-note) + (modus-theme-lang-warning) + (modus-theme-lang-error): Rename all internal faces. + + (modus-themes-headings) + (modus-themes-fringes) + (modus-themes-lang-checkers) + (modus-themes-org-blocks) + (modus-themes-org-habit) + (modus-themes-mode-line) + (modus-themes-diffs) + (modus-themes-completions) + (modus-themes-prompts) + (modus-themes-intense-hl-line) + (modus-themes-hl-line) + (modus-themes-paren-match) + (modus-themes-syntax) + (modus-themes-links) + (modus-themes-region): Update defcustom. + + (modus-themes--fringe): + (modus-themes--headings-choice): + (modus-themes--prompt): + (modus-themes--org-block-delim): + (modus-themes--mode-line-attrs): + (modus-themes--link): + (modus-themes--region): + (modus-themes--hl-line): Adjustments to internal functions. + + (modus-themes-faces): Update faces. + (modus-themes-custom-variables): Update custom variables. + +2021-04-18 Eli Zaretskii + + * src/comp.c (fixup_eln_load_path): Simplify code. + +2021-04-18 Eli Zaretskii + + Fix last change + + * src/emacs.c (load_pdump_find_executable): Fix the value of + CANDIDATE_SIZE when the final candidate is a symlink. + +2021-04-18 Philipp Stephani + + Fix Seccomp filter on CentOS 8.3 (Bug#47828). + + * lib-src/seccomp-filter.c (main): mmap: Also allow MAP_SHARED. + +2021-04-18 Stefan Kangas + + * lisp/misearch.el (multi-isearch-pop-state): Doc fix. + +2021-04-18 Martin Rudalics + + Avoid selecting tooltip windows and frames (Bug#47207) + + * src/frame.c (do_switch_frame): Don't switch to a tooltip frame. + (Fselect_frame): Do not select a tooltip frame. + * src/w32fns.c (Fx_show_tip): + * src/xfns.c (Fx_show_tip): Set the tooltip window's + `no-other-window' parameter so `other-window' will skip it. + * src/window.c (select_window): Do not select a tooltip window. + (candidate_window_p): Make sure MINIBUF is live. + (decode_next_window_args): Make sure that W's frame's minibuffer + window is live before including it. + (Qno_other_window): New symbol. + +2021-04-18 Stefan Monnier + + * lisp/emacs-lisp/debug.el (debug): Fix (bug#47588) + + Don't bind `load-read-function` to nil but to its actual default value. + Actually, I'm not sure it's worth the trouble rebinding this var, but + if we do, then we should bind it to a valid value rather than to nil. + + * lisp/emacs-lisp/edebug.el (edebug--eval-defun): Re-install our advice + if needed. + +2021-04-17 Philipp Stephani + + Attempt to print some debugging information on Seccomp failures. + + Try to search the audit log as well as recent core dumps. + + * test/src/emacs-tests.el (emacs-tests--seccomp-debug): New helper + function. + (emacs-tests/seccomp/allows-stdout) + (emacs-tests/seccomp/forbids-subprocess) + (emacs-tests/bwrap/allows-stdout): Use it. + +2021-04-17 Eli Zaretskii + + * src/emacs.c (load_pdump): Fix unconditional references to strip_suffix. + +2021-04-17 Michael Albinus + + Make stderr in Tramp's make-process more robust + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Wrap about + error in inserting stderr file. + + * lisp/net/tramp.el (tramp-handle-make-process): Fix docstring. + +2021-04-17 Eli Zaretskii + + * emacs.c (load_pdump): Fix compilation on picky-complier platforms. + +2021-04-17 Daniel Martín + + Fix reference to "yanking" in the main Emacs manual + + * doc/emacs/emacs.texi (Top): Yanking is alternatively known as + pasting, not copying. (Bug#47839). + +2021-04-17 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Tweak further + + Suggested by Lars Ingebrigtsen . + +2021-04-17 Eli Zaretskii + + Fix loading *.eln files when Emacs is installed via symlinks + + * src/emacs.c (real_filename, set_invocation_vars) + (init_vars_for_load): Functions deleted; callers adjusted. + (init_cmdargs): Put back all the code which was extracted into + set_invocation_vars. + (load_pdump_find_executable): Make sure the return value has any + symlinks in it expanded. + (load_pdump): Accept only 2 arguments, not 3. Determine both the + file name of the Emacs executable and of the dump file in + synchronized manner, so that if we decided to look for the dump + file in its hardcoded installation directory, the directory of the + Emacs executable will also be where we expect it to be installed. + Pass only 2 arguments to pdumper_load. (Bug#47800) (Bug#44128) + * src/pdumper.c (dump_do_dump_relocation): Use emacs_execdir + instead of Vinvocation_directory to produce absolute file names of + *.eln files that are recorded in the pdumper file. Pass the full + .eln file name to fixup_eln_load_path. + (pdumper_set_emacs_execdir) [HAVE_NATIVE_COMP]: New function. + (pdumper_load) [HAVE_NATIVE_COMP]: Call pdumper_set_emacs_execdir. + * src/comp.c (fixup_eln_load_path): Use Fsubstring_no_properties + instead of Fsubstring. No need to cons a file name, as the caller + already did that. Use explicit const string to avoid "magic" + values. + + * lisp/startup.el (normal-top-level): Use expand-file-name instead + of concat. Decode comp-eln-load-path and expand-file-name its + members. + +2021-04-17 Alan Third + + Fix :scale's affect on :width and :height (bug#47819) + + * src/image.c (compute_image_size): Multiply width and height values + by scale. + +2021-04-17 Eli Zaretskii + + Improve documentation of 'map-y-or-n-p' + + * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Doc fix. (Bug#47833) + + * doc/lispref/minibuf.texi (Multiple Queries): Fix the wording in + the description of 'map-y-or-n-p'. + +2021-04-17 Martin Rudalics + + Don't allow quitting while rebuilding Vwindow_list (Bug#47244) + + * src/window.c (window_list, next_window, window_list_1): Don't + allow quitting in Fnconc and Fmemq (Bug#47244). + +2021-04-17 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Improve `C-h f` output + + Suggested by Michael Heerdegen . + +2021-04-17 Stefan Kangas + + Cleanup in em-extra.el + + * lisp/eshell/em-xtra.el (cl-lib): Require. + (pcomplete, compile): Remove unnecessary requires. + (eshell/substitute, eshell/count, eshell/mismatch, eshell/union) + (eshell/intersection, eshell/set-difference) + (eshell/set-exclusive-or): Use cl-lib. Doc fixes. + (eshell/ff, eshell/gf, eshell/expr): Quote function symbols as such. + (eshell/expr): Assume 'calc-eval' is always available. + +2021-04-16 Alan Mackenzie + + Check minibuffer windows are live windows, rather than assuming it + + This partly fixes bug #47207. + + * src/minibuf.c (choose_minibuf_frame, move_minibuffers_onto_frame) + (read_minibuf (twice), read_minibuf_unwind): Before using a frame's + ->minibuffer_window field, check it is valid with WINDOW_LIVE_P. + (choose_minibuf_frame): Remove the emacs_abort for a null minibuffer. + +2021-04-16 Glenn Morris + + Merge from origin/emacs-27 + + eedad01b4b (origin/emacs-27) Fix typos in manuals + 24d214652e Fix description of momentary message display + +2021-04-16 Ashish SHUKLA + + * lisp/emacs-lisp/comp.el (comp-effective-async-max-jobs): Handle BSD. + +2021-04-16 Robert Pluim + + Improve docstring of 'frame-scale-factor' + + * src/frame.c (Fframe_scale_factor): Explain what happens when the + FRAME argument is nil. + +2021-04-16 Dmitry Gutov + + Improve quoting of directory names in project/xref + + * lisp/progmodes/project.el (project--files-in-directory): + Quote LOCALDIR a bit earlier, to affect + xref--find-ignores-arguments as well (bug#47799). + + * lisp/progmodes/xref.el (xref-matches-in-directory): + Quote the dir passed to xref--rgrep-command. + +2021-04-16 Dmitry Gutov + + project--files-in-directory: Handle errors reported by 'find' + + * lisp/progmodes/project.el (project--files-in-directory): + Handle errors reported by 'find' (bug#47799). + +2021-04-15 Eli Zaretskii + + Fix 'garbage-collect-maybe' + + * src/alloc.c (Fgarbage_collect_maybe): No longer interactive. + (Bug#47805) + +2021-04-15 Alan Third + + Allow use of em in image spec sizes + + * src/image.c (image_get_dimension): New function. + (compute_image_size): Use image_get_dimension to set the sizes, and + pass in the image struct instead of just the spec. + (image_set_transform): + (imagemagick_load_image): + (svg_load_image): Use the image instead of the spec in compute_image_size. + (syms_of_image): Add 'em' as a symbol. + +2021-04-15 Philipp Stephani + + Improve project support for quoted directory names (Bug#47799) + + * lisp/progmodes/project.el (project--files-in-directory): Unquote + directory name before passing it to 'find'. + (project--remote-file-names): Requote local filenames if the original + directory is quoted. + * test/lisp/progmodes/project-tests.el (project/quoted-directory): New + unit test. + +2021-04-15 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Allow non-fixed size of `strz` + + (bindat--unpack-strz): Allow `len` to be nil. + (bindat--pack-strz): New function. + (bindat--type) : Make `len` arg optional. + (bindat-type): Adjust debug spec and docstring accordingly. + + * doc/lispref/processes.texi (Bindat Types): Adjust accordingly. + +2021-04-15 Mattias Engdegård + + Add condition-case success handler (bug#47677) + + Allow a condition-case handler on the form (:success BODY) to be + specified as the success continuation of the protected form, with + the specified variable bound to its result. + + * src/eval.c (Fcondition_case): Update the doc string. + (internal_lisp_condition_case): Implement in interpreter. + (syms_of_eval): Defsym :success. + * lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case): + Implement in byte-compiler. + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Allow self-TCO + from success handler. + * doc/lispref/control.texi (Handling Errors): Update manual. + * etc/NEWS: Announce. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases) + (bytecomp-condition-case-success): + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + Add test cases. + +2021-04-15 Alan Mackenzie + + CC Mode: Put debug specs inside declare forms. Add missing debug specs. + + * lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el, + lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el, + lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-langs.el, + lisp/progmodes/cc-mode.el: Change the explicit def-edebug-spec for many macros + into a (declare (debug ...) ..) form. Add such forms to macros which were + previously lacking def-edebug-spec forms. + +2021-04-14 Andrea Corallo + + * configure.ac: Revert prev commit and fix native-comp NetBSD build. + +2021-04-14 Juri Linkov + + repeat-echo-mode-line-string doesn't need risky-local-variable to keep props + + (bug#47566) + +2021-04-14 Filipp Gunbin + + Java Mode: Change the syntax of character @ to prefix syntax + + lisp/progmodes/cc-langs.el (c-make-mode-syntax-table): Change the syntax of @ + as indicated. + +2021-04-14 Juri Linkov + + * lisp/isearch.el (isearch-mouse-2): Let-bind isearch-mode to nil (bug#47755) + +2021-04-14 Juri Linkov + + Don't error out when selection data is unavailable (bug#47642) + + * src/xselect.c (x_get_window_property_as_lisp_data): + Display a message and return nil when data is not available. + +2021-04-14 Juri Linkov + + * lisp/progmodes/gud.el (gud-repeat-map): New variable (bug#47688). + + (gud-gdb): Populate gud-repeat-map with repeating keys. + +2021-04-14 Juri Linkov + + * lisp/repeat.el: Add option to indicate repeat-mode in mode-line (bug#47566) + + * lisp/repeat.el (repeat-echo-function): Rename from repeat-mode-echo. + Add choice repeat-echo-mode-line. + (repeat-in-progress): New variable. + (repeat-post-hook): Call repeat-echo-function with nil arg + at the end of repeating sequence. + (repeat-echo-message-string): New function with body from repeat-post-hook. + (repeat-echo-message): Rename from repeat-mode-message. + (repeat-echo-mode-line-string): New variable. + (repeat-echo-mode-line): New function. + +2021-04-14 Andrea Corallo + + * configure.ac: Fix native-comp FreeBSD build. + +2021-04-14 Eli Zaretskii + + Fix MS-Windows build following last change + + * src/emacs.c (real_filename) [WINDOWSNT]: Fix off-by-one error + when allocating storage for a file name. + +2021-04-14 Andrea Corallo + + * Fix native-comp startup for symliked binary (bug#44128) + + * src/emacs.c (real_filename): New function. + (set_invocation_vars, load_pdump): Make use of. + +2021-04-14 Michael Albinus + + Rearrange argument handling in Tramp scp calls. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Use `start-process' instead of `start-process-shell-command'. + (tramp-make-copy-program-file-name): Do not quote `localname'. + + * test/lisp/net/tramp-tests.el (tramp-method-out-of-band-p): Declare. + (tramp--test-windows-nt-and-batch-p) + (tramp--test-windows-nt-and-pscp-psftp-p): Remove, and also all callees. + (tramp--test-windows-nt-and-out-of-band-p) + (tramp--test-windows-nt-and-scp-p): New defuns. + (tramp-test17-dired-with-wildcards) + (tramp-test40-special-characters) + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls, tramp-test41-utf8) + (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl) + (tramp-test41-utf8-with-ls): Use them. + +2021-04-14 Eli Zaretskii + + Add two optional arguments to 'string-width' + + * src/character.c (Fstring_width, lisp_string_width): Accept two + optional arguments FROM and TO, to indicate the substring to be + considered. + (Fstring_width): Add caveats in the doc string about display + features ignored by the function. (Bug#47712) + * src/character.h (lisp_string_width): Update prototype. + * src/editfns.c (styled_format): Adjust call of lisp_string_width + to its changed signature. + + * test/src/character-tests.el (character-test-string-width): New + file with tests for 'string-width'. + + * doc/lispref/display.texi (Size of Displayed Text): Document + caveats of using 'string-width'. + + * etc/NEWS: Announce the change. + +2021-04-14 Stefan Monnier + + * src/xdisp.c (wset_update_mode_line): Move from `src/window.c` + + Move that function next to its siblings. Also simplify it, since + after careful analysis it is now clear that the frame's title's update + is already handled elsewhere (in `prepare_menu_bars` and `redisplay_window`) + so we just need to make sure the `redisplay` bit is set. + + * src/window.c (wset_update_mode_line): Move to `src/xdisp.c`. + * src/window.h (wset_update_mode_line): Declare. + +2021-04-14 Stefan Monnier + + * lisp/nxml/xmltok.el (xmltok-defregexp): Don't quote lambda + + * lisp/emacs-lisp/eieio-core.el (list-of): Don't quote lambda + +2021-04-13 Filipp Gunbin + + * doc/lispref/keymaps.texi (Translation Keymaps): Fix small misprint + + * doc/lispref/processes.texi: Fix small misprint + +2021-04-13 Eric Abrahamsen + + Improvements to message-syntax-checks docs and options + + * doc/misc/message.texi: Move the manual entry from the "News Headers" + section to the "Message Headers" section, as it is generally + applicable, not just to News. + * lisp/gnus/message.el (message-syntax-checks): Add an explicit alist + type specifying the valid options; point to the manual for more + information. + +2021-04-13 Stefan Monnier + + * lisp/textmodes/two-column.el: Address FIXME + + (2C-associate-buffer): Move minibuffer interactive to the `interactive` spec. + +2021-04-13 Stefan Monnier + + * lisp/textmodes/paragraphs.el (multiple-lines): Remove mistaken declaration + + (forward-paragraph): Remove unused var `multiple-lines`. + +2021-04-13 Eli Zaretskii + + Resurrect mouse-highlight of close buttons on tab-bar + + * src/w32term.c (w32_draw_image_relief): Support tab-bar drawing + with relief as xterm.c does. + + * src/xdisp.c (handle_tab_bar_click): Access the mouse-highlight + info. Call show_mouse_face to show the button in the pressed or + the released state, according to value of DOWN_P. + (note_tab_bar_highlight): Function added back. + (note_mouse_highlight): Call note_tab_bar_highlight when the mouse + pointer is in the tab-bar window. + (show_mouse_face): Return immediately if mouse_face_window is not + set up in HLINFO. This avoids rare assertion violations. + +2021-04-13 Eli Zaretskii + + Fix typos in manuals + + * doc/misc/eshell.texi (Completion): + * doc/lispref/objects.texi (Mutability): Fix typos. (Bug#47738) + +2021-04-13 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-04-13 Andrea Corallo + + * Fix two comp-cstr tests + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix test 53 70. + +2021-04-13 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): (not null) => t. + + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset): Remove duplicates. + +2021-04-13 Stefan Monnier + + * lisp/comint.el: Add `font-lock-face` to `rear-nonsticky` + + (comint--prompt-rear-nonsticky): New const. + (comint-send-input, comint-output-filter): Use it. + +2021-04-13 Stefan Monnier + + Don't version-control generated file `grammat-wy.el` + + This file is needed for CEDET's bootstrap, tho, so we now keep a copy of it + under version control in `gram-wy-boot.el`, very much like we do with + the `ldefs-boot.el` copy of `loaddefs.el`. + + * lisp/cedet/semantic/grm-wy-boot.el: Rename from + `lisp/cedet/semantic/grammar-wy.el`. + + * lisp/cedet/semantic/grammar.el: Load `grm-wy-boot.el` if + `grammar-wy.el` hasn't been generated yet. + + * admin/update_autogen: Also refresh `grm-wy-boot.el`. + + * admin/grammars/Makefile.in (WISENT): Add `grammar-wy.el` to the + generated files. + + * .gitignore: Add `grammar-wy.el`. + +2021-04-13 Stefan Monnier + + * lisp/minibuffer.el (completion-table-with-quoting): Fix bug#47678 + +2021-04-12 Wilson Snyder + + * lisp/progmodes/verilog-mode.el (vl-memory): Add missing defvar. + +2021-04-12 Stefan Monnier + + * lisp/emacs-lisp/smie.el: Fix URL. Remove redundant `:group` args + + (smie-indent-forward-token): Improve error message. + (smie--funcall): New function. + (smie-indent-calculate): Use it. + +2021-04-12 Stefan Monnier + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): Simplify + + * lisp/emacs-lisp/float-sup.el (pi): Actually mark it as obsolete + + * lisp/emacs-lisp/edebug.el (edebug--frame): Move docstring where it belongs + +2021-04-12 Stefan Monnier + + * lisp/vt-control.el: Avoid `called-interactively-p` + + (vt-keypad-on, vt-keypad-off): Use the `tell` arg instead. + (vt-numlock): Add `tell` arg. + +2021-04-12 Stefan Monnier + + * lisp/files.el (file-modes-number-to-symbolic): Add `filetype` arg. + + * lisp/tar-mode.el (tar-header-block-summarize): Use it. + (tar-grind-file-mode): Declare obsolete. + +2021-04-12 Stefan Monnier + + * lisp/frame.el (delete-other-frames): Add universal prefix `iconify` arg + + (frame--current-backround-mode): New function, + extracted from `frame-set-background-mode`. Use `color-dark-p`. + (frame-set-background-mode): Use it. + +2021-04-12 Juri Linkov + + * lisp/repeat.el (repeat-mode-echo): New defcustom. + + (repeat-post-hook): Use it. + (repeat-mode-message): New function (bug#47566). + (repeat-post-hook): Use real-this-command instead of this-command + to handle e.g. rectangle-exchange-point-and-mark remapped to + exchange-point-and-mark (bug#47688). + +2021-04-12 Stefan Monnier + + * lisp/dynamic-setting.el: Add missing footer + + * lisp/comint.el (comint-strip-ctrl-m): Avoid `called-interactively-p` + +2021-04-12 Glenn Morris + + * lisp/strokes.el (strokes-mode): Fix typo in previous. + +2021-04-12 Stefan Monnier + + (define-minor-mode): Warn about use of pre-Emacs-21 style args + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): + Use `advertised-calling-convention` to avoid promoting the old + style arguments. Emit a wanring when old-style arguments are used. + Massage the docstring accordingly. + * doc/lispref/modes.texi (Defining Minor Modes): Document the keyword + arguments rather than the old-style positional arguments. + +2021-04-12 Stefan Monnier + + * lisp/progmodes/vhdl-mode.el: Add note about XEmacs compatibility + +2021-04-12 Lars Ingebrigtsen + + Adjust verilog-mode to changes in the completion framework + + * lisp/progmodes/verilog-mode.el (verilog-func-completion): Don't + bug out on `C-M-i' (which expects no point movement) (bug#47652). + (verilog-declaration-end): There may be no semicolons; don't bug out. + +2021-04-12 Shitikanth Kashyap (tiny change) + + Fix python-shell-switch-to-shell redisplay bug + + * lisp/progmodes/python.el (python-shell-switch-to-shell): + Redisplay the switched-to window faster (bug#47679). + +2021-04-12 Ralph Schleicher + + Add command in eww to toggle images + + * lisp/net/eww.el (eww-toggle-images): New function. + (eww-mode-map): Add key binding and menu entry. + * lisp/net/shr.el (shr-inhibit-images): Make it customizable. + * doc/misc/eww.texi (Basics): Document eww-toggle-images. + Fix index entries for shr-use-fonts and shr-use-colors. + (Advanced): Document shr-inhibit-images + (bug#47705). + +2021-04-12 Junya Takahashi (tiny change) + + Fix args-out-of-range error in epa-file-insert-file-contents + + * lisp/epa-file.el (epa-file-insert-file-contents): Don't bug out + on a region that's longer than the file (bug#47718). + +2021-04-12 Philipp Stephani + + * lib-src/seccomp-filter.c: Add missing headers. + +2021-04-12 Philipp Stephani + + Generate Seccomp filters only if we have the necessary constants. + + If we're missing SECCOMP_SET_MODE_FILTER, the seccomp-filter build + fails. Reuse the existing HAVE_SECCOMP configuration variable, which + checks for these macros. + + * configure.ac (HAVE_SECCOMP): Substitute in Makefile.in. + * lib-src/Makefile.in (HAVE_SECCOMP): New variable. + (SECCOMP_FILTER): Define only if HAVE_SECCOMP. + +2021-04-12 Stefan Monnier + + * lisp/**/*.el: Avoid positional args to `define-minor-mode` + + Back in Emacs-21.1, `define-minor-mode` grew keywords arguments to + replace its old positional arguments. Let's make sure we don't use + the old-style any more. + + * lisp/org/ox-beamer.el (org-beamer-mode-map): Move initialization + into declaration. + (org-beamer-mode): + * lisp/textmodes/tildify.el (tildify-mode): + * lisp/textmodes/sgml-mode.el (html-autoview-mode): + * lisp/textmodes/rst.el (rst-minor-mode): + * lisp/textmodes/remember.el (remember-notes-mode): + * lisp/textmodes/ispell.el (ispell-minor-mode): + * lisp/tar-mode.el (tar-subfile-mode): + * lisp/strokes.el (strokes-mode): + * lisp/so-long.el (so-long-minor-mode): + * lisp/shell.el (shell-dirtrack-mode): + * lisp/scroll-all.el (scroll-all-mode): + * lisp/ruler-mode.el (ruler-mode): + * lisp/rect.el (rectangle-mark-mode): + * lisp/progmodes/sh-script.el (sh-electric-here-document-mode): + * lisp/outline.el (outline-minor-mode): + * lisp/org/org.el (org-cdlatex-mode): + * lisp/org/org-table.el (org-table-header-line-mode) + (org-table-follow-field-mode, orgtbl-mode): + * lisp/org/org-src.el (org-src-mode): + * lisp/org/org-list.el (org-list-checkbox-radio-mode): + * lisp/org/org-indent.el (org-indent-mode): + * lisp/org/org-capture.el (org-capture-mode): + * lisp/obsolete/pc-select.el (pc-selection-mode): + * lisp/obsolete/iswitchb.el (iswitchb-mode): + * lisp/net/rcirc.el (rcirc-omit-mode, rcirc-multiline-minor-mode) + (rcirc-track-minor-mode): + * lisp/net/goto-addr.el (goto-address-mode, goto-address-prog-mode): + * lisp/image-mode.el (image-minor-mode): + * lisp/ibuf-ext.el (ibuffer-auto-mode): + * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): + * lisp/font-core.el (font-lock-mode): + * lisp/erc/erc.el (define-erc-module): + * lisp/erc/erc-track.el (erc-track-minor-mode): + * lisp/erc/erc-fill.el (erc-fill-mode): + * lisp/epa-mail.el (epa-mail-mode): + * lisp/emacs-lisp/checkdoc.el (checkdoc-minor-mode): + * lisp/dirtrack.el (dirtrack-mode, dirtrack-debug-mode): + * lisp/dired-aux.el (dired-isearch-filenames-mode): + * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode): + * lisp/cedet/semantic/decorate/mode.el (semantic-decoration-mode): + * lisp/autoarg.el (autoarg-mode, autoarg-kp-mode): + * lisp/vc/pcvs.el (cvs-minor-mode): + Avoid old-style positional args to `define-minor-mode`. + +2021-04-12 Stefan Monnier + + * lisp/gnus/message.el: Give non-nil defaults for function vars + + Also prefer #' to quote functions. + + (message-send-rename-function, message-reply-to-function) + (message-wide-reply-to-function, message-followup-to-function): + Use a non-nil default value so it can be used with `add-function`. + (message-do-send-housekeeping): Tweak accordingly. + (message-get-reply-headers): Simplify by η-reduction. + +2021-04-12 Stefan Monnier + + * lisp/eshell/esh-util.el: Require `seq` + + Also remove redundant `:group` args and tweak comment + +2021-04-12 Stefan Monnier + + * lisp/eshell/esh-proc.el (eshell-kill-process-function): Use `remove-hook` + + Also remove redundant `:group` args + +2021-04-12 Stefan Monnier + + * lisp/mail/rmailmm.el (rmail-mime): Simplify interactive spec + + * lisp/progmodes/sql.el (sql-mode-ansi-font-lock-keywords): Fix declaration + +2021-04-12 Stefan Monnier + + * lisp/vc/log-edit.el (log-edit-diff-function): Give non-nil default + + (log-edit-show-diff): Simplify accordingly. + +2021-04-12 Stefan Monnier + + * lisp/progmodes/bug-reference.el: Avoid old-style `define-minor-mode` + + (bug-reference-mode, bug-reference-prog-mode): Remove redundant args. + +2021-04-11 Philipp Stephani + + * src/emacs.c (load_seccomp): Consistently check for nonzero result + +2021-04-11 Philipp Stephani + + Add a variant of the Seccomp filter file that allows 'execve'. + + This is useful when starting Emacs with a Seccomp filter enabled, + e.g. using 'bwrap'. + + * lib-src/seccomp-filter.c (main): Generate new Seccomp files. + + * lib-src/Makefile.in (all) + (seccomp-filter.bpf seccomp-filter.pfc seccomp-filter-exec.bpf + seccomp-filter-exec.pfc): Generate new Seccomp files. + + * .gitignore: Ignore new Seccomp files. + + * test/src/emacs-tests.el (emacs-tests/bwrap/allows-stdout): New unit + test. + +2021-04-11 Philipp Stephani + + * lib-src/seccomp-filter.c (main): Also allow O_NOFOLLOW. + +2021-04-11 Philipp Stephani + + Don't attempt to generate Seccomp filter file in Linux < 4.14. + + Only Linux 4.14 and later contain the required support for + SECCOMP_RET_KILL_PROCESS. + + * lib-src/Makefile.in (SECCOMP_FILTER): Define only if we run at least + Linux 4.14. + +2021-04-11 Philipp Stephani + + Seccomp filter: allow reading the current time (Bug#47708). + + * lib-src/seccomp-filter.c (main): Allow reading the current time. + +2021-04-11 Andreas Schwab + + Fix check for timer_getoverrun + + * configure.ac (timer_getoverrun): Move check after gnulib checks + and use $LIB_TIMER_TIME during check. + +2021-04-11 Philipp Stephani + + Use pkg-config to check for libseccomp. + + We need at list version 2.4.0 of libseccomp for seccomp-filter.c to + build cleanly. + + * configure.ac: Use pkg-config to check for libseccomp. + * lib-src/Makefile.in (HAVE_LIBSECCOMP, LIBSECCOMP_LIBS) + (LIBSECCOMP_CFLAGS): New variables. + (SECCOMP_FILTER, seccomp-filter$(EXEEXT)): Use them. + +2021-04-11 Philipp Stephani + + Remove SCMP_FLTATR_CTL_LOG attribute from Seccomp filter. + + Whether or not we log failing syscalls isn't security-critical, and we + shouldn't care. + + * lib-src/seccomp-filter.c (main): Remove log attribute. + +2021-04-11 Philipp Stephani + + Only attempt to generate seccomp filter files on x86-64 systems. + + The seccomp filters are always architecture-specific, and + seccomp-filter.c right now only supports x86-64. + + * lib-src/Makefile.in (SECCOMP_FILTER): New variable. + (DONT_INSTALL, all, seccomp-filter$(EXEEXT)): Use it. + +2021-04-11 Philipp Stephani + + * lib-src/seccomp-filter.c: Print trailing newline. + +2021-04-11 Stefan Kangas + + * doc/lispref/elisp.texi (Top): Add missing entry. + +2021-04-11 Eli Barzilay + + Fix calculator-string-to-number yet again (bug#47694) + + * lisp/calculator.el (calculator-string-to-number): + The last bugfix changed the code to just blindly replace ".e". This + has some minor problems like making "-." parse as 0.0 instead of -0.0, + and ".1.e1" is parsed as 1 instead of 0.1. Instead, replace the first + "." that is followed by a non-digit with ".0". Since this has had + several problems over the years, add some tests too. (Also, restore + the original if-indentation style.) + +2021-04-11 Mattias Engdegård + + Fix typo in cconv + + * lisp/emacs-lisp/cconv.el (cconv-convert): Typo. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + Add test case. + +2021-04-11 Philipp Stephani + + Add another check for the required header . + + * configure.ac: Also check for . + * src/emacs.c (SECCOMP_USABLE): Also check for . + +2021-04-11 Philipp Stephani + + Also check for needed seccomp macros. + + It looks like these are not available on some versions of GNU/Linux, + breaking the build. + + * configure.ac: Also check for needed seccomp macros. + * src/emacs.c (SECCOMP_USABLE): New macro. + (usage_message, main, standard_args): Use it. + +2021-04-11 Eli Zaretskii + + Fix handling of mouse clicks on tab-bar buttons + + * src/xdisp.c (note_mouse_highlight): Don't attempt to highlight + tab-bar buttons. + (note_tab_bar_highlight): Function deleted: it had no effect on + display of tab-bar buttons. + (tab_bar_item_info): Mention all arguments in the commentary. + (get_tab_bar_item): Don't pay attention to mouse-highlight + information; instead, compare the button's index with the one + recorded in f->last_tab_bar_item. + (handle_tab_bar_click): Don't attempt to show tab-bar buttons in + pressed or released state: that isn't supported. Determine + whether to generate a tab-bar button click based on DOWN_P + argument, not on mouse-highlight, which has no effect on tab-bar + display. (Bug#47581) + +2021-04-11 Stefan Monnier + + * lisp/net/shr.el (shr-insert-document): Explain why bidi-display-reordering + +2021-04-11 Gregory Heytings + João Távora + + Add new icomplete-vertical-mode + + + * lisp/icomplete.el (icomplete-completions): Consider icomplete-vertical-mode. + (icomplete-vertical-mode-minibuffer-map): New map. + (icomplete--vertical-minibuffer-setup): New helper. + (icomplete-vertical-mode): New minor mode. + + * doc/emacs/buffers.texi (Icomplete): Mention icomplete-vertical-mode. + + * etc/NEWS: Mention icomplete-vertical-mode + +2021-04-11 Stefan Monnier + + * lisp/misearch.el (multi-isearch-read-buffers): Fix last change + + These are not buffers but buffer names. + +2021-04-10 Philipp Stephani + + * src/emacs.c (read_full): Add a few assertions. + +2021-04-10 Stefan Monnier + + * lisp/cus-dep.el: Use lexical-binding + +2021-04-10 Stefan Monnier + + * lisp/misearch.el: Use lexical-binding + + (multi-isearch-read-buffers, multi-isearch-read-files): + Replace `add-to-list` with `cl-pushnew` for use on a local variable. + +2021-04-10 Philipp Stephani + + * src/emacs.c (load_seccomp): Add a useful assertion. + + * src/emacs.c (load_seccomp): Fix condition. + +2021-04-10 Stefan Monnier + + * lisp/ps-bdf.el: Use lexical-binding + + * lisp/informat.el: Use lexical-binding + + * lisp/loadup.el: Use lexical-binding + +2021-04-10 Stefan Monnier + + * lisp/jka-compr.el: Use lexical-binding + + Prefer #' to quote function names. + +2021-04-10 Philipp Stephani + + * etc/NEWS: Extend paragraph about &define form and backtracking + +2021-04-10 Alan Mackenzie + + Convert CC Mode to lexical binding in Emacs + + lisp/progmodes/cc-align.el, lisp/progmodes/cc-awk.el, + lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el, + lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el, + lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-guess.el, + lisp/progmodes/cc-langs.el, lisp/progmodes/cc-menus.el, + lisp/progmodes/cc-mode.el, lisp/progmodes/cc-styles.el, + lisp/progmodes/cc-subword.el, lisp/progmodes/cc-vars.el: Mark these files with + a `lexical-binding' setting in line 1. + + lisp/progmodes/cc-align.el, lisp/progmodes/cc-engine.el, + lisp/progmodes/cc-vars.el (c-syntactic-context, c-syntactic-element): Declare + these as special variables. + + lisp/progmodes/cc-bytecomp.el (cc-bytecomp-debug-msg): prefix the parameter + ARGS with a _, and remove an `ignore' call. + + lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Remove `kluge-start', + an unused variable. + (c-while-widening-to-decl-block): Add an extra parameter, which suppresses + the generation of a setting of variable `where'. + (c-defun-name-and-limits): Remove variable `where' from the function and use + the new argument to the previous macro. + + lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state): Remove two unneeded + variables, `last' and `intermediate'. + + lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): Remove unused variable. + + lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Replace the doc + string with the more precise one from stand-alone CC Mode. + + lisp/progmodes/cc-styles.el (c-set-offset): Give the `ignored' parameter a + leading _. + +2021-04-10 Philipp Stephani + + Add a helper binary to create a basic Secure Computing filter. + + The binary uses the 'seccomp' helper library. The library isn't + needed to load the generated Secure Computing filter. + + * configure.ac: Check for 'seccomp' header and library. + + * lib-src/seccomp-filter.c: New helper binary to generate a generic + Secure Computing filter for GNU/Linux. + + * lib-src/Makefile.in (DONT_INSTALL): Add 'seccomp-filter' helper + binary if possible. + (all): Add Secure Computing filter file if possible. + (seccomp-filter$(EXEEXT)): Compile helper binary. + (seccomp-filter.bpf seccomp-filter.pfc): Generate filter files. + + * test/src/emacs-tests.el (emacs-tests/seccomp/allows-stdout) + (emacs-tests/seccomp/forbids-subprocess): New unit tests. + + * test/Makefile.in (src/emacs-tests.log): Add dependency on the helper + binary. + +2021-04-10 Philipp Stephani + + * src/emacs.c (load_seccomp): Fix condition. + +2021-04-10 Philipp Stephani + + Read file in a loop if necessary. + + This allows for short reads from 'emacs_read'. + + * src/emacs.c (read_full): New helper function. + (load_seccomp): Use it. + +2021-04-10 Philipp Stephani + + Add support for --seccomp command-line option. + + When passing this option on GNU/Linux, Emacs installs a Secure + Computing kernel system call filter. See Bug#45198. + + * configure.ac: Check for seccomp header. + + * src/emacs.c (usage_message): Document --seccomp option. + (emacs_seccomp): New wrapper for 'seccomp' syscall. + (load_seccomp, maybe_load_seccomp): New helper functions. + (main): Potentially load seccomp filters during startup. + (standard_args): Add --seccomp option. + + * lisp/startup.el (command-line): Detect and ignore --seccomp option. + + * test/src/emacs-tests.el (emacs-tests/seccomp/absent-file) + (emacs-tests/seccomp/empty-file) + (emacs-tests/seccomp/file-too-large) + (emacs-tests/seccomp/invalid-file-size): New unit tests. + (emacs-tests--with-temp-file): New helper macro. + + * etc/NEWS: Document new --seccomp option. + +2021-04-10 Philipp Stephani + + Edebug: Disable backtracking when hitting a &define keyword. + + Edebug doesn't deal well with backtracking out of definitions, see + Bug#41988. Rather than trying to support this rare situation (e.g. by + implementing a multipass parser), prevent it by adding an implicit + gate. + + * lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Disable + backtracking when hitting a &define keyword. + + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests-duplicate-&define): New unit test. + (edebug-tests--duplicate-&define): New helper macro. + + * doc/lispref/edebug.texi (Backtracking): Mention &define in the list + of constructs that disable backtracking. + + * etc/NEWS: Document new behavior. + +2021-04-10 Stefan Monnier + + * lisp/gnus/nnagent.el: Fix spurious empty line at BOB + +2021-04-10 Stefan Monnier + + * lisp/edmacro.el: Use lexical-binding + + (edmacro-finish-edit, edmacro-parse-keys): Use `match-string`. + +2021-04-10 Stefan Monnier + + * lisp/files-x.el: Use lexical-binding + +2021-04-10 Stefan Monnier + + * lisp/ps-mule.el: Use lexical-binding + + (ps-mule-encode-header-string, ps-mule-begin-job): Use `pcase`. + +2021-04-10 Gregory Heytings + + Autoload list-colors-display. + + * lisp/facemenu.el (list-colors-display): Autoload, it is mentioned + in (info "(emacs)Colors for Faces"), and to be generally available. + +2021-04-10 Michael Albinus + + Tramp: fix location of files on W32 + + * lisp/net/tramp.el: + * lisp/net/tramp-sh.el: Use (eq system-type 'windows-nt) where appropriate. + (tramp-completion-function-alist-ssh): Fix location of files on W32. + +2021-04-10 Jim Porter (tiny change) + + Further fix of hostname completion on MS Windows + + * lisp/net/tramp.el (tramp-completion-file-name-regexp-simplified) + (tramp-completion-file-name-regexp-separate): Fix W32 hostname/method + completion for simplified and separate syntaxes (same as the previous change + to default syntax). + +2021-04-10 Eli Zaretskii + + Fix description of momentary message display + + * doc/emacs/mini.texi (Basic Minibuffer): Update the description + of momentary message display while minibuffer is active. + (Bug#47689) + +2021-04-10 João Távora + + Fail earlier if stale Flymake report functions called + + If a Flymake backend calls a "stale" report function, + flymake--handle-report might be called for a backend function that is + no longer in the flymake--backend-state hash table. This patch makes + that erroneous situation slightly more explicit. + + * lisp/progmodes/flymake.el (flymake--handle-report): Improve + error reporting. + +2021-04-10 Dmitry Gutov + + Don't stop when before space or closing paren + + * lisp/progmodes/elisp-mode.el (elisp-completion-at-point): + Don't stop when before space or closing paren (bug#47665). + +2021-04-09 Alan Mackenzie + + CC Mode: fix c-where-wrt-brace-construct to cope with class declarations + + Make the function correctly recognize a brace block preceded by an + introductory line without a parameter list. + + * lisp/progmodes/cc-cmds.el (c-where-wrt-brace-contruct): Reintroduce the use + of c-beginning-of-decl-1, which was removed some weeks ago, in place of a + c-syntactic-skip-backward. Reformulate the code generally. + +2021-04-09 Mattias Engdegård + + Fix condition-case optimiser bug + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't + perform incorrect optimisations when a condition-case variable shadows + another lexical variable. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases): + New test case. + +2021-04-09 Mattias Engdegård + + Better compiler warning tests + + These changes allow all bytecomp-tests to be run interactively. + + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp--with-warning-test) + (bytecomp--define-warning-file-test): Interpret any space in the + pattern as arbitrary whitespace to tolerate line breaks. + Don't abuse the expected-failure mechanism when checking + for the expected absense of a warning. + (bytecomp/*.el): Rewrite patterns to work with line breaks + in the middle. + +2021-04-09 Mattias Engdegård + + Clean up bytecomp-tests.el + + Now all test cases are run with both lexical and dynamic binding + where applicable, comparing interpreted against compiled results. + Previously, almost all tests were only run with dynamic binding + which was definitely not intended. + + * test/lisp/emacs-lisp/bytecomp-tests.el + (byte-opt-testsuite-arith-data): Rename to bytecomp-tests--test-cases. + (bytecomp-check-1, bytecomp-explain-1, bytecomp-tests) + (bytecomp-lexbind-tests, bytecomp-lexbind-check-1) + (bytecomp-lexbind-explain-1): Remove. + (bytecomp-tests--eval-interpreted, bytecomp-tests--eval-compiled) + (bytecomp-tests-lexbind, bytecomp-tests-dynbind) + (bytecomp-tests--test-cases-lexbind-only): New. + +2021-04-09 Stefan Kangas + + Make refer-every into obsolete alias for seq-every-p + + * lisp/textmodes/refer.el (refer-every): Make into obsolete + function alias for seq-every-p. Update single caller. + +2021-04-09 Stefan Kangas + + Remove redundant #' before lambda in ibuf-*.el + + * lisp/ibuf-ext.el (ibuffer-included-in-filters-p) + (ibuffer-included-in-filter-p-1, ibuffer-do-kill-lines) + (ibuffer-jump-to-buffer, ibuffer-mark-on-buffer) + (ibuffer-mark-by-name-regexp, ibuffer-mark-by-mode-regexp) + (ibuffer-mark-by-content-regexp, ibuffer-mark-by-mode) + (ibuffer-mark-modified-buffers, ibuffer-mark-unsaved-buffers) + (ibuffer-mark-dissociated-buffers, ibuffer-mark-help-buffers) + (ibuffer-mark-compressed-file-buffers, ibuffer-mark-old-buffers) + (ibuffer-mark-special-buffers, ibuffer-mark-read-only-buffers) + (ibuffer-mark-dired-buffers, ibuffer-do-occur): + * lisp/ibuf-macs.el (ibuffer-save-marks, define-ibuffer-sorter) + (define-ibuffer-op): Remove redundant #' before lambda. + +2021-04-09 Stefan Kangas + + Don't preserve window-line in tabulated-list-print + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print): Don't + try to preserve window-line. (Bug#42747) + +2021-04-09 Stefan Kangas + + Use lexical-binding in winner.el + + * lisp/winner.el: Use lexical-binding. Remove redundant :group + args. + (winner-set, winner-mode-map): Quote function symbols as such. + +2021-04-09 Stefan Monnier + + Merge branch 'vhdl-mode-lexbind' into trunk + +2021-04-09 Stefan Kangas + + Use lexical-binding in cmuscheme.el + + * lisp/cmuscheme.el: Use lexical-binding. Doc fixes. Remove + redundant :group args. Quote function symbols as such. + +2021-04-09 Stefan Kangas + + * lisp/progmodes/cmacexp.el: Use lexical-binding. + +2021-04-09 Stefan Kangas + + Use lexical-binding in foldout.el + + * lisp/foldout.el: Use lexical-binding. Doc and formatting fixes. + Quote function symbols as such. + +2021-04-09 Stefan Kangas + + Use lexical-binding in loadhist.el and add tests + + * lisp/loadhist.el: Use lexical-binding. + * test/lisp/loadhist-tests.el: New file. + +2021-04-09 Mattias Engdegård + + Self-TCO in `condition-case` error handlers + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Recognise + `condition-case` handlers as being in the tail position. + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + Extend test. + +2021-04-09 Jim Porter (tiny change) + + Fix hostname completion on MS Windows + + * lisp/net/tramp.el (tramp-completion-file-name-regexp-default): + Handle volume letter being added to paths for file name completion on W32 + systems. This fixes hostname (and method) autocomplete on W32. + +2021-04-09 Stefan Monnier + + * test/lisp/shadowfile-tests.el: Fix recent test failures + + (shadow--tests-cleanup): `shadow-hashtable` is now a hash table (duh!). + +2021-04-09 Stefan Monnier + + * lisp/progmodes/vhdl-mode.el: Use lexical-binding + + Use #' to quote function names to get better compiler diagnostics. + Wrap some lines to avoid arguments "hidden" in positions that are easy + to misread. + Prefix unused arguments with a semi-colon to silence compiler warnings. + Fix a few comments that used ;;; even though they were not headings. + + (vhdl-emacs-21): Delete variable. + Replace all uses with (not (featurep 'xemacs)) instead since `vhdl-mode` + has been incompatible with Emacs<21 for more than 10 years already. + (vhdl-prepare-search-1): Add Edebug declaration. + (vhdl-prepare-search-2): Add Edebug declaration and use + `with-syntax-table`. + (vhdl-visit-file): Add Edebug and indentation declaration. + Move the bulk of the code to a function for easier debugging. + (vhdl--visit-file): New function extracted from `vhdl-visit-file`. + Be careful not to modify syntax tables in unrelated buffers. + (vhdl-speedbar-refresh): Remove unused var `pos`. + (vhdl-backward-sexp): Remove unused var `last-forward`. + (vhdl-electric-tab, vhdl-minibuffer-tab, vhdl-line-expand): + Rename arg to avoid conflict with the `prefix-arg` + global variable. + (vhdl-align-region-1): Remove unused var `indent`. + (vhdl-character-to-event): Actually give a body to that poor function. + (vhdl-template-context): Remove unused vars `entity-exists` and `string`. + (vhdl-template-group): Remove unused var `start`. + (vhdl-template-argument-list): Remove unused var `start`. + (vhdl-port-paste-context-clause): Remove unused var `margin`. + (vhdl-port-paste-testbench): Remove unused var `source-buffer`. + (vhdl-hs-minor-mode): Declare function `hs-hide-all`. + (vhdl-get-hierarchy): Rename arguments `ent-alist`, `conf-alist`, and + `conf-key` and bind those dynamically scoped var via `let` instead + since arguments can't be dynamically scoped. + (vhdl-speedbar-insert-hierarchy, vhdl-compose-configuration-architecture): + Same thing with arguments `ent-alist` and `conf-alist`. + (vhdl-cache-version): Declare variable. + (speedbar-expand-line, speedbar-edit-line): Declare functions. + (vhdl-speedbar-update-current-unit): Declare before first use. + (vhdl-compose-new-component): Remove unused var `project`. + (lazy-lock-minimum-size): Declare variable. + (vhdl-submit-bug-report): Declare variable `reporter-prompt-for-summary-p`. + +2021-04-09 Stefan Kangas + + Revert "Load all generic-x.el modes unconditionally" + + This reverts commit 0161c9df6edc02db6bd8871b00df522dd0699157. + +2021-04-09 Stefan Monnier + + * lisp/shadowfile.el: Use lexical-binding + + Delete redundant `:group` args. + + (shadow-hashtable): Make it an actual hash-table. + (shadow-shadows-of, shadow-invalidate-hashtable): Adjust accordingly. + (shadow-insert-var): Strength-reduce `eval` to `symbol-value`. + (shadow--save-buffers-kill-emacs): New function extracted from + `shadow-save-buffers-kill-emacs`. + (shadow-save-buffers-kill-emacs): Use it and use `save-buffers-kill-emacs`. + (shadow-initialize, shadowfile-unload-function): + Use `advice-add/remove` rather than override `save-buffers-kill-emacs` + with `defalias`. + +2021-04-09 Stefan Kangas + + Remove redundant #' before lambda in {calendar,erc,mh-e}/*.el + + * lisp/calendar/icalendar.el (icalendar--get-most-recent-observance): + * lisp/calendar/parse-time.el (parse-time-rules): + * lisp/erc/erc-dcc.el (pcomplete/erc-mode/DCC): + * lisp/erc/erc-track.el (erc-modified-channels-display): + * lisp/erc/erc.el (erc-toggle-debug-irc-protocol) + (erc-cmd-IGNORE, erc-cmd-JOIN, erc-default-server-handler) + (erc-banlist-update): + * lisp/mh-e/mh-search.el (mh-search, mh-mairix-convert-to-sop*) + (mh-index-create-sequences): + * lisp/mh-e/mh-thread.el (mh-toggle-threads, mh-thread-generate) + (mh-thread-prune-containers, mh-thread-sort-containers): + * lisp/mh-e/mh-utils.el (mh-sub-folders): Remove redundant #' before + lambda. + +2021-04-08 Gregory Heytings + + Terminate isearch when point has moved to another buffer + + * lisp/isearch.el (isearch-post-command-hook): Terminate isearch + when the command just executed has moved point to another buffer. + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00309.html + +2021-04-08 Gregory Heytings + + User option to move to another match when changing direction in isearch. + + * lisp/isearch.el (isearch-direction-change-changes-match): + New user option (bug#47599). + (isearch-repeat): Use the new option. + (isearch-repeat-forward, isearch-repeat-backward): Adapt to the + new option. + + * etc/NEWS: Mention the new user option. + + * doc/emacs/search.texi: Document the new user option. + +2021-04-08 Juri Linkov + + * lisp/repeat.el (repeat-post-hook): Check for prefix-arg. + + This is instead of checking for a list of argument-related commands + that set prefix-arg anyway. + +2021-04-08 Juri Linkov + + * lisp/repeat.el (repeat-post-hook): Skip repeating in minibuffer (bug#47566). + + (repeat-map): Add docstring. + +2021-04-08 Stefan Monnier + + * lisp/progmodes/vhdl-mode.el: Use progress-reporter + + This was actually prompted by a backward compatibility problem + (because of the use of Emacs-27's `time-convert`). The new code + seems to work fine in Emacs-25. + It also fixes a minor bug that made the echo area messages of + `vhdl-indent-region` compete with those of `indent-region`. + + (vhdl-progress-info): Delete variable. + (vhdl--progress-reporter): New var to replace it. + (vhdl-update-progress-info): Delete function. + (vhdl-indent-line): Call progress-reporter-update instead. + (vhdl-indent-region): Make it an obsolete alias of `indent-region`. + Change all users. + (vhdl-align-region-groups, vhdl-align-region, vhdl-fix-case-region-1): + Use `make-progress-reporter` and `progress-reporter-update`. + +2021-04-08 Stefan Monnier + + * lisp/array.el: Use lexical-binding + +2021-04-08 Michael Albinus + + * doc/misc/tramp.texi (Frequently Asked Questions): New item about recentf. + +2021-04-08 Michael Albinus + + Revert use of powershell in Tramp, there are collateral damages + + * lisp/net/tramp-sh.el (tramp-methods) : Fix quoting + for MS Windows. + (tramp-connection-properties): Don't set "encoding-shell". + (tramp-actions-before-shell): Remove `tramp-no-job-control-regexp'. + (tramp-maybe-open-connection): Revert changes for "encoding-shell". + + * lisp/net/tramp.el (tramp-no-job-control-regexp): Remove. + +2021-04-07 Alan Third + + Remove hardcoded gcc version + + * configure.ac: Use 'find' to find the brew installed libgccjit libs + instead of a hardcoded path. + +2021-04-07 Juri Linkov + + Don't set isearch-success in isearch-wrap functions + + * lisp/comint.el (comint-history-isearch-wrap): + * lisp/simple.el (minibuffer-history-isearch-wrap): + Don't set isearch-success to t, so isearch-repeat won't skip the + beginning of the wrapped match with (forward-char (if isearch-forward 1 -1)). + +2021-04-07 Eli Zaretskii + + Fix crash on MS-Windows caused by recent changes + + * src/pdumper.c (dump_do_dump_relocation): Don't use + expand-file-name, as this crashes on MS-Windows. Use + file_access_p instead of emacs_fopen. + +2021-04-07 Andrea Corallo + + * Improve some docstring in comp.el + + * lisp/emacs-lisp/comp.el (comp--native-compile) + (batch-native-compile, batch-byte-native-compile-for-bootstrap): + Improve docstring. + +2021-04-07 Glenn Morris + + Merge from origin/emacs-27 + + 2f5f30671a (origin/emacs-27) Fix broken links in autorevert.el + 673c02f6d0 * lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix. + +2021-04-07 Glenn Morris + + Merge from origin/emacs-27 + + 3ec93bb7c2 Improve doc strings in replace.el + +2021-04-07 Stefan Kangas + + Clarify obsoletion messages for easy-menu-{add,remove} + + * lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add): + Clarify obsoletion messages. + +2021-04-07 Stefan Kangas + + Update whois-server-tld + + * lisp/net/net-utils.el (whois-server-tld): Update and add some + missing entries. + +2021-04-07 Andrea Corallo + + Move gitlab-ci native-comp tests into '/test/infra/gitlab-ci.yml' + + * .gitlab-ci.yml: Fix incorrect b8d3ae78c5 merge. + * test/infra/gitlab-ci.yml (test-native-bootstrap-speed0) + (test-native-bootstrap-speed1, test-native-bootstrap-speed2): Move + from .gitlab-ci.yml. + +2021-04-07 Mattias Engdegård + + Fix mistakes in bytecomp-tests + + * test/lisp/emacs-lisp/bytecomp-tests.el + (byte-opt-testsuite-arith-data): Fix typos and avoid errors that made + the tests less powerful than intended. + +2021-04-07 Alan Third + + Fix install with NS app bundle + + * configure.ac: Set up CFLAGS and LDFLAGS to find a Homebrew + installation of libgccjit. + * Makefile.in (ELN_DESTDIR): Set to the app bundle resource dir when + required. + (install-eln): macOS install doesn't support the -D flag, so make the + directories separately. + +2021-04-07 Andrea Corallo + + * Makefile.in (BIN_DESTDIR, src): Fix 'BIN_DESTDIR' on MacOS. + +2021-04-07 Dmitry Gutov + + Add explicit support for C-g or ESC ESC ESC after keymap prompt + + * lisp/progmodes/project.el (project-switch-project): + Add explicit support for C-g or ESC ESC ESC after keymap prompt + (bug#47620). + +2021-04-07 Dario Gjorgjevski + + Allow complex key bindings in project-switch-project + + * lisp/progmodes/project.el (project-switch-project): Replace + read-event with an overriding local map and read-key-sequence to allow + for complex key bindings to be read (bug#47620). + +2021-04-06 Stefan Monnier + + * lisp/find-file.el: Make the commands oblivious to mouse/non-mouse + + (ff-find-other-file): Add `event` argument. + (ff-find-other-file-other-window): Rename from + `ff-mouse-find-other-file-other-window` and use this new argument. + (ff-mouse-find-other-file, ff-mouse-find-other-file-other-window): + Make them obsolete aliases. + (ff-upcase-p): Remove unused `start` and `end` arguments and + simplify accordingly. + +2021-04-06 Stefan Monnier + + * lisp/find-file.el: Use lexical-binding + + Remove unused `:group` args. Prefer #' to quote function. + + (ff-special-constructs, ff-find-the-other-file, ff-get-file-name) + (ff-list-replace-env-vars, ff-cc-hh-converter): Use `match-string`. + (modula2-other-file-alist): Tighten regexps. + (ff-get-other-file, ff-find-other-file): Use dynamic scoping. + (ff-find-the-other-file): Minor simplification. + (ff-other-file-name): Delete unused function. + (ff-string-match): Don't let-bind `case-fold-search` if not needed. + (ff-basename): Make it an obsolete alias for `file-name-nondirectory`. + (ff-switch-file): Minor simplification. + (ff-list-replace-env-vars): Use [:alnum:]. + (ff-upcase-p): Use [:upper:] + (ff-cc-hh-converter): Use [:upper:] and [:lower:]. + +2021-04-06 Andrea Corallo + + * .gitlab-ci.yml: Move native-comp tests into 'slow' stage. + +2021-04-06 Juri Linkov + + * lisp/isearch.el (isearch-wrap-pause): New defcustom (bug#47599). + + (isearch-repeat): Use it. + (isearch-search): Don't ding when isearch-wrap-pause is no-ding. + +2021-04-06 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Use `expand-file-name'. + +2021-04-06 Stefan Monnier + + * lisp/progmodes/ps-mode.el: Use lexical-binding + + And prefer #' to quote function names. + +2021-04-06 Damien Cassou + + Fix broken links in autorevert.el + + * lisp/autorevert.el (global-auto-revert-non-file-buffers): + Fix broken links. (Bug#47621) + +2021-04-06 Michael Albinus + + Fix Bug#47601 in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist): + Use `tramp-handle-file-newer-than-file-p'. (Bug#47601) + (tramp-sh-handle-file-newer-than-file-p, tramp-run-test2): Remove. + +2021-04-06 Stefan Monnier + + * lisp/msb.el: Use lexical-binding + + Remove redundant `:group` args. + (msb--add-to-menu): Strength-reduce `eval` to `symbol-value` and use `push`. + (msb--create-sort-item): Strength-reduce `eval` to `symbol-value`. + (msb-menu-bar-update-buffers): Replace `(lambda...) with a proper closure. + +2021-04-06 Stefan Monnier + + * lisp/hippie-exp.el: Use lexical-binding + + Remove redundant `:group` args. + (make-hippie-expand-function): Turn it into a function returning + a closure. + (try-expand-all-abbrevs): Strength-reduce `eval` to `symbol-value` + and use `abbrev-table-p` rather than `vectorp`. + +2021-04-05 Stefan Monnier + + * lisp/comint.el: Fix understickiness of non-comint properties + + When a third party package adds properties to the prompt they don't + necessarily want to be `read-nonsticky` (e.g. for the `cursor-intangible` + property), so replace the catchall `rear-nonsticky t` with an + actual list of the properties that we want to be `rear-nonsticky`. + + (comint-send-input, comint-output-filter): Don't mark + all properties as non-sticky. + +2021-04-05 Juri Linkov + + * lisp/tab-bar.el: Add repeat-map keymaps. + + * lisp/tab-bar.el (tab-bar-switch-repeat-map): New keymap used for + 'tab-next' and 'tab-previous'. + (tab-bar-move-repeat-map): New keymap used for 'tab-move'. + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01103.html + +2021-04-05 Juri Linkov + + * lisp/repeat.el (repeat-keep-prefix): New defcustom. + + * lisp/repeat.el (repeat-map): New autoloaded global variable. + (repeat-post-hook): Use 'repeat-map' when non-nil + and reset it to nil afterwards. + (repeat-post-hook): Keep the current prefix when + 'repeat-keep-prefix' is non-nil. + + * lisp/window.el (other-window-repeat-map): Add "O" that sets + 'repeat-map' to 'other-window-repeat-map' before calling + '(other-window -1)'. + + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg01387.html + +2021-04-05 Juri Linkov + + * lisp/repeat.el (repeat-post-hook): Fix key lookup. + + * lisp/repeat.el (repeat-post-hook): Rename let-bound repeat-map to rep-map. + Define let-bound prefix-command-p. Use lookup-key with + this-single-command-keys instead of last-command-event. + Don't show message when typing prefix keys. + https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg00083.html + +2021-04-05 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-04-05 Andrea Corallo + + * Introduce `comp-file-preloaded-p' + + * src/comp.c (syms_of_comp): Define `comp-file-preloaded-p'. + (Fcomp_el_to_eln_filename): Account for `comp-file-preloaded-p'. + +2021-04-05 Michael Albinus + + Use powershell for Tramp on MS Windows + + * lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options): + Nil on MS Windows. + (tramp-connection-properties): Add "encoding-shell". + (tramp-maybe-open-connection): Use it. Change exit handling. + (tramp-actions-before-shell): Add `tramp-no-job-control-regexp'. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + (tramp-no-job-control-regexp): New defcustom. + (tramp-get-debug-buffer): Set coding system. + +2021-04-05 Dario Gjorgjevski + + Do not search the global keymap in project--keymap-prompt + + * lisp/progmodes/project.el: (project--keymap-prompt) Pass + project--keymap-prompt as a list to where-is-internal so that the + global keymap is not searched at all (bug#47501). + +2021-04-05 Lin Sun + + Don't call `image-toggle-display-text' when toggling + + *lisp/image-mode.el (image-mode-to-text): Do not call the + image-toggle-display-text twice when toggle image display (bug#47521). + +2021-04-05 Utkarsh Singh (tiny change) + + Fix cd to directories called "eshell" in eshell + + * lisp/eshell/em-script.el (eshell-script-initialize): Allow + changing directory to directories called "eshell" (bug#47547). + +2021-04-05 Glenn Morris + + * lisp/international/ja-dic-cnv.el (skkdic-convert): Doc fix. + +2021-04-05 Stefan Kangas + + Remove redundant #' before lambda in calc/*.el + + * lisp/calc/calc-alg.el (math-defsimplify): + * lisp/calc/calc-ext.el (math-defintegral, math-defintegral-2): + * lisp/calc/calc-prog.el (math-do-arg-check): Remove redundant #' + before lambda. + +2021-04-05 Stefan Kangas + + * lisp/shadowfile.el (cl-lib): Revert removing require. + + * lisp/pcomplete.el: Remove aliases commented out for 20 years. + +2021-04-05 Stefan Kangas + + Remove local uniquify functions in favour of seq-uniq + + * lisp/emacs-lisp/seq.el (seq-uniq): Add autoload cookie. + * lisp/pcomplete.el: (pcomplete-uniquify-list): Use seq-uniq. + * lisp/eshell/esh-util.el (eshell-uniqify-list) + (eshell-uniquify-list): + * lisp/nxml/rng-util.el (rng-uniquify-equal): + * lisp/progmodes/idlwave.el (idlwave-uniquify): + * lisp/textmodes/artist.el (artist-uniq): Make into obsolete + function aliases for seq-uniq. Update callers. + * lisp/nxml/rng-util.el (rng-uniquify-eq): Make obsolete in favor + of seq-uniq. Update callers. + +2021-04-05 Stefan Kangas + + Obsolete local set difference functions in favor of seq-difference + + * lisp/emacs-lisp/seq.el (seq-difference): Add autoload cookie. + * lisp/gnus/gnus-range.el (gnus-set-difference): + * lisp/gnus/spam.el (spam-set-difference): Make obsolete in favor + of seq-difference. Update callers. + +2021-04-05 Stefan Kangas + + Obsolete local list functions in shadowfile.el + + * lisp/shadowfile.el (shadow-union): Make obsolete in favour of + cl-union. Update callers. + (shadow-find): Make into obsolete function alias for seq-find. + Update callers. + (cl-lib): Remove unnecessary require. + +2021-04-05 Michael Albinus + + * test/infra/Dockerfile.emba (emacs-gnustep): Do not run parallel make. + +2021-04-05 Stefan Kangas + + Remove code commented out since 1995 from ediff-util.el + + * lisp/vc/ediff-util.el (ediff-load-hook): Remove code commented out + since the file was added in 1995. + +2021-04-05 Stefan Kangas + + Replace local intersection functions with seq-intersection + + * lisp/doc-view.el (doc-view-intersection): + * lisp/gnus/gnus-range.el (gnus-intersection): + * lisp/htmlfontify.el (hfy-interq): + * lisp/loadhist.el (file-set-intersect): + * lisp/mail/smtpmail.el (smtpmail-intersection): Make obsolete in + favor of seq-intersection. Update all callers. + + * lisp/url/url-dav.el (url-intersection): Redefine as obsolete + function alias for seq-intersection. Update callers. + + * lisp/mpc.el (mpc-intersection, mpc-cmd-list, mpc-reorder): + Use seq-intersection. + +2021-04-05 Stefan Kangas + + Make ediff-copy-list alias obsolete + + * lisp/vc/ediff-mult.el (ediff-intersect-directories) + (ediff-get-directory-files-under-revision): Don't use above + obsolete alias. + * lisp/vc/ediff-util.el (ediff-copy-list): Make alias obsolete. + +2021-04-05 Stefan Kangas + + * lisp/htmlfontify.el (hfy-triplet-regex): Use rx. + + * etc/NEWS: Add entry for new SVG icons in customize. + +2021-04-05 Glenn Morris + + * doc/misc/Makefile.in (echo-sources): Make it not the first target. + +2021-04-05 Glenn Morris + + Regenerate texi-from-org if ox-texinfo.el changes + + * doc/misc/Makefile.in (top_srcdir): New, set by configure. + (emacs): Set load-prefer-newer. + (org_template): Make output depend on ox-texinfo.el. + +2021-04-05 Glenn Morris + + Regenerate semantic grammars if the generating code changes + + * admin/grammars/Makefile.in (emacs): Set load-prefer-newer. + (grammar_bovine, grammar_wisent): New variables. + (${bovinedir}/%-by.el, ${bovinedir}/scm-by.el) + (${cedetdir}/semantic/%-wy.el, ${wisentdir}/%-wy.el) + (${wisentdir}/javat-wy.el, ${cedetdir}/srecode/srt-wy.el): + Depend on the source file for the generating function. + * lisp/cedet/semantic/bovine/grammar.el (bovine--make-parser-1): + * lisp/cedet/semantic/wisent/grammar.el (wisent--make-parser-1): + Force generation of the output file. The previous "is the output + newer than the input" failed to account for changes in the + generation code itself. Force so we can let make figure it out. + +2021-04-04 Andrea Corallo + + * src/comp.c (fixup_eln_load_path): Fix parameter name. + + * src/comp.c (Fcomp_el_to_eln_filename): Fix doc. + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs. + +2021-04-04 Andrea Corallo + + Output native compiled preloaded files into the 'preloaded' subfolder + + * src/comp.c (fixup_eln_load_path): Account the fact that the + file can be dumped in the 'preloaded' subfolder. + * lisp/loadup.el: Likewise. + * src/lread.c (maybe_swap_for_eln1): New function. + (maybe_swap_for_eln): Handle 'preloaded' subfolder. + * src/Makefile.in (LISP_PRELOADED): Export preloaded files. + +2021-04-04 Harald Jörg + + cperl-mode: Don't reposition the window when writing messages + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid + printing messages while point is off-screen (Bug#47549). + +2021-04-04 Lars Ingebrigtsen + + Clarify the doc string of insert-image + + * lisp/image.el (insert-image): Mention the effect of a whitespace + image (bug#47240). + +2021-04-04 Lars Ingebrigtsen + + Work around issue with (setq Man-notify-method 'aggressive) + + * lisp/man.el (Man-bgproc-sentinel): Check that the window still + exists before trying to select it (bug#38164). + +2021-04-04 Glenn Morris + + Make maintainer-clean delete generated files, as per standards + + These are generated files that were once kept in the repository. + When they were removed from the repository, as a half-way measure + they were only deleted by "extraclean", but this was never + necessary and was not a proper use of that rule. + * admin/charsets/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * admin/grammars/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * admin/unidata/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * leim/Makefile.in (gen-clean): New phony target. + (maintainer-clean): Delete generated files. + * GNUmakefile: Doc fix. + +2021-04-04 Alan Third + + Work around librsvg bug (bug#47074) + + Librsvg <= 2.40 has restrictions on how certain numbers can be run + together in path elements which do not match the SVG spec. + + * etc/images/checkbox-mixed.svg: + * etc/images/checked.svg: + * etc/images/radio-checked.svg: + * etc/images/unchecked.svg: Separate problem numbers. + * etc/images/radio-mixed.svg: Separate problem numbers and color and + font-weight data. + +2021-04-04 Michael Albinus + + * test/lisp/filenotify-tests.el (file-notify--test-timeout): + + Change timing on emba. + +2021-04-04 Eli Zaretskii + + Fix MS-Windows build + + * src/image.c: (init_svg_functions) [WINDOWSNT]: Define and load + rsvg_handle_set_stylesheet from the DLL for librsvg > 2.48. + (lookup_image): Use xmalloc. + +2021-04-04 Stefan Kangas + + Use lexical-binding in hilit-chg.el + + * lisp/hilit-chg.el: Use lexical-binding. Remove redundant :group + args. Doc and formatting fixes. + (highlight-changes-mode, highlight-changes-visible-mode): + Use keyword arguments. + (hilit-chg-display-changes, highlight-changes-rotate-faces): + Quote function symbols as such. + (hilit-x, hilit-y, hilit-e): Define variables on top-level to + silence the byte-compiler. + (highlight-markup-buffers): Improve message format. + +2021-04-04 Stefan Kangas + + Remove redundant #' before lambda in tests + + * test/lisp/electric-tests.el (save-electric-modes) + (inhibit-in-mismatched-string-inside-ruby-comments) + (inhibit-in-mismatched-string-inside-c-comments, js-mode-braces) + (js-mode-braces-with-layout) + (js-mode-braces-with-layout-and-indent, autowrapping-1) + (autowrapping-2, autowrapping-3, autowrapping-4, autowrapping-5) + (autowrapping-6, autowrapping-7): + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-relative-to-project-root): + * test/src/thread-tests.el (threads-signal-early) + (threads-signal-main-thread): Remove redundant #' before lambda. + +2021-04-04 Alan Third + + Fix warnings in image.c + + * src/image.c (svg_load_image): Fix types and move declaration of + 'css' to the top of the function. + +2021-04-04 Eli Zaretskii + + Fix unexec compilation + + * src/pdumper.c (thaw_hash_tables): Now conditioned by + HAVE_PDUMPER. + (init_pdumper_once): No-op unless HAVE_PDUMPER. Reported by + Nikolay Kudryavtsev . + +2021-04-04 Eli Zaretskii + + Fix recent changes regarding frame-scale-factor + + * src/frame.c (Fframe_scale_factor): Make more robust and avoid + compiler warning while at that. Doc fix. + +2021-04-04 İ. Göktuğ Kayaalp + + Fix build error in frame.h on non-NS + + * src/frame.h (FRAME_SCALE_FACTOR): Fix syntax of macro in + previous change. + +2021-04-04 Alan Third + + Make new SVG widgets match character height (bug#47074) + + * etc/images/checkbox-mixed.svg: + * etc/images/checked.svg: + * etc/images/radio-checked.svg: + * etc/images/radio-mixed.svg: + * etc/images/radio.svg: + * etc/images/unchecked.svg: Use viewBox and set height to 1em. + +2021-04-04 Alan Third + + Set CSS for SVG files + + * src/dispextern.h (struct image): Add font details required for the CSS. + * src/image.c (free_image): Free the font family string. + (search_image_cache): + (uncache_image): Make image caching understand the font details. + (lookup_image): Handle the font details when generating the image and + looking up the cache. + (svg_css_length_to_pixels): Handle 'em' when we know the font size. + (svg_load_image): Generate the CSS and apply it to the SVG. + (enum svg_keyword_index): + (svg_format): + (syms_of_image): Add ':css' attribute. + * doc/lispref/display.texi (SVG Images): Add details of new svg image + attributes. + +2021-04-04 Alan Third + + Fix NSTRACE failure + + * src/nsterm.m ([EmacsSurface getContext]): Remove unneeded '@' symbol. + +2021-04-04 Alan Third + + Implement frame-scale-factor + + * src/frame.c (Fframe_scale_factor): New function. + (syms_of_frame): Add frame-scale-factor. + * src/frame.h: Add FRAME_SCALE_FACTOR. + * src/image.c: Move FRAME_SCALE_FACTOR to frame.h. + +2021-04-03 Stefan Kangas + + Add SVG icons for customize buffers + + * etc/images/checkbox-mixed.svg: + * etc/images/checked.svg: + * etc/images/down.svg: + * etc/images/left.svg: + * etc/images/radio-checked.svg: + * etc/images/radio-mixed.svg: + * etc/images/radio.svg: + * etc/images/right.svg: + * etc/images/unchecked.svg: + * etc/images/up.svg: New files from the Adwaita Icon Theme (made by + the GNOME project). The background color was changed from gray to + none to use the same colors as the current face instead. (Bug#47074) + * etc/images/README: Add license information for the above new files. + * lisp/wid-edit.el (widget-image-conversion): Prefer SVG if it exists. + (radio-button): Rename radio buttons to "radio-checked" and + "radio". These files did not exist before. + +2021-04-03 Stefan Monnier + + * lisp/vcursor.el: Use lexical-binding + + Remove redundant `:group` args. + (vcursor): Remove unused var declaration. + +2021-04-03 Michael Albinus + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + + Fix code finding //DIRED//. + +2021-04-03 Michael Albinus + + * test/lisp/filenotify-tests.el (file-notify--test-timeout): Change timing. + +2021-04-03 Eli Zaretskii + + Improve doc strings in replace.el + + * lisp/replace.el (occur, list-matching-lines-prefix-face) + (list-matching-lines-jump-to-current-line): Doc fixes. + +2021-04-03 Stefan Kangas + + * lisp/pixel-scroll.el: Use lexical-binding. + +2021-04-03 Stefan Kangas + + Replace two functions with seq-subseq + + * lisp/emacs-lisp/seq.el (seq-subseq): Add autoload cookie. + * lisp/eshell/esh-util.el (eshell-sublist): Redefine using seq-subseq + and make obsolete. Update callers. + * lisp/wid-edit.el (widget-sublist): Redefine as obsolete function + alias for seq-subseq. Update callers. + +2021-04-03 Stefan Kangas + + Remove redundant #' before lambda in eshell/*.el + + * lisp/eshell/em-dirs.el (eshell-dirs-initialize): + * lisp/eshell/em-pred.el (eshell-predicate-alist) + (eshell-modifier-alist): + * lisp/eshell/em-script.el (eshell-script-initialize): + * lisp/eshell/eshell.el (eshell-command): Remove redundant #' before + lambda. + +2021-04-03 Stefan Monnier + + * lisp/progmodes/simula.el: Use lexical-binding + + (simula-tab-always-indent): Mark as obsolete. + (simula-mode-map): Don't bind TAB. + (simula-indent-command): Mark as obsolete. + (hilit-set-mode-patterns): Remove obsolete support for hilit19. + (simula-mode-syntax-table): Move initialization code into the declaration. + +2021-04-03 Stefan Kangas + + Use lexical-binding in recentf.el + + * lisp/recentf.el: Use lexical-binding. Doc fix. + (recentf-save-file): Strength reduce 'eval' to 'symbol-value'. + (recentf-trunc-list): Make into obsolete function alias for + 'seq-take'. Update callers. + (recentf-show-file-shortcuts-flag): Doc fix. + (recentf-menu-elements, recentf-make-menu-items) + (recentf-make-menu-item, recentf-dialog-mode-map) + (recentf-dialog, recentf-open-files-item) + (recentf-open-files-items, recentf-open-files) + (recentf-load-list): Quote function symbols as such. + (recentf-relative-filter, recentf-file-name-nondir): Remove + redundant #' before lambda. + +2021-04-03 Stefan Kangas + + Remove references to very old versions of Emacs from eintr + + * doc/lispintro/emacs-lisp-intro.texi (Making Errors) + (Void Function, Void Variable, Wrong Type of Argument, debug) + (debug-on-entry): Remove commented out references to Emacs 20 or + earlier. + * doc/lispintro/emacs-lisp-intro.texi (what-line) + (print-elements-of-list, debug, X Axis Tic Marks): Don't call version + 22 or earlier a "recent" version of Emacs. + +2021-04-02 Stefan Kangas + + * doc/misc/woman.texi (Introduction): Remove reference to old Emacs. + +2021-04-02 Stefan Kangas + + Remove redundant #' before lambda in textmodes/*.el + + * lisp/textmodes/fill.el: + * lisp/textmodes/ispell.el (ispell-find-enchant-dictionaries): + * lisp/textmodes/rst.el (rst-re, rst-Ado-position) + (rst-Hdr-member-ado, rst-mode-abbrev-table) + (rst-preferred-adornments, rst-new-preferred-hdr) + (rst-classify-adornment, rst-ttl-at-point, rst-hdr-hierarchy) + (rst-all-ttls-with-level, rst-get-previous-hdr) + (rst-adjust-region, rst-preferred-bullets, rst-find-begs) + (rst-straighten-bullets-region, rst-stn-containing-point) + (rst-toc-update, rst-forward-section, rst-shift-region) + (rst-enumerate-region, rst-bullet-list-region) + (rst-line-block-region, rst-forward-indented-block): Remove redundant #' + before lambda. + +2021-04-02 Stefan Monnier + + * doc/misc/reftex.texi: Remove outdated instructions + + (Building and Installing, Installation with make) + (Installation by Hand, Loading @RefTeX{}): Delete sections. + (Entering @RefTeX{} Mode): Merge into its parent. + (AUCTeX): Point to GNU ELPA for installation. + (Problems and Work-Arounds): Remove XEmacs-specific item. + +2021-04-02 Arash Esbati + + Delete XEmacs-only definition + + * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Remove + XEmacs compat code. + +2021-04-02 Juri Linkov + + * lisp/progmodes/xref.el: Change xref-file-name-display and xref-match face. + + * lisp/progmodes/xref.el (xref-file-name-display): Change the default value + to 'project-relative' (bug#47012). + (xref-match): Inherit from 'match'. + +2021-04-02 Dmitry Gutov + + Fix C-u project-find-regexp's default dir + + * lisp/progmodes/project.el (project-find-regexp): + Default read-directory-name to the current default-directory when + called with C-u (bug#47012). + +2021-04-02 Stefan Monnier + + * lisp/progmodes/cfengine.el: Use lexical-binding + +2021-04-01 Stefan Monnier + + * lisp/progmodes/dcl-mode.el: Clarify what is meant by DCL + +2021-04-01 Andrea Corallo + + * src/comp.h (unload_comp_unit): Define for vanilla build (warning removal). + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in {mail,net,url}/*.el + + * lisp/mail/mail-extr.el: + * lisp/mail/rmail.el (rmail-start-mail): + * lisp/net/gnutls.el (gnutls-boot-parameters): + * lisp/net/imap.el (imap-starttls-open): + * lisp/net/pop3.el (pop3-list): + * lisp/url/url-cookie.el (url-cookie-save-interval): + * lisp/url/url-history.el (url-history-save-interval) + (url-history-track): + * lisp/url/url-mailto.el (url-mailto): Remove redundant #' before lambda. + +2021-04-01 Andrea Corallo + + Issue a warning when eln look-up fails due to missing .el source file. + + * lisp/emacs-lisp/comp.el (comp-warning-on-missing-source): New + customize. + * src/lread.c (maybe_swap_for_eln): Issue a warning when eln + look-up fails due to missing .el source file. + * src/comp.c (syms_of_comp): Define + 'Qcomp_warning_on_missing_source'. + +2021-04-01 Stefan Kangas + + Use lexical-binding in executable.el and add tests + + * lisp/progmodes/executable.el: Use lexical-binding. + * test/lisp/progmodes/executable-tests.el: New file. + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in progmodes/*.el + + * lisp/progmodes/cc-styles.el (c-set-offset): + * lisp/progmodes/ebnf-yac.el (ebnf-yac-token-table): + * lisp/progmodes/ebnf2ps.el (ebnf-format-float, ebnf-map-name): + * lisp/progmodes/grep.el (lgrep, rgrep-default-command): + * lisp/progmodes/inf-lisp.el: + * lisp/progmodes/octave.el (octave-lookfor): + * lisp/progmodes/python.el (python-pdbtrack-tracking-finish): Remove + redundant #' before lambda. + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in international/*.el + + * lisp/international/characters.el: + (use-cjk-char-width-table, update-glyphless-char-display): + * lisp/international/fontset.el (build-default-fontset-data) + (generate-fontset-menu): + * lisp/international/latin1-disp.el (latin1-display-reset): + * lisp/international/mule-cmds.el + (select-safe-coding-system-interactively): + * lisp/international/mule-diag.el (sort-listed-character-sets) + (font-show-log): + * lisp/international/mule.el (char-displayable-p): + * lisp/international/quail.el (quail-keyboard-layout-type) + (quail-update-translation, quail-find-key): + * lisp/international/titdic-cnv.el (tsang-quick-converter) + (ziranma-converter): Remove redundant #' before lambda. + +2021-04-01 Eli Zaretskii + + GNUmakefile: Fix last change. + +2021-04-01 Eli Zaretskii + + Fix 'extraclean' targets + + * GNUmakefile: Add description of 'extraclean'. + + * Makefile.in (extraclean_dirs): Add lwlib. + + * lwlib/Makefile.in (clean mostlyclean extraclean): Add + 'extraclean' target. + + * lisp/Makefile.in (extraclean): Remove ${loaddefs}, not just + ${LOADDEFS}. Delete all backup and autosave files. + +2021-04-01 Stefan Kangas + + Use lexical-binding in epg-config.el and add tests + + * lisp/epg-config.el: Use lexical-binding. + (epg-find-configuration): Improve error message. + * test/lisp/epg-config-tests.el: New file. + +2021-04-01 Stefan Kangas + + Use lexical-binding in isearchb.el + + * lisp/isearchb.el: Use lexical-binding. Remove redundant :group + args. + +2021-04-01 Stefan Kangas + + Remove redundant #' before lambda in Gnus + + * lisp/gnus/gnus-group.el (gnus-group-list-cached) + (gnus-group-list-dormant, gnus-group-list-ticked): + * lisp/gnus/gnus-registry.el (gnus-registry-remove-extra-data): + * lisp/gnus/gnus-score.el (gnus-score-edit-file-at-point): + * lisp/gnus/gnus-sum.el (gnus-fetch-headers): + * lisp/gnus/mm-partial.el (mm-inline-partial): + * lisp/gnus/nnselect.el (nnselect-uncompress-artlist) + (numbers-by-group, nnselect-request-expire-articles) + (nnselect-request-update-info, nnselect-request-thread): + * lisp/gnus/nnvirtual.el (nnvirtual-request-expire-articles): + * lisp/gnus/spam-stat.el (spam-stat-score-buffer): Remove redundant #' + before lambda. + +2021-04-01 Stefan Kangas + + Use lexical-binding in avoid.el + + * lisp/avoid.el: Use lexical-binding. Remove redundant :group args. + (mouse-avoidance-fancy): Quote function symbol as such. + +2021-04-01 Stefan Kangas + + Use emacs-version instead of obsolete version variables + + * lisp/calendar/icalendar.el (icalendar-version): + * lisp/dframe.el (dframe-version): + * lisp/emacs-lisp/checkdoc.el (checkdoc-version): + * lisp/emulation/edt.el (edt-version): + * lisp/international/mule.el (mule-version): + * lisp/linum.el (linum-version): + * lisp/play/bubbles.el (bubbles-version): + * lisp/textmodes/remember.el (remember-version): + * lisp/url/url-vars.el (url-version): + * lisp/woman.el (woman-version): Use emacs-version instead of obsolete + version variables. + +2021-04-01 Stefan Monnier + + * lisp/strokes.el: Use lexical-binding. Remove redundant `:group` args + + (strokes-char-table): Move initialization into declaration. + +2021-04-01 Stefan Monnier + + * lisp/forms.el: Use lexical-binding. Remove redundant `:group` args + + (forms--process-format-list, forms--debug): Strength-reduce `eval` + to `symbol-value`. + +2021-04-01 Stefan Monnier + + * lisp/progmodes/dcl-mode.el: Use lexical-binding + + (dcl-guess-option-value, dcl-save-local-variable) + (dcl-save-nondefault-options): Strength-reduce `eval` to `symbol-value`. + +2021-03-31 Eli Zaretskii + + * src/comp.c (Fcomp__compile_ctxt_to_file): Fix debug level 1. + +2021-03-31 Michael Albinus + + * lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter): + + Make assumption for emba. + +2021-03-31 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-final): Clean-up temporary file. + +2021-03-31 Andrea Corallo + + Rework native compilation `comp-debug' (bug#46495) + + * lisp/emacs-lisp/comp.el (comp-debug): Update docstring and + move default on Windows systems from 0 to 1. + * src/comp.c (Fcomp__compile_ctxt_to_file): Tweak debug + levels. + +2021-03-31 Andrea Corallo + + Do not defer compilation when bytecode is explicitly requested (bug#46617) + + * src/comp.c (maybe_defer_native_compilation): Check if the file + is registered in 'V_comp_no_native_file_h'. + (syms_of_comp): 'V_comp_no_native_file_h' new global. + * src/lread.c (maybe_swap_for_eln): Register files in + 'V_comp_no_native_file_h'. + * lisp/faces.el (tty-run-terminal-initialization): Do not + explicitly load .elc file to not exclude .eln being loaded in + place. + +2021-03-31 Stefan Kangas + + Use lexical-binding in progmodes/inf-lisp.el + + * lisp/progmodes/inf-lisp.el: Use lexical-binding. Doc fixes. + (inferior-lisp-mode-map, lisp-mode-map) + (inferior-lisp-install-letter-bindings): Quote function symbols as such. + (inferior-lisp-menu, lisp-compile-string, lisp-eval-string) + (lisp-show-variable-documentation): Doc fixes. + +2021-03-31 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + + * lisp/emacs-lisp/comp.el (comp-debug): Fix docstring. + +2021-03-31 Stefan Kangas + + Use lexical-binding in scroll-all.el + + * lisp/scroll-all.el: Use lexical-binding. + (scroll-all-scroll-down-all, scroll-all-scroll-up-all) + (scroll-all-page-down-all, scroll-all-page-up-all) + (scroll-all-beginning-of-buffer-all) + (scroll-all-end-of-buffer-all): Doc fixes. + +2021-03-31 Stefan Kangas + + * lisp/dynamic-setting.el: Use lexical-binding. + +2021-03-31 Luke Lee + + Fix incorrect regular expression for more general text replacements. + + * lisp/progmodes/hideif.el (hif-evaluate-macro): fix regexp to trim + off leading/trailing spaces, but not within. + +2021-03-31 Stefan Kangas + + Use lexical-binding in chistory.el + + * lisp/chistory.el: Use lexical-binding. Remove redundant :group + args. + (command-history-mode-map): Quote function symbols as such. + +2021-03-31 Stefan Kangas + + * lisp/ebuff-menu.el: Use lexical-binding. + +2021-03-31 Stefan Kangas + + Use lexical-binding in double.el + + * lisp/double.el: Use lexical-binding. Remove redundant :group + args. + +2021-03-31 Stefan Kangas + + Use lexical-binding in dirtrack.el + + * lisp/dirtrack.el: Use lexical-binding. Remove redundant group + args. + +2021-03-31 Stefan Kangas + + * lisp/progmodes/cwarn.el: Use lexical-binding. + +2021-03-30 Stefan Kangas + + Remove redundant #' before lambda in cedet + + * lisp/cedet/mode-local.el (mode-local-map-mode-buffers) + (mode-local--activate-bindings, mode-local--deactivate-bindings) + (setq-mode-local, describe-mode-local-bindings-in-mode): + * lisp/cedet/semantic.el (semantic-repeat-parse-whole-stream): + * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment): + * lisp/cedet/semantic/db-ebrowse.el + (semanticdb-ebrowse-get-ebrowse-structure): + * lisp/cedet/semantic/db-global.el + (semanticdb-enable-gnu-global-databases): + * lisp/cedet/semantic/edit.el (semantic-changes-in-region): + * lisp/cedet/semantic/fw.el (semantic-install-function-overrides): + * lisp/cedet/semantic/grammar.el (semantic-grammar-ASSOC) + (semantic-grammar-tag-symbols, semantic-grammar-keywords) + (semantic--grammar-macros-regexp-1) + (semantic-format-tag-summarize): + * lisp/cedet/semantic/idle.el (semantic-idle-core-handler) + (semantic-idle-work-core-handler): + * lisp/cedet/semantic/imenu.el (semantic-imenu-semanticdb-hook): + * lisp/cedet/semantic/java.el (semantic-java-doc-keywords-map) + (semantic-java-doc-setup): + * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-save-table) + (semantic-lex-spp-macros): + * lisp/cedet/semantic/lex.el (semantic-lex-map-symbols) + (semantic-lex-keywords, semantic-lex-types): + * lisp/cedet/semantic/util-modes.el + (semantic-toggle-minor-mode-globally): + * lisp/cedet/semantic/wisent/comp.el (wisent-defcontext) + (wisent-automaton-lisp-form): + * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-assocs) + (wisent-grammar-terminals): Remove redundant #' before lambda. + +2021-03-30 Stefan Kangas + + Delete Emacs 19 compat code in foldout.el + + * lisp/foldout.el (foldout-hide-flag): + (foldout-show-flag): Delete Emacs 19 compat code and make obsolete. + (foldout-exit-fold): Don't use above obsolete variable. + +2021-03-30 Stefan Kangas + + Use lexical-binding in lpr.el and add rudimentary tests + + * lisp/lpr.el: Use lexical-binding. Remove redundant :group args. + (print-region-function): Declare MS-Windows specific function. + * test/lisp/lpr-tests.el: New file. + +2021-03-30 Stefan Kangas + + Use lexical-binding in echistory.el + + * lisp/echistory.el: Use lexical-binding. + (electric-history-map): Quote function symbols as such. + (Electric-history-undefined): Use command substitutions. + +2021-03-30 Stefan Kangas + + Delete empty "History" sections + + * lisp/bs.el: + * lisp/calendar/timeclock.el: + * lisp/cedet/semantic/bovine/grammar.el: + * lisp/cedet/semantic/grammar.el: + * lisp/cedet/semantic/wisent.el: + * lisp/cedet/semantic/wisent/comp.el: + * lisp/cedet/semantic/wisent/java-tags.el: + * lisp/cedet/semantic/wisent/wisent.el: + * lisp/erc/erc.el: + * lisp/net/newst-treeview.el: + * lisp/recentf.el: + * lisp/ruler-mode.el: + * lisp/textmodes/remember.el: + * lisp/thumbs.el: + * lisp/tree-widget.el: + * lisp/vc/vc-hg.el: Delete empty "History" sections. + + * lisp/cedet/semantic/grammar.el + (semantic-grammar-header-template): Don't add "History" section to + generated file. + +2021-03-30 Stefan Kangas + + Use lexical-binding in follow.el + + * lisp/follow.el: Use lexical-binding. + (follow-mode-map, follow-debug-message): Quote function symbols as + such. + (follow-pos-visible-in-window-p): Remove unused variable 'last'. + (follow-move-to-window-line): Remove unused variable 'middle-window'. + +2021-03-30 Mattias Engdegard + + lisp/progmodes/verilog-mode.el internal code cleanup. + + * lisp/progmodes/verilog-mode.el (verilog-at-close-struct-p): + Internal code cleanup. + +2021-03-30 Arash Esbati + + * lisp/textmodes/reftex-auc.el: Improve the external function declarations + + (LaTeX-add-bibitems): Move declaration closer to the others. + Fix those declarations to refer to the right file. + +2021-03-30 Dmitry Gutov + + Provide information to show icons with Elisp completions + + * lisp/progmodes/elisp-mode.el (elisp--company-kind): New function. + (elisp-completion-at-point): Use it. And a couple of anonymous + :company-kind functions too. + +2021-03-30 Stefan Monnier + + lisp/progmodes/verilog-mode.el: Prepare for lexical-binding. + + * lisp/progmodes/verilog-mode.el: Activate lexical-binding. + Insert newlines to avoid some situations where arguments were easy + to misunderstand. + (verilog-set-compile-command): Strength-reduce `eval` to `symbol-value`. + (verilog-error-regexp-add-emacs): Replace `mapcar` => `mapc` since + the result is not used. + (verilog-surelint-off): Remove always-nil var `dir`. + (verilog-do-indent): Minor simplification of the code. + (verilog-pred): Delete var. It was always nil. + (verilog-flag): Delete var; pass the corresponding data via + explicit arguments instead. + (verilog-keyword-completion): Use `dolist`. + (verilog-completion-response): Rename to `verilog--complete-with-action`. + Change calling convention to match that of `complete-with-action`. + Use `complete-with-action` instead when available. + Adjust all callers. + (verilog-completion, verilog-comp-defun): Change arg names so they + don't collide with dynamically scoped vars, and let-bind `verilog-str` + explicitly instead. Use `with-current-buffer`. + (verilog-batch-execute-func): Use `with-current-buffer`. + (verilog-complete-word): Don't convert the completion list into + a completion alist, since lists work just as well. + (verilog-showscopes): Use `with-current-buffer`. + (verilog-symbol-detick, verilog-symbol-detick-text) + (verilog-signals-matching-enum): Strength-reduce `eval` to `symbol-value`. + (verilog--insert-indent): Rename from `verilog--insert-indent`. + Add `indent-pt` argument. + (verilog-insert-indent): New macro wrapper to provide the old + calling convention. + (verilog-auto-assign-modport, verilog-auto-inout-modport): + Remove always-nil var `direction-re`. + (verilog--auto-inst-first): Rename from `verilog-auto-inst-first`. + Add `indent-pt` argument. + (verilog-auto-inst-port): Adjust call accordingly. + +2021-03-30 Stefan Monnier + + * lisp/progmodes/verilog-mode.el: Use #' where appropriate. + +2021-03-30 Wilson Snyder + + lisp/progmodes/verilog-mode.el: Fix indentation of enum. + + * lisp/progmodes/verilog-mode.el (verilog-at-close-struct-p): Fix + indentation of enum with multiple objects. Reported by punzik. (#1716). + +2021-03-29 Stefan Monnier + + * lisp/completion.el: Activate lexical-binding + + Remove redundant `:group` arguments. + + (list-all-completions-1): Merge into `list-all-completions` and + then delete. + (list-all-completions-by-hash-bucket-1): Use `push`. Merge into + `list-all-completions-by-hash-bucket` and then delete. + (completions-list-return-value): Delete variable, not used any more. + +2021-03-29 Stefan Monnier + + * lisp/woman.el: Activate lexical-binding. Require `cl-lib` + + (woman-mode, woman2-roff-buffer): Use `cl-letf`. + (woman-request): Move declaration before first use. + (woman0-macro): Rename arg to not shadow the dynamically scoped var. + (woman-set-arg): Strength-reduce `eval` to `symbol-value`. + +2021-03-29 Juri Linkov + + * lisp/progmodes/project.el (project-regexp-history-variable): New variable. + + (project--read-regexp): Use it as HISTORY arg of 'read-regexp' with + 'grep-regexp-history' default (bug#47012). + +2021-03-29 Stefan Monnier + + * lisp/allout*.el: Use lexical-binding + + * lisp/allout.el: Activate lexical-binding. + (allout-setup-menubar): Delete "complex no-op" function. + (allout-mode): Delete call to it. + (allout-hotspot-key-handler): Delete XEmacs-only code. + (allout-copy-exposed-to-buffer): Remove always-nil var `start-list`. + + * lisp/allout-widgets.el: Activate lexical-binding. + (allout-item-icon-keymap): Use `ignore`. + (allout-widgets-exposure-change-processor): Use `cl-callf` instead of + relying on dynamic binding to apply some code to two different variables. + +2021-03-29 Alan Mackenzie + + Fix an infinite loop in C++ Mode redisplay. This was bug #47191. + + * lisp/progmodes/cc-defs.el (c-forward-syntactic-ws, c-backward-syntactic-ws): + When point is on the wrong side of a supplied search limit, leave point + unmoved rather than setting it to that limit. + + * lisp/progmodes/cc-engine.el (c-forward-name): After scanning a template + argument list (which is not itself subject to a search limit) recalculate the + search limit starting from the end point, since these argument lists can + legitimately be long. At each of the scanning loops, check point hasn't gone + past the limit. + +2021-03-29 Glenn Morris + + Merge from origin/emacs-27 + + 8a92030f6a (origin/emacs-27) Fix hang in autorevert-tests.el + + # Conflicts: + # test/lisp/autorevert-tests.el + +2021-03-29 Glenn Morris + + Merge from origin/emacs-27 + + bcc4cc3362 Doc fixes for 'face-foreground' and 'face-background'. + bf6442fafd ; * admin/make-tarball.txt: Minor addition to the Web page... + 38b127d32e * admin/admin.el (set-version): Handle malformed NEWS markup. + 0d7e2a993e admin.el fix for bug#47394 + fdec444758 ; * etc/NEWS: Fix typo. + 1e6ca2765f ; * admin/make-tarball.txt: Another minor addition. + + # Conflicts: + # etc/NEWS + +2021-03-29 Michael Albinus + + Some Tramp doc clarifications + + * doc/misc/tramp.texi (Remote shell setup): Explain meaning of + `tramp-sh-extra-args' for bash. + (Frequently Asked Questions): New item about unloading / reloading Tramp. + +2021-03-29 Eli Zaretskii + + Protect add-variable-watcher from incorrect usage + + * src/data.c (Fadd_variable_watcher): Avoid crashes if SYMBOL + isn't. (Bug#47462) + +2021-03-29 Michael Albinus + + Optimize test jobs for emba + + * test/infra/gitlab-ci.yml (.test-template): Do not run fast and + normal test jobs when scheduled. + +2021-03-29 Stefan Kangas + + Doc fixes in follow.el + + * lisp/follow.el: + (follow-pos-visible-in-window-p, follow-adjust-window) + (follow-prev-buffer, follow-internal-force-redisplay): + Minor doc fixes. + +2021-03-29 Michael Albinus + + * test/infra/gitlab-ci.yml (test-filenotify-gio): Use *.log for make_params. + +2021-03-28 Michael Albinus + + Fix hang in autorevert-tests.el + + * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert): + Apply more robust check, whether file notification is used. + +2021-03-28 Lars Ingebrigtsen + + Fix a dbus.el byte compilation warning + + * lisp/net/dbus.el (dbus-register-monitor): Silence a + byte-compilation warning on systems without dbus. + +2021-03-28 Lars Ingebrigtsen + + Use a 64KB page size for pdump + + * src/pdumper.c (dump_get_page_size): Use a 64KB page size on all + architectures, as this many vary between systems (bug#47125). + +2021-03-28 Michael Albinus + + * admin/notes/emba: Explain job types and artifacts. + +2021-03-28 Lars Ingebrigtsen + + Revert "Clarify dired-do-shell-command doc string" + + This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7. + + The doc string already explains this. + + (cherry picked from commit 01cf0eb75786834b7a0ee5be34be53f6e8e14c11) + +2021-03-28 Lars Ingebrigtsen + + Revert "Clarify dired-do-shell-command doc string" + + This reverts commit cf607c262e15c873961fdfcced254e6f8e82f8d7. + + The doc string already explains this. + +2021-03-28 Lars Ingebrigtsen + + Clarify dired-do-shell-command doc string + + * lisp/dired-aux.el (dired-do-shell-command): Mention what happens + to FILE-LIST (bug#47432). + + (cherry picked from commit cf607c262e15c873961fdfcced254e6f8e82f8d7) + +2021-03-28 Lars Ingebrigtsen + + Clarify dired-do-shell-command doc string + + * lisp/dired-aux.el (dired-do-shell-command): Mention what happens + to FILE-LIST (bug#47432). + +2021-03-28 Eli Zaretskii + + Doc fixes for 'face-foreground' and 'face-background'. + + * lisp/faces.el (face-foreground, face-background): Clarify how a + face specified in INHERIT arg is used. (Bug#47437) + +2021-03-28 pillule (tiny change) + + compilation-goto-locus does not handle right display-buffer + + * lisp/progmodes/compile.el (compilation-goto-locus): Pop to the + source buffer if the match buffer is the selected window (bug#47414). + +2021-03-28 Lars Ingebrigtsen + + Clarify the doc string of plist-memeber and plist-put + + * src/fns.c (Fplist_member): + (Fplist_put): Clarify what comparison function is used for PROP + (bug#47426) and don't claim that PROP has to be a symbol. + +2021-03-28 Eli Zaretskii + + Avoid errors in pulse.el for some face customizations + + * lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Make + sure 'face-background' always returns a color name. Suggested by + Ingo Lohmar in bug#47437. + +2021-03-28 Michael Albinus + + Make artifacts working on emba (hopefully) + + * test/infra/gitlab-ci.yml (.job-template): Use proper docker name. + (.test-template): Adapt artifacts path. + +2021-03-27 Basil L. Contovounesios + + Demote read-extended-command-predicate errors + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00682.html + + * lisp/simple.el (read-extended-command): Demote errors when calling + read-extended-command-predicate so M-x completion doesn't break. + +2021-03-27 Stefan Monnier + + * lisp/wdired.el (wdired--self-insert): Fix thinko + +2021-03-27 Stefan Monnier + + * lisp/wdired.el: Fix minor regressions and simplify a bit + + Use `wdired--current-column` more consistently to avoid mayhem when it + doesn't return the same result as `current-column`. + + (wdired-get-filename): Fix the unprocessed case. + (wdired-finish-edit): Don't force processing all the lines. + (wdired--col-perm): Remove, redundant with `wdired--perm-beg`. + (wdired-change-to-wdired-mode): Don't error in empty directory. + (wdired--set-permission-bounds): Set `wdired--perm-beg` when we can't + find permissions. Move `wdired--perm-beg` 1 char further (like + `wdired--col-perm`). Use `wdired--current-column`. + (wdired--point-at-perms-p): Fix when `wdired--perm-beg` is nil. + (wdired--self-insert): Lookup the keymap to know command to call. + (wdired--before-change-fn): Just use `point` instead of `beg`. + Use `with-silent-modifications` here rather than in each of the + `wdired--preprocess-*` functions. + (wdired--preprocess-files): Presume we're at BOL and within + `with-silent-modifications`. Fix application of `read-only`. + (wdired-abort-changes): Don't use `with-silent-modifications` since + we're really modifying the buffer. + (wdired--preprocess-symlinks): Presume we're at BOL and within + `with-silent-modifications`. + (wdired--preprocess-perms): Presume we're at BOL and within + `with-silent-modifications`. + (wdired-set-bit): Add `char` argument. Use `wdired--current-column`. + Copy previous text properties rather than duplicating the code of + `wdired--preprocess-perms`. + (wdired-toggle-bit): Delegate to `wdired-set-bit`. + +2021-03-27 Arthur Miller + + * lisp/wdired.el: Apply text properties lazily + + Entering wdired was taking time proportional to the size of the directory, + making it inconvenient to quickly enter wdired just to rename one or two + files in a large directory. + + (wdired-mode-map): Rebind `self-insert-command`. + (wdired--perm-beg, wdired--perm-end): New vars. + (wdired--col-perm, wdired--old-content, wdired--old-point) + (wdired--old-marks): Rename vars, using "--" rather than "-". + All users updated. + (wdired--before-change-fn): New function. + (wdired-change-to-wdired-mode): Use it `before-change-functions` + instead of eagerly putting the various text properties here. + (wdired--set-permission-bounds, wdired--current-column) + (wdired--point-at-perms-p, wdired--line-preprocessed-p): + New auxiliary functions. + (wdired--self-insert): New command. + (wdired--preprocess-files, wdired--preprocess-symlinks) + (wdired--preprocess-perms): Add "--" to the name. Make it operate only + on the current line. Use `with-silent-modifications`. + (wdired-abort-changes): Use `with-silent-modifications`. + +2021-03-27 Michael Albinus + + Keep *.log files on emba + + * test/infra/gitlab-ci.yml (.test-template): New template. + (test-fast-inotify, test-lisp-inotify, test-lisp-net-inotify) + (test-filenotify-gio, test-gnustep, test-all-inotify): Use it. + +2021-03-27 Eli Zaretskii + + Fix lisp/files-tests on MS-Windows + + * test/lisp/files-tests.el (files-colon-path) + (files-tests-bug-21454): Adapt to MS-DOS/Windows, where + parse-colon-path needs and absolute file name with a drive letter. + (files-tests-file-name-non-special-get-file-buffer): Forcefully + delete the file's buffer if it happens to exist. + +2021-03-27 Matt Armstrong + + File unlock errors now issue warnings (Bug#46397) + + The primary idea is to allow `kill-buffer' and `kill-emacs' to + complete even if Emacs has trouble unlocking the buffer's file. + + * lisp/userlock.el (userlock--handle-unlock-error): New function, call + `display-error'. + * src/filelock.c (unlock_file_body): New function, do what + 'unlock_file' used to. + (unlock_file_handle_error): New function, call + `userlock--handle-unlock-error' with the captured error. + (unlock_file): Handle `file-error' conditions by calling the handler + defined above. + * test/src/filelock-tests.el (filelock-tests-kill-buffer-spoiled): + (filelock-tests-unlock-spoiled): Modify to test new behavior. + +2021-03-27 Matt Armstrong + + Add test coverage for src/filelock.c (Bug#46397) + + * test/src/filelock-tests.el: New file. + +2021-03-27 Kenichi Handa + + Fix encoding by ISO-2022-JP + + * src/coding.c (encode_coding): Reset the CODING_MODE_LAST_BLOCK + flag for all iterations but the last one. (Bug#46933) + +2021-03-26 Michael Albinus + + Improve remote file notifications + + * lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): Remove it. + (tramp-sh-handle-file-notify-add-watch): Do not call it. + (tramp-sh-gio-monitor-process-filter): Read monitor name. + + * test/lisp/filenotify-tests.el (file-notify--test-read-event) + (file-notify--test-timeout): Change timings. + (file-notify--test-monitor): Read remote monitor name more reliably. + (file-notify-test02-rm-watch): Retrieve remote monitor name in time. + (file-notify--test-event-actions): New defun. + (file-notify--test-with-actions-explainer): Use it. + (file-notify--test-with-actions-check): Use it. Dump traces in + case of debug. + (file-notify--test-with-actions): Don't stop while debugging. + (file-notify-test03-events, file-notify-test04-autorevert) + (file-notify-test05-file-validity) + (file-notify-test07-many-events, file-notify-test08-backup) + (file-notify-test09-watched-file-in-watched-dir): Adapt tests. + +2021-03-26 Basil L. Contovounesios + + Address some --without-x byte-compilation warnings + + These came to light in the contexts of bug#29713 and bug#47234. + + * lisp/emulation/edt-mapper.el (edt-xserver): + * lisp/emulation/edt.el (edt-xserver): + * lisp/gnus/gnus-util.el (gnus-rescale-image): + * lisp/gnus/nnimap.el (nnimap-map-port): + * lisp/term/w32-win.el: + * lisp/image.el (image--get-imagemagick-and-warn): + * lisp/frame.el (frame-notice-user-settings): Declare functions that + are known to be present at runtime in GUI builds. + (make-frame-on-display): Signal more informative error when called + interactively in a non-GUI build (bug#29713). + * lisp/international/mule-diag.el (describe-font): + * lisp/org/org-macs.el (org--string-from-props): Pacify warnings + about unknown functions in non-GUI bilds. + * lisp/mh-e/mh-mime.el (mh-small-image-p): Avoid eliminating fboundp + check in non-GUI builds, to pacify unused lexical variable warning. + * lisp/net/newst-plainview.el (newsticker--plainview-tool-bar-map): + * lisp/net/newst-treeview.el (newsticker-treeview-tool-bar-map): + Declare tool-bar-map as a special variable in non-GUI builds. + +2021-03-26 Stefan Monnier + + * lisp/obsolete/tpu-extras.el: Avoid defadvice + + (tpu--respect-bottom-scroll-margin): New function, extracted from + `newline`s defadvice. + (newline, newline-and-indent, do-auto-fill): Delete defadvice. + (tpu-set-scroll-margins): Use advice-add instead of + `ad-enable-advice`+`ad-activate`. + Use an explicit arg instead of `called-interactively-p`. + +2021-03-26 Stefan Monnier + + * lisp/mh-e/: Take advice-remove of the newly enabled lexical-binding + + * lisp/mh-e/mh-mime.el (mh-mm-inline-message): + * lisp/mh-e/mh-inc.el (mh-inc-spool-generator): Replace `(lambda...) + with a proper closure. + +2021-03-26 Andrea Corallo + + * Prevent stale eln loading checking file timestamp before load (bug#46617) + + * src/lread.c (maybe_swap_for_eln): Add file timestamp check. + (openp): Update 'maybe_swap_for_eln' call sites. + +2021-03-25 Glenn Morris + + * admin/admin.el (set-version): Handle malformed NEWS markup. + +2021-03-25 Glenn Morris + + admin.el fix for bug#47394 + + * admin/admin.el (manual-html-fix-index-2): Handle Texinfo 6.7. + +2021-03-25 Spencer Baugh + + Assert not local-variable-p after setq in let_default binding + + Breaking this is a likely way to break this test, so this saves a bit + of time in debugging. + + * test/src/data-tests.el (data-tests--let-buffer-local): + Add assertion to test. + +2021-03-25 Spencer Baugh + + Add a test for let-binding unwinding + + Bindings in other buffers are not un-set when we unwind a let-binding + which set the default value. There doesn't seem to be an existing + test which covers this, so here's one. + + * test/src/data-tests.el (data-tests--let-buffer-local-no-unwind-other-buffers): + Add test for let-binding unwinding behavior + +2021-03-25 Stefan Monnier + + * lisp/htmlfontify.el: Fix misuses of `nconc` + + (hfy-face-to-style-i): `this` is not known to be fresh. + (hfy--size-to-int): Rename from `hfy--size-to-int` and return just the + integer without wrapping it in a list. + (hfy-flatten-style): Avoid O(n²) problems. Use `float`. + +2021-03-25 Bill Wohler + + Remove XEmacs support in lexical-binding + + * lisp/mh-e/mh-alias.el (mh-alias-insert-file): Remove reference to + remove-specifier. + +2021-03-25 Mark A. Hershberger + + Update rnc to use Open Document's Relax-NG schema to version 1.3 + + * Use the LibreOffice Relax-NG files since they include a hack to + support 1.2. + * rng source: + https://raw.githubusercontent.com/freedesktop/libreoffice-core/master/ + schema/libreoffice/OpenDocument-schema-v1.3%2Blibreoffice.rng + * translation to rnc with trang: + trang -I rng -O rnc OpenDocument-schema-v1.3+libreoffice.rng \ + OpenDocument-schema-v1.3+libreoffice.rnc + +2021-03-25 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-03-25 Paul Eggert + + Merge from origin/emacs-27 + + 291a421c2e * admin/make-tarball.txt: Improve and expand the instructi... + 0e4795fc98 Fix preeditarea reporting wrong spot. + +2021-03-25 Paul Eggert + + Merge from origin/emacs-27 + + deef5efafb ; * ChangeLog.3: Update with the log of the last change. + bd991e3c9b Fix frame-inner-height in non-GUI builds + +2021-03-25 Eli Zaretskii + + * admin/make-tarball.txt: Improve and expand the instructions. + +2021-03-25 Amos Bird + + Fix preeditarea reporting wrong spot. + + This patch adjust the x position of preeditarea with both left fringe + and left margin, which prevents IME preedit box (such as fcitx) from + placing at the wrong position in GUI emacs. + * src/xfns.c (xic_set_preeditarea): Adjust X for left margin width. + (Bug#47377) + +2021-03-25 Michael Albinus + + Adapt Tramp file notification support + + * lisp/net/tramp-integration.el (tramp-use-ssh-controlmaster-options): + Declare it. + + * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch): + Remove "gvfs-monitor-dir". + (tramp-sh-gvfs-monitor-dir-process-filter) + (tramp-get-remote-gvfs-monitor-dir): Remove. + (tramp-get-remote-gio-file-monitor): Support also cygwin, and + GFamDirectoryMonitor, GPollFileMonitor. + +2021-03-25 Glenn Morris + + * doc/emacs/maintaining.texi (Managing Projects): Fixes and copyedits. + +2021-03-25 Dmitry Gutov + + Fix typo + + * lisp/progmodes/project.el (project-remove-known-project): + Fix typo (bug#47287). + +2021-03-25 Theodor Thornhill + + Add command project-remove-known-project + + * etc/NEWS: Mention the new command. + + * lisp/progmodes/project.el (project--remove-from-project-list): Add + new argument, report-message, used to signal various messages when + removal has happened. + + * lisp/progmodes/project.el (project-remove-known-project): New + command that removes the selected directory from the project-list-file. + + * lisp/progmodes/project.el (project-current): Add the report message. + + * doc/emacs/maintaining.text: Add information about the new command to + the manual. + +2021-03-24 Stefan Monnier + + * list/progmodes/idl*.el: Use lexical-binding + + * lisp/progmodes/idlw-complete-structtag.el: Use lexical-binding. + + * lisp/progmodes/idlw-help.el: Use lexical-binding. + Delete redundant `:group` arguments. + (idlwave-query-class, idlwave-force-class-query, idlw-help-name) + (idlw-help-kwd, idlw-help-link): Declare vars. + (idlwave-highlight-linked-completions): Remove unused var `class`. + (idlwave-help-find-in-doc-header): Remove unused var `header-re`. + + * lisp/progmodes/idlw-shell.el (idlwave-shell-input-mode-magic): + Remove XEmacs-only code. + (idlwave-shell-filter, idlwave-shell-scan-for-state): + Use `functionp` since a function can also satisfy `listp`. + (idlwave-shell--mouse-examine): Rename from `idlwave-shell-mouse-examine`. + Make it a function, and simplify for Emacs≥22. Simplify calling convention + since all callers always immediately `funcall`d the result. + Update all callers. + (idlwave-default-mouse-track-event-is-with-button): Use `always`. + (idlwave-shell-filter-bp): Simplify a tiny bit. + + * lisp/progmodes/idlw-toolbar.el: Use lexical-binding. + (idlwave-toolbar-add, idlwave-toolbar-remove) + (idlwave-toolbar-add-everywhere, idlwave-toolbar-remove-everywhere) + (idlwave-toolbar-toggle): Remove XEmacs-only code. + + * lisp/progmodes/idlwave.el: Use lexical-binding. + (idlwave--dlet): New macro. + (): Use it. + (idlwave-keyword-abbrev): Turn it into a function. + (idlwave-code-abbrev): Delete macro. + (idlwave-mode-abbrev-table): Use `:enable-function` instead. + (idlwave-with-special-syntax): Delete macro; use `with-syntax-table` + instead in all callers. + (idlwave-action-and-binding): Use `alist-get` and replace `(lambda...) + with a proper closure. Change all callers to prefer passing a function + in the `cmd` argument. + (idlwave-fill-function): Delete constant var. + Replace its uses with its value (the symbol `auto-fill-function`). + (idlwave-mode): Set `normal-auto-fill-function` instead of the + cumbersome use of `idlwave-fill-function`. Tighten a regexp. + Don't set `imenu-create-index-function` to the value it should already have. + (idlwave-auto-fill-mode): Make it an obsolete alias for `auto-fill-mode`. + (idlwave-modify-abbrev): Rename from `idlwave-check-abbrev`. + Don't check `idlwave-quoted` since `:enable-function` did it for us already. + (idlwave--command-function): Rename from `idlwave-command-hook` + and make it hold a function rather than an expression. + (idlwave-command-hook, idlwave-modify-abbrev): Adjust accordingly. + (idlwave-show-begin-check): Don't check `idlwave-quoted` since + `:enable-function` did it for us already. + (idlwave-do-action): Use `functionp` since a function can also satisfy `listp` + (idlwave-new-sintern-type): Make it a macro, so we don't need to + `declare-function` for the functions it defines. + (idlwave--class-selector, idlwave--type-selector) + (idlwave--method-selector, idlwave--super-classes): Rename those vars + by adding the `idlwave--` prefix. Adjust all uses. + (idlwave-complete-functions): Rename from `idlwave-complete-special`. + (idlwave-call-special): Declare obsolete. Change all callers to use + `run-hook-with-args-until-success` instead. + (idlwave-complete-filename): Use `dlet`. + (idlwave-rinfo-assq-any-class): Remove unused var `class`. + (idlwave-determine-class-functions): Rename from + `idlwave-determine-class-special`; fix docstring since the functions + are called with only one argument. + (idlwave--complete-after-success-function): Rename from + `idlwave-complete-after-success-form` and make it hold a function. + Adjust all users. + (idlwave--complete-after-success-force-function): Rename from + `idlwave-complete-after-success-form-force` and make it hold a function. + Adjust all users. + (idlwave-attach-classes): Remove always-t variable `do-dots`. + (idlwave-local-value): Use `local-variable-p` and `buffer-local-value` + to avoid `with-current-buffer`. + (idlwave-default-choose-completion): Comment out (unused and calls + a function that doesn't exist). + (idlwave-shell-filter-sysvars): Remove unused vars `type`, `name`, and `class` + (idlwave-fix-module-if-obj_new): Remove unused var `name`. + (idlwave-fix-keywords): Bind `idlwave--super-classes` via `let` than + via the function's argument. + (idlwave-twin-class, idlwave-twin-name): Move before first use. + (idlwave-study-twins): Remove stealth/redundant `type` variable. + (idlwave-routine-entry-compare-twins): Remove unused var `type`. + (idlwave-path-alist-add-flag): Avoid `add-to-list` on a local var. + (idlwave-list-abbrevs): Simplify a tiny bit. + +2021-03-24 Juri Linkov + + * lisp/tab-bar.el (tab-bar-tab-post-change-group-functions): New hook. + + (tab-bar-change-tab-group): Run it. + (tab-bar-move-tab-to-group): New command for new hook. + +2021-03-24 Alan Mackenzie + + Improve failure reporting in test/lisp/electric-tests.el + + In particular, on a failure, output the test's doc string to + electric-tests.log, along with all the other failure information. + Fixes bug #47320. + + * electric-tests.el (electric-pair-test-for) New parameter doc-string. On a + test failure, output the doc-string parameter with message. + (electric-pair-define-test-form): Set the new variable doc-string to the + generated doc string, and pass this as argument to both ert-deftest and + electric-pair-test-for. + +2021-03-24 Stefan Monnier + + * lisp/auth-source-pass.el (auth-source): Silence spurious warning + +2021-03-24 Lars Ingebrigtsen + + Fix previous format-prompt change: The default can be a symbol + + * lisp/minibuffer.el (format-prompt): The default can also be a + symbol. + +2021-03-24 Harald Jörg + + perl-mode: Fix regexps for fontification + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-fontify-declarations): New test to ensure consistency + between perl-mode.el and cperl-mode.el (bug#47345). + * lisp/progmodes/perl-mode.el (perl-font-lock-keywords-1): pick + correct capture groups for "use Pack::Age;" + Fontify all components of "Pack::Age", not just "Pack" + (perl-font-lock-keywords-2): Use keyword-face for declarators + +2021-03-24 Andrea Corallo + + Improve two native compiler related docstrings. + + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): Improve docstring. + * src/comp.c (comp-eln-load-path): Likewise. + +2021-03-24 Lars Ingebrigtsen + + Revert "Remove font-lock toggle from font-lock-update" + + This reverts commit 23995414fec483287e7fb9c9a279483319f9fc54. + + The subject is under discussion. + +2021-03-24 Paul W. Rankin + + Remove font-lock toggle from font-lock-update + + * lisp/font-lock.el (font-lock-update): Remove call to + font-lock-unfontify-region and font-lock-mode toggle with ARG; this + did not perform what original author intended + +2021-03-24 Andrea Corallo + + * src/lread.c (maybe_swap_for_eln): Fix eln filename (bug#bug#47337). + +2021-03-24 Dmitry Gutov + + xref.el: Keep Emacs 26 compatibility + + * lisp/progmodes/xref.el (xref--read-identifier) + (xref-find-definitions, xref-find-definitions-other-window) + (xref-find-definitions-other-frame, xref-find-references): + Undo the latest change for Emacs 26 compatibility (bug#47286). + +2021-03-24 Gabriel do Nascimento Ribeiro + + Add optional FORMAT argument to 'emacs-init-time' + + * lisp/time.el (emacs-init-time): Add optional FORMAT argument + (bug#47306). + +2021-03-24 Gabriel do Nascimento Ribeiro + + Replace "(default %s)" with 'format-prompt' + + * lisp/cmuscheme.el (scheme-load-file, scheme-compile-file): + * lisp/comint.el (comint-get-source): + * lisp/emulation/viper-cmd.el (viper-quote-region, viper-kill-buffer) + (viper-query-replace, viper-read-string-with-history): + * lisp/eshell/esh-mode.el (eshell-find-tag): + * lisp/gnus/gnus-sum.el (gnus-articles-to-read) + (gnus-summary-search-article-forward) + (gnus-summary-search-article-backward): + * lisp/international/mule-cmds.el (set-input-method, toggle-input-method) + (describe-input-method, set-language-environment) + (describe-language-environment): + * lisp/mh-e/mh-gnus.el (mh-mml-minibuffer-read-disposition): + * lisp/mh-e/mh-letter.el (mh-insert-letter): + * lisp/mh-e/mh-mime.el (mh-display-with-external-viewer) + (mh-mime-save-parts, mh-mh-forward-message) + (mh-mml-query-cryptographic-method, mh-minibuffer-read-type): + * lisp/mh-e/mh-seq.el (mh-read-seq, mh-read-range): + * lisp/mh-e/mh-utils.el (mh-prompt-for-folder): + * lisp/progmodes/etags.el (find-tag-tag): + (find-tag-noselect, find-tag, find-tag-other-window) + (find-tag-other-frame, find-tag-regexp): + * lisp/progmodes/idlwave.el (idlwave-find-module): + * lisp/progmodes/inf-lisp.el (lisp-load-file, lisp-compile-file): + * lisp/progmodes/tcl.el (tcl-load-file, tcl-restart-with-file): + * lisp/progmodes/xref.el (xref--read-identifier): + (xref-find-definitions, xref-find-definitions-other-window) + (xref-find-definitions-other-frame, xref-find-references): + * lisp/ses.el (ses-read-printer): + (ses-read-cell-printer, ses-read-column-printer) + (ses-read-default-printer, ses-define-local-printer): + * lisp/subr.el (read-number): + * lisp/term.el (term-get-source): + * src/minibuf.c (read-buffer): Remove prompt suffix and + use 'format-prompt'. + * lisp/minibuffer.el (format-prompt): Ignore DEFAULT empty strings + (bug#47286). + +2021-03-24 Lars Ingebrigtsen + + Fix problem with filling with a computed fill prefix + + * lisp/textmodes/fill.el (fill-region-as-paragraph): Fix problem + when filling text with a computed fill prefix (bug#47338). + +2021-03-24 Stefan Kangas + + Convert many more links to use HTTPS + +2021-03-24 Lars Ingebrigtsen + + Move string-trim functions to subr.el + + * doc/lispref/strings.texi (Creating Strings): Document them. + + * lisp/faces.el: Don't require subr-x, because that leads to build + errors. + + * lisp/subr.el (string-trim, string-trim-right) + (string-trim-left): Move here from subr-x.el. + + * lisp/emacs-lisp/shortdoc.el (string): Adjust. + +2021-03-24 Stefan Kangas + + Use lexical-binding in iimage.el + + * lisp/iimage.el: Use lexical-binding. Remove redundant :group args. + +2021-03-24 Stefan Kangas + + * lisp/talk.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + Use lexical-binding in two trivial org-mode files + + This change has already been made on org-mode's master branch. + + * lisp/org/org-install.el: + * lisp/org/org-version.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + * lisp/help-at-pt.el: Use lexical-binding. + + * lisp/progmodes/simula.el (hilit-set-mode-patterns): Use regexp-opt. + + * lisp/progmodes/modula2.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + Use lexical-binding in view.el + + * lisp/view.el: Use lexical-binding. Remove redundant :group args. + +2021-03-24 Stefan Kangas + + Delete some commented out defgroups + + * lisp/eshell/esh-opt.el: + * lisp/international/ccl.el: + * lisp/pcmpl-linux.el: + * lisp/shell.el: + * lisp/url/url-news.el: Delete some commented out defgroups. + +2021-03-24 Stefan Kangas + + Doc fixes in view.el + + * lisp/view.el: + (view-try-extend-at-buffer-end, kill-buffer-if-not-modified) + (view-buffer, view-buffer-other-window, view-buffer-other-frame) + (view-page-size-default, view-set-half-page-size-default) + (view-really-at-end, view-end-message) + (view-search-no-match-lines): Doc fixes. + +2021-03-24 Stefan Kangas + + * lisp/master.el: Use lexical-binding. + +2021-03-24 Stefan Kangas + + Use lexical-binding in ruler-mode.el + + * lisp/ruler-mode.el: Use lexical-binding. Remove redundant + :group args. + +2021-03-24 Stefan Monnier + + * lisp/progmodes/ebnf-*.el: Use lexical-binding + + * lisp/progmodes/ebnf-abn.el: + * lisp/progmodes/ebnf-bnf.el: + * lisp/progmodes/ebnf-dtd.el: + * lisp/progmodes/ebnf-ebx.el: + * lisp/progmodes/ebnf-iso.el: + * lisp/progmodes/ebnf-otz.el: + * lisp/progmodes/ebnf-yac.el: Enable lexical-binding. + * lisp/progmodes/ebnf2ps.el (ebnf-apply-style1) + (ebnf-insert-ebnf-prologue): Use lexical-binding. + +2021-03-23 Stefan Monnier + + * lisp/mh-e: Enable lexical-binding in all the files + + * lisp/mh-e/mh-alias.el: Use lexical-binding. + (mh-alias-insert-file): Completion tables can be mere lists of strings. + + * lisp/mh-e/mh-mime.el: Use lexical-binding. + (mh-mm-inline-message): Remove always-nil var `visible-headers`. + + * lisp/mh-e/mh-search.el: Use lexical-binding. + (mh-search-folder): Remove unused var `pick-folder`. + + * lisp/mh-e/mh-show.el: Use lexical-binding. + (mh-display-msg): Remove always-nil var `visible-headers`. + + * lisp/mh-e/mh-utils.el: Use lexical-binding. + (completion-root-regexp): Always declare var. + + * lisp/mh-e/mh-buffers.el: Use lexical-binding. + * lisp/mh-e/mh-comp.el: Use lexical-binding. + * lisp/mh-e/mh-folder.el: Use lexical-binding. + * lisp/mh-e/mh-funcs.el: Use lexical-binding. + * lisp/mh-e/mh-gnus.el: Use lexical-binding. + * lisp/mh-e/mh-identity.el: Use lexical-binding. + * lisp/mh-e/mh-inc.el: Use lexical-binding. + * lisp/mh-e/mh-junk.el: Use lexical-binding. + * lisp/mh-e/mh-letter.el: Use lexical-binding. + * lisp/mh-e/mh-limit.el: Use lexical-binding. + * lisp/mh-e/mh-print.el: Use lexical-binding. + * lisp/mh-e/mh-scan.el: Use lexical-binding. + * lisp/mh-e/mh-seq.el: Use lexical-binding. + * lisp/mh-e/mh-speed.el: Use lexical-binding. + * lisp/mh-e/mh-thread.el: Use lexical-binding. + * lisp/mh-e/mh-tool-bar.el: Use lexical-binding. + * lisp/mh-e/mh-xface.el: Use lexical-binding. + +2021-03-23 Stefan Monnier + + * lisp/wdired.el: Fix typo in last change. + + Reported by Michael Heerdegen . + + (wdired-change-to-wdired-mode, wdired-change-to-dired-mode): + The `(local FOO)` form takes an expression, so the var needs to be quoted. + +2021-03-22 Lars Ingebrigtsen + + Mention `C-o' in the `RET' doc string + + * lisp/simple.el (newline-and-indent): Mention `C-o' in the doc + string. + +2021-03-22 Lars Ingebrigtsen + + Fix previous face.el change + + * lisp/faces.el (require): Fix compilation warning from previous + face.el change. + +2021-03-22 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab-group): Set default to t. + + (tab-bar-tabs, tab-bar-select-tab, tab-bar-new-tab-to): + Use tab-bar--current-tab-make instead of tab-bar--current-tab. + (tab-bar--tab): Add arg 'frame' to tab-bar--current-tab-find. + (tab-bar--current-tab, tab-bar--current-tab-make): Move most of body + from the former to the latter, thus reverting tab-bar--current-tab + to its previous behavior. + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00959.html + +2021-03-22 Lars Ingebrigtsen + + Use read-color in read-face-attribute for color attributes + + * lisp/faces.el (read-face-attribute): Use read-color when + prompting for a color (bug#47316). + +2021-03-22 Michael Albinus + + * lisp/files-x.el (connection-local-criteria-for-default-directory): + + Add optional argument APPLICATION. + +2021-03-22 Stefan Kangas + + Remove unnecessary requires of rx + + * lisp/cedet/semantic/wisent/python.el (rx): + * test/src/process-tests.el (rx): Remove unnecessary requires. + +2021-03-22 Stefan Kangas + + Use lexical-binding in notifications.el + + * lisp/notifications.el: Use lexical-binding. + (notifications-notify): Prefer 'push' to 'add-to-list'. + +2021-03-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-lookup-eln): Add autoload cookie. + + * lisp/emacs-lisp/comp.el (comp-lookup-eln): Add new function. + +2021-03-21 Andrea Corallo + + Prevent unnecessary multiple .el hashing in 'maybe_swap_for_eln' + + * src/comp.c (Fcomp_el_to_eln_rel_filename): New function. + (Fcomp_el_to_eln_filename): Make use of. + (syms_of_comp): Register 'Scomp_el_to_eln_rel_filename'. + * src/lread.c (maybe_swap_for_eln): Make use of + 'Fcomp_el_to_eln_rel_filename' to hash prevent unnecessary + multiple hashing. + +2021-03-21 Alan Mackenzie + + Prevent open minibuffers getting lost when their frame gets deleted + + This happened with minibuffer-follows-selected-frame set to t. + + * doc/emacs/mini.texi (Basic Minibuffer): State where a command's action takes + place when a minibuffer's frame has been deleted. + + * lisp/window.el (window--before-delete-windows, record-window-buffer): Take + into account that minibuffers are now recorded on w->prev_buffers field. + + * src/fns.c (merge_c): New version of `merge' taking a C function, rather than + a Lisp function as the comparison function. + + * src/frame.c (do_switch_frame): Pass arguments sf and for_deletion to + move_minibuffers_onnto_frame. + + * src/lisp.h (top level): Declare merge_c and + move_minibuffers_onto_selected_frame. + + * src/minibuf.c (MB_frame): New Lisp_Object recording the minibuffer's frame. + (choose_minibuf_frame): Remove all code except that which sets minibuf_window + to the current frame's minibuffer. + (minibuffer_ent_greater): New comparison function, passed to merge_c. + (zip_minibuffer_stacks): New function. + (move_minibuffers_onto_frame): Renamed from `move_minibuffer_onto_frame' given + two arguments, the old frame and for_deletion, and simplified. Minibuffers + are now stacked in the mini-window's ->prev_buffers field. + (read_minibuf): Several detailed amendments. + (exp_MB_frame): New Lisp_Object, the expired minibuffer's frame. + (read_minibuf_unwind): Search for the expired minibuffer's frame, rather than + taking it from (unreliable) variables. Switch temporarily to this frame for + tidying up operations. + (minibuffer_unwind): New function which pops a stacked minibuffer. + (syms_of_minibuf): Call staticpro for the two new Lisp variables. + + * src/window.c (Fset_window_configuration): Don't record minibuffers with + record-window-buffer. + + * src/xdisp.c (gui_consider_frame_title): Remove redundant Fselect_window, + which caused an unwanted frame switch. Amend the arguments to + format_mode_line_unwind_data to match. + +2021-03-21 Andrea Corallo + + Add a tmp dir to `comp-eln-load-path' when running the testsuite. + + * lisp/startup.el (normal-top-level): Tweak `comp-eln-load-path' + adding a temp directory when running the testsuite. + +2021-03-21 Glenn Morris + + * lisp/thumbs.el (thumbs-conversion-program): Simplify. + + /usr/bin is (normally) always in PATH, and this need not be absolute, + so the executable-find is unnecesary. + +2021-03-21 Stefan Kangas + + Actually use lexical-binding in wid-browse.el + + * lisp/wid-browse.el: Use lexical-binding. I apparently forgot to + commit the lexical-binding cookie in my previous attempt. + +2021-03-21 Andrea Corallo + + Revert "* lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all..." + + This reverts commit be22cda7be9e77e67f224f6f07cca9dd44aaa078. + + Older binaries might still need those .eln if they where preloaded. + +2021-03-21 Theodor Thornhill + + Use pop-to-buffer-same-window for shell + + * lisp/progmodes/project.el (project-shell): Behave the same way as + 'M-x project-eshell'. + * lisp/shell.el (shell): Behave the same way as 'M-x eshell'. + * etc/NEWS: Add news entry describing the change. + * lisp/tutorial.el: Use lexical-binding. + +2021-03-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Clean-up all .eln dirs. + +2021-03-21 Zhiwei Chen (tiny change) + + Allow hide-ifdef-guts to work in buffers not visiting files + + * lisp/progmodes/hideif.el (hide-ifdef-guts): Allow working in + buffers not visiting files (bug#47279). + +2021-03-21 Stefan Kangas + + * lisp/tutorial.el: Use lexical-binding. + +2021-03-21 Stefan Monnier + + * lisp/cedet/semantic/ia.el (semantic-ia-complete-symbol): Simplify + + Cut the `semantic-ia-get-completions-deprecated` middle man. + +2021-03-20 Stefan Kangas + + Remove support for Syndic8.com, defunct since 2013 + + * lisp/gnus/nnrss.el (nnrss-discover-feed) + (nnrss-find-rss-via-syndic8): Remove support for Syndic8.com, as + the site was shut down in 2013. + +2021-03-20 Toby Cubitt + + Fix cl-progv binding order + + * lisp/emacs-lisp/cl-macs.el (cl-progv): Bind variables in the + correct order (bug#47272). + +2021-03-20 Gregory Heytings + + * etc/NEWS: Small corrections for the new command 'font-lock-update' + +2021-03-20 Stefan Kangas + + Remove Gnus specific .dir-locals.el + + * lisp/gnus/.dir-locals.el: Delete file. The only variable it set was + 'show-trailing-whitespace', but this should be up to the individual + developer. (Bug#47278) + +2021-03-20 Stefan Kangas + + Prefer https and fix broken links in ERC + + * lisp/erc/erc-button.el (erc-button-rfc-url) + (erc-button-search-url): Prefer https. + * lisp/erc/erc-capab.el: + * lisp/erc/erc.el (erc-cmd-MODE): Fix broken links. + +2021-03-20 Stefan Kangas + + * lisp/thumbs.el (thumbs-show-from-dir): Improve prompt. + +2021-03-20 Eli Zaretskii + + Fix args-out-of-range error in format.el + + * lisp/format.el (format-deannotate-region): Ignore todo items + with FROM > TO. (Bug#47277) + +2021-03-20 Paul Eggert + + Don’t convert pointer to bool + + Without this patch, Oracle Studio 12.6 complains about converting + pointer to bool. + * src/editfns.c (styled_format): Use !!. + +2021-03-20 Stefan Kangas + + Assume something more recent than X11R6 + + * lisp/bindings.el: + * lisp/menu-bar.el: + * lisp/printing.el: + * lisp/thumbs.el (thumbs-conversion-program): Assume we have something + more recent than X11R6. + +2021-03-20 Stefan Kangas + + Use lexical-binding in thumbs.el + + * lisp/thumbs.el: Use lexical-binding. Remove redundant :group args. + * test/lisp/thumbs-tests.el: New file. + +2021-03-20 Stefan Kangas + + * lisp/novice.el: Use lexical-binding. + +2021-03-20 Stefan Monnier + + * lisp/wdired.el: Use lexical-binding + + Remove redundant `:group` args. + + (wdired-change-to-wdired-mode): Use `add-function` to modify + `revert-buffer-function`. + (wdired-change-to-dired-mode): Adjust accordingly. + (wdired-do-renames): Make sure to bind `dired-backup-overwrite` dynamically. + +2021-03-20 Stefan Kangas + + Don't tag mouse command as mode exclusive + + * lisp/finder.el (finder-mouse-select): Don't tag for finder-mode. + +2021-03-19 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Remember location of unresolved calls + + I've gotten tired of seeing the "function foo not known to be defined" + warning without any line number information. So this patch adds as + line number the position of the first use of that function in the file + (well, approximately, as usual). + + (byte-compile-unresolved-functions): Add POSITIONs in the alist. + (byte-compile-function-warn): Store the current position in + `byte-compile-unresolved-functions`. + (byte-compile-arglist-warn): Adjust accordingly. + (byte-compile-print-syms): Delete unused function. + (byte-compile-warn-about-unresolved-functions): Use the stored position + to give more precise warnings. + +2021-03-19 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase-compile-patterns): New function (bug#47261) + + Extracted from `pcase--expand`. + (pcase--expand): Use it. + +2021-03-19 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-03-19 Eli Zaretskii + + Improve the docs of a recent change in mb-depth.el + + * lisp/mb-depth.el (minibuffer-depth-indicator-function): Improve + the wording of the doc string and of the label used for the + default value. (Bug#47252) + +2021-03-19 Andrea Corallo + + Do not load native code when `load' is explicitly called on a .elc file + + * src/lread.c (Fload): Do not load native code when `load' is + explicitly called on a .elc file. + (Flocate_file_internal): Update 'openp' call sites. + (maybe_swap_for_eln): Add new 'no_native' parameter. + (openp): Likewise + update 'maybe_swap_for_eln' and 'openp' call + sites. + * src/lisp.h: Update 'openp' signature. + * src/w32proc.c (sys_spawnve): Update 'openp' call sites. + * src/w32.c (check_windows_init_file): Likewise. + * src/sound.c (Fplay_sound_internal): Likewise. + * src/process.c (Fmake_process): Likewise. + * src/image.c (image_create_bitmap_from_file) + (image_find_image_fd): Likewise. + * src/emacs.c (set_invocation_vars): Likewise. + * src/charset.c (load_charset_map_from_file): Likewise. + * src/callproc.c (call_process): Likewise. + +2021-03-19 Mauro Aranda + + Fix :type of recently introduced defcustom + + * lisp/mb-depth.el (minibuffer-depth-indicator-function): The option + can be nil, so add nil as a choice. (Bug#47252) + +2021-03-19 Gabriel do Nascimento Ribeiro + + Make minibuffer-depth-indicator-function a defcustom + + * lisp/mb-depth.el (minibuffer-depth-indicator-function): Make + into a user option (bug#47252). + +2021-03-19 Lars Ingebrigtsen + + Warn the user if we can't find pkg-config + + * configure.ac (WITH_IFAVAILABLE): Warn the user if we can't find + a usable pkg-config (bug#47159). + +2021-03-19 Lars Ingebrigtsen + + Add a note to NEWS as to how to restore the facemenu + +2021-03-19 Stefan Monnier + + Fix copyright lines mistakenly treated as outline headers + + * lisp/emacs-lisp/generator.el: + * test/lisp/cedet/semantic-utest.el: + * test/lisp/cedet/semantic/format-tests.el: + * test/lisp/cedet/semantic/fw-tests.el: + * test/lisp/cedet/semantic/bovine/gcc-tests.el: + * test/lisp/cedet/semantic/format-resources/test-fmt.el: + * test/manual/cedet/semantic-tests.el: + * lisp/obsolete/inversion.el: Use only 2 semi-colons before "Copyright". + +2021-03-19 Stefan Monnier + + lisp/erc: Use lexical-binding + + Also remove various redundant `:group` arguments. + + * lisp/erc/erc-backend.el (define-erc-response-handler): Move `declare` + after the docstring. + + * lisp/erc/erc-capab.el: Use lexical-binding. + (erc-capab-identify-activate): Simplify with `member`. + + * lisp/erc/erc-dcc.el (erc-dcc): Move before erc-dcc-mode definition, + which refers to it. + (erc-dcc-chat-accept): Remove unused vars `nick` and `buffer`. + + * lisp/erc/erc-imenu.el: Use lexical-binding. + (erc-create-imenu-index): Remove unused var `prev-pos`. + + * lisp/erc/erc-match.el: Use lexical-binding. + (erc-match-message): Remove unused var `old-pt`. + (erc-match-message): Strength-reduce `eval` to `symbol-value`. + + * lisp/erc/erc-page.el: Use lexical-binding. + (erc-page): Move Custom group before `erg-page-mode` which refers to it. + + * lisp/erc/erc-replace.el: Use lexical-binding. + (erc-replace-insert): Use `functionp`. + + * lisp/erc/erc-status-sidebar.el: Use lexical-binding. + (erc-status-sidebar-open): Remove unused var `sidebar-window`. + + * lisp/erc/erc.el: Fix header to use the customary 3 semi-colons. + (erc-fill-column): Declare variable. + + * lisp/erc/erc-autoaway.el: Use lexical-binding. + * lisp/erc/erc-ezbounce.el: Use lexical-binding. + * lisp/erc/erc-fill.el: Use lexical-binding. + * lisp/erc/erc-goodies.el: Use lexical-binding. + * lisp/erc/erc-ibuffer.el: Use lexical-binding. + * lisp/erc/erc-identd.el: Use lexical-binding. + * lisp/erc/erc-join.el: Use lexical-binding. + * lisp/erc/erc-lang.el: Use lexical-binding. + * lisp/erc/erc-log.el: Use lexical-binding. + * lisp/erc/erc-menu.el: Use lexical-binding. + * lisp/erc/erc-netsplit.el: Use lexical-binding. + * lisp/erc/erc-networks.el: Use lexical-binding. + * lisp/erc/erc-pcomplete.el: Use lexical-binding. + * lisp/erc/erc-ring.el: Use lexical-binding. + * lisp/erc/erc-speedbar.el: Use lexical-binding. + * lisp/erc/erc-spelling.el: Use lexical-binding. + * lisp/erc/erc-truncate.el: Use lexical-binding. + * lisp/erc/erc-xdcc.el: Use lexical-binding. + +2021-03-19 Stefan Kangas + + Do interactive mode tagging for finder.el + +2021-03-19 Stefan Kangas + + Use lexical-binding in finder.el + + * lisp/finder.el: Use lexical-binding. + (finder-mode-map, finder-compile-keywords): Remove unused lexical + variables. + +2021-03-19 Stefan Kangas + + Fix a warning due to not preloading facemenu.el + + * test/src/undo-tests.el (facemenu): Require. + +2021-03-18 Stefan Kangas + + * lisp/faces.el (help-key-binding): Tweak background. + +2021-03-18 Basil L. Contovounesios + + Fix frame-inner-height in non-GUI builds + + Include tab bar in frame's inner height in non-GUI builds that don't + define tab-bar-height. This is consistent with the inclusion of the + menu bar in the calculated height. It is also consistent with TTY + frames of GUI builds, for which tab-bar-height is always zero + anyway (bug#47234). Fix suggested by Eli Zaretskii . + + * lisp/frame.el (frame-inner-height): Don't assume tab-bar-height is + defined in builds --without-x. + +2021-03-18 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Optimize the "return nil" case + +2021-03-18 Stefan Monnier + + * test/lisp/progmodes/cperl-mode-tests.el: Silence warnings + + (cperl-test-bug-47112): Actually obey the major-mode for the test. + +2021-03-18 Juri Linkov + + * lisp/newcomment.el: Allow 'comment-continue' with whitespace (bug#47167) + + * lisp/newcomment.el (comment-region-default-1): Still use 'comment-continue' + as a string with whitespace even when 'comment-padright' returns nil. + +2021-03-18 Juri Linkov + + * lisp/simple.el (next-error-quit-window): New function (bug#44611). + + (next-error-found-function): Add it as a choice. + +2021-03-18 Glenn Morris + + * admin/make-tarball.txt: Be kind to people merging branches. + +2021-03-18 Glenn Morris + + Merge from origin/emacs-27 + + d5b160d7cc (tag: emacs-27.2-rc1, origin/emacs-27) Prepare the Emacs 2... + 216bd67a4f ; * admin/make-tarball.txt: Advise to remove stale subdire... + + # Conflicts: + # ChangeLog.3 + # README + # configure.ac + # etc/AUTHORS + # etc/NEWS + # lisp/ldefs-boot.el + # msdos/sed2v2.inp + # nt/README.W32 + +2021-03-18 Glenn Morris + + Merge from origin/emacs-27 + + a7f95d5244 Remove duplicate @table item from ELisp manual + be1b3512f7 Fix reference to 'diff-font-lock-syntax' in diff-mode docu... + +2021-03-18 Glenn Morris + + Merge from origin/emacs-27 + + f60eb988f6 Fix typos and omissions for (elisp)Button Buffer Commands + 876b95bf90 Teach Rmail about NBSP in "Re:" + + # Conflicts: + # lisp/mail/rmail.el + +2021-03-18 Eli Zaretskii + + Prepare the Emacs 27.2 release. + + * etc/HISTORY: Update for Emacs 27.2. + + * README: + * configure.ac: + * nt/README.W32: + * msdos/sed2v2.inp: Set version to 27.2 + +2021-03-18 Mattias Engdegård + + Optimise tail calls in `and` and `or` forms in `cl-labels` functions + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Handle `and` and `or`. + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + Add test cases. + +2021-03-18 Michael Albinus + + Extend handled events in 'while-no-input-ignore-events' (Bug#47205) + + * etc/NEWS: Mention changes to 'while-no-input-ignore-events'. + + * src/keyboard.c (kbd_buffer_store_buffered_event): Handle also + Qfile_notify and Qdbus_event as ignore_event. (Bug#47205) + +2021-03-18 Stefan Kangas + + Add comint-password-prompt-regexp test for "zip -e ..." + + * test/lisp/comint-tests.el (comint-testsuite-password-strings): + Add test for "zip -e ...". (Bug#47209) + +2021-03-18 Lars Ingebrigtsen + + Compute chart-face-list dynamically + + * lisp/emacs-lisp/chart.el (chart-face-list): Allow a function as + the value (bug#47133) so that we can compute the faces dynamically + on different displays. + (chart--face-list): New function. + (chart-draw-data): Use it. + +2021-03-18 Lars Ingebrigtsen + + Document that `buffer-string' retains text properties + + * doc/lispref/text.texi (Buffer Contents): Mention text properties + in the `buffer-string' documentation. + * src/editfns.c (Fbuffer_string): Mention text properties in the + doc string (bug#47220). + + (cherry picked from commit 60af754170f22f5d25510af069ed0ebfec95f992) + +2021-03-18 Lars Ingebrigtsen + + Fix breaking undo-test + +2021-03-18 Lars Ingebrigtsen + + Make "not found" message in dictionary less misleading + + * lisp/net/dictionary.el (dictionary-do-search): Don't say there + are more words when there aren't (bug#47056). + +2021-03-18 Lars Ingebrigtsen + + Make memory-report work with buffer-local unbound vars + + * lisp/emacs-lisp/memory-report.el (memory-report--buffer-data): + Protect against buffer-local unbound variables (bug#47057). + +2021-03-18 Lars Ingebrigtsen + + Fix sorting in speedbar sub-groups + + * lisp/speedbar.el (speedbar-prefix-group-tag-hierarchy): Sort + entries in sub-groups (bug#47073). + +2021-03-18 Gabriel do Nascimento Ribeiro + + lisp/cedet/pulse.el: Use color.el + + * lisp/cedet/pulse.el: (pulse-int-to-hex): Remove function. + (pulse-color-values-to-hex): Remove function. + (pulse-lighten-highlight): Remove function. + (pulse-momentary-iteration): Add variable. + (pulse-momentary-highlight-overlay): Use color-gradient from color.el. + (pulse-tick): Receive colors and update overlay background (bug#47083). + +2021-03-18 Harald Jörg + + cperl-mode: Don't interpret y_ as start of y// function. + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Avoid + treating underscores as word-terminators. + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-bug-47112): Test case for that bug (bug#47112). + +2021-03-18 Gabriel do Nascimento Ribeiro + + Fix uniquify-trailing-separator-p + uniquify-strip-common-suffix + + (uniquify-item): New slot 'original-dirname'. + (uniquify-rationalize-file-buffer-names): Use new slot. + (uniquify-rationalize): Use new slot. + (uniquify-get-proposed-name): New optional argument 'original-dirname' + to properly add a trailing separator when the corresponding user option + is set and the dirname is an existing directory (bug#47132). + +2021-03-18 Lars Ingebrigtsen + + Fix problem of trashing files to an inconsistent trash directory + + * lisp/files.el (move-file-to-trash): Allow moving files to trash + even if there's a file in trash with the same name (but no entry + in info) (bug#47135). + +2021-03-18 Lars Ingebrigtsen + + Autoload 'mouse-wheel-mode' + + * lisp/mwheel.el (mouse-wheel-mode): Autoload, since the mode can + be used (but isn't preloaded) when there isn't any window system + (bug#47162). + +2021-03-18 Lars Ingebrigtsen + + Recognise "Verify password" as a password prompt + + * lisp/comint.el (comint-password-prompt-regexp): Also react to + "Verify password" (output by "zip -e") (bug#47209). + +2021-03-18 Lars Ingebrigtsen + + Document that `buffer-string' retains text properties + + * doc/lispref/text.texi (Buffer Contents): Mention text properties + in the `buffer-string' documentation. + * src/editfns.c (Fbuffer_string): Mention text properties in the + doc string (bug#47220). + +2021-03-18 Lars Ingebrigtsen + + Don't pre-load facemenu + + * lisp/facemenu.el (facemenu-add-face-function): Move to avoid a + compilation warning. + (facemenu-color-alist): Made obsolete. + + * lisp/faces.el (read-color): Don't use it. + + * lisp/loadup.el ("emacs-lisp/syntax"): Don't load facemenu. + + * lisp/wid-edit.el (color): Don't use facemenu-color-alist. + (widget-color--choose-action): Require facemenu. + (widget-color-action): Ditto. + + * lisp/progmodes/cperl-mode.el (facemenu): Require. + + * lisp/textmodes/sgml-mode.el (facemenu): Require. + +2021-03-18 Lars Ingebrigtsen + + Unbind `M-o' and add new `C-x x f' binding + + * doc/lispref/modes.texi (Other Font Lock Variables): + `font-lock-fontify-block' is no longer bound. + * lisp/bindings.el (ctl-x-x-map): Bind `font-lock-update'. + + * lisp/font-lock.el (font-lock-update): New command written by + Gregory Heytings . + + * lisp/loadup.el: Remove transitional experimental code. + +2021-03-18 Stefan Monnier + + * lisp/textmodes: Use lexical-binding + + * lisp/textmodes/enriched.el: Use lexical-binding. + (enriched-mode): Use `delete-dups` to avoid `add-to-list` on + a local variable. + + * lisp/textmodes/makeinfo.el: Use lexical-binding. + (makeinfo-region): Remove unused var `filename-or-header`. + + * lisp/textmodes/refbib.el: Use lexical-binding. + (r2b-put-field): Remove unused var `multi-line`. + (r2b-barf-output): Remove unused var `match`. + + * lisp/textmodes/refer.el: Use lexical-binding. + (refer-find-entry-internal): Remove unused vars `old-buffer` and `found`. + + * lisp/textmodes/reftex-auc.el: Use lexical-binding. + (LaTeX-add-bibitems): Declare function. + (reftex-plug-into-AUCTeX): Use `add-function` and `advice-add` so we + can properly unplug. + + * lisp/textmodes/reftex-cite.el: Use lexical-binding. + (reftex-create-bibtex-file): Remove unused var `file`. + (reftex--found-list): Declare var. + (reftex-offer-bib-menu): Rename local var to `reftex--found-list`. + + * lisp/textmodes/reftex-dcr.el: Use lexical-binding. + (reftex-use-itimer-in-xemacs): Delete XEmacs-only var. + (reftex-toggle-auto-view-crossref): Delete XEmacs-only code. + (reftex-start-itimer-once): Delete XEmacs-only function. + + * lisp/textmodes/reftex-global.el: Use lexical-binding. + (reftex-isearch-push-state-function): Use a closure instead of `(lambda). + + * lisp/textmodes/reftex-index.el: Use lexical-binding. + (mark-active, transient-mark-mode): Delete var declarations. + (reftex-index-mode-map): Remove XEmacs-only code. + Use `mapc` so we can use closures instead of hand-built lambdas. + (reftex-index-next, reftex-index-previous): Tweak interactive spec to + remove unused prefix arg and mark it as a motion command. + (reftex-index-phrases-font-lock-keywords) + (reftex-index-phrases-font-lock-keywords): Move initialization into + declaration. + (reftex-index-initialize-phrases-buffer, reftex-index-phrases-mode) + reftex-index-phrases-apply-to-region: Remove XEmacs-only code. + (TeX-master): Remove redundant declaration. + (reftex--chars-first): Rename dynvar from `chars-first`. Adjust all uses. + + * lisp/textmodes/reftex-parse.el: Use lexical-binding. + + * lisp/textmodes/reftex-ref.el: Use lexical-binding. + (reftex-label): Remove always-nil var `text`. + (reftex-refstyle): Declare before first use. + (): Use closures rather than `eval` when building commands from + `reftex-ref-style-alist`. + + * lisp/textmodes/reftex-sel.el: Use lexical-binding. + (reftex-select-label-mode-map, reftex-select-bib-mode-map): + Use `mapc` so we can use closures instead of hand-built lambdas. + (reftex-select-label-mode, reftex-select-bib-mode): Remove XEmacs-only code. + (reftex-select-data, reftex-select-prompt, reftex-refstyle): + Move declaration before first use. + (reftex--found-list, reftex--cb-flag, reftex--last-data) + (reftex--call-back, reftex--help-string): Move declaration before use, + and rename by adding `reftext--` prefix. Adjust all uses in this file. + For `reftex--found-list` adjust corresponding uses in `reftex-cite.el`. + (reftex-select-item): Explicitly let-bind them. + Remove XEmacs-only code. + + * lisp/textmodes/reftex-toc.el: Use lexical-binding. + (reftex-toc-mode-map, reftex-toc-mode, reftex-toc-restore-region) + (reftex-toc-next, reftex-toc-previous, reftex-toc-next-heading) + (reftex-toc-previous-heading, reftex-toggle-auto-toc-recenter + (reftex-make-separate-toc-frame): Remove XEmacs-only code. + + * lisp/textmodes/reftex-vars.el: Use lexical-binding. + + * lisp/textmodes/reftex.el: Use lexical-binding. + (reftex-mode-map, reftex-mode, reftex-fontify-select-label-buffer) + (reftex-verified-face): Remove XEmacs-only code. + (reftex-region-active-p, reftex-overlay-put, reftex-move-overlay) + (reftex-make-overlay, reftex-get-buffer-visiting, reftex-delete-overlay): + Redefine as obsolete aliases. Replace all callers. + (current-message): Remove XEmacs-only definition. + + * lisp/textmodes/remember.el: Use lexical-binding. + + * lisp/textmodes/table.el (): Use closures rather than `(lambda) + to build commands. + + * lisp/textmodes/texinfmt.el: Use lexical-binding. + (texinfo-example-start): Declare var. + (texinfo-format-region, texinfo-format-buffer-1): Remove unused var + `last-input-buffer`. + (texinfo-format-scan): Use `dlet` to bind `whitespace-silent`. + (texinfo-optional-braces-discard, texinfo-format-parse-line-args) + (texinfo-format-parse-args): Remove unused var `start`. + (texinfo-multitable-widths): Remove unused var `start-of-templates`. + (texinfo-multitable-item): Strength-reduce `eval` to `symbol-value`. + (texinfo-alias): Remove unused vars `start` and `args`. + (texinfo-defun-type symbol-property): Change the car to help the type + symbol rather than an expression returning it. + (texinfo-format-deffn): Remove corresponding `eval`. + (texinfo-clear): Remove unused var `value`. + (texinfo-format-ifeq): Remove unused var `end`. + + * lisp/textmodes/texinfo.el: Use lexical-binding. + (tex-show-print-queue): Declare function. + + * lisp/textmodes/texnfo-upd.el: Use lexical-binding. + (texinfo-start-menu-description): Remove unused var `end`. + (texinfo-insert-node-lines): Remove unused var `beginning-marker`. + (texinfo-multiple-files-update): Remove unused vars `next-node-name` + and `previous-node-name`. + + * lisp/textmodes/two-column.el: Use lexical-binding. + +2021-03-18 Dmitry Gutov + + Leave signaling the exact error to cl-generic's internals + + * lisp/progmodes/project.el (project-root): Extract default + definition to a new method, predicated on a context + (https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00771.html). + +2021-03-18 Stefan Monnier + + * lisp/emacs-lisp/benchmark.el (benchmark-call): New function + + (benchmark-run, benchmark-run-compiled, benchmark): Use it. + (benchmark--adaptive): New internal function. + +2021-03-17 Juri Linkov + + * lisp/tab-line.el: Face cleanup. + +2021-03-17 Juri Linkov + + * lisp/tab-bar.el: New faces and face options. + + * lisp/tab-bar.el (tab-bar-tab-group-current) + (tab-bar-tab-group-inactive, tab-bar-tab-ungrouped): New deffaces. + (tab-bar-tab-face-function): New defcustom. + (tab-bar-tab-face-default): New function. + (tab-bar-tab-name-format-default): Use it. + (tab-bar-tab-group-format-default): Use tab-bar-tab-group-inactive face. + (tab-bar-tab-group-face-function): New defcustom. + (tab-bar-tab-group-face-default): New function. + (tab-bar--format-tab-group): Add new arg 'current-p'. + (tab-bar-format-tabs-groups): Prepend current group name before first tab. + Override tab-bar-tab-face-function with tab-bar-tab-group-face-function. + +2021-03-17 Dmitry Gutov + + Stop project-root from going into infinite recursion + + * lisp/progmodes/project.el (project--within-roots-fallback): + New variable. + (project-root, project-roots): Use it (bug#47168). + +2021-03-17 Fabrice Bauzac + + Remove duplicate @table item from ELisp manual + + * doc/lispref/objects.texi (Special Read Syntax): Remove duplicate + item "#@N" from the table of Special Read Syntax. (Bug#47200) + +2021-03-16 Juri Linkov + + New commands xref-next-line-no-show and xref-prev-line-no-show (bug#44611) + + * lisp/progmodes/xref.el (xref-next-line-no-show) + (xref-prev-line-no-show): New commands. + (xref-next-line, xref-prev-line): Use them. + +2021-03-16 Juri Linkov + + Minor fixes + + * lisp/frame.el (set-frame-property--interactive): Remove '(point)' + that makes no sense as the default value. (Bug#9970) + + * lisp/simple.el (next-error-found-function): Move defcustom + closer to function 'next-error-found' where it's used. + +2021-03-16 Andrea Corallo + + Fix `no-byte-compile' native compilation interaction (bug#47169) + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Throw + no-native-compile when `byte-native-qualities' are null. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): No need + to consider `no-byte-compile'. + +2021-03-16 Juri Linkov + + * lisp/tab-bar.el (tab-bar-select-tab): Support negative arg. + +2021-03-16 Juri Linkov + + * lisp/tab-bar.el: Simplify internal functions. + + * lisp/tab-bar.el (tab-bar-tabs-set): New function. + (tab-bar-tabs): Use tab-bar--current-tab-find and tab-bar-tabs-set. + (tab-bar--tab): Use tab-bar--current-tab-find. + (tab-bar--current-tab): Remove unused line (assq 'current-tab ...) + because there is no current-tab when it's called. Remove unused arg 'frame'. + (tab-bar--current-tab-find): Simplify. + (tab-bar-move-tab-to, tab-bar-move-tab-to-frame) + (tab-bar-new-tab-to, tab-bar-close-tab) + (tab-bar-close-other-tabs, tab-bar-undo-close-tab) + (tab-switcher-delete-from-list): Use tab-bar-tabs-set + instead of set-frame-parameter. + (tab-bar-close-group-tabs): Simplify using tab-bar--current-tab-find + without arg. + +2021-03-16 Michael Albinus + + Fix problem of image-tests.el on emba + + * test/README: Mention $EMACS_TEST_DIRECTORY. + + * test/lisp/image-tests.el (image-tests--emacs-images-directory): + Use `data-directory', for runs w/o of make. + (image-type/from-filename): Check for `image-load-path'. + +2021-03-16 Michael Albinus + + Fix problem in Tramp running two async processes in parallel + + * lisp/net/tramp-integration.el + (tramp-compile-disable-ssh-controlmaster-options): New defun. Add + it to `compilation-mode-hook'. (Bug#45518) + + * lisp/progmodes/compile.el (compilation-get-file-structure): + Revert commit 4ce5646d59, it isn't needed. + +2021-03-16 Stefan Monnier + + * etc/themes/modus-themes.el: Bump version for GNU ELPA release + + (News:): New section. + +2021-03-16 Andrea Corallo + + Have `no-byte-compile' implies also `no-native-compile'. + + * lisp/emacs-lisp/comp.el (no-native-compile): Update doctring. + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): when + `no-byte-compile' is set to non-nil it overrides this. + +2021-03-16 Daniel Martín + + Add minibuffer input support to commands that set the frame size + + * lisp/frame.el (set-frame-property--interactive): Internal function to + produce the interactive form of `set-frame-width' and + `set-frame-height'. Offer the current size as default. (Bug#9970) + * src/frame.c (Fset_frame_height): Modify to call + `set-frame-property--interactive'. + (Fset_frame_width): Modify to call `set-frame-property--interactive'. + * doc/lispref/frames.texi (Frame Size): Update the manuals. + * etc/NEWS: Advertise the change (bug#9970). + +2021-03-15 Eli Zaretskii + + * lisp/emacs-lisp/byte-opt.el: Fix native re-compilation (bug#47161). + +2021-03-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-new-tab-group): New defcustom. + + (tab-bar--current-tab, tab-bar-new-tab-to, tab-bar-duplicate-tab): Use it. + +2021-03-15 Juri Linkov + + * lisp/tab-bar.el (tab-bar-tab-group-format-function): New defcustom. + + (tab-bar-tab-group-default): New function. + (tab-bar-tab-group-format-default, tab-bar-format-tabs-groups) + (tab-bar-change-tab-group, tab-bar-close-group-tabs): Use it. + +2021-03-15 Glenn Morris + + * CONTRIBUTE: Refer to gnulib for request-assign.future. + + The vast majority of the exchanges on this topic are "please send me + the form; ok I sent you the form", and there's no need to involve a + mailing list for that. + +2021-03-15 Andrea Corallo + + * lisp/emacs-lisp/bytecomp.el: Fix native re-compilation (bug#47161). + +2021-03-15 Eli Zaretskii + + Prefer expand-file-name to concat in native-compilation code + + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): + * src/comp.c (Fcomp_el_to_eln_filename) + (eln_load_path_final_clean_up): Prefer expand-file-name to concat. + (Bug#43725) + +2021-03-15 Protesilaos Stavrou + + Make the `kbd` macro work in both Emacs-26 and Emacs-28 + + This is so that elpa.gnu.org's Emacs-26 can successfully build the + Info version of it for the GNU ELPA package. + +2021-03-15 Michael Albinus + + Improve command completion in tramp-crypt.el + + * lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p): + Rename from `tramp-crypt-enabled-p'. Handle + `tramp-crypt-remove-directory' special. + +2021-03-15 Stefan Kangas + + * lisp/textmodes/refill.el: Use lexical-binding. + +2021-03-15 Stefan Monnier + + * lisp/cedet: Convert remaining files to lexical-binding + + Remove a few more redundant `:group` args. + Make use of lexical scoping to replace `(lambda...) with proper closures. + + * lisp/cedet/ede/custom.el (ede-project-sort-targets-list): + Use `dotimes` and replace `(lambda..) with closures. + + * lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once): + * lisp/cedet/ede/pmake.el (ede-pmake-insert-variable-once): + Remove unused var `addcr`. + + * lisp/cedet/semantic/complete.el: Use lexical-binding. + (semantic-displayer-show-request): Remove unused var `typing-count`. + Use `equal` instead of `stringp+string=`. + + * lisp/cedet/semantic/db-ebrowse.el: Use lexical-binding. + (semanticdb-create-ebrowse-database): Remove unused vars `mma` and `regexp`. + (semanticdb-ebrowse-strip-trees): Remove unused var `class` and `filename`. + (semanticdb-ebrowse-add-globals-to-table): Remove unused var `fname`. + + * lisp/cedet/semantic/db-find.el: Use lexical-binding. + (semanticdb-find-adebug-insert-scanned-tag-cons): Remove always-nil var + `tip`. + + * lisp/cedet/semantic/db-global.el: Use lexical-binding. + (semanticdb-enable-gnu-global-databases): Access local var + `semantic--ih` by sticking its value in the code passed to `eval` + rather than by dynamic scoping. + + * lisp/cedet/semantic/db-typecache.el: Use lexical-binding. + (semanticdb-db-typecache-dump): Remove unused var `junk`. + + * lisp/cedet/semantic/debug.el: Use lexical-binding. + + * lisp/cedet/semantic/dep.el: Use lexical-binding. + (semantic-add-system-include): Avoid `add-to-list` on a local variable. + Access local var `value` by sticking its value in the code passed to + `eval` rather than by dynamic scoping. + (semantic-remove-system-include): Don't use `delete` on a list received + from elsewhere. + Access local var `value` by sticking its value in the code passed to + `eval` rather than by dynamic scoping. + (semantic-reset-system-include): Simplify a bit. + + * lisp/cedet/semantic/ede-grammar.el: Use lexical-binding. + (project-compile-target): Remove unused vars `csrc` and `cb`. + Use `cl-incf`. Remove apparently unneeded `with-no-warnings`. + + * lisp/cedet/semantic/edit.el: Use lexical-binding. + (semantic-edits-change-over-tags): Remove unused var `inner-start`. + (semantic-edits-incremental-parser-1): Silence warnings about + intentionally unused var `last-cond`. + + * lisp/cedet/semantic/fw.el: Use lexical-binding. + (recentf-exclude, semantic-init-hook, ede-auto-add-method) + (flymake-start-syntax-check-on-find-file, auto-insert): Declare vars. + + * lisp/cedet/semantic/ia-sb.el: Use lexical-binding. + (semantic-ia-sb-key-map): Move initialization into declaration. + (semantic-ia-sb-more-buttons): Remove unused var `idx`. + (semantic-ia-sb-line-path): Simplify `if` -> `or`. + + * lisp/cedet/semantic/idle.el (semantic-idle-breadcrumbs--tag-function): + Make it a function returning a closure. + + * lisp/cedet/semantic/senator.el: Use lexical-binding. + (senator-search-set-tag-class-filter): Replace `(lambda..) with a closure. + + * lisp/cedet/semantic/sort.el: Use lexical-binding. + (semanticdb-search-system-databases): Declare var. + (semantic-tag-external-member-children-default): Replace `(lambda..) + with a closure. + + * lisp/cedet/semantic/tag-ls.el: Use lexical-binding. + (semantic-tag-protection-default, semantic-tag-abstract-p-default): + Simplify with `member`. + + * lisp/cedet/semantic/util.el: Use lexical-binding. + (semantic-something-to-tag-table): Declare function + `semanticdb-abstract-table--eieio-childp` called via `cl-typep`. + + * lisp/cedet/semantic/bovine/scm.el (semantic-default-scheme-setup): + Remove duplicate setting of `imenu-create-index-function`. + + * lisp/cedet/semantic/decorate/mode.el (semantic-decoration-build-style-menu): + Replace `(lambda..) with a closure. + + * lisp/cedet/srecode/cpp.el (srecode-semantic-apply-tag-to-dict): + Remove always-t variable `member`. + + * lisp/cedet/srecode/mode.el (srecode-minor-mode-templates-menu): + Replace `(lambda..) with a closure. Use `push`. + + * lisp/cedet/semantic/chart.el: Use lexical-binding. + * lisp/cedet/semantic/db-debug.el: Use lexical-binding. + * lisp/cedet/semantic/db-el.el: Use lexical-binding. + * lisp/cedet/semantic/db-file.el: Use lexical-binding. + * lisp/cedet/semantic/db-javascript.el: Use lexical-binding. + * lisp/cedet/semantic/db-mode.el: Use lexical-binding. + * lisp/cedet/semantic/db-ref.el: Use lexical-binding. + * lisp/cedet/semantic/decorate.el: Use lexical-binding. + * lisp/cedet/semantic/doc.el: Use lexical-binding. + * lisp/cedet/semantic/find.el: Use lexical-binding. + * lisp/cedet/semantic/format.el: Use lexical-binding. + * lisp/cedet/semantic/html.el: Use lexical-binding. + * lisp/cedet/semantic/ia.el: Use lexical-binding. + * lisp/cedet/semantic/imenu.el: Use lexical-binding. + * lisp/cedet/semantic/java.el: Use lexical-binding. + * lisp/cedet/semantic/mru-bookmark.el: Use lexical-binding. + * lisp/cedet/semantic/symref.el: Use lexical-binding. + * lisp/cedet/semantic/tag-file.el: Use lexical-binding. + * lisp/cedet/semantic/tag-write.el: Use lexical-binding. + * lisp/cedet/semantic/texi.el: Use lexical-binding. + * lisp/cedet/semantic/util-modes.el: Use lexical-binding. + +2021-03-15 Gabriel do Nascimento Ribeiro + + Init archive and add noconfirm to 'package-install-selected-packages' + + * lisp/emacs-lisp/package.el (package-install-selected-packages): + Add call to 'package--archives-initialize' and add optional argument + NOCONFIRM to skip user confirmation when installing packages. (Bug#47124) + +2021-03-15 Stefan Kangas + + * lisp/vc/ediff-vers.el: Remove XEmacs compat code. + +2021-03-15 Stefan Kangas + + Use lexical-binding in expand.el + + * lisp/expand.el: Use lexical-binding. Remove redundant :group args. + +2021-03-15 Stefan Kangas + + * lisp/help-macro.el: Use lexical-binding. + +2021-03-15 Stefan Kangas + + Add three new tests for image.el + + * test/lisp/image-tests.el (image-find-image) + (image-type-from-file-name, image-type/from-filename): New tests. + +2021-03-15 Stefan Kangas + + * lisp/wid-edit.el (widget-field): Add subtle border to face. + +2021-03-14 Andrea Corallo + + Fix some entry in `comp-known-type-specifiers' (bug#46847) + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Some + fix. + * test/src/comp-tests.el (comp-tests-46670-1): Update test. + +2021-03-14 Pip Cet + + Don't call setjmp through a function pointer on Windows (bug#47067) + + * src/comp.c (ABI_VERSION): Bump. + (emit_setjmp): Call setjmp directly. + (declare_runtime_imported_funcs): Remove setjmp. + (helper_link_table): Remove entry for setjmp. + +2021-03-14 Stefan Monnier + + Revert "* lisp/calendar/appt.el (appt-activate): Set the local `write-file-functions`" + + This reverts commit 587a97bcb23bc6ea429ab790efa03f2260a9bca8. + We really do want to affect the global part of the hook. + Reported by Gabriel . + +2021-03-14 Eli Zaretskii + + Fix hang due to failure to clean up *.eln.old files at exit + + * src/comp.c (eln_load_path_final_clean_up): Call + internal_delete_file, not Fdelete_file, to ignore any errors. + (Bug#46972) + +2021-03-14 Juri Linkov + + * lisp/tab-bar.el: Tab groups can be displayed with tab-bar-format-tabs-groups + + * lisp/tab-bar.el (tab-bar-format): Turn defvar into defcustom. + Add :options and force-mode-line-update in :set. + (tab-bar--format-tab): New function refactored from tab-bar-format-tabs. + (tab-bar-format-tabs): Move most of code to tab-bar--format-tab and call it. + (tab-bar-tab-group-format-function): New defcustom. + (tab-bar-tab-group-format-default): New function. + (tab-bar--format-tab-group, tab-bar-format-tabs-groups): New functions. + (tab-bar-format-align-right, tab-bar-format-global): Shorten id. + (tab-bar-change-tab-group): Add refs to tab-bar-format in docstring. + +2021-03-14 Gabriel do Nascimento Ribeiro + + * lisp/tab-line.el: Update docstring of 'tab-line-tabs-function' (bug#47117) + + (tab-line-tabs-function): Mention 'tab-line-tabs-buffer-groups' + in the docstring. + (tab-line-tabs-buffer-groups): Add docstring. + +2021-03-14 Gabriel do Nascimento Ribeiro + + * lisp/tab-line.el: Add face for group-tab (bug#47118) + + (tab-line-tab-face-functions): Add choice for 'tab-line-tab-face-group'. + (tab-line-tab-group): New face. + (tab-line-tabs-buffer-groups): Set alist key 'group-tab' for group tabs. + (tab-line-tab-face-group): New function to set face for group tabs. + +2021-03-14 Michael Albinus + + * lisp/net/tramp-crypt.el (tramp-crypt-add-directory): + + Don't autoload setting property `completion-predicate'. + +2021-03-14 Daniel Martín + + Fix reference to 'diff-font-lock-syntax' in diff-mode documentation + + * doc/emacs/files.texi (Diff Mode): Add the omitted name of the + variable. (Bug#47129) + +2021-03-14 Alan Third + + Fix buffer overflow in xbm_scan (bug#47094) + + * src/image.c (xbm_scan): Ensure reading a string doesn't overflow the + buffer. + + (cherry picked from commit ebc3b25409dd614c1814a0643960452683e37aa3) + +2021-03-13 Alan Third + + Fix buffer overflow in xbm_scan (bug#47094) + + * src/image.c (xbm_scan): Ensure reading a string doesn't overflow the + buffer. + +2021-03-13 Juri Linkov + + Separate values 'override' and 'append' in 'outline-minor-mode-highlight' + + * lisp/outline.el (outline-font-lock-keywords): Handle 'override' and 'append' + separately. + (outline-minor-mode-highlight): Separate values 'override' and 'append'. + (outline-minor-mode-highlight-buffer): Go to match-beginning + before checking '(point)'. + +2021-03-13 Stefan Kangas + + Add help-key-binding styling to wombat theme + + * etc/themes/wombat-theme.el (help-key-binding): Add face + definition. + +2021-03-13 Eli Zaretskii + + Fix rare redisplay glitches when image has been removed from display + + * src/dispnew.c (update_window): Make sure all glyph rows below + the last visible one are marked as invalid, even when the loop + which "updates the rest of the lines" didn't examine the last + visible row. (Bug#47093) + +2021-03-13 Stefan Kangas + + Adjust colors of help-key-binding face for readability + + * lisp/faces.el (help-key-binding): Adjust colors for improved + readability, and use a flat :box for highlighting (with negative + :line-width height to avoid any vertical resizing of the minibuffer). + + This was discussed in: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00535.html + +2021-03-13 Michael Albinus + + Remove ;;;###tramp-autoload cookie from Tramp defcustoms (Bug#47063) + + * lisp/net/tramp-crypt.el (tramp-crypt-enabled-p): New defun. + (tramp-crypt-add-directory, tramp-crypt-remove-directory): + Add property `completion-predicate'. + + * lisp/net/tramp-sh.el (tramp-terminal-type, tramp-remote-path) + (tramp-remote-process-environment): Remove. Move them to ... + + * lisp/net/tramp.el: ... here. + +2021-03-13 Eli Zaretskii + + Extend support for faces in Enriched mode + + * lisp/textmodes/enriched.el (enriched-face-ans): Support faces + with bold and italic attributes. (Bug#46507) + +2021-03-13 Matt Armstrong + + Fix typos and omissions for (elisp)Button Buffer Commands + + * doc/lispref/display.texi (Button Buffer Commands): Minor + typo and omission fixes `backward-button' and + `forward-button'. (Bug#47051) + +2021-03-13 Eli Zaretskii + + Teach Rmail about NBSP in "Re:" + + * lisp/mail/rmail.el (rmail-simplified-subject) + (rmail-reply-regexp): Allow NBSP in "RE:" prefixes. + +2021-03-12 Andrea Corallo + + * Fix circular dependecy when loading a modified comp.el (bug#47049) + + * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Move it + before other functional code. + +2021-03-12 Stefan Monnier + + * src/keyboard.c parse_solitary_modifier): Accept `click` modifier + +2021-03-12 Yuan Fu + + Fix simple-tests--undo* + + * test/lisp/simple-tests.el (simple-tests--undo-in-region, + simple-tests--undo-equiv-table): Re-enable in batch mode. + Enable 'transient-mark-mode' in temp buffer. + +2021-03-12 Stefan Monnier + + * lisp/filesets.el: Address byte-compiler warning + + (filesets-run-cmd): Let-bind `filesets--files`. + (filesets-cmd-isearch-getargs): Use it. + +2021-03-12 Glenn Morris + + * lisp/tooltip.el (tooltip): Restore group that was not "redundant". + +2021-03-12 Glenn Morris + + Merge from origin/emacs-27 + + 02a5cfce47 (origin/emacs-27) * lisp/mouse.el: Fix mouse-1-clock-follo... + c881e990e3 * lisp/emacs-lisp/gv.el (edebug-after): Don't run the gett... + +2021-03-12 Glenn Morris + + Merge from origin/emacs-27 + + fc83f37951 Fix initialization of 'while-no-input-ignore-events' + 8f603da44c Update documentation of reading passwords + +2021-03-12 Glenn Morris + + Merge from origin/emacs-27 + + 2c5f215419 Avoid crashes in Mew due to corrupted tool-bar label + 7a23915618 * lisp/tooltip.el (tooltip): Doc fix for GTK. + c4bbe02cc4 * lisp/help.el (help-for-help-internal): Doc fix; use impe... + + # Conflicts: + # lisp/help.el + # lisp/tooltip.el + +2021-03-12 Glenn Morris + + Skip recent undo tests in batch mode for now + + * test/lisp/simple-tests.el (simple-tests--undo-in-region): + Split into separate test. Skip in batch mode for now. + (simple-tests--undo-equiv-table): Skip in batch mode for now. + +2021-03-12 Stefan Monnier + + * lisp/cedet/{*.el,ede/*.el}: Use lexical-binding + + Remove a few redundant `:group` arguments as well. + + * lisp/cedet/ede.el: Use lexical-binding. + Don't load `ede/files` at compile-time. + (ede-speedbar): Declare function. + (ede-load-project-file): Allow `rootreturn` to be a reference rather + than a symbol. + (ede-initialize-state-current-buffer): Pass `ROOT` as a reference + rather than a symbol to `ede-directory-get-open-project` and + `ede-load-project-file` so we don't need to make it dynamically scoped. + (ede-flush-deleted-projects): Avoid `add-to-list` on a local var. + + * lisp/cedet/ede/files.el: Use lexical-binding. + (ede-directory-get-open-project): Allow `rootreturn` to be a reference + rather than a symbol. + (ede-project-root-directory): Remove unused var `root`. + (ede-expand-filename-impl): Remove unused vars `path` and `proj`. + + * lisp/cedet/cedet-idutils.el: Use lexical-binding. + (cedet-idutils-search): Remove always-nil variable `scopeflags`. + + * lisp/cedet/data-debug.el: Use lexical-binding. + (data-debug-insert-overlay-button, data-debug-insert-overlay-list-button) + (data-debug-insert-buffer-button, data-debug-insert-buffer-list-button) + (data-debug-insert-process-button): Remove always-nil variable `tip`. + (data-debug-insert-ring-button): Remove unused var `ringthing`. + (data-debug-insert-widget-properties): Remove unused var `type`. + + * lisp/cedet/semantic.el: Use lexical-binding. + (semantic-mode): Strength-reduce `eval` to `symbol-value`. + + * lisp/cedet/ede/custom.el: Use lexical-binding. + (ede-project-sort-targets): Remove unused vars `count`, `current`, and + `order`. + + * lisp/cedet/ede/pconf.el: Use lexical-binding. + (ede-proj-configure-synchronize): Remove unused var `add-missing`. + + * lisp/cedet/ede/pmake.el (ede-proj-makefile-garbage-patterns): + Simplify via η-reduction. + (ede-proj-makefile-dependencies): Use `seq-some` rather than `eval+or`. + + * lisp/cedet/ede/proj-elisp.el: Use lexical-binding. + (project-compile-target): Remove unused var `elc`. + (ede-update-version-in-source): Remove unused var `match`. + (project-compile-target): Declare function `cedet-update-autoloads` + from file we don't have. + + * lisp/cedet/cedet-cscope.el: Use lexical-binding. + * lisp/cedet/cedet-files.el: Use lexical-binding. + * lisp/cedet/cedet-global.el: Use lexical-binding. + * lisp/cedet/cedet.el: Use lexical-binding. + * lisp/cedet/ede/auto.el: Use lexical-binding. + * lisp/cedet/ede/autoconf-edit.el: Use lexical-binding. + * lisp/cedet/ede/config.el: Use lexical-binding. + * lisp/cedet/ede/cpp-root.el: Use lexical-binding. + * lisp/cedet/ede/detect.el: Use lexical-binding. + * lisp/cedet/ede/generic.el: Use lexical-binding. + * lisp/cedet/ede/linux.el: Use lexical-binding. + * lisp/cedet/ede/locate.el: Use lexical-binding. + * lisp/cedet/ede/makefile-edit.el: Use lexical-binding. + * lisp/cedet/ede/proj-info.el: Use lexical-binding. + * lisp/cedet/ede/proj-obj.el: Use lexical-binding. + * lisp/cedet/ede/proj-prog.el: Use lexical-binding. + * lisp/cedet/ede/proj-shared.el: Use lexical-binding. + * lisp/cedet/ede/proj.el: Use lexical-binding. + * lisp/cedet/ede/shell.el: Use lexical-binding. + * lisp/cedet/ede/simple.el: Use lexical-binding. + * lisp/cedet/ede/source.el: Use lexical-binding. + * lisp/cedet/ede/speedbar.el: Use lexical-binding. + * lisp/cedet/ede/util.el: Use lexical-binding. + +2021-03-12 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-03-12 Michael Albinus + + Tramp sshfs fixes + + * doc/misc/tramp.texi (FUSE setup): Fix typo. + + * lisp/net/tramp-sshfs.el (tramp-sshfs-handle-set-file-modes): + Use `tramp-compat-set-file-modes'. + + * test/lisp/net/tramp-tests.el + (tramp-test43-asynchronous-requests): Don't run for tramp-sshfs. + +2021-03-12 Andrea Corallo + + Implement `no-native-compile' (bug#46983) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Capture + `no-native-compile'. + * lisp/emacs-lisp/comp.el (no-native-compile): Define new + variable. + (comp-spill-lap-function): Throw when `no-native-compile' was + captured non-nil. + (comp--native-compile): Catch `no-native-compile' if necessary and + return nil in case. + +2021-03-12 Robert Pluim + + Document how to create a branch for Git/Mercurial + + * doc/emacs/maintaining.texi (Creating Branches): Add instructions + for git/Mercurial. + +2021-03-12 Andrea Corallo + + * Fix error reporting for async native compilation (bug#47024) + + * lisp/emacs-lisp/comp.el (comp--native-compile): During async + compilation if we catch an error print it in a parsable way so we + can report it to the user. + +2021-03-12 Stefan Monnier + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Simplify (doh!) + +2021-03-12 Stefan Monnier + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Tune down the warning + + Don't warn for always-nil bindings if the binding is made explicit. + Fixes bug#47080. + +2021-03-12 Stefan Monnier + + * lisp/emacs-lisp/syntax.el (syntax-propertize-rules): Use `macroexp-let2` + + This also silences the recently introduced compilation warning. + +2021-03-12 Lars Ingebrigtsen + + Rename to image--transform-smoothing in image-mode.el + + * lisp/image-mode.el (image--transform-smoothing): Rename from + image-transform-smoothing. + (image-transform-properties, image-transform-reset): Adjust usage. + +2021-03-12 Lars Ingebrigtsen + + Add a new `image-transform-smoothing' user option + + * doc/lispref/display.texi (Image Descriptors): Document it. + * lisp/image.el (image-transform-smoothing): New user option. + (create-image): Use it. + (image--default-smoothing): New function. + +2021-03-12 Lars Ingebrigtsen + + Fix compilation warning in python-wy.el after lexical rewrite + + * admin/grammars/python.wy: Require semantic/tag. + + In end of data: + cedet/semantic/wisent/python-wy.el:862:1: Warning: the function + `semantic-tag-name' might not be defined at runtime. + +2021-03-12 Lars Ingebrigtsen + + Make byte-compiled uses of `define-minor-mode' more compatible + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Be more + defensive about accessing minor mode variables. + +2021-03-11 Yuan Fu + + Map redo records for undo in region to 'undo-in-region + + * lisp/simple.el (undo-equiv-table): Add explaination for + undo-in-region, undo to the beginning of undo list and null undo. + (undo): If equiv is 'undo-in-region, empty or t, set pending-undo-list + to t. If the redo is undo-in-region, map buffer-undo-list to + 'undo-in-region instead of t, if it is an identity mapping, map to + 'empty. + (undo-make-selective-list): Only continue when ulist is a proper list. + * test/lisp/simple-tests.el (simple-tests--undo): Add test for + undo-only in region. + (simple-tests--sans-leading-nil): New helper function. + (simple-tests--undo-equiv-table): New test for 'undo-equiv-table'. + +2021-03-11 Stefan Monnier + + * lisp/mail/: Use lexical-binding + + Remove some redundant `:group` args as well. + + * lisp/mail/supercite.el: Use lexical-binding. + (completer-disable): Declare var. + (sc-set-variable): Don't rely on dynbind to access `help` variable. + + * lisp/mail/mail-extr.el: Use lexical-binding. + (mail-extract-address-components): Avoid use of dynamic scoping to + refer to local vars. + + * lisp/mail/mailabbrev.el: Use lexical-binding. + (mail-abbrev-make-syntax-table): Rename `_` variable to `syntax-_`. + + * lisp/mail/mailheader.el: Use lexical-binding. + (headers): Don't declare as dynbound globally. + (mail-header-set, mail-header-merge): Declare `headers` as dynbound + locally, instead. Mark those functions as obsolete. + (mail-header-format): Use `alist-get` instead of `mail-header`. + + * lisp/mail/binhex.el (binhex-decode-region-external): Remove always-nil + var `firstline`. + + * lisp/mail/emacsbug.el: Use lexical-binding. + (report-emacs-bug): Remove always-nil var `message-end-point`. + + * lisp/mail/rmail-spam-filter.el: Use lexical-binding. + (bbdb/mail_auto_create_p): Declare variable. + + * lisp/mail/rmail.el (rmail-get-new-mail): Remove always-nil var + `delete-files`. + + * lisp/mail/rmailout.el: Use lexical-binding. + (rmail-output-read-file-name): Remove unused var `err`. + (rmail-convert-to-babyl-format): Remove unused var `count`. + (rmail-output-as-mbox): Remove unused vars `from` and `date`. + + * lisp/mail/rmailsort.el: Use lexical-binding. + (rmail-sort-messages): Remove unused var `msginfo`. + + * lisp/mail/rfc822.el: Use lexical-binding. + * lisp/mail/rmailedit.el: Use lexical-binding. + * lisp/mail/mailclient.el: Use lexical-binding. + * lisp/mail/blessmail.el: Use lexical-binding. + * lisp/mail/mail-hist.el: Use lexical-binding. + * lisp/mail/rmailkwd.el: Use lexical-binding. + * lisp/mail/rmailmsc.el: Use lexical-binding. + * lisp/mail/uce.el: Use lexical-binding. + * lisp/mail/unrmail.el: Use lexical-binding. + +2021-03-11 Juri Linkov + + Update docstrings of 'delete'/'remove' to interlink each other (bug#47054) + + * lisp/subr.el (remove): Add xref to 'delete'. + * src/fns.c (Fdelete): Add xref to 'remove'. + +2021-03-11 Juri Linkov + + * lisp/tab-bar.el (tab-bar--current-tab-find): New function. + + (tab-bar-close-other-tabs, tab-bar-close-group-tabs): Use it. + (tab-bar--history-pre-change): Rename from + 'tab-bar-history--pre-change' to follow naming convention. + (tab-bar-history-mode): Use renamed 'tab-bar--history-pre-change'. + +2021-03-11 Paul Eggert + + On MS-Windows, fflush stderr after newline + + Problem reported by Ioannis Kappas (Bug#46388). + * src/sysdep.c (errputc) [WINDOWSNT]: Flush stderr after newline. + +2021-03-11 Stefan Monnier + + * lisp/outline.el (outline-font-lock-keywords): Simplify + + The `laxmatch` part of `font-lock-keywords` is just a boolean. + +2021-03-11 Stefan Monnier + + * lisp: Remove yet more always-nil variables + + * lisp/align.el (align-region): + Remove always-nil variable `group-c`. + * lisp/ido.el (ido-make-prompt): Remove always-nil variable `prefix`. + + * lisp/xdg.el (xdg-mime-collect-associations): + Remove always-nil variable `end`. + + * lisp/calc/calc-yank.el (calc-edit): + Remove always-nil variable `flag`. + + * lisp/calendar/todo-mode.el (todo-edit-item--header): + Remove always-nil variable `dayname`. + (todo-show-categories-table): + Remove always-nil variable `sortkey`. + + * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-docstring-engine): + Remove always-nil variable `err`. + + * lisp/emacs-lisp/tcover-ses.el: Remove always-nil variable `pause`. + + * lisp/eshell/em-ls.el (eshell-ls-files): + Remove always-nil variable `ignore`. + + * lisp/net/ange-ftp.el (ange-ftp-copy-file-internal): Remove always-nil + variable `temp2`. + + * lisp/progmodes/cperl-mode.el (cperl-tags-hier-init): Remove + always-nil variables `l1`, `l2`, `l3`. + (cperl-tags-treeify): Remove always-nil variable `l1`. + + * lisp/progmodes/ebrowse.el (ebrowse-tags-read-member+class-name): + Remove always-nil variable `class`. + + * lisp/textmodes/artist.el (artist-draw-ellipse-with-0-height): + Remove always-nil variable `fill-info`. + + * lisp/textmodes/flyspell.el (flyspell-emacs-popup): + Remove always-nil variable `show-affix-info`. + + * lisp/textmodes/rst.el (rst-Ado): + Remove always-nil variable `char`. + + * lisp/vc/vc.el (vc-diff-build-argument-list-internal): + Remove always-nil variable `rev2-default`. + +2021-03-11 Stefan Monnier + + * lisp/cedet: Remove always-nil variables + + * lisp/cedet/ede/pmake.el (ede-proj-makefile-insert-variables): + Remove always-nil variable `conf-done`. + + * lisp/cedet/ede/project-am.el: Use ref instead of dynbound var. + (project-rescan): Pass the ref. + (project-am-expand-subdirlist): Use it. + + * lisp/cedet/semantic/idle.el (semantic-idle-work-core-handler): + Fix misuse of the wrong `errbuf `variable. + + * lisp/cedet/semantic/scope.el (semantic-analyze-scoped-type-parts): + Remove always-nil variable `extmeth`. + + * lisp/cedet/semantic/wisent/comp.el (wisent-context-name) + (wisent-context-bindings): Make them into functions. + (wisent-with-context): Use `dlet`. + +2021-03-11 Stefan Monnier + + * lisp/emulation/edt.el (edt-with-position): Don't bind `left` + + (edt-find-forward, edt-find-next-forward, edt-sentence-forward) + (edt-paragraph-forward): Adjust accordingly. + +2021-03-11 Stefan Monnier + + * lisp/vc/pcvs-parse.el: Fix lexical-binding breakage + + (cvs-parse-table, cvs-parse-merge, cvs-parse-status, cvs-parse-commit): + Declare vars set by `cvs-match` as dynamic. + +2021-03-11 Stefan Monnier + + * lisp/ses.el (ses-set-cell): Use `macroexp-let2` + + (ses--\,@); Rename from `ses--metaprogramming`. + +2021-03-11 Stefan Monnier + + * lisp/obsolete/iswitchb.el: Remove dead code + + (most-len, most-is-exact): Delete vars. + (iswitchb-output-completion): Delete function. + (iswitchb-completions): Delete dead code consequence of `most` being nil. + +2021-03-11 Stefan Monnier + + * lisp/org/: Delete some always-nil variables + + * lisp/org/ob-lilypond.el (org-babel-lilypond-compile-lilyfile): + Remove always-nil variable `arg-2`. + + * lisp/org/ol-gnus.el (org-gnus-store-link): + Remove always-nil variables `newsgroup` and `xarchive`. + + * lisp/org/ol.el (org-store-link): + Remove always-nil variable `description`. + + * lisp/org/org-clock.el (org-clock-special-range): + Remove always-nil variables `m1` and `m`. + + * lisp/org/org-crypt.el (org--matcher-tags-todo-only): Declare var. + + * lisp/org/org-protocol.el (org-protocol-open-source): + Remove always-nil variable `result`. + + * lisp/org/ox-odt.el (org-odt-format-label): + Remove always-nil variable `short-caption`. + (org-odt-link--inline-formula): + Remove always-nil variables `width` and `height`. + + * lisp/org/ox.el (org-export--missing-definitions): + Remove always-nil variable `seen`. + +2021-03-11 Stefan Monnier + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Warn never-initialized vars + + (byte-compile-not-lexical-var-p): Remove Emacs<24 compatibility. + +2021-03-11 Lars Ingebrigtsen + + Re-fix previous Info-fontify-node change + + * lisp/info.el (Info-fontify-node): Re-fix previous fix here + (bug#34661) by fixing an off-by-one error in the `looking-back'. + +2021-03-11 Stefan Monnier + + * lisp/mouse.el: Fix mouse-1-clock-follows-mouse = double + + This functionality was broken by commit 3d5e31eceb9dc1fb62b2b2, + the problem being that we end up considering as distinct the events + `down-double-mouse-1` and `double-down-mouse-1`. + + Reported by Eyal Soha + + (mouse--click-1-maybe-follows-link): Make sure the last element of + the list passed to `event-convert-list` is indeed a "basic" event. + +2021-03-11 Michael Albinus + + Add remote processes to Tramp sshfs method + + * doc/misc/tramp.texi (FUSE setup): Method sshfs supports also + remote processes. + + * lisp/net/tramp-cache.el (tramp-get-file-property) + (tramp-set-file-property): Move setting of + `tramp-cache-unload-hook' out of function. + + * lisp/net/tramp.el (tramp-expand-args): New defun. + (tramp-handle-make-process): + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band) + (tramp-maybe-open-connection): + * lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-send-command): Use it. + + * lisp/net/tramp-sshfs.el (tramp-methods) : + Adapt `tramp-mount-args'. Add `tramp-login-args', + `tramp-direct-async', `tramp-remote-shell', + `tramp-remote-shell-login' and `tramp-remote-shell-args'. + (tramp-connection-properties): Set "direct-async-process" fir sshfs. + (tramp-sshfs-file-name-handler-alist): Add `exec-path', + `make-process', `process-file', `set-file-modes', `shell-command', + `start-file-process', `tramp-get-remote-gid', + `tramp-get-remote-uid' and `tramp-set-file-uid-gid'. + (tramp-sshfs-handle-exec-path, tramp-sshfs-handle-process-file) + (tramp-sshfs-handle-set-file-modes): New defuns. + + * test/lisp/net/tramp-tests.el (tramp-test20-file-modes) + (tramp-test28-process-file, tramp-test29-start-file-process) + (tramp-test30-make-process, tramp-test32-shell-command) + (tramp-test32-shell-command-dont-erase-buffer) + (tramp-test34-explicit-shell-file-name, tramp-test35-exec-path) + (tramp-test43-asynchronous-requests): Run also for tramp-sshfs. + (tramp--test-shell-file-name): New defun. + (tramp-test28-process-file) + (tramp-test34-explicit-shell-file-name) + (tramp-test43-asynchronous-requests): Use it. + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls) + (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl) + (tramp-test41-utf8-with-ls): Remove superfluous skip. + +2021-03-11 Petteri Hintsanen + + Make tags tables from Texinfo sources + + * doc/misc/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * doc/lispref/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * doc/lispintro/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * doc/emacs/Makefile.in (ETAGS, texifiles): New variables. + (TAGS, tags, FORCE, ${ETAGS}): New targets. + (bootstrap-clean maintainer-clean): Delete TAGS. + * Makefile.in (TAGS tags): Make tags in doc/emacs, doc/lispintro, + doc/lispref and doc/misc. + +2021-03-11 Philipp Stephani + + * src/image.c (image_set_transform): Don't use ! for Lisp object. + + * src/image.c (FRAME_SCALE_FACTOR): Define only when needed. + +2021-03-11 Eli Zaretskii + + Fix wording of a recently added documentation + + * etc/NEWS: + * doc/lispref/display.texi (Image Descriptors): Fix wording of the + description of :transform-smoothing. + +2021-03-11 Stefan Monnier + + * lisp/gnus/nnmh.el (nnmh-newsgroup-articles): Declare var + + Reported by Barry Fishman . + + Along the way, I checked other variables which are similarly let-bound + to nil and then read with any intervening assignment, which found + another similar case of missing `defvar`s plus a bit of dead code. + + * lisp/gnus/gnus-kill.el (gnus-apply-kill-file-internal): + Remove constant nil var `beg`. + * lisp/gnus/gnus-search.el (gnus-search-query-parse-kv): + Remove constant nil var `return`. + * lisp/gnus/gnus-start.el (gnus-ask-server-for-new-groups): + Remove constant nil var `group`. + (gnus-killed-assoc, gnus-marked-assoc, gnus-newsrc-assoc): Declare vars. + * lisp/gnus/gnus-sum.el (gnus-compute-read-articles): + Remove constant nil var `first`. + * lisp/gnus/nnbabyl.el (nnbabyl-request-accept-article): + Remove constant nil var `beg`. + * lisp/gnus/nnfolder.el (nnfolder-possibly-change-group): + Remove constant nil var `inf`. + * lisp/gnus/nnrss.el (nnrss-request-article): + Remove constant nil var `err`. + +2021-03-10 Alan Third + + Enable selectable image smoothing (bug#38394) + + * lisp/doc-view.el (doc-view-insert-image): Always use smoothing in + docview. + * lisp/image-mode.el (image-transform-smoothing): New variable. + (image-mode-map): Add smoothing binding. + (image-transform-properties): Apply smoothing when requested. + (image-transform-set-smoothing): New function. + (image-transform-reset): Reset smoothing. + * src/image.c (image_set_transform): Use new :transform-smoothing + attribute. + (syms_of_image): Add :transform-smoothing attribute. + * doc/lispref/display.texi (Image Descriptors): Document new + :transform-smoothing property. + +2021-03-10 Juri Linkov + + * lisp/tab-bar.el (tab-bar-close-group-tabs): New command. + + (tab-close-group): New alias. + (tab-bar-close-other-tabs): Rewrite to fix old bug where regardless of + the returned value from tab-bar-tab-prevent-close-functions, + only one tab was retained. + +2021-03-10 Juri Linkov + + * lisp/tab-bar.el: 'C-x t G' (tab-group) assigns a group name to the tab. + + * lisp/tab-bar.el (tab-bar--tab, tab-bar--current-tab): Add tab group if any. + (tab-bar-change-tab-group): New command. + (display-buffer-in-new-tab): Handle tab-group alist entry. + (tab-group): New alias. + (tab-prefix-map): Bind "G" to 'tab-group'. + +2021-03-10 Kévin Le Gouguec + + Highlight the entire summary line for selected articles + + * lisp/gnus/gnus-sum.el (gnus-highlight-selected-summary): + Highlight the entire summary line (bug#47026). + +2021-03-10 Stefan Kangas + + Remove Emacs 19 workaround from cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-make-indent): Remove Emacs 19 + workaround. + +2021-03-10 Andrea Corallo + + * lisp/loadup.el: Don't load pcase on native builds (bug#47025). + +2021-03-10 Lars Ingebrigtsen + + Fix byte-compilation warning in benchmark-run + + * lisp/emacs-lisp/benchmark.el (benchmark-run): Avoid a + byte-compilation warning about an empty let body (bug#46819). + +2021-03-10 Andrea Corallo + + * Fix truncated warnings (bug#47024) + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Bind + `warning-fill-column' to `most-positive-fixnum'. + +2021-03-10 Stefan Kangas + + * lisp/files.el (cd): Improve error message. + +2021-03-10 Mattias Engdegård + + Mark string predicates side-effect-free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add string>, + string-greaterp, string-empty-p, string-prefix-p, string-suffix-p + and string-blank-p, all recently marked pure. + +2021-03-10 Stefan Kangas + + Remove several references to Emacs 22 and earlier + + * admin/charsets/mapfiles/README: + * doc/emacs/custom.texi (Saving Customizations): + * doc/lispintro/emacs-lisp-intro.texi (Simple Extension): + * doc/misc/efaq-w32.texi (Location of init file): + * doc/misc/gnus-faq.texi (FAQ 1-3): + * doc/misc/gnus.texi (Top, Various, Image Enhancements): + * lisp/erc/erc-menu.el (menu): + * lisp/progmodes/cfengine.el (cfengine-fill-paragraph): + Remove some references to Emacs 22 and earlier. + + * doc/lispref/buffers.texi: + * doc/lispref/eval.texi: + * doc/lispref/files.texi: + * doc/lispref/keymaps.texi: + * doc/lispref/loading.texi: + * doc/lispref/minibuf.texi: + * doc/lispref/positions.texi: + * doc/lispref/variables.texi: Remove comments about "Emacs 19 + specific" features. + +2021-03-10 Stefan Kangas + + Fix duplicate ":" in ert-find-test-other-window prompt + + * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Don't insert + duplicate ":" in prompt. + +2021-03-10 Stefan Kangas + + Do mode tagging in ert.el + +2021-03-10 Stefan Kangas + + Use proper command substitutions in some docstrings + + * lisp/arc-mode.el (archive-mode): + * lisp/ibuffer.el (ibuffer): + * lisp/tar-mode.el (tar-mode): + * lisp/textmodes/table.el (table-insert): Use substitute-command-keys + instead of hardcoded keys in some docstrings. + +2021-03-10 Stefan Kangas + + * lisp/userlock.el: Use lexical-binding. + +2021-03-10 Stefan Kangas + + Use 'help-key-binding' face in userlock.el + + * lisp/userlock.el (userlock--fontify-key): New function. + (ask-user-about-lock, ask-user-about-lock-help, + (ask-user-about-supersession-threat) + (ask-user-about-supersession-help): Add face 'help-key-binding' to + displayed keys. + +2021-03-10 Dmitry Gutov + + (project-switch-commands): Remove the ###autoload instruction + + * lisp/progmodes/project.el (project-switch-commands): + Remove the ###autoload instruction. It's unnecessary and can + cause surprises in some circumstances (bug#46986). + +2021-03-10 Stefan Kangas + + * lisp/help.el (help--describe-translation): Fix typo. + +2021-03-09 Stefan Monnier + + * lisp/mail/rmailmm.el: Use `cl-defstruct` and `lexical-binding` + + Remove redundant `:group` args. + (rmail-mime-entity): Make it a `cl-defstruct`. + (rmail-mime-entity-set-truncated): Mark as obsolete. + (rmail-mime-display): New `cl-defstruct`. + (rmail-mime-shown-mode, rmail-mime-hidden-mode, rmail-mime-raw-mode) + (rmail-mime-toggle-hidden, rmail-mime-update-tagline) + (rmail-mime-text-handler, rmail-mime-bulk-handler) + (rmail-mime-process-multipart, rmail-mime-handle, rmail-mime-process) + (rmail-mime-parse, rmail-mime-insert, rmail-show-mime): Adjust accordingly. + (rmail-mime-toggle-raw): Apply de Morgan. + (rmail-mime-insert-text): Remove unused var `tagline`. + (rmail-mime-insert-image): Remove unused var `content-type`. + (shr-inhibit-images, shr-width): Declare vars. + (rmail-mime-insert-multipart): Remove unused vars `tagline` and `body`. + (rmail-mime-insert): Remove unused var `tagline`. + (rmail-search-mime-message): Remove unused var `body-end`. + +2021-03-09 Paul Eggert + + Port alternate signal stack to upcoming glibc 2.34 + + * src/sysdep.c (sigsegv_stack): Increase size to 64 KiB and align + it to max_align_t. This copies from Gnulib’s c-stack.c, and works + around a portability bug in draft glibc 2.34, which no longer + defines SIGSTKSZ when _GNU_SOURCE is defined. + +2021-03-09 Stefan Monnier + + * src/buffer.c (Fbuffer_swap_text): Swap `mark-active` as well + + This avoids undesirable situations where `mark-active` is set even + though the `mark` isn't. + +2021-03-09 Juri Linkov + + * lisp/tab-bar.el (tab-bar-select-tab): Set window-state-put WINDOW arg to nil + + WINDOW arg nil will always create a new window regardless of the value + returned by 'frame-root-window' that is nondeterministic - it returns + an internal window when there are more than 1 window on the frame/tab, + otherwise it returns a live window that was reused between different tabs + (bug#46904) + (tab-prefix-map): Bind "u" to 'tab-undo'. + +2021-03-09 Stefan Monnier + + * lisp/emacs-lisp/cconv.el: Don't confuse a string for a docstring + + (cconv--convert-funcbody): Check there's something after a docstring. + + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-string-vs-docstring): + New corresponding test. + +2021-03-09 Andrea Corallo + + * src/comp.c (ABI_VERSION): Bump following-up 380ba045c4. + + * test/src/comp-test-funcs.el (comp-test-46670-1-f): Remove a warning. + + Merge commit '9cbdf20316' into native-comp + +2021-03-09 Pip Cet + + * Fix comp unit type decl in eln files to fix GC crash (bug#46256) + + * src/comp.c (emit_ctxt_code): Allocate comp_unit as a Lisp_Object, + not a pointer to pointer to Lisp_Object. + +2021-03-09 Pip Cet + + Zero stale pointer when unloading comp units (bug#46256) + + * src/alloc.c (cleanup_vector): Call unload_comp_unit. + * src/comp.c (unload_comp_unit): New function. + +2021-03-09 Konstantin Kharlamov + + smerge-vc-next-conflict: Move to conflict markers more reliably + + * lisp/vc/smerge-mode.el (smerge-vc-next-conflict): Search for a + conflict marker if call to (vc-find-conflicted-file) haven't resulted in + a jump to one. And remove `buffer` variable that becomes unused. + +2021-03-09 Dmitry Gutov + + Strip text properties from the default string + + * lisp/progmodes/project.el (project--read-regexp): + Strip text properties from the default string (bug#47012). + +2021-03-08 Lars Ingebrigtsen + + Make semantic/idle not move point after last change + + * lisp/cedet/semantic/idle.el (semantic--eldoc-info): Don't move + point (bug#46999). + +2021-03-08 Juri Linkov + + * lisp/progmodes/xref.el (xref-after-update-hook): New defcustom (bug#46992). + + (xref--insert-xrefs): Use run-hooks on it. + +2021-03-08 Juri Linkov + + * lisp/faces.el (help-argument-name): Use grey background, not foreground + + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00402.html + +2021-03-08 Stefan Monnier + + * lisp/net/*.el: Use lexical-binding + + Also remove some redundant `:group` arguments. + + * lisp/net/eudc-export.el: Use lexical-binding. + (eudc-create-bbdb-record): Use `cl-progv` and `apply` to avoid `eval`. + + * lisp/net/eudc-hotlist.el: Use lexical-binding. + + * lisp/net/eudc.el (eudc-print-attribute-value): Use `funcall` to avoid + `eval`. + + * lisp/net/eudcb-bbdb.el: Use lexical-binding. + (eudc-bbdb-filter-non-matching-record): Use `funcall` to avoid `eval`. + Move `bbdb-val` binding to avoid `setq`. + Use `seq-some` instead of `eval+or`. + (eudc-bbdb-format-record-as-result): Use `dolist` and `pcase`. + Use `funcall` to avoid `eval`. + (eudc-bbdb-query-internal): Simplify a bit. + + * lisp/net/eudcb-ldap.el: Use lexical-binding. + (eudc-ldap-get-host-parameter): Use `defalias` to avoid `eval-and-compile`. + + * lisp/net/telnet.el: Use lexical-binding. + * lisp/net/quickurl.el: Use lexical-binding. + * lisp/net/newst-ticker.el: Use lexical-binding. + * lisp/net/newst-reader.el: Use lexical-binding. + * lisp/net/goto-addr.el: Use lexical-binding. + * lisp/net/gnutls.el: Use lexical-binding. + * lisp/net/eudcb-macos-contacts.el: Use lexical-binding. + * lisp/net/eudcb-mab.el: Use lexical-binding. + + * lisp/net/net-utils.el: Use lexical-binding. + (finger): Remove unused var `found`. + + * lisp/net/network-stream.el (open-protocol-stream): Remove redundant + `defalias`. + + * lisp/net/newst-plainview.el: Use lexical-binding. + (newsticker-hide-entry, newsticker-show-entry): Remove unused var + `is-invisible`. + (w3m-fill-column, w3-maximum-line-length): Declare vars. + + * lisp/net/tramp.el (tramp-compute-multi-hops): + * lisp/net/tramp-compat.el (tramp-compat-temporary-file-directory): + * lisp/net/tramp-cmds.el (tramp-default-rename-file): + * lisp/net/webjump.el (webjump): Don't forget lexical-binding for `eval`. + +2021-03-08 Michael Albinus + + Fix handling of `tramp-cache-{g,s}et-count-*' + + * lisp/net/tramp-cache.el (tramp-get-file-property) + (tramp-set-file-property): Fix handling of `tramp-cache-{g,s}et-count-*'. + +2021-03-08 Philipp Stephani + + Fix structure of condition object in nested 'ert-fail'. + + See the test 'ert-test-fail' for the expected structure. + + * lisp/emacs-lisp/ert.el (ert--should-signal-hook): Condition list + should be (SYMBOL . DATA), not (SYMBOL DATA). + * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Fix + unit test. + +2021-03-08 Simen Heggestøyl + + Use `pop-to-buffer-same-window' in `project-eshell' + + * lisp/progmodes/project.el (project-eshell): Use + `pop-to-buffer-same-window' instead of `pop-to-buffer' to match the + behavior of `M-x eshell'. + +2021-03-08 Mauro Aranda + + Make checkdoc--next-docstring use the doc-string-elt property + + This follows from a fix for Bug#46918 and a discussion to use + doc-string-elt: + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00232.html + + * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Check for a + non-nil doc-string-elt property, instead of hard-coding the + supported symbols. Use that property to position point at the + doc-string. + +2021-03-08 Michael Albinus + + Add Tramp sshfs method + + * doc/misc/tramp.texi (Top, Configuration): Insert sections 'FUSE-based + methods' and 'FUSE setup' in menu. + (Quick Start Guide): Fix @anchors. Add doas. Extend section + 'Using @command{rclone}' to 'Using @acronym{FUSE}-based methods'. + (External methods): Remove rclone paragraph. + (FUSE-based methods, FUSE setup): New nodes. + (Predefined connection information): Mention "mount-point". + + * etc/NEWS: Mention Tramp sshfs method. + Fix typos and other oddities. + + * lisp/net/tramp-fuse.el: New file. + + * lisp/net/tramp-rclone.el (tramp-fuse): Require. + (tramp-rclone-file-name-handler-alist): Replace `tramp-rclone-handle-*' + by `tramp-fuse-handle-*' where appropriate. + (tramp-rclone-handle-delete-directory) + (tramp-rclone-handle-delete-file) + (tramp-rclone-handle-directory-files) + (tramp-rclone-handle-file-attributes) + (tramp-rclone-handle-file-executable-p) + (tramp-rclone-handle-file-name-all-completions) + (tramp-rclone-handle-file-readable-p) + (tramp-rclone-handle-insert-directory) + (tramp-rclone-handle-insert-file-contents) + (tramp-rclone-handle-make-directory, tramp-rclone-mount-point) + (tramp-rclone-mounted-p, tramp-rclone-local-file-name): + Remove. Functionality moved to tramp-fuse.el. + (tramp-rclone-remote-file-name) + (tramp-rclone-maybe-open-connection): Use `tramp-fuse-*' functions. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): + Simplify check. + + * lisp/net/tramp-sshfs.el: New file. + + * lisp/net/tramp.el: Remove TODO item. + + * test/lisp/net/tramp-tests.el (tramp--test-sshfs-p): New defun. + (tramp-test14-delete-directory): Use it. + +2021-03-08 Stefan Kangas + + Delete two more items obsoleted in Emacs 23.1 + + * lisp/calendar/icalendar.el + (icalendar--datetime-to-noneuropean-date): Remove alias obsolete since + * lisp/obsolete/nnir.el (nnir-swish-e-index-file): + Delete items obsolete since Emacs 23.1. + +2021-03-08 Stefan Kangas + + Normalize version specifiers for make-obsolete and friends + + * lisp/auth-source.el (auth-source-forget-user-or-password) + (auth-source-user-or-password, auth-source-hide-passwords): + * lisp/calendar/icalendar.el (icalendar--datetime-to-noneuropean-date): + * lisp/cedet/semantic/db-el.el (semanticdb-elisp-sym-function-arglist): + * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): + * lisp/obsolete/nnir.el (nnir-swish-e-index-file): + * lisp/obsolete/starttls.el (starttls-any-program-available): + Normalize version specifiers for make-obsolete and friends. + +2021-03-08 Stefan Kangas + + * lisp/help-mode.el (help-mode-tool-bar-map): Fix tooltips. + +2021-03-08 Stefan Kangas + + Add new face 'help-key-binding' for keybindings in help + + * lisp/faces.el (help-key-binding): New face. + * lisp/help.el + (help-for-help): Rename from 'help-for-help-internal'. Use + 'substitute-command-keys' syntax. + (help): Make into alias for 'help-for-help'. + (help-for-help-internal): Make into obsolete alias for + 'help-for-help'. + (help--key-description-fontified): New function to add the + 'help-key-binding' face. + (help-key-description, substitute-command-keys) + (describe-map-tree, help--describe-command) + (help--describe-translation, describe-map): + * lisp/help-fns.el (help-fns--key-bindings, describe-mode): + Use above new function. + * lisp/isearch.el (isearch-help-for-help-internal): Use + `substitute-command-keys' syntax. + * lisp/help-macro.el (make-help-screen): Use + 'substitute-command-keys' and 'help--key-description-fontified'. + Simplify. + * src/keymap.c (describe_key_maybe_fontify): New function to add + the 'help-key-binding' face to keybindings. + (describe_vector): Use above new keybinding. + (syms_of_keymap) : New + DEFSYMs. + (fontify_key_properties): New static variable. + * lisp/tooltip.el (tooltip-show): Avoid overriding faces in + specified tooltip text. + * test/lisp/help-tests.el (with-substitute-command-keys-test): + Don't test for text properties. + (help-tests-substitute-command-keys/add-key-face) + (help-tests-substitute-command-keys/add-key-face-listing): + New tests. + +2021-03-08 Dmitry Gutov + + Speed up xref rendering for matches on very long lines + + * lisp/progmodes/xref.el (xref--insert-xrefs): Cut up the current + line into pieces here for multiple matches's summaries, so that + xref--insert-xrefs can do less work (bug#46859). + (xref--insert-xrefs): Do less work. + (xref--outdated-p): + Update accordingly to how the summary creation logic changed. + (xref--buf-pairs-iterator): Update to the new calling convention. + (xref-location-column): Effectively rename back to + xref-file-location-column since the generic version is now unused. + + * test/lisp/progmodes/xref-tests.el + (xref-matches-in-directory-finds-two-matches-on-the-same-line) + (xref-matches-in-directory-finds-an-empty-line-regexp-match): + Adjust to the xref-location-column change. + (xref-matches-in-files-trims-summary-for-matches-on-same-line): + New test. + + * test/lisp/progmodes/xref-resources/file1.txt: + Change contents slightly to test the new xref--outdated-p code. + +2021-03-08 Dmitry Gutov + + Xref test improvements + + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-abs): + Fix not to rely on the default value. + (xref-matches-in-files-includes-matches-from-all-the-files): + New test. + +2021-03-08 Stefan Monnier + + * lisp/net/tramp-cache.el: Fix misuse of bound-and-true-p + + (tramp-get-file-property, tramp-set-file-property): Check the var's + value rather than its name. + +2021-03-08 Stefan Monnier + + * lisp/net/ange-ftp.el: Fix problem pointed out by compiler warning + + (ange-ftp-fix-name-for-bs2000): Remove redundant `boundp` test. + +2021-03-08 Stefan Monnier + + * lisp/erc/erc.el: Fix problem pointed out by compiler warning + + [ Also use `read-string` instead of `read-from-minibuffer`. ] + + (erc-part-from-channel): Comment out improbable + reference to the formal argument from within the interactive spec. + +2021-03-08 Stefan Monnier + + * lisp/cedet/semantic/fw.el (semantic-find-file-noselect): Fix warning + + Remove ugly hack trying to warn the user about some unknown problem, + and which stopped working in 2013 when files.el started using + lexical-binding. + +2021-03-08 Stefan Monnier + + * lisp/skeleton.el (skeleton-read): Silence compiler warning + +2021-03-08 Stefan Monnier + + * lisp/cedet/semantic/bovine.el: Fix recent regression + + The conversion to `lexical-binding` introduced a regression because + `bovine/c.el` relied on inspecting the local variable `lse` in one of + its callers. + + (semantic-bovinate-stream): Bind `lse` dynamically, because of + `semantic-parse-region-c-mode`. + (semantic-bovinate-nonterminal-check-map): Rename from + `semantic-bovinate-nonterminal-check-obarray` to hold some other kind + of table. + (semantic-bovinate-nonterminal-check): Use a hash-table instead of an obarray. + + * lisp/cedet/semantic/bovine/c.el (semantic-parse-region-c-mode): + Declare use of `lse` via dynamic scoping. + + * test/lisp/cedet/semantic-utest-c.el + (semantic-test-c-preprocessor-simulation): Re-enable test. + +2021-03-08 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Warn about unprefixed vars in `boundp` + + (byte-compile--check-prefixed-var): New fun, + extracted from `byte-compile--declare-var`. + (byte-compile--declare-var): Use it. + (byte-compile-maybe-guarded): Use it as well. + +2021-03-07 Andrea Corallo + + * Handle `comp-native-driver-options' both as file-local both as global + + * src/comp.c (add_driver_options): Throw an error if + `comp-native-driver-options' is set globally but + 'gcc_jit_context_add_driver_option' is not available, ignore for + the file-local case. + +2021-03-07 Andrea Corallo + + Use `length=' and family where possible in native comp code + + * lisp/emacs-lisp/comp-cstr.el (comp-intersect-typesets) + (comp-cstr-imm): Use Use `length=' and family where possible. + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-block) + (comp-compute-dominator-frontiers) + (batch-byte-native-compile-for-bootstrap): Likewise. + +2021-03-07 Andrea Corallo + + * lisp/emacs-lisp/comp.el (w32-get-nproc): Suppress warning declaring it. + + For non Windows system. + +2021-03-07 Andrea Corallo + + Allow for `comp-native-driver-options' to work as a file-local variable. + +2021-03-07 Juri Linkov + + Remove outline-cycle-minor-mode and outline-cycle-highlight-minor-mode + + * lisp/outline.el (outline-font-lock-keywords): Use OVERRIDE or + LAXMATCH depending on outline-minor-mode-highlight in outline-minor-mode. + (outline-minor-mode-cycle, outline-minor-mode-highlight): Promote + defvar to defcustom. + (outline-minor-mode-highlight-buffer): Don't override existing faces. + (outline-cycle-minor-mode, outline-cycle-highlight-minor-mode): + Remove minor modes. + + * etc/compilation.txt: + * etc/grep.txt: Enable outline-minor-mode-cycle and + outline-minor-mode-highlight with outline-minor-mode. + https://lists.gnu.org/archive/html/emacs-devel/2021-03/msg00144.html + +2021-03-07 Andrea Corallo + + * Work around GCC PR99126 on all libgccjit < 11 + + * src/comp.c (Fcomp__compile_ctxt_to_file): Work around GCC + PR99126 on all libgccjit < 11. + +2021-03-07 Michael Albinus + + * test/infra/Dockerfile.emba: Install texinfo. + +2021-03-07 Glenn Morris + + Tag a semantic test that seems to hang recently + + * test/lisp/cedet/semantic-utest-c.el + (semantic-test-c-preprocessor-simulation): Mark as unstable. + +2021-03-07 Basil L. Contovounesios + + Fix string-replace error data + + * lisp/subr.el (string-replace): Signal an error with data that is a + list, and whose contents are consistent with other uses of + wrong-length-argument. + * test/lisp/subr-tests.el (string-replace): Test for this. + (subr-test-define-prefix-command): Pacify byte-compiler warnings. + +2021-03-07 Eli Zaretskii + + Avoid aborts in native-comp subprocesses when exiting Emacs on Windows + + * src/w32.c (shutdown_handler): Clear the message stack when being + shut down in noninteractive mode, to avoid aborting in + shut_down_emacs when a native-compilation subprocess is killed + because the parent Emacs exits. + +2021-03-07 Eli Zaretskii + + Fix encoding of file names in comp.c + + * src/comp.c (Fcomp__compile_ctxt_to_file) [WINDOWSNT]: Fix + encoding of file names passed to libgccjit. + +2021-03-07 Eli Zaretskii + + Use MS-Windows system APIs to get number of processors + + * lisp/emacs-lisp/comp.el: Use 'w32-get-nproc' instead of the + environment variable NUMBER_OF_PROCESSORS. + + * src/w32proc.c (Fw32_get_nproc): New primitive. + * src/w32.c (w32_get_nproc): New function. + (sample_system_load): Call w32_get_nproc to initialize the number + of processors on this system. + * src/w32.h (w32_get_nproc): Add prototype. + +2021-03-07 Eli Zaretskii + + Fix libgccjit PROGNAME on MS-Windows + + * src/comp.c [WINDOWSNT]: Import gcc_jit_context_set_str_option. + (init_gccjit_functions): Load gcc_jit_context_set_str_option. + (gcc_jit_context_set_str_option) [WINDOWSNT]: New macro. + (Fcomp__compile_ctxt_to_file) [WINDOWSNT]: Pass the actual name of + the libgccjit DLL to the library, to be used as PROGNAME. + +2021-03-07 Michael Albinus + + * test/infra/Dockerfile.emba: Touch "info/emacs". + +2021-03-07 Michael Albinus + + Adapt Dockerfile.emba according to recent configure changes + + * test/infra/Dockerfile.emba: Remove "--without-makeinfo" from + configure. Add "lisp" to make. + +2021-03-07 Stefan Monnier + + * lisp/cedet/semantic/wisent: Use lexical-binding + + * lisp/cedet/semantic/wisent/comp.el: lexical-binding. + (wisent-defcontext): Make sure the vars are also dynbound in the files + that `require` us. + (wisent-state-actions, wisent-automaton-lisp-form): Use `obarray-make`. + (wisent--compile-grammar): Rename from `wisent-compile-grammar`. + (wisent-compile-grammar): Redefine as an obsolete function. + (wisent-automaton-lisp-form): Avoid variable `state`. + + * lisp/cedet/semantic/grammar.el: Use lexical-binding. + (semantic-grammar-require-form): New var. + (semantic-grammar-header): Use it to provide new element `require-form`. + (semantic-grammar-header-template): Use it. + + * lisp/cedet/semantic/wisent.el (wisent-compiled-grammar): New macro. + + * lisp/cedet/semantic/wisent/grammar.el (wisent-grammar-parsetable-builder): + Use it in the generated code instead of the `wisent-compile-grammar` function. + (wisent-grammar-mode): Set `semantic-grammar-require-form` so + the generated ELisp files require `semantic/wisent` rather than + `semantic/bovine`. + + * lisp/cedet/semantic/wisent/wisent.el: Use lexical-binding. + * lisp/cedet/semantic/wisent/java-tags.el: Use lexical-binding. + * lisp/cedet/semantic/wisent/python.el: Use lexical-binding. + * lisp/cedet/semantic/wisent/javascript.el: Use lexical-binding. + (semantic-ctxt-current-symbol): Remove unused var `symlist`. + + * admin/grammars/python.wy (wisent-python-EXPANDING-block): + Declare dynbound var. + + * lisp/cedet/semantic/grammar-wy.el: Regenerate. + +2021-03-07 Stefan Kangas + + Remove additional items obsolete since Emacs 22/23 + + * lisp/speedbar.el (speedbar-update-speed) + (speedbar-navigating-speed): Remove variables obsolete since Emacs 23. + (speedbar-dir-follow, speedbar-directory-buttons-follow): Don't use + above removed variables. + + * lisp/erc/erc.el (erc-announced-server-name, erc-process) + (erc-default-coding-system, erc-send-command): Remove variables and + functions obsolete since Emacs 22. + +2021-03-07 Stefan Kangas + + Remove some items obsolete since Emacs 22/23 from Gnus + + * lisp/gnus/gnus-art.el (gnus-article-hide-pgp-hook) + (gnus-treat-strip-pgp, gnus-treat-display-xface): + * lisp/gnus/gnus-msg.el (gnus-inews-mark-gcc-as-read): + * lisp/gnus/gnus-start.el (nnmail-spool-file): + * lisp/gnus/nnmail.el (nnmail-spool-file) + (nnmail-fix-eudora-headers): Remove items obsolete since 22.1. + * lisp/gnus/gnus-art.el (gnus-treat-display-x-face): + * lisp/gnus/gnus-msg.el (gnus-inews-do-gcc): Don't use above obsolete symbols. + * doc/misc/gnus.texi (Washing Mail, Not Reading Mail): Don't refer to + above obsolete variables. + + * lisp/gnus/gnus.el (gnus-local-domain, gnus-carpal): + * lisp/gnus/nnimap.el (nnimap-split-rule): + * lisp/gnus/nntp.el (nntp-authinfo-file): Fix obsolete variable + version format. + +2021-03-07 Stefan Kangas + + Remove some references to Emacs 21 + + * lisp/erc/erc-track.el (erc-track-position-in-mode-line): + * lisp/erc/erc.el (erc-header-line-format): + * lisp/ibuffer.el (ibuffer-mode): + * lisp/ruler-mode.el: Remove some references to Emacs 21. + +2021-03-07 Stefan Kangas + + * lisp/mouse-drag.el: Use lexical-binding. + + * lisp/mouse-copy.el: Use lexical-binding. + +2021-03-07 Stefan Monnier + + * lisp/cedet/semantic/bovine/*.el: Use lexical-binding + + * lisp/cedet/semantic/bovine/c.el: Use lexical-binding. + (semantic-lex-cpp-define): Remove unused var `name`. + (semantic-c-do-lex-if): Remove unused var `pt`. + (semantic-analyze-tag-references): Remove unused var `refs`. + (semantic-c-dereference-namespace): Remove unused vars `tmp` and + `usingname`. + (semantic-c-dereference-namespace-alias): Remove unused var `newtype`. + (semantic-c-check-type-namespace-using): Remove unused vars `tmp` and + `shortname`. + (semanticdb-find-table-for-include): Remove unused var `prefix`. + (semantic-default-c-setup, semantic-c-describe-environment): + Use `derived-mode-p`. + + * lisp/cedet/semantic/bovine/debug.el: Use lexical-binding. + + * lisp/cedet/semantic/bovine/make.el: Use lexical-binding. + + * lisp/cedet/semantic/bovine/scm.el: Use lexical-binding. + + * lisp/cedet/semantic/lex.el (define-lex-analyzer): Define the var (and + the function) in a single step. + +2021-03-07 Stefan Monnier + + * lisp/obsolete/inversion.el: Use lexical-binding + +2021-03-07 Glenn Morris + + * admin/admin.el (make-manuals-dist-output-variables): Update. + +2021-03-07 Glenn Morris + + Simplify silent-rules build machinery + + * src/verbose.mk.in: New file. + * configure.ac (AM_V, AM_DEFAULT_V): Remove output variables. + (src/verbose.mk): New output file. + * Makefile.in, admin/charsets/Makefile.in: + * admin/grammars/Makefile.in, admin/unidata/Makefile.in: + * doc/emacs/Makefile.in, doc/lispintro/Makefile.in: + * doc/lispref/Makefile.in, doc/misc/Makefile.in, leim/Makefile.in: + * lib-src/Makefile.in, lib/Makefile.in, lisp/Makefile.in: + * lwlib/Makefile.in, nt/Makefile.in, oldXMenu/Makefile.in: + * src/Makefile.in, src/verbose.mk.in, test/Makefile.in: + Include src/verbose.mk rather than repeatedly defining AM_V_at etc. + +2021-03-06 Andrea Corallo + + Fix `comp-cstr-intersection-no-hashcons' for negated result cstr + + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-no-hashcons): When negated and + necessary relax dst to t. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + +2021-03-06 Pip Cet + + Fix miscompilation of funcall forms in some cases (bug#46974) + + * lisp/emacs-lisp/comp.el (comp-call-optim-func): Call + comp-cstr-imm-vld-p before relying on comp-cstr-imm to return the + right value. + +2021-03-06 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-simple): Suppress warning. + +2021-03-06 Andrea Corallo + + Fix `=' propagation to handle -0.0 0.0 case + + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-homogeneous): Fix indent + use `memql'. + (comp-cstr-=): Handle 0.0 -0.0 idiosyncrasy + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests and fix enumeration. + +2021-03-06 Glenn Morris + + * src/Makefile.in (base_obj): Remove GMP_OBJ, undefined since 202007. + +2021-03-06 Glenn Morris + + Don't pass implicit flags to sub-makes + + * Makefile.in (info_misc, uninstall, texi_misc): + Don't pass any implicit make flags to sub-makes. + Ref https://lists.gnu.org/r/help-make/2021-03/msg00007.html + +2021-03-06 Glenn Morris + + Remove the --without-makeinfo configure option (bug#46837) + + * configure.ac (--without-makeinfo): Remove option. + (HAVE_MAKEINFO): Remove output variable. + + * Makefile.in (HAVE_MAKEINFO): Remove. + (info_misc): Remove HAVE_MAKEINFO check. + (info-real): Remove target. + (info): Simplify. + +2021-03-06 Stefan Monnier + + * lisp/cedet/srecode/compile.el: Fix last change + + (srecode-compile-inserter): Call `make-instance` properly. + +2021-03-06 Basil L. Contovounesios + + Speed up json.el encoding + + This replaces most json-encode-* functions with similar + json--print-* counterparts that insert into the current buffer + instead of returning a string (bug#46761). + + Some unused but useful json-encode-* functions are kept for backward + compatibility and as a public API, and the rest are deprecated. + + * etc/NEWS: Announce obsoletions. + + * lisp/json.el: Document organization of library. Make subsection + headings more consistent. + (json--encoding-current-indentation): Rename... + (json--print-indentation-prefix): ...to this, to reflect new use. + (json--encode-stringlike, json--encode-alist): Rename... + (json--print-stringlike, json--print-alist): ...to these, + respectively, and encode argument into current buffer instead. All + callers changed. + + (json--print-string, json--print-unordered-map, json--print-array) + (json--print): New functions. + (json-encode-string, json-encode-plist, json-encode-array) + (json-encode): Use them, respectively. + + (json-encode-number, json-encode-hash-table): Mark as obsolete + aliases of json-encode. + (json-encode-key, json-encode-list): Mark as obsolete in preference + for json-encode. + + (json--print-indentation-depth, json--print-keyval-separator): New + variables. + (json--with-output-to-string): New macro. + (json--print-indentation, json--print-keyword, json--print-key) + (json--print-pair, json--print-map, json--print-list): New + functions. + + (json--with-indentation): Use json--print-indentation-depth to avoid + unnecessary string allocation. + (json-encoding-default-indentation, json-pretty-print-max-secs): + Clarify docstrings. + (json--escape, json--long-string-threshold, json--string-buffer): + Remove; no longer used. + + * lisp/progmodes/js.el (js--js-encode-value): Replace + json-encode-string and json-encode-number with json-encode. + (js-eval-defun): Use json--print-list to avoid + json-encode-list->insert roundtrip. + + * test/lisp/json-tests.el (test-json-encode-number) + (test-json-encode-hash-table, test-json-encode-hash-table-pretty) + (test-json-encode-hash-table-lisp-style) + (test-json-encode-hash-table-sort, test-json-encode-list): Replace + uses of obsolete functions with the equivalent use of json-encode. + (test-json-encode-key): Suppress obsoletion warnings. + (test-json-encode-string): Check that text properties are stripped. + +2021-03-06 Stefan Monnier + + * lisp/emacs-lisp/bindat.el (bindat-struct): Fix Edebug def + +2021-03-06 Stefan Monnier + + * lisp/emulation/: Use lexical-binding + + * lisp/emulation/cua-base.el: Use lexical-binding. + Remove redundant `:group` arguments. + (cua-mode): Don't use `:require` since the autoload on `define-minor-mode` + takes care of loading the mode when custom-setting it. + + * lisp/emulation/cua-gmrk.el: Use lexical-binding. + (cua--copy-rectangle-to-global-mark): Remove unused var `src-buf`. + + * lisp/emulation/edt-mapper.el: Use lexical-binding. + + * lisp/emulation/edt.el: Use lexical-binding. + Remove redundant `:group` arguments. + (edt-with-position): Allow `top`, `left`, and `far` to be left unused + in `body`. + + * lisp/emulation/keypad.el: Use lexical-binding. + + * lisp/emulation/viper-cmd.el: Move `provide` to the end. + (viper-read-string-with-history): Strength reduce `eval` to `symbol-value`. + + * lisp/emulation/viper-ex.el: Use lexical-binding. + Remove redundant `:group` arguments. + Move `provide` to the end. + + * lisp/emulation/viper-init.el: Use lexical-binding. + + * lisp/emulation/viper-keym.el (viper-toggle-key): Use `dolist`. + (viper-insert-diehard-map): Use `string`. + (viper-modify-major-mode): Use `alist-get` and `setf`. + + * lisp/emulation/viper-macs.el (viper-ex-work-buf): + Move `provide` to the end. + (viper-record-kbd-macro): Strength reduce `eval` to `symbol-value`. + (viper-describe-kbd-macros): Return value is not significant. + (viper-keyseq-is-a-possible-macro): Use `seq-some`. + (viper-common-seq-prefix): Use `seq-every-p`. + + * lisp/emulation/viper-mous.el: Use lexical-binding. + Remove redundant `:group` arguments. + Move `provide` to the end. + (viper-remember-current-frame): Accept arbitrary ignored args. + (viper-parse-mouse-key): Strength reduce `eval` to `symbol-value`. + Remove unused var `key-spec`. + (viper-bind-mouse-search-key, viper-bind-mouse-insert-key): + Apply de Morgan. + + * lisp/emulation/viper-util.el: Move `provide` to the end. + (viper-move-marker-locally, viper-push-onto-ring, viper-save-setting): + Strength reduce `eval` to `symbol-value`. + (viper-event-vector-p, viper-char-symbol-sequence-p, viper-char-array-p): + Use `seq-every-p`. + + * lisp/emulation/viper.el (viper-non-hook-settings): Eta-reduce use of + `viper-remember-current-frame`. + +2021-03-06 Basil L. Contovounesios + + Various map.el improvements + + * lisp/emacs-lisp/seq.el (seq-do-indexed): Return nil as per doc. + + * lisp/emacs-lisp/map.el: Require Emacs >= 26 due to dependence on + 5-arg alist-get. Bump package to version 3.0. Fix other + headers. (Bug#46754) + (map--plist-p): Detect list starting with nil as plist, not alist. + (map-elt, map-filter, map-apply, map--make-pcase-bindings) + (map--make-pcase-patterns): Simplify. + (map-let, map-put, map-nested-elt, mapp): Update docstring for plist + support. + (map-delete): Fix OBOE on arrays. Split into cl-defmethods. + (map-values, map-values-apply): Specialize for arrays. + (map-pairs, map-keys-apply, map-put!): Improve docstring. + (map-length): Clarify docstring w.r.t. duplicate keys. Split into + cl-defmethods. Optimize default implementation. + (map-copy): Use copy-alist on alists. Split into cl-defmethods. + (map-contains-key): Add plist support. Clarify docstring + w.r.t. optional argument. Simplify default implementation. + (map-some, map-every-p, map-merge, map-merge-with, map--into-hash): + Don't use map-apply for side effects. + (map-into): Preserve plist ordering. Improve docstrings. + (map-insert): Add hash-table and array support. + (map-inplace): Remove unused error symbol. + (map-do): Return nil as per doc. + + * etc/NEWS: Announce new user-visible behavior. + + * test/lisp/emacs-lisp/map-tests.el: Prefer should-not + over (should (not ...)) in general. + (with-maps-do): Fix docstring. + (with-empty-maps-do): New macro. + (test-map-elt-default, test-mapp, test-map-keys, test-map-values) + (test-map-pairs, test-map-length, test-map-copy, test-map-apply) + (test-map-do, test-map-keys-apply, test-map-values-apply) + (test-map-filter, test-map-remove, test-map-empty-p) + (test-map-contains-key, test-map-some, test-map-every-p): + Use it. + + (test-map-plist-p, test-map-put!-new-keys, test-map-insert-empty) + (test-map-insert, test-map-delete-empty, test-map-copy-alist) + (test-map-contains-key-testfn, test-map-into-hash-test) + (test-map-into-empty, test-map-merge, test-map-merge-empty): + New tests. + + (test-map-elt): Test array key that is within bounds but not fixnum. + (test-map-put!): Use map--plist-p. Remove redundant tests. + (test-map-put-alist-new-key): Don't modify list literal. + (test-map-put-testfn-alist, test-map-put-return-value): Silence + obsoletion warnings. + (test-map-delete): Check for OBOE on arrays. + (test-map-delete-return-value): Remove test made redundant by + test-map-delete. + (test-map-nested-elt, test-map-into): Test plists too. + +2021-03-06 Alan Mackenzie + + CC Mode: Fix calculation of c-parse-state when there're macros with braces + + This fixes bug #46951. + + * lisp/progmodes/cc-engine.el (c-append-lower-brace-pair-to-state-cache): + Ensure the starting point for backward scanning is not within a macro which + doesn't contain HERE. + +2021-03-06 Stefan Monnier + + * lisp/progmodes/flymake.el (flymake-log): Push the right code + + * lisp/progmodes/flymake.el (flymake-log): Simplify + +2021-03-06 Eli Zaretskii + + Revert "Fix Makefile subshell output when run in parallel" + + This reverts commit 117505454ce04c0c0ce2c2b4058823cf764fc2eb. + It breaks the build for versions of GNU Make that don't support -O. + +2021-03-06 Basil L. Contovounesios + + Fix Makefile subshell output when run in parallel + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00255.html + + * Makefile.in (texi_misc): Avoid interspersing parallel Make output + with that from subshell. + +2021-03-06 Basil L. Contovounesios + + Pacify some semantic-tag-make-plist warnings + + * lisp/cedet/semantic/tag.el (semantic-tag-make-plist): Define + before its first use to pacify some recent "may not be defined at + runtime" warnings after turning on lexical-binding. + +2021-03-06 Lars Ingebrigtsen + + Remove mention of using defun- and defvar- as prefixes + + * doc/lispref/tips.texi (Coding Conventions): Remove mention of + using defun- and defvar- as prefixes, as this is something that we + rarely do in Emacs (bug#46899). + +2021-03-06 Eli Zaretskii + + Improve documentation of Bindat + + * doc/lispref/processes.texi (Bindat Types, Bindat Functions) + (Bindat Computed Types): Improve wording and add indexing. + + * etc/NEWS: Add a pointer to the ELisp manual for "Bindat". + +2021-03-06 Protesilaos Stavrou + + Pull Modus themes version 1.2.3 from upstream + + This syncs with the following upstream revision: + + Update to version 1.2.3 + 0a36239 2021-03-05 19:43:30 +0200 + https://gitlab.com/protesilaos/modus-themes/-/commit/0a36239baf908585cdf32c6188eb86713d9bf6c6 + + For discussion, see bug#45068 and the following upstream issue: + https://gitlab.com/protesilaos/modus-themes/-/issues/162 + + * doc/misc/modus-themes.org: + * etc/themes/modus-operandi-theme.el: + * etc/themes/modus-themes.el: + * etc/themes/modus-vivendi-theme.el: Update to version 1.2.3. + +2021-03-06 Protesilaos Stavrou + + Update Modus themes to their version 1.2.0 + + * doc/misc/modus-themes.org: Add new version of the manual, with + changes to markup and references to the latest state of the project. + + * etc/themes/modus-vivendi-theme.el: + * etc/themes/modus-operandi-theme.el: Provide updated version of each + theme, which expands the contents of 'modus-themes.el' (bug#45068). + + * etc/themes/modus-themes.el: Add new supportive file. This is where + theme data, functions, and face definitions are defined. + +2021-03-06 Basil L. Contovounesios + + Conditionally use macroexp-file-name in Flymake + + * lisp/progmodes/flymake.el (flymake-log): Reinstate Emacs 26 + support by conditionally using macroexp-file-name which is new in + Emacs 28 (bug#46957). + +2021-03-06 Stefan Monnier + + * * lisp/cedet/semantic: Use lexical-binding in the generated grammars + + * admin/grammars/c.by (typesimple): Bind `semantic-c-classname` dynamically. + + * lisp/cedet/semantic/bovine.el: Use lexical-binding. + (semantic-lambda): Silence warnings if the `vals` arg is not used. + + * lisp/cedet/semantic/grammar-wy.el: Re-generate. + + * lisp/cedet/semantic/bovine/grammar.el: Use lexical-binding. + (bovine-grammar-expand-action): Silence warnings if some of the + `vals`, `start`, or `end` args is not used. + (bovine--make-parser-1): Use lexical-binding in the generated files. + + * lisp/cedet/semantic/wisent/grammar.el: Use lexical-binding. + (wisent--make-parser-1): Use lexical-binding in the generated files. + +2021-03-06 Stefan Kangas + + Add some new tests for keymap.c + + * test/src/keymap-tests.el (keymap-define-key/undefined) + (keymap-define-key/keyboard-macro, keymap-define-key/lambda) + (keymap-define-key/keymap, keymap-define-key/menu-item) + (keymap-lookup-key/list-of-keymaps, keymap-lookup-key/too-long): + New tests. + (keymap-lookup-key): Extend test slightly. + +2021-03-06 Stefan Monnier + + * lisp/cedet/srecode/*.el: Use lexical-binding + + * lisp/cedet/srecode/compile.el (srecode-compile-inserter): + Use `make-instance` instead of the class name-as-function. + + * lisp/cedet/srecode/fields.el (srecode-field-behind-hook): + Remove unused var `field`. + + * lisp/cedet/srecode/find.el (srecode-load-tables-for-mode): Simplify. + + * lisp/cedet/srecode/getset.el (srecode-semantic-selected-tag): Declare var. + + * lisp/cedet/srecode/mode.el (srecode-minor-mode): Mark references to + non-existing `srecode-m3-items` function. + + * lisp/cedet/srecode/srt-mode.el (srecode-parse-this-macro): Remove + unused var `raw`. + +2021-03-06 Stefan Monnier + + Bindat: new macro-expansion based data layout language + + Thorough redesign of the Bindat system, which makes it possible + to define new Bindat type forms, define recursive types, control + the values returned when unpacking, freely mix arbitrary computations + with type definitions, as well as support for arbitrary sized + integers. + + This also reverts the recent addition of the `bindat-spec` macro and + the support for 64bit integers in the old Bindat language since that + is now considered obsolete anyway. + + * doc/lispref/processes.texi (Bindat Types): Rename from `Bindat Spec` + and rewrite for the new sublanguage. + (Bindat Functions): Adjust to the new terminology. + (Bindat Computed Types): New node. + + * lisp/emacs-lisp/bindat.el (bindat--type): New type. + (bindat--unpack-u64, bindat--unpack-u64r): Delete functions. + (bindat--unpack-item, bindat--pack-item, bindat--fixed-length-alist): + Revert addition of support for 64bit integers. + (bindat--unpack-group, bindat--length-group, bindat--pack-group): + Handle the new `bindat--type` values. + (bindat-spec): Revert addition of this macro. + (bindat--unpack-uint, bindat--unpack-uintr, bindat--pack-uint) + (bindat--pack-uintr): New functions. + (bindat-type, bindat-defmacro, bindat--pcase): New macros. + (bindat-type): New Edebug elem. + (bindat--type): New generic function. + (bindat--primitives): New constant. + (bindat--macroenv, bindat--op): New vars. + (bindat--make-docstring, bindat--fun, bindat--makefun, bindat--toplevel): + New functions. + + * test/lisp/emacs-lisp/bindat-tests.el: Use `bindat-type`. + (ip): New Bindat type. + (header-bindat-spec, data-bindat-spec, packet-bindat-spec): Adjust to + new `bindat-type` macro. + (bindat-test-unpack): Simplify now that the order of fields is preserved. + (bindat-test--int-websocket-type, bindat-test--LEB128): New consts. + (bindat-test--pack-val, bindat-test--sint, bindat-test--recursive): + New tests. + +2021-03-05 Mattias EngdegÃ¥rd + + Make lambda-lifting work again + + * lisp/emacs-lisp/cconv.el (cconv--analyze-use): Fix typo. + * test/lisp/emacs-lisp/cconv-tests.el (cconv-convert-lambda-lifted): + Add test case. + +2021-03-05 Tassilo Horn + + Improve rcirc-authenticated-hook docstring + + * lisp/net/rcirc.el (rcirc-authenticated-hook): Improve docstring. + +2021-03-05 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Minor refactoring + + (bindat--unpack-str, bindat--unpack-strz, bindat--unpack-bits): + New functions, extracted from `bindat--unpack-item`. + (bindat--unpack-item): Use them. + (bindat--align): New function. + (bindat--unpack-group, bindat--length-group, bindat--pack-group): Use it. + (bindat-get-field): Allow integers to index both lists (as returned by + `repeat`) and vectors (as returned by `vec`). + (bindat--pack-str, bindat--pack-bits): New functions, extracted from + `bindat--pack-item`. + (bindat--pack-item): Use them. + + * test/lisp/emacs-lisp/bindat-tests.el (struct-bindat): Place the fields + in the order in which they appear in the structs. + +2021-03-05 Stefan Monnier + + * lisp/emacs-lisp/gv.el (edebug-after): Don't run the getter in the setter + + This fixes bug#46573 which was introduced by commit + d79cf638f278e50c22feb53d6ba556f5ce9d7853. + The new code is a middle ground, which makes sure the instrumentation + point is used (so the coverage checker won't have ghost unreachable + instrumentation points) yet without artificially running the getter + when we only need to run the setter. + +2021-03-05 Stefan Monnier + + * src/fns.c (Frandom): Handle bignum `limit`s + + (ccall2, get_random_bignum): New functions. + +2021-03-05 Michael Albinus + + Declare some completion predicates + + * lisp/filenotify.el (file-notify-handle-event): + * lisp/net/dbus.el (dbus-handle-event): Declare `completion-predicate'. + +2021-03-05 Masahiro Nakamura + + * doc/misc/tramp.texi (Remote shell setup): Fix reference. + + * doc/misc/tramp.texi (Remote shell setup): Fix reference. (Do not merge) + +2021-03-05 Eli Zaretskii + + Fix some unsafe uses of SSDATA in comp.c + + * src/comp.c (comp_hash_source_file) + (Fcomp__compile_ctxt_to_file, Fnative_elisp_load): Encode file + names before passing them to library APIs. + (Fcomp__compile_ctxt_to_file): use emacs_fopen instead of fopen. + (declare_lex_function): Avoid keeping a 'char *' pointer around + while calling Lisp, which could trigger GC, which could relocate + string data. + +2021-03-05 Lars Ingebrigtsen + + Improve the documentation of :extra in cl-defmethod + + * doc/lispref/functions.texi (Generic Functions): Improve + documentation of :extra (bug#46917). + + * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Ditto. + +2021-03-05 Mauro Aranda + + Fix qualifiers order for loadhist-unload-element in elp.el + + * lisp/emacs-lisp/elp.el (loadhist-unload-element): The :extra + qualifier is expected to come before the other qualifiers, so do + that (bug#46917). + +2021-03-05 Stephen Berman + + Restrict the version guesser to top-level headings + + * lisp/help-fns.el (help-fns--first-release): Restrict the version + guesser to top-level section -- looking in all headings leads to + false positives (bug#46889). + +2021-03-05 Lars Ingebrigtsen + + Actually fill the correct paragraph in `lisp-fill-paragraph' + + * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Fix previous + change here by actually filling the correct paragraph (bug#28937). + +2021-03-05 Eli Zaretskii + + Fix initialization of 'while-no-input-ignore-events' + + * src/keyboard.c (syms_of_keyboard_for_pdumper): Don't reset + 'while-no-input-ignore-events' after loading the dump file. + (Bug#46940) + +2021-03-05 Basil L. Contovounesios + + Don't override load-path in require-theme + + * lisp/custom.el (require-theme): Open-code 'require' error, because + binding load-path can prevent other libraries from loading on error, + such as debug.el, which gives a misleading error. (Bug#45068) + +2021-03-05 Andrea Corallo + + * Harden `comp-abi-hash' computation + + Account for subr arity in `comp-abi-hash' computation as that's part + of the ABI exposed to .eln files. + + * src/comp.c (Fcomp__subr_signature): New support function. + (hash_native_abi): Make use of. + (syms_of_comp): Register 'Scomp__subr_signature'. + +2021-03-05 Pip Cet + + Don't ignore lexically-bound variables in a defvar (bug#46912) + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Walk + the value form of a defvar. + +2021-03-05 Glenn Morris + + * Makefile.in: Ensure non-info forms of doc/misc have an Emacs binary. + +2021-03-05 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el: Make `doc-string` prop work with qualifiers + + (cl--defmethod-doc-pos): New function. + (cl-defmethod): Use it. + +2021-03-04 Andrea Corallo + + * Makefile.in (ELN_DESTDIR): Remove unnecessary double quoting. + +2021-03-04 Lars Ingebrigtsen + + Add a command in package mode for opening home pages directly + + * doc/emacs/package.texi (Package Menu): Document it. + * lisp/emacs-lisp/package.el (package-browse-url): New command and + keystroke (bug#46927). + +2021-03-04 Eli Zaretskii + + Fix typos and doc strings in native-compilation files + + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose) + (comp-always-compile, comp-deferred-compilation-deny-list) + (comp-bootstrap-deny-list, comp-never-optimize-functions) + (comp-async-jobs-number, comp-async-cu-done-hook) + (comp-async-all-done-hook, comp-async-env-modifier-form) + (comp-pass, comp-native-compiling, comp-post-pass-hooks) + (comp-known-predicate-p, comp-pred-to-cstr) + (comp-symbol-values-optimizable, comp-limple-assignments) + (comp-limple-calls, comp-limple-branches, comp-block) + (comp-vec--verify-idx, comp-vec-aref, comp-vec-append) + (comp-vec-prepend, comp-block-preds) + (comp-ensure-native-compiler, comp-log, comp-log-func) + (comp-loop-insn-in-block, comp-byte-frame-size) + (comp-add-func-to-ctxt, comp-spill-lap-function, comp-spill-lap) + (comp-lap-fall-through-p, comp-new-frame, comp-emit-set-call) + (comp-copy-slot, comp-latch-make-fill, comp-emit-cond-jump) + (comp-body-eff, comp-op-case, comp-prepare-args-for-top-level) + (comp-limplify-top-level, comp-negate-arithm-cmp-fun) + (comp-emit-assume, comp-cond-cstrs-target-mvar) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-form-tco-call-seq, comp-clean-up-stale-eln) + (comp-delete-or-replace-file, comp--native-compile) + (native--compile-async, native-compile) + (batch-byte-native-compile-for-bootstrap): Fix typos, wording, and + punctuation in doc strings. + * lisp/loadup.el: Fix typos. + + * src/lread.c (syms_of_lread): Doc fix. + +2021-03-04 Eli Zaretskii + + Update documentation of reading passwords + + * doc/emacs/mini.texi (Passwords): Update to match the modified + implementation. (Bug#46902) Add indexing. + +2021-03-04 Mauro Aranda + + Make checkdoc work with qualified methods + + * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): Handle + cl-defmethod in a case of its own. Check for the presence of + qualifiers, and skip them accordingly until the docstring. + + * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-qualified-ok) + (checkdoc-cl-defmethod-with-extra-qualifier-ok) + (checkdoc-cl-defmethod-with-extra-and-nil-args-ok): Add tests for the fix. + +2021-03-04 Lars Ingebrigtsen + + Add "of" as a keyword in js-mode + + * lisp/progmodes/js.el (js--keyword-re): Add the "of" of "for + ... of" in ECMAScript 2018 (bug#46924). + +2021-03-04 Matt Armstrong + + Call the set_buffer_overlays_ setters + + * src/buffer.c (Fkill_buffer): Call set_buffer_overlays_before and + set_buffer_overlays_after instead of setting the fields directly + (bug#46914). + +2021-03-04 Glenn Morris + + Generate info/dir directly from any org sources + + * Makefile.in (texi_misc): New variable. + (srcdir_doc_info_dir_inputs): Use texi_misc. + (${srcdir}/info/dir): No longer depend on info-real. + +2021-03-04 Glenn Morris + + * doc/misc/Makefile.in (echo-sources): New phony target. + + * build-aux/make-info-dir: Handle .org input files. + +2021-03-04 Basil L. Contovounesios + + Decouple require-theme from load-theme + + * lisp/custom.el (require-theme): Refashion after 'require', as a + function for loading only named features. Do not call + load-theme (bug#45068). + * etc/NEWS: Update its announcement accordingly. + * doc/lispref/customize.texi (Custom Themes): Document it. + + * etc/themes/modus-operandi-theme.el: + * etc/themes/modus-vivendi-theme.el: Remove redundant calls to + 'provide'. + + * test/lisp/custom-tests.el (custom-tests--with-temp-dir): New + macro. + (custom-theme--load-path): Use it. + (custom-tests-require-theme): New test. + +2021-03-04 Mauro Aranda + + Remove copy-pasto from image-dired.el + + * lisp/image-dired.el (image-dired-dired-edit-comment-and-tags): + Remove reference to widget-example-repeat. + +2021-03-04 Mauro Aranda + + Remove duplicated tests in checkdoc-tests.el + + * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-cl-defmethod-ok) + (checkdoc-cl-defmethod-with-types-ok, checkdoc-cl-defun-with-key-ok) + (checkdoc-cl-defun-with-allow-other-keys-ok) + (checkdoc-cl-defun-with-default-optional-value-ok) + (checkdoc-cl-defun-with-destructuring-ok): This tests were duplicated, + so keep one copy of them. Checked by diffing two files with the + suspected tests, and supported by the fact that running occur with the + regexp "^(ert-deftest" reported 14 matches, while the tests being run + were 8. + +2021-03-04 Lars Ingebrigtsen + + Make radio checkboxes work in eww + + * lisp/net/eww.el (eww-toggle-checkbox): Actually update the + :checked values in the form. + +2021-03-04 Andrea Corallo + + * src/comp.c (hash_native_abi): Account for `system-configuraton-options'. + +2021-03-04 Glenn Morris + + Fix a doc/misc clean rule + + * doc/misc/Makefile.in (TEXI_FROM_ORG): New variable. + (orgclean): Fix rule. + +2021-03-04 Basil L. Contovounesios + + Fix pcase dontcare pattern in cl--sm-macroexpand + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-03/msg00119.html + + * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Fix recently + uncovered use of old name for pcase--dontcare. + +2021-03-04 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase-defmacro): Fix `pcase-tests-macro` + + * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Simplify accordingly. + +2021-03-03 Ulf Jasper + + Preserve group structure on opml import and export. + + * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults), + (newsticker-url-list-defaults), + (newsticker--get-news-by-url), + (newsticker--sentinel-work), + (newsticker--parse-atom-0.3), + (newsticker--decode-rfc822-date), + (newsticker--image-download-by-wget), + (newsticker--image-save), + (newsticker--image-download-by-url), + (newsticker--cache-save), + (newsticker--stat-num-items): Fix indentation. + (newsticker-opml-export): Preserve group structure on export. + (newsticker--opml-insert-elt), + (newsticker--opml-insert-group), + (newsticker--opml-insert-feed): New. + (newsticker--opml-import-outlines): + (newsticker-opml-import): Preserve group structure on import. (Fixes + fourth issue in Bug#41376.) + +2021-03-03 Pip Cet + + Don't call _setjmp through a function pointer (Bug#46824) + + * src/comp.c (helper_link_table): Don't include SETJMP except on Windows. + (emit_setjmp): Don't use function pointers except on Windows. + (declare_runtime_imported_funcs): Don't import SETJMP at runtime. + (ABI_VERSION): Bump. + * test/src/comp-tests.el (46824-1): New test. + * test/src/comp-test-funcs.el (comp-test-46824-1-f): New function. + +2021-03-03 Andrea Corallo + + * src/comp.c (return_nil): Make it not a nested function. + +2021-03-03 Andrea Corallo + + Fix two compiler ICEs dealing with nan and infinity + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): Don't crash when + truncate fails. + * test/src/comp-test-funcs.el (comp-test-=-nan): Add two functions + to be compiled. + +2021-03-03 Juri Linkov + + New mode outline-cycle-minor-mode with Orgmode-like TAB cycling on headings + + * lisp/outline.el (outline-mode-cycle-map): New keymap from outline-mode-map. + (outline-mode-map): Inherit from outline-mode-cycle-map. + (outline-font-lock-keywords): Append keymap and face depending on + 'outline-minor-mode-cycle' and 'outline-minor-mode-highlight'. + (outline-minor-mode-cycle, outline-minor-mode-highlight): New variables. + (outline-minor-mode-highlight-buffer): New function. + (outline-minor-mode): Handle 'outline-minor-mode-cycle' and + 'outline-minor-mode-highlight'. + (outline-cycle-minor-mode, outline-cycle-highlight-minor-mode): + New minor modes (bug#45147). + + * etc/compilation.txt: + * etc/grep.txt: + Enable outline-cycle-highlight-minor-mode. + +2021-03-03 Stefan Kangas + + Make inversion.el obsolete (Bug#46841) + + * lisp/cedet/inversion.el: + * test/lisp/cedet/inversion-tests.el: Move from here... + * lisp/obsolete/inversion.el: + * test/lisp/obsolete/inversion-tests.el: ...to here. + + * lisp/cedet/cedet.el (cedet-version): Make obsolete. + * lisp/cedet/cedet-cscope.el (cedet-cscope-version-check): + * lisp/cedet/cedet-global.el (cedet-gnu-global-version-check): + * lisp/cedet/cedet-idutils.el (cedet-idutils-version-check): + * lisp/cedet/ede/make.el (ede-make-check-version): Use 'version<' + instead of 'inversion-check-version'. + * lisp/cedet/semantic/db-file.el (semanticdb-load-database): Don't + use 'inversion-test'. + * lisp/cedet/semantic/ede-grammar.el + (ede-proj-makefile-insert-variables): Don't add inversion to + loadpath. + * lisp/speedbar.el: Remove stale comment. + +2021-03-03 Eli Zaretskii + + Fix compilation warnings in --with-wide-int build on Windows + + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_lisp_word_tag): Fix comparison of unsigned + values. + (gcc_jit_context_new_rvalue_from_ptr): Define only if + LISP_WORDS_ARE_POINTERS, to avoid compilation warning. + (init_gccjit_functions): Load gcc_jit_context_new_rvalue_from_ptr + only if LISP_WORDS_ARE_POINTERS. + +2021-03-03 Eli Zaretskii + + Avoid aborting on MS-Windows at startup + + * src/emacs.c (set_invocation_vars) [WINDOWSNT]: If argv0 is not + an absolute file name, obtain the absolute file name of the Emacs + executable from 'w32_my_exename'. + +2021-03-03 Eli Zaretskii + + Improve NEWS entries about native-compilation + + * etc/NEWS: Add an entry about native-compilation. Improve + wording of the entry about 'package-native-compile'. + +2021-03-03 Alan Mackenzie + + C++ Mode: Handle "if constexpr (...)" with a simple statement correctly + + * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): Add a check and + handling for c-block-stmt-hangon-key in the main loop. + +2021-03-02 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase--u1): Fix typo + +2021-03-02 Alan Mackenzie + + CC Mode: Fix analysis of brace lists, particularly in C++ Mode + + Fix some alignment functionality in cc-align.el. + + * lisp/progmodes/cc-align.el (c-lineup-arglist-intro-after-paren): Align the + next line under the previous entry rather than one to the right of the paren. + (c-lineup-2nd-brace-entry-in-arglist): Take the anchor point from the + brace-list-entry element, not the brace-list-intro one. + + * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Use + c-looking-at-statement-block to test whether "struct A {" begins a brace list + or a struct declaration. + (c-looking-at-or-maybe-in-bracelist): Several detailed amendments, correctly + to recognize brace lists. + (c-looking-at-statement-block): No longer search for commas, as they are not + reliable indicators of a brace list. Search now for a restricted set of + keywords, since some can appear in brace lists in C++ mode. + + * lisp/progmodes/cc-langs.el (c-stmt-block-only-keywords) + (c-stmt-block-only-keywords-regexp): New lang consts/vars. + (c-pre-id-bracelist-kwds): New lang const. + (c-pre-id-bracelist-key): Derive now from the above. + (c-pre-brace-non-bracelist-key): New lang const/var. + +2021-03-02 Juri Linkov + + * lisp/tab-bar.el: Minor stylistic fixes. + + (tab-bar-select-tab-modifiers): Use tab-bar--undefine-keys and + tab-bar--define-keys instead of turning tab-bar-mode on/off. + +2021-03-02 Stefan Monnier + + * lisp/emacs-lisp/trace.el (trace-values): Work outside of traced function + +2021-03-02 Andrea Corallo + + Fix = propagation semantic for constrained inputs + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Synthesize + `comp-cstr-shallow-copy'. + (comp-cstr-=): Relax inputs before intersecting them. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three + tests. + +2021-03-02 Dmitry Gutov + + (ruby-find-library-file): Also recognize 'gem' statements + + * lisp/progmodes/ruby-mode.el (ruby-find-library-file): + Also recognize 'gem' statements. + +2021-03-02 Pip Cet + + Compile closures that modify their bound vars correctly (Bug#46834) + + * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Don't + move let bindings into the lambda. Don't reverse list of + bindings. (byte-compile): Evaluate the return value if it was + previously reified. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-reify-function): + Add tests. + +2021-03-02 Lars Ingebrigtsen + + Improve the dired-do-kill-lines doc string + + * lisp/dired-aux.el (dired-do-kill-lines): Document the FMT + parameter (bug#46867). + +2021-03-02 Stefan Monnier + + * lisp/emacs-lisp/pcase.el: Bind all the vars in `or` patterns + + Improve the handling of `or` patterns where not all sub-patterns bind the + same set of variables. This used to be "unsupported" and behaved in + somewhat unpredictable ways. + + (pcase--expand): Rewrite. + (pcase-codegen): Delete. + + * doc/lispref/control.texi (pcase Macro): Adjust accordingly. + Also remove the warning about "at least two" sub patterns. + These work fine, AFAICT, and if not we should fix it. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-or-vars): New test. + +2021-03-01 Lars Ingebrigtsen + + Fix previous completion-pcm--optimize-pattern fix + + * lisp/minibuffer.el (completion-pcm--optimize-pattern): Re-fix + previous change. + +2021-03-01 Lars Ingebrigtsen + + Fix warning in completion-pcm--optimize-pattern + + * lisp/minibuffer.el (completion-pcm--optimize-pattern): Remove + unused variable. + +2021-03-01 Lars Ingebrigtsen + + Make easymenu downcase the menu symbol for greater backwards compat + + * lisp/cmuscheme.el (map): Revert previous fix. + + * lisp/woman.el (woman-dired-define-keys): Ditto. + + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Downcase the + menu name for greater backwards compatibility. + +2021-03-01 Stefan Monnier + + * lisp/emacs-lisp/pcase.el: Fix bug#46786 + + Revert commit a218c9861573b5ec4979ff2662f5c0343397e3ff, but in order + to avoid the spurious warnings that this commit tried to squash, + keep track of the vars used during the match so as to add + corresponding annotations to explicitly silence the spurious warnings. + + To do this, we change the VARS used in `pcase-u` (and throughout + the pcase code): they used to hold elements of the form (NAME . VAL) + and now they hold elements of the form (NAME VAL . USED). + + (pcase--expand): Bind all vars instead of only those found via fgrep. + (pcase-codegen): Silence "unused var" warnings for those vars that have + already been referenced during the match itself. + (pcase--funcall, pcase--eval): Record the vars that are used. + (pcase--u1): Record the vars that are used via non-linear patterns. + + * lisp/textmodes/mhtml-mode.el (mhtml-forward): + * lisp/vc/diff-mode.el (diff-goto-source): Silence newly + discovered warnings. + + * test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-bug46786): New test. + +2021-03-01 Mattias EngdegÃ¥rd + + Fix multiple Calc defmath errors (bug#46750) + + Fix incorrect variable scoping in `let*`, `for` and `foreach`. + Fix loop variable value in `foreach` (should be element, not tail). + Fix function quoting, as in ('cons x y) -- didn't work at all. + + Reported by Stephan Neuhaus. + + * lisp/calc/calc-prog.el (math-define-exp, math-handle-foreach): + * test/lisp/calc/calc-tests.el: (var-g, test1, test2, test3, test4) + (test5, test6, test7, calc-defmath): Test various defmath forms. + +2021-03-01 Mattias EngdegÃ¥rd + + Remove references to old bignums from Calc manual + + * doc/misc/calc.texi: Remove references to the old Calc representation + of big integers, outdated references to fixnums, an any text and + examples that only made sense at the time. + +2021-03-01 Mattias EngdegÃ¥rd + + * lisp/calc/calc-ext.el (math-equal-int): Work for bignums. + +2021-03-01 Juri Linkov + + * lisp/isearch.el: Minor doc fix. + + * lisp/tab-bar.el (tab-bar--define-keys): Add check for tab-bar-format-global. + +2021-03-01 Protesilaos Stavrou + + Add 'require-theme' function + + * etc/NEWS: Document new function. + * lisp/custom.el (require-theme): Add function. + + This follows from the discussion on bug#45068 where it became apparent + that there was no equivalent mechanism to 'require' that read through + the 'custom-theme-load-path'. + +2021-03-01 Lars Ingebrigtsen + + Fix woman.el menu alteration code + + * lisp/woman.el (woman-dired-define-keys): Fix naming of menu + after dired menu changes. + +2021-03-01 Alan Mackenzie + + CC Mode: Amend C-M-a/e to handle lambda function in C++ arglist + + * lisp/progmodes/cc-cmds.el (c-where-wrt-brace-construct): Reformulate latter + part such that the least enclosing braces and parentheses are used when + determining containment in such. c-beginning-of-decl-1 has been superseded + by list movement and syntactic whitespace movement. + (c-backward-to-nth-BOF-{): Work on least enclosing parens rather than parens + at any level when moving back to an opening brace. + (c-forward-to-nth-EOF-\;-or-}): Work on least enclosing parens, as above. + Move the correction of point when in a "function trailer" to after the main + loop, correcting a minor bug. + +2021-03-01 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase--split-pred): Re-fix bug#14773 + + Adjust to calling convention of `macroexp--fgrep`. + +2021-03-01 Stefan Monnier + + Fix misuses of `byte-compile-macro-environment` + + These seem to be left overs from Emacs<24 when `macroexpand-all` was + implemented in the CL library and hence the macros's evaluation + environment could come from different places depending on the + circumstance (either `byte-compile-macro-environment`, or + `cl-macro-environment`, or ...). + + `byte-compile-macro-environment` contains definitions which expand to + code that is only understood by the rest of the byte-compiler, + so using it for code which isn't being byte-compiled leads to errors + such as references to non-existing function + `internal--with-suppressed-warnings`. + + * lisp/emacs-lisp/cl-extra.el (cl-prettyexpand): Remove left-over + binding from when `macroexpand-all` was implemented in the CL library. + + * lisp/emacs-lisp/ert.el (ert--expand-should-1): + * lisp/emacs-lisp/cl-macs.el (cl--compile-time-too): Properly preserve the + macroexpand-all-environment. + (cl--macroexp-fboundp): Pay attention to `cl-macrolet` macros as well. + +2021-03-01 Andrea Corallo + + Fix `eql' `equal' propagation of non hash consed values (bug#46843) + + Extend assumes allowing the following form: + + (assume dst (and-nhc src1 src2)) + + `and-nhc' assume operator allow for constraining correctly + intersections where non hash consed values are not propagated as + values but rather promoted to their types. + + * lisp/emacs-lisp/comp-cstr.el + (comp-cstr-intersection-no-hashcons): New function. + * lisp/emacs-lisp/comp.el (comp-emit-assume): Logic update to emit + `and-nhc' operator (implemented in fwprop by + `comp-cstr-intersection-no-hashcons'). + (comp-add-cond-cstrs): Map `eq' to `and' assume operator and + `equal' `eql' into `and-nhc'. + (comp-fwprop-insn): Update to handle `and-nhc'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests covering `eql' and `equal' propagation of non hash consed + values. + +2021-03-01 Stefan Monnier + + * src/eval.c (init_eval_once): Bump max_specpdl_size (bug46818) + + Further testing seems to confirm my suspicion that the increase in the + specpdl comes from the recent change to `pcase--if`. + + * lisp/international/mule-cmds.el (update-leim-list-file): Revert workaround. + +2021-03-01 Matt Armstrong + + Clean up obsolete comment + + * src/marker.c (unchain_marker): Clean up obsolete comment + (bug#46836). + + Commit cf3164523b (* src/alloc.c: Avoid O(N²) complexity when + unchaining markers (bug#24548)., 2018-03-23) removed the call from GC + into unchain_marker, so there is no need to warn about it. + +2021-03-01 F. Jason Park + + Fix Bootstring skew parameter in puny.el + + * lisp/net/puny.el: change puny-skew to match value given in RFC3492. + * test/lisp/net/puny-tests.el (puny-test-encode-domain) + (puny-test-decode-domain): add regression case for popular + domain. (bug#46838). + +2021-03-01 Stefan Kangas + + Convert various menus to easymenu + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode-map): Move menu from + here... + (lisp-mode-menu): ...to here, and convert to easymenu. + + * lisp/progmodes/elisp-mode.el (lisp-interaction-mode-map): Move + menu definition from here... + (lisp-interaction-mode-menu): ...to here, and convert to easymenu. + + * lisp/replace.el (occur-menu-map): Convert to easymenu. + +2021-03-01 Glenn Morris + + Improve admin.el's Makefile in standalone manual tarfiles + + * admin/admin.el (make-manuals-dist-output-variables): + Fix abs_top_builddir. Add EMACS. + (make-manuals-dist--1): Respect case when replacing output variables. + +2021-03-01 Glenn Morris + + info/dir needs generated texi files to exist + + * Makefile.in (misc-info): Depend on lisp. + (${srcdir}/info/dir): Depend on info-real. + (info): Simplify. + +2021-03-01 Glenn Morris + + Make generation of texi from org overwrite output + + * doc/misc/Makefile.in (org_template): Don't delete output. + * lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch): + Overwrite existing output. + +2021-02-28 Andrea Corallo + + Don't treat '=' as simple equality emitting constraints (bug#46812) + + Extend assumes allowing the following form + + (assume dst (= src1 src2)) + + to caputure '=' semanting during fwprop handling float integer + conversions. + + * lisp/emacs-lisp/comp.el (comp-equality-fun-p): Don't treat '=' as + simple equality. + (comp-arithm-cmp-fun-p, comp-negate-arithm-cmp-fun) + (comp-reverse-arithm-fun): Rename and add '=' '!='. + (comp-emit-assume, comp-add-cond-cstrs, comp-fwprop-insn): Update + for new function nameing and to handle '='. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-=): New function. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a bunch + of '=' specific tests. + +2021-02-28 Andrea Corallo + + Migrate and rename a bunch of functions from comp.el to comp-cstr.el + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-imm-vld-p) + (comp-cstr-imm, comp-cstr-fixnum-p, comp-cstr-symbol-p) + (comp-cstr-cons-p): Move and rename from 'comp.el'. + * lisp/emacs-lisp/comp.el (comp-mvar-type-hint-match-p) + (make-comp-mvar, comp-emit-assume, comp-fwprop-prologue) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-fwprop-call, comp-fwprop-insn, comp-call-optim-func) + (comp-compute-function-type): Update for renamed functions. + * src/comp.c (emit_mvar_rval): Likewise. + * test/src/comp-tests.el (comp-tests-mentioned-p-1) + (comp-tests-cond-rw-checker-val): Likewise. + +2021-02-28 Glenn Morris + + * doc/misc/modus-themes.org: Add copying markup. (Bug#45141) + +2021-02-28 Glenn Morris + + Update admins make-manuals for new output variable + + * admin/admin.el (make-manuals-dist-output-variables): + Add abs_top_builddir. + +2021-02-28 Stefan Kangas + + Convert dired menus to easymenu + + * lisp/dired.el (dired-mode-map): Move menus from here... + (dired-mode-subdir-menu, dired-mode-immediate-menu) + (dired-mode-regexp-menu, dired-mode-mark-menu) + (dired-mode-operate-menu): ...to here, and convert to easymenu. + +2021-02-28 Stefan Kangas + + Convert hi-lock-menu to easymenu + + * lisp/hi-lock.el (hi-lock-menu): Convert to easymenu. + +2021-02-28 Alan Mackenzie + + Combine and reconcile two conflicting entries in NEWS on goto-line-history + + * etc/NEWS: Amend. + + * doc/lispref/minibuf.texi (Minibuffer History): Amend the entry about + goto-line-history, which is now buffer local only after being so customized. + +2021-02-28 Mattias EngdegÃ¥rd + + Declare more string predicates as pure + + * lisp/emacs-lisp/byte-opt.el (pure-fns): Treat string>, + string-greaterp, string-empty-p, string-blank-p, string-prefix-p and + string-suffix-p as pure functions in the compiler. + +2021-02-28 Stefan Kangas + + Convert ibuffer menus to easymenu + + * lisp/ibuffer.el (ibuffer-mode-map): Move menu from here... + (ibuffer-mode-mark-menu, ibuffer-mode-view-menu): ...to here. + Convert to easymenu. + (ibuffer-mode--groups-menu-definition): New function. Fix bug where + "Kill filter by group named" and "Yank last killed filter group + before" was overwritten and never shown in the menu. + (ibuffer-mode-groups-popup): Convert to easymenu. + (ibuffer-mode-operate-menu): Rename from 'ibuffer-mode-operate-map' + and update uses. Convert to easymenu. + (ibuffer-mode-operate-map): Make into obsolete alias for above + renamed variable. + +2021-02-28 Michael Albinus + + Add `completion-predicate' to some Tramp commands + + * lisp/net/tramp-cmds.el (tramp-cleanup-this-connection) + (tramp-rename-these-files): Add property `completion-predicate'. + + * lisp/net/tramp.el (tramp-command-completion-p): New defun. + +2021-02-28 Kapuze Martin (tiny change) + + Enable Python type hints and non-trivial base classes in wisent + + * admin/grammars/python.wy: Enable understanding Python type hints + and non-trivial base classes (bug#46817). + +2021-02-28 Lars Ingebrigtsen + + Adjust cmuscheme.el menu bar after previous scheme.el change + + * lisp/cmuscheme.el (map): Adjust the keymap lookup after recent + scheme.el change (bug#46820). + +2021-02-28 Mattias EngdegÃ¥rd + + Fix pcase 'rx' pattern match-data bug + + The pcase 'rx' pattern would in some cases allow the match data to be + clobbered before it is read. For example: + + (pcase "PQR" + ((and (rx (let a nonl)) (rx ?z)) (list 'one a)) + ((rx (let b ?Q)) (list 'two b))) + + The above returned (two "P") instead of the correct (two "Q"). + This occurred because the calls to string-match and match-string were + presented as separate patterns to pcase, which would interleave them + with other patterns. + + As a remedy, combine string matching and match-data extraction into a + single pcase pattern. This introduces a slight inefficiency for two + or more submatches as they are grouped into a list structure which + then has to be destructured. + + Found by Stefan Monnier. See discussion at + https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg02010.html + + * lisp/emacs-lisp/rx.el (rx--reduce-right): New helper. + (rx [pcase macro]): Combine string-match and match-string calls into a + single pcase pattern. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases. + +2021-02-28 Stefan Monnier + + * lisp/international/mule-cmds.el: Try and fix bug#46818 + + (update-leim-list-file): Reduce stack/pdl use. + +2021-02-28 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el: Rewrite the code warning about '(lambda ...) + + (macroexp--expand-all): Use `pcase--dontcare` so pcase generates + slightly better code. Don't hardcode which functions takes function + arguments; rely on a new `funarg-positions` symbol property instead. + +2021-02-28 Stefan Kangas + + Convert text-mode menu to easymenu + + * lisp/textmodes/text-mode.el (text-mode-map): Move menu + definition from here... + (text-mode-menu): ...to here, and convert to easymenu. + +2021-02-28 Stefan Kangas + + Convert isearch menu to easymenu + + * lisp/isearch.el (isearch-menu-bar-yank-map) + (isearch-menu-bar-map, isearch-mode-map): Move menu definition + from here... + (isearch-menu-bar-map): ...to here, and convert to easymenu. + + * lisp/loadup.el ("emacs-lisp/easymenu"): Move before isearch.el. + +2021-02-28 Stefan Kangas + + Checkdoc fixes in isearch.el + + * lisp/isearch.el (isearch--set-state, isearch-yank-pop-only) + (isearch-search-and-update, isearch-complete-edit, isearch-search): + Minor doc fixes. + +2021-02-27 Juri Linkov + + * lisp/tab-bar.el: Support displaying global-mode-string in the tab bar. + + * lisp/tab-bar.el (tab-bar--define-keys): Update global-mode-string + in mode-line-misc-info with condition to disable global-mode-string + in the mode line. + (tab-bar-format): New variable. + (tab-bar-format-history, tab-bar-format-add-tab) + (tab-bar-format-tabs): New functions with body from + 'tab-bar-make-keymap-1'. + (tab-bar-format-align-right, tab-bar-format-global): New functions for + 'tab-bar-format' list. + (tab-bar-format-list): New utility function. + (tab-bar-make-keymap-1): Just call 'tab-bar-format-list'. + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01210.html + +2021-02-27 Juri Linkov + + * lisp/subr.el (read-char-choice-with-read-key): New function. + + * lisp/subr.el (read-char-choice): Move most of the function body to + 'read-char-choice-with-read-key'. + (read-char-choice-with-read-key): New function with body from + 'read-char-choice'. + +2021-02-27 Stefan Kangas + + Convert Buffer-menu-mode menu to easymenu + + * lisp/buff-menu.el (Buffer-menu-mode-map): Move menu + definition from here... + (Buffer-menu-mode-menu): ...to here, and convert to easymenu. + +2021-02-27 Stefan Kangas + + Minor fixes after preloading easymenu + + * lisp/cedet/ede/dired.el: + * lisp/dired-x.el: + * lisp/filesets.el: + * lisp/follow.el: + * lisp/gnus/gnus-registry.el: + * lisp/net/eudc.el: + * lisp/printing.el: + * lisp/recentf.el: + * lisp/speedbar.el: Remove redundant require of easymenu; it is now + preloaded. + * lisp/org/org.el: + * lisp/progmodes/antlr-mode.el: + * lisp/progmodes/vhdl-mode.el: + * lisp/textmodes/reftex.el: Don't require easymenu in Emacs 28 or + later. + + * etc/NEWS: Announce that 'easymenu' is now preloaded. + +2021-02-27 Glenn Morris + + Fix doc/misc Makefile for out-of-tree with relative path + + * doc/misc/Makefile.in (org_template): Fix for relative srcdir. + +2021-02-27 Glenn Morris + + Improve Makefile treatment of org sources in doc/misc + + * doc/misc/Makefile.in (ORG_SETUP): New variable. + (ORG_SRC): Use wildcard rather than hard-coding. + (org_template): Adjust for input containing $srcdir and suffix. + (org_setup_template): New template. + +2021-02-27 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Fix minor regression introduced by pdump + + After `rm **/*.elc; make` we'd sometimes get loads and loads of unnecessary + "Reloading ...". + + (byte-compile-refresh-preloaded): Don't reload files that are more + recent than `temacs` but older than the `.pdmp` file. + +2021-02-27 Stefan Kangas + + Don't require overlay; that's only needed in XEmacs + + * lisp/allout.el: + * lisp/net/eudc.el: + * lisp/org/org.el: Don't require overlay; that's only needed in + XEmacs. + +2021-02-27 Stefan Monnier + + * lisp/emacs-lisp/cconv.el: Fix uncaught brain farts in last change + + (cconv--convert-funcbody, cconv-convert): Use `macroexp--warn-wrap` properly. + +2021-02-27 Lars Ingebrigtsen + + Add sexp navigation commands to elisp-mode + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-menu): Add some + navigation commands (bug#24774). + +2021-02-27 Stefan Kangas + + Convert emacs-lisp-mode menu to easy-menu-define + + * lisp/loadup.el: Preload easymenu. + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map): Convert menu to + use easy-menu-define (bug#24774). + +2021-02-27 Matt Armstrong + + Remove unecessary unlock-buffer calls + + * lisp/files.el (revert-buffer-insert-file-contents--default-function): + Remove vestigial call to `unlock-buffer'. + * lisp/simple.el (primitive-undo): Assume unlock-buffer is always + bound. (Bug#46701) + +2021-02-27 Eli Zaretskii + + Avoid crashes in Mew due to corrupted tool-bar label + + * src/gtkutil.c (update_frame_tool_bar): Don't keep around a + 'char *' pointer to a Lisp string's contents when calling Lisp, + because that could relocate string data; keep the Lisp string + itself instead. This avoids crashes in Mew. (Bug#46791) + +2021-02-27 Lars Ingebrigtsen + + Compute grep defaults earlier + + * lisp/progmodes/grep.el (grep): Always compute the defaults + (bug#46801). + (grep-highlight-matches): Clarify that it's not just used + interactively. + +2021-02-27 Lars Ingebrigtsen + + Change defcustom types of two non-standard hooks + + * lisp/erc/erc.el (erc-before-connect, erc-after-connect): Change + type from 'hook to 'function (bug#34657). + +2021-02-27 F. Jason Park + + Accept string argument in erc-add-to-input-ring + + * lisp/erc/erc-ring.el: (erc-add-to-input-ring) + (erc-previous-command): Use existing API to grab input. + * test/lisp/erc/erc-tests.el: (erc-ring-previous-command) + See (bug#46339). + +2021-02-27 Lars Ingebrigtsen + + Add generated .texi files to .gitignore + +2021-02-27 Glenn Morris + + Fixes for doc/misc org source files + + * doc/misc/org-setup.org: Fix "version" file lookup. Add copyright. + * doc/misc/modus-themes.org: Fix up doclicense include. + * doc/misc/org.org: Remove non-working and unused "modification-time". + Fix up doclicense include. Adjust setupfile inclusion. + +2021-02-27 Glenn Morris + + Distribute the real source for some doc/misc manuals (bug#45143) + + * doc/misc/modus-themes.texi, doc/misc/org.texi: + Remove generated files from repository. + * doc/misc/Makefile.in: Add rules for building .texi from .org. + (ORG_SRC, abs_top_builddir, EMACS, emacs): + New variables. + (org_template): New template. + (orgclean): New phony target. + * Makefile.in (info): Depend on lisp. + * lisp/org/ox-texinfo.el (org-texinfo-export-to-texinfo-batch): + New function. + * doc/misc/org.org, doc/misc/org-setup.org: New files. + Import from https://code.orgmode.org d8e8a97a14. + +2021-02-27 Protesilaos Stavrou + + Import org source file for modus-themes manual + + * doc/misc/modus-themes.org: New file. + Import from https://gitlab.com/protesilaos/modus-themes 515180ac. + +2021-02-27 Stefan Kangas + + Use lexical-binding in progmodes/icon.el + + * lisp/progmodes/icon.el: Use lexical-binding. + (electric-icon-brace): Very minor cleanup. + +2021-02-27 Stefan Kangas + + Convert change-log-mode menu to easy-menu-define + + * lisp/vc/add-log.el (change-log-mode-map): Move menu from here... + (change-log-mode-menu): ...to here; convert to easy-menu-define. + +2021-02-27 Stefan Monnier + + * lisp/emacs-lisp/cconv.el: Improve line-nb info of unused var warnings + + Instead of warning about unused vars during the analysis phase of + closure conversion, do it in the actual closure conversion by + annotating the code with "unused" warnings, so that the warnings + get emitted later by the bytecomp phase, like all other warnings, + at which point the line-number info is a bit less imprecise. + + Take advantage of this change to wrap the expressions of unused + let-bound vars inside (ignore ...) so the byte-compiler can better + optimize them away. + + Finally, promote `macroexp--warn-and-return` to "official" status + by removing its "--" marker. + + (cconv-captured+mutated, cconv-lambda-candidates): Remove vars. + (cconv-var-classification): New var to replace them. + (cconv-warnings-only): Delete function. + (cconv--warn-unused-msg, cconv--var-classification): New functions. + (cconv--convert-funcbody): Add warnings for unused args. + (cconv-convert): Add warnings for unused vars in `let` and `condition-case`. + (cconv--analyze-use): Don't emit an "unused var" warning any more, + but instead remember the fact in `cconv-var-classification`. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-force-lexical-warnings): + Remove variable. + (byte-compile-preprocess): Remove corresponding case. + + * lisp/emacs-lisp/pcase.el (pcase--if): Don't throw away `test` effects. + (\`): + * lisp/emacs-lisp/cl-macs.el (cl--do-arglist): Use `car-safe` instead + of `car`, so it can more easily be removed by the optimizer if the + result is not used. + + * lisp/emacs-lisp/macroexp.el (macroexp--warn-wrap): New function. + (macroexp-warn-and-return): Rename from `macroexp--warn-and-return`. + +2021-02-26 Stefan Monnier + + lisp/vc/*.el: Use lexical-bindings in all the files + + Also remove some redundant `:group` arguments. + + * lisp/vc/vc.el (vc-ignore): Autoload. + + * lisp/vc/pcvs-util.el (cvs-every, cvs-union, cvs-map): Delete functions. + * lisp/vc/cvs-status.el: Require `cl-lib` at runtime. + (cvs-tree-tags-insert): Use `cl-mapcar` and `cl-every` instead. + * lisp/vc/pcvs.el: Require `cl-lib` at runtime. + (cvs-do-removal): Use `cl-every` instead. + + * lisp/vc/ediff-init.el: Require `ediff-util` (for `ediff-cleanup-mess` + and `ediff-default-suspend-function`). + + * lisp/vc/pcvs-info.el (cvs-fileinfo<): Remove unused vars `subtypea` + and `subtypeb`. + + * lisp/vc/vc-git.el: + * lisp/vc/vc-bzr.el: Require `vc-dispatcher` at runtime for + `vc-do-async-command`. + +2021-02-26 Stefan Monnier + + * lisp/cedet/semantic/idle.el: Fix compilation warning + + (eldoc-last-message): Remove var declaration. + (eldoc-message): Remove function declaration. + (semantic--eldoc-info): Rename from semantic-idle-summary-idle-function. + Make it usable on `eldoc-documentation-functions`. + (semantic-idle-summary-mode): Use `eldoc-mode`. + (semantic-idle-summary-refresh-echo-area): Delete function. + +2021-02-26 Andrea Corallo + + * Canonicalize filenames on Windows before hashing (bug#46256) + + * src/comp.c (Fcomp_el_to_eln_filename): On Windowns + canonicalize filenames before hashing. + +2021-02-26 Stefan Monnier + + * lisp/cedet/semantic/analyze*.el: Use lexical-binding + + * lisp/cedet/semantic/analyze.el: Use lexical-binding. + Rename the dynbound var `prefixtypes` to `semantic--prefixtypes`. + (semantic--prefixtypes): Declare var. + + * lisp/cedet/semantic/analyze/complete.el: Use lexical-binding. + (semantic--prefixtypes): Declare var. + (semantic-analyze-possible-completions-default): Remove unused var `any`. + Rename `prefixtypes` to `semantic--prefixtypes`. + + * lisp/cedet/semantic/analyze/debug.el: Use lexical-binding. + (semantic-analyzer-debug-global-symbol): Remove no-op use of `prefixtypes`. + + * lisp/cedet/semantic/analyze/refs.el: + * lisp/cedet/semantic/analyze/fcn.el: Use lexical-binding. + +2021-02-26 Andrea Corallo + + * Change native compiler configure flag into '--with-native-compilation' + + * configure.ac: Rename configure nativecomp flags into + --with-native-compilation. + +2021-02-26 Andrea Corallo + + * Interactive tag native compilation function in emacs-lisp-mode + + * lisp/progmodes/elisp-mode.el + (emacs-lisp-native-compile-and-load): Tag it for `emacs-lisp-mode'. + +2021-02-26 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-02-26 Michael Albinus + + Fix Tramp manual + + * doc/misc/tramp.texi (External methods): Mention "about-args". + (Remote shell setup): Use sshx. + +2021-02-26 Stefan Kangas + + Make some defcustom types stricter in comp.el + + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose) + (comp-async-jobs-number, comp-async-env-modifier-form): Use stricter + types. + +2021-02-26 Stefan Kangas + + Add :version tags to defcustoms in comp.el + + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug, comp-verbose) + (comp-never-optimize-functions, comp-async-jobs-number) + (comp-async-cu-done-hook, comp-async-all-done-hook) + (comp-async-env-modifier-form) + (comp-async-report-warnings-errors, comp-native-driver-options) + (comp-libgccjit-reproducer): Add :version tags. + +2021-02-26 Stefan Kangas + + * lisp/progmodes/dcl-mode.el: Minor doc fixes. + +2021-02-26 Stefan Kangas + + Convert some more progmode menus to easy-menu-define + + * lisp/progmodes/dcl-mode.el (dcl-mode-map): + * lisp/progmodes/icon.el (icon-mode-map): + * lisp/progmodes/scheme.el (scheme-mode-map): + Move menu definitions from here... + * lisp/progmodes/dcl-mode.el (dcl-mode-menu): + * lisp/progmodes/icon.el (icon-mode-menu) + * lisp/progmodes/scheme.el (scheme-mode-menu): + ...to here, and use easy-menu-define. + + * lisp/progmodes/icon.el + (icon-mode-map, icon-mode-syntax-table): Simplify. + +2021-02-26 Stefan Kangas + + Convert simula-mode menu to easy-menu-define + + * lisp/progmodes/simula.el (simula-mode-map): Move menu definition + from here... + (simula-mode-menu): ...to here, and use easy-menu-define. + (simula-popup-menu): Declare unused function obsolete. + +2021-02-26 Stefan Kangas + + Fix syntax highlighting of easy-menu-define docstrings + + * lisp/emacs-lisp/easymenu.el (easy-menu-define): Add doc-string + declaration for correct syntax highlighting. + +2021-02-26 Stefan Kangas + + Remove redundant requires of easymenu + + * lisp/allout.el: + * lisp/emacs-lisp/edebug.el: + * lisp/emacs-lisp/ert.el: + * lisp/erc/erc-menu.el: + * lisp/help-mode.el: + * lisp/net/dictionary.el: + * lisp/nxml/rng-nxml.el: + * lisp/progmodes/ebrowse.el: + * lisp/progmodes/meta-mode.el: + * lisp/progmodes/prolog.el: + * lisp/progmodes/ps-mode.el: + * lisp/progmodes/vera-mode.el: + * lisp/wid-browse.el: Remove redundant require of easymenu. We only + use the autoloaded macro 'easy-menu-define' here. + +2021-02-26 Stefan Kangas + + Remove check for missing easymenu from cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-menu): Don't wrap definition + in condition-case; easymenu always exists in Emacs. + (easymenu): Remove redundant require. + +2021-02-26 Eli Zaretskii + + Fix last change + + * lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors): + Improve wording of the doc string. + +2021-02-26 Andrea Corallo + + * Improve `comp-async-report-warnings-errors' docstring + + * lisp/emacs-lisp/comp.el (comp-async-report-warnings-errors): + Improve docstring. + +2021-02-26 Eli Zaretskii + + Improve documentation of last change + + * lisp/emacs-lisp/comp.el (comp-async-query-on-exit) + (comp-async-report-warnings-errors): Improve wording. + +2021-02-26 Andrea Corallo + + * Add `comp-async-query-on-exit' customize. + + * lisp/emacs-lisp/comp.el (comp-async-query-on-exit): New customize. + (comp-run-async-workers): Make use of. + +2021-02-26 Basil L. Contovounesios + + Function-quote completion property of declare form + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-02/msg01666.html + + * lisp/emacs-lisp/byte-run.el (byte-run--set-completion): Quote with + 'function' for syntactical consistency with other declare form + properties. This allows writing (declare (completion foo)) instead + of (declare (completion 'foo)). + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): + * lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Prefer + function-put over put for function symbols. + * lisp/subr.el (ignore, undefined): Remove #'-quoting from declare + form; it is no longer needed. + +2021-02-26 Mattias EngdegÃ¥rd + + Fix pcase rx pattern bugs + + Two unrelated bugs: A missing type check caused an error in rx + patterns for non-string match targets, and rx patterns did not work at + all in pcase-let or pcase-let*. + + Second bug reported by Basil Contovounesios and Ag Ibragimov; fixes + proposed by Stefan Monnier. Discussion and explanation in thread at + https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg01924.html + + * lisp/emacs-lisp/rx.el (rx): Add (pred stringp) to avoid type errors, + and replace the `pred` clause for the actual match with something that + works with pcase-let(*) without being optimised away. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test cases. + +2021-02-26 Stefan Kangas + + * lisp/tooltip.el (tooltip): Doc fix for GTK. + +2021-02-25 Andrea Corallo + + * Fix some comp-vec logic + + * lisp/emacs-lisp/comp.el (comp-vec-length, comp-vec-append) + (comp-vec-prepend): Fix logic. + (comp-vec-aref): Fix indentation. + +2021-02-25 Andrea Corallo + + * Fix two docstrings in comp.el + + * lisp/emacs-lisp/comp.el (comp-new-frame, + comp-maybe-add-vmvar): Fix docstring. + +2021-02-25 Eli Zaretskii + + Fix documentation of a recent change + + * src/fns.c (Fyes_or_no_p): Don't use braces around one-line + block. + (syms_of_fns) : Improve the wording of the doc + string. + * etc/NEWS: Improve wording of the entry about 'use-short-answers'. + +2021-02-25 Juri Linkov + + New variable 'use-short-answers' to use 'y-or-n-p' instead of 'yes-or-no-p' + + * lisp/cus-start.el: Add use-short-answers. + + * lisp/emacs-lisp/map-ynp.el (read-answer): Handle use-short-answers. + (read-answer-short): Add use-short-answers to docstring. + + * src/fns.c (Fyes_or_no_p): Call y-or-n-p if use_short_answers is true. + (syms_of_fns): Add DEFVAR_BOOL use-short-answers (bug#46594). + +2021-02-25 Alan Third + + Fix freeze on older macOS's (bug#46687) + + * src/nsterm.m ([EmacsView windowDidChangeBackingProperties:]): + ([EmacsView viewWillDraw]): Only run this code when actually drawing + to an offscreen bitmap. + +2021-02-25 Robert Pluim + + Re-enable network-stream-tests.el :nowait t tests + + After the fix for Bug#46709, these no longer fail in the absence of a + working Internet connection + + * test/lisp/net/network-stream-tests.el (internet-is-working): Remove + defvar, it's no longer needed in this file. + + * test/lisp/net/network-stream-tests.el + (connect-to-tls-ipv4-nowait): + (connect-to-tls-ipv6-nowait): + (open-network-stream-tls-nowait): + (open-gnutls-stream-new-api-nowait): + (open-gnutls-stream-old-api-nowait): Remove check for internet-is-working. + +2021-02-25 Robert Pluim + + Don't crash if gnutls_handshake fails + + In some situations involving Internet access not being fully + functional, gnutls_handshake returns a fatal error, which we were + ignoring, causing us to call gnutls_handshake again. Now we check for + the error and return it to the caller. + + * src/gnutls.c (gnutls_try_handshake): Return immediately if + gnutls_handshake returns a fatal error (Bug#46709). + +2021-02-25 Robert Pluim + + * Specify 'ipv4 when testing ipv4 in network-stream-tests.el + + * test/lisp/net/network-stream-tests.el + (connect-to-tls-ipv4-nowait): Specify :family 'ipv4. + +2021-02-25 Stefan Kangas + + Convert epa-key-list-mode menu to easy-menu-define + + * lisp/epa.el (epa-key-list-mode-map): Move menu from here... + (epa-key-list-mode-menu): ...to here, and convert to easy-menu-define. + +2021-02-25 Stefan Monnier + + Remove last remaining external uses of `edebug-form-spec` + + * lisp/emacs-lisp/gv.el (gv-place): Use `def-edebug-elem-spec`. + + * lisp/obsolete/erc-compat.el (erc-define-minor-mode): Remove redundant + `edebug-form-spec`. + +2021-02-25 Stefan Monnier + + * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): Add case + + Add use of `macroexp-file-name` from a macro called from within + a function, which works thanks to eager-macroexpansion (so the macro + is expanded which the file is being loaded rather than only later + when the function is called). + + * test/lisp/emacs-lisp/macroexp-resources/m1.el + (macroexp--m1-tests-file-name): New function. + +2021-02-25 Stefan Monnier + + * test/lisp/emacs-lisp/macroexp-tests.el (macroexp--tests-file-name): New test + + * test/lisp/emacs-lisp/macroexp-resources/m1.el: + * test/lisp/emacs-lisp/macroexp-resources/m2.el: New files. + +2021-02-24 Lars Ingebrigtsen + + Include a "make check-maybe" in the admin/emake script + +2021-02-24 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-file-name): Work in `eval-buffer` + + Rely on `current-load-list` instead of `load-file-name`. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): + Change the var we override accordingly. + +2021-02-24 Lars Ingebrigtsen + + Improve quail-update-leim-list-file error messaging + + * lisp/international/quail.el (quail-update-leim-list-file): Give + a better error message. + +2021-02-24 Lars Ingebrigtsen + + Fix warning generated by indian.el + quail.el + + * lisp/leim/quail/indian.el (quail-define-indian-trans-package): + Reintroduce kludge to fix automatic detection by Quail. + +2021-02-24 Juri Linkov + + * lisp/tab-bar.el: Move aliases down closer to keybindings. + +2021-02-24 Juri Linkov + + * lisp/tab-bar.el (tab-switch): New defalias to 'tab-bar-switch-to-tab'. + + (tab-prefix-map): Bind "O" to 'tab-previous'. + +2021-02-24 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-file-name): New function. + + Yes, finally: a function that tells you the name of the file where + the code is located. Finding this name is non-trivial in practice, + as evidenced by the "4 shift/reduce conflicts" warning when compiling + CEDET's python.el, because its `wisent-source` got it wrong in that + case, thinking the grammar came from `python.el` instead of + `python-wy.el`. + + While at it, also made `macroexp-compiling-p` public, since it's + useful at various places. + + (macroexp-compiling-p): Rename from `macroexp--compiling-p`. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): + Bind `load-file-name` to nil so we can distinguish a load that calls + the byte compiler from a byte compilation which causes a load. + + * lisp/cedet/semantic/wisent/python.el (wisent-python--expected-conflicts): + Remove; it was just a workaround. + * lisp/subr.el (do-after-load-evaluation): Avoid `byte-compile--` vars. + * lisp/cedet/semantic/fw.el (semantic-alias-obsolete): + Use `macroexp-compiling-p` and `macroexp-file-name`. + * lisp/cedet/semantic/wisent/comp.el (wisent-source): Use `macroexp-file-name` + (wisent-total-conflicts): Tighten regexp. + * lisp/emacs-lisp/cl-lib.el (cl--compiling-file): Delete function + and variable. Use `macroexp-compiling-p` instead. + * lisp/progmodes/flymake.el (flymake-log): + * lisp/emacs-lisp/package.el (package-get-version): + * lisp/emacs-lisp/ert-x.el (ert-resource-directory): + Use `macroexp-file-name`. + +2021-02-24 Ulf Jasper + + Add options to use feed names from newticker-url-list + + * lisp/net/newst-treeview.el + (newsticker-treeview-use-feed-name-from-url-list-in-treeview): New. + (newsticker-treeview-use-feed-name-from-url-list-in-itemview): New. + (newsticker--treeview-item-show): Show feed name from + newsticker-url-list if wanted. + (newsticker--treeview-propertize-tag): Add argument 'tooltip'. + (newsticker--treeview-tree-get-tag): Usefeed name from + newsticker-url-list if wanted. (Fixes third issue in + Bug#41376.) + +2021-02-24 Lars Ingebrigtsen + + Fix wisent/python.el grammar warning + + * lisp/cedet/semantic/wisent/python.el: Fix warning about + shift/reduce conflicts in the Python grammar. + +2021-02-24 Lars Ingebrigtsen + + Fix warning generated by indian.el + quail.el + + * lisp/leim/quail/indian.el (quail-define-indian-trans-package): + Reintroduce kludge to fix automatic detection by Quail. + +2021-02-24 Lars Ingebrigtsen + + Remove the "Documentation:" line from the variable help + + * lisp/help-fns.el (describe-variable): Remove the + "Documentation:" line (bug#46702). This makes the help text more + compact and seems easier to read, too. + +2021-02-24 Lars Ingebrigtsen + + Fix Calc menu item for vector dot products + + * lisp/calc/calc-menu.el (calc-vectors-menu): Use the correct + function `calc-times' instead of the non-existent `calc-mult' + function (bug#46710). + +2021-02-24 Doug Davis + + Interactive tag byte compilation functions in emacs-lisp-mode + + * lisp/progmodes/elisp-mode.el (emacs-lisp-byte-compile) + (emacs-lisp-byte-compile-and-load): Add interactive tagging + (bug#46721). + +2021-02-24 Miha RihtarÅ¡ič (tiny change) + + Run all functions in `prefix-command-echo-keystrokes-functions' + + * lisp/simple.el (internal-echo-keystrokes-prefix): Really run all + functions in `prefix-command-echo-keystrokes-functions' (bug#46727). + +2021-02-24 Protesilaos Stavrou + + Use named faces in shortdoc + + * shortdoc.el (shortdoc-heading): Define new face for headings. + (shortdoc-display-group): Apply new heading face. + (shortdoc--display-function): Use existing face for section text. + * etc/NEWS: Document new face (bug#46748). + +2021-02-24 Utkarsh Singh (tiny change) + + Use sh-mode for PKGBUILD files + + * lisp/files.el (auto-mode-alist): Use sh-mode for PKGBUILD files + (bug#46660). + +2021-02-24 Eli Zaretskii + + Fix dangerous code in xdisp.c + + * src/xdisp.c (move_it_to, display_line): Make sure ZV_BYTE is + greater than 1 before fetching previous byte. + +2021-02-24 Eli Zaretskii + + Better support for 'truncate-line' non-nil in the mini-window + + * src/xdisp.c (resize_mini_window): Resize the mini-window + when multi-line text is displayed under truncate-lines + non-nil in the minibuffer. (Bug#46718) + +2021-02-24 Protesilaos Stavrou + + Specify the Emacs version of new vc-dir faces + + * vc-dir.el (vc-dir-header) + (vc-dir-header-value) + (vc-dir-directory) + (vc-dir-file) + (vc-dir-mark-indicator) + (vc-dir-status-warning) + (vc-dir-status-edited) + (vc-dir-status-up-to-date) + (vc-dir-status-ignored): Add version 28.1. (Bug#46745) + +2021-02-24 Andrea Corallo + + Fix async compilation and paramenter naming + + * lisp/emacs-lisp/comp.el (native--compile-async) + (native-compile-async): Fix broken parameter renaming. + +2021-02-23 Andrea Corallo + + Do not emit assumptions referencing clobbered mvars (bug#46670) + + * lisp/emacs-lisp/comp.el (comp-func): Add `vframe-size' slot. + (comp-new-frame): Add `vsize' parameter. + (comp-limplify-top-level, comp-limplify-function): Update for new + `comp-new-frame'. + (comp-maybe-add-vmvar): New function. + (comp-add-cond-cstrs): Logic update to emit assumptions not + referencing clobbered variables. + (comp-place-phis, comp-ssa, comp-ssa-rename-insn) + (comp-ssa-rename): Update rename logic to rename also negative + slots. + (comp-fwprop-insn): Update to handle `(assume mvar mvar)' form. + * test/src/comp-tests.el (46670-1): Add testcase. + * test/src/comp-test-funcs.el (comp-test-46670-1-f) + (comp-test-46670-2-f): New functions. + +2021-02-23 Andrea Corallo + + * Move ssa rename from vector to comp-vec + + * lisp/emacs-lisp/comp.el (comp-block): Updated `final-frame' slot + type. + (comp-limplify): Updated `frame' slot type. + (comp-slot-n, comp-new-frame, comp-place-phis, comp-ssa) + (comp-ssa-rename-insn, comp-ssa-rename, comp-finalize-phis): Use + `comp-vec'. + +2021-02-23 Andrea Corallo + + * Add a simple growable vector like type + + * lisp/emacs-lisp/comp.el (comp-vec): Define struct. + (comp-vec-copy, comp-vec-length, comp-vec--verify-idx) + (comp-vec-aref, comp-vec-append, comp-vec-prepend): New functions. + +2021-02-23 Juri Linkov + + Small fixes + + * lisp/emacs-lisp/seq.el (seq-contains): Move the ‘declare’ form + after the docstring. + * lisp/misc.el (copy-from-above-command): Fix whitespace regexp. + +2021-02-23 Juri Linkov + + * lisp/tab-line.el (tab-line-tab-name-format-function): New defcustom. + + (tab-line-tab-name-format-default): New function as the default value. + (tab-line-format-template): Funcall tab-line-tab-name-format-function. + This is like recently added tab-bar-tab-name-format-function. + +2021-02-23 Juri Linkov + + * lisp/tab-bar.el (tab-prefix-map): Bind "n" to 'tab-duplicate'. + + (tab-bar-separator): New function. + (tab-bar-make-keymap-1): Use it. + +2021-02-23 Ulf Jasper + + Leave other windows unchanged, use search instead of re-search + + * lisp/net/newst-backend.el (newsticker-customize-feed): Leave other + windws unchanged. Use search instead of re-search. + +2021-02-23 Ulf Jasper + + Fix invalid interactive-statement + + * lisp/net/newst-backend.el (newsticker-customize): Fix invalid + interactive-statement. + +2021-02-23 Stefan Monnier + + * test/: Use lexical-binding the few remaining files + + * test/manual/biditest.el: Use lexical-binding. + (biditest-generate-testfile): Remove unused var `levels`. + + * test/manual/image-circular-tests.el: Use lexical-binding. + + * test/manual/image-size-tests.el: Use lexical-binding. + (image-size-tests): Check `fboundp` before calling `imagemagick-types`. + + * test/manual/redisplay-testsuite.el: Use lexical-binding. + + * test/manual/cedet/cedet-utests.el: Use lexical-binding. + Use `with-current-buffer`. + (cedet-utest): Test `fboundp` i.s.o `featurep` to silence warning. + (srecode-map-save-file): Declare var. + (pulse-test): Test `fboundp` before calling `pulse-available-p`. + Declare `pulse-momentary-highlight-overlay` since it's not autoloaded. + + * test/manual/cedet/semantic-tests.el: Use lexical-binding. + Use `with-current-buffer`. + (semanticdb-ebrowse-dump): Remove unused var `ab`. + (semanticdb-test-gnu-global): Don't use obsolete "name" arg to constructor. + (cedet-utest-directory): Declare var. + +2021-02-23 Ulf Jasper + + Add command for customizing current newsticker feed + + * lisp/net/newst-backend.el (newsticker-customize-feed): New. + (newsticker--insert-bytes): Add documentation string. + (newsticker--decode-iso8601-date): Fix documentation string. + * lisp/net/newst-treeview.el (newsticker-treeview-customize-current-feed): + New. + (newsticker-treeview-mode-map): Add key for new command + 'newsticker-treeview-customize-current-feed'. (Fixes second issue in + Bug#41376.) + +2021-02-23 Robert Pluim + + * doc/misc/tramp.texi: Grammar/style fixes + + * doc/misc/tramp.texi (Overview): + (Obtaining @value{tramp}): + (Quick Start Guide): + (Configuration): + (Connection types): + (Inline methods): + (External methods): + (Password handling): + (Predefined connection information): + (Remote shell setup): + (Remote processes): + (Frequently Asked Questions): + (External packages): + (Traces and Profiles): Grammar/style fixes. + +2021-02-23 Robert Pluim + + * lisp/net/dictionary-connection.el: Grammar fixes + + * lisp/net/dictionary-connection.el: Grammar fix + (dictionary-connection-open): Use active voice. + (dictionary-connection-status): Reword and improve formatting. + +2021-02-23 Robert Pluim + + Make message-mailto work for emacsclient + + * doc/misc/message.texi (System Mailer Setup): Add index entry. + Mention option to use emacsclient. + + * etc/NEWS: Mention emacsclient option for 'mailto:' handling. + + * etc/emacs-mail.desktop: Add example using emacsclient. + + * lisp/gnus/message.el (message-mailto): Add optional url argument + so we can call it from emacsclient. + +2021-02-23 Alan Mackenzie + + CC Mode: Fix bug in "state cache" invalidation function. + + * lisp/progmodes/cc-engine.el (c-invalidate-state-cache-1): Rewrite part of + it, following the code in c-parse-state-1, to get a proper setting of + c-state-cache-good-pos. + +2021-02-23 Stefan Kangas + + Convert some more menus to easy-menu-define + + * lisp/tar-mode.el (tar-mode-map): + * lisp/textmodes/sgml-mode.el (sgml-mode-map, html-mode-map): + * lisp/wdired.el (wdired-mode-map): Move menus from here... + + * lisp/tar-mode.el (tar-mode-immediate-menu, tar-mode-mark-menu) + * lisp/textmodes/sgml-mode.el (sgml-mode-menu, html-mode-menu): + * lisp/wdired.el (wdired-mode-menu): ...to here, and convert to + easy-menu-define. + +2021-02-23 Stefan Kangas + + Improve easymenu.el Commentary section + + * lisp/emacs-lisp/easymenu.el: Improve Commentary section. + +2021-02-22 Stefan Monnier + + * lisp/progmodes/antlr-mode.el: Fix bootstrap failure + + (antlr-mode): Remove compatibility code with older CC-mode. + This somehow appears to fix the error: + + In antlr-mode: + progmodes/antlr-mode.el:2426:20: Error: `c-init-language-vars' defined + after use in (c-init-language-vars) (missing `require' of a library + file?) + progmodes/antlr-mode.el:2427:26: Warning: c-init-language-vars called + with 0 arguments, but requires 1 + + No idea what caused the error to appear after the previous patch either. + +2021-02-22 Lars Ingebrigtsen + + Do mode tagging in decipher.el + + Do mode tagging in bubbles.el + +2021-02-22 Stefan Monnier + + * lisp/obsolete: Use lexical-binding + + Use lexical-binding in all the lisp/obsolete/*.el files. + While at it, removed redundant :group arguments and used #' to quote + functions. Commented out the key bindings which the #' revealed + to lead to non-existing commands, and replaced those revealed to be obsolete. + + * lisp/obsolete/cl-compat.el: Use cl-lib. + + * lisp/obsolete/cust-print.el: Assume `defalias` exists. + (with-custom-print): Use `declare`. + + * lisp/obsolete/iswitchb.el (iswitchb-init-XEmacs-trick) + (iswitchb-xemacs-backspacekey): Remove functions. + + * lisp/obsolete/landmark.el (landmark, landmark-nslify-wts): + Prefer `apply` to `eval`. + + * lisp/obsolete/longlines.el (longlines-mode): Don't use `add-to-list` + on a hook. + + * lisp/obsolete/pgg-gpg.el (pgg-gpg-process-region): Use `clear-string`. + + * lisp/obsolete/pgg-pgp.el (pgg-pgp-encrypt-region): Remove oddly + unused var `passphrase`. + (pgg-pgp-verify-region): Declare var `jam-zcat-filename-list`. + + * lisp/obsolete/pgg-pgp5.el (pgg-pgp5-encrypt-region): Remove oddly + unused var `passphrase`. + (pgg-pgp5-verify-region): Declare var `jam-zcat-filename-list`. + + * lisp/obsolete/pgg.el: Remove some XEmacs compatibility code. + (pgg-run-at-time, pgg-cancel-timer, pgg-clear-string): Remove functions. + Use their core equivalent instead. + + * lisp/obsolete/rcompile.el (remote-compile): Remove unused vars `l`, + `l-host`, `l-user`, and `localname`. + + * lisp/obsolete/starttls.el (starttls-any-program-available): + Use `define-obsolete-function-alias`. + + * lisp/obsolete/tls.el (tls-format-message): Delete function, use + `format-message` instead. + + * lisp/obsolete/url-ns.el (url-ns-prefs): Use `with-current-buffer` + and `dlet`. + + * lisp/obsolete/vip.el (vip-escape-to-emacs): Remove unused var `key`. + (vip-command-argument, vip-read-string, ex-delete, ex-line): Remove + unused var `conditions`. + (ex-map): Use a closure instead of `eval`. + (ex-set): Make it an alias of `set-variable`. + (ex-substitute): Remove unused var `cont`. + + * lisp/obsolete/abbrevlist.el: + * lisp/obsolete/bruce.el: + * lisp/obsolete/cc-compat.el: + * lisp/obsolete/cl-compat.el: + * lisp/obsolete/cl.el: + * lisp/obsolete/complete.el: + * lisp/obsolete/crisp.el: + * lisp/obsolete/cust-print.el: + * lisp/obsolete/erc-compat.el: + * lisp/obsolete/erc-hecomplete.el: + * lisp/obsolete/eudcb-ph.el: + * lisp/obsolete/fast-lock.el: + * lisp/obsolete/gs.el: + * lisp/obsolete/gulp.el: + * lisp/obsolete/html2text.el: + * lisp/obsolete/info-edit.el: + * lisp/obsolete/iswitchb.el: + * lisp/obsolete/landmark.el: + * lisp/obsolete/lazy-lock.el: + * lisp/obsolete/longlines.el: + * lisp/obsolete/mailpost.el: + * lisp/obsolete/mantemp.el: + * lisp/obsolete/meese.el: + * lisp/obsolete/messcompat.el: + * lisp/obsolete/metamail.el: + * lisp/obsolete/mouse-sel.el: + * lisp/obsolete/nnir.el: + * lisp/obsolete/old-emacs-lock.el: + * lisp/obsolete/otodo-mode.el: + * lisp/obsolete/patcomp.el: + * lisp/obsolete/pc-mode.el: + * lisp/obsolete/pc-select.el: + * lisp/obsolete/pgg-def.el: + * lisp/obsolete/pgg-gpg.el: + * lisp/obsolete/pgg-parse.el: + * lisp/obsolete/pgg-pgp.el: + * lisp/obsolete/pgg-pgp5.el: + * lisp/obsolete/pgg.el: + * lisp/obsolete/rcompile.el: + * lisp/obsolete/s-region.el: + * lisp/obsolete/sb-image.el: + * lisp/obsolete/sregex.el: + * lisp/obsolete/starttls.el: + * lisp/obsolete/sup-mouse.el: + * lisp/obsolete/terminal.el: + * lisp/obsolete/tls.el: + * lisp/obsolete/tpu-edt.el: + * lisp/obsolete/tpu-extras.el: + * lisp/obsolete/tpu-mapper.el: + * lisp/obsolete/url-ns.el: + * lisp/obsolete/vc-arch.el: + * lisp/obsolete/vi.el: + * lisp/obsolete/vip.el: + * lisp/obsolete/ws-mode.el: + * lisp/obsolete/yow.el: Use lexical-binding. + +2021-02-22 Lars Ingebrigtsen + + Mention the problems with newlines in Dired + + * doc/emacs/dired.texi (Dired Enter): Mention newlines and what to + do about them. + + * lisp/dired.el (dired-listing-switches): Mention newlines + (bug#46705). + +2021-02-22 Lars Ingebrigtsen + + Buttonize function values in help (and add a blank line) + + * lisp/help-fns.el (describe-variable): Add a newline for better + readability (bug#46702). This also has the side effect of + buttonizing `function-references-like-this' in the "Its value is" + part. + + * lisp/help-mode.el (help-make-xrefs): Adjust comments. + +2021-02-22 Andrea Corallo + + Revert "* configure.ac: Rename configure nativecomp flags..." + + This reverts commit f6c5f0dd5c8167b6f8f724f42632a4b8808efe7a. + + Reason for this is that I overlooked few other suggestions and this + change has to be discussed before a final decision is taken. + +2021-02-22 Andrea Corallo + + * Some clean-up in comp.el + + * lisp/emacs-lisp/comp.el (comp-func): Remove 'array-h'. + (comp-spill-lap-function, comp-intern-func-in-ctxt) + (comp-spill-lap-function, comp-addr-to-bb-name): Update + accordingly. + +2021-02-22 Andrea Corallo + + * configure.ac: Rename configure nativecomp flags into --with-native-comp. + + Configure now with '--with-native-comp'! + +2021-02-22 Stefan Monnier + + * lisp/progmodes/antlr-mode.el: Remove XEmacs compatibility + + (cond-emacs-xemacs, cond-emacs-xemacs-macfn, defunx, ignore-errors-x): + Remove those functions and macros. Replace every use with the result + of their use. + (antlr-default-directory): Remove function, use the `default-directory` + variable instead. + (antlr-read-shell-command): Remove function, use + `read-shell-command` instead. + (antlr-with-displaying-help-buffer): Remove function, by inlining it at + its only call site. + (antlr-end-of-rule, antlr-beginning-of-rule, antlr-end-of-body) + (antlr-beginning-of-body): Mark them as movement commands. + +2021-02-22 Juri Linkov + + * lisp/tab-bar.el: 'C-x t N' bound to tab-new-to supports a negative argument + + * lisp/tab-bar.el (tab-bar-new-tab-to): Negative TO-INDEX counts + tabs from the end of the tab bar. + (tab-bar-new-tab): Fix docstring to add reference to + 'tab-bar-new-tab-to'. + (tab-prefix-map): Bind "N" to tab-new-to. + +2021-02-22 Juri Linkov + + * lisp/tab-bar.el: 'C-x t M' bound to tab-move-to supports a negative argument + + * lisp/tab-bar.el (tab-bar-move-tab-to): Negative TO-INDEX counts + tabs from the end of the tab bar. + (tab-bar-move-tab): Fix docstring to add reference to tab-bar-move-tab-to. + (tab-prefix-map): Bind "M" to tab-move-to. + +2021-02-22 Juri Linkov + + 'Mod-9' bound to 'tab-last' now switches to the last tab like in web browsers + + * lisp/tab-bar.el (tab-bar--define-keys): Rebind 0 from + tab-bar-switch-to-recent-tab to its alias tab-recent. + Bind 9 to tab-last. + (tab-bar-switch-to-last-tab): New command. + (tab-last): New alias to tab-bar-switch-to-last-tab. + (tab-bar-switch-to-tab, tab-bar-undo-close-tab): Fix docstrings to + avoid mentioning the term "last" for "most recently used" meaning. + +2021-02-22 Juri Linkov + + * lisp/tab-bar.el (tab-bar--undefine-keys): New function from tab-bar-mode. + +2021-02-22 Stefan Monnier + + Prefer `declare` over a `put` of `list-indent-function`. + + While at it, I enabled lexical-binding in the affected files. + + * lisp/cedet/semantic/sb.el: Enable lexical-binding. + (semantic-sb-with-tag-buffer): Use `declare`. + + * lisp/cedet/semantic/bovine/el.el: Enable lexical-binding. + (semantic-elisp-setup-form-parser): Use `declare`. + + * lisp/emacs-lisp/ert.el: + * lisp/emacs-lisp/ert-x.el: Remove redundant `put`. + + * lisp/emulation/cua-rect.el: Enable lexical-binding. + (cua--rectangle-operation, cua--rectangle-aux-replace): Use `declare`. + + * lisp/mh-e/mh-acros.el: Enable lexical-binding. + (mh-do-in-gnu-emacs, mh-do-in-xemacs, mh-funcall-if-exists, defun-mh) + (defmacro-mh, with-mh-folder-updating, mh-in-show-buffer) + (mh-do-at-event-location, mh-iterate-on-messages-in-region) + (mh-iterate-on-range): Use `declare`. + + * lisp/mh-e/mh-compat.el: Enable lexical-binding. + (mh-flet): Use `declare`. + + * lisp/mh-e/mh-e.el: Enable lexical-binding. + (defgroup-mh, defcustom-mh, defface-mh): Use `declare`. + + * lisp/net/sieve.el: Enable lexical-binding. Remove redundant :group args. + (sieve-activate, sieve-remove, sieve-edit-script): Remove unused arg + from the interactive spec. + (sieve-deactivate-all): Remove unused var `name`. + (sieve-change-region): Use `declare`. + + * lisp/obsolete/fast-lock.el: Enable lexical-binding. + Remove redundant :group args. Remove XEmacs compat code. + (save-buffer-state): Remove macro. + (fast-lock-add-properties): Use `with-silent-modifications` instead. + + * lisp/obsolete/lazy-lock.el: Enable lexical-binding. + Remove redundant :group args. + (do-while): Use `declare`. + (save-buffer-state): Remove macro. + (lazy-lock-fontify-rest-after-change, lazy-lock-defer-line-after-change) + (lazy-lock-defer-rest-after-change, lazy-lock-after-fontify-buffer) + (lazy-lock-after-unfontify-buffer, lazy-lock-fontify-region): + Use `with-silent-modifications` instead. + + * lisp/obsolete/pgg.el: Enable lexical-binding. Remove XEmacs compat code. + (pgg-save-coding-system, pgg-as-lbt, pgg-process-when-success): + Use `declare`. + (pgg-add-passphrase-to-cache): Remove unused var `new-timer`. + (pgg-decrypt-region): Remove unused var `buf`. + + * lisp/org/org-agenda.el (org-let, org-let2): Move from org-macs and + use `declare`. + + * lisp/org/org-macs.el (org-let, org-let2): Move these functions that + are inherently harmful to your karma to the only package that uses them. + (org-scroll): Use `pcase` to avoid `eval` and use more readable syntax + for those integers standing for events. + + * lisp/progmodes/antlr-mode.el: Enable lexical-binding. + (save-buffer-state-x): Use `declare` and `with-silent-modifications`. + + * lisp/international/mule-util.el (with-coding-priority): + * lisp/cedet/ede/proj-comp.el (proj-comp-insert-variable-once): + * lisp/org/org-element.el (org-element-map): + * test/lisp/emacs-lisp/bytecomp-tests.el (test-byte-comp-compile-and-load): + * test/lisp/emacs-lisp/generator-tests.el (cps-testcase): Use `declare`. + +2021-02-22 Lars Ingebrigtsen + + Fix ANSI coloring problem in large outputs in eshell + + * lisp/ansi-color.el (ansi-color-apply-on-region): Ensure that we + fontize from where we left off, and don't skip to the end of the + region (bug#46332). + +2021-02-22 Julian Scheid + + cl-extra: Fix docstring retrieval + + * lisp/emacs-lisp/cl-extra.el (cl--describe-class-slots): Fix + docstring retrieval (bug#46662). + +2021-02-22 Robert Pluim + + Skip tests that require Internet when there's no Internet + + Bug#46641 + + The network-stream-tests actually work fine when the local machine has + no IP at all, but cause a crash in the GnuTLS library when there is an + IP configured but the interface is down. + + * test/lisp/net/network-stream-tests.el (internet-is-working): New + defvar, checks if we can resolve "google.com". + (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait) + (open-network-stream-tls-nowait, open-gnutls-stream-new-api-nowait) + (open-gnutls-stream-old-api-nowait): Use it to check for working + Internet access. + + * test/src/process-tests.el (internet-is-working): New defvar, checks + if we can resolve "google.com". + (lookup-family-specification, lookup-unicode-domains) + (unibyte-domain-name, lookup-google, non-existent-lookup-failure): Use + it to check for working Internet access. + +2021-02-22 Robert Pluim + + Fix hang when running dns-query with no working internet + + * lisp/net/dns.el (dns-set-servers): reduce the timeout and retry + count when using 'nslookup' for "localhost". + (dns-query): Check to see if we actually managed to initiate a dns + request before starting a busy-wait for the result. + +2021-02-22 Lars Ingebrigtsen + + Simplify comint-watch-for-password-prompt + + * lisp/comint.el (comint-watch-for-password-prompt): Simplify by + using `string-trim'. + +2021-02-22 Lars Ingebrigtsen + + Fix prompt for the `M-S-x' command + + * lisp/simple.el (read-extended-command): Further kludge the + hard-coded "M-x" prompt for the new `M-S-x' command. + +2021-02-22 Andrea Corallo + + * Don't use paths to indicate filenames + + * lisp/emacs-lisp/comp.el (native--compile-async) + (native-compile-async): Replace `paths' argname with `files'. + +2021-02-22 Andrea Corallo + + * Fix union constraint for mixed pos/neg constraints + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix neg + type shadowing pos values. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add testcase. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Fix testcase. + +2021-02-22 Stefan Kangas + + Prefer mailing lists to newsgroups in FAQ + + * doc/misc/efaq.texi (Real meaning of copyleft) + (Guidelines for mailing list postings, Mailing list archives) + (Packages that do not come with Emacs): Prefer mailing lists to + newsgroups. (Bug#46633) + +2021-02-22 Stefan Kangas + + Improve wrong number of args error message in propertize + + * src/editfns.c (Fpropertize): Improve error message. + (syms_of_editfns) : New DEFSYM. + * test/src/editfns-tests.el + (propertize/error-wrong-number-of-args): New test. + +2021-02-22 Mattias EngdegÃ¥rd + + Fix compilation of closures with nontrivial doc strings + + * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): + Use the supplied doc string if it's a literal; fall back to the old + slow way of building a closure otherwise. + +2021-02-22 Lars Ingebrigtsen + + Fix up previous conf-mode.el and nroff-mode.el change slightly + + * lisp/textmodes/conf-mode.el (conf-mode-map): Remove variable now + unused. + + * lisp/textmodes/nroff-mode.el (nroff-mode-map): Remove variable + now unused. + +2021-02-22 Glenn Morris + + * test/misc/test-custom-libs.el (test-custom-libs): Skip on hydra. + + * test/misc/test-custom-noloads.el (custom-test-load): Unstable. + +2021-02-22 Stefan Kangas + + Convert some textmodes menus to easy-menu-define + + * lisp/textmodes/artist.el (artist-menu-map): Convert menu definition + to easy-menu-define. + + * lisp/textmodes/conf-mode.el (conf-mode-map): + * lisp/textmodes/nroff-mode.el (nroff-mode-map): Move menu + definition from here... + * lisp/textmodes/conf-mode.el (conf-mode-menu): + * lisp/textmodes/nroff-mode.el (nroff-mode-menu): ...to here, and + convert to use easy-menu-define. + +2021-02-21 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-spill-lap): Fix doc string. + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-02-21 Mattias EngdegÃ¥rd + + Faster, more compact, and readable closure creation + + Simplify closure creation by calling a single function at run time + instead of putting it together from small pieces. This is faster + (by about a factor 2), takes less space on disk and in memory, and + makes internal functions somewhat readable in disassembly listings again. + + This is done by creating a prototype function at compile-time whose + closure variables are placeholder values V0, V1... which can be seen + in the disassembly. The prototype is then cloned at run time using + the new make-closure function that replaces the placeholders with + the actual closure variables. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-make-closure): + Generate call to make-closure from a prototype function. + * src/alloc.c (Fmake_closure): New function. + (syms_of_alloc): Defsubr it. + * src/data.c (syms_of_data): Defsym byte-code-function-p. + +2021-02-21 Stefan Kangas + + Run admin/cus-tests.el tests from test suite + + * test/Makefile.in (SUBDIRS): Run tests in new directory "misc", + intended for tests not belonging to any one file. + * test/misc/test-custom-deps.el: + * test/misc/test-custom-libs.el: + * test/misc/test-custom-noloads.el: + * test/misc/test-custom-opts.el: New files. + * test/lisp/custom-tests.el (custom--test-local-option): Move test to + above new file test-custom-opts.el. + + * admin/cus-test.el: Document running tests from regular test suite. + * test/file-organization.org (Test Files): Document new test directory + "misc" for tests not belonging to any one file. + +2021-02-21 Stefan Kangas + + Fix interactive mode tagging for man and woman + + * lisp/man.el (man-common): New mode inheriting special-mode. + (Man-mode): + * lisp/woman.el (woman-mode): Inherit from man-common. + + * lisp/man.el (man-follow, Man-update-manpage) + (Man-fontify-manpage, Man-cleanup-manpage, Man-next-section) + (Man-previous-section, Man-goto-section) + (Man-goto-see-also-section, Man-follow-manual-reference) + (Man-kill, Man-goto-page, Man-next-manpage) + (Man-previous-manpage): Change interactive mode tag to man-common. + + This was discussed in: + https://lists.gnu.org/r/emacs-devel/2021-02/msg01619.html + +2021-02-21 Lars Ingebrigtsen + + Declare that `ignore' and `undefined' shouldn't be completed over + + * lisp/subr.el (ignore, undefined): Declare that these shouldn't + be completed over. + +2021-02-21 Lars Ingebrigtsen + + Use `undefined' instead of `ignore' in wdired + + * lisp/wdired.el (wdired-mode-map): Use `undefined' here instead + of `ignore' to give the user more feedback. + +2021-02-21 Basil L. Contovounesios + + Fix json.el encoding of confusable object keys + + * lisp/json.el (json-encode-string): Clarify commentary. + (json--encode-stringlike): New function that covers a subset of + json-encode. + (json-encode-key): Use it for more efficient encoding and + validation, and to avoid mishandling confusable keys like boolean + symbols (bug#42545). + (json-encode-array): Make it clearer that argument can be a list. + (json-encode): Reuse json-encode-keyword and json--encode-stringlike + for a subset of the dispatch logic. + (json-pretty-print): Ensure confusable keys like ":a" survive a + decoding/encoding roundtrip (bug#24252, bug#45032). + + * test/lisp/json-tests.el (test-json-encode-string) + (test-json-encode-hash-table, test-json-encode-alist) + (test-json-encode-plist, test-json-pretty-print-object): Test + encoding of confusable keys. + +2021-02-21 Stefan Kangas + + Make unused variable menu-bar-handwrite-map obsolete + + * lisp/play/handwrite.el (menu-bar-handwrite-map): Make unused + variable obsolete. + +2021-02-21 Stefan Kangas + + Convert bubbles menu to easy-menu-define + + * lisp/play/bubbles.el (bubbles-game-theme-menu) + (bubbles-graphics-theme-menu, bubbles-menu, bubbles-mode-map): + Move menu definition from here... + (bubbles-menu): ...to here, and convert to easy-menu-define. + +2021-02-21 Stefan Kangas + + * etc/NEWS.19: Add entry for 'easy-menu-define'. + +2021-02-21 Stefan Kangas + + Convert some progmodes menus to easy-menu-define + + * lisp/progmodes/asm-mode.el (asm-mode-map): + * lisp/progmodes/grep.el (grep-mode-map): + * lisp/progmodes/m4-mode.el (m4-mode-map): + * lisp/progmodes/sh-script.el (sh-mode-map): Move menu definition from here... + * lisp/progmodes/asm-mode.el (asm-mode-menu): + * lisp/progmodes/grep.el (grep-menu-map): + * lisp/progmodes/m4-mode.el (m4-mode-menu): + * lisp/progmodes/sh-script.el (sh-mode-menu): ...to here, and rewrite + using easy-menu-define. + +2021-02-21 Michael Albinus + + Clarification of password handling in Tramp manual + + * doc/misc/tramp.texi (Password handling): Describe, how to + suppress `auth-sources' for Tramp. + (Remote shell setup, Remote processes) + (Cleanup remote connections, Frequently Asked Questions): + Handle reference to Emacs manual. + +2021-02-20 Alan Third + + Fix memory leak + + * src/nsterm.m ([EmacsSurface dealloc]): Release will remove all + objects and free the memory. + +2021-02-20 Stefan Kangas + + Convert makefile-mode menu to easy-menu-define + + * lisp/progmodes/make-mode.el (makefile-mode-map): Move menu + definition from here... + (makefile-mode-menu): ...to here, and rewrite using easy-menu-define. + +2021-02-20 F. Jason Park + + Mute noisy test fixture for socks.el + + * test/lisp/net/socks-tests.el: + (socks-tests-perform-hello-world-http-request): Bind + 'inhibit-message' non-nil when in batch mode. + (Bug#46342) + +2021-02-20 Lars Ingebrigtsen + + Change command-completion-using-modes-p to defun + + * lisp/simple.el (command-completion-using-modes-p): Change into a + defun for now because of a build problem. + +2021-02-20 Lars Ingebrigtsen + + Mention `M-S-x' in the Emacs manual. + + * doc/emacs/m-x.texi (M-x): Mention `M-S-x' in the Emacs manual. + +2021-02-20 Stefan Kangas + + * lisp/help.el (help-for-help-internal): Doc fix; use imperative. + +2021-02-20 Lars Ingebrigtsen + + Add a new command for mode-specific commands + + * doc/lispref/commands.texi (Interactive Call): Document it. + * lisp/simple.el (command-completion-using-modes-p): Refactored + out into its own function for reuse... + (command-completion-default-include-p): ... from here. + (execute-extended-command-for-buffer): New command and keystroke + (`M-S-x'). + +2021-02-20 Lars Ingebrigtsen + + Change how (declare (modes store the data + + * lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Change from + being a predicate to storing the modes. This allows using the + modes for positive command discovery, too. + * src/data.c (Fcommand_modes): Look at the `command-modes' symbol + property, too. + +2021-02-20 Lars Ingebrigtsen + + Add the `always' function + + * doc/lispref/functions.texi (Calling Functions): Document it. + * lisp/subr.el (always): New function. + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark it as + side effect free. + +2021-02-20 F. Jason Park + + Use raw bytes for SOCKS 4 IP addresses + + * lisp/net/socks.el: (socks--open-network-stream, socks-send-command): + * test/lisp/net/socks-tests.el: (socks-tests-v4-basic): (Bug#46342). + +2021-02-20 F. Jason Park + + Add more auth-related tests for socks.el + + * test/lisp/net/socks-tests.el (auth-registration-and-suite-offer) + (filter-response-parsing-v4, filter-response-parsing-v5): Assert + auth-method selection wrangling and socks-filter parsing. + (v5-auth-user-pass, v5-auth-user-pass-blank, v5-auth-none): Show prep + and execution of the SOCKS connect command and proxying of an HTTP + request; simplify fake server. (Bug#46342) + +2021-02-20 Stefan Kangas + + Convert re-builder menu to easy-menu-define + + * lisp/emacs-lisp/re-builder.el (reb-mode-map): Move menu + definition from here... + (reb-mode-menu): ...to here, and rewrite using easy-menu-define. + +2021-02-20 Stefan Kangas + + Convert finder menu to easy-menu-define + + * lisp/finder.el (finder-mode-map): Move menu definition from + here... + (finder-mode-menu): ...to here, and rewrite using + easy-menu-define. + +2021-02-20 Stefan Kangas + + Add toolbar for help-mode + + * lisp/help-mode.el (help-mode): Add toolbar. + (help-mode-tool-bar-map): New variable. + (help-mode-menu): Disable forward/backward items when stack is empty. + + (help-bookmark-make-record, help-bookmark-jump): Minor doc fixes. + +2021-02-20 Stefan Kangas + + * lisp/woman.el: Doc fix; remove redundant setup info. + +2021-02-19 Thomas Fitzsimmons + + * lisp/url/url-http.el (url-http): Fix docstring typo. + +2021-02-19 Thomas Fitzsimmons + + ntlm-tests: Remove missing dependency warnings + + * test/lisp/net/ntlm-tests.el: Remove warnings about dependencies + not being present. + +2021-02-19 Thomas Fitzsimmons + Michael Albinus + + ntlm-tests: Skip tests if dependencies are too old + + * test/lisp/net/ntlm-tests.el (ntlm-tests--dependencies-present): + Add version and functionality checks. + +2021-02-19 Andrea Corallo + + * Work around bug#46495 (GCC PR99126) + + * src/comp.c (gcc_jit_context_add_command_line_option): Import for + dynamic load. + (Fcomp__compile_ctxt_to_file): Disable GCC "isolate-paths" on GCC + 10. + +2021-02-19 Andrea Corallo + + * Remove unnecessary function 'emit_rvalue_from_unsigned_long_long' + + * src/comp.c (emit_rvalue_from_unsigned_long_long): Remove + function. + (emit_rvalue_from_emacs_uint, emit_rvalue_from_lisp_word_tag) + (emit_rvalue_from_lisp_word): Make use of + 'emit_rvalue_from_long_long'. + +2021-02-19 Andrea Corallo + + * Pacify GCC warning on non wide-int configurations + + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_lisp_word_tag): Pacify GCC warning. + (emit_rvalue_from_unsigned_long_long): Define it only when + necessary. + +2021-02-19 Alan Third + + Fix frame contents scaling bug on macOS (bug#46155) + + Discussion in bug#46406. + + * src/nsterm.m ([EmacsView focusOnDrawingBuffer:]): Set the scale + factor for the backing layer. + +2021-02-19 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Don't warn for repeated _ args + + (byte-compile-check-lambda-list): Skip warnings of repeated arg for + those that are declared as unused anyway. + +2021-02-19 Stefan Monnier + + * test/lisp/emacs-lisp/edebug-tests.el: Adjust to new `edebug-eval-defun`. + + (edebug-tests-trivial-backquote): Adjust to the way `eval-defun` + outputs its result. + (edebug-tests-cl-macrolet): Adjust to the fact that now macro expansion + takes place during the `eval-defun` even when Edebugging. + +2021-02-19 Glenn Morris + + Merge from origin/emacs-27 + + 8e8b46ef81 (origin/emacs-27) More accurate documentation of the "r" i... + dcb2015a5b Mention the GNU Kind Communications Guidelines in the FAQ + 9882e63eea ; * CONTRIBUTE: Another wording change regarding tiny chan... + 850f18ef23 Allow newlines in password prompts again in comint + c977370dd7 Avoid point movement when visiting image files + da64a257a4 ; * CONTRIBUTE: Yet another clarification of significant c... + d03f2a6ee9 Avoid assertion violation in callproc.c + dcc00bbb19 ; * CONTRIBUTE: Clarify the "15-lines" rule a bit more. + +2021-02-19 Glenn Morris + + Merge from origin/emacs-27 + + 4712c75ab8 Clarify when activate-mark-hook is run + abedf3a865 Fix language-environment and font selection on MS-Windows + 8b8708eadd Fix example in Sequence Functions node in the manual + +2021-02-19 Ulf Jasper + + Enable newsticker--group-shift-feed-(up|down) to move groups as well + + Fix broken newsticker--group-shift-group-(up-down). + + * lisp/net/newst-treeview.el (newsticker-treeview-jump): Change prompt + string. + (newsticker--group-shift): Move the group when a group is currently + selected. Fix error when explicitly shifting a group. (Fixes first + issue in Bug#41376.) + +2021-02-19 Eli Zaretskii + + More accurate documentation of the "r" interactive spec + + * doc/lispref/commands.texi (Interactive Codes): Describe the + effect of 'mark-even-if-inactive'. + +2021-02-19 Mattias EngdegÃ¥rd + + Fix regexp mistakes + + * lisp/progmodes/cperl-mode.el (cperl--package-regexp): + Avoid double repetition; cperl--ws-or-comment-regexp is already + repeated with 1+. + * test/lisp/textmodes/dns-mode-tests.el + (dns-mode-tests-dns-mode-soa-increment-serial): Escape literal '$'. + * test/lisp/emacs-lisp/rx-tests.el (rx-regexp): Modify test to not + trigger a linting warning while retaining its testing power. + +2021-02-19 Stefan Kangas + + Mention the GNU Kind Communications Guidelines in the FAQ + + * doc/misc/efaq.texi (Guidelines for newsgroup postings): Mention + the GNU Kind Communications Guidelines. + +2021-02-19 Stefan Kangas + + * lisp/calculator.el: Minor doc fix. Remove redundant :group args. + +2021-02-19 Michael Albinus + + Fix Tramp bug#46625 + + * test/lisp/net/tramp-tests.el (tramp-test33-environment-variables): + Adapt test. (Bug#46625) + +2021-02-19 Stefan Kangas + + Do interactive mode tagging for snake.el + + Do interactive mode tagging for tetris.el + + Do interactive mode tagging for man.el + + Do interactive mode tagging for package.el + +2021-02-19 Thomas Fitzsimmons + + Implement NTLM server for ntlm.el testing + + * test/Makefile.in + (GNU_ELPA_DIRECTORY, elpa_dependencies, elpa_els, elpa_opts): New + variables. + (EMACSOPT, ert_opts): Add elpa_opts. + * test/README: Document GNU_ELPA_DIRECTORY make variable. + * test/lisp/net/ntlm-tests.el: Fix checkdoc-reported issues. + (ntlm-tests-message, ntlm-server-build-type-2, ntlm-server-hash) + (ntlm-server-check-authorization, ntlm-server-do-token) + (ntlm-server-filter, ntlm-server-handler, ntlm-server-start) + (ntlm-server-stop, ntlm-tests--url-retrieve-internal-around) + (ntlm-tests--authenticate) + (ntlm-tests--start-server-authenticate-stop-server): New + functions. + (ntlm-tests--username-oem, ntlm-tests--username-unicode) + (ntlm-tests--client-supports-unicode, ntlm-tests--challenge) + (ntlm-tests--result-buffer, ntlm-tests--successful-result): New + variables. + (ntlm-authentication) + (ntlm-authentication-old-compatibility-level): New tests. + * test/lisp/net/ntlm-resources/authinfo: New file. (Bug#43566) + +2021-02-18 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Use emacs_fopen + ENCODE_FILE. + + * src/emacs.c (syms_of_emacs): Add a FIXME for Windows native-comp. + +2021-02-18 Andrea Corallo + + * Add a bunch of assertions for fixnums coming from Lisp later used as int + + * src/comp.c (emit_limple_insn, declare_lex_function) + (compile_function, Fcomp__compile_ctxt_to_file): Add some + assertion. + +2021-02-18 Andrea Corallo + + * Add assertion guarding against emitting a relocation array overflow + + * src/comp.c (reloc_array_t): New type. + (comp_t, imm_reloc_t): Make use of 'reloc_array_t'. + (obj_to_reloc): Add an assertion not to overflow relocation + arrays. + (emit_lisp_obj_reloc_lval, emit_limple_insn) + (declare_imported_data_relocs): Make use of 'reloc_array_t'. + +2021-02-18 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Tweak example in comment + + Suggested by Kim Storm . + +2021-02-18 Mattias EngdegÃ¥rd + + Fix typos + + * doc/lispref/display.texi (Size of Displayed Text): + * doc/lispref/windows.texi (Buffer Display Action Functions): + * etc/NEWS: + * etc/ORG-NEWS (Org-Attach has been refactored and extended): + * lisp/battery.el (display-battery-mode, battery--upower-subsribe): + * lisp/calendar/parse-time.el: + * lisp/dired-x.el: + * lisp/emacs-lisp/chart.el (chart-sequece, chart-bar-quickie): + * lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p) + (eldoc-documentation-strategy): + * lisp/emacs-lisp/pcase.el (pcase--split-pred, pcase--u1): + * lisp/gnus/gnus-search.el (gnus-search-expandable-keys) + (gnus-search-parse-query, gnus-search-query-return-string) + (gnus-search-imap, gnus-search-imap-search-command) + (gnus-search-transform-expression): + * lisp/gnus/nnselect.el: + * lisp/isearch.el (isearch-lazy-count-format): + * lisp/mh-e/mh-show.el (mh-show-msg): + * lisp/net/dictionary-connection.el (dictionary-connection-open): + * lisp/net/dictionary.el (dictionary-default-popup-strategy) + (dictionary, dictionary-split-string, dictionary-do-select-dictionary) + (dictionary-display-dictionarys, dictionary-search) + (dictionary-tooltip-mode): + * lisp/net/eudcb-macos-contacts.el (eudc-macos-contacts-set-server): + * lisp/net/mailcap.el (mailcap-mime-data): + * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): + * lisp/nxml/nxml-mode.el (nxml-mode): + * lisp/progmodes/cc-engine.el: + * lisp/progmodes/cperl-mode.el (cperl-mode) + (cperl-fontify-syntaxically): + * lisp/progmodes/flymake.el (flymake-diagnostic-functions): + * lisp/progmodes/verilog-mode.el (verilog--supressed-warnings) + (verilog-preprocess): + * lisp/simple.el (self-insert-uses-region-functions): + * lisp/textmodes/bibtex.el (bibtex-copy-summary-as-kill): + * lisp/textmodes/texnfo-upd.el (texinfo-insert-master-menu-list): + * src/dispnew.c: + * src/font.c (Ffont_get): + * src/indent.c (compute_motion): + * src/process.c (init_process_emacs): + * src/w32fns.c (deliver_wm_chars): + * test/lisp/jsonrpc-tests.el (deferred-action-complex-tests): + Fix typos in documentation, comments, and internal identifiers. + +2021-02-18 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (eval-defun): Simplify + + (edebug-all-defs, edebug-all-forms): Don't autoload since the problem + it was working around has been fixed a while back. + (edebug--eval-defun): Rename from `edebug-eval-defun` and simplify by + making it an `:around` advice. + (edebug-install-read-eval-functions) + (edebug-uninstall-read-eval-functions): Adjust accordingly. + (edebug-eval-defun): Redefine as an obsolete wrapper. + + * lisp/progmodes/elisp-mode.el (elisp--eval-defun): + Use `load-read-function` so it obeys `edebug-all-(defs|forms)`. + (elisp--eval-defun): Fix recent regression introduced with + `elisp--eval-defun-result`. + +2021-02-18 Lars Ingebrigtsen + + Revert "Do interactive mode tagging for python.el navigation functions." + + This reverts commit 546f552e7b2439b482c7d28222fb88761a9c876a. + + This is a "core package", so can't use the new syntax. + +2021-02-18 Ryan Prior (tiny change) + + Allow newlines in password prompts again in comint + + * lisp/comint.el (comint-password-prompt-regexp): Match all + whitespace (including newline) at the end of the passphrase, not + just space and \t (bug#46609). + (comint-watch-for-password-prompt): Remove trailing newlines from + the prompt (bug#46609). + +2021-02-18 Doug Davis (tiny change) + + Do interactive mode tagging for python.el navigation functions. + + * lisp/progmodes/python.el (navigation functions): Add python-mode to + `interactive' declarations for mode-specific commands (bug#46610). + +2021-02-18 Mattias EngdegÃ¥rd + + Fix rx `regexp` form with deprecated syntax + + The argument of the rx `regexp` form is assumed to evaluate to a valid + regexp, but certain kinds of deprecated but still accepted usage were + not handled correctly, such as unescaped literal (special) characters: + (rx "a" (regexp "*")) => "a*" which is wrong. + Handle these cases; there is no extra trouble. + + * lisp/emacs-lisp/rx.el (rx--translate-regexp): Force bracketing + of single special characters. + * test/lisp/emacs-lisp/rx-tests.el (rx-regexp): Add test case. + +2021-02-18 Dmitry Gutov + + Move 'project-try-ede' to the back of 'project-find-functions' + + * lisp/cedet/ede.el (project-find-functions): + Move 'project-try-ede' further back, so that 'project-try-vc' has + priority (bug46202). + +2021-02-18 Dmitry Gutov + + Present C source files as absolute file names too when possible + + * lisp/progmodes/elisp-mode.el (xref-location-group): + Present C source files as absolute file names too when possible + (bug#46514). + +2021-02-17 Basil L. Contovounesios + + Fix recent Command Modes changes in Elisp manual + + * doc/lispref/commands.texi (Command Modes): Fix typos and grammar. + Cross-reference the 'declare' form node. + +2021-02-17 Matt Armstrong + + doc/lispref/commands.texi (Command Modes): Fix typo. + + * doc/lispref/commands.texi (Command Modes): Fix typo. + +2021-02-17 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-02-17 Alan Mackenzie + + Make goto-line-history buffer local only when so customized + + * lisp/simple.el (goto-line-history-local): New customizable option. + (goto-line-history): Define this simply with defvar, not defvar-local. + (goto-line-read-args): Handle goto-line-history-local, and changes to it. + + * doc/emacs/basic.texi (Moving Point): Add a paragraph about + goto-line-history-local. + + * etc/NEWS: Add an item under "Editing Changes in Emacs 28.1". + +2021-02-17 Andrea Corallo + + Fix inverted logic in constraint comparison (bug#46540) + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr->, comp-cstr->=) + (comp-cstr-<, comp-cstr-<=): Fix inverted logic. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add + three integer constrain tests. + +2021-02-17 Lars Ingebrigtsen + + Adjust the edebug spec for `interactive' + + * lisp/emacs-lisp/edebug.el: Adjust the edebug spec for + `interactive' for the new syntax. + +2021-02-17 Lars Ingebrigtsen + + Make unused `Buffer-menu-sort' alias obsolete + + * lisp/buff-menu.el (Buffer-menu-sort): Make unused alias obsolete. + * test/lisp/progmodes/elisp-mode-tests.el + (find-defs-defalias-defun-el): Adjust test to use an alias that's + not obsolete. + +2021-02-17 Lars Ingebrigtsen + + Mark up commands in buff-menu.el for modes + +2021-02-17 Lars Ingebrigtsen + + Explicate on how to tag commands with modes + + * doc/lispref/commands.texi (Command Modes): New node. + (Using Interactive): Move the `modes' text to the new node. + +2021-02-17 Andrea Corallo + + * src/comp.c (Fcomp__compile_ctxt_to_file): Clean-up unused variable. + +2021-02-17 Juri Linkov + + New transient mode 'repeat-mode' to allow shorter key sequences (bug#46515) + + * doc/emacs/basic.texi (Repeating): Document repeat-mode. + + * lisp/repeat.el (repeat-exit-key): New defcustom. + (repeat-mode): New global minor mode. + (repeat-post-hook): New function. + + * lisp/bindings.el (undo-repeat-map): New variable. + (undo): Put 'repeat-map' property with + 'undo-repeat-map'. + (next-error-repeat-map): New variable. + (next-error, previous-error): Put 'repeat-map' property with + 'next-error-repeat-map'. + + * lisp/window.el (other-window-repeat-map): New variable. + (other-window): Put 'repeat-map' property with + 'other-window-repeat-map'. + (resize-window-repeat-map): New variable. + (enlarge-window, enlarge-window-horizontally) + (shrink-window-horizontally, shrink-window): Put 'repeat-map' + property with 'resize-window-repeat-map'. + +2021-02-17 Juri Linkov + + New command 'tab-duplicate' like in web browsers + +2021-02-17 Michael Albinus + + Further Tramp code cleanup + + * doc/misc/tramp.texi (Predefined connection information): + Mention "about-args". + + * lisp/net/tramp-cmds.el (tramp-version): Adapt docstring. + + * lisp/net/tramp.el (tramp-handle-expand-file-name): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name): + * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name) + * lisp/net/tramp-smb.el (tramp-smb-handle-expand-file-name): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-expand-file-name): + Handle local "/..". + + * lisp/net/tramp-rclone.el (tramp-methods) : + Adapt `tramp-mount-args'. + (tramp-rclone-flush-directory-cache): Remove. + (tramp-rclone-do-copy-or-rename-file) + (tramp-rclone-handle-delete-directory) + (tramp-rclone-handle-delete-file) + (tramp-rclone-handle-make-directory): Don't use that function. + (tramp-rclone-maybe-open-connection): Fix use of `tramp-mount-args'. + + * lisp/net/trampver.el (tramp-inside-emacs): New defun. + * lisp/net/tramp.el (tramp-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process) + (tramp-sh-handle-process-file, tramp-open-shell): Use it. + (tramp-get-env-with-u-option): Remove. + + * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-top): + New test. + +2021-02-17 Eli Zaretskii + + Disable filtering of commands in M-x completion + + This makes the default behavior like it was before: + M-x completion doesn't filter out any commands. To + have commands filtered based on their relevance to the + current buffer's modes, customize the option + 'read-extended-command-predicate' to call + 'command-completion-default-include-p'. + * doc/lispref/commands.texi (Interactive Call): + * doc/emacs/m-x.texi (M-x): Update the description of + 'read-extended-command-predicate' and improve wording. + + * etc/NEWS: Update the entry about + 'read-extended-command-predicate'. + + * lisp/simple.el (read-extended-command-predicate): Change default + value to nil. Update doc string. Add :group. + (read-extended-command): Handle nil as meaning to apply + no-filtering. + +2021-02-17 Lars Ingebrigtsen + + Fix recently introduced bug in `byte-compile-lambda' + + * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Fix recently + introduced error when compiling non-lexical commands (bug#46589). + +2021-02-17 Lars Ingebrigtsen + + Clarify 'read-extended-command-predicate' in NEWS + +2021-02-17 Lars Ingebrigtsen + + Change name for the completion-* predicates + + * lisp/simple.el (command-completion-default-include-p) + (command-completion-with-modes-p, command-completion-button-p): + Rename from completion-*. + (read-extended-command-predicate): Adjust default predicate. + + * lisp/emacs-lisp/byte-run.el (byte-run--set-modes): Adjust + predicate name. + +2021-02-17 Glenn Morris + + * configure.ac: Replace obsolete AC_CHECK_HEADER usage. (Bug#46578) + + * configure.ac: Replace obsolete AC_TRY_LINK with AC_LINK_IFELSE. + +2021-02-17 Glenn Morris + + Remove TIME_WITH_SYS_TIME, unused for a long time + + * configure.ac (AC_HEADER_TIME): Remove. (Bug#46578) + +2021-02-17 Harald Jörg + + cperl-mode: Improve detection of index entries for imenu + + * lisp/progmodes/cperl-mode.el + (cperl-imenu-addback): Customization variable deleted. This + variable has been declared obsolete in 1998. + (cperl--basic-identifier-regexp) and many other variables: + defining regular expressions for basic Perl constructs. + (cperl-imenu--create-perl-index): This function has been + completely rewritten, keeping only some parts of the output + formatting. It now recognizes a lot more package and + subroutine declarations which came since Perl 5.14: Packages + with a version and/or a block attached, lexical subroutines, + declarations with a newline between the keyword "package" and + the package name, and several more. This version also + correctly separates subroutine names from attributes, does no + longer support "unnamed" packages (which don't exist in Perl), + and doesn't fall for false positives like stuff that looks + like a declaration in a multiline string. + (cperl-tags-hier-init): Eliminate call to + `cperl-imenu-addback` (which actually was commented out in + 1997) + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test--validate-regexp) and six other new tests for the + new regular expressions and the index creation. + + * test/lisp/progmodes/cperl-mode-resources/grammar.pl: New + file showcasing different syntax variations for package and + sub declarations (bug#46574). + +2021-02-17 Lars Ingebrigtsen + + Don't move point in `exif-parse-buffer' + + * lisp/image/exif.el (exif-parse-buffer): Don't move point + (bug#46552). + +2021-02-16 Lars Ingebrigtsen + + Fix edebug spec for minibuffer-with-setup-hook + + * lisp/files.el (minibuffer-with-setup-hook): Instrument the + :append form for edebug (bug#46531). + +2021-02-16 Lars Ingebrigtsen + + Clarify Gnus Agent expiry quirks + + * doc/misc/gnus.texi (Agent Expiry): Mention that the last article + won't be expired (bug#46533). + +2021-02-16 Andrea Corallo + + * Clean-up some signal related dead-code + + * src/comp.c (restore_sigmask): Remove function. + (Fcomp__compile_ctxt_to_file): Remove some dead-code. + +2021-02-16 Andrea Corallo + + * src/comp.c (check_comp_unit_relocs): Prefer ptrdiff_t to EMACS_INT. + +2021-02-16 Andrea Corallo + + * Better long range check + + * src/comp.c (emit_rvalue_from_emacs_uint) + (emit_rvalue_from_emacs_int, emit_rvalue_from_lisp_word_tag) + (emit_rvalue_from_lisp_word): Better long range check. + +2021-02-16 Andrea Corallo + + * Sanitize frame slot access in final + + * src/comp.c (comp_t): Add 'frame_size' field. + (emit_mvar_lval): Add sanity check on frame element access. + (compile_function): Initialize 'comp.frame_size' and + 'comp.frame_size'. + +2021-02-16 Glenn Morris + + thumbs.el: avoid creating thumbs directory on loading library + + * lisp/thumbs.el (thumbs-cleanup-thumbsdir): + Don't create the thumbs directory if it does not exist. + +2021-02-16 Glenn Morris + + * admin/cus-test.el (cus-test-load-libs): Quieten loading. + + * admin/cus-test.el (cus-test-get-lisp-files): Ignore loaddefs files. + +2021-02-16 Bastian Beranek + + * lisp/tab-bar.el: Fix behavior of toggle-frame-tab-bar (bug #46299) + + (toggle-frame-tab-bar): Add frame parameter to protect tab bar state. + (tab-bar--update-tab-bar-lines): Check parameter. + +2021-02-16 Basil L. Contovounesios + + Pacify unused function warning in xfns.c with GTK2 + + * src/xfns.c (x_get_net_workarea, x_get_monitor_for_frame) + (x_make_monitor_attribute_list, x_get_monitor_attributes_fallback): + [HAVE_XINERAMA] (x_get_monitor_attributes_xinerama) + [HAVE_XRANDR] (x_get_monitor_attributes_xrandr) + (x_get_monitor_attributes): Fix #ifdefs around definitions to avoid + unused function warnings regardless of GTK use (bug#46509). + [HAVE_XRANDR] (x_get_monitor_attributes_xrandr): Undefine + RANDR13_LIBRARY after it's been used. + +2021-02-16 Lars Ingebrigtsen + + Revert "Fix problem of point movement in image-mode" + + This reverts commit 7c7377288a125ef47f2b422cf131f044a3b418e1. + + This is fixed differently in Emacs 27. + +2021-02-16 Lars Ingebrigtsen + + Fix problem of point movement in image-mode + + * lisp/image-mode.el (image-mode): Switch disable-point-adjustment + on, otherwise `C-c C-c' will move point around oddly. + (image-toggle-display): Ensure that point is on the image (bug#46552). + +2021-02-16 Eli Zaretskii + + Avoid point movement when visiting image files + + * lisp/image-mode.el (image-toggle-display-image): Preserve point + around the call to exif-parse-buffer, to prevent it from moving + into the image data. (Bug#46552) + +2021-02-16 Lars Ingebrigtsen + + Do interactive mode tagging for info.el + +2021-02-16 Lars Ingebrigtsen + + Don't resize images in image-mode if we have a rotation + + * lisp/image-mode.el (image-fit-to-window): Don't resize of we + have a manually rotated imaged (and explain the resizing logic a + bit). + +2021-02-16 Konstantin Kharlamov + + make smerge-vc-next-conflict wrap around + + * lisp/vc/smerge-mode.el: + (smerge-vc-next-conflict): While searching for conflict markers, + wrap search around if current file is the last one with conflicts + (bug#46538). + +2021-02-16 Stefan Kangas + + Do `interactive' mode tagging in gomoku.el + + * lisp/play/gomoku.el: Do `interactive' mode tagging. + +2021-02-16 Stefan Kangas + + * lisp/play/gomoku.el: Minor doc fixes; formatting. + +2021-02-16 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Add 64bit int support + + (bindat--unpack-u64, bindat--unpack-u64r, bindat--pack-u64) + (bindat--pack-u64r): New functions. + (bindat--unpack-item, bindat--pack-item): Use them. + (bindat--fixed-length-alist): Add new types. + +2021-02-16 Stefan Kangas + + Fix admin/check-doc-strings for new DEFUN format + + * admin/check-doc-strings: Various fixes, including for the new DEFUN + format. The script still produces a ton of false positives, however. + +2021-02-16 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Clarify when field labels are optional + + The fixes the doc and the Edebug spec, as well as a subtle issue in + the code where a field whose name is (eval 'fill) was mistakenly + considered as an anonymous field of type `fill`. + + (bindat--unpack-item, bindat--unpack-group, bindat--length-group) + (bindat--pack-item, bindat--pack-group): Use dotimes, dolist, and pcase. + (bindat--item-aux): New edebug elem. + (bindat-item): Use it to fix the handling of optional fields. + (bindat-format-vector): Use `mapconcat`. + +2021-02-16 Stefan Monnier + + * lisp/emacs-lisp/bindat.el (bindat-spec): New macro. + + It's basically an alias for `quote`, but it offers the advantage of + providing Edebug support and opens the possibility of compiling + the bindat spec to ELisp code. + + * doc/lispref/processes.texi (Bindat Spec): Document `bindat-spec`. + (Bindat Functions): Tweak a few things to adjust to the state of the code. + + * test/lisp/emacs-lisp/bindat-tests.el: Use it. + + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests--read): New function. + (edebug-tests--&rest-behavior): New test. + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Warn on empty let bodies + +2021-02-15 Ulf Jasper + + Display yearly ical events from first year on. Fix Bug#23100. + + Convert yearly rrule starting in year x into diary-anniversary entry + for year x-1 when importing an icalendar. Correspondingly convert + diary-anniversary for year x into yearly rrule starting in year x+1. + + * + test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-american: + * + test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-european: + * + test/lisp/calendar/icalendar-resources/import-rrule-anniversary.diary-iso: + * + test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-american: + * + test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-european: + * + test/lisp/calendar/icalendar-resources/import-rrule-yearly.diary-iso: + * + test/lisp/calendar/icalendar-tests.el (icalendar-convert-anniversary-to-ical): + Match new diary-anniversary/yearly-rrule behaviour. + + * lisp/calendar/icalendar.el (icalendar--datestring-to-isodate): Add + year-shift option. (icalendar--convert-anniversary-to-ical): Shift + the year as diary-anniversary is not displayed in the initial year. + (icalendar--convert-recurring-to-diary): Shift the year as + diary-anniversary is not displayed in the initial year. (Bug#23100) + +2021-02-15 Stefan Monnier + + * lisp/calc/calc-sel.el (calc-replace-sub-formula): Fix typo + + Reported by Sébastien Miquel + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/bindat.el: Expose the `struct` variable (bug#46534) + + (bindat--unpack-group, bindat--length-group, bindat--pack-group): + Mark it as dynamically scoped. + +2021-02-15 Lars Ingebrigtsen + + Allow overriding declared predicates, too + + * lisp/simple.el (completion-default-include-p): Rename and move + the checking for an explicit predicate down here... + (read-extended-command): ... from here. + (read-extended-command-predicate): Adjust default value. + +2021-02-15 Lars Ingebrigtsen + + Do `interactive' mode tagging in the remaining lisp/gnus files + +2021-02-15 Lars Ingebrigtsen + + Add a new variable `global-minor-modes' + + * doc/lispref/modes.texi (Minor Modes): Document it. + * lisp/simple.el (global-minor-modes): New variable. + (completion-in-mode-p): Use it. + (completion-with-modes-p): Use it. + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Support it. + +2021-02-15 Lars Ingebrigtsen + + Rename minor-modes to local-minor-modes + + * doc/lispref/modes.texi (Minor Modes): Update documentation. + * lisp/simple.el (completion-with-modes-p): Change usage. + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Change usage. + + * src/buffer.c: Rename from minor_modes to local_minor_modes + throughout. + (syms_of_buffer): Rename minor-modes to local-minor-modes. + + * src/buffer.h (struct buffer): Rename minor_modes_. + + * src/pdumper.c (dump_buffer): Update hash and usage. + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug-&optional, edebug-&rest): Remove vars + + According to my tests, `edebug-&optional` never has any effect. + And `edebug-&rest` can be replaced with a closure. + + (edebug-&rest-wrapper): Remove function. + (edebug--match-&-spec-op): Use a closure to remember the `specs`. + +2021-02-15 Stefan Monnier + + * lisp/emacs-lisp/byte-run.el (compiler-macro): Make it Edebuggable + + * lisp/emacs-lisp/gv.el (gc-expander, gv-setter): Reuse the spec of + `compiler-macro`. + +2021-02-15 Lars Ingebrigtsen + + Make the button completion predicate be more useful + + * lisp/simple.el (completion-button-p): Rework from + `completion-at-point-p'. + + * lisp/net/shr.el (shr-show-alt-text): It should be possible to + complete to commands that aren't bound to a key. + +2021-02-15 Lars Ingebrigtsen + + Speed up completion-in-mode-p in the common case + + * lisp/simple.el (completion-in-mode-p): Make predicate more + efficient in the common one-mode case. + +2021-02-15 Lars Ingebrigtsen + + Fix two syntax errors in Specification List + + * doc/lispref/edebug.texi (Specification List): Add a couple of + missing @s. + +2021-02-15 Stefan Monnier + + * Edebug: Generalize `&lookup`, use it for `cl-macrolet` and `cl-generic` + + This allows the use of (declare (debug ...)) in the lexical macros + defined with `cl-macrolet`. It also fixes the names used by Edebug + for the methods of `cl-generic` so it doesn't need to use gensym + and so they don't include the formal arg names any more. + + * lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): + Rename from `edebug--handle-&-spec-op`. + (edebug--match-&-spec-op <&interpose>): Rename from `&lookup` and + generalize so it can let-bind dynamic variables around the rest of the parse. + (edebug-lexical-macro-ctx): Rename from `edebug--cl-macrolet-defs` and + make it into an alist. + (edebug-list-form-args): Use the specs from `edebug-lexical-macro-ctx` + when available. + (edebug--current-cl-macrolet-defs): Delete var. + (edebug-match-cl-macrolet-expr, edebug-match-cl-macrolet-name) + (edebug-match-cl-macrolet-body): Delete functions. + (def-declarations): Use new `&interpose`. + (edebug--match-declare-arg): Rename from `edebug--get-declare-spec` and + adjust to new calling convention. + + * lisp/subr.el (def-edebug-elem-spec): Fix docstring. + (eval-after-load): Use `declare`. + + * lisp/emacs-lisp/cl-generic.el: Fix Edebug names so we don't need + gensym any more and we only include the specializers but not the formal + arg names. + (cl--generic-edebug-name): New var. + (cl--generic-edebug-remember-name, cl--generic-edebug-make-name): New funs. + (cl-defgeneric, cl-defmethod): Use them. + + * lisp/emacs-lisp/cl-macs.el: Add support for `debug` declarations in + `cl-macrolet`. + (cl-declarations-or-string): + Fix use of `lambda-doc` and allow use of `declare`. + (edebug-lexical-macro-ctx): Declare var. + (cl--edebug-macrolet-interposer): New function. + (cl-macrolet): Use it to pass the right `lexical-macro-ctx` to the body. + + * lisp/emacs-lisp/pcase.el (pcase-PAT): Use new `&interpose`. + (pcase--edebug-match-pat-args): Rename from `pcase--get-edebug-spec` and + adjust to new calling convention. + + * test/lisp/emacs-lisp/cl-generic-tests.el (cl-defgeneric/edebug/method): + Adjust to the new names. + + * test/lisp/emacs-lisp/edebug-tests.el (edebug-cl-defmethod-qualifier) + (edebug-tests-cl-flet): Adjust to the new names. + + * doc/lispref/edebug.texi (Specification List): Document &interpose. + +2021-02-15 Stefan Kangas + + Avoid asking repeatedly about reloading bookmarks file + + * lisp/bookmark.el (bookmark-maybe-load-default-file): Reload watched + bookmarks file only if its mtime has changed since the last query. + This avoids asking repeatedly about reloading the bookmarks file if + the user has already said "no" to a previous query. + (bookmark--watch-file-already-queried-p): New function. + (bookmark--watch-already-asked-mtime): New variable. + +2021-02-14 Stefan Kangas + + Mark up bookmark.el for correct modes + + * lisp/bookmark.el: Mark up all commands with applicable modes. + +2021-02-14 Lars Ingebrigtsen + + Add a comment to `read-extended-command' + + * lisp/simple.el (read-extended-command): Add a comment. + +2021-02-14 Andrea Corallo + + * lisp/startup.el (normal-top-level): Use `path-separator' in place of ":". + +2021-02-14 Eli Zaretskii + + * src/xdisp.c (move_it_to): Fix last change. (Bug#46316) + +2021-02-14 Lars Ingebrigtsen + + Add a possible completion predicate for buttons + + * lisp/simple.el (completion-at-point-p): New predicate. + + * lisp/net/shr.el (shr-show-alt-text): Mark up as a button. + +2021-02-14 Lars Ingebrigtsen + + Make completion-with-modes-p work with minor modes, too + + * lisp/simple.el (completion-with-modes-p): Work with minor modes, + too. + +2021-02-14 Andrea Corallo + + Revert "* src/comp.c (define_jmp_buf): Use 'jmp_buf' instead of 'sys_jmp_buf'." + + This reverts commit bebec46bcbf0e52460b08234c067d7a2cb0f2246. + + Looking at the git history I realize now the use of 'sys_jmp_buf' was + intentional. + +2021-02-14 Andrea Corallo + + * src/comp.c (define_jmp_buf): Use 'jmp_buf' instead of 'sys_jmp_buf'. + + * src/comp.c (load_comp_unit): Fix 'data_ephemeral_vec' shadowing decl. + +2021-02-14 Bastian Beranek + + Fix showing and hiding of tab-bar on new frames (bug#46299) + + * lisp/tab-bar.el (tab-bar--update-tab-bar-lines) + (tab-bar--tab-bar-lines-for-frame): + New functions to update value of tab-bar-lines in frames. + (tab-bar-mode, tab-bar-new-tab-to, tab-bar-close-tab) + (tab-bar-close-other-tab, tab-bar-show :set): + Use new function. + (tab-bar-select-tab-modifiers :set): + Work around visual glitch. + +2021-02-14 Lars Ingebrigtsen + + Do command markup in blackbox.el + +2021-02-14 Lars Ingebrigtsen + + Fix byte-run--set-modes call signature + + * lisp/emacs-lisp/byte-run.el (byte-run--set-modes): We take a + list of modes, not a single one (and fix the quoting). + +2021-02-14 Lars Ingebrigtsen + + Fix missing ' in NEWS + +2021-02-14 Lars Ingebrigtsen + + Also mention `M-o M-o' removal + + * lisp/loadup.el (facemenu-keymap-restore): Also restore `M-o M-o'. + +2021-02-14 Lars Ingebrigtsen + + Don't update `minor-modes' in global modes + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): There's no + point in setting the buffer-local `minor-modes' in global modes. + +2021-02-14 Lars Ingebrigtsen + + Mark up 5x5 for interactive mode + +2021-02-14 Lars Ingebrigtsen + + Fix problem with the newly introduces `minor-modes' variable + + * lisp/help-fns.el (describe-mode): Apparently buffer-local + variables take precedence over lexically bound variables? + +2021-02-14 Lars Ingebrigtsen + + Do `interactive' mode markup in all Gnus files + +2021-02-14 Lars Ingebrigtsen + + Really fix the syntax problem in define-minor-mode + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix + interactive extension in previous change. + +2021-02-14 Lars Ingebrigtsen + + Fix previous define-minor-mode change + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix + interactive extension in previous change. + +2021-02-14 Lars Ingebrigtsen + + Mark up eww.el for correct modes + + * lisp/net/eww.el: Mark up all commands with applicable modes. + +2021-02-14 Lars Ingebrigtsen + + Make `C-h m' list unbound commands applicable for the mode + + * lisp/help-fns.el (help-fns--list-local-commands): New function. + (describe-mode): Use it. + +2021-02-14 Lars Ingebrigtsen + + Allow define-minor-mode to take an :interactive keyword + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Allow + specifying the :interactive state and the modes. + +2021-02-14 Lars Ingebrigtsen + + Fix dumping of buffers after minor_modes was added + + * src/pdumper.c (dump_buffer): Set minor_modes to nil before dumping. + +2021-02-14 Lars Ingebrigtsen + + Revert the bit about command_modes in previous patch set + + * src/data.c (Fcommand_modes): Remove the subr bit -- it's not + necessary since it can just use a predicate. + * src/lisp.h (GCALIGNED_STRUCT): Remove command_modes. + + * src/lread.c (defsubr): Remove command_modes. + +2021-02-14 Lars Ingebrigtsen + + Add 'read-extended-command-predicate' + + * doc/emacs/m-x.texi (M-x): Document it. + * doc/lispref/commands.texi (Interactive Call): Document it further. + + * lisp/simple.el (read-extended-command-predicate): New user option. + (read-extended-command-predicate): Use it. + (completion-in-mode-p): New function (the default predicate). + +2021-02-14 Lars Ingebrigtsen + + Mark easy-menu-do-define menus as "not interesting" + + * lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Mark menu + keymaps as "not interesting" when doing completion. + +2021-02-14 Lars Ingebrigtsen + + Add new 'declare' forms for command completion predicates + + * doc/lispref/functions.texi (Declare Form): Document the new + `completion' and `modes' declarations. + * lisp/simple.el (completion-with-modes-p): New helper functions. + + * lisp/emacs-lisp/byte-run.el (byte-run--set-completion) + (byte-run--set-modes): + (defun-declarations-alist): New declarations for `completion' and + `modes'. + +2021-02-14 Lars Ingebrigtsen + + Extend the syntax of `interactive' to list applicable modes + + * doc/lispref/commands.texi (Using Interactive): Document the + extended `interactive' form. + * doc/lispref/loading.texi (Autoload): Document list-of-modes + form. + + * lisp/emacs-lisp/autoload.el (make-autoload): Pick the list of + modes from `interactive' out of the functions. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-lambda): Allow for the + extended `interactive' form. + + * src/callint.c (Finteractive): Document the extended form. + + * src/data.c (Finteractive_form): Return the interactive form in + the old format (even when there's an extended `interactive') to + avoid having other parts of Emacs be aware of this. + (Fcommand_modes): New defun. + + * src/emacs-module.c (GCALIGNED_STRUCT): Allow for modules to + return command modes. + + * src/lisp.h: New function module_function_command_modes. + +2021-02-14 Lars Ingebrigtsen + + Fix how `shell-mode' avoids being called interactively + + * lisp/shell.el (shell-mode): Make noninteractive instead of + erroring out after being called. + +2021-02-14 Lars Ingebrigtsen + + Introduce an :interactive keyword for `defined-derived-mode' + + * doc/lispref/modes.texi (Derived Modes): Document it. + * lisp/emacs-lisp/derived.el (define-derived-mode): Introduce a + new :interactive keyword. + +2021-02-14 Stefan Kangas + + Remove redundant :group args from textmodes/*.el + + * lisp/textmodes/enriched.el: + * lisp/textmodes/ispell.el: + * lisp/textmodes/makeinfo.el: + * lisp/textmodes/paragraphs.el: + * lisp/textmodes/picture.el: + * lisp/textmodes/refbib.el: + * lisp/textmodes/refer.el: + * lisp/textmodes/remember.el: + * lisp/textmodes/texinfo.el: + * lisp/textmodes/tildify.el: + * lisp/textmodes/two-column.el: Remove redundant :group args. + +2021-02-14 Lars Ingebrigtsen + + Add a new buffer-local variable `minor-modes' + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Keep + `minor-modes' updated. + * src/buffer.c (bset_minor_modes, Fmake_indirect_buffer) + (reset_buffer, init_buffer_once): Initialise `minor-modes'. + (syms_of_buffer): Add `minor-modes' as a new permanently-local + variable. + + * src/buffer.h (struct buffer): Add minor_modes_. + +2021-02-14 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper): Reinstate. + + Removed by accident. + +2021-02-14 Stefan Monnier + + * lisp/emacs-lisp/edebug.el: Fix `called-interactively-p` + + And get rid of the old special-case handling of `interactive-p`, which + is now redundant. + + (edebug--called-interactively-skip): Fix lexical-binding case, + and adjust to some formerly missed call patterns. + (edebug-def-interactive, edebug-interactive-p): Remove vars. + (edebug-interactive-p-name, edebug-wrap-def-body) + (edebug-make-enter-wrapper): Remove functions. + (edebug-list-form): Don't special-case `interactive-p`. + +2021-02-13 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug-match-lambda-expr): Delete function + + (lambda-expr): Define with `def-edebug-elem-spec` instead. + (edebug--handle-&-spec-op): Remove left over code. + (interactive): Re-add mistakenly removed spec elem. + + * doc/lispref/edebug.texi (Specification List): Remove `function-form`. + +2021-02-13 Alan Third + + Fix flicker when resizing NS frame programmatically (bug#46155) + + + * src/nsterm.m ([EmacsView viewWillDraw]): New function. + ([EmacsView viewDidResize:]): We now have to mark the frame for + display on resize. + ([EmacsView initFrameFromEmacs:]): Retain frame contents on resize. + ([EmacsView updateLayer]): Don't update the layer if the frame is + still garbaged. + +2021-02-13 Alan Third + + Remove aliasing on SVG images under scaled NS frames + + * src/image.c (FRAME_SCALE_FACTOR): New #define for getting frame + scale factor. + (image_set_transform): + (svg_load_image): Use FRAME_SCALE_FACTOR. + * src/nsterm.m (ns_frame_scale_factor): Get the scale factor for an NS + frame. + +2021-02-13 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op <&name>): New method + + (edebug--concat-name): New function. + (edebug-match-name, edebug-match-cl-generic-method-qualifier) + (edebug-match-cl-generic-method-args): Delete functions. + + * doc/lispref/edebug.texi (Specification List): Document it. + + * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Use `&name`. + (cl-generic--method-qualifier-p): New predicate. + (cl-defmethod): Use it and `&name`. + * lisp/emacs-lisp/cl-macs.el (cl-defun, cl-iter-defun, cl-flet): + * lisp/emacs-lisp/eieio-compat.el (defmethod): + * lisp/emacs-lisp/gv.el (gv-define-setter): + * lisp/emacs-lisp/ert.el (ert-deftest): Use `&name`. + * lisp/erc/erc-backend.el (define-erc-response-handler): Use `declare` + and `&name`. + +2021-02-13 Philipp Stephani + + * etc/NEWS: Document new JSON behavior. + +2021-02-13 Augusto Stoffel (tiny change) + + Small correction to `isearch-lazy-highlight-buffer-update' + + The value of point is now read after a potential change of buffer. + * lisp/isearch.el (isearch-lazy-highlight-buffer-update): Move call + to `point' after `select-window'. + +2021-02-13 Stefan Monnier + + (backtrace-goto-source-functions): Make it a normal abnormal hook + + * lisp/emacs-lisp/backtrace.el (backtrace-goto-source-functions): + Don't mark it as buffer-local any more. + (backtrace-goto-source): Use `run-hook-with-args-until-success`. + + * lisp/emacs-lisp/edebug.el (edebug-pop-to-backtrace): Clarify that the + hook is only intended to be modified buffer-locally. + +2021-02-13 Eli Zaretskii + + Fix I-search at EOB when long lines are truncated + + * src/xdisp.c (move_it_to): Fix logic when TO_CHARPOS is at the + end of an hscrolled line which ends at EOB. (Bug#46316) + +2021-02-13 Philipp Stephani + + Pass 'struct json_configuration' as const where possible. + + The JSON serialization and parsing functions don't need to modify + these structures. + + * src/json.c (lisp_to_json_nonscalar_1, lisp_to_json_nonscalar) + (lisp_to_json, json_to_lisp): Mark configuration object parameter as + const. + +2021-02-13 Philipp Stephani + + Allow any JSON value at the top level (Bug#42994). + + Newer standards like RFC 8259, which obsoletes the earlier RFC 4627, + now allow any top-level value unconditionally, so Emacs should too. + + * src/json.c (Fjson_serialize, Fjson_insert): Pass JSON_ENCODE_ANY to + allow serialization of any JSON value. Call 'lisp_to_json' instead of + 'lisp_to_json_toplevel'. Remove obsolete comments + (neither JSON_DECODE_ANY nor JSON_ALLOW_NUL are allowed here). Reword + documentation strings. + (Fjson_parse_string, Fjson_parse_buffer): Pass JSON_DECODE_ANY to + allow deserialization of any JSON value. Reword documentation + strings. + (lisp_to_json_nonscalar, lisp_to_json_nonscalar_1): Rename from + "toplevel" to avoid confusion. + (lisp_to_json): Adapt caller. + * test/src/json-tests.el (json-serialize/roundtrip-scalars): New unit + test. + * doc/lispref/text.texi (Parsing JSON): Update documentation. + +2021-02-13 Basil L. Contovounesios + + Remove stale comments from gnus-msg.el + + * lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news) + (gnus-summary-mail-other-window, gnus-summary-news-other-window): + Remove stale comments about let-binding gnus-newsgroup-name, as they + should have been addressed (bug#37871#38). + +2021-02-13 Eli Zaretskii + + Fix vertical cursor motion among many images + + * src/xdisp.c (move_it_in_display_line_to): Consider it + MOVE_POS_MATCH_OR_ZV if we are just after an image, stretch, or + display string, and the position matches exactly. This is needed + when one image follows another at TO_CHARPOS. (Bug#46464) + +2021-02-13 Lars Ingebrigtsen + + add-minor-mode doc string clarification + + * lisp/subr.el (add-minor-mode): Clarify that this function isn't + only about XEmacs compat stuff. + +2021-02-13 Stefan Kangas + + Delete 20 year old comment in executable.el + + * lisp/progmodes/executable.el (executable-insert): Delete 20 year old + comment. + +2021-02-13 Stefan Kangas + + Remove redundant :group args in progmodes/*.el + + * lisp/progmodes/bug-reference.el: + * lisp/progmodes/cfengine.el: + * lisp/progmodes/cmacexp.el: + * lisp/progmodes/cpp.el: + * lisp/progmodes/cwarn.el: + * lisp/progmodes/dcl-mode.el: + * lisp/progmodes/executable.el: + * lisp/progmodes/flymake.el: + * lisp/progmodes/gud.el: + * lisp/progmodes/hideshow.el: + * lisp/progmodes/icon.el: + * lisp/progmodes/inf-lisp.el: + * lisp/progmodes/js.el: + * lisp/progmodes/ld-script.el: + * lisp/progmodes/make-mode.el: + * lisp/progmodes/modula2.el: + * lisp/progmodes/pascal.el: + * lisp/progmodes/perl-mode.el: + * lisp/progmodes/prog-mode.el: + * lisp/progmodes/simula.el: + * lisp/progmodes/xscheme.el: Remove redundant :group args. + +2021-02-13 Stefan Monnier + + Edebug: Make it possible to debug `gv-expander`s in `declare` + + Arrange for declarations to be able to specify their own specs via + the `edebug-declaration-spec` property. + + * lisp/emacs-lisp/edebug.el: (edebug--get-declare-spec): New function. + (def-declarations): New spec element. + (defun, defmacro): Use it in their spec. + + * lisp/emacs-lisp/gv.el (gv-expander, gv-setter): + Set `edebug-declaration-spec`. + + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-gv-expander): New test. + + * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el + (edebug-test-code-use-gv-expander): New test case. + +2021-02-13 Stefan Kangas + + Comment out mysterious code from cperl-mode.el + + * lisp/progmodes/cperl-mode.el: Comment out mysterious code referring + to some unknown variable 'edit-var-mode-alist'. No one seems to know + what it is used for, so comment it out and see if anyone complains + before Emacs 28.1 or 28.2. + +2021-02-13 Stefan Kangas + + Remove outdated documentation from cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-tips, cperl-problems) + (cperl-praise, cperl-speed, cperl-mode): Doc fixes; remove references + to very old versions of Emacs and other "Emaxen". + (cperl-problems-old-emaxen): Make obsolete and remove information on + Emacs 20.3 and older. + +2021-02-13 Stefan Monnier + + Edebug: Overload `edebug-form-spec` even less + + The `edebug-form-spec` symbol property was used both to map forms's + head symbol to the corresponding spec, and to map spec element names + to their expansion. + + This lead to name conflicts which break instrumentation of examples such as + + (cl-flet ((gate (x) x)) (gate 4)) + + because of the Edebug spec element `gate`. + So introduce a new symbol property `edebug-elem-spec`. + + * lisp/subr.el (def-edebug-elem-spec): New function. + + * lisp/emacs-lisp/edebug.el (edebug--get-elem-spec): New function. + (edebug-match-symbol): Use it. + (Core Edebug elems): Put them on `edebug-elem-spec` instead of + `edebug-form-spec`. + (ELisp special forms): Set their `edebug-form-spec` via dolist. + (Other non-core Edebug elems): Use `def-edebug-elem-spec`. + (edebug-\`): Use `declare`. + + * lisp/emacs-lisp/pcase.el (pcase-PAT, pcase-FUN, pcase-QPAT): + * lisp/skeleton.el (skeleton-edebug-spec): + * lisp/emacs-lisp/cl-macs.el: Use `def-edebug-elem-spec`. + + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests--conflicting-internal-names): New test. + * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el + (edebug-test-code-cl-flet1): New test case. + + * doc/lispref/edebug.texi (Specification List): Add `def-edebug-elem-spec`. + (Specification Examples): Use it. + + * doc/lispref/loading.texi (Hooks for Loading): Avoid the use of + `def-edebug-spec` in example (better use `debug` declaration). + +2021-02-13 Stefan Kangas + + Remove XEmacs and Emacs 21 compat code from cperl-mode + + * lisp/progmodes/cperl-mode.el (cperl-mode): Remove XEmacs and + Emacs 21 compat code. + (cperl-compilation-error-regexp-list): New variable. + (cperl-compilation-error-regexp-alist): Make obsolete. + +2021-02-12 Basil L. Contovounesios + + Fix ElDoc setup for eval-expression + + * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Don't set + global value of eldoc-documentation-strategy (bug#44886). + +2021-02-12 Stefan Monnier + + Use `declare` instead of `def-edebug-spec` in most places + + * lisp/speedbar.el: Use lexical-binding. + (speedbar-with-writable): Use `declare`. + + * lisp/subr.el (def-edebug-spec): Use `declare`. + + * lisp/cedet/ede/base.el: Use lexical-binding. + (ede-with-projectfile): Use `declare`. + (recentf-exclude): Declare var. + + * lisp/cedet/ede/pmake.el: Use lexical-binding. + (ede-pmake-insert-variable-shared, ede-pmake-insert-variable-once): + Use `declare`. + + * lisp/cedet/ede/proj-comp.el: Use lexical-binding. + (ede-compiler-begin-unique, ede-compiler-only-once) + (ede-linker-begin-unique, ede-linker-only-once): Use `declare`. + + * lisp/cedet/semantic/ctxt.el: Use lexical-binding. + (semantic-with-buffer-narrowed-to-context) + (semantic-with-buffer-narrowed-to-command): Use `declare`. + (semantic--progress-reporter): Declare var. + (semantic-ctxt-end-of-symbol-default): Remove unused var `fieldsep`. + + * lisp/cedet/semantic/lex-spp.el: Use lexical-binding. + (define-lex-spp-macro-declaration-analyzer) + (define-lex-spp-include-analyzer, semantic-lex-with-macro-used) + (define-lex-spp-macro-undeclaration-analyzer): Use `declare`. + (semantic-lex-spp-symbol-remove): Rename arg to avoid colliding with + dynamic variable `obarray`. + (semantic-lex-spp-symbol-pop): Remove unused var `oldvalue`. + (semantic-lex-spp-lex-text-string): Remove unused var `analyzer`. + + * lisp/cedet/semantic/lex.el (define-lex) + (semantic-lex-unterminated-syntax-protection, define-lex-analyzer) + (define-lex-regex-analyzer, define-lex-block-analyzer) + (semantic-lex-catch-errors): Use `declare`. + + * lisp/cedet/semantic/tag.el: Use lexical-binding. + (semantic-with-buffer-narrowed-to-current-tag) + (semantic-with-buffer-narrowed-to-tag): Use `declare`. + + * lisp/cedet/semantic/wisent.el: Use lexical-binding. + (define-wisent-lexer): Use `declare`. + + * lisp/emacs-lisp/cl-lib.el (cl-pushnew): The arg to :test can be any + form not just function form. + + * lisp/org/ob-comint.el (org-babel-comint-in-buffer) + (org-babel-comint-with-output): Use `declare`. + + * lisp/org/ob-core.el (org-babel-map-src-blocks): Use `declare`. + (org-babel-result-cond): Simplify edebug spec. + + * lisp/org/org-clock.el (org-with-clock-position, org-with-clock): + * lisp/org/org-agenda.el (org-agenda-with-point-at-orig-entry): + * lisp/org/ob-tangle.el (org-babel-with-temp-filebuffer): Use `declare`. + + * lisp/textmodes/rst.el (push): Remove redundant edebug spec. + + * lisp/vc/pcvs-parse.el: Use lexical-binding. + (cvs-parse-buffer): Rename arg to avoid dynbound conflict. + (cvs-or): Use `declare`. + +2021-02-12 Mattias EngdegÃ¥rd + + Simplify expression in byte-code decompiler + + * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): + Replace roundabout expression with what it essentially does. + +2021-02-12 Mattias EngdegÃ¥rd + + byte-opt.el: More concise expression + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): + Refactor `setq` clause. + +2021-02-12 Mattias EngdegÃ¥rd + + Avoid traversing dead `if` branches in bytecode optimiser + + There is no point in traversing conditional branches that are + statically known never to be executed. This saves some optimisation + effort, but more importantly prevents variable assignments and + references in those branches from blocking effective constant + propagation. + + Also attempt to traverse as much as possible in an unconditional + context, which enables constant-propagation through (linear) + assignments. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form): + Rewrite the (tail) recursion into an explicit loop. Normalise a + return value of (quote nil) to nil, for easier subsequent + optimisations. + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Don't + traverse dead `if` branches. Use unconditional traversion context + when possible. + +2021-02-12 Mattias EngdegÃ¥rd + + Don't inline tramp-debug-message + + * lisp/net/tramp.el (tramp-debug-message): Change defsubst into defun. + Until now the byte-compiler hasn't been clever enough to inline this + function but this is about to change; the code expansion is + unnecessary and makes compiler improvements more difficult to gauge. + +2021-02-12 Stefan Kangas + + Use regexp-opt for font lock defaults in meta-mode.el + + * lisp/progmodes/meta-mode.el: Remove redundant :group args. + + (meta-font-lock-keywords): Use regexp-opt. + +2021-02-12 Stefan Kangas + + Minor cleanups in scheme.el + + * lisp/progmodes/scheme.el: Remove redundant :group args. + (dsssl-font-lock-keywords): Use regexp-opt. + +2021-02-12 Stefan Kangas + + Add font locking for many missing macros in m4-mode + + * lisp/progmodes/m4-mode.el (m4--macro-list): New variable. + (m4-font-lock-keywords): Use regexp-opt and add many missing macros + sourced from the M4 manual. + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/edebug.el (edebug--handle-&-spec-op) <&lookup>: New method + + * doc/lispref/edebug.texi (Specification List): Document it. + + * lisp/emacs-lisp/pcase.el (pcase-PAT): Use it. + (pcase-MACRO): Remove Edebug element. + (pcase--get-edebug-spec): New function. + (pcase--edebug-match-macro): Remove function. + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (cl-flet): Fix edebug spec + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/edebug.el: Misc cleanups. + + Move all definitions under the `edebug-` prefix. + + (edebug-get-spec): Rename from `get-edebug-spec`. + (edebug-move-cursor): Use `cl-callf`. + (edebug-spec-p): Remove unused function. + (def-edebug-spec, edebug-spec-list, edebug-spec): Remove unused specs + (nothing in there gets instrumented anyway). + (edebug-tracing): Use `declare`. + (edebug-cancel-on-entry): Rename from `cancel-edebug-on-entry`. + (edebug-global-prefix): Rename from `global-edebug-prefix`. + (edebug-global-map): Rename from `global-edebug-map`. + + * lisp/emacs-lisp/pcase.el (pcase-PAT): Remove `let`. + (let): Use `declare` instead. + (pcase--edebug-match-macro): Use new name `edebug-get-spec`. + +2021-02-12 Robert Pluim + + Remove Motif support + + * configure.ac: Remove support for configuring --with-x-toolkit=motif + + * etc/NEWS: Mention removal of Motif support. + +2021-02-12 Lars Ingebrigtsen + + Allow minor modes to specify major modes they're useful in + +2021-02-12 Stefan Monnier + + * lisp/emacs-lisp/gv.el (gv-place): Simplify + +2021-02-12 Stefan Monnier + + * lisp/cedet/semantic/symref/: Use lexical-binding + + * lisp/cedet/semantic/symref/cscope.el: + * lisp/cedet/semantic/symref/filter.el: + * lisp/cedet/semantic/symref/global.el: + * lisp/cedet/semantic/symref/grep.el: + * lisp/cedet/semantic/symref/idutils.el: + * lisp/cedet/semantic/symref/list.el: Use lexical-binding. + +2021-02-12 Stefan Monnier + + * lisp/cedet/semantic/decorate/: Use lexical-binding in all files + + * lisp/cedet/semantic/decorate/include.el + (semantic-decoration-fileless-include-describe): Remove unused var `mm`. + * lisp/cedet/semantic/decorate/mode.el: Use lexical-binding. + +2021-02-11 Alan Mackenzie + + Make recursive minibuffers and recursive edits work together + + * lisp/minibuffer.el (exit-minibuffer): When in a minibuffer, throw an error + should the command loop nesting level be wrong. + + * src/lisp.h (minibuffer_quit_level): declare as an extern. + (command_loop_level): Move definition from src/window.h + + * src/window.h (command_loop_level): move definition to src/lisp.h. + + * src/eval.c (minibuffer_quit_level): Move this variable to file level from + being a static inside internal_catch. + (internal_catch): Simplify the logic. + + * src/minibuf.c (Vcommand_loop_level_list): New variable. + (move_minibuffer_onto_frame): Set the major mode of *Minibuf-0*. + (Fminibuffer_innermost_command_loop_p): New primitive. + (Fabort_minibuffers): Check the command loop level before throwing t to 'exit, + and set minibuffer_quit_level too. + (read_minibuf): New variable calling_window. + Before stacking up minibuffers on the current mini-window, check that the + mini-window is not the current one. + Do not call choose_minibuf_frame from read_minibuf's unwinding process. + Bind calling_frame and calling_window over the recursive edit. + Set the new minibuffer's major mode directly. + Remove the switching away from the minibuffer after the recursive edit. + (get_minibuffer): Record the command loop level in new variable + Vcommand_loop_level_list. No longer set the major mode of a returned + minibuffer. + (minibuf_c_loop_level): New function. + (read_minibuf_unwind): New variables calling_frame, calling_window are unbound + from the binding stack. Remove old variable `window', which could not be set + reliably to the expired mini-window. + The expired minibuffer is determined as the nth in the list, rather than the + contents of the current or previous mini-window. + Switch the current window away from the mini-window here (moved from + read_minibuf). + +2021-02-11 Stefan Kangas + + Use lexical-binding in erc-sound.el + + * lisp/erc/erc-sound.el: Use lexical-binding. Remove redundant :group + args. + +2021-02-11 Stefan Kangas + + Drop XEmacs and SXEmacs support from EDE + + * lisp/cedet/ede/emacs.el (ede-emacs-version): Drop XEmacs and + SXEmacs support from EDE. + +2021-02-11 Stefan Kangas + + Use lexical-binding in various ede files + + * lisp/cedet/ede/dired.el: + * lisp/cedet/ede/emacs.el: + * lisp/cedet/ede/make.el: + * lisp/cedet/ede/proj-archive.el: + * lisp/cedet/ede/proj-aux.el: + * lisp/cedet/ede/proj-misc.el: + * lisp/cedet/ede/proj-scheme.el: + * lisp/cedet/ede/srecode.el: + * lisp/cedet/ede/system.el: Use lexical-binding. + +2021-02-11 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Default to speed 1. + +2021-02-11 Stefan Kangas + + Use lexical-binding in wid-browse.el + + * lisp/wid-browse.el: Use lexical-binding. + (widget-browse-mode): Use define-derived-mode. + (widget-browse-mode-hook): Remove redundant :group arg. + (widget-browse-action, widget-browse-value-create): Doc fixes. + +2021-02-11 Stefan Kangas + + * lisp/ps-samp.el: Use lexical-binding. + +2021-02-11 Stefan Kangas + + Fix two Emacs version references in misc manuals + + * doc/misc/forms.texi: Fix reference to Emacs version. + * doc/misc/remember.texi: Fix version reference to indicate Emacs + version instead of version of remember. The corresponding version + variable and header have been marked obsolete. + +2021-02-11 Basil L. Contovounesios + + Fix Octave double-quoted string line continuations + + * lisp/progmodes/octave.el (octave-string-continuation-marker): New + defconst after octave-continuation-string. + (octave-continuation-string): Mention it in docstring. + (octave-maybe-insert-continuation-string): Mark unused function as + obsolete. + (octave-help-function): Simplify action. + (octave--indent-new-comment-line): Insert + octave-string-continuation-marker instead of + octave-continuation-string within double-quoted strings (bug#46420). + (octave-indent-new-comment-line): + * etc/NEWS: Describe new behavior. + +2021-02-11 Andrii Kolomoiets + + Use frame monitor in frame_float + + * src/frame.c (frame_float): Use frame monitor attributes instead + of attributes of the main monitor (bug#46406). + +2021-02-11 Stefan Kangas + + Avoid having erc in irrelevant finder categories + + * lisp/erc/erc-backend.el: + * lisp/erc/erc-button.el: + * lisp/erc/erc-dcc.el: + * lisp/erc/erc-identd.el: + * lisp/erc/erc-join.el: + * lisp/erc/erc-lang.el: + * lisp/erc/erc-log.el: + * lisp/erc/erc-match.el: + * lisp/erc/erc-menu.el: + * lisp/erc/erc-pcomplete.el: + * lisp/erc/erc-replace.el: + * lisp/erc/erc-spelling.el: + * lisp/erc/erc-stamp.el: + * lisp/erc/erc-track.el: + * lisp/erc/erc-xdcc.el: Remove irrelevant entries in Keywords header. + +2021-02-11 Stefan Kangas + + * lisp/progmodes/cperl-mode.el (cperl-init-faces): Use regexp-opt. + +2021-02-10 Stefan Monnier + + * lisp/play/decipher.el: Use lexical-binding + + (decipher-mode-syntax-table): Move initialization into declaration. + (decipher-mode, decipher-stats-mode): Use `define-derived-mode`. + (decipher-stats-buffer): Use `buffer-local-value`. + +2021-02-10 Stefan Monnier + + * lisp/leim/quail: Use lexical-binding + + * lisp/leim/quail/hangul.el: + * lisp/leim/quail/indian.el: + * lisp/leim/quail/ipa.el: + * lisp/leim/quail/japanese.el: + * lisp/leim/quail/lao.el: + * lisp/leim/quail/latin-ltx.el: + * lisp/leim/quail/lrt.el: + * lisp/leim/quail/sisheng.el: + * lisp/leim/quail/thai.el: + * lisp/leim/quail/tibetan.el: Use lexical-binding. + * lisp/leim/quail/uni-input.el (ucs-input-method): Remove unused var `str`. + +2021-02-10 Stefan Monnier + + * lisp/leim/quail: Use lexical-binding + + * lisp/leim/quail/hangul.el: + * lisp/leim/quail/indian.el: + * lisp/leim/quail/ipa.el: + * lisp/leim/quail/japanese.el: + * lisp/leim/quail/lao.el: + * lisp/leim/quail/latin-ltx.el: + * lisp/leim/quail/lrt.el: + * lisp/leim/quail/sisheng.el: + * lisp/leim/quail/thai.el: + * lisp/leim/quail/tibetan.el: Use lexical-binding. + * lisp/leim/quail/uni-input.el (ucs-input-method): Remove unused var `str`. + +2021-02-10 Stefan Monnier + + * lisp/subr.el (combine-change-calls-1): Don't presume integer args + + This avoids problems where the `after-change-functions` end up called + with the new length rather than the old length. + +2021-02-10 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Break cycles + + * test/lisp/emacs-lisp/macroexp-tests.el: New file. + +2021-02-10 Andrea Corallo + + Add late load pdumper hooks so these can call into Lisp + + * src/pdumper.h (pdumper_do_now_and_after_late_load): New function. + * src/pdumper.c (dump_late_hooks, nr_dump_late_hooks): New static + variables. + (dump_metadata_for_pdumper): Add support for late load hooks. + (pdumper_do_now_and_after_late_load_impl): New functions. + (pdumper_load): Add support for late load hooks. + * src/window.c (init_window_once): Register + 'init_window_once_for_pdumper' to be executed after late load. + +2021-02-10 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-02-10 Juri Linkov + + Fix ediff even/odd faces to increase their contrast and readability + + * lisp/vc/ediff-init.el (ediff-even-diff-A, ediff-even-diff-B) + (ediff-even-diff-C, ediff-even-diff-Ancestor, ediff-odd-diff-A) + (ediff-odd-diff-B, ediff-odd-diff-C): Add :distant-foreground + "Black" for light background. For dark background + add :distant-foreground "White", and use darker shades of grey + for background colors (bug#46396). + +2021-02-10 Lars Ingebrigtsen + + Fix build problem with previous facemenu change + + * lisp/facemenu.el (facemenu-add-face-function): Move to avoid a + warning. + (list-colors-display): Autoload. + +2021-02-10 Paul Eggert + + Simplify and speed up after-find-file + + Use newer primitives like file-accessible-directory-p to simplify + and speed up longstanding code in after-find-file. + * lisp/files.el (after-find-file): + Prefer file-exists-p + file-symlink-p to file-attributes + + file-symlink-p + file-chase-links + file-exists-p. + Prefer file-accessible-directory-p to directory-file-name + + file-attributes. + Prefer file-directory-p to file-name-directory + file-exists-p. + +2021-02-10 Paul Eggert + + Fix file lock issue (Bug#46397) + + * src/filelock.c (current_lock_owner): + Also treat ENOTDIR as meaning the lock file does not exist. + +2021-02-10 Lars Ingebrigtsen + + Remove the 'M-o' ('facemap-keymap') binding experimentally + + * doc/lispref/maps.texi (Standard Keymaps): + * doc/lispref/keymaps.texi (Prefix Keys): Remove mentions. + + * etc/facemenu-removal.txt: New temporary file. + + * lisp/loadup.el: Don't load facemenu.el. + (removed-facemenu-command): New command. + (facemenu-keymap-restore): New function. + + * lisp/textmodes/text-mode.el (center-paragraph): Remove binding. + (center-line): Remove binding. + +2021-02-10 Stefan Monnier + + * lisp/emacs-lisp/edebug.el: Tweak last change + + Use generic functions i.s.o `edebug--spec-op-function`. + + : No need to register the &foo and :foo handler any more. + (edebug--handle-&-spec-op, edebug--handle-:-spec-op): New generic functions. + (edebug-match-specs): Use them. + (edebug--get-spec-op): Remove function. + (edebug-match-&optional, edebug-match-&rest, edebug-match-&or) + (edebug-match-¬, edebug-match-&key, edebug-match-&error) + (edebug-match-&define): Turn functions into methods of + `edebug--handle-&-spec-op`. + (edebug-match-:name, edebug-match-:unique): Turn functions into methods of + `edebug--handle-:-spec-op`. + +2021-02-10 Eli Zaretskii + + Avoid assertion violation in callproc.c + + * src/callproc.c (call_process): Avoid assertion violation when + DESTINATION is a cons cell '(:file . "FOO")'. (Bug#46426) + +2021-02-10 Stefan Kangas + + Use lexical-binding in dns-mode.el + + * lisp/textmodes/dns-mode.el: Use lexical-binding. Remove + redundant :group args. + * test/lisp/textmodes/dns-mode-tests.el + (dns-mode-tests-dns-mode-soa-increment-serial): New test. + +2021-02-10 Stefan Kangas + + Use lexical-binding in mail-utils.el and add tests + + * lisp/mail/mail-utils.el: Use lexical-binding. + * test/lisp/mail/mail-utils-tests.el: New file. + +2021-02-10 Stefan Monnier + + * list/emacs-lisp/edebug.el: Don't overload `edebug-form-spec` + + The `edebug-form-spec` symbol property was used to store two different things: + the handlers for spec elements like `body` and the handlers for + spec operators like `&or`. But these two sets use different calling + conventions, so they're fundamentally incompatible. + + So, move the handlers to spec operators to the new property + `edebug--spec-op-function`. This unbreaks Edebugging of: + + (cl-flet ((f (&rest x) x)) 3) + + * lisp/emacs-lisp/edebug.el : Split the alist of built in + spec elements into normal spec element and spec ops. + (edebug--get-spec-op): New function. + (edebug-match-specs): Use it. + (edebug-match-:name): Rename from `edebug-match-colon-name`. + +2021-02-10 Eli Zaretskii + + Bump FACE_CACHE_BUCKETS_SIZE to 1009 + + * src/xfaces.c (FACE_CACHE_BUCKETS_SIZE): Make it 1009, a prime + number, per the comment. Reported by Win Treese . + +2021-02-10 Mattias EngdegÃ¥rd + + Fix local defvar scoping error (bug#46387) + + This bug was introduced by the lexical variable constant propagation + mechanism. It was discovered by Michael Heerdegen. + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form) + (byte-optimize-body): Let the effects of a local defvar declaration be + scoped by let and let*, not any arbitrary Lisp expression body (such + as progn). + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--get-vars) + (bytecomp-local-defvar): New test. + +2021-02-10 Stefan Kangas + + Minor cleanup in imenu.el + + * lisp/imenu.el: Doc fix; these examples have been removed. Remove + redundant :group args. + +2021-02-10 Stefan Kangas + + Use lexical-binding in snmp-mode.el + + * lisp/net/snmp-mode.el: Use lexical-binding. Remove redundant :group + args. Doc fix; remove outdated information. + (snmp-mode, snmpv2-mode): Add FIXME to use define-derived-mode. + +2021-02-10 Stefan Kangas + + Declare empty macro imenu-progress-menu obsolete + + * lisp/imenu.el: Remove commented out code. + (imenu-progress-message): Declare macro obsolete. + + * lisp/erc/erc-imenu.el (erc-create-imenu-index): + * lisp/net/snmp-mode.el (snmp-mode-imenu-create-index): + * lisp/progmodes/antlr-mode.el (antlr-imenu-create-index-function): + Don't use or mention above obsolete macro. + +2021-02-10 Protesilaos Stavrou + + Update NEWS entry for vc-dir faces + + * NEWS: Remove reference to specific backend, as it now applies to all + of them. Update name of 'vc-dir-status-ignored'. + + This follows from the discussion in bug#46358. + +2021-02-10 Stefan Kangas + + * lisp/cedet/semantic/bovine/gcc.el: Use lexical-binding. + +2021-02-10 Stefan Kangas + + Move cedet test resource files to follow our conventions + + * test/lisp/cedet/semantic-utest-ia.el (ert, ert-x): Require. + (cedet-utest-directory, semantic-utest-test-directory): Remove + variables. + (semantic-utest-ia-doublens.cpp, semantic-utest-ia-subclass.cpp) + (semantic-utest-ia-typedefs.cpp, semantic-utest-ia-struct.cpp) + (semantic-utest-ia-templates.cpp, semantic-utest-ia-using.cpp) + (semantic-utest-ia-nsp.cpp, semantic-utest-ia-localvars.cpp) + (semantic-utest-ia-namespace.cpp) + (semantic-utest-ia-sppcomplete.c, semantic-utest-ia-varnames.c) + (semantic-utest-ia-javacomp.java) + (semantic-utest-ia-varnames.java, semantic-utest-ia-wisent.wy) + (semantic-utest-ia-texi, semantic-utest-ia-make) + (semantic-utest-ia-srecoder): Use 'ert-resource-file'. Don't + check if file exists; we can assume that it does. + + * test/manual/cedet/tests/testjavacomp.java: + * test/manual/cedet/tests/testlocalvars.cpp: + * test/manual/cedet/tests/testnsp.cpp: + * test/manual/cedet/tests/testsppcomplete.c: + * test/manual/cedet/tests/teststruct.cpp: + * test/manual/cedet/tests/testsubclass.cpp: + * test/manual/cedet/tests/testsubclass.hh: + * test/manual/cedet/tests/testtemplates.cpp: + * test/manual/cedet/tests/testtypedefs.cpp: + * test/manual/cedet/tests/testusing.cpp: + * test/manual/cedet/tests/testusing.hh: + * test/manual/cedet/tests/testvarnames.c: + * test/manual/cedet/tests/testvarnames.java: + * test/manual/cedet/tests/testwisent.wy: Move from here... + * test/lisp/cedet/semantic-utest-ia-resources/testjavacomp.java: + * test/lisp/cedet/semantic-utest-ia-resources/testlocalvars.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testnsp.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testsppcomplete.c: + * test/lisp/cedet/semantic-utest-ia-resources/teststruct.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testsubclass.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testsubclass.hh: + * test/lisp/cedet/semantic-utest-ia-resources/testtemplates.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testtypedefs.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testusing.cpp: + * test/lisp/cedet/semantic-utest-ia-resources/testusing.hh: + * test/lisp/cedet/semantic-utest-ia-resources/testvarnames.c: + * test/lisp/cedet/semantic-utest-ia-resources/testvarnames.java: + * test/lisp/cedet/semantic-utest-ia-resources/testwisent.wy: + ...to here. + +2021-02-10 Stefan Kangas + + Convert tests for srecode/fields.el to ert + + * test/manual/cedet/srecode-tests.el: Move from here... + * test/lisp/cedet/srecode/fields-tests.el: ...to here. + (srecode-field-utest-impl): Convert test to ert. Silence + byte-compiler. + + * test/manual/cedet/cedet-utests.el (cedet-utest-libs): Don't + list the above moved file. + +2021-02-10 Stefan Kangas + + Make texinfmt-version variable obsolete + + * lisp/textmodes/texinfmt.el (texinfmt-version): Make variable and + command obsolete in favour of 'emacs-version'. + (texinfo-format-region, texinfo-format-buffer-1): Use + 'emacs-version' instead of above obsolete variable. + +2021-02-10 Stefan Kangas + + Use lexical-binding in bib-mode.el + + * lisp/textmodes/bib-mode.el: Use lexical-binding. Remove + redundant :group args. + +2021-02-10 Stefan Kangas + + Move semantic/format.el tests to follow our conventions + + * test/lisp/cedet/semantic-utest-fmt.el: Move from here... + * test/lisp/cedet/semantic/format-tests.el: ...to here. + (ert, ert-x): Require. + (semantic-fmt-utest-file-list): Use ert-resource-file. + * test/manual/cedet/tests/test-fmt.cpp: + * test/manual/cedet/tests/test-fmt.el: Move from here... + * test/lisp/cedet/semantic/format-resources/test-fmt.cpp: + * test/lisp/cedet/semantic/format-resources/test-fmt.el: ...to here. + +2021-02-10 Stefan Kangas + + Use lexical-binding in some test files + + * test/manual/cedet/ede-tests.el: + * test/manual/cedet/srecode-tests.el: + * test/manual/cedet/tests/test.el: Use lexical-binding. + + * test/manual/etags/el-src/TAGTEST.EL: Add lexical-binding cookie. + * test/manual/etags/ETAGS.good_1: Update expected result for the + above change. + +2021-02-10 Stefan Kangas + + Change default semantic-lex-analyzer to semantic-lex + + * lisp/cedet/semantic/lex.el (semantic-lex-analyzer): Change default + to semantic-lex, since semantic-flex was obsolete and has been + removed. + +2021-02-10 Stefan Kangas + + Convert many manual cedet tests to ert + + * test/manual/cedet/cedet-utests.el + (cedet-files-utest): Move test from here... + * test/lisp/cedet/cedet-files-tests.el: ...to this new file. + + * test/manual/cedet/srecode-tests.el + (srecode-document-function-comment-extract-test): Move test from + here... + * test/lisp/cedet/srecode/document-tests.el: ...to this new file. + + * test/manual/cedet/cedet-utests.el + (inversion-unit-test): Move test from here... + * test/lisp/cedet/inversion-tests.el: ...to this new file. + + * test/manual/cedet/semantic-tests.el + (semantic-gcc-test-output-parser): Move test from here... + * test/lisp/cedet/semantic/bovine/gcc-tests.el: ...to this new file. + + * test/manual/cedet/semantic-tests.el + (semantic-test-data-cache): Move test from here... + * test/lisp/cedet/semantic/fw-tests.el: ...to this new file. + +2021-02-10 Stefan Kangas + + Use lexical-binding in almost all of play/*.el + + * lisp/play/5x5.el: Use lexical-binding. + (5x5-draw-grid-end, 5x5-draw-grid, 5x5-solver) + (5x5-solve-suggest): Silence byte-compiler. + + * lisp/play/cookie1.el: Use lexical-binding. + (cookie-shuffle-vector, cookie-apropos): Silence byte-compiler. + + * lisp/play/zone.el: Use lexical-binding. + (zone): Convert lambda to proper lexical closure. + (zone-replace-char, zone-fill-out-screen): Silence byte-compiler. + + * lisp/play/blackbox.el: + * lisp/play/doctor.el: + * lisp/play/gametree.el: + * lisp/play/hanoi.el: Use lexical-binding. + + * test/lisp/play/cookie1-resources/cookies: + * test/lisp/play/cookie1-tests.el: New files. + +2021-02-10 Protesilaos Stavrou + + Refine use of vc-dir faces; apply to all backends + + * lisp/vc/vc-dir.el (vc-default-dir-printer): Add check for the + "ignored" status and make 'vc-dir-status-edited' the default face. + Also extend condition for more states that qualify as "warnings". + + (vc-dir-ignored, vc-dir-status-ignored): Rename face for consistency. + + * lisp/vc/vc-git.el (vc-git-dir-printer): Use the + 'vc-dir-status-edited' as the default for the Git backend. And + reference the renamed face. Also stop treating the empty stash + differently from other header values. + + * lisp/vc/vc-bzr.el (vc-bzr-dir-extra-headers): Implement new faces. + * lisp/vc/vc-cvs.el (vc-cvs-dir-extra-headers): Same. + * lisp/vc/vc-hg.el (vc-hg-dir-extra-headers): Same. + * lisp/vc/vc-svn.el (vc-svn-dir-extra-headers): Same. + + This follows from the discussion in bug#46358. + +2021-02-09 Basil L. Contovounesios + + Tiny simplification to read-char-by-name + + * lisp/international/mule-cmds.el (mule--ucs-names-sort-by-code): + Sort with car-less-than-car instead of slower lambda. + (mule--ucs-names-affixation): Just stick character into a list to + avoid trip through format and char-to-string. + (read-char-by-name): Quote function symbols as such. + +2021-02-09 Eli Zaretskii + + Fix syntax category of some characters + + * lisp/international/characters.el (modify-syntax-entry): Fix + syntax of numerical subscripts and superscripts. (Bug#46240) + +2021-02-09 Juri Linkov + + * lisp/net/dictionary.el: Dictionary improvements (bug#45262) + + * lisp/net/dictionary.el (dictionary-link-dictionary): New defcustom. + (dictionary-mark-reference): Use dictionary-link-dictionary. + (dictionary-post-buffer-hook): New defcustom. + (dictionary-post-buffer): Run dictionary-post-buffer-hook. + (dictionary-mode-map): Bind 'S-SPC' to scroll-down-command. + (dictionary-search-default): Use possibly multi-word data at point. + +2021-02-09 Stefan Monnier + + Use lexical-binding in a few more scattered files + + * lisp/registry.el: Use lexical-binding. + (registry-reindex): Remove unused var `values`. + + * lisp/cedet/pulse.el: Use lexical-binding. + + * lisp/cedet/semantic/idle.el: Use lexical-binding. + (semantic-idle-core-handler): Remove unused var `safe`. + (ede-auto-add-method): Declare var. + (define-semantic-idle-service): Use `declare`. Remove unused var `setup`. + (pulse-flag): Declare var. + + * lisp/net/ldap.el: Use lexical-binding. + (ldap-search-internal): Remove unused var `proc`. + + * lisp/net/mairix.el: Use lexical-binding. + Remove redundant `:group` args. + (mairix-widget-create-query): Remove unnused var `allwidgets`. + +2021-02-09 Juri Linkov + + New options read-char-by-name-sort and read-char-by-name-group (bug#46240) + + * lisp/international/mule-cmds.el (mule--ucs-names-sort-by-code) + (mule--ucs-names-group): New functions. + (read-char-by-name-sort, read-char-by-name-group): New defcustoms. + (read-char-by-name): Use them. + +2021-02-09 Stefan Monnier + + * lisp/cedet/{semantic/scope.el,ede/project-am.el}: Use lexical-scoping + + * lisp/cedet/ede/project-am.el: Remove redundant `:group` args. + (recentf-exclude): Declare variable. + (project-am--with-makefile-current): New function extracted from + `project-am-with-makefile-current`. Use `with-current-buffer` and + `unwind-protect`. + (project-am-with-makefile-current): Use `declare` and + `project-am--with-makefile-current`. + (project-am-with-config-current): Use `declare` and `with-temp-buffer`. + (project-am-extract-shell-variable): Turn it into a `defun`; the use of + `defmacro` appears to have been a plain mistake. + +2021-02-09 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize--pcase): New macro + + (byte-optimize-form-code-walker): Use it. + +2021-02-09 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el: Break cycle with bytecomp/byte-opt + + The recent change in macroexp triggered a cyclic dependency error + during eager macroexpansion when neither `bytecomp` nor `byte-opt` had + been byte-compiled yet. This fixes it by moving the offending + function to macroexp.el. + + * lisp/emacs-lisp/macroexp.el (macroexp--unfold-lambda): Move from + byte-opt.el and rename. + (macroexp--expand-all): Use it. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-unfold-lambda): Move to + macroexp.el. + (byte-compile-inline-expand, byte-optimize-form-code-walker): + * lisp/emacs-lisp/bytecomp.el (byte-compile-form): + Use `macroexp--unfold-lambda` instead. + +2021-02-09 Stefan Kangas + + Remove some dead, commented out code from lisp-mode.el + + * lisp/emacs-lisp/lisp-mode.el (lisp-data-mode-syntax-table): + Remove code commented out since 2005. + +2021-02-09 Stefan Kangas + + Load all generic-x.el modes unconditionally + + * lisp/generic-x.el: Load all modes unconditionally. + (generic-default-modes, generic-mswindows-modes) + (generic-unix-modes, generic-other-modes) + (generic-extras-enable-list): Make obsolete. + Ref: https://lists.gnu.org/r/emacs-devel/2021-01/msg01403.html + +2021-02-09 Lars Ingebrigtsen + + Note that the `values' variable is now obsolete + + * src/lread.c (syms_of_lread): Note that it's obsolete in the doc + string (because we can't mark it as obsolete "properly" yet, + because that leads to compilation warnings when somebody + (let (values) ... values). + +2021-02-09 Alan Mackenzie + + Allow exit-minibuffer to be called from Lisp code. Fixes bug #46373 + + * lisp/minibuffer.el (exit-minibuffer): Throw the error "Not in most nested + minibuffer" only when the current buffer is a minibuffer (thus the command + came directly from a key binding). + + * doc/lispref/minibuf.texi (Minibuffer Commands): Change the documentation + accordingly. + +2021-02-09 Lars Ingebrigtsen + + Make pcomplete-ignore-case obsolete + + * lisp/pcomplete.el (pcomplete-completions-at-point) + (pcomplete-stub, pcomplete--entries, pcomplete-insert-entry): + * lisp/eshell/em-cmpl.el (eshell-cmpl-initialize): + * lisp/eshell/em-cmpl.el (eshell-cmpl-ignore-case): + * lisp/erc/erc-pcomplete.el (pcomplete-erc-setup): Use + `completion-ignore-case' instead (bug#23117). + + * lisp/pcomplete.el (pcomplete-ignore-case): Make obsolete. + +2021-02-09 Matt Armstrong + + Preserve leading whitespace in `lm-commentary'. + + * lisp/emacs-lisp/lisp-mnt.el (lm-commentary): Preserve leading + whitespace (bug#46364). + +2021-02-09 Lars Ingebrigtsen + + Move all usages of `values' to `values--store-value' + + * lisp/simple.el (eval-expression): + * lisp/progmodes/elisp-mode.el (eval-last-sexp): + * lisp/emacs-lisp/pp.el (pp-eval-expression): + * lisp/emacs-lisp/edebug.el (edebug-eval-expression): + * lisp/emacs-lisp/pp.el (pp-eval-expression): + * lisp/emacs-lisp/edebug.el (edebug-eval-expression): + * lisp/cedet/data-debug.el (data-debug-eval-expression): Use it + instead of pushing to `values' directly (bug#22066). + + * lisp/subr.el (values--store-value): New function. + +2021-02-09 Lars Ingebrigtsen + + Don't use `values' in elisp--eval-defun + + * lisp/progmodes/elisp-mode.el (elisp--eval-defun): Don't use + `values', since it's being deprecated (bug#22066). + +2021-02-09 Lars Ingebrigtsen + + Finish customize-changed-options/customize-changed fix up + + * doc/emacs/custom.texi (Specific Customization): Fix + customize-changed/customize-changed-options documentation. + * lisp/cus-dep.el (custom-make-dependencies): Adjust doc string + (bug#23085). + + * lisp/menu-bar.el (menu-bar-custom-menu): Adjust menu options. + +2021-02-09 Lars Ingebrigtsen + + Fix count-lines problem in non-ASCII buffers + + * src/fns.c (Fline_number_at_pos): Get the correct start position + in non-ASCII buffers (bug#22763). + +2021-02-09 Stefan Monnier + + * lisp/gnus/gnus-topic.el: Fix a backward incompatibility + + (gnus-topic-insert-topic-line): Make the vars used in + `gnus-topic-line-format-spec` dynamically scoped since it seems + that they're sometimes accessed from functions called by + `gnus-topic-line-format-spec` :-( + + * lisp/gnus/gnus-util.el (gnus--\,@): Move macro to here... + * lisp/gnus/gnus-art.el (gnus--\,@): .. from here. + + * lisp/gnus/gnus.el (gnus-method-to-server): Apply DeMorgan. + +2021-02-08 Eric Abrahamsen + + Run Gnus group names through regexp-quote when matching results + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Be more + careful about making sure group names will match search results + correctly. + +2021-02-08 Eli Zaretskii + + Fix scrolling past tall images + + * src/xdisp.c (try_window): Don't try checking the margins if the + window is vscrolled, as that could cause unnecessary recentering + when tall images are displayed. (Bug#46320) + +2021-02-08 Stefan Monnier + + * lisp/indent.el (beginning-of-line-text): Mark it as a movement command + + So that combining it with `shift` selects the text, as usual, in case + you have it bound for example to `C-a` in a mode like `enriched-mode`. + +2021-02-08 Stefan Kangas + + * lisp/avoid.el: Doc fixes. + +2021-02-08 Lars Ingebrigtsen + + Record the value of `C-x C-e' in `values' + + * lisp/progmodes/elisp-mode.el (eval-last-sexp): Record the value + in `values' (bug#22066) since we're messaging it. + +2021-02-08 Protesilaos Stavrou + + Add vc-dir faces; also apply them to vc-git + + * etc/NEWS: Document the new faces. + + * lisp/vc/vc-dir.el (vc-dir-header, vc-dir-header-value) + (vc-dir-directory, vc-dir-file, vc-dir-mark-indicator) + (vc-dir-status-warning, vc-dir-status-edited, vc-dir-status-up-to-date) + (vc-dir-ignored): Add new faces. + + * lisp/vc/vc-git.el (vc-git-permissions-as-string, vc-git-dir-printer) + (vc-git-dir-extra-headers): Apply new faces (bug#46358). + +2021-02-08 Sean Whitton + + Bind clone-buffer to C-x x n + + * lisp/bindings.el (ctl-x-x-map): Bind clone-buffer. + * etc/NEWS: Document the change (bug#46369). + +2021-02-08 Anticrisis (tiny change) + + Fix tcl-mode indentation of namespaced code + + * lisp/progmodes/tcl.el (tcl-calculate-indent): Fix indentation + when using namespaces (bug#44834). + (tcl-beginning-of-defun-function): Remove. This partially reverts + cd5bb4bf3dbad8941d25823f398b595b8f0edbb9. + +2021-02-08 Lars Ingebrigtsen + + Clarify "changes" in CONTRIBUTE + + * CONTRIBUTE: Clarify that "changes" doesn't include removing code + (bug#44834). + +2021-02-08 Lars Ingebrigtsen + + Make `C-a' in enriched-mode behave more line in other modes + + * lisp/textmodes/enriched.el (enriched-mode-map): Don't rebind + beginning-or-line, because it makes `C-S-a' not mark the region, + and it doesn't allow actually moving to the beginning of the line + if the line starts with characters in `adaptive-fill-regexp' + (bug#22554). + +2021-02-08 Lars Ingebrigtsen + + Fix noninteractive gnus-article-press-button + + * lisp/gnus/gnus-art.el (gnus-article-press-button): Make the `b' + summary mode command work again. + +2021-02-08 Stefan Kangas + + Prefer setq-local in a few more places + + * lisp/calc/calc-embed.el (calc-embedded-make-info): + * lisp/calc/calcalg2.el (calcFunc-integ): + * lisp/comint.el (comint-mode): + * lisp/epa.el (epa--list-keys, epa--show-key): + * lisp/epg.el (epg--start): + * lisp/vc/ediff-util.el (ediff-activate-mark): Prefer setq-local. + +2021-02-08 Stefan Kangas + + Add tests for count-lines + + * test/lisp/simple-tests.el (simple-test-count-lines) + (simple-test-count-lines/ignore-invisible-lines): Add tests. + +2021-02-07 Eric Abrahamsen + + Fix namazu search result parsing in gnus-search + + * lisp/gnus/gnus-search.el (gnus-search-indexed-extract): This method + is documented to leave point at the end of the extracted search + result. The namazu implementation wasn't doing that. + +2021-02-07 Lars Ingebrigtsen + + Clarify when activate-mark-hook is run + + * doc/lispref/markers.texi (The Mark): + * lisp/simple.el (activate-mark-hook): Clarify when the hook is + run (bug#23444). + +2021-02-07 Lars Ingebrigtsen + + Use `line-number-at-pos' in `count-lines' + + * lisp/simple.el (count-lines): Use `line-number-at-pos', which + should be faster. + +2021-02-07 Eli Zaretskii + + Fix language-environment and font selection on MS-Windows + + These changes improve setting the language-environment and font + selection when MS-Windows returns useless "ZZZ" as the "language + name", which then disrupts all the setup of the locale-dependent + stuff, and in particular font selection. + * lisp/w32-fns.el (w32-charset-info-alist): Add an element for + "iso8859-5", in case LANG is set to something unusable, like + "ZZZ". This allows fonts capable of displaying Cyrillic + characters to be used even when language preferences are screwed. + + * src/w32.c (init_environment): If GetLocaleInfo returns "ZZZ" as + the "language name" for LOCALE_USER_DEFAULT, try again with locale + ID based on what GetUserDefaultUILanguage returns. (Bug#39286) + +2021-02-07 Tino Calancha + + Add command to recenter errors from Occur/Grep buffers + + To scroll up/down the current displayed occurrence/error + without abandon the Occur/Grep buffer. + + Add also a command 'recenter-other-window' to recenter + the other window from any kind of buffer. + + * lisp/window.el (recenter-other-window): New command. + Bind recenter-other-window to S-M-C-l (Bug#46119). + + * lisp/simple.el (recenter-current-error): New command. + * lisp/progmodes/grep.el (grep-mode-map): + Delete bidings for n and p. + + * lisp/progmodes/compile.el (compilation-minor-mode-map): + Move here the n and p bindings. + Bind `recenter-current-error' to l. + * lisp/replace.el (occur-mode-map): + Same. + + * doc/emacs/windows.texi (Other Window): + * doc/emacs/display.texi (Recentering): + Document recenter-other-window. + + * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 28.1): + Announce the changes. + +2021-02-07 Lars Ingebrigtsen + + Allow Fline_number_at_pos being called with a marker + + * src/fns.c (Fline_number_at_pos): Also allow being called with a + marker (since the Lisp function allowed that). + +2021-02-07 Lars Ingebrigtsen + + Move line-number-at-pos to C + + * doc/lispref/positions.texi (Text Lines): Revert previous change. + + * lisp/simple.el (line-number-at-pos): Remove definition. + + * lisp/simple.el (count-lines): Revert back to using + `forward-line', because there seems to be a disagreement on how + lines should be counted in a region... + + * src/fns.c (Fline_number_at_pos): Rename from + Fline_number_at_position and adjust parameter list. + +2021-02-07 Stefan Kangas + + Minor doc fixes in dictionary-connection.el + + * lisp/net/dictionary-connection.el: + (dictionary-connection-p, dictionary-connection-read-to-point): + Minor doc fixes to adhere to our conventions. + +2021-02-07 Stefan Kangas + + Fix copyright and license statement in dictionary*.el + + * lisp/net/dictionary-connection.el: + * lisp/net/dictionary.el: Add copyright statement and fix license + statement. + +2021-02-07 Lars Ingebrigtsen + + Add a new function 'line-number-at-position' + + * doc/lispref/positions.texi (Text Lines): Document it. + + * lisp/simple.el (count-lines): Use it. + (line-number-at-pos): Ditto. + + * src/fns.c (Fline_number_at_position): New function (bug#22763). + +2021-02-07 Stefan Kangas + + Various doc fixes in dictionary.el + + * lisp/net/dictionary.el (dictionary-set-server-var) + (dictionary-server, dictionary-port) + (dictionary-default-dictionary) + (dictionary-default-popup-strategy, dictionary-proxy-server) + (dictionary-proxy-port, dictionary-description-open-delimiter) + (dictionary-description-close-delimiter) + (dictionary-window-configuration, dictionary-selected-window) + (dictionary-position-stack, dictionary-data-stack) + (dictionary-positions, dictionary-current-data) + (dictionary-connection, dictionary-instances) + (dictionary-color-support, dictionary-word-history) + (dictionary-mode, dictionary, dictionary-check-connection) + (dictionary-mode-p, dictionary-send-command) + (dictionary-read-reply-and-split, dictionary-check-reply) + (dictionary-check-initial-reply, dictionary-store-state) + (dictionary-store-positions, dictionary-new-search) + (dictionary-new-search-internal, dictionary-do-search) + (dictionary-display-search-result) + (dictionary-display-word-definition) + (dictionary-special-dictionary, dictionary-set-strategy) + (dictionary-tooltip-dictionary, dictionary-switch-tooltip-mode) + (dictionary-tooltip-mode, global-dictionary-tooltip-mode): Doc fixes + to adhere to our conventions. + +2021-02-07 Lars Ingebrigtsen + + Revert "Fix inferior octave single-quote font lock" + + This reverts commit 9e68413c7f0a7f71e1cee923ace7282d14c2e686. + + This patch led to bug#46327: + + x = [2 2]' + disp(x) + + Which meant that the transpose operator was interpreted + as the start of a string. + +2021-02-07 Lars Ingebrigtsen + + Reverse customize-changed and customize-changed-options aliasing + + * lisp/cus-edit.el (customize-changed): Rename from + customize-changed-options (bug#23085), since the old name doesn't + reflect what it does: It's not just about user options, but also + faces and the like. + (customize-changed-options): Make into an obsolete alias. + +2021-02-07 Lars Ingebrigtsen + + Clarify that #s(hash-table ...) doesn't always create a new hash table + + * doc/lispref/hash.texi (Creating Hash): Note that the printed + representation doesn't necessarily create a new table (bug#23417). + + * doc/lispref/lists.texi (Rearrangement): Link to Self-Evaluating + Forms to further expand upon immutability. + +2021-02-07 Lars Ingebrigtsen + + Add more commands to the new `C-x x' keymap + + * doc/emacs/killing.texi (Accumulating Text): + * doc/emacs/display.texi (Line Truncation): + * doc/emacs/buffers.texi (Misc Buffer): Document it. + + * lisp/bindings.el (ctl-x-x-map): Add new bindings for + rename-buffer, rename-uniquely, insert-buffer and + toggle-truncate-lines. + +2021-02-07 Sean Whitton + + Move 'revert-buffer' global binding to 'C-x g g' + + * lisp/bindings.el: Define ctl-x-g-map and bind 'revert-buffer' to + 'C-x x g' globally. + * doc/emacs/files.texi: Replace 'C-x g' with 'C-x x g'. + * etc/NEWS: Document the change (bug#46300). + +2021-02-07 Petteri Hintsanen + + Fix example in Sequence Functions node in the manual + + * doc/lispref/sequences.texi (Sequence Functions): Fix the result + from the example. + +2021-02-06 Dmitry Gutov + + Revert "Fix the previous change" + + This reverts commit fc37dc298f27025823fad2d944e11cc7ee6a058d. + + That change was only needed in the release branch. + +2021-02-06 Mattias EngdegÃ¥rd + + Fix spurious warnings from unwise condition order in inlined code + + These are both conditions having the form (and A B) where A is + side-effect-free and B may be known to be nil at compile time. + The compiler will then warn about A being useless and thrown away. + The fix is to test B first. + + * lisp/gnus/gnus.el (gnus-method-to-server): + Test `(not no-enter-cache)` first. + (gnus-server-get-method): Test `group` first. + +2021-02-06 Mattias EngdegÃ¥rd + + Constprop of lexical variables + + Lexical variables bound to a constant value (symbol, number or string) + are substituted at their point of use and the variable then eliminated + if possible. Example: + + (let ((x (+ 2 3))) (f x)) => (f 5) + + This reduces code size, eliminates stack operations, and enables + further optimisations. The implementation is conservative, and is + strongly curtailed by the presence of variable mutation, conditions + and loops. + + * lisp/emacs-lisp/byte-opt.el + (byte-optimize-enable-variable-constprop) + (byte-optimize-warn-eliminated-variable): New constants. + (byte-optimize--lexvars, byte-optimize--vars-outside-condition) + (byte-optimize--vars-outside-loop, byte-optimize--dynamic-vars): + New dynamic variables. + (byte-optimize--substitutable-p, byte-optimize-let-form): + New functions. + (byte-optimize-form-code-walker): Adapt clauses for variable + constprop, and add clauses for 'setq' and 'defvar'. + * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test-var) + (bytecomp-test-get-var, bytecomp-test-identity) + (byte-opt-testsuite-arith-data): Add test cases. + +2021-02-06 Ioannis Kappas (tiny change) + + New test for src/process.c on MS-Windows + + * test/src/process-tests.el (process-sentinel-interrupt-event): + New test. (Bug#46284) + +2021-02-06 Eric Abrahamsen + + Fix TEXT check in gnus-search IMAP search + + * lisp/gnus/gnus-search.el (gnus-search-run-search): It's a string, + not a buffer! + +2021-02-06 Martin Rudalics + + Permit zero value for 'child-frame-border-width' parameter (Bug#46184) + + * doc/lispref/frames.texi (Layout Parameters): Update entry on + 'child-frame-border-width' parameter. + * src/frame.c (make_frame): Init child_frame_border_width to -1. + (Fframe_child_frame_border_width): Return internal border width if + child frame border width parameter is nil. + (gui_report_frame_params): Report nil as child frame border + width parameter if the frame value is negative. + * src/frame.h (FRAME_INTERNAL_BORDER_WIDTH): Return value of + child frame border width only if it is not negative. + * src/xfns.c (Fx_create_frame): Default child frame border to -1 + when recording it in its frame slot via gui_default_parameter. + * src/nsfns.m (ns_set_child_frame_border_width): Handle nil ARG. + (Fx_create_frame): Default child frame border width parameter to + nil. + * src/w32fns.c (w32_set_child_frame_border_width): Handle nil ARG. + (Fx_create_frame): Default child frame border width parameter to + nil. + * src/xfns.c (x_set_child_frame_border_width): Handle nil ARG. + (Fx_create_frame): Default child frame border width parameter to + nil. + +2021-02-06 Glenn Morris + + Merge from origin/emacs-27 + + 8ad48a0bdd (origin/emacs-27) Improve doc string of 'text-scale-adjust' + 7a25ff767d Clarify the indent-rigidly doc string + 6c5ddf0e0b Fix two small tab bar issues + c71e08eba9 Fix last change in syntax.texi + + # Conflicts: + # lisp/indent.el + +2021-02-06 Glenn Morris + + Merge from origin/emacs-27 + + 8c27af3ff4 Clarify how transient indentation modes are exited in the ... + fc37dc298f Fix the previous change + +2021-02-06 Lars Ingebrigtsen + + Fix previous change in testcover.el + + * lisp/emacs-lisp/testcover.el + (testcover-analyze-coverage-edebug-after): The wrapper macro is + called `1value', not `testcover-1value'. + +2021-02-06 Eli Zaretskii + + Support file names with whitespace in Nroff mode + + * lisp/textmodes/nroff-mode.el (nroff-view): Quote argument of + 'Man-getpage-in-background' to support file names with special + characters. (Bug#46051) + +2021-02-06 Lars Ingebrigtsen + + Tweak provided-mode-derived-p doc string + + * lisp/subr.el (provided-mode-derived-p): Remove detail about "or + their aliases", since that seems self-evident (bug#46331) (and + derived-mode-p works the same, and doesn't have the bit in + question). + +2021-02-06 Eli Zaretskii + + Improve doc string of 'text-scale-adjust' + + * lisp/face-remap.el (text-scale-adjust): Clarify that "default + face height" refers to the 'default' face. (Bug#25168) + +2021-02-06 Lars Ingebrigtsen + + Warn in message.el when sending encryptable mail + + * lisp/gnus/message.el (message-send): Query if it looks like + encryption was intended, but is not going to happen. + + * lisp/gnus/mml-sec.el (mml-secure-is-encrypted-p): Allow saying + whether there's any <#secure tags present (bug#24411). + +2021-02-06 Lars Ingebrigtsen + + Rename the `1value' symbol in testcover.el + + * lisp/emacs-lisp/testcover.el: Rename the symbol `1value' + throughout the file to `testcover-1value' to allow using the + variable in code that's to be tested (bug#25471). + +2021-02-06 Lars Ingebrigtsen + + Allow provided-mode-derived-p to work on aliases + + * lisp/subr.el (provided-mode-derived-p): Allow this to work on + modes that are aliases of other modes (bug#46331). For instance: + (provided-mode-derived-p 'javascript-mode 'prog-mode) + +2021-02-06 Michael Albinus + + Modernize use of prompts in auth-source.el + + * lisp/auth-source.el (auth-source-search): Adapt docstring + (auth-source-format-prompt): Remove trailing ": ". + (auth-source-netrc-create, auth-source-secrets-create) + (auth-source-plstore-create): Adapt prompts. Use `format-prompt'. + Do not ask interactively if `auth-source-save-behavior' is nil. + +2021-02-06 Lars Ingebrigtsen + + Clarify the indent-rigidly doc string + + * lisp/indent.el (indent-rigidly): Clarify exiting the transient + mode (bug#46296). + +2021-02-06 Lars Ingebrigtsen + + Fix problem when ~/.mailcap had several entries for a MIME type + + * lisp/net/mailcap.el (mailcap-mime-info): Use all the matching + entries from ~/.mailcap, not just the first (bug#46318). + +2021-02-06 Lars Ingebrigtsen + + Avoid a compilation warning in iter-do + + * lisp/emacs-lisp/generator.el (iter-do): Avoid a compilation + warning on using variables marked for not using (bug#31641). + Eg. (iter-do (_ i)) + +2021-02-06 Eli Zaretskii + + Fix copying text properties in 'format' + + * src/editfns.c (styled_format): Fix accounting for text + properties that come from the format string. (Bug#46317) + + * test/src/editfns-tests.el (format-properties): Add new tests for + bug#46317. + +2021-02-06 Martin Rudalics + + Fix two small tab bar issues + + * lisp/cus-start.el (frame-inhibit-implied-resize): Update version tag. + * lisp/frame.el (frame-inner-height): Do not count in tab bar. + +2021-02-05 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (let): Reimplement as a pcase macro + + (pcase--macroexpand, pcase--u1): Remove handling of `let` from + `pcase`s core. + +2021-02-05 Eli Zaretskii + + Fix 'C-d' on the first line in Rmail summary buffer + + * lisp/mail/rmailsum.el (rmail-summary-delete-forward): Fix + deleting backward past the beginning of the summary buffer. + (Bug#46325) + +2021-02-05 Michael Albinus + + Add command 'dbus-monitor' + + * doc/misc/dbus.texi: (Monitoring Messages): Document 'dbus-monitor'. + + * etc/NEWS: Mention 'dbus-monitor' but 'dbus-register-monitor'. + Fix typos and other oddities. + + * lisp/net/dbus.el (dbus-monitor): New command. + + * test/lisp/net/dbus-tests.el (dbus--test-register-service): Extend test. + +2021-02-05 Lars Ingebrigtsen + + Don't hard-code ignored functions in `indent-according-to-mode' + + * lisp/indent.el (indent-line-ignored-functions): New variable + (bug#26945). + (indent-according-to-mode): Use it. + +2021-02-05 Eli Zaretskii + + Fix last change in 'window-text-pixel-size' + + * src/xdisp.c (Fwindow_text_pixel_size): Fix last change: preserve + the original Y coordinate after start_display, instead of zeroing + it out. Reported by martin rudalics . + +2021-02-05 Lars Ingebrigtsen + + Fontize more automatic variables in makefile-gmake-mode + + * lisp/progmodes/make-mode.el (makefile-gmake-font-lock-keywords): + Fontize the $ in more automatic variables (bug#27842). + +2021-02-05 Eli Zaretskii + + Fix last change in syntax.texi + + * doc/lispref/syntax.texi (Syntax Properties): Fix wording in last + change. (Bug#46274) + +2021-02-05 Lars Ingebrigtsen + + Correct the lispref manual about flushing ppss info + + * doc/lispref/syntax.texi (Syntax Properties): Correct the + information about flushing the state by copying the text from the + doc string (bug#46274). + + (cherry picked from commit ff701ce2b261acce1dfcd1fe137268d87d5eab35) + +2021-02-05 Lars Ingebrigtsen + + Clarify how transient indentation modes are exited in the manual + + * doc/emacs/indent.texi (Indentation Commands): Clarify that the + other keys don't just exit the transient mode, but are also + handled as normally (bug#46296). + +2021-02-05 Lars Ingebrigtsen + + Protect against killed buffers in term-emulate-terminal + + * lisp/term.el (term-emulate-terminal): Ensure that the buffer is + still alive before selecting it (bug#46323). This avoids an error + when saying `C-x k' in an ansi-term buffer. + +2021-02-05 Sean Whitton + + Fix repeating complex commands + + * lisp/repeat.el (repeat): Fix repeating complex commands + (bug#46290). This makes `M-: date RET C-x z' work again (like in + Emacs 21, apparently). + +2021-02-05 Lars Ingebrigtsen + + Make octave-send-region deactivate the region + + * lisp/progmodes/octave.el (octave-send-region): Deactivate mark + after sending the region (bug#32282), since this is how these commands + usually work. + +2021-02-05 Lars Ingebrigtsen + + Correct the lispref manual about flushing ppss info + + * doc/lispref/syntax.texi (Syntax Properties): Correct the + information about flushing the state by copying the text from the + doc string (bug#46274). + +2021-02-05 Stefan Kangas + + * lisp/emacs-lisp/checkdoc.el: Doc fix; don't mention built-ins. + +2021-02-05 Stefan Kangas + + Remove some unnecessary references to Emacs 18 + + * lisp/progmodes/cmacexp.el: + * lisp/progmodes/f90.el: + * lisp/shell.el: Doc fix; don't mention Emacs 18. + +2021-02-05 Stefan Kangas + + Remove Emacs 19 compat code from dcl-mode.el + + * lisp/progmodes/dcl-mode.el: Doc fix. + (dcl-mode-map, dcl-mode): Remove compat code for Emacs 19. + +2021-02-05 Stefan Kangas + + Remove Emacs 20 compat code for header-line-format + + * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode): + * lisp/erc/erc.el (erc-update-mode-line-buffer): + * lisp/ibuffer.el (ibuffer-use-header-line): Remove Emacs 20 compat + code; header-line-format is always defined starting with Emacs 21. + +2021-02-05 Stefan Kangas + + * lisp/color.el: Remove Emacs 23.2 compat code. + + * lisp/textmodes/rst.el (rst-directive): Remove XEmacs compat code. + +2021-02-05 Stefan Kangas + + Assume font-lock-mode variable is not void + + * lisp/align.el (align-rules-list): + * lisp/cedet/semantic/idle.el + (semantic-idle-summary-useful-context-p): + * lisp/org/org-table.el (org-table-edit-field): + * lisp/org/org.el (org-restart-font-lock): + * lisp/progmodes/antlr-mode.el (antlr-language-option-extra): + * lisp/progmodes/idlwave.el (idlwave-choose): + * lisp/progmodes/sql.el (sql-product-font-lock): + * lisp/progmodes/verilog-mode.el + (verilog-save-font-no-change-functions, verilog-preprocess): + * lisp/vc/cvs-status.el: + * lisp/vc/smerge-mode.el (smerge-mode): + * lisp/woman.el (woman-decode-buffer): Assume font-lock-mode variable + is not void; it is preloaded. + +2021-02-05 Dmitry Gutov + + Fix the previous change + + * lisp/progmodes/project.el (project-find-regexp): + Fix the previous change (project-root is not defined in this version). + (project-or-external-find-regexp): Same. + +2021-02-04 Harald Jörg + + cperl-mode: eliminate dead code + + * lisp/progmodes/cperl-mode.el (cperl-update-syntaxification): + Eliminate check for `syntax-propertize-rules` (always true) + and eliminate unused first parameter. + (cperl-mode): Eliminate obsolete `font-lock-syntactic-keywords`, + Eliminate check for `syntax-propertize-rules` (always true). + (cperl-fontify-syntaxically): Eliminate call to + no-longer-existing function `edebug-backtrace` (bug#46302). + +2021-02-04 Eli Zaretskii + + Avoid overwriting minibuffer prompt by keystrokes echo + + * src/lread.c (Fread_char, Fread_event, Fread_char_exclusive): + Call cancel_echoing to make sure the prompt is not obscured by + keystrokes echo. (Bug#46243) + +2021-02-04 Lars Ingebrigtsen + + Deactivate region in `C-c C-r' in python-mode + + * lisp/progmodes/python.el (python-shell-send-region): Deactivate + mark after executing (bug#28789). This is how this command worked + in Emacs 24, apparently. + +2021-02-04 Eli Zaretskii + + Fix 'window-text-pixel-size' for short spans of text + + * src/xdisp.c (Fwindow_text_pixel_size): Support the use case + where FROM and TO belong to the same screen line. Reported by + Yuan Fu . + +2021-02-04 Lars Ingebrigtsen + + Improve filling of Emacs Lisp doc strings + + * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): When filling + a Lisp string, try to avoid filling bits that follow it + (bug#28937). + +2021-02-04 Lars Ingebrigtsen + + Allow a :variable keyword in define-globalized-minor-mode + + * doc/lispref/modes.texi (Defining Minor Modes): Document it. + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Allow specifying a :variable to be used if the underlying mode has + a divergent variable to store the state (bug#29081). + +2021-02-04 Lars Ingebrigtsen + + Fix previous ibuffer patch + + * lisp/ibuffer.el (ibuffer-last-sorting-mode): Restore variable + removed by mistake in previous change. + +2021-02-04 Lars Ingebrigtsen + + Make the recency sorting stable when we have inverted sorting + + * lisp/ibuffer.el (recency): Remove. + (recency): New macro function so that sorting by recency is + stable when inverted sorting is switched on (bug#30129). + +2021-02-04 Lars Ingebrigtsen + + Revert "Tweak how ibuffer-invert-sorting updates the buffer" + + This reverts commit b8b3263eab688b97530a7bf7d565b084df56ea08. + + This doesn't fix other instances of ibuffer-redisplay + +2021-02-04 Lars Ingebrigtsen + + Tweak how ibuffer-invert-sorting updates the buffer + + * lisp/ibuf-ext.el (ibuffer-invert-sorting): Enable calling this + function repeatedly with more predictable results (bug#30129). + +2021-02-04 Lars Ingebrigtsen + + Don't ask the user to make a bug report on missing arglists + + * lisp/help-fns.el (help-fns--signature): Don't ask the user to + make a bug report (bug#30223) because the symbol may very well be + one that the user has defined themselves. + (help-fns-function-description-header): Ditto. + +2021-02-04 Lars Ingebrigtsen + + Clarify the "Sentinels" node in the lispref manual + + * doc/lispref/processes.texi (Sentinels): Mention "run" and that + the strings can be anything (bug#30461). + +2021-02-04 Lars Ingebrigtsen + + Allow eshell to have an "erasedups"-like history + + * lisp/eshell/em-hist.el (eshell-add-input-to-history): Use the + new value (bug#30466). + (eshell-hist-ignoredups): Allow "erasedups"-like value. + +2021-02-04 Robert Pluim + + Update description of 'tramp-crypt-remove-directory' + + * doc/misc/tramp.texi (Keeping files encrypted): Correct name of + function to use to indicate files should no longer be encrypted, + and update its description. + +2021-02-04 Lars Ingebrigtsen + + Be stricter when going back to the previous node in Info-find-node-2 + + * lisp/info.el (Info-find-node-2): When going back to the previous + node, be strict (bug#31137) since we have the exact node name. + +2021-02-04 Juri Linkov + + * lisp/replace.el (occur-rename-buffer): Check for overlay (bug#46268). + + (occur-1): Don't use occur--garbage-collect-revert-args + when reverting the Occur buffer with same bufs. + +2021-02-04 Lars Ingebrigtsen + + Fix epg filtering out keys that contain revoked IDs + + * lisp/epg.el (epg--filter-revoked-keys): Only filter out the + revoked user ids, not the entire key that contains revoked user + ids (bug#46138). + +2021-02-04 Stefan Kangas + + Don't set removed variable facemenu-unlisted-faces + + * lisp/vc/ediff-init.el (ediff-hide-face): Redefine as obsolete + function alias for 'ignore'; the variable 'facemenu-unlisted-faces' + was removed in Emacs 22. Remove all calls. + + * lisp/mh-e/mh-e.el: Add comment saying that the variable + 'facemenu-unlisted-faces' is removed. + +2021-02-04 Stefan Kangas + + * lisp/man.el (Man-notify-method): Remove Emacs 19.28 compat code. + +2021-02-04 Stefan Kangas + + Use require instead of boundp+load-library in double.el + + * lisp/double.el (isearch): Use require instead of + boundp+load-library. + +2021-02-04 Stefan Kangas + + Remove some unnecessary references to Emacs 19 + + * lisp/emacs-lisp/elp.el: + * lisp/mouse-copy.el: + * lisp/mouse-drag.el: + * lisp/progmodes/simula.el (simula-mode-map): + * lisp/term.el (term-matching-input-from-input-string): + * lisp/vcursor.el: Doc fix; don't mention Emacs 19. + +2021-02-04 Stefan Kangas + + Remove XEmacs compat code from edebug.el + + * lisp/emacs-lisp/edebug.el (edebug-window-live-p, edebug-mark): + Make obsolete. Update callers. + +2021-02-04 Dmitry Gutov + + Bind default-directory to the project root + + * lisp/progmodes/project.el (project-find-regexp): + Bind default-directory to the project root, to save this value + in the resulting buffer (esp. if the project selector was used, + (https://lists.gnu.org/archive/html/emacs-devel/2021-02/msg00140.html). + (project-or-external-find-regexp): Same. + +2021-02-03 Andrea Corallo + + * Remove `system-configuration' from eln filename + + * src/comp.c (hash_native_abi): Remove `system-configuration' + from eln filename. Add `system-configuration' and + `emacs-version' into `comp-abi-hash'. + +2021-02-03 Andrea Corallo + + * Short eln filename hashes + + * src/comp.c (HASH_LENGTH): New macro. + (comp_hash_string, comp_hash_source_file): Trim the hash before + returning. + +2021-02-03 Michael Albinus + + Tramp code cleanup + + * lisp/net/tramp.el (tramp-signal-hook-function) + (tramp-handle-access-file, tramp-handle-copy-directory) + (tramp-handle-directory-files, tramp-handle-file-local-copy) + (tramp-handle-insert-file-contents, tramp-handle-load): + * lisp/net/tramp-adb.el (tramp-adb-handle-directory-files-and-attributes) + (tramp-adb-handle-make-directory) + (tramp-adb-handle-file-local-copy, tramp-adb-handle-copy-file) + (tramp-adb-handle-rename-file): + * lisp/net/tramp-crypt.el (tramp-crypt-do-copy-or-rename-file) + (tramp-crypt-handle-directory-files) + (tramp-crypt-handle-make-directory): + * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-event-error) + (tramp-gvfs-do-copy-or-rename-file) + (tramp-gvfs-handle-make-directory): + * lisp/net/tramp-rclone.el (tramp-rclone-do-copy-or-rename-file) + (tramp-rclone-handle-directory-files): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link) + (tramp-sh-handle-directory-files-and-attributes) + (tramp-sh-handle-file-name-all-completions) + (tramp-sh-handle-copy-directory, tramp-do-copy-or-rename-file) + (tramp-sh-handle-make-directory) + (tramp-sh-handle-file-local-copy) + (tramp-sh-inotifywait-process-filter): + * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory) + (tramp-smb-handle-copy-file, tramp-smb-handle-directory-files) + (tramp-smb-handle-file-local-copy) + (tramp-smb-handle-make-directory, tramp-smb-handle-rename-file): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file): + Unify error report. + + * lisp/net/tramp-adb.el (tramp-adb-file-name-handler): Sync args + with other `tramp-*-file-name-handler'. + + * lisp/net/tramp-compat.el (tramp-error): Declare. + (tramp-compat-file-missing): New defsubst. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): + Handle volatile files. + (tramp-gvfs-set-attribute): New defun. + (tramp-gvfs-handle-set-file-modes) + (tramp-gvfs-handle-set-file-times) + (tramp-gvfs-handle-set-file-uid-gid): Use it. + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): + Use `msg-operation'. + + * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory): + Remove superfluous `format: + (tramp-smb-maybe-open-connection): Simplify loop. + + * lisp/net/tramp.el (tramp-handle-file-truename): Drop volume letter from + symlinked files. + + * test/lisp/net/tramp-tests.el (tramp--test-gdrive-p): New defun. + (tramp--test-nextcloud-p): Remove. + (tramp-test40-special-characters-with-ls): Do not skip on MS Windows. + (tramp-test41-utf8): Skip if needed. + +2021-02-03 Glenn Morris + + Merge from origin/emacs-27 + + 7355209f53 (origin/emacs-27) * lisp/window.el (recenter-top-bottom): ... + dc78f8a4ea (emacs-27) url-http.el: Special-case NTLM authentication + 85b0137858 * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom ... + cbeda21083 Sync latest SKK-JISYO.L + +2021-02-03 Glenn Morris + + Merge from origin/emacs-27 + + 9c75434173 Fix build failure on macOS 10.7 (bug#46036) + ca44ea18ef Improve documentation of auto-resize-tool/tab-bars + +2021-02-03 Glenn Morris + + Merge from origin/emacs-27 + + 74a71c41e0 (tag: emacs-27.1.91) Update files for 27.1.91 pretest + + # Conflicts: + # ChangeLog.3 + # etc/AUTHORS + # lisp/ldefs-boot.el + +2021-02-03 Lars Ingebrigtsen + + Make backslash characters no longer escape in `f90-mode' + + * lisp/progmodes/f90.el (f90-backslash-not-special): Make obsolete + (bug#32766). + (f90-mode-syntax-table): Make the backslash be a normal + (non-escape) character, which is the default since about 2007 (and + F2K): https://gcc.gnu.org/bugzilla/show_bug.cgi?id=34203 + +2021-02-03 Wilson Snyder + + Update lisp/progmodes/verilog-mode.el + + * lisp/progmodes/verilog-mode.el: Cleanup compile-time warning + suppression. Use underscore for unused arguments and other style + cleanups. Use '# for function references. By Stefan Monnier. + (verilog-auto-reset, verilog-sig-tieoff): + Fix AUTORESET '0 (#1714). Reported by Paul Adams. + (verilog-simplify-range-expression): + Fix AUTOWIRE simplifying X/Y where there is a remainder (#1712). + Reported by Joachim Lechner. + (verilog-read-sub-decls-expr): + Fix multiplication in multidimensional AUTOINST output (#1698). + Reported by alanamckee. + (verilog-at-constraint-p, verilog-at-streaming-op-p, verilog-streaming-op-re): + Add streaming operator support (#1692) (#1516), + (verilog-auto-assign-modport, verilog-auto-inout-modport): + Support adding prefix to AUTOASSIGNMODPORT and AUTOINOUTMODPORT (#1690). + (verilog-signals-matching-dir-re): + Fix error when matching regexp with 2D packed memory. + Reported by Chris DeMarco. + (verilog-declaration-core-re): Allow parameter + declaration statements to align like any other declaration (#1683). + Suggested by Vinam Arora. + (verilog-auto-inout, verilog-auto-inout-in) + (verilog-auto-inout-module, verilog-auto-input, verilog-auto-inst) + (verilog-auto-inst-param, verilog-auto-output-every) + (verilog-signals-matching-regexp) + (verilog-signals-not-matching-regexp): + When "?!" is at the front of a signal-matching regexp, invert it. + (verilog-declaration-varname-matcher) + (verilog-highlight-max-lookahead, verilog-mode) + (verilog-single-declaration-end) (verilog-font-lock-keywords-1): + Improve syntax highlighting in declaration statements, and support + multi-line declarations, #1681. Reported by Vinam Arora. + +2021-02-02 Alan Mackenzie + + CC Mode: Prevent "const" inside an identifier being recognized as the keyword + + This fixes bug #45560. + + * lisp/progmodes/cc-engine.el (c-forward-declarator) + (c-forward-decl-or-cast-1): Amend certain regexp match numbers on account of + the change below. Surround some looking-at calls with save-match-data. + + * lisp/progmodes/cc-langs.el (c-type-decl-prefix-keywords-key): New lang + const. + (c-type-decl-prefix-key): Reformulate to match operators and keywords + separately, using the new lang const (above). + +2021-02-02 Stefan Monnier + + * lisp/gnus/gnus-art.el: Fix misuse of `standard-value`. + + * lisp/custom.el (custom--standard-value): New function. + + * lisp/gnus/gnus-art.el: (gnus-article-browse-html-parts) + (gnus-article-browse-html-article): + * lisp/dired-aux.el (dired-do-find-regexp-and-replace): + * lisp/emacs-lisp/package-x.el (package-upload-buffer-internal): + * lisp/startup.el (command-line): Use it. + +2021-02-02 Stefan Monnier + + * lisp/gnus/gnus-group.el: Fix a regression due to lexical scoping + + (gnus-group-highlight): Improve docstring. + (gnus-group-update-eval-form): Add `group` and `method` to the vars + provided to `eval`. + +2021-02-02 Eli Zaretskii + + * lisp/window.el (recenter-top-bottom): Clarify doc string. + +2021-02-02 Lars Ingebrigtsen + + Handle errors in `comint-strip-ctrl-m' in some cases + + * lisp/comint.el (comint-strip-ctrl-m): Don't signal errors when + used noninteractively (bug#33115). + +2021-02-02 Stefan Monnier + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Also set `comment-end-skip` + +2021-02-02 chuntaro (tiny change) + + Fix |# fontification in lisp-mode + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Give the |# the + correct (font-lock-comment-delimited-face) face (bug#39820). + +2021-02-02 Lars Ingebrigtsen + + Have `dired-mode' refer to Customize instead of listing some variables + + * lisp/dired.el (dired-mode): Punt to Customize instead of listing + some of the dired variables (bug#46239). + +2021-02-02 Stefan Kangas + + Prefer defvar-local in remaining libraries + + * lisp/align.el (align-mode-rules-list) + (align-mode-exclude-rules-list): + * lisp/bookmark.el (bookmark-current-bookmark) + (bookmark-annotation-name) + (bookmark--annotation-from-bookmark-list): + * lisp/calc/calc-embed.el (calc-embedded-all-active) + (calc-embedded-some-active): + * lisp/comint.el (comint-password-function): + * lisp/completion.el (completion-syntax-table): + * lisp/dframe.el (dframe-track-mouse-function) + (dframe-help-echo-function, dframe-mouse-click-function) + (dframe-mouse-position-function, dframe-timer) + (dframe-attached-frame, dframe-controlled): + * lisp/ehelp.el (electric-help-orig-major-mode): + * lisp/eshell/esh-util.el (eshell-path-env): + * lisp/expand.el (expand-pos, expand-index, expand-point): + * lisp/face-remap.el (text-scale-mode-remapping) + (text-scale-mode-lighter, text-scale-mode-amount) + (text-scale-remap-header-line, buffer-face-mode-remapping): + * lisp/ffap.el (ffap-menu-alist): + * lisp/files-x.el (connection-local-variables-alist): + * lisp/foldout.el (foldout-fold-list, foldout-mode-line-string): + * lisp/follow.el (follow-start-end-invalid): + * lisp/forms.el (forms--mode-setup): + * lisp/gnus/message.el (message-cross-post-old-target) + (message-options): + * lisp/help-mode.el (help-xref-stack, help-xref-forward-stack) + (help-xref-stack-item, help-xref-stack-forward-item): + * lisp/hexl.el (hexl-mode--old-var-vals, hexl-ascii-overlay): + * lisp/hilit-chg.el (hilit-chg-string): + * lisp/ido.el (ido-eoinput): + * lisp/imenu.el (imenu-generic-expression) + (imenu-create-index-function, imenu-default-goto-function) + (imenu-prev-index-position-function) + (imenu-extract-index-name-function, imenu-name-lookup-function) + (imenu-syntax-alist, imenu-case-fold-search): + * lisp/jka-compr.el (jka-compr-really-do-compress): + * lisp/language/ethio-util.el (ethio-prefer-ascii-space): + * lisp/leim/quail/hangul.el (hangul-input-method-help-text): + * lisp/leim/quail/japanese.el (quail-japanese-package-saved): + * lisp/linum.el (linum-overlays, linum-available): + * lisp/man.el (Man-original-frame, Man-arguments, Man--sections) + (Man--refpages, Man-page-list, Man-current-page) + (Man-page-mode-string): + * lisp/pcomplete.el (pcomplete-current-completions) + (pcomplete-last-completion-length) + (pcomplete-last-completion-stub, pcomplete-last-completion-raw) + (pcomplete-last-window-config, pcomplete-window-restore-timer): + * lisp/reveal.el (reveal-open-spots, reveal-last-tick): + * lisp/ruler-mode.el (ruler-mode): + * lisp/scroll-lock.el (scroll-lock-preserve-screen-pos-save): + * lisp/server.el (server-buffer-clients, server-existing-buffer): + * lisp/tab-line.el (tab-line-exclude): + * lisp/tar-mode.el (tar-data-buffer, tar-data-swapped): + * lisp/thumbs.el (thumbs-current-tmp-filename) + (thumbs-current-image-filename, thumbs-extra-images) + (thumbs-image-num, thumbs-buffer, thumbs-marked-list): + * lisp/tutorial.el (tutorial--point-before-chkeys) + (tutorial--point-after-chkeys, tutorial--lang): + * lisp/url/url-vars.el (url-current-object) + (url-current-mime-headers, url-current-lastloc): + * lisp/view.el (view-mode, view-old-buffer-read-only) + (view-old-Helper-return-blurb, view-page-size) + (view-half-page-size, view-last-regexp, view-return-to-alist) + (view-exit-action, view-overlay): + * lisp/wid-edit.el (widget-global-map, widget-field-new) + (widget-field-list, widget-field-last, widget-field-was): + * lisp/woman.el (woman-imenu-done): Prefer defvar-local. + +2021-02-02 Stefan Kangas + + Remove redundant :group args in play/*.el + + * lisp/play/bubbles.el: + * lisp/play/cookie1.el: + * lisp/play/decipher.el: + * lisp/play/dunnet.el: + * lisp/play/gametree.el: + * lisp/play/gomoku.el: + * lisp/play/hanoi.el: Remove redundant :group args. + +2021-02-02 Sean Whitton + + Bind 'revert-buffer' to 'C-x g' globally + + * lisp/bindings.el: Bind 'revert-buffer' to 'C-x g' globally. + * doc/emacs/files.texi: Replace 'M-x revert-buffer' with 'C-x g'. + * etc/NEWS: Document the change (bug#46151). + +2021-02-02 Lars Ingebrigtsen + + Fix up invalid_syntax error signalling + + * src/lread.c (invalid_syntax_lisp): Instead of putting the + line/column in a string, signal an error containing the numbers as + data. This allows for easier post-processing and is how other + similar errors (like (forward-sexp 1)) do it. + +2021-02-02 Dmitry Gutov + + ruby-syntax-propertize: Fix certain cases following :: + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Make sure to backtrack if the "symbols with special characters" + rule is aborted because of preceding colon. + +2021-02-01 Lars Ingebrigtsen + + Make syntax errors say the line/column they appear at + + * src/lisp.h: Add count_lines prototype. + * src/lread.c (invalid_syntax_lisp): New function (bug#36970). + (invalid_syntax): Extend function to take a readcharfun parameter. + (read_emacs_mule_char, character_name_to_code): Pass in. + (read_escape, invalid_radix_integer, read1): Ditto. + + * src/xdisp.c (count_lines): Add a more succinct shim over + display_count_lines. + +2021-02-01 Stefan Kangas + + * test/src/minibuf-tests.el (test-inhibit-interaction): Fix test. + +2021-02-01 Stefan Kangas + + Remove another variable obsolete since Emacs 23.2 + + * src/keymap.c (syms_of_keymap, Fdefine_key): + * lisp/subr.el (define-key-rebound-commands): Remove variable obsolete + since Emacs 23.2. + +2021-02-01 Stefan Kangas + + * lisp/hi-lock.el (hi-lock-mode): Doc fix; don't mention Emacs 21. + +2021-02-01 Stefan Kangas + + Make XEmacs compat alias obsolete in allout-widgets.el + + * lisp/allout-widgets.el (allout-frame-property): Redefine compat + alias as obsolete function alias for 'frame-parameter'. + (allout-fetch-icon-image): Update caller. + +2021-02-01 Stefan Kangas + + Redefine two functions as regular defuns + + * lisp/dframe.el (dframe-popup-kludge, dframe-mouse-event-p): + Redefine as regular defun. + +2021-02-01 Stefan Kangas + + Make two eshell aliases obsolete + + * lisp/eshell/esh-util.el (eshell-user-name): Redefine as obsolete + function alias for 'user-login-name'. + (eshell-copy-tree): Redefine as obsolete function alias for + 'copy-tree'. + * lisp/eshell/esh-cmd.el (eshell-do-eval): Don't use above + obsolete alias. + +2021-02-01 Stefan Kangas + + Add cross-references to defvar-local + + * src/data.c (Fmake_variable_buffer_local): + * src/eval.c (Fdefvar): Add cross-references to 'defvar-local'. + +2021-02-01 Lars Ingebrigtsen + + Fix indentation of non-comment HTML with -- in it + + * lisp/textmodes/sgml-mode.el (sgml-comment-indent-new-line): Only + indent as if we're in a comment if syntax-ppss says that we're in + a comment (bug#36227). + +2021-02-01 Stefan Monnier + + * lisp/eshell/em-cmpl.el (eshell--complete-commands-list): Fix last fix + + Complete `*firef` to `*firefox` rather than to `firefox`. + +2021-02-01 Stefan Monnier + + * lisp/eshell/em-cmpl.el: Try and fix bug#41423 + + (eshell--complete-commands-list): Rename from `eshell-complete-commands-list`. + Return a (dynamic) completion table rather than a list of completions. + Use `dolist` and `push`. + +2021-02-01 Thomas Fitzsimmons + + url-http.el: Special-case NTLM authentication + + * lisp/url/url-http.el (url-http-handle-authentication): Do not + signal an error on NTLM authorization strings. (Bug#43566) + +2021-02-01 Stefan Monnier + + * admin/*.el: Use lexical-binding + + * admin/admin.el: Use lexical-binding. + (manual-misc-manuals): Pass a limit to `looking-back`. + (reminder-for-release-blocking-bugs): Don't use `_` for a real variable. + + * admin/authors.el: Use lexical-binding. + (authors-disambiguate-file-name): Remove unused var `parent`. + + * admin/cus-test.el: + * admin/find-gc.el: + * admin/gitmerge.el: Use lexical-binding. + +2021-01-31 Stefan Monnier + + Merge remote-tracking branch 'origin/scratch/lexical-gnus' into trunk + +2021-01-31 Stefan Monnier + + * lisp/gnus/gnus-group.el: Defvar all the `gnus-tmp-*` vars + + These were collected via + + sed -n -e 's/.*\(gnus-tmp-[^ ()]*\).*/(defvar \1)/p' \ + lisp/gnus/gnus-group.el + +2021-01-31 Juri Linkov + + * lisp/isearch.el (isearch-lazy-highlight): Fix defcustom type (bug#46208) + +2021-01-31 Stefan Kangas + + Prefer defvar-local in preloaded files + + * lisp/abbrev.el: + * lisp/bindings.el (mode-line-mule-info, mode-line-modified) + (mode-line-remote, mode-line-process) + (mode-line-buffer-identification): + * lisp/buff-menu.el (Buffer-menu-files-only): + * lisp/files.el (buffer-file-number, buffer-file-read-only) + (local-write-file-hooks, write-contents-functions) + (file-local-variables-alist, dir-local-variables-alist) + (save-buffer-coding-system, buffer-save-without-query): + * lisp/font-core.el (font-lock-defaults): + * lisp/font-lock.el (font-lock-keywords-case-fold-search) + (font-lock-syntactically-fontified) + (font-lock-extend-after-change-region-function) + (font-lock-extend-region-functions, font-lock-major-mode): + * lisp/menu-bar.el (list-buffers-directory): + * lisp/simple.el (next-error--message-highlight-overlay) + (next-error-buffer, next-error-function) + (next-error-move-function, goto-line-history) + (minibuffer-default-add-done, undo-extra-outer-limit): + * lisp/tab-bar.el (tab-switcher-column): + * lisp/term/ns-win.el (ns-select-overlay): + * lisp/window.el (window-size-fixed, window-area-factor) + (window-group-start-function, window-group-end-function) + (set-window-group-start-function) + (recenter-window-group-function) + (pos-visible-in-window-group-p-function) + (selected-window-group-function) + (move-to-window-group-line-function): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in mail/*.el + + * lisp/mail/emacsbug.el (report-emacs-bug-send-command) + (report-emacs-bug-send-hook): + * lisp/mail/reporter.el (reporter-initial-text): + * lisp/mail/supercite.el (sc-mail-info, sc-attributions): + * lisp/mail/rmail.el (rmail-buffer-swapped, rmail-view-buffer): + Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in progmodes/*.el + + This skips libraries that might want compatibility with Emacs 24.2. + + * lisp/progmodes/compile.el (compilation-auto-jump-to-next) + (compilation--previous-directory-cache, compilation--parsed) + (compilation-gcpro): + * lisp/progmodes/cpp.el (cpp-overlay-list, cpp-edit-buffer) + (cpp-parse-symbols, cpp-edit-symbols): + * lisp/progmodes/ebnf2ps.el (ebnf-eps-upper-x, ebnf-eps-upper-y) + (ebnf-eps-prod-width, ebnf-eps-max-height, ebnf-eps-max-width): + * lisp/progmodes/f90.el (f90-cache-position): + * lisp/progmodes/gud.el (gud-marker-acc): + * lisp/progmodes/js.el (js--quick-match-re) + (js--quick-match-re-func, js--cache-end, js--last-parse-pos) + (js--state-at-last-parse-pos, js--tmp-location): + * lisp/progmodes/octave.el (inferior-octave-directory-tracker-resync): + * lisp/progmodes/sh-script.el (sh-header-marker): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in textmodes/*.el + + This skips libraries that might want compatibility with Emacs 24.2. + + * lisp/textmodes/artist.el (artist-curr-go) + (artist-line-char-set, artist-line-char, artist-fill-char-set) + (artist-fill-char, artist-erase-char, artist-default-fill-char) + (artist-draw-region-min-y, artist-draw-region-max-y) + (artist-borderless-shapes): + * lisp/textmodes/css-mode.el (css--at-ids, css--bang-ids) + (css--nested-selectors-allowed): + * lisp/textmodes/enriched.el (enriched-old-bindings): + * lisp/textmodes/flyspell.el (flyspell-generic-check-word-predicate) + (flyspell-consider-dash-as-word-delimiter-flag) + (flyspell-dash-dictionary, flyspell-dash-local-dictionary) + (flyspell-word-cache-start, flyspell-word-cache-end) + (flyspell-word-cache-word, flyspell-word-cache-result) + (flyspell-changes, flyspell-auto-correct-pos) + (flyspell-auto-correct-region, flyspell-auto-correct-ring) + (flyspell-auto-correct-word): + * lisp/textmodes/ispell.el (ispell-local-dictionary-overridden) + (ispell-local-pdict, ispell-buffer-session-localwords): + * lisp/textmodes/refill.el (refill-ignorable-overlay) + (refill-doit): + * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache) + (html--buffer-ids-cache): + * lisp/textmodes/table.el (table-mode-indicator): + * lisp/textmodes/tex-mode.el (tex-send-command-modified-tick): + * lisp/textmodes/two-column.el (2C-autoscroll-start, 2C-mode): + Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in cedet + + * lisp/cedet/ede.el (ede-object-root-project) + (ede-object-project, ede-object): + * lisp/cedet/mode-local.el (mode-local-symbol-table): + * lisp/cedet/semantic.el (semantic--parse-table) + (semantic-symbol->name-assoc-list) + (semantic-symbol->name-assoc-list-for-type-parts) + (semantic-case-fold, semantic--buffer-cache) + (semantic-unmatched-syntax-cache) + (semantic-unmatched-syntax-cache-check, semantic-parser-name) + (semantic--completion-cache, semantic-parse-tree-state) + (semantic-init-mode-hook, semantic-parser-warnings): + * lisp/cedet/semantic/bovine.el + (semantic-bovinate-nonterminal-check-obarray): + * lisp/cedet/semantic/complete.el (semantic-collector-per-buffer-list): + * lisp/cedet/semantic/ctxt.el (semantic-command-separation-character) + (semantic-function-argument-separation-character): + * lisp/cedet/semantic/db-find.el (semanticdb-find-lost-includes) + (semanticdb-find-scanned-include-tags): + * lisp/cedet/semantic/db.el (semanticdb-new-database-class) + (semanticdb-default-find-index-class) + (semanticdb-current-database, semanticdb-current-table) + (semanticdb-project-system-databases) + (semanticdb-out-of-buffer-create-table-fcn): + * lisp/cedet/semantic/debug.el (semantic-debug-parser-source) + (semantic-debug-parser-class) + (semantic-debug-parser-debugger-source): + * lisp/cedet/semantic/dep.el (semantic-dependency-include-path) + (semantic-dependency-system-include-path): + * lisp/cedet/semantic/format.el (semantic-function-argument-separator) + (semantic-format-parent-separator): + * lisp/cedet/semantic/fw.el (semantic-new-buffer-fcn-was-run): + * lisp/cedet/semantic/grammar.el (semantic-grammar-macros) + (semantic--grammar-macros-regexp-1) + (semantic--grammar-macros-regexp-2): + * lisp/cedet/semantic/idle.el (semantic-idle-scheduler-mode): + * lisp/cedet/semantic/imenu.el (semantic-imenu-expandable-tag-classes): + * lisp/cedet/semantic/lex-spp.el + (semantic-lex-spp-macro-symbol-obarray) + (semantic-lex-spp-project-macro-symbol-obarray) + (semantic-lex-spp-dynamic-macro-symbol-obarray) + (semantic-lex-spp-dynamic-macro-symbol-obarray-stack): + * lisp/cedet/semantic/lex.el (semantic-flex-keywords-obarray) + (semantic-lex-types-obarray, semantic-lex-analyzer) + (semantic-lex-syntax-modifications, semantic-lex-syntax-table) + (semantic-lex-comment-regex, semantic-lex-number-expression) + (semantic-lex-depth, semantic-flex-extensions) + (semantic-flex-syntax-modifications, semantic-ignore-comments) + (semantic-flex-enable-newlines, semantic-flex-enable-whitespace) + (semantic-flex-enable-bol, semantic-number-expression) + (semantic-flex-depth): + * lisp/cedet/semantic/senator.el (senator-isearch-semantic-mode): + * lisp/cedet/semantic/sort.el + (semantic-orphaned-member-metaparent-type): + * lisp/cedet/semantic/tag.el (semantic-tag-expand-function): + * lisp/cedet/semantic/util-modes.el (semantic-show-parser-state-string) + (semantic-stickyfunc-sticky-classes) + (semantic-highlight-func-ct-overlay): + * lisp/cedet/semantic/util.el + (semantic-type-relation-separator-character) + (semantic-equivalent-major-modes): + * lisp/cedet/semantic/wisent.el (wisent-error-function) + (wisent-lexer-function): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in net/*.el + + * lisp/net/browse-url.el (browse-url-temp-file-name): + * lisp/net/rcirc.el (rcirc-ignore-buffer-activity-flag) + (rcirc-low-priority-flag, rcirc-parent-buffer) + (rcirc-activity-types, rcirc-last-sender): + * lisp/net/soap-inspect.el (soap-inspect-previous-items) + (soap-inspect-current-item): + * lisp/net/telnet.el (telnet-remote-echoes) + (telnet-interrupt-string, telnet-count): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in vc/*.el + + * lisp/vc/ediff-diff.el (ediff-whitespace, ediff-word-1) + (ediff-word-2, ediff-word-3, ediff-word-4): + * lisp/vc/ediff-init.el (ediff-defvar-local): + * lisp/vc/smerge-mode.el (smerge-check-cache): + * lisp/vc/vc-bzr.el (vc-bzr-annotation-table): + * lisp/vc/vc-dispatcher.el (vc-mode-line-hook): Prefer defvar-local. + +2021-01-31 Philipp Stephani + + * etc/MACHINES: Document that we support AArch64 with macOS. + +2021-01-31 Alan Mackenzie + + Minimise the time Vminibuffer_list is in an inconsistent state (src/minibuf.c) + + src/minibuf.c (get_minibuffer): Move the XSETCAR which writes the new + minibuffer into Vminibuffer_list to immediately after the MB's creation, so + that the list is in a consistent state before calling fundamental-mode or + minibuffer-inactive-mode. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in international/*.el + + * lisp/international/mule-cmds.el (current-input-method) + (current-input-method-title, current-transient-input-method) + (previous-transient-input-method, input-method-history) + (deactivate-current-input-method-function) + (describe-current-input-method-function): + * lisp/international/mule.el (buffer-file-coding-system-explicit): + * lisp/international/quail.el (quail-current-package) + (quail-guidance-str, quail-overlay, quail-conv-overlay) + (quail-current-key, quail-current-str) + (quail-current-translations, quail-current-data): + * lisp/international/robin.el (robin-mode) + (robin-current-package-name): Prefer defvar-local in + international/*.el. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in nxml/*.el + + * lisp/nxml/rng-cmpct.el (rng-c-current-token) + (rng-c-escape-positions, rng-c-file-name): + * lisp/nxml/rng-pttrn.el (rng-current-schema): + * lisp/nxml/rng-valid.el (rng-validate-timer) + (rng-validate-quick-timer, rng-error-count, rng-message-overlay) + (rng-message-overlay-inhibit-point, rng-message-overlay-current) + (rng-validate-up-to-date-end, rng-conditional-up-to-date-start) + (rng-conditional-up-to-date-end, rng-dtd): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in emacs-lisp/*.el + + * lisp/emacs-lisp/chart.el (chart-local-object): + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): + * lisp/emacs-lisp/edebug.el: + * lisp/emacs-lisp/generic.el (generic-font-lock-keywords): + * lisp/emacs-lisp/re-builder.el (reb-regexp, reb-regexp-src) + (reb-overlays): + * lisp/emacs-lisp/syntax.el + (syntax-propertize-extend-region-functions): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in allout + + * lisp/allout.el (allout-just-did-undo, allout-mode) + (allout-layout, allout-regexp, allout-bullets-string) + (allout-bullets-string-len, allout-depth-specific-regexp) + (allout-depth-one-regexp, allout-line-boundary-regexp) + (allout-bob-regexp, allout-header-subtraction) + (allout-plain-bullets-string-len, allout-mode-prior-settings) + (allout-outside-normal-auto-fill-function) + (allout-encryption-plaintext-sanitization-regexps) + (allout-encryption-ciphertext-rejection-regexps) + (allout-explicitly-deactivated, allout-recent-prefix-beginning) + (allout-recent-prefix-end, allout-recent-depth) + (allout-recent-end-of-subtree, allout-post-goto-bullet) + (allout-command-counter, allout-this-command-hid-text): + * lisp/allout-widgets.el (allout-widgets-mode) + (allout-widgets-tally, allout-widgets-mode-inhibit) + (allout-inhibit-body-modification-hook) + (allout-widgets-changes-record) + (allout-widgets-undo-exposure-record) + (allout-escaped-prefix-regexp, allout-item-icon-keymap) + (allout-item-body-keymap, allout-cue-span-keymap) + (allout-widgets-last-decoration-timing) + (allout-container-item-widget): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in cua + + * lisp/emulation/cua-base.el (cua-inhibit-cua-keys) + (cua--status-string): + * lisp/emulation/cua-rect.el (cua--rectangle) + (cua--rectangle-overlays): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Obsolete viper-deflocalvar for defvar-local + + * lisp/emulation/viper-init.el (viper-deflocalvar): Make obsolete. + Use defvar-local. + + * lisp/emulation/viper-cmd.el (viper--undo-change-group-handle): + * lisp/emulation/viper-init.el (viper-vi-intercept-minor-mode) + (viper-vi-basic-minor-mode, viper-vi-local-user-minor-mode) + (viper-vi-global-user-minor-mode) + (viper-vi-state-modifier-minor-mode) + (viper-vi-diehard-minor-mode, viper-vi-kbd-minor-mode) + (viper-insert-intercept-minor-mode) + (viper-insert-basic-minor-mode) + (viper-insert-local-user-minor-mode) + (viper-insert-global-user-minor-mode) + (viper-insert-state-modifier-minor-mode) + (viper-insert-diehard-minor-mode, viper-insert-kbd-minor-mode) + (viper-replace-minor-mode, viper-emacs-intercept-minor-mode) + (viper-emacs-local-user-minor-mode) + (viper-emacs-global-user-minor-mode, viper-emacs-kbd-minor-mode) + (viper-emacs-state-modifier-minor-mode) + (viper-vi-minibuffer-minor-mode) + (viper-insert-minibuffer-minor-mode) + (viper-automatic-iso-accents, viper-special-input-method) + (viper-intermediate-command, viper-began-as-replace) + (viper-replace-overlay, viper-last-posn-in-replace-region) + (viper-last-posn-while-in-insert-state) + (viper-sitting-in-replace, viper-replace-chars-to-delete) + (viper-replace-region-chars-deleted, viper-current-state) + (viper-cted, viper-current-indent, viper-preserve-indent) + (viper-auto-indent, viper-electric-mode, viper-insert-point) + (viper-pre-command-point, viper-com-point) + (viper-ex-style-motion, viper-ex-style-editing) + (viper-ESC-moves-cursor-back, viper-delete-backwards-in-replace) + (viper-related-files-and-buffers-ring) + (viper-local-search-start-marker, viper-search-overlay) + (viper-last-jump, viper-last-jump-ignore) + (viper-minibuffer-current-face, viper-minibuffer-overlay): + * lisp/emulation/viper-keym.el (viper-vi-local-user-map) + (viper-insert-local-user-map, viper-emacs-local-user-map) + (viper--key-maps, viper-need-new-vi-local-map) + (viper-need-new-insert-local-map) + (viper-need-new-emacs-local-map): + * lisp/emulation/viper-mous.el (viper-mouse-click-search-noerror) + (viper-mouse-click-search-limit): + * lisp/emulation/viper-util.el (viper-non-word-characters) + (viper-ALPHA-char-class): + * lisp/emulation/viper.el: Use defvar-local instead of now obsolete + macro viper-deflocalvar. + +2021-01-31 Alan Mackenzie + + Don't attempt to display input method guidance in expired minibuffers + + This caused infinite waits in circumstances involving setting an input method + in a global minor mode. This commit fixes bug #45792. + + * lisp/international/quail.el (quail-show-guidance): Test the major mode is + not minibuffer-inactive-mode before proceding with the function. + +2021-01-31 Lars Ingebrigtsen + + execute-kbd-macro doc string clarification + + * src/macros.c (Fexecute_kbd_macro): Mention that the buffer is + (potentially) changed (bug#37396). + +2021-01-31 Lars Ingebrigtsen + + Make operating-system-release obsolete + + * lisp/subr.el (operating-system-release): Make obsolete + (bug#39940). There are no in-tree usages any more, and the data + doesn't seem all that interesting on its own. + +2021-01-31 Lars Ingebrigtsen + + Doc string improvements around `default-korean-keyboard' + + * lisp/language/korea-util.el (default-korean-keyboard): Mention + "Hangul" here for easier discoverability. + (toggle-korean-input-method, quail-hangul-switch-symbol-ksc) + (quail-hangul-switch-hanja): Mention the variable. + +2021-01-31 Lars Ingebrigtsen + + Revert "Improve fontifying of #| ... |# in `lisp-mode'" + + This reverts commit 1275dc4711af77c9c223063dcd149d782d497463. + + Setting comment-end isn't the correct thing to do -- it makes M-; insert that string. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in play/*.el + + * lisp/play/5x5.el + (5x5-grid, 5x5-x-pos, 5x5-y-pos, 5x5-moves, 5x5-cracking): + * lisp/play/decipher.el (decipher-alphabet) + (decipher-stats-buffer, decipher-undo-list-size) + (decipher-undo-list): + * lisp/play/gamegrid.el (gamegrid-use-glyphs) + (gamegrid-use-color, gamegrid-font, gamegrid-face) + (gamegrid-display-options, gamegrid-buffer-width) + (gamegrid-buffer-height, gamegrid-blank, gamegrid-timer) + (gamegrid-display-mode, gamegrid-display-table) + (gamegrid-face-table, gamegrid-buffer-start) + (gamegrid-score-file-length): + * lisp/play/snake.el (snake-length, snake-velocity-x) + (snake-velocity-y, snake-positions, snake-score, snake-paused) + (snake-moved-p, snake-velocity-queue): + * lisp/play/tetris.el (tetris-shape, tetris-rot) + (tetris-next-shape, tetris-n-shapes, tetris-n-rows) + (tetris-score, tetris-pos-x, tetris-pos-y, tetris-paused): + Prefer defvar-local. + + * lisp/play/5x5.el (5x5-defvar-local): Make obsolete. + +2021-01-31 Stefan Kangas + + Remove redundant defvar for artist-mode + + * lisp/textmodes/artist.el (artist-mode): Remove redundant + defvar; it is defined by define-minor-mode. + +2021-01-31 Stefan Kangas + + Prefer defvar-local in erc + + * lisp/erc/erc-backend.el (erc-server-current-nick) + (erc-server-process, erc-session-server, erc-session-connector) + (erc-session-port, erc-server-announced-name) + (erc-server-version, erc-server-parameters) + (erc-server-connected, erc-server-reconnect-count) + (erc-server-quitting, erc-server-reconnecting) + (erc-server-timed-out, erc-server-banned) + (erc-server-error-occurred, erc-server-lines-sent) + (erc-server-last-peers, erc-server-last-sent-time) + (erc-server-last-ping-time, erc-server-last-received-time) + (erc-server-lag, erc-server-filter-data, erc-server-duplicates) + (erc-server-processing-p, erc-server-flood-last-message) + (erc-server-flood-queue, erc-server-flood-timer) + (erc-server-ping-handler): + * lisp/erc/erc-capab.el (erc-capab-identify-activated) + (erc-capab-identify-sent): + * lisp/erc/erc-dcc.el (erc-dcc-byte-count, erc-dcc-entry-data) + (erc-dcc-file-name): + * lisp/erc/erc-ezbounce.el (erc-ezb-session-list): + * lisp/erc/erc-join.el (erc--autojoin-timer): + * lisp/erc/erc-netsplit.el (erc-netsplit-list): + * lisp/erc/erc-networks.el (erc-network): + * lisp/erc/erc-notify.el (erc-last-ison, erc-last-ison-time): + * lisp/erc/erc-ring.el (erc-input-ring, erc-input-ring-index): + * lisp/erc/erc-stamp.el (erc-timestamp-last-inserted) + (erc-timestamp-last-inserted-left) + (erc-timestamp-last-inserted-right): + * lisp/erc/erc.el (erc-session-password, erc-channel-users) + (erc-server-users, erc-channel-topic, erc-channel-modes) + (erc-insert-marker, erc-input-marker, erc-last-saved-position) + (erc-dbuf, erc-active-buffer, erc-default-recipients) + (erc-session-user-full-name, erc-channel-user-limit) + (erc-channel-key, erc-invitation, erc-channel-list) + (erc-bad-nick, erc-logged-in, erc-default-nicks) + (erc-nick-change-attempt-count, erc-send-input-line-function) + (erc-channel-new-member-names, erc-channel-banlist) + (erc-current-message-catalog): Prefer defvar-local. + +2021-01-31 Stefan Kangas + + Remove redundant requires of 'derived' + + * lisp/net/newst-backend.el (derived): + * lisp/net/newst-plainview.el (derived): + * lisp/play/gametree.el (derived): + * lisp/textmodes/less-css-mode.el (derived): Remove redundant require; + 'define-derived-mode' is autoloaded. + +2021-01-31 Stefan Kangas + + Sync latest SKK-JISYO.L + + * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version. + +2021-01-31 Dmitry Gutov + + Recompute mode-lines when marking conflicts resolved + + * lisp/vc/vc.el (vc-mark-resolved): + Recompute the mode lines of the affected files. + +2021-01-31 Stefan Monnier + + * lisp/gnus: Use closures now that we activated `lexical-binding` + + * lisp/gnus/nnml.el (nnml-request-accept-article): + * lisp/gnus/nnmairix.el (nnmairix-request-marks): + * lisp/gnus/nnmail.el (nnmail-get-new-mail-1): + * lisp/gnus/mm-view.el (mm-inline-image) + (mm-inline-text-html-render-with-w3m, mm-inline-text) + (mm-insert-inline, mm-inline-message): + * lisp/gnus/mm-partial.el (mm-inline-partial): + * lisp/gnus/mm-archive.el (mm-archive-dissect-and-inline): + * lisp/gnus/gnus-util.el (gnus-create-info-command): + * lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters) + (gnus-topic-sort-topics-1): + * lisp/gnus/gnus-sum.el (gnus-summary-edit-article): + * lisp/gnus/gnus-srvr.el (gnus-server-edit-server): + * lisp/gnus/gnus-msg.el (gnus-inews-make-draft) + (gnus-inews-add-send-actions, gnus-summary-cancel-article) + (gnus-summary-supersede-article, gnus-summary-resend-message) + (gnus-configure-posting-styles): + * lisp/gnus/gnus-kill.el (gnus-execute): + * lisp/gnus/gnus-html.el (gnus-html-wash-images): + * lisp/gnus/gnus-group.el (gnus-group-edit-group) + (gnus-group-nnimap-edit-acl): + * lisp/gnus/gnus-draft.el (gnus-draft-edit-message, gnus-draft-setup): + * lisp/gnus/gnus-art.el (gnus-article-edit-part) + (gnus-mm-display-part, gnus-article-edit): + * lisp/gnus/gnus-agent.el (gnus-category-edit-predicate) + (gnus-category-edit-score, gnus-category-edit-groups): + Use closures instead of `(lambda ...). + + * lisp/gnus/nnoo.el (noo--defalias): New function. + (nnoo-import-1, nnoo-define-skeleton-1): Use it to avoid `eval`. + +2021-01-31 Stefan Monnier + + * lisp/gnus: Use lexical-binding in all the files + + * lisp/gnus/gnus-group.el (features): Use `dlet`. + (gnus-tmp-level, gnus-tmp-marked, gnus-tmp-group): Declare vars. + (gnus-group-insert-group-line): Bind dynbound vars via `let` rather + than as formal args. Bind `number` as dynbound. + (gnus-visual, gnus-score-find-score-files-function) + (gnus-home-score-file, gnus-apply-kill-hook) + (gnus-summary-expunge-below): Declare vars. + (gnus-group-restart, gnus-group-list-plus): Fix `interactive` spec + since the arg is unused. + + * lisp/gnus/mail-source.el (mail-source-bind, mail-source-bind-common): + Use `dlet` and suppress the warnings about the non-prefixed dynbound vars. + (mail-source-set-1): Remove unused var `auth-info`. + (mail-source-call-script): Remove unused var `background`. + (mail-source-fetch-pop, mail-source-check-pop): Bind pop3 vars with `dlet`. + + * lisp/gnus/gnus-int.el (mail-source-plugged, gnus-inhibit-demon): + Declare vars. + (gnus-server-opened, gnus-status-message) + (gnus-open-server, gnus-close-server, gnus-request-list) + (gnus-finish-retrieve-group-infos, gnus-retrieve-group-data-early) + (gnus-request-list-newsgroups, gnus-request-newgroups) + (gnus-request-regenerate, gnus-request-compact, gnus-request-group) + (gnus-retrieve-groups, gnus-request-post, gnus-request-expunge-group) + (gnus-request-scan, gnus-request-update-info, gnus-request-marks) + (gnus-request-accept-article, gnus-request-create-group) + (gnus-asynchronous-p, gnus-remove-denial): + Bind `gnus-command-method` via `let` rather than as formal args. + + * lisp/gnus/gnus-topic.el (gnus-topic-insert-topic-line): + Pass documented vars to eval for `gnus-topic-line-format-spec`. + + * lisp/gnus/message.el (message-yank-original): Use `cl-progv` rather + than `eval` to bind the vars from `message-cite-style`. + + * lisp/gnus/mml.el (mml-parse-1): Use `apply` instead of `eval`. + (gnus-newsgroup-name, gnus-displaying-mime, gnus-newsgroup-name) + (gnus-article-prepare-hook, gnus-newsgroup-charset) + (gnus-original-article-buffer, gnus-message-buffer) + (message-this-is-news, message-this-is-mail): Declare vars. + + * lisp/gnus/deuglify.el (gnus-outlook-rearrange-article): Remove unused + var `cite-marks`. + * lisp/gnus/gnus-art.el (ansi-color-context-region): Declare var. + (gnus-mime-display-attachment-buttons-in-header): Move declaration + before first use. + (gnus-mime-display-alternative): Remove unused var `from`. + * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-list): Remove unused + var `start` `end`. + * lisp/gnus/gnus-cache.el (gnus-article-decode-hook) + (nnml-generate-active-function): Declare var. + * lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Remove unused + var `keywords`. + * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Remove unused var + `cipher`. + (gnus-cloud-ensure-cloud-group): Remove unused var `method`. + * lisp/gnus/gnus-delay.el (gnus-delay-article): Remove unused var `days`. + * lisp/gnus/gnus-html.el (gnus-html-wash-images): Remove unused vars + `tag`, `string`, and `images`. + (gnus-html-wash-tags): Remove unused vars `string` and `images`. + * lisp/gnus/gnus-msg.el (gnus-msg-mail): Remove unused var `group-name`. + (gnus-group-mail, gnus-group-news, gnus-summary-mail-other-window) + (gnus-summary-news-other-window): + Remove unused vars `group` and `buffer`. + (gnus-configure-posting-styles): Remove unused vars `style` and `attribute`. + * lisp/gnus/gnus-picon.el (gnus-picon-find-face): Remove unused vars + `database`, `directory`, and `instance`. + (gnus-picon-transform-newsgroups): Remove unused var `point`. + * lisp/gnus/gnus-range.el (gnus-range-difference): Remove unused var `safe`. + * lisp/gnus/gnus-score.el (gnus-score-load-file): Remove unused var + `score-fn`. + * lisp/gnus/gnus-sum.el (message-options-set-recipient): Declare var. + * lisp/gnus/gnus-undo.el (gnus-undo): Fix docstring lie. + * lisp/gnus/gnus-util.el (print-string-length) + (iswitchb-make-buflist-hook): Declare vars. + (gnus-emacs-version): Remove unused var `codename`. + (gnus-rename-file): Remove unused vars `old-name` and `new-name`. + * lisp/gnus/gnus-uu.el (gnus-uu-yenc-article): Remove unused var + `start-char`. + (gnus-asynchronous): Declare var. + * lisp/gnus/mm-partial.el (gnus-displaying-mime): Declare var. + (mm-inline-partial): Remove unused var `buffer`. + * lisp/gnus/mm-view.el (w3m-force-redisplay, w3m-safe-url-regexp) + (gnus-displaying-mime, gnus-original-article-buffer) + (gnus-article-prepare-hook): Declare vars. + * lisp/gnus/mml-smime.el (mml-smime-epg-encrypt): Remove unused var + `boundary`. + (mml-smime-epg-verify): Remove unused vars `plain` and `signature-file`. + * lisp/gnus/mml1991.el (pgg-text-mode): Declare var. + * lisp/gnus/mml2015.el (pgg-text-mode): Declare var. + (mml2015-pgg-decrypt): Remove unused var `result`. + (mml2015-epg-key-image-to-string): Remove unused var `error`. + (mml2015-epg-decrypt): Remove unused var `result`. + (mml2015-epg-verify): Remove unused vars `plain` and `signature-file`. + * lisp/gnus/nnbabyl.el (nnml-current-directory): Declare var. + * lisp/gnus/nndiary.el (nndiary-files): Move declaration before first use. + * lisp/gnus/nnfolder.el (nnfolder-request-accept-article): + Remove unused var `buf`. + * lisp/gnus/nnmail.el (nnmail-parse-active): Remove unused var `err`. + * lisp/gnus/nnmairix.el (nnmairix-request-group): Remove unused var `args`. + (nnmairix-request-create-group): Remove unused var `info`. + (nnmairix-request-list): Remove unused var `folder`. + (nnmairix-request-set-mark): Remove unused var `propto`. + (nnmairix-request-set-mark): Remove unused vars `number` and `method`. + (nnmairix-close-group): Remove unused var `method`. + (nnmairix-create-search-group-from-message): Remove unused var `cq`. + (nnmairix-create-server-and-default-group): Remove unused var `create`. + (nnmairix-purge-old-groups): Remove unused var `folder`. + (nnmairix-remove-tick-mark-original-article, nnmairix-get-valid-servers): + Remove unused var `cur`. + (nnmairix-replace-group-and-numbers): Remove unused var `header`. + (nnmairix-goto-original-article): Remove unused var `rval`. + (nnmairix-widget-create-query): Remove unused var `allwidgets`. + * lisp/gnus/nnmbox.el (nnml-current-directory): Declare var. + * lisp/gnus/nnmh.el (nnmh-toplev): Move declaration before first use. + (nnmh-request-list-1): Remove unused var `rdir`. + * lisp/gnus/nnml.el (nnml-generate-nov-file): Remove unused var `file`. + * lisp/gnus/nnrss.el (nnrss-request-article): Remove unused var `post`. + (nnrss-request-article): Remove unused var `fn`. + (nnrss-check-group): Remove unused var `rdf-ns`. + * lisp/gnus/nnweb.el (nnweb-request-article): Remove unused var `active`. + (nnweb-google-parse-1): Remove unused var `Score`. + * lisp/gnus/spam-stat.el (spam-stat-error-holder): Remove var. + (spam-stat-buffer-words-with-scores): Remove unused var `word`. + (spam-stat-score-buffer): Remove unused var `spam-stat-error-holder`. + (spam-stat-split-fancy): Use `err` instead of `spam-stat-error-holder`. + * lisp/gnus/spam-wash.el (spam-wash): Remove unused var `handle`. + * lisp/gnus/spam.el (spam-copy-or-move-routine): Remove unused vars + `article` and `mark`. + (spam-register-routine): Remove unused var `article`. + (spam-log-undo-registration): Remove unused var `found`. + (spam-ifile-register-with-ifile): Remove unused var `parameters`. + (spam-check-stat): Remove unused vars `category` and `return`. + (spam-parse-list): Remove unused var `found`. + (spam-filelist-register-routine): Remove unused var `from`. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Misc simplifications found during conversion to lexical + + * lisp/gnus/nnoo.el (noo-import-1, nnoo-define-skeleton-1): Use `dolist`. + (noo-map-functions, nnoo-define-basics): Directly emit the code rather than + going through an intermediate function; this also avoids the use of `eval`. + (noo-map-functions-1, nnoo-define-basics-1): Delete functions, + folded into their corresponding macro. + + * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Demote `eval` to + `symbol-value`. + + * lisp/gnus/gnus-art.el (gnus-button-handle-describe-key): Avoid `eval` + since `kbd` is a function nowadays. + (gnus-treat-part-number): Rename from `part-number`. + (gnus-treat-total-parts): Rename from `total-parts`. + (gnus-treat-article, gnus-treat-predicate): Adjust accordingly. + + * lisp/gnus/gnus-cache.el (gnus-agent-load-alist): Use `declare-function`. + + * lisp/gnus/gnus-group.el (gnus-cache-active-hashtb): Use `defvar`. + (gnus-group-iterate): Make it a normal function since lexical scoping + avoids the risk of name capture anyway. + (gnus-group-delete-articles): Actually use the `oldp` arg. + + * lisp/gnus/gnus-html.el (gnus-html-wash-images): Fix debug message so + it's emitted after the `url` var it prints is actually initialized. + And avoid `setq` while we're at it. + + * lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news) + (gnus-summary-mail-other-window, gnus-summary-news-other-window): + Merge `let`s using `let*`. + + * lisp/gnus/gnus-spec.el (gnus-update-format-specifications): + Tighten the scope of `buffer`, and tighten a regexp. + (gnus-parse-simple-format): Reduce code duplication. + + * lisp/gnus/gnus-start.el (gnus-child-mode): Don't `defvar` it since we + never use that variable and accordingly don't define it as a minor mode. + + * lisp/gnus/gnus-util.el (gnus-byte-compile): Simplify so it obeys + `gnus-use-byte-compile` not just on the first call. + (iswitchb-minibuffer-setup): Declare. + + * lisp/gnus/mail-source.el (mail-source-bind-1) + (mail-source-bind-common-1): Use `mapcar`. + (mail-source-set-common-1): Use `dolist`. + (display-time-event-handler): Declare. + + * lisp/gnus/mml-smime.el (mml-smime-epg-verify): Reduce code duplication. + + * lisp/gnus/mml.el (mml-parse-1): Reduce code duplication. + + * lisp/gnus/mml2015.el (mml2015-epg-verify): Reduce code duplication. + + * lisp/gnus/nnmail.el (nnmail-get-split-group): Tighten regexp. + (nnmail-split-it): Reduce code duplication. + + * lisp/gnus/nnweb.el (nnweb-request-article): Avoid `setq`. + + * lisp/gnus/spam.el (BBDB): Use the `noerror` arg of `require`, and + define all the functions for BBDB regardless if the require succeeded. + (spam-exists-in-BBDB-p): Don't inline, not worth it. + +2021-01-30 Alan Third + + Fix build failure on macOS 10.7 (bug#46036) + + * src/nsfns.m (ns_set_represented_filename): Define the NSNumber in a + more compatible manner. + +2021-01-30 Alan Mackenzie + + With minibuffer-follows-selected-frame `hybrid', preserve recursive Mbuffers + + ...when enable-recursive-minibuffers is non-nil, and several minibuffers are + activated from different frames. Also set the major mode of a reused active + minibuffer to `fundamental-mode' - up till now it's been + minibuffer-inactive-mode. + + * src/minibuf.c (read_minibuf): with the indicated settings of variables, + "stack up" all containing minibuffers on the mini-window of the current + frame. Delete another, now superfluous such stacking up. + (set_minibuffer_mode): New function. + (get_minibuffer): Call the above new function (twice), in place of inline + code, ensuring active minibuffers are never left in minibuffer-inactive-mode. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Remove redundant `:group` args + + * lisp/gnus/spam-stat.el: + * lisp/gnus/spam-report.el: + * lisp/gnus/smime.el: + * lisp/gnus/nnrss.el: + * lisp/gnus/nnmairix.el: + * lisp/gnus/nnimap.el: + * lisp/gnus/nndiary.el: + * lisp/gnus/mm-url.el: + * lisp/gnus/mail-source.el: + * lisp/gnus/gnus-win.el: + * lisp/gnus/gnus-topic.el: + * lisp/gnus/gnus-sieve.el: + * lisp/gnus/gnus-search.el: + * lisp/gnus/gnus-registry.el: + * lisp/gnus/gnus-notifications.el: + * lisp/gnus/gnus-gravatar.el: + * lisp/gnus/gnus-eform.el: + * lisp/gnus/gnus-dup.el: + * lisp/gnus/gnus-diary.el: + * lisp/gnus/gnus-demon.el: + * lisp/gnus/gnus-delay.el: + * lisp/gnus/gnus-cloud.el: + * lisp/gnus/gnus-cite.el: + * lisp/gnus/gnus-bookmark.el: + * lisp/gnus/gmm-utils.el: + * lisp/gnus/deuglify.el: + * lisp/gnus/canlock.el: Remove redundant `:group` arguments + +2021-01-30 Stefan Monnier + + * lisp/gnus: Demote some macros and defsubsts, plus a fix + + * lisp/gnus/gnus-sum.el (gnus-summary-thread-level) + (gnus-summary-article-mark): Turn macros into `defsubst`. + + * lisp/gnus/mail-source.el (mail-source-bind-common): Actually use its arg. + + * lisp/gnus/nntp.el (nntp-copy-to-buffer): Turn macro into a `defsubst`. + (nntp-wait-for, nntp-retrieve-data, nntp-send-command): Don't inline + those, it's not worth it. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Use `with-current-buffer` at a few more places + + * lisp/gnus/nnmbox.el (nnmbox-request-scan, nnmbox-read-mbox): + * lisp/gnus/nnmairix.el (nnmairix-create-search-group): + * lisp/gnus/nnfolder.el (nnfolder-existing-articles): + * lisp/gnus/nndraft.el (nndraft-auto-save-file-name): + * lisp/gnus/nndoc.el (nndoc-request-article): + * lisp/gnus/nnbabyl.el (nnbabyl-read-mbox): + * lisp/gnus/gnus-score.el (gnus-score-body): + * lisp/gnus/gnus-start.el (gnus-dribble-enter) + (gnus-dribble-eval-file, gnus-ask-server-for-new-groups) + (gnus-read-newsrc-file, gnus-read-descriptions-file): + * lisp/gnus/gnus-spec.el (gnus-update-format-specifications): + * lisp/gnus/gnus-draft.el (gnus-draft-edit-message): + * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer) + (gnus-article-edit-exit): Use `with-current-buffer`. + +2021-01-30 Eli Zaretskii + + Fix NS build broken by a recent change + + * src/nsmenu.m (set_frame_menubar, Fns_reset_menu): Adapt to + recent changes in set_frame_menubar. (Bug#45759) + +2021-01-30 Juri Linkov + + Allow the caller to specify own face on suffix in annotation-function + + * lisp/minibuffer.el (completion--insert-strings): + Don't add 'completions-annotations' face when the caller + specified own face in annotation-function. + Remove no-op code for 'unless prefix' branch. + (completion-metadata, completion-extra-properties): + Update docs of affixation-function. + Suggested by Clemens (bug#45780) + + * test/lisp/minibuffer-tests.el: Rename package name from + completion-tests.el to minibuffer-tests.el. + Add new test completion--insert-strings-faces. + + * doc/lispref/minibuf.texi (Completion Variables) + (Programmed Completion): Update descriptions of + annotation-function and affixation-function. + +2021-01-30 Augusto Stoffel (tiny change) + + Reduce flicker in Isearch mode + + Lazy highlighting now happens immediately when the search string is at + least as long as the value of the new custom variable + `lazy-highlight-no-delay-length`. Also avoid updating the lazy + count in the echo area too often. + * isearch.el (lazy-highlight-no-delay-length): New defcustom. + * isearch.el (lazy-lazy-count-format): Avoid a momentarily incorrect + count when reversing search direction. + * isearch.el (isearch-lazy-highlight-new-loop): Avoid a call to + `isearch-message` that is quickly succeed by a second echo area + update, thus causing flicker. + * isearch.el (isearch-lazy-highlight-new-loop): + Start lazy highlight immediately if appropriate. + * etc/NEWS: Announce the change. + * doc/emacs/search.texi: Document `lazy-highlight-no-delay-length'. + +2021-01-30 Stefan Monnier + + * lisp/gnus/gnus-msg.el: Remove empty `unwind-protect`s + + (gnus-msg-mail, gnus-group-mail) + (gnus-group-news, gnus-summary-mail-other-window) + (gnus-summary-news-other-window): Remove empty `unwind-protect`. + +2021-01-30 Stefan Monnier + + * lisp/gnus/mm-encode.el (mm-default-file-type): New name + + Rename from misleading `mm-default-file-encoding`. + (mm-default-file-encoding): Redefine as obsolete alias. + + * lisp/mail/sendmail.el (mail-add-attachment): + * lisp/mh-e/mh-mime.el (mh-minibuffer-read-type): + * lisp/gnus/gnus-art.el (gnus-mime-view-part-as-type-internal): + * lisp/gnus/gnus-dired.el (gnus-dired-attach): + * lisp/gnus/mml.el (mml-generate-mime-1, mml-minibuffer-read-type) + (mml-attach-file): Use the new name. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Quote functions with #' + + To get better warnings, try and use #' to quote function names. + + * lisp/gnus/canlock.el: + * lisp/gnus/deuglify.el: + * lisp/gnus/gmm-utils.el: + * lisp/gnus/gnus-agent.el: + * lisp/gnus/gnus-art.el: + * lisp/gnus/gnus-bookmark.el: + * lisp/gnus/gnus-cache.el: + * lisp/gnus/gnus-cite.el: + * lisp/gnus/gnus-cus.el: + * lisp/gnus/gnus-delay.el: + * lisp/gnus/gnus-diary.el: + * lisp/gnus/gnus-dired.el: + * lisp/gnus/gnus-draft.el: + * lisp/gnus/gnus-fun.el: + * lisp/gnus/gnus-group.el: + * lisp/gnus/gnus-html.el: + * lisp/gnus/gnus-int.el: + * lisp/gnus/gnus-kill.el: + * lisp/gnus/gnus-mlspl.el: + * lisp/gnus/gnus-msg.el: + * lisp/gnus/gnus-notifications.el: + * lisp/gnus/gnus-picon.el: + * lisp/gnus/gnus-registry.el: + * lisp/gnus/gnus-rfc1843.el: + * lisp/gnus/gnus-salt.el: + * lisp/gnus/gnus-score.el: + * lisp/gnus/gnus-search.el: + * lisp/gnus/gnus-sieve.el: + * lisp/gnus/gnus-srvr.el: + * lisp/gnus/gnus-start.el: + * lisp/gnus/gnus-topic.el: + * lisp/gnus/gnus-undo.el: + * lisp/gnus/gnus-util.el: + * lisp/gnus/gnus-uu.el: + * lisp/gnus/gnus.el: + * lisp/gnus/mail-source.el: + * lisp/gnus/message.el: + * lisp/gnus/mm-archive.el: + * lisp/gnus/mm-decode.el: + * lisp/gnus/mm-url.el: + * lisp/gnus/mm-util.el: + * lisp/gnus/mm-view.el: + * lisp/gnus/mml-sec.el: + * lisp/gnus/mml-smime.el: + * lisp/gnus/mml.el: + * lisp/gnus/nnagent.el: + * lisp/gnus/nndiary.el: + * lisp/gnus/nndoc.el: + * lisp/gnus/nndraft.el: + * lisp/gnus/nnfolder.el: + * lisp/gnus/nnheader.el: + * lisp/gnus/nnmail.el: + * lisp/gnus/nnmaildir.el: + * lisp/gnus/nnmairix.el: + * lisp/gnus/nnmh.el: + * lisp/gnus/nnml.el: + * lisp/gnus/nnrss.el: + * lisp/gnus/nnselect.el: + * lisp/gnus/nnspool.el: + * lisp/gnus/nnvirtual.el: + * lisp/gnus/nnweb.el: + * lisp/gnus/smiley.el: + * lisp/gnus/smime.el: + * lisp/gnus/spam-report.el: + * lisp/gnus/spam-stat.el: + * lisp/gnus/spam-wash.el: + * lisp/gnus/spam.el: + +2021-01-30 Stefan Monnier + + * lisp/gnus/gnus-art.el: Add `event` args and operate at its position. + + (gnus-mime-save-part-and-strip) + (gnus-mime-delete-part, gnus-mime-save-part, gnus-mime-pipe-part) + (gnus-mime-view-part, gnus-mime-view-part-as-type) + (gnus-mime-copy-part, gnus-mime-print-part, gnus-mime-inline-part) + (gnus-mime-view-part-as-charset, gnus-mime-view-part-externally) + (gnus-mime-view-part-internally, gnus-article-press-button): + Add `event` arg and operate at its position. + +2021-01-30 Stefan Monnier + + * lisp/gnus: Use `declare`. + + * lisp/gnus/nnoo.el (defvoo, deffoo, nnoo-declare, nnoo-import) + (nnoo-map-functions): + * lisp/gnus/nnmaildir.el (nnmaildir--with-nntp-buffer) + (nnmaildir--with-work-buffer, nnmaildir--with-nov-buffer) + (nnmaildir--with-move-buffer, nnmaildir--condcase): + * lisp/gnus/mm-decode.el (mm-with-part): + * lisp/gnus/gnus-msg.el (gnus-setup-message): + * lisp/gnus/gnus-agent.el (gnus-agent-with-fetch, gnus-agent-while-plugged): + * lisp/gnus/mail-source.el (mail-source-set-1, mail-source-value): + Use `declare`. + + * lisp/gnus/gnus-util.el (gnus-define-keys): Use `declare`, and also + don't quote `keymap` if it's a variable name. + (gnus-define-keys-1): Reject the case where `keymap` is a variable name. + (gnus-eval-in-buffer-window, gnus-define-keys-safe) + (gnus-define-keymap, gnus-atomic-progn, gnus-with-output-to-file) + (gnus-parse-without-error): Use `declare`. + (gnus-atomic-progn-assign, gnus-atomic-setq): Delete macros. + + * lisp/gnus/gnus-undo.el (gnus-undo-register): Drop indent and edebug spec + since they're not really appropriate for a function. + + * lisp/gnus/gnus-art.el (gnus--\,@): New macro. + Use it at top-level to construct the `gnus-article-FOO` => `article-FOO` + wrapper functions. + (gnus-with-article-headers, gnus-with-article-buffer): Use `declare`. + +2021-01-30 Stefan Kangas + + Remove unused argument from set_frame_menubar (Bug#45759) + + * src/w32menu.c (set_frame_menubar): + * src/xmenu.c (set_frame_menubar): Remove unused argument. + All callers updated. + +2021-01-30 Eli Zaretskii + + Improve documentation of auto-resize-tool/tab-bars + + * src/xdisp.c (syms_of_xdisp) + : Doc fix. (Bug#46178) + +2021-01-30 Dmitry Gutov + + Also highlight 'conflict' with the warning face + + * lisp/vc/vc-git.el (vc-git-dir-printer): + Also highlight 'conflict' with the warning face, like + vc-default-dir-printer does already. + +2021-01-30 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-01-30 Lars Ingebrigtsen + + auth-source-search doc string fix + + * lisp/auth-source.el (auth-source-search): Fix example (bug#36286). + +2021-01-30 Jared Finder + + * lisp/tab-line.el (tab-line-new-tab): Use tty menus when supported. + +2021-01-30 Eli Zaretskii + + New Rmail option 'rmail-show-message-set-modified' + + * lisp/mail/rmail.el (rmail-show-message-set-modified): New + option. + (rmail-show-message-1): If 'rmail-show-message-set-modified' is + non-nil, don't reset the buffer's modified state. (Bug#45941) + + * etc/NEWS: Announce the new option. + +2021-01-30 Lars Ingebrigtsen + + Fix vc-hg-rename-file on file names like ~/foo/bar + + * lisp/vc/vc-hg.el (vc-hg-rename-file): Use absolute file names, + because hg doesn't like getting file names like "~/foo/bar" + (bug#36932). + +2021-01-30 Jeff Spencer (tiny change) + + Fix interaction between two dired cleanup variables + + * lisp/dired.el (dired-clean-up-after-deletion): Kill the buffers + if you have `dired-clean-up-buffers-too' set and + `dired-clean-confirm-killing-deleted-buffers' nil (bug#38037). + +2021-01-30 Lars Ingebrigtsen + + Improve :foreground description in the manual + + * doc/lispref/frames.texi (Font and Color Parameters): Make the + description less confusing (bug#38710). + +2021-01-30 Mauro Aranda + + Add source to sgml-empty-tags + + * lisp/textmodes/sgml-mode.el (html-mode): Add "source" as an empty + tag to fix indentation when this element is present (bug#46181). + +2021-01-30 Lars Ingebrigtsen + + rmail-summary-mark-deleted optional argument fix + + * lisp/mail/rmailsum.el (rmail-summary-mark-deleted): Argument N + is optional, so don't assume that it's a number (bug#39076). + +2021-01-30 Dmitry Gutov + + vc-dir-mode-map: Remove the mouse-2 binding + + * lisp/vc/vc-dir.el (vc-dir-mode-map): + Remove the mouse-2 binding (bug#13692). + (vc-dir-mode): Update the docstring accordingly. + (vc-dir-status-mouse-map): New variable. + (vc-default-dir-printer): Use it on the state buttons. + + * lisp/vc/vc-git.el (vc-git-dir-printer): Same. + +2021-01-30 Stefan Kangas + + Use lexical-binding in mpuz.el + + * lisp/play/mpuz.el: Use lexical-binding. Remove redundant :group + args. + (mpuz-switch-to-window): Minor cleanup. + +2021-01-30 Stefan Kangas + + Use lexical-binding in handwrite.el + + * lisp/play/handwrite.el: Use lexical-binding. Remove redundant + :group args. Minor cleanups. + + (handwrite): Minor cleanups. + (handwrite-set-pagenumber-off, handwrite-set-pagenumber-on): Make + comments into docstrings. + +2021-01-29 Stefan Monnier + + * test/lisp/electric-tests.el: Fix switch to lexical-binding. + + (define-electric-pair-test): Don't presume that function values are + self-evaluating. + +2021-01-29 Stefan Kangas + + Use lexical-binding in sasl.el and add tests + + * lisp/net/sasl.el: + * lisp/net/sasl-digest.el: + * lisp/net/sasl-cram.el: + * lisp/net/sasl-ntlm.el: Use lexical-binding. + + * test/lisp/net/sasl-tests.el: + * test/lisp/net/sasl-cram-tests.el: New files. + +2021-01-29 Dmitry Gutov + + (xref-revert-buffer): Also 'erase-buffer' when handling a user-error + + * lisp/progmodes/xref.el (xref-revert-buffer): + Also 'erase-buffer' when handling a user-error (bug#46042). + + (cherry picked from commit e86b30d6fd04070b86560774ec82392dbe24ca1e) + +2021-01-29 Dmitry Gutov + + (xref-revert-buffer): Also 'erase-buffer' when handling a user-error + + * lisp/progmodes/xref.el (xref-revert-buffer): + Also 'erase-buffer' when handling a user-error (bug#46042). + +2021-01-29 Eli Zaretskii + + Update files for 27.1.91 pretest + + * ChangeLog.3: + * etc/AUTHORS + * lisp/ldefs-boot.el: Update. + +2021-01-29 Eli Zaretskii + + Support 'operating-system-release' on MS-Windows + + * src/w32fns.c (w32_version_string) [WINDOWSNT]: New function. + * src/w32common.h (w32_version_string) [WINDOWSNT]: Add prototype. + * src/editfns.c (init_editfns) [WINDOWSNT]: Produce a non-nil + string with the OS version. + +2021-01-29 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp--test-special-characters): + + Adapt test for docker. + +2021-01-29 Juri Linkov + + Use save-mark-and-excursion in query-replace-read-args (bug#45617) + +2021-01-29 Michael Albinus + + Fix Bug#45518 in compile.el + + * lisp/progmodes/compile.el (compilation-get-file-structure): + Avoid call of `file-truename' for remote files. (Bug#45518) + +2021-01-29 Eli Zaretskii + + Improve doc string of 'operating-system-release' + + * src/editfns.c (syms_of_editfns) : Doc + fix. (Bug#39940) + +2021-01-29 Sean Whitton + + Fix previous commit regarding revert-buffer-function + + * simple.el (shell-command, shell-command-on-region): Set + revert-buffer-function buffer-locally, not globally. Also, avoid an + unnecessary call to (current-buffer) by taking advantage of the + closure (bug#46151). + +2021-01-29 Lars Ingebrigtsen + + Describe pointer shapes in the manual + + * doc/lispref/frames.texi (Pointer Shape): Describe what the + typical pointer shapes are (and add `nhdrag') (bug#39246). + +2021-01-29 Marco Wahl + + Add a command for redisplay during keyboard macros + + * doc/emacs/kmacro.texi (Basic Keyboard Macro): Document it + (bug#39252). + + * lisp/kmacro.el (kdb-macro-redisplay): New function. + (kmacro-keymap): Bind it. + +2021-01-29 Lars Ingebrigtsen + + Improve fontifying of #| ... |# in `lisp-mode' + + * lisp/emacs-lisp/lisp-mode.el (lisp-mode): Fontify the end + delimiter in #| ... |# correctly (bug#39820). + +2021-01-29 Lars Ingebrigtsen + + operating-system-release doc string improvement + + * src/editfns.c (syms_of_editfns): Be more precise about what + `operating-system-release' is (bug#39940). + +2021-01-29 Lars Ingebrigtsen + + flymake-diagnostic-beg/end doc string and error reporting improvement + + * lisp/progmodes/flymake.el (flymake-diagnostic-beg): + (flymake-diagnostic-end): Improve doc string and error reporting + (bug#39971). + +2021-01-29 Lars Ingebrigtsen + + Fix position in empty buffers in checkdoc-file-comments-engine + + * lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine): + Don't give invalid positions on empty buffers (bug#39987). + +2021-01-29 Sean Whitton + + Set revert-buffer-function in shell command output buffers + + * simple.el (shell-command, shell-command-on-region): Set + revert-buffer-function in shell command output buffers (bug#46151). + +2021-01-29 Lars Ingebrigtsen + + Mention using buffer-list-update-hook in recentf-mode + + * lisp/recentf.el (recentf-mode): Mention using + `buffer-list-update-hook' (bug#46153). + +2021-01-29 Stefan Kangas + + Remove Emacs 21 compat code from sasl.el + + * lisp/net/sasl.el (sasl-read-passphrase): Remove compat code; + 'read-passwd' is preloaded since Emacs 22. + +2021-01-29 Stefan Kangas + + * lisp/flow-ctrl.el: Use lexical-binding. + + * lisp/flow-ctrl.el (enable-flow-control): Minor cleanup. + +2021-01-29 Stefan Kangas + + Use lexical-binding in find-cmd.el and add tests + + * lisp/find-cmd.el: Use lexical-binding. + * test/lisp/find-cmd-tests.el: New file. + +2021-01-29 Lars Ingebrigtsen + + Slight gravatar.el code clean up + + * lisp/image/gravatar.el (gravatar--service-libravatar): Clean the + code up slightly. + +2021-01-29 Stefan Monnier + + Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs into trunk + +2021-01-28 Stefan Kangas + + Use lexical-binding in nroff-mode.el + + * lisp/textmodes/nroff-mode.el: Use lexical-binding. Remove + redundant :group args. + +2021-01-28 Stefan Kangas + + * lisp/progmodes/bat-mode.el: Use lexical-binding. + +2021-01-28 Stefan Kangas + + Use lexical-binding in generic-x.el + + * lisp/generic-x.el: Use lexical-binding. Remove redundant :groups. + (generic-rul-mode-setup-function): Prefer setq-local. + +2021-01-28 Stefan Kangas + + Define compat alias obsolete + + * lisp/generic-x.el (generic-mode-ini-file-find-file-hook): Define + compat alias introduced after rename in 22.1 obsolete. + +2021-01-28 Stefan Monnier + + Use lexical-binding in all of `lisp/emacs-lisp` + + * lisp/emacs-lisp/bindat.el: Use lexical-binding. + (bindat--unpack-group, bindat--length-group, bindat--pack-group): + Declare `last` and `tag` as dyn-scoped. + (bindat-unpack, bindat-pack): Bind `bindat-raw` and `bindat-idx` via + `let` rather than via the formal arglist. + + * lisp/emacs-lisp/package-x.el: + * lisp/emacs-lisp/generic.el: + * lisp/emacs-lisp/eieio-opt.el: + * lisp/emacs-lisp/derived.el: + * lisp/emacs-lisp/crm.el: Use lexical-binding. + + * lisp/emacs-lisp/helper.el: Use lexical-binding. + (Helper-help-map): Move initialization into declaration. + + * lisp/emacs-lisp/regi.el: Use lexical-binding. + (regi-interpret): Remove unused var `tstart`. + Declare `curframe`, `curentry` and `curline` as dyn-scoped. + + * lisp/emacs-lisp/shadow.el: Use lexical-binding. + (load-path-shadows-find): Remove unused var `file`. + Tighten a regexp, use `push`. + + * lisp/emacs-lisp/tcover-ses.el: Use lexical-binding. Require `ses`. + Remove correspondingly redundant declarations. + (ses--curcell-overlay): Declare. + (ses-exercise): Use `dlet` and use a properly-prefixed var name. + Fix name of `curcell-overlay` variable. + + * lisp/emacs-lisp/unsafep.el: Use lexical-binding. + (unsafep): Bind `unsafep-vars` via `let` rather than via the formal arglist. + +2021-01-28 Juri Linkov + + Use isearch-tmm-menubar when tmm-menubar is called in isearch-mode (bug#43966) + + * lisp/isearch.el (isearch-menu-bar-commands): Add tmm-menubar to defaults. + (isearch-mode-map): Remove remapping of tmm-menubar to isearch-tmm-menubar. + + * lisp/tmm.el (tmm-menubar): Call isearch-tmm-menubar in isearch-mode. + +2021-01-28 Stefan Kangas + + * lisp/wdired.el: Minor doc fixes. + +2021-01-28 Stefan Kangas + + Avoid recommending Google + + * doc/misc/org.texi (Link Abbreviations): + * lisp/net/webjump.el (webjump-sample-sites): + * lisp/org/ol.el (org-link-shell-confirm-function) + (org-link-elisp-confirm-function): + * lisp/org/org.el (org-highlight-links): + * lisp/wdired.el: Avoid recommending Google. + + squash! Avoid recommending Google + +2021-01-28 Stefan Kangas + + * lisp/leim/quail/viqr.el: Use lexical-binding. + + * lisp/leim/quail/compose.el: Use lexical-binding. + + * lisp/ezimage.el: Use lexical-binding. + +2021-01-28 Stefan Monnier + + * src/fns.c (hash_string): Fix bug#46111 + + Use `memcpy` instead of an unaligned memory access. On x86 at least, + GCC turns this `memcpy` into a single `mov`, so it's about as fast. + +2021-01-28 Stefan Kangas + + Add cross-reference to with-eval-after-load + + * lisp/subr.el (eval-after-load): Doc fix; add cross-reference to + 'with-eval-after-load'. + +2021-01-28 Stefan Kangas + + * lisp/generic-x.el (hosts-generic-mode): Support IPv6 addresses. + +2021-01-28 Stefan Kangas + + Add missing file systems to etc-fstab-generic-mode + + * lisp/generic-x.el (etc-fstab-generic-mode): Add entries for missing + file systems. + +2021-01-28 Stefan Monnier + + * test/Makefile.in (emacs): Use the C locale + + This fixes spurious test failures in my environment for + `diff-mode-test-font-lock-syntax-one-line` (where my `diff` otherwise + returns "No newline at end of file" in French) and for + various tests in `emacs-module-tests` because errors signal + "Abandon" instead of "Abort". + +2021-01-28 Michael Albinus + + * lisp/net/ange-ftp.el (ange-ftp-ls): Handle several "--dired" switches. + +2021-01-28 Michael Albinus + + Simplify auto-revert buffer list by watch descriptor (Bug#44639) + + * lisp/autorevert.el (auto-revert--buffer-by-watch-descriptor): + Rename from `auto-revert--buffers-by-watch-descriptor'. Make it + an assoc list. + (auto-revert-notify-rm-watch, auto-revert-notify-add-watch) + (auto-revert-notify-handler): Adapt accordingly. Based on a + patch provided by Spencer Baugh . (Bug#44639) + +2021-01-28 Stefan Monnier + + Use lexical-binding in lisp/{term,nxml,language} + + * test/lisp/electric-tests.el: + * lisp/term/w32console.el: + * lisp/nxml/rng-util.el: + * leim/leim-ext.el: Use lexical-binding. + + * lisp/international/titdic-cnv.el (tit-process-header) + (miscdic-convert): + * lisp/international/mule-cmds.el (leim-list-header): + * lisp/international/ja-dic-cnv.el (skkdic-convert): + Use lexical-binding in the generated file. + +2021-01-28 Lars Ingebrigtsen + + Protect against bad results from libravatar + + * lisp/image/gravatar.el (gravatar--service-libravatar): Don't + have (gravatar-retrieve "foobar@zjp.codes" 'ignore) (which returns + a CNAME) bug out. + +2021-01-28 Lars Ingebrigtsen + + Fix numerical `comment-padding' value + + * lisp/newcomment.el (comment-padright): Allow using a number for + `comment-padding', like the doc string says (bug#40056). + +2021-01-28 Lars Ingebrigtsen + + Make the default `whitespace-enable-predicate' use `derived-mode-p' + + * lisp/whitespace.el (whitespace-enable-predicate): Use + `derived-mode-p' to check modes instead of `eq' (bug#40481). + +2021-01-28 Mattias M (tiny change) + + Fix fill-paragraph in asm-mode + + * lisp/progmodes/asm-mode.el: The value of fill-prefix ought to be nil + not "\t" so that fill-context-prefix can do its thing. In fact, + fill-prefix does not have to be set at all becuase asm-mode derives + from prog-mode and fill-prefix is set in simple.el. + + * test/lisp/progmodes/asm-mode-tests.el: Add relevant test (bug#41064). + +2021-01-28 Lars Ingebrigtsen + + Allow commenting out white space lines in latex-mode + + * lisp/newcomment.el (comment-region-default-1): Allow commenting + out whitespace-only regions (bug#41793). + + * lisp/textmodes/tex-mode.el (latex--comment-region): Use it. + (latex-mode): Set a comment style shim. + +2021-01-28 Lars Ingebrigtsen + + Fix Gnus icalendar button navigation + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-insert-button): Mark + buttons correctly for TAB navigation (bug#46135). + +2021-01-28 Harald Jörg + + perl-mode.el: Eliminate keywords which are not in Perl. + + * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression): + Remove keywords which are not part of Perl. + (perl-font-lock-keywords-2): Remove keywords which are not part of + Perl (bug#46024). (These keywords are part of Raku; aka. Perl 6.) + +2021-01-28 João Távora + + Allow project/xref packages to be used in Emacs 26.1 + + * lisp/progmodes/project.el: Change Package-Requires to Emacs 26.1 + (bug#44671). + + * lisp/progmodes/xref.el: Ditto. + +2021-01-28 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp-if): Fix typo + +2021-01-28 Stefan Monnier + + * lisp/emacs-lisp/pcase.el (pcase--split-pred): Handle `memq` pred. + + Improve handling of the `member` tests generated from (or 'a 'b 'c). + This will expand + + (pcase EXP ((and (or 1 2 3) (guard (FOO))) EXP1) (1 EXP2) (6 EXP3)) + + to + + (cond ((memql '(3 2 1) EXP) + (cond ((FOO) EXP1) ((eql EXP 1) EXP2))) + ((eql EXP 6) EXP3)) + + rather than to + + (cond ((memql '(3 2 1) EXP) + (cond ((FOO) EXP1) ((eql EXP 1) EXP2) ((eql EXP 6) EXP3))) + ((eql EXP 1) EXP2) + ((eql EXP 6) EXP3)) + +2021-01-28 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Perform β-reduction + + Also, in `funcall` macroexpand the function before checking to see if + we can remove the `funcall`. + + (macroexp-if): Trim trailing `nil` in the generated code while we're at it. + +2021-01-27 Juri Linkov + + * lisp/replace.el (query-replace-read-from-suggestions): New function. + + (query-replace-read-from): Use it instead of hard-coded '(car search-ring)'. + (read-regexp-suggestions): Add the active region (bug#41692). + +2021-01-27 Paul Eggert + + * admin/notes/unicode: titdic-cnv.el is now utf-8. + +2021-01-27 Juri Linkov + + Support multi-line prompt and contents in previous-line-or-history-element. + + * lisp/simple.el (previous-line-or-history-element): Move to the + beginning of minibuffer contents if there is editable minibuffer contents + on the same line after moving point to the prompt (bug#46033). + Fix minimal old-column from 0 to 1 to put point at the beginning of + minibuffer contents after going to the previous history element. + +2021-01-27 Stefan Monnier + + * lisp/international/titdic-cnv.el (tsang-quick-converter): Simplify + + Merge branches which only differed in the `charset` property of the + strings they intended to return, since that info gets lost later + on anyway. + +2021-01-27 Stefan Monnier + + * lisp/international/titdic-cnv.el: Revert to utf-8 encoding + + While it's true that using the iso-2022-jp encoding on the file does + allow Emacs to render the two strings differently, this only applies to + the source file. The .elc files all use `utf-8-emacs` encoding anyway, + so that info is lost. And the difference is even lost before we write + the .elc file because when Emacs byte-compiles that code the + byte-compiler considers those two strings as "equal" and emits only one + string in the byte-code (so the two branches return `eq` strings). + + So, I think using `iso-2022-jp` is a bad idea here: it gives the + illusion that the the `charset` info exists, even it will be lost. + Eli discussed it with Handa-san a year ago, and they arrived at the + conclusion that the charset information is indeed no longer important. + +2021-01-27 Stefan Monnier + + Use lexical-binding in of all lisp/language + + * lisp/international/titdic-cnv.el (pinyin-convert): + Enable lexical-binding in the generated file(s). + + * lisp/language/ethio-util.el: Use lexical-binding. + (ethio-tex-to-fidel-buffer): Use `inhibit-read-only`. Remove unused + vars `p` and `ch`. + + * lisp/language/hanja-util.el: Use lexical-binding. + + * lisp/language/ind-util.el: Use lexical-binding. + (indian-translate-region): Actually use the `from` and `to` arguments. + (): Use `dlet`. Remove unused var `current-repertory`. + (indian-2-column-to-ucs-region): Remove unused var `pos`. + + * lisp/language/japan-util.el: Use lexical-binding. + (japanese-katakana-region, japanese-hiragana-region) + (japanese-zenkaku-region): Remove unused var `next`. + + * lisp/language/korea-util.el: Use lexical-binding. + + * lisp/language/lao-util.el: Use lexical-binding. + (lao-composition-function): Remove unused var `glyph`. + + * lisp/language/thai-util.el: Use lexical-binding. + (thai-composition-function): Remove unused var `glyph`. + + * lisp/language/thai-word.el: Use lexical-binding. + (thai-forward-word): Remove unused var `tail`. + + * lisp/language/tibet-util.el: Use lexical-binding. + (tibetan-add-components): Remove unused var `tmp`. + (tibetan-compose-region): Remove unused vars `str`, `result`, `chars`. + + * lisp/language/viet-util.el: + * lisp/language/tv-util.el: + * lisp/language/cyril-util.el: + * lisp/language/china-util.el: Use lexical-binding. + +2021-01-27 Glenn Morris + + Merge from origin/emacs-27 + + 3443a1c698 Fix last change + +2021-01-27 Glenn Morris + + Merge from origin/emacs-27 + + 3f610177ad Avoid sending systemd shutdown notifications if non-daemon + 009df5cb3c * src/cmds.c (Fforward_line): Doc fix. (Bug#46027) + ee1c54ebc0 Improve documentation of sendmail.el defcustom's + +2021-01-27 Glenn Morris + + Merge from origin/emacs-27 + + b58fd1eab9 ; * lisp/language/cham.el: Fix copy-paste mistake in comment. + +2021-01-27 Eli Zaretskii + + Fix display of stretches of whitespace in the display margins + + * src/xdisp.c (produce_stretch_glyph): Truncate the stretch glyph + due to line wrap only when drawing in the text area. + * src/xterm.c (x_draw_stretch_glyph_string): + * src/w32term.c (w32_draw_stretch_glyph_string): Fix the + adjustment of the stretch X and width so that stretch glyphs could + be drawn in the left margin. Reported by Paul W. Rankin + . + +2021-01-27 Michael Albinus + + Some Tramp fixes + + * doc/misc/tramp.texi (GVFS-based methods): Ban sftp RemoteCommand + option. + + * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file) + (tramp-adb-handle-rename-file): Avoid calling jka-compr when + writing the target file. + + * lisp/net/tramp-sh.el (tramp-sh-handle-file-ownership-preserved-p): + Skip GROUP test on *BSD machines. + + * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file): + Skip for tamp-crypt.el. + (tramp--test-sh-no-ls--dired-p): Ignore errors. + +2021-01-27 Michael Albinus + + * lisp/net/dbus.el (dbus-monitor-handler): Disable buffer undo. + +2021-01-27 Eli Zaretskii + + Improve documentation of 'read-regexp' and friends + + * doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary. + * doc/emacs/maintaining.texi (Xref): Mention that identifiers are + also known as "tags". + + * lisp/replace.el (read-regexp, read-regexp-suggestions): Improve + wording of doc strings. (Bug#46088) (Bug#46089) + + (cherry picked from commit 49eb03d6c8a181fd46adbbcf1f0a976d0a9efa87) + +2021-01-27 Lars Ingebrigtsen + + read-regexp-suggestions doc string improvement + + * lisp/replace.el (read-regexp-suggestions): Add a link to the + manual to explain what a tag is (bug#46089). + + (cherry picked from commit f9cc2d48246fe8370e9286866e6115ba8e2acf44) + +2021-01-27 Lars Ingebrigtsen + + Try to improve the read-regexp doc string + + * lisp/replace.el (read-regexp): Attempt to clarify the semantics + (bug#46088). + + (cherry picked from commit eded2a7ad7d456a417354a2797c18e9a578414d7) + +2021-01-27 Eli Zaretskii + + Improve documentation of 'read-regexp' and friends + + * doc/emacs/glossary.texi (Glossary): Add "Tag" to the Glossary. + * doc/emacs/maintaining.texi (Xref): Mention that identifiers are + also known as "tags". + + * lisp/replace.el (read-regexp, read-regexp-suggestions): Improve + wording of doc strings. (Bug#46088) (Bug#46089) + +2021-01-27 Juri Linkov + + * lisp/subr.el (empty-history): Move defvar to functions where it's used. + +2021-01-27 Juri Linkov + + Support variable name for previous-window in display-buffer-in-previous-window + + * lisp/window.el (display-buffer-in-previous-window): Support the value of + 'previous-window' entry as a symbol for variable name (bug#45688). + +2021-01-27 Lars Ingebrigtsen + + Fix indentation in sieve-mode + + * lisp/net/sieve-mode.el (sieve-mode-indent-function): New function. + (sieve-mode): Don't inherit from C mode, because the syntax + doesn't really resemble C mode that much (except being curly braced). + +2021-01-27 Lars Ingebrigtsen + + Fix setting of line/point style in calc gnuplot + + * lisp/calc/calc-graph.el (calc-graph-set-styles): Modern gnuplot + requires "ls" before the line style and "ps" before the point + style (bug#46070). + +2021-01-27 Lars Ingebrigtsen + + read-regexp-suggestions doc string improvement + + * lisp/replace.el (read-regexp-suggestions): Add a link to the + manual to explain what a tag is (bug#46089). + +2021-01-27 Lars Ingebrigtsen + + Try to improve the read-regexp doc string + + * lisp/replace.el (read-regexp): Attempt to clarify the semantics + (bug#46088). + +2021-01-27 Stefan Monnier + + Use lexical-binding in all of `lisp/url` + + * lisp/url/url-dav.el: Use lexical-binding. + (url-dav-process-DAV:prop): Remove unused var `handler-func`. + (url-dav-lock-resource): Remove unused var `child-url`. + (url-dav-active-locks): Remove unused var `properties`. + (url-dav-delete-directory): Remove unused var `props`. + (url-dav-file-name-completion): Remove unused var `result`. + + * lisp/url/url-expand.el (url-expand-file-name): Use \s + + * lisp/url/url-file.el (url-file): Improve regexp. + + * lisp/url/url-gw.el: Use lexical-binding. + (url-open-stream): Remove unused var `cur-retries`, `retry`, `errobj`. + + * lisp/url/url-imap.el: Use lexical-binding. + (imap-username, imap-password): Declare. + + * lisp/url/url-mailto.el: Use lexical-binding. + (url-mailto): Remove unused var `func`. Use `push`. + + * lisp/url/url-news.el: Use lexical-binding. + (url-news): Remove unused var `article-brackets`. + + * lisp/url/url-cid.el: + * lisp/url/url-cache.el: + * lisp/url/url-about.el: + * lisp/url/url-tramp.el: + * lisp/url/url-proxy.el: + * lisp/url/url-privacy.el: + * lisp/url/url-nfs.el: + * lisp/url/url-ldap.el: + * lisp/url/url-misc.el: + * lisp/url/url-methods.el: Use lexical-binding. + +2021-01-26 Stefan Monnier + + * lisp/progmodes/sh-script.el (sh-smie-sh-rules): Tweak indent of new `for` + + The new `for (TEST) { BODY }` syntax introduces various challenges. + This patch just fixes a trivial subcase. + +2021-01-26 Eric Abrahamsen + + Revert "Allow gnus-retrieve-headers to return headers directly" + + This reverts commit 20add1cd22f9775a4475148b300cf2a4de4bd54a. This + needs more work before it's ready to merge. + +2021-01-26 Eli Zaretskii + + Fix typos and punctuation + + * src/w32fns.c: + * src/frame.h: + * doc/lispref/frames.texi (Frame Layout): + * etc/NEWS: Fix typos and punctuation in recent changes. + +2021-01-26 Martin Rudalics + + Fix typo in last change of FRAME_INTERNAL_BORDER_WIDTH + + * src/frame.h (FRAME_INTERNAL_BORDER_WIDTH): Fix typo in last + change. + +2021-01-26 Alexander Miller + + Add distinct controls for child frames' borders (Bug#45620) + + The background of the 'child-frame-border' face instead of the + 'internal-border' face now controls the color of child frames' + borders. + + The 'child-frame-border-width' frame parameter is now used for the + width of child frames' borders instead of internal-border-width', + though we still fall back on using the latter if the former is not + set. + + * doc/lispref/frames.texi (Frame Layout): Mention + 'child-frame-border' and 'child-frame-border-width'. + (Layout Parameters): Mention 'child-frame-border-width'. + * etc/NEWS: Mention new face 'child-frame-border' and frame + parameter 'child-frame-border-width'. + * lisp/faces.el (child-frame-border): New face. + * src/dispextern.h (enum face_id): Add CHILD_FRAME_BORDER_FACE_ID. + * src/frame.c (Fframe_child_frame_border_width): New function. + (gui_report_frame_params): Add entry for Qchild_frame_border_width. + * src/frame.h (struct frame): New slot child_frame_border_width. + (FRAME_CHILD_FRAME_BORDER_WIDTH): New inlined function. + * src/nsfns.m (ns_set_child_frame_border_width): New function. + (Fx_create_frame): Handle Qchild_frame_border_width parameter. + (ns_frame_parm_handlers): Add ns_set_child_frame_border_width. + * src/nsterm.m (ns_clear_under_internal_border): Handle + CHILD_FRAME_BORDER_FACE_ID. + * src/w32fns.c (w32_clear_under_internal_border): Handle + CHILD_FRAME_BORDER_FACE_ID. + (w32_set_internal_border_width): New function. + (Fx_create_frame): Handle Qchild_frame_border_width parameter. + (w32_frame_parm_handlers): Add w32_set_child_frame_border_width. + * src/xfaces.c (lookup_basic_face, realize_basic_faces): Handle + CHILD_FRAME_BORDER_FACE_ID. + * src/xfns.c (x_set_child_frame_border_width): New function. + (Fx_create_frame): Handle Qchild_frame_border_width parameter. + (x_frame_parm_handlers): Add x_set_child_frame_border_width. + * src/xterm.c (x_clear_under_internal_border) + (x_after_update_window_line): Handle CHILD_FRAME_BORDER_FACE_ID. + +2021-01-26 Stefan Monnier + + Use `lexical-binding` in all `lisp/international` files + + * lisp/startup.el (keyboard-type): Make obsolete and lex-bound. + + * admin/unidata/unidata-gen.el (unidata-gen-file) + (unidata-gen-charprop): Mark the generated files to use lexical binding. + + * lisp/international/isearch-x.el: Use lexical-binding. + (junk-hist): Declare locally. + + * lisp/international/iso-cvt.el: + * lisp/international/utf-7.el: + * lisp/international/robin.el: + * lisp/international/ogonek.el: + * lisp/international/latin1-disp.el: + * lisp/international/kkc.el: + * lisp/international/kinsoku.el: + * lisp/international/ja-dic-utl.el: Use lexical-binding. + + * lisp/international/ja-dic-cnv.el: Use lexical-binding. + (skkdic-breakup-string): Remove unused var `kana-len`. + + * lisp/international/latexenc.el: Use lexical-binding. + (tex-start-of-header): Declare. + + * lisp/international/mule-diag.el: Use lexical-binding. + (list-character-sets): Remove unused var `pos`. + (list-character-sets-1): Remove unused vars `tail` and `charset`. + (list-charset-chars): Remove unused vars `chars` and `plane`. + (describe-coding-system): Remove unused var `extra-spec`. + (mule--print-opened): New var. + (print-fontset): Bind it. + (print-fontset-element): Use it instead of `print-opened`. + + * lisp/international/quail.el: Use lexical-binding. + (quail-start-translation, quail-start-conversion): + Remove unused var `generated-events`. + (quail-help-insert-keymap-description): Use local dynbound var `the-keymap`. + +2021-01-26 Lars Ingebrigtsen + + Make subdirs . nil in dir-locals in ~/ work + + * lisp/files.el (dir-locals-collect-variables): Compare directory + names after expanding. This makes a (subdirs . nil) in ~/ work as + expected (bug#17205). + + Test case: + + ((nil . ((a . "hallo") + (subdirs . nil)))) + + in ~/ + +2021-01-25 Juri Linkov + + Don't move point to the prompt in previous-line-or-history-element (bug#46033) + + * lisp/simple.el (previous-line-or-history-element): + Avoid moving point to the prompt. + +2021-01-25 Lars Ingebrigtsen + + Fontify special forms and macros the same + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-match-keyword): Handle + special forms and macros the same way (bug#43265). This makes + things like (setq a '(if a b)) be fontified correctly (i.e., not + fontified as a keyword). + +2021-01-24 Lars Ingebrigtsen + + Rewrite lisp--el-funcall-position-p to be inverse of the -not function + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-funcall-position-p): + Rename and rewrite to return the inverse value. Non-inverted + predicate functions are easier to reason about. + (lisp--el-non-funcall-position-p): Make obsolete. + +2021-01-24 Lars Ingebrigtsen + + Fix macro fontification in `condition-case' handler bodies + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): + Fontify macros in the BODY of HANDLERS in `condition-case' + correctly (bug#43265). + +2021-01-24 Lars Ingebrigtsen + + Tweak `condition-case' keyword highlights + + * lisp/emacs-lisp/lisp-mode.el (lisp--el-non-funcall-position-p): + Tweak `condition-case' position check to skip the VAR form. + +2021-01-24 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-01-24 Lars Ingebrigtsen + + Add some elisp-mode font lock tests + +2021-01-24 Michael Albinus + + Make Tramp's insert-directory more robust + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + Use `tramp-sh--quoting-style-options'. + + * test/lisp/net/tramp-tests.el (tramp--test-hpux-p, tramp--test-ksh-p): + Remove superfluous nil. + (tramp--test-sh-no-ls--dired-p): New defun. + (tramp--test-special-characters): Use it. + +2021-01-24 Eric Abrahamsen + + Fix insertion logic of newly subscribed Gnus groups + + * lisp/gnus/gnus-start.el (gnus-subscribe-newsgroup): This was a + misunderstanding of the next/previous argument: no group should ever + be inserted before "dummy.group". + (gnus-group-change-level): Make it clearer that PREVIOUS can be + nil. In fact none of this code would error on a nil value, but it + _looks_ like nil is unexpected. + +2021-01-24 Philipp Stephani + + Add more assertions to recently-added process test. + + * test/src/process-tests.el (process-tests/multiple-threads-waiting): + Also check that 'thread-join' and 'thread-last-error' return the + expected errors. + +2021-01-24 Dmitry Gutov + + Erase the buffer only after fetching the new contents + + * lisp/progmodes/xref.el (xref-revert-buffer): + Erase the buffer only after fetching the new contents (bug#46042). + + (cherry picked from commit 5821dee0949b2913c07970d6e4b8bb8e8a35f036) + +2021-01-24 Basil L. Contovounesios + + Fix recently uncovered 'make check' failures + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2021-01/msg01111.html + + * test/lisp/autorevert-tests.el + (auto-revert-test07-auto-revert-several-buffers): + * test/lisp/emacs-lisp/seq-tests.el (test-seq-do-indexed) + (test-seq-random-elt-take-all): Fix errors from using add-to-list on + lexical variables. + * test/lisp/emacs-lisp/cl-lib-tests.el + (cl-lib-defstruct-record): Expect test to succeed when byte-compiled + following change of 2021-01-23 'Fix missing file&line info in + "Unknown defun property" warnings'. + (cl-lib-tests--dummy-function): Remove; no longer needed. + (old-struct): Silence byte-compiler warning about unused lexical + variable. + +2021-01-24 Jean Louis + + Add support for dired compressing .lz/.lzo files + + * lisp/dired-aux.el (dired-compress-files-alist): Add support for + .lz/.lzo files (bug#44901). + +2021-01-23 Eric Abrahamsen + + Properly initialize gnus-search-namazu-index-directory + + * lisp/gnus/gnus-search.el (gnus-search-namazu): We were missing the + appropriate :initform on this slot definition (Bug#46047). + +2021-01-23 Lars Ingebrigtsen + + Make (subdirs . nil) in .dir-locals.el work + + * lisp/files.el (dir-locals-collect-variables): Don't + destructively modify the cached structure (bug#17205), because + that means that (subdirs . nil) doesn't work. + +2021-01-23 Stefan Monnier + + Fix missing file&line info in "Unknown defun property" warnings + + * lisp/emacs-lisp/byte-run.el (defmacro, defun): Use + `macroexp--warn-and-return` rather than `message`. + + * lisp/emacs-lisp/macroexp.el: Fix `macroexp--compiling-p`. + (macroexp--warn-and-return): Don't try and detect repetition on forms + like `nil`. + (macroexp-macroexpand): Don't forget to bind `macroexpand-all-environment`. + +2021-01-23 Lars Ingebrigtsen + + Provide a (thing-at-point 'url) in eww buffers + + * lisp/net/eww.el (eww-mode): Allow (thing-at-point 'url) to work + in eww buffers. + (eww--url-at-point): New function. + +2021-01-23 Lars Ingebrigtsen + + Add a mechanism for buffer-local thing-at-points + + * doc/lispref/text.texi (Buffer Contents): Document it. + + * lisp/thingatpt.el (thing-at-point-provider-alist): New variable. + (thing-at-point): Use it. + +2021-01-23 Paul Eggert + + Update from Gnulib by running admin/merge-gnulib + +2021-01-23 Gabriel do Nascimento Ribeiro + + Use single post-command-hook on hl-line modes + + * lisp/hl-line.el (hl-line-mode, global-hl-line-mode): Ensure + that 'maybe-unhighlight' is called after line is highlighted. + (Bug#45946) + (hl-line-unhighlight, global-hl-line-unhighlight): Set overlay + variable to nil after overlay is deleted. + +2021-01-23 Philipp Stephani + + Add a unit test testing interaction between threads and processes. + + This unit test tests that we can call 'accept-process-output' in + parallel from multiple threads. + + * test/src/process-tests.el (process-tests/multiple-threads-waiting): + New unit test. + +2021-01-23 Philipp Stephani + + Avoid a few compilation warnings in Objective-C code. + + * src/nsfns.m (Fns_frame_restack): Remove unused variable 'flag'. + + * src/nsmenu.m (ns_update_menubar): Remove unused variable 'pool'. + + * src/nsterm.m (focus_view, hide_bell): Define conditionally. + (ns_update_end): Define variable 'view' conditionally. + (ns_redraw_scroll_bars): Don't define unused function. + (copyRect): Don't perform arithmetic on 'void' pointers. + (nswindow_orderedIndex_sort): Make static. + +2021-01-23 Philipp Stephani + + * .clang-format: Fix base style. + +2021-01-23 Philipp Stephani + + Add a FIXME comment to improve the SIGCHLD race condition handling. + + * src/process.c: Add FIXME comment describing how we could avoid the + self-pipe on modern Unix-like systems. + +2021-01-23 Philipp Stephani + + Mark both ends of self-pipe a nonblocking. + + While no deadlocks caused by the blocking write end have been reported + yet, marking both ends nonblocking is consistent and also recommended + in the GNU/Linux manpage of 'select'. + + * src/process.c (child_signal_init): Mark write end of self-pipe as + nonblocking. + +2021-01-23 Michael Albinus + + Fix failed autorevert test on emba + + * test/lisp/autorevert-tests.el (auto-revert-test05-global-notify): + Check, whether buffer is alive. + +2021-01-23 Michael Albinus + + * test/infra/gitlab-ci.yml (.job-template): Check also for test/lib-src/*.el. + +2021-01-23 Eli Zaretskii + + Clean up the recently added self-pipe mechanism for WINDOWSNT + + * src/process.c (child_signal_init, child_signal_read) + (child_signal_notify): #ifdef away on WINDOWSNT. + +2021-01-23 Eli Zaretskii + + Fix last change + + * doc/lispref/text.texi (Undo): Add a cross-reference to the + description of 'undo-amalgamate-change-group'. + (Atomic Changes): Expand and improve the description of + 'undo-amalgamate-change-group'. (Bug#42303) + +2021-01-23 Lars Ingebrigtsen + + Mention undo-amalgamate-change-group in the lispref manual + + * doc/lispref/text.texi (Atomic Changes): Mention + undo-amalgamate-change-group (bug#42303). + + (cherry picked from commit ba25a82855a2c03c25fec83f3056c166b692e94f) + +2021-01-23 Dmitry Gutov + + Erase the buffer only after fetching the new contents + + * lisp/progmodes/xref.el (xref-revert-buffer): + Erase the buffer only after fetching the new contents (bug#46042). + +2021-01-22 Stefan Monnier + + * lisp/simple.el (newline-and-indent): Disable `electric-indent-mode` + + With `electric-indent-mode` enabled, `newline-and-indent` ends up indenting + 3 times: once for the original line and twice on the new line. + `reindent-then-newline-and-indent` is even worse, indenting twice + both lines. + None of those commands should be affected by `electric-indent-mode` + since they even explicitly say in their name when and how they do + indentation. + + (reindent-then-newline-and-indent): Temporarily disable + `electric-indent-mode` as well. + +2021-01-22 Lars Ingebrigtsen + + Mention undo-amalgamate-change-group in the lispref manual + + * doc/lispref/text.texi (Atomic Changes): Mention + undo-amalgamate-change-group (bug#42303). + +2021-01-22 Paul Eggert + + Work around __has_attribute bug in clang 3.4 + + * src/conf_post.h (HAS_ATTRIBUTE): + * src/emacs-module.h.in (EMACS_ATTRIBUTE_NONNULL): + Port to clang 3.4 and earlier. + +2021-01-22 Paul Eggert + + Update from Gnulib by running admin/merge-gnulib + +2021-01-22 Paul Eggert + + Prepare for update from Gnulib + + * configure.ac: Also create lib/malloc and lib/deps/malloc + if the dynarray module is in use, as Gnulib regex will + start needing it due to recent glibc changes. + +2021-01-22 Lars Ingebrigtsen + + Fix up previous mh-speed.el ignored variable change + + * lisp/mh-e/mh-speed.el (mh-speed-toggle, mh-speed-view): Mark the + ignored parameter with _ instead of using the Common Lispish + (declare (ignore args)) (which Emacs Lisp doesn't really support), + except by accident. + +2021-01-22 Keith David Bershatsky + + Add more isearch-related bindings to ns-win.el + + * lisp/term/ns-win.el (minibuffer-local-isearch-map): Add more + bindings to mirror bindings in isearch.el (bug#15667). + +2021-01-22 Lars Ingebrigtsen + + Make nnml handle invalid non-ASCII headers more consistently + + * lisp/gnus/nnml.el (nnml--encode-headers): New function to + RFC2047-encode invalid Subject/From headers (bug#45925). This + will make them be displayed more consistently in the Summary + buffer (but still "wrong" sometimes, since there's not that much + we can guess at at this stage, charset wise). + (nnml-parse-head): Use it. + +2021-01-22 Michael Albinus + + Use RemoteCommand option for Tramp's sshx and scpx methods + + * doc/misc/tramp.texi (Inline methods) : + (External methods) : Adapt call sequence. + (Remote shell setup): Mention, that sshx and scpx overwrite + RemoteCommand. + (Remote processes): Restriction: direct asynchronous processes + cannot be used when RemoteCommand is in use. + `tramp-remote-process-environment' is not ignored any longer. + + * lisp/net/tramp-sh.el (tramp-methods) : Handle login + shell via RemoteCommand. Remove `tramp-direct-async' parameter. + (tramp-maybe-open-connection): Add "-i" to login. + + * lisp/net/tramp-smb.el (tramp-smb-errors): + Add "NT_STATUS_NOT_SUPPORTED". + (tramp-smb-handle-insert-directory): Fix point moving error. + + * test/lisp/net/tramp-tests.el (tramp-test34-explicit-shell-file-name): + Use `get-buffer-process' where appropriate. + +2021-01-22 Mattias EngdegÃ¥rd + + Calc: use big brackets around function arguments + + * lisp/calc/calccomp.el (math-compose-expr): Use big brackets around + arguments in Big mode, so that expressions like sin(a/b) look a bit + better. + +2021-01-22 Eli Zaretskii + + Avoid sending systemd shutdown notifications if non-daemon + + * src/emacs.c (Fkill_emacs): Send the shutdown notification only + in daemon mode. (Bug#46022) + +2021-01-22 Eli Zaretskii + + Fix last change for DOS_NT systems + + * src/term.c (tty_draw_row_with_mouse_face) + (tty_write_glyphs_with_face): Don't define on MSDOS and WINDOWSNT, + as those have their own implementations of that. + +2021-01-22 João Távora + + Enable TTY mouse-face support when built without GPM support + + * src/term.c (tty_write_glyphs_with_face): Move definition out of + ifdef block. + * src/xdisp.c (draw_row_with_mouse_face): Now called + unconditionally on all platforms. + +2021-01-22 Glenn Morris + + * lisp/textmodes/remember.el (remember-text-format-function): Fix type. + +2021-01-22 Eli Zaretskii + + * src/cmds.c (Fforward_line): Doc fix. (Bug#46027) + +2021-01-22 Eli Zaretskii + + Improve documentation of sendmail.el defcustom's + + * lisp/mail/sendmail.el (mail-archive-file-name) + (mail-default-reply-to, mail-self-blind, mail-default-headers): + Say in the doc string that 'message-default-mail-headers' shall be + customized when using 'message-mode' for email composition. + (Bug#46029) + +2021-01-21 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Copy newer files to image to build less often. + +2021-01-21 Stefan Monnier + + Fix spurious "Lexical argument shadows the dynamic variable" due to inlining + + Before this patch doing: + + rm lisp/calendar/calendar.elc + make lisp/calendar/cal-hebrew.elc + + would spew out lots of spurious such warnings about a `date` argument, + pointing to code which has no `date` argument in sight. This was + because that code had calls to inlinable functions (taking a `date` + argument) defined in `calendar.el`, and while `date` is a normal + lexical var at the site of those functions' definitions, it was + declared as dynbound at the call site. + + * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): + Don't impose our local context onto the inlined function. + + * test/lisp/emacs-lisp/bytecomp-tests.el: Add matching test. + +2021-01-21 Stefan Kangas + + * lisp/net/webjump.el: Add Maintainer: emacs-devel. + + Ref: https://lists.gnu.org/r/emacs-devel/2021-01/msg01019.html + +2021-01-21 Lars Ingebrigtsen + + Don't have type-break-mode signal errors on corrupted files + + * lisp/type-break.el (type-break-get-previous-time): + (type-break-get-previous-count): Signal a warning instead of an + error (bug#38246). type-break will still continue to work even if + the database can't be loaded after a restart, but this allows + Emacs to be started. + +2021-01-21 Lars Ingebrigtsen + + Fix message.el build warning from previous change + + * lisp/gnus/message.el (subr-x): Fix build warning from previous + commit. + +2021-01-21 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Revert to always building. + +2021-01-21 Lars Ingebrigtsen + + Add dired support for compressing .pax files + + * lisp/dired-aux.el (dired-compress-files-alist): Add support for + compressing .pax files (bug#40135). + +2021-01-21 Lars Ingebrigtsen + + Tweak previous message-forward-included-mime-headers change + + * lisp/gnus/message.el (message-forward-included-mime-headers): + Should probably not include Content-Transfer-Encoding, because we + will reencode anyway. + +2021-01-21 Lars Ingebrigtsen + + Make Message respect header removal instructions more + + * doc/misc/message.texi (Forwarding): Document it. + + * lisp/gnus/message.el (message-forward-ignored-headers): Improve + documentation. + (message-forward-included-headers): Ditto. + (message-forward-included-mime-headers): New user option. + (message-remove-ignored-headers): Use it to preserve the necessary + MIME headers. + (message-forward-make-body): Remove headers when forwarding as + MIME, too. + +2021-01-21 Eli Zaretskii + + A better fix for 'kill-visual-line' + + * lisp/simple.el (kill-visual-line): Use the 6th element of the + return value of 'posn-at-point', which provides the coordinates in + terms or row and column, and is thus more reliable for deciding + whether we moved to the next screen line. (Bug#45837) + +2021-01-21 Lars Ingebrigtsen + + Fix thinko in previous footnote.el change + + * lisp/mail/footnote.el (footnote--regenerate-alist): Don't error + out when there's no footnotes. + +2021-01-21 Stefan Monnier + + Use `lexical-binding` in all the cal-*.el files + + * lisp/calendar/cal-bahai.el: Use lexical-binding. + (calendar-bahai-date-string): Use `calendar-dlet*`. + + * lisp/calendar/cal-china.el: Use lexical-binding. + (calendar-chinese-zodiac-sign-on-or-after) + (calendar-chinese-new-moon-on-or-after): Declare `year`. + (calendar-chinese-from-absolute-for-diary) + (calendar-chinese-to-absolute-for-diary) + (calendar-chinese-mark-date-pattern): Avoid dynbound var `date` as + function argument. + + * lisp/calendar/cal-coptic.el: Use lexical-binding. + (calendar-coptic-date-string): Use `calendar-dlet*`. + (calendar-ethiopic-to-absolute, calendar-ethiopic-from-absolute) + (calendar-ethiopic-date-string, calendar-ethiopic-goto-date): + Avoid dynbound var `date` as function argument. + + * lisp/calendar/cal-french.el: Use lexical-binding. + + * lisp/calendar/cal-hebrew.el: Use lexical-binding. + (holiday-hebrew-hanukkah): Don't use the third form in `dotimes`. + + * lisp/calendar/cal-islam.el: Use lexical-binding. + (calendar-islamic-to-absolute): Comment out unused vars `month` and `day`. + + * lisp/calendar/cal-move.el: + * lisp/calendar/cal-mayan.el: + * lisp/calendar/cal-iso.el: Use lexical-binding. + + * lisp/calendar/cal-persia.el: Use lexical-binding. + (calendar-persian-date-string): Use `calendar-dlet*`. + + * lisp/calendar/cal-html.el: Use lexical-binding. + (cal-html-insert-minical): Comment out unused var `date`. + (cal-html-cursor-month, cal-html-cursor-year): Mark `event` arg as unused. + + * lisp/calendar/cal-menu.el: Use lexical-binding. + (diary-list-include-blanks): Declare var. + + * lisp/calendar/cal-x.el: Use lexical-binding. + + * lisp/calendar/cal-tex.el: Use lexical-binding. + (diary-list-include-blanks): Declare var. + (cal-tex-insert-days, cal-tex-cursor-week-iso, cal-tex-week-hours) + (cal-tex-weekly-common, cal-tex-cursor-filofax-2week) + (cal-tex-cursor-filofax-daily, cal-tex-daily-page): Declare `date` + as dynbound for the benefit of `cal-tex-daily-string`. + +2021-01-21 Stefan Monnier + + Use `calendar-read-sexp` instead of the now obsolete `calendar-read` + + * lisp/calendar/diary-lib.el (diary-insert-cyclic-entry): + * lisp/calendar/cal-persia.el (calendar-persian-read-date): + * lisp/calendar/cal-move.el (calendar-goto-day-of-year): + * lisp/calendar/cal-mayan.el (calendar-mayan-read-haab-date) + (calendar-mayan-read-tzolkin-date): + * lisp/calendar/cal-julian.el (calendar-julian-goto-date) + (calendar-astro-goto-day-number): + * lisp/calendar/cal-iso.el (calendar-iso-read-date): + * lisp/calendar/cal-islam.el (calendar-islamic-read-date): + * lisp/calendar/cal-hebrew.el (calendar-hebrew-read-date) + (calendar-hebrew-list-yahrzeits): + * lisp/calendar/cal-french.el (calendar-french-goto-date): + * lisp/calendar/cal-coptic.el (calendar-coptic-read-date): + * lisp/calendar/cal-china.el (calendar-chinese-goto-date): + * lisp/calendar/cal-bahai.el (calendar-bahai-read-date): + * lisp/calendar/holidays.el (list-holidays): Use `calendar-read-sexp`. + +2021-01-21 Stefan Monnier + + * lisp/calendar/cal-french.el (calendar-french-accents-p): Obsolete function + + Always assume accented letters can be used + + (calendar-french-month-name-array) + (calendar-french-special-days-array): Use the accented names. + (calendar-french-multibyte-month-name-array) + (calendar-french-multibyte-special-days-array): Make those vars + obsolete aliases. + (calendar-french-month-name-array, calendar-french-day-name-array) + (calendar-french-special-days-array): Mark functions as obsolete. + (calendar-french-date-string, calendar-french-goto-date): Always use + the text with accents. + +2021-01-21 Stefan Monnier + + * lisp/calendar/calendar.el (calendar-read-sexp): New function + + (calendar-read): Mark as obsolete. + (calendar-read-date): Use it. Add `default-date` argument. + Provide defaults for the month and day (fixes bug#32105). + +2021-01-21 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el (byte-compile--declare-var): Fix warning + + Make sure the "declared after first use" is under the control of + the `lexical` option. + +2021-01-20 Lars Ingebrigtsen + + Fix recent remember-diary-extract-entries change + + * lisp/textmodes/remember.el (remember-diary-extract-entries): Use + `remember-diary-file' over `diary-file'. + +2021-01-20 Lars Ingebrigtsen + + checkdoc-spellcheck-documentation-flag doc string improvement + + * lisp/emacs-lisp/checkdoc.el + (checkdoc-spellcheck-documentation-flag): Mention + `ispell-kill-ispell' (bug#6221). + +2021-01-20 Lars Ingebrigtsen + + Revert "Always send Lisp words to checkdoc-ispell-init" + + This reverts commit 93141d581330d94e7eec9f114def2bec15f87866. + + This would make checkdoc words be used in other flyspell + buffers. + +2021-01-20 Lars Ingebrigtsen + + Always send Lisp words to checkdoc-ispell-init + + * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell-init): Always send + the Lisp words to the process (bug#6221). This allows an existing + ispell process to be correctly initialised. + +2021-01-20 Juri Linkov + + Move the ‘declare’ form before the interactive spec in 10 functions. + + * lisp/emacs-lisp/package.el (package-menu-hide-package): + * lisp/font-lock.el (font-lock-debug-fontify): + * lisp/image.el (image-jpeg-p): + * lisp/mail/flow-fill.el (fill-flowed-test): + * lisp/mh-e/mh-speed.el (mh-speed-toggle, mh-speed-view): + * lisp/progmodes/project.el (project-async-shell-command) + (project-shell-command, project-compile): + * lisp/progmodes/sh-script.el (sh-assignment): + Fix special forms to follow in this order: docstring, declare, interactive. + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/subr-x.el (named-let): New macro + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Add 2 new opts + + This introduces two new optimizations. They're designed for code like + + (while + (let (...) + (if ... (progn blabla t) (progn blabla nil))) + ...) + + and they allow the elimination of the test internal to `while` since + we can immediately know when we return `t` or `nil` what the result + of the test will be. + + `cl-labels` tends to generate this kind of code when it applies the + tail-call optimization. + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Move some opts. + + This moves two optimizations from the final pass to the main loop. + Both may enable further optimizations (and the second can be applied + repeatedly but "from the end", so the loop in the final pass only gets + to apply it once). + +2021-01-20 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): Re-indent + +2021-01-20 Lars Ingebrigtsen + + Fix footnote-mode problem when reopening an old file + + * lisp/mail/footnote.el (footnote--regenerate-alist): New function + (bug#7258). + (footnote-mode): Use it to restore footnotes after opening an old + file with footnotes. + +2021-01-20 Lars Ingebrigtsen + + cua-toggle-global-mark doc string clarification + + * lisp/emulation/cua-gmrk.el (cua-toggle-global-mark): Clarify + that also inserted characters are affected (bug#8083). + +2021-01-20 Michael Albinus + + Fix environment handling in tramp-handle-make-process + + * lisp/net/tramp.el (tramp-test-message): Add `tramp-suppress-trace' property. + (tramp-handle-make-process): Handle also 'tramp-remote-process-environment'. + +2021-01-20 Gabriel do Nascimento Ribeiro + + Respect remember-save-after-remembering on remember-diary-extract-entries + + * lisp/textmodes/remember.el (remember-diary-extract-entries): + Save automatically if `remember-save-after-remembering' is non-nil + (bug#45811). + +2021-01-20 Gabriel do Nascimento Ribeiro + + Add option remember-text-format-function + + * lisp/textmodes/remember.el (remember-text-format-function): New + variable (bug#45809). + (remember-append-to-file): Use it. + +2021-01-20 Gabriel do Nascimento Ribeiro + + Add option remember-diary-regexp + + * lisp/textmodes/remember.el (remember-diary-extract-entries): Use + it (bug#45808). + (remember-diary-regexp): New variable. + +2021-01-20 Lars Ingebrigtsen + + Tweak tty-find-type to allow TERM=screen.xterm + + * lisp/faces.el (tty-find-type): Allow TERM=screen.xterm to find + term/screen.el (bug#45824). + +2021-01-20 Lars Ingebrigtsen + + Make symbol-at-point return nil if there's no symbols in the buffer + + * lisp/thingatpt.el (thing-at-point--beginning-of-symbol): Special + op that errors out when there's no symbols in the buffer before + point (bug#14234). + (symbol): Use it. + +2021-01-20 Lars Ingebrigtsen + + Add tests for symbol-at-point (bug#14234) + +2021-01-20 Stefan Monnier + + Don't let `maybe_quit` prevent resetting `consing_until_gc` (bug#43389) + + * src/alloc.c (garbage_collect): Postpone `unblock_input` a bit. + * src/window.c (window_parameter): Avoid `maybe_quit`. + +2021-01-20 Fabrice Bauzac (tiny change) + + Sort Ibuffer filename/process column as displayed + + * lisp/ibuf-ext.el (ibuffer-do-sort-by-filename/process): Use the + same function for sorting and for displaying the + filename/process (Bug#45800). + +2021-01-20 Lars Ingebrigtsen + + Revert "Make `symbol-at-point' work in buffers with no symbols" + + This reverts commit 40a5df81434ce02fba01779256b50976fb74da4f. + + This fails when a point is after a symbol, and there's + nothing else in the buffer. + +2021-01-20 Lars Ingebrigtsen + + Don't add Content-Type when ceasing an rmail edit + + * lisp/mail/rmailedit.el (rmail-cease-edit): Take an optional + parameter to avoid altering the message (bug#13327). + (rmail-abort-edit): Use it. + +2021-01-20 Lars Ingebrigtsen + + Make `symbol-at-point' work in buffers with no symbols + + * lisp/thingatpt.el (thing-at-point--end-of-symbol): New function + (bug#14234). + (symbol): Use it instead of `forward-symbol', because the latter + will move to the end of the buffer even if there is no symbol + there. Instead error out like `forward-sexp' and friends. + +2021-01-20 Lars Ingebrigtsen + + Fix up example in the Modifying Menus node in the lispref manual + + * doc/lispref/keymaps.texi (Modifying Menus): Make the second + example more regular (bug#14257). + +2021-01-20 Lars Ingebrigtsen + + Mention that the mouse will switch on transient-mark-mode in manual + + * doc/lispref/markers.texi (The Mark): Mention that the mouse will + enable the `(only)' transient mark mode (bug#14945). + +2021-01-20 Lars Ingebrigtsen + + Make sh-mode use `auto-mode-interpreter-regexp' + + * lisp/progmodes/sh-script.el (sh-mode): Use + `auto-mode-interpreter-regexp' instead of open-coding the value + (bug#17158). + +2021-01-20 Nick Drozd + + test/lisp/replace-tests.el: Add nested match group test + + * test/lisp/replace-tests.el (replace-regexp-bug45973): Add test + (bug#45973). + +2021-01-19 Andrea Corallo + + Do not add unnecesary arg constraints (bug#45812 bug#45705 bug#45751). + + These have the effect of bloating the IR for no effect killing compile + time. The typical cases for that are extremely long backuoted lists. + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-t): New var. + * lisp/emacs-lisp/comp.el (comp-add-call-cstr): No need to add + arg call constraints if this is t. + +2021-01-19 Philipp Stephani + + Make child signal read pipe non-blocking. + + Otherwise Emacs might hang when trying to read the pipe twice in a + row. This is consistent with the other file descriptors we pass to + 'pselect'. + + * src/process.c (child_signal_init): Make read end of pipe + non-blocking. + +2021-01-19 Dmitry Gutov + + Declare some project commands interactive-only + + * lisp/progmodes/project.el (project-async-shell-command) + (project-shell-command, project-compile): + Declare interactive-only (bug#45765). + +2021-01-19 Juri Linkov + + * lisp/help-fns.el: Move defvar keymap-name-history closer to where it's used. + +2021-01-19 Juri Linkov + + Better check for nil in search-/query-replace-highlight-submatches (bug#45973) + + * lisp/isearch.el (isearch-highlight): + * lisp/replace.el (replace-highlight): + Use integer-or-marker-p to check matches. + +2021-01-19 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Bootstrap only from web, schedule, or C-related. + +2021-01-19 Mattias EngdegÃ¥rd + + Calc: use Unicode brackets in Big mode when available (bug#45917) + + * lisp/calc/calccomp.el (math--big-bracket-alist) + (math--big-bracket, math--comp-bracket, math--comp-round-bracket): + New. + (math-compose-expr, math-compose-log, math-compose-log10) + (math-compose-choose, math-compose-integ, math-compose-sum) + (math-compose-prod): Use big brackets when available. + +2021-01-19 Stefan Monnier + + * etc/NEWS.19: Add entry for `indent-line-to` + + * lisp/version.el (emacs-major-version, emacs-minor-version): + Remove redundant version info already displayed by `C-h o`. + +2021-01-19 Michael Albinus + + Some Tramp fixes, resulting from test campaign + + * doc/misc/tramp.texi (Remote shell setup): Clarifications for + `tramp-actions-before-shell' example. + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Do not expand + FILENAME explicitely. + (tramp-open-shell): Add "-i" for interactive shells. + + * test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p) + (tramp-test14-delete-directory) + (tramp-test43-asynchronous-requests): Skip for MS windows. + +2021-01-19 Stefan Monnier + + * lisp/startup.el: Fix bug#45857, bug#30994, and bug#45913. + + (command-line): Don't re-evaluate the `custom-delayed-init-variables` + a second time after reading the `early-init.el` file. + (x-apply-session-resources): Set `blink-cursor-mode` rather than + `no-blinking-cursor`. + + * lisp/frame.el (blink-cursor-start): Turn `blink-cursor-mode` off + if `blink-cursor-mode` was set to nil. + (blink-cursor-mode): Default to it being enabled regardless of + `window-system`. + + * lisp/custom.el (custom-initialize-delay): Fox docstring now that + autoload.el preserves the `:initialize` info. + +2021-01-19 Lars Ingebrigtsen + + Only show "2x entries" i vc log buffers if needed + + * lisp/vc/vc.el (vc-print-log-setup-buttons): Only show the "more" + buttons if we got more or equal to the number of entries we asked + for (bug#18959). + +2021-01-19 Mattias EngdegÃ¥rd + + Parse square root sign in embedded Calc mode + + * lisp/calc/calc-lang.el (math-read-big-rec): Recognise √ since it may + be used in Big mode. + +2021-01-19 Mattias EngdegÃ¥rd + + Missing dynamic variable declarations in Calc + + * lisp/calc/calc-embed.el (calc-embedded-set-modes): Prevent + the-language and the-display-just from being lexically bound here, + because they may be assigned using 'set'. + +2021-01-19 Lars Ingebrigtsen + + Fix slow abbrev expansion in `message-mode' in some circumstances + + * lisp/gnus/message.el (message--syntax-propertize): Use the + correct Message mode syntax table to avoid having + `message-cite-prefix-regexp' trigger very heavy backtracing when + called from an abbrev context (which defines "_" as a word + constituent) (bug#45944). + +2021-01-19 Lars Ingebrigtsen + + Don't stop Gnus startup on password failures + + * lisp/gnus/nntp.el (nntp-send-authinfo): Don't signal an + `nntp-authinfo-rejected' error, because that will stop Gnus + startup (bug#45855). Instead signal an error that will be caught + higher up. + +2021-01-19 Michael Albinus + + Handle also test/lib-src directory + + * test/Makefile.in (SUBDIRS): Add lib-src. + + * test/README: Add predefined selectors. + + * test/file-organization.org: Mention test/lib-src directory. + +2021-01-19 Mauro Aranda + + Fix list-colors-print handling of callback arg + + * lisp/facemenu.el (list-colors-print): Keeping + backward-compatibility, don't fail when passed a closure object as + CALLBACK. (Bug#45831) + +2021-01-19 Mauro Aranda + + Add test for the widget-color-match function (Bug#45829) + + * test/lisp/wid-edit-tests.el (widget-test-color-match): New test. + +2021-01-19 Drew Adams + + Tweaks to the color widget (Bug#45829) + + * lisp/wid-edit.el (widget-color-match, widget-color-validate): New + functions. + (color): Use the new functions. Base size on longest defined color + name, defaulting to the longest RGB hex string. + +2021-01-19 Protesilaos Stavrou + + Add 'perl-non-scalar-variable' face to perl-mode + + * etc/NEWS: Document the new face (bug#45840). + * lisp/progmodes/perl-mode.el (perl-non-scalar-variable): Define new + face. + (perl-font-lock-keywords-2): Apply 'perl-non-scalar-variable' face. + +2021-01-19 James N. V. Cash (tiny change) + + Define keymap-name-history + + * lisp/help-fns.el (keymap-name-history): Define the history + variable (bug#45879). This avoids problems in other completing + systems like Helm. + +2021-01-19 Lars Ingebrigtsen + + Actually make the calc trail window dedicated + + * lisp/calc/calc.el (calc-trail-display): Actually make the trail + window dedicated (bug#45928). + +2021-01-19 Lars Ingebrigtsen + + Don't infloop in comint-redirect-results-list-from-process + + * lisp/comint.el (comint-redirect-results-list-from-process): + Ensure forward progress (bug#45950). + +2021-01-19 Lucas Werkmeister + + Mark the various nxml flags as safa + + * lisp/nxml/nxml-mode.el (nxml-char-ref-display-glyph-flag) + (nxml-sexp-element-flag, nxml-slash-auto-complete-flag) + (nxml-child-indent, nxml-attribute-indent) + (nxml-bind-meta-tab-to-complete-flag) + (nxml-prefer-utf-16-to-utf-8-flag) + (nxml-prefer-utf-16-little-to-big-endian-flag) + (nxml-default-buffer-file-coding-system) + (nxml-auto-insert-xml-declaration-flag): Add :safe to allow easier + cusomization (bug#45969). + +2021-01-19 Lars Ingebrigtsen + + Revert "* .gitignore: add src/fingerprint.c" + + This reverts commit 2644353cbc65927a6a0a76d68e00d017771cdd03. + + The src/fingerprint.c file is no longer generated, and the spelling of the obsolete function was correct. + +2021-01-19 Dmitry Gutov + + Make sure the new window is not too tall + + * lisp/progmodes/xref.el (xref-show-definitions-buffer-at-bottom): + Make sure the new window is not too tall (bug#45945). + +2021-01-18 Stephen Gildea + + time-stamp-tests now pass in more locales + + Update time-stamp-tests to use format-time-string to generate the date + words (month, day of week, AM/PM) instead of hard-coding English. Now + the tests pass in locales other than "C" and US English. + + Expand the test coverage of modifier characters. + +2021-01-18 Eric Abrahamsen + + Allow gnus-retrieve-headers to return headers directly + + Previously, all Gnus backends returned header information by writing + nov lines into the nntp-server-buffer, which was later parsed. This + commit allows the backends to return their header information as a + list of already-parsed headers, though so far none of the backends + actually do that. The agent, cache, cloud etc. now operate on parsed + headers rather than nov text, ie. they use gnus-fetch-headers instead + of gnus-retrieve-headers. + + * lisp/gnus/gnus-sum.el (gnus-fetch-headers): Handle the case in which + gnus-retrieve-headers returns headers directly. + * lisp/gnus/nnvirtual.el (nnvirtual-retrieve-headers): Use + gnus-fetch-headers rather than gnus-retrieve-headers to get headers, + meaning we're operating on already-parsed headers. + (nnvirtual-convert-headers): Remove now-unnecessary function. + (nnvirtual-update-xref-header): Rewrite to operate on parsed header. + * lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks): Use + gnus-fetch-headers instead of gnus-retrieve-headers. + * lisp/gnus/gnus-cache.el (gnus-cache-retrieve-headers): Use + gnus-fetch-headers. + (gnus-cache-braid-nov, gnus-cache-braid-heads): Delete unnecessary + functions -- we now do this work on a list of parsed headers. + * lisp/gnus/gnus-agent.el (gnus-agent-retrieve-headers): Use + gnus-fetch-headers. + (gnus-agent-braid-nov): Remove unnecessary function. + (gnus-agent-fetch-headers): Use gnus-fetch-headers. + +2021-01-18 Basil L. Contovounesios + + Fix ibuffer-mark-by-file-name-regexp abbreviations + + * lisp/ibuffer.el (ibuffer--abbreviate-file-name): New function. + (filename): Use it. + * lisp/ibuf-ext.el (ibuffer-mark-by-file-name-regexp): Prefer + read-regexp over read-string for reading regexps. Determine file + name using ibuffer-buffer-file-name for consistency. Abbreviate + file name using ibuffer-directory-abbrev-alist (bug#18859). + +2021-01-18 Basil L. Contovounesios + + Use format-prompt in read-regexp. + + * lisp/replace.el (read-regexp): Use format-prompt (bug#12443). + +2021-01-18 Eric Ludlam + + * lisp/cedet/ede/proj.el: Enable Project files to load + + (ede-proj-target-makefile): Give more precise type for its `rules` slot. + + * lisp/cedet/ede/base.el (ede-target-list): Don't define. + (ede-project): Use `list-of` instead. + +2021-01-18 Eli Zaretskii + + Fix recent changes for Cham script + + * lisp/language/cham.el ("Cham"): Fix sample-text. + * lisp/leim/quail/cham.el: Really install this new file. + +2021-01-18 Aaron Jensen + + * test/src/xdisp-tests.el: Fix tests to work in batch mode + + (xdisp-tests--window-text-pixel-size) + (xdisp-tests--window-text-pixel-size-leading-space) + (xdisp-tests--window-text-pixel-size-trailing-space): Fix tests. + (Bug#45748) + +2021-01-18 Lars Ingebrigtsen + + Don't double up keys in epa--list-keys + + * lisp/epa.el (epa--list-keys): Delete the list keys before + redisplaying (bug#44134). + +2021-01-18 Stephen Berman + + Fix problem with `epa-list-keys' bugging out + + * lisp/epa.el (epa--list-keys): Partially revert 517285f7cae which + removed the wrong property (bug#44134). + +2021-01-18 Mattias EngdegÃ¥rd + + Avoid macOS NSFilenamesPboardType warning (bug#33035) + + * src/nsterm.h (NS_USE_NSPasteboardTypeFileURL): New #define. + * src/nsterm.m (ns_term_init): + ([EmacsView performDragOperation:]): + * src/nsselect.m (ns_string_to_symbol): + (nxatoms_of_nsselect): + NSFilenamesPboardType was deprecated in macOS 10.14; use + NSPasteboardTypeFileURL instead when available. + +2021-01-18 Philipp Stephani + + Replace Unix commands with Emacs in process tests. + + That way, the tests only depend on Emacs, and not on utilities that + might not be available during test time. + + * test/src/process-tests.el (process-tests--eval) + (process-tests--emacs-command, process-tests--emacs-binary) + (process-tests--dump-file) + (process-tests--usable-file-for-reinvoke): New helper functions. + (process-tests/sentinel-called) + (process-tests/sentinel-with-multiple-processes): Use them. + +2021-01-17 Andrea Corallo + + * Run dead code removal always before fwprop, optim bootstrap time (~20% less) + + * lisp/emacs-lisp/comp.el (comp-passes): Remove `comp-dead-code'. + (comp-fwprop): Call `comp-dead-code'. + (comp-dead-code): Remove fake arg. + +2021-01-17 Andrea Corallo + + * Introduce `comp-fwprop-max-insns-scan' as heuristic threshold + + * lisp/emacs-lisp/comp.el (comp-fwprop-max-insns-scan): New + constant. + (comp-fwprop*): Give-up when `comp-fwprop-max-insns-scan' is + exceeded. + +2021-01-17 Andrea Corallo + + Make `comp-enable-subr-trampolines' effective for advices (bug#45854) + + * src/comp.c: Copyright update. + (syms_of_comp): Update `comp-enable-subr-trampolines' doc. + * lisp/emacs-lisp/comp.el (comp-subr-trampoline-install): Check + for `comp-enable-subr-trampolines'. + +2021-01-17 Eli Zaretskii + + Improve support for the Cham script and languages + + * etc/NEWS: Announce the new 'cham' input method. + * etc/HELLO: Fix the order of letters in the Cham greeting. + Remove redundant newlines (reported by Ulrich Mueller + ). + + * lisp/language/cham.el ("Cham"): Add input-method entry. + * lisp/leim/quail/cham.el: New file. + * lisp/international/fontset.el (setup-default-fontset): Add an + entry for Cham. + +2021-01-17 Ted Zlatanov + + * test/infra/gitlab-ci.yml: Merge test-template into job-template. + +2021-01-17 Philipp Stephani + + Ensure that sentinels are called during 'accept-process-output'. + + When we're trying to notify a process about a status change, we need + to ignore the SIGCHLD pipe temporarily, otherwise the code would + likely not run into the timeout case that's necessary for a status + change to happen. + + * src/process.c (wait_reading_process_output): Ignore the SIGCHLD pipe + when notifying a process about a status change. + * test/src/process-tests.el (process-tests/sentinel-called) + (process-tests/sentinel-with-multiple-processes): New unit tests. + +2021-01-17 Michael Albinus + + Add new targets to test/Makefile + + * test/Makefile.in (SUBDIRS): New variable. + (subdir_template): New template. + (top) Create new check- targets. + + * test/README: Document them. + + * test/infra/gitlab-ci.yml (test-lisp-net-inotify): Rename. + +2021-01-17 Philipp Stephani + + Add a bit more clarification around standard error processes. + + * doc/lispref/processes.texi (Asynchronous Processes): Document + how to obtain the standard error process that Emacs creates. + (Accepting Output): Add an example how to wait for standard error in + case Emacs has created a standard error process. + +2021-01-16 Stefan Monnier + + * lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker): Use pcase + +2021-01-16 Stefan Monnier + + * lisp/emacs-lisp/pcase.el: Add support for `not` to `pred` + + (pcase--split-pred, pcase--funcall): Adjust for `not`. + (pcase--get-macroexpander): New function. + (pcase--edebug-match-macro, pcase--make-docstring) + (pcase--macroexpand): Use it. + + * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Use it! + + * doc/lispref/control.texi (The @code{pcase} macro): Document it. + + * lisp/emacs-lisp/ert.el (ert--explain-equal-rec): Remove redundant test. + +2021-01-16 Philipp Stephani + + Don't crash if no asynchronous process has been created yet. + + * src/process.c (wait_reading_process_output): Allow + child_signal_read_fd < 0. + +2021-01-16 Philipp Stephani + + Fix deadlock when receiving SIGCHLD during 'pselect'. + + If we receive and handle a SIGCHLD signal for a process while waiting + for that process, 'pselect' might never return. Instead, we have to + explicitly 'pselect' that the process status has changed. We do this + by writing to a pipe in the SIGCHLD handler and having + 'wait_reading_process_output' select on it. + + * src/process.c (child_signal_init): New helper function to create a + pipe for SIGCHLD notifications. + (child_signal_read, child_signal_notify): New helper functions to + read from/write to the child signal pipe. + (create_process): Initialize the child signal pipe on first use. + (handle_child_signal): Notify waiters that a process status has + changed. + (wait_reading_process_output): Make sure that we also catch + SIGCHLD/process status changes. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Remove workaround, + which is no longer needed. + +2021-01-16 Eli Zaretskii + + Fix Rmail summary for more than 99,999 messages + + * lisp/mail/rmailsum.el (rmail-summary-font-lock-keywords): Don't + assume there will be less than 100,000 messages in an mbox file. + (Bug#45912) + +2021-01-16 Eli Zaretskii + + Fix two tests + + * test/lisp/progmodes/elisp-mode-tests.el (xref-elisp-test-run): + Make sure file names can be compared as strings, by running them + through 'file-truename'. Reported by Vin Shelton + . + * test/lisp/emacs-lisp/bytecomp-tests.el ("warn-obsolete-hook.el") + ("warn-obsolete-variable.el"): Use [^z-a] to match a newline as + well. Reported by Vin Shelton . + +2021-01-16 Ted Zlatanov + + test/infra/gitlab-ci.yml: run only for tags and some branches + +2021-01-16 Eli Zaretskii + + Improve support for Cham script + + * lisp/language/cham.el ("Cham"): Expand the entry. + + * etc/HELLO: Add entry for Cham. + +2021-01-16 Ted Zlatanov + + EMBA container build improvements for Emacs build testing. + + * test/infra/gitlab-ci.yml: Moved from .gitlab-ci.yml. Use the + EMBA container registry with a different login token storage file + for each commit. Split test stages into prep, build, fast tests, + normal tests, platform tests, and slow (everything) and use + templates where possible. + + * .gitlab-ci.yml: Include test/infra/gitlab-ci.yml and move all + content there. + +2021-01-16 Eli Zaretskii + + Fix last change + + * src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position): + Don't compile the FRAME_MSDOS_P case on platforms other than + MSDOS, as that will never happen there. + +2021-01-16 Jared Finder + + Make mouse-related calls be more consistent on all frame types + + * src/frame.c (Fset_mouse_position, Fset_mouse_pixel_position): Call + Fselect_frame and appropriate mouse_moveto function on all non-GUI + frame types, independent of #ifdef's. + * src/term.c (init_tty): Initialize mouse_face_window for all + non-GUI frame types. + (term_mouse_moveto) [HAVE_GPM]: Make available even if + HAVE_WINDOW_SYSTEM is defined. + * src/xdisp.c (try_window_id): Call gui_clear_window_mouse_face + in all cases. + +2021-01-16 Philip Brown (tiny change) + + * Set `backtrace-line-length' in async worker processes + + Philip Brown + + * lisp/emacs-lisp/comp.el (comp-run-async-workers): Set + backtrace-line-length in async worker processes. + +2021-01-16 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into native-comp + +2021-01-16 Stefan Monnier + + * lisp/frame.el Don't activate `blink-cursor-idle-timer` needlessly. + + (blink-cursor-mode): Use `blink-cursor-check` rather than + `blink-cursor--start-idle-timer` so we check for the presence of + a frame where the cursor can be blinked before activating the idle timer. + +2021-01-16 Kévin Le Gouguec + + Change default-directory before prompting in project-compile + + This causes command completion to work from the project root, letting + users complete top-level folders, make targets, etc (bug#45765). + + * lisp/progmodes/project.el (project-compile): Simplify using + call-interactively, as done with project(-async)-shell-command. + +2021-01-16 Stefan Monnier + + * src/dispnew.c (sit_for): Return nil when interrupted by process output + + Before adbb4eacc2a984c0fc0b65ec761368fd9067d6c5, + `read_and_dispose_of_process_output` called + `record_asynch_buffer_change` which added "artificial" input events + (in the form of BUFFER_SWITCH_EVENTs), causing sit_for to return + Qnil when interrupted by process output. Without those BUFFER_SWITCH_EVENTs, + sit_for now tends to return Qt when interrupted by process output + making `read_char` believe that we've waited the whole timeout, + As consequence incoming process output tended to cause premature + auto-saving of files (sometimes right after almost every key press). + + This patch recovers the previous behavior, which is not ideal + (incoming process output can delay auto-save indefinitely), but has + been good enough for many years. + +2021-01-15 Phillip Lord + + Remove support for 32 bit build + + * admin/nt/dist-build/README-scripts: Update + * admin/nt/dist-build/README-windows-binaries: Update + * admin/nt/dist-build/build-zips.sh: Remove 32 bit and fix paths + * admin/nt/dist-build/build-dep-zips.py: Remove 32 bit and update + paths + * admin/nt/dist-build/emacs.nsi: Remove 32 bit and fix paths + +2021-01-15 Phillip Lord + + Update dependency capture + + * admin/nt/dist-build/build-dep-zips.py: Use ntldd to directly + determine DLL dependencies + +2021-01-15 Stephen Leake + + * .gitignore: add src/fingerprint.c + + * lisp/dired-x.el (dired-file-name-at-point): Fix spelling in obsolete + message. + +2021-01-15 Aaron Jensen + + Fix 'window-text-pixel-size' when there are leading/trailing spaces + + First, scan to find the first non-whitespace character and then + backtrack to find the beginning of the line. The previous + algorithm always started on the non-whitespace character during + the backtrack, causing it to stop immediately and not actually + find the beginning of the line. The same applies to the end of + line calculation. + * src/xdisp.c: (Fwindow_text_pixel_size): Fix off by one error. + (Bug#45748) + + * test/src/xdisp-tests.el (xdisp-tests--window-text-pixel-size) + (xdisp-tests--window-text-pixel-size-leading-space) + (xdisp-tests--window-text-pixel-size-trailing-space): New tests. + +2021-01-15 Jared Finder + + Make libraries works with xterm-mouse-mode. + + Change calls from 'read-event' to 'read-key' in libraries expecting + mouse events. Do this only when 'xterm-mouse-mode' is enabled. That + way those libraries read decoded mouse events instead of the + underlying escape sequence. Add a parameter to 'read-key' that avoids + running any of the unbound fallbacks in 'read-key-sequence' so the + libraries can read mouse button-down events. + + For backward compatibility purposes, the above logic is contained in a + new internal-only function: 'read--potential-mouse-event'. + + * doc/lispref/commands.texi (Reading One Event): Document new + parameter to 'read-key'. Mention that non-character events on + terminals need 'read-key'. + * lisp/subr.el (read-key-full-map): Add new keymap used by 'read-key'. + (read-key): Add new parameter 'fallbacks-disabled' to prevent running + any of the unbound fallbacks normally run by 'read-key-sequence'. + (read--potential-mouse-event): Add new function that calls 'read-key' + or 'read-event' depending on if 'xterm-mouse-mode' is set. + * lisp/foldout.el (foldout-mouse-swallow-events): + * lisp/isearch.el (isearch-pre-command-hook): + * lisp/mouse-drag.el (mouse-drag-throw, mouse-drag-drag): + * lisp/mouse.el (mouse-drag-secondary): + * lisp/ruler-mode.el (ruler-mode-mouse-grab-any-column) + (ruler-mode-mouse-drag-any-column-iteration): + * lisp/strokes.el (strokes-read-stroke, strokes-read-complex-stroke): + * lisp/textmodes/artist.el (artist-mouse-draw-continously) + (artist-mouse-draw-poly, artist-mouse-draw-2points): + * lisp/vc/ediff-wind.el (ediff-get-window-by-clicking): + * lisp/wid-edit.el (widget-button--check-and-call-button) + (widget-button-click): Call 'read--potential-mouse-event' instead of + 'read-event'. + * lisp/wid-edit.el (widget-key-sequence-read-event): Call 'read-key' + with 'fallbacks-disabled' set instead of 'read-event'. Unlike above + changes, this is unconditionally applied so it works for function + keys too. Apply 'local-function-key-map' instead of + 'function-key-map' as that contains the full terminal translations. + * lisp/vc/ediff.el (ediff-windows): Use 'display-mouse-p' to check if + a mouse is available. + * src/lread.c (Fread_event): Recommend 'read-key' in docstring for + 'read-event' for non-character events. + +2021-01-15 Michael Albinus + + Some Tramp adaptions, mainly direct async processes + + * doc/misc/tramp.texi (Firewalls, Remote processes) + (Frequently Asked Questions): Add @vindex. + (Predefined connection information): Precise precondition or direct + async processes. + (Remote shell setup): Ban ssh RemoteCommand option. + (Frequently Asked Questions): Adapt quoting. + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.1-pre". + + * lisp/net/tramp-adb.el (tramp-methods) : Add `tramp-direct-async' + parameter. + (tramp-adb-handle-make-process): Adapt docstring. + + * lisp/net/tramp-sh.el (tramp-methods) : + Add `tramp-direct-async' parameter. + (tramp-sh-handle-insert-directory): Simplify merkers. + (tramp-sh-handle-make-process): Adapt docstring. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + (tramp-debug-message): Suppress lockfiles. + (tramp-test-message): New defun. + (tramp-direct-async-process-p): Check also for `tramp-direct-async'. + (tramp-handle-make-process): Do not check for `tramp-direct-async-args'. + + * test/lisp/net/tramp-tests.el (all): Replace `string-match' by + `string-match-p'. + (dired-copy-dereference): Declare. + (tramp-test-temporary-file-directory): + Remove `tramp-direct-async-args` for mock method. + (tramp-test15-copy-directory, tramp-test40-special-characters) + (tramp-test40-special-characters-with-stat) + (tramp-test40-special-characters-with-perl) + (tramp-test40-special-characters-with-ls, tramp-test41-utf8) + (tramp-test41-utf8-with-stat, tramp-test41-utf8-with-perl) + (tramp-test41-utf8-with-ls): Skip for tramp-rclone.el. + (tramp--test--deftest-direct-async-process): Do not skip for mock + method. + (tramp-test32-shell-command): Adapt test for direct async processes. + (tramp-test36-vc-registered, tramp--test-hpux-p, tramp--test-ksh-p): + Use `tramp-test-vec'. + +2021-01-15 Glenn Morris + + * lisp/emacs-lisp/seq.el (seq-concatenate): Unautoload (merge fix). + + gitmerge-skip-regexp does not handle line breaks. + +2021-01-15 Eli Zaretskii + + Fix 'kill-visual-line' + + * lisp/simple.el (kill-whole-line): Mention in the doc string that + this option affects 'kill-visual-line' as well. + (kill-visual-line): Improve the doc string. Delete the character + at which the line was wrapped under 'visual-line-mode'. Don't + indiscriminately delete whitespace following the wrap point. + (Bug#45837) + +2021-01-14 Stefan Monnier + + * lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor + + This is redundant because this was set based on "X" resources under + (memq window-system '(x w32 ns)) but the exact same resources and + values are tested in `x-apply-session-resources` which is also used for + those 3 window systems. + +2021-01-14 Stefan Monnier + + * lisp/startup.el (command-line): Remove redundant set of no-blinking-cursor + + This was set when (or noninteractive emacs-basic-display), but + the code that sets `emacs-basic-display` also sets `no-blinking-cursor` + and `blink-cursor-mode`s value already tests `noninteractive` + alongside `no-blinking-cursor`. + +2021-01-14 Stefan Monnier + + Fix marking "delayed-initialization" vars as dynamically scoped + + We used to mark those vars as dynbound in `custom-reevaluate-setting` + which forced us to bind `current-load-list` around it to avoid having + the vars be associated with the wrong file. Move this marking to + `custom-initialize-delay` so we don't need this workaround. + + * lisp/custom.el (custom-initialize-delay): Mark the var as dynamic. + (custom-reevaluate-setting): Don't use `defvar` here. + + * lisp/startup.el (command-line): Don't let-bind `current-load-list` + around calls to `custom-reevaluate-setting`. + +2021-01-14 Andrea Corallo + + * Normalize `comp-eln-load-path' entries for trampoline comp (bug#43475) + + * lisp/emacs-lisp/comp.el (comp-eln-load-path-eff): New function. + (comp-trampoline-search, comp-trampoline-compile) + (comp-clean-up-stale-eln): Update to use normalized + `comp-eln-load-path-eff'. + +2021-01-14 Andrea Corallo + + * Introduce native compilation time reports + + * lisp/emacs-lisp/comp.el (comp-log-time-report): New special + variable. + (comp--native-compile): Rework to log time reports. + +2021-01-14 Juri Linkov + + * lisp/info.el (Info-search): Don't deactivate mark when landed in same node + + (bug#45839) + +2021-01-14 Glenn Morris + + Merge from origin/emacs-27 + + 488204cdc6 (origin/emacs-27) Remove one of recently added warnings ab... + 55bc1560ac Fix assertion failure in window_box_height (Bug#45737) + 27743e9e70 Fix cl-concatenate inlining + 32a3758c84 Fix infloop in 'pixel-scroll-mode' + 74d18957b8 Fix inhibiting the default.el loading in user init file + +2021-01-14 Glenn Morris + + Merge from origin/emacs-27 + + 149d64bbb2 * doc/misc/tramp.texi (Quick Start Guide): Fix thinko. + 97747e6fb9 Tell people how to remove fontconfig customizations + 33d0c603c6 ; * doc/lispref/modes.texi (SMIE Indentation Example): Fix... + 03080b5545 Remove extraneous closing paren + +2021-01-14 Ted Zlatanov + + EMBA infrastructure improvements for Emacs build testing. + + * .gitlab-ci.yml: Use job templates and rules. Split tests into + fast/normal/slow. Make Docker images for each tested platform + (inotify, filenotify-gio, gnustep). Increase timeout. + * test/Makefile.in (check-lisp, check-net): Add new testing + targets. + * test/README: Document them. + * test/file-organization.org: Mention test/infra. + * test/infra/Dockerfile.emba: Add special Docker recipes for EMBA + testing. + +2021-01-13 Juri Linkov + + Remove one of recently added warnings abound binding keys in Isearch maps + + * lisp/isearch.el (minibuffer-local-isearch-map): Remove comments + which warn against wantonly rebinding unbound keys from + irrelevant keymap. + https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00259.html + +2021-01-13 Juri Linkov + + * lisp/isearch.el: C-s C-u M-y reads a string from the kill-ring minibuffer + + * lisp/isearch.el (isearch-yank-from-kill-ring): New command + with code moved from isearch-yank-pop. + (isearch-yank-pop): Use isearch-yank-from-kill-ring. + (isearch-yank-pop-only): Add optional arg, and call + isearch-yank-from-kill-ring when the prefix arg is C-u. + https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00089.html + +2021-01-13 Stefan Kangas + + Lift {global,local}-key-binding to Lisp + + * lisp/subr.el (local-key-binding, global-key-binding): New defuns. + * src/keymap.c (Flocal_key_binding, Fglobal_key_binding): Remove DEFUNs. + (syms_of_keymap): Remove defsubrs for above DEFUNs. + * test/lisp/subr-tests.el (subr-test-local-key-binding) + (subr-test-global-key-binding): New tests. + +2021-01-13 Stefan Kangas + + Prefer skip-unless in more tests + + * test/lisp/emacs-lisp/timer-tests.el (timer-tests-debug-timer-check): + * test/src/decompress-tests.el (zlib--decompress): + * test/src/xml-tests.el (libxml-tests): Prefer skip-unless. + +2021-01-13 Eli Zaretskii + + Fix 'visual-line-mode' when 'word-wrap-by-category' is in effect + + * src/xdisp.c (move_it_in_display_line_to): Don't reset + next_may_wrap after saving a potential wrap point. This fixes the + case where several characters in a row can serve as a wrap point. + (Bug#45837) + +2021-01-13 Stefan Kangas + + Use skip-unless instead of if+message in test + + * test/lisp/cedet/semantic-utest.el (semantic-utest-Javascript): + Use skip-unless instead of if+message. + +2021-01-13 Stefan Kangas + + Remove some XEmacs compat code from tests + + * test/lisp/cedet/srecode-utest-getset.el + (srecode-utest-getset-output): + * test/lisp/cedet/srecode-utest-template.el + (srecode-utest-template-output): Remove XEmacs compat code. + +2021-01-13 Stefan Kangas + + * lisp/calc/calc.el: Remove some XEmacs compat code. + +2021-01-13 Mattias EngdegÃ¥rd + + Stabilise lunar-phase-list test (bug#45818) + + The test reference data was produced with accidental interference from + the system daylight saving in effect at the time. Prevent that + from occurring again and correct the data. + + * test/lisp/calendar/lunar-tests.el (with-lunar-test): + Switch to UTC and make sure daylight saving adjustment is disabled. + Use normal time presentation for maintainability. + * test/lisp/calendar/lunar-tests.el (lunar-test-phase): Adjust to UTC. + (lunar-test-phase-list): Adjust to UTC with correct times. + Enable the test by removing its :unstable mark. + +2021-01-12 Mattias EngdegÃ¥rd + + Fix Indian time zone test when run by Irishmen (bug#45818) + + * test/lisp/calendar/solar-tests.el (solar-sunrise-sunset): + Inhibit any attempt by confused calendar code to apply daylight saving + correction when Irish time zone settings are in effect. It's not + entirely clear why this is needed but may be related to the fact that + 'IST' stands for both Irish and Indian Standard Time, and that Ireland + uses reversed daylight saving in winter. + +2021-01-12 Omar Polo + + * configure.ac: Fix native-comp OpenBSD build. + +2021-01-12 Robert Pluim + + Only run IPv6 tests if we have an IPv6 address + + * test/src/process-tests.el (ipv6-is-available): New function for + checking whether we have a globally routable IPv6 prefix assigned. + (lookup-family-specification): Use 'ipv6-is-available' to check for + IPv6. Use 'localhost' instead of 'google.com' to test + 'network-lookup-address-info' API. + (lookup-google): Use 'ipv6-is-available' to check for + IPv6. + + * test/lisp/net/nsm-tests.el (nsm-ipv6-is-available): Rename to + 'ipv6-is-available', make identical to the one in + test/src/process-tests.el. + +2021-01-12 Robert Pluim + + Fix nsm-should-check for "google.com" failure + + * lisp/net/nsm.el (nsm-should-check): Extract the mask from + 'network-interface-list' rather than the broadcast + address (Bug#45798). + +2021-01-12 Lars Ingebrigtsen + + Add a new function 'buffer-line-statistics' + + * src/fns.c (Fbuffer_line_statistics): New function. + +2021-01-12 Lars Ingebrigtsen + + Add a new variable `inhibit-interaction' + + * doc/lispref/elisp.texi (Top): Add a link. + * doc/lispref/errors.texi (Standard Errors): Mention the new error. + + * doc/lispref/minibuf.texi (Minibuffers): Add a link. + (Inhibiting Interaction): New node. + + * src/data.c (syms_of_data): Define the `inhibited-interaction' error. + + * src/lisp.h: Export the barfing function. + + * src/lread.c (Fread_char, Fread_event, Fread_char_exclusive): + Barf if inhibited. + + * src/minibuf.c (barf_if_interaction_inhibited): New function. + (Fread_from_minibuffer, Fread_no_blanks_input): Barf if inhibited. + (syms_of_minibuf): Define the `inhibit-interaction' variable. + +2021-01-12 Glenn Morris + + Update substitute-command-keys tests, again + + * test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps) + (help-tests-substitute-command-keys/keymap-change): + Update following recent minibuffer changes. + +2021-01-12 Brian Leung + + comint-read-input-ring: Simplify last commit + + * lisp/comint.el (comint-read-input-ring): It is not necessary to use + `goto-char' again since we have already moved point to the desired + location (bug#45797). + +2021-01-11 Stefan Monnier + + * lisp/emacs-lisp/eieio-base.el: Silence warnings in last change + + (eieio-persistent-make-instance): Quote the `eieio-named` class name. + (eieio-named): Move before `eieio-persistent`. + +2021-01-11 Eric Ludlam + + cedet/ede/auto.el: + + (ede-calc-fromconfig): New method. Support functions in addition to + string matchers. + (ede-dirmatch-installed, ede-do-dirmatch): + Use `ede-calc-fromconfig' to do conversion. + Author: Eric Ludlam + +2021-01-11 Eric Ludlam + + eieio-base.el: + + (eieio-persistent-make-instance): Save the backward compatible 'name' + of objects saved in the file, and if the newly loaded class inherits + from 'eieio-named', restore the name of the object. + Author: Eric Ludlam + +2021-01-11 Eric Abrahamsen + + Fix possible prepending of "TEXT" to IMAP searches + + * lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Add missing + keys "old", "new", "or" and "not". + (gnus-search-run-search): In addition, don't touch the query if it + starts with a parenthesis. Consider just getting rid of this + convenience altogether. + +2021-01-11 Stephen Leake + + * admin/notes/elpa: Update to match recent Gnu ELPA changes + +2021-01-11 Lars Ingebrigtsen + + Mark previous erc-services change as not needing documentation + +2021-01-11 Brian Leung + + Make comint-read-input-ring skip uninteresting text in .zsh_history + + * lisp/comint.el (comint-read-input-ring): Simplify (bug#45606). + * lisp/shell.el (shell-mode): Add "~/.zsh_history". + * lisp/comint.el (comint-read-input-ring): Bind + `comint-input-ring-file-prefix' in anticipation of a buffer switch. + * lisp/comint.el (comint-read-input-ring): Skip the separator. + + Because re-search-backward moves point to the beginning of the match, + and since we don't want the separator appearing in the output, we skip + over it. + + This is required to properly detect instances of the value that zsh + uses for `comint-input-ring-file-prefix'; if the + `comint-input-ring-file-prefix' is ':potato', the subsequent + invocation `looking-at' sees '\n:potato' for all entries after the one + at the very beginning of the history file. + +2021-01-11 Anticrisis (tiny change) + + Add a failing test for bug#44834 + + * test/lisp/progmodes/tcl-tests.el (tcl-mode-namespace-indent-2): + New, failing test (bug#44834). + (tcl-mode-function-name-2): + (tcl-mode-function-name-3): Fix names of the tests so that they're + actually run. + +2021-01-11 Leon Vack + + Support using auth-source for NickServ passwords in ERC + + * lisp/etc/erc-services.el (erc-nickserv-passwords): Document that + the passwords are only used when erc-prompt-for-nickserv-password + is nil. + * (erc-use-auth-source-for-nickserv-password): New customizable + variable to enable checking auth-source for NickServ passwords. + * (etc-nickserv-get-password): New function to handle the lookup + of the NickServ password from both auth-source and the + erc-nickserv-passwords variable. + * (erc-nickserv-call-identify-function): Use new + erc-nickserv-get-password function to lookup NickServ passwords. + * (erc-nickserv-identify-autodetect, erc-nickserv-identify-on-connect, + erc-nickserv-identify-on-nick-change): Call + erc-nickserv-call-identify-function when + erc-use-auth-source-for-nickserv-password is set. + * etc/NEWS: Document change (bug#45340). + +2021-01-11 Alexandre Duret-Lutz (tiny change) + + Fix problem with non-ASCII characters in nnmaildir + + * lisp/gnus/nnmaildir.el (nnmaildir-request-article): Enable + multipart 8bit-content-transfer-encoded files to be displayed + correctly by reading as `raw-text' instead of having Emacs + (incorrectly) decode the files (bug#44307). + +2021-01-11 Pedro Andres Aranda Gutierrez + + Add `flat-button' to custom-face-attributes + + * lisp/cus-face.el (custom-face-attributes): Add `flat-button' + (bug#45769). + +2021-01-11 Robert Pluim + + * configure.ac: Alphabetize emacs_config_features + +2021-01-11 Robert Pluim + + Ensure HAVE_GMP is reflected in emacs_config_features + + * configure.ac: Move HAVE_GMP setting before emacs_config_features + setting (Bug#45771). + +2021-01-10 Dmitry Gutov + + New command xref-quit-and-pop-marker-stack + + * lisp/progmodes/xref.el (xref-quit-and-pop-marker-stack): + New command. + (xref--xref-buffer-mode-map): Binding for it. + +2021-01-10 Phillip Lord + + Allow evaluation of tests from local source repository + + * etc/w32-feature.el (w32-feature-load-tests): Add new command + +2021-01-10 Philipp Stephani + + Fix build breakage if Lisp_Object is not a primitive type. + + * src/minibuf.c (choose_minibuf_frame): Don't compare Lisp_Objects + with '!='. Use 'EQ' instead. + +2021-01-10 Philipp Stephani + + Add functions to open a file without quitting. + + In some situations, e.g. when the Lisp machinery isn't available, we + can't quit. Don't check the quit flags in such situations, in case + they contain garbage. + + * src/sysdep.c (emacs_open_noquit, emacs_openat_noquit): New variants + of 'emacs_open' and 'emacs_openat' that don't check the quit flags. + + * src/emacs.c (main, Fdaemon_initialized): + * src/pdumper.c (pdumper_load): + * src/w32term.c (w32_initialize): + * src/buffer.c (mmap_init): + * src/callproc.c (emacs_spawn): Use them where we can't quit. + +2021-01-10 Alan Mackenzie + + Fix incompleteness in the implementation of minibuffer-follows-selected-frame + + In particular, add a new value to the variable, and fix several bugs apparent + with the implementation up till now. + + * doc/emacs/mini.texi (Basic Minibuffer): Add a description of the new + non-nil, non-t value of minibuffer-follows-selected-frame. + + * doc/emacs/trouble.texi (Quitting): Add a description of how C-g handles + recursive minibuffers when typed in one which isn't the most nested. + + * doc/lispref/minibuf.texi (Intro to Minibuffers): Add an @dfn for "active + minibuffer". + (Minibuffer Commands): Document that exit-minibuffer throws an error when not + invoked from the innermost Minibuffer. + (Recursive Mini): Amend the description of the visibility of outer level + minibuffers. + (Minibuffer Misc): In the description of the minibuffer hooks, replace "the + minibuffer" with "a minibuffer". + + * etc/NEWS (Entry announcing minibuffer-follows-selected-frame): Add a + description of the new non-nil, non-t value. + + * lisp/cus-start.el (top level): make the customize entry for + minibuffer-follows-selected-frame a choice between three entries. + + * lisp/minibuffer.el (exit-minibuffer): throw an error when we're not in the + most nested minibuffer. + (top level): Bind C-g to abort-minibuffers in minibuffer-local-map. + + * lisp/window.el (window-deletable-p): return the symbol `frame' when (amongst + other things) minibuffer-follows-selected-frame is t. + + * src/eval.c (internal_catch): Add a mechanism to (throw 'exit t) repeatedly + when the throw currently being processed doesn't terminate the current + minibuffer. + + * src/lisp.h (this_minibuffer_depth): New extern declaration + (minibuf_level): extern declaration moved here from window.h. + + * src/minibuf.c (minibuffer_follows_frame, minibuf_stays_put) + (minibuf_moves_frame_when_opened): New and amended functions to query the + value of minibuffer-follows-selected-frame. + (choose_minibuf_frame): check (minibuf > 1) in place of (minibufer > 0) at a + particular place. At another place, check that an alleged frame is so and is + live. Before selecting a non-miniwindow on a different frame, ensure it + really is a different frame. + (move_minibuffer_onto_frame): Stack up all recursive minibuffers on the target + frame. Check the minibuf_window isn't in the old frame before setting that + frame's miniwindow to an inactive minibuffer. + (Finnermost_minibuffer_p, Fabort_minibuffers): New primitives. + (this_minibuffer_depth): New function. + (read_minibuf): Record the calling frame in a variable, and switch back to it + after the recursive edit has terminated normally, using + select-frame-set-input-focus. Stack up all the recursive minibuffers on the + miniwindow where a new minibuffer is being opened. After the recursive edit, + switch the selected window away from the expired minibuffer's window. + (nth_minibuffer): New function. + (minibuffer-follows-selected-frame): Change from a DEFVAR_BOOL to a + DEFVAR_LISP. + + * src/window.c (decode_next_window_args): Set *minibuf to w's mini-window's + content when that content is a minibuffer. + + * src/window.h (minibuf_level) Declaration moved from here to lisp.h. + +2021-01-10 Lars Ingebrigtsen + + Respect message-forward-ignored-headers more + + * lisp/gnus/message.el (message-forward-ignored-headers): Clarify + doc string once again. + (message-forward-make-body-mime): Remove headers when not + encrypted (bug#45631). + (message-forward-make-body): Pass in correct values. + +2021-01-10 Glenn Morris + + Default python-shell-interpreter to python3 + + * lisp/progmodes/python.el (python-shell-interpreter): Default to + python3 (bug#45655). + +2021-01-10 David Edmondson + + Fix example in the Gnus manual + + * doc/misc/gnus.texi (Score Variables): In the example showing how to + use a list of functions for gnus-score-find-score-files-find-function, + return a list of strings from the lambda rather than trying to call + the string as a function (bug#45673). + +2021-01-10 Lars Ingebrigtsen + + Specify precedence in .authinfo files + + * doc/misc/auth.texi (Help for users): Mention placing more + specific entries first (bug#45711). + +2021-01-10 Lars Ingebrigtsen + + Improve fill-region-as-paragraph when there's a fill prefix + + * lisp/textmodes/fill.el (fill-region-as-paragraph): Try to + improve how line breaks are set on unbreakable text with a fill + prefix area that has spaces within (bug#45720). + +2021-01-10 k3tu0isui (tiny change) + + Make font locking work in mercury-mode + + * lisp/progmodes/prolog.el (prolog-font-lock-keywords): Work in + all modes derived from prolog-mode (bug#45747). + (mercury-mode): Set up variables based on the Prolog system (bug#45747). + +2021-01-10 Basil L. Contovounesios + + Hyperlink symbol names without word syntax in Help + + * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) + (lisp-cl-font-lock-keywords-2): Allow single-character symbol names. + * lisp/help-mode.el (help-xref-symbol-regexp): Also match symbol + names starting with symbol syntax (bug#6601, bug#24309). + * test/lisp/help-mode-tests.el (help-mode-tests-xref-button): Test + hyperlink creation for function names without symbol syntax. + +2021-01-10 Omar Polo + + Add support for 'process-attributes' on OpenBSD + + * src/sysdep.c (make_lisp_timeval): + (system_process_attributes): Implement for OpenBSD (bug#45729). + +2021-01-10 Pedro Andres Aranda Gutierrez (tiny change) + + Add support for flat buttons + + * src/xfaces.c (Finternal_set_lisp_face_attribute): + (realize_gui_face): Add support for `flat-button' (bug#45735). + +2021-01-10 Daniel Martín + + Minor shortdoc link improvements + + * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use + describe-function as a fallback link when a function is not documented + in any Info manual. Also make the link respond to mouse-1, like the + rest of *Help* links, and add a proper help-echo property. + * lisp/help-fns.el (help-fns--mention-shortdoc-groups): Same link + improvement as described before, this time for the shortdoc groups + (bug#45750). + +2021-01-10 Lars Ingebrigtsen + + Add a link to the manual from the defcustom doc string + + * lisp/custom.el (defcustom): Add a link to the manual for the + :type element. + +2021-01-10 Lars Ingebrigtsen + + Revert recent mm-with-part change + + * lisp/gnus/mm-decode.el (mm-with-part): Revert + 23a887e426f81033b0de2f4c93a8525cb31c28da -- this is the wrong + place to handle this peculiarity. + +2021-01-10 Michael Albinus + + Rework parts of Tramp's insert-directory, bug#45691 + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Fix some + unibyte/multibyte inconsistencies. (Bug#45691) + + * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory-one-file): + New test. + +2021-01-10 Lars Ingebrigtsen + + Add more mm-decode tests + +2021-01-10 Stefan Kangas + + * lisp/subr.el (global-map): Doc fix; add cross-reference. + +2021-01-10 F. Jason Park + + Create new test file for socks.el + + * test/lisp/net/socks-tests.el (socks-tests-auth-filter-url-http): Add + SOCKS5 authentication test and fake server (bug#45162). + +2021-01-10 Martin Rudalics + + Fix assertion failure in window_box_height (Bug#45737) + + * lisp/window.el (window-sizable): Don't try to grow a mini window + when the root window's minimum height is already larger than its + actual height (Bug#45737). + +2021-01-10 Philipp Stephani + + Increase probability that a process test succeeds. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Work around + potential Emacs bug. + +2021-01-10 Philipp Stephani + + Remove a pointless check for WCOREDUMPED. + + WCOREDUMPED can only be used if the process was killed. + + * src/process.c (status_convert): Don't check WCOREDUMPED if + WIFEXITED. + +2021-01-10 Tassilo Horn + + Support keyval style beamer frame labels + + * lisp/textmodes/reftex-vars.el (reftex-label-regexps): Support keyval + style beamer frame labels. + +2021-01-10 Eric Abrahamsen + + Remove reference to gnus-bug-create-help-buffer + + * lisp/gnus/gnus-win.el (gnus-buffer-configuration): Variable no + longer exists. + +2021-01-09 Philipp Stephani + + Don't unblock SIGCHLD too early. + + We first need to register the received process ID so that + 'handle_child_signal' checks it. Otherwise we might never call + 'waitpid' for these processes, risking deadlock. + + * src/callproc.c (call_process): + * src/process.c (create_process): Don't unblock SIGCHLD before + registering the process ID to wait for. + + * src/callproc.c (emacs_spawn): Accept a signal set from the caller. + +2021-01-09 João Távora + + Count Flymake diagnostics in modeline by severity, not type + + Originally reported in https://github.com/joaotavora/eglot/issues/588 + by Pankaj Jangid. + + * lisp/progmodes/flymake.el (flymake--mode-line-counter): Count + diagnostics by severity level, not by type. + (Version): Bump to 1.1.1 + +2021-01-09 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (cl--self-tco): Fix build of gnus-agent.el + + Don't burp on "naked" variable let bindings. + +2021-01-09 Andrea Corallo + + Improve `comp-libgccjit-reproducer' + + * src/comp.c (Fcomp__compile_ctxt_to_file): Better libgccjit + reproducer file name. + * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): Doc update. + (comp-final, comp-run-async-workers): Pass + `comp-libgccjit-reproducer' setting to child workers. + +2021-01-09 Eli Zaretskii + + Fix cl-concatenate use in macros + + * lisp/emacs-lisp/cl-macs.el (inline): Remove cl-concatenate. + (Bug#45610) + +2021-01-09 Eli Zaretskii + + Fix cl-concatenate inlining + + * lisp/emacs-lisp/seq.el (seq-concatenate): Auto-load it. Do not + merge to master. (Bug#45610) + +2021-01-09 Andrea Corallo + + Add new customize `comp-libgccjit-reproducer' + + * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): New customize. + * src/comp.c (Fcomp__compile_ctxt_to_file): Use + `comp-libgccjit-reproducer' for dumping repoducer. + (syms_of_comp): Define 'Qcomp_libgccjit_reproducer'. + +2021-01-09 Tak Kunihiro + + Fix infloop in 'pixel-scroll-mode' + + * lisp/pixel-scroll.el (pixel-scroll-up, pixel-scroll-down): Avoid + inflooping when 'vertical-motion' doesn't move. (Bug#45628) + +2021-01-09 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el: Optimize self-calls in tail position + + Implement a limited form of tail-call optimization for the special + case of recursive functions defined with `cl-labels`. Only self-recursion + is optimized, no attempt is made to handle more complex cases such a mutual + recursion. + + The main benefit is to reduce the use of the stack, tho in my limited + tests, this can also improve performance (about half of the way to + a hand-written `while` loop). + + (cl--self-tco): New function. + (cl-labels): Use it. + + * lisp/subr.el (letrec): Optimize single-binding corner case. + + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): Add tests + to check that TCO is working. + +2021-01-09 Dmitry Gutov + + Make sure default-directory relates to the originating buffer + + * lisp/progmodes/xref.el (xref--show-xref-buffer): + Pick up default-directory value from the caller + (https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00551.html). + (xref-show-definitions-buffer-at-bottom): Same. + +2021-01-09 Stefan Monnier + + * lisp/subr.el (letrec): Optimize some non-recursive bindings + + * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Look inside bytecode + objects as well. + + * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels): + * test/lisp/subr-tests.el (subr--tests-letrec): New tests. + +2021-01-09 Stefan Monnier + + * lisp/emacs-lisp/cl-generic.el (cl--generic-lambda): Fix last change + +2021-01-08 Stefan Monnier + + * lisp/emacs-lisp/macroexp.el (macroexp--fgrep): Rename from `pcase--fgrep` + + * lisp/emacs-lisp/cl-generic.el (cl--generic-fgrep): Delete. + (cl--generic-lambda): Use `macroexp--pacse` instead. + + * lisp/emacs-lisp/pcase.el (pcase--fgrep): Rename to `macroexp--fgrep`. + +2021-01-08 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-01-08 Stefan Kangas + + Merge recently added kbd tests + + * test/lisp/subr-tests.el (subr--kbd): Merge test... + (subr-test-kbd): ...with this one. Fix thinko in my previous commit. + Thanks to Mattias EngdegÃ¥rd . + +2021-01-08 Stefan Kangas + + Lift define-prefix-command to Lisp + + * lisp/subr.el (define-prefix-command): New defun. + * src/keymap.c (Fdefine_prefix_command): Remove DEFUN. + (syms_of_keymap): Remove defsubr for Fdefine_prefix_command. + * test/lisp/subr-tests.el (subr-test-define-prefix-command): New + test. + +2021-01-08 Stefan Kangas + + * test/lisp/subr-tests.el (subr-test-kbd): New test. + +2021-01-08 Stefan Kangas + + Remove unused DEFSYM + + * src/minibuf.c (syms_of_minibuf) : Remove unused + DEFSYM. + +2021-01-08 Eli Zaretskii + + Fix syntax of space characters + + * lisp/international/characters.el (tbl): Give all the space + characters whose Unicode General Category is Zs the 'space' + syntax. (Bug#45660) + +2021-01-08 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process): + + Tag it :unstable on hydra. + +2021-01-08 Eli Zaretskii + + Fix inhibiting the default.el loading in user init file + + * lisp/startup.el (startup--load-user-init-file): Test the value + of 'inhibit-default-init', not just the LOAD-DEFAULTS argument, + because loading the user's init file could have set the value of + the former. + (command-line): Call 'startup--load-user-init-file' with last arg + t: there's no longer any need to test the value of + 'inhibit-default-init' here, as it will be tested by the called + function. (Bug#45708) + +2021-01-07 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fix typo. + +2021-01-07 Andrea Corallo + + * Add a type specifier test + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add testcase. + +2021-01-07 Juri Linkov + + * lisp/tab-bar.el: Improve tab-bar-show (bug#45556) + + * lisp/tab-bar.el (tab-bar-show): Change :set lambda to update all frames. + Improve docstring. + +2021-01-07 Juri Linkov + + * lisp/mb-depth.el (minibuffer-depth-indicator): Add :group 'minibuffer'. + +2021-01-07 Stefan Kangas + + Remove an outdated comment + + * lisp/subr.el: Remove comment to reflect recent change in the + definition of global-map, esc-map and ctl-x-map. + +2021-01-07 Lars Ingebrigtsen + + Further display-buffer doc changes + + * lisp/window.el (display-buffer): `display-buffer-alist' is + apparently the variable the user should be directed towards. + +2021-01-07 Michael Albinus + + * test/lisp/filenotify-tests.el (file-notify-test07-many-events-remote): + + Mark it as unstable also on emba. + +2021-01-07 Lars Ingebrigtsen + + Add a display-buffer window selection function that's more like XEmacs + + * doc/lispref/windows.texi (Buffer Display Action Functions): + Document it. + * lisp/window.el (display-buffer--action-function-custom-type): Add. + (display-buffer): Mention it. + (display-buffer-use-least-recent-window): New function (bug#45688). + + * src/window.c (Fwindow_bump_use_time): New function. + +2021-01-07 Lars Ingebrigtsen + + Fix typo in last display-buffer doc string change + + * lisp/window.el (display-buffer): Fix typo in last doc string change. + +2021-01-07 Lars Ingebrigtsen + + Edit the display-buffer doc string slightly + + * lisp/window.el (display-buffer): Reword the start of the doc + string (bug#45688). + +2021-01-07 Lars Ingebrigtsen + + Add work-around for nnmaildir encoding problem + + * lisp/gnus/mm-decode.el (mm-with-part): Fix problem with + multipart 8bit encoded posts from nnmaildir (bug#44307). + +2021-01-07 Lars Ingebrigtsen + + Add tests for mm-decode.el + +2021-01-07 F. Jason Park + + Clear socks protocol scratch after authentication + + * lisp/net/socks.el (socks-open-connection): Fix incomplete patch + titled "Append incremental message segments in socks-filter," which + addressed chunk ordering but neglected to zero out the work area + following successful username/password authentication (bug#45162). + +2021-01-07 Andreas Schwab + + Fix quoting problem in pop3-uidl-save + + * lisp/net/pop3.el (pop3-uidl-save): Quote strings properly + (bug#43896). + +2021-01-07 Lars Ingebrigtsen + + Revert mark-paragraph change and add tests + + * lisp/textmodes/paragraphs.el (mark-paragraph): Revert + eb090f65ceb0ae8a90829e911694348583135ba5 (bug#45318). This restores + the behaviour from Emacs 27 -- further work is needed on this patch. + +2021-01-07 Michael Albinus + + * test/Makefile.in (WRITE_LOG): Mark also problematic tests for emba. + +2021-01-07 Glenn Morris + + Update a substitute-command-keys test + + * test/lisp/help-tests.el (help-tests-substitute-command-keys/keymaps): + Update for "Pretty-print keys without <> around modifiers" change. + +2021-01-06 Daniel Martín + + Fix some failing tests in BSD systems + + * test/lisp/progmodes/xref-tests.el + (xref--xref-file-name-display-is-abs) + (xref--xref-file-name-display-is-relative-to-project-root): + Accommodate some older versions of BSD find + (https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00156.html). + +2021-01-06 Dmitry Gutov + + Proof some searches and file listings against symlinks + + * lisp/progmodes/project.el (project--files-in-directory): + Make sure the directory includes the trailing slash in case it's + a symlink, discussed in + https://lists.gnu.org/archive/html/emacs-devel/2021-01/msg00345.html. + + * lisp/progmodes/xref.el (xref-matches-in-directory): Same. + + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + Same. + +2021-01-06 Gabriel do Nascimento Ribeiro (tiny change) + + * lisp/mb-depth.el (minibuffer-depth-indicator): New face. + + (minibuffer-depth-setup): Use new face and add a single space between + the depth indicator and the minibuffer prompt. + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00230.html + +2021-01-06 Andrea Corallo + + Fix bug#45603 + + Reported and reduced by Mauricio Collares. + + * lisp/emacs-lisp/comp.el (comp-final): Fix coding system for the + tmp file used to pass data the child processes. + * test/src/comp-tests.el (45603-1): New testcase + * test/src/comp-test-45603.el : New File. + +2021-01-06 Michael Heerdegen + + Fix obsolete variable warnings about class names + + * lisp/emacs-lisp/eieio-core.el (eieio-defclass-autoload): Try to make + the wording of the warning about the obsoleted variable less confusing. + * lisp/emacs-lisp/bytecomp.el (byte-compile-check-variable): Don't + warn for lexical variables (Bug#39169). Fix spurious `or'. + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp/warn-obsolete-variable-bound\.el): New test. + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-bound.el: + New file. + +2021-01-06 Stefan Monnier + + * lisp/play/dunnet.el: Run the game when loaded via `--batch -l dunnet` + + (dun--batch): Rename from `dun-batch` and don't autoload. + (dunnet): Delegate to `dun--batch` when in batch mode. + +2021-01-06 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-activate-all): Another tweak + + `package-quickstart.el` files presume `package-activated-list` + is a bound variable, so make sure this is the case even when `package.el` is + not yet loaded. + +2021-01-05 Stefan Monnier + + * lisp/emacs-lisp/autoload.el: Improve last change + + It turns out there were other places that used `custom-initialize-delay` + on autoloaded variables and used various hacks to make it work with + `autoload.el`. The new code makes those hacks unneeded. + Also, there's no point trying to "optimize" those rare cases anyway, + so I simplified the `autoload.el` code for those cases. + + (make-autoload): For non-trivial cases, + just include the whole `defcustom` instead of trying to mimic it. + + * lisp/mail/rmail.el (rmail-spool-directory): Remove hacks. + * lisp/info.el (Info-default-directory-list): Remove `progn` hack. + + * lisp/custom.el (custom-declare-variable) + (custom-handle-all-keywords): Don't use pseudo-group `nil`. + +2021-01-05 Alan Third + + Prevent stack overflow in GNUstep menu code + + * src/nsmenu.m (ns_update_menubar): Always do a deep update for + GNUstep. + ([EmacsMenu menuNeedsUpdate:]): Don't update the menu as it should + always have had a deep update. + +2021-01-05 Juri Linkov + + * lisp/subr.el (remove-hook): Add default value (bug#45393) + +2021-01-05 Juri Linkov + + * lisp/tab-bar.el (tab-bar-tab-name-format-function): New defcustom. + + (tab-bar-tab-name-format-default): New function as the default value. + (tab-bar-make-keymap-1): Funcall tab-bar-tab-name-format-function. + +2021-01-05 Juri Linkov + + * lisp/tab-bar.el (toggle-frame-tab-bar): New command (bug#45556) + +2021-01-05 James N. V. Cash (tiny change) + + Refactor tab-bar-mode to -define-keys and -load-buttons (bug#42052) + + * lisp/tab-bar.el (tab-bar--define-keys, tab-bar--load-buttons): + Move some code here from 'tab-bar-mode'. + (tab-bar-new-tab-to): Call tab-bar--load-buttons and tab-bar--define-keys. + +2021-01-05 Eli Zaretskii + + Fix process-tests on MS-Windows + + It was again broken by recent changes. + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-serial-process): Skip test + on MS-Windows. + +2021-01-05 Stefan Monnier + + * lisp/emacs-lisp/package.el: Load package-quickstart without package.el + + Speed up startup when `package-quickstart` is in use by making it possible + to load the quickstart file without having to load `package.el` at all. + + (package-user-dir, package-directory-list, package-quickstart-file): + Preload those variables. + (package--get-activatable-pkg): New fun, extracted from `package-activate`. + (package-activate): Use it. + (package--activate-all): New function, extracted from + `package-activate-all`. + (package-activate-all): Use it and make the function preloaded. + (package--archives-initialize): New function. + (package-install): Use it. + (list-packages): Avoid `switch-to-buffer`. + (package-get-descriptor): New function. + + * lisp/startup.el (command-line): Simplify the code now that + package-user-dir and package-directory-list are preloaded. + + * lisp/emacs-lisp/autoload.el (make-autoload): Add support for + `:initialize #'custom-initialize-delay` in `defcustom`. + +2021-01-05 Michael Albinus + + * doc/misc/tramp.texi (Quick Start Guide): Fix thinko. + +2021-01-05 Robert Pluim + + Tell people how to remove fontconfig customizations + +2021-01-05 Mattias EngdegÃ¥rd + + ruby-mode: eliminate redundant regexp branch + + * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): + Since ruby-operator-re matches dot, don't include both in regexp. + This pacifies relint. + +2021-01-05 Mattias EngdegÃ¥rd + + Pretty-print keys without <> around modifiers (bug#45536) + + Be consistent when pretty-printing keys: put modifiers outside <>, + thus the more logical C-M- instead of . + + * src/keymap.c (Fsingle_key_description): + Skip modifier prefix before adding <>. + * doc/lispref/help.texi (Describing Characters): Update example. + * doc/lispref/debugging.texi (Backtraces): + * doc/lispref/minibuf.texi (Text from Minibuffer): + Use @kbd instead of @key. + * etc/NEWS: Announce the change. + * test/src/keymap-tests.el (keymap--key-description): + * test/lisp/subr-tests.el (subr--kbd): New tests. + +2021-01-05 Mattias EngdegÃ¥rd + + * lisp/filesets.el (filesets-external-viewers): Tighten regexp. + +2021-01-05 Harald Jörg + + perl-mode: Display here-docs as strings instead of comments + + * lisp/progmodes/perl-mode.el + (perl-syntax-propertize-function): Handle HERE doc starter + lines ending in a comment. + (perl-heredoc): New face for HERE docs, inheriting from + font-lock-string-face. + (perl-font-lock-syntactic-face-function): Apply the new face + to HERE docs (Bug#23461). + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test--run-bug-10483): Skip for Perl mode. The test + explicitly calls a function of CPerl mode. + +2021-01-05 Stefan Monnier + + * lisp/subr.el (esc-map): Initialize inside declaration + + * src/commands.h (meta_map): + * src/keymap.c (meta_map): Delete variable. + (syms_of_keymap): Don't initialize esc-map here. + (initial_define_key): + * src/keymap.h (initial_define_key): Delete function. + + * src/keyboard.c (keys_of_keyboard): Don't initialize esc-map here. + + * src/window.h (keys_of_window): + * src/window.c (keys_of_window): Delete function. + * src/lisp.h (keys_of_casefiddle): + * src/casefiddle.c (keys_of_casefiddle): Delete function. + * src/emacs.c (main): Don't call them. + +2021-01-05 Stefan Monnier + + * lisp/subr.el (ctl-x-map): Initialize inside the declaration. + + * src/command.h (control_x_map): + * src/keymap.c (control_x_map): Delete variable. + (syms_of_keymap): + * src/keyboard.c (keys_of_keyboard): + * src/casefiddle.c (keys_of_casefiddle): + * src/window.c (keys_of_window): Move initialization of ctl-x-map to + subr.el. + + * src/lisp.h (syms_of_buffer): + * src/buffer.c (keys_of_buffer): Delete function. + * src/emacs.c (main): Don't call it. + +2021-01-05 Stefan Monnier + + * lisp/subr.el (global-map): Initialize inside declaration. + + * src/commands.h (global_map): + * src/keymap.c (global_map): Delete variable. + (syms_of_keymap): Don't initialize global_map here. + (keys_of_keymap): Delete function. + * src/lisp.h (keys_of_cmds): + * src/cmds.c (keys_of_cmds): Delete function. + * src/emacs.c (main): Don't call them. + + * src/window.c (keys_of_window): Don't initialize global_map here. + * src/keyboard.c (keys_of_keyboard): Don't initialize global_map here. + +2021-01-05 Stefan Monnier + + Use lexical-binding in the remaining preloaded files + + * lisp/widget.el: + * lisp/w32-fns.el: + * lisp/textmodes/fill.el: + * lisp/term/common-win.el: + * lisp/scroll-bar.el: + * lisp/rfn-eshadow.el: + * lisp/menu-bar.el: + * lisp/language/tibetan.el: + * lisp/language/thai.el: + * lisp/language/misc-lang.el: + * lisp/language/lao.el: + * lisp/language/korean.el: + * lisp/language/japanese.el: + * lisp/language/indian.el: + * lisp/language/hebrew.el: + * lisp/language/european.el: + * lisp/language/ethiopic.el: + * lisp/language/english.el: + * lisp/language/cyrillic.el: + * lisp/language/chinese.el: + * lisp/jka-cmpr-hook.el: + * lisp/international/ucs-normalize.el: + * lisp/international/mule.el: + * lisp/international/mule-conf.el: + * lisp/international/iso-transl.el: + * lisp/international/fontset.el: + * lisp/international/characters.el: + * lisp/format.el: + * lisp/facemenu.el: + * lisp/electric.el: + * lisp/dos-w32.el: + * lisp/dos-fns.el: + * lisp/disp-table.el: + * lisp/cus-face.el: + * lisp/composite.el: + * lisp/bindings.el: + * admin/unidata/blocks.awk: + * admin/charsets/eucjp-ms.awk: + * admin/charsets/cp51932.awk: Use `lexical-binding`. + +2021-01-05 Stefan Monnier + + * lisp/filesets.el: Use lexical-binding + + Remove redundant `:group` args. Require cl-lib and seq. + Fix various O(n²) bug and flag a few remaining ones. + + (filesets-external-viewers): Simplify regexps. Use \' instead of $. + Remove useless :constraint-flag properties. + (filesets-convert-path-list): η-reduce. + (filesets-eviewer-constraint-p): Mark :constraint-flag as obsolete. + (filesets-spawn-external-viewer): Can't use `run-hooks` on + lexical variable. + (filesets-filter-list): Fix O(n²) bug. + (filesets-ormap): Simplify. + (filesets-some, filesets-member, filesets-sublist): Make them + obsolete aliases. + (filesets-reset-fileset): Simplify. + (filesets-directory-files): Use `push`. + (filesets-spawn-external-viewer): Use `mapconcat` to fix O(n²) bug. + (filesets-cmd-get-args): Use `mapcan` to fix O(n²) bug. + (filesets-run-cmd): Use `mapconcat` and `mapcan` to fix O(n²) bugs. + (filesets-ingroup-collect-finder): Use dynamic scoping. + (filesets-ingroup-collect-files): Use `nreverse` to fix O(n²) bug. + (filesets-ingroup-collect-build-menu): Use `mapcan` to fix O(n²) bug. + +2021-01-04 Andrea Corallo + + * test/src/comp-tests.el (cond-rw-1, not-cons, 45576): Rename three tests. + +2021-01-04 Andrea Corallo + + * Fix a type specifier test + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix a testcase. + +2021-01-04 Andrea Corallo + + Fix type inference for bug#45635 + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Fix + missing mixed pos neg handling. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + * test/src/comp-tests.el (45635): New testcase. + * test/src/comp-test-funcs.el (comp-test-45635-f): New function. + +2021-01-04 Philipp Stephani + + Make a process tests a bit more robust. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Allow for processes + to fail before 'exec'. + +2021-01-04 Stefan Monnier + + * lisp/cedet/srecode/semantic.el: Use lexical-binding + + (srecode-semantic-insert-tag): Can't use `run-hook-with-args` on + lexical variable. + +2021-01-04 Stefan Monnier + + * lisp/mail/reporter.el: Use lexical-binding + + (reporter--run-functions): New function. + (reporter-dump-state): Use it and simplify the code. + +2021-01-04 Stefan Monnier + + * lisp/erc/erc.el (erc-process-input-line): Undo confused last change + +2021-01-04 Dmitry Gutov + + ruby-add-log-current-method: Support methods with symbolic names + + * lisp/progmodes/ruby-mode.el (ruby-add-log-current-method): + Support methods with symbolic names. + +2021-01-04 Paul Eggert + + Do not assume Xrender merely because Cairo + + Problem reported by Andrea Corallo in: + https://lists.gnu.org/r/emacs-devel/2021-01/msg00225.html + * src/xterm.c (x_term_init) [USE_CAIRO && !HAVE_XRENDER]: + Do not call XRenderQueryExtension. + +2021-01-04 Paul Eggert + + Fix broken build on AIX 7.2 + + Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD + temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined + symbol: BC’. This is because -lcurses does not define BC etc. + * configure.ac: When building terminfo.o, define + TERMINFO_DEFINES_BC if the library defines BC etc. + * src/terminfo.c (UP, BC, PC): Define depending on + TERMINFO_DEFINES_BC, not on TERMINFO. + + (cherry picked from commit 632917461a7c1893a83979a3873b51d4da3b8a42) + +2021-01-04 Simen Heggestøyl + + Remove extraneous closing paren + + * doc/lispref/modes.texi (SMIE Indentation Example): Remove extraneous + closing paren. + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 99cc0045eb (origin/emacs-27) Update two user option names in the Widg... + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 2e09efdb68 Revert previous patch which was installed into wrong branch. + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + a7c2793efe Fix last change + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 90c782e92e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e... + +2021-01-04 Glenn Morris + + Merge from origin/emacs-27 + + 7384ec6416 Add warning comments abound binding keys in Isearch maps + +2021-01-04 Michael Albinus + + Fix error in tramp-sh-handle-insert-directory + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Let buffer be + unibyte when applying numbers returned with the ls --dired option. + Reported by Justus Piater . + + * test/lisp/net/tramp-tests.el (tramp--test-check-files): Extend test. + +2021-01-04 Mauro Aranda + + Update two user option names in the Widget manual + + * doc/misc/widget.texi (Basic Types): The user options + widget-glyph-directory and widget-glyph-enable were renamed long ago + to widget-image-directory and widget-image-enable, but the manual + kept calling them by their old names. Update the names. + +2021-01-04 Basil L. Contovounesios + + Fix build for --enable-checking=structs + + The last change to lisp.h only added comments in Lisp_String, so the + portable dumper need not be changed. + + * src/pdumper.c (dump_string): Update hash for Lisp_String. + +2021-01-04 Mauro Aranda + + Don't skip widgets when moving backward + + * lisp/wid-edit.el (widget-move): Remove code that caused + widget-backward to skip an immediate previous widget when moving + backward from the start of a widget. (Bug#45623) + + * test/lisp/wid-edit-tests.el (widget-test-widget-backward): New test. + +2021-01-04 Amin Bandali + + Fix off-by-one error in mode-line-compact code + + * src/xdisp.c (display_mode_line): Fix off-by-one error that would + chop off the final non-space character when compacting (bug#45646). + +2021-01-04 Lars Ingebrigtsen + + Fix computation of Lines in nnmaildir + + * lisp/gnus/nnmaildir.el (nnmaildir--update-nov): Lines is -1 if + it's not present; not 0 (probably) (bug#45650). + +2021-01-04 Stefan Monnier + + * src/print.c (print_vectorlike): Use `HASH_TABLE_SIZE` + +2021-01-04 Stefan Monnier + + * src/xdisp.c (syms_of_xdisp): New var redisplay-skip-fontification-on-input + + (handle_fontified_prop): Use it. + + * src/keyboard.h (input_was_pending): Declare. + * src/keyboard.c (input_was_pending): Make non-static. + +2021-01-04 Stefan Monnier + + * lisp/erc/erc.el: Use `run-hook-with-args` for `erc-pre-send-functions` + + (erc-process-input-line): A function can be `listp`. + (erc-send-input): Use `run-hook-with-args` for `erc-pre-send-functions`. + (erc-display-command): Comment out, unused. + +2021-01-04 Stefan Monnier + + * lisp/calc/calc-yank.el (calc-edit-mode): Make it into a proper major mode + + Also make `calc-edit-handler` hold a function instead of an expression. + + (calc-original-buffer, calc-return-buffer, calc-one-window) + (calc-edit-handler, calc-restore-trail, calc-allow-ret) + (calc-edit-top): Give them a default value. + (calc--edit-mode): New function extracted from old `calc-edit-mode`. + (calc-edit-return, calc-edit-finish): Don't need to test `boundp` any more. + (calc-edit-finish): Allow `calc-edit-handler` to be a function. + + (calc-edit, calc-alg-edit): + + * lisp/calc/calc-prog.el (calc-edit-user-syntax, calc-user-define-edit): + * lisp/calc/calc-embed.el (calc-embedded-edit): + * lisp/calc/calc-sel.el (calc-edit-selection): + * lisp/calc/calc-store.el (calc-edit-variable): + Use `calc--edit-mode` and make first arg into a function. + + * lisp/calc/calc-ext.el (calc-init-extensions): Autoload `calc--edit-mode` + instead of `calc-edit-mode`. + +2021-01-04 Stefan Monnier + + * Makefile.in (test/%): New target + + * lisp/calendar/appt.el (appt-activate): Set the local `write-file-functions` + +2021-01-04 Mark Oteiza + + Fix last change in json.el + + * lisp/json.el (json-encode-array): Include optimization for lists. + +2021-01-04 Stefan Monnier + + * lisp/arc-mode.el (tar-grind-file-mode): Remove left over autoload + + * doc/lispref/syntax.texi (Syntax Class Table): Clarify `@` + +2021-01-03 Stefan Monnier + + * admin/last-chance.el (last-chance): Use `grep`s return value + + (compilation-finish-functions): Only set it buffer-locally. + +2021-01-03 Stefan Monnier + + * src/buffer.c (Fset_buffer_multibyte): Remove dead code + +2021-01-03 Mark Oteiza + + Remove unnecessary dependency on seq library + + * lisp/json.el: Remove require declaration. + (json-encode-array): Just use length and /=. + +2021-01-03 Phillip Lord + + Remove relative paths for consistency + + * admin/nt/dist-build/build-zips.sh: Remove Paths + +2021-01-03 Stefan Monnier + + * lisp/emacs-lisp/byte-run.el (make-obsolete): Make `when` mandatory + + (define-obsolete-function-alias, make-obsolete-variable) + (define-obsolete-variable-alias): Adjust similarly. + +2021-01-03 Paul Eggert + + Mention -lcurses problem on AIX + + * etc/PROBLEMS: Describe problem with Emacs 27 and -lcurses. + Do not merge to master. + +2021-01-03 Paul Eggert + + Fix broken build on AIX 7.2 + + Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD + temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined + symbol: BC’. This is because -lcurses does not define BC etc. + * configure.ac: When building terminfo.o, define + TERMINFO_DEFINES_BC if the library defines BC etc. + * src/terminfo.c (UP, BC, PC): Define depending on + TERMINFO_DEFINES_BC, not on TERMINFO. + +2021-01-03 Paul Eggert + + Revert previous patch which was installed into wrong branch. + +2021-01-03 Paul Eggert + + Fix broken build on AIX 7.2 + + Without this fix, the build on AIX 7.2 with xlc fails in the ‘CCLD + temacs’ step with the diagnostic ‘ld: 0711-317 ERROR: Undefined + symbol: BC’. This is because -lcurses does not define BC etc. + * configure.ac: When building terminfo.o, define + TERMINFO_DEFINES_BC if the library defines BC etc. + * src/terminfo.c (UP, BC, PC): Define depending on + TERMINFO_DEFINES_BC, not on TERMINFO. + +2021-01-03 Alan Third + + Fix child frame restacking on NS (bug#41422) + + * src/nsfns.m (Fns_frame_restack): Use new restackWindow method. + * src/nsterm.m ([EmacsWindow orderFront:]): + ([EmacsWindow makeKeyAndOrderFront:]): + (nswindow_orderedIndex_sort): + ([EmacsWindow orderBack:]): + ([EmacsWindow restackWindow:above:]): Override superclass methods to + handle child windows the way we want. + +2021-01-03 Stefan Monnier + + * lisp/progmodes/xref.el (xref--show-defs-buffer-at-bottom): Fix missing arg + +2021-01-02 Alan Third + + Fix crash when using menus and tramp on NS + + + * src/nsterm.m (ns_select): Don't drain outerpool in this function. + +2021-01-02 Alan Third + + Fix NS toolbar image release crash (bug#43973) + + The toolbar fails to make a proper copy of EmacsImage objects, so + releasing the copy incorrectly released instance variables from the + original objects. + + * src/nsimage.m ([EmacsImage copyWithZone:]): New function to enable + correct copying of EmacsImage. + +2021-01-02 Roland Winkler + + bibtex-mode: Extend widget bibtex-entry-alist + +2021-01-02 Eric Abrahamsen + + Reposition call to set-buffer-modified-p in sieve-upload + + * lisp/net/sieve.el (sieve-upload): It's meant to affect the script + buffer, not sieve-buffer, so needs to be outside the call to + with-current-buffer. + +2021-01-02 Dmitry Gutov + + xref--show-pos-in-buf: Don't set other-window-scroll-buffer + + * lisp/progmodes/xref.el (xref--show-pos-in-buf): + Don't set other-window-scroll-buffer (bug#45581). + +2021-01-02 Mattias EngdegÃ¥rd + + Fix backslash mistakes in doc strings in C code + + These were found by an instrumented version of make-docfile. + + * src/gnutls.c (Fgnutls_available_p): + * src/keymap.c (Fkey_description): + * src/xdisp.c (syms_of_xdisp): + +2021-01-02 Mauro Aranda + + Fix Quit button in dictionary buffer + + * lisp/net/dictionary.el (dictionay-close): Changing the arity of the + function in cc5f2803785c5dc785f09a292313cf799e8d29bb was a mistake. + Restore it, but mark the argument as unused to avoid a + wrong-number-of-arguments error when using the Quit button. + +2021-01-02 Philipp Stephani + + Avoid printing stacktraces when it probably wouldn't work anyway. + + * src/eval.c (signal_or_quit): Don't try to call the debugger if it's + inhibited or we are about to dump or bootstrap. In those cases the + debugger probably wouldn't work anyway. + +2021-01-02 Philipp Stephani + + Make a process test faster. + + The test 'process-tests/fd-setsize-no-crash/make-process' used to call + 'sleep' to ensure that enough processes are live to trigger a + FD_SETSIZE overflow. However, we can just call 'cat' instead and + close standard input when done. That way, we only wait as long as + needed. + + * process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Invoke 'cat' instead + of 'sleep'. Close standard input to exit the 'cat' processes. + +2021-01-02 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-known-predicates): Some more tweaking. + +2021-01-02 Philipp Stephani + + Simplify TTY allocation. + + The 'process-tty-name' already provides the TTY name, we don't have + interrogate the TTY host. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-serial-process): Use + 'process-tty-name' instead of having the TTY host print its TTY + name. Check whether TTY names are unique. + (process-tests--new-pty, process-tests--with-temp-file): Remove; + no longer used. + +2021-01-02 Andrea Corallo + + Fix `functionp' contraining (bug#45576) + + * lisp/emacs-lisp/comp.el (comp-known-predicates) + (comp-known-predicates-h): New constants. + (comp-known-predicate-p, comp-pred-to-cstr): New functions. + * lisp/emacs-lisp/cl-macs.el (cl-deftype-satisfies): Don't define. + * test/src/comp-tests.el (comp-test-45576): New testcase. + * test/src/comp-test-funcs.el (comp-test-45576-f): New function. + +2021-01-02 Eli Zaretskii + + Fix last change in characters.el + + * lisp/international/characters.el: Adjust syntax of more + characters to follow that of Unicode properties. (Bug#44974) + +2021-01-02 Andrea Corallo + + * Rename `dom' slot into `idom' in `comp-block' struct + + * lisp/emacs-lisp/comp.el (comp-block): Rename dom `slot' into + `idom'. + (comp-clean-ssa, comp-compute-dominator-tree) + (comp-compute-dominator-frontiers, comp-dom-tree-walker) + (comp-remove-unreachable-blocks): Update accordingly. + +2021-01-02 Eli Zaretskii + + Fix syntax of symbol and punctuation characters + + * lisp/international/characters.el: Adjust syntax of punctuation + and symbol charcaters to follow that of Unicode properties. + (Bug#44974) + +2021-01-02 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2021-01-02 Eli Zaretskii + + Fix last change + + * doc/lispref/strings.texi (Creating Strings): Improve wording of + last change. (Bug#45516) + +2021-01-02 Lars Ingebrigtsen + + Add a reference between the Strings node and Search/Replace + + * doc/lispref/strings.texi (Creating Strings): Mention + string-replace/replace-regexp-in-string (bug#45516). + + (cherry picked from commit b9359d4183a1a6923122d3aa12b922ab89693354) + +2021-01-02 Dmitry Gutov + + ruby-smie-rules: Avoid one case of infinite recursion + + * lisp/progmodes/ruby-mode.el (ruby-smie-rules): + Avoid one case of infinite recursion (bug#29107). + +2021-01-01 Alan Third + + Fix GNUstep warnings + + * src/nsterm.h: EmacsSurface is only required if NS_DRAW_TO_BUFFER is + defined. + * src/nsterm.m (ns_judge_scroll_bars): Remove unused variable. + * src/nsmenu.m (update_frame_tool_bar): + (ns_update_menubar): Remove unused variables. + +2021-01-01 Alan Third + + Improve drawing performance on macOS + + * configure.ac: Require IOSurface framework. + * src/nsterm.h: New EmacsSurface class and update EmacsView + definitions. + * src/nsterm.m (ns_update_end): + (ns_unfocus): Use new unfocusDrawingBuffer method. + (ns_draw_window_cursor): Move ns_focus to before we set colors. + ([EmacsView dealloc]): + ([EmacsView viewDidResize:]): Handle new EmacsSurface class. + ([EmacsView initFrameFromEmacs:]): Remove reference to old method. + ([EmacsView createDrawingBuffer]): Remove method. + ([EmacsView focusOnDrawingBuffer]): + ([EmacsView windowDidChangeBackingProperties:]): Use new EmacsSurface + class. + ([EmacsView unfocusDrawingBuffer]): New method. + ([EmacsView copyRect:to:]): Get information from the context instead + of direct from the IOSurface. + ([EmacsView updateLayer]): Use new EmacsSurface class. + ([EmacsView copyRect:to:]): Use memcpy to copy bits around instead of + using NS image functions. + ([EmacsSurface initWithSize:ColorSpace:]): + ([EmacsSurface dealloc]): + ([EmacsSurface getSize]): + ([EmacsSurface getContext]): + ([EmacsSurface releaseContext]): + ([EmacsSurface getSurface]): + ([EmacsSurface copyContentsTo:]): New class and methods. + +2021-01-01 Roland Winkler + + bibtex-mode: Handle biblatex field aliases (bug#44976) + + * lisp/textmodes/bibtex.el (bibtex-biblatex-entry-alist): Define + field aliases. + (bibtex-vec-incr): Remove. + (bibtex-format-entry, bibtex-validate): Check for field aliases. + (bibtex--skip-field-aliases): New function. + (bibtex-field-list): Use it. + +2021-01-01 Paul Eggert + + Fix CCL_MOD typo + + * src/ccl.c (ccl_driver): Fix typo that disabled the + checks for undefined behavior with integer remainder. + Problem caught by Oracle Studio 12.6. + +2021-01-01 Paul Eggert + + Add overflow check for INPUT_EVENT_POS_MIN + + * src/keyboard.c (INPUT_EVENT_POS_MIN): Don’t assume (-1 - + INPUT_EVENT_POS_MAX) fits into ptrdiff_t. This fixes a + purely-theoretical problem that cannot occur on two’s-complement + arithmetic. The Solaris 10 compiler still complains incorrectly, + but oh well. + +2021-01-01 Paul Eggert + + Port to Solaris 10 + + * configure.ac: Instead of AC_CHECK_HEADER, use AC_COMPILE_IFELSE + with X11/Intrinsic.h when checking for X11/extensions/Xrender.h. + This suppresses a bogus "report a bug to bug-gnu-emacs" diagnostic + from 'configure' in Solaris 10. + (SETUP_SLAVE_PTY): Adjust to recent renaming of forkin to + std_in in callproc.c. Needed on Solaris and Unixware. + * lib-src/Makefile.in (LIB_GETRANDOM, LIBS_ETAGS): New vars, + needed because on Solaris 10 the Gnulib tempname module now needs + the -lrt library for clock_gettime. Throw in the LIB_GETRANDOM + stuff too while we’re at it; from getrandom.m4 it seems to be + needed for MingW. + (LIBS_MOVE, etags_libs): Use them. + * src/callproc.c [SETUP_SLAVE_PTY]: Include sys/stream.h + and sys/stropts.h, for SETUP_SLAVE_PTY’s definiens. + * src/process.c [NEED_BSDTTY]: Don’t include bsdtty.h; hasn’t been + needed in years. + [USG5_4]: Don’t include sys/stream.h or sys/stropts.h; these + directives havbe been moved to callproc.c because the only use of + SETUP_SLAVE_PTY is there now. + +2021-01-01 Paul Eggert + + New file scratch_buffer_dupfree.c + + * lib/malloc/scratch_buffer_dupfree.c: New file, from Gnulib + (originally from glibc 2.33 code). + This is needed on macOS and some other platforms; + I forgot to commit it in the most recent Gnulib update. + +2021-01-01 Andrea Corallo + + Add `throw' to non returning functions + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add throw. + +2021-01-01 Dmitry Gutov + + xref-show-definitions-completing-read: Default to the first location + + * lisp/progmodes/xref.el (xref-show-definitions-completing-read): + Default to the first location. + +2021-01-01 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-compute-dominator-tree): Fix. + +2021-01-01 Andrea Corallo + + * Clean unreachable block using dominance tree to handle circularities + + With this commit unreachable basic blocks are pruned automatically by + comp-ssa relying on dominance analysis. This solves the issue of + unreachable cluster of basic blocks referencing each other. + + * lisp/emacs-lisp/comp.el (comp-block-lap): New `no-ret' slot. + (comp-compute-dominator-tree): Update. + (comp-remove-unreachable-blocks): New functions. + (comp-ssa): Update to call `comp-remove-unreachable-blocks'. + (comp-clean-orphan-blocks): Delete. + (comp-rewrite-non-locals): Update and simplify. + +2021-01-01 Andrea Corallo + + * src/comp.c (Fcomp__compile_ctxt_to_file): Fix hash table iteration. + +2021-01-01 Andrea Corallo + + Introduce 'unreachable' LIMPLE operator + + Introduce 'unreachable' as LIMPLE operater so we can handle correctly + in the CFG functions throwing values or signaling errors. + + * src/comp.c (retrive_block): Better error diagnostic. + (emit_limple_insn): Add `unreachable'. + (compile_function): Fix block iteration. + (syms_of_comp): Define 'Qunreachable'. + * lisp/emacs-lisp/comp.el (comp-block): New variable. + (comp-block-lap): Add `non-ret-insn' slot. + (comp-branch-op-p): New predicate. + (comp-limple-lock-keywords): Color `unreachable' as red. + (comp-compute-edges): Add `unreachable'. + (comp-fwprop-call): Store non returning function call. + (comp-fwprop*): Update. + (comp-clean-orphan-blocks, comp-rewrite-non-locals): New functions. + (comp-fwprop): Call `comp-rewrite-non-locals'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two + tests. + * test/src/comp-test-funcs.el (comp-test-non-local-1) + (comp-test-non-local-2, comp-test-non-local-3) + (comp-test-non-local-4): New functions. + +2021-01-01 Eli Zaretskii + + Add warning comments abound binding keys in Isearch maps + + * lisp/isearch.el (isearch-mode-map) + (minibuffer-local-isearch-map): Add comments which warn against + wantonly rebinding unbound keys. + +2021-01-01 Philipp Stephani + + Fix a compilation warning. + + ruby-mode uses 'cl-evenp' at runtime, so cl-lib must be available at + runtime as well. + + * lisp/progmodes/ruby-mode.el (cl-lib): Require at runtime as well. + +2021-01-01 Andrea Corallo + + * Fix two predicates for missing negation handling + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-empty-p) + (comp-cstr-null-p): Fix missing negation handling. + +2021-01-01 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Color returns as red. + +2021-01-01 Andrea Corallo + + * Add `comp-insert-insn' + + * lisp/emacs-lisp/comp.el (comp-insert-insn): New inline. + (comp-emit-call-cstr): Split logic and call `comp-insert-insn'. + +2021-01-01 Paul Eggert + + Remove stray copy of image-tests.el + + * test/manual/image-circular-tests.el: Remove a stray copy of + image-tests.el that was appended to this file. Found by its + duplicate copyright notice. + +2021-01-01 Paul Eggert + + Update from Gnulib by running admin/merge-gnulib. + +2021-01-01 Paul Eggert + + Merge from origin/emacs-27 + + 33d159c36f Fix copyright years by hand + +2021-01-01 Paul Eggert + + Merge from origin/emacs-27 + + 74a77ef299 Improve documentation of 'network-lookup-address-info' + c6d5555646 Display messages sent using ERC's /say + c156723769 Fix Rmail summary display when From: header is malformed + +2021-01-01 Paul Eggert + + Update copyright year to 2021 + + Run "TZ=UTC0 admin/update-copyright". + +2021-01-01 Paul Eggert + + Fix some mistaken shell delinting + + * admin/merge-gnulib, admin/update-copyright, make-dist: + Revert recent mistaken changes that were put in merely to + pacify a shellcheck linter. + +2021-01-01 Paul Eggert + + Fix copyright years by hand + + These are dates that admin/update-copyright did not update. + +2021-01-01 Lars Ingebrigtsen + + Revert recent add-to-ordered-list changes + + * doc/lispref/lists.texi (List Variables): Revert. + + * lisp/subr.el (add-to-ordered-list): Revert recent changes + because the semantics are too muddled. + +2020-12-31 Alan Mackenzie + + CC Mode: increment version numbers to 5.35 due to standalone release + + * doc/misc/cc-mode.texi. Increment the mode to 5.35, twice. + + * lisp/progmodes/cc-defs.el. Increment the mode to "5.35.1". + +2020-12-31 Eli Zaretskii + + Improve documentation of 'network-lookup-address-info' + + * src/process.c (Fnetwork_lookup_address_info): + * doc/lispref/processes.texi (Misc Network): Document the error + message emitted by 'network-lookup-address-info' when it fails. + +2020-12-31 Dmitry Gutov + + ruby-mode: Optimize expression expansion too + + This speeds up syntax-propertize almost 2x. + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Optimize expression expansion too. + (ruby-syntax-propertize-expansion, ruby-font-lock-keywords) + (ruby-expression-expansion-re): Update to match. + +2020-12-31 Dmitry Gutov + + ruby-syntax-propertize: Optimize two rules a little + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Optimize two rules a little. + +2020-12-31 Dmitry Gutov + + ruby-mode: Recognize setter symbols + + * lisp/progmodes/ruby-mode.el (ruby-syntax-propertize): + Add a rule for setter symbols (bug#42846). + (ruby-font-lock-keywords): Remove dead code, left over from before + commit 26f9c507. + + * lisp/progmodes/ruby-mode.el (ruby-smie--bosp): + Handle '=' being part of a symbol (bug#42846). + + * test/lisp/progmodes/ruby-mode-resources/ruby.rb: + Add corresponding indentation examples. + +2020-12-31 João Távora + + Fix type declaration of two Flymake customization variables + + * lisp/progmodes/flymake.el (flymake-mode-line-format) + (flymake-mode-line-counter-format): Fix type declaration. + +2020-12-31 Eli Zaretskii + + Fix process-tests on MS-Windows + + * test/src/process-tests.el (process-tests--fd-setsize-test): On + MS-Windows start the pipe processes in the "stopped" condition. + +2020-12-31 João Távora + + Must explicitly create unpropertized strings in mode-line + + Otherwise, an innocent string like " " will mysteriously + pickup properties from some other minor mode. + + Making this a separate commit in hopes of raising attention to this + possible bug. + + * lisp/progmodes/flymake.el (flymake--mode-line-counter): Must + explicily create a new string unpropertized string + +2020-12-31 João Távora + + Make Flymake mode-line indicator customizable (bug#33740) + + * lisp/progmodes/flymake.el (flymake-mode): Use + flymake-mode-line-format. + (flymake--mode-line-format): Remove. + (flymake-mode-line-counter-format, flymake-mode-line-format): New + defcustom. + (flymake-mode-line-title, flymake-mode-line-exception) + (flymake-mode-line-counters, flymake-error-counter) + (flymake-warning-counter, flymake-note-counter): New variables. + (flymake--mode-line-title, flymake--mode-line-exception) + (flymake--mode-line-counters, flymake--mode-line-counter): New + helpers. + + * doc/misc/flymake.texi (Customizable variables): Mention + flymake-mode-line-format and flymake-mode-line-counter-format + + * etc/NEWS: Mention Flymake's customizable mode-line. + +2020-12-31 João Távora + + Protect elisp-flymake-checkdoc against boundless diagnostics + + These would be the kind of "This file needs a ;;Code section" and + such. + + * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Resist + checkdoc diagnostics with no end position. + +2020-12-31 Michael Albinus + + * test/src/process-tests.el: Let timeouts fail the tests. Fix some docstrings + +2020-12-31 Alan Mackenzie + + CC Mode. Fix AWK Mode fontification bug, remove some unused variables + + * lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Replace a hard use of + c-preprocessor-face-name by an `eval' expression which evaluates it. + + * lisp/progmodes/cc-engine.el (c-in-knr-argdecl, c-laomib-put-cache) + (c-laomib-fix-elt): Remove unused bound variables. + +2020-12-31 Philipp Stephani + + Unbreak process tests if 'errno' is not installed. + + * test/src/process-tests.el (process-tests--EMFILE-message): Don't + signal an error if the 'errno' binary is unavailable. + +2020-12-31 Stefan Kangas + + Fix some shellcheck linter warnings + + * admin/diff-tar-files: + * admin/merge-gnulib: + * admin/merge-pkg-config: + * admin/update-copyright: + * build-aux/git-hooks/prepare-commit-msg: + * make-dist: Fix some shellcheck linter warnings. + +2020-12-31 Stefan Kangas + + Minor cleanup in doc.c + + * src/doc.c (get_doc_string, Fdocumentation) + (Fdocumentation_property, store_function_docstring): + Minor cleanup. + +2020-12-31 Stefan Kangas + + Add lexical-binding cookie to autoload files + + * build-aux/update-subdirs: + * lisp/emacs-lisp/autoload.el (autoload-rubric): Add lexical-binding + cookie to generated files (bug#44854). + +2020-12-31 Daniel Martín + + Fix duplicated entry in gnus-mime-action-alist + + * lisp/gnus/gnus-art.el (gnus-mime-action-alist): Remove duplicated + "toggle display" entry and call the appropriate function for the "view + as charset" action (bug#45561). + +2020-12-31 Lars Ingebrigtsen + + Allow add-to-ordered-list to use a test predicate + + * doc/lispref/lists.texi (List Variables): Update manual. + + * lisp/subr.el (add-to-ordered-list): Allow using a test + predicate, and make slightly more efficient (bug#45539). + +2020-12-31 Lars Ingebrigtsen + + Add test for add-to-ordered-list + +2020-12-31 Daniel Martín + + Add some tests to find-func.el + +2020-12-31 Philipp Stephani + + Minor improvements to FD_SETSIZE overflow checks. + + * src/process.c (Fmake_serial_process): Add port to error data. + (connect_network_socket): Add an explanatory comment. + +2020-12-31 Philipp Stephani + + Manually limit file descriptors that we select on to FD_SETSIZE. + + This works even if another thread or process resets the resource limit + for open file descriptors, e.g., using 'prlimit' on GNU/Linux. + + * src/process.c (create_process, create_pty, Fmake_pipe_process) + (Fmake_serial_process, connect_network_socket) + (server_accept_connection): Limit file descriptors to FD_SETSIZE. + * test/src/process-tests.el (process-tests--with-raised-rlimit): New + helper macro. + (process-tests--fd-setsize-test): Rename from + 'process-tests--with-many-pipes'. Increase resource limit during test + if possible. + (process-tests/fd-setsize-no-crash/make-process) + (process-tests/fd-setsize-no-crash/make-pipe-process) + (process-tests/fd-setsize-no-crash/make-network-process) + (process-tests--new-pty): Rename callers. + +2020-12-31 Philipp Stephani + + Fix a potential unit test breakage on GNU/Linux. + + * test/src/process-tests.el + (process-tests/fd-setsize-no-crash/make-process): Allow special exit + codes that can happen if terminal setup fails in the child process. + +2020-12-30 Philipp Stephani + + Fix an incorrect Edebug specification. + + * test/src/process-tests.el (process-tests--with-many-pipes): Fix + incorrect Edebug specification. + +2020-12-30 Philipp Stephani + + Consistently check for FD_SETSIZE overflow. + + Previously this was only checked in a few places. Now assert that + file descriptors are within the expected range whenever we'd otherwise + introduce undefined behavior. + + * src/process.c (add_read_fd, add_process_read_fd, delete_read_fd) + (recompute_max_desc, delete_write_fd, compute_input_wait_mask) + (compute_non_process_wait_mask, compute_non_keyboard_wait_mask) + (compute_write_mask, clear_waiting_thread_info) + (update_processes_for_thread_death, Fset_process_thread) + (create_process, create_pty, Fmake_pipe_process) + (Fprocess_datagram_address, Fset_process_datagram_address) + (Fmake_serial_process, finish_after_tls_connection) + (connect_network_socket, deactivate_process) + (server_accept_connection, wait_reading_process_output) + (read_process_output, read_and_dispose_of_process_output) + (send_process, Fcontinue_process, Fprocess_send_eof) + (Fprocess_filter_multibyte_p, keyboard_bit_set) + (add_timer_wait_descriptor, setup_process_coding_systems): Add + assertions to document and check that file descriptors are within the + expected range when used as file descriptor set elements or array + subscripts. + +2020-12-30 Philipp Stephani + + Extend and overhaul FD_SETSIZE overflow tests. + + Instead of trying to generate the right number of processes, + pre-create lots of unused pipe processes until creation fails. Extend + the tests to the 'pty' connection type and other kinds of process + objects. + + * test/src/process-tests.el (process-tests--ignore-EMFILE) + (process-tests--with-buffers, process-tests--with-processes) + (process-tests--with-many-pipes, process-tests--with-temp-file) + (process-tests--with-temp-directory): New helper macros. + (process-tests/fd-setsize-no-crash/make-process): Renamed from + 'process-tests/fd-setsize-no-crash'. Fail on timeout. Also test the + 'pty' connection type. Pre-create lots of pipe processes so we reach + the FD_SETSIZE limit faster. Ignore EMFILE more precisely, if + possible. + (process-tests/fd-setsize-no-crash/make-pipe-process) + (process-tests/fd-setsize-no-crash/make-network-process) + (process-tests/fd-setsize-no-crash/make-serial-process): New tests + that test FD_SETSIZE limits for other kinds of processes. + (process-tests--EMFILE-message): New helper function and cache + variable. + (process-tests--new-pty): New helper function. + +2020-12-30 Philipp Stephani + + * src/nsterm.m (ns_select): Fix off-by-one error, and add assertion + +2020-12-30 Alan Mackenzie + + CC Mode: correct the handling of empty strings + + In particular, have the macro cache invalidated after its last use in + c-before-change. + + * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove + c-invalidate-macro-cache from the entries it's in, moving it to.... + + * lisp/progmodes/cc-mode.el (c-before-change): Call c-invalidate-macro-cache + directly from the functions, after the call to c-invalidate-state-cache. + +2020-12-30 Alan Third + + Fix Help menu on macOS + + * src/nsmenu.m (ns_update_menubar): Make sure to reset the help menu + when we move it to another submenu. + +2020-12-30 Andrea Corallo + + * Order function types in aphabetical order + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Reorder in + aphabetical order and comment. + +2020-12-30 Andrea Corallo + + * Add more function type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more + type specifiers. + +2020-12-30 Mattias EngdegÃ¥rd + + Use standard key symbols in NS menu entries + + * src/nsmenu.m (skipspc): Remove. + (key_symbols, prettify_key): New. + ([EmacsMenu fillWithWidgetValue:]): Call prettify_key. + +2020-12-30 Stefan Kangas + + Remove redundant 'function's around lambda in align.el + + * lisp/align.el (align-rules-list, align-exclude-rules-list) + (align-vhdl-rules-list, align-highlight-rule): Remove redundant + 'function's around lambda. + +2020-12-30 Dmitry Gutov + Tobias Rittweiler + + Add 'project-relative' as value for 'xref-file-name-display' + + * lisp/progmodes/xref.el (xref-file-name-display): Document new value. + (xref-location-group ((l xref-file-location))): Handle the new value. + (xref--project-root): Extract from the default method of + 'xref-backend-references' so it can be used in above's new code. + Also fix an old bug in the "backward compat" branch. + + * lisp/progmodes/xref.el (xref--project-root-memo): New variable. + + * test/lisp/progmodes/xref-tests.el: Add test cases for the three + possible settings of 'xref-file-name-display'. + +2020-12-30 Stefan Kangas + + Fix some over-wide docstrings + + * lisp/cedet/semantic/analyze/refs.el + (semantic-analyze-refs-proto) + (semantic-analyze-refs-impl): + * lisp/cedet/semantic/symref.el + (semantic-symref-hit-to-tag-via-buffer): + * lisp/emacs-lisp/chart.el (chart-axis-draw): + * lisp/emacs-lisp/cl-macs.el (cl-defstruct, cl-loop): + * lisp/emacs-lisp/eieio-core.el (eieio--add-new-slot): + * lisp/eshell/em-unix.el (eshell/info): + * lisp/gnus/deuglify.el (gnus-outlook-rearrange-article): + * lisp/gnus/gnus-agent.el (gnus-agent-read-article-number): + * lisp/gnus/gnus-util.el (gnus-put-overlay-excluding-newlines) + (gnus-put-text-property-excluding-newlines): + * lisp/gnus/message.el (message-sort-headers): + * lisp/gnus/nntp.el (nntp-with-open-group) + (nntp-with-open-group-function): + * lisp/gnus/nnvirtual.el (nnvirtual-create-mapping): + * lisp/mail/feedmail.el (feedmail-fiddle-list-of-fiddle-plexes) + (feedmail-queue-reminder, feedmail-mail-send-hook-splitter): + * lisp/net/dictionary.el (dictionary-do-matching): + * lisp/obsolete/longlines.el (longlines-auto-wrap): + * lisp/org/ob-sql.el (org-babel-sql-dbstring-vertica): + * lisp/org/ol-bbdb.el (org-bbdb-date-list): + * lisp/progmodes/cc-cmds.el (c-mark-function): + * lisp/progmodes/cperl-mode.el (cperl-add-tags-recurse) + (cperl-add-tags-recurse-noxs-fullpath) + (cperl-add-tags-recurse-noxs): + * lisp/progmodes/etags.el (tags-search): + * lisp/progmodes/verilog-mode.el (verilog-delete-auto-buffer) + (verilog-auto-re-search-do, verilog-expand-vector-internal): + * lisp/textmodes/reftex-parse.el (reftex-init-section-numbers): + * lisp/textmodes/reftex-toc.el + (reftex-toc-load-all-files-for-promotion): + * lisp/textmodes/sgml-mode.el (html-mode): + * lisp/textmodes/table.el (table--transcoord-cache-to-table) + (table--transcoord-table-to-cache, table--remove-eol-spaces) + (table--region-in-cell-p, table-goto-bottom-right-corner) + (table-split-cell-horizontally): + * lisp/url/url-handlers.el (url-insert): + * lisp/vc/ediff-util.el (ediff-inferior-compare-regions): Fix doc + strings to not exceed 80-column limits. (Bug#44858) + +2020-12-30 Mattias EngdegÃ¥rd + + Plug NS memory leaks (bug#45502) + + * src/nsmenu.m ([EmacsMenu addItemWithWidgetValue:attributes:]): + Mark allocated and owned objects for autorelease. + +2020-12-30 Juri Linkov + + Add variables read-char-choice-use-read-key and y-or-n-p-use-read-key + + * lisp/subr.el (read-char-choice-use-read-key): New variable. + (read-char-choice): Use read-char-from-minibuffer when + read-char-choice-use-read-key is nil. + (y-or-n-p-use-read-key): New variable. + (y-or-n-p): Restore old code that calls read-key to use it when + y-or-n-p-use-read-key is non-nil. + + * lisp/dired-aux.el (dired--no-subst-ask, dired-query): + * lisp/files.el (files--ask-user-about-large-file) + (hack-local-variables-confirm): + * lisp/userlock.el (ask-user-about-supersession-threat): + * lisp/wid-edit.el (widget-choose): Revert to use read-char-choice + instead of read-char-from-minibuffer. + + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg01919.html + +2020-12-30 Michael Albinus + + * src/dbusbind.c (XD_BASIC_DBUS_TYPE): Fix error in declaration. + +2020-12-30 Juri Linkov + + In Isearch bind 'C-s M-y' to isearch-yank-pop-only with old code (bug#45483) + + * lisp/isearch.el (isearch-menu-bar-yank-map, isearch-mode-map): + (isearch-forward): Use isearch-yank-pop-only instead of isearch-yank-pop. + (isearch-yank-pop): Mention isearch-yank-pop-only. + (isearch-yank-pop-only): New command with old body from Emacs 27. + +2020-12-30 Stefan Kangas + + Minor cleanup in keymap.c + + * src/keymap.c (get_keymap, keymap_parent, Fset_keymap_parent) + (store_in_keymap, Fdefine_key, Flookup_key, define_as_prefix) + (silly_event_symbol_error, current_minor_maps) + (Fcurrent_active_maps, Fkey_binding, Flocal_key_binding) + (Fminor_mode_key_binding, Fdefine_prefix_command) + (Faccessible_keymaps, Fdescribe_buffer_bindings) + (describe_vector, Fwhere_is_internal): Minor cleanup. + +2020-12-30 Lars Ingebrigtsen + + Also count symbol plists in memory-report + + * lisp/emacs-lisp/memory-report.el (memory-report--symbol-plist): + New function. + (memory-report): Use it. + +2020-12-30 Lars Ingebrigtsen + + Revert "Switch add-to-ordered-list to eql" + + This reverts commit b4fd857ead728a06380250c5336c1ab94a7c2f7a. + + I misunderstood the purposed of the function. + +2020-12-30 Stefan Kangas + + Add some char-table tests + + * test/src/chartab-tests.el (chartab-test-char-table-p) + (chartab-test-char-table-subtype) + (chartab-test-char-table-parent) + (chartab-test-char-table-extra-slot): New tests. + +2020-12-30 Lars Ingebrigtsen + + Switch add-to-ordered-list to eql + + * doc/lispref/lists.texi (List Variables): Update documentation. + + * lisp/subr.el (add-to-ordered-list): Switch to eql (bug#45539). + +2020-12-30 Lars Ingebrigtsen + + Improve the `long' computation of `mode-line-compact' + + * src/xdisp.c (display_mode_line): Compute `long' based on total + window width, and use the passed-in window instead of the selected + window. + +2020-12-30 Lars Ingebrigtsen + + Add caveat about the `long' `mode-line-compact' setting + + * doc/lispref/modes.texi (Mode Line Basics): Elaborate on the + `long' setting. + +2020-12-30 Tobias Rittweiler + + Minor refactoring of xref-tests + + * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir): + Rename to 'xref-tests--data-dir'. + (xref-tests--matches-in-data-dir, xref-tests--locations-in-data-dir): + New functions. Factored out from test cases and updated usage sites + to use them. + +2020-12-29 Alan Third + + Don't calculate macOS menu data for GNUstep (bug#45502) + + * src/nsmenu.m ([EmacsMenu fillWithWidgetValue:]): #ifdef out code + that has no effect on GNUstep and autorelease alloc'd objects. + +2020-12-29 Artem Loenko + + * src/Makefile.in (DO_CODESIGN): Fix architecture for Apple Silicon + +2020-12-29 Juri Linkov + + Use explicit "--color=auto" in grep mode to support both GNU grep and ripgrep + + * lisp/progmodes/grep.el (grep-highlight-matches): + (grep-compute-defaults, grep-expand-template): + Use "--color=auto" instead of "--color" (bug#44983). + +2020-12-29 Juri Linkov + + * lisp/x-dnd.el (x-dnd-get-drop-x-y): Add safer check for top/left (bug#45277) + +2020-12-29 Eli Zaretskii + + A better fix for process-tests on MS-Windows + + * src/w32.c (pipe2): When forcibly closing pipe handles due to + overflow of FD_SETSIZE, set the handles to -1, to avoid assertion + violations in emacs_close. + + * test/src/process-tests.el (process-tests/fd-setsize-no-crash): + No need to skip this test anymore. + +2020-12-29 Eli Zaretskii + + Fix process-tests on MS-Windows + + * test/src/process-tests.el (process-tests/fd-setsize-no-crash): + Skip this test on windows-nt systems, as we cannot use more than + FD_SETSIZE file descriptors there: if we try, we crash. + +2020-12-29 Dmitry Gutov + + xref-show-definitions-completing-read: Tune up completion + + * lisp/minibuffer.el (completion-category-defaults) + Use 'substring' completion style for 'xref-location' category by + default. + + * lisp/progmodes/xref.el (xref-show-definitions-completing-read): + Assign the 'xref-location' category to the completions. Pass + REQUIRE-MATCH=t. + +2020-12-29 Michael Albinus + + Instrument process-tests.el for timeouts on emba + +2020-12-29 Philipp Stephani + + Add a regression test for Bug#24325. + + * test/src/process-tests.el (process-tests/fd-setsize-no-crash): New + unit test. + +2020-12-29 Andrea Corallo + + Fix missing negation handling in a bunch of predicates + + * lisp/emacs-lisp/comp.el (comp-mvar-fixnum-p) + (comp-mvar-symbol-p, comp-mvar-cons-p): Consider neg slot. + * test/src/comp-tests.el (comp-test-not-cons): New test. + * test/src/comp-test-funcs.el (comp-test-not-cons-f): New + function. + +2020-12-29 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-value-to-cstr'. + +2020-12-29 Andrea Corallo + + Constrain mvars under compare and branch with built-in predicates + + * lisp/emacs-lisp/comp.el (comp-emit-assume): Update. + (comp-known-predicate-p): New function. + (comp-add-cond-cstrs): Extend to pattern match predicate calls. + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-null-p) + (comp-pred-to-cstr): New function. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a + number of tests and fix comments. + +2020-12-29 Mattias EngdegÃ¥rd + + More readable keys in NS menu entries (bug#45502) + + Each menu entry now has the key binding in a right-aligned column, as + an attempt to improve readability. Previously the keys were given in + brackets immediately following the menu string. + + * src/nsmenu.m ([EmacsMenu parseKeyEquiv:]): Remove. + (skipspc): New helper function. + ([EmacsMenu addItemWithWidgetValue:]): Add attributes argument. + Use attributed title string. Don't special-case Super bindings. + ([EmacsMenu fillWithWidgetValue:]): Compute maximum width. Prepare + attributes for title. + +2020-12-29 Michael Albinus + + Sync with Tramp 2.5.0 + + * doc/misc/trampver.texi: + * lisp/net/trampver.el: Change version to "2.5.0". + + * test/lisp/net/tramp-tests.el + (tramp--test--deftest-direct-async-process): Check, that + `make-process' supports file name handlers. Suppress + `internal-default-process-sentinel'. + (tramp--test-async-shell-command): Set `proc' proper. + (tramp-test32-shell-command-direct-async): Tag it :unstable. + +2020-12-29 João Távora + + Revert "Allow the flymake mode line indicator to be customized" + + This reverts commit 37049ee78c4576d340781179317e6cbaaf73b6c3. + + It's not ready to be used, contains some fundamental errors. + + See bug#33740. + +2020-12-29 Andrea Corallo + + * Define `cl-satisfies-deftype' mapping predicate -> type + + * lisp/emacs-lisp/cl-macs.el (cl-satisfies-deftype): Define symbol + property as reverse of `cl-deftype-satisfies'. + +2020-12-29 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Better `comp-type-to-cstr'. + +2020-12-29 Alan Third + + Fix crash in NS menu code + + * src/nsmenu.m (ns_update_menubar): When the menu generation code was + copied from xmenu.c the fix for waiting_for_input was lost. Reinstate + it. + +2020-12-29 Lars Ingebrigtsen + + Add some tests for align.el + +2020-12-29 Glenn Morris + + * src/xdisp.c (display_mode_line): I guess FALSE should be false. + +2020-12-29 Lars Ingebrigtsen + + Revert the previous display_string change + + * src/xdisp.c (display_string): Revert adding the additional + ignore_text_properties parameter -- it was already covered by the + other mix of parameters. + +2020-12-29 Lars Ingebrigtsen + + Fix compact mode line text properties + + * src/xdisp.c (display_mode_line): Display the compact mode + correctly (with text properties) (bug#45520). + +2020-12-29 Lars Ingebrigtsen + + Add a parameter to display_string to allow not ignoring text props + + * src/xdisp.c (display_string): Add a parameter to allow not + ignoring text properties (bug#45520). Adjust callers throughout + xdisp.c. + +2020-12-29 Lars Ingebrigtsen + + Introduce new variable mode-line-compact + + * doc/lispref/modes.texi (Mode Line Basics): Document it (bug#34476). + + * src/xdisp.c (display_mode_line): Use it. + (syms_of_xdisp): New variable mode-line-compact. + +2020-12-29 Lars Ingebrigtsen + + Allow the flymake mode line indicator to be customized + + * doc/misc/flymake.texi (Customizable variables): Mention it. + + * lisp/progmodes/flymake.el (flymake-mode-line-indicator-format): + New variable (bug#33740). + (flymake--mode-line-format): Use it. + +2020-12-29 Lars Ingebrigtsen + + Add a SPLIT parameter to `format-spec' + + * doc/lispref/strings.texi (Custom Format Strings): Document it. + + * lisp/format-spec.el (format-spec): Add an optional parameter to + return a list of strings (bug#33740). + +2020-12-29 Basil L. Contovounesios + + Reword a long docstring in cc-langs.el + + * lisp/progmodes/cc-langs.el (c-vsemi-status-unknown-p-fn): Reword + docstring to fit within 80 columns and silence the corresponding + byte-compiler warning (bug#44858). + +2020-12-29 Lars Ingebrigtsen + + Add a reference between the Strings node and Search/Replace + + * doc/lispref/strings.texi (Creating Strings): Mention + string-replace/replace-regexp-in-string (bug#45516). + +2020-12-29 Lars Ingebrigtsen + + Allow mixing attributes and comments in the diary file + + * lisp/calendar/diary-lib.el (diary-face-attrs): The attributes + don't have to be at the end of the line -- there may be ##warntime + or other comments (bug#19965). + +2020-12-29 João Távora + + Robustify completion match scoring for optimized patterns + + (Bug#42149) + + The function completion-pcm--hilit-commonality, which propertizes and + scores a previously confirmed match, expected its PATTERN argument to + match the strings of COMPLETIONS entirely (i.e. up to the string's + very end). But sometimes the ending wildcard, represented by the + 'any' atom in PATTERN, is optimized away by + completion-pcm--optimize-pattern. Although this is mostly benign in + terms of highlighting commonality, it leads to incorrect score values. + + In this change, we ensure that completion-pcm--hilit-commonality is + aware of this exception and isn't affected by it. We also document + the function a bit better and simplify its workings. + + Originally reported by Dario Gjorgjevski + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): + Simplify. Add docstring. + + * lisp/minibuffer.el (completion-pcm--hilit-commonality): Add + docstring + +2020-12-28 Amin Bandali + + Display messages sent using ERC's /say + + * lisp/erc/erc.el (erc-cmd-SAY): Call `erc-display-msg' to display the + user's message in the buffer, just like other [non-command] messages. + + https://lists.gnu.org/r/help-gnu-emacs/2020-12/msg00066.html + +2020-12-28 Alan Mackenzie + + CC Mode: Add newish AWK Mode facilities, as used in gawk-4. + + * lisp/progmodes/cc-awk.el (c-awk-font-lock-invalid-namespace-separators): + New function. + (c-awk-context-expand-fl-region): New function. + (awk-font-lock-keywords): Enhance handling of function declarations to include + :: tokens. Fontify new system variable names FPAT, FUNCTAB, PREC, ROUNDMODE, + SYNTAB. Fontify new keywords BEGINFILE and ENDFILE. Fontify new system + functions asorti, dcngettext, isarray, patsplit, typeof. Fontify the new + directives @include, @load, @namespace. Call + c-awk-font-lock-invalid-namespace-separators as a matcher. + + * lisp/progmodes/cc-fonts.el (top level): No longer require 'cc-awk. + + * lisp/progmodes/cc-langs.el (c-before-context-fontification-functions): Give + AWK the value c-awk-context-expand-fl-region rather than nil. + + * lisp/progmodes/cc-mode.el (top level): Declare awk-mode-syntax-table as a + variable. + +2020-12-28 Stefan Monnier + + * lisp/minibuffer.el: Avoid consecutive `any` in completion patterns + + (completion-pcm--optimize-pattern): Turn multiple consecutive + occurrences of `any` into just a single one. + Suggested by Dario Gjorgjevski . + +2020-12-28 Glenn Morris + + Fix package tests for tetris no longer existing as a package + + * test/lisp/emacs-lisp/package-tests.el + (package-test-list-filter-by-name, package-test-list-clear-filter): + Use ansi-color instead of tetris, which no longer has a version:. + +2020-12-28 Alan Third + + Fix crash in NS menu code + + * src/nsmenu.m (ns_update_menubar): Don't assume that the top level + menus are correct when populating the submenus. + (free_frame_menubar): Clear the menu. + ([EmacsMenu removeAllItems]): Actually remove all menu items. + +2020-12-28 Andrea Corallo + + Store function type and expose it with `subr-type' + + * src/lisp.h (struct Lisp_Subr): Add 'type' field. + (SUBR_TYPE): New inline accessor. + * src/pdumper.c (dump_subr): Update for 'type' field. + * src/data.c (Fsubr_type): New primitive. + (syms_of_data): Update. + * src/comp.c (ABI_VERSION): Bump new ABI version. + (make_subr): Set type. + (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr): Receive and pass subr type to + 'make_subr'. + * src/alloc.c (mark_object): Mark subr type. + * lisp/emacs-lisp/comp.el (comp-func): Change slot type into mvar. + (comp-emit-for-top-level, comp-emit-lambda-for-top-level): Pass + type mvar to subr register functions. + (comp-compute-function-type): Fix-up subr type mvars. + * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Use + `subr-type'. + +2020-12-28 Andrea Corallo + + Reorder subr register function arguments to make some room + + * src/comp.c (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr): Use a rest arg to pass 'doc_idx' and + 'intspec' parameters. + * lisp/emacs-lisp/comp.el (comp-emit-for-top-level) + (comp-emit-lambda-for-top-level): Update. + +2020-12-28 Andrea Corallo + + Propagate function calls also when hiddend under funcall + + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate functions + also when called under `funcall'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + +2020-12-28 Andrea Corallo + + Compute function type for native compiled functions + + * lisp/emacs-lisp/comp.el (comp-func): `type' rename from + `ret-type-specifier'. + (comp-args-to-lambda-list): New function. + (comp-compute-function-type): New function from + `comp-ret-type-spec'. + (comp-final): Update. + * test/src/comp-tests.el (comp-tests-check-ret-type-spec): Update. + +2020-12-28 Andrea Corallo + + * Improve some slot type into comp.el + + * lisp/emacs-lisp/comp.el (comp-args-base, comp-args) + (comp-nargs, comp-func): Fix the type of some slots. + +2020-12-28 Stefan Kangas + + Minor cleanups in tetris.el + + * lisp/play/tetris.el: Remove redundant :group args. + (tetris-get-tick-period): Drop unnecessary check. + (tetris): Stylistic doc fixes. + +2020-12-28 Stefan Kangas + + * lisp/ps-print.el (ps-message-log-max): Remove XEmacs compat code. + +2020-12-28 Stefan Kangas + + Remove redundant 'function's around lambda in vhdl-mode.el + + * lisp/progmodes/vhdl-mode.el (fboundp, vhdl-sort-alist, lambda) + (vhdl-create-mode-menu, vhdl-set-offset, vhdl-set-style) + (vhdl-regress-line, vhdl-align-inline-comment-region-1) + (vhdl-resolve-paths, vhdl-generate-makefile-1) + (vhdl-submit-bug-report): Remove redundant 'function's around lambda. + +2020-12-28 Lars Ingebrigtsen + + Fix too-long feedmail-sendmail-f-doesnt-sell-me-out doc string + + * lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out): + Fold the example SMTP header using continuation folding. + +2020-12-28 Stefan Kangas + + Fill some auto-generated docstrings + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode) + (define-globalized-minor-mode): Fill auto-generated documentation + strings. (Bug#44858) + * lisp/subr.el (internal--fill-string-single-line) + (internal--format-docstring-line): New functions. + +2020-12-28 Stefan Kangas + + Make byte-compiler warn about wide docstrings + + * lisp/emacs-lisp/bytecomp.el (byte-compile--wide-docstring-p): + (byte-compile-docstring-length-warn): New defuns. + (byte-compile-docstring-max-column): New defcustom. + (byte-compile--wide-docstring-substitution-len): New variable. + (byte-compile-warning-types, byte-compile-warnings): New value + 'docstrings'. + (byte-compile-file-form-autoload, byte-compile-file-form-defvar): + (byte-compile-file-form-defvar-function, byte-compile-lambda): + (byte-compile-defvar, byte-compile-file-form-defalias): Warn about too + wide docstrings. (Bug#44858) + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-warn-wide-docstring/defconst) + (bytecomp-warn-wide-docstring/defvar): New tests. + (bytecomp--define-warning-file-test): New macro. + (bytecomp/warn-wide-docstring-autoload\.el) + (bytecomp/warn-wide-docstring-custom-declare-variable\.el) + (bytecomp/warn-wide-docstring-defalias\.el) + (bytecomp/warn-wide-docstring-defconst\.el) + (bytecomp/warn-wide-docstring-define-abbrev-table\.el) + (bytecomp/warn-wide-docstring-define-obsolete-function-alias\.el) + (bytecomp/warn-wide-docstring-define-obsolete-variable-alias\.el) + (bytecomp/warn-wide-docstring-defun\.el) + (bytecomp/warn-wide-docstring-defvar\.el) + (bytecomp/warn-wide-docstring-defvaralias\.el) + (bytecomp/warn-wide-docstring-ignore-fill-column\.el) + (bytecomp/warn-wide-docstring-ignore-override\.el) + (bytecomp/warn-wide-docstring-ignore\.el) + (bytecomp/warn-wide-docstring-multiline-first\.el) + (bytecomp/warn-wide-docstring-multiline\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-autoload.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-custom-declare-variable.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defalias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defconst.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-abbrev-table.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-function-alias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-define-obsolete-variable-alias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvar.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-defvaralias.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-fill-column.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore-override.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-ignore.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline-first.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-wide-docstring-multiline.el: + New files. + +2020-12-28 Lars Ingebrigtsen + + Make octave-send-region be asynchronous + + * lisp/progmodes/octave.el (octave-send-region): Send things + asynchronously to the inferior process (bug#24492). + +2020-12-28 Yichao Yu + + Make XIM to work with non-CJK locales + + * src/xfns.c (best_xim_style): Don't rely on supported_xim_styles + (bug#10867). + + * src/xterm.c (x_draw_window_cursor): Adjust to modern input styles. + (xim_instantiate_callback): Ditto. + +2020-12-28 Lars Ingebrigtsen + + Fix background mode on Gnome 3.38 terminals + + * lisp/term/xterm.el (xterm--version-handler): Adjust to Gnome + 3.38 (bug#43891). + +2020-12-28 Lars Ingebrigtsen + + Fix alignment of Java String[] and the like + + * lisp/align.el (align-rules-list): Allow aligning Java String[] etc + (bug#19385). + + Test case: + + class X + { + String field1; + String[] field2; + int field3; + int[] field4; + X field5; + X[] field6; + } + +2020-12-28 Lars Ingebrigtsen + + Document the text property limitations in mode lines + + * doc/lispref/modes.texi (Properties in Mode, Mode Line Basics): + Mention the special text property limitations. + +2020-12-28 Lars Ingebrigtsen + + Allow remember-notes to use the *scratch* buffer + + * lisp/textmodes/remember.el (remember-notes): Allow the + remember-notes buffer to use the *scratch* buffer (as documented) + (bug#20740). + +2020-12-28 Dmitry Gutov + + Rename and document the built-in xref-show-definitions-function's + + * lisp/progmodes/xref.el (xref-show-definitions-buffer): Rename + from 'xref--show-defs-buffer'. + (xref-show-definitions-buffer-at-bottom): Rename from + 'xref--show-defs-buffer-at-bottom'. + +2020-12-28 Tim Landscheidt (tiny change) + + Do not output two spaces for non-autoloaded ieieo constructor functions + + * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Amend + format to avoid two spaces for non-autoloaded object constructor + functions (bug#45454). + +2020-12-27 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-archives): Add NonGNU ELPA + +2020-12-27 Stefan Monnier + + * lisp/textmodes/rst.el (rst-mode): Don't touch global hook + + (rst-re): η-reduce. + +2020-12-27 Andrea Corallo + + Add 1+ 1- integer range propagation support + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-one): New special var. + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Propagate integer + ranges on +1 -1. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two tests. + +2020-12-27 Andrea Corallo + + Add sum/subtraction integer range propagation support + + * lisp/emacs-lisp/comp-cstr.el (comp-range-+, comp-range--): New + functions. + (comp-cstr-set-range-for-arithm): New macro. + (comp-cstr-add-2, comp-cstr-sub-2, comp-cstr-add, comp-cstr-sub): + New function. + * lisp/emacs-lisp/comp.el (comp-fwprop-call): Wire-up + - integer + range propagation. + +2020-12-27 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Improve. + +2020-12-27 Andrea Corallo + + * Add comp-cstr-greatest-in-range comp-cstr-smallest-in-range + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-smallest-in-range) + (comp-cstr-greatest-in-range): New function. + (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): Make use of. + +2020-12-27 Andrea Corallo + + * Don't require trailing backslashes in `comp-eln-load-path' (bug#45462) + + * src/comp.c (Fcomp_el_to_eln_filename): Don't require + trailing backslashes in comp-eln-load-path. + +2020-12-27 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-27 Alan Third + + Remove NS menu synthesized events (bug#44333) + + Remove the frame tracking stuff as it's not used for anything, and + move the update tracking into the EmacsMenu class. + + * src/nsmenu.m (ns_update_menubar): Copy the parsing code from xmenu.c + and rework the NS specific code around to update the existing menus + instead of rebuilding them completely. + (ns_activate_menubar): + ([EmacsMenu trackingNotification:]): + ([EmacsMenu menuWillOpen:]): + ([EmacsMenu menuDidClose:]): Remove unused functions. + ([EmacsMenu menuNeedsUpdate:]): Remove menu tracking code and add code + to check whether an update is required. + ([EmacsMenu fillWithWidgetValue:]): + ([EmacsMenu addSubmenuWithTitle:]): + ([EmacsMenu initWithTitle:]): Remove references to frame. + ([EmacsMenu setFrame:]): Remove method. + ([EmacsMenu clear]): Rename to removeAllItems. + ([EmacsMenu removeAllItems]): Use built-in removeAllItems, if + available. + (syms_of_nsmenu): Remove tracking code. + * src/nsterm.m (ns_check_menu_open): + (ns_check_pending_open_menu): + (ns_create_terminal): Remove unused functions. + (ns_term_init): Get rid of menu tracking. + * src/nsterm.h (EmacsMenu): Remove frame, add needsUpdate and update + method definitions. + +2020-12-27 Lars Ingebrigtsen + + Fix up length_internal with degenerate length inputs + + * src/fns.c (length_internal): Protect against edge conditions. + +2020-12-27 Daniel Martín + + Improve "find definition" in *Help* buffers + + * lisp/emacs-lisp/find-func.el (find-function-search-for-symbol): If + our regexp algorithm could not find a location for the symbol + definition, resort to find-function--search-by-expanding-macros. + * test/lisp/emacs-lisp/find-func-tests.el: Add a automatic test for a + function and variable generated by a macro. + * etc/NEWS: Advertise the improved functionality (bug#45443). + +2020-12-27 Lars Ingebrigtsen + + Add new predicates for sequence lengths + + * doc/lispref/sequences.texi (Sequence Functions): Document them. + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Mark them as + side-effect-free. + + * lisp/emacs-lisp/shortdoc.el (list): Mention them. + + * src/fns.c (Flength): Mention them in the doc string. + (length_internal): New function. + (Flength_less, Flength_greater, Flength_equal): New defuns. + (syms_of_fns): Sym them. + +2020-12-26 Lars Ingebrigtsen + + Improve the edebug-form-data doc string + + * lisp/emacs-lisp/edebug.el (edebug-form-data): Doc string + clarification (bug#42776). + +2020-12-26 Andrea Corallo + + * Fix `byte-compile-file' for native compilation (bug#45442) + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Fix logic for + native compilation. + +2020-12-26 Andrea Corallo + + Fix missing float handling into `comp-cstr-set-cmp-range' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range): Add + float handling. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update results. + +2020-12-26 Stefan Monnier + + * lisp/forms.el (forms--run-functions): New function + + (forms--intuit-from-file, forms-save-buffer): Use it. + (forms-mode): Use it to fix regression. + Remove always-true test. Fix incorrect uses of `fboundp`. + (forms--iif-hook): Use `add-hook`. + (forms--iif-post-command-hook): Use `remove-hook` and fix typo. + (forms--debug): Use `mapconcat`. + +2020-12-26 Eli Zaretskii + + Fix test/src/process-tests on MS-Windows + + * src/process.c (network_lookup_address_info_1) [WINDOWSNT]: + Initialize winsock. + +2020-12-26 Michael Albinus + + Rename Tramp method "media" to "mtp" (Bug#45402) + + * doc/misc/tramp.texi (Quick Start Guide, GVFS-based methods): + Rename "media" to "mtp". (Bug#45402) + + * etc/NEWS: Rename Tramp method "media" to "mtp". Fix typos. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-methods, tramp-media-methods) + (tramp-gvfs-activation-uri) + (tramp-gvfs-handler-volumeadded-volumeremoved) + (tramp-get-media-devices, top): Rename "media" to "mtp". (Bug#45402) + +2020-12-26 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add two more test. + +2020-12-26 Andrea Corallo + + * Remove unnecessary lhs rename in `comp-ssa-rename-insn' + + * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): No point to + rename lhs as it's being replaced. + +2020-12-26 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add two functions. + +2020-12-26 Eli Zaretskii + + Fix Rmail summary display when From: header is malformed + + * lisp/mail/rmailsum.el (rmail-header-summary): Remove newlines + from the "From:" value, to avoid producing corrupted summary + display. + +2020-12-26 Andrea Corallo + + Enable integer range narrowing under compare and branch + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-set-cmp-range) + (comp-cstr->, comp-cstr->=, comp-cstr-<, comp-cstr-<=): New + functions. + * lisp/emacs-lisp/comp.el (comp-equality-fun-p) + (comp-range-cmp-fun-p): New functions. + (comp-collect-rhs): Use `comp-assign-op-p' in place of + `comp-set-op-p'. + (comp-negate-range-cmp-fun, comp-reverse-cmp-fun): New functions. + (comp-emit-assume): Rework to be able to emit also comparision + assumption. + (comp-add-cond-cstrs-simple): Update for new `comp-emit-assume'. + (comp-add-cond-cstrs-simple): Update to emit range assumption. + (comp-fwprop-insn): Execute range assumptions. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add tests. + +2020-12-26 emacs-f (tiny change) + + Avoid missing email messages due to rmail-spam-filter + + * lisp/mail/rmail-spam-filter.el (rsf--rmail-last-seen-message): + New function. + (rmail-spam-filter, rmail-get-new-mail-filter-spam): Call + 'rsf--rmail-last-seen-message' instead of + 'rmail-first-unseen-message'. (Bug#45128) + +2020-12-26 Zajcev Evgeny + + Improvements for `:base-uri' svg image property + + * src/image.c (svg_load): Use ENCODE_FILE for `:base-uri' + + * doc/lispref/display.texi (SVG Images): Add more documentation for + `:base-uri' + +2020-12-26 Eli Zaretskii + + Fix messages with plural forms in todo-mode.el + + * lisp/calendar/todo-mode.el (todo-move-item, todo-item-undone) + (todo-category-completions): Use 'ngettext' instead of hard-coding + plural forms by hand. + +2020-12-26 Paul Eggert + + Fix issues with lib/malloc out-of-dir builds + + Problem reported by Mattias EngdegÃ¥rd in: + https://lists.gnu.org/r/emacs-devel/2020-12/msg01626.html + * configure.ac: If the scratch_buffer module is enabled, create + lib/malloc and (if doing dependencies) lib/deps/malloc. + * lib/Makefile.in (DEPFLAGS) [AUTO_DEPEND]: No longer any need to + squash lib dependencies into a single directory. + (clean): Also remove */*.o and $(DEPDIR)/*/*.d, to clean out + malloc/*.o and deps/malloc/*.d. Just remove *.d files in + dependencies so that rm does not complain about not being able to + remove deps/malloc. + (extraclean): Also remove malloc, if it is empty. + +2020-12-26 Lars Ingebrigtsen + + Kill the scdaemon after doing the mml-sec tests + + * test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent): + Kill the scdaemon, too (bug#43358). + +2020-12-26 Lars Ingebrigtsen + + Fix infloop in memory-report + + * lisp/emacs-lisp/memory-report.el (memory-report--object-size-1): + Fix infloop on circular lists. + +2020-12-25 Lars Ingebrigtsen + + Fix package reloading problems on systems with symlinks + + * lisp/emacs-lisp/package.el (package--files-load-history): We're + comparing the truenames, so ensure that we've using that + everywhere. This fixes problems when there's symlinks in the paths. + +2020-12-25 Lars Ingebrigtsen + + Refactor package--list-loaded-files for easier debuggability + + * lisp/emacs-lisp/package.el (package--files-load-history) + (package--list-of-conflicts): Factor out from... + (package--list-loaded-files): ... this function for easier + debuggability. + +2020-12-25 Lars Ingebrigtsen + + Disable some semantic tests on systems without g++ + + * test/lisp/cedet/semantic-utest-ia.el: Disable g++ tests on + systems without g++. + +2020-12-25 Lars Ingebrigtsen + + Skip some mml tests that rely on CMS if that's not installed + +2020-12-25 Lars Ingebrigtsen + + Fix gpg-agent killing in mml-sec-tests + + * test/lisp/gnus/mml-sec-tests.el (mml-sec-test--kill-gpg-agent): + Identify the gpg-agent more successfully after the resource dir + makeover. + +2020-12-25 Glenn Morris + + Merge from origin/emacs-27 + + b242bbb073 (origin/emacs-27) ; lisp/org/org.el: Fix Version header. + e0fc939c5f Add more details to the "word processor" section + fda9b3e83a * src/Makefile.in (DO_CODESIGN): Fix expected architecture... + +2020-12-25 Glenn Morris + + Merge from origin/emacs-27 + + 5d46593568 Support build of Emacs on ARM Macos machines + 7f8793e5f1 Update to Org 9.4.4 + 7b3367a0b5 * lisp/so-long.el: Decrease use of passive voice. + a90836c638 * doc/misc/efaq.texi (New in Emacs 27): Add section. + 711fe70dd8 * doc/misc/efaq.texi (Latest version of Emacs): Bump version. + 52b30834fb * lisp/face-remap.el (face-remap-set-base): Doc fix. (Bug... + b3fe0ac62e Correct argument order in comment + +2020-12-25 Michael Albinus + + Tag another Tramp test :unstable on emba + + * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process) + (tramp-test43-asynchronous-requests): Tag them :unstable on emba. + +2020-12-25 Michael Albinus + + Tag Tramp test :unstable + + * test/lisp/net/tramp-tests.el (tramp-test31-interrupt-process): + Tag it :unstable on emba. + +2020-12-25 Eli Zaretskii + + Fix last change + + * lisp/international/mule-conf.el (ebcdic-int1, cp256, cp273) + (ebcdic-be, cp274, ebcdic-br, cp275, ebcdic-cp-dk, ebcdic-cp-no) + (cp277, ebcdic-cp-fi, ebcdic-cp-se, cp278, ebcdic-cp-it, cp280) + (ebcdic-jp-e, cp281, ebcdic-cp-es, cp284, ebcdic-cp-gb, cp285) + (ebcdic-jp-kana, cp290, ebcdic-cp-fr, cp297): Remove charset + aliases, they are not really needed. + + * lisp/language/english.el (ibm275): Move from here... + * lisp/language/european.el (ibm275): ...to here. + +2020-12-25 Timo Myyrä + + Add support for more EBCDIC code pages IBM2XX + + There was already charset file present in etc/charsets for IBM2XX + character sets but there wasn't definitions for them in Emacs. + Add character set and coding system definitions for them. + * lisp/language/japanese.el (ibm281, ibm290): + * lisp/language/european.el (ibm256, ibm273, ibm274, ibm277) + (ibm278, ibm280, ibm284, ibm285, ibm297): + * lisp/language/english.el (ibm275): New coding systems. + * lisp/international/mule-conf.el (ibm256, ibm273, ibm274) + (ibm275, ibm277, ibm278, ibm280, ibm281, ibm284, ibm285, ibm290) + (ibm297): New charsets. + +2020-12-25 Eli Zaretskii + + Don't compile Gnulib's 'free' on MinGW + + * nt/mingw-cfg.site (gl_cv_func_free_preserves_errno): Set to + "yes" to avoid compiling Gnulib's free.c in the MinGW build. + +2020-12-25 Eli Zaretskii + + Revert "Import posix_spawn from Gnulib." + + This reverts commit 3ba34141da77a24c251ee6530f3f72a366fe556e. + It breaks the MinGW build and should be first tested on a + branch. + +2020-12-25 Eli Zaretskii + + Revert "Use posix_spawn if possible." + + This reverts commit 2c79a8f9210db01c86b0e5f236adeb0509519d30. + It breaks the MinGW build in too many ways, and should be + first tested on a branch. + +2020-12-25 Philipp Stephani + + Use posix_spawn if possible. + + posix_spawn is less error-prone than vfork + execve, and can make + better use of system-specific enhancements like 'clone' on Linux. Use + it if we don't need to configure a pseudoterminal. + + * src/Makefile.in (LIB_POSIX_SPAWN): New variable. + (LIBES): Use it. + + * src/callproc.c (emacs_spawn): Use posix_spawn on Unix-like system if + we don't need to set up a pseudoterminal. + +2020-12-25 Philipp Stephani + + Import posix_spawn from Gnulib. + + posix_spawn is less error-prone than vfork + exec, and can make use of + system-specific optimizations like `clone' on Linux. Import Gnulib + replacement so that we can use recent additions like + `posix_spawn_file_actions_addchdir'. + + The only manual change are to admin/merge-gnulib and .gitignore. All + other changes are due to rerunning merge-gnulib. + + * admin/merge-gnulib (GNULIB_MODULES): Add posix_spawn-related + modules. + * .gitignore: Add new generated files. + +2020-12-25 Paul Eggert + + Update Gnulib. + + All changes in this commit are autogenerated by running + admin/merge-gnulib. + +2020-12-25 Paul Eggert + + Adjust test_module to recent Gnulib changes + + * test/Makefile.in ($(test_module)): Also compile lib/free.c + if it is needed to define rpl_free. + +2020-12-25 Paul Eggert + + Adjust to recent Gnulib changes + + The latest Gnulib merge brought in free-posix, which causes 'free' + to preserve errno. This lets us simplify some Emacs code that + calls 'free'. + * admin/merge-gnulib (GNULIB_MODULES): Add free-posix. + This module is pulled in by canonicalize-lgpl anyway, + so we might as well rely on it. + * lib-src/emacsclient.c (get_current_dir_name): + Sync better with src/sysdep.c. + * lib-src/etags.c (process_file_name, etags_mktmp): + * lib-src/update-game-score.c (unlock_file): + * src/fileio.c (file_accessible_directory_p): + * src/sysdep.c (get_current_dir_name_or_unreachable): + Simplify by assuming that 'free' preserves errno. + * src/alloc.c (malloc_unblock_input): + Preserve errno, so that xfree preserves errno. + * src/sysdep.c (get_current_dir_name_or_unreachable): + Simplify by using strdup instead of malloc+memcpy. + No need for realloc (and the old code leaked memory anyway on + failure); just use free+malloc. + +2020-12-25 Paul Eggert + + Pacify gcc 10.2 -Wanalyzer-null-argument in gtkutil.c + + * src/gtkutil.c (xg_item_label_same_p): Simplify. Without this + simplification, GCC (Ubuntu 10.2.0-13ubuntu1) + -Wanalyzer-null-argument complains about use of NULL where + non-null expected as argument of strcmp. + +2020-12-25 Andrea Corallo + + * Don't emit byte op-code annotations in LIMPLE to optimize for compile-time + + Saves 10~15% in bootstrap time. + + * lisp/emacs-lisp/comp.el (comp-op-case): Don't emit op-code + annotaitons. + (comp-limplify-lap-inst, comp-add-cond-cstrs-simple) + (comp-add-cond-cstrs, comp-tco-func): Update accordingly. + +2020-12-25 Eli Zaretskii + + Add more details to the "word processor" section + + * etc/TODO (Emacs as word processor): Add more details based on + recent discussions. + +2020-12-25 E. Choroba (tiny change) + + cperl-mode: Correctly syntax highlight index/value array slices + + * lisp/progmodes/cperl-mode.el (cperl-init-faces): %array[0, 1] + should use the array face, not the hash one (bug#45373). + +2020-12-25 Thibault Polge + + Make `remove-hook' interactive + + * lisp/subr.el (remove-hook): Make `remove-hook' interactive + (bug#45393). + +2020-12-25 Lars Ingebrigtsen + + Allow `string-limit' to work on encoded strings + + * doc/lispref/strings.texi (Creating Strings): Document it. + + * lisp/emacs-lisp/subr-x.el (string-limit): Allow limiting on + encoded strings. + +2020-12-25 Lars Ingebrigtsen + + Remove `string-slice' -- it's not very well defined + + * doc/lispref/strings.texi (Creating Strings): Ditto. + + * lisp/emacs-lisp/subr-x.el (string-slice): Remove. + +2020-12-24 Lars Ingebrigtsen + + Unbreak the build on *BSD and Macos after previous gnulib merge + + * lib/Makefile.in (DEPFLAGS): Unbreak build on BSD derivatives by + writing all deps files into a single directory (instead of + deps/malloc/*.c). + +2020-12-24 Eli Zaretskii + + Fix the MinGW build broken by Gnulib update + + * nt/mingw-cfg.site (gl_cv_func_readlink_trailing_slash) + (gl_cv_func_readlink_truncate): Define to "yes" to avoid compiling + readlink.c. + +2020-12-24 Eli Zaretskii + + Unbreak the MinGW build broken by recent changes in callproc.c + + * src/w32.h (set_process_dir): + * src/w32proc.c (set_process_dir): Change the argument to 'const + char *'. + * src/lisp.h (make_environment_block): + * src/callproc.c (make_environment_block): Now returns 'char **'. + (exec_failed) [DOS_NT]: Remove unused function. + * src/callproc.c (child_setup): NEW_ARGV and ENV are now 'char **'. + Making them 'const' breaks the MinGW build and is not needed for + other platforms. + * src/callproc.c (emacs_spawn): ARGV and ENVP arguments are now + 'char *', for the same reason. + * src/process.c (create_process): Adapt to above changes. + +2020-12-24 Philipp Stephani + + Update Gnulib. + + All changes in this commit are autogenerated by running + admin/merge-gnulib. + +2020-12-24 Philipp Stephani + + Ensure that Gnulib objects in subdirectories are built correctly. + + * lib/Makefile.in (.c.o): Add missing -o option. + +2020-12-24 Andrea Corallo + + * Memoize `comp-subtype-p' + + * lisp/emacs-lisp/comp-cstr.el (comp-subtype-p): Memoize. + (comp-cstr-ctxt): Add `subtype-p-mem' slot. + +2020-12-24 Andrea Corallo + + * Constrain only mvars that are actually used + + * lisp/emacs-lisp/comp.el (comp-mvar-used-p, comp-collect-mvars) + (comp-collect-rhs): New functions. + (comp-add-cond-cstrs-simple, comp-add-cond-cstrs): Update logic. + (comp-add-cstrs): Call `comp-collect-rhs' before doing anything + else. + +2020-12-24 Andrea Corallo + + * Use `comp-assign-op-p' into dead code elimination pass + + * lisp/emacs-lisp/comp.el (comp-dead-assignments-func): Use + `comp-assign-op-p' in place of `comp-set-op-p'. + +2020-12-24 Andrea Corallo + + * Fix logic for constraining block with multiple predecessors + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords) + (comp-add-cond-cstrs-target-block): Logic update. + +2020-12-24 Andrea Corallo + + Symplify (not t) => nil and (not nil) => t + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-negation): Symplify (not + t) => nil and (not nil) => t. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests. + +2020-12-24 Andrea Corallo + + Extend cstrs pass to match `unless' like code + + * lisp/emacs-lisp/comp.el (comp-emit-assume): Add assertion. + (comp-add-new-block-between): Fix two typos. + (comp-add-cond-cstrs-target-block): Fix typo. + (comp-add-cond-cstrs-simple): Logic update. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a test. + +2020-12-24 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-limplify-lap-inst): Opencode byte-not. + +2020-12-24 Andrea Corallo + + Extend cstrs pass to match `when' like code + + * lisp/emacs-lisp/comp.el (comp-emit-assume): Better parameter names. + (comp-add-cond-cstrs-simple): New function. + (comp-add-cond-cstrs): Rename assume-target -> block-target. + (comp-add-cstrs): Call `comp-add-cond-cstrs-simple'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add test. + +2020-12-24 Philipp Stephani + + Centralize subprocess creation in a single function. + + Getting the vfork + execve combination right isn't easy, and the code + was partially duplicated between callproc.c and process.c. Centralize + the spawn operation in a single function that deals with the nasty + details. Going forward, we should be able to use posix_spawn from + either libc or Gnulib (or CreateProcessW on Windows) in the non-pty + case. + + * src/callproc.c (emacs_spawn): New function to start an asynchronous + subprocess. Merge code from 'call_process' and 'create_process' into + this function. + (call_process): Use new 'emacs_spawn' function. + (child_setup): Make static, since there are no users outside this + compilation unit left. + (CHILD_SETUP_TYPE): Move from header file, since there are no users + outside this compilation unit left. + + * src/process.c (create_process): Use new 'emacs_spawn' function. + +2020-12-24 Andrea Corallo + + Invert basic block argument order in LIMPLE cond-jump + + * lisp/emacs-lisp/comp.el (comp-emit-cond-jump) + (comp-emit-switch, comp-emit-narg-prologue, comp-add-cond-cstrs): + Invert basic block argument order in LIMPLE cond-jump. + * src/comp.c (emit_limple_insn): Likewise. + +2020-12-24 Alan Mackenzie + + CC Mode: introduce a new cache for brace structures. This fixes bug #45248 + + Also fix three infinite loops. The new cache accelerates backward searches + for struct beginnings in c-looking-at-or-maybe-in-bracelist. + + * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1): In the final loop + over unary operators, add a check (> (point) lim) to avoid certain infinite + loops. + (c-beginning-of-decl-1): In the first loop add a similar check on point and + lim. + (c-laomib-loop): New function extracted from + c-looking-at-or-maybe-in-bracelist. + (c-laomib-cache): New buffer local variable. + (c-laomib-get-cache, c-laomib-put-cache, c-laomib-fix-elt) + (c-laomib-invalidate-cache): New functions which implement the cache. + (c-looking-at-or-maybe-in-bracelist): Replace two invocations of + c-go-up-list-backwards with calls to c-parse-state. Extract the new function + c-laomib-loop. Insert code which calls c-laomib-loop minimally, with the help + of the new cache. + + * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialise the new cach + (at mode start). + (c-before-change): Invalidate the new cache. + (c-fl-decl-start): Add an extra check (> (point) bod-lim) to prevent looping. + Determine the enclosing brace to pass as arguments to + c-looking-at-or-maybe-in-bracelist. + +2020-12-24 Stefan Monnier + + * src/dispnew.c (sit_for): Fix bug#45292 + + When reading, prefer staying in the selected-window over preserving + the current-buffer. + +2020-12-24 Stefan Monnier + + * lisp/emacs-lisp/lisp-mnt.el (lm-section-end): Stop at the right heading + + `lisp-outline-level` assumes the match-data is that set by + `outline-regexp`. + +2020-12-23 TEC + + authinfo-mode: add option to not hide any elements (and add font-lock) + + * lisp/auth-source.el (authinfo-hide-elements): New user option. + (authinfo--keywords): New variable. + (authinfo-mode): Use it. + (authinfo--hide-passwords): Use doc-face instead of warning for + the passwords. + (authinfo--toggle-display): Ditto. + +2020-12-23 Adam Porter + + * lisp/tab-line.el: New options, faces, and functions + + * lisp/tab-line.el: + (tab-line-tab-face-functions): New option. + (tab-line-tab-inactive-alternate): New face. + (tab-line-tab-special): New face. + (tab-line-tab-face-inactive-alternating): New function. + (tab-line-tab-face-special): New function. + (tab-line-format-template): Use them. + + * etc/NEWS: Update. + + With thanks to Juri Linkov and Eli Zaretskii for their guidance. + +2020-12-23 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-23 Philipp Stephani + + * src/Makefile.in (DO_CODESIGN): Fix expected architecture name. + +2020-12-23 Philipp Stephani + + Declare argument vector as char *const *. + + This matches the signature of execve. + + * src/callproc.c (child_setup): Declare NEW_ARGV as char *const *. + +2020-12-23 Philipp Stephani + + * .clang-format (ColumnLimit): Fix line length. + +2020-12-23 Lars Ingebrigtsen + + Support build of Emacs on ARM Macos machines + + * configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit + ARM) (bug#43369). + +2020-12-23 Philipp Stephani + + Pass C string pointer to current directory to 'child_setup'. + + This avoids the impression that 'child_setup' could do anything + Lisp-related. + + * src/callproc.c (child_setup): Pass C pointer to current directory + name. + (call_process): Adapt callers. + + * src/process.c (create_process): Adapt callers. + +2020-12-23 Andrea Corallo + + Negate only values while constraining variables (bug#45376) + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-value-negation): New + function. + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Use + `comp-cstr-value-negation'. + * test/src/comp-test-funcs.el (comp-test-45376-1-f): Rename. + (comp-test-45376-2-f): New funcion. + * test/src/comp-tests.el (bug-45376-1): Rename test. + (bug-45376-2): Add test. + +2020-12-23 Andrea Corallo + + * Fix non range cstr union operation + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-homogeneous): Add + range parameter and handle the non range case. + (comp-cstr-union-1-no-mem, comp-cstr-intersection-no-mem): Update + `comp-cstr-union-homogeneous' call sites. + +2020-12-23 Philipp Stephani + + Allocate environment block before forking. + + While 'child_setup' carefully avoids calls to async-signal-unsafe + functions like 'malloc', it seems simpler and less brittle to use + normal allocation outside the critical section between 'fork' and + 'exec'. + + * src/callproc.c (make_environment_block): New function to create the + environment block for subprocesses. Code largely extracted from + 'child_setup' and adapted to use 'xmalloc' instead of 'alloca'. + (child_setup): Remove environment block allocation in favor of + passing the environment block as command-line argument. + (call_process): Adapt to new calling convention. + + * src/process.c (create_process): Adapt to new calling convention. + +2020-12-23 Andrea Corallo + + * Follow cstr basic blocks to perform latch recognition + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix latch + recognition. + +2020-12-23 Philipp Stephani + + Reject filenames containing NUL bytes. + + Such filenames are dangerous, as Emacs would silently only use the + part up to the first NUL byte. Reject them explicitly instead. + + * src/coding.c (encode_file_name_1): New helper function. + (encode_file_name): Check that encoded filename doesn't contain a + NUL byte. + (syms_of_coding): Define 'filenamep' symbol. + + * test/src/fileio-tests.el (fileio-tests/null-character): New unit + test. + + * etc/NEWS: Document change. + +2020-12-23 Philipp Stephani + + Remove an unused parameter from 'child_setup' function. + + * src/callproc.c (child_setup): Remove unused SET_PGRP parameter. + + * src/callproc.c (call_process): + * src/process.c (create_process): Fix all callers. + +2020-12-23 Andrea Corallo + + Make input constraints into memoization hash immutable (bug#45376) + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1) + (comp-cstr-intersection): Copy input before soting it into the + memoization hash table. + +2020-12-23 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-copy): Tweak for perf. + +2020-12-23 Juri Linkov + + Show image as text when trying to search/replace in image buffer (bug#25905) + + * lisp/image-mode.el (image-mode-isearch-filter): New function. + (image-mode--setup-mode): Use it to add it as :before-while to + isearch-filter-predicate. + +2020-12-23 Lars Ingebrigtsen + + Improve the string-limit doc string + + * lisp/emacs-lisp/subr-x.el (string-limit): Mention + truncate-string-to-width in the doc string. + +2020-12-23 Lars Ingebrigtsen + + Allow string-slice to take zero-length matches + + * lisp/emacs-lisp/subr-x.el (string-slice): Allow zero-length + matches. Code adapted from s.el by Magnar Sveen. + +2020-12-23 Lars Ingebrigtsen + + Revert recent server.el frame-focus changes + + * lisp/server.el (server-switch-buffer, server-execute): Revert + 9cef8fc8cdb5e6e18c9cf617eed3808d67ca340e and + c5f2eb56c0164e87abc881955552e0b718921186. This change led to + regressions in non-new-frame circumstances. + +2020-12-23 Łukasz Stelmach + + Handle gracefully href="" in base tags in shr + + * net/shr.el (shr-tag-base): shr-parse-base can't handle empty + strings gracefully. Don't call it unless href is a non-empty + string (bug#45355). + +2020-12-23 Stefan Kangas + + Fix use of obsolete 'emergency' warning level + + * src/alloc.c (display_malloc_warning): Use new style ':emergency' + warning level instead of obsolete 'emergency'. + +2020-12-23 Zajcev Evgeny + + Fix use of obsolete 'error' warning level + + * src/fileio.c (auto_save_error): Use new style ':error' warning level + instead of obsolete 'error'. + +2020-12-23 Alan Third + + Use new NSString lisp methods + + * src/nsfont.m (ns_otf_to_script): + (ns_registry_to_script): + (ns_get_req_script): Use NSString conversion methods. + * src/nsimage.m ([EmacsImage allocInitFromFile:]): Use NSString + conversion methods. + * src/nsmenu.m (ns_menu_show): Use NSString conversion methods. + * src/nsselect.m (symbol_to_nsstring): + (ns_string_to_pasteboard_internal): Use NSString conversion methods. + * src/nsterm.m (ns_term_init): + ([EmacsView initFrameFromEmacs:]): Use NSString conversion methods. + * src/nsxwidget.m (nsxwidget_webkit_uri): + (nsxwidget_webkit_title): + (js_to_lisp): Use NSString conversion methods. + (build_string_with_nsstr): Functionality replaced by NSString + extensions. + +2020-12-22 Liāu, Kiong-Gē 廖宮毅 (tiny change) + + Fix --with-nativecomp Windows build (bug#45303) + + Liāu, Kiong-Gē 廖宮毅 + + * src/comp.c (eln_load_path_final_clean_up): Fix argument order. + * nt/mingw-cfg.site (ac_cv_func_strsignal): Force + `ac_cv_func_strsignal' to no. + +2020-12-22 Alan Mackenzie + + Align the word "Function" in profiler's headers over the actual functions + + * lisp/profiler.el (profiler-report-render-calltree-1): Replace two + occurrences of "Function" with " Function". + +2020-12-22 Eric Abrahamsen + + Ensure that Gnus servers are open(able) before searching them + + * lisp/gnus/gnus-search.el (gnus-search-run-search): Imap servers need + to be opened (made into the "current server") before we manipulate the + nnimap-buffer. + (gnus-search-run-search): Sneakily fix regexp. + (gnus-search-indexed-parse-output): We need to pass the server name in + here, otherwise nnmaildir won't know how to make this the "current + server". + +2020-12-22 Alan Mackenzie + + Align profiler's header-line-format to column 0, to work correctly on tty's + + * lisp/profiler.el (profiler-report-header-line-format): Propertize the first + space with 'display '(space :align-to 0). + +2020-12-22 Alan Mackenzie + + Re-order the items in `profiler-report' output. + + Putting the usage figures first on the line will eliminate the truncation of + function names. + + lisp/profiler.el (profiler-version): Change to "28.1". + (profiler-format): Enhance, so that a width of zero means print the string + without padding or truncation. + (profiler-report-cpu-line-format, profiler-report-memory-line-format): Amend + for the new layout. The number of places for the cpu samples has been reduced + from 19 to 12 (enough for ~30 years at 1,000 samples per second). + (profiler-report-line-format, profiler-report-describe-entry): Amend for the + new order of arguments to profiler-format. + + etc/NEWS (Specialized Modes): Add an entry documenting this change. + + doc/lispref/debugging.texi (Profiling): Describe the new ordering of the items + in place of the old ordering. + +2020-12-22 Michael Albinus + + Reorganize Tramp header lines + + * lisp/net/tramp.el: Move header lines Version, Package-Requires, + Package-Type and URL ... + * lisp/net/trampver.el: ... here. + +2020-12-22 Bastien Guerry + + Update to Org 9.4.4 + +2020-12-22 Daniel Martín + + Fix wdired-get-filename when ls -F marks symlinks + + * lisp/wdired.el (wdired-get-filename): In some systems like BSD or + macOS, "ls -F" marks symlinks with a trailing "@". Add logic + accounting for this so that wdired-get-filename returns the correct + filename. This change also fixes test "wdired-test-bug34915" on macOS + and BSD systems (bug#34915). + +2020-12-22 Lars Ingebrigtsen + + Make string-pad take an optional START parameter + + * lisp/emacs-lisp/subr-x.el (string-pad): Alter the calling + convention. + +2020-12-22 Lars Ingebrigtsen + + Change the string-limit parameter semantics + + * lisp/emacs-lisp/subr-x.el (string-limit): Alter the calling + convention. + +2020-12-22 Lars Ingebrigtsen + + Further string-clean-whitespace tweaks + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Put \r + back, which was mistakenly removed. + +2020-12-22 Dmitry Gutov + + (ruby-mode-set-encoding): Use 'save-restriction' + + * lisp/progmodes/ruby-mode.el (ruby-mode-set-encoding): + Use 'save-restriction' (bug#45349). + +2020-12-21 Basil L. Contovounesios + + Tiny string-clean-whitespace simplification + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Streamline by + treating replacement string as being literal and having fixed case. + +2020-12-21 Lars Ingebrigtsen + + Make string-chop-newline more efficient + + * lisp/emacs-lisp/subr-x.el (string-chop-newline): Make more + efficient. + +2020-12-21 Lars Ingebrigtsen + + Make string-clean-whitespace work on non-ASCII whitespace, too + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Also clean + up non-ASCII whitespace. + +2020-12-21 Lars Ingebrigtsen + + Add try-completion to the string shortdoc + + * lisp/emacs-lisp/shortdoc.el (string): Mention try-completion here. + +2020-12-21 Lars Ingebrigtsen + + Add string-chop-newline + + * doc/lispref/strings.texi (Creating Strings): Document it. + * lisp/emacs-lisp/subr-x.el (string-chop-newline): Add new function. + +2020-12-21 Lars Ingebrigtsen + + Fix shorter-than-length case for string-limit + + * lisp/emacs-lisp/subr-x.el (string-limit): Fix + shorter-than-length case. + +2020-12-21 Andrea Corallo + + * Fix a test in auth-source-tests.el + + * test/lisp/auth-source-tests.el + (auth-source-test-secrets-create-secret): Redefine `read-string' + respecting the original number of arguments. + +2020-12-21 Andrea Corallo + + * Fix a bunch of known type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Fixes for: + =, string-search, substring. + +2020-12-21 Andrea Corallo + + Fix `comp-add-call-cstr' and add a test + + * lisp/emacs-lisp/comp.el (comp-add-call-cstr): Fix it. + * test/src/comp-tests.el (assume-in-loop-1): New test. + * test/src/comp-test-funcs.el (comp-test-assume-in-loop-1-f): New + function. + +2020-12-21 Andrea Corallo + + Fix value type inference for doubly negate constraints + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Do not propagate in + case of double negation. + * test/src/comp-test-funcs.el (comp-test-assume-double-neg-f): + New function. + * test/src/comp-tests.el (assume-double-neg): New test. + +2020-12-21 Andrea Corallo + + Fix native compiler tests when they are bytecompiled + + * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-test-ts) + (comp-cstr-typespec-test, comp-cstr-typespec-tests-alist): Eval + also at compile time. + * test/src/comp-tests.el (comp-tests-type-spec-tests) + (comp-tests-define-type-spec-test): Likewise. + +2020-12-21 Andrea Corallo + + Simplify correctly (or (integer 1 1) (not (integer 1 1))) as t + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Logic + update. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + +2020-12-21 Andrea Corallo + + * Guarantee fwprop convergence and termination + + * lisp/emacs-lisp/comp.el (comp-emit-call-cstr): Have new-mvar as + LHS *and* RHS when constraining in and to ensure monotonicity and + fwprop convergence. + (comp-fwprop): Raise a warning for debug reasons in case fwprop + does not converge within 100 iterations. + +2020-12-21 Andrea Corallo + + * Allow for overlapping src and dst in cstr set operations + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem) + (comp-cstr-union-1, comp-cstr-intersection-no-mem) + (comp-cstr-intersection): Logic update. + +2020-12-21 Andrea Corallo + + Symplify type specifier (not t) as nil + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-intersection-no-mem): + Add logic. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add two tests. + +2020-12-21 Andrea Corallo + + Enhance type inference constraining function arguments + + * lisp/emacs-lisp/comp.el: Add some commentary. + (comp-cond-cstrs-target-mvar): Rename and update docstring. + (comp-add-cond-cstrs): Update to use + `comp-cond-cstrs-target-mvar'. + (comp-emit-call-cstr, comp-lambda-list-gen, comp-add-call-cstr): + New functions. + (comp-add-cstrs): Call `comp-add-call-cstr'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update two + type specifier tests. + +2020-12-21 Andrea Corallo + + * Allow for modifying insn-cell inside `comp-loop-insn-in-block' + + * lisp/emacs-lisp/comp.el (comp-loop-insn-in-block): Update. + +2020-12-21 Andrea Corallo + + * Rename comp-cond-cstr into comp-add-cstrs + + * lisp/emacs-lisp/comp.el (comp-add-cond-cstrs-target-mvar) + (comp-add-cond-cstrs, comp-add-cstrs): Rename comp-cond-cstr + -> comp-add-cstrs. + +2020-12-21 Andrea Corallo + + * Two minors in comp.el + + * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h) + (comp-ret-type-spec): Style. + +2020-12-21 Andrea Corallo + + * Add a type specifier test to comp-cstr-tests.el + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + +2020-12-21 Andrea Corallo + + * Enumerate and split type specifier tests in comp-tests.el to ease debug + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Enumerate. + (comp-tests-define-type-spec-test): New function. + (comp-tests-define-type-spec-tests): New macro to expand tests. + +2020-12-21 Andrea Corallo + + * Improve constraint simplification logic in comp-cstr.el + + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): + Simplify. + (comp-cstr-empty-p): New Funchion. + (comp-split-pos-neg): Minor. + (comp-normalize-typeset): Logic update. + (comp-union-typesets): Minor. + (comp-intersect-two-typesets): New functio. + (comp-intersect-typesets): Logic update. + (comp-range-union, comp-range-intersection): Minor. + (comp-cstr-union-homogeneous, comp-cstr-union-1-no-mem) + (comp-cstr-intersection-homogeneous) + (comp-cstr-intersection-no-mem, comp-cstr-negation) + (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Logic update. + + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): Simplify. + +2020-12-21 Lars Ingebrigtsen + + Rename slice-string to string-slice + + * lisp/emacs-lisp/subr-x.el (string-slice): Rename from slice-string. + * doc/lispref/strings.texi (Creating Strings): Ditto. + +2020-12-21 Lars Ingebrigtsen + + Add `string-pad' + + * doc/lispref/strings.texi (Creating Strings): Document it. + * lisp/emacs-lisp/shortdoc.el (string): Add example. + + * lisp/emacs-lisp/subr-x.el (string-pad): New function. + +2020-12-21 Andrea Corallo + + * Fix a number of type specifier simplification tests + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Fix a number of tests. + +2020-12-21 Andrea Corallo + + * Improve comp-fwprop pass + + Wire-up comp-cstr.el routines in fwprop and constraint mvars also on + the else side of branches. + + * lisp/emacs-lisp/comp.el (comp-emit-assume) + (comp-cond-cstr-target-mvar, comp-cond-cstr-func) + (comp-fwprop-insn): Logic update. + (comp-mvar-value-vld-p, comp-mvar-propagate, comp-fwprop-call): + Handle neg slot. + +2020-12-21 Lars Ingebrigtsen + + Beef up the Emacs string utility set a bit + + * doc/lispref/strings.texi (Modifying Strings): Document them. + * lisp/emacs-lisp/shortdoc.el (string): Add examples. + + * lisp/emacs-lisp/subr-x.el (string-clean-whitespace) + (string-fill, string-limit, string-lines, slice-string): New + functions. + +2020-12-21 Stefan Kangas + + * lisp/so-long.el: Decrease use of passive voice. + + Suggested by Richard Stallman . + +2020-12-21 Eli Zaretskii + + Fix frame creation on X when tool bar is disabled + + * src/xterm.c (handle_one_xevent): Restrict the fix for bug#44002 + to situations when we are asked by the WM to create a window with + bogus 1x1 dimensions. (Bug#44794) + +2020-12-21 Andrea Corallo + + * Add mvar pretty print support when dumping LIMPLE + + * lisp/emacs-lisp/comp.el (comp-prettyformat-mvar) + (comp-prettyformat-insn): New function. + (comp-log-func): Update to use `comp-prettyformat-insn'. + (comp-finalize-phis): Change LIMPLE phi format to ease + `comp-prettyformat-insn' destructuring. + +2020-12-21 Michael Albinus + + Fix permission problem in Tramp's copy-file + + * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly): + Take care of PRESERVE-UID-GID. + +2020-12-21 Stefan Kangas + + * doc/misc/efaq.texi (New in Emacs 27): Add section. + +2020-12-21 Stefan Kangas + + Drop XEmacs support for EDE ELisp projects + + * lisp/cedet/ede/proj-elisp.el (ede-proj-target-elisp): Remove + XEmacs support. + (ede-xemacs-compiler): Make obsolete. + +2020-12-21 Stefan Kangas + + * doc/misc/efaq.texi (Latest version of Emacs): Bump version. + +2020-12-21 Andrea Corallo + + Fix Windows build link-time zlib error (bug#45303) + + * src/lisp.h (md5_gz_stream): Declare. + * src/comp.c (accumulate_and_process_md5) + (final_process_md5, md5_gz_stream): Remove. + * src/decompress.c (accumulate_and_process_md5) + (final_process_md5, md5_gz_stream): Move from comp.c. + +2020-12-21 Andrea Corallo + + * src/comp.c (eln_load_path_final_clean_up): Fix call arg order (bug#45303). + + * src/comp.c (Fcomp__compile_ctxt_to_file): Fix sigmask store/restore. + +2020-12-21 Lars Ingebrigtsen + + Fix problem with entering Gnus groups when Gnus isn't running + + * lisp/gnus/gnus-sum.el (gnus-update-summary-mark-positions): + Don't bug out when Gnus isn't running (bug#45330). + +2020-12-21 Dario Gjorgjevski + + Make python-mode fontify more assignment statements + + * lisp/progmodes/python.el (python-font-lock-assignment-matcher): New + function to match assignment statements. + (python-rx): Add `assignment-target' and `grouped-assignment-target'. + (python-font-lock-keywords-maximum-decoration): Add new matchers + (bug#45341). + +2020-12-21 Dmitry Gutov + + Generic-ify xref-location-column + + * lisp/progmodes/xref.el (xref-location-column): + Create a generic from xref-file-location-column, to use in the + common rendering code (bug#36967). + (xref--insert-xrefs): Update accordingly. + + * test/lisp/progmodes/xref-tests.el + (xref-matches-in-directory-finds-two-matches-on-the-same-line) + (xref-matches-in-directory-finds-an-empty-line-regexp-match): + Ditto. + +2020-12-21 Juri Linkov + + De-duplicate lines in Xref buffers + + * lisp/progmodes/xref.el (xref--insert-xrefs): + Render matches coming from the same line together (bug#36967). + (xref--item-at-point): Account for the above. + +2020-12-21 Philipp Stephani + + Unbreak build after commit 1a0a11f7d2d1dbecb9f754b1e129d50e489058e6. + + The commit only changed a comment in 'struct buffer', so the portable + dumper doesn't need to be adapted. + + * src/pdumper.c (dump_buffer): Update hash for 'struct buffer'. + +2020-12-20 Alan Third + + Fix image cache lookup + + * src/image.c (lookup_image): ignore_colors should be false as we want + to search for images with matching colors. + +2020-12-20 Alan Third + + Remove unnecessary string conversion + + * src/nsfns.m (ns_set_represented_filename): NSString can load List + strings directly now. + +2020-12-20 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-20 Andrea Corallo + + Have native compiler always preserve multibyte strings (bug#45342) + + * lisp/emacs-lisp/comp.el (comp-final): Escape multibyte string + when offloading compilation to child process. + * test/src/comp-test-funcs.el (comp-test-45342-f): New function + * test/src/comp-tests.el (bug-45342): New test + +2020-12-20 Juri Linkov + + * lisp/simple.el (goto-line-read-args): Use number-at-point (bug#45199) + + * lisp/subr.el (goto-char--read-natnum-interactive): Add the value of + point to the end of default values, and move function slightly higher. + +2020-12-20 Andrea Corallo + + * Fix missing 'gcc_jit_type_get_const' macro definition (bug#45303). + + * src/comp.c (gcc_jit_type_get_pointer): Define macro. + +2020-12-20 Michael Albinus + + Improve make-process in Tramp + + * doc/misc/tramp.texi (Remote processes): Remove INSIDE_EMACS + restriction. + (Frequently Asked Questions, External packages): Add indices. + + * etc/NEWS: 'start-process-shell-command' and + 'start-file-process-shell-command' do not support the old calling + conventions any longer. + + * lisp/subr.el (start-process-shell-command) + (start-file-process-shell-command): Remove old calling conventions. + + * lisp/net/tramp-compat.el (remote-file-error): Remove, it isn't + necessary. + + * lisp/net/tramp.el (tramp-handle-make-process): Remove special shell + handling. Support environment variables. + + * test/lisp/net/tramp-tests.el + (tramp--test--deftest-direct-async-process): Skip for mock method. + (tramp--test-async-shell-command): Suppress `shell-command-sentinel'. + (tramp-test32-shell-command, tramp-test33-environment-variables): + Adapt tests. + (tramp-test32-shell-command-direct-async) + (tramp-test33-environment-variables-direct-async): New tests. + +2020-12-20 Basil L. Contovounesios + + Inhibit buffer hooks in temporary buffers + + Give get-buffer-create an optional argument to inhibit buffer hooks + in internal or temporary buffers for efficiency (bug#34765). + + * etc/NEWS: Announce new parameter of get-buffer-create and + generate-new-buffer, and that with-temp-buffer and with-temp-file + now inhibit buffer hooks. + + * doc/lispref/buffers.texi (Buffer Names): Fix typo. + (Creating Buffers): Document new parameter of get-buffer-create and + generate-new-buffer. + (Buffer List, Killing Buffers): Document when buffer hooks are + inhibited. + (Current Buffer): + * doc/lispref/files.texi (Writing to Files): Document that + with-temp-buffer and with-temp-file inhibit buffer hooks. + * doc/lispref/internals.texi (Buffer Internals): Document + inhibit_buffer_hooks flag. Remove stale comment. + * doc/misc/gnus-faq.texi (FAQ 5-8): + * lisp/simple.el (shell-command-on-region): Fix indentation. + + * lisp/files.el (kill-buffer-hook): Document when hook is inhibited. + (create-file-buffer): + * lisp/gnus/gnus-uu.el (gnus-uu-unshar-article): + * lisp/international/mule.el (load-with-code-conversion): + * lisp/mh-e/mh-xface.el (mh-x-image-url-fetch-image): + * lisp/net/imap.el (imap-open): + * lisp/net/mailcap.el (mailcap-maybe-eval): + * lisp/progmodes/flymake-proc.el + (flymake-proc--read-file-to-temp-buffer) + (flymake-proc--copy-buffer-to-temp-buffer): Simplify. + + * lisp/subr.el (generate-new-buffer): Forward new optional argument + to inhibit buffer hooks to get-buffer-create. + (with-temp-file, with-temp-buffer, with-output-to-string): + * lisp/json.el (json-encode-string): Inhibit buffer hooks in buffer + used. + + * src/buffer.c (run_buffer_list_update_hook): New helper function. + (Fget_buffer_create): Use it. Add optional argument to set + inhibit_buffer_hooks flag instead of comparing the buffer name to + Vcode_conversion_workbuf_name. All callers changed. + (Fmake_indirect_buffer, Frename_buffer, Fbury_buffer_internal) + (record_buffer): Use run_buffer_list_update_hook. + (Fkill_buffer): Document when buffer hooks are inhibited. Use + run_buffer_list_update_hook. + (init_buffer_once): Inhibit buffer hooks in Vprin1_to_string_buffer. + (Vkill_buffer_query_functions, Vbuffer_list_update_hook): Document + when hooks are inhibited. + * src/buffer.h (struct buffer): Update inhibit_buffer_hooks + commentary. + * src/coding.h (Vcode_conversion_workbuf_name): + * src/coding.c (Vcode_conversion_workbuf_name): Make static again + since it is no longer needed in src/buffer.c. + (code_conversion_restore, code_conversion_save, syms_of_coding): + Prefer boolean over integer constants. + * src/fileio.c (Finsert_file_contents): Inhibit buffer hooks in + " *code-converting-work*" buffer. + * src/window.c (Fselect_window): Fix grammar. Mention + window-selection-change-functions alongside buffer-list-update-hook. + + * test/src/buffer-tests.el: Fix requires. + (buffer-tests-inhibit-buffer-hooks): New test. + +2020-12-20 Mattias EngdegÃ¥rd + + image-cache-size improvements + + Implement for non-Cairo X11 and NS. Count masks as well, and + XImage objects on X11. + + * src/image.c (image_size_in_bytes): New. + (image_frame_cache_size): Use image_size_in_bytes. + * src/nsterm.h: + * src/nsimage.m (ns_image_size_in_bytes, [EmacsImage sizeInBytes]): + New function and method. + * src/w32gui.h: + * src/w32term.c (w32_image_size): Update signature. + +2020-12-20 Eric Abrahamsen + + Fix default value of gnus-registry-register-all: should be t + + * lisp/gnus/gnus-registry.el (gnus-registry-register-all): This was + meant to default to t; only an oversight during code review left it as + nil. + +2020-12-19 Dmitry Gutov (tiny change) + + Jamie Beardslee + + * lisp/progmodes/project.el (project-execute-extended-command): + New command. + (project-prefix-map): Binding for it. + +2020-12-19 Andrea Corallo + + Add 'internal_condition_case_5' (bug#45303). + + * src/lisp.h (internal_condition_case_4) + (internal_condition_case_5): Declare. + * src/eval.c (internal_condition_case_5): New function. + * src/comp.c (eln_load_path_final_clean_up): Use + 'internal_condition_case_5'. + +2020-12-19 Juri Linkov + + * lisp/image-mode.el: Use one timer and lock for slow remote calls (bug#45256) + + * lisp/image-mode.el (image-auto-resize-timer): New variable. + (image--window-state-change): Cancel previous timer and + remember new timer in image-auto-resize-timer. + (image--window-state-change): New variable. + (image-fit-to-window): When image-fit-to-window-lock is nil, + call image-toggle-display-image ignoring 'remote-file-error'. + +2020-12-19 Juri Linkov + + No need to set isearch-input-method-function in isearch-transient-input-method + +2020-12-19 Andrea Corallo + + * Add 'gcc_jit_type_get_const' to Windows dynamic load machinery (bug#45303). + + * src/comp.c: Add 'gcc_jit_type_get_const' to windows dynamic + load machinery. + +2020-12-19 Stefan Kangas + + Convert apropos-internal from C to Lisp (Bug#44529) + + This runs insignificantly faster in C, and is already fast enough on + reasonably modern hardware. We might as well lift it to Lisp. + This benchmark can be used to verify: + + (benchmark-run 10 (apropos-command "test")) + => (0.12032415399999999 2 0.014772391999999995) ; C + => (0.13513192100000002 2 0.017216643000000004) ; Lisp + + * lisp/subr.el (apropos-internal): New defun, converted from C. + * src/keymap.c (Fapropos_internal): Remove defun. + (apropos_accum): Remove function. + (apropos_predicate, apropos_accumulate): Remove variables. + (syms_of_keymap): Remove defsubr for Fapropos_internal, and + definitions of the above variables. + * test/src/keymap-tests.el (keymap-apropos-internal) + (keymap-apropos-internal/predicate): Move tests from here... + * test/lisp/subr-tests.el (apropos-apropos-internal) + (apropos-apropos-internal/predicate): ...to here. + +2020-12-19 Eli Zaretskii + + * lisp/face-remap.el (face-remap-set-base): Doc fix. (Bug#45264) + +2020-12-19 Vasilij Schneidermann + + Correct argument order in comment + + * etc/ETAGS.EBNF (position): Correct comment. + +2020-12-19 Stefan Kangas + + Shorten some over-wide docstrings in functions and macros + + * lisp/allout-widgets.el (allout-widgets-tally-string): + * lisp/array.el (array-mode): + * lisp/calc/calc-units.el (calc-spn): + * lisp/cedet/ede/generic.el (ede-generic-new-autoloader): + * lisp/cedet/semantic/analyze.el (semantic-analyze-find-tag-sequence-default) + (semantic-analyze-find-tag-sequence): + * lisp/cedet/semantic/bovine/c.el (semantic-c-evaluate-symbol-for-hideif): + * lisp/cedet/semantic/bovine/make.el (semantic-lex-make-command): + * lisp/cedet/semantic/db-typecache.el (semanticdb-typecache-include-tags): + * lisp/cedet/semantic/doc.el (semantic-documentation-for-tag): + * lisp/cedet/semantic/tag-ls.el (semantic--tag-attribute-similar-p): + * lisp/emacs-lisp/advice.el (ad-map-arglists): + * lisp/emacs-lisp/bytecomp.el (byte-constant2) + (byte-save-restriction, byte-catch-OBSOLETE, byte-unwind-protect): + * lisp/emacs-lisp/cl-generic.el (cl-generic-combine-methods): + * lisp/emacs-lisp/seq.el (seq-partition, seq-set-equal-p) + (seq-filter): + * lisp/faces.el (face-attribute-specified-or, face-equal): + * lisp/info.el (Info-prev-reference-or-link) + (Info-next-reference-or-link): + * lisp/isearch.el (with-isearch-suspended): + * lisp/kmacro.el (kmacro-step-edit-macro, kmacro-set-counter): + * lisp/org/org-agenda.el (org-agenda-filter-by-category): + * lisp/ses.el (ses-cell-symbol): + * lisp/w32-fns.el (w32-shell-dos-semantics): Shorten doc strings to + not exceed 80-column limits. (Bug#44858) + +2020-12-19 Stefan Kangas + + Shorten over-wide docstrings in variables + + * lisp/cedet/semantic/util-modes.el (semantic-highlight-func-popup-menu): + * lisp/emacs-lisp/elint.el (elint-top-form-logged): + * lisp/erc/erc-dcc.el (erc-dcc-list): + * lisp/expand.el (expand-pos): + * lisp/font-lock.el (cpp-font-lock-keywords-source-depth): + * lisp/gnus/gnus-sum.el (gnus-sort-gathered-threads-function): + * lisp/gnus/message.el (message-cite-style-thunderbird): + * lisp/gnus/nnmh.el (nnmh-be-safe): + * lisp/gnus/nntp.el (nntp-open-telnet-envuser): + * lisp/international/mule-cmds.el (current-transient-input-method): + * lisp/net/tramp.el (tramp-file-name-structure): + * lisp/org/ob-R.el (org-babel-R-write-object-command): + * lisp/org/org-attach.el (org-attach-after-change-hook): + * lisp/org/org.el (org-stamp-time-of-day-regexp): + * lisp/progmodes/elisp-mode.el (elisp-xref-find-def-functions): + * lisp/progmodes/ruby-mode.el (ruby-block-mid-re): + * lisp/progmodes/verilog-mode.el (verilog-cache-enabled): + * lisp/term.el (term-scroll-end): + * lisp/textmodes/table.el (table-command-remap-alist) + (table-inhibit-auto-fill-paragraph, table-command-remap-alist): + * lisp/vc/ediff-diff.el (ediff-ignore-similar-regions): + * lisp/vc/ediff-wind.el (ediff-mouse-pixel-threshold): + * lisp/vc/smerge-mode.el (smerge-refine-ignore-whitespace): + * lisp/vc/vc.el (vc-log-short-style): + * lisp/view.el (view-exit-action): Shorten doc strings to not exceed + 80-column limits. (Bug#44858) + +2020-12-19 Stefan Kangas + + Shorten over-wide docstrings in defcustoms + + * lisp/calc/calc.el (calc-embedded-announce-formula-alist) + (calc-embedded-open-formula, calc-embedded-close-formula) + (calc-matrix-mode): + * lisp/cedet/semantic/imenu.el (semantic-imenu-sort-bucket-function): + * lisp/emacs-lisp/find-func.el (find-feature-regexp): + * lisp/emulation/cua-base.el (cua-paste-pop-rotate-temporarily): + * lisp/emulation/viper-init.el (viper-fast-keyseq-timeout) + (viper-related-files-and-buffers-ring): + * lisp/emulation/viper-keym.el (viper-want-ctl-h-help): + * lisp/gnus/gnus-art.el (gnus-article-banner-alist): + * lisp/gnus/gnus-group.el (gnus-keep-same-level): + * lisp/gnus/gnus-score.el (gnus-adaptive-word-length-limit): + * lisp/gnus/gnus-sum.el (gnus-inhibit-user-auto-expire): + * lisp/gnus/gnus-uu.el (gnus-uu-ignore-files-by-type) + (gnus-uu-do-not-unpack-archives) + (gnus-uu-unmark-articles-not-decoded) + (gnus-uu-correct-stripped-uucode, gnus-uu-save-in-digest) + (gnus-uu-post-include-before-composing): + * lisp/gnus/gnus.el (gnus-use-long-file-name) + (gnus-install-group-spam-parameters): + * lisp/gnus/message.el (message-cite-style): + * lisp/gnus/nnmail.el + (nnmail-split-fancy-with-parent-ignore-groups) + (nnmail-cache-ignore-groups): + * lisp/ido.el (ido-rewrite-file-prompt-functions): + * lisp/mail/feedmail.el (feedmail-fiddle-plex-user-list) + (feedmail-spray-address-fiddle-plex-list): + * lisp/mh-e/mh-e.el (mh-annotate-msg-hook): + * lisp/net/imap.el (imap-process-connection-type): + * lisp/net/rcirc.el (rcirc-omit-threshold): + * lisp/net/tramp-sh.el (tramp-copy-size-limit): + * lisp/nxml/nxml-mode.el (nxml-default-buffer-file-coding-system): + * lisp/obsolete/landmark.el (landmark-max-stall-time): + * lisp/obsolete/tls.el (tls-checktrust): + * lisp/org/org-indent.el + (org-indent-mode-turns-off-org-adapt-indentation) + (org-indent-mode-turns-on-hiding-stars): + * lisp/org/org-protocol.el (org-protocol-project-alist): + * lisp/progmodes/cc-vars.el (c-doc-comment-style): + * lisp/progmodes/cperl-mode.el (cperl-indent-subs-specially): + * lisp/progmodes/flymake-proc.el (flymake-proc-allowed-file-name-masks): + * lisp/progmodes/hideif.el (hide-ifdef-expand-reinclusion-protection): + * lisp/simple.el (minibuffer-history-case-insensitive-variables): + * lisp/tab-bar.el (tab-bar-close-last-tab-choice): + * lisp/textmodes/reftex-vars.el + (reftex-special-environment-functions): + * lisp/vc/ediff-init.el (ediff-startup-hook, ediff-cleanup-hook) + (ediff-metachars): + * lisp/vc/ediff-merg.el (ediff-show-clashes-only): + * lisp/vc/ediff-mult.el (ediff-default-filtering-regexp): Shorten doc + strings to not exceed 80-column limits. (Bug#44858) + +2020-12-19 Mattias EngdegÃ¥rd + + Correct units and spacing in memory-report + + * lisp/emacs-lisp/memory-report.el (memory-report--format): + Use IEC unit prefixes and a space before. + +2020-12-19 Basil L. Contovounesios + + Set indent-tabs-mode for c-mode in .dir-locals.el + + * .dir-locals.el (c-mode): Enforce existing indent-tabs-mode + policy. (Bug#34765) + +2020-12-19 Eli Zaretskii + + Fix over-wide doc strings + + * lisp/vc/ediff-init.el (ediff-before-flag-bol) + (ediff-after-flag-eol, ediff-before-flag-mol): + * lisp/org/org-ctags.el (org-ctags-open-link-functions): + * lisp/mail/feedmail.el (feedmail-sendmail-f-doesnt-sell-me-out): + * lisp/language/ethio-util.el (ethio-use-three-dot-question) + (ethio-quote-vowel-always, ethio-W-sixth-always): + * lisp/gnus/nnvirtual.el (nnvirtual-mapping-table) + (nnvirtual-mapping-offsets, nnvirtual-mapping-reads) + (nnvirtual-mapping-marks, nnvirtual-info-installed): + * lisp/gnus/gnus.el (charset): + * lisp/gnus/deuglify.el (gnus-outlook-deuglify-unwrap-stop-chars) + (gnus-outlook-deuglify-no-wrap-chars) + (gnus-outlook-deuglify-attrib-cut-regexp): Fix doc strings to not + exceed 80-column limits. (Bug#44858) + +2020-12-19 Andrea Corallo + + * Clean-up 'internal_condition_case_4' orphan declaration (bug#45303). + + * src/lisp.h (internal_condition_case_4): Declaration remove. + +2020-12-19 Andrea Corallo + + * Move diagnostic pragmas out of namespace-scope (bug#45303). + + Pragmas in GCC don't work reliably within function: + + + * src/comp.c (emit_static_object) + (Fcomp_native_driver_options_effective_p) + (Fcomp_libgccjit_version): Move pragmas out of name-scope. + +2020-12-19 Andrea Corallo + + Fix Windows libgccjit library name (bug#45303). + + * lisp/term/w32-win.el (dynamic-library-alist): Fix Windows + libgccjit library name. + * src/emacs.c (syms_of_emacs): Likewise. + +2020-12-19 Roland Winkler + + bibtex-mode: Permit user-defined schemes for sorting entries. + + * lisp/textmodes/bibtex.el (bibtex-maintain-sorted-entries): + New allowed value (INDEX-FUN PREDICATE). + (bibtex-entry-index, bibtex-lessp): Use it. + (bibtex-init-sort): Rename from bibtex-init-sort-entry-class-alist. + +2020-12-19 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-quickstart-refresh): Fix last change + + Actually allow byte-compiling the file. + Reported by Basil L. Contovounesios . + +2020-12-18 Glenn Morris + + Merge from origin/emacs-27 + + 48b9c47805 Minor fixes in authors.el and in tarball-making instructions + d7a4ceaa1e ; Add a new item to TODO + 64fe805b19 Improve documentation of 'query-replace' + 7cacf5da47 Update to Org 9.4.3 + + # Conflicts: + # admin/authors.el + +2020-12-18 João Távora + + Document that flymake-diag-region saves match data + + The typical use of this function (which is parsing compiler diagnostic + messages), lends itself too easily to one the problems in bug#29193. + Make it a friendlier API. + + * doc/misc/flymake.texi (Flymake utility functions): Document that + flymake-diag-region saves match data. + + * lisp/progmodes/flymake.el (flymake-diag-region): Document that + this saves match data. + +2020-12-18 Stefan Monnier + + * lisp/emacs-lisp/package.el: Byte compile the quickstart file + + Earlier tests had found problems when byte-compiling the file, + but later investigations indicated the problem was not + directly related. The performance difference is appreciable. + + (package-quickstart-refresh): Byte compile the file. + (package-activate-all): Load byte-compiled version if available. + (package--quickstart-maybe-refresh): Delete the byte-compiled file as well. + +2020-12-18 Eli Zaretskii + + Minor fixes in authors.el and in tarball-making instructions + + * admin/authors.el (authors): Make the error message more helpful. + (authors-ignored-files, authors-renamed-files-alist): Update. + +2020-12-18 Stefan Monnier + + * lisp/progmodes/which-func.el (which-func-update): Bind `non-essential` + +2020-12-18 Mattias EngdegÃ¥rd + + Follow good regexp practice + + These were found by relint 1.19. + + * lisp/help-fns.el (help-fns--first-release): Use string-end instead + of line-end when matching a file name. + * lisp/org/ob-core.el (org-babel--string-to-number): Put hyphen last + in alternative. + * lisp/org/org-agenda.el (org-agenda-filter): Escape '+' correctly. + +2020-12-18 Michael Albinus + + * lisp/net/tramp.el (tramp-handle-make-process): Handle shell commands. + +2020-12-18 João Távora + + Save match data in flymake-diag-region (bug#29193) + + * lisp/progmodes/flymake.el (flymake-diag-region): Move + save-match-data up. + +2020-12-18 Lars Ingebrigtsen + + Fix previous frame-focus server.el change + + * lisp/server.el (server-execute): Always give Emacs focus, + whether we open a new frame or not. + +2020-12-18 Eric Abrahamsen + + Fix regexp in IMAP search-string preparation + + * lisp/gnus/gnus-search.el (gnus-search-run-search): This was failing + to catch all of X-GM-RAW. + +2020-12-18 Dmitry Gutov + + flymake-diag-region: Fix the recent test breakage + + * lisp/progmodes/flymake.el (flymake-diag-region): + Make sure to save the match data (bug#29193). + +2020-12-18 Stefan Monnier + + * lisp/org/org-refile.el (org-copy): Fix missing obsoletion version + +2020-12-17 Andrea Corallo + + * Makefile.in (w32locallisppath): Add PATH_REL_LOADSEARCH (bug#45303). + + * nt/epaths.nt (PATH_REL_LOADSEARCH): Define macro (bug#45303). + +2020-12-17 Michael Albinus + + Some minor Tramp changes + + * doc/lispref/os.texi (Timers): Speak about `remote-file-error'. + + * doc/misc/tramp.texi (Frequently Asked Questions): Speak about + `remote-file-error'. + (External packages): New subsection "Timers". + + * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Adapt error + function. Handle coding. + + * lisp/net/tramp.el (tramp-handle-make-process): Adapt error function. + +2020-12-17 Stefan Kangas + + Remove incorrect comment from erc-goodies.el + + * lisp/erc/erc-goodies.el (erc-move-to-prompt-setup): Remove incorrect + comment; the XEmacs compat code has been removed. + +2020-12-17 Stefan Monnier + + Fix my two most common causes of all windows/frames redisplay + + * src/buffer.c (Fkill_all_local_variables): Only redisplay the buffer. + * src/window.c (set_window_scroll_bars): Only redisplay the window. + +2020-12-17 Zajcev Evgeny + + Make "Invalid modifier in string" ordinary invalid-read-syntax error + + * src/lread.ec (read1): Raise "Invalid modifier in string" error as + `invalid-read-syntax'. This fixes raise of unhandled error in + `elisp--local-variables' + +2020-12-17 Lars Ingebrigtsen + + Fix fallback use of write-file in ido-mode + + * lisp/ido.el (ido-file-internal): Make `write-file' respect the + directory we've navigated to (bug#28513). + +2020-12-17 Philipp Stephani + + Ensure that byte compilation works for relative files (Bug#45287). + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don’t fail if + target filename doesn’t contain a directory name. + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-tests--target-file-no-directory): New unit test. + +2020-12-17 Lars Ingebrigtsen + + Default the init file to init.el, not init + + * lisp/startup.el (startup--load-user-init-file): Make the default + init file be "init.el", not "init" (bug#45197). + +2020-12-16 Pankaj Jangid + + Fix resetting of gnus-pick-line-number + + * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Move setting + gnus-pick-line-number from here (bug#45269)... + (gnus-summary-prepare): To here. This ensures that the number is + reset when regenerating the buffer, for instance when limiting it. + +2020-12-16 Juri Linkov + + Don't show minibuffer keybindings for suggestions in read-extended-command + + * lisp/simple.el (read-extended-command): Use 'affixation-function' + instead of 'annotation-function'. (Bug#45035) + (read-extended-command--affixation): New function created from + 'read-extended-command--annotation'. + +2020-12-16 Juri Linkov + + Give affixation-function higher priority over annotation-function (bug#45234) + + * doc/lispref/minibuf.texi (Completion Variables) + (Programmed Completion): Describe precedence rules + of affixation-function and annotation-function. + + * lisp/minibuffer.el (completion-metadata) + (completion-extra-properties): Describe precedence rules + of affixation-function and annotation-function. + (minibuffer-completion-help): First try to apply + affixation-function, if there is no such function, + try annotation-function. + +2020-12-16 Eli Zaretskii + + Improve documentation of 'query-replace' + + * doc/emacs/search.texi (Query Replace): Add 'E' to the list of + characters one can type at 'query-replace' prompt. (Bug#45273) + +2020-12-16 Bastien Guerry + + Update to Org 9.4.3 + + Fix #45259 + +2020-12-16 Harald Jörg + + CPerl-mode: don't treat <<>> as starting a here-doc + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Detect + the "<<>>" operator (Bug#42455). + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-test-bug-45255): Verify that <<>> does not start a + HERE-doc. + +2020-12-16 E. Choroba + + Update short docs in cperl-mode + + * lisp/progmodes/cperl-mode.el (cperl-short-docs): + Update with some missing entries. (Bug#45254) + +2020-12-16 Dmitry Gutov + + (flymake-diag-region): Fall back to (end-of-thing 'symbol) + + * lisp/progmodes/flymake.el (flymake-diag-region): + Fall back to (end-of-thing 'symbol) (bug#29193). + +2020-12-15 Eli Zaretskii + + Fix C-n/C-p when a line starts with an image + + * src/xdisp.c (move_it_to): Handle the case where the second call + to move_it_in_display_line_to under MOVE_TO_Y takes us farther + from TO_CHARPOS than the first call. This fixes values returned + by pos-visible-in-window-p and posn-at-point when the screen line + starts with invisible text followed by an image. (Bug#9092) + +2020-12-15 Glenn Morris + + Merge from origin/emacs-27 + + 668f0a7f84 Fix point location when completing in gdb-mi.el + 2dbc95063b Update to Org 9.4.2 + f22856a5c5 Update to Org 9.4.1 + + # Conflicts: + # doc/misc/org.texi + # lisp/org/ob-core.el + # lisp/org/ob-ruby.el + # lisp/org/ob-screen.el + # lisp/org/ol-gnus.el + # lisp/org/ol.el + # lisp/org/org.el + +2020-12-15 Glenn Morris + + Merge from origin/emacs-27 + + 62a6934af9 Fix crash when using XRender and restoring image from X (b... + de032d41c6 Bind k to image-kill-buffer in doc-view-mode-map. + +2020-12-15 Eli Zaretskii + + Fix setting breakpoints in "M-x gdb" when a source file is missing + + * lisp/progmodes/gdb-mi.el (gdb-get-location): Fix control flow + logic when "fullname" is not found. Unquote and unescape the full + file name by calling gdb-mi--c-string-from-string. FLAG is a + string, not a character. (Bug#15051) + +2020-12-15 Alan Mackenzie + + CC Mode: Optimize for scrolling large buffers containing few braces + + This fixes bug #25706. It particularly pertains to .h files which contain + only macro definitions. Many of these files are to be found, for example, in + the driver sections of the Linux kernel. + + * lisp/progmodes/cc-engine.el (c-beginning-of-statement-1, c-on-identifier) + (c-syntactic-skip-backward, c-find-decl-prefix-search, c-find-decl-spots) + (c-forward-name, c-back-over-list-of-member-inits) + (c-back-over-member-initializers, c-looking-at-inexpr-block) + (c-guess-basic-syntax): Give search limits to, or amend existing ones to + c-backward-syntactic-ws, c-forward-syntactic-ws, c-backward-token-2, + c-beginning-of-statement-1. + (c-determine-limit-no-macro): New function. + (c-determine-limit-get-base): Remove unlimted invocation of + c-backward-syntactic-ws. + (c-determine-limit): Exclude movement between two different macros. Use new + function c-determine-limit-no-macro. + (c-back-over-list-of-member-inits): New parameter `limit'. + + * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare) + (c-font-lock-declarations, c-font-lock-c++-using): Give search limits to, or + amend existing ones to c-backward-syntactic-ws, c-beginning-of-decl-1. + + * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens, c-before-changer) + (c-fl-decl-end): Give search limits to, or amend existing ones to + c-backward-syntactic-ws, c-forward-syntactic-ws, skip-chars-backward, + skip-chars-forward. + +2020-12-15 Michael Albinus + + Revert last change in tramp-maybe-open-connection) + + * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Revert last change, + it causes trouble. + +2020-12-15 Lars Ingebrigtsen + + Fix electric pairs in rst-mode + + * lisp/textmodes/rst.el (rst-mode-syntax-table): Mark pairs in the + syntax table (bug#23413). + (rst-mode): Instead of setting electric-pair-pairs. + +2020-12-15 Lars Ingebrigtsen + + Bind current-minibuffer-command to this-command + + * src/callint.c (Fcall_interactively): Bind + current-minibuffer-command to this-command, as documented (bug#45177). + +2020-12-14 Glenn Morris + + * doc/lispref/errors.texi (Standard Errors): Fix xref. + + Though I am not sure "report a bug" is helpful. + +2020-12-14 Glenn Morris + + * doc/emacs/indent.texi (Indent Convenience): Fix use of @xref. + +2020-12-14 Glenn Morris + + Tiny fix for lispref/variables.texi + + * doc/lispref/variables.texi (Converting to Lexical Binding): + @strong{Note...} produces a spurious cross-reference in Info; + reword to avoid that. + +2020-12-14 Stefan Monnier + + * lisp/emacs-lisp/gv.el (error): Allow it as a place + +2020-12-14 Alan Mackenzie + + Optimise c-font-lock-<>-arglists, particularly for buffers with few <..> pairs + + * lisp/progmodes/cc-fonts.el (c-font-lock-<>-arglists): In place of a regexp + search for a complicated and slow regexp, search simply for "<" ouside of + literals together with add hoc testing of other requirements for a <...> + match. + + * lisp/progmodes/cc-langs.el (c-nonsymbol-key): New c-lang-defvar from the + c-lang-const. + +2020-12-14 Alan Third + + Fix error with fn key in NS port (bug#44533) + + * src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key + handling to before the modifiers are calculated. + + (cherry picked from commit 7970610d48701a949ce443c94c71eac47d044197) + +2020-12-14 Alan Mackenzie + + Optimise c-parse-state for large buffers with few (if any) braces. + + * lisp/progmodes/cc-engine (c-get-fallback-scan-pos): Search a maximum of + 50,000 characters back for the two BODs. Return nil if we dont' find them. + (c-parse-state-get-strategy): For strategy `forward', always use the position + `good-pos' for `start-point', even when there's a change of current macro. + Deal with a possible return value of nil from c-get-fallback-scan-pos (as + above). + (c-invalidate-state-cache-1): For `c-state-cache-good-pos', instead of + sometimes using the minimum scan pos (leading to extensive scanning of the + entire buffer) use a point close to `here'. + +2020-12-14 Lars Ingebrigtsen + + Add some admin/emake comments + +2020-12-14 Gregory Heytings + + Make the emake error messages red + + * admin/emake: Colorize error messages. + +2020-12-14 Michael Albinus + + Add 'remote-file-error' for Tramp + + * doc/lispref/errors.texi (Standard Errors): Add 'remote-file-error'. + + * etc/NEWS: Mention 'remote-file-error'. + + * lisp/net/ange-ftp.el (ftp-error): Add error condition + `remote-file-error'. + + * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Do not set + `tramp-locked'. + + * lisp/net/tramp-compat.el (remote-file-error): Define if it + doesn't exist. + + * lisp/net/tramp-sh.el (tramp-timeout-session): Check for "locked" + property. + (tramp-maybe-open-connection): Simplify. + + * lisp/net/tramp.el (tramp-locked, tramp-locker): Remove them. + (tramp-file-name-handler): Do not set them. + (with-tramp-locked-connection): New defmacro. + (tramp-accept-process-output, tramp-send-string): Use it. + + * src/fileio.c (Qremote_file_error): New error symbol. + + * test/lisp/net/tramp-tests.el (tramp-test43-asynchronous-requests): + Adapt test. Remove :unstable tag. + +2020-12-14 Eli Zaretskii + + Improve accuracy of scrolling commands + + * src/xdisp.c (move_it_vertically_backward): Don't rely on + line_bottom_y for accurate calculation of the next screen line's Y + coordinate: it doesn't work when the current screen line was not + yet traversed. Instead, record the previous Y coordinate and + reseat there if overshoot is detected. + * src/window.c (window_scroll_pixel_based): Calculate the new + window-start point more accurately when screen lines have uneven + height. (Bug#8355) + +2020-12-14 Stefan Kangas + + Make XEmacs entry in the FAQ more contemporary + + * doc/misc/efaq.texi (Difference between Emacs and XEmacs): Make + XEmacs entry in the FAQ more contemporary. Remove part about re-using + XEmacs code; this is not likely to be relevant these days and in any + case is not a frequently asked question. (Bug#45235) + +2020-12-14 Eli Zaretskii + + Fix point location when completing in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (def-gdb-auto-update-handler): Don't + force window-start position, so that redisplay doesn't move point + when popping completion window below the GUD one. (Bug#45052) + +2020-12-14 Eric Abrahamsen + + Fix logic of gnus-search-imap-handle-date + + * lisp/gnus/gnus-search.el (gnus-search-imap-handle-date): Just + rewrite this whole ridiculous function. + +2020-12-14 Stefan Kangas + + * lisp/play/5x5.el: Fix typo. Remove redundant :group args. + +2020-12-14 Tim Ruffing (tiny change) + + * etc/emacs.service: + + * etc/emacs.service (ExecStart): Make Emacs exit from systemd work + better (bug#45181). + + The problem here is the exit code 15, which emacs will return *only* if + it has received SIGTERM. I believe what's happening here is that + emacsclient will call kill-emacs but not wait until the emacs server + has properly shut down. However, it's supposed to wait for the shutdown + as an "ExecStop" command according to "man systemd.service". So since + the process is still alive when emacsclient comes back, systemd will + still issue SIGTERM, making emacs return 15 (maybe after calling kill- + emacs again?!). + +2020-12-14 Robert Thorpe (tiny change) + + Mention how to handle user names with @ in rmail + + * doc/emacs/rmail.texi (Remote Mailboxes): Mention how to work + around the problem with user names like foo@example.com (bug#16946). + +2020-12-14 Daniel Martín + + Make goto-char offer the number at point as default + + * lisp/subr.el (read-natnum-interactive): New function to read natural + numbers for interactive functions. + * src/editfns.c (Fgoto_char): Call read-natnum-interactive from the + interactive definition of goto-char to offer the number at point as + default. Also expand the docstring to document this new interactive + behavior. + * doc/emacs/basic.texi (Moving Point): Expand the Emacs manual to + document this new behavior. + * etc/NEWS: And announce it (bug#45199). + +2020-12-14 Lars Ingebrigtsen + + Tool bar documentation clarification: Mention forcing updates + + * doc/lispref/keymaps.texi (Tool Bar): Document that flipping the + status of a tool bar item doesn't necessarily update the visuals + (bug#42957). + +2020-12-14 Tomas Nordin (tiny change) + + Fix narrow-to-defun in python-mode + + * lisp/progmodes/python.el (python-nav--beginning-of-defun): Make + narrow-to-defun work better in classes (bug#40563). + +2020-12-14 Lars Ingebrigtsen + + Add a new recursively bound `current-minibuffer-command' variable + + * doc/lispref/commands.texi (Command Loop Info): Document it + (bug#45177). + + * src/callint.c (Fcall_interactively): Bind it. + + * src/keyboard.c (syms_of_keyboard): Define + current-minibuffer-command. + +2020-12-14 Ulrich Ölmann (tiny change) + + Add a DirectoryMode to the Emacs Server example + + * doc/emacs/misc.texi (Emacs Server): Update example + + * doc/emacs/misc.texi (Emacs Server): The socket containing directory + is per default created with permissions 0755 by the socket-unit. + However this is considered unsafe since commit [1], so enhance unit + example with systemd configuration directive `DirectoryMode=' to + create it with safe permissions, see + https://www.freedesktop.org/software/systemd/man/systemd.socket.html#DirectoryMode= + + [1] 2003-04-12 "(server-socket-name): Use new safe location for socket." + +2020-12-14 Stefan Kangas + + Update value of frame-title-format in FAQ + + * doc/misc/efaq.texi (Displaying the current file name in the + titlebar): Fix default value of frame-title-format. + +2020-12-14 Stefan Kangas + + Don't recommend setnu and wb-line-number + + * doc/misc/efaq.texi (Displaying the current line or column): Remove + reference to third-party alternatives to display-line-numbers-mode. + +2020-12-14 Stefan Kangas + + Remove more references to old versions from FAQ + + * doc/misc/efaq.texi (Learning how to do something) + (Installing Emacs, Emacs for GNUstep, Emacs for macOS): Remove more + references to Emacs 22 and older from FAQ. + +2020-12-14 Stefan Kangas + + Make XEmacs compat variable warning-level-aliases obsolete + + * lisp/emacs-lisp/warnings.el (warning-level-aliases): Make obsolete. + (display-warning): Warn when using one of the warning levels defined + in above obsolete variable. (Bug#44849) + * lisp/url/url-proxy.el (url-find-proxy-for-url): Replace obsolete + warning type 'critical with :error. + +2020-12-14 Stefan Kangas + + Prefer setq to set+quote + + * lisp/cedet/semantic/senator.el (senator-lazy-highlight-update): + * lisp/emulation/edt.el (edt-find, edt-restore-key) + (edt-remember): + * lisp/eshell/em-ls.el (eshell-ls--insert-directory): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/progmodes/hideif.el (hide-ifdef-mode): + * test/lisp/url/url-future-tests.el (url-future-tests): Prefer setq to + set+quote. + +2020-12-14 Stefan Kangas + + * lisp/bookmark.el: Doc fix. + +2020-12-14 Torsten Hilbrich + + Merge branch 'feature/integration-of-dictionary-el' + + b6227446d9 Importing dictionary module + 658ec3ccee Renamed connection.el + e2ebffdd62 Renamed link.el + 723906c444 Removed some compability parts in dictionary + 5dc17d73b0 Add :version tag to defcustom statement + 49c250b388 Dont't check coding-system-list for existence + 99a7e918c8 Don't check for existence of defface + 1773b9b687 Dictionary now uses button + 329b6a0210 Adding details page for dictionary + 837505075c Fix dictionary tooltip mode + 2f1e4fbc42 Support nil value for dictionary-server + 91ff1c8f7c Move placement of dictionary-tooltip-mouse-event + 28fe134971 Remove text property from empty line + 7ca331a4f9 Add history of search words to read-string + d5a4da25b0 * lisp/net/dictionary.el: Remove remnants of package + cc5f280378 * lisp/net/dictionary.el: Add lexical-binding:t + 09952ce434 Removed useless check for popup-menu + 81ebe86d8d Show error message when asking to match for nothing + 0044a2e888 * lisp/net/dictionary-connection.el: Add lexical-binding:t + f58443780c * lisp/net/dictionary-connection.el: Remove obsolete Version + 54a3964e29 Update GPL version + a557a103cc * lisp/net/dictionary-connection.el: Prefer defsubst + ffa7d6671d * lisp/net/dictionary.el: Prefer defsubst over defmacro + 4deb8618e4 * lisp/net/dictionary.el (dictionary-mode): Use setq-local + d30618cbc1 * lisp/net/dictionary.el (dictionary-tooltip-mode): Use ... + a25a12ddaf Use when where else case returns nil + 89e9c1686e * lisp/net/dictionary.el (dictionary-display-more-info): ... + d466231c3e A number of docstring fixes + b18217eb87 A number of docstring fixes + ca0de4d1e0 * etc/NEWS: Add entry for dictionary.el + 62d14e10f9 * lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el (dictionary-pre-buffer): Unify casing + + Let all the buttons begins with an upper-case character and the rest of + the text is lower-case. + +2020-12-14 Torsten Hilbrich + + * etc/NEWS: Add entry for dictionary.el + +2020-12-14 Torsten Hilbrich + + A number of docstring fixes + + * lisp/net/dictionary-connection.el (dictionary-connection-p, + dictionary-connection-read-point, dictionary-connection-process, + dictionary-connection-buffer, dictionary-connection-set-read-point, + dictionary-connection-set-process, dictionary-connection-set-buffer, + dictionary-connection-create-data, dictionary-connection-open, + dictionary-connection-status, dictionary-connection-close, + dictionary-connection-send, dictionary-connection-send-crlf, + dictionary-connection-read, dictionary-connection-read-crlf, + dictionary-connection-read-to-point): Fix docstring + +2020-12-14 Torsten Hilbrich + + A number of docstring fixes + + * lisp/net/dictionary.el (dictionary-set-server-var, dictionary-mode, + dictionary, dictionary-new-buffer, dictionary-reply-code, + dictionary-reply, dictionary-reply-list, dictionary-open-server, + dictionary-check-connection, dictionary-mode-p, dictionary-close, + dictionary-read-reply, dictionary-split-string, + dictionary-read-reply-and-split, dictionary-read-answer, + dictionary-check-reply, dictionary-coding-system, + dictionary-decode-charset, dictionary-encode-charset, + dictionary-check-initial-reply, dictionary-store-state, + dictionary-restore-state, dictionary-new-search, + dictionary-new-search-internal, dictionary-do-search, + dictionary-pre-buffer, dictionary-post-buffer, + dictionary-display-search-result, dictionary-display-word-entry, + dictionary-display-word-definition, dictionary-mark-reference, + dictionary-select-dictionary, dictionary-display-dictionarys, + dictionary-display-dictionary-line, dictionary-set-dictionary, + dictionary-special-dictionary, dictionary-display-more-info, + dictionary-select-strategy, dictionary-do-select-strategy, + dictionary-display-strategies, dictionary-display-strategy-line, + dictionary-set-strategy, dictionary-new-matching, + dictionary-do-matching, dictionary-display-only-match-result, + dictionary-display-match-result, dictionary-display-match-result, + dictionary-display-match-lines, dictionary-search, + dictionary-previous, dictionary-help, dictionary-match-words, + dictionary-mouse-popup-matching-words, + dictionary-popup-matching-words, dictionary-tooltip-mode, + dictionary-tooltip-mouse-event): Fix docstring + + The following kind of changes were made: + + - finish first line with a full stop (.) + - mention parameter in upper-case whenever possible (considering the + length constraints) + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el (dictionary-display-more-info): Spelling fix + + Fix the spelling in the error message for non-existing dictionary. + +2020-12-14 Torsten Hilbrich + + Use when where else case returns nil + + * lisp/net/dictionary-connection.el (dictionary-connection-status, + dictionary-connection-close): Instead of returning nil in the else case + of the if just use when. + + Was suggested by Stefan Kangas. + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el (dictionary-tooltip-mode): Use setq-local + + * lisp/net/dictionary.el (dictionary-mode): Use setq-local + + * lisp/net/dictionary.el: Prefer defsubst over defmacro + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary-connection.el: Prefer defsubst + + Use defsubst instead of defmacro here. It was suggested by Stefan + Kangas to replace the defmacro here and, looking at the lispref, + defsubst seems to be a suitable replacement providing the same + benefit of inlining functionality as the defmacro. + +2020-12-14 Torsten Hilbrich + + Update GPL version + + * lisp/net/dictionary.el: Use GPL version 3 or later + * lisp/net/dictionary-connection.el: Use GPL version 3 or later + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary-connection.el: Remove obsolete Version + + * lisp/net/dictionary-connection.el: Add lexical-binding:t + +2020-12-14 Torsten Hilbrich + + Show error message when asking to match for nothing + + * lisp/net/dictionary.el (dictionary-popup-matching-words): Show error + if neither the parameter nor the word at point are defined + + This avoids an error later on when the nil value is used as string + within dictionary-encode-charset. + +2020-12-14 Torsten Hilbrich + + Removed useless check for popup-menu + + * lisp/net/dictionary.el (dictionary-popup-matching-words): No need to + check for popup-menu, the code is part of Emacs now and the function + should always be there + +2020-12-14 Torsten Hilbrich + + * lisp/net/dictionary.el: Add lexical-binding:t + + Fixing all the issues found by this. A number of unused variables were + reported here. + +2020-12-14 Gabriel do Nascimento Ribeiro + + New option tab-bar-history-buttons-show + + * lisp/tab-bar.el (tab-bar-history-buttons-show): If true, + show back and forward buttons when tab-bar-history-mode + is enabled. (Bug#45227) + + Copyright-paperwork-exempt: yes + +2020-12-14 Juri Linkov + + Allow creating a new tab for tab-switcher from the minibuffer (bug#45072) + + * lisp/tab-bar.el (tab-switcher): Simplify by let-binding + tab-bar-new-tab-choice to t before calling tab-bar-new-tab + that handles the case when it's called in the active minibuffer. + +2020-12-14 Juri Linkov + + Don't show matches with no input for nil icomplete-show-matches-on-no-input + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Fix docstring. + (icomplete--initial-input): New internal variable. + (icomplete-minibuffer-setup): Set buffer-local + icomplete--initial-input to icomplete--field-string. + (icomplete-ret, icomplete-force-complete-and-exit) + (icomplete--sorted-completions, icomplete-exhibit): + Compare icomplete--initial-input with icomplete--field-string + to detect no input. (Bug#19031) + + etc/NEWS: Remove duplicate entry. + +2020-12-14 João Távora + + Inhibit quit in ElDoc timer functions (bug#45117) + + The point of un-inhibiting it was to make ElDoc backends interruptible + with any input (as in while-no-input), since that should in principle + invalidate the need of the current ElDoc processing. But that + strategy is dangerous for backends that perform complex + synchronization with external processes. Better let each backend + decide for itself it needs this eager interruptive behavior, like is + presumably the case with the Octave backend. + + This reverts a part of + + commit 12e922156c86a26fa4bb2cb9e7d2b3fd639e4707 + Author: Stefan Monnier + Date: Tue Dec 4 18:15:44 2018 -0500 + + * lisp/emacs-lisp/eldoc.el (eldoc-print-current-symbol-info): + + * lisp/progmodes/octave.el (octave-eldoc-function-signatures): Use + while-no-input. + +2020-12-13 Bastien Guerry + + Update to Org 9.4.2 + + Mostly fixing compiler warnings. + +2020-12-13 Dmitry Gutov + Philip K. + + Remove the duplication from project-switch-commands's config + + Based on an older patch by Philip K (https://debbugs.gnu.org/41890#127). + + * lisp/progmodes/project.el: (project-switch-commands): Change to + 'defcustom', alter the value format, add :type. + (project-switch-use-entire-map): New option. + (project--keymap-prompt, project-switch-project): + Update accordingly, while keeping compatibility with user-defined + values in the previous format (for some transition period). + +2020-12-13 Philipp Stephani + + Byte compilation: handle case where the output file is a mountpoint. + + See Bug#44631. While testing for a readonly output directory has + slightly different semantics, in practice they should cover cases + where Emacs is sandboxed and can only write to the destination file, + not its directory. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Handle the case + where the output directory is not writable. + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-tests--not-writable-directory) + (bytecomp-tests--dest-mountpoint): New unit tests. + +2020-12-13 Mauro Aranda + + Stop dropping the tag when creating the custom-variable widget + + * lisp/cus-edit.el (custom-variable-value-create): Obey the specified + tag format when creating the variable tag, but stop dropping the tag + format for the variable's type widget, since the tag can be used to + give useful information to the user about the variable. (Bug#35133) + +2020-12-13 Lars Ingebrigtsen + + Make dired-toggle-read-only query on read-only directories + + * lisp/dired.el (dired-toggle-read-only): Query instead of + erroring out immediately (bug#29412). + +2020-12-13 Lars Ingebrigtsen + + Clarify Extended Menu Items a bit more + + * doc/lispref/keymaps.texi (Extended Menu Items): Expand a bit + more on how submenus are formed (bug#26428). + +2020-12-13 Bastien Guerry + + Update to Org 9.4.1 + +2020-12-13 Andrea Corallo + + * Fix `memory-report' for '--without-x' builds + + * lisp/emacs-lisp/memory-report.el + (memory-report--image-cache): Don't call `image-cache-size' if + unbound. + +2020-12-13 Dmitry Gutov + + Bump project.el version + + * lisp/progmodes/project.el: Bump the version. + +2020-12-13 Andrii Kolomoiets + + vc-create-tag: use vc-revision-history variable + + * lisp/vc/vc.el (vc-create-tag): Use 'vc-revision-history' variable. + +2020-12-13 Dmitry Gutov + + Fix test failure + + * test/lisp/vc/vc-tests.el (vc-test--working-revision): + Accept working revision -1, expected for older Hg (bug#36534). + +2020-12-13 Stefan Monnier + + * lisp/emacs-lisp/bytecomp.el: Allow a nil destination file + + (byte-compile--default-dest-file): New function, extracted from + byte-compile-dest-file. + (byte-compile-dest-file): Use it. + (byte-compile-dest-file-function): Give it a non-nil default value. + (byte-recompile-file, byte-compile-file): Handle a nil return value + from `byte-compile-dest-file`. + + * lisp/progmodes/elisp-mode.el (elisp-flymake--batch-compile-for-flymake): + Tell the compiler not to write the result, instead of writing it to + a dummy temp file. + +2020-12-13 Andrea Corallo + + * Allow for adding constraints targetting blocks with multiple predecessors + + This commit remove the limitaiton we had not being able to add + constraints derived from conditional branches to basic blocks with + multiple predecessors. When this condition is verified we add a new + dedicated basic block to hold the constraints. + + * lisp/emacs-lisp/comp.el (comp-block, comp-edge): Better slot + type specifiers. + (comp-block-cstr): New struct specializing `comp-block'. + (make-comp-edge): New function. + (comp-func): Better test function + doc for `blocks' slot. + (comp-limple-lock-keywords): Update possible basic block names. + (comp-emit-assume): Recive directly the block instead of its name. + (comp-add-new-block-beetween): New function. + (comp-cond-cstr-target-block): Logic update and use + `comp-add-new-block-beetween'. + (comp-cond-cstr-func): Make use of the latter. + (comp-compute-edges): Make use of `make-comp-edge'. + +2020-12-13 Andrea Corallo + + * Rename comp-cond-rw -> comp-cond-cstr + + * lisp/emacs-lisp/comp.el (comp-passes) + (comp-cond-cstr-target-slot, comp-cond-cstr-func) + (comp-cond-cstr): Rename pass from cond-rw to cond-cstr. + +2020-12-13 Andrea Corallo + + * Memoize `comp-cstr-intersection' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-ctxt): Add new slot + `intersection-mem'. + (comp-cstr-intersection-homogeneous): Fix non local exit target. + (comp-cstr-intersection-no-mem): Rename from + `comp-cstr-intersection'. + (comp-cstr-intersection): New function. + +2020-12-13 Andrea Corallo + + * Add initial negated non-negegated intersection support + + * lisp/emacs-lisp/comp-cstr.el (comp-range-intersection): Cosmetic. + (comp-cstr-intersection-homogeneous): Rename from + `comp-cstr-intersection'. + (comp-cstr-intersection): New function. + +2020-12-13 Alan Third + + Fix assertion on SVG load failure + + * src/image.c (svg_load_image): Move setting DPI to after rsvg_handle + error checking. + +2020-12-12 Stefan Kangas + + Remove references to Emacs before version 22 from FAQ + + * doc/misc/efaq.texi (Escape sequences in shell output): Remove + reference to versions before Emacs 21. + (Basic editing, Latest version of Emacs) + (Turning on abbrevs by default, Going to a line by number) + (Security risks with Emacs): Remove references to versions before + Emacs 22. + +2020-12-12 Philipp Stephani + + Document and enforce some properties for strings created by modules. + + When creating multibyte or unibyte strings, we should guarantee the + following invariants: + + - When creating empty strings, a NULL data pointer should be allowed. + This often arises in practice if the string length isn't known in + advance, and we don't want to unnecessarily trigger undefined + behavior. Since functions like memcpy might not accept NULL + pointers, use the canonical empty string objects in this case. + + - Nonzero strings should be guaranteed to be unique and mutable. + These are the same guarantees expected from Lisp functions such as + 'make-string' or 'unibyte-string'. On the other hand, empty strings + might not be unique. + + * src/emacs-module.c (module_make_string) + (module_make_unibyte_string): Correctly handle empty strings. + + * test/src/emacs-module-resources/mod-test.c (Fmod_test_make_string): + New test function. + (emacs_module_init): Expose it. + + * test/src/emacs-module-tests.el (mod-test-make-string/empty) + (mod-test-make-string/nonempty): New unit tests. + + * doc/lispref/internals.texi (Module Values): Document properties and + corner cases for strings. + +2020-12-12 Lars Ingebrigtsen + + Fix BSD .include etc syntax in Makefiles + + * lisp/progmodes/make-mode.el (makefile-bsdmake-statements): Fix + the BSD conditional syntax (bug#24000). + (makefile-make-font-lock-keywords): Allow calling without keywords. + (makefile-bsdmake-font-lock-keywords): Add the conditional syntax. + + Makefile inclusion, conditional structures and for loops reminiscent of + the C programming language are provided in make. All such structures are + identified by a line beginning with a single dot (`.') character. + Whitespace characters may follow this dot, e.g., + + .include + and + . include + + are identical constructs + +2020-12-12 Lars Ingebrigtsen + + Bind `C-c C-d' to rmail-epa-decrypt in rmail + + * doc/emacs/rmail.texi (Rmail Display): Mention the key + binding (bug#25411). + + * lisp/mail/rmail.el (rmail-mode-map): Bind C-c C-d to + rmail-epa-decrypt. + (rmail-mode): Mention it. + (rmail-epa-decrypt): Don't mark a mail as decrypted unless we're + replacing it. + + * lisp/mail/rmailsum.el (rmail-summary-mode-map): Bind C-c C-d. + (rmail-summary-epa-decrypt): New command. + +2020-12-12 Eric Abrahamsen + + New option gnus-registry-register-all + + * lisp/gnus/gnus-registry.el (gnus-registry-register-all): If nil, + the registry won't automatically create new entries for all seen + messages. Defaults to t to preserve previous behavior. + (gnus-registry-handle-action): Don't automatically create entries; if + one doesn't exist, don't handle anything. + (gnus-registry-register-message-ids): Only register if this option is + t. + (gnus-registry-get-or-make-entry): Add optional no-create argument. + (gnus-registry-get-id-key): This "get" operation should only create an + entry if this option is t. + * doc/misc/gnus.texi: Documentation and news. + +2020-12-12 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-buffer-info): Improve error message + + (package-strip-rcs-id): Return canonicalized version string. + +2020-12-12 Stefan Monnier + + * src/fns.c (hash_string): Tweak the code further + + Merge the two main branches; remove the `max` test and thus reduce + the "most steps" to 8 as written + +2020-12-12 Stefan Monnier + + * lisp/vc/log-edit.el: Keep separator line thin even with line-numbers + + (log-edit-font-lock-keywords): Disable line-number display on + the thin separator line. + (log-edit-mode): Adjust `font-lock-extra-managed-props` accordingly. + (log-edit-changelog-entries): Don't use a nil buffer-local + `change-log-default-name`. + +2020-12-12 Eli Zaretskii + + Followup to recent changes in keyboard.c + + * src/keyboard.c (prev_kbd_event): Now defined only if HAVE_X11. + + * lisp/subr.el (while-no-input-ignore-events): Remove + 'buffer-switch': no longer used or defined. (Bug#5803) + +2020-12-12 Andrea Corallo + + Normalize cstrs for cache hint effectiveness and test stability + + * lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset) + (comp-union-valsets, comp-intersection-valsets) + (comp-normalize-typeset): New functions. + (comp-union-typesets, comp-intersect-typesets) + (comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem): + Update to return normalized results. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Normalize expected type specifiers. + +2020-12-12 Andrea Corallo + + * Add `comp-split-pos-neg' function + + * lisp/emacs-lisp/comp-cstr.el (comp-split-pos-neg): New function. + (comp-cstr-union-1-no-mem): Update to call `comp-split-pos-neg'. + +2020-12-12 Andrea Corallo + + * Enumerate type specifier tests to ease debugging + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Enumerate tests. + + Acked-by: Andrea Corallo + +2020-12-12 Andrea Corallo + + * Code rework add `comp-cstrs-homogeneous' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstrs-homogeneous): New + function. + (comp-cstr-union-1-no-mem): Make use of. + +2020-12-12 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-bootstrap): Temp fix bootstrap test. + +2020-12-12 Lars Ingebrigtsen + + Remove some unused process.c variables + + * src/process.c (wait_reading_process_output): Remove some + variables that are unused after the previous patch. + +2020-12-12 Stefan Monnier + + New variable `redisplay_adhoc_scroll_in_resize_mini_windows` + + * src/xdisp.c (syms_of_xdisp): Define it. + (resize_mini_window): Obey it. + +2020-12-12 Stefan Monnier + + * src/keyboard.c: Fix bug#5803. + + A long time ago, `read_key_sequence` used to read the keymaps at the + start, so if something happened between this start and the moment + the user actually hits a key, `read_key_sequence` could end up using + the wrong keymaps. To work around this problem, the code used + `record_asynch_buffer_change` to try and trigger `read_key_sequence` + to re-read the keymaps in some known cases. + + Several years ago, `read_key_sequence` was changed so as to read the keymaps + only once the user hits a key, making this machinery now redundant + (and also harmful apparently in bug#5803 because it introduces + "spurious" events). + + So we here remove `record_asynch_buffer_change` and the + `BUFFER_SWITCH_EVENT` and `Qbuffer_switch` pseudo-events it generated. + + * src/termhooks.h (enum event_kind): Delete `BUFFER_SWITCH_EVENT`. + * src/keyboard.c: (record_asynch_buffer_change): Delete function. + (syms_of_keyboard): Delete `Qbuffer_switch`. + (force_auto_save_soon, readable_events) + (kbd_buffer_store_buffered_event, kbd_buffer_get_event) + (make_lispy_event): + * src/xterm.c (handle_one_xevent): + * src/w32term.c (w32_read_socket): + * src/process.c (wait_reading_process_output) + (read_and_dispose_of_process_output, exec_sentinel): Simplify accordingly. + +2020-12-12 Alan Mackenzie + + CC Mode: Handle several K&R parameters per declaration + + This fixes bug #45160. + + * lisp/progmodes/cc-engine.el (c-in-knr-argdecl): Reformulate the latter part + of this function using c-do-declarators. + +2020-12-12 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-12 Lars Ingebrigtsen + + Alter the "Redundant pcase patter" warning message + + * lisp/emacs-lisp/pcase.el (pcase--expand): Make the "Redundant + pcase pattern" warning less vague (bug#31350). + +2020-12-12 Lars Ingebrigtsen + + Make elint load `require'd packages + + * lisp/emacs-lisp/elint.el (elint-require-form): New function to + load files that are `require'd (bug#27006). + (elint-special-forms): Add function. + +2020-12-12 Zajcev Evgeny + + Explicitly specify svg base_uri using `:base-uri' image property + + * src/image.c (svg_load): Check `:base-uri' image property to + explicitly set base_uri for images embedded into SVG + (enum svg_keyword_index): + (svg_format): Add :base-uri. + * lisp/svg.el (svg-embed-base-uri-image): New function to embed images + located relative to images `:base-uri' + +2020-12-12 Alan Third + + Revert "Explicitly specify svg base_uri using `:base-uri' image property" + + This reverts commit a8e2143a5c03785742464406306fda7fce6caf04. + + I applied the incorrect version of the patch. + +2020-12-12 Lars Ingebrigtsen + + Offer to save tutorial position on Emacs exit + + * lisp/tutorial.el (tutorial--buffer): New variable (bug#27998). + (tutorial--save-on-kill): Use it. + (help-with-tutorial): Set it and add new function to + kill-emacs-query-functions. + +2020-12-12 Lars Ingebrigtsen + + Update Info-toc-build parsing + + * lisp/info.el (Info-toc-build): Update to understand EMDASH + instead of a hyphen in the detailed node listing (bug#28074). + +2020-12-12 Stefan Kangas + + Prefer setq-local in python.el + + * lisp/progmodes/python.el: Require Emacs 24.2 instead of 24.1. + (python-indent-guess-indent-offset) + (python-shell-font-lock-with-font-lock-buffer) + (python-shell-font-lock-turn-on) + (python-shell-font-lock-turn-off, python-shell-font-lock-toggle) + (python-shell-comint-watch-for-first-prompt-output-filter) + (inferior-python-mode, python-shell-completion-native-turn-off) + (python-shell-completion-native-turn-on) + (python-pdbtrack-comint-output-filter-function, python-mode): + Prefer setq-local. + +2020-12-12 Lars Ingebrigtsen + + Preserve point in dired buffers in dired-*-find-file* commands + + * lisp/dired.el (dired--find-file): New function (bug#28949). + (dired-find-file): Use it. + (dired-mouse-find-file): Ditto. + (dired-find-file-other-window): Ditto. + +2020-12-12 Lars Ingebrigtsen + + Make dired-toggle-read-only check whether the directory is writable + + * lisp/dired.el (dired-toggle-read-only): Check that the directory + is writable (bug#29412). + +2020-12-12 Eli Zaretskii + + Unbreak the MS-Windows build broken by recent changes + + * src/image.c (rsvg_handle_set_dpi_x_y) [WINDOWSNT]: DEF_DLL_FN it. + (init_svg_functions): LOAD_DLL_FN rsvg_handle_set_dpi_x_y. + : Define as a macro + +2020-12-12 Lars Ingebrigtsen + + Improve the documentation of marker handling when reverting + + * doc/lispref/backups.texi (Reverting): Mention markers from + non-file sources (bug#30028). + + * lisp/files.el (revert-buffer): Mention what happens with markers + (bug#30028). + + * src/fileio.c (Finsert_file_contents): Say a bit more about what + markers are restored (bug#30028). + +2020-12-12 Eli Zaretskii + + Improve support for 'memory-report' on MS-Windows + + * src/w32term.c (w32_image_size): New function. + * src/image.c (image_frame_cache_size) [HAVE_NTGUI]: Support + reporting the size of frame image cache. + (image_frame_cache_size, Fimage_cache_size): The total size is + now of the type 'size_t', not 'int'. + +2020-12-12 Pankaj Jangid + + Allow customizing the Gnus summary thread indicators + + * doc/misc/gnus.texi (Summary Buffer Lines): Document them. + + * lisp/gnus/gnus-sum.el (gnus-summary-prepare-threads): Use them. + + * lisp/gnus/gnus-sum.el (gnus-sum-opening-bracket) + (gnus-sum-closing-bracket, gnus-sum-opening-bracket-adopted) + (gnus-sum-closing-bracket-adopted): New variables. + +2020-12-12 Alan Third + + Improve some NS drawing code + + * src/nsterm.m (ns_update_end): There's no need to schedule a redraw + if nothing has been changed. + (ns_set_vertical_scroll_bar): + (ns_set_horizontal_scroll_bar): Fix the logic for clearing under the + scrollbars. + (ns_clear_under_internal_border): No need to clip, the default + clipping rectangle will be fine. + +2020-12-12 Alan Third + + Use real DPI when rendering SVGs (bug#45124) + + * src/image.c (svg_css_length_to_pixels): Pass in a DPI value instead + of using a hard coded value. + (svg_load_image): Set the DPI on the rsvg_handle, and pass it to + svg_css_length_to_pixels. + +2020-12-12 Zajcev Evgeny + + Explicitly specify svg base_uri using `:base-uri' image property + + * src/image.c (svg_load): Check `:base-uri' image property to + explicitly set base_uri for images embedded into SVG + +2020-12-12 Alan Third + + Fix crash when using XRender and restoring image from X (bug#44930) + + * src/dispextern.h (struct image): Add original dimension elements. + * src/image.c (image_set_transform): Store the original dimensions. + (image_get_x_image): If we're using transforms use the original + dimensions with XGetImage. + +2020-12-12 Stefan Monnier + + * lisp/emacs-lisp/thunk.el (thunk-let*): Don't modify `bindings` + +2020-12-12 Stefan Monnier + + * lisp/play/dunnet.el: Make it so loading the file is harmless + + Move comments into docstrings while at it. + + (dun-batch): New function. + +2020-12-11 Lars Ingebrigtsen + + Fix copyright line + +2020-12-11 Lars Ingebrigtsen + + button-buttonize doc string clarification + + * lisp/button.el (button-buttonize): Clarify what happens when + DATA isn't present. + +2020-12-11 Lars Ingebrigtsen + + Fix image-cache-size crash + + * src/image.c (image_frame_cache_size): Ensure that img->pixmap is + in use before trying to access it. + +2020-12-11 Stefan Kangas + + * src/fns.c (Fbuffer_hash): Doc fix. (Bug#45178) + +2020-12-11 Lars Ingebrigtsen + + Also sort the totals section by size + + * lisp/emacs-lisp/memory-report.el (memory-report): Sort the + totals by size, too. + +2020-12-11 Lars Ingebrigtsen + + Tweak memory-report--format + + * lisp/emacs-lisp/memory-report.el (memory-report--format): Make + everything line up, even when there's "1023.4kB". + +2020-12-11 F. Jason Park (tiny change) + + Append incremental message segments in socks-filter + + * lisp/net/socks.el (socks-filter): Preserve the order data arrive + instead of semi-reversing it (bug#45162). + +2020-12-11 Pankaj Jangid + + docstring: If FRAME is nil, it defaults to selected frame. + + * src/frame.c (Fset_frame_size): Clarify what a nil FRAME + parameter means (bug#45170). + +2020-12-11 Lars Ingebrigtsen + + Clarify fortran-beginning-of-subprogram doc string after change + + * lisp/progmodes/fortran.el (fortran-beginning-of-subprogram): + Clarify doc string (bug#33208). + +2020-12-11 Stefan Kangas + + * lisp/progmodes/python.el: Bump version. + +2020-12-11 Lars Ingebrigtsen + + Fix compilation of image.c on non-Cairo systems + + * src/image.c (image_frame_cache_size): pixmap->width etc is only + defined on Cairo. Return 0 for now on other systems. + +2020-12-11 Roland Winkler + + bibtex-autokey-get-year: Follow iso8601 + + * lisp/textmodes/bibtex.el (bibtex-autokey-get-year): Follow + iso8601 (bug#36252). + +2020-12-11 Lars Ingebrigtsen + + Fix object-interval tests + + * test/src/fns-tests.el (object-intervals): Fix tests. + +2020-12-11 Lars Ingebrigtsen + + Fix parsing error in exif + + * lisp/image/exif.el (exif--parse-exif-chunk): The offset is a + four-byte number. Reported by Alan Light . + +2020-12-11 Lars Ingebrigtsen + + Add a new command `memory-report' + + * doc/lispref/internals.texi (Garbage Collection): Document it. + * lisp/emacs-lisp/memory-report.el: New package. + +2020-12-11 Lars Ingebrigtsen + + Add new function `object-intervals' + + * doc/lispref/text.texi (Examining Properties): Document it. + * src/fns.c (Fobject_intervals): New defun. + (collect_interval): New function. + +2020-12-11 Lars Ingebrigtsen + + Add new function 'image-cache-size' + + * src/image.c (Fimage_cache_size): New defun. + (image_frame_cache_size): New function. + +2020-12-11 Lars Ingebrigtsen + + Add a new function `button-buttonize' + + * doc/lispref/display.texi (Manipulating Buttons): Document it. + + * lisp/button.el (button-buttonize): Implement it. + +2020-12-11 Michael Albinus + + * lisp/battery.el (battery--upower-devices): Protect the D-Bus call. + + (Bug#45163) + +2020-12-11 Tassilo Horn + + Bind k to image-kill-buffer in doc-view-mode-map. + + * lisp/doc-view.el (doc-view-mode-map): Bind k to image-kill-buffer. + The binding k -> doc-view-kill-proc-and-buffer has been removed in + 2015 and the function been made an obsolete function alias to + image-kill-buffer (bug#45157). + +2020-12-11 Basil L. Contovounesios + + Fix quoting in gnus-buffer-configuration + + * lisp/gnus/gnus-win.el (gnus-buffer-configuration): Include + shell-command-buffer-name value rather than symbol in pipe + configuration. (Bug#39138, bug#45154) + +2020-12-11 Eric Abrahamsen + + Be more graceful about handling Gnus search errors + + One search may be applied to several servers: don't let one server's + error derail the whole process. + + * lisp/gnus/gnus-search.el (gnus-search-config-error): Define new + error. + (gnus-search-run-search, gnus-search-server-to-engine): Raise this + specific error as appropriate. + (gnus-search-run-query): Catch this error and effectively demote it. + +2020-12-10 Stefan Kangas + + Remove some ancient Emacs compat code from cperl-mode + + This variable has this value by default since Emacs 19.34. + + * lisp/progmodes/cperl-mode.el (cperl-mode): Remove some compat code. + +2020-12-10 Stefan Kangas + + Prefer setq-local in cperl-mode.el + + * lisp/progmodes/cperl-mode.el (cperl-mode, cperl-info-buffer) + (cperl-setup-tmp-buf, cperl-emulate-lazy-lock): Prefer setq-local. + +2020-12-10 Stefan Kangas + + Prefer setq-local in bibtex-style.el + + * lisp/textmodes/bibtex-style.el (bibtex-style-mode): Prefer + setq-local. + +2020-12-10 Eli Zaretskii + + Avoid segfaults in pos_visible_p + + * src/xdisp.c (pos_visible_p): Don't try accessing the glyphs + produced by iterator whose glyph_row was set to NULL; instead, + record the X coordinate before the display string when moving past + it, and use the recorded coordinate if needed. (Bug#45156) + +2020-12-10 Mattias EngdegÃ¥rd + + Fupcase no longer maps ?ß to itself (bug#11309) + + * test/src/casefiddle-tests.el (casefiddle-tests-char-casing): + (upcase ?ß) now returns ?ẞ (U+7838), partly for technical reasons but + the previous behaviour was arbitrary and arguably less useful. + Correct upcasing of ß is normally SS, which is what Fupcase returns if + given a string, or (for special purposes) ẞ. + +2020-12-10 Juri Linkov + + Allow creating a new tab from the minibuffer (bug#45072) + + * lisp/tab-bar.el (tab-bar-new-tab-to): Select the original window + when selected window is the minibuffer. + +2020-12-10 Dmitry Gutov (tiny change) + + Valentin Gatien-Baron + + * lisp/vc/vc-hg.el (vc-hg-working-revision): + Use 'hg log -T' instead of 'hg parent' (bug#36534). + +2020-12-09 Stefan Kangas + + Fix thinko in my previous commit + + * lisp/pcomplete.el (pcomplete-comint-setup): Fix thinko in my + previous commit. This was not a quoted symbol but a variable, and + therefore cannot use setq-local. + +2020-12-09 Dmitry Gutov + + * lisp/progmodes/xref.el: Bump the version. + +2020-12-09 Dmitry Gutov + + Allow specifying the project to switch to programmatically + + * lisp/progmodes/project.el (project-switch-project): + Allow specifying the project to switch to programmatically + (bug#45134). + +2020-12-09 Dmitry Gutov + + Add missing defcustom keywords to new variables + + * lisp/progmodes/xref.el (xref-search-program-alist) + (xref-search-program): Add :version and :package-version. + +2020-12-09 Lars Ingebrigtsen + + Clarify `scroll-preserve-screen-position' doc string + + * src/window.c (syms_of_window): Clarify the doc string (bug#7910). + +2020-12-09 Juri Linkov + + Remove isearch-input-method-local-p and always set buffer-local input-method + + * lisp/isearch.el (isearch-input-method-local-p): Remove defvar. + (isearch-mode): Don't set isearch-input-method-local-p. + Set buffer-local input-method-function to nil. + (isearch-done): When isearch-input-method-function is still non-nil, + set the buffer-local value of input-method-function. (Bug#45005) + + * lisp/international/isearch-x.el (isearch-toggle-specified-input-method) + (isearch-toggle-input-method, isearch-transient-input-method): + Don't set isearch-input-method-local-p to t. Set buffer-local + input-method-function to nil. + + * lisp/language/korea-util.el (isearch-toggle-korean-input-method) + (isearch-hangul-switch-symbol-ksc, isearch-hangul-switch-hanja): + Don't set isearch-input-method-local-p to t. Set buffer-local + input-method-function to nil. + +2020-12-09 Juri Linkov + + Support highlighting of ripgrep output (bug#44983) + + * etc/grep.txt: Add ripgrep samples. + + * lisp/progmodes/grep.el (grep-match-regexp): Highlight ripgrep matches too. + (grep-regexp-alist): Remove $ to highlight ripgrep binary file matches. + +2020-12-09 Mattias EngdegÃ¥rd + + Stricter gradle-kotlin message pattern + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + Rule 'gradle-kotlin': don't be more forgiving than necessary; we know + exactly what the output looks like (see + https://github.com/JetBrains/kotlin/commit/\ + ffe8ae3840d7b9bdc82170c8181031f05ced68bd) and there is no reason to + risk mismatches or expensive backtracking (bug#18109). Recognise + 'info' level messages. Convert to rx. + +2020-12-09 Lars Ingebrigtsen + + Include the keymap in the gud-mode doc string + + * lisp/progmodes/gud.el (gud-mode): Add the gud keymap to the end + of the doc string for easier access (bug#31406). + +2020-12-09 Lars Ingebrigtsen + + `pdb' doc string clarification + + * lisp/progmodes/gud.el (pdb): Mention that this command is for + debugging Python scripts. + +2020-12-09 Glenn Morris + + Merge from origin/emacs-27 + + c0b3e38d7c Update publicsuffix.txt from upstream + 3fe6cea6e0 * lisp/vc/vc.el: Update args of backend API calls in the h... + +2020-12-09 Glenn Morris + + Merge from origin/emacs-27 + + 32090a3de4 Improve documentation of streams in batch mode + 34feded008 Support ks_c_5601-1987 encoding + da00a6f317 Fix Xaw widget text disappearing when built with cairo (bu... + 6916e7954a Improve documentation of 'ps-print-color-p' + 6663b2f211 ; * lisp/simple.el (move-beginning-of-line): Doc fix. + a4dd03ebe9 ; * src/charset.c (Fmap_charset_chars): Doc fix. + d86cc3ffcb ; * src/chartab.c, src/lisp.h: Fix typos in comments. + +2020-12-09 Lars Ingebrigtsen + + Fix mark-defun in fortran-mode + + * lisp/progmodes/fortran.el (fortran-beginning-of-subprogram): + Make mark-defun work (bug#33208). + +2020-12-09 Eli Zaretskii + + Improve predictability of 'scroll-preserve-screen-position' + + * src/window.c (window_scroll_pixel_based): Compute the new + window-start more precisely when 'scroll-preserve-screen-position' + is non-nil. (Bug#8355) + +2020-12-09 Eli Zaretskii + + Update docs of 'defvar' and 'defface' + + * doc/lispref/display.texi (Defining Faces): + * doc/lispref/variables.texi (Defining Variables): Update the + descriptions of 'defvar' and 'defface' per recent changes in + 'eval-last-sexp'. (Bug#45125) + +2020-12-09 Lars Ingebrigtsen + + Fix info mode fontification of built-in (*note Built-ins::) + + * lisp/info.el (Info-fontify-node): Don't interpret things like + "built-in" as being the word "in" (bug#34661). + +2020-12-09 Serge Tupchii (tiny change) + + Fix crash (segfault) in etags on generating tags for Erlang files + + * lib-src/etags.c: Set allocated and lastlen to zero, after + freeing last ptr in Erlang_functions to prevent dereferencing NULL + pointer (bug#45122). + + + (cherry picked from commit 2d8f0364fcd1d5dad2b82dd3a9af870b03854547) + +2020-12-09 Mattias EngdegÃ¥rd + + Recognise ß properly as a lower-case letter (bug#11309) + + ß was incorrectly treated as a caseless character and thus not matched + by the regexp [[:lower:]] (or, in case-folding mode, [[:upper:]]). + The reason is that the upcase table maps it to itself, which can be + remedied by mapping it to ẞ (U+7838) instead. Doing so does not + affect upcasing since the special-uppercase property maps it to SS. + + * lisp/international/characters.el (tbl): Map ß to ẞ in the upcase + table. + * test/src/regex-emacs-tests.el (regexp-eszett): Uncomment previously + failing tests. Add checks to make sure that case transformations + remain valid. + +2020-12-09 Lars Ingebrigtsen + + cl-pushnew manual clarification + + * doc/misc/cl.texi (Modify Macros): Don't claim that cl-pushnew + uses eql. + (Lists as Sets): Mention that eql is the default comparison function. + +2020-12-09 Lars Ingebrigtsen + + cl-defmethod doc string clarification + + * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc + string, and give an example (bug#42322). + +2020-12-09 Lars Ingebrigtsen + + Clarify the default-boundp doc string + + * src/data.c (Fdefault_boundp): Doc string clarification (bug#44141). + +2020-12-09 Lars Ingebrigtsen + + Make ediff offer to create files it's inferring + + * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map): Offer to create + the inferred file name (if it doesn't exist) (bug#8009). This allows + applying a patch that creates a file. + +2020-12-09 Michael Albinus + + Improve tests for gio file notifications + + * .gitlab-ci.yml (test-filenotify-gio): Call "make -k". + + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch): + Set connection property "gio-file-monitor". + + * lisp/net/tramp-sh.el (tramp-get-remote-gio-file-monitor): New defun. + (tramp-sh-handle-file-notify-add-watch): Use it. + + * test/lisp/filenotify-tests.el (file-notify--test-read-event): Simplify. + (file-notify--test-monitor): Handle also remote "gio monitor". + (file-notify-test03-events, file-notify-test04-autorevert) + (file-notify-test05-file-validity, file-notify-test08-backup) + (file-notify-test09-watched-file-in-watched-dir): + Handle GKqueueFileMonitor. + +2020-12-09 Lars Ingebrigtsen + + Filter revoked keys when saving files + + * lisp/epa-file.el (epa-file-write-region): Use it to select a + non-revoked key (bug#22359). + + * lisp/epg.el (epg--filter-revoked-keys): New function. + +2020-12-09 Stefan Kangas + + Prefer setq-local in most files + + * lisp/apropos.el (apropos-print): + * lisp/buff-menu.el (Buffer-menu-mode): + * lisp/calc/calc.el (calc-trail-buffer): + * lisp/chistory.el (command-history-mode): + * lisp/dabbrev.el: + * lisp/dframe.el (dframe-frame-mode): + * lisp/doc-view.el (doc-view-presentation-mode): + * lisp/ebuff-menu.el (electric-buffer-menu-mode) + (electric-buffer-update-highlight): + * lisp/edmacro.el (edit-kbd-macro): + * lisp/face-remap.el (buffer-face-set, buffer-face-toggle): + * lisp/files.el: + (find-file-noselect-1, hack-local-variables-confirm) + (set-visited-file-name, revert-buffer--default): + * lisp/filesets.el (filesets-spawn-external-viewer): + * lisp/find-dired.el (find-dired): + * lisp/find-lisp.el (find-lisp-find-dired-internal): + * lisp/finder.el (finder-mode): + * lisp/font-core.el (font-lock-default-function): + * lisp/format.el (format-annotate-function): + * lisp/help-fns.el (describe-variable): + * lisp/help-mode.el (help-mode): + * lisp/icomplete.el (icomplete-minibuffer-setup) + (icomplete--in-region-setup): + * lisp/ido.el (ido-completion-help, ido-tidy): + * lisp/international/robin.el (robin-activate): + * lisp/leim/quail/hangul.el (hangul-input-method-activate): + * lisp/leim/quail/uni-input.el (ucs-input-activate): + * lisp/man.el (Man-mode): + * lisp/master.el (master-set-slave): + * lisp/minibuffer.el (minibuffer-completion-help) + (read-file-name-default): + * lisp/outline.el (outline-minor-mode): + * lisp/pcomplete.el (pcomplete-comint-setup): + * lisp/proced.el (proced-mode): + * lisp/recentf.el (recentf-edit-list, recentf-open-files-items): + * lisp/replace.el (occur-1): + * lisp/reveal.el (reveal-mode): + * lisp/ruler-mode.el (ruler--save-header-line-format): + * lisp/scroll-lock.el (scroll-lock-mode): + * lisp/startup.el (normal-top-level, normal-splash-screen): + * lisp/strokes.el (strokes-list-strokes): + * lisp/thumbs.el (thumbs-insert-image, thumbs-show-thumbs-list): + * lisp/tree-widget.el (tree-widget-set-theme): + * lisp/window.el (read-buffer-to-switch): + * lisp/xwidget.el (xwidget-webkit-begin-edit-textarea): Prefer + setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in dired extensions + + * lisp/dired-aux.el (dired-diff, dired-compare-directories) + (dired-do-create-files, dired-isearch-filenames): + * lisp/dired-x.el (dired-virtual, dired-vm): + * lisp/wdired.el (wdired-change-to-wdired-mode) + (wdired-change-to-dired-mode, wdired-preprocess-perms): + +2020-12-09 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2020-11-30 21:57:25 UTC. + +2020-12-09 Mattias EngdegÃ¥rd + + Fix [:upper:] and [:lower:] for Unicode characters (bug#11309) + + * src/regex-emacs.c (execute_charset): Add canon_table argument to + allow expression of a correct predicate for [:upper:] and [:lower:]. + (mutually_exclusive_p, re_match_2_internal): Pass extra argument. + * test/src/regex-emacs-tests.el (regexp-case-fold, regexp-eszett): + New tests. Parts of regexp-eszett still fail and are commented out. + +2020-12-09 Stefan Kangas + + Prefer setq-local in some remaining progmodes + + * lisp/progmodes/dcl-mode.el (dcl-mode): + * lisp/progmodes/hideif.el (hide-ifdef-mode) + (hide-ifdef-toggle-shadowing): + * lisp/progmodes/ps-mode.el (ps-mode, ps-run-mode): + * lisp/progmodes/xscheme.el (xscheme-start) + (local-set-scheme-interaction-buffer, scheme-interaction-mode): + Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (gdb--check-interpreter, gdb) + (gdb-init-buffer, gdb-get-buffer-create, gdb-threads-mode) + (gdb-memory-mode, gdb-disassembly-mode, gdb-frames-mode): Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in etags.el + + * lisp/progmodes/etags.el (initialize-new-tags-table) + (etags-recognize-tags-table, tags-recognize-empty-tags-table): + Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in cfengine.el + + * lisp/progmodes/cfengine.el (cfengine-common-settings) + (cfengine3-mode, cfengine2-mode): Prefer setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in sql.el + + * lisp/progmodes/sql.el (sql--oracle-show-reserved-words) + (sql-product-font-lock, sql-list-all, sql-mode) + (sql-interactive-mode, sql-product-interactive): Prefer + setq-local. + +2020-12-09 Stefan Kangas + + Prefer setq-local in font-lock.el + + * lisp/font-lock.el: + (font-lock-add-keywords, font-lock-turn-on-thing-lock) + (font-lock-fontify-syntactic-keywords-region) + (font-lock-set-defaults): Prefer setq-local. + +2020-12-09 Stefan Kangas + + * lisp/progmodes/sql.el: Remove redundant URL. + +2020-12-09 Basil L. Contovounesios + + Make abbrev-tests.el more deterministic + + * test/lisp/abbrev-tests.el (abbrev--table-symbols-test): Don't rely + on order of symbols in obarray. + +2020-12-09 Lars Ingebrigtsen + + Make uncache_image slightly more efficient + + * src/image.c (uncache_image): Extremely minor speed-up: Only + compute the hash once. + +2020-12-09 Stefan Monnier + + * src/fns.c: Remove left over include + +2020-12-09 Lars Ingebrigtsen + + Restore Emacs 27 image cache semantics + + * src/image.c (equal_lists): Remove. + (search_image_cache): Use Fequal instead of equal_lists. + Benchmarking shows no measurable time difference, and this + restores the cache semantics from Emacs 27 (where file names + didn't have to be EQ for the cache to be used). + +2020-12-09 João Távora + + Remove interactive spec from internal eldoc--format-doc-buffer + + Per bug#43609. + + * lisp/emacs-lisp/eldoc.el (eldoc--format-doc-buffer): Remove + useless interactive spec. + +2020-12-09 Stefan Monnier + + * src/fns.c (hash_string): Speed up on large strings + +2020-12-08 Lars Ingebrigtsen + + term.el comment update + + * lisp/term.el: Fix wrong command name in the comments (bug#7041). + +2020-12-08 Serge Tupchii (tiny change) + + Fix crash (segfault) in etags on generating tags for Erlang files + + * lib-src/etags.c: Set allocated and lastlen to zero, after + freeing last ptr in Erlang_functions to prevent dereferencing NULL + pointer (bug#45122). + +2020-12-08 Lars Ingebrigtsen + + Make rcirc nick renaming heed nickname max lengths + + * lisp/net/rcirc.el (rcirc-server-parameters): New variable (bug#6795). + (rcirc-connect): Set it. + (rcirc-handler-433): Use the length from the server. + (rcirc-handler-005): Collect server data. + (rcirc-server-parameter-value): New utility function. + (rcirc--make-new-nick): New function. + +2020-12-08 Lars Ingebrigtsen + + Make hexl scrolling commands work more like the normal ones + + * lisp/hexl.el (hexl-scroll-down): + (hexl-scroll-up): Heed `next-screen-context-lines' (bug#7031). + +2020-12-08 Lars Ingebrigtsen + + Fix scrolling in hexl-mode when ruler-mode is on + + * lisp/hexl.el (hexl-scroll-down): + (hexl-scroll-up): Take ruler-mode into account when computing the + number of lines (bug#7031). These commands would previously jump + one line too many by default, skipping one line. + +2020-12-08 Eli Zaretskii + + Improve documentation of 'backtrace-on-error-noninteractive' + + * src/eval.c (syms_of_eval) : + Format the doc string according to conventions. + + * etc/NEWS: Improve formatting and wording of the entry describing + 'backtrace-on-error-noninteractive. + +2020-12-08 Lars Ingebrigtsen + + Make the history traversal functions in coming more regular + + * lisp/comint.el (comint-previous-matching-input): Allow restoring + the input on wraps (bug#7885). + (comint-previous-matching-input-from-input): Restore input on wraps. + +2020-12-08 Boruch Baum + + Make table-fixed-width-mode work again + + * lisp/textmodes/table.el (table--update-cell): Make + table-fixed-width-mode work (bug#18183). + +2020-12-08 Lars Ingebrigtsen + + Use the proper face for the Gnus mode line id + + * lisp/gnus/gnus-sum.el (gnus-set-mode-line): + * lisp/gnus/gnus-group.el (gnus-group-set-mode-line): Use the + mode-line-buffer-id face on the buffer id. + +2020-12-08 Lars Ingebrigtsen + + Simplify gnus-mode-line-buffer-identification + + * lisp/gnus/gnus.el (gnus-mode-line-image-cache): Remove. + (gnus-mode-line-buffer-identification): Use the find-image cache. + +2020-12-08 Lars Ingebrigtsen + + Cache toolbar icon data paths + + * lisp/image.el (find-image): Add an optional CACHE parameter. + (find-image--cache): New variable. + + * lisp/tool-bar.el (tool-bar--image-expression): Use cached data + to avoid looking up the image files on each refresh. + +2020-12-08 Stefan Kangas + + Prefer setq-local in grep.el + + * lisp/progmodes/grep.el (grep-process-setup, grep-mode): Prefer + setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in meta-mode.el + + * lisp/progmodes/meta-mode.el (meta-common-mode, metafont-mode) + (metapost-mode): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in compile.el + + * lisp/progmodes/compile.el (compile-command, compilation-start) + (compilation-mode, compilation-setup, compilation-filter) + (compilation-forget-errors): Prefer setq-local. + +2020-12-08 Stefan Kangas + + * admin/nt/dist-build/build-dep-zips.py: Remove unused import. + +2020-12-08 Stefan Kangas + + Prefer setq-local in tests + + * test/lisp/allout-tests.el (allout-test-resumption-prior-value-resumed) + (allout-test-resumption-multiple-holds) + (allout-test-resumption-unbinding): + * test/lisp/emacs-lisp/faceup-resources/faceup-test-mode.el + (faceup-test-mode): + * test/lisp/epg-tests.el (with-epg-tests): + * test/src/data-tests.el (binding-test-buffer-A): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in term.el + + * lisp/term.el (term-mode, term-exec, term-emulate-terminal) + (term-process-pager): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in shell.el + + * lisp/shell.el (shell-completion-vars, shell-mode): Prefer + setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in speedbar.el + + * lisp/speedbar.el (speedbar-frame-mode, speedbar-mode) + (speedbar-add-localized-speedbar-support): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in newcomment.el + + * lisp/newcomment.el (comment-inline-offset) + (comment-normalize-vars): Prefer setq-local. + +2020-12-08 Stefan Kangas + + * lisp/locate.el (locate, locate-mode): Prefer setq-local. + + * lisp/array.el (array-mode): Prefer setq-local. + +2020-12-08 Stefan Kangas + + Prefer setq-local in simple.el + + * lisp/simple.el (read-extended-command, goto-history-element) + (minibuffer-history-isearch-setup, read-shell-command) + (visual-line-mode, completion-setup-function, read-only-mode) + (visible-mode): Prefer setq-local. + +2020-12-07 Philipp Stephani + + Fix bug in how ERT invokes its debugger. + + The debugger needs to receive a list of the error symbol and data; + cf. the documentation of the `debugger' variable. This bug manifested + itself in ERT forms such as (should (integerp (ert-fail "Boo"))), + which resulted in an incorrect condition object. Note that forms such + as (should (ert-fail "Boo")) weren't affected because they wouldn't + use the `ert--should-signal-hook'. + + * test/emacs-lisp/ert.el (ert--should-signal-hook): Call debugger with + the right arguments. + + * test/lisp/emacs-lisp/ert-tests.el (ert-test-fail-inside-should): Add + unit test. + +2020-12-07 Lars Ingebrigtsen + + Avoid problems when calling desktop-read twice + + * lisp/desktop.el (desktop-read): Don't reload the desktop file if + it's already been loaded, because the later query may lead to + desktop-dirname being set to nil (bug#9765). + +2020-12-07 Lars Ingebrigtsen + + Make previous Fkill_emacs change safer + + * src/emacs.c (Fkill_emacs): Don't run `kill-emacs-hook' if it's nil. + +2020-12-07 Daniel Martín + + Add commands xref-next-group and xref-prev-group + + * lisp/progmodes/xref.el (xref-next-group): New command that navigates + to the first item of the next xref group (typically a file). + (xref-prev-group): New command that navigates + to the first item of the next xref group (typically a file). + (xref--xref-buffer-mode-map): Bound the new commands to 'N' and 'P', + respectively. + * doc/emacs/maintaining.texi (Xref Commands): Document the new + commands in the Emacs manual. + * etc/NEWS: Announce them (bug#45089). + +2020-12-07 Alyssa Ross (tiny change) + + Only use the comint environment in comint-derived modes + + * lisp/progmodes/compile.el (compilation-start): Only use the + comint environment in comint-derived modes (bug#45095). + +2020-12-07 Stefan Kangas + + Prefer setq-local in calendar/*.el + + * lisp/calendar/calendar.el (calendar-mode): + * lisp/calendar/diary-lib.el (diary-list-entries, diary-mode): + (diary-fancy-display-mode): Prefer setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in gnus/*.el + + * lisp/gnus/gnus-agent.el (gnus-agent-mode) + (gnus-agent-get-undownloaded-list, gnus-agent-open-history): + * lisp/gnus/gnus-art.el (gnus-article-setup-highlight-words) + (gnus-article-mode, gnus-article-setup-buffer, defsubst) + (gnus-article-describe-bindings, gnus-article-edit-mode): + * lisp/gnus/gnus-cus.el (gnus-custom-mode, gnus-group-customize) + (gnus-score-customize, gnus-agent-customize-category): + * lisp/gnus/gnus-group.el (gnus-group-make-tool-bar): + * lisp/gnus/gnus-msg.el (gnus-setup-message) + (gnus-summary-news-other-window, gnus-configure-posting-styles): + * lisp/gnus/gnus-salt.el (gnus-pick-mode, gnus-binary-mode): + * lisp/gnus/gnus-score.el (gnus-score-edit-current-scores) + (gnus-score-edit-file): + * lisp/gnus/gnus-srvr.el (gnus-server-mode): + * lisp/gnus/gnus-start.el (gnus-no-server-1) + (gnus-dribble-read-file, gnus-save-newsrc-file) + (gnus-gnus-to-newsrc-format): + * lisp/gnus/gnus-sum.el (gnus-summary-make-tool-bar) + (gnus-summary-mode, gnus-summary-setup-buffer) + (gnus-select-newsgroup, gnus-summary-edit-article) + (gnus-summary-setup-default-charset): + * lisp/gnus/gnus-topic.el (gnus-topic-mode): + * lisp/gnus/gnus-undo.el (gnus-undo-mode): + * lisp/gnus/gnus.el (gnus-simplify-mode-line): + * lisp/gnus/message.el (message-cite-reply-position) + (message-cite-style, message-mode, message-setup-fill-variables): + * lisp/gnus/mm-view.el (mm-display-inline-fontify): + * lisp/gnus/mml.el (mml-mode): + * lisp/gnus/nndiary.el (nndiary-open-nov): + * lisp/gnus/nnfolder.el (nnfolder-save-buffer) + (nnfolder-open-nov): + * lisp/gnus/nnheader.el (nnheader-init-server-buffer): + * lisp/gnus/nnimap.el (nnimap-make-process-buffer): + * lisp/gnus/nnml.el (nnml-get-nov-buffer): Prefer setq-local. + +2020-12-07 Andrea Corallo + + * Spawn a sub-process for running GCC also in batch mode (bug#45056) + + * lisp/emacs-lisp/comp.el (comp-async-compilation): New variable. + (comp-final): Always run the C side of the compilation as a + sub-process unless during bootstrap or async compilation. + (comp-run-async-workers): Set `comp-async-compilation'. + +2020-12-07 Lars Ingebrigtsen + + Insert skeletons at the correct point + + * lisp/skeleton.el (skeleton-read): Don't insert the skeleton at + an arbitrary point if the user moves around (bug#17752). + +2020-12-07 Lars Ingebrigtsen + + Allow shutting down Emacs even if there are errors in kill-emacs-hook + + * lisp/subr.el (run-hook-query-error-with-timeout): New function + (bug#28542). + + * src/emacs.c (Fkill_emacs): Use it to allow exiting Emacs even if + there are errors in kill-emacs-hook. + (syms_of_emacs): Define the symbol. + +2020-12-07 Lars Ingebrigtsen + + Ensure that new emacsclient frames has focus + + * lisp/server.el (server-execute): Focus the frame here... + (server-switch-buffer): Instead of here (bug#15469). This ensures + that the frame has focus if Emacs is querying the user about + something when opening a file (for instance "Revert from file?"). + +2020-12-07 Lars Ingebrigtsen + + Allow inhibiting the instructions on how to close emacsclient frames + + * doc/emacs/misc.texi (Invoking emacsclient): Document it. + * lisp/server.el (server-client-instructions): New variable. + (server-execute): Use it. + +2020-12-07 Illia Ostapyshyn (tiny change) + + Allow using newer versions of Gnuplot from calc again + + * lisp/calc/calc-graph.el (calc-graph-plot): Don't use the "time" + abbreviation for "timestamp" (bug#39232) -- it's no longer valid + after + https://github.com/gnuplot/gnuplot/commit/b979b5371bc1c18bf8f5bd756e7c1fb54dafd8cc + +2020-12-07 Lars Ingebrigtsen + + Fix file name quoting problems in tex-mode + + * lisp/textmodes/tex-mode.el (tex--quote-spec): New function + (bug#14286). + (tex-format-cmd): Use it. + (tex-compile): Don't quote the file names, because we're using + `file-exists-p' and friends on the results later, and that fails + on systems where everything is quoted, and on file names that need + quoting. + +2020-12-07 Lars Ingebrigtsen + + Clarify icomplete-show-matches-on-no-input doc string + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify + doc string (bug#19031), suggested by Andrii Kolomoiets. + +2020-12-07 Lars Ingebrigtsen + + Revert "Clarify icomplete-show-matches-on-no-input doc string" + + This reverts commit f352c57972d24464a42ea3e65dc8ac07d8e0517c. + + The new explanation of what icomplete does is wrong. + +2020-12-07 Mattias EngdegÃ¥rd + + Calc: simplify integer log2 and power of 2 + + We have bignums and fast primitives now; no caches are needed. + + * lisp/calc/calc-bin.el (math-power-of-2-cache) + (math-big-power-of-2-cache): Remove. + (math-power-of-2, math-integer-log2): Simplify. + (calcFunc-ash): Don't call math-power-of-2 with negative argument. + +2020-12-07 Mattias EngdegÃ¥rd + + * doc/misc/calc.texi (Predefined Units): Prune outdated kg text. + +2020-12-07 Philipp Stephani + + Unbreak a few unit tests that rely on lack of backtraces + + * test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-in-file) + (gv-dont-define-expander-other-file): + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-default-config): + Suppress backtraces in batch mode to unbreak unit tests. + +2020-12-07 Philipp Stephani + + Add new variable to selectively suppress backtraces in batch mode. + + * src/eval.c (syms_of_eval): Define new variable + 'backtrace-on-error-noninteractive' to selectively enable backtrace + printing in batch mode. + (signal_or_quit): Use it. + + * etc/NEWS: Document new variable. + + * test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode/inhibit): + New unit test. + +2020-12-07 Stefan Kangas + + * lisp/ielm.el (inferior-emacs-lisp-mode): Prefer setq-local. + + * lisp/ibuffer.el (ibuffer, ibuffer-mode): Prefer setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in whitespace.el + + * lisp/whitespace.el (whitespace-turn-on, whitespace-color-on): Prefer + setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in tar-mode.el + + * lisp/tar-mode.el (tar-summarize-buffer, tar-mode, tar-extract): + Prefer setq-local. + +2020-12-07 Stefan Kangas + + Prefer setq-local in tcl.el + + * lisp/progmodes/tcl.el (tcl-mode, inferior-tcl-mode, inferior-tcl): + (tcl-auto-fill-mode, tcl-guess-application): Prefer setq-local. + +2020-12-07 Michael Albinus + + * lisp/net/tramp.el (tramp-read-passwd): Use connection-local `auth-sources'. + + * 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): + Move setting of connection-local variables up. + +2020-12-07 Stefan Monnier + + * lisp/emacs-lisp/lisp-mode.el: Give paren syntax to [...] in lisp-data-mode + + (lisp-data-mode-syntax-table): Rename from lisp--mode-syntax-table. + Adjust all users. Set [...] to have paren syntax. + (lisp-data-mode): Don't set `lisp-syntax` arg any more + + * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-syntax-table): + Don't bother setting [...] to have paren syntax any more. + + * lisp/progmodes/inf-lisp.el (inferior-lisp-mode): Don't use + `lisp-syntax` arg of lisp-mode-variables any more. + +2020-12-06 Mattias EngdegÃ¥rd + + Remove Calc bignum remnants + + * lisp/calc/calc-macs.el (Math-natnum-lessp): + * lisp/calc/calc-ext.el (math-norm-bignum, math-compare-bignum): + * lisp/calc/calc-math.el (math-zerop-bignum) + (math-scale-bignum-digit-size): Remove. + + * lisp/calc/calc-bin.el (math-integer-log2, calcFunc-rot, math-clip): + * lisp/calc/calc-comb.el (math-prime-test, calcFunc-prfac) + (calcFunc-totient, calcFunc-moebius): + * lisp/calc/calc-ext.el (math-gcd): + * lisp/calc/calc-funcs.el (calcFunc-betaB): + * lisp/calc/calc-math.el (math-nth-root-int-iter, calcFunc-ilog): + Replace Math-natnum-lessp with <. + +2020-12-06 Juri Linkov + + * lisp/vc/vc-git.el: Update args of backend API calls in the header comments + + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html + +2020-12-06 Juri Linkov + + * lisp/vc/vc.el: Update args of backend API calls in the header comments + + https://lists.gnu.org/archive/html/emacs-devel/2020-12/msg00283.html + +2020-12-06 Juri Linkov + + Handle calling read-char-from-minibuffer and y-or-n-p from pre-command-hook + + * lisp/subr.el (read-char-from-minibuffer-insert-char) + (read-char-from-minibuffer-insert-other, y-or-n-p-insert-y) + (y-or-n-p-insert-n, y-or-n-p-insert-other): + Check for 'minibufferp' before executing the body. + (read-char-from-minibuffer, y-or-n-p): Let-bind this-command + before calling read-from-minibuffer. (Bug#45029) + +2020-12-06 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-12-06 Andrea Corallo + + * Unify common fallback exit point in `comp-cstr-union-1-no-mem'. + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): Define + a local function `give-up' as a common fall-back exit point. + +2020-12-06 Andrea Corallo + + Couple of `comp-cstr-union-1-no-mem' improvements for mixed neg pos union + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem): + Generalize disjoint pos types vs neg values conditions. + (comp-cstr-union-1-no-mem): Do not propagate ranges when we are + already returning integer as generic type. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add corresponding tests. + +2020-12-06 Philipp Stephani + + Print a backtrace on unhandled errors in batch mode (Bug#44942). + + * src/eval.c (signal_or_quit): Print a backtrace in batch mode if no + error handler was found. + + * test/src/eval-tests.el (eval-tests/backtrace-in-batch-mode) + (eval-tests/backtrace-in-batch-mode/demoted-errors): New unit tests. + + * etc/NEWS: Document change. + +2020-12-06 Eli Zaretskii + + Improve error message text of "C-x C-SPC" + + * lisp/simple.el (pop-global-mark): Mention the buffer name in the + error message. Suggested by T.V Raman . + +2020-12-06 Eli Zaretskii + + Improve documentation of streams in batch mode + + * doc/lispref/os.texi (Batch Mode): + * doc/lispref/streams.texi (Input Streams, Output Streams): Better + documentation of I/O streams in batch mode, with more + cross-references. + +2020-12-06 Michael Albinus + + Make Tramp scripts more unique and robust + + * lisp/net/tramp-sh.el (tramp-uudecode, tramp-perl-file-truename) + (tramp-perl-file-name-all-completions) + (tramp-perl-file-attributes) + (tramp-perl-directory-files-and-attributes) + (tramp-perl-encode-with-module, tramp-perl-decode-with-module) + (tramp-perl-encode, tramp-perl-decode, tramp-perl-pack) + (tramp-perl-unpack, tramp-hexdump-encode, tramp-awk-encode) + (tramp-hexdump-awk-encode, tramp-od-encode, tramp-od-awk-encode) + (tramp-awk-decode): Use format specifiers supported by + `tramp-expand-script'. Adapt docstring. + (tramp-vc-registered-read-file-names): Adapt docstring. + (tramp-sh-handle-file-local-copy): Let-bind local `default-directory'. + (tramp-expand-script): New defun. + (tramp-maybe-send-script, tramp-find-inline-encoding): Use it. + (tramp-local-coding-commands): Simplify. + +2020-12-06 Mattias EngdegÃ¥rd + + Unicode integrals in Calc + + * lisp/calc/calccomp.el (math-compose-integ): Use Unicode integral + signs when available instead of a crude ASCII approximation, with a + shorter stem to save space. + +2020-12-06 Basil L. Contovounesios + + Avoid modifying nnimap user option in spam.el + + * lisp/gnus/nnimap.el (nnimap--split-download-body): New variable. + (nnimap-fetch-inbox): Use it in conjunction with + nnimap-split-download-body. + * lisp/gnus/spam.el: Don't load nnimap.el at compile time for a + dynamic variable. + (spam-setup-widening): Rather than unconditionally set user option + nnimap-split-download-body, set nnimap--split-download-body to a + unique non-nil value only if the variable was nil (bug#44981). + (spam-teardown-widening): New function that undoes this if + nnimap--split-download-body still holds the unique value. + (spam-unload-hook): Call spam-teardown-widening to revert any change + to the value of nnimap--split-download-body. + +2020-12-06 Stefan Kangas + + Prefer setq-local in several progmodes + + * lisp/progmodes/executable.el (executable-interpret): + * lisp/progmodes/f90.el (f90-mode): + * lisp/progmodes/flymake-cc.el (flymake-cc--make-diagnostics): + * lisp/progmodes/fortran.el (fortran-mode): + * lisp/progmodes/gud.el (gud-gdb, sdb, dbx, xdb, perldb, pdb) + (jdb, gud-mode, gud-common-init, gdb-script-mode) + (gud-tooltip-activate-mouse-motions): + * lisp/progmodes/hideshow.el (hs-minor-mode): + * lisp/progmodes/icon.el (icon-mode): + * lisp/progmodes/ld-script.el (ld-script-mode): + * lisp/progmodes/mixal-mode.el (mixal-mode): + * lisp/progmodes/modula2.el (m2-mode): + * lisp/progmodes/simula.el (simula-mode): + * lisp/progmodes/subword.el (subword-setup-buffer): + * lisp/progmodes/which-func.el (which-function): Prefer setq-local. + +2020-12-06 Eli Zaretskii + + Support ks_c_5601-1987 encoding + + * lisp/language/korean.el (ks_c_5601-1987): Define as an alias for + 'korean-iso-8bit. (It is sometimes used in email messages.) + +2020-12-06 Stefan Kangas + + Prefer setq-local in emulation/*.el + + * lisp/emulation/edt.el (edt-select-mode): + * lisp/emulation/viper-cmd.el (viper-refresh-mode-line): + (viper-minibuffer-setup-sentinel): + * lisp/emulation/viper.el (viper-comint-mode-hook): Prefer setq-local. + +2020-12-06 Stefan Kangas + + Prefer setq-local in url/*.el + + * lisp/url/url-cookie.el (url-cookie-write-file): + * lisp/url/url-http.el (url-http-parse-headers): + * lisp/url/url-util.el (url-extract-mime-headers): Prefer setq-local. + +2020-12-06 YAMAMOTO Mitsuharu + + Fix Xaw widget text disappearing when built with cairo (bug#43418) + + * lwlib/lwlib-utils.c (crxft_font_open_name): Use FcFontMatch to + get a pattern to pass to cairo_ft_font_face_create_for_pattern. + +2020-12-05 Andrea Corallo + + * Memoize `comp-cstr-union-1' + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Do not synthesize the + copier. + (comp-cstr-ctxt): Add `union-1-mem-no-range' `union-1-mem-range' + slots. + (comp-cstr-copy): New function. + (comp-cstr-union-1-no-mem): Rename from `comp-cstr-union-1'. + (comp-cstr-union-1): New function. + +2020-12-05 Andrea Corallo + + More improvements to `comp-cstr-union-1' for mixed positive/negative cases + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Better handle + mixed positive/negated cases. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a number of tests. + +2020-12-05 Andrea Corallo + + * Fix `comp-cstr-to-type-spec' + + * lisp/emacs-lisp/comp-cstr.el (comp-star-or-num-p): New predicate. + (comp-type-spec-to-cstr): Make use of. + (comp-cstr-to-type-spec): Output correctly type specifiers + as (not (or integer ... + +2020-12-05 Andrea Corallo + + Fix union of homogeneously negated input constraints + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1): Fix logic. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a couple of tests. + +2020-12-05 Andrea Corallo + + * Add `with-comp-cstr-accessors' macro. + + * lisp/emacs-lisp/comp-cstr.el (with-comp-cstr-accessors): New macro. + (comp-cstr-union-1): Make use of `with-comp-cstr-accessors'. + +2020-12-05 Andrea Corallo + + Initial support for union of negated constraints + + * lisp/emacs-lisp/comp-cstr.el (comp-range-negation): New + function. + (comp-cstr-union-homogeneous-no-range): Rename from + `comp-cstr-union-no-range'. + (comp-cstr-union-homogeneous): Rename from `comp-cstr-union'. + (comp-cstr-union-1): New function. + (comp-cstr-union-no-range, comp-cstr-union): Rewrite in function + of `comp-cstr-union-1'. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a bunch of tests. + +2020-12-05 Andrea Corallo + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-no-range): Cosmetic. + +2020-12-05 Andrea Corallo + + Initial constraint negation support + + * lisp/emacs-lisp/comp-cstr.el (comp-cstr): Add `neg' slot. + (comp-range-negation, comp-cstr-negation) + (comp-cstr-negation-make): New functions. + (comp-type-spec-to-cstr): Enable `not` in type specifiers. + (comp-cstr-to-type-spec): Update logic to handle negation. + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add a test. + +2020-12-05 Stefan Monnier + + * lisp/progmodes/perl-mode.el: Fix handling of s'foo'bar' + + (perl-syntax-propertize-function): Don't put a syntax-property + on regexp-op delimiters if they're already handled correctly + by the normal syntax tables. + (perl-syntax-propertize-special-constructs): Mark the middle + quote of s'foo'bar' as punctuation. + + * test/manual/indent/perl.perl: Add new test cases. + +2020-12-05 Stefan Kangas + + Prefer setq-local in play/*.el + + * lisp/play/decipher.el (decipher-mode): + * lisp/play/doctor.el (make-doctor-variables): + * lisp/play/dunnet.el (dun-mode): + * lisp/play/gomoku.el (gomoku-mode): Prefer setq-local. + +2020-12-05 Basil L. Contovounesios + + Fix last change to shell-command + + * lisp/simple.el: Specify comint-term-environment arglist in + function declaration. + (shell-command): Load shell.el before calling + comint-term-environment; otherwise it is undefined. Allow + async-shell-command-width to take precedence over the COLUMNS value + returned by comint-term-environment. (Bug#45034) + +2020-12-05 Eli Zaretskii + + Improve documentation of 'ps-print-color-p' + + * doc/emacs/misc.texi (PostScript Variables): Improve and clarify + the description of 'ps-print-color-p'. (Bug#44962) + +2020-12-05 Stefan Kangas + + Prefer setq-local in mail/*.el + + * lisp/mail/emacsbug.el (report-emacs-bug): + * lisp/mail/rfc822.el (rfc822-addresses): + * lisp/mail/rmail.el (rmail-perm-variables, rmail-show-message-1): + * lisp/mail/rmailedit.el (rmail-edit-mode): + (rmail-edit-current-message, rmail-cease-edit): + * lisp/mail/rmailsum.el (rmail-new-summary-1, rmail-summary-mode): + (rmail-summary-update-highlight): + * lisp/mail/sendmail.el (mail-mode): Prefer setq-local. + +2020-12-05 Stefan Kangas + + Prefer setq-local in vc/*.el + + * lisp/vc/add-log.el (find-change-log, change-log-mode): + * lisp/vc/cvs-status.el (cvs-status-mode): + * lisp/vc/diff-mode.el (diff-restrict-view, diff-find-file-name): + (diff-mode, diff-setup-whitespace, diff-apply-hunk): + * lisp/vc/diff.el (diff-no-select): + * lisp/vc/ediff-util.el (ediff-setup): + * lisp/vc/log-edit.el (log-edit, log-edit-mode): + * lisp/vc/log-view.el (log-view-mode): + * lisp/vc/pcvs.el (cvs-temp-buffer, cvs-make-cvs-buffer): + (cvs-update-filter, cvs-mode, cvs-mode-commit) + (cvs-mode-edit-log, cvs-vc-command-advice): + * lisp/vc/smerge-mode.el (smerge-match-conflict): + (smerge-ediff, smerge-mode): + * lisp/vc/vc-annotate.el (vc-annotate-mode): + (vc-annotate, vc-annotate-display): + * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): + * lisp/vc/vc-dir.el (vc-dir-mode): + * lisp/vc/vc-dispatcher.el (vc-setup-buffer): + (vc-compilation-mode, vc-start-logentry): + * lisp/vc/vc-git.el (vc-git-log-view-mode): + * lisp/vc/vc-hg.el (vc-hg-log-view-mode): + * lisp/vc/vc-hooks.el (vc-refresh-state): + * lisp/vc/vc-mtn.el (vc-mtn-log-view-mode): + * lisp/vc/vc-svn.el (vc-svn-log-view-mode): + * lisp/vc/vc.el (vc-register, vc-diff-internal): + (vc-find-revision-save, vc-find-revision-no-save): + (vc-log-internal-common, vc-region-history): Prefer setq-local. + +2020-12-05 Dmitry Gutov + + Always show the summary + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + Always show the summary (at least for now). + +2020-12-05 Dmitry Gutov + + Fontify the group and the line number + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + Fontify the group and the line number. + +2020-12-05 Dmitry Gutov + + Hide the common parent directory, if any + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + Hide the common parent directory, if any. + +2020-12-05 William Xu + + xref--show-defs-minibuffer: new "show definitions" UI + + * lisp/progmodes/xref.el (xref--show-defs-minibuffer): + New function to use as xref-show-definitions-function + (https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00824.html). + +2020-12-04 Andrea Corallo + + * Do not compile `comp-cstr.el` in vanilla builds + + * lisp/Makefile.in (compile-targets): Filter out 'comp-cstr.elc' + in vanilla builds. + +2020-12-04 Andrea Corallo + + Vanilla build warning clean-up + + * lisp/emacs-lisp/disass.el (native-comp-unit-file) + (subr-native-comp-unit): Declare function. + * lisp/progmodes/elisp-mode.el (native-compile): Likewise. + * lisp/emacs-lisp/package.el (comp-el-to-eln-filename): Likewise. + * lisp/startup.el (normal-top-level): Silence warning. + * src/data.c (syms_of_data): 'Ssubr_native_lambda_list' is always + defined. + * src/pdumper.c (dump_cold_native_subr): Move under ifdefs. + (dump_drain_cold_data): Add ifdefs. + +2020-12-04 Andrea Corallo + + * Fix `load-history' causing a number of spurious compiler warnings + + * src/comp.c (Fcomp__register_subr): Fix missing entry into + `load-history' indicating that the loaded function was already an + autoload. + +2020-12-04 Spencer Baugh + + * src/alloc.c (Fgarbage_collect_maybe): New function + +2020-12-04 Dmitry Gutov + + Improve docstrings + + * lisp/progmodes/xref.el (xref-search-program-alist) + (xref-search-program): Improve docstrings. + +2020-12-04 Roland Winkler + + * lisp/textmodes/bibtex.el: Use user-error. + +2020-12-04 Stefan Kangas + + Prefer setq-local in emacs-lisp/*.el + + * lisp/emacs-lisp/chart.el (chart-mode): + * lisp/emacs-lisp/copyright.el (copyright-update): + * lisp/emacs-lisp/eieio-custom.el (eieio-customize-object): + * lisp/emacs-lisp/elint.el (elint-update-env, elint-init-form): + * lisp/emacs-lisp/ert.el (ert--results-update-ewoc-hf): + (ert--setup-results-buffer): + * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): + * lisp/emacs-lisp/pp.el (pp-display-expression): + * lisp/emacs-lisp/re-builder.el (reb-mode, reb-restart-font-lock): + * lisp/emacs-lisp/shadow.el (load-path-shadows-mode): + * lisp/emacs-lisp/smie.el (smie-setup): + * lisp/emacs-lisp/syntax.el (syntax-propertize): + * lisp/emacs-lisp/trace.el (trace-make-advice): Prefer setq-local. + +2020-12-04 Stefan Kangas + + Prefer setq-local in net/*.el + + * lisp/net/ange-ftp.el (ange-ftp-process-handle-line): + (internal-ange-ftp-mode): + * lisp/net/imap.el (imap-fetch-safe): + * lisp/net/net-utils.el (net-utils-mode): + (nslookup-mode, network-connection-mode-setup): + * lisp/net/newst-plainview.el (newsticker-mode): + (newsticker-buffer-update): + * lisp/net/newst-treeview.el (newsticker--treeview-item-show): + (newsticker-treeview-mode): + * lisp/net/rlogin.el (rlogin): + * lisp/net/secrets.el (secrets-mode): + * lisp/net/sieve-mode.el (sieve-mode): + * lisp/net/sieve.el (sieve-setup-buffer, sieve-open-server): + * lisp/net/snmp-mode.el (snmp-common-mode, snmp-mode, snmpv2-mode): + * lisp/net/telnet.el (telnet-mode): + * lisp/net/tramp.el (tramp-get-debug-buffer): Prefer setq-local. + +2020-12-04 Mattias EngdegÃ¥rd + + Speed up match-substitute-replacement + + * lisp/subr.el (match-substitute-replacement): Use match-data--translate. + * src/search.c (Fmatch_data__translate): Remove string restriction. + * test/lisp/subr-tests.el (subr-match-substitute-replacement): New test. + +2020-12-04 Stefan Kangas + + Prefer setq-local in cedet + + * lisp/cedet/data-debug.el (data-debug-mode): + * lisp/cedet/ede/custom.el (ede-customize-project): + * lisp/cedet/ede/project-am.el (project-am-load-makefile): + * lisp/cedet/mode-local.el (mode-local--activate-bindings): + * lisp/cedet/semantic.el (semantic--set-buffer-cache): + * lisp/cedet/semantic/analyze/debug.el + (semantic-analyzer-debug-add-buttons): + * lisp/cedet/semantic/grammar.el (semantic-grammar-mode): + * lisp/cedet/semantic/senator.el (senator-search-set-tag-class-filter): + (senator-isearch-mode-hook): + * lisp/cedet/semantic/symref/list.el + (semantic-symref-produce-list-on-results) + (semantic-symref-results-mode): + * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode): + * lisp/cedet/semantic/wisent/python.el (wisent-python-default-setup): + * lisp/cedet/srecode/srt-mode.el (srecode-template-mode): + Prefer setq-local. + +2020-12-04 Stefan Kangas + + Prefer setq-local in most of textmodes/*.el + + * lisp/textmodes/artist.el (artist-mode-init): + * lisp/textmodes/bibtex.el (bibtex-mode): + * lisp/textmodes/dns-mode.el (dns-mode): + * lisp/textmodes/enriched.el (enriched-mode): + * lisp/textmodes/ispell.el (ispell-buffer-local-parsing): + * lisp/textmodes/nroff-mode.el (nroff-mode): + * lisp/textmodes/picture.el (picture-mode): + * lisp/textmodes/refill.el (refill-mode): + * lisp/textmodes/two-column.el (2C-split): Prefer setq-local. + +2020-12-04 Eli Zaretskii + + Don't abort when terminated by SIGINT in -batch + + * src/xdisp.c (clear_message_stack): New function. + * src/emacs.c (terminate_due_to_signal): Call clear_message_stack + when we are being shut down by SIGINT under -batch. + * src/lisp.h (clear_message_stack): Add prototype. + +2020-12-04 Lars Ingebrigtsen + + Make custom-data saving atomic + + * lisp/cus-edit.el (custom-save-all): Do the custom saves as an + atomic change group, to avoid writing invalid data if something + goes wrong (or the user hits `C-g') in the middle (bug#18633). + +2020-12-04 Lars Ingebrigtsen + + Allow viper-save-setting to save numerical settings + + * lisp/emulation/viper-util.el (viper-save-setting): Allow saving + numerical settings (bug#18928). + +2020-12-04 Lars Ingebrigtsen + + Clarify icomplete-show-matches-on-no-input doc string + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Clarify + the meaning of the variable (bug#19031). + +2020-12-04 Stefan Kangas + + Prefer setq-local in erc + + * lisp/erc/erc-goodies.el (erc-imenu-setup): + * lisp/erc/erc-list.el (erc-list-install-322-handler, erc-cmd-LIST): + * lisp/erc/erc-pcomplete.el (pcomplete-erc-setup): + * lisp/erc/erc.el (erc-mode, erc-update-mode-line-buffer): + Prefer setq-local. + +2020-12-04 Alyssa Ross (tiny change) + + Make shell-command use comint settings + + * lisp/simple.el (shell-command): Use the term environment from + comint, so that comint settings are used for commands like + `async-shell-command', too (bug#45034). + +2020-12-04 Stefan Kangas + + * lisp/eshell/esh-mode.el (eshell-mode): Remove XEmacs compat code. + +2020-12-04 Stefan Kangas + + Prefer setq-local in eshell + + * lisp/eshell/em-cmpl.el (eshell-cmpl-initialize): + * lisp/eshell/em-dirs.el (eshell-dirs-initialize): + * lisp/eshell/em-glob.el (eshell-glob-initialize, eshell-glob-regexp): + * lisp/eshell/em-hist.el (eshell-hist-initialize): + * lisp/eshell/em-prompt.el (eshell-prompt-initialize): + * lisp/eshell/em-rebind.el (eshell-rebind-initialize) + (eshell-setup-input-keymap): + * lisp/eshell/em-script.el (eshell-script-initialize): + * lisp/eshell/em-smart.el (eshell-smart-initialize): + * lisp/eshell/em-term.el (eshell-term-initialize, eshell-exec-visual): + * lisp/eshell/em-tramp.el (eshell-tramp-initialize): + * lisp/eshell/em-unix.el (eshell-unix-initialize, eshell/diff): + * lisp/eshell/esh-arg.el (eshell-arg-initialize): + * lisp/eshell/esh-cmd.el (eshell-cmd-initialize): + * lisp/eshell/esh-io.el (eshell-get-target): + * lisp/eshell/esh-mode.el (eshell-mode): + * lisp/eshell/esh-var.el (eshell-var-initialize): Prefer setq-local. + +2020-12-04 Lars Ingebrigtsen + + Preload iso-trans.el + + * lisp/loadup.el ("international/iso-transl"): Load by default so + that we get `Alt-' bindings (bug#21310). + + * lisp/international/iso-transl.el: Remove autoloads and some + comments. + +2020-12-04 Dmitry Gutov + + Support using ripgrep in project-find-regexp and friends + + Performance results vary here. Some projects and search terms + don't see much of a change, but for some (including Emacs sources + checkout and case-insensitive search) the switch to ripgrep shows + ~2-3x speed improvement. Another piece of anecdata here: + https://lists.gnu.org/archive/html/emacs-devel/2020-06/msg00802.html + + * lisp/progmodes/xref.el (xref-search-program-alist) + (xref-search-program): New user options. + (xref-matches-in-files): Use them. + +2020-12-04 Andrea Corallo + + * Reduce (half) the number of loads emitted for calling into C code + + As after each function call GCC clobbers the pointer to the function + relocation table. This commit modify the code generation to create a + local copy of it for each function. This reduces the average number + of loads for each function call into C from two to one. + + * src/comp.c (comp_t): Add 'func_relocs_ptr_type' and + 'func_relocs_local' fields. + (emit_call): Use the local func_relocs pointer when possible. + (emit_ctxt_code): Fill 'comp.func_relocs_ptr_type'. + (compile_function): Declare 'func_relocs_ptr_local'. + (compile_function): Assign 'func_relocs_ptr_local' from the global + value in each function prologue. + +2020-12-03 Eric Abrahamsen + + Restore nnimap-split-download-body as a customization option + + * lisp/gnus/nnimap.el (nnimap-split-download-body): And add an + obsolete alias for `nnimap-split-download-body-default'. + (nnimap-fetch-inbox): Check the value of the option, not the variable. + * doc/misc/gnus.texi (Client-Side IMAP Splitting): Move the primary + documentation of this option to this section. + +2020-12-03 Basil L. Contovounesios + + Define explicit-shell-file-name only in shell.el + + For discussion, see the following thread: + https://lists.gnu.org/r/emacs-devel/2020-04/msg00880.html + + * doc/emacs/cmdargs.texi (General Variables): Mention + shell-file-name in relation to SHELL. + * doc/emacs/misc.texi (Interactive Shell): Move index entry for + SHELL environment variable from here, where it is not mentioned... + (Single Shell): ...to here, where it is discussed along with + shell-file-name. + * lisp/dired.el (dired-insert-directory): Use shell-file-name + instead of explicit-shell-file-name when a shell is implicitly + requested. + * lisp/obsolete/terminal.el (explicit-shell-file-name): + * lisp/term.el (explicit-shell-file-name): Remove duplicate + defcustoms and load lisp/shell.el instead. (Bug#40679) + * lisp/shell.el (explicit-shell-file-name): Clarify docstring. + (shell): Simplify. + +2020-12-03 Stefan Kangas + + Add tests for several byte-compiler warnings + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp/warn-autoload-not-on-top-level\.el) + (bytecomp/warn-callargs\.el) + (bytecomp/warn-defcustom-nogroup\.el) + (bytecomp/warn-defcustom-notype\.el) + (bytecomp/warn-defvar-lacks-prefix\.el) + (bytecomp/warn-format\.el) + (bytecomp/warn-lambda-malformed-interactive-spec\.el) + (bytecomp/warn-make-variable-buffer-local\.el) + (bytecomp/warn-redefine-defun-as-macro\.el) + (bytecomp/warn-redefine-defun\.el) + (bytecomp/warn-redefine-macro-as-defun\.el) + (bytecomp/warn-save-excursion\.el) + (bytecomp/warn-variable-let-bind-constant\.el) + (bytecomp/warn-variable-let-bind-nonvariable\.el) + (bytecomp/warn-variable-set-constant\.el) + (bytecomp/warn-variable-set-nonvariable\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-autoload-not-on-top-level.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-callargs.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-nogroup.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-defcustom-notype.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-defvar-lacks-prefix.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-format.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-lambda-malformed-interactive-spec.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-make-variable-buffer-local.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun-as-macro.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-redefine-macro-as-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-save-excursion.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-constant.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-let-bind-nonvariable.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-constant.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-variable-set-nonvariable.el: + * test/lisp/emacs-lisp/bytecomp-tests.el: New files. + +2020-12-03 Basil L. Contovounesios + + Avoid spamming view-mode-enter help message + + By default, entering view-mode echoes a usage message. This is + particularly helpful with non-nil view-read-only, to notify the user + that view-mode has been enabled. It is less useful and more spammy, + however, if view-mode is (possibly inadvertently) entered from some + non-interactive code running in the background, such as when a major + mode is enabled in a temporary buffer for text formatting + purposes (bug#44629). + + * lisp/jsonrpc.el (jsonrpc-events-buffer, initialize-instance): Use + buffer-read-only in place of read-only-mode for non-interactive use. + * lisp/view.el (view-mode-enter): Inhibit help message if either + view-inhibit-help-message is non-nil, or view-mode-enter was called + from an interactive command. Suggested by João Távora + . + +2020-12-03 Michael Albinus + + Fix auto-revert-test07-auto-revert-several-buffers + + * test/lisp/autorevert-tests.el + (auto-revert-test07-auto-revert-several-buffers): Adapt times values. + +2020-12-03 Spencer Baugh + + Improve performance of auto-revert-notify-add-watch + + * lisp/autorevert.el (auto-revert-notify-add-watch): + Do not search for buffers registered with the same file name, this + is not necessary. (Bug#44638) + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'help' + + * lisp/emacs-lisp/advice.el (ad-read-advised-function): + * lisp/emacs-lisp/ert.el: + * lisp/facemenu.el: Don't require 'help'; it is preloaded since + version 18.59. + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'button' + + * lisp/apropos.el: + * lisp/emacs-lisp/cl-print.el: + * lisp/emacs-lisp/debug.el: + * lisp/emacs-lisp/ert.el: + * lisp/emacs-lisp/shadow.el: + * lisp/facemenu.el: + * lisp/help-mode.el: + * lisp/man.el: + * lisp/progmodes/etags.el: + * lisp/textmodes/bibtex.el: + * lisp/woman.el: Don't require 'button'; it is preloaded since version + 23.1. + +2020-12-03 Lars Ingebrigtsen + + Fix "grep foo bar" in eshell + + * lisp/eshell/em-unix.el (eshell-grep): Use the -H switch so that + we always get the file name, so that `M-x next-error' and friends + work (bug#22330). + +2020-12-03 Lars Ingebrigtsen + + Don't make grep arguments invisible in eshell + + * lisp/eshell/em-unix.el (eshell-grep): There doesn't seem to be + any reason why parts of the command should be invisible, so don't + do that. + +2020-12-03 Lars Ingebrigtsen + + Recompute error positions in python-shell-send-region + + * lisp/progmodes/python.el (python-shell-send-region): Recompute + line positions when evaluating (bug#22934). + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'custom' + + * lisp/emacs-lisp/eieio-custom.el: + * lisp/htmlfontify.el: + * lisp/mwheel.el: + * lisp/net/eudc-vars.el: + * lisp/net/ldap.el: + * lisp/net/tramp-ftp.el: + * lisp/net/tramp-gvfs.el: + * lisp/progmodes/cwarn.el: + * lisp/progmodes/sql.el: + * lisp/savehist.el: + * lisp/textmodes/reftex.el: + * lisp/wid-browse.el: Don't require 'custom'; it is preloaded since + version 20.1. + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'font-core' + + * lisp/ibuffer.el: + * test/lisp/erc/erc-track-tests.el: Don't require 'font-core'; it is + preloaded since version 22.1. + +2020-12-03 Stefan Kangas + + Remove redundant requires of 'font-lock' + + * lisp/cedet/data-debug.el: + * lisp/hi-lock.el: + * lisp/htmlfontify.el: + * lisp/org/org.el: + * lisp/progmodes/cperl-mode.el: + * lisp/progmodes/cwarn.el: Don't require 'font-lock'; it is preloaded + since version 22.1. + +2020-12-02 Roland Winkler + + bibtex-autokey-get-year: Allow both a year or date field. + + * lisp/textmodes/bibtex.el (bibtex-text-in-field): Allow arg field + to be a list of fields. + (bibtex-autokey-get-year): Look for year and date field. Allow + the extended date format used by biblatex. + +2020-12-02 Roland Winkler + + bibtex-mode: do not fail when local variables are disabled + + * lisp/textmodes/bibtex.el (bibtex-mode): Check if + enable-local-variables is non-nil (bug#37957). + +2020-12-02 Roland Winkler + + Allow bibtex-contline-indentation as file-local variable. + + * lisp/textmodes/bibtex.el (bibtex-contline-indentation) + (bibtex-comment-start, bibtex-entry-offset, bibtex-text-indentation): + Add :safe attribute. + (bibtex-mode): Allow these variables as file-local variables + (bug#44618 and bug#44647). + +2020-12-02 Stefan Kangas + + Remove redundant requires of faces + + * lisp/htmlfontify.el: + * lisp/term/ns-win.el: + * lisp/term/w32-win.el: + * lisp/term/x-win.el: + * test/lisp/faces-tests.el: Don't require 'faces'; it is preloaded + since version 19.34. + +2020-12-02 Stefan Kangas + + Remove redundant requires of env + + * lisp/eshell/esh-var.el: + * lisp/man.el: Don't require 'env'; it is preloaded since version + 20.1. + +2020-12-02 Roland Winkler + + Allow bibtex-unify-case-function as file-local variable + + * lisp/textmodes/bibtex.el (bibtex-unify-case-function): + Renamed from bibtex-unify-case-convert. Add :safe attribute. + * etc/NEWS: Update accordingly. + +2020-12-02 Michael Albinus + + Add test to autorevert-tests.el + + * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert): + Handle `auto-revert--messages' being nil. + (auto-revert-test07-auto-revert-several-buffers): New test. + +2020-12-02 Stefan Kangas + + Improve sectioning in bytecomp-tests.el + + * test/lisp/emacs-lisp/bytecomp-tests.el: Add section comments. + (test-eager-load-macro-expansion) + (test-eager-load-macro-expansion-eval-and-compile): Move definitions. + +2020-12-02 Stefan Kangas + + * lisp/play/dunnet.el: Remove Emacs 18 compat code. + +2020-12-02 Stefan Kangas + + Make variable cperl-version obsolete + + * lisp/progmodes/cperl-mode.el (cperl-menu): Remove CPerl version + menu entry. + (cperl-version): Make obsolete. + +2020-12-02 Stefan Kangas + + Remove some Emacs 19 compat code from cperl-mode + + * lisp/progmodes/cperl-mode.el + (cperl-put-do-not-fontify): Remove Emacs 19 compat code. + (cperl-do-not-fontify): Make obsolete. + +2020-12-02 Stefan Kangas + + Remove some references to fast-lock and lazy-lock + + * lisp/htmlfontify.el (hfy-copy-and-fontify-file): + * lisp/progmodes/antlr-mode.el: Remove some references to obsolete + libraries fast-lock and lazy-lock. + +2020-12-02 Lars Ingebrigtsen + + Fix alignment of declaractions of arrays + + * lisp/align.el (align-rules-list): Align variable declarations + like char *foo[], too (bug#23370). + +2020-12-02 Michael Albinus + + * INSTALL: Add the installation command of development packages for FreeBSD. + + Recipe contributed by Joseph Mingrone . + +2020-12-02 Lars Ingebrigtsen + + Add tests for xsd-regexp + +2020-12-02 Lars Ingebrigtsen + + Fix xsdre-range-list-to-char-alternative problem with {P} + + * lisp/nxml/xsd-regexp.el (xsdre-range-list-to-char-alternative): + Make (string-match (xsdre-translate "\\p{P}") "a-b") work + (bug#24093) -- the "forbidden" characters don't have to be the + first elements in a range. + +2020-12-02 Lars Ingebrigtsen + + Fix the message-fetch-field doc string + + * lisp/gnus/message.el (message-fetch-field): Improve the doc + string (bug#44991). + +2020-12-02 Stefan Kangas + + Remove specific byte-compiler warnings for cl.el + + * lisp/emacs-lisp/bytecomp.el (byte-compile-warning-types) + (byte-compile-warnings, byte-compile-cl-file-p) + (byte-compile-eval, byte-compile-eval-before-compile) + (byte-compile-arglist-warn, byte-compile-find-cl-functions) + (byte-compile-cl-warn, displaying-byte-compile-warnings) + (byte-compile-file-form-require, byte-compile-form): Remove all + specific cl.el warnings, as that library is now obsolete. The + regular obsoletion warnings are sufficiently discouraging. + * lisp/emacs-lisp/advice.el (ad-compile-function): Don't try to + silence the now removed warning. + * doc/lispref/tips.texi (Coding Conventions): + * doc/misc/cl.texi (Organization): Make recommendation to not use + cl.el and cl-compat.el stronger. + * lisp/obsolete/cl.el: Make alias help say that they are obsolete. + * lisp/obsolete/cl-compat.el (build-klist, safe-idiv) + (pair-with-newsyms): Silence byte-compiler. + +2020-12-02 Dmitry Gutov + + Improve .gitignore and project-vc-ignores handling + + * lisp/progmodes/project.el (project-ignores): + Convert .gitignore entries more faithfully. + (project--vc-list-files): Convert "our" ignore entries to + "proper" globs, which is what Git pathspec requires. + +2020-12-02 Dmitry Gutov + + Use project--value-in-dir + + * lisp/progmodes/project.el (project-files): + Use 'project--value-in-dir'. To have any changes in + 'project-vc-ignores' take effect immediately. + +2020-12-01 Juri Linkov + + Fix documentation of window-in-direction arg MINIBUF (bug#44932) + + * doc/lispref/windows.texi (Windows and Frames): Rename MINI arg + of window-in-direction to MINIBUF. Explain the non-nil non-t value. + +2020-12-01 Glenn Morris + + Merge from origin/emacs-27 + + 749e4b7e0b Reset xref-show-xrefs-function temporarily + 3e6525d69f Don't show in 'view-lossage' responses to xterm feature qu... + 9fbff9c35c ; * src/buffer.c: Fix comment describing 'buffer_defaults'. + +2020-12-01 Glenn Morris + + Merge from origin/emacs-27 + + 9939c435c1 Return the correct suffix in eww-make-unique-file-name + 17fa17be3d Save bookmarks by using `write-file' (bug#12507) + 2cdf1fd261 Fix filing messages when 'rmail-output-reset-deleted-flag'... + a72db8ab8b Make file copying in tramp-gvfs more robust + f31cacd1ff Revert "Fix incorrect handling of module runtime and envir... + cdc632fbe6 Fix incorrect handling of module runtime and environment p... + c9160bda78 CC Mode: Fix error in cache handling. This fixes bug #43481 + +2020-12-01 Michael Albinus + + * lisp/arc-mode.el (archive-get-descr): Use default mode if needed. + +2020-12-01 Michael Albinus + + Allow Tramp to mirror traces to a file + + * doc/misc/tramp.texi (Traces and Profiles): Add `tramp-debug-to-file'. + + * lisp/net/tramp-adb.el (tramp-adb-parse-device-names) + (tramp-adb-get-device): + * lisp/net/tramp-cmds.el (tramp-rename-files): + * lisp/net/tramp-gvfs.el (tramp-gvfs-monitor-process-filter) + (tramp-gvfs-handler-volumeadded-volumeremoved) + (tramp-get-media-devices): + * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch) + (tramp-sh-gio-monitor-process-filter) + (tramp-sh-gvfs-monitor-dir-process-filter) + (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script) + (tramp-find-inline-encoding): + * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory) + (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl): + Use `tramp-compat-string-replace'. + + * lisp/net/tramp-compat.el (tramp-compat-string-replace): New defalias. + + * lisp/net/tramp.el (tramp-debug-to-file): New defcustom. + (tramp-get-debug-buffer): Simplify. + (tramp-get-debug-file-name): New defun. + (tramp-debug-message): Write debug file if indicated. + +2020-12-01 Michael Albinus + + * etc/NEWS: Add user option 'tramp-debug-to-file'. + +2020-12-01 Stefan Kangas + + Fix byte-compiler warning for failed uses of lexical vars + + * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Fix byte-compiler + warning for failed uses of lexical vars. (Bug#44980) + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp--define-warning-file-test): Don't prefix tests with + 'warn'. + (bytecomp/error-lexical-var-with-add-hook\.el) + (bytecomp/error-lexical-var-with-remove-hook\.el) + (bytecomp/error-lexical-var-with-run-hook-with-args-until-failure\.el) + (bytecomp/error-lexical-var-with-run-hook-with-args-until-success\.el) + (bytecomp/error-lexical-var-with-run-hook-with-args\.el) + (bytecomp/error-lexical-var-with-symbol-value\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-symbol-value.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-success.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-run-hook-with-args-until-failure.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-remove-hook.el: + * test/lisp/emacs-lisp/bytecomp-resources/error-lexical-var-with-add-hook.el: + New files. + +2020-12-01 Zajcev Evgeny + + Fix use of 'switch-to-buffer-preserve-window-point' + + * lisp/window.el (switch-to-buffer): Respect buffer local value + of 'switch-to-buffer-preserve-window-point' variable. + +2020-12-01 Stefan Kangas + + Add tests for some byte-compiler warnings + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-warn/warn-interactive-only\.el) + (bytecomp-warn/warn-obsolete-defun\.el) + (bytecomp-warn/warn-obsolete-hook\.el) + (bytecomp-warn/warn-obsolete-variable-same-file\.el) + (bytecomp-warn/warn-obsolete-variable\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-interactive-only.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-defun.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-hook.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable-same-file.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-obsolete-variable.el: + New files. + +2020-12-01 Dmitry Gutov + + Reset xref-show-xrefs-function temporarily + + * lisp/dired-aux.el (dired-do-find-regexp-and-replace): + Make sure xref-show-xrefs-function has the necessary value (bug#44905). + +2020-12-01 Andrea Corallo + + Fix `comp-mvar-symbol-p' and `comp-mvar-cons-p' (bug#44968) + + * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): As all slots into + a `comp-cstr' are in or fix this logic. + (comp-mvar-cons-p): Likewise. + * test/src/comp-tests.el (bug-44968): New testcase. + * test/src/comp-test-funcs.el (comp-test-44968-f): New test + function. + +2020-11-30 Stefan Kangas + + Decrease code duplication in byte-compiler free-vars warning + + * lisp/emacs-lisp/bytecomp.el + (byte-compile-free-vars-warn): New defun extracted from... + (byte-compile-variable-ref, byte-compile-variable-set): ...here. + +2020-11-30 Stefan Kangas + + Test byte-compiler free variable warning + + * test/lisp/emacs-lisp/bytecomp-tests.el (ert-x): Require. + (bytecomp--define-warning-file-test): New macro. + (bytecomp-warn/warn-free-setq\.el) + (bytecomp-warn/warn-free-variable-reference\.el): New tests. + * test/lisp/emacs-lisp/bytecomp-resources/warn-free-setq.el: + * test/lisp/emacs-lisp/bytecomp-resources/warn-free-variable-reference.el: + New files. + +2020-11-30 Stefan Kangas + + * lisp/so-long.el: Doc fix to reduce use of passive voice. + +2020-11-30 Eli Zaretskii + + Don't show in 'view-lossage' responses to xterm feature queries + + * lisp/term/xterm.el (xterm--read-event-for-query): Prevent + recording the characters read as the xterm response to a query, + so as not to show them in 'view-lossage'. (Bug#44908) + +2020-11-30 Michael Albinus + + Some adaptions to tramp-tests.el + + * test/lisp/net/tramp-tests.el (tramp-test-vec): Check for remote + `tramp-test-temporary-file-directory'. + (tramp-test11-copy-file, tramp-test12-rename-file): + Do not skip for tramp-gvfs.el. + (tramp--test-sh-p): Use `tramp-test-vec'. + +2020-11-30 Michael Albinus + + Adapt Tramp versions + + * doc/misc/tramp.texi (Obtaining @value{tramp}): + (Remote shell setup, Remote processes, Archive file names): + * lisp/net/trampver.el (customize-package-emacs-version-alist): + Adapt Tramp versions. + +2020-11-30 Dmitry Gutov + + Improve docstrings + + * lisp/progmodes/project.el (project-find-file) + (project-or-external-find-file): More accurate docstrings (bug#44588). + +2020-11-29 Philipp Stephani + + Fix double-free bug when finalizing module runtimes. + + * src/emacs-module.c (finalize_runtime_unwind): Don't finalize initial + environment twice. + + * test/src/emacs-module-resources/mod-test.c (emacs_module_init): + Allocate lots of values during module initialization to trigger the + bug. + +2020-11-29 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Call current-kill to prefill kill-ring + +2020-11-29 Juri Linkov + + Fix MINIBUF 'nomini' arg for windmove/window-in-direction (bug#44932) + + * lisp/windmove.el (windmove-display-in-direction) + (windmove-delete-in-direction, windmove-swap-states-in-direction): + Add 'nomini' as MINIBUF arg of window-in-direction. + + * lisp/window.el (window-in-direction): Rename arg MINI to MINIBUF. + Update docstring from walk-window-tree. + Send MINIBUF arg to walk-window-tree unchanged. + +2020-11-29 Alan Third + + Allow doprint to handle multibyte chars in format (bug#44349) + + * src/doprnt.c (doprnt): Handle the case where fmtchar is the start of + a multibyte character. + +2020-11-29 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-11-29 Protesilaos Stavrou + + Make log-view-commit-body less intrusive + + * lisp/vc/log-view.el (log-view-commit-body): Inherit from + font-lock-comment-face. This makes expanded commit messages in + log-view look the same as they did prior to commit 1f0b929430 (consult + bug#44424) (bug#44937). + +2020-11-29 Akira Kyle + + Return the correct suffix in eww-make-unique-file-name + + * lisp/net/eww.el (eww-make-unique-file-name): Return the correct + suffix (bug#44936). + +2020-11-29 Lars Ingebrigtsen + + frame-position doc string clarificaton + + * src/frame.c (Fframe_position): Mention that the values are + system-dependent (bug#32977). + +2020-11-29 Lars Ingebrigtsen + + garbage-collect doc string clarification + + * src/alloc.c (Fgarbage_collect): Mention that calling this + function is not guaranteed to collect all the garbage (bug#34404). + +2020-11-29 Lars Ingebrigtsen + + Tweak eww-use-browse-url doc string + + * lisp/net/eww.el (eww-use-browse-url): Tweak doc string wording. + +2020-11-29 Karl Fogel + + Save bookmarks by using `write-file' (bug#12507) + + Go back to using `write-file' to save bookmarks, instead of using + `write-region'. This means numbered backups of the bookmark file may + get made again, depending on the value of `bookmark-version-control'. + + Thanks especially to Drew Adams and Eli Zaretskii for their + persistence in tracking down information relevant to this change. + +2020-11-28 Eli Zaretskii + + Fix filing messages when 'rmail-output-reset-deleted-flag' is non-nil + + * lisp/mail/rmailout.el (rmail-output): Fix off-by-one error in + deciding when to advance to the next message under non-nil + 'rmail-output-reset-deleted-flag'. (Bug#44839) + +2020-11-28 Lele Gaifax + + Update TUTORIAL.it + + * etc/tutorials/TUTORIAL.it: Follow changes made to TUTORIAL in the + last year + +2020-11-28 Michael Albinus + + Make file copying in tramp-gvfs more robust + + * test/lisp/net/tramp-tests.el (tramp-test11-copy-file) + (tramp-test12-rename-file): Do not skip for tramp-gvfs.el. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file): + Add sanity checks. + +2020-11-28 Mattias EngdegÃ¥rd + + * etc/tutorials/TUTORIAL.sv: General copy-editing. + +2020-11-28 Eli Zaretskii + + Revert "Fix incorrect handling of module runtime and environment pointers." + + This reverts commit cdc632fbe6e149318147a98cccf1b7af191f2ce8. + Those changes are too significant and non-trivial to be + suitable for a release branch at this time. + +2020-11-27 Andrea Corallo + + Add intersection support into comp-cstr.el + +2020-11-27 Andrea Corallo + + * Synthesize as const primitive function pointers and its container struct. + + * src/comp.c (declare_imported_func): Make const function pointer + to primitive funcions. + (emit_ctxt_code): Make struct 'comp.func_relocs' const. + +2020-11-27 Philipp Stephani + + Fix incorrect handling of module runtime and environment pointers. + + We used to store module runtime and environment pointers in the static + lists Vmodule_runtimes and Vmodule_environments. However, this is + incorrect because these objects have to be kept per-thread. With this + naive approach, interleaving module function calls in separate threads + leads to environments being removed in the wrong order, which in turn + can cause local module values to be incorrectly garbage-collected. + + Instead, turn Vmodule_runtimes and Vmodule_environments into + hashtables keyed by the thread objects. The fix is relatively + localized and should therefore be safe enough for the release branch. + + Module assertions now have to walk the pointer list for the current + thread, which is more correct since they now only find environments + for the current thread. + + Also add a unit test that exemplifies the problem. It interleaves two + module calls in two threads so that the first call ends while the + second one is still active. Without this change, this test triggers + an assertion failure. + + * src/emacs-module.c (Fmodule_load, initialize_environment) + (finalize_environment, finalize_runtime_unwind): Store runtime and + environment pointers in per-thread lists. + (syms_of_module): Initialize runtimes and environments hashtables. + (module_assert_runtime, module_assert_env, value_to_lisp): Consider + only objects for the current thread. + (module_gc_hash_table_size, module_hash_push, module_hash_pop): New + generic hashtable helper functions. + (module_objects, module_push_pointer, module_pop_pointer): New helper + functions to main thread-specific lists of runtime and environment + pointers. + (mark_modules): Mark all environments in all threads. + + * test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test + function. + (emacs_module_init): Bind it. + + * test/src/emacs-module-tests.el (emacs-module-tests--variable): New + helper type to guard access to state in a thread-safe way. + (emacs-module-tests--wait-for-variable) + (emacs-module-tests--change-variable): New helper functions. + (emacs-module-tests/interleaved-threads): New unit test. + +2020-11-27 Mattias EngdegÃ¥rd + + Use correct glyph in title when resizing NS frames + + * src/nsterm.m ([EmacsView windowWillResize:toSize:]): Use ×, not x. + +2020-11-27 Philipp Stephani + + Fix incorrect handling of module runtime and environment pointers. + + We used to store module runtime and environment pointers in the static + lists Vmodule_runtimes and Vmodule_environments. However, this is + incorrect because these objects have to be kept per-thread. With this + naive approach, interleaving module function calls in separate threads + leads to environments being removed in the wrong order, which in turn + can cause local module values to be incorrectly garbage-collected. + The fix isn't completely trivial: specbinding the lists wouldn't work + either, because then the garbage collector wouldn't find the + environments in other threads than the current ones, again leading to + objects being garbage-collected incorrectly. While introducing custom + pseudovector types would fix this, it's simpler to put the runtime and + environment pointers into the specbinding list as new specbinding + kinds. This works since we need to unwind them anyway, and we only + ever treat the lists as a stack. The thread switching machinery + ensures that the specbinding lists are thread-local, and that all + elements of the specbinding lists in all threads are marked during + garbage collection. + + Module assertions now have to walk the specbinding list for the + current thread, which is more correct since they now only find + environments for the current thread. As a result, we can now remove + the faulty Vmodule_runtimes and Vmodule_environments variables + entirely. + + Also add a unit test that exemplifies the problem. It interleaves two + module calls in two threads so that the first call ends while the + second one is still active. Without this change, this test triggers + an assertion failure. + + * src/lisp.h (enum specbind_tag): Add new tags for module runtimes and + environments. + + * src/eval.c (record_unwind_protect_module): New function to record a + module object in the specpdl list. + (do_one_unbind): Unwind module objects. + (backtrace_eval_unrewind, default_toplevel_binding, lexbound_p) + (Fbacktrace__locals): Deal with new specbinding types. + (mark_specpdl): Mark module environments as needed. + + * src/alloc.c (garbage_collect): Remove call to 'mark-modules'. + Garbage collection of module values is now handled as part of marking + the specpdl of each thread. + + * src/emacs-module.c (Fmodule_load, funcall_module): Use specpdl to + record module runtimes and environments. + (module_assert_runtime, module_assert_env, value_to_lisp): Walk + through specpdl list instead of list variables. + (mark_module_environment): Rename from 'mark_modules'. Don't attempt + to walk though current thread's environments only, since that would + miss other threads. + (initialize_environment, finalize_environment): Don't change + Vmodule_environments variable; environments are now in the specpdl + list. + (finalize_environment_unwind, finalize_runtime_unwind): Make 'extern' + since do_one_unbind now calls them. + (finalize_runtime_unwind): Don't change Vmodule_runtimes variable; + runtimes are now in the specpdl list. + (syms_of_module): Remove Vmodule_runtimes and Vmodule_environments. + + * test/data/emacs-module/mod-test.c (Fmod_test_funcall): New test + function. + (emacs_module_init): Bind it. + + * test/src/emacs-module-tests.el (emacs-module-tests--variable): New + helper type to guard access to state in a thread-safe way. + (emacs-module-tests--wait-for-variable) + (emacs-module-tests--change-variable): New helper functions. + (emacs-module-tests/interleaved-threads): New unit test. + +2020-11-27 Stefan Monnier + + * lisp/subr.el (activate-change-group): Refine fix for bug#33341 + +2020-11-27 Mattias EngdegÃ¥rd + + Make the 'cucumber' compilation pattern work without 'omake' + + When 'omake' is included in compilation-error-regexp-alist, which it + still is by default, then all other rules are modified to match with + an extra leading 6 spaces as well. The 'cucumber' pattern relied on + this in order to work as intended. + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + Extend the 'cucumber' pattern so that it works even when 'omake' + is not included. Move it below the 'gnu' rule so that it doesn't + match anything else. + +2020-11-27 Mattias EngdegÃ¥rd + + Update TUTORIAL.de and TUTORIAL.fr + + * etc/tutorials/TUTORIAL.de: + * etc/tutorials/TUTORIAL.fr: Follow recent changes in TUTORIAL. + +2020-11-27 Stefan Monnier + + * lisp/subr.el (activate-change-group): Fix bug#33341 + +2020-11-27 Stefan Kangas + + Update TUTORIAL.es + + * etc/tutorials/TUTORIAL.es: A followup to recent changes in + TUTORIAL. + +2020-11-27 Stefan Kangas + + Update TUTORIAL.sv + + * etc/tutorials/TUTORIAL.sv: A followup to recent changes in + TUTORIAL. Minor tweaks for grammar and style. + +2020-11-27 Juri Linkov + + Add completion-tab-width to align prefix chars with names in read-char-by-name + + * lisp/international/mule-cmds.el (mule--ucs-names-affixation): + Replace mule--ucs-names-annotation to display chars in prefixes + that implements two FIXME items. + (read-char-by-name): Let-bind completion-tab-width to 4. + Use affixation-function instead of annotation-function. + + * lisp/minibuffer.el (completion-tab-width): New variable. + (completion--insert-strings): Align colwidth to tab positions + when completion-tab-width is non-nil. + + * lisp/simple.el (completion-setup-function): Set tab-width to + completion-tab-width when completion-tab-width is non-nil. + + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01263.html + +2020-11-27 Juri Linkov + + * lisp/simple.el (read-from-kill-ring): Use frame-text-cols, not frame-width. + +2020-11-27 Eli Zaretskii + + Update TUTORIAL.he + + * etc/tutorials/TUTORIAL.he: A followup to recent changes in + TUTORIAL. + +2020-11-27 Lars Ingebrigtsen + + Fix up previous server exit directory deletion + + * lisp/server.el (server-start): Only delete the server directory + if it's in /tmp (bug#44644). + +2020-11-26 Andrea Corallo + + Move some tests from comp-tests.el to comp-cstr-tests.el + + * test/lisp/emacs-lisp/comp-cstr-tests.el + (comp-cstr-typespec-tests-alist): Add tests covering what was in: + `range-simple-union', `union-types', `destructure-type-spec'. + * test/src/comp-tests.el (range-simple-intersection, union-types) + (destructure-type-spec): Remove tests. + +2020-11-26 Andrea Corallo + + Add comp-cstr.el and comp-cstr-tests.el + + As the constraint logic of the compiler is not trivial and largely + independent from the rest of the code move it into comp-cstr.el to + ease separation and maintainability. + + This commit improve the conversion type + specifier -> constraint for generality. + + Lastly this should help with bootstrap time as comp.el compilation + unit is slimmed down. + + * lisp/emacs-lisp/comp-cstr.el: New file. + (comp--typeof-types, comp--all-builtin-types): Move from comp.el. + (comp-cstr, comp-cstr-f): Same + rename. + (comp-cstr-ctxt): New struct. + (comp-supertypes, comp-common-supertype-2) + (comp-common-supertype, comp-subtype-p, comp-union-typesets) + (comp-range-1+, comp-range-1-, comp-range-<, comp-range-union) + (comp-range-intersection): Move from comp.el. + (comp-cstr-union-no-range, comp-cstr-union): Move from comp.el and + rename. + (comp-cstr-union-make): New function. + (comp-type-spec-to-cstr, comp-cstr-to-type-spec): Move from + comp.el, rename it and rework it. + + * lisp/emacs-lisp/comp.el (comp-known-func-cstr-h): Rework. + (comp-ctxt): Remove two fields and include `comp-cstr-ctxt'. + (comp-mvar, comp-fwprop-call): Update for `comp-cstr' being + renamed. + (comp-fwprop-insn): Use `comp-cstr-union-no-range' or + `comp-cstr-union'. + (comp-ret-type-spec): Use `comp-cstr-union' and rework. + + * test/lisp/emacs-lisp/comp-cstr-tests.el: New file. + (comp-cstr-test-ts, comp-cstr-typespec-test): New functions. + (comp-cstr-typespec-tests-alist): New defconst to generate tests + on. + (comp-cstr-generate-tests): New macro. + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Update. + (ret-type-spec): Initialize constraint context. + +2020-11-26 Dario Gjorgjevski + + Fix modification check when custom-form is `lisp' + + * lisp/cus-edit.el (custom-variable-modified-p): Quote the value when + custom form is 'lisp (or 'mismatch) prior to comparing in order to + accommodate `custom-variable-value-create' (bug#44852). + +2020-11-26 Mattias EngdegÃ¥rd + + Remove keyboard anachronisms from tutorial + + * etc/tutorials/TUTORIAL: Don't keep referring to EDIT as if it were a + common name for the Meta key; since a few decades back it's labelled + Alt (or Option or ⌥ but those keys usually also have 'alt' engraved on + them). Similarly, CTL is practically extinct and not worth + mentioning. + +2020-11-26 Mattias EngdegÃ¥rd + + Fix replace-regexp-in-string substring match data translation + + For certain patterns, re-matching the same regexp on the matched + substring does not produce correctly translated match data + (bug#15107 and bug#44861). + + Using a new builtin function also improves performance since the + number of calls to string-match is halved. + + Reported by Kevin Ryde and Shigeru Fukaya. + + * lisp/subr.el (replace-regexp-in-string): Translate the match data + using match-data--translate instead of trusting a call to string-match + on the matched string to do the job. + * test/lisp/subr-tests.el (subr-replace-regexp-in-string): + Add test cases. + * src/search.c (Fmatch_data__translate): New internal function. + (syms_of_search): Register it as a subroutine. + +2020-11-26 Alan Mackenzie + + CC Mode: Fix error in cache handling. This fixes bug #43481 + + * lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Handle correctly END + being before HERE by using parse-partial-sexp to get the end of the literal + containing HERE. + +2020-11-26 Lars Ingebrigtsen + + Keep point in the *eldoc* buffer in eldoc-display-in-echo-area + + * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area): Use + 'save-excursion' to keep point position in *eldoc* buffer. + Suggested by Andrii Kolomoiets . + +2020-11-26 Lars Ingebrigtsen + + Allow following symlinks when recompiling directories + + * doc/lispref/compile.texi (Compilation Functions): Document it. + * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Allow + following symlinks (bug#10292). + +2020-11-26 Stefan Kangas + + * lisp/files.el (auto-mode-alist): Add entry for "archive-contents". + +2020-11-26 Eric Abrahamsen + + Add "replied" -> "answered" for gnus-search imap searches + + * lisp/gnus/gnus-search.el (gnus-search-imap-handle-flag): This allows + "mark:A" to be translated into "ANSWERED" and "-mark:A" to be + translated into "UNANSWERED". + +2020-11-26 Eric Abrahamsen + + Assume default imap TEXT search even when not using parsed queries + + This behavior both better matches the previous nnir behavior, reducing + confusion for new users, and matches behavior when using parsed + queries. + + * lisp/gnus/gnus-search.el (gnus-search-imap-search-keys): Make sure + this variable contains all known IMAP search keys. + (gnus-search-run-search): If the search query doesn't start with a + known search key, prepend "TEXT " to the query. + +2020-11-25 Michael Albinus + + Use null-device where appropriate + + * lisp/filesets.el (filesets-select-command): + * lisp/shell.el (shell-mode): + * lisp/term.el (term-exec-1): + * lisp/wdired.el (wdired-do-symlink-changes): + * lisp/cedet/ede/pmake.el (ede-proj-makefile-create): + * lisp/eshell/esh-io.el (eshell-set-output-handle): + * lisp/gnus/gnus-fun.el (gnus-grab-cam-x-face): + * lisp/gnus/mml2015.el (mml2015-epg-key-image): + * lisp/gnus/smime.el (smime-noverify-region): + * lisp/org/ob-picolisp.el (org-babel-execute:picolisp): + * lisp/org/ob-screen.el (org-babel-prep-session:screen) + (org-babel-prep-session:screen): + * lisp/play/fortune.el (fortune-quiet-strfile-options): + * lisp/progmodes/cperl-mode.el (cperl-pod2man-build-command): + * lisp/progmodes/sh-script.el (sh-tmp-file): + * lisp/vc/diff-mode.el (diff-add-log-current-defuns) + (diff--font-lock-prettify): + * lisp/vc/ediff-mult.el (ediff-patch-file-form-meta): + * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer) + (ediff-fixup-patch-map, ediff-dispatch-file-patching-job): + * lisp/vc/vc.el (vc-diff-internal): Use null-device or (null-device), + respectively. (Bug#3736) + +2020-11-25 Juri Linkov + + * lisp/minibuffer.el (completions-format): Add new value 'one-column'. + + * lisp/minibuffer.el (completion--insert-strings): Support 'one-column'. + + * lisp/simple.el (read-from-kill-ring): Truncate strings at frame-width. + +2020-11-25 Stefan Monnier + + (defvar): Detect defining a variable currently lexically bound + + * src/eval.c (lexbound_p): New function. + (Finternal__define_uninitialized_variable): Use it. + +2020-11-25 Mattias EngdegÃ¥rd + + Add tests for replace-regexp-in-string + + * test/lisp/subr-tests.el (subr-replace-regexp-in-string): New. + +2020-11-25 Mattias EngdegÃ¥rd + + * doc/lispref/searching.texi (Rx Constructs): Group numbering fix + +2020-11-25 Michael Albinus + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + + Use `tramp--test-windows-nt-p'. + +2020-11-25 Michael Albinus + + Merge from origin/emacs-27 + + 6442cdc0e4 Revert extra focus redirection in do_switch_frame (Bug#24803) + fc4379f1ae Minor cleanup of tramp-tests.el on MS Windows + dea3d6aa18 Fix handling of defcustom :local tag + +2020-11-25 Michael Albinus + + Merge from origin/emacs-27 + + f425a774c2 Fix display artifacts when 'display' properties cover newl... + +2020-11-25 Martin Rudalics + + Revert extra focus redirection in do_switch_frame (Bug#24803) + + * src/frame.c (do_switch_frame): Do not also redirect frame + focus when FRAME has its minibuffer window on the selected + frame which was intended to fix Bug#24500. It may cause + Bug#24803 and lead to a nasty state where no active cursor is + shown on any frame, see + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg01137.html. + +2020-11-25 Juri Linkov + + Add 'completions-detailed' to add prefix/suffix with 'affixation-function' + + * doc/lispref/minibuf.texi (Completion Variables) + (Programmed Completion): Add affixation-function. + + * lisp/help-fns.el (help--symbol-completion-table-affixation): New function. + (help--symbol-completion-table): Set affixation-function when + completions-detailed is non-nil. + + * lisp/minibuffer.el (completion-metadata): Add affixation-function + to docstring. + (completions-annotations): Inherit from shadow with italic. + (completions-detailed): New defcustom. + (completion--insert-strings): Count string-width on all strings in + completion list. Insert prefix and suffix. + (completion-extra-properties): Add affixation-function to docstring. + (minibuffer-completion-help): Call affixation-function. + (minibuffer-default-prompt-format): Move down closer to its use. + + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00613.html + +2020-11-25 Michael Albinus + + Minor cleanup of tramp-tests.el on MS Windows + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + Do not test remote pty on MS Windows. + +2020-11-25 Lars Ingebrigtsen + + Move code in face-remap.el to avoid a compilation warning + + * lisp/face-remap.el (text-scale--refresh): Move code to avoid + compilation warning. + + In text-scale--refresh: + face-remap.el:241:14: Warning: reference to free variable ‘text-scale-mode’ + +2020-11-25 Stefan Kangas + + Make text-scale-mode optionally adjust the header line + + * lisp/face-remap.el + (text-scale-remap-header-line-face): New buffer local variable. + (text-scale-mode): Adjust header line if above variable is non-nil. + (face-remap--clear-remappings, face-remap--remap-face): New defuns. + * lisp/face-remap.el: Arrange to watch text-scale-mode-remapping. + (text-scale--refresh): New function. + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Use + text-scale-remap-header-line. (Bug#41852) + +2020-11-24 Juri Linkov + + Yank items selected from kill-ring using completion and minibuffer history + + * doc/emacs/killing.texi (Earlier Kills): Document standalone M-y. + + * doc/emacs/search.texi (Isearch Yank): Explain standalone M-y. + + * doc/lispref/text.texi (Yank Commands): Soften the wording of + yank after another yank. + + * lisp/delsel.el: Put 'yank' property on yank-pop and yank-from-kill-ring. + + * lisp/isearch.el (isearch-yank-pop): Use with-isearch-suspended + and read-from-kill-ring to read a string from the kill-ring and + append it to the search string. + + * lisp/simple.el (yank-pop): Call yank-from-kill-ring and + read-from-kill-ring when last-command is not 'yank' instead of + signaling an error. Remove "*" from interactive spec. Update docstring. + (read-from-kill-ring): New function. + (yank-from-kill-ring): New command. + + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00801.html + +2020-11-24 Stefan Kangas + + * build-aux/update-subdirs: Use lexical-binding in subdirs.el. + +2020-11-24 Philipp Stephani + + Add a (broken) unit test to exemplify Bug#11218. + + * test/lisp/emacs-lisp/ert-tests.el + (ert-test-with-demoted-errors): New (broken) unit test. + +2020-11-24 Stefan Kangas + + Remove XEmacs compat code from idlw-help.el + + * lisp/progmodes/idlw-help.el (idlwave-do-context-help) + (idlwave-help-show-help-frame): Remove XEmacs compat code. + +2020-11-24 Stefan Kangas + + Make XEmacs compat aliases easy-menu-{add,remove} obsolete + + * lisp/emacs-lisp/easymenu.el (easy-menu-remove, easy-menu-add): + Make XEmacs compat aliases obsolete. + * lisp/allout.el (allout-setup-menubar): + * lisp/cus-edit.el (Custom-mode): + * lisp/gnus/gnus-art.el (gnus-article-edit-mode): + * lisp/gnus/message.el (message-mode): + * lisp/net/sieve.el (sieve-manage-mode): + * lisp/org/org-agenda.el (org-agenda-mode): + * lisp/org/org-table.el (org-table-edit-formulas, orgtbl-mode): + * lisp/org/org.el: + * lisp/progmodes/cperl-mode.el (cperl-mode): + * lisp/progmodes/hideshow.el (hs-minor-mode): + * lisp/progmodes/idlw-help.el (idlwave-help-mode): + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): + * lisp/progmodes/idlwave.el (idlwave-mode): + * lisp/progmodes/meta-mode.el (meta-common-mode): + * lisp/progmodes/octave.el (octave-mode): + * lisp/progmodes/prolog.el (prolog-menu): + * lisp/progmodes/tcl.el (tcl-mode): + * lisp/speedbar.el (speedbar-reconfigure-keymaps): + * lisp/term.el (term-mode, term-char-mode, term-process-pager): + * lisp/textmodes/dns-mode.el (dns-mode): + * lisp/wid-browse.el (widget-browse-mode): Don't call above + obsolete aliases. + * lisp/cedet/semantic/grammar.el (semantic-grammar-setup-menu-xemacs): + * lisp/mh-e/mh-folder.el (mh-folder-mode): + * lisp/mh-e/mh-identity.el (mh-identity-add-menu): + * lisp/mh-e/mh-letter.el (mh-letter-mode): + * lisp/mh-e/mh-search.el (mh-search-mode): + * lisp/mh-e/mh-show.el (mh-show-mode): + * lisp/obsolete/otodo-mode.el (todo-mode): + * lisp/progmodes/antlr-mode.el (antlr-mode): + * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode) + (java-mode, idl-mode, pike-mode): + * lisp/progmodes/sql.el (sql-mode, sql-interactive-mode): + * lisp/progmodes/vhdl-mode.el (vhdl-update-mode-menu) + (vhdl-add-source-files-menu, vhdl-mode): + * lisp/textmodes/reftex-index.el (reftex-index-mode) + (reftex-index-phrases-mode): + * lisp/textmodes/reftex-toc.el (reftex-toc-mode): + * lisp/textmodes/reftex.el (reftex-mode): Only call above obsolete + aliases in XEmacs. + + * lisp/progmodes/prolog.el (prolog-inferior-menu): + * lisp/erc/erc-menu.el (erc-menu-add, erc-menu-remove): Don't call + above obsolete aliases. Make obsolete. + * lisp/erc/erc-menu.el (menu, erc-menu-add, erc-menu-remove): + * lisp/progmodes/prolog.el (prolog-inferior-mode): Adjust callers. + * lisp/speedbar.el (speedbar-previous-menu): Make obsolete. + (Bug#44731) + +2020-11-24 Basil L. Contovounesios + + Fix handling of defcustom :local tag + + For discussion, see the following emacs-devel thread: + https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html + + * lisp/custom.el (custom-declare-variable): Delay call to + make-variable-buffer-local until after user option has been + initialized with a value. Otherwise the user option may be + initialized to nil. + * test/lisp/custom-tests.el (custom--test-local-option) + (custom--test-permanent-option): New :local user options. + (custom-test-local-option): New test for defcustom :local keyword. + +2020-11-24 Eli Zaretskii + + Fix display artifacts when 'display' properties cover newlines + + * src/xdisp.c (pos_visible_p): Set glyph_row of scratch iterators + to NULL, to avoid producing glyphs while we figure out the layout. + (Bug#44826) + +2020-11-24 Mauro Aranda + + Fix menu binding for files in fileset + + * lisp/filesets.el (filesets-remake-shortcut): We want the callback of + the menu item, not a list that contains the callback. (Bug#44764) + +2020-11-24 Mauro Aranda + + Fix matching of inline choices for the choice widget + + A choice widget should be able to match either no inline values or + inline values, upon request. (Bug#44579) + + * lisp/wid-edit.el (choice): New property, :inline-bubbles-p. A + predicate that returns non-nil if the choice widget can act as an + inline widget. Document it. + (widget-choice-inline-bubbles-p): New function, for the + :inline-bubbles-p property of the choice widget. + (widget-inline-p): New function. Use the :inline-bubbles-p property + of the widget, if any. + (widget-match-inline): Use the above to see if the widget can act like + an inline widget. Document it. + (widget-choice-value-create): Account for the case of a choice widget + that has inline members. + (widget-checklist-add-item, widget-editable-list-value-create) + (widget-group-value-create): Use widget-inline-p rather than just + checking for a non-nil :inline property, allowing these functions to + pass the complete information to widgets like the choice widget to + create their values. + + * test/lisp/wid-edit-tests.el (widget-test-choice-match-no-inline) + (widget-test-choice-match-all-inline) + widget-test-choice-match-some-inline): New tests, to check that choice + widgets can match its choices, inline or not. + (widget-test-inline-p): New test, for the new function + widget-inline-p. + (widget-test-repeat-can-handle-choice) + (widget-test-repeat-can-handle-inlinable-choice) + (widget-test-list-can-handle-choice) + (widget-test-list-can-handle-inlinable-choice) + (widget-test-option-can-handle-choice) + (widget-test-option-can-handle-inlinable-choice): New tests. This + grouping widgets need to be able to create a choice widget regardless + if it has inline choices or not. + +2020-11-24 Drew Adams + + Fix finding filelist for :tree fileset (Bug#976) + + * lisp/filesets.el (filesets-files-under): New function, used to get + all files for a :tree fileset. + (filesets-get-filelist): Use it. Look for the directory and the + pattern in the right place inside entry. + +2020-11-24 Mattias EngdegÃ¥rd + + Autoload the 'rx' pcase macroexpander (bug#44807) + + * lisp/emacs-lisp/rx.el (rx--pcase-macroexpander]): Autoload. + +2020-11-24 Lars Ingebrigtsen + + Allow controlling whether SPC in Gnus goes to the next article + + * doc/misc/gnus.texi (Summary Maneuvering): Document it. + * lisp/gnus/gnus-sum.el (gnus-paging-select-next): New variable. + (gnus-summary-prev-page, gnus-summary-next-page): Use it. + +2020-11-24 Lars Ingebrigtsen + + Make the `C' command work on marked files + + * lisp/arc-mode.el (archive-copy-file): Make the `C' command work + on marked files (bug#44753). + +2020-11-24 Lars Ingebrigtsen + + Add a user option to control how links are followed in eww + + * doc/misc/eww.texi (Advanced): Document it (bug#44783). + + * lisp/net/eww.el (eww-use-browse-url): New variable. + (eww-follow-link): Use it. + +2020-11-24 Itai Seggev (tiny change) + + Codesign the executable on recene MacOS systems + + * src/Makefile.in (temacs$(EXEEXT)): Codesign the executable on + recent (ARM) MacOS systems (bug#43878). Without this, building + Emacs fails. + +2020-11-24 Lars Ingebrigtsen + + Delete the emacs-server directory upon Emacs exit + + * lisp/server.el (server-start): Delete the server directory upon + Emacs exit (bug#44644). This fixes the problem of /tmp/emacs0 + directories being left behind when running an Emacs server as root. + +2020-11-24 Lars Ingebrigtsen + + Tweak the face of unknown backend indicators in flymake + + * lisp/progmodes/flymake.el (flymake--mode-line-format): Don't put + a face on the the "?" unknown backend indicator, because that + looks odd in inactive windows (bug#44689). + +2020-11-24 Paul W. Rankin + + Handle outline overlays better when cycling in outline.el + + * lisp/outline.el (outline--cycle-state): Only consider outline + overlays that are on outline headings; when subtree end is + point-max, return overlay-end +1 because final subtree overlay + only reaches point-max -1 (bug#41198). + (outline-cycle-buffer): Check that buffer has top-level headings + before calling outline-hide-sublevels 1 thus preventing + disconcerting buffer state of content reduced to single "..." + +2020-11-23 Andrea Corallo + + * Add SELECTOR parameter to `native-compile-async' (bug#44813) + + * lisp/emacs-lisp/comp.el (native-compile-async-skip-p): New function + ripping out logic from `native--compile-async' and accounting for + SELECTOR. + (native--compile-async): Add SELECTOR parameter, make use of + `native-compile-async-skip-p' and move it with other private + functions. + (native-compile-async): Add SELECTOR parameter. + +2020-11-23 Andrea Corallo + + * Rename two native compiler customize + + * lisp/emacs-lisp/comp.el (comp-deferred-compilation-deny-list): + Rename from `comp-deferred-compilation-black-list'. + * lisp/emacs-lisp/comp.el (native--compile-async): Update to use + `comp-deferred-compilation-deny-list'. + (comp-bootstrap-deny-list): Rename. + (batch-native-compile): Update to use `comp-bootstrap-deny-list'. + +2020-11-23 Michael Albinus + + Adapt files-x-tests.el according to recent Tramp changes + + * test/lisp/files-x-tests.el (tramp-connection-local-default-profile): + Don't declare. + (tramp-connection-local-default-shell-variables) + (tramp-connection-local-default-system-variables): Declare. + (files-x-test-with-connection-local-variables): Use them. + +2020-11-23 Glenn Morris + + Merge from origin/emacs-27 + + 3ceee39819 Fix Bug#44481 + +2020-11-23 Glenn Morris + + Merge from origin/emacs-27 + + 86cbc9d216 Make ignoring modifiers on IME input optional + 32b97bb9e0 Ignore modifiers when processing WM_IME_CHAR messages + f641ef1a07 Improve documentation of 'font-spec' + + # Conflicts: + # etc/NEWS + +2020-11-23 Glenn Morris + + Merge from origin/emacs-27 + + e66502fec1 ; * doc/misc/eshell.texi (Input/Output): Fix typo. + +2020-11-23 Alan Mackenzie + + minibuffer code: restore original frame after using minibuffer-only frame, etc + + * src/minibuf.c (read_minibuf): In the record_unwind_protect for the second + restore_window_configuration (separate minibuffer frame case) arrange for the + future switching back to the original frame by Fset_window_configuration. + +2020-11-23 Mattias EngdegÃ¥rd + + Fix 'See @xref{...}' (bug#44811) + + Reported by 황병희. + + * doc/lispref/edebug.texi (Printing in Edebug): + * doc/misc/ebrowse.texi (Marking Classes): + * doc/misc/gnus.texi (Ma Gnus): + * doc/misc/tramp.texi (Remote shell setup): + Don't stutter (@xref expands to 'See ...'). + +2020-11-23 Stefan Kangas + + Remove Emacs 19 and 20 compat code from table.el + + * lisp/textmodes/table.el: + (table-recognize-cell, table--make-cell-map) + (*table--present-cell-popup-menu, table--update-cell) + (table--update-cell-widened, table--update-cell-heightened) + (table--cell-insert-char, table--warn-incompatibility): Remove + Emacs 19 and 20 compat code. + * lisp/textmodes/table.el (table-disable-menu) + (table--set-timer, table--get-last-command): Declare obsolete. + +2020-11-23 Stefan Kangas + + Sync latest SKK-JISYO.L + + * leim/SKK-DIC/SKK-JISYO.L: Sync to current upstream version. + + (cherry picked from commit 6a5f9700846551a7f3795e257356dbab865116f4) + +2020-11-23 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2020-10-09 08:23:34 UTC. + + (cherry picked from commit 5b13afab0a903ead8363482529019d4fb80ec4b4) + +2020-11-23 Stefan Kangas + + Use lexical-binding in most runtime leim lisp files + + * lisp/leim/quail/arabic.el: + * lisp/leim/quail/croatian.el: + * lisp/leim/quail/cyril-jis.el: + * lisp/leim/quail/cyrillic.el: + * lisp/leim/quail/czech.el: + * lisp/leim/quail/ethiopic.el: + * lisp/leim/quail/georgian.el: + * lisp/leim/quail/greek.el: + * lisp/leim/quail/hanja-jis.el: + * lisp/leim/quail/hanja.el: + * lisp/leim/quail/hanja3.el: + * lisp/leim/quail/hebrew.el: + * lisp/leim/quail/ipa-praat.el: + * lisp/leim/quail/latin-alt.el: + * lisp/leim/quail/latin-post.el: + * lisp/leim/quail/latin-pre.el: + * lisp/leim/quail/persian.el: + * lisp/leim/quail/programmer-dvorak.el: + * lisp/leim/quail/py-punct.el: + * lisp/leim/quail/pypunct-b5.el: + * lisp/leim/quail/rfc1345.el: + * lisp/leim/quail/sami.el: + * lisp/leim/quail/sgml-input.el: + * lisp/leim/quail/slovak.el: + * lisp/leim/quail/symbol-ksc.el: + * lisp/leim/quail/tamil-dvorak.el: + * lisp/leim/quail/vntelex.el: + * lisp/leim/quail/vnvni.el: + * lisp/leim/quail/welsh.el: Use lexical-binding. + +2020-11-23 Eric Abrahamsen + + Small fixes to gnus-search output parsing of indexed engines + + * lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): When + filtering for desired groups, accept any of [.\/] as potential segment + delimiters. Later on, filesystem path separators will be interpreted + as dots (".") when constructing group names. Also, make sure we use + `expand-file-name' on the prefix, and just use `string-remove-prefix' + to get rid of it. + +2020-11-22 Philipp Stephani + + Unbreak compilation with CHECK_STRUCTS. + + Commit 3963aea4f4a22da0c1fb8ca8ca80b59c58373811 modified the ‘buffer’ + structure, but didn’t adapt the hash. + + * src/pdumper.c (dump_buffer): Update buffer hash. + +2020-11-22 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-11-22 Michael Albinus + + Replace /dev/null by remote null-device in Tramp. + + * lisp/net/tramp-adb.el (tramp-adb-get-ls-command) + (tramp-adb-handle-set-file-times, tramp-adb-handle-process-file): + Use `tramp-get-remote-null-device'. + + * lisp/net/tramp-compat.el (tramp-tramp-file-p): Declare. + (tramp-compat-null-device): New defalias. + + * lisp/net/tramp-sh.el (tramp-methods) : + (tramp-perl-encode-with-module, tramp-perl-decode-with-module) + (tramp-perl-encode, tramp-perl-decode, tramp-awk-decode): + Use "%n" marker. + (tramp-do-directory-files-and-attributes-with-stat) + (tramp-sh-handle-file-name-all-completions) + (tramp-do-copy-or-rename-file-out-of-band) + (tramp-sh-handle-insert-directory, tramp-sh-handle-process-file) + (tramp-set-remote-path, tramp-open-connection-setup-interactive-shell) + (tramp-find-inline-encoding, tramp-send-command-and-check) + (tramp-get-remote-path, tramp-get-ls-command, tramp-get-ls-command-with) + (tramp-get-remote-awk, tramp-get-remote-hexdump, tramp-get-remote-od) + (tramp-get-env-with-u-option): Use `tramp-get-remote-null-device'. + (tramp-remote-coding-commands, tramp-call-local-coding-command): + Adapt docstring. + + * lisp/net/tramp-smb.el (tramp-smb-conf): Use `null-device'. + (tramp-smb-handle-file-acl): Use `tramp-get-remote-null-device'. + + * lisp/net/tramp.el (tramp-methods): Adapt docstring. + (tramp-get-remote-null-device): New defun. + (tramp-interrupt-process): Use it. + +2020-11-22 Stefan Kangas + + Test for byte-compiler warning "variable lacks prefix" + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp--with-warning-test): New macro. + (bytecomp-warn-wrong-args, bytecomp-warn-wrong-args-subr): + Use above new macro. + (bytecomp-warn-variable-lacks-prefix): New test. + +2020-11-22 Stefan Kangas + + Test interactive-only spec of with-suppressed-warnings + + * test/lisp/emacs-lisp/bytecomp-tests.el + (bytecomp-test--with-suppressed-warnings): Test suppressing warning + with interactive-only. + +2020-11-22 Stefan Kangas + + Say which command shadows a key binding + + * src/keymap.c (describe_vector): Say which command shadows this + binding. (Bug#9293) + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-one-shadowed-in-range): Adapt + test. + +2020-11-22 Stefan Kangas + + Don't shadow bindings by the same command + + * src/keymap.c (describe_vector): Do not say binding is shadowed if + the other key binding points to the same command. (Bug#9293) + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-same-command-does-not-shadow): New + test. + +2020-11-22 Stefan Kangas + + Don't show key ranges if shadowed by different commands + + * src/keymap.c (describe_vector): Make sure found consecutive keys + are either not shadowed or, if they are, that they are shadowed by + the same command. (Bug#9293) + * test/src/keymap-tests.el + (help--describe-vector/bug-9293-one-shadowed-in-range): New test. + +2020-11-21 Juri Linkov + + Handle help-form in y-or-n-p and use this in find-file-noselect (bug#5423) + + * doc/lispref/help.texi (Help Functions): Mention help-form for + read-char-from-minibuffer and y-or-n-p. + + * doc/lispref/minibuf.texi (Yes-or-No Queries): Mention help-form + for y-or-n-p. + (Multiple Queries): Mention help-form for read-char-from-minibuffer. + + * lisp/files.el (find-file-noselect): Let-bind multi-line help text + to help-form for y-or-n-p. + + * lisp/subr.el (read-char-choice): Mention help-form in docstring. + (read-char-from-minibuffer): Mention help-form in docstring. + (y-or-n-p-map): Remove handling of 'help'. + (y-or-n-p): Mention help-form in docstring. + When help-form is non-nil: add help-char to 'prompt', and bind + help-char to help-form-show in composed-keymap. + +2020-11-21 Michael Albinus + + Fix Bug#44481 + + * lisp/net/tramp.el (tramp-system-name): New defconst. + (tramp-default-host, tramp-restricted-shell-hosts-alist) + (tramp-local-host-regexp): + * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it. (Bug#44481) + +2020-11-21 Michael Albinus + + Handle connection-local null-device and path-separator variables + + * doc/lispref/os.texi (System Environment): Add `path-separator' + function and `null-device' variable and function. + + * etc/NEWS: Mention 'null-device' and 'path-separator'. Fix typos. + + * lisp/files-x.el (path-separator, null-device): New defuns. (Bug#3736) + + * lisp/net/tramp-adb.el + (tramp-adb-connection-local-default-shell-variables): Rename from + `tramp-adb-connection-local-default-profile'. + + * lisp/net/tramp-integration.el + (tramp-connection-local-default-system-variables): New defvar. + Add it to connection-local profiles. + (tramp-connection-local-default-shell-variables): Rename from + `tramp-connection-local-default-profile'. + + * lisp/progmodes/grep.el (grep-hello-file): New defun. + (grep-compute-defaults): Use `null-device' function for remote + case. Handle remote `hello-file'. Use `process-file-shell-command'. + (grep,grep-expand-keywords, lgrep): Use `null-device' function for + remote case. + +2020-11-21 Lars Ingebrigtsen + + Minor Edebug manual keystroke clarifications + + * doc/lispref/edebug.texi (Edebug Misc): Also mention the `a' + binding to abort (bug#44697). Also fix `d' function reference, and + add `P' reference. + + (cherry picked from commit b613f25f97abf756101eaa2af90689a19c0b3350) + +2020-11-21 Jared Finder + + Migrate usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT. + + * src/termhooks.h (enum event_kind): + * src/term.c (term_mouse_click, handle_one_term_event): + * src/keyboard.c (discard_mouse_events, make_lispy_event): Migrate + usage of GPM_CLICK_EVENT to MOUSE_CLICK_EVENT. + +2020-11-21 Eli Zaretskii + + Make ignoring modifiers on IME input optional + + By default, ignore modifier keys on IME input, but add + a variable to get back old behavior. + * src/w32fns.c (syms_of_w32fns): New variable + w32-ignore-modifiers-on-IME-input. + (w32_wnd_proc): Use it to ignore modifier keys when IME input is + used. (Bug#44641) + + * etc/NEWS: Announce the change and the new variable. + +2020-11-21 Masahiro Nakamura + + Ignore modifiers when processing WM_IME_CHAR messages + + * src/w32fns.c (w32_wnd_proc): Ignore modifiers when processing + WM_IME_CHAR messages. + +2020-11-21 Stefan Kangas + + Make load argument of native-compile-async internal + + * lisp/emacs-lisp/comp.el (native--compile-async): New defun extracted + from native-compile-async. + (native-compile-async): Remove load argument and use above new defun. + * src/comp.c (maybe_defer_native_compilation): Use above new + defun. (Bug#44676) + +2020-11-21 Stefan Monnier + + * lisp/emacs-lisp/package.el (package-strip-rcs-id): Don't ignore errors + + Ignoring errors here just postpones the error and replaces a clear + "invalid version syntax" with a confusing "package lacks a version". + +2020-11-20 Mauro Aranda + + Use cl-letf instead of unwind-protect in a test + + * test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete): + Good use case for cl-letf, so use it. + Suggested by Stefan Monnier in: + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00914.html + +2020-11-20 Stefan Monnier + + * test/manual/indent/tcl.tcl: Add string interpolation case + +2020-11-20 Stefan Monnier + + Don't optimize away `eval` when its lexical context is different + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-eval): + Obey lexical-binding. + +2020-11-20 Mauro Aranda + + Take care of a FIXME in cus-edit-tests.el + + * test/lisp/cus-edit-tests.el (cus-edit-tests-customize-saved/show-obsolete): + Add a fake saved-value property, to be able check that the obsolete + option is present in the Customize buffer. Expect the test to pass + now. + +2020-11-20 Stefan Kangas + + * lisp/emacs-lisp/comp.el (native-compile-async): Doc fix. + +2020-11-20 Stefan Kangas + + Support native compilation of packages on install + + * lisp/emacs-lisp/package.el (package-unpack) + (package--native-compile): Native compile packages on install, if the + feature is available. (Bug#44676) + (package-native-compile): New defcustom. + +2020-11-20 Stefan Kangas + + compile-async: Don't error out on deferred compilation after load + + * lisp/emacs-lisp/comp.el (native-compile-async): Update + comp-files-queue when deferred compilation is requested. (Bug#44676) + +2020-11-20 Stefan Kangas + + Don't quote lambda in idlwave.el + + * lisp/progmodes/idlwave.el (idlwave-keyword-abbrev): Don't quote + lambda. + +2020-11-20 Stefan Kangas + + Remove remaining XEmacs compat code from erc-log.el + + * lisp/erc/erc-log.el (erc-save-buffer-in-logs): Remove XEmacs + compat code. + +2020-11-20 Stefan Kangas + + Don't set XEmacs only properties start-open and end-open + + * lisp/epa.el (epa-sign-region, epa-encrypt-region): + * lisp/erc/erc.el (erc-display-prompt): + * lisp/gnus/message.el (message-forward-make-body-mime): + * lisp/net/eudc-bob.el (eudc-bob-display-jpeg) + (eudc-bob-display-audio, eudc-bob-display-generic-binary): + * lisp/url/url-http.el + (url-http-chunked-encoding-after-change-function): Don't set XEmacs + only properties start-open and end-open. + +2020-11-20 Stefan Kangas + + Remove XEmacs compat code from idlw-shell.el + + * lisp/progmodes/idlw-shell.el: + (idlwave-shell-use-toolbar): Doc fix. + (idlwave-default-mouse-track-event-is-with-button): Declare obsolete. + (idlwave-shell-update-bp-overlays): Remove XEmacs compat code. + +2020-11-20 Stefan Kangas + + Remove some XEmacs compat code from ediff-wind.el + + * lisp/vc/ediff-wind.el (ediff-window) + (ediff-compute-toolbar-width): Remove some XEmacs compat code. + +2020-11-20 Stefan Kangas + + Remove Emacs 20 compat code from org.el + + * lisp/org/org.el (org-org-menu, org-create-customize-menu): + Remove Emacs 20 compat code. + +2020-11-20 Stefan Kangas + + Remove Emacs 20 compat code from idlwave.el + + * lisp/progmodes/idlwave.el (idlwave-indent-line) + (idlwave-toggle-comment-region, idlwave-reset-sintern) + (idlwave-unit-name, idlwave-mode-menu-def) + (idlwave-create-customize-menu): Remove Emacs 20 compat code. + +2020-11-20 Stefan Kangas + + Properly mark obsolete semantic functions as such + + * lisp/cedet/semantic/ia.el (semantic-ia-get-completions) + (semantic-ia-get-completions-deprecated): Make obsolete. + +2020-11-20 Stefan Kangas + + Mark compat alias in cus-face.el obsolete + + * lisp/cus-face.el (custom-facep): Mark compat alias obsolete. + * lisp/cus-dep.el (custom-make-dependencies): + * lisp/cus-edit.el (customize-changed-options) + (custom-unsaved-options, customize-saved, customize-apropos) + (custom-save-faces): Adjust callers. + +2020-11-20 Eli Zaretskii + + Fix compilation on MS-Windows with librsvg > 2.46.0 + + * src/image.c (rsvg_handle_get_dimensions, init_svg_functions): + Make 'rsvg_handle_get_dimensions' available and defined for all + versions of librsvg. (Bug#44655) + +2020-11-20 Stefan Kangas + + Hide obsolete options in most customize commands + + * lisp/cus-edit.el (custom--filter-obsolete-variables): New defun. + * lisp/cus-edit.el (customize-changed-options) + (customize-apropos, custom-group-value-create): Hide obsolete user + options. (Bug#44598) + * test/lisp/cus-edit-tests.el: New file. + +2020-11-20 João Tãvora + + Revert unintended part of last change to jsonrpc-request + + While playing around with the timing in this function, I left + this change that could freeze the function on some platforms. + + * lisp/jsonrpc.el (jsonrpc-request): Use accept-process-output. + (Version): Bump to 1.0.14 + +2020-11-20 Lars Ingebrigtsen + + Move semantic/tag obsolete variables to avoid a warning + + * lisp/cedet/semantic/tag.el (semantic-token-version): Move to + avoid a compilation warning. + +2020-11-20 João Távora + + Fix default timeout handling in jsonrpc-request + + * lisp/jsonrpc.el (jsonrpc-request): Use default timeout if not passed. + (Version): Bump to 1.0.13 + +2020-11-20 Andrea Corallo + + Add 'EMACSNATIVELOADPATH' env variable support (bug#44726) + + * lisp/startup.el (normal-top-level): Read 'EMACSNATIVELOADPATH' + and add entries too `comp-eln-load-path'. + * lisp/mail/emacsbug.el (report-emacs-bug): Dump + also 'EMACSNATIVELOADPATH'. + +2020-11-20 Lars Ingebrigtsen + + Avoid a compilation warning about an ambiguous else + + * src/data.c (set_internal): Avoid compilation warning. + + data.c:1443:9: error: suggest explicit braces to avoid ambiguous ‘else’ + 1443 | if (idx > 0 && bindflag == SET_INTERNAL_SET + | ^ + +2020-11-19 Stefan Monnier + + * src/data.c (set_internal): Fix bug#44733 + + Set the default value when `set` encounters a PER_BUFFER variable + which has been let-bound globally, to match the behavior seen with + `make-variable-buffer-local`. + + * test/src/data-tests.el (binding-test--let-buffer-local): + Add corresponding test. + (data-tests--set-default-per-buffer): Add tentative test for the + performance problem encountered in bug#41029. + +2020-11-19 Torsten Hilbrich + + * lisp/net/dictionary.el: Remove remnants of package + + Version and package depedencies are not useful when included into + Emacs. + +2020-11-19 Eli Zaretskii + + Improve documentation of 'font-spec' + + * doc/lispref/display.texi (Low-Level Font): + * src/font.c (Ffont_spec): Document 'font-spec' keys that are + supported, but were undocumented. + +2020-11-19 Stefan Kangas + + Remove some XEmacs compat code from filesets.el + + * lisp/filesets.el (filesets-init): Remove some XEmacs compat code. + (filesets-error): Declare obsolete. + (filesets-directory-files, filesets-get-selection) + (filesets-spawn-external-viewer, filesets-get-filelist) + (filesets-open, filesets-close, filesets-get-menu-epilog) + (filesets-ingroup-collect-files, filesets-build-ingroup-submenu) + (filesets-update-pre010505): Adjust callers. + +2020-11-19 Stefan Kangas + + Remove some compat code from ffap.el + + * lisp/ffap.el (ffap-mouse-event, ffap-event-buffer): Make obsolete. + (ffap-menu-ask, ffap-at-mouse): Adjust callers. + +2020-11-19 Stefan Kangas + + Declare some compat aliases obsolete + + * lisp/cedet/semantic/tag.el (semantic-token-version) + (semantic-token-incompatible-version): + * lisp/emulation/edt.el (edt-bind-standard-key): Make compat + aliases obsolete. + +2020-11-19 Stefan Kangas + + Remove some compat code from url.el + + * lisp/url/url.el (url-warn): Make into obsolete alias for + display-warning. + * lisp/url/url-auth.el (url-register-auth-scheme): + * lisp/url/url-news.el (url-news-open-host): + * lisp/url/url-proxy.el (url-find-proxy-for-url): Adjust callers. + +2020-11-19 Stefan Kangas + + Remove some compat code for old versions and XEmacs + + * lisp/ibuf-ext.el (ibuffer-old-saved-filters-warning) + (ibuffer-maybe-save-stuff): Assume customize-save-variable is + bound; it is autoloaded. + * lisp/cedet/semantic/symref/grep.el (semantic-symref-perform-search): + * lisp/password-cache.el (password-cache-remove): + * lisp/cedet/semantic/bovine/el.el (semantic-dependency-tag-file): + Remove Emacs 21 compat code. + * lisp/cedet/semantic/sort.el (semantic-string-lessp-ci): + Remove Emacs 20 compat code. + * test/lisp/cedet/semantic-utest.el (semantic-utest-temp-directory): + * lisp/mail/supercite.el (sc-ask): Remove XEmacs compat code. + * lisp/progmodes/idlw-shell.el (idlwave-shell-mode): + * lisp/progmodes/idlwave.el (idlwave-mode): Remove commented out + compat code. + +2020-11-19 Stefan Monnier + + * src/buffer.h (struct buffer): Remove unused field `minor_modes` + + * src/buffer.c (bset_minor_modes): Remove function. + (reset_buffer_local_variables, init_buffer_once): Don't set `minor_modes`. + +2020-11-19 Michael Albinus + + Use decoding implementation from `insert-directory' in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + Use decoding implementation from `insert-directory', it is more robust. + +2020-11-19 Mattias EngdegÃ¥rd + + More string-search optimisations + + All-ASCII strings cannot have substrings with non-ASCII characters in + them; use this fact to avoid searching entirely. + + * src/fns.c (Fstring_search): For multibyte non-ASCII needle and + unibyte haystack, don't check if the haystack is all-ASCII; it's a + waste of time. For multibyte non-ASCII needle and multibyte + all-ASCII haystack, fail immediately. + * test/src/fns-tests.el (string-search): Add more test cases. + +2020-11-19 Alan Mackenzie + + * etc/NEWS: Restore entries accidentally removed by previous commit. + +2020-11-19 Alan Mackenzie + + In attempted recursive minibuffer use, display error message in correct frame + + This was problematic when minibuffer-follows-selected-frame was non-nil. + Introduce a new parameter DONT-SET-FRAME to set-window-configuration. + + * doc/lispref/windows.texi (Window Configurations): Describe the new &optional + parameter to set-window-configuration. + + * etc/NEWS (Lisp Changes): Note the new parameter to set-window-configuration. + + * src/keyboard.c (read_char_help_form_unwind): Add a new Qnil argument to the + call of Fset_window_configuration. + + * src/minibuf.c (read_minibuf): Cons up a Qt with the window configuration in + the argument to record_unwind_protect for the window configuration (twice). + + * src/window.c (Fset_window_configuration): Add the new &optional parameter + and document it in the doc string. At the final do_switch_frame operation, + restore the original frame when DONT-SET-FRAME is non-nil. + (restore_window_configuration): Handle the new parameter when the supplied + argument is a cons. + +2020-11-19 Matthias Meulien + + Add history of search words to read-string + + Remove text property from empty line + +2020-11-19 Torsten Hilbrich + + Move placement of dictionary-tooltip-mouse-event + + * lisp/net/dictionary.el (dictionary-tooltip-mouse-event): Place + variable before dictionary-display-tooltip to avoid warning about use of + free variable when compiling dictionary-display-tooltip + +2020-11-19 Torsten Hilbrich + + Support nil value for dictionary-server + + * net/lisp/dictionary.el (dictionary-server): Support choice to select + the dictionary server to use + * net/lisp/dictionary.el (dictionary-check-connection): Support nil + value for dictionary-server + + This nil value is the new default value of that variable. When + opening a new connection and dictionary-server is nil the code + behaves the following way: + + - it will first try to connect to a dictd server running on localhost + - if that fails, it queries the user if the alternative + server (dict.org) should be consulted + - if the user agrees, the connection is made to dict.org + + This allows the default value of dictionary-server not to connect + a remote server by default. The user is always able to select a + different server by customizing the variable dictionary-search. + +2020-11-19 Stefan Kangas + + Remove outdated comment about Emacs 20 from viper.el + + * lisp/emulation/viper-util.el (viper-chars-in-region): Remove + outdated comment. + +2020-11-19 Stefan Kangas + + Add new variable cperl-tags-file-name + + * lisp/progmodes/cperl-mode.el (cperl-tags-file-name): New variable. + (cperl-write-tags): Use above new variable instead of hardcoding + filename "TAGS". (Bug#8802) + +2020-11-19 Stefan Kangas + + Declare XEmacs compat function in inversion.el obsolete + + * lisp/cedet/inversion.el (inversion-require-emacs): Declare obsolete. + +2020-11-19 Stefan Kangas + + Assume font-lock is provided; it's preloaded since 22.1 + + * lisp/cedet/semantic/format.el (semantic--format-colorize-text): + * lisp/eshell/em-ls.el (eshell-ls--insert-directory): + * lisp/net/dig.el (dig-mode): + * lisp/progmodes/cperl-mode.el (cperl-pod-here-fontify): + * lisp/progmodes/idlw-help.el (idlwave-help-fontify): + * lisp/progmodes/idlwave.el (idlwave-completion-fontify-classes): + Don't check for feature 'font-lock; it has been preloaded since 22.1. + * lisp/cedet/semantic/format.el (font-lock): + * lisp/epa.el (font-lock): + * lisp/erc/erc.el (font-lock): + * lisp/generic-x.el (font-lock): + * lisp/net/sieve-mode.el (font-lock): + * lisp/progmodes/prolog.el (font-lock): + * lisp/textmodes/rst.el (font-lock): Remove unnecessary require. + +2020-11-19 Stefan Kangas + + * lisp/progmodes/cperl-mode.el: Doc fix. + +2020-11-19 Stefan Kangas + + Remove unnecessary load from idlwave + + * lisp/progmodes/idlw-shell.el: + * lisp/progmodes/idlwave.el: Remove unnecessary load; easy-menu-define + is autoloaded. + +2020-11-19 Stefan Kangas + + Make compat alias add-submenu obsolete + + * lisp/emacs-lisp/easymenu.el (add-submenu): Make compat alias + obsolete. + * lisp/filesets.el (filesets-build-menu-now): Don't use above + obsolete alias. + (filesets-menu-path, filesets-menu-before) + (filesets-menu-in-menu): Doc fix. + +2020-11-19 Alan Third + + Fix SVG display again (bug#44655) + + * src/image.c (svg_load_image): Fall back to + rsvg_handle_get_dimensions if we can't calculate the size of the + image. + +2020-11-18 Protesilaos Stavrou + + Clarify that 'diff-error' is part of Emacs 28.1 + + * lisp/vc/diff-mode.el (diff-error): Add :version tag (bug#44727). + +2020-11-18 Lars Ingebrigtsen + + Further doc fixes for dotimes about RESULT + + * lisp/subr.el (dotimes): Be even more explicit about RESULT + (bug#16206). + + (cherry picked from commit 5b0d8d0f288fd505ca90bd30df709a5e7ab540d6) + +2020-11-18 Andrea Corallo + + * Fix eln file hasing for symlink paths (bug#44701) + + * src/comp.c (Fcomp_el_to_eln_filename): Call `file-truename' + in place of `expand-file-name' when available. + +2020-11-18 Jonas Bernoulli + + Revert "[WIP] Add and improve section headings" + + This reverts commit 007a5a677573ab628426a0605eb38f8e68fe1953. + +2020-11-18 Jonas Bernoulli + + Revert "[TODO] Remove noisy anti-noise feature" + + This reverts commit c36b4eed2d76f0e804d27d35dd6281f858639f94. + +2020-11-18 Jonas Bernoulli + + [TODO] Remove noisy anti-noise feature + + [WIP] Add and improve section headings + +2020-11-18 Mattias EngdegÃ¥rd + + Turn gdb-wait-for-pending into a plain function + + This avoids unnecessary body duplication in expansion and macro + recursion (causing macro-expansions at runtime), making it clearer + what is going on. + + * lisp/progmodes/gdb-mi.el (gdb-wait-for-pending): Make it a function, + remove lambda quoting, η-reduce and simplify. + (gdb-thread-exited, gdb-thread-selected): Adapt callers. + +2020-11-18 Basil L. Contovounesios + + Don't make bibtex-unify-case-convert buffer-local + + The :local tag does not currently work as intended (it results in a + default value of bibtex-unify-case-convert of nil rather than + identity), and no other bibtex.el user option is automatically + buffer-local, so revert this recent change. + + For discussion, see the following emacs-devel thread: + https://lists.gnu.org/r/emacs-devel/2020-11/msg00734.html + + * lisp/textmodes/bibtex.el (bibtex-unify-case-convert): Don't make + automatically buffer-local for consistency with other user options, + and because the :local tag doesn't have the intended results. + +2020-11-18 Michael Albinus + + Preserve `dired-filename' text properties in Tramp + + * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): + Restore `dired-filename' text property, which has been destroyed + by `decode-coding-region'. (Bug#44682) + +2020-11-17 Stefan Kangas + + Remove redundant 'function's around lambdas + + * lisp/allout.el (allout-latex-verb-quote): + * lisp/edmacro.el (edmacro-format-keys): + * lisp/ffap.el (ffap-all-subdirs-loop) + (ffap-kpathsea-expand-path, ffap-menu-rescan): + * lisp/files.el (save-buffers-kill-emacs): + * lisp/find-lisp.el (find-lisp-find-dired-internal) + (find-lisp-insert-directory): + * lisp/gnus/gnus-agent.el (gnus-agent-expire-unagentized-dirs): + * lisp/gnus/nnmairix.el (nnmairix-create-message-line-for-search) + (nnmairix-widget-get-values) + (nnmairix-widget-make-query-from-widgets) + (nnmairix-widget-build-editable-fields): + * lisp/international/mule-cmds.el (sort-coding-systems): + * lisp/international/mule-diag.el (list-character-sets-1): + * lisp/international/quail.el (quail-insert-decode-map): + * lisp/mail/reporter.el (reporter-dump-state): + * lisp/mail/supercite.el (sc-attribs-filter-namelist): + * lisp/pcmpl-gnu.el (pcmpl-gnu-zipped-files) + (pcmpl-gnu-bzipped-files): + * lisp/progmodes/cperl-mode.el (cperl-find-tags) + (cperl-write-tags, cperl-tags-hier-init, cperl-tags-treeify) + (cperl-menu-to-keymap, cperl-pod-spell): + * lisp/progmodes/gdb-mi.el (gdb-parent-mode): + * lisp/progmodes/make-mode.el (makefile-browser-fill): + * lisp/simple.el (transpose-lines): + * lisp/term.el: + * lisp/term/w32-win.el (w32-find-non-USB-fonts): + * lisp/textmodes/table.el (table--generate-source-scan-lines): Remove + redundant 'function's around lambdas. + +2020-11-17 Stefan Kangas + + Remove redundant 'function's around lambdas in mh/*.el + + * lisp/mh-e/mh-alias.el (mh-alias-tstamp, mh-alias-filenames) + (mh-alias-address-to-alias): + * lisp/mh-e/mh-comp.el (mh-edit-again, mh-redistribute): + * lisp/mh-e/mh-identity.el (mh-identity-make-menu): + * lisp/mh-e/mh-utils.el (mh-help): Remove redundant 'function's around + lambdas. + +2020-11-17 Alan Mackenzie + + Enhance syntax-tests.el to test nestable comments (Lisp style) + + Also add some tests for braces and parse-partial-sexp amongst Lisp style + comments. + + * test/src/syntax-tests.el (\;-in, \;-out): Add syntax for { and }. + (top-level): Add new tests for Lisp style comments. + (\#|-in, \#|-out): New functions. + (top-level): Add new tests for nested Lisp style comments, and mixtures of + nested comments with "ordinary" comments. + + * test/src/syntax-resources/syntax-comments.txt (top-level): Add new test + fragments for #|...|#, etc. + +2020-11-17 Stefan Kangas + + Don't quote lambdas with 'function' in calc/*.el + + * lisp/calc/calc-aent.el (calc-do-quick-calc) + (calc-do-calc-eval, math-build-parse-table): + * lisp/calc/calc-alg.el (math-polynomial-base): + * lisp/calc/calc-alg.el (math-is-poly-rec): + * lisp/calc/calc-arith.el (calcFunc-scf): + * lisp/calc/calc-arith.el (math-ceiling, math-round): + * lisp/calc/calc-arith.el (math-trunc-fancy, math-floor-fancy): + * lisp/calc/calc-ext.el (calc-init-extensions, calc-reset) + (calc-refresh-top, calc-z-prefix-help, calc-binary-op-fancy) + (calc-unary-op-fancy): + * lisp/calc/calc-forms.el (math-make-mod): + * lisp/calc/calc-frac.el (calcFunc-frac): + * lisp/calc/calc-funcs.el (calcFunc-euler): + * lisp/calc/calc-help.el (calc-full-help): + * lisp/calc/calc-lang.el (c, pascal, fortran, tex, latex, eqn) + (yacas, maxima, giac, math, maple): + * lisp/calc/calc-macs.el (calc-wrapper, calc-slow-wrapper): + * lisp/calc/calc-map.el (calc-get-operator, calcFunc-mapeqr) + (calcFunc-reducea, calcFunc-rreducea, calcFunc-reduced) + (calcFunc-rreduced, calcFunc-outer): + * lisp/calc/calc-misc.el (another-calc, calc-do-handle-whys): + * lisp/calc/calc-mode.el (calc-save-modes): + * lisp/calc/calc-mtx.el (math-col-matrix, math-mul-mat-vec): + * lisp/calc/calc-poly.el (math-sort-terms, math-poly-div-list) + (math-mul-list, math-sort-poly-base-list) + (math-partial-fractions): + * lisp/calc/calc-prog.el (calc-user-define-formula): + * lisp/calc/calc-rewr.el (math-rewrite, math-compile-patterns) + (math-compile-rewrites, math-parse-schedule) + (math-rwcomp-pattern): + * lisp/calc/calc-store.el (calc-var-name-map, calc-let) + (calc-permanent-variable, calc-insert-variables): + * lisp/calc/calc-stuff.el (calc-flush-caches, calcFunc-pclean) + (calcFunc-pfrac): + * lisp/calc/calc-units.el (math-build-units-table) + (math-decompose-units): + * lisp/calc/calc-vec.el (calcFunc-mrow, math-mat-col) + (calcFunc-mcol, math-mat-less-col, math-mimic-ident): + * lisp/calc/calc-yank.el (calc-edit): + * lisp/calc/calc.el + (calc-mode-var-list-restore-default-values) + (calc-mode-var-list-restore-saved-values, calc-mode, calc-quit): + * lisp/calc/calccomp.el (math-compose-expr) + (math-compose-matrix, math-vector-to-string): Don't quote lambdas with + 'function'. + +2020-11-17 Stefan Kangas + + Add command to filter package menu by name or description + + * lisp/emacs-lisp/package.el (package-menu-filter-by-description): + (package-menu-filter-by-name-or-description): New commands to filter + the package menu. (Bug#44699) + (package-menu-mode-map): Bind the above new commands. + (package-menu-mode-menu): Add new commands to the menu. + * doc/emacs/package.texi (Package Menu): Document new commands. + +2020-11-17 Stefan Kangas + + Don't quote lambdas with function macro in generic-x.el + + * lisp/generic-x.el (apache-conf-generic-mode, ini-generic-mode) + (reg-generic-mode, mailagent-rules-generic-mode) + (vrml-generic-mode, java-properties-generic-mode) + (alias-generic-mode, ansible-inventory-generic-mode) + (inetd-conf-generic-mode, etc-services-generic-mode) + (etc-passwd-generic-mode, etc-fstab-generic-mode) + (spice-generic-mode, astap-generic-mode): Don't quote lambdas with + function macro. + +2020-11-17 Stefan Kangas + + Test that substitute-command-keys preserves text properties + + * test/lisp/help-tests.el + (help-substitute-command-keys/preserves-text-properties): New test. + (Bug#17052) + +2020-11-17 Harald Jörg + + perl-mode and cperl-mode: Recognize regex after "return" + + * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Add + "return" to the keywords which start a regex. + + * lisp/progmodes/perl-mode.el (defconst): Add "return" to + 'perl--syntax-exp-intro-keywords' (Bug#26850). + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-test-bug-28650): + New test (bug#26850). + +2020-11-17 Lars Ingebrigtsen + + Minor Edebug manual keystroke clarifications + + * doc/lispref/edebug.texi (Edebug Misc): Also mention the `a' + binding to abort (bug#44697). Also fix `d' function reference, and + add `P' reference. + +2020-11-16 Lars Ingebrigtsen + + Make the handwrite.el PS valid again + + * lisp/play/handwrite.el (handwrite): Make the PS valid + (bug#44648). Suggested by Omar Antolín . + +2020-11-16 Lars Ingebrigtsen + + Fix gnus-mime-display-alternative button natigation + + * lisp/gnus/gnus-art.el (gnus-mime-display-alternative): Mark the + buttons correctly so that TAB can find them (bug#44690). + +2020-11-16 Ruthra Kumar + + Use 'eshell-find-alias-function' instead of fboundp + + * lisp/eshell/esh-cmd.el (eshell-invoke-directly): Fix problem + with (require 'em-tramp) making password prompting from "sudo + bash" no longer work (bug#43772). + +2020-11-16 Francesco Potortì + + Add new user option bibtex-unify-case-convert + + * lisp/textmodes/bibtex.el (bibtex-unify-case-convert): New + variable (bug#44614). + (bibtex-format-entry): Use it (bug#44614). + +2020-11-16 Stefan Kangas + + Use lexical-binding in time-stamp.el + + * lisp/time-stamp.el: Use lexical-binding. Remove redundant :group + args. + +2020-11-16 Stefan Kangas + + Don't quote lambdas in net/*.el + + * lisp/net/eudc-export.el (eudc-create-bbdb-record): + * lisp/net/eudc.el (eudc-print-attribute-value) + (eudc-display-records, eudc-process-form) + (eudc-filter-duplicate-attributes, eudc-filter-partial-records) + (eudc-add-field-to-records, eudc-query-with-words) + (eudc-query-form, eudc-menu): + * lisp/net/eudcb-bbdb.el (eudc-bbdb-extract-phones) + (eudc-bbdb-query-internal): + * lisp/net/mairix.el (mairix-widget-make-query-from-widgets) + (mairix-widget-build-editable-fields, mairix-widget-get-values): + Don't quote lambdas. + +2020-11-16 Stefan Kangas + + Don't quote lambdas in emacs-lisp/*.el + + * lisp/emacs-lisp/cl-seq.el (cl--parsing-keywords, cl-sort): + * lisp/emacs-lisp/cl-macs.el (cl-typecase): + * lisp/emacs-lisp/cl-extra.el (cl-some, cl-every) + (cl--map-keymap-recursively): + * lisp/emacs-lisp/advice.el (ad-insert-argument-access-forms): + * lisp/emacs-lisp/edebug.el (edebug-sort-alist) + (edebug-set-windows): + * lisp/emacs-lisp/pp.el (pp-display-expression): + * lisp/emacs-lisp/regi.el (regi-interpret): Don't quote lambdas. + +2020-11-16 Glenn Morris + + Merge from origin/emacs-27 + + 75723ec212 (origin/emacs-27) ; * lisp/emacs-lisp/benchmark.el (benchm... + 53e2a612ad ; * lib-src/make-fingerprint.c: Update commentary. + 286c632772 Reformat argument commentary in etags.c + 4ec740866a Make the invocation of combine-change-calls in comment-reg... + 66bcec8838 * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix ... + 03eeab469e ; Update the expected result files in test/manual/etags. + d875a22bc6 Update the various INSTALL files + + # Conflicts: + # INSTALL + +2020-11-16 Glenn Morris + + Merge from origin/emacs-27 + + 19da602991 Fix input method translation near read-only text + 5aabf2cc7f Fix display of truncated R2L lines on TTY frames + daff3bda10 Avoid crashes when a reversed glyph row starts with a comp... + b697bb91a1 ; * .gitignore: src/fingerprint.c not generated since 2019... + +2020-11-16 Stefan Kangas + + Don't quote lambdas in calc/calcalg{2,3}.el + + * lisp/calc/calcalg2.el (calcFunc-inv\', calcFunc-sqrt\') + (calcFunc-deg\', calcFunc-rad\', calcFunc-ln\') + (calcFunc-log10\', calcFunc-lnp1\', calcFunc-log\') + (calcFunc-log\'2, calcFunc-exp\', calcFunc-expm1\') + (calcFunc-sin\', calcFunc-cos\', calcFunc-tan\', calcFunc-sec\') + (calcFunc-csc\', calcFunc-cot\', calcFunc-arcsin\') + (calcFunc-arccos\', calcFunc-arctan\', calcFunc-sinh\') + (calcFunc-cosh\', calcFunc-tanh\', calcFunc-sech\') + (calcFunc-csch\', calcFunc-coth\', calcFunc-arcsinh\') + (calcFunc-arccosh\', calcFunc-arctanh\', calcFunc-bern\'2) + (calcFunc-euler\'2, calcFunc-gammag\'2, calcFunc-gammaG\'2) + (calcFunc-gammaP\'2, calcFunc-gammaQ\'2, calcFunc-betaB\') + (calcFunc-betaI\', calcFunc-erf\', calcFunc-erfc\') + (calcFunc-besJ\'2, calcFunc-besY\'2, calcFunc-sum) + (calcFunc-prod, calcFunc-integ, calcFunc-if, calcFunc-subscr) + (math-do-integral, calcFunc-integ, math-decompose-poly) + (math-solve-system-rec, math-solve-system-subst, math-solve-for) + (calcFunc-inv, calcFunc-sqrt, calcFunc-conj, calcFunc-abs) + (calcFunc-deg, calcFunc-rad, calcFunc-ln, calcFunc-log10) + (calcFunc-lnp1, calcFunc-exp, calcFunc-expm1, calcFunc-sin) + (calcFunc-cos, calcFunc-tan, calcFunc-arcsin, calcFunc-arccos) + (calcFunc-arctan, calcFunc-sinh, calcFunc-cosh, calcFunc-tanh) + (calcFunc-arcsinh, calcFunc-arccosh, calcFunc-arctanh): + * lisp/calc/calcalg3.el (calc-get-fit-variables) + (calcFunc-polint, calcFunc-ratint, math-all-vars-but): Don't quote + lambdas. + +2020-11-16 Stefan Kangas + + Various doc fixes for comp.el and comp.c + + * lisp/emacs-lisp/comp.el: Remove redundant :group args. + (comp-async-cu-done-hook, comp-async-all-done-hook) + (comp-async-env-modifier-form, comp-dry-run) + (comp-ensure-native-compiler, comp-func-ret-typeset) + (comp-func-ret-range, comp-limple-lock-keywords) + (comp-make-curr-block): + * src/comp.c (Fcomp_el_to_eln_filename, Fcomp__init_ctxt) + (Fcomp_native_driver_options_effective_p) + (Fcomp__compile_ctxt_to_file, Fcomp_libgccjit_version) + (Fcomp__register_lambda, Fcomp__register_subr) + (Fcomp__late_register_subr, Fnative_elisp_load, syms_of_comp): Doc fixes. + +2020-11-16 Andrea Corallo + + Fix nativecomp cond-rw pass + + * lisp/emacs-lisp/comp.el (comp-mvar-symbol-p): Improve it. + (comp-cond-rw-func): Fix logic for multiple predecessor on target + block. + * test/src/comp-tests.el (comp-test-cond-rw-1): New test. + * test/src/comp-test-funcs.el (comp-test-cond-rw-1-1-f) + (comp-test-cond-rw-1-2-f): New functions. + +2020-11-16 Stefan Kangas + + Don't quote lambdas in eshell/*.el + + * lisp/eshell/em-basic.el (eshell-echo): + * lisp/eshell/em-cmpl.el (eshell-command-completion-function) + (eshell-default-completion-function, eshell-cmpl-initialize) + (eshell-complete-parse-arguments, eshell-complete-commands-list): + * lisp/eshell/em-dirs.el (eshell-complete-user-reference): + * lisp/eshell/em-hist.el (eshell-hist-unload-hook) + (eshell-hist-initialize): + * lisp/eshell/em-ls.el (eshell-ls-sort-entries): + * lisp/eshell/em-pred.el (eshell-modifier-alist) + (eshell-display-predicate-help, eshell-display-modifier-help) + (eshell-pred-substitute, eshell-split-members): + * lisp/eshell/em-prompt.el (eshell-prompt-function): + * lisp/eshell/em-smart.el (eshell-smart-unload-hook) + (eshell-smart-initialize, eshell-refresh-windows): + * lisp/eshell/em-unix.el (eshell-shuffle-files): + * lisp/eshell/esh-arg.el (eshell-parse-argument-hook): + * lisp/eshell/esh-cmd.el (eshell-cmd-initialize) + (eshell-parse-command): + * lisp/eshell/esh-mode.el (eshell-preinput-scroll-to-bottom) + (eshell-postoutput-scroll-to-bottom): + * lisp/eshell/esh-module.el (eshell-modules-list): + * lisp/eshell/esh-proc.el (eshell-read-process-name) + (eshell-round-robin-kill): + * lisp/eshell/esh-var.el (eshell-envvar-names) + (eshell-variables-list): Don't quote lambdas. + +2020-11-15 Juri Linkov + + New user options 'copy-region-blink-delay' and 'delete-pair-blink-delay' + + * lisp/emacs-lisp/lisp.el (delete-pair-blink-delay): New defcustom. + (delete-pair): Use it. (Bug#4136) + + * lisp/simple.el (copy-region-blink-delay): New defcustom. + (indicate-copied-region): Use it. (Bug#42865) + Thanks to Sean Whitton . + (indicate-copied-region): Use 'query-replace-descr' not to show + newlines literally. Use "Copied text" instead of misleading + "Saved text" (bug#42865). + +2020-11-15 Andrea Corallo + + * Improve `comp-fwprop-call' + + * lisp/emacs-lisp/comp.el (comp-function-call-maybe-fold): + Document return value. + (comp-fwprop-call): Simplify and improve. + +2020-11-15 Andrea Corallo + + * Add more type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add more + pure functions. + +2020-11-15 Eli Zaretskii + + Reformat argument commentary in etags.c + + * lib-src/etags.c (pfnote, consider_token, C_entries): Resurrect + original format of comments to function arguments. + +2020-11-15 Mattias EngdegÃ¥rd + + Reformat comment for 'gnu' compilation rule + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + The comments above the regexp for the 'gnu' rule contained + references to the previous string regexp, which has been difficult + to follow ever since the translation to rx. Move the comments + to their proper places, and add some guiding notes. + +2020-11-15 Alan Mackenzie + + Make the invocation of combine-change-calls in comment-region valid + + This fixes bug #44581. The problem was that whitespace outside of the (BEG + END) region was being deleted, and this made the invocation of + combine-change-calls with (BEG END) invalid. + + * lisp/newcomment.el (comment-region-default): Amend the second argument to + combine-change-calls. + +2020-11-15 Alan Mackenzie + + * lisp/progmodes/cc-langs.el (c-<>-notable-chars-re): Fix wrong '-' in regexp + +2020-11-15 Stefan Kangas + + Make initial frame match frame-title-format + + * src/xterm.c (x_term_init): + * src/w32term.c (w32_initialize_display_info): Sync initial frame + title with new value of Vframe_title_format. + Problem reported by Angelo Graziosi . + +2020-11-15 Stefan Kangas + + Run menu-item :filter function before showing binding + + * lisp/help.el (describe-map): Fix running `menu-item' :filter + functions. This fixes a mistake in the previous conversion of this + defun from the old C function describe_map. See the discussion in + Bug#39149. + * test/src/keymap-tests.el + (keymap---get-keyelt/runs-menu-item-filter) + (describe-buffer-bindings/menu-item-filter-show-binding) + (describe-buffer-bindings/menu-item-filter-hide-binding): + New tests. + (keymap-tests--test-menu-item-filter): New defun. + +2020-11-14 Eric Abrahamsen + + Handle negation of search keys in gnus-search minibuffer completion + + * lisp/gnus/gnus-search.el (gnus-search-get-active): Keys might start + with a leading "-": check for that and ignore it. + +2020-11-14 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into dev + +2020-11-14 Andrea Corallo + + Add `comp-constraint-to-type-spec' and better handle boolean type spec + + * lisp/emacs-lisp/comp.el (comp-constraint-to-type-spec): New + function splitting out code from comp-ret-type-spec + better + handle boolean type specifier. + (comp-ret-type-spec): Rework to leverage + `comp-constraint-to-type-spec'. + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add a + testcase. + +2020-11-14 Andrea Corallo + + Handle correctly quoting in *Native-compile-Log* buffer + + * lisp/emacs-lisp/comp.el (comp-log): Add `quoted' parameter and + pass it to `comp-log-to-buffer'. + (comp-log-to-buffer): Add `quoted' parameter and leverage `prin1' + or `princ' accordingly. + +2020-11-14 Andrea Corallo + + * Split logic into comp-fwprop-call and improve it + + * lisp/emacs-lisp/comp.el (comp-func-ret-valset) + (comp-fwprop-call): New functions. + (comp-fwprop-insn): Remove code duplicaiton and call + `comp-fwprop-call'. + +2020-11-14 Andrea Corallo + + * Fix debug symbol emission + + * src/comp.c (Fcomp__compile_ctxt_to_file): Now that we do not + rely anymore on globlal variables move logic in from + 'Fcomp__init_ctxt' so comp.debug is already set correctly. + +2020-11-14 Andrea Corallo + + * Add a number of type specifiers for pure function + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Add 60 + pure function type specifiers. + +2020-11-14 Andrea Corallo + + Characterize functions in terms of type specifiers + + * lisp/emacs-lisp/comp.el (comp-known-type-specifiers): New const + in place of `comp-known-ret-types' and `comp-known-ret-ranges'. + (comp-constraint): New struct to separate the constraint side of + an mvar. + (comp-constraint-f): Analogous for functions. + (comp-mvar): Rework and include `comp-constraint'. + (comp-type-spec-to-constraint): New function. + (comp-known-constraints-h): New const. + (comp-func-ret-typeset, comp-func-ret-range): Rework. + (comp-fwprop-insn): Fix. + * test/src/comp-tests.el (destructure-type-spec): New testcase. + +2020-11-14 Juri Linkov + + * lisp/progmodes/xref.el (xref-goto-xref): Prefix arg quits the *xref* buffer. + + (bug#44611) + +2020-11-14 Juri Linkov + + * lisp/org/ob-ruby.el (org-babel-ruby-initiate-session): Use :ruby header arg. + + Allow specification of ruby command using the :ruby header arg. + https://lists.gnu.org/archive/html/emacs-orgmode/2020-11/msg00166.html + +2020-11-14 Daniel Lenski (tiny change) + + Fix `speedbar-directory-buttons' when using Tramp + + * lisp/speedbar.el (speedbar-directory-buttons): Make speedbar + work with directories accessed via Tramp (bug#44622). + +2020-11-14 Stefan Kangas + + Don't quote lambdas in several places + + * lisp/align.el (align-highlight-rule): + * lisp/bookmark.el (bookmark-maybe-sort-alist): + * lisp/emacs-lisp/advice.el (ad-read-advice-name) + (ad-retrieve-args-form, ad-make-hook-form, defadvice) + (ad-with-originals): + * lisp/foldout.el (foldout-inhibit-key-bindings): + * lisp/gnus/gnus-bookmark.el (gnus-bookmark-maybe-sort-alist): + * lisp/mail/rfc822.el (rfc822-addresses-1): + * lisp/net/eudcb-ldap.el (eudc-ldap-cleanup-record-simple): + * lisp/net/net-utils.el (network-connection-to-service): + * lisp/net/socks.el (socks-build-auth-list): + * lisp/org/ox-odt.el (org-odt--image-size): + * lisp/pcomplete.el (pcomplete-command-completion-function) + (pcomplete-default-completion-function, pcomplete-opt): + * lisp/progmodes/cperl-mode.el (cperl-highlight-charclass) + (cperl-tags-hier-init, cperl-tags-treeify) + (cperl-next-interpolated-REx, cperl-time-fontification): + * lisp/shadowfile.el (shadow-copy-files, shadow-shadows-of-1) + (shadow-save-buffers-kill-emacs): + * lisp/strokes.el (strokes-renormalize-to-grid): + * lisp/tempo.el (tempo-insert, tempo-forward-mark) + (tempo-backward-mark): + * lisp/textmodes/artist.el (artist-submit-bug-report): + * lisp/textmodes/ispell.el (ispell-complete-word): + * lisp/url/url-auth.el (url-get-authentication): + * lisp/url/url-cache.el (url-cache-create-filename-human-readable): + * lisp/vcursor.el (vcursor-find-window): + * test/lisp/textmodes/reftex-tests.el + (reftex-parse-bibtex-entry-test): Don't quote lambdas. + +2020-11-14 Akira Kyle (tiny change) + + Work around glib messing with signal handlers more than it should + + * src/process.c (init_process_emacs): force glib's g_unix_signal + handler into lib_child_handler where it should belong. + +2020-11-14 Pablo Barbáchano + + Add an option to preserve ANSI sequences + + * lisp/ansi-color.el Add an option to preserve the ANSI sequences + * test/lisp/ansi-color-tests.el: Add tests (bug#44589). + +2020-11-14 Lars Ingebrigtsen + + project-or-external-find-file doc string fix + + * lisp/progmodes/project.el (project-or-external-find-file): Doc + string fix -- it's not "recognizing" file names (bug#44588). + +2020-11-14 Stefan Kangas + + Use lexical-binding in fortune.el and add tests + + * lisp/play/fortune.el: Use lexical-binding. Remove redundant + :group args. + (fortune-in-buffer): Quote function symbol as such. + * test/lisp/play/fortune-resources/fortunes: + * test/lisp/play/fortune-tests.el: New files. + * .gitignore: Ignore generated file fortunes.dat. + +2020-11-14 Eli Zaretskii + + Update the various INSTALL files + + * nt/INSTALL.W64: + * nt/INSTALL: + * INSTALL: Update the installation information, in particular the + fact that HarfBuzz is now preferred as the shaping library. + +2020-11-14 Eli Zaretskii + + Fix input method translation near read-only text + + * lisp/international/quail.el (quail-input-method): Don't disable + input method when the character after point has the read-only + property. Suggested by Evgeny Zajcev + (Bug#44466) + + * doc/emacs/mule.texi (Input Methods): Document that input methods + are inhibited in read-only text. + +2020-11-14 Eli Zaretskii + + Make Calc windows dedicated by default + + * lisp/calc/calc.el (calc-make-windows-dedicated): New defcustom. + (calc, calc-trail-display): Set Calc windows dedicated if + calc-make-windows-dedicated is non-nil. Patch by Boruch Baum + . (Bug#44108) + + * etc/NEWS (Calc): Announce the new behavior. + +2020-11-14 Eli Zaretskii + + Make 'prefer-utf-8' heed inhibit-*-detection variables + + * lisp/international/mule-conf.el (prefer-utf-8): Inhibit + detection of null bytes and ISO escape sequences if the respective + inhibit-*-detection variables say so. (Bug#44486) + +2020-11-14 Jared Finder + + * lisp/faces.el (mode-line-highlight): Use :box only when supported. + +2020-11-14 Philipp Stephani + + Capitalize portable dump messages. + + We capitalize all other messages during the dump, so capitalize the + "dump mode" and "dumping fingerprint" ones as well for consistency. + + * src/pdumper.c (Fdump_emacs_portable): Capitalize fingerprint message + prefix. + + * lisp/loadup.el: Capitalize "dump mode" message. + +2020-11-14 Jared Finder + + Face-changing text properties and help-echo now work with xterm-mouse. + + * src/dispnew.c (update_mouse_position): New function for mouse + movement logic in 'handle_one_term_event' that can be shared across + different mouse backends. + (display--update-for-mouse-movement): New lisp function, call it. + * lisp/xt-mouse.el (xterm-mouse--handle-mouse-movement): New function + that calls 'display--update-for-mouse-movement'. + (xterm-mouse-translate-1): Call it. + * src/term.c (handle_one_term_event): Inline logic from + 'term_mouse_movement' and call 'update_mouse_position'. + (term_mouse_movement): Delete. + +2020-11-14 Eli Zaretskii + + Fix display of truncated R2L lines on TTY frames + + * src/xdisp.c (extend_face_to_end_of_line): Use a while-loop, not + a do-while loop, to avoid appending an extra glyph at the end of a + line that is one character shorter than the window-width. This is + needed to fix display of reversed glyph rows that are almost as + wide as the window, because append_space_for_newline already added + one space glyph. + +2020-11-14 Eli Zaretskii + + Avoid crashes when a reversed glyph row starts with a composition + + * src/dispnew.c (build_frame_matrix_from_leaf_window): Add an + assertion to prevent us from overwriting non-char glyphs with the + vertical border glyph. + * src/xdisp.c (extend_face_to_end_of_line): Account for one glyph + possibly inserted by append_space_for_newline. (Bug#44506) + Remove a kludgey correction for an off-by-one error in column + counting, which is no longer needed. + +2020-11-14 Eric Abrahamsen + + Save instantiated gnus-search engines in an alist + + So we aren't re-instantiating (and potentially configuring) them with + every search. + + * lisp/gnus/gnus-search.el (gnus-search-engine-instance-alist): New + variable holding server->engine mapping. + (gnus-search-server-to-engine): See if we've already instantiated this + server. If so, return it. If not, instantiate it and save in the above + variable. + (gnus-search-shutdown): Shutdown function clearing the above alist. + +2020-11-14 Eric Abrahamsen + + Make sure Gnus search groups search topics recursively + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): If a search is initiated from + a topic line, make sure we get all the groups under that topic (and + under sub-topics). + +2020-11-13 Mattias EngdegÃ¥rd + + Simplify quick-check composition regexps + + * lisp/international/ucs-normalize.el + (quick-check-composition-list-to-regexp): Don't add an explicit + pattern for U+1161..U+1175 and U+11a8..U+11c2 since these are already + part of `combining-chars'. + +2020-11-13 Glenn Morris + + Merge from origin/emacs-27 + + a3d316bbb7 (origin/emacs-27) Update information about refcards + f43e9ad524 Avoid crashes in the daemon due to user interaction + +2020-11-13 Glenn Morris + + Merge from origin/emacs-27 + + ac1a2b2160 Add more doc-view requirements + 109eb1e7e2 Fix undefined behavior when fetching glyphs from the displ... + + # Conflicts: + # lisp/doc-view.el + +2020-11-13 Glenn Morris + + Merge from origin/emacs-27 + + 75384bd155 Update the doc-view header line + 13ab70c80e Avoid breaking Arabic shaping in 'window-text-pixel-size' + e693d97e50 doc-view.el comment clarification + 968e85a2ce Update erc documentation about C-c C-b + +2020-11-13 Alan Third + + Fix error with fn key in NS port (bug#44533) + + * src/nsterm.m ([EmacsView keyDown:]): Move the correction for fn key + handling to before the modifiers are calculated. + +2020-11-13 Michael Albinus + + Some minor Tramp fixes, resulting from test campaign + + * lisp/net/tramp.el (tramp-handle-write-region): + * lisp/net/tramp-adb.el (tramp-adb-handle-write-region): + * lisp/net/tramp-sh.el (tramp-sh-handle-write-region): + * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use `current-time' + if needed. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): + (tramp-gvfs-do-copy-or-rename-file): Remove "gvfs-rename", it is + not trustworthy. + + * test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p): Check also for + symlinked files in trash. + (tramp-test20-file-modes): Revert last change, it was a thinko. + +2020-11-13 Eli Zaretskii + + Update information about refcards + + * admin/release-process (refcards): + * admin/make-tarball.txt (refcards): Update information about + generating refcards and required TeX/LaTeX packages. + +2020-11-12 Andrea Corallo + + Add copy insn testcase + + * test/src/comp-tests.el (copy-insn): New testcase. + * test/src/comp-test-funcs.el (comp-test-copy-insn-f): New + function. + +2020-11-12 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p): Fix logic. + +2020-11-12 Andrea Corallo + + * Memoize `comp-common-supertype' + + * lisp/emacs-lisp/comp.el (comp-ctxt): Add `common-supertype-mem' + slot. + (comp-common-supertype): Memoize. + +2020-11-12 Andrea Corallo + + * Add few more type specifier tests + + * test/src/comp-tests.el (comp-tests-type-spec-tests): Add three + tests and uncomment one. + +2020-11-12 Andrea Corallo + + * Rework `comp-ret-type-spec' in terms of `comp-phi' + + * lisp/emacs-lisp/comp.el (comp-ret-type-spec): Use `comp-func' + not to duplicate logic plus add null type specifier support and + some comments. + +2020-11-12 Andrea Corallo + + * Move phi function code into dedicated function and improve it + + * lisp/emacs-lisp/comp.el (comp-phi): New function moving logic + from `comp-fwprop-insn'. + +2020-11-12 Stefan Kangas + + Don't quote lambdas in several places + + * lisp/allout-widgets.el (allout-widgets-adjusting-message) + (allout-widgets-exposure-change-processor) + (allout-widgets-count-buttons-in-region): + * lisp/ansi-color.el (ansi-color-make-color-map): + * lisp/case-table.el (describe-buffer-case-table): + * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): + * lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group): + * lisp/gnus/nnir.el (nnir-run-swish++, nnir-run-swish-e) + (nnir-run-hyrex, nnir-run-namazu): + * lisp/hippie-exp.el (make-hippie-expand-function) + (try-complete-lisp-symbol, try-complete-lisp-symbol-partially) + (try-expand-all-abbrevs): + * lisp/international/mule-cmds.el (sort-coding-systems) + (select-safe-coding-system, select-message-coding-system) + (read-language-name, encoded-string-description): + * lisp/international/quail.el (quail-keyseq-translate) + (quail-get-translations, quail-build-decode-map) + (quail-insert-decode-map): + * lisp/jka-compr.el (jka-compr-uninstall): + * lisp/locate.el (locate-in-alternate-database): + * lisp/mail/mailabbrev.el (mail-resolve-all-aliases-1) + (mail-abbrev-make-syntax-table): + * lisp/mh-e/mh-seq.el (mh-read-folder-sequences): + * lisp/net/eudcb-ldap.el (eudc-ldap-simple-query-internal): + * lisp/progmodes/make-mode.el (makefile-query-targets) + (makefile-prompt-for-gmake-funargs): + * lisp/shadowfile.el (shadow-cancel, shadow-shadows-of): + * lisp/sort.el (sort-pages, sort-fields, sort-regexp-fields): + * lisp/subr.el (listify-key-sequence): + * lisp/term/wyse50.el (terminal-init-wyse50): + * lisp/textmodes/ispell.el (ispell-help) + (ispell-begin-tex-skip-regexp): + * lisp/textmodes/page-ext.el (pages-sort-region): + * lisp/textmodes/refer.el (refer-find-entry-in-file): + * lisp/url/url-expand.el (url-expand-file-name): Don't quote lambdas. + +2020-11-12 Juri Linkov + + Add help-char to the cache key in read-char-from-minibuffer as well + + It's highly unlikely that help-char will be changed from its default value 8, + but formally there is a dependence on help-char. + +2020-11-12 Robert Pluim + + Emit required version when Harfbuzz is not found but Cairo is + + * configure.ac: Define harfbuzz_required_ver with required + harfbuzz version, and put it in the warning message emitted when + Cairo is found but not HarfBuzz. + +2020-11-12 Mattias EngdegÃ¥rd + + vhdl-mode: remove minor obstacle to static checking + + * lisp/progmodes/vhdl-mode.el (vhdl-directive-keywords-regexp): + Remove unnecessary global variable. + (vhdl-words-init): Remove assignment. + (vhdl-font-lock-init): Inline expression. Use regexp-opt. + +2020-11-12 Lars Ingebrigtsen + + Remove mention of `edebug-on-signal' from a doc string + + * lisp/emacs-lisp/edebug.el (edebug-mode): Don't mention + non-existent user option (bug#44577). + +2020-11-12 Lars Ingebrigtsen + + Clarify project-find-file doc string + + * lisp/progmodes/project.el (project-find-file): Don't say + anything about recognizing file names, as that may lead the user + to think that it'll check whether the string at point is an + existing file (bug#44588). + +2020-11-12 Juri Linkov + + Add help-form to the cache key in read-char-from-minibuffer + +2020-11-12 Stefan Kangas + + * test/lisp/help-fns-tests.el: Silence byte-compiler. + + * test/lisp/hfy-cmap-resources/rgb.txt: Add comment line. + +2020-11-12 Stefan Kangas + + Remove redundant installation instructions + + * lisp/net/newsticker.el: + * lisp/net/sieve-mode.el: + * lisp/play/bubbles.el: + * lisp/play/handwrite.el: + * lisp/progmodes/python.el: + * lisp/progmodes/ruby-mode.el: + * lisp/whitespace.el: Remove redundant installation instructions. + These packages are distributed with Emacs and/or GNU ELPA. + * lisp/calendar/timeclock.el: + * lisp/ehelp.el: + * lisp/emacs-lisp/checkdoc.el: + * lisp/filesets.el: + * lisp/mail/reporter.el: + * lisp/net/rfc2104.el: + * lisp/net/webjump.el: + * lisp/pixel-scroll.el: Remove redundant recommendation to call + require before using autoloaded functions. + * lisp/tar-mode.el: Remove reference to package uncompress, removed in + Emacs 23. + +2020-11-12 Stefan Kangas + + * lisp/progmodes/ruby-mode.el (auto-mode-alist): Add Brewfile. + +2020-11-12 Stefan Kangas + + Fix mistake in describe-buffer-bindings + + * src/keymap.c (Fdescribe_buffer_bindings): Fix a call in + describe-buffer-bindings. This fixes a mistake in my previous commit + to prefer the Lisp version of describe-map-tree (8a1441310aa1), where + 0 was accidentally converted to Qt in two places. + +2020-11-12 Juri Linkov + + Use cache with help-char in read-char-from-minibuffer unless help-form is nil + +2020-11-12 Andrea Corallo + + * Nativecomp testsuite rework for derived return type specifiers + + As we have derived return type specifiers as some test for them. Also + rewrite some propagation related test using return type specifiers too + as it's way more convenient. + + * test/src/comp-tests.el (fw-prop-1): Nit rename. + (comp-tests-check-ret-type-spec): New function. + (comp-tests-type-spec-tests): New variable. + (comp-tests-cond-rw-0-var) Remove variable. + (cond-rw-0, cond-rw-1, cond-rw-2, cond-rw-3, cond-rw-4, cond-rw-5) + Remove tests as now covered by `comp-tests-check-ret-type-spec'. + +2020-11-12 Andrea Corallo + + * Add nativecomp derived return type specifier computation support + + * lisp/emacs-lisp/comp.el (comp-post-pass-hooks): Nit. + (comp-func): Add `ret-type-specifier' slot. + (comp-ret-type-spec): New function. + (comp-final): Call `comp-ret-type-spec'. + +2020-11-12 Andrea Corallo + + * Unline some functions to optimize bootstrap time + + * lisp/emacs-lisp/comp.el (comp-mvar-value-vld-p) + (comp-mvar-value, comp-mvar-fixnum-p, comp-set-op-p) + (comp-assign-op-p, comp-call-op-p, comp-type-hint-p) + (comp-func-ret-typeset, comp-function-pure-p) + (comp-alloc-class-to-container, comp-lex-byte-func-p) + (comp-lap-eob-p, comp-lap-fall-through-p, comp-emit) + (comp-emit-set-call, comp-mvar-propagate) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-trampoline-filename): Uninline functions. + +2020-11-12 Andrea Corallo + + * Add to elisp-mode `emacs-lisp-native-compile-and-load' + + * lisp/progmodes/elisp-mode.el + (emacs-lisp--before-compile-buffer): New function. + (emacs-lisp-byte-compile-and-load): Use the previous. + (emacs-lisp-native-compile-and-load): New function. + +2020-11-12 Andrea Corallo + + * Fix limple-mode for new type and range limple semantic + + * lisp/emacs-lisp/comp.el (comp-limple-branches, comp-limple-ops): + New variables. + (comp-limple-lock-keywords): Update value. + +2020-11-12 Andrea Corallo + + Add a nativecomp testcase + + Having this while re-debugging the boostrap would have saved few hours + of debug so let's add it. + + * test/src/comp-tests.el (and-3): Add test. + * test/src/comp-test-funcs.el (comp-test-and-3-var): New var. + (comp-test-and-3-f): New function. + +2020-11-12 Andrea Corallo + + Add initial nativecomp typeset and range propagation support + + This commit add an initial support for a better type propagation and + integer range propagation. + + Each mvar can be now characterized by a set of types, a set of values + and an integral range. + + * lisp/emacs-lisp/comp.el (comp-known-ret-types): Store into + typeset and remove fixnum. + (comp-known-ret-ranges, comp-type-predicates): New variables. + (comp-ctxt): Remove supertype-memoize slot and add + union-typesets-mem. + (comp-mvar): Remove const-vld, constant, type slots. Add typeset, + valset, range slots. + (comp-mvar-value-vld-p, comp-mvar-value, comp-mvar-fixnum-p) + (comp-mvar-symbol-p, comp-mvar-cons-p) + (comp-mvar-type-hint-match-p, comp-func-ret-typeset) + (comp-func-ret-range): New functions. + (make-comp-mvar, make-comp-ssa-mvar): Update logic. + (comp--typeof-types): New variable. + (comp-supertypes, comp-common-supertype): Logic update. + (comp-subtype-p, comp-union-typesets, comp-range-1+) + (comp-range-1-, comp-range-<, comp-range-union) + (comp-range-intersection): New functions. + (comp-fwprop-prologue, comp-mvar-propagate) + (comp-function-foldable-p, comp-function-call-maybe-fold) + (comp-fwprop-insn, comp-call-optim-func, comp-finalize-relocs): + Logic update. + + * src/comp.c (emit_mvar_rval, emit_call_with_type_hint) + (emit_call2_with_type_hint): Logic update. + + * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Undo the add + of fixnum and bignum as unnecessary. + + * test/src/comp-tests.el + (comp-tests-mentioned-p-1, comp-tests-cond-rw-checker-val) + (comp-tests-cond-rw-checker-type, cond-rw-1, cond-rw-2) + (cond-rw-3, cond-rw-4, cond-rw-5): Update for new type interface. + (range-simple-union, range-simple-intersection): New integer range + tests. + (union-types): New union type test. + +2020-11-12 Andrea Corallo + + * Rename two nativecomp functions + + * lisp/emacs-lisp/comp.el (comp-function-foldable-p): Rename from + comp-function-optimizable-p. + (comp-function-call-maybe-fold): Same from + comp-function-call-maybe-fold. + +2020-11-11 Eli Zaretskii + + Avoid crashes in the daemon due to user interaction + + * src/minibuf.c (read_minibuf): Avoid crashes in the daemon if the + init file invokes some kind of minibuffer interaction, by not + updating the selected frame if it's the initial frame. + (Bug#44583) + +2020-11-11 Juri Linkov + + In dired-query use read-char-from-minibuffer with bound help-char (bug#42708) + + * lisp/dired-aux.el (dired-query): Replace read-char-choice call + with read-char-from-minibuffer. + + * lisp/subr.el (read-char-choice): Restore the previous version + that uses read-key. + (read-char-from-minibuffer): Bind help-char to help-form-show + when help-form is non-nil. + +2020-11-11 Eric Abrahamsen + + Remove unused "internal" gnus-search variables + + * lisp/gnus/gnus-search.el (gnus-search-memo-query, + gnus-search-memo-server): No longer needed. + +2020-11-11 Eric Abrahamsen + + Fix defgeneric name of gnus-search-index(ed)-extract + + * lisp/gnus/gnus-search.el (gnus-search-indexed-extract): Had the + wrong name on the generic. + +2020-11-11 Michael Albinus + + Some minor changes to Tramp, do not merge with master + + * lisp/net/tramp.el (tramp-handle-directory-files) + (tramp-handle-directory-files-and-attributes): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): + * lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files): + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add _COUNT. + Make the functions forward compatible. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-enabled): + Increase `max-specpdl-size' temporarily. + + * test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun. + (tramp-test05-expand-file-name-relative): Use it. + +2020-11-11 Dario Gjorgjevski + + Fix python-font-lock-keywords-maximum-decoration performance regression + + * lisp/progmodes/python.el + (python-font-lock-keywords-maximum-decoration): `symbol-name' + should not be quantified by a `+' as it is redundant and performs + very badly (bug#44572). + +2020-11-11 Lars Ingebrigtsen + + Remove mention of global-cedet-m3-minor-mode + + * lisp/cedet/semantic.el (semantic-submode-list): + (semantic-default-submodes): Remove mention of + global-cedet-m3-minor-mode, which no longer exists, apparently + (bug#44565). + +2020-11-11 Dario Gjorgjevski + + Fix font lock of assignments with type hints in Python + + * lisp/progmodes/python.el + (python-font-lock-keywords-maximum-decoration): Fix regular + expressions for font lock of assignments with type hints (bug#44568). + + The font lock of assignments with type hints in Python is rather bad. + Consider the following example: + + from typing import Mapping, Tuple, Sequence + var1: int = 5 + var2: Mapping[int, int] = {10: 1024} + var3: Mapping[Tuple[int, int], int] = {(2, 5): 32} + var4: Sequence[Sequence[int]] = [[1], [1, 2], [1, 2, 3]] + var5: Sequence[Mapping[str, Sequence[str]]] = [ + { + 'red': ['scarlet', 'vermilion', 'ruby'], + 'green': ['emerald green', 'aqua'] + }, + { + 'sword': ['cutlass', 'rapier'] + } + ] + + As things stand right now, only ‘var1’ would be highlighted. To make + things worse, the ‘Mapping’ type hint of ‘var2’ would also be + highlighted, which is entirely incorrect. + + This commit makes all of ‘var1’ through ‘var5’ be highlighted + correctly. + +2020-11-11 Harald Jörg + + Cleanup of the test file for cperl-mode + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl--run-test-cases): New macro, factored out from various + indentation / rewriting tests. Contains documentation of the + format used by the cperl-mode-resources files. + (cperl-test-bug-19709): Replace 'next-line' by 'forward-line'. + (cperl-test-indent-exp), + (cperl-test-indent-styles), + (cperl-test-bug-30393): Use the new macro. + (cperl-test-bug-19709): Make fit for Emacs 26. + (cperl-test-indent-styles): Skip for Perl mode (bug#44561). + +2020-11-11 Stefan Monnier + + * lisp/server.el: Refactor frame creation functions + + (server--create-frame): New function, extracted from + `server-create-dumb-terminal-frame`. + (server-create-window-system-frame, server-create-tty-frame): + (server-create-dumb-terminal-frame): Use it. + +2020-11-11 Eliza Velasquez + + * lisp/server.el: Fix frame creation on dumb terminals (bug#25547) + + (server-create-dumb-terminal-frame): New function. + (server-process-filter): Use it. + (server-delete-client): Don't delete tty terminal when it's not + exclusive to this client. + +2020-11-10 Juri Linkov + + Don't set file name variable in org-element-parse-secondary-string (bug#44524) + + * lisp/org/org-element.el (org-element-parse-secondary-string): + Don't set buffer-local variables buffer-file-name and buffer-file-truename + in temporary buffer. + +2020-11-10 Juri Linkov + + * lisp/leim/quail/compose.el ("iso-transl"): New input method. + + * doc/emacs/basic.texi (Inserting Text): + Mention transient input method "iso-transl". + + * lisp/leim/quail/latin-ltx.el: Use same Keywords as in other quail files. + +2020-11-10 Eli Zaretskii + + New debugging command 'malloc-info' + + * src/alloc.c (Fmalloc_info) [GNU_LINUX]: New command. + (syms_of_alloc): Defsubr it. (Bug#43389) + +2020-11-10 Dmitry Gutov + + Clear the vc-state cache when returning nil + + * lisp/vc/vc-hg.el (vc-hg-registered): + Clear the vc-state cache when returning nil. + +2020-11-10 Tom Fitzhenry + + Remove extra process call from vc-hg-registered + + Prefer vc-state to benefit from its caching (bug#44534) + + This same technique is used in vc-git.el, + per commit 2018-06-28 "Remove extra process call from vc-git-find-file-hook" + 93c41ce6aa64b14fc9bd7bdd0d909915a79191cd. + + * lisp/vc/vc-hg.el (vc-hg-registered): Use vc-state rather than vc-hg-state. + +2020-11-10 Eli Zaretskii + + Fix a recent change in image.c for MS-Windows + + * src/image.c: Fix DEF_DLL_FN of + rsvg_handle_get_intrinsic_dimensions. Reported by Andy Moreton + . + +2020-11-10 Lars Ingebrigtsen + + Add more doc-view requirements + + * lisp/doc-view.el: Add more requirements. + +2020-11-10 Steven Allen + + Only use nbutlast when we actually want to modify the original list + + * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string): + Don't modify the byte array. + * lisp/net/tramp-integration.el (tramp-eshell-directory-change): + Don't modify the underlying exec-path. + +2020-11-10 Andrew G Cohen + + Remove ephemeral group on error or null result + + * lisp/gnus/nnselect.el (nnselect-request-group): If an ephemeral + group is empty, there is nothing to see, so remove the group. + (nnselect-run): Catch and return an empty artlist on error. + +2020-11-09 Alan Mackenzie + + CC Mode: fix many compiler warnings which would appear with lexical binding + + * lisp/progmodes/cc-align.el (three places) prefix langelem with a _. + + * lisp/progmodes/cc-{cmds,engine}.el: Remove superfluous local variables. + + * lisp/progmodes/cc-defs.el (c-will-be-unescaped): Remove unused parameter + end. + * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Remove unused + parameter containing-sexp. + (c-looking-at-special-brace-list); Remove unused parameter lim. + (c-add-class-syntax): Remove unused parameter paren-state. + +2020-11-09 Philipp Stephani + + Fix undefined behavior when fetching glyphs from the display vector. + + You can trigger this rather obscure bug by enabling selective display + if the second glyph in its display vector has an invalid face. For + example, evaluate + + (set-display-table-slot standard-display-table + 'selective-display [?A (?B . invalid)]) + + and then enable selective display. + + * src/xdisp.c (next_element_from_display_vector): Check whether next + glyph code is valid before accessing it. + +2020-11-09 Stefan Kangas + + Add test for substitute-command-keys with command remap + + * test/lisp/help-tests.el (help-tests-remap-map): New variable. + (help-tests-substitute-command-keys/remap): New test. + (help-tests-substitute-command-keys/keymaps) + (help-tests-substitute-command-keys/undefined-map): Fix indentation. + +2020-11-09 Brian Leung (tiny change) + + shortdoc: prefer seq-contains-p over seq-contains + + * lisp/emacs-lisp/shortdoc.el (sequence): use seq-contains-p instead + of seq-contains, which is obsolete as of 27.1. (Bug#44536) + +2020-11-09 Stefan Kangas + + Simplify getting value of text-quoting-style (Bug#44471) + + * src/doc.c (text_quoting_style): Remove function by merging it... + (Ftext_quoting_style): ...here. Rename from Fget_quoting_style. + (syms_of_doc): Update defsubr for Ftext_quoting_style. + * src/lisp.h (enum text_quoting_style): Remove enum. + * src/doprnt.c (doprnt): + * src/editfns.c (styled_format): + * lisp/help.el (substitute-command-keys): Update callers to use + text-quoting-style. + +2020-11-09 Philipp Stephani + + * lisp/disp-table.el (make-glyph-code): Remove obsolete comment. + +2020-11-09 Mattias EngdegÃ¥rd + + Better warning suppression in rx-tests + + * test/lisp/emacs-lisp/rx-tests.el (rx-compat): Use with-no-warnings + instead of with-suppressed-warnings which complains when running + the test interactively. + +2020-11-09 Mattias EngdegÃ¥rd + + Fix pcase rx form snag with '?' and '??' (bug#44532) + + This is a regression from Emacs 26. + Reported by Phillip Stephani. + + * lisp/emacs-lisp/rx.el (rx--pcase-transform): Process ? and ?? correctly. + * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add test case. + +2020-11-09 Alan Third + + Fix css length calculations + + * src/image.c (svg_css_length_to_pixels): Put in missing breaks where + necessary. + +2020-11-09 Lars Ingebrigtsen + + Make the SHOW parameter work again in `run-python' + + * lisp/progmodes/python.el (run-python): Make the SHOW parameter + work again after the fix for 31398 (bug#44421). + +2020-11-09 Protesilaos Stavrou + + Use a separate face for expanded log-view bodies + + * lisp/vc/log-view.el (log-view-commit-body): Define new face. + (log-view-toggle-entry-display): Implement 'log-view-commit-body' + face (bug#44424). + +2020-11-09 Lars Ingebrigtsen + + Clarify Lisp warning about elements following other expressions + + * lisp/emacs-lisp/lisp-mode.el (lisp-fdefs): Clarify warning in + help text (bug#44482). + +2020-11-09 Eli Zaretskii + + Fix compilation of image.c on MS-Windows + + This is a followup to last change in image.c. + * src/image.c (rsvg_handle_get_intrinsic_dimensions): Define to + call fn_rsvg_handle_get_intrinsic_dimensions. + (svg_css_length_to_pixels): Compile only for librsvg >= 2.46.0, as + RsvgLength type was not defined before. + +2020-11-09 Lars Ingebrigtsen + + Update the doc-view header line + +2020-11-09 Eli Zaretskii + + Avoid breaking Arabic shaping in 'window-text-pixel-size' + + * src/xdisp.c (CHAR_COMPOSED_P): If the bidi_p flag is not set, + pass -1 to composition_reseat_it, so that the shaping engine will + figure out the directionality of the text. This is important, + e.g., when using move_it_* functions in some context that is not + redisplay, such as 'window-text-pixel-size'. (Bug#44521) + +2020-11-09 Alan Third + + Fix crash in ns_mouse_position (bug#44313) + + * src/nsterm.m (ns_destroy_window): Close the window before freeing + the frame resources so we don't end up accessing the frame struct + after it's been freed. + +2020-11-09 Andrii Kolomoiets + + NS: Make s- to move to beginning/end of line + + * lisp/term/ns-win.el: Bind 's-' to 'move-beginning-of-line'; + bind 's-' to 'move-end-of-line'. + * etc/NEWS: Mention new bindings. + +2020-11-09 Alan Third + + Calculate SVG image sizes more accurately (bug#44206) + + * src/image.c (svg_css_length_to_pixels): New function. + (svg_load_image): Try more methods to work out the image size. + +2020-11-09 Lars Ingebrigtsen + + doc-view.el comment clarification + + * lisp/doc-view.el: Make the commentary mention that it's not + limited to a narrow range of file formats (bug#44504). + +2020-11-09 Daniel Martín + + Update erc documentation about C-c C-b + + * doc/misc/erc.texi (Keystroke Summary): C-c C-b runs + erc-switch-to-buffer, which is implemented in terms of + read-buffer (bug#44498). + +2020-11-09 Harald Jörg + + cperl-mode: Indentation of ')' follows customisation + + * lisp/progmodes/cperl-mode.el (cperl-style-alist): Add + cperl-close-paren-offset to the settings for PBP style. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug19709): + New test to verify correct indentation of closing parentheses (Bug#19709). + + * test/lisp/progmodes/cperl-mode-resources/cperl-bug-19709.pl: + New test case with code from the bug report. + + * test/lisp/progmodes/cperl-mode-resources/cperl-indent-styles.pl: + Add a new test clause for cperl-close-paren-offset. + +2020-11-09 Akira Kyle (tiny change) + + Fix xwidget's webkitgtk widget overriding of Emacs SIGCHLD handler + + * src/xwidget.c (make-xwidget): Save and restore Emacs SIGCHLD signal + handler since glib doesn't (but should) do this. + +2020-11-09 Stefan Kangas + + Remove test for return value of set-keymap-parent + + * test/src/keymap-tests.el + (keymap-keymap-set-parent/returns-parent): Remove test for the return + value of set-keymap-parent. It is not clear that returning the value + is a very good idea. + Problem pointed out by Stefan Monnier . + +2020-11-09 Eric Abrahamsen + + Add more protections to gnus-search query parsing + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): If the query is coming in via + the old 'nnir-query-spec key, we know not to parse it. + * lisp/gnus/gnus-search.el (gnus-search-make-query-string): Check if + the query was sent in as '(query "query"), and not '(query . "query). + (gnus-search-imap-search-keys): Add x-gm-raw to imap search keys. + (gnus-search-prepare-query): If we know this query should be raw, + don't even try parsing it, as it probably won't work. + +2020-11-08 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix phi function. + +2020-11-08 Juri Linkov + + * lisp/progmodes/project.el: Don't truncate the saved project list. + + * lisp/progmodes/project.el (project--write-project-list): + Let-bind print-length and print-level to nil to not truncate the + saved project list with unreadable ellipsis. + +2020-11-08 Eric Abrahamsen + + Another backwards-compatibility fix for gnus-search + + * lisp/gnus/gnus-search.el (gnus-search-server-to-engine): Because of + the way we've set up the obsolete variable alias for + `nnir-method-default-engines', we may end up with its value in + `gnus-search-default-engines'. Make the check for "old style" values + general, so we catch them no matter where they came from. + +2020-11-08 Alan Mackenzie + + Don't set the selected window to the miniwindow on a frame change. + + Intended to fix bug #44502. + + * src/minibuf.c (move_minibuffer_onto_frame): Remove the lines of code which + set the selected window to the minibuffer. + +2020-11-08 Dmitry Gutov + + Doc fix + + * lisp/vc/vc.el (vc-deduce-fileset): Doc fix (bug#44420). + +2020-11-08 Dmitry Gutov + + Mention which exact file is already registered + + * lisp/vc/vc.el (vc-register): + Mention which exact file is already registered (bug#44420). + +2020-11-07 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-common-supertype-2): Fix null intersection + +2020-11-07 Glenn Morris + + Merge from origin/emacs-27 + + f5d7fb3a2d (origin/emacs-27) Fix 'uudecode-decode-region-internal' in... + d4242177da Fix 'send-string-to-terminal' writing very long strings + 9da0f4026c * lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug... + 9899f74e4e Merge branch 'emacs-27' of git.savannah.gnu.org:/srv/git/e... + a6fcba783e Fix documentation of 'windmove-swap-states-default-keybind... + f4acd7a924 Split windows evenly when 'min-margins' parameter was set ... + +2020-11-07 Glenn Morris + + Merge from origin/emacs-27 + + 53933cdf5c ; * lisp/international/mule.el (define-coding-system): Doc... + e90ffcf759 * src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456) + 89740e9cb5 Prevent redisplay from moving point behind user's back + 5932df7435 Document that the :match function for a widget takes an ex... + 1b7ab9d0ac Don't render XML declaration of an HTML document (bug#44348) + + # Conflicts: + # lisp/international/mule.el + +2020-11-07 Eric Abrahamsen + + Various fixes and backward compatibility for gnus-search + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): Check for and accept the old + nnir-* spec keys. + * lisp/gnus/gnus-search.el (shared-initialize): Use + generate-new-buffer instead of doing it ourselves. + (gnus-search-server-to-engine): Raise an informative error explicitly + if we can't find a search engine, rather than letting it fall through + to something less helpful. + (gnus-search-make-spec): Add `gnus-search--complete-key-data' to + `completion-at-point-functions' locally, not globally. + +2020-11-07 Andrea Corallo + + * Allow for manually bumbing new native compiler ABI versions + + * src/comp.c (ABI_VERSION): Define macro. + (hash_native_abi): Include ABI_VERSION in the hashing. + (syms_of_comp): Tweak docstring. + +2020-11-07 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-11-07 Stefan Monnier + + * lisp/emacs-lisp/lisp-mode.el: Avoid false-positive "hidden arg" in strings + + (lisp--match-hidden-arg): Don't misfire in strings and comments. + + Reported by: Andrii Kolomoiets + +2020-11-07 Mauro Aranda + + Add test for recent change in enable-theme + + * test/lisp/custom-tests.el (custom-test-enable-theme-keeps-settings): + Enabling a theme should not change the theme settings, so test for + that. See + https://lists.gnu.org/archive/html/emacs-devel/2020-11/msg00232.html + +2020-11-07 Andrea Corallo + + * Fix non native compiled build + + * lisp/emacs-lisp/advice.el (ad-add-advice): Do not try to + install trampolines in vanilla builds. + +2020-11-07 Andrea Corallo + + Allow for native compilation qualities to be specified per input file + + * lisp/emacs-lisp/bytecomp.el (byte-native-qualities): Define + variable. + (byte-compile-from-buffer): Spill compilation qualities. + * lisp/emacs-lisp/comp.el (comp-speed, comp-debug): Make + them file local variables. + (comp-ctxt): Add `speed' and `debug' slots. + (comp-spill-speed, comp-spill-lap-function): Make use of these. + (comp-spill-lap-function): Spill qualities from + `byte-native-qualities'. + (comp-limplify-top-level): Do not use `comp-speed' but ctxt value + unstead. + (comp-final): Do not propagate qualities as they are already + in the `comp-ctxt'. + (comp--native-compile): Close on `byte-native-qualities'. + * src/comp.c (comp_t): Add 'speed' and 'debug' fields. + (emit_comment, emit_mvar_rval, emit_static_object) + (emit_ctxt_code, Fcomp__init_ctxt): Use these instead of the + global variables. + (Fcomp__compile_ctxt_to_file): Set comp.speed and comp.debug and + use them. + +2020-11-07 Eli Zaretskii + + Don't leave lock files after 'replace-buffer-contents' + + * src/editfns.c (Freplace_buffer_contents): Unlock the buffer's + file if no changes have been made. (Bug#44303) + +2020-11-07 Andrea Corallo + + Handle type hierarchy in native compiler forward propagation + + 2020-11-07 Andrea Corallo + + * lisp/emacs-lisp/cl-preloaded.el (cl--typeof-types): Add fixnum + and bignum. + * lisp/emacs-lisp/comp.el (comp-ctxt): Add `supertype-memoize' + slot. + (comp-supertypes, comp-common-supertype-2) + (comp-common-supertype): New functions. + (comp-fwprop-insn): Make use of `comp-common-supertype' to + identify the common supertype to be propagated. + +2020-11-07 Kazuhiro Ito (tiny change) + + Fix 'uudecode-decode-region-internal' in multibyte buffers + + * lisp/mail/uudecode.el (uudecode-decode-region-internal): Fix + inserting the decoded string into a multibyte buffer. Optimize by + working with characters, not strings. (Bug#44411) + +2020-11-07 Eli Zaretskii + + Fix 'send-string-to-terminal' writing very long strings + + * src/dispnew.c (Fsend_string_to_terminal): Prevent partial writes + by blocking SIGIO while 'fwrite' runs. (Bug#44320) + +2020-11-07 Eli Zaretskii + + * lisp/subr.el (read-char-from-minibuffer): Doc fix. (Bug#44451) + +2020-11-07 Earl Hyatt + + Fix documentation of 'windmove-swap-states-default-keybindings' + + * doc/emacs/windows.texi (Window Convenience): Fix description of + 'windmove-swap-states-default-keybindings' and related index + entry. (Bug#44441) + +2020-11-07 Eli Zaretskii + + Fix scrolling problems with misc-fixed fonts under Cairo + + * src/ftcrfont.c (ftcrfont_glyph_extents): Avoid rounding up the + glyph ascent to a higher value than needed due to floating-point + roundoff errors. (Bug#44284) + +2020-11-07 Martin Rudalics + + Split windows evenly when 'min-margins' parameter was set (Bug#44483) + + * lisp/window.el (split-window): Make new window inherit any + 'min-margins' parameter from WINDOW so that horizontal splits + reliably produce windows of same width (Bug#44483). + +2020-11-07 Stefan Kangas + + Delete outdated comment about C rewrite in apropos.el + + Maybe it made sense to rewrite apropos.el in C for speed in 1991, but + today the speed increase would not outweigh the maintenance burden. + + * lisp/apropos.el: Delete outdated comment. + +2020-11-07 Stefan Kangas + + Add some more tests for keymap.c + + * test/src/keymap-tests.el (keymap-make-keymap) + (keymap-make-sparse-keymap, keymap-keymapp) + (keymap-keymap-parent, keymap-keymap-set-parent/returns-parent) + (keymap-copy-keymap/is-equal, keymap-copy-keymap/is-not-eq) + (keymap-lookup-key, keymap-apropos-internal) + (keymap-apropos-internal/predicate): New tests. + (keymap-tests--make-keymap-test): New defun. + +2020-11-06 Mattias EngdegÃ¥rd + + Rectify skip-set argument + + * lisp/gnus/gnus-search.el (gnus-search-query-end-of-input): + Remove brackets that don't belong. Found by relint. + +2020-11-06 Mattias EngdegÃ¥rd + + Fix javac message parsing column number off-by-one + + * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): + 'javac': Column numbers are 1-based by default; remove subtraction and + η-reduce. Translate regexp to rx (mechanised). + * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): + Adapt 'javac' test cases to the change. + +2020-11-06 Glenn Morris + + Fix --enable-check-lisp-object-type build + + * src/print.c (syms_of_print) : + Fix type. + +2020-11-06 Mattias EngdegÃ¥rd + + Update gdb-mi-tests + + * test/lisp/progmodes/gdb-mi-tests.el (gdb-mi-parse-value): + Make test pass after the change in gdb-mi-decode-strings default value. + +2020-11-06 Mattias EngdegÃ¥rd + + * lisp/gnus/gnus-search.el (gnus-search-contact-tables): Fix type. + + A more precise type is desirable but at it is now correct ('list' is not). + +2020-11-06 Mattias EngdegÃ¥rd + + Change the default value of gdb-mi-decode-strings to t (bug#44173) + + This is likely to be a more commonly wanted default value today. + + * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Change default. + * doc/emacs/building.texi (Source Buffers): Update manual. + * etc/NEWS: Announce. + +2020-11-06 Mattias EngdegÃ¥rd + + Reduce integer-output-format to print-integers-as-characters + + The variable now only controls whether characters are printed, not + the radix. Control chars are printed in human-readable syntax + only when special escapes such as ?\n are available. Spaces, + formatting and combining chars are excluded (bug#44155). + Done in collaboration with Juri Linkov. + + * src/character.c (graphic_base_p): + * src/print.c (named_escape): New functions. + (print_object): Change semantics as described above. + (syms_of_print): Rename integer-output-format. Update doc string. + * doc/lispref/streams.texi (Output Variables): + * etc/NEWS: + * test/src/print-tests.el (print-integers-as-characters): + Rename and update according to new semantics. The test now passes. + +2020-11-06 Mauro Aranda + + Go back to not using custom-push-theme when enabling a theme + + * lisp/custom.el (enable-theme): Relying on custom-push-theme to + handle theme settings and prior user settings was a mistake. The + theme settings haven't changed between loading the theme and enabling + it, so we don't need all of what custom-push-theme does. However, we + still need to save a user setting outside of Customize, in order to be + able to get back to it, so do that in enable-theme itself. + +2020-11-06 Eli Zaretskii + + Improve documentation of a recent change + + * doc/emacs/mule.texi (Select Input Method): Add an @anchor. + * doc/emacs/search.texi (Special Isearch): Add cross-reference and + improve wording. + +2020-11-06 Juri Linkov + + Support transient input methods in Isearch mode (bug#44266) + + * doc/emacs/mule.texi (Select Input Method): Rename + transient-input-method to activate-transient-input-method. + + * doc/emacs/search.texi (Special Isearch): + Document isearch-transient-input-method. + + * lisp/international/isearch-x.el (isearch-transient-input-method): + New function. + (isearch-process-search-multibyte-characters): + Call 'deactivate-transient-input-method' after 'read-string'. + + * lisp/international/mule-cmds.el (mule-menu-keymap): Remove + duplicate menu item 'describe-input-method'. Add new menu item + 'activate-transient-input-method'. + (default-transient-input-method): Rename from transient-input-method. + (current-transient-input-method) + (previous-transient-input-method): New buffer-local variables. + (deactivate-input-method): Don't add + current-transient-input-method to input-method-history. + (toggle-input-method): Call deactivate-transient-input-method + when current-transient-input-method is non-nil. + (activate-transient-input-method): Rename from transient-input-method. + (deactivate-transient-input-method): New function with body from + renamed function transient-input-method. + + * lisp/isearch.el (isearch-menu-bar-map): Add new menu item + 'isearch-transient-input-method'. + (isearch-mode-map): Bind 'C-x \' to isearch-transient-input-method. + (isearch-forward): Add isearch-transient-input-method to docstring. + (isearch-message-prefix): Use shorter string for narrowed buffer. + +2020-11-06 Stefan Kangas + + Add more tests for where-is-internal + + * test/src/keymap-tests.el (keymap-where-is-internal) + (keymap-where-is-internal/firstonly-t) + (keymap-where-is-internal/menu-item) + (keymap-where-is-internal/advertised-binding) + (keymap-where-is-internal/advertised-binding-respect-remap) + (keymap-where-is-internal/remap) + (keymap-where-is-internal/shadowed): New tests. + (keymap-where-is-internal/preferred-modifier-is-a-string): + Rename from keymap-where-is-internal-test. + +2020-11-06 Eric Abrahamsen + + Fixes and improvements to gnus-search + + * lisp/gnus/gnus-search.el (gnus-search-default-engines): Change type + from a list of two-element lists, to alist. This matches nnir's old + option type, and should make transition easier. + (nnir-imap-default-search-key): Note that variable is obsolete. + (gnus-search-transform-expression): Interpret the "attachment" key as + "body" in imap searches. Allow specifying larger/smaller message size + values in KB or MB units. + (gnus-search-server-to-engine): Fix error in this function, and + clarify somewhat. + +2020-11-05 Katsumi Yamaoka + + * doc/misc/gnus.texi (Selection Groups): Delete excessive paren + +2020-11-05 Mauro Aranda + + Enable/disable buttons, tool bar and menu items in Custom buffer (Bug#14398) + + * lisp/cus-edit.el (custom-reset-extended-menu): Keymap menu for the + Revert... menu button. + (custom-reset-menu): Keep for backward compatibility, but default to + nil, so we prefer the keymap menu instead. + (custom-reset): Pass the new keymap menu to widget-choose. + + (custom-commands): Add an element to each list item, to manage its + enable/disable state. Add docstring. + (custom-command-buttons): New variable, to hold the buttons that act + on all options in a Custom buffer. + (custom-buffer-create-internal): When creating the command buttons, + add the optional :notify function to enable/disable them. Add the + buttons to the new variable custom-command-buttons. + (customize-menu-create): Notify the command buttons after creating the + Custom buffer, so they are correctly enabled/disabled. + (custom-redraw-magic, custom-notify): Notify the command buttons and + update the tool bar when changing a widget to the modified state. + +2020-11-05 Andrea Corallo + + * A native compiler forward propagation fix + + * lisp/emacs-lisp/comp.el (comp-fwprop-insn): Fix `comp-mvar' + `const-vld' slot left unset while propagating in phis. + +2020-11-05 Basil L. Contovounesios + + Fix coding system in eww-display-pdf + + * lisp/net/eww.el (eww-display-pdf): Make *eww pdf* buffer unibyte + before populating it to avoid conversions. The binding for + coding-system-for-write is then no longer necessary, and can be + delegated to the viewer invoked by mailcap-view-mime. Suggested by + Stefan Monnier . (Bug#44338) + +2020-11-05 Philipp Stephani + + * src/minibuf.c (move_minibuffer_onto_frame): Fix comparison + +2020-11-05 Alan Mackenzie + + Allow minibuffer to stay in its original frame. Tidy up this area. + + * doc/emacs/mini.texi (Basic Minibuffer): Add an entry for + minibuffer-follows-selected-frame. + + * doc/lispref/minibuf.texi (Minibuffer Misc): Describe the new parameter to + minibufferp, LIVE. + + * etc/NEWS: Add an entry describing the new minibuffer strategy. + + * lisp/cus-start.el (minibuffer-prompt-properties--setter): Add an entry for + minibuffer-follows-selected-frame. + + * lisp/minibuffer.el (minibuffer-message): Check for the current buffer being + an _active_ minibuffer rather than merely a minibuffer. + + * src/frame.c (do_switch_frame): Call move_minibuffer_onto_frame. + + * src/lisp.h (Top level): Add prototypes for move_minibuffer_onto_frame and + is_minibuffer. + + * src/minibuf.c (minibuf_follows_frame): New function which ignores local and + let-bound values of minibuffer-follows-selected-frame. + (choose_minibuf_frame): Reformulate this function to reuse a minibuffer window + where possible, and to ensure no other frame has its minibuffer current, but + only when `minibuffer-follows-selected-frame'. + (move_minibuffer_onto_frame): New function. + (live_minibuffer_p): New function. + (Fminibufferp): Add a new &optional parameter LIVE. Reformulate, possibly + calling live_minibuffer_p. + (read_minibuf): move the incrementation of minibuf_level to before the call of + choose_minibuf_frame. Empty the miniwindows of frames without an active + minibuffer, rather than of all but the current frame. + (is_minibuffer): New function. + (read_minibuf_unwind): Note the miniwindow being restored and resize all other + miniwindows to zero size. + (minibuffer-follows-selected-frame): New configuration variable. + + * src/window.c (candidate_window_p): In some scenarios, check the miniwindow + holds an active minibuffer. + + * src/xdisp.c (get_window_cursor_type): Suppress the cursor for non-active + miniwindows, regardless of minibuf_level. + +2020-11-05 Eli Zaretskii + + * src/w32fns.c (Fw32_register_hot_key): Doc fix. (Bug#44456) + +2020-11-05 Basil L. Contovounesios + + Improve eww support for externally viewed PDFs + + The *eww pdf* buffer is only needed when viewing PDFs within Emacs, + e.g., with doc-view-mode. External PDF viewers are called with a + temporary file, so the buffer is not needed in that case. What's + more, mailcap-view-mime erased the buffer and left it in + fundamental-mode until now, so the user was left staring at a + useless, empty buffer. To make things even worse, external viewers + were invoked synchronously until now, so the user could not browse + the PDF file and use Emacs simultaneously. + + * lisp/net/mailcap.el (mailcap--async-shell): New function. + (mailcap-view-mime): Use it to invoke external viewers + asynchronously. Mention erasure of current buffer in that case in + docstring. Add a period between the temporary file name and its + extension. + + * lisp/net/eww.el (eww-display-pdf): Simplify using + insert-buffer-substring. Fix coding-system-for-write for a stream + of raw bytes. Pop to *eww pdf* buffer only if it is used for + displaying a document; otherwise kill it. (bug#44338) + +2020-11-05 Michael Albinus + + Still fixes for Tramp directory-files-* + + * lisp/net/tramp.el (tramp-handle-directory-files): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): Fix COUNT. + + * lisp/net/tramp-crypt.el (tramp-crypt-handle-directory-files): + Implement COUNT. + + * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string): + * lisp/net/tramp-integration.el (tramp-eshell-directory-change): + Use `nbutlast'. + + * lisp/net/tramp-rclone.el (tramp-rclone-handle-delete-directory) + (tramp-rclone-handle-delete-file): Reorder cache flushing. + (tramp-rclone-handle-directory-files): + Use `tramp-compat-directory-files'. + + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + Fix NOSORT and COUNT. + + * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Fix NOSORT. + + * test/lisp/net/tramp-tests.el (tramp--test-share-p): New defun. + (tramp-test05-expand-file-name-relative): Use it. + (tramp-test16-directory-files) + (tramp-test19-directory-files-and-attributes): Strengthen test. + (tramp-test20-file-modes): Simplify check. + +2020-11-05 Lars Ingebrigtsen + + Let pdf-view-mode take precedence over doc-view-mode + + * lisp/net/mailcap.el (mailcap-mime-data): Note the order, and let + pdf-view-mode take precedence, since it's an optional package + (bug#44338). + +2020-11-05 Basil L. Contovounesios + + Sync biblatex entries and fields with v3.15 + + * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist): Fix + abbreviation of PhD. + (bibtex-biblatex-entry-alist, bibtex-biblatex-field-alist): Sync + standard entry and field types with those described in the biblatex + v3.15 manual of 2020-08-19 (bug#44322). + +2020-11-04 Stephen Berman + + Improve display of tabulated list header line labels (bug#44068) + + * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header): + Ensure sort indicator appears after the label of any selected + sortable column that is wide enough and enable label truncation + when narrowing a column. + + * lisp/emacs-lisp/timer-list.el (timer-list-mode): Improve column + alignment. + (timer-list--function-predicate): Correct typo in doc string. + +2020-11-04 Eli Zaretskii + + Prevent redisplay from moving point behind user's back + + * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): + Bind inhibit-quit to a non-nil value around calls to + fast_looking_at, to prevent breaking out of redisplay_window, + which temporarily moves point in buffers shown in non-selected + windows. (Bug#44448) + +2020-11-04 Stefan Monnier + + * src/term.c (handle_one_term_event): Simplify. + + Remove the `hold_quit` argument which was never used. + Streamline the control flow. + Thanks to Jared Finder for pointing it out. + + * src/keyboard.c (tty_read_avail_input): Simplify accordingly. + +2020-11-04 Eric Abrahamsen + + Avoid use of eieio-oset-default + + * lisp/gnus/gnus-search.el: Replace with an :initform tag on the slot + definition. `symbol-value' is necessary, otherwise the defclass macro + will treat the option as a quoted symbol. + +2020-11-04 Stefan Monnier + + * lisp-mode.el: Fix missing highlight of "hidden" string arg + + * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2) + (lisp-cl-font-lock-keywords-2): Highlight "hidden arg" even if it + already has another face. + +2020-11-04 Manuel Uberti (tiny change) + + * lisp/progmodes/project.el (project--files-in-directory): Fix formatting + +2020-11-04 Stefan Kangas + + Use lexical-binding in mule-charsets.el + + * admin/charsets/mule-charsets.el: Use lexical-binding. + (mule-charsets-header): Rename from 'header' to silence byte-compiler. + +2020-11-04 Reuben Thomas + + Remove unused variable in ispell.el (thanks, Stefan Kangas) + + * lisp/textmodes/ispell.el (ispell-check-version): Remove unused + variable `speller'. + +2020-11-04 Stefan Kangas + + Fix warnings in url-irc.el + + * lisp/url/url-irc.el (zenirc-server-alist, zenirc-buffer-name): + Declare to fix warnings. + (url-irc-rcirc): Silence warning by adding missing password argument + to rcirc-connect. + +2020-11-04 Stefan Kangas + + * lisp/obsolete/nnir.el: Add "Obsolete-since" header. + + * lisp/cedet/srecode.el: Use lexical-binding. + +2020-11-04 Stefan Monnier + + Fix misuses of `make-local-variable` on hooks + + * lisp/vc/smerge-mode.el (smerge-ediff): + * lisp/progmodes/python.el (python-pdbtrack-setup-tracking): + * lisp/net/tramp-smb.el (tramp-smb-call-winexe): + * lisp/net/secrets.el (secrets-mode): + * lisp/mail/rmail.el (rmail-variables): + * lisp/ielm.el (inferior-emacs-lisp-mode): + * lisp/erc/erc-log.el (erc-log-setup-logging): Use `add-hook`. + + * lisp/eshell/em-unix.el (eshell/diff): + * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't + `make-local-variable` on hooks. + +2020-11-04 Eric Abrahamsen + + Remove gmane search engine + + Remove the gnus-search-gmane class and all associated methods. If + search functionality is ever resurrected, then revert this commit. + + * lisp/gnus/gnus-search.el: Delete code, and remove from default value + of `gnus-search-default-engines'. + +2020-11-04 Eric Abrahamsen + + Move nnir.el to lisp/obsolete + + * lisp/obsolete/nnir.el: This is no longer used, but users might still + be requiring it. + +2020-11-04 Eric Abrahamsen + + New gnus-search library + + This library provides a fundamental reworking of the search + functionality previously found in nnir.el. It uses class-based search + engines to interface with external searching facilities, and a parsed + search query syntax that can search multiple engines. + + * lisp/gnus/gnus-search.el: New library containing search + functionality for Gnus. + * doc/misc/gnus.texi: Document. + * lisp/gnus/gnus-group.el (gnus-group-make-search-group, + gnus-group-read-ephemeral-search-group): Remove references to nnir, + change meaning of prefix argument, change values of nnselect-function + and nnselect-args. + * lisp/gnus/nnselect.el: Replace references to nnir + (nnselect-request-article): Use gnus-search functions, and search + criteria. + (nnselect-request-thread, nnselect-search-thread): Use gnus-search + thread search. + (gnus-summary-make-search-group): Switch to use gnus-search function + and arguments. + * test/lisp/gnus/search-tests.el: Tests for new functionality. + +2020-11-04 Stefan Monnier + + * lisp/progmodes/tcl.el: Use lexical-binding + + Remove redundant `:group` args. + +2020-11-03 Eli Zaretskii + + Fix last change + + * lisp/mwheel.el (mwheel-scroll): Don't use passive tense in doc + string. + +2020-11-03 Juri Linkov + + Horizontal mouse wheel scrolling amount (bug#43568) + + * lisp/mwheel.el (mouse-wheel-scroll-amount-horizontal): New defcustom. + (mwheel-scroll): Use it. + + * doc/emacs/frames.texi (Mouse Commands): Update doc about horizontal + scrolling step. + +2020-11-03 Michael Albinus + + Some Tramp fixes for directory-files-* and delete-* + + * lisp/files.el (delete-directory): Simplify check for trash. + + * lisp/net/ange-ftp.el (ange-ftp-delete-file): Implement TRASH. + + * lisp/net/tramp-compat.el (tramp-compat-directory-files) + (tramp-compat-directory-files-and-attributes) + (tramp-compat-directory-empty-p): New defaliases. + + * lisp/net/tramp.el (tramp-handle-directory-files-and-attributes) + (tramp-skeleton-delete-directory): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory): Use them. + + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + Implement COUNT. + + * test/lisp/net/tramp-tests.el (tramp-test14-delete-directory): + Do not run trash test for ange-ftp. + (tramp-test16-directory-files) + (tramp-test19-directory-files-and-attributes): Check COUNT argument. + +2020-11-03 Reuben Thomas + + Factor out some common code in ispell.el + + * lisp/textmodes/ispell.el (ispell-with-safe-default-directory): Add + macro. + (ispell-call-process, ispell-call-process-region): Use it. + +2020-11-03 Reuben Thomas + + Simplify ispell-check-version’s use of -vv flag + + * lisp/textmodes/ispell.el (ispell-check-version): All supported spell + checker programs accept -vv, including aspell for many years, so use + it. + +2020-11-03 Harald Jörg + + cperl-mode: Fix indentation for Emacs 26 + + * lisp/progmodes/cperl-mode.el (cperl-mode): Add a fix + which is only required for Emacs versions older than 27. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug30393): + Add a test to verify correct indentation (bug#30393). + +2020-11-03 Mauro Aranda + + Fix customizing user options of type face + + * lisp/cus-edit.el (face): Move the %f escape after the tag, because + otherwise customizing a face user option doesn't work: + custom-variable-value-create thinks that everything up until the first + ":" is part of the tag, and the item widget doesn't know how to handle + the %f escape. + +2020-11-03 Stefan Kangas + + Use lexical-binding in some url-*.el files + + * lisp/url/url-dired.el: + * lisp/url/url-ftp.el: + * lisp/url/url-irc.el: Use lexical-binding. + +2020-11-03 Stefan Kangas + + Use lexical-binding in solitaire.el + + * lisp/play/solitaire.el: Use lexical-binding. Remove redundant + :group args. + +2020-11-03 Stefan Kangas + + Use lexical-binding in some of emulation/edt*.el + + * lisp/emulation/edt-vt100.el: + * lisp/emulation/edt-pc.el: + * lisp/emulation/edt-lk201.el: Use lexical-binding. + +2020-11-03 Stefan Kangas + + Use lexical-binding in pcmpl-rpm.el + + * lisp/pcmpl-rpm.el: Use lexical-binding. Remove redundant :group + args. + (pcmpl-rpm-packages): Quote function symbol as such. + +2020-11-03 Stefan Kangas + + Use lexical-binding in pcmpl-cvs.el + + * lisp/pcmpl-cvs.el: Use lexical-binding. + (executable): Remove unnecessary require. + (pcmpl-cvs-binary): Remove redundant :group arg. + (pcmpl-cvs-tags): Quote function symbol as such. + +2020-11-03 Stefan Kangas + + Fix exiting the finder-commentary buffer + + * lisp/finder.el (finder-exit): Fix exiting the finder-commentary + buffer. (Bug#44384) + (finder-buffer): New defconst. + (finder-list-keywords): Use above new defconst. + +2020-11-03 Harald Jörg + + cperl-mode: Skip a test for older Emacsen (preparing for ELPA) + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127): + Skip this test for older Emacsen. The bug has been fixed + in Emacs, but outside of CPerl mode, and therefore will not + be available for older versions via ELPA. + +2020-11-03 Stefan Kangas + + Improve ert-resource-directory docstring + + * lisp/emacs-lisp/ert-x.el (ert-resource-directory): Improve + docstring. + +2020-11-02 Reuben Thomas + + Fix previous patch to ispell.el + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): + with-current-buffer and with-output-to-string need to be the other + way around. + +2020-11-02 Reuben Thomas + + Fix previous code change to `ispell--call-enchant-lsmod' + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Restore the + use of with-current-buffer, to avoid enchant-lsmod’s output being + dumped into the current buffer. + +2020-11-02 Eli Zaretskii + + Explain last change + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Explain + the workaround with discarding stderr. (Bug#44318) + +2020-11-02 Reuben Thomas + + Make ispell.el ignore warnings from enchant-lsmod (closes #44318) + + * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Don’t capture + stderr. Also remove unnecessary with-current-buffer wrapper. + +2020-11-02 Mattias EngdegÃ¥rd + + Add missing argument to directory_files_internal calls + + * src/kqueue.c (kqueue_compare_dir_list, Fkqueue_add_watch): + Pass the new seventh argument. + +2020-11-02 Eli Zaretskii + + Fix a recent change in dired.c + + * src/dired.c (directory_files_internal): Fix type of integer + variables to avoid overflow in 32-bit builds --with-wide-int. + +2020-11-02 Eli Zaretskii + + Improve documentation of a recent commit + + * lisp/international/mule-cmds.el (transient-input-method): Doc + fix. Add :version tag. + (transient-input-method): Doc fix. + + * etc/NEWS: + * doc/emacs/mule.texi (Select Input Method): Fix wording of the + last change. + +2020-11-02 Glenn Morris + + Merge from origin/emacs-27 + + 4e6104ea0b ; * src/xdisp.c (display_string): Fix a typo in a comment. + 7162228815 Improve indexing of check-declare + d218b28ab5 ; * lisp/autoinsert.el (auto-insert-alist): Fix texinfo URL. + +2020-11-02 Glenn Morris + + Merge from origin/emacs-27 + + 1fc9de4b81 Improve reproducibility of generated -pkg.el files + da6234e2df Make sure pixel sizes are zero when setting window size fo... + 2d15296db1 Fix failure of 'emacs --daemon' on Cygwin + 8abce5b0c6 CC Mode: Only recognize foo (*bar) as a function pointer w... + 85d1d8d768 Fix NEWS entry for fix of Bug#44080 + 2443b15a91 * src/buffer.c (syms_of_buffer) : Improve doc... + + # Conflicts: + # etc/NEWS + +2020-11-02 Michael Albinus + + Fix some glitches in recent directory-files-* changes + + * doc/lispref/files.texi (Contents of Directories): + Fix description of directory-files, directory-empty-p and + directory-files-and-attributes. + + * etc/NEWS: Fix entry for directory-files-and-attributes. Fix typos. + + * lisp/dired.el (directory-empty-p): Move function from here ... + + * lisp/files.el (directory-empty-p): ... to here. + + * lisp/net/ange-ftp.el (ange-ftp-directory-files): Call `nreverse' later. + + * lisp/net/tramp.el (tramp-handle-directory-files): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): Do not call + `nreverse'. + + * src/dired.c (Fdirectory_files) + (Fdirectory_files_and_attributes): Fix docstrings. + + * test/src/dired-tests.el: Removed. Tests moved to + test/lisp/dired-tests.el. + + * test/lisp/dired-tests.el (dired-test-bug27899): Tag it :unstable. + (dired-test-directory-files) + (dired-test-directory-files-and-attributes): New tests. + +2020-11-02 João Távora + + Fix Elisp's elisp--documentation-one-liner (bug#43609) + + To be backward compatible, this function must return nil when there is + a symbol at point but no documentation for it. Before this fixed it + returned the string ": nil". + + * lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner): + Check callback actually produced non-nil doc. + +2020-11-02 Lars Ingebrigtsen + + Fix mouse-1 on [Show] buttons in the *Help* buffer + + * lisp/descr-text.el (describe-text-sexp): Add a `follow-link' so + that the [Show] buttons work correctly with mouse-1 (bug#44340). + +2020-11-02 Yasuhiro KIMURA (tiny change) + + Recover the contents of the schemas.xml file + + * etc/schema/schemas.xml: Recover the file, which was apparently + (mostly) removed by mistake by commit 165f738382 (bug#42851). + +2020-11-02 Mauro Aranda + + Document that the :match function for a widget takes an external value + + * doc/misc/widget.texi (Basic Types): Document what an external value + is. Document that a :match function expects the value to be in the + external format. (Bug#8717) + +2020-11-02 Stephen Berman + + Don't render XML declaration of an HTML document (bug#44348) + + * lisp/net/eww.el (eww--preprocess-html): Prevent converting the + left angle bracket in the sequence " + + Add directory-empty-p and new argument COUNT for directory-files-* + + * doc/lispref/files.texi (Contents of Directories): Mention COUNT + argument of directory-files. Add directory-empty-p. + + * etc/NEWS: Mention directory-empty-p and directory-files changes. + + * lisp/dired.el (directory-empty-p): New defun. + + * lisp/net/ange-ftp.el (ange-ftp-directory-files) + (ange-ftp-directory-files-and-attributes): + * lisp/net/tramp.el (tramp-handle-directory-files) + (tramp-handle-directory-files-and-attributes): + * lisp/net/tramp-adb.el + (tramp-adb-handle-directory-files-and-attributes): + * lisp/net/tramp-rclone.el (tramp-rclone-handle-directory-files): + * lisp/net/tramp-sh.el (tramp-sh-handle-directory-files-and-attributes): + * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files): Add new COUNT + argument. + + * src/dired.c (directory_files_internal): Implement new + RETURN_COUNT argument. + (Fdirectory_files, Fdirectory_files_and_attributes): Add new COUNT + argument. + + * src/lisp.h (directory_files_internal): Add RETURN_COUNT to declaration. + + * src/sysdep.c (list_system_processes): Add Qnil to + directory_files_internal call. + + * test/src/dired-tests.el (directory-files-and-attributes-tests): + New file. + +2020-11-02 Lars Ingebrigtsen + + Partially revert previous define-minor-mode change + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): + Only document the values we want to support, not the ones we + actually support. + (define-minor-mode): Partially revert to previous behaviour. + +2020-11-01 Stefan Kangas + + Fix mistake in Lisp conversion of describe-map-tree + + * lisp/help.el (describe-map-tree): Fix mistake in conversion to Lisp + from the C function describe_map_tree; make the condition match the + now removed C code. (Bug#44360) + +2020-11-01 Juri Linkov + + Transient input methods bound to 'C-x \' (bug#44266) + + * lisp/international/mule-cmds.el (ctl-x-map): Bind 'C-x \' to + 'transient-input-method'. + (input-method-function): New defcustom. + (transient-input-method): New command. + + * doc/emacs/mule.texi (Select Input Method): Document transient-input-method. + +2020-11-01 Juri Linkov + + * lisp/leim/quail/compose.el: New input method (bug#44267). + +2020-11-01 Juri Linkov + + Show nobreak-space face for more blank characters in describe-char. + + * lisp/descr-text.el (describe-char): Handle more non-ASCII whitespace + characters added in f018cffca0098ad1b82c51730a6d6cf146e3c488 (bug#44236) + +2020-11-01 Stefan Kangas + + Improve indexing of check-declare + + * doc/lispref/functions.texi (Declaring Functions): Improve indexing. + +2020-11-01 Stefan Kangas + + Don't auto-insert "@c file ends here" in .texi files + + * lisp/autoinsert.el (auto-insert-alist): Don't insert "@c file ends + here" at the end of new .texi files. + +2020-11-01 Stefan Kangas + + Don't bind standard-output in substitute-command-keys + + This fixes a regression with regards to the old C version of + substitute-command-keys. + + * lisp/help.el (substitute-command-keys): Don't bind standard-output. + See Bug#39149. + * test/lisp/help-tests.el + (help-tests--was-in-buffer): New variable. + (help-substitute-command-keys/menu-filter-in-correct-buffer): New + test. + +2020-11-01 Glenn Morris + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): Doc typo. + +2020-11-01 Mattias EngdegÃ¥rd + + Add missing side-effect-free and error-free properties + + Any function that is pure is also side-effect-free and some are also + error-free. Right now these have to be declared separately. + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add + bool-vector-count-consecutive, bool-vector-count-population, + bool-vector-subsetp, copysign, isnan, lax-plist-get, ldexp, memql, + regexp-opt and string-to-syntax. + (side-effect-and-error-free-fns): Add type-of. + * lisp/subr.el (kbd, string-replace): Declare side-effect-free. + +2020-11-01 Mattias EngdegÃ¥rd + + * lisp/emacs-lisp/byte-opt.el (pure-fns): Fix typos. + +2020-11-01 Stefan Kangas + + Insert describe-map-tree header into original buffer + + * lisp/help.el (describe-map-tree): Insert header into the original + buffer, not in standard-output. + * test/src/keymap-tests.el + (describe-buffer-bindings/header-in-current-buffer) + (describe-buffer-bindings/returns-nil): New tests. + Ref: https://debbugs.gnu.org/39149#31 + +2020-11-01 Andrea Corallo + + * Fix 'comp-call-optim pass' for anonymous lambdas + + * lisp/emacs-lisp/comp.el (comp-call-optim-func): Remove anonymous + lambdas gate. + (comp-call-optim-form-call): Add the correct missing condition. + +2020-11-01 Andrea Corallo + + * test/src/comp-tests.el (compile-forms): Fix missing lexical binding. + +2020-11-01 Andrea Corallo + + * Add some 'cond-rw' pass related tests + + * test/src/comp-tests.el (comp-tests-cond-rw-checked-function): + Declare var. + (comp-tests-cond-rw-checker-val): New function. + (comp-tests-cond-rw-checker-type): Declare var. + (comp-tests-cond-rw-checker-type): New function. + (comp-tests-cond-rw-0-var): Declare var. + (comp-tests-cond-rw-0, comp-tests-cond-rw-1, comp-tests-cond-rw-2) + (comp-tests-cond-rw-3, comp-tests-cond-rw-4) + (comp-tests-cond-rw-5): New testcases. + +2020-11-01 Andrea Corallo + + Add new cond-rw pass to have forward propagation track cond branches + + Add a new pass to rewrite conditional branches. This is introducing + and placing a new LIMPLE operator 'assume' in use by fwprop to + propagate conditional branch test informations on target basic blocks. + + * lisp/emacs-lisp/comp.el (comp-passes): Add `comp-cond-rw'. + (comp-limple-assignments): Add `assume' operator. + (comp-emit-assume, comp-cond-rw-target-slot, comp-cond-rw-func) + (comp-cond-rw): Add new functions. + (comp-fwprop-insn): Update to pattern match `assume' insns. + * src/comp.c (emit_limple_insn): Add for `assume'. + (syms_of_comp): Define 'Qassume' symbol. + +2020-11-01 Lars Ingebrigtsen + + Make minor mode ARG work as documented + + * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring): + Clarify when minor modes are switched on/off when called from lisp + (bug#44341). + (define-minor-mode): Make calls from Lisp switch the mode on/off + as documented. + +2020-11-01 Andrea Corallo + + * Rework some native compiler test infrastructure + + * test/src/comp-tests.el (comp-tests-map-checker): New function + returning a list holding checker results. + (comp-tests-tco-checker, comp-tests-fw-prop-checker-1) + (comp-tests-pure-checker-1, comp-tests-pure-checker-2): Make use + of `comp-tests-map-checker'. + +2020-11-01 Mauro Aranda + + Fix saving a face setting with Customize + + * lisp/cus-edit.el (custom-face-save): Make sure we back up into the + :shown-value property what the user has edited so far, if we are going + to recreate the custom-face widget. (Bug#44331) + +2020-11-01 Yasuhiro KIMURA (tiny change) + + Recover the contents of the schemas.xml file + + * etc/schema/schemas.xml: Recover the file, which was apparently + (mostly) removed by mistake by commit 165f738382 (bug#42851). + +2020-11-01 Lars Ingebrigtsen + + Doc string clarification for cl-some + + * lisp/emacs-lisp/cl-extra.el (cl-some): Clarify the return value + (bug#44330). + +2020-11-01 Lars Ingebrigtsen + + custom-theme-set-variables more resilient against removed libraries + + * lisp/custom.el (custom-theme-set-variables): Don't bug out on + settings that require a library that has been removed (bug#38843). + +2020-11-01 Lars Ingebrigtsen + + Mention non-ASCII C-c LETTER bindings in the lispref manual + + * doc/lispref/tips.texi (Key Binding Conventions): Mention + non-ASCII C-c LETTER (bug#15917). + +2020-11-01 Lars Ingebrigtsen + + Mention the C-c LETTER keybinding convention + + * doc/emacs/custom.texi (Keymaps): Reintroduce the text about C-c + LETTER (bug#15917), and clarify. + +2020-11-01 Michael Albinus + + Trash remote files to local trash (Bug#44216) + + * doc/misc/tramp.texi (Frequently Asked Questions): Add trashing. + + * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory) + (tramp-adb-handle-delete-file): + * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory) + (tramp-gvfs-handle-delete-file): + * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory) + (tramp-sh-handle-delete-file): + * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory) + (tramp-smb-handle-delete-file): + * lisp/net/tramp-sudoedit.el (tramp-sudoedit-handle-delete-directory) + (tramp-sudoedit-handle-delete-file): Implement local trash. (Bug#44216) + + * lisp/net/tramp-crypt.el (tramp-crypt-handle-delete-directory) + (tramp-crypt-handle-delete-file): Do not trash. + + * lisp/net/tramp.el (tramp-skeleton-delete-directory): New defmacro. + + * test/lisp/net/tramp-tests.el (tramp-test07-file-exists-p) + (tramp-test14-delete-directory): Add trashing. + +2020-11-01 Michael Albinus + + * etc/NEWS: Add trashing of remote files. Fix typos. + +2020-11-01 Lars Ingebrigtsen + + Fix error message in feedmail + + * lisp/mail/feedmail.el (feedmail-buffer-to-smtpmail): Remove + superfluous %s in insert string + +2020-11-01 Lars Ingebrigtsen + + Fix a segfault in the new svg code + + * src/image.c (svg_load_image): Don't pass in a NULL for the + logical rect, because that will sometimes segfault. + +2020-10-31 Juri Linkov + + New variable integer-output-format to print integers as characters (bug#44155) + + * doc/lispref/streams.texi (Output Variables): Add integer-output-format. + + * src/print.c (print_object): In case of Lisp_Int, print integers + as characters when Vinteger_output_format is Qt, and in hex format + when Vinteger_output_format is 16. + (Vinteger_output_format): New variable. + + * test/src/print-tests.el (print-integer-output-format): New test. + +2020-10-31 Mauro Aranda + + Give the scroll-bar face a non-trivial spec + + * lisp/faces.el (scroll-bar): Give it a non-trivial spec, so when + resetting it to its face-defface-spec, we effectively reset it. + (Bug#13476) + +2020-10-31 Juri Linkov + + Improve goto-line in regard to narrowed buffers (bug#44294) + + * lisp/simple.el (goto-line): Rewrite to first find the position + of the line where to go, then later don't widen the buffer + when the found position is still inside narrowed part of buffer. + + * lisp/isearch.el (isearch-message-prefix): Warn about narrowed buffer + in case of no more matches found. + +2020-10-31 Juri Linkov + + Reimplement commit 46b3db5579e57b9daf16667914205adc99d3f104 (bug#44294) + + * lisp/progmodes/etags.el (etags-goto-tag-location): Revert change from + commit 46b3db5579e57b9daf16667914205adc99d3f104. + (xref-location-marker): Use the same change as was made in elisp-mode.el in + commit 46b3db5579e57b9daf16667914205adc99d3f104 to widen before going + to the found position. + +2020-10-31 Stefan Kangas + + * test/README: Document TEST_BACKTRACE_LINE_LENGTH. + +2020-10-31 Amin Bandali + + Replace irc.freenode.net with chat.freenode.net + + chat.freenode.net has been the preferred address for connecting to the + freenode IRC network for years now. Replace the occurrences of + irc.freenode.net with chat.freenode.net. + +2020-10-31 Mattias EngdegÃ¥rd + + Fix eshell glob modifiers + + Modified globbing such as *.txt(W) for all world-writable files ending + in .txt apparently never worked correctly. + + * lisp/eshell/em-pred.el (eshell-predicate-alist): Use correct + elisp syntax for octal constants. + (eshell-pred-file-mode): Return a boolean, not a number. + +2020-10-31 Andreas Schwab + + wdired: fix error handling of set-file-modes + + * lisp/wdired.el (wdired-perms-to-number): Return decimal number. + (wdired-do-perm-changes): Handle error from set-file-modes. + (wdired-finish-edit): Remove `rename' from error message. + (Bug#44343) + +2020-10-31 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-31 Eli Zaretskii + + * etc/HELLO: Enlarge tab-width to account for "tofu". + +2020-10-31 Mattias EngdegÃ¥rd + + 'assoc' is not side-effect-free; constprop its pure subset + + Since a supplied test function can do anything, assoc is not + side-effect-free (bug#44018). However, with only two arguments it is + pure and should be optimised accordingly. + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Remove 'assoc'. + (byte-optimize-assoc): Constant-propagate through 2-arg assoc calls. + * test/lisp/emacs-lisp/bytecomp-tests.el + (byte-opt-testsuite-arith-data): Add test cases. + +2020-10-31 Eli Zaretskii + + Improve support for displaying Javanese script + + * lisp/international/fontset.el (setup-default-fontset) + (script-representative-chars): Add Javanese entries. + + * etc/HELLO: Fix the Javanese text. See + https://omniglot.com/language/phrases/javanese.php for the + source. + +2020-10-31 Stefan Monnier + + * src/xdisp.c (syms_of_xdisp) <"scroll-minibuffer-conservatively">: New var + + Fix bug#44070, which causes the minibuffer display to jump upon minor edit + + (redisplay_window): Obey it. + * lisp/simple.el (end-of-buffer): Obey it. + + * test/src/xdisp-tests.el (xdisp-tests--in-minibuffer): New macro, + extracted from `xdisp-tests--minibuffer-resizing`. + (xdisp-tests--minibuffer-resizing): Use it. + (xdisp-tests--minibuffer-scroll): New test. + +2020-10-31 Mattias EngdegÃ¥rd + + Trim and explain set of safe forms for 'unsafep' (bug#44018) + + * lisp/emacs-lisp/unsafep.el: + Add comment explaining the policy for which forms can be considered + 'safe' in the sense of unsafep. Remove ones that didn't make the cut: + + play-sound-file (large attack surface) + catch, throw (alter program flow, inject data) + replace-regexp-in-string (execute arbitary code) + error, signal (deceptive messages) + + * test/lisp/emacs-lisp/unsafep-tests.el (unsafep-tests--unsafe): + Add test cases. + * etc/NEWS: Announce the change. + +2020-10-31 Mattias EngdegÃ¥rd + + Parse GDB/MI results directly instead of going via JSON (bug#44173) + + Translating GDB/MI into JSON is an unnecessary and fragile detour + that made it hard to deal with octal escapes in strings correctly. + Parse GDB/MI directly instead. + + * lisp/progmodes/gdb-mi.el (gdb-mi-decode-strings): Adjust doc string. + (gdb-mi-decode, gud-gdbmi-marker-filter): Remove gdb-mi-decode. + (gdb-jsonify-buffer): Remove. + (gdb-mi--parse-tuple-or-list, gdb-mi--parse-c-string) + (gdb-mi--parse-value, gdb-mi--parse-result-or-value) + (gdb-mi--parse-results, gdb-mi--fix-key, gdb-mi--extend-fullname) + (gdb-mi--c-string-from-string): New functions. + (gdb-json-read-buffer, gdb-json-string, gdb-json-partial-output): + Rename to gdb-mi--read-buffer, gdb-mi--from-string and + gdb-mi--partial-output respectively. Remove useless FIX-LIST + argument. FIX-KEY is now a symbol, not a string. All callers updated. + (gdb-tooltip-print, gdbmi-bnf-log-stream-output, gdb-internals) + (gdb-console, gdb-done-or-error, gdb-get-source-file-list) + (gdb-get-prompt, gdb-get-source-file): + Use gdb-mi--c-string-from-string instead of 'read'. + * test/lisp/progmodes/gdb-mi-tests.el: New file. + +2020-10-31 Eli Zaretskii + + * etc/HELLO: Add Egyptian Hieroglyphs. + +2020-10-31 Eli Zaretskii + + Support prettified display of fractional numbers + + * lisp/composite.el (composition-function-table): Define an entry + for U+2044 FRACTION SLASH, for prettier display of fractional + numbers. + +2020-10-31 Michael Albinus + + Check also for "DragonFly" remote systems in Tramp + + * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): + Check also for "DragonFly". + +2020-10-31 Eli Zaretskii + + Speed up ls-lisp + + This speeds up Dired by 25% in large directories. + * lisp/ls-lisp.el (ls-lisp--time-locale): New defvar. + (ls-lisp-format-time): calculate the locale for formatting times + only once and cache the value in 'ls-lisp--time-locale'. + (Bug#44273) + +2020-10-31 Eli Zaretskii + + * doc/lispref/commands.texi (Key Sequence Input): Fix indexing. + +2020-10-31 Jared Finder + + Updating docs with all special window prefix keys. + + * doc/lispref/commands.texi (Key Sequence Input): Add documentation for + missing special window areas. Explicitly call out window or frame. + +2020-10-31 Jared Finder + + Fix unit tests broken by changes to xt-mouse.el + + * test/lisp/xt-mouse-tests.el (xt-mouse-tracking-basic) + (xt-mouse-tracking-utf-8): Update expected escape sequence. + +2020-10-31 Eli Zaretskii + + Revert "Temporarily mark two failing tests" + + This reverts commit a8426f46726d94cdf21c0e6b3c85c0afe0064784. + A proper fix for the test is about to be installed shortly. + +2020-10-31 Thien-Thi Nguyen + + Make hideshow.el work with Mhtml mode + + Suggested by Ian Williams . + + * lisp/textmodes/mhtml-mode.el: Require ‘pcase’ when compiling. + (mhtml-forward): New func. + * lisp/progmodes/hideshow.el (hs-special-modes-alist): + Add entry for ‘mhtml-mode’. + +2020-10-31 Glenn Morris + + Improve reproducibility of generated -pkg.el files + + * lisp/emacs-lisp/package.el (package-generate-description-file): + Don't include the full name of the source file in the header, + since that varies non-reproducibly according to the build directory. + https://bugs.debian.org/972861 + Note that elpa.gnu.org's admin/archive-contents.el does this by hand + and already only includes the nondirectory part. + +2020-10-30 João Távora + + Shoosh byte-compilation warning in lisp/emacs-lisp/eldoc.el + + Per bug#43609, elisp-eldoc-documentation-function is again in master, + but since it's now officially obsoleted, this backward compatibility + shim in eldoc--eval-expression-setup shouldn't unnecessarily trigger + warnings in master's code. + + * lisp/emacs-lisp/eldoc.el (eldoc--eval-expression-setup): Shoosh + by-compilation warning. + +2020-10-30 João Távora + + Don't make ElDoc doc buffer visible in buffer list by default + + (Bug#44334) + + * lisp/emacs-lisp/eldoc.el (eldoc-doc-buffer): No longer take + INTERACTIVE arg. Show buffer if invisible. + (eldoc--format-doc-buffer): Don't change buffer visibility. + (eldoc-display-in-buffer): Show buffer if invisible if by calling + eldoc-doc-buffer. + +2020-10-30 João Távora + + Bring back elisp-eldoc-documentation-function, marked obsolete + + (Bug#43609) + + It's not useful for ElDoc's eldoc-mode mechanism in Elisp, and nothing + in Emacs uses it, but it wasn't strictly marked internal, so it's best + to bring it back. + + * lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner): + New helper. + (elisp-eldoc-documentation-function): New function, with + obsoletion warning. + +2020-10-30 Stefan Monnier + + * lisp/simple.el (blink-matching-open): Fix bug#37127 + + Don't call `syntax-propertize` from within narrowing + + * lisp/progmodes/cperl-mode.el (cperl-forward-re): Revert last patch, + since it is now redundant. + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127): + Remove unused var; fix test so it really catches the previous bug; + tweak the code to use mode-agnostic commands so it also works in `perl-mode`. + +2020-10-30 Michael Albinus + + Fix Bug#44289 + + * lisp/files.el (directory-listing-before-filename-regexp): + Support DD-MMM-YYYY format. (Bug#44289) + +2020-10-30 Lars Ingebrigtsen + + Tweak previous python-mode region fix + + * lisp/progmodes/python.el (python-shell-buffer-substring): Tweak + the previous fix for bug#39398 to behave somewhat more like it + used to. + +2020-10-30 Lars Ingebrigtsen + + Revert "Adjust python tests after fix for bug#39398" + + This reverts commit c6fb23873a594b6a4fc57fa107869a2e82159d07. + + The code is tweaked to be more backwards-compatible. + +2020-10-30 Lars Ingebrigtsen + + Fix copying symbolic links in eshell + + * lisp/eshell/em-unix.el (eshell-shuffle-files): Don't bug out + when copying symbolic links (bug#38577). + +2020-10-30 Dima Kogan + + Add a new command to regenerate a hunk in diff-mode + + * lisp/vc/diff-mode.el (diff-refresh-hunk): New function (bug#44312). + (diff-mode-map): Bind C-c C-l. + +2020-10-30 Lars Ingebrigtsen + + Fix fontifying of ::= in Makefiles + + * lisp/progmodes/make-mode.el (makefile-match-dependency): Don't + fontify the POSIX immediate assignment operator ::= as a + dependency (bug#44319). + +2020-10-30 Harald Jörg + + Suppress a misleading message when closing a paren in a regex + + * lisp/progmodes/cperl-mode.el (cperl-forward-re): Suppress an + error message about "End of string/RE not found" when we are + at the end of a narrowed buffer where the end of a RE is + temporarily unavailable (Bug#37127). + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-bug37127): + Add a test to verify that the message is suppressed when + inappropriate, but appears when the RE *is* incomplete. + +2020-10-30 Stefan Kangas + + Clarify point position after text-property-search + + * lisp/emacs-lisp/text-property-search.el + (text-property-search-forward, text-property-search-backward): Doc fix + to clarify placement of point after search. + * test/lisp/emacs-lisp/text-property-search-tests.el + (text-property-search--pos-test): New defun. + (text-property-search-forward-point-at-beginning) + (text-property-search-backward-point-at-end): New test. + +2020-10-30 Lars Ingebrigtsen + + Tweak the gdb-mi error message + + * lisp/progmodes/gdb-mi.el (gdb--check-interpreter): Make the + error message less misleading (bug#40279). + +2020-10-30 Neil Roberts + + Use nobreak-space on all non-ASCII whitespace characters + + * doc/emacs/display.texi (Text Display): Document it. + + * src/xdisp.c (get_next_display_element): Use blankp to test whether + to use the nobreak_space face (bug#44236). + +2020-10-30 Lars Ingebrigtsen + + Make list-timers do sub-second times + + * lisp/emacs-lisp/timer-list.el (list-timers): Do sub-second times + (bug#39956). + +2020-10-30 Lars Ingebrigtsen + + `format-time' can now do sub-second times + + * doc/lispref/os.texi (Time Parsing): Document it. + + * lisp/calendar/time-date.el (format-seconds): Allow formatting + sub-second times. + +2020-10-30 Stefan Kangas + + Add shortdoc navigation commands + + * lisp/emacs-lisp/shortdoc.el (text-property-search): Require. + (shortdoc-mode): New major mode. + (shortdoc-mode-map): New variable. + (shortdoc--goto-section): New macro. + (shortdoc-next, shortdoc-previous, shortdoc-next-section) + (shortdoc-previous-section): New commands. + (shortdoc-display-group): Use new shortdoc-models. Propertize + section header. + (shortdoc--display-function): Propertize function header. + +2020-10-30 Hugh Daschbach + + * test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): Expand test. + +2020-10-30 Stefan Monnier + + * lisp/mail/binhex.el (binhex-char-int): Add missing release + +2020-10-30 Basil L. Contovounesios + + Remove Debbugs 'thanks' from submit-emacs-patch + + * lisp/mail/emacsbug.el (submit-emacs-patch): Remove unneeded + 'thanks' following Debbugs pseudo-header, which leaves other + pseudo-headers entered by the user unprocessed (bug#44322). + +2020-10-30 Basil L. Contovounesios + + Modify only local send hook in submit-emacs-patch + + * lisp/mail/emacsbug.el (submit-emacs-patch): Don't modify global + message-send-hook. + +2020-10-29 Noah Friedman + + Make sure pixel sizes are zero when setting window size for ptys. + + * sysdep.c (set_window_size): Initialize data to zero to avoid + passing any garbage from the stack to ioctl. + +2020-10-29 Harald Jörg + + cperl-mode: Make timeout test more robust + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-test-bug-10483): Increase the timeout to 2 seconds + and mark the test as expensive. Also, suppress it for Emacs + versions below 28, where the test times out though the function + works in manual tests. (Bug#44317) + +2020-10-29 Basil L. Contovounesios + + Simplify some bibtex.el variable definitions + + * lisp/textmodes/bibtex.el (bibtex-include-OPTkey) + (bibtex-user-optional-fields, bibtex-BibTeX-entry-alist) + (bibtex-biblatex-entry-alist, bibtex-generate-url-list): Use :risky + tag instead of risky-local-variable property. + + (bibtex-entry-format, bibtex-maintain-sorted-entries) + (bibtex-sort-entry-class, bibtex-dialect) + (bibtex-autokey-name-case-convert-function): Use :safe tag instead + of safe-local-variable property. + + (bibtex-autokey-name-case-convert-function): Let custom function + default to 'identity', not 'ignore'. + + (bibtex-strings, bibtex-reference-keys): Define with defvar-local + instead of defvar+make-variable-buffer-local. + +2020-10-29 Stefan Kangas + + * lisp/reposition.el: Use lexical-binding. + +2020-10-29 Stefan Monnier + + * lisp/progmodes/tcl.el: Better match Tcl string formation rules (bug#39277) + + (tcl--word-delimiters): New const. + (tcl--syntax-of-quote): New function. + (tcl-syntax-propertize-function): Use them. + (tcl-mode): Enable `syntax-propertize-multiline`. + + * test/manual/indent/tcl.tcl: New file. + +2020-10-29 Michael Albinus + + Handle several children of PATH in dbus-managed-objects-handler + + * lisp/net/dbus.el (dbus-managed-objects-handler): Handle several + children of PATH. (Bug#44298) + + * src/dbusbind.c (xd_signature, xd_append_arg): Check object path. + + * test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): + Tag it :expensive-test. Remove superfluous check. + +2020-10-29 Stefan Kangas + + Fix CUA Mode menu entry to be less confusing + + Note that the old text was incorrect; shift-selection is controlled by + the variable shift-select-mode. + + * lisp/menu-bar.el (menu-bar-options-menu): Make CUA Mode menu entry + less confusing when cua-enable-cua-keys is nil. (Bug#43322) + +2020-10-29 Ken Brown + + Fix failure of 'emacs --daemon' on Cygwin + + * src/emacs.c (DAEMON_MUST_EXEC): Define unconditionally on + Cygwin, not just if HAVE_NTGUI is defined. This fixes the failure + of 'emacs --daemon' to start on the non-w32 Cygwin builds. + (Bug#44285) + +2020-10-29 Lars Ingebrigtsen + + Tweak previous article-treat-ansi-sequences fix + + * lisp/gnus/gnus-art.el (article-treat-ansi-sequences): Redo the + previous fix to avoid a compilation warning (bug#44299). + +2020-10-29 Hugh Daschbach + + * test/lisp/net/dbus-tests.el (dbus-test09-get-managed-objects): New test. + +2020-10-29 Andreas Schwab + + Don't spill ansi-color across parts in articles + + * lisp/gnus/gnus-art.el (article-treat-ansi-sequences): Reset + ansi-color-context-region. (Bug#44299) + +2020-10-29 Juri Linkov + + * lisp/bindings.el (narrow-map): Bind C-x n g to goto-line-relative (bug#9917) + +2020-10-29 Juri Linkov + + Widen buffer before going to point found by xref-find-definitions (bug#44294) + + * lisp/progmodes/elisp-mode.el (xref-location-marker): Widen before going + to the found position. + + * lisp/progmodes/etags.el (etags-goto-tag-location): Rerun after removing + narrowing. + + * lisp/simple.el (goto-line-read-args): Use buffer-narrowed-p. + +2020-10-28 Stefan Kangas + + Run substitute-command-keys on shortdoc section headings + + * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Run + substitute-command-keys on section headings before displaying. + +2020-10-28 Stefan Kangas + + Extend the regexp shortdoc group + + * lisp/emacs-lisp/shortdoc.el (regexp): New section "Match Data"; add + save-match-data. New section "The `rx' Structured Regexp Notation". + +2020-10-28 Lars Ingebrigtsen + + Document all parameters on `indent-relative' + + * doc/lispref/text.texi (Relative Indent): Mention the FIRST-ONLY + parameter (bug#39330). + +2020-10-28 Lars Ingebrigtsen + + Disable mml-sec-tests on MacOS + + * test/lisp/gnus/mml-sec-tests.el (test-conf): Disable tests on + MacOS (bug#44259). + +2020-10-28 Alan Mackenzie + + CC Mode: Only recognize foo (*bar) as a function pointer when followed by ( + + * lisp/progmodes/cc-engine.el (c-forward-over-decl-or-cast-1): (after CASE 2) + test variables got-suffix-after-parens and at-decl-end before invoking + c-fdoc-shift-type-backward. + +2020-10-28 Lars Ingebrigtsen + + Display times in a more human-readable way in list-timers + + * lisp/emacs-lisp/timer-list.el (list-timers): Format the + intervals in a more human-readable way (bug#39956). + +2020-10-28 Stefan Kangas + + * lisp/net/hmac-def.el: Use lexical-binding. + +2020-10-28 Lars Ingebrigtsen + + Adjust python tests after fix for bug#39398 + +2020-10-28 Stefan Kangas + + * lisp/net/eudc-vars.el: Use lexical-binding. + +2020-10-28 Stefan Kangas + + Use lexical-binding in netrc.el and add tests + + * lisp/net/netrc.el: Use lexical-binding. + (netrc-file): Remove redundant :group arg. + * test/lisp/net/netrc-resources/authinfo: + * test/lisp/net/netrc-resources/services: + * test/lisp/net/netrc-tests.el: New files. + +2020-10-28 Stefan Kangas + + Warn against using the MD4 hash function + + * lisp/md4.el (md4): Warn against using it, since its security is + non-existent and it has been declared obsolete. It should probably + only be used by our NTLM support. Point users to secure-hash instead. + +2020-10-28 Dmitry Gutov + + css--complete-property-value: Limit the backward search + + * lisp/textmodes/css-mode.el (css--complete-property-value): + Don't search back when ppss-innermost-start is nil (bug#44214). + +2020-10-28 Stefan Kangas + + Remove Emacs 20 compat code from ede/files.el + + * lisp/cedet/ede/files.el (ede--put-inode-dir-hash) + (ede--get-inode-dir-hash, ede-project-directory-remove-hash) + (ede--directory-project-from-hash) + (ede--directory-project-add-description-to-hash): Remove Emacs 20 + compat code. + +2020-10-28 Stefan Kangas + + Remove some compat code from feedmail.el + + * lisp/mail/feedmail.el (feedmail-message-action-help-blat) + (feedmail-run-the-queue, feedmail-queue-send-edit-prompt-inner) + (feedmail-send-it-immediately): Remove compat code for XEmacs, + Emacs 19 and 20. + +2020-10-27 Stefan Kangas + + Remove some Emacs 20 compat code from speedbar.el + + * lisp/speedbar.el (speedbar-easymenu-definition-trailer): Remove + Emacs 20 compat code. + +2020-10-27 Lars Ingebrigtsen + + Tweak how `C-c C-r' computes the region in python-mode + + * lisp/progmodes/python.el (python-shell-buffer-substring): Don't + extend the region to the start of the line (bug#39398), but allow + sending the actual region as marked. + +2020-10-27 Lars Ingebrigtsen + + Make gnus-output-to-rmail appending work better + + * lisp/gnus/gnus-util.el (gnus-output-to-rmail): Ensure we have a + blank line before the next line when using mbox format (bug#39580). + +2020-10-27 Lars Ingebrigtsen + + Fix intermittent rmail-summary-delete-forward problem + + * lisp/mail/rmailsum.el (rmail-summary-delete-forward): + `rmail-delete-message' may apparently clear + `rmail-current-message' sometimes, so save the message number + before deleting (bug#39612). + +2020-10-27 Mattias EngdegÃ¥rd + + gdb-mi: use lexical lambdas + + * lisp/progmodes/gdb-mi.el (gdb-tooltip-print-1, gud-watch) + (gdb-var-list-children, gdb-edit-value) + (gdb-bind-function-to-buffer, gdb-place-breakpoints) + (gdb-preempt-existing-or-display-buffer): + Expose lambdas to the compiler as lexical closures instead of building + them the old-fashioned way. Remove #' before lambda. + +2020-10-27 Mattias EngdegÃ¥rd + + Remove unused function in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (gdb-var-evaluate-expression-handler): + Remove. (It was left behind in an old code reorganisation.) + +2020-10-27 Lars Ingebrigtsen + + Revert "Fontify strings in {} better in tcl-mode" + + This reverts commit 7f32224dc324b0ee0f1b512c8d8b19aeb80141c1. + + The changes led to things like + + proc foo5 () { + return 6 + } + + being fontified as a string, which is wrong. + +2020-10-27 Mauro Aranda + + Small fix to the new link for inherited faces in Customize + + * lisp/cus-edit.el (cus--face-link): Link to the current value of the + widget, rather than to the widget's value upon creation (bug#44154). + +2020-10-27 Clemens Radermacher + + Fix NEWS entry for fix of Bug#44080 + +2020-10-27 Eli Zaretskii + + * src/buffer.c (syms_of_buffer) : Improve doc string. + +2020-10-27 Mattias EngdegÃ¥rd + + gdb-mi: Don't use bindat for field access + + Replace uses of bindat-get-field with a simpler accessor, + since nothing here uses the bindat machinery in any way. + + * lisp/progmodes/gdb-mi.el (gdb-mi--field): New. + (gdb-get-many-fields): Remove. + (gdb-var-create-handler, gdb-var-list-children-handler) + (gdb-var-update-handler, gdb-current-buffer-frame) + (gdb-update-gud-running, gdb-thread-exited, gdb-thread-selected) + (gdb-running, gdb-stopped, gdb-breakpoints-list-handler-custom) + (gdb-place-breakpoints, gdb-thread-list-handler-custom) + (def-gdb-thread-buffer-simple-command, gdb-select-thread) + (def-gdb-thread-buffer-gud-command, gdb-read-memory-custom) + (gdb-invalidate-disassembly, gdb-disassembly-handler-custom) + (gdb-disassembly-place-breakpoints, gdb-toggle-breakpoint) + (gdb-delete-breakpoint, gdb-goto-breakpoint, gdb-frame-location) + (gdb-stack-list-frames-custom, gdb-select-frame) + (gdb-edit-locals-value, gdb-locals-handler-custom) + (gdb-registers-handler-custom, gdb-changed-registers-handler) + (gdb-register-names-handler, gdb-frame-handler): + Use gdb-mi--field. + +2020-10-27 Glenn Morris + + Temporarily mark two failing tests + + * test/lisp/xt-mouse-tests.el (xt-mouse-tracking-basic) + (xt-mouse-tracking-utf-8): Currently failing. + +2020-10-27 Glenn Morris + + Merge from origin/emacs-27 + + e0de9f3295 (origin/emacs-27) Don't skip empty lines when fitting mini... + a4ec03fa9b ; * etc/tutorials/TUTORIAL.de: Fix grammar (Bug#44246) + 20c02e628c Improve documentation of display-fill-column-indicator + e2005f1f2a * INSTALL: Mention efaq.texi for installation of intlfonts. + 71661b2872 Use WebKit sandboxing + + # Conflicts: + # etc/NEWS + +2020-10-27 Glenn Morris + + Merge from origin/emacs-27 + + c847d5998f Merge branch 'emacs-27' of git.sv.gnu.org:/srv/git/emacs i... + +2020-10-27 Glenn Morris + + Merge from origin/emacs-27 + + 8b87ea6844 Recommend lexical-binding in Coding Conventions + e29cace60a Avoid rare crashes while producing line numbers + +2020-10-27 Simen Heggestøyl + + Complete property values in multi-line CSS declarations + + * lisp/textmodes/css-mode.el (css--complete-property-value): Complete + property values even when preceded by a newline (bug#44214). + +2020-10-27 Lars Ingebrigtsen + + Fix history problem in `M-x shell' when started twice + + * lisp/comint.el (comint-input-ring-file-name): Avoid having this + variable being killed on mode restart while the other ring + variables aren't (bug#39667). This would mean that `M-x + shell'/`C-d'/`M-x shell' didn't save commands entered after the + second `M-x shell'. + +2020-10-27 Mattias EngdegÃ¥rd + + ERT: escape control characters in pretty-printed error output + + * lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline): + Escape control characters which would otherwise be blasted directly to + the terminal (when running noninteractively) with unpleasant results. + +2020-10-27 Mattias EngdegÃ¥rd + + Fix sunrise and sunset calculation (bug#44237) + + * lisp/calendar/solar.el (solar-moment): Use initial values for binary + search that won't end the loop prematurely and yield incorrect + answers. + * test/lisp/calendar/solar-tests.el: New file. + +2020-10-27 Mattias EngdegÃ¥rd + + Don't rely on bignums in ntlm.el + + Since ntlm.el is distributed as a separate package in GNU ELPA and + should be able to run on older Emacs versions without bignums, + we cannot make use of them here. See discussion at + https://lists.gnu.org/archive/html/emacs-devel/2020-10/msg01665.html. + Instead, we add a small poor man's bignum implementation. + + * lisp/net/ntlm.el (ntlm--bignat-of-int, ntlm--bignat-add) + (ntlm--bignat-shift-left, ntlm--bignat-mul-byte, ntlm--bignat-mul) + (ntlm--bignat-of-string, ntlm--bignat-of-digits) + (ntlm--bignat-to-int64): New. + (ntlm--time-to-timestamp): Use the ntlm--bignat- functions instead + of Lisp integers. + * test/lisp/net/ntlm-tests.el: New file. + +2020-10-27 Lars Ingebrigtsen + + Make edit-abbrevs parsing less brittle + + * lisp/abbrev.el (define-abbrevs): Make the parsing less brittle + -- allow more blank lines (bug#42611). + +2020-10-27 Stefan Kangas + + * lisp/net/sieve-mode.el: Use lexical-binding. + +2020-10-27 Lars Ingebrigtsen + + Add a link to inherited faces in Customize + + * lisp/cus-edit.el (cus--face-link): New function (bug#44154). + (face): Use the function to format the link. + +2020-10-27 Lars Ingebrigtsen + + Don't do compilation-transform-file-match-alist if there's no file name + + * lisp/progmodes/compile.el (compilation-error-properties): There + may not be a file name (bug#40111). In that case, don't do the + `compilation-transform-file-match-alist' thing. + +2020-10-27 Clemens Radermacher + + Don't skip empty lines when fitting mini frame to buffer (Bug#44080) + + * lisp/window.el (fit-mini-frame-to-buffer, + window--resize-mini-frame, fit-frame-to-buffer, + fit-frame-to-buffer-1): By default, fit a mini frame without skipping its + buffer's leading or trailing empty lines. + * src/frame.c (resize-mini-frames): Update doc-string. + * lisp/cus-start.el (resize-mini-frames): Update for customize. + * doc/lispref/minibuf.texi (resize-mini-frames): Update description. + +2020-10-27 Paul Pogonyshev + + Don't leak result of nested byte-compilation to outer level + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Bind + `byte-compiler-error-flag' instead of setting it (bug#41065). + This fixes a problem of "leaking" the flag when compiling + something that then compiles something that errors out (i.e., an + "inner" compile). + +2020-10-27 mvar (tiny change) + + Fontify strings in {} better in tcl-mode + + * lisp/progmodes/tcl.el (tcl-syntax-propertize-function): + Propertize {} forms after commands as strings (bug#39277). + (tcl-set-font-lock-keywords): Fontify as strings. This allows + things like puts {"foo} to be fontified correctly. + +2020-10-27 Lars Ingebrigtsen + + `g' in *Help* doesn't require confirmation + + * lisp/help-mode.el (help-mode-revert-buffer): Don't require + confirmation before reverting (bug#44202). This mimics how most + other non-file reverting functions work. + +2020-10-27 Nicolas Graner + + Define backtab in text fields in eww + + * lisp/net/eww.el (eww-text-map): + (eww-textarea-map): Define backtab, as in the main mode map + (bug#44247). + +2020-10-27 Stefan Kangas + + * lisp/mail/mail-prsvr.el: Use lexical-binding. + + * lisp/mail/mail-parse.el: Use lexical-binding. + +2020-10-27 Stefan Kangas + + Allow pcomplete/gzip to complete on files in subdirectories + + * lisp/pcmpl-gnu.el (pcmpl-gnu-zipped-files): Allow "gzip" to complete + on files in subdirectories. (Bug#30271) + +2020-10-27 Boruch Baum + + Add some missing docstrings in cua-rect.el + + * lisp/emulation/cua-rect.el (cua--rectangle) + (cua--last-rectangle, cua--restored-rectangle) + (cua--rectangle-overlays, cua--rectangle-operation) + (cua--tabify-start, cua--tabify-start, cua--insert-rectangle): + Add docstrings, in several cases by converting existing + comments. (Bug#30085) + (cua--last-killed-rectangle): Update comment. + +2020-10-27 Stefan Kangas + + Use lexical-binding in tool-bar.el + + * lisp/tool-bar.el: Use lexical-binding. + (tool-bar-add-item, tool-bar-add-item-from-menu): Quote function + symbols as such. + +2020-10-27 Stefan Kangas + + Don't use obsolete variable write-contents-hooks + + * lisp/mh-e/mh-show.el (mh-display-msg): + * lisp/textmodes/rst.el: Don't use obsolete variable + write-contents-hooks. + Problem reported by Stefan Monnier . + +2020-10-27 Stefan Kangas + + Remove XEmacs compat code from hashcash.el + + * lisp/mail/hashcash.el (hashcash-point-at-bol) + (hashcash-point-at-eol): Make obsolete. + (hashcash-token-substring): Don't use the above now obsolete aliases. + +2020-10-26 Stephen Berman + + Fix an unbound variable in html skeletons + + * lisp/skeleton.el (skeleton-internal-list): Fix an unbound + variable in html skeletons (bug#44157). + +2020-10-26 Dmitry Gutov + + vc-git-root: Remove unnecessary caching + + * lisp/vc/vc-git.el (vc-git-root): Simplify (bug#42966). + +2020-10-26 Lars Ingebrigtsen + + Make vc-responsible-backend choose the most specific backend + + * lisp/vc/vc.el (vc-responsible-backend): Search through all the + VC backends instead of the first one, and choose the one that's + most specific (bug#42966). + +2020-10-26 Lars Ingebrigtsen + + Fix time-test error on machines with mail + + * test/lisp/time-tests.el (time-tests-display-time-update): There + may be mail on the machine (bug#44241). + +2020-10-26 Lars Ingebrigtsen + + Make the -modes variable autoloaded + + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Make the -modes variable be autoloaded. + +2020-10-26 Lars Ingebrigtsen + + Tweak where global-display-fill-column-indicator-modes is on + + * lisp/display-fill-column-indicator.el + (global-display-fill-column-indicator-mode): Don't switch on in + special-mode buffers (bug#44232). + +2020-10-26 Lars Ingebrigtsen + + Implement a :predicate parameter for globalized minor modes + + * doc/lispref/modes.texi (Defining Minor Modes): Describe the new + :predicate keyword (bug#44232). + + * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): + Allow a new :predicate keyword. + (easy-mmode--globalized-predicate-p): New function. + +2020-10-26 Lars Ingebrigtsen + + Make delete-selection-helper more resilient + + * lisp/delsel.el (delete-selection-helper): Don't bug out on `C-g' + (bug#40357). + +2020-10-26 Lars Ingebrigtsen + + Tweak how shortdocs are displayed + + * lisp/emacs-lisp/shortdoc.el (shortdoc-example): Removed. + (shortdoc-section): Remove colors. + (shortdoc-separator): New face. + (shortdoc-display-group, shortdoc--display-function): Don't use + background colours, because that makes things harder to read. + Separate with a horizontal line instead. + +2020-10-26 Andrea Corallo + + Make native compiler tollerant to redefined primitives (bug#44221). + + * lisp/emacs-lisp/comp.el (comp-emit-set-call-subr): Rework based + on the fact that the subr can now be redefined. + * test/src/comp-tests.el (primitive-redefine-compile-44221): + New testcase. + +2020-10-26 Eli Zaretskii + + Avoid segfaults due to using fonts that were closed + + * src/composite.c (composition_gstring_cache_clear_font): New + function. + * src/composite.h (composition_gstring_cache_clear_font): Add + prototype. + * src/font.c (font_clear_cache): When we are about to close a + font, remove from the gstring cache any lgstring that uses this + font. (Bug#42943) + +2020-10-26 Mattias EngdegÃ¥rd + + Revert "Don't consider play-sound-file to be a 'safe' function (bug#44018)" + + This reverts commit cdb3c9d662c772ce25ea4d803eccd2c9e6a6ae99. + +2020-10-26 Eli Zaretskii + + Improve documentation of display-fill-column-indicator + + * lisp/display-fill-column-indicator.el + (display-fill-column-indicator-mode): Mention the globalized + version in the doc string. + + * doc/emacs/display.texi (Displaying Boundaries): Improve and + clarify the documentation of display-fill-column-indicator. + Suggest using the minor mode as the primary means for turning the + feature on. + + * src/xdisp.c (syms_of_xdisp) + : Doc fix. (Bug#44226) + +2020-10-26 Mattias EngdegÃ¥rd + + Don't consider play-sound-file to be a 'safe' function (bug#44018) + + While there are currently no known security holes in play-sound-file, + the attack surface is considerable and historically audio file + processing has had more than its share of security problems; the + benefit to risk ratio is low. + + * lisp/emacs-lisp/unsafep.el: Don't mark play-sound-file as safe. + +2020-10-25 Andrea Corallo + + Fix defsubst effectiveness (bug#44209) + + * lisp/emacs-lisp/byte-run.el (defsubst): Fix macro definition. + * test/src/comp-tests.el (comp-test-defsubst): New testcase. + * test/src/comp-test-funcs.el (comp-test-defsubst-f): New + function. + +2020-10-25 Andrea Corallo + + * Fix a function for native compilation in cc-bytecomp.el + + * lisp/progmodes/cc-bytecomp.el + (cc-bytecomp-compiling-or-loading): Update for native compilation. + +2020-10-25 Stefan Kangas + + Add section "Replacing Match" to the regexp shortdoc group + + * lisp/emacs-lisp/shortdoc.el (regexp): New section "Replacing Match". + +2020-10-25 Stefan Kangas + + Remove some Emacs 19 compat code and references + + * lisp/progmodes/sql.el: + * lisp/mh-e/mh-show.el (mh-display-msg): Remove Emacs 19 compat code. + * lisp/emacs-lisp/edebug.el (edebug-mark-marker): Make into + obsolete alias for mark-marker. + (edebug--display-1, edebug-bounce-point) + (edebug-outside-excursion): Adjust callers. + * lisp/net/snmp-mode.el: + * lisp/forms.el: Remove references to Emacs 19. + (forms-use-text-properties): Doc fix. + +2020-10-25 Eli Zaretskii + + Improve support for shaping Egyptian Hieroglyphs + + * src/composite.c (composition_gstring_lookup_cache): Renamed from + gstring_lookup_cache and made external. All callers changed. + * src/composite.h (composition_gstring_lookup_cache): Add + prototype. + * src/font.c (Ffont_shape_gstring): Call + composition_gstring_lookup_cache and return the cached composition + if it is already in the cache. + + * lisp/language/misc-lang.el (egyptian-shape-grouping): New + function. + (composition-function-table): Use egyptian-shape-grouping in + setting up compositions for Egyptian Hieroglyphs. Fix the + composition setup for horizontal and vertical joiners. + +2020-10-25 Andrea Corallo + + * Fix ELC+ELN vs ELC prefix while building non AoT native compiled files + + * lisp/Makefile.in (am__v_ELC_0): Set it correctly when + NATIVE_DISABLED is 1. + +2020-10-25 Mattias EngdegÃ¥rd + + Better file name in dynvars-check example + + * doc/lispref/variables.texi (Converting to Lexical Binding): + Don't suggest an aggregate file name that matches the glob used when + generating it. + +2020-10-25 Andrea Corallo + + * Report warnings and errors from native asynchronous compilation (bug#44168) + + * lisp/emacs-lisp/comp.el (comp-last-scanned-async-output): New + buffer local variable. + (comp-accept-and-process-async-output): New function. + (comp-run-async-workers): Use + `comp-accept-and-process-async-output'. + +2020-10-25 Lars Ingebrigtsen + + Fix syntax error in message-add-openpgp-header + + * lisp/gnus/message.el (message-add-openpgp-header): Remove + redundant (and syntactically wrong) check. + +2020-10-25 Lars Ingebrigtsen + + Fix problem when replacing the final char in checkdoc + + * lisp/emacs-lisp/checkdoc.el (checkdoc-autofix-ask-replace): + Ensure that the end-of-doc-string marker is really at the end, + even if we replace the final " char in the string (bug#44201). + +2020-10-25 Michael Albinus + + * INSTALL: Mention efaq.texi for installation of intlfonts. + +2020-10-25 Andrea Corallo + + * Fix `comp-dry-run' effectiveness + + * lisp/emacs-lisp/comp.el (comp-compile-ctxt-to-file): Remove + `comp-dry-run' guard. + (comp-final): And move it here so is effective for interactive + sessions and non. + +2020-10-25 Philipp Stephani + + Revert commit 1f44a776729adf9c6468a76f8310616fde62eeaa for XRef. + + XRef supports Emacs versions back to Emacs 26.3, so it can’t use newer + functions such as ‘ert-resource-directory’. + + * test/lisp/progmodes/xref-tests.el (xref-tests-data-dir): Don’t use + ‘ert-resource-directory’ + +2020-10-25 Philipp Stephani + + Revert commit 1f44a776729adf9c6468a76f8310616fde62eeaa for Flymake. + + Flymake supports all Emacs versions back to 26.1, so it can’t use + ‘ert-resource-file’. + + * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory): + Recreate. + (flymake-tests--call-with-fixture): Stop using ‘ert-resource-file’. + +2020-10-25 Paul Eggert (tiny change) + Qiantan Hong + + Use WebKit sandboxing + + * src/xwidget.c (Fmake_xwidget): Enable sandboxing if WebKit 2.26 + or later. Do this early, as required for sandboxing (Bug#43071). + +2020-10-25 Stefan Kangas + + Add shortdoc group for alist + + * lisp/emacs-lisp/shortdoc.el (alist): New shortdoc group. + +2020-10-25 Stefan Kangas + + Add shortdoc group for hash-table + + * lisp/emacs-lisp/shortdoc.el (hash-table): New shortdoc group. + +2020-10-24 Paul Eggert + + Minor doprnt cleanup: remove memchr call + + * src/doprnt.c (doprnt): Remove unnecessary call to memchr. + +2020-10-24 Paul Eggert + + Rename doprnt_nul to doprnt_non_null_end + + * src/doprnt.c (doprnt_non_null_end): Rename from doprnt_nul, + as the old name was misleading (left over from a previous proposal). + Caller changed. + +2020-10-24 Paul Eggert + + Improve doprnt performance + + This patch implements some of my suggestions in Bug#8545, + with further changes suggested by Eli Zaretskii (Bug#43439). + * src/doprnt.c: Improve comments. + (SIZE_BOUND_EXTRA): Now at top level, for parse_format_integer. + (parse_format_integer): New static function, containing some of + the old doprnt. Fix a bug that caused doprnt to infloop on + formats like "%10s" that Emacs does not use. We could simplify + doprnt further if we dropped support for these never-used formats. + (doprnt_nul): New function. + (doprnt): Use it. Change doprnt API to exit when either it finds NUL + or reaches the character specified by FORMAT_END. In the typical case + where FORMAT_END is null, take just one pass over FORMAT, not two. + Assume C99 to make code clearer. Do not use malloc or alloca to + allocate a copy of the format FMTCPY; instead, use a small fixed-size + array FMTSTAR, and use '*' in that array to represent width and + precision, passing them as separate int arguments. Use eassume to + pacify GCC in switch statements. + +2020-10-24 Mauro Aranda + + Warn about a bad default value in restricted-sexp widget + + * lisp/wid-edit.el (restricted-sexp widget): New :value-to-external + function. If value is not in the internal format, then we might be + dealing with a bad default value for the widget, so display a warning + about that (bug#25152). + +2020-10-24 João Távora + + Rework semantics of eldoc-echo-are-use-multiline-p + + Per bug#43543. Now uses logical lines, not visual lines. + + * lisp/emacs-lisp/eldoc.el (eldoc-echo-area-use-multiline-p): Rework + semantics. + (eldoc--echo-area-substring): New helper. + (eldoc--echo-area-prefer-doc-buffer-p): New helper. + (eldoc-display-in-echo-area): Rework using new helpers. + +2020-10-24 João Távora + + Rename ElDoc user option controlling display of truncation notice + + The new name makes it consistent with other variables controlling the + display of ElDoc documentation in the echo area. + + Per bug#43543. + + * etc/NEWS (Eldoc): Rename eldoc-display-truncation-message to + eldoc-echo-area-display-truncation-message. + + * lisp/emacs-lisp/eldoc.el + (eldoc-echo-area-display-truncation-message): Rename from + eldoc-display-truncation-message. + (eldoc-display-in-echo-area): Use new variable name. + +2020-10-24 João Távora + + Rework eldoc-echo-area-prefer-doc-buffer (bug#42532) + + * lisp/emacs-lisp/eldoc.el: + (eldoc-echo-area-prefer-doc-buffer): Rename from + eldoc-echo-area-prefer-doc-buffer + (eldoc-display-in-echo-area): Rework to honour + eldoc-echo-area-prefer-doc-buffer. + +2020-10-24 João Távora + + Introduce eldoc-display-functions + + See bug#43609. + + * lisp/emacs-lisp/eldoc.el (eldoc--request-state): Add comment. + (eldoc--last-request-state): No longer buffer-local. + (eldoc--request-docs-p): Delete. + (eldoc-display-functions): New user variable. + (eldoc--doc-buffer-docs): New variable. + (eldoc-display-message-p): Rework. + (eldoc--format-doc-buffer): Rework from eldoc--handle-docs. + (eldoc-display-in-echo-area, eldoc-display-in-buffer): New + user-visible function. + (eldoc--invoke-strategy): Take INTERACTIVE arg. + Invoke eldoc-display-in-buffer + (eldoc-print-current-symbol-info): Simplify. + (Version): Bump to 1.11.0 + + * etc/NEWS: Mention eldoc-display-functions. + +2020-10-24 Stefan Kangas + + Re-introduce variable for world clock timer + + * lisp/time.el (world-clock--timer): New variable. + (world-clock): Save timer to above variable when it is started. + (world-clock-cancel-timer): Delete timer saved in variable instead of + searching for the function name. + +2020-10-24 Stefan Kangas + + Use lexical-binding in several language support libraries + + * lisp/language/burmese.el: + * lisp/language/cham.el: + * lisp/language/czech.el: + * lisp/language/georgian.el: + * lisp/language/greek.el: + * lisp/language/khmer.el: + * lisp/language/romanian.el: + * lisp/language/sinhala.el: + * lisp/language/slovak.el: + * lisp/language/tai-viet.el: + * lisp/language/vietnamese.el: Use lexical-binding. + +2020-10-24 Michael Albinus + + Accept nil COMMAND in tramp-sh-handle-make-process (Bug#44151) + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil + COMMAND. (Bug#44151) + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + Extend test. + +2020-10-24 Stefan Kangas + + Revert "Use lexical-binding in bindat.el" + + This reverts commit a497b8e4a41e3223089654da4b36d0fdd51ce555. + + This conversion to lexical-binding broke the eval specification, + documented in the ELisp manual. We will probably want to add tests + for that before we can confidently convert this to lexical-binding. + Problem reported by Mattias EngdegÃ¥rd . + +2020-10-24 Stefan Kangas + + Use lexical-binding in most term libraries + + * lisp/term/AT386.el: + * lisp/term/internal.el: + * lisp/term/iris-ansi.el: + * lisp/term/lk201.el: + * lisp/term/news.el: + * lisp/term/rxvt.el: + * lisp/term/sun.el: + * lisp/term/tvi970.el: + * lisp/term/wyse50.el: Use lexical-binding. + +2020-10-24 Stefan Kangas + + Use lexical-binding in copyright.el and add tests + + * lisp/emacs-lisp/copyright.el: Use lexical-binding. Remove + redundant :group args. + * test/lisp/emacs-lisp/copyright-tests.el: New file. + +2020-10-24 Stefan Kangas + + * test/manual/image-transforms-tests.el: Use lexical-binding. + +2020-10-24 Stefan Kangas + + Move faces.el test data to follow our conventions + + * test/lisp/faces-tests.el (ert-x): Require. + (faces--test-data-dir): Remove variable. + (faces--test-extend-with-themes): Use ert-resource-directory. + * test/lisp/faces-resources/*: Moved from test/data/themes/*. + +2020-10-24 Michael Albinus + + Fix tramp-sh-handle-make-process; don't merge with master + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Accept nil + COMMAND. (Bug#44151) + + * test/lisp/net/tramp-tests.el (tramp-test29-start-file-process): + Extend test. + +2020-10-24 Jared Finder + + Fix a bug where the wrong menu would be triggered by mouse + + For layouts such as the following, clicking the "l" in Tools with the + right window focused would trigger the File menu, not the Tools menu. + This is because the event would have window coordinate (1 . 0). + Similarly, clicking the "p" in Help would trigger the Edit menu. + + Example Emacs frame: + +--------------------------------------------------------+ + |File Edit Options Buffers Tools Help | + |;; This buffer is for text$|;; This buffer is for text $| + |;; To create a file, visit$|;; To create a file, visit $| + | | | + | | | + |-UUU:----F1 *scratch* |-UUU:----F1 *scratch* | + | | + +--------------------------------------------------------+ + * lisp/menu-bar.el (menu-bar-open-mouse): Reject clicks not on + the menu bar. + *lisp/xt-mouse.el (xterm-mouse-event): Pass the current frame to + 'posn-at-x-y', to make the effect consistent with other mouse-handling + features. + +2020-10-24 Jared Finder + + Enable TTY menus with xterm-mouse-mode + + * lisp/tmm.el: No need to bind 'tmm-menubar-mouse' to mouse clicks + on the menu bar. + * lisp/menu-bar.el (global-map): Bind 'menu-bar-open-mouse' to + mouse click on menu bar. This is needed in xt-mouse. + + * etc/NEWS: Announce TTY menu support in xterm-mouse-mode. + +2020-10-24 Jared Finder + + Make TTY menus work with xterm-mouse-mode + + * src/term.c (mouse_get_xy): Call 'mouse_position' passing it the + value of 'tty-menu-calls-mouse-position-function' as the + argument. + (syms_of_term) : New + DEFVAR_BOOL. + * src/frame.c (mouse_position): New function, with most of the + code from Fmouse_position, but call 'mouse-position-function' only + if called with non-zero argument. + (Fmouse_position): Call 'mouse_position' to do the job. + + * lisp/xt-mouse.el (xterm-mouse-translate-1): Respect + 'track-mouse'. + (xterm-mouse-mode): Set 'tty-menu-calls-mouse-position-function' + when setting 'mouse-position-function'. + (xterm-mouse-tracking-enable-sequence): Use SET_ANY_EVENT_MOUSE + (0x1003) so that mouse movement can be reported even if no buttons + are pressed. Doc fix. + * lisp/menu-bar.el (menu-bar-define-mouse-key): New function. + (tty-menu-navigation-map): Call it. + + * doc/lispref/frames.texi (Mouse Position): Document + 'tty-menu-calls-mouse-position-function'. + + * etc/NEWS: Announce 'tty-menu-calls-mouse-position-function'. + +2020-10-24 Jared Finder + + Adding mouse controls to menu-bar.el. + + * lisp/isearch.el (tmm-menubar-keymap): Remove declare-function. + * lisp/menu-bar.el (menu-bar-open-mouse, menu-bar-keymap) + (menu-bar-current-active-maps, menu-bar-item-at-x): New functions. + *lisp.tmm.el (tmm-menubar-keymap, tmm-get-keybind): Functions + deleted. + (tmm-menubar): Call 'menu-bar-item-at-x'. + +2020-10-24 Eli Zaretskii + + Fix last change in image.c for MS-Windows + + * src/image.c [LIBRSVG_CHECK_VERSION (2, 46, 0)]: Define + prototype for rsvg_handle_get_geometry_for_layer. + (init_svg_functions) [LIBRSVG_CHECK_VERSION (2, 46, 0)]: Load + rsvg_handle_get_geometry_for_layer from the DLL, instead of + rsvg_handle_get_dimensions. + (rsvg_handle_get_geometry_for_layer) [LIBRSVG_CHECK_VERSION (2, 46, 0)]: + Define macro. (Bug#44065) + +2020-10-24 Stefan Kangas + + Fix a broken unsafep test + + * test/lisp/emacs-lisp/unsafep-tests.el + (test-unsafep/message): Fix test case. + + (unsafep-tests--safe): Rename from testcover-unsafep-safe. + (unsafep-tests--unsafe): Rename from testcover-unsafep-unsafe. + (test-unsafep/safe, test-unsafep/unsafe): Doc fix. Adjust usage + of above renamed variables. + +2020-10-24 Stefan Kangas + + Move epg.el test data to follow our conventions + + * test/lisp/epg-tests.el (ert-x): Require. + (epg-tests-data-directory): Remove variable. + (with-epg-tests): Use ert-resource-file. + * test/lisp/epg-resources/*: Moved from test/data/epg/. + +2020-10-24 Stefan Kangas + + Move shr.el test data to follow our conventions + + * test/lisp/net/shr-tests.el (ert, ert-x): Require. + (shr-tests--datadir): Remove variable. + (shr-test, rendering): Use ert-resource-directory. + * test/lisp/net/shr-resources/*: Move from test/data/shr/. + +2020-10-24 Stefan Kangas + + Move mml-sec.el test data to follow our conventions + + * test/lisp/gnus/mml-sec-tests.el (ert-x): Require. + (mml-secure-test-fixture, mml-sec-test--kill-gpg-agent): + Use ert-resource-directory. + * test/lisp/gnus/mml-sec-resources/*: Moved from test/data/mml-sec/. + * .gitignore: Update location of moved file "random_seed". + +2020-10-23 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-23 Stefan Kangas + + Move more test data to follow our conventions + + * test/data/minibuffer-test-cttq$tion: Move from here... + * test/lisp/minibuffer-resources/data/minibuffer-test-cttq$tion: + ...to here. + * test/lisp/minibuffer-resources/lisp/cedet/semantic-utest-c.test: + * test/lisp/minibuffer-resources/lisp/cedet/semantic-utest.test: + New files. + * test/lisp/minibuffer-tests.el (ert, ert-x): Require. + (completion-table-test-quoting): Use ert-resource-directory. + + * test/data/net/cert.pem: + * test/data/net/key.pem: Move frome here... + * test/lisp/net/network-stream-resources/cert.pem: + * test/lisp/net/network-stream-resources/key.pem: ...to here. + * test/lisp/net/network-stream-tests.el (ert, ert-x): Require. + (network-stream-tests--datadir): Remove variable. + (make-tls-server): Use ert-resource-file. + + * test/data/vc/diff-mode/hello_emacs.c: + * test/data/vc/diff-mode/hello_emacs_1.c: + * test/data/vc/diff-mode/hello_world.c: + * test/data/vc/diff-mode/hello_world_1.c: Move from here... + * test/lisp/vc/diff-mode-resources/hello_emacs.c: + * test/lisp/vc/diff-mode-resources/hello_emacs_1.c: + * test/lisp/vc/diff-mode-resources/hello_world.c: + * test/lisp/vc/diff-mode-resources/hello_world_1.c: ...to here. + * test/lisp/vc/diff-mode-tests.el (ert, ert-x): Require. + (diff-mode-tests--datadir): Remove variable. + (diff-mode-test-font-lock-syntax-one-line) + (diff-mode-test-font-lock): Use ert-resource-directory. + + * test/data/xdg/l10n.desktop: + * test/data/xdg/malformed.desktop: + * test/data/xdg/mimeapps.list: + * test/data/xdg/mimeinfo.cache: + * test/data/xdg/test.desktop: Move from here... + * test/lisp/xdg-resources/l10n.desktop: + * test/lisp/xdg-resources/malformed.desktop: + * test/lisp/xdg-resources/mimeapps.list: + * test/lisp/xdg-resources/mimeinfo.cache: + * test/lisp/xdg-resources/test.desktop: ...to here. + * test/lisp/xdg-tests.el (ert-x): Require. + (xdg-tests-data-dir): Remove variable. + (xdg-desktop-parsing, xdg-mime-associations): Use ert-resource-file. + +2020-10-23 Michael Albinus + + Fix error in tramp-sh-handle-make-process + + * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't use heredoc + script whent the argument contains a string. + +2020-10-23 Stefan Kangas + + Move some test data to follow our conventions + + * test/data/emacs-module/mod-test.c: Move from here... + * test/src/emacs-module-resources/mod-test.c: ...to here. + * test/src/emacs-module-tests.el (ert-x): Require. + (mod-test-file, module/describe-function-1): + * test/Makefile.in (test_module_dir): Adjust for move. + + * test/data/files-bug18141.el.gz: Move from here... + * test/lisp/files-resources/files-bug18141.el.gz: ... to here. + * test/lisp/files-tests.el (ert-x): Require. + (files-test-bug-18141-file): Use ert-resource-file. + + * test/data/mailcap/mime.types: Move from here... + * test/lisp/net/mailcap-resources/mime.types: ...to here. + * test/lisp/net/mailcap-tests.el (ert-x): Require. + (mailcap-tests-path): Use ert-resource-file. + + * test/data/somelib.el: + * test/data/somelib2.el: Move from here... + * test/src/lread-resources/somelib.el: + * test/src/lread-resources/somelib2.el: ...to here. + * test/src/lread-tests.el (ert, ert-x): Require. + (lread-test-bug26837): Use ert-resource-directory. + + * test/data/syntax-comments.txt: Move from here.... + * test/src/syntax-resources/syntax-comments.txt: ...to here. + * test/src/syntax-tests.el (ert-x): Require. + (syntax-comments, syntax-br-comments, syntax-pps-comments): + Use ert-resource-file. + + * test/data/xref/file1.txt: + * test/data/xref/file2.txt: Move from here... + * test/lisp/progmodes/xref-resources/file1.txt: + * test/lisp/progmodes/xref-resources/file2.txt: ...to here. + * test/lisp/progmodes/xref-tests.el (ert, ert-x): Require. + (xref-tests-data-dir): Use ert-resource-directory. + +2020-10-23 Eli Zaretskii + + Set up composition-function-table for Egyptian + + * lisp/language/misc-lang.el (composition-function-table): Set up + for Egyptian Hieroglyphs. + +2020-10-23 Eli Zaretskii + + Remove most of charset markup from etc/HELLO + + For the reasons, see the discussion that started in + https://lists.gnu.org/archive/html/emacs-devel/2018-12/msg00407.html + and its conclusion in + https://lists.gnu.org/archive/html/emacs-devel/2019-01/msg00144.html. + The only markup left is in the preamble, just to show the example + of this facility. + +2020-10-23 Olivier Certner (tiny change) + + ERC: Fix ERC's IBuffer format "crash" on killed server buffer + + * lisp/erc/erc-ibuffer.el (erc-server-name): Fix a crash when + displaying (or updating) an IBuffer buffer using ERC's first IBuffer + format. This happens when one ERC buffer has its associated server + buffer killed, e.g., voluntarily or automatically after server + disconnection when `erc-kill-server-buffer-on-quit' is set to t. The + culprit is the "Server" column, which returns nil in this case. + Display "(closed)" instead (bug#44156). + +2020-10-23 Ruthra Kumar + + Add support for squashfs files in archive mode + + * lisp/arc-mode.el (archive-squashfs-extract): New variable + (bug#43827). + (archive-find-type): Identify squashfs. + (archive-squashfs-summarize, archive-squashfs-extract-by-stdout): + New functions to parse/extract squashfs. + + * lisp/files.el (auto-mode-alist): Add squashfs. + +2020-10-23 Ulf Jasper + + Move icalendar test data to test/lisp/calendar/icalendar-resources + + * test/lisp/calendar/icalendar-tests.el (ert-x): Required for + 'ert-resource-file'. + (icalendar-tests--data-dir): Removed. + (icalendar-tests--get-file-contents): Use 'ert-resource-file' for + finding test data files. + * test/data/icalendar/*: Moved to test/lisp/calendar/icalendar-resources/. + * test/lisp/calendar/icalendar-resources/*: Moved from test/data/icalendar. + +2020-10-23 Stefan Kangas + + Clean up temporary files after package tests + + * test/lisp/emacs-lisp/package-tests.el (with-package-test): Remove + temporary files after test. (Bug#43359) + +2020-10-23 Mattias EngdegÃ¥rd + + Use lexical binding in ffap.el + + * lisp/ffap.el (ffap-search-backward-file-end): Remove binding for + variable shadowing an optional (and never used) argument. + (ffap--gopher-var-on-line): Remove unused variable. + +2020-10-23 Stefan Kangas + + * lisp/emacs-lisp/pcase.el: Add "extensions" to keyword header. + + Merge branch 'scratch/substitute-command-keys' + +2020-10-22 Juri Linkov + + * etc/HELLO: Use JavaScript for Javanese script (bug#43887) + +2020-10-22 Alan Third + + Fix SVG image dimension calculations (bug#44065) + + * src/image.c (svg_load_image): Calculate the image size by using the + viewBox size and applying it to the image. + * etc/PROBLEMS: Describe the problem with librsvg 2.45 and below. + +2020-10-22 Alan Third + + Fix crash when no face is defined (bug#44058, bug#43973) + + * src/nsterm.m (ns_clear_under_internal_border): If face is null, + don't try drawing anything. + +2020-10-22 Stefan Kangas + + Remove incorrect use of decode-coding-string + + * test/lisp/emacs-lisp/bindat-tests.el + (bindat-test-pack/multibyte-string-fails) + (bindat-test-unpack/multibyte-string-fails): Don't use + decode-coding-string. + Problem pointed out by Stefan Monnier . + +2020-10-22 Stefan Kangas + + Recommend lexical-binding in Coding Conventions + + * doc/lispref/tips.texi (Coding Conventions, Library Headers): + Recommend using lexical-binding. + +2020-10-22 Andreas Schwab + + eww: don't add keymap to without href + + * lisp/net/eww.el (eww-tag-a): Only add keymap if the href + attribute is present. (Bug#44147) + +2020-10-22 Stefan Kangas + + Add missed file needed by time-tests.el + + * test/lisp/time-resources/non-empty: New file. This file is needed + by time-tests.el but was missed when it was committed. + +2020-10-22 Mattias EngdegÃ¥rd + + Remove useless uses of bindat-get-field + + * lisp/progmodes/gdb-mi.el (gdb-var-list-children-handler) + (gdb-edit-register-value): bindat-get-field with a single argument is + identity; remove. + +2020-10-22 Stefan Kangas + + Add tests for perl-mode.el + + * test/lisp/progmodes/perl-mode-tests.el: New file. + +2020-10-22 Ulf Jasper + + Move test data for icalendar tests to separate files. + + * test/lisp/calendar/icalendar-tests.el + (icalendar-tests--data-dir, icalendar-tests--get-file-contents): + New. + (icalendar-tests--test-import, icalendar-tests--do-test-import): + Read input and expected results from files. + (icalendar-import-non-recurring, icalendar-import-rrule) + (icalendar-import-duration, icalendar-import-bug-6766) + (icalendar-import-bug-24199, icalendar-import-bug-33277) + (icalendar-import-multiple-vcalendars, icalendar-import-with-uid) + (icalendar-import-with-timezone, icalendar-real-world): Move test + data (input and expected result) to separate files. + + * test/calendar/icalendar/* + New files containing test data for icalendar tests. + +2020-10-22 Stefan Kangas + + Use lexical-binding in time-date.el and expand tests + + * lisp/calendar/time-date.el: Use lexical-binding. + * test/lisp/calendar/time-date-tests.el + (test-obsolete-with-decoded-time-value) + (test-obsolete-encode-time-value, test-format-seconds) + (test-days-to-time, test-seconds-to-string): New tests. + (test-days-in-month, test-time-since, test-time-decoded-period): + Expand test with a few more values. + +2020-10-22 Mauro Aranda + + Make State button interaction less confusing + + * lisp/cus-edit.el (custom-variable-current-value): New function. + (custom-variable-backup-value): Use it. + (custom-variable-set, custom-variable-mark-to-reset-standard): Check + that old value is different than the new one. If it is, make a + backup. This way, we avoid offering the Set to Backup Value + unnecesarily. + (custom-variable-reset-saved): Reset the variable-comment property for + the variable, to help custom-variable-state be more correct. Also + check if we should backup old value. + (custom-variable-state): If a variable was set to the standard value, + say its state is standard rather than set, which is more correct. + Getting the right variable state is important for menu options to be + enabled/disabled, and for displaying the right message to the user + (bug#12864). + +2020-10-22 Lars Ingebrigtsen + + Use HTTP instead of Tramp for the ffap rfc path (and also fix it) + + * lisp/ffap.el (ffap-rfc-path): Use an URL instead of an FTP tramp + file, since that's more widely supported (bug#41663). + +2020-10-22 Lars Ingebrigtsen + + Comment JSX lines using JSX syntax + + * lisp/progmodes/js.el (js-jsx--comment-region): New function + (bug#41696). + (js-jsx-mode): Use it. + +2020-10-22 Stefan Kangas + + Test for error with multibyte strings in bindat.el + + * test/lisp/emacs-lisp/bindat-tests.el + (bindat-test-pack/multibyte-string-fails) + (bindat-test-unpack/multibyte-string-fails): New tests. + +2020-10-22 Mauro Aranda + + Pretty print restricted sexp values too + + * lisp/wid-edit.el (restricted-sexp widget): Use + widget-sexp-value-to-internal to pretty print the widget's value, when + it is a valid one (bug#7524). + +2020-10-22 Stefan Kangas + + Remove reference HP-UX 8.0 and 9.x bug from FAQ + + * doc/misc/efaq.texi (Meta key does not work in xterm): Remove section + about a bug on HP-UX 8.0 and 9.x. Support for these platforms were + removed in 23.1. + +2020-10-22 Stefan Kangas + + Remove two references to Emacs 21 from the FAQ + + * doc/misc/efaq.texi (Turning on syntax highlighting): Remove some + references to Emacs 21 and older. + +2020-10-22 Mauro Aranda + + Allow moving members of editable-list widget, via delete+insert + + * etc/NEWS (Widget): Announce the feature (bug#6419). + * lisp/wid-edit.el (widget-editable-list-delete-at): Save into a new + widget property, :last-deleted, the WIDGET to be deleted. Add + docstring. + (widget-editable-list-insert-before): If there is a recently deleted + child for the editable list, insert that one, instead of a new default + widget. Add docstring. + (insert-button widget): Make :help-echo a function to avoid the + help-echo string become too long. + (delete-button widget): Tweak the :help-echo string, to document this + behavior. + + * test/lisp/wid-edit-tests.el (widget-test-moving-editable-list-item): + Test the feature. + +2020-10-22 Pip Cet + + Handle Cairo errors in ftcrfont_open + + * src/ftcrfont.c (ftcrfont_open): Handle Cairo errors (bug#41627). + +2020-10-22 Mattias EngdegÃ¥rd + + Use lexical binding in fortran.el + + * lisp/progmodes/fortran.el: Use lexical binding. + (fortran-make-syntax-propertize-function): Hoist use of lexical + variable to outside the 'eval' call. + +2020-10-22 Mattias EngdegÃ¥rd + + * lisp/progmodes/cpp.el: Use lexical binding. + +2020-10-22 Werner Lemberg + + Update TUTORIAL.de + + This also includes the minor fix for bug #44123. + +2020-10-21 Å těpán Němec + + unload-feature: Correct doc string to match info manual and reality + + 'unload-feature' doesn't try to "undo any additions the library has + made" to hooks, it tries to remove functions defined by the library + from hooks, no matter how they got there. + + * lisp/loadhist.el (unload-feature): Correct the doc string. + * doc/lispref/loading.texi (Unloading): Clarify, fix typo. + +2020-10-21 Å těpán Němec + + unload-feature: Handle local hooks (bug#5293) + + Buffer-local hooks were introduced in + + 1994-09-30T20:47:13+00:00!rms@gnu.org + 0e4d378b32 (add-hook): Initialize default value and local value. + + but 'unload-feature' has not been updated to handle them. + + * lisp/loadhist.el (unload-feature): Handle local hooks (bug#5293). + +2020-10-21 Å těpán Němec + + unload-feature: Improve logic (don't repeat computation) + + * lisp/loadhist.el (unload-feature): Don't do the same computation twice. + +2020-10-21 Mattias EngdegÃ¥rd + + Convert artist.el to lexical binding + + * lisp/textmodes/artist.el (artist-system, (artist-flood-fill): + Remove binding of the obsolete variables binary-process-input, + binary-process-output and input-queue. + (artist-down-mouse-1): Fix mistyped 'echo-keystrokes'; bind it to 0. + (artist-fill-rect, artist-fill-square, artist-pen-set-arrow-points) + (artist-spray-clear-circle, artist-spray-set-radius) + (artist-draw-ellipse-with-0-height, artist-fill-ellipse) + (artist-ff-is-topmost-line, artist-ff-is-bottommost-line) + (artist-set-arrow-points-for-2points, artist-key-undraw-continously) + (artist-key-undraw-poly, artist-key-undraw-1point) + (artist-key-undraw-2points, artist-key-do-continously-1point) + (artist-key-set-point-1point, artist-shift-has-changed) + (artist-mouse-draw-continously, artist-mouse-draw-1point) + (artist-submit-bug-report): Suppress warnings about unused parameters + which are there for function signature commonality. Remove unused + variables. + +2020-10-21 Eli Zaretskii + + Avoid rare crashes while producing line numbers + + * src/xdisp.c (maybe_produce_line_number): Prevent freeing of + realized faces for as long as we are using lnum_face_id and + current_lnum_face_id for producing glyphs. (Bug#44111) + +2020-10-21 Stefan Kangas + + Tweak two time.el tests + + * test/lisp/time-tests.el (time-tests-display-time-update--load) + (time-tests-display-time-update): Tweak tests. + +2020-10-21 Stefan Kangas + + * lisp/time.el: Use lexical-binding. + +2020-10-21 Stefan Kangas + + Add tests for time.el + + * lisp/time.el (display-time-update--load) + (display-time-update--mail): Extract from... + (display-time-update): ...here. + * test/lisp/time-tests.el: New file. + +2020-10-21 Stefan Kangas + + Use lexical-binding in bindat.el + + * lisp/emacs-lisp/bindat.el: Use lexical-binding. + (bindat-raw, bindat-idx, bindat-unpack, bindat-pack): Adjust for + lexical-binding. + (bindat--unpack-group, bindat--length-group): Fix byte-compiler + warning about unused variables last and vlen. + (bindat--unpack-group, bindat--length-group, bindat--pack-group) + (bindat-format-vector): Quote function symbols as such. + +2020-10-21 Stefan Kangas + + Remove some compat code from uudecode.el and binhex.el + + * lisp/mail/uudecode.el (uudecode-char-int): Make obsolete. + (uudecode-decode-region-internal): Adjust callers. + * lisp/mail/binhex.el (binhex-char-int): Make obsolete. + (binhex-string-big-endian, binhex-string-little-endian) + (binhex-header): Adjust callers. + +2020-10-21 Stefan Kangas + + Declare old compat aliases in tcl.el obsolete + + * lisp/progmodes/tcl.el (tcl-uncomment-region) + (tcl-indent-for-comment, add-log-tcl-defun, indent-tcl-exp) + (calculate-tcl-indent, tcl-beginning-of-defun, tcl-end-of-defun) + (tcl-mark-defun, tcl-mark): Make obsolete. + +2020-10-21 Stefan Kangas + + Add some top level domains + + * lisp/mail/mail-extr.el (mail-extr-all-top-level-domains): Add + some geographic domains. + +2020-10-21 Lars Ingebrigtsen + + Revert "Add emoji to etc/HELLO" + + This reverts commit a1fcdeec25be87e8f97ac5c14e6fbf6a4d1eb2d4. + + There was already an emoji in there. + +2020-10-21 Stefan Kangas + + * test/lisp/vc/vc-bzr-tests.el: Use lexical-binding. + +2020-10-21 Stefan Kangas + + Use lexical-binding in files-x-tests.el + + * test/lisp/files-x-tests.el: Use lexical-binding. + (remote-null-device): Declare. + +2020-10-21 Stefan Kangas + + Use lexical-binding in iso-ascii.el + + * lisp/international/iso-ascii.el: Use lexical-binding. Remove + redundant :group args. + +2020-10-21 Stefan Kangas + + Use lexical-binding in hfy-cmap.el and add tests + + * lisp/hfy-cmap.el: Use lexical-binding. + (hfy-cmap--parse-buffer): Extract from... + (htmlfontify-load-rgb-file): ...here. + + * test/lisp/hfy-cmap-resources/rgb.txt: + * test/lisp/hfy-cmap-tests.el: New files. + +2020-10-21 Lars Ingebrigtsen + + Add emoji to etc/HELLO + +2020-10-21 Michael Albinus + + * etc/HELLO: Keep Javanese System.out.println(""); + +2020-10-21 Stefan Monnier + + * lisp/outline.el: Use lexical-binding + + Remove redundant `group` arguments. + (outline-level): Move before first use. + (outline-mode): Use `setq-local`. + (outline-isearch-open-invisible-function): Give it a non-nil default. + +2020-10-20 Andrea Corallo + + Sanitize eln filename when native compiling single functions + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Fix + temporary eln name generation. + + * test/src/comp-tests.el (free-fun-silly-name): New testcase. + +2020-10-20 Andrea Corallo + + * Have `native-compile' do not expose `with-late-load' parameter + + This is really for internal use only by deferred compilation. + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile) + (comp-run-async-workers): Make use of `comp--native-compile'. + (comp--native-compile): New function. + (native-compile, batch-native-compile): Make use of + `comp--native-compile'. + +2020-10-20 Stefan Kangas + + Use lexical-binding in m4-mode.el + + * lisp/progmodes/m4-mode.el: Use lexical-binding. Remove redundant + :group args. + * lisp/progmodes/m4-mode.el (m4-m4-buffer, m4-m4-region): Quote + function symbols as such. + +2020-10-20 Stefan Kangas + + Make more load-hooks obsolete (Bug#21563) + + * lisp/progmodes/dcl-mode.el (dcl-mode): + * lisp/progmodes/idlw-complete-structtag.el: Recommend + with-eval-after-load instead of load-hooks. + * lisp/calc/calc-ext.el (calc-ext-load-hook): + * lisp/emacs-lisp/bytecomp.el (bytecomp-load-hook): + * lisp/emacs-lisp/cl-extra.el (cl-extra-load-hook): + * lisp/emacs-lisp/cl-macs.el (cl-macs-load-hook): + * lisp/emacs-lisp/cl-seq.el (cl-seq-load-hook): + * lisp/gnus/message.el (message-load-hook): + * lisp/gnus/nnheader.el (nnheader-load-hook): + * lisp/gnus/nnmail.el (nnmail-load-hook): + * lisp/progmodes/dcl-mode.el (dcl-mode-load-hook): + * lisp/textmodes/tex-mode.el (tex-mode-load-hook): + * lisp/whitespace.el (whitespace-load-hook): Obsolete for + with-eval-after-load. Note that these variables are never declared, + but the byte-compiler will still warn about them if used. + +2020-10-20 Stefan Kangas + + byte-compile-file: Make optional LOAD argument obsolete + + * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Declare optional + LOAD argument obsolete. Adjust callers. (Bug#38072) + (byte-recompile-file): Declare optional LOAD argument obsolete. + * doc/lispref/compile.texi (Compilation Functions): Update + documentation to reflect above obsoletion. + * etc/NEWS: Announce above obsoletion. + +2020-10-20 Basil L. Contovounesios + + Simplify regexp in last change to woman.el + + * lisp/woman.el (woman-decode-region): Use simpler character + alternative instead of alternation. + +2020-10-20 Basil L. Contovounesios + + Simplify syntax of shortdoc face specs + + * lisp/emacs-lisp/shortdoc.el: Remove unused dependency. + (shortdoc-section, shortdoc-example): Use newer (DISPLAY . PLIST) + face spec syntax. + +2020-10-20 Stefan Kangas + + Tweak test data for signed package installation + + * test/lisp/emacs-lisp/package-resources/signed/signed-bad-1.0.el: + * test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el: + Use lexical-binding. + * test/lisp/emacs-lisp/package-resources/signed/update-signatures.sh: + New file. + * test/lisp/emacs-lisp/package-resources/key.pub: + * test/lisp/emacs-lisp/package-resources/key.sec: Add new key. + * test/lisp/emacs-lisp/package-resources/signed/signed-good-1.0.el.sig: + * test/lisp/emacs-lisp/package-resources/signed/archive-contents.sig: + Update signatures using new key. + +2020-10-20 Mattias EngdegÃ¥rd + + * lisp/textmodes/picture.el: Use lexical binding. + +2020-10-20 Eli Zaretskii + + Avoid assertion violations in malformed Unicode escapes + + * src/lread.c (read_escape): Produce better diagnostic for + malformed \u Unicode escapes, while avoiding assertion violation + when READCHAR returns -1 because the input is exhausted. + (Bug#44084) + +2020-10-20 Stefan Kangas + + * lisp/language/utf-8-lang.el: Use lexical-binding. + +2020-10-20 Lars Ingebrigtsen + + Tweak the documentation for define-obsolete-variable-alias + + * doc/lispref/variables.texi (Variable Aliases): Actually describe + the macro parameters (bug#44088). + + * lisp/emacs-lisp/byte-run.el (define-obsolete-variable-alias): + Ditto (bug#44088). + +2020-10-20 Masahiro Nakamura + + Fix some mpc.el updating quirks + + * lisp/mpc.el (mpc-songs-jump-to): Update the status buffer. + + * lisp/mpc.el (mpc-stop): M-x mpc-stop clears playlist queue. So + updating *MPC-Songs* buffer is useful. + + * lisp/mpc.el (mpc-cmd-delete): I noticed M-x mpc-playlist-delete + always messages “Deleted 1 songs” even if playlist queue has more + than one songs. This is because mpc-cmd-delete’s sort modifies + songs-poss by side effect. Using copy-sequence fixes this (bug#44093). + * lisp/mpc.el (mpc-cmd-move): Ditto. + +2020-10-20 Jim Blandy + + Man highlighting: Don't occasionally bold entire sections. + + * lisp/ansi-color.el (ansi-color-apply-on-region): Always save a + restart position in ansi-color-context-region if the region ends with + highlighting active. + +2020-10-20 Lars Ingebrigtsen + + Preserve all `eval' elements from both .dir-locals files + + * lisp/files.el (dir-locals-read-from-dir): Preserve all `eval' + elements from both .dir-locals files (bug#44066). + +2020-10-20 Stefan Kangas + + * lisp/image-file.el: Use lexical-binding. + +2020-10-20 Stefan Kangas + + Make a bookmark test more robust + + * test/lisp/bookmark-tests.el (bookmark-tests-insert-annotation): + Make test more robust by not being timing dependent. + +2020-10-19 Stefan Kangas + + Add command package-menu-filter-upgradable + + * lisp/emacs-lisp/package.el (package-menu-filter-upgradable): + New command. (Bug#41436) + (package-menu-mode-map): Bind the new command. + * doc/emacs/package.texi (Package Menu): Document the new command. + +2020-10-19 Stefan Monnier + + * lisp/progmodes/python.el: Bump version to release the f-string support + +2020-10-19 Stefan Monnier + + * lisp/mail/rfc2231.el (rfc2231-decode-encoded-string): Fix match data error + + Get (match-string 3 string) earlier, in case `mm-charset-to-coding-system` + clobbers the match data. + Also, check that `string-match` succeeded before using its match data. + +2020-10-19 Protesilaos Stavrou + + Fix documentation of the Modus Themes (Bug#43944) + + * doc/misc/modus-themes.texi (Installation): Remove reference to MELPA. + (Top) + (Install from the archives, GNU Guix) + (Load at a given time or at sunset/sunrise) + (Configure options prior to loading, Command prompts) + (Headings' font, Will NOT be supported): Fix spelling, wording, + markup. + (Acknowledgements): Spell contributor's surname correctly. + +2020-10-19 Stefan Kangas + + Make auto-revert-mode tests run faster + + * test/lisp/autorevert-tests.el (auto-revert--timeout): Make into + defun and shorten timeout by a factor 10. + (auto-revert--wait-for-revert): Cut timeouts in half. + (with-auto-revert-test): New macro to set timeout to 0.1. + (auto-revert-tests--write-file): New defun. + (auto-revert-test00-auto-revert-mode) + (auto-revert-test01-auto-revert-several-files) + (auto-revert-test02-auto-revert-deleted-file) + (auto-revert-test03-auto-revert-tail-mode) + (auto-revert-test04-auto-revert-mode-dired) + (auto-revert-test05-global-notify) + (auto-revert-test06-write-file): Adapt test to run faster. Remove + :expensive-test marks. + + This was discussed in: + https://lists.gnu.org/r/emacs-devel/2020-10/msg01233.html + +2020-10-19 Michael Albinus + + Further clarification of directory-files* doc + + * doc/lispref/files.texi (Contents of Directories): + Precise description of MATCH-REGEXP of directory-files. Add + directory-files-no-dot-files-regexp. + + * lisp/files.el (directory-files-no-dot-files-regexp): Revert last fix. + + * src/dired.c (Fdirectory_files) + (Fdirectory_files_and_attributes): Fix wording in docstring. + +2020-10-19 Mattias EngdegÃ¥rd + + Keep track of matching rules in compilation-mode + + When matching messages in compilation-mode, keep track of the rule + employed for each match. This facilitates debugging and allows us to + verify that each test case really exercises the rule that we expect it + to. + + Naturally this uncovered several test cases that didn't check what the + author thought they did; the rules affixed to + compile-tests--test-regexps-data are those actually used, so that the + tests still pass. + + * lisp/progmodes/compile.el (compilation--message): Add 'rule' slot. + (compilation-directory-properties, compilation-error-properties) + (compilation-internal-error-properties, compilation-parse-errors) + (compilation--compat-parse-errors): Set the rule slot. + * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data) + (compile-tests--grep-regexp-testcases) + (compile-tests--grep-regexp-tricky-testcases): Add rules to test cases. + (compile--test-error-line): Check that the rule matches what we expect. + (compile-test-grep-regexps): Adapt to test case format. + Remove now superfluous ert-info. + +2020-10-19 Mattias EngdegÃ¥rd + + Hoist some loop-invariant variable bindings in compile.el + + * lisp/progmodes/compile.el (compilation-parse-errors): + Hoist the binding of case-fold-search and a memq call out of + the loop, eliminating a minor but unnecessary quadratic term. + +2020-10-19 Stefan Kangas + + * lisp/info.el: Remove redundant :group args. + +2020-10-19 Stefan Kangas + + Improve Info-streamline-headings defaults + + * lisp/info.el (Info-streamline-headings): Improve defaults. These + produce somewhat more consistent results on my system, and seems + slightly more in line with current GNU practices. For example, gcc + uses the "Software development" heading instead of "Programming". + +2020-10-19 dickmao + + `ffap-gopher-at-point' interminable without newlines + + * lisp/ffap.el (ffap-gopher-at-point): Stop when we get to the end + of the buffer. + * test/lisp/ffap-tests.el (ffap-test-no-newlines): Ensure + termination for corner case (bug#44048). + +2020-10-19 Robert Pluim + + Explain difference between Unicode and Emacs scripts + + * nonascii.texi (Character Properties): Document that Emacs' + scripts and Unicode's scripts do not necessarily correspond. + +2020-10-19 Harald Jörg + + cperl-mode: Delete a misleading comment, add tests for verification + + * lisp/progmodes/cperl-mode.el: Delete a comment which explains a + bug which has been fixed a long time ago (bug#44073). + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-fontify-punct-vars): Add regression tests to verify + that fontification of punctuation variables doesn't start strings. + +2020-10-19 Yuan Fu + + Handle "Before first headings" error in outline-cycle + + * lisp/outline.el (outline-before-first-heading): New error. + (outline-back-to-heading): Signal the new error. + (outline-cycle): Ignore the error. + (outline-cycle-buffer): Simply pass 1 to 'outline-hide-sublevels' + (bug#41130). + +2020-10-19 Lars Ingebrigtsen + + Ffunction doc string clarification + + * src/eval.c (Ffunction): Mention that `function' isn't quite like + `quote' in non-bytecompile circumstances, too (bug#41864). + +2020-10-19 Michael Albinus + + * src/dired.c (Fdirectory_files, Fdirectory_files_and_attributes): + + Adapt docstring. + +2020-10-19 Michael Albinus + + * lisp/files.el (directory-files-no-dot-files-regexp): Adapt docstring. + +2020-10-18 Juri Linkov + + Add new choice 'keep' to next-error-message-highlight (bug#32676) + + * lisp/simple.el (next-error-message-highlight): Add new choice 'keep'. + (next-error-message-highlight): Don't delete overlay when option is 'keep'. + +2020-10-18 Juri Linkov + + * etc/HELLO: Add Belarusian and use Javanese script for Javanese (bug#43887) + +2020-10-18 Stefan Kangas + + Add "Old-" prefix to "Version" header in more cases + + These version numbers are historical accidents and not relevant today. + Ref: https://lists.gnu.org/r/emacs-devel/2020-03/msg00080.html + +2020-10-18 Stefan Kangas + + Prefer Lisp version of describer in help--describe-vector + + * src/keymap.c (Fhelp__describe_vector): + * lisp/help.el (describe-map): Use Lisp versions of describe_command + and describe_translation. + * src/keymap.c (describe_command, describe_translation): Remove. + (describe_vector_basic): New function. + +2020-10-18 Stefan Kangas + + Remove C version of substitute-command-keys + + * src/doc.c (Fsubstitute_command_keys_old): Remove. + (syms_of_doc): Remove defsubr for Fsubstitute_command_keys_old. + * src/keymap.c (describe_map, describe_map_tree) + (describe_map_compare, describe_map_elt): Remove. + * src/keymap.h: Remove 'describe_map_tree'. + * test/lisp/help-tests.el (with-substitute-command-keys-test) + (help-tests-substitute-command-keys/compare) + (help-tests-substitute-command-keys/compare-all): + Don't test the C version of 'substitute-command-keys' removed + above. + +2020-10-18 Stefan Kangas + + Prefer Lisp version of describe-map-tree + + This is a prerequisite to remove the old C functions, and gives a + measured 3 ms slowdown on my machine, from 0.27s to 0.30s per call to + describe-buffer-bindings (average over 50 calls). + + * src/keymap.c (Fdescribe_buffer_bindings): Call Lisp function + describe-map-tree instead of C function describe_map_tree. + +2020-10-18 Stefan Kangas + + Improve substitute-command-keys performance + + The previous conversion of describe_vector from C to Lisp for the + keymap and char table case lead to an unacceptable performance hit. + Moving back to the C version, as we do here, makes this function + around 50 times faster. + + The Lisp version of `substitute-command-keys' was benchmarked using + the form `(documentation 'dired-mode)', which now takes less than 8 ms + on my machine. This is around 16 times slower than the previous C + version. + + Thanks to Stefan Monnier for helpful pointers on benchmarking. + + * src/keymap.c (Fhelp__describe_vector): New defun to expose + describe_vector to Lisp for keymaps and char tables. + (syms_of_keymap): New defsubr for Fhelp__describe_vector. + * lisp/help.el (describe-map): Use above defun instead of Lisp + version. + (help--describe-vector): Remove defun; keep it commented out for now. + +2020-10-18 Stefan Kangas + + Translate describe_vector to Lisp + + * lisp/help.el (help--describe-vector): New Lisp implementation of + describe_vector. + * src/keymap.c (Fdescribe_vector_internal): Remove defun. + (syms_of_keymap): Remove defsubr for Fdescribe_vector_internal. + +2020-10-18 Stefan Kangas + + Translate describe_map to Lisp + + Third step in converting substitute-command-keys to Lisp. + + * lisp/help.el (describe-map): New Lisp version of describe_map. + (help--describe-map-compare, help--describe-translation) + (help--describe-command, help--shadow-lookup): New helper + functions for describe-map. + (help--keymaps-seen, help--previous-description-column): New + variables. + * src/keymap.c + (Fkeymap__get_keyelt): New defun to expose get_keyelt to Lisp. + (Fdescribe_map_tree_old, Fdescribe_map): Remove defuns. + (Fdescribe_vector_internal): New defun to expose describe_vector to + Lisp in a way usable by describe-map. + (syms_of_keymap): New defsubrs for Fkeymap__get_keyelt and + Fdescribe_vector_internal. Remove defsubrs for Fdescribe_map_tree_old + and Fdescribe_map. Remove 'help--keymaps-seen'. + + * test/lisp/help-tests.el + (help-tests-substitute-command-keys/shadow): Extend test. + (help-tests-substitute-command-keys/test-mode) + (help-tests-substitute-command-keys/compare-all) + (help-tests-describe-map-tree/no-menu-t) + (help-tests-describe-map-tree/no-menu-nil) + (help-tests-describe-map-tree/mention-shadow-t) + (help-tests-describe-map-tree/mention-shadow-nil) + (help-tests-describe-map-tree/partial-t) + (help-tests-describe-map-tree/partial-nil): New tests. + +2020-10-18 Stefan Kangas + + Translate describe_map_tree to Lisp + + This is the second step in converting substitute-command-keys to Lisp. + + * lisp/help.el (describe-map-tree): New Lisp version of + describe_map_tree. + (substitute-command-keys): Update to use above function. + * src/keymap.c (Fdescribe_map): New defun to expose describe_map to + Lisp. + * src/keymap.c (syms_of_keymap): New variable 'help--keymaps-seen'; a + temporary kludge planned for removal. New defsubr for Fdescribe_map. + +2020-10-18 Stefan Kangas + + Add new Lisp implementation of substitute-command-keys + + This is only the first step towards a full Lisp implementation, and + does not remove the old C code. On the contrary, it is partly based + on using the old C code, which is to be replaced in steps. This also + makes it easy to test that it produces the same output as the old. + + * src/doc.c (Fsubstitute_command_keys_old): Rename from + Fsubstitute_command_keys. + (Fget_quoting_style): New defun to expose text_quoting_style to Lisp. + (syms_of_doc): Expose above symbols. + * lisp/help.el (substitute-command-keys): New Lisp version of + substitute-command-keys. (Bug#8951) + + * src/keymap.c + (Fdescribe_map_tree): New defun to expose describe_map_tree to Lisp. + (syms_of_keymap): New defsubr for Fdescribe_map_tree. + + * src/keyboard.c (help_echo_substitute_command_keys): + * src/doc.c (Fdocumentation, Fdocumentation_property): + * src/print.c (print_error_message): + * src/syntax.c (Finternal_describe_syntax_value): Fix calls to use new + Lisp implementation of substitute-command-keys. + + * test/src/doc-tests.el: Remove file. + * test/lisp/help-tests.el: Add tests for substitute-command-keys + copied from above file. + +2020-10-18 Mattias EngdegÃ¥rd + + Strengthen js-mode indentation tests + + Test not only that the indentation engine is idempotent but that it + will indent a file to the expected shape from scratch. + + * test/lisp/progmodes/js-tests.el (js-tests--remove-indentation): New. + (js-deftest-indent): Extend test. + +2020-10-18 Lars Ingebrigtsen + + Fix a misleading comment in Freplace_match + + * src/search.c (Freplace_match): Fix a misleading comment + (bug#42424). + +2020-10-18 Lars Ingebrigtsen + + Document the new smiley value + + * doc/misc/gnus.texi (Smileys): Document the emoji smiley value. + +2020-10-18 Lars Ingebrigtsen + + Fix up smiley emoji application to make it reversible + + * lisp/gnus/smiley.el (smiley-region): Use text properties for the + emojis instead of rewriting the message. + +2020-10-18 Adam Sjøgren + + Add support for emojis i smiley.el + + * lisp/gnus/smiley.el (smiley-style): Add emoji + tag. + (smiley-emoji-regexp-alist): New defcustom. + (smiley-update-cache, smiley-region): Support emoji (non-image) + replacement (bug#43889). + +2020-10-18 Stefan Kangas + + Make nxml-newline-and-indent argument optional + + * lisp/nxml/nxml-mode.el (nxml-newline-and-indent): Make argument + optional to conform to 'comment-line-break-function'. (Bug#40193) + +2020-10-18 Stefan Kangas + + Minor improvements to emacsclient man page + + * doc/man/emacsclient.1: Make flag descriptions into full sentences to + be more consistent. + +2020-10-18 Stefan Kangas + + Convert manual js indent tests to unit tests + + * test/lisp/progmodes/js-tests.el (ert-x): Require. + (js-deftest-indent): New macro. Use it to define tests for indenting + the below files. + + * test/manual/indent/js-chain.js: + * test/manual/indent/js-indent-align-list-continuation-nil.js: + * test/manual/indent/js-indent-init-dynamic.js: + * test/manual/indent/js-indent-init-t.js: + * test/manual/indent/js.js: + * test/manual/indent/jsx-align-gt-with-lt.jsx: + * test/manual/indent/jsx-comment-string.jsx: + * test/manual/indent/jsx-indent-level.jsx: + * test/manual/indent/jsx-quote.jsx: + * test/manual/indent/jsx-self-closing.jsx: + * test/manual/indent/jsx-unclosed-1.jsx: + * test/manual/indent/jsx-unclosed-2.jsx: + * test/manual/indent/jsx.jsx: Move from here... + * test/lisp/progmodes/js-resources/js-chain.js: + * test/lisp/progmodes/js-resources/js-indent-align-list-continuation-nil.js: + * test/lisp/progmodes/js-resources/js-indent-init-dynamic.js: + * test/lisp/progmodes/js-resources/js-indent-init-t.js: + * test/lisp/progmodes/js-resources/js.js: + * test/lisp/progmodes/js-resources/jsx-align-gt-with-lt.jsx: + * test/lisp/progmodes/js-resources/jsx-comment-string.jsx: + * test/lisp/progmodes/js-resources/jsx-indent-level.jsx: + * test/lisp/progmodes/js-resources/jsx-quote.jsx: + * test/lisp/progmodes/js-resources/jsx-self-closing.jsx: + * test/lisp/progmodes/js-resources/jsx-unclosed-1.jsx: + * test/lisp/progmodes/js-resources/jsx-unclosed-2.jsx: + * test/lisp/progmodes/js-resources/jsx.jsx: ...to here. + +2020-10-18 Stefan Kangas + + * lisp/progmodes/ld-script.el: Use lexical-binding. + + * lisp/progmodes/mixal-mode.el: Fix typos. + +2020-10-18 Jose A Ortega Ruiz + + Set jao@gnu.org as maintainer of mixal-mode.el + + * lisp/progmodes/mixal-mode.el: Set jao@gnu.org as maintainer of + mixal-mode.el. (Bug#44037) + +2020-10-18 Stefan Kangas + + Use lexical-binding in mixal-mode.el + + * lisp/progmodes/mixal-mode.el: Use lexical-binding. (Bug#44037) + +2020-10-17 Juri Linkov + + Extend next-error-message face to the edge of the window (bug#32676) + + * lisp/simple.el (next-error-message): Add ':extend t' to this face. + (next-error-message-highlight): Put overlay over the newline as well. + +2020-10-17 J. Scott Berg (tiny change) + + Fix bad dimensions of initial frame on VcXsrv + + * src/xterm.c (handle_one_xevent) [USE_GTK]: Don't obey + ConfigureNotify events if the frame is not visible. (Bug#44002) + +2020-10-17 Glenn Morris + + Merge from origin/emacs-27 + + 18c0e20bea (origin/emacs-27) Improve documentation of 'Info-hide-note... + +2020-10-17 Glenn Morris + + Merge from origin/emacs-27 + + 65078e0a76 * lisp/info.el (Info-hide-note-references): Doc fix. (Bug... + 30305b543d Make lisp/progmodes/js.el dependent on CC Mode in the Make... + c37b2a9b42 Yet another fix for 'set-minibuffer-message' + 72dd911981 Fix posn-at-x-y in builds --without-x + ace25f2066 Clarify the seq-reduce documentation + 7d598e281d Make tramp-completion-reread-directory-timeout obsolete (B... + 2c31ce18ea Fix 'message' when there's active minibuffer on another frame + + # Conflicts: + # doc/misc/tramp.texi + # etc/NEWS + +2020-10-17 Mattias EngdegÃ¥rd + + * etc/NEWS: Mention new lexical binding conversion aid. + +2020-10-17 Protesilaos Stavrou + + Update Modus themes' NEWS entry + + * etc/NEWS: Reword entry about new 'modus-operandi' and + 'modus-vivendi' themes. Include reference to their manual. + +2020-10-17 Jose A. Ortega Ruiz + + mixal-mode: add missed instructions + + Synchronises with latest released GNU MDK 1.2.11 + + * mixal-mode.el (mixal-operation-codes-alist): + Add missed instructions: SLB,SRB,JAE,JAO,JXE,JXO + +2020-10-17 Stefan Kangas + + Base bookmark-bmenu-mode on tabulated-list-mode (Bug#39293) + + Rewriting bookmark-bmenu-mode to be based on 'tabulated-list-mode' + allows us to greatly simplify the code in several cases. In addition, + we get some features for free, such as sorting by column. + + The only functional step backwards is that we no longer support the + optional "inline" header line, a bookmark.el-specific feature to have + a header without using 'header-line-format'. This feature is believed + to be not very useful or widely used. + + * lisp/bookmark.el (tabulated-list): Require. + (bookmark-bmenu-mode): Inherit from 'tabulated-list-mode' instead of + 'special-mode' and make the necessary changes to support that. + (bookmark-bmenu-mode-map): Inherit from 'tabulated-list-mode-map' + instead of 'special-mode-map'. Remove now duplicate key bindings. + (bookmark-bmenu--revert): New function to show the bookmark list using + 'tabulated-list-mode'. + (bookmark-bmenu-list): Simplify by using above new function. + (bookmark-bmenu-bookmark): Adapt to 'tabulated-list-mode'. + (bookmark-bmenu--name-predicate) + (bookmark-bmenu--file-predicate): New functions used by + 'tabulated-list-mode' to sort. + + (bookmark-bmenu-set-header): Redefine as obsolete function alias for + 'tabulated-list-init-header'. + (bookmark-bmenu-toggle-filenames, bookmark-bmenu-show-filenames) + (bookmark-bmenu-hide-filenames, bookmark-bmenu-mark) + (bookmark-bmenu-mark-all, bookmark-bmenu-unmark-all) + (bookmark-bmenu-delete-all, bookmark-bmenu-unmark) + (bookmark-bmenu-delete, bookmark-bmenu-delete-backwards): Simplify now + that we can depend on 'tabulated-list-mode' to do more work. + + (bookmark-bmenu-use-header-line) + (bookmark-bmenu-inline-header-height): Declare variables relating to + the now unsupported "inline" header obsolete. + (bookmark-bmenu-ensure-position) + (bookmark-bmenu-execute-deletions): Remove code to handle "inline" header. + + * test/lisp/bookmark-tests.el + (bookmark-test-bmenu-edit-annotation/show-annotation) + (bookmark-test-bmenu-unmark, bookmark-test-bmenu-mark): Update tests + for minor changes when using 'tabulated-list-mode'. + +2020-10-17 Mattias EngdegÃ¥rd + + Add aid for finding missing dynamic variable declarations + + Find lexical use of variables that are dynamically declared in other + files by recording 'defvar' declarations in files that can be read + in by the compiler in a second compilation. This is particularly + useful when converting code to use lexical-binding. + + The facility is controlled by setting environment variables: + + EMACS_GENERATE_DYNVARS -- set to non-empty to generate a .dynvars file + corresponding to each .elc. + EMACS_DYNVARS_FILE -- set to the name of a .dynvars file to use + as defvar information during compilation, + enabling the new warnings. + + * lisp/emacs-lisp/bytecomp.el (byte-compile--known-dynamic-vars) + (byte-compile--seen-defvars): New variables. + (byte-compile-warning-types): Add lexical-dynamic warning. + (byte-compile--load-dynvars, byte-compile--warn-lexical-dynamic): + New functions. + * lisp/emacs-lisp/bytecomp.el (byte-compile-file, byte-compile--declare-var) + (byte-compile-lambda, byte-compile-bind): Add dynamic variable loads, + dumps and checks. + * doc/lispref/variables.texi (Converting to Lexical Binding): Document. + +2020-10-17 Stefan Kangas + + * test/lisp/mail/rfc822-tests.el: New file. + + * lisp/url/url-vars.el: Use lexical-binding. + +2020-10-17 Eli Zaretskii + + Improve documentation of 'Info-hide-note-references' in info.texi + + * doc/misc/info.texi (Help-Xref): Improve the wording. + (Emacs Info Variables): Update the documentation of + 'Info-hide-note-references'. (Bug#44043) + +2020-10-17 Pierre Neidhardt + + New shell-mode command to narrow to the command under point + + * lisp/shell.el (shell--prompt-end-position) + (shell--prompt-begin-position): Helper functions. + + * lisp/shell.el (shell-narrow-to-prompt): New command and + keystroke (bug#41784). + +2020-10-17 Lars Ingebrigtsen + + Make woman ignore the new groff kerning operators + + * lisp/woman.el (woman-decode-region): Ignore the new groff + kerning operators (bug#42219). + +2020-10-17 Lars Ingebrigtsen + + Fix `browse-url-of-dired' + + * lisp/net/browse-url.el (browse-url-emacs): Make the + `browse-url-of-dired' command work again after the browse-emacs + changes (bug#42429). + +2020-10-17 Lars Ingebrigtsen + + Avoid infloop in which-function-mode when a vc file has changed + + * lisp/vc/diff-mode.el (diff-find-source-location): Avoid warnings + when called from which-function-mode and the file has changed + (bug#42818). + +2020-10-17 Stefan Kangas + + * admin/release-process: Add note to update files from upstream. + + (cherry picked from commit 86dd9d12aa5a273da2efd4ce8c6e35ae343f1494) + +2020-10-17 Lars Ingebrigtsen + + Fix narrow-to-defun in f90-mode + + * lisp/progmodes/f90.el (f90-beginning-of-subprogram): Make + narrow-to-defun work better (bug#44042). + +2020-10-17 Eli Zaretskii + + * lisp/info.el (Info-hide-note-references): Doc fix. (Bug#44043) + +2020-10-17 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-17 Stefan Kangas + + * admin/release-process: Add note to update files from upstream. + +2020-10-16 Stefan Monnier + + * doc/lispref/variables.texi (Converting to Lexical Binding): New section + + Extract it from `Using Lexical Binding` and extend it a bit. + +2020-10-16 Stefan Monnier + + * lisp/progmodes/python.el: Teach f-strings to `font-lock` + + (python--f-string-p, python--font-lock-f-strings): New functions. + (python-font-lock-keywords-maximum-decoration): Use them. + +2020-10-16 Alan Mackenzie + + Make lisp/progmodes/js.el dependent on CC Mode in the Makefile. + + This will prevent version mismatches between compile time and runtime + versions. This fixes bug #43037. + + * lisp/Makefile.in: Make js.el dependent on cc-{defs,engine,mode}.elc. + +2020-10-16 Lars Ingebrigtsen + + indent-rigidly doc string clarification + + * lisp/indent.el (indent-rigidly): Note that the command + deactivates the mark (bug#42842). + +2020-10-16 Lars Ingebrigtsen + + Make erc expand the final abbrev + + * lisp/erc/erc.el (erc-send-current-line): Expand abbrevs at the + end of lines (bug#42854). + +2020-10-16 Michael Albinus + + Make last change in tramp-archive-tests.el backward compatible + + * test/lisp/net/tramp-archive-tests.el (ert-resource-directory-format) + (ert-resource-directory-trim-left-regexp) + (ert-resource-directory-trim-right-regexp, ert-resource-directory) + (ert-resource-file): Define if they don't exist. + +2020-10-16 Eli Zaretskii + + Fix documentation of Modus Themes + + * doc/misc/modus-themes.texi (Install from the archives) + (No mixed fonts): Remove references to MELPA. + (How do the themes look like) + (Enable and load, Load automatically) + (Configure options prior to loading, Customisation Options) + (No mixed fonts, Command prompts, Mode line, Completion UIs) + (Fringes, Line highlighting, Matching parentheses, Diffs) + (Org mode blocks, Heading styles, Tweak colors (DIY)) + (Org user faces (DIY), Supported packages) + (Will NOT be supported, Note for ERC escaped color sequences) + (Note on shr colors, Note for Helm grep) + (Note on vc-annotate-background-mode, Sources of the themes): Fix + spelling, wording, and markup. + +2020-10-16 Eli Zaretskii + + Revert "* doc/emacs/ack.texi (Acknowledgments): Remove now deleted files." + + This reverts commit 731a26bb50aabeb2c0512f0e45b3cda76029a590. + + We don't support rewriting history! + People who contributed to Emacs development should have their + contributions remain acknowledged forever, even if the files + to which they contributed are deleted at some point. + +2020-10-16 Eli Zaretskii + + Fix file-name problems in several tests + + * test/lisp/saveplace-tests.el + (saveplace-test-forget-unreadable-files): Use file-truename, to + avoid false negatives when file names are not 'equal' as strings, + but point to the same file. + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-with-normal-env) + (edebug-tests-run-macro): + * test/lisp/emacs-lisp/testcover-tests.el + (testcover-tests-markup-region, testcover-tests-run-test-case): + Bind find-file-suppress-same-file-warnings to a non-nil value, to + avoid warnings about "same-file-names", at least on MS-Windows, + due to 8+3 aliases. + +2020-10-16 Stefan Kangas + + Remove some Emacs 19 compat code + + * lisp/type-break.el (type-break-time-stamp): Remove Emacs 19 + compat code. + +2020-10-16 Stefan Kangas + + Remove some references to Emacs 18 and 19 + + * doc/misc/forms.texi (Modifying Forms Contents, Error Messages): + * lisp/arc-mode.el: + * lisp/emacs-lisp/edebug.el (edebug-temp-display-freq-count): + * lisp/type-break.el: Remove some references to Emacs 18 and 19. + +2020-10-16 Stefan Kangas + + * doc/emacs/ack.texi (Acknowledgments): Remove now deleted files. + + This is in line with an ack.texi comment that says to "Remove things + that are no longer distributed." Most files in this list were removed + many years ago. + +2020-10-16 Stefan Kangas + + Fix building modus-themes Info manual + + * doc/misc/Makefile.in (INFO_COMMON): Add modus-themes. + * doc/misc/modus-themes.texi: Adapt to fit Emacs conventions. + +2020-10-16 Protesilaos Stavrou + + Update modus-operandi, modus-vivendi to 0.13.0 + + * etc/themes/modus-operandi-theme.el: Update to version 0.13.0. + + * etc/themes/modus-vivendi-theme.el: Update to version 0.13.0. + + * doc/misc/modus-themes.texi: Include new texinfo documentation for + modus-operandi and modus-vivendi themes. (Bug#43944) + +2020-10-16 Mattias EngdegÃ¥rd + + * lisp/emacs-lisp/backquote.el: Use lexical binding. + +2020-10-16 Stefan Kangas + + Use new resource directory macros in tests (Bug#43792) + + * test/lisp/bookmark-tests.el (bookmark-tests-data-dir): + * test/lisp/calendar/todo-mode-tests.el (todo-test-data-dir): + * test/lisp/net/dbus-tests.el (dbus--tests-dir): + * test/lisp/emacs-lisp/edebug-tests.el + (edebug-tests-sample-code-file): + * test/lisp/emacs-lisp/package-tests.el + (package-test-fake-contents-file): + * test/lisp/emacs-lisp/shadow-tests.el (shadow-tests-data-directory): + * test/lisp/emacs-lisp/testcover-tests.el + (testcover-tests-file-dir, testcover-tests-test-cases): + * test/lisp/mail/uudecode-tests.el (uudecode-tests-data-dir): + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test-resource-directory): + * test/lisp/pcmpl-linux-tests.el (pcmpl-linux-tests-data-dir): + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-tests-data-directory): + * test/lisp/progmodes/flymake-tests.el + (flymake-tests-data-directory): + * test/lisp/progmodes/ruby-mode-tests.el (ruby-mode-tests-data-dir): + * test/lisp/saveplace-tests.el (saveplace-tests-dir): + * test/lisp/textmodes/css-mode-tests.el (css-mode-tests-data-dir): + Remove. + + * test/lisp/bookmark-tests.el (bookmark-tests-bookmark-file) + (bookmark-tests-example-file, bookmark-tests-bookmark-file-list): + * test/lisp/calendar/todo-mode-tests.el (todo-test-file-1) + (todo-test-archive-1, with-todo-test, todo-test--add-file): + * test/lisp/custom-tests.el (custom--test-theme-variables): + * test/lisp/net/dbus-tests.el (dbus--test-introspect): + * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-setup-code-file): + * test/lisp/emacs-lisp/package-tests.el (package-test-data-dir) + (package-test-desc-from-buffer, package-test-install-single) + (package-test-macro-compilation) + (package-test-install-prioritized) + (package-test-install-multifile, package-test-update-archives) + (package-test-update-archives-async) + (package-test-update-archives/ignore-nil-entry) + (package-test-signed, package-x-test-upload-buffer) + (package-x-test-upload-new-version): + * test/lisp/emacs-lisp/shadow-tests.el (shadow-case-insensitive): + * test/lisp/emacs-lisp/testcover-tests.el + (testcover-tests-build-test-cases): + * test/lisp/mail/uudecode-tests.el (uudecode-tests-encoded-str) + (uudecode-tests-decoded-str): + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test-file-archive) + (tramp-archive-test-directory): + * test/lisp/pcmpl-linux-tests.el (pcmpl-linux-test-fs-types) + (pcmpl-linux-test-mounted-directories): + * test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483) + (cperl-mode-test-indent-styles): + * test/lisp/progmodes/flymake-tests.el + (flymake-tests--call-with-fixture): + * test/lisp/progmodes/ruby-mode-tests.el + (ruby--indent/converted-from-manual-test): + * test/lisp/saveplace-tests.el + (saveplace-test-save-place-to-alist/dir) + (saveplace-test-load-alist-from-file): + * test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): Adjust + to use new resource directory macros. + +2020-10-16 Stefan Kangas + + Add ert macros to get resource file names (Bug#43792) + + * lisp/emacs-lisp/ert-x.el (subr-x): Require. + (ert-resource-dir, ert-resource-file): New macros to get the file name + of the resource directory belonging to a test. + (ert-resource-dir-format, ert-resource-dir-trim-left-regexp) + (ert-resource-dir-trim-right-regexp): New variables. + +2020-10-16 Lars Ingebrigtsen + + Fix previous gnus-icalendar sanitization + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + Fix previous change -- respect nil values passed in. + +2020-10-16 Stephen Berman + + Adjust some tests so that they work in symlinked environs + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-macro) + (help-fns-test-lisp-defsubst): + * test/lisp/emacs-lisp/cl-generic-tests.el + (cl-generic-tests--method-files--finds-methods): Adjust test so + that they work in a symlinked environment (bug#43004). + (cl-generic-tests--method-files--finds-methods): Use file-truename + so that this works in a symlinked environment (bug#43004). + +2020-10-16 Lars Ingebrigtsen + + Sanitize ical data in gnus-icalendar-event-from-ical + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical): + Sanitise the data before passing it on to the constructor. This + avoids backtraces on icals with extra, unknown slots (bug#43057). + +2020-10-16 Basil L. Contovounesios + + Substitute command keys in button help-echo values + + * lisp/button.el (button--help-echo): Pass resulting string through + substitute-command-keys for consistency with show-help-function. + * test/lisp/button-tests.el (button-tests--map): New test keymap. + (button--help-echo-string, button--help-echo-form) + (button--help-echo-function): Use it to test command key + substitution in help-echo strings (bug#43070). + +2020-10-16 Eli Zaretskii + + Yet another fix for 'set-minibuffer-message' + + * lisp/minibuffer.el (set-minibuffer-message): Handle the case of + separate minibuffer-only frame. Suggested by Gregory Heytings + . + +2020-10-16 Lars Ingebrigtsen + + Make package-install-from-buffer maybe refresh the quickstart file + + * lisp/emacs-lisp/package.el (package-install-from-buffer): + Refresh the quickstart file (bug#43237). This makes this command + more consistent with package-install. + +2020-10-16 Eli Zaretskii + + Fix posn-at-x-y in builds --without-x + + * src/keyboard.c (make_lispy_position): Don't exclude the + window_or_frame = frame case from TTY-only builds. Reported by + Jared Finder . + + * doc/lispref/commands.texi (Click Events): Document the format of + POSITION in click events on the frame's internal border. + +2020-10-16 Lars Ingebrigtsen + + diff-update-on-the-fly doc string clarification + + * lisp/vc/diff-mode.el (diff-update-on-the-fly): Mention what the + nil value does (bug#43297). + +2020-10-16 Lars Ingebrigtsen + + Restore vc-revision-other-window buffer-changing behaviour + + * lisp/vc/vc.el (vc-revision-other-window): This function used to + change the current buffer, but this was changed in the previous + patch for indirect buffer support. Ensure that it still does + this, because this is what the callers expect (bug#44026). + +2020-10-16 Lars Ingebrigtsen + + Doc string clarification for keep-lines + + * lisp/replace.el (keep-lines): Note that REND isn't optional if + RSTART is given (bug#44021). + +2020-10-16 Lars Ingebrigtsen + + Add a new variable to control Gnus Agent caching + + * doc/misc/gnus.texi (Agent Variables): Document it. + + * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Ditto. + + * lisp/gnus/gnus-async.el (gnus-async-article-callback): Use it. + + * lisp/gnus/gnus.el (gnus-agent-eagerly-store-articles): New variable. + + Includes work from Madhu . + +2020-10-16 Richard M Stallman + + Add way to prevent asking "increase specpdl size?" + + * net/shr.el (shr-offer-extend-specpdl): New option, default t. + (shr-descend): If shr-offer-extend-specpdl is nil, don't even ask + whether to extend the specpdl, just signal error. + +2020-10-15 Stefan Monnier + + * lisp/emacs-lisp/warnings.el (display-warning): Don't be so negative + +2020-10-15 Lars Ingebrigtsen + + Don't display the warning buttons in bytecomp buffers + + * lisp/emacs-lisp/warnings.el (display-warning): Don't do the + buttons in bytecomp buffers. + +2020-10-15 Lars Ingebrigtsen + + Make hi-lock-face-buffer more resilient + + * lisp/hi-lock.el (hi-lock-face-buffer): If given a face name a + string, convert it to a symbol first, as later usage of this + expects a symbol and not a string (bug#43339). + +2020-10-15 Lars Ingebrigtsen + + Add some references to the microdocs in the comments in cperl-mode + + * lisp/progmodes/cperl-mode.el: Tell the people reading the + comments how to read the docs explicitly (bug#1621). + +2020-10-15 David Engster + + Search harder for file name matches in *compilation* buffers + + * lisp/progmodes/compile.el (compilation-find-file): Use it (bug#14411). + (compilation-search-all-directories): New variable. + +2020-10-15 Lars Ingebrigtsen + + Make `C-x C-e' work more like `C-M-x' on defvar etc + + * doc/emacs/building.texi (Lisp Eval): Document it. + + * lisp/emacs-lisp/pp.el (pp-eval-last-sexp): Ditto. + + * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp): Work more + like `eval-defun': Re-evaluate defvar/defcustom/defface forms. + +2020-10-15 Stefan Kangas + + * doc/misc/efaq.texi: Remove reference to FTP. + +2020-10-15 Stefan Kangas + + Remove some references to "in Emacs 21 or later" + + * doc/misc/efaq.texi (Colors on a TTY, Disabling backups) + (Errors with init files, Backspace invokes help) + (Backspace invokes help): Remove some references to "in Emacs 21 or + later". Now everyone can be assumed to use at least that version. + +2020-10-15 Stefan Kangas + + Move emacsclient.1 file history further down + + * doc/man/emacsclient.1: Move file history further down; it doesn't + need to be prominently displayed in the introductory paragraph. + +2020-10-15 Lars Ingebrigtsen + + Fix undefined function in project-compile + + * lisp/progmodes/project.el (project-compile): Require compile.el + before using functions from the file (bug#44009). + +2020-10-15 Andrea Corallo + + * Do not check eln timestamp as superseded by source hashing (bug#43532) + + * src/lread.c (maybe_swap_for_eln): Remove eln file timestamp + check given is now unnecessary. + (openp): Update for new 'maybe_swap_for_eln' signature. + +2020-10-15 Mattias EngdegÃ¥rd + + Remove dynamic declaration of 'save-match-data-internal' + + * lisp/subr.el: Remove defvar which has no relevance today; it can + very well be a lexical variable. + +2020-10-15 Jeff Walsh + + Fix segfault in xwidget when there is no title + + * src/xwidget.c (Fxwidget_webkit_title): Pass emptry string when no + title is returned (bug#43989). + +2020-10-15 Lars Ingebrigtsen + + Clarify the seq-reduce documentation + + * doc/lispref/sequences.texi (Sequence Functions): Ditto. + + * lisp/emacs-lisp/seq.el (seq-reduce): Clarify the order of the + arguments (bug#43995). + +2020-10-15 Lars Ingebrigtsen + + Fix problem with next-error-message-highlight in *Occur* + + * lisp/simple.el (next-error-message-highlight): This function is + called directly, so clean up the code a bit (bug#32676). + (next-error-found): Pass in the error buffer. + +2020-10-15 Lars Ingebrigtsen + + Fix NEWS item for C-h R + +2020-10-15 Lars Ingebrigtsen + + Make Gnus more liberal when interpreting Face headers again + + * lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Do it. + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Allow not checking + anything, but just repadding. + +2020-10-15 Richard M Stallman + + Clarify wording + + Clarify doc string of line-to-top-of-window. + +2020-10-15 Richard M Stallman + + Handle retrying of MIME failure messages + + * rmail.el (rmail-retry-failure): Handle retrying of MIME failure messages. + +2020-10-15 Richard M Stallman + + Handle encrypting mime parts + + * epa-mail.el (epa-mail-encrypt): Insert any encoded mime parts + that are queued up to insert before sending the message. + +2020-10-15 Stefan Monnier + + * lisp/calc: Fix a few issues introduced by lexical scoping + + Fix a few places I missed, where we incorrectly used lexical scoping on a var + that needed dynamic scoping. + These were detected thanks to a bit of footwork by Mattias EngdegÃ¥rd! + + * lisp/calc/calc-ext.el (math-read-big-lines): Declare as dynbound. + (math-read-big-bigp): Bind it inside a `let`. + * lisp/calc/calc-graph.el (math-arglist): Declare as dynbound. + * lisp/calc/calc-map.el (math-arglist): Declare as dynbound. + * lisp/calc/calc-misc.el (math-trunc-prec): Declare as dynbound. + (math-trunc): Bind it inside a `let`. + (math-floor-prec): Declare as dynbound. + (math-floor): Bind it inside a `let`. + * lisp/calc/calc-nlfit.el (calc-curve-varnames, calc-curve-coefnames): + Declare as dynbound. + * lisp/calc/calc-sel.el (math-comp-sel-tag): Declare as dynbound. + * lisp/calc/calcsel2.el (calc-sel-reselect): Declare as dynbound. + +2020-10-14 Andreas Schwab + + Fix layout of custom-face-edit widget + + * lisp/cus-edit.el (custom-face-edit): Add :format to group + widget. (Bug#43977) + +2020-10-14 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-14 Andrea Corallo + + Use form native compilation in `comp-trampoline-compile' + + * lisp/emacs-lisp/comp.el (comp-trampoline-sym): Remove function. + (comp-trampoline-filename): As we are introducing an ABI change in + the eln trampoline format change the trampoline filename to + disambiguate. + (comp-trampoline-search): Rename from `comp-search-trampoline' + and return directly the trampoline. + (comp-trampoline-compile): Rework to use native form compilation + in place of un-evaluating a function and return directly the + trampoline. + (comp-subr-trampoline-install): Update for + `comp-trampoline-search' and `comp-trampoline-compile' new + interfaces. + * src/comp.c (Fcomp__install_trampoline): Store the trampoline + itself as value in `comp-installed-trampolines-h'. + (syms_of_comp): Doc update `comp-installed-trampolines-h'. + +2020-10-14 Andrea Corallo + + * Add a test to verify form native compilation. + + * test/src/comp-tests.el (comp-deftest): Fix typo. + (compile-forms): New test. + +2020-10-14 Andrea Corallo + + Rework `native-compile' interface so it can return compiled functions + + * lisp/emacs-lisp/comp.el (native-compile): Return the compiled + function when the input is a symbol or a form. + * test/src/comp-tests.el (free-fun, tco, fw-prop): Update tests + for new `native-compile' interface. + +2020-10-14 Andrea Corallo + + Have `native-elisp-load' return the last registerd function + + * lisp/emacs-lisp/comp.el (comp-emit-for-top-level): Synthesize + 'top_level_run' so it returns the last value returned by + `comp--register-subr'. + * src/comp.c (load_comp_unit): Return what 'top_level_run' + returns. + (Fnative_elisp_load): Return what 'load_comp_unit' returns. + * src/comp.h (load_comp_unit): Update signature. + +2020-10-14 Andrea Corallo + + * Allow for lambda forms as native compilation input + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Add new + specialized method for compiling a lambda form. + +2020-10-14 Andrea Corallo + + * Move context output computation in `comp-spill-lap-function' + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Move + output filename computation here. + (native-compile): From here. + +2020-10-14 Juri Linkov + + Highlight regexp sub-expressions in query-replace + + * lisp/replace.el (query-replace-highlight-submatches): New defcustom. + (replace-submatches-overlays): New variable. + (replace-highlight): Use query-replace-highlight-submatches. + (replace-dehighlight): Use query-replace-highlight-submatches. + + * doc/emacs/search.texi (Query Replace): + Add documentation for query-replace-highlight-submatches. + + Suggested by Drew Adams in bug#43702. + +2020-10-14 Juri Linkov + + * lisp/progmodes/grep.el: More fixes for 'lgrep' (bug#23590) + + * lisp/progmodes/grep.el (grep-expand-template): Add new arg 'more-opts'. + (grep-use-directories-skip): New variable. + (lgrep): Set 'grep-use-directories-skip' to the result of 'grep-probe'. + Use "--directories=skip" when 'grep-use-directories-skip' is t. + +2020-10-14 Ernesto Alfonso + + Add option to highlight the 'next-error' error message + + * lisp/simple.el (next-error-message-highlight): + (next-error-message): New faces (bug#32676). + (next-error--message-highlight-overlay): New internal variable. + (next-error-message-highlight): New function. + (next-error-found): Call the function. + +2020-10-14 Alex Branham + + Add a new variable tab-first-completion + + * doc/emacs/indent.texi (Indent Convenience): Mention it. + + * doc/lispref/text.texi (Mode-Specific Indent): Document it. + + * lisp/indent.el (tab-first-completion): New variable (bug#34787). + (indent-for-tab-command): Use it. + +2020-10-14 Lars Ingebrigtsen + + Rename dired-filename-at-point to avoid confusion + + * lisp/dired-x.el (dired-x-guess-filename-at-point): Rename (bug#43961). + (dired-filename-at-point): Made into an obsolete alias, since the name + can be confused with the unrelated dired-file-name-at-point function. + +2020-10-14 Philipp Klaus Krause (tiny change) + + Mark the return value from strerror as a constant + + * src/emacs.c (main): Mark the return from strerror as a constant, + since it shouldn't be changed (bug#43982). + + * lib-src/movemail.c (pfatal_and_delete): Ditto. + +2020-10-14 Masahiro Nakamura + + Improve package install/delete button action + + * lisp/emacs-lisp/package.el (package-install-button-action) + (package-delete-button-action): Run describe-package instead of + revert-buffer in order to use newer package-desc (bug#43983). + +2020-10-14 Lars Ingebrigtsen + + Fix name of the module .h files in the comments + + * src/emacs-module.c: Fix the name of the .h file in the comments. + +2020-10-14 Lars Ingebrigtsen + + Move the new module unibyte function to the correct module-env.h file + + * src/module-env-28.h: Moved here from the -25.h file. + +2020-10-13 Mattias EngdegÃ¥rd + + * etc/NEWS (Calc): Note new precedence of '/' in TeX input mode. + +2020-10-13 Paul Eggert + + nnimap MODSEQ cleanup + + * lisp/gnus/nnimap.el (nnimap-parse-flags): + Remove old hack that deletes MODSEQ entries in the buffer, as + Emacs now has bignums and so won't misparse MODSEQs (Bug#38938). + +2020-10-13 Paul Eggert + + eql doc improvements + + * doc/lispref/numbers.texi (Comparison of Numbers): + Copy some useful text from eql help string. + * src/fns.c (Feql): In doc string, say that eql also compares + integers by value. + +2020-10-13 Eli Zaretskii + + Fix documentation of Outline cycling commands + + * lisp/outline.el (outline-mode-map): Fix wording of a comment. + + * doc/emacs/text.texi (Outline Visibility): Fix wording and markup + of a recently added paragraph. Improve indexing. + + * etc/NEWS: Fix whitespace of a recently added entry. + +2020-10-13 Eli Zaretskii + + * etc/NEWS: Mention 'make_unibyte_string'; reformat modules entries. + +2020-10-13 Mattias EngdegÃ¥rd + + Calc: allow infinite binary word size (bug#43764) + + Setting the word size ("b w") to 0 removes the word size clipping for + all bit operations (effectively as if a word size of -∞ had been set). + Rotation is disallowed; logical and arithmetic shifts behave + identically. + + After a suggestion by Vincent Belaïche. + + * lisp/calc/calc-bin.el (calc-word-size, math-binary-arg) + (math-binary-modulo-args, calcFunc-lsh, calcFunc-ash, calcFunc-rot) + (math-clip, math-format-twos-complement): Allow a word size of 0, + meaning -∞. + * test/lisp/calc/calc-tests.el + (calc-tests--not, calc-tests--and, calc-tests--or, calc-tests--xor) + (calc-tests--diff): New functions. + (calc-tests--clip, calc-tests--rot, calc-shift-binary): Extend to + cover word size 0. + (calc-bit-ops): New test. + * doc/misc/calc.texi (Binary Functions): Update manual. + * etc/NEWS: Announce the change. + +2020-10-13 Mattias EngdegÃ¥rd + + Calc: revert to old precedence of '/' in (La)TeX input mode + + Make the '/' precedence higher than that of '+' and '-' again, + partially reverting fda9b316f84 (bug#43902). + + * lisp/calc/calc-lang.el (tex): Change precedence of '/'. + * test/lisp/calc/calc-tests.el (calc-latex-input): New test. + +2020-10-13 Mattias EngdegÃ¥rd + + Calc: make tests less chatty + + * test/lisp/calc/calc-tests.el (calc-extract-units, calc-convert-units) + (calc-matrix-determinant, calc-choose): Remove "Working..." messages. + (calc-tests--check-choose, calc-tests--explain-choose): Eliminate. + +2020-10-13 Lars Ingebrigtsen + + Allow creating unibyte strings from Emacs modules + + * doc/lispref/internals.texi (Module Values): Document + make_unibyte_string (bug#34873). + + * src/emacs-module.c (module_make_unibyte_string): New function. + (initialize_environment): Export it. + + * src/module-env-25.h: Define it. + + * test/data/emacs-module/mod-test.c (Fmod_test_return_unibyte): + Test it. + + * test/src/emacs-module-tests.el (module/unibyte): Test it. + +2020-10-13 Lars Ingebrigtsen + + Partially revert previous patch to emacs.service + + * etc/emacs.service (ExecStop): Partially revert previous patch + for bug#37847, since: "This appears to break packages that rely on + `invocation-name' to be executable." + +2020-10-13 Yuan Fu + + Add cycling commands to outline + + * lisp/outline.el (outline--cycle-state, outline-has-subheading-p) + (outline-cycle, outline-cycle-buffer): New functions. + (outline-mode-map): Add key bindings for the two new commands. + (outline--cycle-buffer-state): New variable. + * doc/emacs/text.text (Outline Visibility): Add 'outline-cycle' and + 'outline-cycle-buffer'. + * etc/NEWS (Outline): Record the change (bug#41130). + +2020-10-13 Lars Ingebrigtsen + + Make read-char-choice less modal + + * lisp/subr.el (read-char-choice): Use `read-char-from-minibuffer' + here (bug#42708) so that we're not as modal (and users can copy + the help buffer, if they should so want). + +2020-10-13 Lars Ingebrigtsen + + Make diary fontify headers correctly (if the date has been customized) + + * lisp/calendar/diary-lib.el (diary-fancy-display): Insert the + heading with the correct face, so that it doesn't have to be + re-matched later (which is generally impossible) (bug#13072). + (diary-fancy-date-pattern, diary-fancy-date-matcher): Make obsolete. + (diary-fancy-font-lock-keywords): Don't use. + (diary-fancy-font-lock-fontify-region-function): Don't use. + +2020-10-13 Mauro Aranda + + Don't bind sort-fold-case when saving the custom-file + + * lisp/cus-edit.el (custom-save-variables, custom-save-faces): These + functions sort a list, not buffer text, so they don't need + to use sort-fold-case at all. Remove the let-binding for + sort-fold-case (bug#43919). + +2020-10-13 Lars Ingebrigtsen + + Have header-line-highlight inherit from mode-line-highlight + + * lisp/faces.el (header-line-highlight): Inherit from + mode-line-highlight instead of highlight (bug#43926). This is + consistent with header-line inheriting from mode-line. + +2020-10-13 Lars Ingebrigtsen + + message-insert-signature doc fix + + * lisp/gnus/message.el (message-insert-signature): Clarify what + FORCE means. + +2020-10-13 Boruch Baum + + Add a keybinding to the help menu to display manuals + + * lisp/help.el (help-for-help-internal): Add a keybinding to + prompt for and display a manual (bug#43956). + +2020-10-12 Juri Linkov + + * lisp/isearch.el (isearch-search): Set isearch-match-data in the right place. + +2020-10-12 Brian Leung + + Fix some compilation warnings in non nativecomp build (bug#43892) + + * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): + Declare function. + * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare + variable. + * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): + Declare function. + * lisp/files.el (comp-eln-to-el-h): Declare variable. + * lisp/help.el (subr-native-lambda-list): Declare function. + +2020-10-12 Andrea Corallo + + Revert "Fix some compilation warnings in non nativecomp build (bug#43892)" + + This reverts commit 6606ec8e313bf48a1ac7b63c52bfeb64c4257107. + +2020-10-12 Andrea Corallo + + Fix some compilation warnings in non nativecomp build (bug#43892) + + * lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): + Declare function. + * lisp/emacs-lisp/find-func.el (comp-eln-to-el-h): Declare + variable. + * lisp/emacs-lisp/nadvice.el (comp-subr-trampoline-install): + Declare function. + * lisp/files.el (comp-eln-to-el-h): Declare variable. + * lisp/help.el (subr-native-lambda-list): Declare function. + +2020-10-12 Stefan Kangas + + Fix man page title lines and timestamps + + * doc/man/ebrowse.1: + * doc/man/emacs.1.in: + * doc/man/emacsclient.1: + * doc/man/etags.1: Update date to match last significant change. Set + file local variable time-stamp-pattern. Fix title line to match the + recommendations in "man man-pages". + Ref: https://lists.gnu.org/r/emacs-devel/2020-09/msg01002.html + +2020-10-12 Michael Albinus + + Make tramp-completion-reread-directory-timeout obsolete (Bug#43932) + + * doc/misc/tramp.texi (File name completion, Frequently Asked Questions): + Remove `tramp-completion-reread-directory-timeout'. (Bug#43932) + + * etc/NEWS: Mention tramp-completion-reread-directory-timeout as obsolete. + + * lisp/net/tramp.el (tramp-completion-reread-directory-timeout): + Make it obsolete. + +2020-10-12 Hugh Daschbach + + Add interface arg to D-Bus PropertiesChanged signal. + + * lisp/net/dbus.el (dbus-register-property, dbus-property-handler): + Fix signal generation. (Bug#43936) + + * test/lisp/net/dbus-tests.el (dbus-test06-register-property-emits-signal): + Fix test. + +2020-10-12 Stefan Monnier + + * lisp/proced.el: Fix behavior with variable-pitch `header-line` face + + Also, use lexical-scoping. Remove redundant `:group` args. + (proced-process-alist, proced-header-line): Use `defvar-local` + (proced-header-line): Put :align-to on spaces to improve result with + variable-pitch header-line face. + (proced-filter, proced-format): Use a closure instead of `(lambda ...). + +2020-10-12 Lars Ingebrigtsen + + Add a reference to the shortdoc command in the Emacs manual + + * doc/emacs/help.texi (Name Help): Mention shortdoc. + +2020-10-12 Lars Ingebrigtsen + + Add a shortdoc menu entry + + * lisp/menu-bar.el (menu-bar-describe-menu): Add a shortdoc menu + entry. + +2020-10-11 Lars Ingebrigtsen + + Fix error in file shortdoc group + + * lisp/emacs-lisp/shortdoc.el (number): Add some more numeric + stuff (and clean up some arglists). + +2020-10-11 Stefan Monnier + + * lisp/hexl.el: Fix behavior with variable-pitch `header-line` face + + (hexl-ascii-region): Don't inherit from the `header-line`. + (hexl-font-lock-keywords): Fix text alignment. + (hexl-mode): Set `font-lock-extra-managed-props` accordingly. + +2020-10-11 Alan Third + + Fix GNUstep build + + Fix mistakes made when removing Cocoa code from nsfont.m. + + * src/nsfont.m (nsfont_draw): Remove spurious #ifdef. + (ns_uni_to_glyphs): The #if/#endif was removed from this code, but the + code itself not removed. Remove it now. + +2020-10-11 Stefan Kangas + + * lisp/tooltip.el: Remove redundant :group args. + + * lisp/tooltip.el: Use lexical-binding. + +2020-10-11 Gregory Heytings (tiny change) + + Fix 'message' when there's active minibuffer on another frame + + * lisp/minibuffer.el (set-minibuffer-message): Don't reuse the + active minibuffer for displaying messages unless the active + minibuffer is on the same frame as the selected window. + +2020-10-11 Eli Zaretskii + + Improve documentation of shortdoc features + + * lisp/help-fns.el (help-fns-describe-function-functions): Doc + fix. + * lisp/emacs-lisp/shortdoc.el (define-short-documentation-group) + (shortdoc-display-group, shortdoc-add-function): Doc fixes. + + * doc/lispref/help.texi (Documentation Groups): Improve the + recently-added documentation and the indexing. + +2020-10-11 Stefan Kangas + + * lisp/url/url-domsuf.el: Use lexical-binding. + +2020-10-11 Stefan Kangas + + Convert url-domsuf.el tests to ert + + * lisp/url/url-domsuf.el: Move commented out tests from here... + * test/lisp/url/url-domsuf-tests.el: ...to this new file. + +2020-10-11 Stefan Kangas + + Update publicsuffix.txt from upstream + + * etc/publicsuffix.txt: Update from + https://publicsuffix.org/list/public_suffix_list.dat + dated 2020-10-09 08:23:34 UTC. + +2020-10-11 Lars Ingebrigtsen + + Add more numeric shortdocs + + * lisp/emacs-lisp/shortdoc.el (shortdoc-section) + (shortdoc-example): Lighten up colours on light backgrounds. + +2020-10-11 Lars Ingebrigtsen + + Tweak shortdoc colours on light backgrounds + + * lisp/emacs-lisp/shortdoc.el (shortdoc-section) + (shortdoc-example): Lighten up colours on light backgrounds. + +2020-10-11 Lars Ingebrigtsen + + Autoload shortdoc command and adjust NEWS + + * lisp/emacs-lisp/shortdoc.el (shortdoc-display-group): Autoload. + +2020-10-11 Lars Ingebrigtsen + + Use Unicode arrows in shortdoc results + + * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): Use + Unicode arrows if possible. + +2020-10-11 Lars Ingebrigtsen + + Don't boldify the flyspell language indicator in the mode line + + * lisp/textmodes/flyspell.el (flyspell-mode): Don't boldify the + language part -- it draws too much attention in the minor mode list. + +2020-10-11 Stephen Berman + + Allow killing files with C-k in wdired if -F is used + + * lisp/wdired.el (wdired-change-to-wdired-mode): Add hook to + restore properties. + (wdired-change-to-wdired-mode): Adjust check for symlinks. + (wdired-preprocess-files): Fix parsing when using the -F flag. + (wdired-get-filename): Fix parsing of symlinks when using the -F flag. + (wdired--restore-properties): Renamed, and restore more properties + (bug#18475). + +2020-10-11 Lars Ingebrigtsen + + Add support for displaying short documentation for function groups + + * doc/lispref/help.texi (Documentation Groups): Document it. + + * lisp/help-fns.el (help-fns--mention-shortdoc-groups): Output + references to the shortdocs. + + * lisp/emacs-lisp/shortdoc.el: New file. + +2020-10-11 Juri Linkov + + Make C-w worth in isearch when at the last match in the buffer + + * lisp/isearch.el (isearch-yank-internal): Make C-w work when at + the last match in the buffer (bug#22118). + +2020-10-11 Noam Postavsky + + Clarify how to set single-function hooks + + * doc/lispref/modes.texi (Hooks): Clarify the difference between + normal hooks and single-function "hooks" (bug#25581). + +2020-10-11 Lars Ingebrigtsen + + Fix link in previous display.texi change + + * doc/lispref/display.texi (Fontsets): Link to the correct node in + the Elisp manual, not in the Emacs manual. + +2020-10-11 Robert Weiner + + Make posn-set-point work on frame events + + * lisp/subr.el (event-start): Mention the frame part of the events. + (posn-window): Ditto. + (posn-set-point): Make this work if the event is a frame event + (bug#28621). + +2020-10-11 Robert Pluim + + Fix the documentation of char-displayable-p + + * doc/lispref/display.texi (Fontsets): Make the documentation of + char-displayable-p less incorrect (bug#35230). + +2020-10-10 Rasmus + + gnus-icalendar.el: Fix bug in gnus-icalendar-identities + + * lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--find-attendee): + (gnus-icalendar-identities) `gnus-ignored-from-addresses' and + `message-alternative-emails' may be functions. This is not + supported by `gnus-icalendar-event--find-attendee' (bug#43908). + +2020-10-10 Stefan Monnier + + * lisp/calc/: Use lexical scoping in all the files + + Includes the following pervasive changes: + - Move some defvars earlier in the file so they cover earlier let-bindings + - Change dynamically scoped `calc-FOO` or `math-FOO` function arguments + to just FOO and then let-bind the `calc-FOO` or `math-FOO` variable + explicitly in the body of the function. In some cases, the + beginning of the function was changed to refer to FOO so as to delay + the binding to a nearby `let` when I could ensure that it did + not make a difference. + - Add an underscore in front of unused vars or comment them out altogether. + - Replace unused `err` arg to `condition-case` with nil. + + Plus the additional itemized changes below. + + * lisp/calc/calc-map.el (calcFunc-reducer): + * lisp/calc/calc-arith.el (math-setup-declarations): + * lisp/calc/calc-help.el (calc-full-help, calc-help-index-entries) + (calc-full-help): Use `ignore-errors`. + + * lisp/calc/calc-embed.el (calc-embedded-modes-change): + Declare `the-language` and `the-display-just` as dynamically scoped. + + * lisp/calc/calc-forms.el (math-setup-year-holidays): Use `dolist`. + + * lisp/calc/calc-graph.el (calc-graph-set-styles): Use `symbol-value` + rather than `eval.` + (calc-graph-delete-temps, calc-graph-set-styles): Use ignore-errors. + + * lisp/calc/calc-macs.el (calc-with-trail-buffer): Add artificial use + of `save-buf` to silence compiler warnings in all the cases where + `body` doesn't make use of it. + + * lisp/calc/calc-math.el (math-largest-emacs-expt) + (math-smallest-emacs-expt, math-use-emacs-fn): Use ignore-errors. + + * lisp/calc/calc-mode.el (calc-total-algebraic-mode): Remove "P" from + interactive spec since it's not used anyway. + + * lisp/calc/calc-rewr.el (calc-match): Simplify. + + * lisp/calc/calc.el (calc-buffer): Give it a global nil value, + so it's automatically declared dynbound in any file that requires `calc`. + (calcDigit-nondigit): Adjust accordingly. + + * lisp/calc/calcalg2.el (calcFunc-table): Declare `var-dummy` as dynbound. + (math-scan-for-limits): Comment out dead code. + + * lisp/calc/calcalg3.el (math-general-fit): Declare `var-YVAL` and + `var-YVALX` as dynbound. + +2020-10-10 Andrea Corallo + + * lisp/help.el (help-function-arglist): Fix non nativecomp builds (bug#43914) + +2020-10-10 Andrea Corallo + + * As edges are indexed store them in an hash table + + * lisp/emacs-lisp/comp.el (comp-edge): Update doc for 'number' + slot. + (comp-func): Rename 'edges' slot into 'edges-h'. + (comp-log-edges): Update logic for edges in an hash table. + (comp-clean-ssa, comp-compute-edges): Likewise. + +2020-10-10 Andrea Corallo + + * Add into phi l-value args basic block names + + * lisp/emacs-lisp/comp.el (comp-ssa-rename-insn): Clean-up a + leftover space. + (comp-finalize-phis): Cons the blasic block name providing the + mvar together with the mvar itself while forming the phi. + (comp-fwprop-insn): Destructure correctly the phi. + +2020-10-10 Andrea Corallo + + Provide feature nativecomp and make use of it + + * lisp/emacs-lisp/comp.el (comp-ensure-native-compiler): Use + `featurep' to identify if the native compiler is available. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/package.el (package--delete-directory): Likewise. + * lisp/loadup.el: Likewise. + * src/comp.c (syms_of_comp): Provide feature nativecomp. + +2020-10-10 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-func): Fix doc for blocks slot. + +2020-10-10 Stefan Monnier + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Doc tweak + + Try and clarify the meaning of `init-value`. + +2020-10-10 Glenn Morris + + Merge from origin/emacs-27 + + c00606171f (origin/emacs-27) A better fix for bug#43886 + 3196fd44c3 Avoid crashes when a theme is loaded with one frame suspended + 0407b15500 Removed an incorrectly placed extra word in the semantic docs + 040dcbe53e Fix current-line hscrolling when overlays change + c56eeba2ce Extend tests for shell-command-dont-erase-buffer + +2020-10-10 Glenn Morris + + Merge from origin/emacs-27 + + b6704d58e8 ; * src/xdisp.c (Fwindow_text_pixel_size): Doc fix. + +2020-10-10 Glenn Morris + + Merge from origin/emacs-27 + + acc9b46153 Fix merging of region face for non-ASCII characters + c2a13969e4 Make drag and drop on NS open all URLs (bug#43470) + +2020-10-10 Andrea Corallo + + * Fix LIMPLE latch block name coloring in "*Native-compile-Log*" + + * lisp/emacs-lisp/comp.el (comp-limple-lock-keywords): Fix + latch block name coloring. + +2020-10-10 Brian Leung + + Various typo fixes in native compiler related files + + * lisp/emacs-lisp/comp.el (native-compiler-error-dyn-func) + (comp-func, comp-func-l) + (comp-func-d, comp-ensure-native-compiler, comp-type-hint-p) + (comp-func-unique-in-cu-p, comp-alloc-class-to-container) + (comp-limple-mode, comp-loop-insn-in-block) + (comp-lex-byte-func-p, comp-c-func-name, comp-decrypt-arg-list) + (comp-spill-lap-function, comp-intern-func-in-ctxt) + (comp-spill-lap-function, comp-spill-lap, comp-emit-handler) + (comp-prepare-args-for-top-level): Various typo fixes. + * src/comp.c (Fcomp_el_to_eln_filename): Fix typo in error + message. + +2020-10-10 Mattias EngdegÃ¥rd + + Improve coverage of Calc bit shift test + + * test/lisp/calc/calc-tests.el (calc-tests--rsh, calc-tests--rash) + (calc-shift-binary): Test with negative word sizes. + +2020-10-10 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-10 Andrea Corallo + + * Fix failure when compiling a trampoline with no eln-cache dir (bug#43875) + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Try to create + the eln-cache dir if this is not existing, if fails to do that + move on to the next one. + +2020-10-10 Andrew Whatson + + * Fix typo name plus make error homogeneous in `comp-trampoline-compile' + + * lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix typo + renaming `comp-tampoline-compile' -> `comp-trampoline-compile'. + Change error to be consistent. + (comp-subr-trampoline-install): Use `comp-trampoline-compile'. + +2020-10-10 Eli Zaretskii + + A better fix for bug#43886 + + * src/xfaces.c (load_color2, Fcolor_distance): Revert last change. + * src/term.c (clear_tty_hooks): Don't clear defined_color_hook. + +2020-10-10 Torsten Hilbrich + + Fix dictionary tooltip mode + + * lisp/net/dicionary.el (dictionary-tooltip-mode): Add mouse movement + binding and use tooltip-functions instead of tooltip-hook + + There were some changes in Emacs since testing it the last time. I had + to add keybinding for mouse movement and enable track-mouse to get the + mode working again. + +2020-10-09 Eli Zaretskii + + Avoid crashes when a theme is loaded with one frame suspended + + * src/xfaces.c (load_color2, Fcolor_distance): Don't try to call + the frame's defined_color_hook if the frame is suspended. + (Bug#43886) + +2020-10-09 Torsten Hilbrich + + Adding details page for dictionary + + * net/lisp/dictionary.el (dictionary-display-dictionary-line): Allow + getting more details on a dictionary by clicking the "(Details)" link. + + I had the functionality to query the dictionary information but no + mechanism to invoke it. So just add a button after the short description + of the dictionary to get more information. + +2020-10-09 Torsten Hilbrich + + Dictionary now uses button + + * net/lisp/dictionary-link.el: Removed now obsolete file + * net/lisp/dictionary.el: Use insert-button and make-button + * net/lisp/dictionary.el (dictionary-mode-map): Now defined using defvar + + I had to add a conversion function as parameter for the button 'action + as I need to be able to pass nil data to my function. This is not + possible with the regular button 'action function and the 'button-data + value. + + The functionality of searching a link in all dictionaries has been + removed for now. It might appear again once I have an idea how to + implement it. + +2020-10-09 Eli Zaretskii + + Add Euro Sign to Latin language input methods + + * lisp/leim/quail/latin-post.el ("danish-postfix") + ("finnish-postfix", "french-postfix", "german-postfix") + ("icelandic-postfix", "italian-postfix", "norwegian-postfix") + ("scandinavian-postfix", "spanish-postfix", "swedish-postfix"): + Add "E=" for the Euro Sign. (Bug#43866) + +2020-10-09 Mattias EngdegÃ¥rd + + Calc: fix arithmetic right shift sign bit detection + + Arithmetic right shift didn't compute the bit to shift in correctly. + For example, #x600000000 right-shifted 8 steps (with 32 bit word size) + resulted in #xff000000 rather than 0. (Bug#43764) + + * lisp/calc/calc-bin.el (calcFunc-ash): Fix condition. + * test/lisp/calc/calc-tests.el (calc-tests--clip, calc-tests--lsh) + (calc-tests--rsh, calc-tests--ash, calc-tests--rash, calc-tests--rot): + New. + (calc-shift-binary): New test. + +2020-10-09 Nick Gasson (tiny change) + + Match OpenBSD doas password prompt in comint + + * lisp/comint.el (comint-password-prompt-regexp): match OpenBSD doas + password prompt. OpenBSD 5.8 replaced sudo with doas in the base + install. + + * test/lisp/comint-tests.el (comint-testsuite-password-strings): test + that the doas password prompt is matched (bug#43846). + +2020-10-09 Lars Ingebrigtsen + + message-signature doc fix + + * lisp/gnus/message.el (message-signature): Mention + message-signature-insert-empty-line (bug#43853). + +2020-10-09 Pankaj Jangid (tiny change) + + Removed an incorrectly placed extra word in the semantic docs + + * doc/misc/semantic.texi (Parser code): Copy edit (bug#43861). + +2020-10-09 Lars Ingebrigtsen + + Clarify define-minor-mode hooks + + * doc/lispref/modes.texi (Defining Minor Modes): Note that the + code (and the hook) is run both when the mode is enabled and + disabled (bug#43868). + +2020-10-09 Lars Ingebrigtsen + + Revert "Don't eagerly store articles in the Agent by default" + + This reverts commit def34a20766ea5179afd5e5ed090a2b86fcccb5e. + + This made storing articles in the Agent very slow. + +2020-10-09 Lars Ingebrigtsen + + Only skip directories in lgrep, not the other grep commands + + * lisp/progmodes/grep.el (lgrep): Do the directory ignores here + (bug#23590). + (grep-compute-defaults): ... instead of here, because this would + affect all grep commands, not just lgrep. + +2020-10-08 Torsten Hilbrich + + Don't check for existence of defface + + * lisp/net/dictionary.el: defface has been available in Emacs for quite + some time now. No need to check it before using it. + +2020-10-08 Torsten Hilbrich + + Dont't check coding-system-list for existence + + * lisp/net/dictionary.el (dictionary-coding-systems-for-dictionaries): + Don't check for coding-system-list before using it. It check no longer + be necessary. + +2020-10-08 Torsten Hilbrich + + Add :version tag to defcustom statement + + * lisp/net/dictionary.el: Add :version tag to all defcustom statements + + Suggested-By: Robert Pluim + +2020-10-08 Alan Mackenzie + + CC Mode: Move the handling of keyword auto into type handling for C++. + + This should allow auto, const, static, ... to be in any order. + + * lisp/progmodes/cc-engine.el (c-forward-type): New return value 'no-id for + when auto precludes the parsing of a type identifier. Adapt processing for + this. + (c-forward-decl-or-cast-1): Use the new facility from c-forward-type. + + * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): Insert the value + of c-no-type-kwds into the value. + (c-no-type-kwds, c-no-type-key): New lang consts/vars, basically "auto". + (c-typeless-decl-kwds, c-modifier-kwds): Remove "auto" from the C++ value. + +2020-10-08 Stefan Monnier + + * src/ftcrfont.c (ftcrfont_open): Initialize the `max_width` field + + On a 32bit build, Emacs can otherwise crash with a !FIXNUM_OVERFLOW_P + assertion in `Ffont_info` by simply doing `emacs -Q` and then `C-s`. + + * src/font.c: Try and detect uninitialized `max_width` fields. + (font_make_object): Set max_width to a silly value. + (Ffont_info): Check the value is not silly any more. + +2020-10-08 Stefan Monnier + + * lisp/doc-view.el: Fix "can't resize root window" error + + (doc-view-fit-window-to-page): Change approach to detect when the + frame needs to be resized. + +2020-10-08 Eli Zaretskii + + Fix current-line hscrolling when overlays change + + * src/xdisp.c (redisplay_internal): Disable "optimization 1" when + auto-hscrolling current line and we're redisplaying the selected + window. (Bug#43835) + +2020-10-08 Michael Albinus + + Extend tests for shell-command-dont-erase-buffer + + * test/lisp/simple-tests.el + (simple-tests-shell-command-dont-erase-buffer): Extend test. + + * test/lisp/net/tramp-tests.el + (tramp-test32-shell-command-dont-erase-buffer): Adapt test. Tag + it :unstable. + +2020-10-08 Torsten Hilbrich + + Removed some compability parts in dictionary + + * lisp/net/dictionary.el: Use cl-lib, remove defface and defgroup + checks, remove xemacs-related code + * lisp/net/dictionary-link.el: Remove xemacs-related code + +2020-10-08 Torsten Hilbrich + + Renamed link.el + + * lisp/net/link.el: Renamed to connection-link.el, also prefixing all + functions with "dictionary-" prefix + * lisp/net/dictionary.el: Adapt to renamed functions + +2020-10-08 Torsten Hilbrich + + Renamed connection.el + + * lisp/net/connection.el: Renamed to dictionary-connection.el, also + prefixing all functions with "dictionary-" prefix + * lisp/net/dictionary.el: Adapt to renamed functions + +2020-10-08 Torsten Hilbrich + + Importing dictionary module + + * lisp/net: Adding files connection.el, link.el, dictionary.el, + imported from https://github.com/myrkr/dictionary-el.git + +2020-10-08 Dmitry Gutov + + Mention two more functions in the commentary + + * lisp/progmodes/project.el: + Mention two more functions in the commentary (bug#43595). + +2020-10-07 Andrea Corallo + + * Fix failure when eln-cache is removed (introduced by 4a1bb46260) + + * src/comp.c (make_directory_wrapper, make_directory_wrapper_1): + New functions. + (Fcomp_el_to_eln_filename): If base_dir is not + specified and we are searching across `comp-load-path' try to + create a directory if does not exists. + +2020-10-07 Andrea Corallo + + * Fix some nits in comp.el + + * lisp/emacs-lisp/comp.el (comp-spill-lap-function): Use + `cl-defmethod' where correct in place of `cl-defgeneric'. + (comp-tampoline-compile): Add missing #. + +2020-10-07 Eli Zaretskii + + Improve documentation of 'isearch-group-N' faces + + * etc/NEWS: + * doc/emacs/search.texi (Search Customizations): Improve and + clarify the wording of the 'isearch-group-N' faces description. + + * lisp/isearch.el (search-highlight-submatches): Doc fix. + +2020-10-07 Eli Zaretskii + + Fix last change in frame.el. + + * lisp/frame.el (frame-set-background-mode): Fix last change: yet + another place where FRAME was not taken into account, using the + selected frame instead. (Bug#43837) + +2020-10-07 Hong Xu + + Clarify what ``chrooted environment means'' for TRAMP + + * doc/misc/tramp.texi (Frequently Asked Questions): Clarify what + ``chrooted environment means'' for TRAMP (bug#43839). + +2020-10-07 Eli Zaretskii + + Fix face recalculation when frame's background mode changes + + * lisp/frame.el (frame-set-background-mode): Use the FRAME + argument instead of the selected frame, when calling + 'face-spec-match-p'. (Bug#43837) + +2020-10-07 Andrea Corallo + + * Do use echo area for async compilation started/finished messages + + * lisp/emacs-lisp/comp.el (comp-run-async-workers) + (native-compile-async): Do not write into the echo area. + +2020-10-07 Andrea Corallo + + * Better libgccjit related error messaging during configure + + * configure.ac: Distinguish the case when libgccjit is missing, + its headers are missing, or libgccjit is broken. Message the user + based on that. + +2020-10-07 Lars Ingebrigtsen + + Remove mention of the obsolete cust-print.el from the manual + + * doc/lispref/edebug.texi (Printing in Edebug): Remove mention of + the obsolete cust-print.el (bug#37956) and adjust the text a bit. + +2020-10-07 Lars Ingebrigtsen + + Update documentation on this-command-keys to reflect new behavior + + * doc/lispref/commands.texi (Command Loop Info): + `this-command-keys' does not include the C-u any more, so remove + that from the description and the example + (bug#22107). + + * src/keyboard.c (Fthis_single_command_keys): Don't say that + `this-command-keys' returns the C-u prefix (bug#22111). + +2020-10-07 Alex Gramiak + + Default the grep commands to skip directories + + * lisp/progmodes/grep.el (grep-compute-defaults): Skip directories + (bug#23590). + +2020-10-07 Lars Ingebrigtsen + + Make artist-mode work when display-line-numbers-mode is on + + * lisp/textmodes/artist.el (artist--adjust-x): New function. + (artist-mouse-draw-continously, artist-mouse-draw-poly) + (artist-mouse-draw-1point, artist-mouse-draw-2points): Use it to + take `display-line-numbers-mode' widths into account. + +2020-10-07 Lars Ingebrigtsen + + Remove reference to outdated Gnus variable from the manual + + * doc/misc/gnus.texi (Startup Variables): Remove reference to + gnus-use-backend-marks, which was removed in 2011 (bug#43833). + +2020-10-07 Lars Ingebrigtsen + + alist-get doc string further clarification + + * lisp/subr.el (alist-get): Mention generalized variables again + for easier cross-referencing (bug#43836). + +2020-10-07 Hong Xu + + Clarify what ``chrooted environment means'' for TRAMP + + * doc/misc/tramp.texi (Frequently Asked Questions): Clarify what + ``chrooted environment means'' for TRAMP (bug#43839). + +2020-10-07 Mauro Aranda + + Make the State button in Custom use extended menus + + * lisp/cus-edit.el (custom-actioned-widget): New variable. + Dynamically hold the widget for which to show the menu. + (custom-variable-extended-menu, custom-face-extended-menu) + (custom-group-extended-menu): Keymap menus for the State menu. Use + custom-actioned-widget for the :enable and :selected forms. Make + related items radio buttons. (Bug#4787) + (custom-variable-menu, custom-face-menu, custom-group-menu): Keep for + backward compatibility, but default to nil, so we prefer the keymap + menus instead. + (custom-variable-action, custom-face-action, custom-group-action): + Pass the keymap menu to widget-choose when the simplified menus + are nil. + +2020-10-07 Stefan Monnier + + * test/lisp/progmodes/ruby-mode-tests.el: Fix obsolete warnings + +2020-10-06 Juri Linkov + + Add match-data to isearch state and repeat faces to highlight group matches + + * lisp/isearch.el (isearch-match-data): New variable. + (isearch-mode): Set isearch-match-data to nil. + (isearch-update): Call isearch-highlight with isearch-match-data. + (isearch--state): Add isearch-match-data. + (isearch--set-state): Restore isearch-match-data. + (with-isearch-suspended): Preserve isearch-match-data. + (isearch-search): Set isearch-match-data to integers. + (isearch-group-1): Rename from isearch-group-odd and adjust colors. + (isearch-group-2): Rename from isearch-group-even and adjust colors. + (isearch-highlight): Add optional arg 'match-data'. + Rewrite search-highlight-submatches part to recycle faces. + + * doc/emacs/search.texi (Search Customizations): Amend the + documentation for isearch-group faces. + + (bug#6227, bug#43702) + +2020-10-06 Alan Third + + Fix crash when creating new NS frame (bug#43812) + + * src/nsterm.m (ns_clear_under_internal_border): Check the frame is + live. + +2020-10-06 Juri Linkov + + Add check for bound and true 'ido-everywhere' in multi-occur--prompt + + * lisp/replace.el (multi-occur--prompt): Check if 'ido-everywhere' is + bound and true (bug#41633). + +2020-10-06 Juri Linkov + + Fix args of truncate-string-to-width in ibuffer-compile-make-substring-form + + * lisp/ibuffer.el (ibuffer-compile-make-substring-form): Fix args of + truncate-string-to-width call (bug#41250) + +2020-10-06 Andrea Corallo + + * Native compiling do not target a directory with no write permission + + * src/comp.c (Fcomp_el_to_eln_filename): Check for write + permission while choosing the output directory in + `comp-eln-load-path'. + +2020-10-06 Stefan Monnier + + * lisp/international/mule.el (define-coding-system): Revert accidental change + + This was accidentally included in a9f147af716aa026ec7778202901c4cb4bd5487d + "Use the full name of the null byte/character, not its abbreviation". + +2020-10-06 Stefan Monnier + + * lisp/international/mule-util.el: Revert bug#41250 workaround + + (truncate-string-ellipsis): Use the '…' character itself since it + should work now and is more readable. + +2020-10-06 Stefan Monnier + + * lisp/international/ja-dic-cnv.el: Attempt to fix bug#41250 + + (skkdic-convert): Only bind `coding-system-for-read` where needed. + +2020-10-06 Mattias EngdegÃ¥rd + + Suppress obsoletion warning in test of obsolete rx function + + * test/lisp/emacs-lisp/rx-tests.el (rx-compat): Add byte-compilation + warning suppression. + +2020-10-06 Mattias EngdegÃ¥rd + + Fix last change + + * lisp/international/mule-util.el (truncate-string-ellipsis): + Use Unicode hex escapes instead of named escapes here, because \N{...} + is not available during bootstrapping. (Bug#41250) + +2020-10-06 Eli Zaretskii + + Fix last change + + * lisp/international/mule-util.el (truncate-string-ellipsis): Add + a FIXME comment that explains the last change. (Bug#41250) + +2020-10-06 Juri Linkov + + Don't use the character '…' literally in mule-util.el (bug#41250) + + * lisp/international/mule-util.el (truncate-string-ellipsis): + Replace the character '…' with its Unicode name. + +2020-10-06 Lars Ingebrigtsen + + Fix animate test that somehow changed recently + +2020-10-06 Lars Ingebrigtsen + + Fix mule-util-tests after recent truncation changes + + * test/lisp/international/mule-util-tests.el: Fix truncation checks. + +2020-10-06 Daniel Martín + + Add missing full stop in MS-DOS processes documentation + + * doc/emacs/msdos-xtra.texi (MS-DOS Processes): Minor copy edig + (bug#43820). + +2020-10-06 Harald Jörg + + cperl-mode: Fix a test to ensure cperl-mode is active + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-test-indent-exp): Make sure that cperl-mode is active + for testing 'cperl-indent-exp', also skip this test under + perl-mode. + + * test/lisp/progmodes/cperl-mode-resources/cperl-indent-exp.pl: + Eliminate dependency on unrelated customizable variables (bug#10483). + +2020-10-05 Andrea Corallo + + * Fix a test in test/lisp/subr-tests.el + + * test/lisp/subr-tests.el (subr-tests-bug22027): Redefine + `read-string' with a lambda with the same number of arguments. + +2020-10-05 Andrea Corallo + + Add a test for primitive redefinition + + * test/src/comp-tests.el (primitive-redefine): New test. + * test/src/comp-test-funcs.el (comp-test-primitive-redefine-f): + New function. + +2020-10-05 Andrea Corallo + + Make primitive redefinition effective through trampoline synthesis + + * lisp/loadup.el (dump-mode): Set `comp-enable-subr-trampolines' + when finished bootstrap. + * src/data.c (Ffset): Call `comp-enable-subr-trampolines' when + redefining a subr. + * src/comp.c (syms_of_comp): Define `comp-subr-trampoline-install' + symbol. + (syms_of_comp): Define `comp-enable-subr-trampolines' variable. + +2020-10-05 Andrea Corallo + + Rename comp-subr-safe-advice -> comp-subr-trampoline-install + +2020-10-05 Andrea Corallo + + Revert "Use `advice-flet' in place of `cl-letf' to avoid primitive... + + This reverts commit 825e85b393a3d78ba43176ecc5bc1a9595d0fbea. + +2020-10-05 Andrea Corallo + + Revert "Add `advice-flet' macro" + + This reverts commit d07d7ab1a0e321ced62ebe5dd9db27eb7e93430e. + +2020-10-05 Andreas Schwab + + Use the full name of the null byte/character, not its abbreviation + + * lisp/subr.el (inhibit-nul-byte-detection): Make it an obsolete alias. + * src/coding.c (setup_coding_system): Use original name. + (detect_coding): Rename nul_byte_found => null_byte_found. + (detect_coding_system): Use original name. + Rename nul_byte_found => null_byte_found. + (Fdefine_coding_system_internal): Use original name. + (syms_of_coding): Rename inhibit-nul-byte-detection to + inhibit-null-byte-detection. + * src/w16select.c (get_clipboard_data): Rename nul_char to null_char. + * src/json.c (check_string_without_embedded_nulls): Rename from + check_string_without_embedded_nuls. + (Fjson_parse_string): Adjust accordingly. + * src/coding.h (enum define_coding_undecided_arg_index) + (enum coding_attr_index): Rename ...nul_byte... to ...null_byte.... + * lisp/info.el (info-insert-file-contents, Info-insert-dir): + * lisp/international/mule.el (define-coding-system): + * lisp/vc/vc-git.el (vc-git--call): + * doc/lispref/nonascii.texi (Lisp and Coding Systems): Use original name. + +2020-10-05 Michael Albinus + + * src/dbusbind.c (xd_signature): Better type check for array elements. + + * test/lisp/net/dbus-tests.el (dbus-test01-compound-types): Extend test. + +2020-10-05 Eli Zaretskii + + Fix merging of region face for non-ASCII characters + + * src/xdisp.c (extend_face_to_end_of_line): Restore the correct + original face used by the iterator on this line, not the ASCII + face. (Bug#43363) + +2020-10-05 Jared Finder + + Sort items in tmm properly, and allow clicking the final item + + * lisp/tmm.el (tmm-menubar-keymap): Sort the final items properly. + (tmm-menubar): Allow clicking the final menu item (bug#43756). + +2020-10-05 Juri Linkov + + Use … in Gnus mode lines (when shortening them) + + * lisp/gnus/gnus-sum.el (gnus-set-mode-line): Defer ellipsis + creation to `truncate-string-to-width' (bug#41250). This uses … + by default. + +2020-10-05 Andrea Corallo + + * configure.ac (lispdirrel): Fix value for MacOS build. + +2020-10-05 Nathan Moreau + + Improve support for using vc commands in indirect buffers + + * lisp/vc/vc.el (vc-deduce-fileset-1): New defun. + (vc-deduce-fileset): Adapt. + (vc-maybe-buffer-sync): New defun. + (vc-diff): Adapt. + (vc-ediff): Adapt. + (vc-root-diff): Adapt. + (vc-revision-other-window): Adapt (bug#40967). + +2020-10-05 Eli Zaretskii + + Fix the documentation parts of a recent commit + + * lisp/international/mule-util.el (truncate-string-ellipsis): Doc + fix. + + * doc/lispref/display.texi (Size of Displayed Text): Improve + wording and accuracy of the documentation of + 'truncate-string-to-width'. Document the function + 'truncate-string-ellipsis'. + + * etc/NEWS: Improve the wording of the entry for + 'truncate-string-to-width'. + +2020-10-05 Stefan Monnier + + * src/xdisp.c (syms_of_xdisp): New var `redisplay_skip_initial_frame`. + + This makes it possible to run most of the redisplay code (tho not the + actual drawing since there's nowhere to draw) even when there's no + real frame at hand, as is the case in batch mode. + This makes `xdisp-tests--minibuffer-resizing` work even in batch. + + (redisplay_internal): Obey it. + (init_xdisp): Set `echo_area_window` even in noninteractive mode. + * src/dispnew.c (update_frame): Skip the initial frame. + * src/frame.c (make_frame): Use 80x25 as the default initial size. + + * test/src/xdisp-tests.el (xdisp-tests--minibuffer-resizing): + Use the new var and fix use of `executing-kbd-macro`. + +2020-10-04 Andrea Corallo + + * configure.ac : Fix typo for MacOS nativecomp introduced by afb765ab3c + +2020-10-04 Juri Linkov + + Use '…' for ellipsis in truncate-string-to-width by default (bug#41250) + + * lisp/international/mule-util.el (truncate-string-ellipsis): + Change the default value to nil. + (truncate-string-ellipsis): New function. + (truncate-string-to-width): Use the value returned from the + function 'truncate-string-ellipsis'. + + * lisp/tab-bar.el (tab-bar-tab-name-truncated): + * lisp/tab-line.el (tab-line-tab-name-ellipsis): + Take advantage of the improvement of the ellipsis default value + in truncate-string-to-width and truncate-string-ellipsis. + + * doc/lispref/display.texi (Size of Displayed Text): + Improve description of truncate-string-ellipsis. + +2020-10-04 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-10-04 Andrea Corallo + + Make filename hashing compatible with self contained builds (bug#43532) + + * Makefile.in (lispdirrel): Add replace template. + (epaths-force): Form correctly 'PATH_REL_LOADSEARCH' into epath.h + * configure.ac (lispdirrel): Define variable (relative path of the + lisp files from the installation directory). + * src/comp.c (Fcomp_el_to_eln_filename): Update algorithm not to + rely on 'PATH_DUMPLOADSEARCH' but on 'PATH_REL_LOADSEARCH'. + * src/epaths.in (PATH_REL_LOADSEARCH): Add macro template. + +2020-10-04 Andrea Corallo + + * configure.ac: Better HAVE_NATIVE_COMP description + +2020-10-04 Andrea Corallo + + * Fix function description message for native compiled lisp functions + + * lisp/help-fns.el (help-fns-function-description-header): Fix + message. + +2020-10-04 Andrea Corallo + + * Fix two tests in help-fns-tests.el for native code + + * test/lisp/help-fns-tests.el (help-fns-test-lisp-defun) + (help-fns-test-lisp-defsubst): Fix description string + for native compiled functions. + +2020-10-04 Michael Albinus + + Make dbus-unregister-object work for monitors + + * doc/misc/dbus.texi (Monitoring Messages): Rename from + "Monitoring Events". + (Register Objects, Monitoring Messages): + Mention returned object. + + * lisp/net/dbus.el (dbus-unregister-object): Adapt docstring. + (dbus-unregister-object): Delete monitor if needed. + (dbus-register-monitor): Return proper object. + + * src/dbusbind.c (dbus-registered-objects-table): Adapt docstring. + + * test/lisp/net/dbus-tests.el (dbus--test-signal-handler): + Adapt docstring. + (dbus-test08-register-monitor): New test. + +2020-10-04 Lars Ingebrigtsen + + Make update-file-autoloads respect generated-autoload-file + + * lisp/emacs-lisp/autoload.el (update-file-autoloads): Make + update-file-autoloads respect `generated-autoload-file', as + documented. + +2020-10-03 Eli Zaretskii + + Avoid segfaults in lookup_image when faces were freed + + * src/image.c (lookup_image): Make sure the frame's face cache + exists and has at least the basic faces. If FACE_ID is not a + basic face, and is no longer cached, fall back on the 'default' + face. (Bug#43700) + +2020-10-03 Mauro Aranda + + Support extended menus in widget-choose + + * doc/misc/widget.texi (Utilities): Document widget-choose. + + * etc/NEWS: Document the feature (bug#4787). + * lisp/wid-edit.el (widget--simplify-menu): New function, to convert + extended menus into simplified menus when using the menu to prompt + through the minibuffer. + (widget-choose): Accept a keymap menu. When not using x-popup-menu, + simplify the menu with widget--simplify-menu. Document the changes in + the docstring. + +2020-10-03 Alan Third + Daniel Martín + + Make drag and drop on NS open all URLs (bug#43470) + + * lisp/term/ns-win.el (ns-drag-n-drop): Merge generic and copy + actions. + +2020-10-02 Alan Mackenzie + + Enhance syntax-tests.el to test comments in parse-partial-sexp + + This now tests the interface between parse-partial-sexp and the low level + comment function in syntax.c + + * test/src/syntax-tests.el (syntax-comments-midpoint): New function. + (syntax-pps-comments): New macro. + (top level): Two new syntax-br-comments tests and five new syntax-pps-comments + tests. + + * test/data/syntax-comments.txt (top level): Amend some test fragments and add + some more. + +2020-10-02 Mattias EngdegÃ¥rd + + Calc: fix formatting and parsing Unix time (bug#43759) + + The number of days from epoch to Jan 1, 1970 that was used in parsing + and formatting Unix time was incorrect. The previous fix + (in e368697ce36) was incomplete. + + Reported by Vincent Belaïche. + + * lisp/calc/calc-forms.el (math-unix-epoch): New constant. + (math-format-date-part, math-parse-standard-date, calcFunc-unixtime): + Use math-unix-epoch instead of a constant that is sometimes wrong. + * test/lisp/calc/calc-tests.el (calc-unix-date): New test. + +2020-10-02 Andrea Corallo + + Use `advice-flet' in place of `cl-letf' to avoid primitive redefinition + + * test/lisp/time-stamp-tests.el (with-time-stamp-system-name): Use + `advice-flet' to advice primitive avoiding redefinition. + + * test/lisp/tempo-tests.el (tempo-p-element-test) + (tempo-P-element-test, tempo-r-element-test) + (tempo-s-element-test, tempo-r>-element-test): Likewise. + + * test/lisp/subr-tests.el (subr-tests-bug22027): Likewise. + + * test/lisp/shadowfile-tests.el (shadow-test00-clusters) + (shadow-test01-sites, shadow-test06-literal-groups) + (shadow-test07-regexp-groups): Likewise. + + * test/lisp/replace-tests.el (replace-tests-with-undo): Likewise. + + * test/lisp/play/dissociate-tests.el + (dissociate-tests-dissociated-press): Likewise. + + * test/lisp/net/tramp-tests.el (tramp-test10-write-region) + (tramp-test21-file-links): Likewise. + + * test/lisp/kmacro-tests.el (kmacro-tests-call-macro-hint-and-repeat) + (kmacro-tests-repeat-on-last-key) + (kmacro-tests-repeat-view-and-run) + (kmacro-tests-bind-to-key-with-key-sequence-in-use): Likewise. + + * test/lisp/files-tests.el (files-tests-read-file-in-~): Likewise. + + * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): + Likewise. + + * test/lisp/bookmark-tests.el (bookmark-test-bmenu-locate): + Likewise. + + * test/lisp/abbrev-tests.el + (inverse-add-abbrev-skips-trailing-nonword) + (inverse-add-abbrev-skips-trailing-nonword/positive-arg) + (inverse-add-abbrev-skips-trailing-nonword/negative-arg): Likewise. + +2020-10-02 Andrea Corallo + + Add `advice-flet' macro + + The testsuite does large use of primitive redefinition, to avoid that + we define `advice-flet' to use instead as an easy `cl-letf' + replacement. + + * lisp/emacs-lisp/nadvice.el (advice-flet): New macro. + +2020-10-02 Alan Mackenzie + + Enhance syntax-tests.el to test comments in scan-lists + + This now tests the interface between scan_lists and the comment functions. + + * test/src/syntax-tests.el (syntax-br-comments): New macro. + ({-in, ;-in, /*-in): Set parse-sexp-ignore-comments to t. + (top level): Add 15 tests for comments inside brace lists. + + * test/data/syntax-comments.txt (top level): Amend some test fragments. + +2020-10-02 Glenn Morris + + Merge from origin/emacs-27 + + 78eacf31e8 ; Fix many typos in symbols in docs and comments + d5d12707d6 * doc/misc/flymake.texi (Using Flymake): Fix a typo. (Bug... + + # Conflicts: + # lisp/allout.el + # lisp/progmodes/ebrowse.el + +2020-10-02 Glenn Morris + + Merge from origin/emacs-27 + + 41dcbeccf3 Make aliases introduced in previous patch obsolete + 4997032c05 Restore some public debugging functions removed in Emacs 27 + +2020-10-02 Glenn Morris + + Merge from origin/emacs-27 + + 2af6b3147d Clarification in Tramp manual + 8fbaca7d41 Check Emacs version used for Tramp compilation + 90e5549f02 Don't signal an error when saving files on WdebDAV volumes + 6f73cc3579 ; * lisp/net/eww.el (eww-search-words): Doc fix. + ce0842a165 * lisp/hi-lock.el (hi-lock-find-patterns): Autoload it. (... + +2020-10-02 Lars Ingebrigtsen + + Fix electric-buffer-list buffer selection + + * lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is + restored, which isn't always the case if + global-display-line-numbers-mode (bug#43755). This enables + selecting buffers again. + +2020-10-02 Andrea Corallo + + * When advising search in `comp-eln-load-path' the first writable dir + + * lisp/emacs-lisp/comp.el (comp-tampoline-compile): Do not crash + if we can't write in the first entry in `comp-eln-load-path' but + search for another one. + +2020-10-02 Andrea Corallo + + * Fix 'incoherent dumped eln file' error when DUMP-METHOD=pbootstrap + + * src/Makefile.in ($(bootstrap_pdmp)): Add missing --bin-dest + --eln-dest flags. + +2020-10-02 Andrea Corallo + + * src/pdumper.c (dump_do_dump_relocation): Better error for incoherent eln. + +2020-10-02 Eli Zaretskii + + * doc/misc/flymake.texi (Using Flymake): Fix a typo. (Bug#43758) + +2020-10-02 Stefan Monnier + + CC Mode: Convert the handling of c-special-indent-hook to standard usage + + * lisp/progmodes/cc-styles.el (c-set-style): Use kill-local-variable rather + than copying the hook's global value to the local binding. + (c-make-styles-buffer-local): Remove redundant make-variable-buffer-local. + +2020-10-02 Robert Pluim + + Don't error if no GPG signing key configured + + * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Partially revert + "Make mml-secure-epg-sign bug out if we can't find an identity". + It causes signing to fail for people who have not set up + mml-secure-{smime,openpgp}-sign-with-sender, which is a regression + from Emacs-26 (Bug#40118). In such a situation gpg will use its + default key. + + Do not merge to master. On master Emacs will query the user. + +2020-10-02 Mattias EngdegÃ¥rd + + Calc: fix business days calculation (bug43677) + + The calculation of business days was broken in 2012 (probably + 310e60d9454fe2 or thereabouts) when the date representation changed + epoch so that Jan 1, 1 AD became day number 1 instead of 0. Repair + this, along with an unrelated bug that prevented arbitrary holiday + weekdays from working. + + Reported by Aaron Zeng. + + * lisp/calc/calc-forms.el (math-to-business-day) + (math-from-business-day): Correct calculation of weekdays using Calc's + current (Rata Die) chronology. Modify loop condition to cope with odd + sets of holiday weekdays. + * test/lisp/calc/calc-tests.el (calc-business-days): New test. + +2020-10-02 Andrea Corallo + + Clean-up testsuite for vanilla builds + + Tag all native compiler tests and skip them in vanilla builds + + * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE) + (SELECTOR_ALL): Define selectors for vanilla or nativecomp builds. + * test/src/comp-tests.el: Do not native compile test files on + vanilla. + (comp-deftest): New macro to define tests tagging as :nativecomp. + +2020-10-02 Lars Ingebrigtsen + + Fix electric-buffer-list buffer selection + + * lisp/ebuff-menu.el (electric-buffer-list): Ensure that point is + restored, which isn't always the case if + global-display-line-numbers-mode (bug#43755). This enables + selecting buffers again. + +2020-10-02 Dmitry Gutov + + Make xref work better on variables in shell-script-mode + + * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Classify "/" + as punctuation so that `M-.' on $foo/bar works on the $foo part + (bug#25585). + +2020-10-02 Lars Ingebrigtsen + + Make `C-c C-e' in Python buffers work + + * lisp/progmodes/python.el (python-shell-send-statement): Don't + send a cookie, because that leads to the naked expression not + being evaled (bug#43450). + (python-shell-send-region): Allow not sending a cookie. + (python-shell-buffer-substring): Ditto. + +2020-10-02 Per Starbäck + + python-shell-send-defun doesn't find the (whole) definition + + * lisp/progmodes/python.el (python-shell-send-defun): Fix C-M-x + for definitions like @property\ndef bar(): (bug#37828). + +2020-10-02 Robert Pluim + + Make setting verify-hostname-error not make connections fail + + * lisp/net/gnutls.el (gnutls-boot-parameters): If + verify-hostname-error was set, this would make verify-error a + non-proper list (bug#38602). + +2020-10-02 Lars Ingebrigtsen + + Stop using a dynamically bound 'generated-autoload-file' variable + + * doc/lispref/loading.texi (Autoload): Document change of name + (bug#39823). + + * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Pass + the file name in. + (autoload-generated-file): Ditto. + (autoload-file-load-name): Ditto. + (generate-file-autoloads): Ditto. + (autoload--setup-output): Ditto. + (autoload-generate-file-autoloads): Ditto, and alter doc string to + reflect when `generated-autoload-file' is heeded. + (update-file-autoloads): Pass outfile in to functions. + (autoload-find-destination): Ditto. + (update-directory-autoloads): Make into an obsolete shim around + `make-directory-autoloads'. + (make-directory-autoloads): Renamed from + `update-directory-autoloads' with new semantics. + (batch-update-autoloads): Adjust caller. + + * lisp/emacs-lisp/package.el (package-generate-autoloads): Adjust + caller. + +2020-10-02 Shohei YOSHIDA + + Fix --with-json message + + * configure.ac (WIDE_EMACS_INT): Fix --with-json help message + (bug#43754). + +2020-10-02 Trevor Murphy + + Fix check for derived modes in display-buffer-reuse-mode-window + + * lisp/window.el (display-buffer-reuse-mode-window): Make the + check for derived modes actually work (bug#38677). + +2020-10-01 Tino Calancha + + Fix wdired-do-perm-changes when over Tramp + + * lisp/wdired.el (wdired-do-perm-changes) Use set-file-modes + instead of external program (bug#39284). This fixes the problem + of passing the wrong argument to the external chmod. + +2020-10-01 Tino Calancha + + Fix bug in wdired-get-filename + + * lisp/wdired.el (wdired-get-filename): Acknowledge the first + argument (bug#39280). + * test/lisp/wdired-tests.el (wdired-test-bug39280): Add test. + +2020-10-01 Alan Mackenzie + + Enhance syntax-tests.el to test some comment character handling. + + * test/src/syntax-tests: Add a new section testing some aspects of comment + handling in syntax.c. This needs further enhancement. It uses .... + + * test/data/syntax-comments.txt: A new test file. + +2020-10-01 Juri Linkov + + Use new faces isearch-group-odd and isearch-group-even (bug#43702) + + * lisp/isearch.el (isearch-group-odd, isearch-group-even): New faces + instead of isearch-group-1 .. isearch-group-9. + (isearch-highlight): Use new faces. + +2020-10-01 Allen Li + + Make recentf daily cleanup repeat + + * lisp/recentf.el (recentf-auto-cleanup): Fix wording. + * lisp/recentf.el (recentf-auto-cleanup): Make timer repeat, + update docstring. + * etc/NEWS: Update news (bug#39638). + +2020-10-01 Michael R. Mauger + + 2020-03-29 Michael R. Mauger + + * lisp/progmodes/sql.el (sql-add-product): Re-correct argument + spec. Previous change was due to my mistake; I have + resolved back to the prior behavior (Bug#39960). + * test/lisp/progmodes/sql-tests.el (sql-test-add-product): Added + test to insure I don't make the same mistake again. + +2020-10-01 Boruch Baum + + command-execute doc string clarification + + * lisp/simple.el (command-execute): Doc string clarification + (bug#43749). + +2020-10-01 Lars Ingebrigtsen + + Make aliases introduced in previous patch obsolete + + * lisp/emacs-lisp/debug.el (debugger-toggle-locals): + (debug-help-follow): Make reinstated aliases obsolete. + +2020-10-01 Gemini Lasswell + + Restore some public debugging functions removed in Emacs 27 + + * lisp/emacs-lisp/backtrace.el (backtrace--to-string): New function. + (backtrace-to-string): Use it. Fix whitespace (bug#40728). + * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function. + Mark it as obsolete. + (debugger-toggle-locals, debug-help-follow): New aliases. + +2020-10-01 Lars Ingebrigtsen + + Fix loading WSDL data again + + * lisp/net/soap-client.el (soap-make-wsdl): Change the WSDL + namespace back again. + +2020-10-01 Lars Ingebrigtsen + + Fix restoring data in visual-line-mode + + * lisp/simple.el (visual-line-mode): Only save values once, even + if the mode is switched on twice (bug#43730). This makes both + previously set local values for variables like truncate-lines, as + well as default values for truncate-lines restorable. + + * lisp/emulation/cua-base.el (cua-mode): Ditto. + +2020-10-01 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-bootstrap): Tag it as expensive. + +2020-10-01 Stefan Kangas + + Silence byte-compiler in two tests + + * test/lisp/obsolete/cl-tests.el (require): + * test/lisp/simple-tests.el (simple-test-count-words-bug-41761): + Silence byte-compiler. + +2020-10-01 Stefan Kangas + + Remove some obsolete URLs + + * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): + Remove some obsolete URLs. + +2020-10-01 Stefan Kangas + + Don't quote lambdas in several places + + * admin/find-gc.el (find-gc-unsafe): + * lisp/align.el (align-rules-list): + * lisp/comint.el (comint-arguments): + * lisp/double.el (isearch-mode-map): + * lisp/ehelp.el (electric-help-command-loop): + * lisp/emacs-lisp/cl-macs.el (cl-defstruct): + * lisp/emulation/cua-rect.el (cua--copy-rectangle-as-kill) + (cua-copy-rectangle-as-text): + * lisp/eshell/esh-var.el (eshell-parse-variable-ref): + * lisp/hexl.el (hexl-insert-multibyte-char): + * lisp/international/titdic-cnv.el (tsang-quick-converter) + (ziranma-converter): + * lisp/language/tibet-util.el (tibetan-decompose-precomposition-alist): + * lisp/mail/mailalias.el (mail-get-names): + * lisp/mh-e/mh-e.el (mh-auto-fields-list, mh-identity-default): + * lisp/mouse.el (mouse-buffer-menu-map, mouse-buffer-menu-alist): + * lisp/play/gametree.el (gametree-make-heading-function): + * lisp/shell.el (shell--command-completion-data): + * lisp/talk.el (talk-update-buffers): + * lisp/tempo.el (tempo-insert-template, tempo-is-user-element) + (tempo-build-collection): + * lisp/term.el (term-input-filter, term-pager-help): + * lisp/textmodes/table.el (table-delete-column): + * lisp/url/url-cache.el (url-cache-create-filename-human-readable): + * lisp/textmodes/tex-mode.el (latex-imenu-create-index): Don't quote + lambdas. + +2020-10-01 Stefan Kangas + + Don't recommend quoting lambdas + + * doc/misc/calc.texi (Symbolic Lisp Functions): + * doc/misc/cl.texi (Obsolete Lexical Binding): + * lisp/master.el: + * lisp/progmodes/sql.el (sql-interactive-mode): + * lisp/textmodes/flyspell.el (flyspell-mode): + * lisp/textmodes/ispell.el (ispell-message): + * lisp/textmodes/table.el: Doc fixes; don't recommend quoting + lambdas. + +2020-10-01 Michael Albinus + + Clarification in Tramp manual + + * doc/misc/tramp.texi: Harmonize "Git" spelling. + (Frequently Asked Questions): Describe Emacs version mismatch. + +2020-10-01 Michael Albinus + + Check Emacs version used for Tramp compilation + + * lisp/net/tramp-compat.el (tramp-compat-emacs-compiled-version): + New defconst. Raise a warning, when it is not equal to the Emacs + version. + +2020-10-01 Michael Albinus + + Use Fkeywordp in dbusbind.c, again + + * src/dbusbind.c (XD_KEYWORDP): New macro. + (XD_DBUS_TYPE_P, Fdbus__init_bus, xd_read_queued_messages): Use it. + +2020-10-01 Michael Albinus + + Revert last change in dbusbind.c + + * src/dbusbind.c (XD_DBUS_TYPE_P, Fdbus__init_bus) + (xd_read_queued_messages): Revert last change. (Bug#43724) + +2020-10-01 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-c-func-name): Add autoload cookie. + +2020-10-01 Lars Ingebrigtsen + + Remove mml-sec-test that assumes the first signature + + This is no longer supported; the user is asked for what signature to + use. + +2020-10-01 Lars Ingebrigtsen + + Make mml-sec-tests not hang waiting for input + + * lisp/gnus/mml-sec.el (mml-secure-epg-sign): Only query if we're + running interactively. This makes a test not hang. + +2020-10-01 Pip Cet + + Don't optimize away star patterns in minibuffer file name completion + + * lisp/minibuffer.el (completion-pcm--optimize-pattern): Keep + 'star in the pattern (bug#41705). + +2020-10-01 Lars Ingebrigtsen + + Fix the end-of-query prompt in multi-occur and multi-isearch when fido + + * lisp/misearch.el (multi-isearch-read-buffers): Ditto. + + * lisp/replace.el (multi-occur--prompt): New function (bug#41633). + (multi-occur): Use it. + +2020-10-01 Alex Bochannek + + Make gnus-base64-repad a bit stricter again + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Make the code a bit + stricter again. + +2020-10-01 Robert Pluim + + Query for the signer when sending signed mail (with unknown signer) + + * lisp/gnus/mml-sec.el (mml-secure-sender-sign-query): New + function (bug#40118). + (mml-secure-epg-sign): Use it to determine the signer (bug#40118). + + * lisp/gnus/mml-sec.el + (mml-secure-allow-signing-with-unknown-recipient): Remove. + +2020-10-01 martin rudalics + + Fix segfault in some cases when restoring a selected window + + * src/xdisp.c (restore_selected_window): Fix the more grave + problems caused by a function deleting the previously selected + frame or window (bug#39977). + +2020-10-01 Boruch Baum + + Split auto-revert-buffers into several functions + + * lisp/autorevert.el (auto-revert--buffer-candidates) + (auto-revert-buffer): Refactor out... + (auto-revert-buffers): ... from here. + +2020-10-01 Lars Ingebrigtsen + + Fix up previous window excursion patch in epa--select-keys + + * lisp/epa.el (epa--select-keys): Use save-window-excursion + instead of open-coding the macro. + +2020-10-01 Stefan Monnier + + * lisp/term.el: Make C-/ undo in a nested Emacs subprocess + + (term-send-C-_): New function. + (term-raw-map): Use it for `C-/`, as is done in xterm and friends. + +2020-10-01 Stefan Monnier + + * doc/emacs/basic.texi (Basic Undo): Explain the C-/ situation in xterm + + AFAICT, in ttys you can send a `C-_` to Emacs either by pressing + `C-/` (e.g. xterm, uxterm, rxvt, xfce4-terminal, gnome-terminal) + or by pressing `C--` (e.g. rxvt, Linux console). + +2020-10-01 Richard M Stallman + + When recipient has no public key, make offer to skip it optional. + + * epa-mail.el (epa-mail-offer-skip): New option. + (epa-mail-encrypt): If epa-mail-offer-skip is nil, + don't offer to skip a keyless recipient, just cause error. + +2020-10-01 Richard M Stallman + + Clarify previous undo keys change + + Clarify which terminals allow C-/ and which make C-_ easy to type. + +2020-09-30 Lars Ingebrigtsen + + Further doc fixes for dotimes about RESULT + + * lisp/subr.el (dotimes): Be even more explicit about RESULT + (bug#16206). + +2020-09-30 Eli Zaretskii + + Minor documentation copyedits + + * etc/NEWS: + * doc/emacs/dired.texi (Dired Enter): Fix wording, punctuation, + and typos in doc of 'dired-switches-in-mode-line'. + +2020-09-30 Vladimir Nikishkin (tiny change) + + Fix problem with parsing . as a symbol in bovine + + * lisp/cedet/semantic/bovine/scm.el (semantic-lex-scheme-symbol): + Symbols do not have to start with a word-constituent character + (bug#40034). In particular, symbols like : and . are valid. + +2020-09-30 Drew Adams + + Allow controlling the Dired switches shown in the mode line + + * doc/emacs/dired.texi (Dired Enter): Document it (bug#41250). + + * lisp/dired.el (dired-switches-in-mode-line): New variable (bug#41250). + (dired-sort-set-mode-line): Use it. + +2020-09-30 Lars Ingebrigtsen + + Fix problem of having the wrong window selected after saving foo.gpg + + * lisp/epa.el (epa--select-keys): Restore the window configuration + after selecting the key to use (bug#43703). This also ensures + that the buffer we were editing ends up as the current buffer + after saving it, instead of selecting a different window. + +2020-09-30 Andrea Corallo + + * Improve some docstring in src/comp.c + + * src/comp.c (Fcomp_el_to_eln_filename) + (Fcomp__compile_ctxt_to_file): Improve docstring. + (Fcomp__compile_ctxt_to_file): Rename 'file_name' -> 'filename'. + (Fnative_comp_available_p): Improve docstring. + +2020-09-30 Eli Zaretskii + + Fix 'move-to-column' when invisible text follows a TAB + + * src/indent.c (scan_for_column): Accept 2 more arguments, and + report through them the position corresponding to PREVCOL. All + callers changed. + (Fmove_to_column): Use the prev_col's position to test for a TAB + instead of assuming that the TAB is just before point (which is + false when there's invisible text around). (Bug#43587) + + * test/src/indent-tests.el: New file. + +2020-09-30 Lars Ingebrigtsen + + Clarify the "Forgot to expand macro" message + + * lisp/emacs-lisp/bytecomp.el (byte-compile-form): Make the + define-after-use warning for macros clearer (bug#43678). + +2020-09-30 Andrea Corallo + + * .gitlab-ci.yml: Uncomment some testing to align with master. + +2020-09-30 Eli Zaretskii + + Minor fixes of recent changes + + * lisp/emacs-lisp/generic.el (define-generic-mode): Fix typos. + + * etc/NEWS: Adjust an entry due to recent changes. + +2020-09-30 Michael Albinus + + Stricter checks for D-Bus compound types. + + * src/dbusbind.c (XD_DBUS_TYPE_P, Fdbus__init_bus) + (xd_read_queued_messages): Use Fkeywordp instead of SYMBOLP. + (xd_signature): Stricter checks for compound types. + + * test/lisp/net/dbus-tests.el (dbus-test01-compound-types): Extend test. + +2020-09-30 Michael Albinus + + Minor code cleanup in dbus-tests.el + + * test/lisp/net/dbus-tests.el (dbus--tests-dir): Make it a defconst. + (dbus--test-method-reentry-handler): Mark args as unused. + (dbus-test04-method-reentry): Tag it :expensive-test. Fix typo. + (dbus-test06-property-types): Remove duplicate test. + (dbus--test-introspect): Use `insert-file-contents-literally'. + (dbus--test-validate-property): Mark expected-annotations as unused. + (dbus--test-validate-m-or-s): Remove superfluous le-clause. + +2020-09-30 Hugh Daschbach + + Add D-Bus method-call reentrant test + + * test/lisp/net/dbus-tests.el (dbus--tests-method-reentry-handler): + New defun. + (dbus-test04-method-reentry): New test. (Bug#43251) + +2020-09-30 Hugh Daschbach + + * test/lisp/net/dbus-tests.el: Add timeout tests. + + (dbus-test04-call-method-timeout, dbus-test07-introspection-timeout): + New tests. + +2020-09-30 Hugh Daschbach + + Add D-Bus introspection tests + + * lisp/net/dbus.el (dbus-annotation-deprecated): New defconst. + + * test/lisp/net/dbus-tests.el (dbus--tests-dir): New defvar. + (dbus--test-introspect, dbus--test-validate-interface) + (dbus--test-validate-annotations, dbus--test-validate-property) + (dbus--test-validate-m-or-s, dbus--test-validate-signal) + (dbus--test-validate-method): New defuns. + (dbus-test07-introspection): New test. + + * test/lisp/net/dbus-resources/org.gnu.Emacs.TestDBus.xml: + New test data. + +2020-09-30 Hugh Daschbach + + * test/lisp/net/dbus-tests.el: Add property tests. (Bug#43252) + + (dbus--test-run-property-test, dbus--test-property): New defuns. + (dbus-test06-property-types): New test for property registration, + set, get. + +2020-09-30 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into clean-up + +2020-09-30 Stefan Monnier + + Don't have C-x = bug out in a "C" locale with non-ASCII chars + + * lisp/simple.el (what-cursor-position): Ensure that we always + have a coding system here, even if the locale is "C" (bug#40702). + +2020-09-30 Lars Ingebrigtsen + + Fix whitespace regexp in gnus-base64-repad + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Fix the whitespace + regexp. + +2020-09-30 Lars Ingebrigtsen + + Fix gnus-base64-repad test failures + +2020-09-30 Stefan Monnier + + * lisp/emacs-lisp/cl-macs.el (hash-table): Define the type's typep test + +2020-09-30 Lars Ingebrigtsen + + Fix isearch-group-* colours on low-colour displays + + * lisp/isearch.el (isearch-group-1): On low-colour displays, just + use the normal isearch colour (bug#43702). + (isearch-group-2 etc): Ditto. + +2020-09-30 Lars Ingebrigtsen + + define-generic-mode doc string fix + + * lisp/emacs-lisp/generic.el (define-generic-mode): Say what a + generic mode is (bug#43713). + +2020-09-30 Lars Ingebrigtsen + + Give better error feedback on wrong password in .gpg files + + * lisp/epa-file.el (epa-file--find-file-not-found-function): Do a + user-error when there's a wrong password (bug#43704). + (epa--wrong-password-p): New function. + (epa-file-insert-file-contents): Use it, and stash the error away + for later signalling. + + * lisp/emacs-lisp/subr-x.el (if-let): Autoload. + +2020-09-30 Thomas Fitzsimmons + + soap-client: Bump version to 3.2.0 + + * lisp/net/soap-client.el: Bump version to 3.2.0. + +2020-09-30 Thomas Fitzsimmons + + soap-client: Remove FIXME comment + + * lisp/net/soap-client.el (soap-encode-attributes): Remove + cl-defmethod FIXME comment; continue supporting Emacs 24.1. + +2020-09-30 Thomas Fitzsimmons + Paul Eggert + + soap-client: Update soap-decode-date-time + + * lisp/net/soap-client.el (soap-decode-date-time): Add support for + Emacs versions that support fractional seconds. Make DATATYPE + optional. Remove FIXME comment. + +2020-09-29 Michael Albinus + + More strict D-Bus type checking + + * lisp/net/dbus.el (dbus-register-monitor): Register proper key. + (dbus-monitor-handler): Adapt docstring. Use grave text-quoting-style. + + * src/dbusbind.c (xd_signature, xd_append_arg): More strict tests. + (syms_of_dbusbind): Adapt docstring. + + * test/lisp/net/dbus-tests.el (dbus-test01-basic-types): Extend test. + +2020-09-29 Eli Zaretskii + + Don't signal an error when saving files on WdebDAV volumes + + * src/w32.c (acl_get_file): If get_file_security raises the + ERROR_ACCESS_DENIED error, treat that like unsupported ACLs. + +2020-09-29 Andrea Corallo + + * Some clean-up in comp.el + + * lisp/emacs-lisp/comp.el (comp-emit-cond-jump, comp-emit-switch) + (comp-limplify-block, comp-compute-edges) + (comp-ssa-rename, comp-fwprop*, comp-effective-async-max-jobs) + (comp-run-async-workers): Respect max 80 columns. + (batch-byte-native-compile-for-bootstrap): Improve doc + remove + some now unnecessary error handling. + +2020-09-29 Lars Ingebrigtsen + + Fix emacsclient -c foo.txt behaviour with many frames + + * lisp/server.el (server-execute): Pass in whether we opened a new + frame or not (bug#43645). + (server-switch-buffer): Use this to switch to the requested buffer + in the new frame if we have "emacsclient -c foo.txt", and retain + the old behaviour if it's "emacsclient foo.txt". + +2020-09-29 Lars Ingebrigtsen + + Make M-x compile skip the header when looking for errors etc + + * lisp/progmodes/compile.el (compilation--ensure-parse): Skip the + header when parsing (bug#43651). + (compilation-start): Mark the end. + +2020-09-29 Lars Ingebrigtsen + + Fix space parsing in gnus-base64-repad + + * lisp/gnus/gnus-util.el (gnus-base64-repad): Get the separator + regexp right -- there will often be spaces around the newlines. + +2020-09-29 Mattias Engdegård + + * lisp/gnus/smime.el (smime-openssl-program): Allow nil value. + +2020-09-29 Mattias Engdegård + + Fix custom-tests with non-GNU grep + + * admin/cus-test.el (cus-test-get-lisp-files): Add path argument required + by standard grep (BSD, for instance). + +2020-09-29 Stefan Monnier + + * src/eval.c (Fapply): Simplify last change + +2020-09-28 Andrea Corallo + + Rename in docstrings "non nil" into "non-nil" + + * lisp/emacs-lisp/comp.el: Rename non nil -> non-nil in doc. + + * src/comp.c: Likewise. + +2020-09-28 Andrea Corallo + + * src/lisp.h: Remove a newline diff left over master. + +2020-09-29 Andrea Corallo + + Clean-up some now unnecessary diff against master + + * lisp/emacs-lisp/autoload.el (update-directory-autoloads): + .eln files have been moved so remove the '.eln' match. + + * lisp/emacs-lisp/bytecomp.el (byte-compile-refresh-preloaded): + Likewise. + + * lisp/emacs-lisp/find-func.el (find-library-suffixes): Clean-up + as '.eln' is no more in `load-suffixes'. + + * lisp/help-fns.el (find-lisp-object-file-name): Clean-up as + `symbol-file' will return the '.elc' file. + + * src/lread.c (Fget_load_suffixes): Remove logic as '.eln' is not + anymore in load-suffixes. + (openp): Two spaces. + +2020-09-28 Michael Albinus + + Improve D-Bus monitor + + * lisp/net/dbus.el (dbus-monitor-method-call) + (dbus-monitor-method-return, dbus-monitor-error) + (dbus-monitor-signal): New defconsts. + (dbus-monitor-goto-serial): New defun. + (dbus-monitor-handler): Use them. Add timestamp. Make also links + between D-Bus messages with the same serial. + +2020-09-28 Earl + + Suggest region contents in highlight-regexp when region active + + * lisp/hi-lock.el (hi-lock-face-buffer): Use the region in the + prompt if the region is active in transient-mark-mode (bug#43641). + +2020-09-28 Harald Jörg + + cperl-mode: Add compatibility for Emacs 26.1 + + * lisp/progmodes/cperl-mode.el (cperl--time-convert): New + compatibility helper for time-convert (available in Emacs + 27.1) + (cperl--format-prompt): New compatibility helper for + format-prompt (available in Emacs 28) + (cperl-info-on-command): use cperl--format-prompt + (cperl-perldoc): use cperl--format-prompt + (cperl-time-fontification): use cperl--time-convert (bug#43652) + +2020-09-28 Alex Bochannek + + Repad the Face header in Gnus + + * lisp/gnus/gnus-fun.el (gnus-convert-face-to-png): Use it. + + * lisp/gnus/gnus-util.el (gnus-base64-repad): New function (bug#43441). + +2020-09-28 Jan Tatarik + + Fix Gnus parsing of weekly recurring icalendar events + + * lisp/gnus/gnus-icalendar.el + (gnus-icalendar-event:recurring-interval): Fix parsing of weekly + recurring events (bug#43669). + + Example: in the absence of explicit INTERVAL value in the calendar + event, a weekly event with occurrences scheduled for Mondays and + Wednesdays should receive the default recurring interval of "1" and the + org mode timestamp repeater should be "+1w". + + Due to a bug in the current code we receive "WEEKLY" and "+WEEKLYw" + instead. The patch fixes the issue. + +2020-09-28 Eli Zaretskii + + * lisp/hi-lock.el (hi-lock-find-patterns): Autoload it. (Bug#43670) + +2020-09-28 Stefan Monnier + + Fix pcomplete completion of things like `xargs` and `sudo` (bug#16197) + + * lisp/pcmpl-unix.el (pcomplete/xargs): Don't `pcomplete-this` around + `pcomplete-command-completion-function`. + (pcomplete/sudo): Make it an alias for `pcomplete/xargs`. + + * lisp/shell.el (shell-command-completion-function): Return the + names from `exec-path` when the command name has no `/`. + +2020-09-27 Michael Albinus + + Document D-Bus monitoring + + * doc/misc/dbus.texi: Replace "symbol" by "keyword" where appropriate. + (Alternative Buses): Adapt dbus-init-bus description. + (Errors and Events): Adapt dbus-event structure. New defuns + dbus-event-destination-name, dbus-event-handler and dbus-event-arguments. + (Monitoring Events): New node. + + * lisp/net/dbus.el: Replace "symbol" by "keyword" where appropriate. + (cl-lib): Require. + (dbus-register-monitor): Adapt the argument list. + (dbus-monitor-handler): Extend. + (dbus-init-bus): Adapt docstring. + + * test/lisp/net/dbus-tests.el (dbus-test01-compound-types): + Skip if needed. Extend test. + +2020-09-27 Glenn Morris + + Merge from origin/emacs-27 + + 0b78785a9b (origin/emacs-27) Minor copyedits in the Emacs user manual + 0dfc6fdc1f Followup to a recent change in menu-bar.el + 767713682c Enable "Continue Tags Search" menu item only when it can b... + 4bb7532163 Fix soap-client URL + +2020-09-27 Glenn Morris + + Merge from origin/emacs-27 + + f31c6792ab Fix support for Zip64 zip files + ba635a19fb * lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix. (B... + cc8fef2bdd Avoid infinite recursion with 'relative' line numbers display + 395f10cb98 ; Fix more trivial typos + bf4accb65e ; Fix some trivial typos + + # Conflicts: + # etc/NEWS + # lisp/arc-mode.el + +2020-09-27 Pip Cet + + Fix more single-byte accesses caused by bytepos/charpos confusion + + * src/cmds.c (internal_self_insert): Use FETCH_BYTE, not + FETCH_CHAR, for a decremented byte position (bug#41520). + + * src/xdisp.c (Fwindow_text_pixel_size, trailing_whitespace_p): Ditto. + +2020-09-27 Pip Cet + + Handle single-argument `apply' consistently (bug#40968) + + * src/eval.c (Fapply): Handle (apply nil) without crashing. + Document single-argument form. + * lisp/emacs-lisp/byte-opt.el (byte-optimize-apply): Don't attempt + to optimize single-argument apply. + * doc/lispref/functions.texi (Calling Functions): Document + single-argument apply. Provide example (bug#40968). + +2020-09-27 Pip Cet + + Avoid 1s sleep-for before sending the startfile to a comint process + + * lisp/comint.el (comint-exec): Simplify startup file code. + (Bug#41640). + +2020-09-27 Simon Lang + + Add a new grep-match-regexp variable + + * doc/emacs/building.texi (Grep Searching): Document it. + + * lisp/progmodes/grep.el (grep-match-regexp): New variable (bug#41766). + (grep-filter): Use it. + +2020-09-27 Mattias Engdegård + + Minor string-search optimisations (bug#43598) + + * src/fns.c (Fstring_search): Perform cheap all-ASCII checks before more + expensive ones. Use a faster loop when searching for non-ASCII + non-raw bytes. + * test/src/fns-tests.el (string-search): Add more test cases. + +2020-09-27 Mattias Engdegård + + Improve accuracy in string-replace description (bug#43598) + + * doc/lispref/searching.texi (Search and Replace): More careful + description; string-replace does not necessarily return a copy. + +2020-09-27 Eli Zaretskii + + Minor copyedits in the Emacs user manual + + * doc/emacs/emacs.texi (Top): Remove "real-time" from the Emacs + description; add "advanced", to be consistent with what we say in + the Introduction section. (Bug#43633) + +2020-09-27 Eli Zaretskii + + Improve documentation of the 'abbrev-suggest' feature + + * lisp/abbrev.el (abbrev-suggest, abbrev-suggest-hint-threshold) + (abbrev-suggest-show-report): Improve wording of the doc strings. + + * doc/emacs/abbrevs.texi (Abbrevs Suggestions): Fix the typo in + the node name. Improve wording. + * doc/emacs/emacs.texi (Top): Add the new node in the @detailmenu + section. + + * etc/NEWS: Improve wording of the NEWS entry for + 'abbrev-suggest'. + +2020-09-27 Eli Zaretskii + + Improve display of raw bytes in the echo-area + + * src/print.c (print_object): When printing a unibyte string, + convert non-ASCII bytes to their character code, before sending + them to 'printchar'. (Bug#43632) + +2020-09-27 Lars Ingebrigtsen + + Fix searching for multibyte needles in unibyte haystacks + + * src/fns.c (Fstring_search): Make this work better when searching + unibyte haystacks for multibyte needles (bug#43598). + +2020-09-27 Lars Ingebrigtsen + + Make dired-replace-in-string obsolete + + * lisp/dired.el (dired-insert-directory): + * lisp/dired-aux.el (dired-rename-subdir, dired-rename-subdir-2) + (dired-insert-subdir): Adjust callers. + + * lisp/dired.el (dired-replace-in-string): Make obsolete. + +2020-09-27 Lars Ingebrigtsen + + Add tiny optimization for string-search + + * src/fns.c (Fstring_search): Add tiny optimization for needles + that are longer than the haystack (bug#43598). + +2020-09-27 Lars Ingebrigtsen + + Rename replace-in-string to string-replace + + * doc/lispref/searching.texi (Search and Replace): Update. + * lisp/bindings.el (mode-line-position): Update callers. + + * lisp/subr.el (string-replace): Rename from replace-in-string + since that clashes with XEmacs' replace-in-string which is + equivalent to the Emacs replace-regexp-in-string (bug#43598). + +2020-09-27 Lars Ingebrigtsen + + Fix gnus-faq example + + * doc/misc/gnus-faq.texi (FAQ 6-2): replace-in-string was the XEmacs + name for the function. + +2020-09-27 Lars Ingebrigtsen + + Slight replace-in-string optimization + + * lisp/subr.el (replace-in-string): Optimize to return the + original string if nothing was replaced (bug#43598). + +2020-09-26 Mathias Dahl + + Abbrev suggestions helps users remember to use defined abbrevs + + * lisp/abbrev.el (abbrev-suggest): New defcustom. + (abbrev-suggest-hint-threshold): New defcustom. + (abbrev--suggest-get-active-tables-including-parents): New defun. + (abbrev--suggest-get-active-abbrev-expansions): New defun. + (abbrev--suggest-count-words): New defun. + (abbrev--suggest-get-previous-words): New defun. + (abbrev--suggest-above-threshold): New defun. + (abbrev--suggest-saved-recommendations): New defvar. + (abbrev--suggest-inform-user): New defun. + (abbrev--suggest-shortest-abbrev): New defun. + (abbrev--suggest-maybe-suggest): New defun. + (abbrev--suggest-get-totals): New defun. + (abbrev-suggest-show-report): New defun. + (expand-abbrev): If the previous word was not an abbrev, maybe + suggest an abbrev to the user. + * doc/emacs/abbrevs.texi (Abbrev suggestions): New section. + * etc/NEWS: Announce abbrev suggestions. + +2020-09-26 Lars Ingebrigtsen + + Fix the patch tagging in submit-emacs-patch + + * lisp/mail/emacsbug.el (submit-emacs-patch): Put the tags in the + debbugs pseudo-headers because X-Debbugs-Tags is not a thing that + exists. + +2020-09-26 Eli Zaretskii + + Followup to a recent change in menu-bar.el + + * lisp/fileloop.el (fileloop--operate-function): Mention in a + comment that menu-bar.el relies on the default value. + +2020-09-26 Lars Ingebrigtsen + + message-add-action doc string fix + + * lisp/gnus/message.el (message-add-action): Document types. + +2020-09-26 Mauro Aranda + + Display some character widget values in a more user-friendly way + + * lisp/wid-edit.el (widget-character--escape-sequences-alist): New + variable. + (widget-character--change-character-display): New function. Use the new + variable. + (widget-character-notify): New function, to keep track of the changes + in the character widget, and display characters like tab, + newline and spaces better. + (character widget): Use widget-character-notify as the notify + function. Use widget-character--change-character-display for the + internal representation of value (bug#15925). + +2020-09-26 Lars Ingebrigtsen + + Make macroexpand of `push' slightly less confusing + + * lisp/subr.el (push): Use a symbol with a different name to make + macroexpand look slightly less confusing (bug#43601). + +2020-09-26 Lars Ingebrigtsen + + Fix defcustom types of some variables defined in C + + * lisp/cus-start.el (standard): Fix the defcustom type of a number + of variables defined in C (bug#43611). + +2020-09-26 Lars Ingebrigtsen + + Fix mouse highlighting in Customize buffers + + * lisp/wid-edit.el (widget-button-click): Remove a + newly-introduced check that made mouse highlights no longer work + (bug#43612). It's unclear what the check was trying to fix. + +2020-09-26 Harald Jörg + + cperl-mode: Delete conditional code where conditions evaluate to nil + + * lisp/progmodes/cperl-mode.el (cperl-force-face): This + macro's single effect is now inlined, and the macro is gone. + (cperl-problems): The reference to choose-color.el, which + is no longer available for download, is deleted. + (no function): A list of unnecessary empty variable + definitions is gone. They were needed for Emacs v19 and + below. + (cperl-init-faces-weak): This function does no longer do + anything and is therefore deleted. + (cperl-init-faces): Some bodies of conditional code is deleted + because as of today the conditions evaluate to constants. The + face cperl-nonoverridable-face is no longer available as + variable and needs to be doubly-quoted in one place (bug#43622). + +2020-09-26 Andrea Corallo + + Always set 'Vexec_path' before 'Vinvocation_directory' (bug#43137) + + Do this as depending on the OS if argv0 is not populated 'Vexec_path' + is used to infer 'Vinvocation_directory'. + + * src/pdumper.c (pdumper_load): Invoke 'init_vars_for_load' instead + of 'set_invocation_vars'. + + * src/lisp.h: Extern 'init_vars_for_load' instead of + 'set_invocation_vars' . + + * src/emacs.c (set_invocation_vars): Make it static and remove + double invocation guard. + (init_vars_for_load): Wrap 'init_callproc_1' and 'set_invocation_vars' + calls + add double invocation guard. + (init_cmdargs): Move out 'set_invocation_vars' invocation. + (main): Call 'init_vars_for_load' instead of 'init_callproc_1'. + +2020-09-26 Andrea Corallo + + * lisp/emacs-lisp/cl-macs.el (cl--optimize): Add a FIXME. + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-26 Stefan Kangas + + Silence some byte-compiler warnings + + * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode): + * test/lisp/custom-tests.el (cus-test-opts): + * test/lisp/help-fns-tests.el (foo-test-map) + (help-fns-test--describe-keymap-foo): + * test/src/fns-tests.el (w32-collate-ignore-punctuation) + (fns-tests-func-arity): Silence byte-compiler warnings. + +2020-09-26 Stefan Kangas + + Repurpose libxml test for obsolete argument + + * test/src/xml-tests.el (libxml-tests): Move half this test for the + recently obsoleted fourth argument to libxml-parse-xml-region... + * test/lisp/xml-tests.el (xml-tests--remove-comments): ...to a new + test here for xml-remove-comments. + + * test/src/xml-tests.el (libxml-tests--data-comments-discarded): + Move test data from here... + * test/lisp/xml-tests.el (xml-tests--data-with-comments): ...to here. + +2020-09-26 Michael Albinus + + * etc/NEWS: Add new D-Bus monitor functionality. Fix typos. + +2020-09-26 Michael Albinus + + Add D-Bus monitor + + * lisp/net/dbus.el (dbus-interface-monitoring): New defconst. + (dbus-call-method, dbus-call-method-asynchronously) + (dbus-send-signal, dbus-method-return-internal) + (dbus-method-error-internal, dbus-check-arguments): Accept also + :system-private and :session-private. + (dbus-check-event, dbus-event-path-name) + (dbus-event-interface-name) + (dbus-event-member-name, dbus-property-handler) + (dbus-handle-bus-disconnect): Adapt according to new structure. + (dbus-handle-event): Handle also monitor events. + (dbus-event-destination-name, dbus-event-handler) + (dbus-event-arguments, dbus-register-monitor, dbus-monitor-handler): + New defuns. + + * src/dbusbind.c (XD_DBUS_VALIDATE_BUS_ADDRESS, xd_remove_watch) + (Fdbus__init_bus): Accept also :system-private and :session-private. + (xd_read_message_1): Add destination and error_name to + dbus-event. Handle monitor events. + (syms_of_dbusbind): Declare QCsystem_private, QCsession_private + and QCmonitor. + (dbus-registered-objects-table): Fix docstring. + +2020-09-26 Eli Zaretskii + + Enable "Continue Tags Search" menu item only when it can be used + + * lisp/menu-bar.el (menu-bar-search-menu) : Enable + only when there was a previous tags search. (Bug#43569) + (menu-bar-replace-menu) : Enable only when + there was a previous tags-replace. + +2020-09-26 Stefan Kangas + + Fix byte-compiler warning in CEDET + + * lisp/cedet/semantic/lex.el (semantic-lex-catch-errors): Fix + byte-compiler warning by removing obsolete variable. + +2020-09-26 Paul Eggert + + Fix soap-client URL + + * lisp/net/soap-client.el (soap-create-envelope): + Fix URL that I broke in 2019-09-23T06:53:30Z!eggert@cs.ucla.edu. + Problem reported by Thomas Fitzsimmons. + +2020-09-26 Thomas Fitzsimmons + + soap-client.el: Prevent some invalid encoding warnings + + * lisp/net/soap-client.el (soap-encode-xs-complex-type): Do not + warn about missing non-nillable slot if type iself is optional. + +2020-09-25 Glenn Morris + + Fix out-of-tree make check + + * test/lisp/custom-tests.el (custom-test-admin-cus-test): New const. + (check-for-wrong-custom-types): Use it. + +2020-09-25 Alan Third + + Tidy up NS color handling + + * src/nsimage.m (COLORSPACE_NAME): New macro to find the current + colorspace. + ([EmacsImage initFromXBM:width:height:fg:bg:reverseBytes:]): + ([EmacsImage initForXPMWithDepth:width:height:]): Use the current + colorspace. + * src/nsterm.h (NSAppKitVersionNumber10_7): + (NSAppKitVersionNumber10_10): Define for macOS version checks. + * src/nsterm.m ([NSColor colorForEmacsRed:green:blue:alpha:]): Tidy up + the version checking. + ([NSColor colorUsingDefaultColorSpace]): Tidy the version checking and + use [NSColor colorUsingColorSpace:] with GNUstep. + +2020-09-25 Alan Third + + Remove obsolete macOS support for NS font backend + + The ns font backend is has been disabled on macOS for a long time and + doesn't work correctly even if re-enabled. + + * src/nsfont.m: + (ns_char_width): + (ns_ascii_average_width): + (ns_get_covering_families): + (nsfont_open): + (nsfont_close): + (nsfont_draw): + (ns_uni_to_glyphs): + (ns_glyph_metrics): + (EmacsGlyphStorage): Remove all Cocoa only code. + * src/nsterm.h (EmacsGlyphStorage): Remove. + (struct nsfont_info): Make GNUstep only. + * src/nsterm.m (ns_compute_glyph_string_overhangs): Remove GNUstep + only code from Cocoa builds. + +2020-09-25 Alan Third + + Implement internal border colors on NS (bug#41071) + + * src/nsterm.m (ns_clear_under_internal_border): New function. + (ns_after_update_window_line): Use the correct background color. + (ns_redisplay_interface): Add ns_clear_under_internal_border. + +2020-09-25 Mattias Engdegård + + string-search robustness and documentation improvement (bug#43598) + + * src/fns.c (Fstring_search): Check START-POS argument range. + Simplify logic. Improve doc string. + * test/src/fns-tests.el (string-search): Add test cases. + * doc/lispref/strings.texi (Text Comparison): Elaborate. + * lisp/emacs-lisp/byte-opt.el (pure-fns): Mark string-search as pure. + +2020-09-25 Eli Zaretskii + + Fix support for Zip64 zip files + + * lisp/arc-mode.el (archive-zip-summarize): Fix detection of Zip64 + central directory. Support 64-bit file size field used by Zip64. + (Bug#43597) + +2020-09-25 Noam Postavsky + + * CONTRIBUTE: Don't recommend action stamps + + * CONTRIBUTE: Remove mention of the "action stamp" thing (bug#20609). + +2020-09-25 Lars Ingebrigtsen + + Partially revert previous prolog.el cleanup + + * lisp/progmodes/prolog.el (prolog-font-lock-keywords): Partially + revert previous patch -- we want the prolog-warning-face symbol, + not its value. + +2020-09-25 Lars Ingebrigtsen + + Fix defcustom type in sql.el for sql-postgres-login-params + + * lisp/progmodes/sql.el (sql-login-params): Fix defcustom type to + match sql-postgres-login-params value. + +2020-09-25 Lars Ingebrigtsen + + Fix a defcustom type in gdb-mi.el + + * lisp/progmodes/gdb-mi.el (gdb-display-source-buffer-action): Fix + defcustom type to match the value. + +2020-09-25 Lars Ingebrigtsen + + Fix defcustom type in whitespace.el + + * lisp/whitespace.el (whitespace-space-after-tab-regexp) + (whitespace-indentation-regexp): The first string here isn't a + regexp, it's a string (that's expanded with format to be a regexp). + +2020-09-25 Lars Ingebrigtsen + + Fix the defcustom type fix in python.el + + * lisp/progmodes/python.el (python-pdbtrack-exit-command): Fix + defcustom type (bug#30990). + +2020-09-25 Lars Ingebrigtsen + + Fix some defcustom types + + * lisp/whitespace.el (whitespace-style): + * lisp/gnus/message.el (message-screenshot-command): + * lisp/progmodes/compile.el (compilation-transform-file-match-alist): + * lisp/progmodes/gdb-mi.el (gdb-default-window-configuration-file): + * lisp/progmodes/python.el (python-pdbtrack-exit-command): Fix the + defcustom types. + * lisp/progmodes/sql.el (sql-password-wallet): Fix the value. + +2020-09-25 Lars Ingebrigtsen + + Add an expensive test for defcustom types + + * admin/cus-test.el (cus-test-opts): Return the tests. + + * test/lisp/custom-tests.el (check-for-wrong-custom-types): Test + custom types (bug#30990). + +2020-09-25 Lars Ingebrigtsen + + Mark string-search as being side effect free + + * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add + string-search. + +2020-09-25 Noam Postavsky + + Make the Man completion code work better if man -k fails + + * lisp/man.el (Man-completion-table): Check the return code for + "man -k" and assume it failed if there's a non-zero exit code + (bug#16722). + +2020-09-25 Tino Calancha + + Use the char history in zap-up-to-char + + * lisp/misc.el (zap-up-to-char): Use read-char-from-minibuffer + (bug#39154). + +2020-09-25 Mattias Engdegård + + Fix replace-in-string infloop with empty pattern string (bug#43598) + + * lisp/subr.el (replace-in-string): Raise an error if FROMSTRING is + empty. + * test/lisp/subr-tests.el (replace-in-string): Add test case. + +2020-09-25 Lars Ingebrigtsen + + Tweak updating the process mark in set-process-buffer + + * src/process.c (Fset_process_buffer): Only update the process + mark if we actually change the buffer. + +2020-09-25 Eli Zaretskii + + * lisp/hi-lock.el (hi-lock-auto-select-face): Doc fix. (Bug#43600) + +2020-09-25 Lars Ingebrigtsen + + Remove more compat code from prolog.el + + * lisp/progmodes/prolog.el (prolog-font-lock-keywords): Remove + compat test for a face that's always defined. + +2020-09-25 Eli Zaretskii + + Avoid infinite recursion with 'relative' line numbers display + + * src/xdisp.c (display_count_lines_visually): Bind + 'display-line-numbers' to 'relative' around 'start_display' as + well, since that can invoke 'move_it_to' internally, thus + causing infinite recursion. (Bug#43589) + +2020-09-25 Stefan Monnier + + * lisp/progmodes/ruby-mode.el (ruby-use-smie): Declare obsolete + + (ruby-mode-map, ruby-mode-menu): Don't use ruby-for/backward-sexp any more. + (ruby-mode-variables): Always setup SMIE navigation. + Still obey `ruby-use-smie` for indentation. + (ruby-forward-sexp, ruby-backward-sexp): Mark as obsolete. + +2020-09-25 Lars Ingebrigtsen + + Remove some XEmacs compat code from prolog.el + + * lisp/progmodes/prolog.el (prolog-replace-in-string): Remove XEmacs + compat code and make obsolete. + (prolog-guess-fill-prefix): Adjust callers. + (prolog-uncomment-region): Make obsolete. + (prolog-mode-syntax-table): syntax-propertize-rules is always defined. + (prolog-syntax-propertize-function): Ditto. + (prolog-face-name-p): Make into obsolete alias. + (prolog-font-lock-keywords): Adjust callers. + +2020-09-25 Lars Ingebrigtsen + + Clean up replace-in-string slightly + + * lisp/subr.el (replace-in-string): Clean up previous fix slightly. + +2020-09-25 Lars Ingebrigtsen + + Fix previous replace-in-string rewrite + + * lisp/subr.el (replace-in-string): Fix logic errors in previous + patch. + +2020-09-25 Lars Ingebrigtsen + + Fix replace-in-string multibyteness problems with string-search + + * lisp/subr.el (replace-in-string): Simplify by using the new + string-search function (bug#43598). + +2020-09-25 Lars Ingebrigtsen + + Add a new function 'string-search' + + * doc/lispref/strings.texi (Text Comparison): Document it. + * src/fns.c (Fstring_search): New function. + +2020-09-25 Stefan Monnier + + * lisp/help-fns.el (help-fns--first-release): Use etc/NEWS as well + +2020-09-24 Glenn Morris + + Update a failing lisp test + + * test/lisp/emacs-lisp/lisp-tests.el (up-list-no-cross-string): + Update for recent "Don't signal scan-error" change. + +2020-09-24 Juri Linkov + + Horizontal scrolling for mouse wheel with Shift modifier (bug#43568) + + * lisp/mwheel.el (mouse-wheel-scroll-amount): Change 'shift' default value + from 5 to 'hscroll'. Add new option "Scroll horizontally" for 'hscroll'. + (mwheel-scroll): Handle value 'hscroll' and call mwheel-scroll-left-function + or mwheel-scroll-right-function. + + * doc/emacs/frames.texi (Mouse Commands): Update for horizontal scrolling + with Shift modifier. + +2020-09-24 Theodor Thornhill + + Set mwheel default scroll value to 1 (bug#43380) + + * lisp/mwheel.el (mouse-wheel-scroll-amount): Change default value 5 to 1 + and shift default value from 1 to 5. + Default value is changed as discussed in etc/TODO. + +2020-09-24 Juri Linkov + + * lisp/simple.el (goto-line-read-args): More relevant default line number. + +2020-09-24 Glenn Morris + + Add skip condition for some dbus tests + + * test/lisp/net/dbus-tests.el (dbus-test01-type-conversion) + (dbus-test01-basic-types): Add skip for hydra.nixos.org failures. + +2020-09-24 Lars Ingebrigtsen + + Make set-process-buffer also update the process mark + + * src/process.c (Fset_process_buffer): Update the process mark + (bug#43573). + +2020-09-24 Lars Ingebrigtsen + + Refactor process mark setting + + * src/process.c (update_process_mark): Make into its own function. + (Fmake_process, Fmake_pipe_process, Fmake_serial_process) + (connect_network_socket): Use it. + +2020-09-24 dickmao + + Add sanity check for Gnus groups that belong to no topic + + * lisp/gnus/gnus-topic.el (gnus-topic-change-level): Do not change + gnus-topic-alist when group is outside "topology" (bug#43582). + +2020-09-24 Eli Zaretskii + + Fix last change in resize_mini_window + + * src/xdisp.c (resize_mini_window): Prevent recentering the + mini-window once its start position is computed. (Bug#43572) + +2020-09-24 Lars Ingebrigtsen + + Fix recent simple.el compilation warning + + * lisp/simple.el (goto-line-relative): Suppress byte compilation + warning about goto-line. + +2020-09-24 Michael Albinus + + Minor Tramp cleanup + + * doc/misc/tramp.texi: Some stylistic changes. + (Frequently Asked Questions): Mention ProxyCommand and ProxyJump. + + * lisp/net/tramp-sh.el (tramp-use-ssh-controlmaster-options): + Fix docstring. + +2020-09-24 Andrea Corallo + + Rename comp--subr-safe-advice -> comp-subr-safe-advice + + * lisp/emacs-lisp/comp.el (comp-subr-safe-advice): Rename + comp--subr-safe-advice -> comp-subr-safe-advice. + * lisp/emacs-lisp/nadvice.el (advice--add-function): Likewise. + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewise. + +2020-09-24 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-body-eff): Improve style. + +2020-09-24 Andrea Corallo + + Do not install a subr trampoline twice + + * src/comp.c (syms_of_comp): Define and initialize + 'Vcomp_installed_trampolines_h'. + (Fcomp__install_trampoline): Fill 'Vcomp_installed_trampolines_h' + * lisp/emacs-lisp/comp.el (comp--subr-safe-advice): Make use of + `comp-installed-trampolines-h' to guard against installing a + trampoline twice. + +2020-09-24 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-never-optimize-functions): Clean-up. + +2020-09-24 Andrea Corallo + + Add a test for primitive advicing effectiveness + + * test/src/comp-test-funcs.el (comp-test-primitive-advice-f): New + function. + * test/src/comp-tests.el (comp-test-primitive-advice): New test. + +2020-09-24 Andrea Corallo + + Call `comp--subr-safe-advice' from the advice machinery + + * lisp/emacs-lisp/nadvice.el (advice--add-function): Call + `comp--subr-safe-advice' when necessary. + + * lisp/emacs-lisp/advice.el (ad-add-advice): Likewhise. + +2020-09-24 Andrea Corallo + + * Add `comp--subr-safe-advice' entry point + + Add a Lisp side entry-point to be called to make primitive adivicing + effective. + + * lisp/emacs-lisp/comp.el (comp-trampoline-sym) + (comp-trampoline-filename): New substs. + (comp-make-lambda-list-from-subr, comp-search-trampoline) + (comp-tampoline-compile): New functions + +2020-09-24 Eric Abrahamsen + + Write Gnus active files with quotes around group names + + * lisp/gnus/gnus-util.el (gnus-write-active-file): In case of group + names with spaces in them (see Bug#42823). Names are later read with + `read', so this should be quite robust. + +2020-09-23 Juri Linkov + + New command goto-line-relative (bug#5042, bug#9917) + + * lisp/simple.el (goto-line-read-args): New function with code from goto-line. + (goto-line): New arg RELATIVE. Also use 'widen-automatically' to + leave all lines accessible in the narrowed buffer. + (goto-line-relative): New command. + + * lisp/info.el (Info-mode-map): Remap 'goto-line' to 'goto-line-relative'. + + * doc/emacs/basic.texi (Moving Point): + * doc/emacs/display.texi (Optional Mode Line): Mention goto-line-relative. + +2020-09-23 Andrea Corallo + + * Add `comp--install-trampoline' machinery + + * src/comp.c (Fcomp__install_trampoline): New function to + install a subr trampoline into the function relocation table. + Once this is done any call from native compiled Lisp to the + related primitive will go through the `funcall' trampoline + making advicing effective. + +2020-09-23 Andrea Corallo + + Make CHECK_SUBR public + + * src/data.c (CHECK_SUBR): Move from here to... + * src/lisp.h (CHECK_SUBR): ...to here. + +2020-09-23 Stefan Kangas + + Remove TODO to convert files to unit tests + + * test/lisp/textmodes/css-mode-tests.el: + * test/lisp/progmodes/ruby-mode-tests.el: Remove TODO to convert test + files into unit tests. The files are still useful for debugging. + Ref: https://lists.gnu.org/r/emacs-devel/2020-09/msg01906.html + +2020-09-23 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-final): Log when interactively invoked. + + * lisp/emacs-lisp/comp.el (native-compile): Add OUTPUT parameter. + +2020-09-23 Stefan Kangas + + Convert some completion.el tests to ERT + + * test/lisp/completion-tests.el: New file. + * lisp/completion.el: Move commented out tests to completion-tests.el. + +2020-09-23 Stefan Kangas + + Convert allout unit tests to ERT + + * test/lisp/allout-tests.el: New file. + * lisp/allout.el (allout-run-unit-tests-on-load) + (allout-run-unit-tests): Remove. + (allout-tests-obliterate-variable) + (allout-tests-globally-unbound, allout-tests-globally-true) + (allout-tests-locally-true, allout-test-resumptions): Move to + allout-tests.el + + * test/lisp/allout-widgets-tests.el: New file. + * lisp/allout-widgets.el (allout-widgets-run-unit-tests-on-load) + (allout-widgets-run-unit-tests): Remove. + (allout-test-range-overlaps): Move to allout-widgets-tests.el. + +2020-09-23 Stefan Kangas + + * lisp/repeat.el: Remove obsolete comment. + +2020-09-23 Michael Albinus + + * test/lisp/net/dbus-tests.el (dbus-test01-basic-types): Adapt test. + +2020-09-23 Mattias Engdegård + + Don't signal scan-error when moving by sexp interactively + + * lisp/emacs-lisp/lisp.el (forward-sexp, backward-sexp, forward-list) + (backward-list, down-list, up-list, mark-sexp, kill-sexp) + (backward-kill-sexp): Remove unsightly scan-error when running + interactively and no further movement by sexp can be made (bug#43489). + +2020-09-23 Mauro Aranda + + Allow the newline character in the character widget (Bug#15925) + + * lisp/wid-edit.el (widget-specify-field): Extend check for adding the + boundary overlay. Plus, a minor comment indentation fix. + (character widget): Tweak the valid-regexp to allow the newline + character. + + * test/lisp/wid-edit-tests.el (widget-test-character-widget-value) + (widget-test-editable-field-widget-value): New tests (bug#15925). + +2020-09-23 Andrew G Cohen + + Improve mark handling in gnus nnselect + + * lisp/gnus/nnselect.el (numbers-by-group, + nnselect-request-update-info, nnselect-push-info): Handle all three + mark types ('tuple, 'range, 'list) and general speedups. + +2020-09-23 Alan Mackenzie + + Handle escaped comment enders correctly in syntax.c, fixing bug #43558 + + This fixes forward-comment, scan-lists, and parse-partial-sexp. + + * src/syntax.c (forw_comment): Detect and skip an escaped comment ender + (e.g. \*/ in C) when comment-end-can-be-escaped is non-nil. + +2020-09-23 Andrew G Cohen + + Run gnus-parse-headers-hook when retrieving nnselect headers + + * lisp/gnus/nnselect.el (nnselect-retrieve-headers): Run the + gnus-parse-headers-hook when retrieving headers in nnselect, just like + in a real group. + +2020-09-23 Stefan Monnier + + test/src/xdisp-tests.el: New file + +2020-09-23 Andrew G Cohen + + Use gnus-extra-headers in nnselect header parsing + + * lisp/gnus/nnselect.el (nnselect-retrieve-headers): Bind + nnmail-extra-headers to gnus-extra-headers before parsing retrieved + headers. + +2020-09-22 Lars Ingebrigtsen + + Ensure that the game directory exists before trying to write to it + + * lisp/play/gamegrid.el (gamegrid-add-score-insecure): Make the + directory if it doesn't exist (bug#37836). + +2020-09-22 martin rudalics + + Make delete-pair only delete pairs that are part of insert-pair-alist + + * lisp/emacs-lisp/lisp.el (delete-pair): Only delete pairs that + are part of `insert-pair-alist' (bug#4136). + +2020-09-22 Lars Ingebrigtsen + + Fix off-by-one error in eldoc--handle-docs + + * lisp/emacs-lisp/eldoc.el (eldoc--handle-docs): We have one extra + line to use if we don't show the truncation message (bug#43543). + +2020-09-22 Lars Ingebrigtsen + + Speed up shr-insert slightly + + * lisp/net/shr.el (shr-insert): Speed up regularising spaces -- + the vast majority of the spaces are already OK, so transforming + " " to " " just takes time. + +2020-09-22 Lars Ingebrigtsen + + Fix filling problem in shr due to zero-width id tagging + + * lisp/net/shr.el (shr-descend): Fix problem with filling lines + that have a zero-width ID tag at the start. + +2020-09-22 Eli Zaretskii + + Fix cursor display in mini-window under icomplete-mode + + * src/xdisp.c (resize_mini_window): When we show only part of the + mini-window's contents, make sure the window-start position is at + the beginning of a screen line. (Bug#43519) + +2020-09-22 Andrea Corallo + + * Fix MacOS Emacs.app installation (bug#43532) + + * src/comp.c (Fcomp_el_to_eln_filename): Adapt the filename + hashing algorithm to allow for producing a MacOS self-contained + Emacs.app. + +2020-09-22 David Reitter + + Fix font-panel on NS (bug#43480) + + * lisp/term/ns-win.el (ns-respond-to-change-font): Set the font using + customize. + +2020-09-22 Stefan Kangas + + Remove broken compat code from EDE + + * lisp/cedet/ede/detect.el: Remove broken Emacs 24.1 compat code. + This would never have worked, since the fallback library is missing. + +2020-09-22 Stefan Kangas + + Fix shellcheck warning + + * build-aux/update-subdirs: Fix issue indicated by the shellcheck + linter (warning SC2046). + +2020-09-22 Stefan Kangas + + Support shellcheck in compilation-mode + + * lisp/progmodes/compile.el + (compilation-error-regexp-alist-alist): Add shellcheck regexp. + * test/lisp/progmodes/compile-tests.el + (compile-tests--test-regexps-data): + (compile-test-error-regexps): Add test for shellcheck. + * etc/compilation.txt: Add shellcheck example. + * etc/NEWS: Announce the change. + + foo + +2020-09-22 Stefan Kangas + + Remove Emacs 23 compat code from cedet + + * lisp/cedet/ede/proj-elisp.el (project-compile-target): + * lisp/cedet/semantic/bovine/grammar.el (bovine-grammar-expand-form): + * lisp/cedet/semantic/ede-grammar.el (project-compile-target): + Remove Emacs 23 compat code. + +2020-09-22 Stefan Kangas + + Remove some Emacs 20 compat code + + * lisp/apropos.el (apropos-local-value): + * lisp/progmodes/antlr-mode.el (antlr-mode-menu): + * lisp/progmodes/idlwave.el (idlwave-attach-classes): + * lisp/textmodes/artist.el (artist-replace-chars): Remove Emacs 20 + compat code. + +2020-09-22 Stefan Kangas + + Remove some unnecessary compat code + + * test/lisp/emacs-lisp/ert-x-tests.el (ert-test-describe-test): + * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): + Remove unnecessary compat code; these tests should never need to run + on older versions of Emacs. + +2020-09-22 Stefan Kangas + + Fix thinko in dired-change-marks + + * lisp/dired.el (dired-change-marks): Fix my previous broken attempt + to declare advertised-calling-convention. + +2020-09-21 Andrea Corallo + + * Make use of use of `subr-primitive-p' in `find-function-library' + + * lisp/emacs-lisp/find-func.el (find-function-library): Use + `subr-primitive-p'. + +2020-09-21 Andrea Corallo + + * Sandbox syncronous libgccjit invocation on interactive sessions + + Avoid unnecessary memory fragmentation/leakeage + + * lisp/emacs-lisp/comp.el (comp-final1): New function. + (comp-final): Invoke `comp-final1' in a child process if in an + interactive session or directly otherwhise. + +2020-09-21 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-21 Stefan Kangas + + Move several completions from eshell to pcomplete (Bug#10585) + + * lisp/eshell/em-unix.el (eshell-complete-hostname) + (pcomplete/ftp, pcomplete/ncftp, pcomplete/ping) + (pcomplete/rlogin, pcomplete/telnet, pcomplete/rsh): + Move from here... + * lisp/pcmpl-unix.el (pcmpl-unix-complete-hostname) + (pcomplete/ftp, pcomplete/ncftp, pcomplete/ping) + (pcomplete/rlogin, pcomplete/telnet, pcomplete/rsh): + ...to here. Make old names into aliases. + + * lisp/eshell/esh-util.el (eshell-hosts-file) + (eshell-host-names, eshell-host-timestamp) + (eshell-read-hosts-file, eshell-read-hosts) + (eshell-read-host-names): Move from here... + * lisp/pcomplete.el (pcomplete-hosts-file) + (pcomplete--host-name-cache) + (pcomplete--host-name-cache-timestamp) + (pcomplete-read-hosts-file, pcomplete-read-hosts) + (pcomplete-read-host-names): ...to here. Make old names into + aliases. + + * lisp/eshell/em-unix.el (eshell-complete-host-reference): Update + caller. + +2020-09-21 Stefan Kangas + + Move pcomplete/bcc32 from eshell to pcmpl-x (Bug#10585) + + * lisp/eshell/em-xtra.el (pcomplete/bcc32, pcomplete/bcc): Move + from here... + * lisp/pcmpl-x.el (pcomplete/bcc32, pcomplete/bcc): ...to here. + +2020-09-21 Stefan Kangas + + Convert a manual test for nxml-mode to unit test + + * test/manual/indent/nxml.xml: Delete file. + * test/lisp/nxml/nxml-mode-tests.el + (nxml-mode-test-comment-bug-17264): New test based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for ruby-mode into unit test + + * test/manual/indent/ruby.rb: Move from here... + * test/lisp/progmodes/ruby-mode-resources/ruby.rb: ...to here. + + * test/lisp/progmodes/ruby-mode-tests.el + (ruby-mode-tests-data-dir): New variable. + (ruby--indent/converted-from-manual-test): New test. + +2020-09-21 Stefan Kangas + + Convert manual indent test for scheme-mode into unit test + + * test/manual/indent/scheme.scm: Delete file. + * test/lisp/progmodes/scheme-tests.el: New file with unit test for + scheme-mode based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for ps-mode into unit test + + * test/manual/indent/ps-mode.ps: Delete file. + * test/lisp/progmodes/ps-mode-tests.el (ps-mode-test-indent): + New unit test based on deleted file. + +2020-09-21 Sam Steingold + + (json-encode-string): Strip properties to fix bug#43549 + +2020-09-21 Lin Sun + + Fix problem with ede-mode bugging out on non-existent files + + * lisp/cedet/ede/emacs.el: Check whether the directory exists in + ede-emacs-find-in-directories before using it (bug#43547). + +2020-09-21 Lars Ingebrigtsen + + Fix recent change to window-max-chars-per-line + + * lisp/window.el (window-max-chars-per-line): + line-number-display-width can return a floating point number, but + we want an integer (bug#43548). + +2020-09-21 Lars Ingebrigtsen + + Doc string fix for gnus-summary-hide-thread + + * lisp/gnus/gnus-sum.el (gnus-summary-hide-thread): Remove text + from doc string apparently copy-pasted from the function above. + +2020-09-21 dickmao + + Remove a misleading message in gnus-summary-hide-thread + + * lisp/gnus/gnus-sum.el (gnus-summary-hide-thread): + Jump past invisible thread instead of begging off with an out-of-band + diagnostic (bug#43538). + +2020-09-21 Stefan Kangas + + Convert manual indent test for opascal-mode into unit test + + * test/manual/indent/opascal.pas: Delete file. + * test/lisp/progmodes/opascal-tests.el: New file with unit test for + oposcal-mode based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for lisp-mode into unit test + + * test/manual/indent/lisp.lisp: Delete file. + * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-indent-defun): + New unit test based on deleted file. + +2020-09-21 Stefan Kangas + + Convert manual indent test for elisp-mode into unit test + + * test/manual/indent/elisp.el: Delete file. + * test/lisp/progmodes/elisp-mode-tests.el (elisp-indent-basic): + New unit test based on deleted file. + +2020-09-21 Stephen Berman + + Fix check in `newline' for blank lines + + * lisp/simple.el (newline): Clarify doc string and fix check for + blank lines (bug#13810). + +2020-09-21 Lars Ingebrigtsen + + Fix line width in M-x term on -nw with line numbers + + * lisp/window.el (window-max-chars-per-line): Make the line width + more correct in the presence of display-line-numbers-mode (bug#34513). + +2020-09-21 Lars Ingebrigtsen + + Add more isearch submatch faces + + * doc/emacs/search.texi (Search Customizations): Adjust + documentation. + * lisp/isearch.el (search-highlight-submatches): Be a boolean. + (isearch-group-{6-9}): New faces. + (isearch-highlight): Use the variable as a boolean. + +2020-09-21 Juri Linkov + + Tweak how Man selects the previous window on failure + + * lisp/man.el (Man-bgproc-sentinel): Ensure that we select the + correct previous window (bug#38164). + +2020-09-21 Lars Ingebrigtsen + + Allow disabling the verbose eldoc truncation message + + * doc/emacs/programs.texi (Lisp Doc): Document it. + + * lisp/emacs-lisp/eldoc.el (eldoc-display-truncation-message): New + variable (bug#43543). + (eldoc--handle-docs): Use it. + +2020-09-21 Nicolas Graner (tiny change) + + Fix default value in checkboxes in eww + + * lisp/net/eww.el (eww-submit): Checked checkboxes need a default + value (bug#43542). + +2020-09-21 Michael Albinus + + Add D-Bus tests + + * doc/misc/dbus.texi (Type Conversion): Precise basic type values. + + * lisp/net/dbus.el (dbus-register-property): Send signal directly. + + * src/dbusbind.c (xd_signature): Accept non-nil objects for + DBUS_TYPE_BOOLEAN. + + * test/lisp/net/dbus-tests.el (dbus-test01-basic-types) + (dbus-test01-compound-types): New tests. + +2020-09-21 Glenn Morris + + Merge from origin/emacs-27 + + 02a31c9632 (origin/emacs-27) Minor improvement in the ELisp manual's ... + f750def778 Mention in PROBLEMS the problems with fonts and Uniscribe + 082d8a21b1 Minor copyedits in 'line-height' documentation + 5b23393bcc ; * src/frame.c (syms_of_frame) : ... + +2020-09-21 Glenn Morris + + Merge from origin/emacs-27 + + df04f3e755 Fix a rare segfault in syntax.c + fd1fe1e1ec Add doc to syntax-propertize-function saying it must do a ... + fcd599bbea Minor copyedits of doc of 'with-silent-modifications' + 759399cdb1 Improve documentation of 'max-mini-window-height' + 3223302aa2 Use modern constant names for the NS pasteboard + 985703d380 Fix doc string of 'toggle-menu-bar-mode-from-frame' + 184a4977c7 Make vc-bzr tests work with brz 3.1 (bug#43314) + + # Conflicts: + # lisp/emacs-lisp/syntax.el + # src/syntax.c + +2020-09-21 Glenn Morris + + Merge from origin/emacs-27 + + 694acda5f2 Fix compilation on TERMINFO platforms with GCC 10 + f3373901e5 Fix the font-lock-debug-fontify NEWS entry + + # Conflicts: + # etc/NEWS + +2020-09-21 Lars Ingebrigtsen + + Fix infloop when folding difficult headers in Message + + * lisp/mail/rfc2047.el (rfc2047-fold-field): Return the end point. + * lisp/gnus/message.el (message--fold-long-headers): Use that to + reliably achieve progress. + +2020-09-21 Lars Ingebrigtsen + + Allow not selecting messages in Gnus before resending + + * lisp/gnus/gnus-msg.el (gnus-summary-resend-message): Allow not + selecting messages. This is faster when resending huge spam messages. + +2020-09-20 Lars Ingebrigtsen + + Make xterm-mouse-event check whether the click event is valid + + * lisp/xt-mouse.el (xterm-mouse-event): Defensively check against + a situation that shouldn't happen (but does) (bug#17378). + +2020-09-20 Alan Mackenzie + + C++ Mode: Modernize the fontification of "using" + + Since "using" is now used in three distinct ways in C++, write a special + function to handle these rather than attempting to adapt the old regular + expressions. + + * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Amend to allow the + argument TYPES to be a face. This face is given to the declarator being + processed. + (c-font-lock-single-decl): Make an argument to c-font-lock-declarators nil or + t, not merely nil or non-nil. + (c-complex-decl-matchers): Include c-font-lock-c++-using in the C++ value of + this variable. + (c-font-lock-c++-using): New function. + + * lisp/progmodes/cc-langs.el (c-using-kwds, c-using-key): New lang + consts/vars. + (c-modifier-kwds): Remove "using" from the C++ value. + +2020-09-20 Lars Ingebrigtsen + + Restore the previous minimum-width specs in the line/column mode lines + + * lisp/bindings.el (mode-line-position-line-format) + (mode-line-position-column-format) + (mode-line-position-column-line-format, mode-line-position): + Restore the previous min-width specs (bug#28648). + +2020-09-20 Lars Ingebrigtsen + + Make (let ((:key 'foo)) :key) signal an error in lexical elisp, too + + * src/lread.c (intern_sym): Mark keywords as special (bug#38872). + +2020-09-20 Lars Ingebrigtsen + + Fix typo in dbus.texi + + * doc/misc/dbus.texi (Type Conversion): Remove spurious { character. + +2020-09-20 Michael Albinus + + Make D-Bus properties type safe + + * doc/misc/dbus.texi (Properties and Annotations): + Precise dbus-get-property and dbus-set-property. + (Type Conversion): Explain :byte and :boolean type conversion. + (Errors and Events): dbus-ignore-errors returns nil when there is + a D-Bus error. Remove dbus-show-dbus-errors. + + * etc/NEWS: Some D-Bus relevant changes. + + * lisp/net/dbus.el (dbus-show-dbus-errors): Remove. + (dbus-ignore-errors): Replay implamentation without that variable. + (dbus-check-arguments): New defun. + (dbus-list-activatable-names, dbus-list-names) + (dbus-list-queued-owners, dbus-get-name-owner, dbus-introspect) + (dbus-get-all-properties, dbus-get-all-managed-objects): Don't debug. + (dbus-get-property, dbus-set-property): Propagate errors. + (dbus-register-property): Check for valid VALUE. + (dbus-property-handler): Simplify. + + * src/dbusbind.c (Fdbus_message_internal): Adapt docstring. + Handle DBUS_MESSAGE_TYPE_INVALID. + + * test/lisp/net/dbus-tests.el (dbus-show-dbus-errors): Don't declare. + (dbus-test06-register-property) + (dbus-test06-register-property-emits-signal): Adapt tests. + +2020-09-20 Eli Zaretskii + + Minor improvement in the ELisp manual's Introduction + + * doc/lispref/intro.texi (Printing Notation): Clarify what + "execute code" means in this context. (Bug#43463) + +2020-09-20 Eli Zaretskii + + Improve documentation of a recently-added feature + + * lisp/isearch.el (search-highlight-submatches): Improve the doc + string. + + * doc/emacs/search.texi (Search Customizations): Improve the + documentation of 'search-highlight-submatches'. + + * etc/NEWS: Minor change of the entry for + 'search-highlight-submatches'. + +2020-09-20 Juri Linkov + + Highlight regexp sub-expressions + + * doc/emacs/search.texi (Search Customizations): Document it. + + * lisp/isearch.el (search-highlight-submatches): New variable. + (isearch-group-1, isearch-group-2, isearch-group-3) + (isearch-group-4, isearch-group-5): New faces. + (isearch-highlight): Use them. + (isearch-dehighlight): Ditto (bug#6227). + +2020-09-20 Kévin Le Gouguec + + Tweak dired warning about "wildcard" characters + + * lisp/dired-aux.el (dired-isolated-string-re): Use explicitly + numbered groups. + (dired--star-or-qmark-p): Add START parameter. Make sure to + return the first isolated match. + (dired--need-confirm-positions, dired--mark-positions) + (dired--highlight-no-subst-chars, dired--no-subst-explain) + (dired--no-subst-ask, dired--no-subst-confirm): New functions. + (dired-do-shell-command): Use them (bug#28969, bug#35564). + + * test/lisp/dired-aux-tests.el (dired-test-bug27496): Adapt to + new prompt. + (dired-test--check-highlighting): New test helper. + (dired-test-highlight-metachar): New tests. + +2020-09-20 Eli Zaretskii + + Mention in PROBLEMS the problems with fonts and Uniscribe + + * etc/PROBLEMS: Mention font-related problems with Uniscribe on + MS-Windows. (Bug#39340) + +2020-09-20 Lars Ingebrigtsen + + Fix bug out when indenting inserted images in shr + + * lisp/net/shr.el (shr-fill-line): We may not have a + shr-indentation text property here. In that case, default to the + dynamically bound value. + +2020-09-20 Lars Ingebrigtsen + + Remove code checked in to lread.c by mistake + + * src/lread.c (intern_sym): Remove code under development + inadvertently checked in. + +2020-09-20 dickmao + + Terminate `comint-password-function' tests + + * test/lisp/comint-tests.el (comint-test-no-password-function) + (comint-test-password-function-with-value) + (comint-test-password-function-with-nil): refactor + (comint-tests/test-password-function): actually test + `comint-send-invisible' and inhibit inadvertent interactive query + (bug#38825). + +2020-09-20 Lars Ingebrigtsen + + Tweak a hash table print test + +2020-09-20 Pip Cet + + Fix printing of hash tables with removed elements + + * src/print.c (print_vectorlike): Keep track of the actual number + of elements printed rather than attempting to use hash bucket + indices (bug#38892). + +2020-09-20 Dmitry Gutov + + Don't have vc-git-stash-list bug out on the .git directory + + * lisp/vc/vc-git.el (vc-git-stash-list): Don't bug out when + running on the .git directory itself (bug#39285). + +2020-09-20 Earl + + Add new tab command `C-x t C-r' + + * doc/emacs/misc.texi (FFAP): Document new commands (bug#43503). + + * lisp/ffap.el (ffap-read-only-other-tab): New command. + + * lisp/tab-bar.el (find-file-read-only-other-tab): New command and + keystroke. + +2020-09-20 Noam Postavsky + + Fix slow python-mode inserts when there's a lot of strings + + * lisp/progmodes/python.el (python-info-docstring-p): Doing more + than two repetitions here doesn't improve indentation (bug#39598). + +2020-09-20 Mauro Aranda + + New command: revert-buffer-with-fine-grain + + * doc/emacs/files.texi (Reverting): Document the new command and the + new variable. + + * etc/NEWS: Mention the new command and the new variable. + + * lisp/files.el (revert-buffer-with-fine-grain): New command. Revert + a buffer trying to be non-destructive, by using replace-buffer-contents. + (revert-buffer-insert-file-contents-delicately): New function, alternative + to revert-buffer-insert-file-contents-function--default-function. + (revert-buffer-with-fine-grain-max-seconds): New variable. Passed as + argument MAX-SECS of replace-buffer-contents. + + * test/lisp/files-tests.el (files-tests-lao files-tests-tzu): Helper + variables, taken from diffutils manual, to test reverting a buffer. + (files-tests-revert-buffer) + (files-tests-revert-buffer-with-fine-grain): New tests (bug#18). + +2020-09-20 Nick Roberts + + Make a gud error message more informative + + * lisp/progmodes/gud.el (gud-jdb-marker-filter): Make the error + message more informative (bug#1282). + +2020-09-20 Peder O. Klingenberg + + Extend process-lines to allow exit status handling + + * subr.el (process-lines-handling-status): Extension of the old + process-lines, with more flexible handling of the exit status. + (process-lines): Old API implemented using the new function. + (process-lines-ignore-status): Another use of the new function - + return the output lines regardless of the exit status (bug#1321). + +2020-09-19 Eli Zaretskii + + Minor copyedits in 'line-height' documentation + + * doc/lispref/display.texi (Line Height): Describe the possible + values of the 'line-height' property in a more consistent format. + +2020-09-19 Lars Ingebrigtsen + + Add a new variable 'gnus-global-groups' + + * doc/misc/gnus.texi (HTML): Document it. + + * lisp/gnus/gnus-art.el (gnus-global-groups): New variable. + (gnus-block-private-groups): Use it. + +2020-09-19 bug-gnu-emacs@gnu.org + + Honor make-pointer-invisible on macOS + + * src/nsterm.m ([EmacsView keyDown:]): Call + [NSCursor setHiddenUntilMouseMoves:] with the correct argument, depending on + variable make-pointer-invisible. + +2020-09-19 Gregor Zattler + + * doc/misc/eww.texi: Document the `w' key's double function + + * doc/misc/eww.texi (Basics): Describe what the `w' command does + in eww (bug#43517). + +2020-09-19 Gregor Zattler + + * doc/misc/eww.texi: Document the `w' key's double function + + * doc/misc/eww.texi (Basics): Describe what the `w' command does + in eww (bug#43517). + +2020-09-19 Daniel Martín + + Put files in mhtml-mode when they have + + Fix problem with spurious extra paragraphs in shr + + * lisp/net/shr.el (shr-ensure-paragraph): Don't regard
(empty placeholders) as occupying any space (bug#43510). + +2020-09-19 Eli Zaretskii + + Fix a rare segfault in syntax.c + + * src/syntax.c (Fforward_comment): Prevent the loop for COUNT < 0 + from going outside the valid range of character/byte positions. + (Bug#43499) + + * doc/lispref/syntax.texi (Syntax Class Table): Mention the + "comment-fence" and "string-fence" as alternative names of 2 + syntax classes. + +2020-09-19 Alan Mackenzie + + Add doc to syntax-propertize-function saying it must do a 100% job + + and cannot be combined with other ways of applying syntax-table text + properties. + + * lisp/emacs-lisp/syntax.el (syntax-propertize-function): Amend doc string. + + * doc/lispref/syntax.texi (Syntax Properties): Amend the description of the + variable. + +2020-09-19 Drew Adams + + Document and extend menu-bar-make-toggle some + + 2020-09-19 Lars Ingebrigtsen + + * lisp/menu-bar.el (menu-bar-showhide-fringe-menu): Adjust caller. + (menu-bar-search-options-menu): Ditto. + (menu-bar-options-menu): Ditto. + (menu-bar-options-menu): Ditto. + + * lisp/progmodes/gdb-mi.el (menu): Ditto. + + * lisp/emacs-lisp/find-func.el (find-function-regexp): Add + menu-bar-make-toggle-command. + + * lisp/menu-bar.el (menu-bar-make-toggle): Compatibility wrapper. + + 2020-09-19 Drew Adams + + * lisp/menu-bar.el (menu-bar-make-toggle-command): Add doc string + and allow setting all keywords (bug#17954). + +2020-09-19 Lennart Borgman + + Allow reveal mode to not automatically re-hide revealed text + + * lisp/reveal.el (reveal-hide-revealed): New command (bug#7101). + (reveal-auto-hide): New defcustom. + (reveal-post-command): Use it. + +2020-09-19 Lars Ingebrigtsen + + Allow customizing hooks defined via define-minor-mode + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Allow using + Customize on the hooks (bug#10773). + +2020-09-19 Alex Bochannek + + Fix gnus-summary-catchup-from-here edge case + + * lisp/gnus/gnus-sum.el (gnus-summary-catchup-from-here): Make the + command work in the final line in the buffer, too (bug#43496). + +2020-09-19 Lars Ingebrigtsen + + Document Gnus body matching quirks + + * doc/misc/gnus.texi (Summary Score Commands): Document body + match quirks (bug#43502). + +2020-09-19 Lars Ingebrigtsen + + Display the language in the Flyspell mode line + + * lisp/textmodes/flyspell.el (flyspell-mode): Display the language + in the mode line (bug#14957). + +2020-09-19 Eli Zaretskii + + Minor copyedits of doc of 'with-silent-modifications' + + * doc/lispref/text.texi (Changing Properties): + * doc/lispref/buffers.texi (Buffer Modification): Improve + documentation and indexing of 'with-silent-modifications'. + +2020-09-18 Eli Zaretskii + + Improve documentation of 'max-mini-window-height' + + * src/xdisp.c (syms_of_xdisp): + * doc/lispref/minibuf.texi (Minibuffer Windows): More accurate + wording in the documentation of 'max-mini-window-height', to + clarify the meaning of an integer value. + +2020-09-18 Daniel Martín + + Use modern constant names for the NS pasteboard + + Use the same pasteboard constant names defined in + ns_drag_types. (Bug#43470). + + * src/nsterm.m: Rename NSURLPboardType to NSPasteboardTypeURL, + NSStringPboardType to NSPasteboardTypeString, and + NSTabularTextPboardType to NSPasteboardTypeTabularText + +2020-09-18 Stefan Kangas + + Fix typo in project-kill-buffers + + * lisp/progmodes/project.el (project-kill-buffers): Fix typo. + Reported by Manuel Uberti + +2020-09-18 Andrii Kolomoiets + + Save and restore point in ewoc-invalidate + + * lisp/emacs-lisp/ewoc.el (ewoc--refresh-node): Save and restore point line + and column offset. + (eowc-map) (ewoc--invalidate) (ewoc-set-hf): Don't use save-excursion + * lisp/vc/vc-dir.el (vc-dir-update): Don't save/restore point on calling + 'ewoc-invalidate'. + +2020-09-18 Adam Sjøgren + + Make emacs-uptime insert at point with prefix arg + + * lisp/time.el (emacs-uptime): Insert at point when called with prefix + argument. (Bug#20112) + +2020-09-18 Stefan Kangas + + Doc fix in directory-free-space-program + + * lisp/files.el (directory-free-space-program): Doc fix; there is no + need to repeat that its obsolete here since it will be shown by + customize, describe-variable, etc. automatically. + +2020-09-18 Lars Ingebrigtsen + + Fix the defcustom type of eww-retrieve-command + + * lisp/net/eww.el (eww-retrieve-command): The type is a list of + strings. + +2020-09-18 Lars Ingebrigtsen + + Use a widget for the face link in Customize buffers + + * doc/lispref/customize.texi (Common Keywords): Document it. + + * lisp/cus-edit.el (custom-face-value-create): Use a widget + instead of a button so that TAB works (bug#20664). + + * lisp/wid-edit.el (face-link): New widget. + (widget-face-link-action): New action. + +2020-09-18 Michael Albinus + + Fix error in D-Bus test + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): + Do not check for error message text. + (dbus--test-signal-handler): Fix docstring. + (dbus--test-timeout-handler): New defun. + (dbus-test05-register-signal) + (dbus-test06-register-property-emits-signal): Use it. + +2020-09-18 Michael Albinus + + * lisp/progmodes/cperl-mode.el (cperl-set-style): Fix docstring. + +2020-09-18 Dmitry Gutov + + Fix typo, reported by Manuel Uberti + + * lisp/progmodes/project.el (project-kill-buffer-conditions): + Fix typo. + +2020-09-18 Eli Zaretskii + + Minor cleanup of last change + + * src/termchar.h (struct tty_display_info): + * src/term.c (turn_on_face, tty_capable_p): Reformat new code. + +2020-09-18 Mike Hamrick + + TTY Support for ECMA-48 strike-through graphic rendition + + * term.c: Support strike-through in capable terminals. + (no_color_bit): Replace unused NC_INVIS with + NC_STRIKE_THROUGH. + (turn_on_face): Output via TS_enter_strike_through_mode + if available. + (turn_off_face): Handle strike-through case. + (tty_capable_p, init_tty): Support strike-through. + * termchar.h (struct tty_display_info): Add field for + strike-through. + * xfaces.c (tty_supports_face_attributes_p, realize_tty_face): + Handle strike-through case. + * dispextern.h: Add TTY_CAP_STRIKE_THROUGH definition. + (struct face): Add field tty_strike_through_p. + +2020-09-18 James N. V. Cash (tiny change) + + * lisp/tab-bar.el (tab-bar-new-tab-to): Fix tabs not reappearing (bug#42052) + +2020-09-18 Eli Zaretskii + + Update TUTORIAL.he + + * etc/tutorials/TUTORIAL.he: Adapt to latest changes in the + English TUTORIAL. + +2020-09-18 Richard Stallman + + Document easy ways of typing undo key on TTY frames + + * doc/emacs/basic.texi (Basic Undo): Document the easiest way to + type the undo key. + + * etc/tutorials/TUTORIAL: Describe typing C-_ without the Shift + key. + +2020-09-18 Lars Ingebrigtsen + + Revert "Make delete-pair only delete pairs that are part of insert-pair-alist" + + This reverts commit 82de8ecc080d91dd05f2432d2d07feb2955aeec4. + + This patch breaks doing `M-x delete-pair' on "foo" in text-mode. + +2020-09-18 Lars Ingebrigtsen + + Remove mention of C-u M-. from the refcards + + The "find next tags" command no longer exists, as the machinery has + been replaced by xref. + +2020-09-17 Mauro Aranda + + Fix recent change in wid-edit + + * lisp/wid-edit.el (widget-button--check-and-call-button): Record the + ending position of event, because we might need it when + the :mouse-down-action function returns non-nil (bug#20664). + +2020-09-17 Lars Ingebrigtsen + + Doc string typo fix for mode-line-position-column-format + + * lisp/bindings.el (mode-line-position-column-format): Fix typo in + doc string. + +2020-09-17 Oleh Krehel + + Make face names clickable in Customize buffers + + * lisp/cus-edit.el (custom-face-value-create): Make the face name + a clickable button (bug#20664). + +2020-09-17 Lars Ingebrigtsen + + Refactor a very long wid-edit function and add additional checking + + * lisp/wid-edit.el (widget-button--check-and-call-button): Factor + out a too-long condition/call... + (widget-button-click): From here. + +2020-09-17 Juri Linkov + + Allow binding keys in `query-replace-map' + + * lisp/replace.el (perform-replace): Allow binding keys in + `query-replace-map' (bug#20687). + +2020-09-17 Lars Ingebrigtsen + + Fix up previous autoload-find-generated-file change + + * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Use + the correct name for find-file-hook. + +2020-09-17 Lars Ingebrigtsen + + Make package install not bug out on weird stuff in find-file-hooks + + * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): + Users may have read-only-mode in find-file-hooks (bug#43460) so + just disable all the hooks here. + +2020-09-17 Harald Jörg + + cperl-mode: Add new value "PBP" for 'cperl-set-style' + + * lisp/progmodes/cperl-mode.el (cperl-style-alist) + (cperl-set-style): Add indentation style recommended by Damian Conway's + book "Perl Best Practices". + + * test/lisp/progmodes/cperl-mode-tests.el + (cperl-mode-test-indent-styles): Add a test to verify indentation + and unraveling of conditionals (bug#43457). + +2020-09-17 Eli Zaretskii + + Fix documentation of a recent change + + * src/keyboard.c (update_recent_keys): Fix commentary. + (Flossage_size): Fix doc string. + + * etc/NEWS: Move and fix wording of the recently added entry. + +2020-09-17 Masahiro Nakamura + + etc/refcards/refcard.tex: Fix some grouping regexps + + * etc/refcards/refcard.tex (section{Regular Expressions}): Fix the + shy/numbered grouping examples (bug#43429). + +2020-09-17 Michael Albinus + + Work on D-Bus properties etc + + * lisp/net/dbus.el (seq, subr-x): Require. + (dbus-error-disconnected, dbus-error-service-unknown): New defconst. + (dbus-set-property, dbus-register-property): Use `keywordp'. Fix + proper value sending a signal. + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method): + Extend test. + (dbus--test-signal-received): New defvar. + (dbus--test-signal-handler): New defun. + (dbus-test05-register-signal) + (dbus-test06-register-property-emits-signal): New tests. + (dbus-test06-register-property) + (dbus-test06-register-property-several-paths): Rename tests. + +2020-09-17 Alex Bochannek + + Allow user-defined scoring in Gnus + + * lisp/gnus/gnus-score.el (gnus-score-func): New function (bug#43413). + * doc/misc/gnus.texi (Score File Format): Document it. + +2020-09-17 martin rudalics + + Make delete-pair only delete pairs that are part of insert-pair-alist + + * lisp/emacs-lisp/lisp.el (delete-pair): Only delete pairs that + are part of `insert-pair-alist' (bug#4136). + +2020-09-17 Tino Calancha + + Give Lisp control on the lossage size + + Add a command 'lossage-size' to set the maximum + number or recorded keystrokes (Bug#38796). + + * src/keyboard.c (lossage_limit): + Static variable with the current lossage size limit. + (MIN_NUM_RECENT_KEYS): Renamed from NUM_RECENT_KEYS. + Set it as 100 and use it as the minimum value for lossage_limit. + Keep the same default for the vector size as before (300). + (lossage-size): New command. + (update_recent_keys): Helper function. + (command_loop_1) + (record_char) + (recent-keys) + (syms_of_keyboard): Use lossage_limit as the vector size. + + * lisp/help.el (view-lossage): Mention the new command in the docstring. + * etc/NEWS (Changes in Emacs 28.1): Announce this change. + * doc/emacs/help.texi (Misc Help): Update manual. + * test/src/keyboard-tests.el (keyboard-lossage-size): Add test. + +2020-09-17 Lars Ingebrigtsen + + Fix up previous change for column/line spec mechanism in the mode line + + * lisp/bindings.el (column-number-indicator-zero-based): Make + obsolete (bug#28648). + (mode-line-position-column-line-format): New variable. + (mode-line-position--column-line-properties): New const. + (mode-line-position): Use it. + +2020-09-17 Andreas Schwab + + Remove pointless use of intern + + * lisp/mwheel.el (mouse-wheel-left-event) + (mouse-wheel-right-event): Replace use of intern with quoted + symbol. + * lisp/profiler.el (profiler-calltree-build-unified): Likewise. + * lisp/vc/ediff-util.el (ediff-debug-info): Likewise. + +2020-09-16 Eli Zaretskii + + Fix doc string of 'toggle-menu-bar-mode-from-frame' + + * lisp/menu-bar.el (toggle-menu-bar-mode-from-frame): Improve the + wording of the doc string. (Bug#43383) + +2020-09-16 Michael Albinus + + D-Bus: keep type information in D-Bus events + + * doc/misc/dbus.texi (Errors and Events): + * etc/NEWS: D-Bus events keep the type information of their arguments. + + * lisp/net/dbus.el (dbus-check-event): Fix docstring. + (dbus-delete-types, dbus-flatten-types): New defuns. + (dbus-handle-event, dbus-register-property, dbus-property-handler): + Handle type information. + (dbus-set-property): Fix thinko. + + * src/dbusbind.c (XD_BASIC_DBUS_TYPE): Simplify. + (xd_dbus_type_to_symbol): New function. + (xd_retrieve_arg): Return type information for the arguments. + (xd_read_message_1): Return type information for the error name. + (dbus-registered-objects-table): Fix docstring. + +2020-09-16 Lars Ingebrigtsen + + Fix problem with previous dired.el change + + * lisp/dired.el (dired-get-filename): dired-current-directory + can't be called before the dired buffer has been set up. + (add-hook 'dired-mode-hook 'dired-sort-toggle) calls + dired-get-filename in a way that exposes this problem, so avoid + it. + +2020-09-16 Lars Ingebrigtsen + + Tweak previous report-emacs-bug-hook change + + * lisp/mail/emacsbug.el (report-emacs-bug-hook): Add to the hook + locally so sending stuff from Message afterwards won't trigger the + same question. + +2020-09-15 Lars Ingebrigtsen + + Make sgml-validate not bug out from buffers not visiting a file + + * lisp/textmodes/sgml-mode.el (sgml-validate): Don't bug out when + running from a buffer that's not visiting a file (bug#22906). + +2020-09-15 Lars Ingebrigtsen + + Use a square root character in calc displays + + * lisp/calc/calccomp.el (math-compose-sqrt): Use a square root + character, if possible (bug#22919). Suggested by Zephyr Pellerin + . + +2020-09-15 Eli Zaretskii + + Avoid aborts in display_mode_element + + * src/xdisp.c (display_mode_element): Use parse_str_as_multibyte, + not multibyte_chars_in_text, to determine whether mode-line spec + shall be displayed as a multibyte or unibyte string. We cannot + use multibyte_chars_in_text here because it aborts when it finds + raw bytes in the spec string. (Bug#43409) + +2020-09-15 Robert Pluim + + Stop querying for fonts as soon as a match is found + + Scanning through fonts can be very slow, especially with the 'x' font + backend, and the result is almost always not used. Stop looking for a + font as soon as one is found rather than scanning all the backends. + + * src/font.c (font_list_entities): Stop scanning through the font + backends as soon as we find a match unless + 'query-all-font-backends is set (Bug#43177). + (syms_of_font): New variable 'query-all-font-backends', default + false. + +2020-09-15 Lars Ingebrigtsen + + Fix up previous replace-in-string commit + + * lisp/subr.el (replace-in-string): Fix thinko in implementation. + +2020-09-15 Lars Ingebrigtsen + + Allow controlling the look of the line/column indicators + + * doc/lispref/modes.texi (Mode Line Variables): Document them. + + * lisp/bindings.el (mode-line-position-line-format): New variable + (bug#28648). + (mode-line-position-column-format): Ditto. + (mode-line-position): Use them. + + * lisp/simple.el (column-number-mode): Mention them. + (line-number-mode): Ditto. + +2020-09-15 Lars Ingebrigtsen + + Add new, simple `replace-in-string' function + + * lisp/subr.el (replace-in-string): New, side-effect-free function. + + * doc/lispref/searching.texi (Search and Replace): Document it. + +2020-09-15 Stefan Kangas + + * lisp/window.el: Add provide statement + + * lisp/window.el (window): Put a `provide' form to help with the + popular `use-package' external package (bug#37053). + +2020-09-15 Eli Zaretskii + + Fix MS-Windows compilation of Gnulib with old versions of MinGW + + * nt/inc/ms-w32.h (_WIN32_WINNT_WIN2K, _WIN32_WINNT_WINXP) + (_WIN32_WINNT_WS03, _WIN32_WINNT_VISTA, _WIN32_WINNT_WIN7, + _WIN32_WINNT_WIN8, _WIN32_WINNT_WINBLUE, _WIN32_WINNT_WIN10) + [__MINGW32__]: Define if any of these is not defined. Reported by + martin rudalics . + +2020-09-15 Jimmy Aguilar Mena + + Merge branch 'feature/uniquify-as-function' into master + + Document use of uniquify-buffer-name-style as a function. + +2020-09-15 Jimmy Aguilar Mena + + Enable uniquify-buffer-name-style to be a function. + + * lisp/uniquify.el (uniquify-buffer-name-style) : Add "Other" custom + option + (uniquify-get-proposed-name) : Add condition for when + uniquify-buffer-name-style is a function. + +2020-09-15 Lars Ingebrigtsen + + Fix mailclient-send-it after recent browse-url rewrite + + * lisp/mail/mailclient.el (mailclient-send-it): Make this function + work again after the browse-url machinery was changed to use + browse-url-default-handlers instead. + +2020-09-15 Lars Ingebrigtsen + + Fix regression in non-querying about mail addresses in "emacs -Q" + + * lisp/mail/emacsbug.el (report-emacs-bug-hook): Don't query about + the mail address if using an external mailer (bug#43386). + +2020-09-15 Daniel Martín + + Check that the buffer in diff-buffer-with-file is visiting a file + + * lisp/vc/diff.el (diff-buffer-with-file): Signal a specific error + when the buffer passed to diff-buffer-with-file is not visiting a + file (bug#43401). + +2020-09-15 Andrea Corallo + + * Better error handling after calling 'gcc_jit_context_compile_to_file' + + Tipically errors are catched in 'compile_function' but in case + libgccjit throw an error only afterwards while compiling the whole + compilation unit we have to report it correctly. + + * src/comp.c (Fcomp__compile_ctxt_to_file): Catch libgccjit + errors after calling 'gcc_jit_context_compile_to_file'. + +2020-09-14 Andrea Corallo + + * test/src/comp-tests.el (comp-tests-bootstrap): Print compilation time. + +2020-09-14 Andrea Corallo + + * Fix free function compilation load process. + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Do not crash + if the eln filename is not canonical (tmp file or manual load). + +2020-09-14 Andrea Corallo + + * Add gv-setters for compiler hints + + * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Add + gv-setters so type hinted expressions can be used as places. + Read we can now have like: '(cl-incf (cl-the fixnum x))'. + +2020-09-14 Andrea Corallo + + * lisp/emacs-lisp/comp.el (comp-sp): Better style gv-setter declaration. + +2020-09-14 Andrea Corallo + + * Remove type check emission from type hints low level primitives + + These have to be emitted by higher level primitves as `cl-the'. + + * lisp/emacs-lisp/comp.el (comp-hint-fixnum, comp-hint-cons): Do + not emit type checks. + +2020-09-14 Andrea Corallo + + * lisp/emacs-lisp/cl-macs.el: Define fixnum and bignum. + + Define fixnum so `cl-typep' recognize it and the type check emitted by + `cl-the' is effective. + +2020-09-14 Andrea Corallo + + * Add 'cl-optimize' as function declaration + + * lisp/emacs-lisp/cl-macs.el: Register cl-optimize into + `defun-declarations-alist' and `macro-declarations-alist'. + (cl--optimize): New function to serve 'cl-optimize' declaration. + +2020-09-14 Andrea Corallo + + * lisp/emacs-lisp/cl-macs.el (cl-the): Emit compiler hints when native. + +2020-09-14 Stefan Monnier + + * test/lisp/emacs-lisp/find-func-tests.el: New file (for bug#43393) + + * lisp/emacs-lisp/ert-x.el (ert-simulate-keys): New macro. + + * test/lisp/international/mule-tests.el + (mule-cmds--test-universal-coding-system-argument): Use it and enable + the test also in batch mode. + +2020-09-14 Kevin Ryde + + Tweak the `C-x v =' command when done from a diff buffer + + * lisp/vc/vc.el (vc-diff): Offer to save the relevant buffer(s) + when doing `C-x v =' from a diff buffer (bug#5773). + +2020-09-14 Pip Cet + + Don't retry reading after receiving EINVAL + + * src/process.c (wait_reading_process_output): Don't retry reading + from an fd after an unknown error (bug#6074). + +2020-09-14 Stephen Berman + + Fix problem of marking files with hidden subdirs + + * lisp/dired.el (dired-unhide-subdir): + (dired-subdir-hidden-p): + (dired-subdir-min): Moved from subr-x. + (dired-get-filename): Get the correct filename when directories + are hidden (bug#8484). + +2020-09-14 Lars Ingebrigtsen + + Allow preserving (some) text properties from completion tables + + * doc/lispref/minibuf.texi (Text from Minibuffer): Document it. + + * lisp/minibuffer.el (completion--replace): Preserve text + properties on completed items (bug#43218). + +2020-09-14 Lars Ingebrigtsen + + Allow hitting RET on info node names with multiple whitespace chars + + * lisp/info.el (info--node-canonicalize-whitespace): New function + (bug#10784). + (Info-extract-menu-node-name): Use it. + (Info-find-node): Use it. + +2020-09-14 Lars Ingebrigtsen + + Revert "Fix completion in `read-library-name'" + + This reverts commit ed44217d3245ddc8f2cf75c9499d5bb37848cfd7. + + This commit broke the use case of `M-x load-library RET o/or TAB' to + expand to org/org. + +2020-09-14 Lars Ingebrigtsen + + Further fixups in minibuffer-default--in-prompt-regexps + + * lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps): + Really allow shortening the default prompt format to [foo] (if + requested) (bug#12443). + +2020-09-14 Lars Ingebrigtsen + + Support build of Emacs on ARM Macos machines + + * configure.ac: Add support for aarch64-* on Macos (i.e., 64-bit + ARM) (bug#43369). + +2020-09-14 Mattias Engdegård + + Calc: fix binomial coefficients for negative arguments (bug#16999) + + For some values outside integers 0≤k≤n, (n choose k) gave wrong + results, entered infinite recursion or used unreasonably amounts of + stack space. This change fixes that and extends the function to all + integer arguments using the definitions from M. J. Kronenburg + (https://arxiv.org/abs/1105.3689). + + * lisp/calc/calc-comb.el (calcFunc-choose): + Fix sign error to prevent infinite recursion and extend function to + handle all integer arguments. + (math-choose-iter, math-choose-float-iter): Rewrite in iterative form; + no TCO in elisp yet. + * test/lisp/calc/calc-tests.el (calc-tests--fac, calc-tests--choose) + (calc-tests--check-choose, calc-tests--explain-choose) + (calc-tests--calc-to-number): New helper functions. + (calc-choose): New test. + +2020-09-14 Mattias Engdegård + + * lisp/simple.el (undo-redo): Rephrase error message. + +2020-09-14 Glenn Morris + + Fix builds without modules + + * src/data.c (Finteractive_form): + * src/eval.c (Fcommandp): Fix builds without modules. + +2020-09-14 Lars Ingebrigtsen + + Fix up report-emacs-bug action on invalid From headers + + * lisp/mail/emacsbug.el (report-emacs-bug-hook): Move point to the + From header if the user has to edit the From header. + +2020-09-14 akater (tiny change) + + Fix compilation-mode-map doc string + + * lisp/progmodes/compile.el (compilation-mode-map): Remove mention of + compilation-minor-mode-map (bug#43382). + + As the comment in the body says: + + ;; Don't inherit from compilation-minor-mode-map, + ;; because that introduces a menu bar item we don't want. + ;; That confuses C-down-mouse-3. + + and the map actually inherits from special-mode-map. + +2020-09-13 Philipp Stephani + + Add facility to make module functions interactive (Bug#23486). + + * src/module-env-28.h: Add field for 'make_interactive' function. + + * src/emacs-module.c (Lisp_Module_Function): Add new field holding the + interactive form. + (allocate_module_function): Adapt to structure layout change. + (module_make_interactive, module_function_interactive_form): New + functions. + (initialize_environment): Use them. + + * src/eval.c (Fcommandp): + * src/data.c (Finteractive_form): Also handle interactive module + functions. + + * test/data/emacs-module/mod-test.c (Fmod_test_identity): New test + function. + (emacs_module_init): Create two interactive module test functions. + + * test/src/emacs-module-tests.el (module/interactive/return-t) + (module/interactive/return-t-int, module/interactive/identity): + New unit tests. + + * doc/lispref/internals.texi (Module Functions): Document new + function. Rework paragraph about wrapping module functions, as the + example no longer applies. + + * etc/NEWS: Document new facility. + +2020-09-13 Reuben Thomas + + Escape ampersand in table.el LaTeX output + + * lisp/textmodes/table.el (table--generate-source-scan-lines): Add + ampersand '&' to the list of characters to escape in LaTeX output. + +2020-09-13 Andrea Corallo + + * Fix defsbust declare effectiveness introduced by 80d7f710 (Bug#43280). + + * lisp/emacs-lisp/byte-run.el (defsubst): Do not add a speed + declaration as this breaks a pre existing ones if present but + rather calls directly `byte-run--set-speed'. + +2020-09-13 Lars Ingebrigtsen + + Further fixups of the variable-pitch eww header line change + + * lisp/net/eww.el (eww-update-header-line-format): Protect against + :url not being set. + +2020-09-13 Stefan Kangas + + Improve wording of cua-mode menu entry + + * lisp/menu-bar.el (menu-bar-options-menu): Improve wording of the + cua-mode menu entry. (Bug#43323) + +2020-09-13 Stefan Kangas + + Improve frame-title-format and icon-title-format + + * src/xdisp.c (syms_of_xdisp): Replace 'invocation-name' with the text + "%b - GNU Emacs" and replace "@" with " at ". (Bug#41147) + * etc/NEWS: Announce the above change. + +2020-09-13 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-13 Eli Zaretskii + + Fix punctuation in EWW manual + + * doc/misc/eww.texi (Advanced): Fix punctuation of a recent + change. + +2020-09-13 Lars Ingebrigtsen + + Make diff--refine-hunk bug out less on broken patches + + * lisp/vc/diff-mode.el (diff--refine-hunk): Don't bug out on + broken patches where we can't find the middle. + +2020-09-13 Lars Ingebrigtsen + + Make the eww header work again even if the title is nil + + * lisp/net/eww.el (eww-update-header-line-format): Don't bug out + if the title isn't set at all. + +2020-09-13 Dario Gjorgjevski + + Make ERC desktop notifications lenient to invalid XML characters + + * lisp/xml.el (xml-invalid-characters-re): New constant. + + * lisp/erc/erc-desktop-notifications.el + (erc-notifications-notify): Strip IRC control codes and invalid + XML characters before notifying (bug#43328). + +2020-09-13 Lars Ingebrigtsen + + Don't eagerly store articles in the Agent by default + + * lisp/gnus/gnus-agent.el (gnus-agent-store-article): Made + obsolete. + + * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Don't + call it. + + * lisp/gnus/gnus-async.el (gnus-async-article-callback): Ditto + (bug#43356). + + This partially reverts f3b146e943cd733fb716c75048f24b73826e5f30, which + in was response to what appears to be an erroneous feature-request - + bug#8502. + + Instead this should be done instead: + + “If I read an article while plugged, do they get entered into the + Agent?” + + *No*. If you want this behavior, add + ‘gnus-agent-fetch-selected-article’ to + ‘gnus-select-article-hook’. + +2020-09-13 Lars Ingebrigtsen + + Kill gpg-agents started by mml-sec-tests (bug#43358) + +2020-09-13 Brian Leung (tiny change) + + Update .gitignore with ccls files + + * .gitignore: Ignore files used by ccls, a language server for C + (bug#43365). + +2020-09-13 Lars Ingebrigtsen + + Doc string clarification in file-directory-p + + * src/fileio.c (Ffile_directory_p): Mention that "" is a special + case (bug#43375). + +2020-09-13 Kiso Katsuyuki (tiny change) + + Clarify when tab-line-switch-cycling is used + + * lisp/tab-line.el (tab-line-switch-cycling): Clarify when the + variable is used. + +2020-09-13 Stefan Kangas + + * lisp/time.el (display-time-world): Make obsolete. + +2020-09-13 Stefan Kangas + + Make M-x show what aliases point to (Bug#43300) + + * lisp/simple.el (read-extended-command--annotation): Show an + annotation for aliases saying what it points to. + +2020-09-13 Stefan Kangas + + Make M-x show obsolete commands (Bug#43300) + + * lisp/simple.el (read-extended-command): Don't hide obsolete + commands. + (read-extended-command--annotation): Show an annotation for obsolete + commands that says what their new name is. + +2020-09-13 Lars Ingebrigtsen + + Revert "Use format-prompt in read-file-name calls that have a default" + + This reverts commit de4f347901adffd07bc9bff028dc073fb3c6df33. + + read-file-name already displays a long path when given a default + (like INITIAL in many other prompting functions), so using + format-prompt here is superfluous. + +2020-09-13 Lars Ingebrigtsen + + Make `ascii' a coding system alias for `us-ascii' + + * lisp/international/mule-conf.el (ascii): Define `ascii' as a + coding system alias to `us-ascii' (bug#43351). + +2020-09-13 Michael Albinus + + Fix a conversion failure in tramp-archive-tests (Bug#43353) + + * test/lisp/net/tramp-archive-tests.el + (tramp-archive-test-file-archive-hexlified): New defun. + (tramp-archive-test02-file-name-dissect): Use it. (Bug#43353) + +2020-09-13 Glenn Morris + + Don't force LC_ALL=C upon make check (bug#43353) + + * test/Makefile.in (TEST_LOCALE): Remove. + (emacs): Don't force LC_ALL=C, since it causes problems with + non-ascii directories. This mirrors a 7-year old lisp/Makefile change. + +2020-09-13 Glenn Morris + + Mark some diff tests as failing in nonascii directories + + * test/lisp/vc/diff-mode-tests.el (diff-mode-test-font-lock) + (diff-mode-test-font-lock-syntax-one-line): + Expect failure in non-ascii directories. + +2020-09-13 Lars Ingebrigtsen + + Clean up eww error buffer + + * lisp/net/eww.el (eww-retrieve): Clean up error buffer after exiting. + +2020-09-13 Lars Ingebrigtsen + + Fix up example code from previous eww.texi commit + + * doc/misc/eww.texi (Advanced): Simplify example command (and + "--virtual-time-budget=3000" makes Chromium unstable). + +2020-09-13 Lars Ingebrigtsen + + Add a way to use an external command to download HTML in eww + + * doc/misc/eww.texi (Advanced): Document it. + + * lisp/net/eww.el (eww-retrieve): New function. + (eww-reload): Use it. + (eww): Ditto. + (eww-retrieve-command): New variable. + +2020-09-12 Glenn Morris + + Adapt some tests for Emacs's excitingly variable quoting format + + * test/lisp/subr-tests.el (subr-test-version-parsing): + * test/lisp/emacs-lisp/gv-tests.el (gv-dont-define-expander-other-file): + * test/src/callint-tests.el (call-interactively/incomplete-multibyte-sequence): + * test/src/emacs-module-tests.el (module/describe-function-1): + Don't fail if curly quotes are in use, as they can be if LC_ALL != C. + +2020-09-12 Michael Albinus + + Cleanup in dbus.el, dbus-tests.el + + * lisp/net/dbus.el (dbus-error-no-reply): New defconst. + (dbus-call-method): Use it. + (dbus-call-method-asynchronously, dbus-register-signal): Fix docstring. + (dbus-unregister-object): Obey :serial entries in + `dbus-registered-objects-table'. + + * test/lisp/net/dbus-tests.el (dbus-test04-register-method) + (dbus-test05-register-property): Extend tests. + +2020-09-12 Glenn Morris + + Make vc-bzr tests work with brz 3.1 (bug#43314) + + * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726) + (vc-bzr-test-bug9781, vc-bzr-test-faulty-bzr-autoloads): + Make them work with brz 3.1. + +2020-09-12 Alan Mackenzie + + C++ Mode: handle __attribute__,etc. inside constructor argument lists + + This corrects both the fontification and indentation of these things, fixing + bug #42270. + + * lisp/progmodes/cc-engine.el (c-do-declarators): Skip over "hangon keys" and + noise macros whilst scanning a putative C++ function. + (c-forward-decl-or-cast-1): When checking for typeless functions, skip over + "hangon keys" and noise macros. + + * lisp/progmodes/cc-mode.el (c-fl-decl-end): Deal with certain invalid + "nested declarators" by scanning over them with a recursive call of + c-fl-decl-end. + + * lisp/progmodes/cc-vars.el (c-noise-macro-names) + (c-noise-macro-with-parens-names): State in the doc strings that if either of + these is a regexp, it must have a submatch 1 which matches the noise macro + exactly. + +2020-09-12 Glenn Morris + + Small Texinfo markup fixes + + * doc/misc/dbus.texi (Register Objects): + * doc/misc/gnus.texi (Searching): Texinfo markup fixes. + +2020-09-12 Lars Ingebrigtsen + + Fix compilation warning in cl-font-lock + + * lisp/progmodes/cl-font-lock.el (cl-font-lock-built-in-mode): Put + in the tools group to avoid a compilation warning. + +2020-09-12 Lars Ingebrigtsen + + Fix compilation warning in obsolete/complete.el + + * lisp/obsolete/complete.el (completion-base-size): Avoid + compilation warning. + +2020-09-12 Lars Ingebrigtsen + + Fix compilation warning in cl-lib.el + + * lisp/emacs-lisp/cl-lib.el (cl-old-struct-compat-mode): Put the + minor mode in the tools group (to avoid a compilation warning). + +2020-09-12 Lars Ingebrigtsen + + dired-omit-mode may not be defined in dired-jump + + * lisp/dired.el (dired-jump): dired-omit-mode is in dired-x, so it + may not be defined in dired. + +2020-09-12 Alex Bochannek + + Support scoring on article age interactively in Gnus + + * lisp/gnus/gnus-score.el (gnus-summary-score-entry): Support + scoring on article age in interactive scoring (bug#43270). + +2020-09-12 Glenn Morris + + Default Emacs to UTF-8 instead of Latin-1 + + * doc/emacs/mule.texi (File Name Coding): Document it. + + * lisp/international/mule-cmds.el (reset-language-environment): + Default to utf-8 instead of latin-1. + + * lisp/mail/sendmail.el (default-sendmail-coding-system): Ditto. + + * lisp/mh-e/mh-comp.el (mh-send-letter): Ditto. + +2020-09-12 Martin Rudalics + + Fix toggle-frame-fullscreen on w32 builds + + * src/w32term.c (w32_read_socket): Set 'fullscreen' to 'maximized' + if Windows sends SIZE_MAXIMIZED and either the top or the left of + the frame is outside the screen. (Bug#25542) + +2020-09-12 Lars Ingebrigtsen + + Further diff-no-select doc string clarification + + * lisp/vc/diff.el (diff-no-select): Doc string clarification. + +2020-09-12 Eli Zaretskii + + Avoid unneeded recentering when header-line is used + + * src/xdisp.c (try_window): Account for header-line height only in + the scroll-margin at the window's top, but not at its bottom. + (Bug#42653) + +2020-09-12 Eli Zaretskii + + Fix compilation on TERMINFO platforms with GCC 10 + + * src/terminfo.c [TERMINFO]: Don't redefine UP, BC, and CP, as + that could cause linking errors due to multiple definitions. + (Bug#43195) + +2020-09-12 Stefan Kangas + + Move dired-jump from dired-x to dired (Bug#21981) + + * lisp/dired-x.el (dired-bind-jump): Change into defvar and make + obsolete. + (dired-extra-startup): Doc fix. + (dired-jump, dired-jump-other-window): Move from here... + * lisp/dired.el (dired-jump, dired-jump-other-window): ...to here. + + * lisp/bindings.el (ctl-x-map, ctl-x-4-map): Bind 'C-j' to + 'dired-jump' and 'dired-jump-other-window'. + + * doc/misc/dired-x.texi (Features, Installation) + (Miscellaneous Commands): Remove documentation of 'dired-jump'. + * doc/emacs/dired.texi (Dired Enter): Document 'dired-jump' and + dired-jump-other-window. + * etc/NEWS: Announce the above changes. + + * test/lisp/dired-tests.el (dired-autoload): Adjust test. + +2020-09-11 Stefan Kangas + + Add some eshell completion patterns + + * lisp/eshell/em-cmpl.el (eshell-command-completions-alist): + Add 'gunzip', 'bunzip2' and 'unxz'. + +2020-09-11 Stefan Kangas + + Remove cedet items obsolete since 23.2 + + * lisp/cedet/semantic.el (semantic-toplevel-bovine-table) + (semantic-toplevel-bovine-cache) + (semantic-before-toplevel-bovination-hook) + (semantic-after-toplevel-bovinate-hook, semantic-init-hooks) + (semantic-init-mode-hooks, semantic-init-db-hooks) + (semantic-bovination-working-type, semantic-bovinate-toplevel) + (semantic-bovinate-region-until-error) + (semantic-bovinate-from-nonterminal-full): + * lisp/cedet/semantic/db-mode.el (semanticdb-mode-hooks): + * lisp/cedet/semantic/decorate/mode.el + (semantic-decorate-pending-decoration-hooks): + * lisp/cedet/semantic/edit.el + (semantic-edits-incremental-reparse-failed-hooks): + * lisp/cedet/semantic/fw.el (define-mode-overload-implementation): + * lisp/cedet/semantic/idle.el + (semantic-before-idle-scheduler-reparse-hooks) + (semantic-after-idle-scheduler-reparse-hooks): + (semantic-eldoc-current-symbol-info) + * lisp/cedet/semantic/imenu.el (semantic-imenu-expand-type-parts) + (semantic-imenu-bucketize-type-parts) + (semantic-imenu-expandable-token): + * lisp/cedet/semantic/java.el + (semantic-java-prototype-nonterminal): + * lisp/cedet/semantic/lex.el (semantic-flex-token-start) + (semantic-flex-token-end, semantic-flex-token-text) + (semantic-flex-make-keyword-table, semantic-flex-keyword-p) + (semantic-flex-keyword-put, semantic-flex-keyword-get) + (semantic-flex-map-keywords, semantic-flex-keywords) + (semantic-flex-buffer, semantic-flex-list, semantic-flex): + * lisp/cedet/semantic/tag-file.el (semantic-find-nonterminal) + (semantic-find-dependency): + * lisp/cedet/semantic/tag-ls.el (semantic-nonterminal-full-name) + (semantic-nonterminal-protection, semantic-nonterminal-abstract) + (semantic-nonterminal-leaf): + * lisp/cedet/semantic/tag.el (semantic-token-type-parent) + (semantic-tag-make-assoc-list, semantic-expand-nonterminal): + * lisp/cedet/semantic/util.el (semantic-file-token-stream) + (semantic-something-to-stream): + * lisp/cedet/semantic/wisent.el (wisent-lex-make-token-table): + Delete many items obsolete since Emacs 23.2. + * lisp/cedet/semantic.el (semantic--set-buffer-cache) + (semantic-fetch-tags): Don't run removed hooks + 'semantic-after-toplevel-bovinate-hook' and + 'semantic-before-toplevel-bovination-hook'. + * lisp/cedet/semantic/bovine/el.el: Remove reference to obsolete + variable 'define-mode-overload-implementation'. + * lisp/cedet/semantic/doc.el (semantic-doc-snarf-comment-for-tag): + Don't bind removed variable 'semantic-ignore-comments'. + * lisp/cedet/semantic/fw.el (semantic-overload-symbol-from-function) + (semantic-alias-obsolete, semantic-varalias-obsolete): Declare + obsolete in favor of standard Emacs 'define-obsolete-*-alias'. + * lisp/cedet/semantic/grammar.el (semantic-grammar-ASSOC): Don't + use obsolete names. + * lisp/cedet/semantic/tag-ls.el (semantic-tag-full-package) + (semantic-tag-full-name): Doc fixes. + * lisp/cedet/semantic/util.el (semantic-describe-buffer): Don't bind + removed variable 'semantic-after-toplevel-bovinate-hook'. + * lisp/cedet/semantic/lex.el (semantic-flex-tokens) + (semantic-flex-unterminated-syntax-end-function) + (semantic-flex-extensions, semantic-flex-syntax-modifications) + (semantic-ignore-comments, semantic-flex-enable-newlines) + (semantic-flex-enable-whitespace, semantic-flex-enable-bol) + (semantic-number-expression, semantic-flex-depth): Make unused + variables obsolete. + +2020-09-11 Lars Ingebrigtsen + + Guard against faulty flow-filled emails + + * lisp/mail/flow-fill.el (fill-flowed): Don't bug out if there's a + space at the end of the buffer. This is probably not allowed in + the flow-fill specification, but has been observed in the wild. + +2020-09-11 Alan Mackenzie + + CC Mode: Fix minor bugs in the string handling functions + + These sometimes gave rise to the tail of a buffer being "stringed out". + + * lixp/progmodes/cc-defs.el (c-will-be-unescaped): New macro. + + * lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings) + (c-after-change-mark-abnormal-strings): Fix bugs in the handling of string + fence syntax-table text properties. + +2020-09-11 Eli Zaretskii + + Improve help-echo of Undo and Redo menu items + + * lisp/menu-bar.el (undo-redo, undo): Improve the wording of + help-echo strings. + +2020-09-11 Lars Ingebrigtsen + + Tweak previous mailcap patch (for external viewers) + + * lisp/net/mailcap.el (mailcap-view-mime): Delete contents of the + buffer in the external case, too. + +2020-09-11 Michael Albinus + + D-Bus: Implement other compound types of properties + + * doc/misc/dbus.texi (Errors and Events): + * etc/NEWS: Mention dbus-show-dbus-errors. + + * lisp/net/dbus.el (dbus-compound-types): New defconst. + (dbus): New defgroup. + (dbus-show-dbus-errors): New defcustom. + (dbus-ignore-errors): Use it. + (dbus-set-property): Simplify. + (dbus-property-handler): Implement other compound types of properties. + + * test/lisp/net/dbus-tests.el (dbus--test-register-service) + (dbus-test05-register-property): Extend tests. + +2020-09-11 Andrea Corallo + + * src/comp.c (emit_static_object): Make use of ARRAYELTS. + +2020-09-11 Andrea Corallo + + * Make use of new 'gcc_jit_global_set_initializer' entry point + + Use this brand new entry point to avoid the current workaround and its + load-time memcpys. + + * src/comp.c (gcc_jit_global_set_initializer): Add to the dynamic + load machinery. + (static_obj_t): Remove const qualifier from the data field. + (emit_static_object): Make use of 'gcc_jit_global_set_initializer' + when available. + (load_static_obj): Use the blob for loading if that was emitted. + +2020-09-11 Lars Ingebrigtsen + + Fix up eldef shortening of the minibuffer + + * lisp/minibuf-eldef.el (minibuffer-default--in-prompt-regexps): + Don't include the ": " bit in the portion to be replaced + (bug#12443). + +2020-09-11 Lars Ingebrigtsen + + Improve diff-no-select doc string + + * lisp/vc/diff.el (diff-no-select): Improve the doc string somewhat. + +2020-09-11 Lars Ingebrigtsen + + Fix viewing PDFs from eww with external viewers + + * lisp/net/mailcap.el (mailcap-view-mime): Most MIME viewers can't + take input on stdin (and in any case, "-" is not how many of them + designate stdin) (bug#43318). So rewrite to put the data on a + file and feed the file name to the viewer. + +2020-09-11 Mattias Engdegård + + Calc: regularise test names + + * test/lisp/calc/calc-tests.el (calc-remove-units, calc-extract-units) + (calc-convert-units, calc-bug-23889, calc-trig, calc-format-radix) + (calc-calendar, calc-solve-linear-system): + Use a uniform naming convention (calc- prefix) to simplify test running. + +2020-09-11 Mattias Engdegård + + Simplify big integer constants in Calc + + * lisp/calc/calc-comb.el (math-small-factorial-table): + * lisp/calc/calc-funcs.el (math-bernoulli-b-cache): + * lisp/calc/calc.el (math-2-word-size, math-half-2-word-size): + No need for math-read-number-simple. + +2020-09-11 Mattias Engdegård + + Fix calc tests when running noninteractively + + This error was introduced in 8e1376a39125c3ffc0484077b502444d853eca79. + + * lisp/calc/calc.el (calc--header-line): Prevent size from being negative. + +2020-09-11 Andrea Corallo + + * Update gitlab CI yml file + + * .gitlab-ci.yml (test-native-bootstrap-speed0) + (test-native-bootstrap-speed1, test-native-bootstrap-speed2): + Update for new make invokation. + +2020-09-11 Andrea Corallo + + By default when building native compile only what's part of the dump image + + To Ahead of Time compile the whole Emacs distro define NATIVE_FULL_AOT + when invoking make ex: 'make NATIVE_FULL_AOT=1'. + + * lisp/Makefile.in (NATIVE_SKIP_NONDUMP): New variable. + (compile-main): Use it + rename NATIVE_DISABLE -> NATIVE_DISABLED. + * lisp/emacs-lisp/comp.el + (batch-byte-native-compile-for-bootstrap): Rename NATIVE_DISABLE + -> NATIVE_DISABLED. + +2020-09-11 Eli Zaretskii + + * lisp/simple.el (undo-redo): Doc fix. + +2020-09-11 Andrew G Cohen + + Allow an info structure as argument for gnus-group-get-parameter + + * lisp/gnus/gnus.el (gnus-group-get-parameter): Allow the group + argument to be either a group name or a group info structure. This is + then parallel to gnus-group-set-parameter. + +2020-09-11 Stefan Monnier + + * lisp/loadup.el ("button"): Move to after loaddefs.el + +2020-09-11 Andrew G Cohen + + Clean up group-finding in Gnus nnir search + + This is part of removing code from nnir.el that isn't related to + searching backends and therefore belongs somewhere else. + + * lisp/gnus/gnus-group.el (gnus-group-make-search-group) + (gnus-group-read-ephemeral-search-group): Put the logic for + determining the groups to search here, rather than in nnir. Improve + documentation. + * lisp/gnus/gnus-int.el (gnus-server-get-active): Renamed from + 'nnir-get-active. + * lisp/gnus/nnir.el (nnir-run-imap, nnir-run-find-grep): Use it. + (nnir-get-active): Remove. + (nnir-make-specs): Make obsolete. + * lisp/gnus/nnselect.el (nnselect-group-server): Make obsolete in + favor of 'gnus-group-server. + +2020-09-11 Andrew G Cohen + + Allow editing articles in Gnus nnselect groups + + * lisp/gnus/nnselect.el (nnselect-request-replace-article): New function. + +2020-09-11 Elad Lahav (tiny change) + + Fix QNX build + + * configure.ac: The __NO_EXT_QNX flag is no longer needed, and is + masking the declaration of memset_s() (bug#43234). + +2020-09-10 Boruch Baum + + Use a header line in calc mode instead of a regular in-buffer line + + * lisp/calc/calc.el (calc-trail-here): Use a header line. + (calc--header-line): New function. + (calc-trail-mode): Use a header line. + +2020-09-10 Lars Ingebrigtsen + + Tweak how `M-RET' in Message mode fills paragraphs + + * lisp/gnus/message.el (message-newline-and-reformat): Pick up any + longer white-space prefix before starting to fill (bug#43299). + This fixes the problem of hitting M-RET on a line that's just ">". + +2020-09-10 Lars Ingebrigtsen + + Doc fix for diff-no-select + + * lisp/vc/diff.el (diff-no-select): Document the BUF argument + (bug#43307). + +2020-09-10 Caio Henrique (tiny change) + + Add a "Redo" entry to the menu + + * lisp/menu-bar.el (menu-bar-edit-menu): Add "Redo" under "Undo" + in the Edit menu (bug#43315). + +2020-09-10 Lars Ingebrigtsen + + Fix the font-lock-debug-fontify NEWS entry + + * etc/NEWS: Fix the name of `font-lock-debug-fontify' (bug#43319). + +2020-09-10 Stefan Kangas + + * lisp/textmodes/artist.el: Remove obsolete comments. + +2020-09-10 Stefan Kangas + + Convert indent test for css-mode into automatic test + + * test/lisp/textmodes/css-mode-tests.el (css-mode-test-indent): New + test. + (css-mode-tests-data-dir): New variable. + * test/manual/indent/css-mode.css: Move from here... + * test/lisp/textmodes/css-mode-resources/test-indent.css: ...to here. + +2020-09-10 Stefan Kangas + + Mark some tests as expensive + + * test/lisp/autorevert-tests.el + (auto-revert-test00-auto-revert-mode) + (auto-revert-test03-auto-revert-tail-mode) + (auto-revert-test04-auto-revert-mode-dired): + * test/lisp/cedet/semantic-utest-c.el + (semantic-test-c-preprocessor-simulation): + * test/lisp/cedet/srecode-utest-getset.el + (srecode-utest-getset-output): + * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264): + * test/lisp/emacs-lisp/package-tests.el + (package-test-update-archives-async): + * test/lisp/filenotify-tests.el (file-notify-test03-events) + (file-notify-test04-autorevert) + (file-notify-test05-file-validity, file-notify-test08-backup): + * test/lisp/net/gnutls-tests.el (test-gnutls-005-aead-ciphers): + * test/lisp/shadowfile-tests.el (shadow-test00-clusters) + (shadow-test09-shadow-copy-files): + +2020-09-10 Stefan Kangas + + Use lexical-binding in mml-sec-tests.el + + * test/lisp/gnus/mml-sec-tests.el: Use lexical-binding. + (mml-secure-test-mail-fixture) + (mml-secure-test-en-decrypt-with-passphrase): Fix warnings. + +2020-09-10 Stefan Kangas + + * test/lisp/org/org-tests.el: Use lexical-binding. + +2020-09-10 Stefan Kangas + + Use lexical-binding in url-future-tests.el + + * test/lisp/url/url-future-tests.el: Use lexical-binding. + (url-future-tests--saver): New variable. + (url-future-tests): Use new variable. + +2020-09-10 Stefan Kangas + + Use lexical-binding in semantic-utest-c.el + + * test/lisp/cedet/semantic-utest-c.el: Use lexical-binding. + (semantic-test-gcc-output-parser): Fix warning. + +2020-09-10 Michael Albinus + + Implement D-Bus properties with compound type. + + * lisp/net/dbus.el (dbus-set-property): Fix thinko. + (dbus-register-property, dbus-property-handler): Support compound + properties. + + * src/dbusbind.c (dbus-registered-objects-table): Fix docstring. + + * test/lisp/net/dbus-tests.el (dbus--test-interface): Make it + different to `dbus--test-service'. + (dbus-test05-register-property) + (dbus-test05-register-property-several-paths): Adapt tests. + +2020-09-10 Nick Savage (tiny change) + + Open describe-function NEWS links in view-mode + + * lisp/help-mode.el (help-news): Open describe-function NEWS links in + view-mode (Bug#39912) + +2020-09-10 Alex Bochannek (tiny change) + + Fix up < and > "date" scoring rules in Gnus + + * lisp/gnus/gnus-score.el (gnus-score-date): The previous < and > + "date" scoring rules (added in the previous patch) had reversed + logic (bug#43270). + +2020-09-10 Mauro Aranda + + Fix :match function for the file widget + + * lisp/wid-edit.el (file widget): Return nil if value is not a + string (bug#25678). + +2020-09-10 Lars Ingebrigtsen + + Revert back to using ESC as viper-ESC-key again + + * lisp/emulation/viper-keym.el (viper-ESC-key): Revert back to + using ESC instead of `escape' (bug#18182). This allows using + `C-[' again on terminals for ESC. The key should be mapped back + to `escape' by `function-key-map'. + +2020-09-10 Andrew G Cohen + + Fix new summary-line after editing an article in Gnus + + * lisp/gnus/gnus-sum.el (gnus-summary-edit-article-done): Strip ^M + from the ends of lines after saving an edited article. Otherwise the + new header isn't always parsed properly, resulting in an incorrect + subject line in the summary buffer. + +2020-09-10 Andrea Corallo + + * Guard against trying to rename files into eln sys directory + + * src/comp.c (file_in_eln_sys_dir): New function. + (Fnative_elisp_load): Make use of. + +2020-09-10 Andrea Corallo + + Merge remote-tracking branch 'savannah/master' into HEAD + +2020-09-10 Andrea Corallo + + * Fix rename file error when reloading the same file from an sys eln dir. + + * src/comp.c (Fnative_elisp_load): Don't rename files we don't + have the permission for. + +2020-09-10 Andrea Corallo + + Revert "* src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap." + + This reverts commit 15acd27d1c0de8b56bab61daa0a8fcd4fef0fdc4. + +2020-09-10 Amin Bandali + + Set `generated-autoload-file' in erc-status-sidebar.el + + * lisp/erc/erc-status-sidebar.el: Set `generated-autoload-file' to + ERC's dedicated "erc-loaddefs.el", since we don't need this file's + autoloaded functions to be available before ERC itself is loaded. + +2020-09-09 Kiso Katsuyuki (tiny change) + + Introduce a new variable tab-line-switch-cycling + + If it is set t, enable cycling tab switch. Default is nil. + +2020-09-09 Kiso Katsuyuki (tiny change) + + Suppress errors of tab-line-switch functions + + Traget errors occurs when tab-line-switch-to-prev-tab or + tab-line-switch-to-next-tab is invoked in a buffer which is not in + tabs + +2020-09-09 João Távora + + Fix up fix for bug#19032 + + * lisp/icomplete.el (icomplete-ret): Call + minibuffer-icomplete-and-exit, not minibuffer-exit. + +2020-09-09 Stefan Kangas + + Minor clean ups and doc fixes in find-dired + + * lisp/find-dired.el (find-ls-option, find-dired): Doc fixes. + (find-dired, kill-find): Minor clean ups. + +2020-09-09 Stefan Kangas + + Make flyspell-prog-text-faces into defcustom + + * lisp/textmodes/flyspell.el (flyspell-prog-text-faces): + Make into defcustom. (Bug#32136) + +2020-09-09 Naoya Yamashita + + Add gv-define-expander for plist-get + + It is necessary to make plist-get as a generalized variable, and this + definition allows user to use setf and other useful functions on + plist-get. + + * lisp/emacs-lisp/gv.el: Add gv-define-expander for plist-get + + * lisp/emacs-lisp/gv-tests.el: Add new tests for plist-get + +2020-09-09 Stefan Monnier + + * lisp/dnd.el: Use lexical-binding. Remove redundant :group + + (dnd--unescape-uri): Mark it internal, but don't mark it inlinable. + + * lisp/cus-edit.el (dnd): Move the group to dnd.el. + +2020-09-09 Stefan Monnier + + (define-minor-mode): Don't compute a default :group (bug#41145) + + * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Rely on the + `defcustom`s own defaulting for the :group. + + * lisp/display-fill-column-indicator.el + (global-display-fill-column-indicator-mode): Remove now redundant :group. + + * lisp/cus-dep.el (custom--get-def): New function. + (custom-make-dependencies): Use it. + +2020-09-09 Michael Albinus + + Adapt Tramp doc + + * doc/misc/tramp.texi (Remote shell setup): + Mention password-word-equivalents. + + * lisp/net/tramp.el (tramp-password-prompt-regexp): Fix docstring. + +2020-09-09 Glenn Morris + + Merge from origin/emacs-27 + + 366a97c980 (origin/emacs-27) Avoid crashes when trying to load bad GI... + 7938713105 C++ Mode: handle comma separated brace initializers. + 2b95300cf8 * lisp/display-fill-column-indicator.el: Fix bug#41145 + +2020-09-09 Glenn Morris + + Merge from origin/emacs-27 + + 9b35b0c99c ; * lisp/man.el (Man-mode): Fix formatting. + abca75d2e9 ; Fix typos; change "Emacs-Lisp" to "Emacs Lisp" + +2020-09-09 Glenn Morris + + Merge from origin/emacs-27 + + 302f71e55d Fix help message with help-window-select + 0fb3fc92b3 Remove obsolete "Wide Characters" section of Gnus manual + +2020-09-09 Michael Albinus + + Fix thinko in dbus.el + + * doc/misc/dbus.texi (Register Objects): Rename from "Receiving + Method Calls". Add reference to D-Bus API Design document. + + * lisp/net/dbus.el (dbus-managed-objects-handler): Fix thinko. + + * test/lisp/net/dbus-tests.el (dbus-test05-register-property) + (dbus-test05-register-property-several-paths): Extend tests. + +2020-09-09 Lars Ingebrigtsen + + Add the (hopefully) correct debbugs header for patches + + * lisp/mail/emacsbug.el (submit-emacs-patch): Mark the submission + as a patch. + +2020-09-09 Lars Ingebrigtsen + + Implement a new `submit-emacs-patch' command + + * doc/emacs/trouble.texi (Checklist): Mention the new command. + + * doc/lispref/intro.texi (Caveats): Ditto. + + * lisp/mail/emacsbug.el (emacs-bug--system-description): Factor + out into own function. + (report-emacs-bug): ... from here. + (submit-emacs-patch): New command. + +2020-09-09 Lars Ingebrigtsen + + Make the button navigation commands available via a minor mode + + * lisp/button.el (button-mode): New minor mode. + + * doc/lispref/display.texi (Button Buffer Commands): Mention it. + +2020-09-09 Andrew G Cohen + + Make Gnus cache work with nnselect + + * lisp/gnus/gnus-cache.el (gnus-cache-possibly-enter-article) + (gnus-cache-possibly-remove-articles) + (gnus-cache-possibly-remove-article): Use originating article info for + nnselect groups. + +2020-09-09 Andrew G Cohen + + Add Gnus function to make a persistent group from a search result + + * lisp/gnus/gnus-sum.el (gnus-summary-make-group-from-search): New + command (bound to C-c C-p in summary buffers). + * doc/misc/gnus.texi (What is nnir?): Document it. Correct previous + errors. + * etc/NEWS (Gnus): Mention it. + +2020-09-08 Lars Ingebrigtsen + + Allow DEFAULT in format-prompt to be a list + + * doc/lispref/minibuf.texi (Text from Minibuffer): Document it. + + * lisp/minibuffer.el (format-prompt): Allow DEFAULT to be a list + (and use the first element). This is how many of the prompting + functions interpret their default parameters. + +2020-09-08 Win Treese + + Fix crash from clicking on menu bar (bug#34762, bug#26982) + + * src/nsmenu.m (ns_update_menubar): Remove extraneous use of + autorelease pool. + +2020-09-08 Lars Ingebrigtsen + + Revert "Use format-prompt in calls to read-from-minibuffer with default value" + + This reverts commit 1921d2176bb9127d2483a1c8a470abfc3f4eec33. + + The DEFAULT-VALUE here isn't really a default value (since READ is nil), so + don't say there's a default. + +2020-09-08 Lars Ingebrigtsen + + Doc string update for tramp-password-prompt-regexp + + * lisp/net/tramp.el (tramp-password-prompt-regexp): Mention + password-word-equivalents in the doc string. + +2020-09-08 Daniel Martín + + Use mouse-wheel-up-event in mwheel-tests.el + + Enabling mouse-wheel-mode binds two different mouse events, depending + on the operating system. The correct way to check for those events is + by checking mouse-wheel-up-event, as explained in the ELisp manual. + + * test/lisp/mwheel-tests.el (mwheel-test-enable/disable): Check + mouse-wheel-up-event instead of mouse-4 to make the test work + irrespective of the platform it's running. + +2020-09-08 Eli Zaretskii + + Avoid crashes when trying to load bad GIF files + + * src/image.c (gif_load): Handle the case when GifErrorString + returns NULL. (Bug#43281) + +2020-09-08 Glenn Morris + + Skip failing cperl test on hydra + + * test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-10483): + Skip on hydra.nixos.org. + +2020-09-08 Michael Albinus + + * etc/NEWS: Add D-Bus changes. + +2020-09-08 Michael Albinus + + Implement typed D-Bus properties (Bug#43252) + + * doc/misc/dbus.texi (Properties and Annotations) + (Receiving Method Call): Document optional type symbol in + `dbus-set-property' and `dbus-register-property'. + + * lisp/net/dbus.el (dbus-error-unknown-interface) + (dbus-error-unknown-method, dbus-error-unknown-object) + (dbus-error-unknown-property): New defconsts. + (dbus-peer-handler): Improve error handling. + (dbus-introspect-get-signature): Handle also properties. + (dbus-set-property, dbus-register-property): Allow optional TYPE + symbol for VALUE. (Bug#43252) + (dbus-property-handler): Implement property types. Improve error + handling. + + * src/dbusbind.c (dbus-message-internal, dbus-registered-objects-table): + Fix docstring. + + * test/lisp/net/dbus-tests.el (dbus-test05-register-property): + Extend test. + (dbus-test05-register-property-several-paths): New test. + +2020-09-08 Andrea Corallo + + * src/comp.c (Fcomp__compile_ctxt_to_file): Don't cleanup caches at bootstrap. + +2020-09-08 Lars Ingebrigtsen + + Revert "Explain in the tab-always-indent doc how to make TAB insert a TAB" + + This reverts commit 4b2371631167e509668b6268334e324fdd2f0327. + + overriding-terminal-local-map should apparently not be used for minor stuff like this. + +2020-09-08 Alex Bochannek + + Introduce a new Gnus scoring method (for article age) + + * doc/misc/gnus.texi (Score File Format): Document it. + + * lisp/gnus/gnus-score.el (gnus-score-check-syntax): Add support + for the new date methods < and > (bug#43270). + (gnus-score-date): Allow scoring on dates by age. + +2020-09-08 João Távora + + Change icomplete-show-matches-on-no-input behaviour for Icomplete only + + (Bug#19032), bug#43120 + + Previous fixes to bug#19032 introduced bugs in Fido mode. This fix + relies on a new command bound to RET. + + * etc/NEWS (Miscellaneous): Mention icomplete-show-matches-on-no-input. + + * lisp/icomplete.el (icomplete-show-matches-on-no-input): Add comment. + (icomplete-minibuffer-map): Rebind minibuffer-complete-and-exit to + icomplete-ret. + (icomplete-ret): New command. + +2020-09-08 João Távora + + Revert two commits for bug#19032 + + This reverts: + + - commit 585fe00557489e49188b6a301f001ef01ff15dcb, which is titled + "Fix up previous icomplete-show-matches-on-no-input change" + + - commit 1b8d369c381b5a63e40529d0d95dfa75d94b8e09, which is titled + "Change icomplete-show-matches-on-no-input behavior". + + A simpler, less intrusive fix follows shortly after this commit. + +2020-09-08 Amin Bandali + + * etc/NEWS: Mention the new erc-status-sidebar.el + + * lisp/erc/erc-status-sidebar.el: Fix header and make small tweaks + +2020-09-08 Andrew Barbarello + + * lisp/erc/erc-status-sidebar.el: New file + + Taken from commit 87210a3ccc16a86e6b5992744b68daabed3b2d11 + of https://github.com/drewbarbs/erc-status-sidebar. + +2020-09-08 Andrea Corallo + + * Name temp eln files as .eln.tmp so we can't clean-up them mistakenly. + + * src/comp.c (Fcomp__compile_ctxt_to_file): Postfix temporary eln + files as .eln.tmp. + +2020-09-07 Andrea Corallo + + * Do not crash compilation if user eln-cache wasn't already created. + + * lisp/emacs-lisp/comp.el (comp-clean-up-stale-eln): Guard + against calling `directory-files' on non existent directories. + +2020-09-07 Lars Ingebrigtsen + + Use format-prompt in read-file-name calls that have a default + + * lisp/xwidget.el (xwidget-webkit-save-as-file): + * lisp/vc/vc.el (vc-backend-for-registration, vc-delete-file) + (vc-rename-file): + * lisp/vc/ediff-ptch.el (ediff-prompt-for-patch-file): + * lisp/vc/diff-mode.el (diff-tell-file-name): + * lisp/progmodes/etags.el (visit-tags-table) + (visit-tags-table-buffer): + * lisp/misearch.el (multi-isearch-read-files): + * lisp/mail/rmailmm.el (rmail-mime-save): + * lisp/help-fns.el (doc-file-to-man, doc-file-to-info): + * lisp/gnus/gnus-bookmark.el (gnus-bookmark-load): + * lisp/files.el (write-file, basic-save-buffer): + * lisp/dired.el (dired-read-dir-and-switches): + * lisp/bookmark.el (bookmark-save, bookmark-load): + * lisp/abbrev.el (write-abbrev-file, abbrev-edit-save-to-file): + Use format-prompt in read-file-name calls that have a default. + +2020-09-07 Reuben Thomas + + Fix Enchant dictionary finding routine + + * lisp/textmodes/ispell.el (ispell-find-enchant-dictionaries): Don’t + pass `buffer-string' to enchant-lsmod. Remove zero-length substrings + from the split output of `enchant-lsmod`, as the output ends with a + separator. Pass the current language to + `ispell--get-extra-word-characters', so we get the result for the + current language, not the default language. (Patch from Jorge P. de + Morais Neto.) + +2020-09-07 Juri Linkov + + * lisp/char-fold.el (char-fold-to-regexp): Handle lax-whitespace (bug#38539) + +2020-09-07 Lars Ingebrigtsen + + Fix test failure in custom--test-theme-variables + + * test/lisp/custom-tests.el (custom--test-theme-variables): "make + check" in the main directory didn't work because the path was + wrong. Use EMACS_TEST_DIRECTORY to find the test directory + instead. + +2020-09-07 Lars Ingebrigtsen + + Require ert in the cperl tests, since it's reloading itself + +2020-09-07 Viktor Slavkovikj (tiny change) + + Use auth-source for passwords in rmail + + * lisp/mail/rmail.el (rmail-get-remote-password): Use auth-source for + passwords (bug#24274). + (rmail-parse-url): Pass in user/host. + +2020-09-07 Daniel Martín (tiny change) + + Add support for horizontal scrolling in tab-line + + * lisp/tab-line.el ([tab-line wheel-left]): Bind left and right tab + line scrolling to the 'wheel-left' and 'wheel-right' mouse events. + ([tab-line S-wheel-right]): Analogous change for the functions that + switch tabs. + * etc/NEWS: Announce the new feature (bug#43224). + +2020-09-07 Lars Ingebrigtsen + + Show the status of signed + encrypted S/MIME messages in Gnus + + * lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt): Use the + data to tell the caller (i.e., Gnus) something about the + validation of signed + encrypted S/MIME messages. + + * lisp/gnus/mm-view.el (mm-view-pkcs7-verify): Pass along details + about whether we could validate the signature or not (bug#42637). + +2020-09-07 João Távora + + Better explain behaviour of icomplete--sorted-completions + + * lisp/icomplete.el (icomplete--sorted-completions): Overhaul comment + +2020-09-07 Lars Ingebrigtsen + + Remove debugging code inadvertently checked in + + * lisp/gnus/gnus-fun.el (gnus-face-from-file): Remove debugging + code inadvertently checked in. + +2020-09-07 Andrew G Cohen + + Add aliases for recent Gnus nnselect changes + + * lisp/org/ol-gnus.el (org-gnus-store-link): Change 'nnir to + 'nnselect. + * lisp/gnus/gnus-group.el: Define obsolete function alias for + 'gnus-group-make-nnir-group to + 'gnus-group-read-ephemeral-search-group. + * lisp/gnus/gnus-sum.el: Define obsolete variable alias for + 'gnus-refer-thread-use-nnir to 'gnus-refer-thread-use-search. + * lisp/gnus/nnselect.el: Define obsolete variable alias for + 'nnir-retrieve-headers-override-function to + 'nnselect-retrieve-headers-override-function. + * lisp/gnus/nnir.el: Restore definition of 'nnir-summary-line-format + and mark obsolete. + +2020-09-07 Lars Ingebrigtsen + + Use variable-pitch fonts in the eww headers + + * lisp/net/eww.el (eww--limit-string-pixelwise) + (eww--pixel-column): New functions. + (eww-update-header-line-format): Use variable pitch fonts in the + header line. + +2020-09-07 Lars Ingebrigtsen + + Add edebug form to subr--with-wrapper-hook-no-warnings + + * lisp/subr.el (subr--with-wrapper-hook-no-warnings): Add a debug + form to allow edebugging some stuff. + +2020-09-07 Reuben Thomas + + Add enchant-2 to list of default spelling checker programs + + * lisp/textmodes/ispell.el (ispell-program-name): Check `enchant-2', + as it is likely to be a suitable version. + +2020-09-07 Philip K + + Allow CSS completion with multiple rules on one line + + * css-mode.el (css--complete-property-value): Check for semi-colon + when completing property values (bug#43242). + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in some read-string calls + + * lisp/progmodes/prolog.el (prolog-help-on-predicate): + * lisp/cmuscheme.el (scheme-trace-procedure): + * lisp/calendar/todo-mode.el (todo-convert-legacy-files): Use + format-prompt in some read-string calls (that have default values). + + * lisp/printing.el (pr-interactive-regexp): No need to use "" as + the default value, because that's the default default value. + (pr-interactive-n-up): Use read-number instead of read-string and + then parsing the string. + +2020-09-06 dickmao + + Make list-processes--refresh work for pipe processes, too + + * lisp/simple.el (list-processes--refresh): Don't bug out in the + presence of a `pipe' process (bug#43202). + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in calls to read-from-minibuffer with default value + + * lisp/tab-bar.el (tab-bar-rename-tab) + (tab-bar-rename-tab-by-name): + * lisp/simple.el (next-matching-history-element): Use + format-prompt in calls to read-from-minibuffer with at default + value. + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in read-string calls (that have default values) + + * lisp/vc/vc-annotate.el (vc-annotate): + * lisp/vc/log-edit.el (log-edit-comment-search-backward) + (log-edit-comment-search-forward): + * lisp/textmodes/rst.el (rst-insert-list-new-item): + * lisp/server.el (server-force-delete): + * lisp/mpc.el (mpc): + * lisp/frame.el (set-frame-name): + * lisp/emulation/cua-rect.el (cua-sequence-rectangle): + * lisp/cedet/semantic/symref/list.el (semantic-symref-regexp): + * lisp/calendar/todo-mode.el (todo-read-time): Use `format-prompt' + in `read-string' calls that have defaults. + +2020-09-06 Stefan Kangas + + Add autoload cookie to eshell-bookmark-jump + + * lisp/eshell/esh-mode.el (eshell-bookmark-jump): Add autoload + cookie, so we can jump to bookmarks before having used eshell. + Problem noted by Stefan Monnier. + +2020-09-06 Michael Albinus + + More work on D-Bus error messages + + * lisp/net/dbus.el (dbus-get-property): Adapt docstring. + (dbus-set-property): Handle case of `:write' access type. + (dbus-get-other-registered-properties): Rename from + `dbus-get-other-registered-property'. + (dbus-property-handler): Fix thinkos. + + * src/dbusbind.c (xd_read_message_1): Add error_name to event args + in case of DBUS_MESSAGE_TYPE_ERROR. + + * test/lisp/net/dbus-tests.el (dbus--test-enabled-session-bus) + (dbus--test-enabled-system-bus): Make them defconst. + (dbus--test-service, dbus--test-path, dbus--test-interface): + New defconst. Replace all occurences of `dbus-service-emacs' by + `dbus--test-service'. + (dbus--test-method-handler): New defun. + (dbus-test04-register-method, dbus-test05-register-property): New tests. + +2020-09-06 Lars Ingebrigtsen + + Use format-prompt in calls to completing-read with a default value + + * lisp/textmodes/rst.el (rst-insert-list-new-item): + * lisp/tab-bar.el (tab-bar-switch-to-tab): + * lisp/profiler.el (profiler-start): + * lisp/frame.el (set-frame-font): + * lisp/erc/erc.el (erc-join-channel): + * lisp/emacs-lock.el (emacs-lock--set-mode): + * lisp/emacs-lisp/elp.el (elp-set-master): + * lisp/emacs-lisp/checkdoc.el () + (checkdoc-this-string-valid-engine): + * lisp/calendar/todo-mode.el (todo-find-filtered-items-file): + * lisp/calendar/calendar.el (calendar-set-date-style): Use + `format-prompt' in calls to completing-read that has a default + value, but didn't mention that in the prompt. + +2020-09-06 Lars Ingebrigtsen + + Use a popup menu for