2024-10-25 Eli Zaretskii Skip *.dylib files in 'loaddefs-generate' * lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate): Add .dylib to extensions of files that are skipped. (Bug#74001) 2024-10-24 Vincenzo Pupillo Highlight namespace name in "use" clause. * lisp/progmodes/php-ts-mode.el (php-ts-mode--font-lock-settings): New rule to highlight namespace name in "use" clause. (Bug#73975) 2024-10-24 Sean Whitton Update special conditionals documentation * doc/lispref/control.texi (Conditionals): Document if-let* and when-let*, not if-let and when-let. Document and-let*. 2024-10-23 Sean Whitton Document and-let* vs. when-let* usage convention * lisp/subr.el (and-let*): Document and/and-let* vs. when/when-let* usage convention (some discussion in bug#73853). (when-let*): Add cross-reference to and-let*. 2024-10-22 Jim Porter Fix error when splicing Eshell globs and a glob expands to itself This could happen when 'eshell-extended-glob' determines that a "glob" is not really a glob. This mainly happens for remote file names with a "~" in them, like "/ssh:remote:~/file.txt". * lisp/eshell/em-glob.el (eshell-extended-glob): Return a list when 'eshell-glob-splice-results' is non-nil. * test/lisp/eshell/em-glob-tests.el (em-glob-test/expand/splice-results) em-glob-test/expand/no-splice-results): Extend tests. 2024-10-22 Stefan Monnier * etc/package-keyring.gpg: Update expiration and add new key 2024-10-21 Eli Zaretskii Avoid crashes when scrolling images under winner-mode * src/window.c (window_scroll_pixel_based): Fix calculation of a window's vscroll. (Bug#73933) 2024-10-20 Eli Zaretskii * src/lread.c (READ_AND_BUFFER): Reject negative chars (bug#73914). 2024-10-20 Michael Albinus * test/Makefile.in: Do not show emacs-module-tests.log by default. 2024-10-19 Vincenzo Pupillo Fix 'php-ts-mode': better indentation and font locking Incomplete compound_statement or colon_block (statement-group without a closing brace or closing keyword) that are not inside a function or method are not recognized as such by tree-sitter-php. A new function 'php-ts-mode--open-statement-group-heuristic' handles this case. Font locking of magic methods and better support for alternative control structure syntax. Support for latest grammar version. * lisp/progmodes/php-ts-mode.el (php-ts-mode--language-source-alist): Updated grammar version. (php-ts-mode--possibly-braceless-keyword-re): Regular expression for braceless keyword. (php-ts-mode--open-statement-group-heuristic): New function. (php-ts-mode--parent-html-bol): Use the new function and doc fix. (php-ts-mode--parent-html-heuristic): Use the new function and doc fix. (php-ts-mode--indent-styles): Use the new function and add 'colon_block' support. (php-ts-mode--class-magic-methods): New predefined magic methods list. (php-ts-mode--test-namespace-name-as-prefix-p): Doc fix. (php-ts-mode--test-namespace-aliasing-clause-p): Fix the test and doc. (php-ts-mode--test-namespace-use-group-clause-p): Doc fix. (php-ts-mode--test-visibility-modifier-operation-clause-p): New function for the new asymmetric property visibility feature of PHP 8.4. (php-ts-mode--font-lock-settings): Font lock for class magic methods and alternative syntax. Better font lock for 'instanceof'. Use 'font-lock-function-call-face' for scoped and member call expression. (bug#73779) 2024-10-19 Michael Albinus * lisp/auth-source.el (read-passwd): Remove entry from `post-command-hook'. 2024-10-19 Eli Zaretskii New FAQ about Ctrl keys on xterm * doc/misc/efaq.texi (Some Ctrl-modified keys do not work on xterm): New section (bug#73813). 2024-10-19 Eli Zaretskii Autoload 'message-narrow-to-headers-or-head' in mml.el * lisp/gnus/mml.el (message-narrow-to-headers-or-head): Autoload it. (Bug#73815) 2024-10-18 Stefan Monnier * lisp/emacs-lisp/pcase.el (pcase--make-docstring): Fix bug#73766 Do not merge to `master`. 2024-10-18 Michael Albinus Locate password icon in global-mode-string * doc/emacs/mini.texi (Passwords): Precise the location of the password icon. * doc/lispref/minibuf.texi (Reading a Password): The password icon is added to global-mode-string. * lisp/auth-source.el (read-passwd--mode-line-buffer): Remove. (read-passwd--hide-password): Fix docstring. (read-passwd-toggle-visibility): Don't use `read-passwd--mode-line-buffer'. Check for `read-passwd-mode'. Force update in all mode lines. (read-passwd-mode): Set `read-passwd--mode-line-icon' in `global-mode-string'. (Bug#73768) 2024-10-18 Robert Pluim Explain tty-color-mode frame parameter more. * doc/emacs/cmdargs.texi (Colors X): Explain that tty color support is dynamic. * doc/lispref/frames.texi (Font and Color Parameters): Explain that 'tty-color-mode' can be changed on the fly. * doc/misc/efaq.texi (Colors on a TTY): Explain how to disable 'tty-color-mode', either at startup or dynamically. 2024-10-17 Stefan Monnier (track-changes--after): Fix problem found in bug#73041 When calling `track-changes--before` (e.g. because of a missing b-f-c or for some other reason), it sets `track-changes--before-end` to the right value so we shouldn't increment it right after. Also, we should update `track-changes--buffer-size` before calling `track-changes--before` so it doesn't risk signaling a spurious inconsistency. * lisp/emacs-lisp/track-changes.el (track-changes--after): Update `track-changes--buffer-size` earlier, and don't increment `track-changes--before-end` when we call `track-changes--before`. 2024-10-16 Jim Porter Fix Eshell's evaluation of empty 'progn' forms Do not merge to master. * lisp/eshell/esh-cmd.el (eshell-do-eval): Make sure we evaluate to 'nil' for 'progn' forms with no body (bug#73722). 2024-10-15 Andrea Corallo * lisp/progmodes/c-ts-mode.el (treesit-node-eq): Declare to silence warning. 2024-10-15 Michael Albinus * admin/notes/emba: Docker builds do not run in a worktree. 2024-10-15 Ulrich Müller * lisp/calc/calc-ext.el (math-approx-sqrt-e): Doc fix (bug#73817). 2024-10-15 Eli Zaretskii : Revert a mistaken change * lisp/net/dictionary.el (dictionary-word-definition-face): Revert a mistakenly installed change. 2024-10-15 Yuan Fu Fix c-ts-mode--anchor-prev-sibling (bug#73661) * lisp/progmodes/c-ts-mode.el: (c-ts-mode--anchor-prev-sibling): Fix parentheses and use a slightly more efficient function. * test/lisp/progmodes/c-ts-mode-resources/indent.erts: Replace the tab in the test code with spaces. 2024-10-14 Earl Hyatt Fix formatting of long keyboard macros by 'list-keyboard-macros'. * lisp/kmacro.el (kmacro-menu--refresh): Include the second argument of 'format-kbd-macro' so that the formatted keyboard macro is on a single line. (Bug#73797) 2024-10-13 Michael Albinus * doc/emacs/mini.texi (Passwords): Mention password visibility. 2024-10-10 Jørgen Kvalsvik (tiny change) Fix c-ts-mode indentation for initializer lists (bug#73661) The indentation behavior differed between c-mode/c++-mode and *-ts-mode for initializer lists where the first element was not at beginning-of-line. The anchor-prev-sibling function gave up and returned nil, but it should (probably) anchor on the first element in the initializer list, such as this: return { v1, v2, ..., y1, y2, ... }; c-ts-mode behaved better and figured out how to align, but I added a test for a similar compound literal to prevent regressions. * lisp/progmodes/c-ts-mode.el (c-ts-mode--anchor-prev-sibling): Anchor at first sibling unless bol is found. * test/lisp/progmodes/c-ts-mode-resources/indent.erts: New initializer list and compound literal test. 2024-10-09 Eli Zaretskii Avoid segfaults in Rmail-MIME Rmail-MIME decodes text of email, including removal of CR characters, but that can segfault if the text of some MIME part is empty. * src/coding.c (decode_coding_raw_text): * lisp/mail/rmailmm.el (rmail-mime-insert-decoded-text): Don't attempt to decode empty text region. 2024-10-09 Brennan Vincent (tiny change) Eglot: use :immediate t when resolving completions (bug#73279) * lisp/progmodes/eglot.el (eglot-completion-at-point): Tweak eglot--request call. 2024-10-09 João Távora Eglot: minor changes to doc and docstrings * doc/misc/eglot.texi (Quick Start): Tweak. (Setting Up LSP Servers): Tweak. (Customizing Eglot): Clarify eglot-connect-hook and eglot-initialized-hook. * lisp/progmodes/eglot.el (eglot-connect-hook) (eglot-server-initialized-hook): Rework docstring. 2024-10-09 Yuan Fu Revert "Set treesit-primary-parser for tree-sitter modes" This reverts commit ed57faafc74e0810b492841deccb3cdc77a258ff. 2024-10-08 Yuan Fu Remove duplicate indent rules in elixir-ts-mode * lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): There are two forms adding heex-ts--indent-rules, remove one of them. 2024-10-08 Yuan Fu Set treesit-primary-parser for tree-sitter modes I debated whether to do this, since technically speaking it's not needed for single-language modes. But ultimately it's better to be explicit and set a good example with builtin modes. * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode): * lisp/progmodes/csharp-mode.el (csharp-ts-mode): * lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode): * lisp/progmodes/go-ts-mode.el (go-ts-mode): (go-mod-ts-mode): * lisp/progmodes/heex-ts-mode.el (heex-ts-mode): * lisp/progmodes/java-ts-mode.el (java-ts-mode): * lisp/progmodes/json-ts-mode.el (json-ts-mode): * lisp/progmodes/lua-ts-mode.el (lua-ts-mode): * lisp/progmodes/python.el (python-ts-mode): * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): * lisp/progmodes/rust-ts-mode.el (rust-ts-mode): * lisp/progmodes/sh-script.el: * lisp/progmodes/typescript-ts-mode.el (typescript-ts-mode): (tsx-ts-mode): * lisp/textmodes/css-mode.el (css-ts-mode): * lisp/textmodes/html-ts-mode.el (html-ts-mode): * lisp/textmodes/toml-ts-mode.el (toml-ts-mode): * lisp/textmodes/yaml-ts-mode.el (yaml-ts-mode): Set treesit-primary-parser. 2024-10-06 Stefan Kangas Delete XIE X extension from TODO According to Wikipedia, XIE "is no longer included in the X11 reference distribution, having been removed with X11R6.7 in 2004." Ref: https://en.wikipedia.org/wiki/X_Image_Extension * etc/TODO: Delete item to use XIE X extension. 2024-10-05 Morgan Willcock Restore comment/string check for 'electric-layout-mode' This reverts an accidental change which allowed 'electric-layout-mode' to insert newlines inside strings and comments. The new behavior can be obtained by setting the new variable 'electric-layout-allow-in-comment-or-string' to a non-nil value. * lisp/electric.el (electric-layout-allow-in-comment-or-string): New variable to determine whether inserting newlines is permitted within comments or strings. (electric-layout-post-self-insert-function-1): Restore the previous default behavior of not inserting newlines within comments or strings. 2024-10-05 Stefan Kangas Update Arni Magnusson's email address * .mailmap: * doc/lispref/ChangeLog.1: * doc/misc/ChangeLog.1: * lisp/ChangeLog.16: * lisp/ChangeLog.17: * lisp/progmodes/bat-mode.el: Update email address of Arni Magnusson. (Bug#73631) 2024-10-05 Stefan Kangas Fix python-ts-mode-map docstring * lisp/progmodes/python.el (python-ts-mode-map): Fix docstring. 2024-10-05 Stefan Kangas Normalize "Commentary" section in eudc.el * lisp/net/eudc.el: Normalize "Commentary" section to make 'M-x describe-package RET eudc RET' more useful. 2024-10-04 Eli Zaretskii Expand email abbrevs in X-Debbugs-Cc header. * lisp/mail/mailabbrev.el (mail-abbrev-mode-regexp): * lisp/mail/mailalias.el (mail-address-field-regexp) (mail-complete-alist): Add "X-Debbugs-Cc" to headers where email aliases should be expanded, for compatibility with emacsbug.el. 2024-10-04 Eli Zaretskii Fix 'list-tags' when invoked from a non-file buffer This use case was broken by the improvement that attempts to offer the current buffer's file name as the default file whose tags to list. * lisp/progmodes/etags.el (tags--get-current-buffer-name-in-tags-file): Doc fix. Return nil if no file is associated with the current buffer, and avoid signaling an error if 'buffer-file-name' returns nil. (Bug#37611) (list-tags): Doc fix. Signal an error if the user specifies no file name at the prompt. * doc/emacs/maintaining.texi (List Identifiers): Fix wording of the documentation of 'list-tags'. 2024-10-04 Sean Whitton count-windows: Fix reference to walk-windows * lisp/window.el (count-windows): Refer to walk-windows for the precise meaning of both the MINIBUF and ALL-FRAMES arguments, not just the ALL-FRAMES argument. In both functions, these arguments are both passed through to window-list-1. 2024-10-03 Stefan Kangas * lisp/info-look.el (mapc): Add use-package manual's index. 2024-10-03 Yuan Fu Update csharp-ts-mode font-lock (bug#73369) Adapt to the latest c-sharp grammar. * lisp/progmodes/csharp-mode.el: (csharp-ts-mode--test-this-expression): (csharp-ts-mode--test-interpolated-string-text): (csharp-ts-mode--test-type-constraint): (csharp-ts-mode--test-type-of-expression): (csharp-ts-mode--test-name-equals): (csharp-ts-mode--test-if-directive): (csharp-ts-mode--test-method-declaration-type-field): New functions. (csharp-ts-mode--type-field): New variable. (csharp-ts-mode--font-lock-settings): Fix font-lock rules. 2024-10-02 Sean Whitton Fix inconsistency in value of rcirc-activity-string * lisp/net/rcirc.el (rcirc-update-activity-string): Consistently don't display anything if there aren't any IRC connections. 2024-10-02 Stefan Kangas Revert "; Minor clarification in variables.texi" This reverts commit 44156c2140772fa04ebbc0a488a85f0741e0c2ef. 2024-10-01 john muhl Tag interactive commands in 'lua-ts-mode' * lisp/progmodes/lua-ts-mode.el (lua-ts-send-buffer) (lua-ts-send-file, lua-ts-send-region): Mark inferior interaction commands that are only relevant in Lua buffers. (Bug#73586) 2024-10-01 Stefan Kangas Mention LSP acronym in eglot defgroup docstring * lisp/progmodes/eglot.el (eglot): Improve defgroup description by mentioning the LSP acronym, for users that might be searching for that. 2024-10-01 Stefan Kangas Change :group of 'eglot' defgroup to 'tools' In 'M-x customize', Eglot fits in better in "Programming -> Tools", with the likes of Flymake and Gud, than it does in "Applications", with ERC and Newsticker. * lisp/progmodes/eglot.el (eglot): Change :group of defgroup to 'tools'. 2024-09-30 Stefan Kangas Remove out-of-date documentation from python.el * lisp/progmodes/python.el: Remove out-of-date documentation about automatic indentation; 'electric-indent-mode' is enabled by default in Emacs 24.4 or later, so this is no longer an issue. 2024-09-30 Jim Porter Fix executing commands in Eshell using "env" with no local variables * lisp/eshell/esh-var.el (eshell/env): Throw 'eshell-replace-command' as needed. * test/lisp/eshell/esh-var-tests.el (esh-var-test/local-variables/env/no-locals): New test (bug#73479). 2024-09-29 Gautier Ponsinet Fix a typo in the calendar manual * doc/emacs/calendar.texi (Calendar Unit Motion): Add a missing parenthesis. (Bug#73555) 2024-09-28 Morgan Willcock Require ert-x for use by 'ert-font-lock-deftest-file' This fixes a void-function error when 'ert-font-lock-deftest-file' is called when ert-x has not already been loaded. * lisp/emacs-lisp/ert-font-lock.el (ert): Require ert-x so that 'ert-resource-file' is available for use within 'ert-font-lock-deftest-file'. (Bug#73254) 2024-09-28 Vincenzo Pupillo Fix php-ts-mode font-lock for latest PHP grammar (bug#73516) Version 0.23 of the PHP grammar introduced some changes that affect the font lock. * lisp/progmodes/php-ts-mode.el (php-ts-mode--language-source-alist): Update php, html, js and css grammars version. (php-ts-mode--parent-html-heuristic): Fix docstring (php-ts-mode--test-namespace-name-as-prefix-p): New function. (php-ts-mode--test-namespace-aliasing-clause-p): New function. (php-ts-mode--test-namespace-use-group-clause-p): New function. (php-ts-mode--font-lock-settings): Use the new functions. 2024-09-27 Stefan Monnier eieio.texi: Fix bug#73505 * doc/misc/eieio.texi (Introduction): Remove "missing features" which aren't missing any more. (Generics, Methods): Delete sections. (Inheritance): Adjust reference accordingly. (Static Methods): Merge into the parent node. (Writing Methods): Refer to the ELisp manual for `cl-defmethod/defgeneric`. 2024-09-26 Andrés Ramírez (tiny change) Delete duplicated line in Viper refcard * etc/refcards/viperCard.tex: Delete duplicated line. (Bug#73480) 2024-09-25 Michael Albinus Fix Tramp shortdoc integration * lisp/net/tramp-integration.el (tramp-syntax): Declare. (shortdoc): Check, that Tramp has `default' syntax. 2024-09-25 Juri Linkov * lisp/imenu.el (imenu-flatten): More limitations in docstring (bug#73117) 2024-09-25 Sean Whitton remember-data-file: Don't unconditionally call set-visited-file-name * lisp/textmodes/remember.el (remember-data-file): Don't unconditionally call set-visited-file-name. 2024-09-25 Thomas Voss (tiny change) Align columns in which-key with wide characters properly In the case that a character takes up multiple columns (such as `…' when used as a truncation character), make sure that the columns are still aligned properly. * lisp/which-key.el (which-key--pad-column): Use `string-width' instead of `length'. (Bug#73463) 2024-09-25 Roland Winkler bibtex-mode: fix patch bibtex validation for non-file buffers 2024-09-24 Robert Pluim Document 'buttonize-region' in manual It was added in emacs-29, but never added to the lisp reference manual. * doc/lispref/display.texi (Making Buttons): Document 'buttonize-region'. 2024-09-24 Tassilo Horn Use black-on-white by default for doc-view-svg-face. * lisp/doc-view.el (doc-view-svg-face): Define black on white as default value instead of using the current theme's values. * etc/NEWS: Adjust entry for doc-view-svg-face. 2024-09-23 Dmitry Gutov etags-regen-file-extensions: Enable for more extensions * lisp/progmodes/etags-regen.el (etags-regen-file-extensions): Add more extensions, but remove "a". From the ones recognized by etags, also omit "t", "ml", "l", "def" and "inc", see https://lists.gnu.org/archive/html/emacs-devel/2024-09/msg00735.html. (etags-regen--all-files): Use 'string-match-p' for performance. Bind 'case-fold-search' to t to match extensions in any case. 2024-09-21 Stephen Berman Update and improve UI of sql-read-product (bug#73412) * lisp/progmodes/sql.el (sql-read-product): In invocation of completing-read use format-prompt and make deprecated argument INITIAL-INPUT nil. (sql-set-product, sql-product-interactive): In invocation of sql-read-product adjust prompt to use of format-prompt. 2024-09-21 Philip Kaludercic Insert correct commit data into VC package descriptions * lisp/emacs-lisp/package-vc.el (package-vc-commit): Rename argument from PKG to PKG-DESC. (package-vc--generate-description-file): Update the "extras" section of the package description with the revision string at generation time. 2024-09-21 Stefan Kangas Document reporting security issues in user manual * doc/emacs/trouble.texi (Bugs): Document how to report important security issues. 2024-09-21 Stefan Kangas * BUGS: Minor copy edit. 2024-09-21 Stefan Monnier Fix font-lock of last character before EOB under 'whitespace-mode' * lisp/whitespace.el (whitespace-color-on): Don't use OVERRIDE in font-lock-keywords; instead, use 'prepend' in the call to 'font-lock-add-keywords'. (Bug#73332) 2024-09-21 Eli Zaretskii Fix 'whitespace-mode' with 'missing-newline-at-eof' * lisp/whitespace.el (whitespace-post-command-hook): Refontify when point moves if 'missing-newline-at-eof' is in 'whitespace-active-style'. (Bug#73332) 2024-09-21 Eli Zaretskii Fix 'replace-regexp' in WDired * src/search.c (Freplace_match): Revert the search.c part of the change from Apr 7, 2024, which aims to fix bug#65451, but causes bug#73018. Do not merge to master. * test/src/editfns-tests.el (editfns-tests--before/after-change-functions): Expect this test to fail. 2024-09-21 Peter Oliver Disable xwidgets with recent webkitgtk versions (Bug#66068) * configure.ac: Accept only webkit2gtk-4.* versions less than 2.41.92. 2024-09-21 Yuan Fu Fix treesit--merge-ranges (bug#73324) * lisp/treesit.el (treesit--merge-ranges): Make sure that old ranges that intersects with START-END are actually discarded. * test/src/treesit-tests.el (treesit-range-merge): New test. 2024-09-21 Stefan Kangas Fix midnight-mode documentation * lisp/midnight.el (Commentary): Document that 'midnight-mode' should be enabled using the function, instead of by merely loading the library. In Emacs 31, doing the latter will no longer work. (Bug#73291) 2024-09-20 Stefan Monnier editorconfig.el: Fix too naive sync from upstream * lisp/editorconfig.el (editorconfig--get-indentation-nxml-mode): New function. (editorconfig-indentation-alist): Use it to fix bug#73359. 2024-09-20 Stefan Monnier * lisp/progmodes/eglot.el (eglot--signal-textDocument/didOpen): Fix bug#72696 2024-09-20 Po Lu Disable fontset-related workaround on non-Android systems * src/fontset.c (fontset_find_font) [!HAVE_ANDROID]: Don't refuse to cache font objects whose registries do not agree with the font specs. (bug#73363) Do not merge to master. 2024-09-20 Sean Whitton etags-regen-file-extensions: Add .pm * lisp/progmodes/etags-regen.el (etags-regen-file-extensions): Add .pm. 2024-09-19 Andrea Corallo * src/treesit.c (treesit_debug_print_parser_list): Fix compiler warning. 2024-09-19 Robert Pluim Type-check argument to network-lookup-address-info * src/process.c (Fnetwork_lookup_address_info): Check that the "name" argument is a string, and mention 'puny-encode-domain'. (Bug#73337) 2024-09-18 Yuan Fu Conservative heuristic for tree-sitter parser ranges (bug#73324) * src/treesit.c (treesit_sync_visible_region): If the parser's original ranges don't overlap with visible region, give it a zero range, rather than don't set any range. * test/src/treesit-tests.el (treesit-range-fixup-after-edit): Test new behavior. 2024-09-17 Mattias Engdegård Re-enable GC mark trace buffer by default Enable GC_REMEMBER_LAST_MARKED by default (it was disabled in Emacs 29) to make it easier to debug difficult-to-reproduce GC problems encountered by users. This increases GC costs by about 5 %, which can be avoided by turning the mark trace buffer back off using the new --disable-gc-mark-trace option. See discussion at https://lists.gnu.org/archive/html/emacs-devel/2024-09/msg00240.html * configure.ac (--disable-gc-mark-trace): New config option. * etc/NEWS: Mention it. * src/alloc.c: Enable it by default and avoid a compiler warning. 2024-09-15 Yuan Fu Fix treesit_sync_visible_region's range fixup code (bug#73264) new_ranges_head | v ( )->( )->( )->( )->( ) ^ ^ | | | lisp_ranges (loop head) | prev_cons -> set cdr to nil to cut of the rest result: ( )->( ) * src/treesit.c (treesit_sync_visible_region): Cut off this cons and the rest, not set the current range's end to nil. * test/src/treesit-tests.el: (treesit-range-fixup-after-edit): Add tests for all cases. 2024-09-15 Po Lu Document unavailability of frame geometry on Wayland * etc/PROBLEMS (Runtime problems specific to PGTK build): Document that frame-edges and company are liable not to return valid coordinates. (bug#73207) 2024-09-15 Po Lu Port to Haiku R1/beta5 * src/haiku_support.cc (keysym_from_raw_char): Use revised names for B_HANGUL and B_HANGUL_HANJA. 2024-09-14 Yuan Fu Fix c++-ts-mode font-lock for latest c++ grammar (bug#73191) * lisp/progmodes/c-ts-mode.el: (c-ts-mode--keywords): Add "thread_local" keyword. (c-ts-mode--test-virtual-named-p): New function. (c-ts-mode--font-lock-settings): Use named/anonymous "virtual" depending on the grammar. 2024-09-14 Stefan Kangas * admin/update-copyright: Print reminder to do manual updates. * admin/notes/years: Update. 2024-09-14 Stefan Kangas * etc/TODO: New item "support indentation guides". Ref: https://lists.gnu.org/r/emacs-devel/2024-07/msg01062.html 2024-09-14 Stephen Berman Fix regression in widget-move (bug#72995) * lisp/wid-edit.el (widget-move): Avoid advancing point only if it is at the start of a widget at BOB. * test/lisp/wid-edit-tests.el (widget-test-widget-move-bug72995): New test. 2024-09-14 Spencer Baugh Correctly include fixed strings before a prefix wildcard in PCM In 03ac16ece40ba3e3ba805d6a61cc457d84bf3792 I fixed a bug with the PCM implementation of substring completion, relating to the handling of PCM wildcards. However, this fix was incomplete. This change completes the fix by also including a fixed string if it appears before a 'prefix' wildcard, even if 'try-completion' doesn't discover that fixed string grows to a unique completion. I discovered this bug while working on enhancements to PCM completion related to 'completion-pcm-leading-wildcard'. * lisp/minibuffer.el (completion-pcm--merge-completions): Include fixed strings before 'prefix wildcard. (Bug#72819) * test/lisp/minibuffer-tests.el (completion-substring-test-5): Add a test for this behavior. 2024-09-14 Yuan Fu Set treesit-primary-parser for c and elixir ts mode For buffers with multiple parsers, it's important to set this variable so font-lock invalidation works smoothly. * lisp/progmodes/c-ts-mode.el (c-ts-mode): Set treesit-primary-parser. * lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): Set treesit-primary-parser. 2024-09-14 Yuan Fu Fix range handling so it works for multibyte buffer (bug#73204) Here by multibyte buffer I mean buffer that includes non-ASCII characters. The problem is illustrated by this comment, which I copied from the source: ====================================================================== (ref:bytepos-range-pitfall) Suppose we have the following buffer content ([ ] is a unibyte char, [ ] is a multibyte char): [a][b][c][d][e][ f ] and the following ranges (denoted by braces): [a][b][c][d][e][ f ] { }{ } So far so good, now user deletes a unibyte char at the beginning: [b][c][d][e][ f ] { }{ } Oops, now our range cuts into the multibyte char, bad! ====================================================================== * src/treesit.c (treesit_debug_print_parser_list): Minor fix. (treesit_sync_visible_region): Change the way we fixup ranges, instead of using the bytepos ranges from tree-sitter, we use the cached lisp charpos ranges. (treesit_make_ts_ranges): New function. (Ftreesit_parser_set_included_ranges): Refactor out the new function treesit_make_ts_ranges. (Ftreesit_parser_included_ranges): Rather than getting the ranges from tree-sitter, just return the cached lisp ranges. * src/treesit.h (Lisp_TS_Parser): Add some comment. * test/src/treesit-tests.el (treesit-range-fixup-after-edit): New test. 2024-09-14 Yuan Fu Revert "Read more on each call to treesit's buffer reader" This reverts commit bf23382f1f2d6ea072db4e4750f8a345f77a3ef2. We move around the gap, narrow regions, ralloc, etc, and don't have a way to invalidate previously given range. So tree-sitter can't be given the full range. 2024-09-14 Yuan Fu Fix tree-sitter indent preset prev-adaptive-prefix * lisp/treesit.el (treesit-simple-indent-presets): Use looking-at so the call to match-string has the match data to work with. 2024-09-13 Robert Pluim Improve NEWS entries * etc/NEWS: Fix typos, and add information about default values of new user options. 2024-09-13 Mattias Engdegård Don't fail uniquify-tests in non-version-controlled source trees * test/lisp/uniquify-tests.el (uniquify-project-transform): Skip test if there is no project (bug#73205). 2024-09-13 Stefan Kangas * doc/misc/auth.texi: Minor copy edits. 2024-09-12 Po Lu Fix bug#72254 * src/pgtkselect.c (Fpgtk_get_selection_internal): If requesting TARGETS with just one result, return it as a vector. (bug#72254) 2024-09-11 Andrea Corallo Bump Emacs version to 30.0.91 * nt/README.W32: Update Emacs version. * msdos/sed2v2.inp: Likewise. * exec/configure.ac: Likewise. * configure.ac: Likewise. * README: Likewise. 2024-09-11 Yuan Fu Fix heex-ts-mode indentation following previews elixir-mode change After the previous fix in elixir-ts-mode (0fd259d166c), embedded heex code are indented like this: 1 defmodule Foo do 2 def foo(assigns) do 3 ~H""" 4 5 text 6 7 """ 8 end 9 end The indent rule finds the beginning of the parent heex node, and uses the indentation of that line as anchor with an offset of 0. Previously the parent heex node (fragment) starts at EOL of line 3; after the previous commit, it now starts at BOL of line 4. To fix the indentation, I changed the anchor to the beginning of the elixir (rather than heex) node at point, which is at EOL at line 3. * lisp/progmodes/heex-ts-mode.el (heex-ts--indent-rules): Use the elixir node that contains the heex code as the anchor, instead of the heex root node. 2024-09-10 Andrea Corallo * lisp/ldefs-boot.el: Update. 2024-09-10 Eli Zaretskii Fix use of Uniscribe font driver in MinGW build This was inadvertently broken when Windows 9X support was fixed in June 2024. * src/w32uniscribe.c (syms_of_w32uniscribe_for_pdumper): Set 'uniscribe_available' non-zero in non-Cygwin builds. (Bug#73159) 2024-09-10 Eli Zaretskii Avoid crashes in redisplay in batch-mode testing * src/xdisp.c (try_window_id): Don't crash for "initial" frame. (Bug#72765) 2024-09-10 Dmitry Gutov eglot-test-rust-completion-exit-function: Fix failure in -Q session * test/lisp/progmodes/eglot-tests.el (eglot--call-with-fixture): Check for buffer liveness (https://debbugs.gnu.org/72765#29). (eglot-test-rust-completion-exit-function): Don't expect snippet expansion to happen (no yasnippet in batch mode). 2024-09-09 Eli Zaretskii Clarify the semantics of 'string-pixel-width' * doc/lispref/display.texi (Size of Displayed Text): * lisp/emacs-lisp/subr-x.el (string-pixel-width): * src/xdisp.c (Fwindow_text_pixel_size, Fbuffer_text_pixel_size): Doc fixes. (Bug#73129) 2024-09-09 Andrea Corallo * src/treesit.c (treesit_debug_print_parser_list): Fix format string. 2024-09-09 Yuan Fu Read more on each call to treesit's buffer reader * src/treesit.c (treesit_read_buffer): Read until the gap or visible end, instead of reading a single char. 2024-09-09 Yuan Fu Fix the range handling in treesit.c 1. In treesit_sync_visible_region, reduce the ranges for a parser so it doesn't go beyond the visible range. 2. To avoid possible infinite recursion, add a within_reparse field to parsers. Previously we were using the need_reparse field to avoid infinite recursion, but lisp programs in a parser's after change hook might make some buffer edit which turns need_reparse to true. To avoid that, we now use an explicit field. If a parser's after change function makes a buffer edit, lisp program ends up with a desynced parse tree, but that's better than possible infinite recursion. Also after change function shouldn't edit the buffer. 3. In treesit_make_ranges, use parser's visible_beg instead of buffer's BEGV. I mean technically whenever we make ranges, buffer's BEGV should be equal to parser's visible_beg, but better not take that uncertainty, also makes the code more readable. 4. In Ftreesit_parser_included_ranges, move visible region sync code before the body of the function. * src/treesit.c (treesit_sync_visible_region): Minimally fix ranges so it doesn't exceed parser's visible range. (treesit_call_after_change_functions): Update calling signature to treesit_make_ranges. (treesit_ensure_parsed, make_treesit_parser): Use the new field within_reparse. (treesit_make_ranges): Use parser's visible_beg instead of buffer's BEGV. (Ftreesit_parser_included_ranges): Move visible region check before function body. * src/treesit.h (Lisp_TS_Parser): Add new field within_reparse. 2024-09-09 Yuan Fu Add debugging function for treesit.c * src/treesit.c (treesit_debug_print_parser_list): New function. 2024-09-09 Yuan Fu Fix elixir-ts-mode's range query * lisp/progmodes/elixir-ts-mode.el: (elixir-ts--treesit-range-rules): Add underscore in front of the name capture, so Emacs won't put heex parser on it. 2024-09-08 Mattias Engdegård Make json-serialize always return a unibyte string (bug#70007) The JSON format is defined as a byte sequence and will always be used as such, so returning a multibyte string makes little sense. * src/json.c (json_out_to_string): Remove. (Fjson_serialize): Return unibyte string. * test/src/json-tests.el (json-serialize/roundtrip) (json-serialize/roundtrip-scalars, json-serialize/string): Update tests. * doc/lispref/text.texi (Parsing JSON): Document. * etc/NEWS: Announce. 2024-09-07 Eli Zaretskii Fix a typo in ediff-init.el * lisp/vc/ediff-init.el (ediff-nonempty-string-p): Fix typo. Reported by Jurgen De Backer (bug#73042). 2024-09-07 Eli Zaretskii Fix 'chart-space-usage' on MS-Windows * lisp/emacs-lisp/chart.el (chart--file-size) (chart--directory-size): New functions. (chart-space-usage): Invoke 'du' correctly on MS-Windows. Provide alternative implementation in Lisp when 'du' is not installed, using 'chart--directory-size' and 'chart--file-size'. (Bug#72919) 2024-09-07 Eli Zaretskii Fix alignment and documentation of vtable.el * lisp/emacs-lisp/vtable.el (vtable--insert-header-line): Ensure proper alignment between the columns in header-line and in the body of the table. (Bug#73032) * doc/misc/vtable.texi (Making A Table): Document the defaults of the various keyword parameters. 2024-09-05 Ulrich Müller Fix test failure in erc-networks-tests * test/lisp/erc/erc-networks-tests.el (erc-networks--id-sort-buffers): Make sure that buffers have different timestamps. (Bug#73036) 2024-09-04 Eli Zaretskii Fix :hook in 'use-package' * lisp/use-package/use-package-core.el (use-package-handler/:hook): Support mode variables in :hook declarations. (Bug#72993) 2024-09-02 Stefan Kangas Update FSF's address * doc/emacs/emacs.texi (Distrib): * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/elisp.texi: * doc/misc/org.org (Link Abbreviations): * etc/tutorials/TUTORIAL.eo: * lisp/elide-head.el: * lisp/textmodes/page-ext.el: Update the FSF address to 31 Milk Street. 2024-09-02 Dmitry Gutov Support the new option in ruby-ts-mode too * etc/NEWS: Describe it here. * lisp/progmodes/ruby-ts-mode.el (ruby-ts--parent-call-or-bol): Support the option ruby-bracketed-args-indent here too (bug#60321). * test/lisp/progmodes/ruby-ts-mode-tests.el: Include ruby-bracketed-args-indent.rb as test examples. * test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb: Extend examples for better regression testing. 2024-09-02 Aaron Jensen Add new option ruby-bracketed-args-indent * lisp/progmodes/ruby-mode.el (ruby-bracketed-args-indent): New option. (ruby-smie-rules): Use it (bug#60321). * test/lisp/progmodes/ruby-mode-resources/ruby-bracketed-args-indent.rb: New file. * test/lisp/progmodes/ruby-mode-tests.el: Use it for new case. 2024-09-02 Eli Zaretskii Fix Rmail base64 and qp decoding of MIME payloads * lisp/mail/rmailmm.el (rmail-mime-insert-decoded-text) (rmail-mime-insert-html): Remove ^M characters left from DOS EOLs. This is what 'rmail-decode-region' does for non-MIME messages. 2024-09-01 Kyle Meyer Update to Org 9.7.11 2024-09-01 Juri Linkov * test/lisp/emacs-lisp/tabulated-list-tests.el: Add missing test. (tabulated-list-groups-with-path): Add test for tabulated-list-groups. 2024-08-31 Evgenii Klimov Make 'python-shell--with-environment' respect buffer-local vars * lisp/progmodes/python.el (python-shell--with-environment): Make `with-temp-buffer' respect buffer-local values of `process-environment' and `exec-path', if set. (Bug#72849) 2024-08-31 Evgenii Klimov Avoid ANSI escape characters in Python output (bug#45938) * lisp/progmodes/python.el (python-shell-completion-native-setup): Prevent Readline from emitting escape characters in comint output. 2024-08-31 John Wiegley Fix handling of hook variables in 'use-package' * lisp/use-package/use-package-core.el (use-package-handler/:hook): Append "-hook" to the symbol's name only if the named hook variable has no 'symbol-value'. (Bug#72818) 2024-08-31 Eli Zaretskii Work around Gnuplot bug in displaying plots * lisp/calc/calc-graph.el (calc-gnuplot-command): Prepend newline to Gnuplot command. Suggested by Visuwesh . (Bug#72778) 2024-08-31 Eli Zaretskii Revert "* lisp/help-fns.el (help-definition-prefixes): Don't delete the hashtable" This reverts commit 45ae4de0e7ce99c88c62f940f605bca693b8e33f. It did not fix a regression or even a user-visible bug, and it caused bug#72787. Do not merge to master. 2024-08-31 kobarity Make Python skeletons available in 'python-ts-mode' as well * lisp/progmodes/python.el (python-base-mode-abbrev-table): Renamed from 'python-mode-abbrev-table' to be available for both 'python-mode' and 'python-ts-mode'. (Bug#72298) 2024-08-30 Eli Zaretskii More accurate documentation of 'equal' in ELisp Reference * doc/lispref/objects.texi (Equality Predicates): Add lists and conses. (Bug#72888) 2024-08-30 Jim Porter Support "/dev/null" as a target when creating Eshell handles Previously, you could only use this when setting the handle afterwards. Do not merge to master. * lisp/eshell/esh-io.el (eshell-set-output-handle): Don't catch 'eshell-null-device' here... (eshell-get-target): ... catch it here. 2024-08-30 Jim Porter Fix redirecting Eshell output to symbols in some places Do not merge to master. * lisp/eshell/esh-io.el (eshell-output-object-to-target): Don't require TARGET to be bound. * lisp/eshell/em-script.el (eshell-execute-file): Quote the output/error targets. * test/lisp/eshell/em-script-tests.el (eshell-execute-file-output): New variable. (em-script-test/execute-file/output-file) (em-script-test/execute-file/output-symbol): New tests. * test/lisp/eshell/esh-io-tests.el (eshell-test-file-string): Move to... * test/lisp/eshell/eshell-tests-helpers.el (eshell-test-file-string): ... here. 2024-08-29 Eli Zaretskii Revert "; * admin/authors.el (authors-ignored-files): Add removed files." This reverts commit d809d53afc007574b3054027ff2eaf6c8d66996c. Not useful, for the same reason as the previously reverted commit. 2024-08-29 Eli Zaretskii Revert "; * admin/authors.el (authors-ignored-files): Ignore Unicode files." This reverts commit 0db53f14a2974de5209439326d4a9e4749462f42. It doesn't help, since existing files are considered worthy of mentioning regardless of the other lists. 2024-08-29 George Huebner (tiny change) xwidget: Fix xwidget-at misinterpreting non-xwidget text-properties 'xwidget-open' wrongly assumed the the text-property at min-position is an xwidget, if it exists; the fix is just returning nil if the text-property isn't an xwidget. * lisp/xwidget.el (xwidget-at): Use 'ignore-errors'. (Bug#72848) 2024-08-29 Eli Zaretskii Fix rare segfaults due to freed fontsets * src/xfaces.c (recompute_basic_faces): Force complete recalculation of non-ASCII faces and their fontsets if any non-ASCII faces are in the frame's face cache. (Bug#72692) 2024-08-28 Dmitry Gutov Eglot: fix completion highlighting (bug#72824) * lisp/progmodes/eglot.el (eglot-completion-at-point): Make sure to refer to 'completion-ignore-case' in the 'all-completions' method. 2024-08-27 Sean Whitton Discuss commit log messages on feature branches * admin/notes/git-workflow (Long-lived feature branches): New section, discussing commit log messages on feature branches. 2024-08-27 Sean Whitton * admin/authors.el (authors-fixed-entries): Update docstring. 2024-08-27 Yuan Fu More consistent treesit-forward-sexp around comments (bug#72525) * lisp/treesit.el (treesit-forward-sexp): Check if point is strictly inside a comment or string, only then use the default forward-sexp function; otherwise use tree-sitter's forward-sexp routine. 2024-08-26 Vincenzo Pupillo Improve php-ts-mode font lock and support latest grammar (bug#72796) * lisp/progmodes/php-ts-mode.el: (php-ts-mode--language-source-alist): Update the parser version. (php-ts-mode--parent-html-heuristic): Fix commentary. (php-ts-mode--keywords): Add "exit" keyword. (php-ts-mode--predefined-constant): Added math constant. (php-ts-mode--font-lock-settings): New and improved rules. 2024-08-26 Yuan Fu Fix tree-sitter local parser overlay cleanup routine Sorry for sneaking in a sizable commit so late. But I just found out about this bug and it has to be fixed. Before this change, we weren't properly cleaning up overlays that store local parsers. And in the case of doxygen local parser in C files, the doxygen local parser overlay sometimes bleeds out of comments and into other code, and interferes with font-lock and indentation. This commit adds a cleanup function that'll cleanup any overlays that aren't being used. I tested with doxygen in C files and everything works smoothly now, including tricky tests like removing the ending "*/" of a doxygen comment and adding it back. The idea is simple, at the end of each call to (treesit-update-ranges BEG END), we remove any overlay within BEG and END that wasn't touched by the range setting code. * lisp/treesit.el (treesit--cleanup-local-range-overlays): New function. (treesit--update-ranges-local): Remove code for cleaning up zero-length overlays since we have the cleanup function now. (treesit-update-ranges): Wrap the function body inside a let form, which defines modified-tick; and add a call to treesit--cleanup-local-range-overlays at the very end. 2024-08-26 Stefan Kangas Fix copyright years by hand (Bug#72809) These are dates that admin/update-copyright did not update. 2024-08-25 Eli Zaretskii Revert a recent change that caused redisplay slowdown * src/xfaces.c (recompute_basic_faces): Revert the change which caused recalculation of all the faces, as it made cursor motion too slow. Reported by Juri Linkov (bug#72692). 2024-08-25 F. Jason Park Indent ERT failure explanations rigidly This also affects the listing of `should' forms produced by hitting the L key on a test button in an ERT buffer. * lisp/emacs-lisp/ert.el (ert--pp-with-indentation-and-newline): Indent the pretty-printed result to match the caller's current column as a reference indentation. * test/lisp/emacs-lisp/ert-tests.el (ert--pp-with-indentation-and-newline): New test. (Bug#72561) 2024-08-25 Dmitry Gutov [Eglot] Stricter "expand common" behavior * lisp/progmodes/eglot.el (eglot--dumb-tryc): Check that the expanded string matches every completion strictly (bug#72705). And in the fallback case, check whether the table matches the original prefix at all. Return nil otherwise. * test/lisp/progmodes/eglot-tests.el (eglot-test-stop-completion-on-nonprefix) (eglot-test-try-completion-nomatch): Corresponding tests. * etc/EGLOT-NEWS: New entry. 2024-08-25 Dmitry Gutov eglot-tests.el: New tests for existing completion behavior * test/lisp/progmodes/eglot-tests.el (eglot-test-common-prefix-completion) (eglot-test-try-completion-inside-symbol) (eglot-test-rust-completion-exit-function): New tests. (eglot--wait-for-rust-analyzer): New function. 2024-08-25 Eli Zaretskii Remove dangerous HTML edit from admin.el * admin/admin.el (manual-html-fix-index-2): Avoid lax matches with "
    " which could mistakenly edit unrelated parts of HTML. (Bug#72761) 2024-08-24 Mattias Engdegård * etc/emacs_lldb.py (Lisp_Object): PVEC_COMPILED -> PVEC_CLOSURE 2024-08-24 Eli Zaretskii Fix rare segfaults due to freed fontsets * src/xfaces.c (recompute_basic_faces): Force complete recalculation of all the faces. (Bug#72692) 2024-08-23 Martin Rudalics Avoid putting a dead buffer in the minibuffer window (Bug#72487) * src/minibuf.c (minibuffer_unwind): Make sure that the buffer referenced by the first element of the list of previous buffers of the minibuffer window is live before assigning it to the minibuffer window (Bug#72487). * src/window.c (set_window_buffer): Assert that BUFFER is live. 2024-08-22 João Távora Eglot: bump version to 1.17.30 and update EGLOT-NEWS This is a change specific to emacs-30. Don't merge to master. * lisp/progmodes/eglot.el (Version): Mark it 1.17.30. * etc/EGLOT-NEWS (1.17.30): Fill in section. 2024-08-20 Andrea Corallo Update 'ldefs-boot.el' (don't merge) * lisp/ldefs-boot.el: Update. 2024-08-20 Andrea Corallo * doc/man/emacsclient.1: Bump date. 2024-08-20 Andrea Corallo Bump Emacs version to 30.0.90 * nt/README.W32: Update version. * msdos/sed2v2.inp: Likewise. * configure.ac: Likewise. * README: Likewise. 2024-08-20 Andrea Corallo Update Changelogs * ChangeLog.4: Re-generate. * ChangeLog.3: Fix some type and style. 2024-08-20 Andrea Corallo Update AUTHORS * etc/AUTHORS: Re-generate. * admin/authors.el (authors-fixed-entries): Add entry. 2024-08-20 Andrea Corallo * admin/authors.el (authors-aliases, authors-ignored-files): Update. * admin/authors.el: Pick-up version from emacs-29. 2024-08-20 Stefan Kangas Add missing :version tags in use-package * lisp/use-package/use-package-core.el (use-package-keywords) (use-package-deferring-keywords, use-package-ignore-unknown-keywords) (use-package-use-theme, use-package-verbose) (use-package-check-before-init, use-package-always-defer) (use-package-always-demand, use-package-defaults) (use-package-merge-key-alist, use-package-hook-name-suffix) (use-package-minimum-reported-time, use-package-inject-hooks) (use-package-expand-minimally, use-package-form-regexp-eval) (use-package-enable-imenu-support, use-package-compute-statistics): * lisp/use-package/use-package-ensure.el (use-package-always-ensure) (use-package-always-pin, use-package-ensure-function): Add missing :version tags. 2024-08-20 Michael Albinus Suppress shallow cloning on emba * test/infra/gitlab-ci.yml (variables): Set GIT_DEPTH to 0 in order to avoid shallow cloning. 2024-08-20 Po Lu Correct Android failure to open an old CJK font * src/sfnt.c (sfnt_read_cmap_format_2): Properly compute subtable count, and append the empty table at position 0. (sfnt_lookup_glyph_2): Update commentary. 2024-08-20 Stefan Monnier * lisp/help-fns.el (help-definition-prefixes): Don't delete the hashtable Fixes bug#72511. 2024-08-19 Kyle Meyer Update to Org 9.7.10 2024-08-18 Andrea Corallo Bump Emacs version to 30.0.90 * nt/README.W32: Update version. * msdos/sed2v2.inp: Likewise. * configure.ac: Likewise. * README: Likewise. 2024-08-18 Andrea Corallo Update AUTHORS * etc/AUTHORS: Re-generate. * admin/authors.el (authors-fixed-entries): Add entry. 2024-08-18 Andrea Corallo * admin/authors.el: Pick-up version from emacs-29. 2024-08-18 Michael Albinus * test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes. 2024-08-18 Stefan Kangas Bump use-package version for Emacs 30.1 * lisp/use-package/use-package.el: Bump version to 2.4.6. 2024-08-18 Andrea Corallo * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump. 2024-08-17 Eli Zaretskii Avoid rare crashes due to clobbering of input events * src/keyboard.c (read_char): Declare C 'volatile', to prevent clobbering it by setjmp/longjmp. Do not merge to master. (Bug#71744) 2024-08-17 Stefan Monnier Further fix of reading and writing profiler data * lisp/profiler.el (profiler-report-make-entry-part): Print strings as-is. (Bug#72559) 2024-08-17 Andrea Corallo * Makefile.in (PREFERRED_BRANCH): Update to emacs-30. 2024-08-17 Po Lu Backport ed305c4b98cda5c6d479310e4ba350a17d901e75 to emacs-30 * src/xterm.c (x_construct_mouse_click): `||' → `|'. Typo found by clang 18.1.6 -Wbool-operation. Do not merge to master. 2024-08-17 Eli Zaretskii Fix a typo in Eglot manual * doc/misc/eglot.texi (Eglot and Buffers): Fix typo. Patch by david edmonds . (Bug#72634) 2024-08-17 Stefan Monnier Fix dumping of Lisp profiles * lisp/profiler.el (profiler-fixup-entry): New function. (profiler-fixup-backtrace): Use it. (Bug#72559) 2024-08-17 Stefan Monnier Fix 'apropos-library' for 'define-symbol-props' * lisp/apropos.el (apropos-library): Sanitize data to avoid signaling errors when 'define-symbol-props' is seen. (Bug#72616) 2024-08-17 Eli Zaretskii Fix 'forward-comment' in 'toml-ts-mode' * lisp/textmodes/toml-ts-mode.el (toml-ts-mode--syntax-table): Fix syntax of newline. Patch from Jostein Kjønigsen . (Bug#72489) 2024-08-17 Eli Zaretskii Document spell-checking of multiple languages * doc/emacs/fixit.texi (Spelling): Document spell-checking multi-lingual text with Hunspell. 2024-08-17 Peter Oliver Apply --display kluge for PGTK too * src/emacs.c (main): The --display option needs the same handling with the PGTK backend as it does with the X11 backends. (Bug#72118) 2024-08-15 Pip Cet * lisp/files.el (require-with-check): Improve error messages. 2024-08-15 Eli Zaretskii Improve documentation of ERT * doc/misc/ert.texi (Running Tests Interactively) (Test Selectors): * lisp/emacs-lisp/ert.el (ert-select-tests) (ert-run-tests-interactively, ert-run-tests-batch): Improve and clarify the documentation of the main ERT functions. 2024-08-15 Visuwesh Disambiguate minor-mode variable in its function docstring * lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring) (easy-mmode--mode-docstring): Add "the variable" before the GETTER if it is a symbol to properly link to minor-mode variable in the *Help* buffer in the common case. (bug#72405) 2024-08-14 Arash Esbati Fix project-dired keybinding in manual * doc/emacs/maintaining.texi (Project File Commands): Fix the keybinding for `project-dired'. (Bug#72581) 2024-08-14 Eli Zaretskii Improve documentation of time-parsing functions * doc/lispref/os.texi (Time Parsing): * lisp/calendar/iso8601.el (iso8601-parse): * lisp/calendar/parse-time.el (parse-time-string): Document that these functions don't care about the distinction between local time and UTC. (Bug#72570) 2024-08-13 Dmitry Gutov (project-find-regexp): Fix the temporary value of DEFAULT-DIRECTORY * lisp/progmodes/project.el (project-find-regexp): Make sure the assigned value of DEFAULT-DIRECTORY ends with a slash. read-directory-name returns the name without it in certain cases. 2024-08-13 Michael Albinus Tag test in typescript-ts-mode-tests.el as unstable * test/lisp/progmodes/typescript-ts-mode-tests.el (typescript-ts-mode-test-indentation): Tag it as :unstable on emba. 2024-08-12 Gerd Möllmann macOS: Wrong frame rectangle after wake (bug#71912) * src/nsterm.m ([EmacsView windowDidBecomeKey]): Call adjustEmacsFrameRect. 2024-08-11 Pip Cet Fix format 2 cmap handling in sfnt.c This code is untested as no font with a format 2 cmap could be found. * src/sfnt.c (sfnt_lookup_glyph_2): Fix typos. Assume single-byte encodings use character codes 0, 1, ..., 255 rather than 0, 256, ..., 65280. 2024-08-11 Pip Cet Fix coordinate transformations in sfnt.c Backport. * src/sfnt.c (sfnt_transform_coordinates): (sfnt_transform_f26dot6): Fix calculation of transformed coordinates in the very rare case of arbitrary transformation matrices. 2024-08-10 Kazuhiro Ito * lisp/epg.el (epg--start): Don't convert EOL on encoding (bug#72542). 2024-08-09 Thomas Fitzsimmons Add PROBLEMS entry for bug#72517 * etc/PROBLEMS (X runtime problems): Document ssh -X session hang-on-exit after deletion of remote emacsclient -c frame. (bug#72517) (cherry picked from commit 9f03300c5c626bf6f8f839be4943cc20db89c24d) 2024-08-09 Gerd Möllmann NS: Fix scroll-bar setting code (bug#72331) * src/nsterm.m (ns_set_vertical_scroll_bar): Use WINDOW_SCROLL_AREA_WIDTH instead of NS_SCROLL_BAR_WIDTH. (ns_set_horizontal_scroll_bar): Use WINDOW_SCROLL_AREA_HEIGHT instead of NS_SCROLL_BAR_HEIGHT. Clear area differently if vertical scroll bars are present. * src/nsterm.h (NS_SCROLL_BAR_WIDTH, NS_SCROLL_BAR_HEIGHT): Remove. 2024-08-09 Po Lu Register for more Intents actions on Android * java/AndroidManifest.xml.in : Register for SEND Intents with mailto URIs. * java/org/gnu/emacs/EmacsOpenActivity.java (onCreate): Use Intent constants rather than string literals. 2024-08-08 Paul W. Rankin * lisp/help-macro.el: Add 'help-for-help-use-variable-pitch' option. This makes 'variable-pitch-mode' optional, by default ON (to preserve previous behavior), in Help buffers. (Bug#72521) 2024-08-08 Ulrich Müller Remove manual entry for string-to-int * doc/lispref/strings.texi (String Conversion): Remove mention of 'string-to-int' which was dropped in Emacs 26. (Bug#72520) 2024-08-07 Spencer Baugh Support minibuffer-visible-completions in completing-read-multiple All that's required is to add minibuffer-visible-completions-map on top of the completing-read-multiple map; this is the same thing that minibuffer-visible-completions does in completing-read-default. * lisp/emacs-lisp/crm.el (completing-read-multiple): Add minibuffer-visible-completions-map (bug#69189) 2024-08-07 Juri Linkov * lisp/imenu.el (imenu-flatten): Fix doc about annotation/group limitations. 2024-08-07 Randy Taylor Fix cmake-ts-mode number fontification (Bug#72228) * lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode--constants): Remove "1" and "0". (cmake-ts-mode--font-lock-settings): Match negative numbers. 2024-08-07 Po Lu Prevent accesses to /content files without a GUI connection * src/androidvfs.c (android_content_name): Hide all subdirectories when `android_init_gui' is not set. 2024-08-06 Michael Albinus * lisp/net/tramp-integration.el (shortdoc): Use `tramp--with-startup'. 2024-08-06 Eli Zaretskii Avoid crashes in very large buffers with long lines * src/xdisp.c (get_large_narrowing_begv, get_large_narrowing_zv) (get_medium_narrowing_begv, get_medium_narrowing_zv): Use 'ptrdiff_t' instead of 'int', to prevent integer overflow in large buffers. (Bug#72497) 2024-08-06 Ulrich Müller Update description of string comparison functions * doc/lispref/strings.texi (Text Comparison): Swap descriptions of 'string-equal' (the function) and 'string=' (its alias). Same for 'string-lessp' and 'string<'. Document 'string>'. (Bug#72486) * doc/lispref/sequences.texi (Sequence Functions): Update cross reference to 'string-lessp'. 2024-08-05 Michael Albinus Add sanity check when adding Tramp functions to shortdoc * lisp/net/tramp-integration.el (shortdoc): Check, that Tramp isn't disabled. 2024-08-05 Damien Cassou js-ts-mode: Make jsdoc's "description" block a comment (bug#72461) * lisp/progmodes/js.el (js-ts-mode): Add "description" to `c-ts-common--comment-regexp'. 2024-08-05 Po Lu Also condition cjk-misc font-spec on Android * lisp/international/fontset.el (setup-default-fontset) : Don't search for matching scripts elsewhere than on Android. 2024-08-04 Eli Zaretskii Fix ':defer nil' in 'use-package' * lisp/use-package/use-package-core.el (use-package-normalize-keywords): Use 'plist-get' instead of 'plist-member'. (Bug#72414) 2024-08-04 Manuel Giraud Document unsupported color Emoji on OpenBSD Bug#72268 * etc/PROBLEMS (Runtime problems related to font handling): Document unsupported color Emoji on OpenBSD. 2024-08-04 Stephen Berman Fix regressions in Customize caused by 'widget-unselected' face * lisp/wid-edit.el (widget-checklist-add-item): Don't call 'widget-specify-selected'. (Bug#72404) (Bug#72156) 2024-08-04 David Ponce Avoid inserting extra space in SVG data * lisp/svg.el (svg-print): Remove useless extra space from the XML representation of child node. (Bug#72198) 2024-08-04 Damien Cassou Fix c-ts-common filling function (bug#71760) * lisp/progmodes/c-ts-common.el (c-ts-common--fill-block-comment): If masking hasn't been done, don't unmask. 2024-08-03 Mattias Engdegård Fix missing type checks before specbind This fixes bugs that crashed Emacs when the Lisp interpreter was fed bad code. * src/eval.c (FletX, Flet, internal_lisp_condition_case) (funcall_lambda): Hoist symbol-with-pos elimination and type checks to a dominating position for efficiency. This also plugs at least two typing holes. (Mea culpa.) * test/src/eval-tests.el (eval-bad-specbind): New regression test. 2024-08-03 Po Lu Revert "Remove redundant byte-swapping boundary" This reverts commit daefd6771a4879bb8e71ea67f69522700155df01. * src/sfnt.c (sfnt_read_OS_2_table): Restore realignment after s_family_class, as it occupies byte 32, not 34. Reported by Pip Cet . 2024-08-03 Po Lu Fix various typos reported by Pip Cet * src/ftfont.c (get_adstyle_property): * src/sfntfont.c (sfntfont_list_1): Correct typos. Reported by Pip Cet . 2024-08-03 Gerd Möllmann NS: Fix placement of candidate window (bug#72422) * src/nsterm.m ([EmacsView firstRectForCharacterRange:actualRange:]): Call method of NSTextInput. 2024-08-01 Eli Zaretskii Avoid aborts when buffer is modified during its redisplay * src/xdisp.c (redisplay_window): Restore point from saved byte position only if the buffer was not changed meanwhile. (Bug#72165) 2024-08-01 Yuan Fu Fix c++-ts-mode indentation for templace (bug#72263) * lisp/progmodes/c-ts-mode.el: (c-ts-mode--indent-styles): Add rule for template. * test/lisp/progmodes/c-ts-mode-resources/indent.erts: Add test. 2024-08-01 Po Lu Better resolve bug#72188 * lisp/international/fontset.el (setup-default-fontset) : Don't search for fonts matching the `han' script elsewhere than on Android, which restores the status quo existing in Emacs 29. (bug#72188) 2024-07-31 Gerd Möllmann MacOS: Let EmacsView implement NSTextInputClient * src/nsterm.h (@interface EmacsView): Implement NSTextInputClient protocol. * src/nsterm.m: Implement required NSTextInputClient methods, forwarding to existing NSTextInput methods. 2024-07-30 Gerd Möllmann NS: Set frame position when entering/exiting fullscreen (bug#71912) * src/nsterm.h ([EmacsView adjustEmacsRectRect]): Declare. * src/nsterm.m ([EmacsView windowDidEnterFullScreen]): New method. ([EmacsView windowDidEnterFullScreen]): Call it. ([EmacsView windowDidExitFullScreen]): Call it. 2024-07-29 Juri Linkov * lisp/tab-bar.el (tab-bar-move-tab-to-group): Fix for a new group's tab. Move tab with a new group to the end of the tab bar (bug#72352) Suggested by Ship Mints 2024-07-29 Po Lu Fix sporadic crashes and `select' failures in dumped images * src/process.c (init_process_emacs) [HAVE_UNEXEC]: Clear dumped values of child_signal_read_fd and child_signal_write_fd. 2024-07-29 Po Lu Correct display of Doc View documents after tab switching * lisp/doc-view.el (doc-view-new-window-function): Prevent creation of duplicate overlays for the same window after a window configuration change occasions a call to i-m-r-winprops. 2024-07-27 Jim Porter Use 'kill-process' as a fallback when a pipe gets broken in Eshell This is better than 'delete-process' since it will ensure that any stderr pipe-processes get stopped as well (bug#72117). * lisp/eshell/esh-proc.el (eshell-insertion-filter): Use 'kill-process' instead of 'delete-process'. 2024-07-27 Kyle Meyer Update to Org 9.7.9 2024-07-26 Philip Kaludercic Fix edge-case with 'which-key-dont-use-unicode' setter * lisp/which-key.el (which-key-dont-use-unicode): Check if the user options have a 'standard-value' before proceeding to reevaluate. This avoids accidentally setting the symbol value to nil, before the user option has been declared, overriding the actual non-nil, default values. (Bug#72077) 2024-07-26 Gerd Möllmann NS: prevent makeKeyWindow warnings (bug#69525) * src/nsterm.m (ns_raise_frame): Don't makeKeyWindow if frame has no_accept_focus set. 2024-07-26 Po Lu Add PROBLEMS entry for bug#72303 * etc/PROBLEMS (Runtime problems specific to PGTK build): Document that text mode sessions cannot be started without `-nw'. (bug#72303) 2024-07-26 Eli Zaretskii Improve documentation of '--init-directory' command-line option. * doc/emacs/custom.texi (Find Init): * doc/emacs/cmdargs.texi (Initial Options): More accurate and detailed description of what '--init-directory' does and how it affects the Emacs session. Add index entries and cross-references as needed. (Bug#72294) 2024-07-25 Andrea Corallo Fix bug in server.el introduced by 0d7d835902df 0d7d835902df renamed 'server--process-filter' into 'server--process-filter-1' but updated the corresponding 'cl-return-from' tag to 'server--process-filter'. * lisp/server.el (server--process-filter-1): Fix 'cl-return-from' tag. 2024-07-25 Stefan Monnier lisp/minibuffer.el (completion--sifn-requote): Fix bug#72176 2024-07-25 Stefan Kangas * admin/notes/spelling: Update note. 2024-07-25 Konstantin Kharlamov Don't produce invalid XML with multi-line commenting style Both XML and HTML forbid double hyphens inside comments. However, nxml-mode was using a `!--' as a comment padding if `comment-style' was set to any of the styles that supposed to add padding. This infix was auto-derived due to `comment-continue' being nil. To fix that set `comment-continue' explicitly. It's unclear what padding should be used, but from looking at other editors it seems they don't typically add padding in XML, so let's be simple for now and just set `comment-continue' to empty string. * lisp/nxml/nxml-mode.el (nxml-mode): Make 'comment-continue' a buffer-local variable set to the empty string. (Bug#71772) 2024-07-25 Stefan Kangas Standardize possessive apostrophe usage in manuals, docs, and comments See the note in admin/notes/documentation. Ref: https://lists.gnu.org/r/emacs-devel/2012-02/msg00649.html 2024-07-24 Stefan Kangas Don't refer to obsolete finder group "wp" * lisp/textmodes/rst.el: Don't refer to obsolete finder group "wp". 2024-07-24 Andrea Corallo Fix some function type declaration * lisp/window.el (get-lru-window, get-largest-window): Fix function type declaration. * lisp/subr.el (error): Likewise. 2024-07-24 Po Lu * src/image.c (gui_put_x_image): Avoid memory leak. 2024-07-24 Po Lu Adapt last change to non-NS systems * src/image.c (xpm_load_image): Also check whether mask_img is NULL. 2024-07-24 Po Lu Fix NULL pointer dereferences in xpm_load_image * src/image.c (x_destroy_x_image): Correct test condition. (xpm_load_image): Do not release image data if it is still to be created. 2024-07-24 Po Lu Fix bug#72255 * src/image.c (struct image_type): Minor grammatical corrections. (image_destroy_x_image): [HAVE_NS]: Do not release Emacs_Pix_Containers, which are identical to Emacs_Pixmaps and consequently always released with the `struct image'. (bug#72255) 2024-07-23 Stefan Kangas Delete redundant "a.k.a." in use-package.texi * doc/misc/use-package.texi (Getting Started): Delete redundant acronym "a.k.a.". (Bug#66350) 2024-07-23 Stefan Kangas Document (use-package 'emacs) declarations * doc/misc/use-package.texi (The @code{emacs} package): New node. (Bug#66350) 2024-07-23 Robert Pluim Improve 'emacs-news-view-mode' menus and bindings * lisp/textmodes/emacs-news-mode.el (emacs-news-mode-map): Move non-editing commands from here... (emacs-news-common-map): ... to here. (emacs-news-view-mode): Remove hard-coded 'special-mode' bindings. (emacs-news-view-mode-map): Inherit from 'special-mode-map' and 'emacs-news-common-map' here instead. (emacs-news-mode--menu-common-1): New defconst for menu items common to 'news-mode' and 'news-view-mode'. (emacs-news-mode--menu-common-2): Second new defconst for common items. (emacs-news-mode-menu): Use them. (emacs-news-view-mode-menu): New menu, which omits the buffer editing commands. This builds on the fix for Bug#72080. 2024-07-23 Gerd Möllmann Fix disappearing bar cursor on Hebrew text (bug#72230) * src/nsterm.m (ns_draw_window_cursor): Compute the correct bar cursor rectangle for R2L before setting the clipping. 2024-07-22 Manuel Giraud Fix DocView with DVI files * lisp/doc-view.el (doc-view-pdf/ps->png): Use `doc-view-pdf->png-converter-function' for DVI files, too, since they are converted to PDF earlier. 2024-07-22 Alan Mackenzie FIx spurious fontification of variable in Java Mode This fixes bug#72126. * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove tentative type identifier from c-record-type-identifiers should it turn out not to be a type. 2024-07-22 Stefan Kangas Correctly typeset nil and t in texinfo * doc/emacs/package.texi (Fetching Package Sources): * doc/lispref/display.texi (Image Descriptors): * doc/lispref/windows.texi (Buffer Display Action Alists): * doc/misc/gnus-faq.texi (FAQ 5-4): Correctly typeset nil and t. 2024-07-22 Michael Albinus Fix Tramp IPv6 handling in tests * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection): * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Improve message. * lisp/net/tramp-integration.el (shortdoc): Add further examples of `file-remote-p'. * lisp/net/tramp.el (tramp-handle-file-remote-p): Extend docstring. * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect) (tramp-test02-file-name-dissect-simplified) (tramp-test02-file-name-dissect-separate): Extend tests. (tramp-test06-directory-file-name) (tramp-test26-file-name-completion) (tramp-test26-interactive-file-name-completion): Better handling of IPv6 hosts. 2024-07-22 Kyle Meyer Update to Org 9.7.8-5-gfdf0e0 2024-07-22 Yuan Fu Fix Ftreesit_parser_create * src/treesit.c (Ftreesit_parser_create): Use the buffer given by the caller rather than the current buffer. 2024-07-22 Yuan Fu Fix segfault when deleting tree-sitter query (bug#72238) * src/treesit.c (treesit_delete_query): Only delete query and cursor when they are non-NULL. 2024-07-21 Stefan Kangas Improve treesit-node-child-by-field-name docstring * src/treesit.c (Ftreesit_node_child_by_field_name): Improve docstring. 2024-07-21 Stefan Kangas Minor copyedits in tree-sitter starting guide * admin/notes/tree-sitter/starter-guide: Minor copyedits. Reflow some paragraphs. 2024-07-21 Stefan Kangas Update tag for prebuilt tree-sitter grammars * admin/notes/tree-sitter/starter-guide: Update tag for prebuilt tree-sitter grammars to point to 2.4. 2024-07-21 Stefan Kangas Fix punctuation and doc style in treesit.c * src/treesit.c (Ftreesit_parser_included_ranges) (Ftreesit_query_capture, treesit_traverse_sibling_helper) (treesit_traverse_match_predicate): Fix punctuation and documentation style in comments and docstrings. 2024-07-21 Manuel Giraud Fix DocView with PostScript files * lisp/doc-view.el (doc-view-set-up-single-converter): Produce PNG from PS in a file with ".png" extension. (Bug#72193) 2024-07-20 Liu Hui Fix bibtex validation for non-file buffers * lisp/textmodes/bibtex.el (bibtex-validate): Use buffer name to show errors in non-file buffers. (Bug#71946) 2024-07-20 Eli Zaretskii Fix Imenu in 'emacs-news-view-mode' * lisp/textmodes/emacs-news-mode.el (emacs-news-view-mode): Make it derived from emacs-news-mode. Add useful key bindings. (Bug#72080) 2024-07-20 Eli Zaretskii Avoid errors in 'icomplete-vertical-mode' * lisp/minibuffer.el (completion--hilit-from-re): Avoid signaling an error if STRING does not match REGEXP. Fix doc string and indentation. (Bug#72176) 2024-07-20 Stefan Kangas Document GNU ELPA copyright in tips.texi * doc/lispref/tips.texi (Library Headers): Document that GNU ELPA packages should have their copyright assigned to the FSF. 2024-07-20 Stefan Kangas Improve register-use-preview docstring * lisp/register.el (register-use-preview): Improve docstring. 2024-07-20 Stefan Kangas Miscellaneous checkdoc fixes * lisp/ansi-color.el (ansi-color--ensure-context): * lisp/doc-view.el (doc-view-svg-face): * lisp/external-completion.el (external-completion-table): * lisp/ffap.el (ffap-ro-mode-hook, ffap-gnus-hook): * lisp/find-file.el: * lisp/flow-ctrl.el (flow-control-c-s-replacement) (flow-control-c-q-replacement): * lisp/forms.el (forms-multi-line): * lisp/help.el (search-forward-help-for-help): * lisp/hi-lock.el (hi-lock-use-overlays): * lisp/image.el (find-image): * lisp/isearch.el (isearch-forward, isearch-forward-regexp) (isearch-lazy-count-format): * lisp/jsonrpc.el (jsonrpc--continue, initialize-instance): * lisp/mouse-copy.el (mouse-kill-preserving-secondary): * lisp/pixel-scroll.el (pixel-bob-at-top-p) (pixel-scroll-down-and-set-window-vscroll): * lisp/printing.el (pr-gv-command, pr-gs-command) (pr-gs-switches): * lisp/register.el (register-use-preview): * lisp/repeat.el (repeat-check-key): * lisp/saveplace.el (save-place-abbreviate-file-names): * lisp/select.el (gui--clipboard-selection-unchanged-p): * lisp/ses.el (ses-header-row): * lisp/simple.el (transpose-sexps-default-function) (normal-erase-is-backspace, normal-erase-is-backspace-mode): * lisp/sqlite-mode.el (sqlite-mode): * lisp/tempo.el (tempo-insert-region): * lisp/term.el (term-mode-map, term-mode, term-char-mode): Checkdoc fixes. 2024-07-19 Stefan Monnier * lisp/progmodes/peg.el (peg-syntax-classes): Typo (bug#72131) 2024-07-19 Jonas Bernoulli * lisp/transient.el (static-if): Remove duplicated definition. (Bug#72182) This should have been removed when the standalone version was merged into Emacs. 2024-07-19 Michael Albinus Adapt file-remote-p doc * doc/lispref/files.texi (Magic File Names): Adapt file-remote-p. * lisp/files.el (file-remote-p): Adapt docstring. 2024-07-18 Stefan Kangas * etc/TODO: Delete item about merging Magit. Change requested by Jonas Bernoulli . 2024-07-18 Stefan Kangas * doc/man/emacs.1.in: Add "No warranty" notice. 2024-07-18 Stefan Kangas Improve emacs man page description of --user flag * doc/man/emacs.1.in: Improve --user flag description. (Bug#72169) 2024-07-18 Stefan Kangas Checkdoc fixes in allout-widgets.el * lisp/allout-widgets.el (allout-widgets-setup) (allout-widgets-tally-string, allout-widgets-mode-inhibit): (allout-widgets-hook-error-handler): Checkdoc fixes. 2024-07-18 Stefan Kangas Checkdoc fixes in subr.el * lisp/subr.el (ctl-x-4-map, ctl-x-map) (touch-screen-events-received): Checkdoc fixes. 2024-07-18 Stefan Kangas Checkdoc fixes in touch-screen.el * lisp/touch-screen.el (touch-screen-handle-touch): Checkdoc fixes. 2024-07-18 Stefan Kangas Checkdoc fixes in treesit.el * lisp/treesit.el (treesit-add-font-lock-rules) (treesit--font-lock-mark-ranges-to-fontify): Checkdoc fixes. 2024-07-18 Stefan Kangas Avoid overflow in pgtk_is_numeric_char * src/pgtkfns.c (parse_resource_key): Avoid overflow by making array larger, if a key is RESOURCE_KEY_MAX_LEN long. Do not merge to master, since it's fixed in a different way there. 2024-07-18 Po Lu Port better to Android 3.0 * java/org/gnu/emacs/EmacsNoninteractive.java (main): Use the old getPackageInfo calling convention if it exists rather than on Android 2.3.3 and earlier. 2024-07-17 Michael Albinus New Tramp tests * test/lisp/net/tramp-tests.el (tramp-test41-special-characters-direct-async) (tramp-test42-utf8-direct-async): New tests. 2024-07-17 Michael Albinus Update Tramp manual * doc/misc/tramp.texi (Remote processes): Add another reason why a direct asynchronous process could fail. 2024-07-17 Robert Pluim Fix 'toggle-window-dedicated' documentation * doc/emacs/windows.texi (Displaying Buffers): Fix the cross reference to the elisp manual. Add missing 'toggle-window-dedicated'. * doc/lispref/windows.texi (Dedicated Windows): Mention 'toggle-window-dedicated'. 2024-07-16 Stefan Kangas Checkdoc fixes in transient.el * lisp/transient.el (transient-format-description): Checkdoc fixes. 2024-07-15 Peter Oliver Fix intermittent failure of dired-test-bug27243-02 * test/lisp/dired-tests.el (dired-test-bug27243-02): Exclude free disk space from dired listing in this test, in case it changes while it's running and confuses the result. (Bug#72120) 2024-07-15 Stefan Kangas * etc/TODO: Refer to Bug#72127 for Magit assignments. 2024-07-15 Michael Albinus Rename treesitter test * test/lisp/align-tests.el (align-ts-lua): Rename test in order to fit to treesitter tests on EMBA. 2024-07-15 Michael Albinus Adapt tressitter tests on EMBA * test/infra/Makefile.in (TREE-SITTER-FILES): Simplify. * test/infra/test-jobs.yml: Regenerate. 2024-07-15 Jim Porter Support passing signals like 'SIGCODE' to 'tramp-signal-process' POSIX specifies that "kill" should take signal names without the "SIG" prefix. * lisp/net/tramp.el (tramp-signal-process): Strip the "SIG" prefix when present. 2024-07-15 Jim Porter Don't save to history from 'eshell-command' when aborting * lisp/eshell/eshell.el (eshell-add-input-to-history) (eshell--save-history): Declare. (eshell-command-mode-exit): New function... (eshell-command-mode): ... use it. * lisp/eshell/em-hist.el (eshell-hist-initialize): Don't handle minibuffer logic here. Always read history file (this ensures that 'eshell-command' can see the history, too). (eshell-add-command-to-history): Remove. 2024-07-14 Kyle Meyer Update to Org 9.7.7-2-gf308d3 2024-07-14 Eli Zaretskii Fix decoding 'display' properties with SVG images in Enriched mode * lisp/textmodes/enriched.el (enriched-next-annotation): Reject matches of 'enriched-annotation-regexp' inside strings. Reported by Christopher Howard in https://lists.gnu.org/archive/html/help-gnu-emacs/2024-06/msg00178.html. 2024-07-14 Pip Cet * configure.ac (D8): Fix typo. 2024-07-14 Po Lu Do not set LD_LIBRARY_PATH during Android initialization * doc/emacs/android.texi (Android Environment): Adjust documentation to match. * java/org/gnu/emacs/EmacsNoninteractive.java (main1): New function. Remove initialization of EmacsNative hither. (main): Acquire an ApplicationInfo or LoadedApk, as the case may be on the host system, derive a ClassLoader from the result, and load and call `main1' from within this class loader. * src/android-emacs.c (main): * src/android.c (setEmacsParams): Do not override LD_LIBRARY_PATH or set EMACS_LD_LIBRARY_PATH. This enables Emacs to execute subprocesses in certain "fortified" Android systems, amongst other things. 2024-07-13 Eli Zaretskii * test/lisp/wdired-tests.el (wdired-test-bug34915): Fix for MS-Windows. 2024-07-13 Peter Oliver Fix 'wdired-test-unfinished-edit-01' * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Don't modify the random directory name if, by chance, it happens to contain the substring "foo" anywhere but immediately after the slash. (Bug#72073) 2024-07-13 Vincenzo Pupillo Fontify destructor in c++-ts-mode * lisp/progmodes/c-ts-mode.el (c-ts-mode--font-lock-settings): Add a rule for destructors. (Bug#71872) 2024-07-12 F. Jason Park Fix invalid defcustom type for erc-buffers option * lisp/erc/erc.el (erc-ensure-target-buffer-on-privmsg): Change invalid inner `choice' to a `const' for the third-state `status' variant, which is new in ERC 5.6 and Emacs 30. Thanks to Mattias Engdegård for catching this. 2024-07-12 Eli Zaretskii Fix infloop in 'shell-resync-dirs' * lisp/shell.el (shell-eval-command): Fix detection of newline after last output line. (Bug#71896) (shell-resync-dirs): Make sure the inner loop never infloops. Suggested by Troy Hinckley . 2024-07-12 Po Lu Render more Android functions safe to execute in a batch session * src/androidfns.c (Fx_display_mm_width, Fx_display_mm_height) (Fandroid_display_monitor_attributes_list) (Fandroid_external_storage_available_p) (Fandroid_request_storage_access): Verify that a display connection or service object is available. * src/androidselect.c (Fandroid_get_clipboard) (Fandroid_browse_url_internal, Fandroid_get_clipboard_targets) (Fandroid_get_clipboard_data, Fandroid_notifications_notify): Moderate tone of error messages. 2024-07-12 Po Lu Document means of executing Emacs from unrelated Android applications * doc/emacs/android.texi (Android Environment): Document significance, effect and purpose of EMACS_CLASS_PATH and EMACS_LD_LIBRARY_PATH, and the utility of `pm path org.gnu.emacs'. 2024-07-12 Jim Porter Don't emit a prompt in Eshell when a background command is killed * lisp/eshell/esh-cmd.el (eshell-resume-command): Check for background-ness before resetting the prompt. * test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/background/simple-command): Make the regexp a bit stricter. (esh-cmd-test/background/kill): New test. 2024-07-11 Daniel Martín Fix reference from buffer-stale-function docstring * lisp/files.el (buffer-stale-function): Fix reference to a non-existent Info node in doc string. (Bug#72049) 2024-07-11 Po Lu Take precautions against ill-formed content URIs * java/org/gnu/emacs/EmacsService.java (openContentUri) (checkContentUri): Verify that URIs derived from user-provided file names can be parsed before attempting to open them. 2024-07-11 Dmitry Gutov etags-regen-mode: Handle TAGS buffer being killed * lisp/progmodes/etags-regen.el (etags-regen--visit-table): Use kill-buffer-hook to ensure a refresh if the TAGS buffer is killed manually (bug#71727). (etags-regen--tags-cleanup): Bind the hook var to nil to avoid an infloop. 2024-07-10 Robert Pluim Improve 'put-image' documentation * doc/lispref/display.texi (Showing Images): Mention that it returns the created overlay. * lisp/image.el (put-image): And here. 2024-07-10 Robert Pluim Improve 'set-fontset-font' documentation * doc/emacs/mule.texi (Modifying Fontsets): Add an 'emoji' example. 2024-07-10 Michael Albinus Adapt Tramp's "run0" method * doc/misc/tramp.texi (Inline methods): * etc/NEWS: Adapt "run0" entry. * lisp/net/tramp-sh.el (tramp-enable-run0-method): Adapt "run0" arguments. 2024-07-10 Andrea Corallo * test/src/sqlite-tests.el (sqlite-execute-batch): Declare to wave warning. 2024-07-10 Stefan Kangas Capitalize "Dired" and "Lisp" in docstrings * lisp/desktop.el (desktop-no-desktop-file-hook): * lisp/dired-x.el (dired-mark-sexp): * lisp/dired.el (dired-make-directory-clickable) (dired-map-over-marks, dired-file-name-at-point) (dired-save-positions, dired-buffers-for-dir) (dired-buffers-for-dir-or-subdir, dired-fun-in-all-buffers) (dired-remove-entry, dired-delete-entry, dired-jump): * lisp/files.el (save-buffer): * lisp/find-dired.el (find-ls-option): * lisp/hilit-chg.el: * lisp/locate.el (locate-mode): * lisp/msb.el (msb-dired-item-handler, msb-sort-by-directory): * lisp/printing.el (pr-ps-printer-alist, pr-ps-utility-alist): * lisp/uniquify.el (uniquify-trailing-separator-p): * lisp/wdired.el (wdired, wdired-change-to-dired-mode, wdired-exit): * lisp/woman.el (woman-dired-define-keys, woman-dired-find-file): Capitalize "Dired" and "Lisp" in docstrings. Found with checkdoc. 2024-07-09 Jim Porter Document Eshell entry points * doc/misc/eshell.texi (Entry Points): New chapter. (Scripts): Move under Entry Points. Expand documentation. 2024-07-09 Po Lu Fix bug#71929 * src/image.c (free_image_cache): Unconditionally release image cache, as this function is only called with its existence already established. * src/xfaces.c (free_frame_faces): Clear FRAME_IMAGE_CACHE (f). (bug#71929) 2024-07-09 Po Lu Fix bug#70697 with respect to fringe bitmaps * src/pgtkterm.c (pgtk_draw_fringe_bitmap): Always call `fill_background_by_face' for clearing backgrounds of fringe bitmaps. (bug#70697) 2024-07-09 Po Lu Fix byte-compiler warning in calc.el * lisp/calc/calc.el (calc-embedded-open-close-new-formula-alist): Remove previously introduced quotation marks, as they bring the width of the doc string past 80. 2024-07-08 Stefan Monnier editorconfig-core-handle.el: Fix regressions in fnmatch handling * lisp/editorconfig-core-handle.el (editorconfig-core-handle-get-properties-hash): Fix computation of relative file name. (editorconfig-core-handle--fnmatch-p): Handle the case when `pattern` doesn't have a `/` but does match the `/` character. 2024-07-08 Stefan Kangas Checkdoc fixes in `url/*.el` * lisp/url/url-util.el (url-query-key-value-allowed-chars): * lisp/url/url.el (url-retrieve-synchronously): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `term/*.el` * lisp/term/android-win.el (android-clear-preedit-text): * lisp/term/pgtk-win.el (featurep): * lisp/term/x-win.el (x-clear-preedit-text): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `mh-e/*.el` * lisp/mh-e/mh-e.el (mh-tool-bar): * lisp/mh-e/mh-folder.el (mh-folder-mode): * lisp/mh-e/mh-search.el (mh-pick-menu, mh-search-mode): * lisp/mh-e/mh-show.el (mh-show-mode): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `calc/*.el` * lisp/calc/calc.el (calc-embedded-open-close-new-formula-alist): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `textmodes/*.el` * lisp/textmodes/ispell.el (ispell-command-loop): * lisp/textmodes/mhtml-mode.el (mhtml--construct-submode): * lisp/textmodes/page-ext.el (pages-set-delimiter): * lisp/textmodes/refbib.el (r2b-get-field, r2b-put-field): * lisp/textmodes/refer.el (refer-cache-bib-files): * lisp/textmodes/reftex-index.el (reftex-index-phrase-selection-or-word): (reftex-index-phrases-mode): * lisp/textmodes/table.el (table-insert, table--fill-region-strictly): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `gnus/*.el` * lisp/gnus/gnus-agent.el (gnus-agent-enable-expiration) (gnus-agent-with-refreshed-group, gnus-agentize) (gnus-agent-fetch-headers, gnus-agent-update-files-total-fetched-for) (gnus-agent-update-view-total-fetched-for): * lisp/gnus/gnus-art.el (gnus-article-address-banner-alist) (gnus-default-article-saver, gnus-mime-view-part-as-charset) (gnus-block-private-groups, gnus-article-edit-mode): * lisp/gnus/gnus-dired.el (gnus-dired-mode, gnus-dired-attach) (gnus-dired-find-file-mailcap, gnus-dired-print): * lisp/gnus/gnus-msg.el (gnus-summary-attach-article): * lisp/gnus/gnus-score.el (gnus-home-score-file): * lisp/gnus/gnus-search.el (gnus-search-ignored-newsgroups) (gnus-search-mu-switches, gnus-search-mu-remove-prefix) (gnus-search-thread): * lisp/gnus/gnus-sieve.el (gnus-sieve-string-list): * lisp/gnus/message.el (message-beginning-of-line): * lisp/gnus/mm-url.el: * lisp/gnus/mm-view.el (mm-w3m-setup, mm-setup-w3m): * lisp/gnus/mml-sec.el (mml-signencrypt-style): * lisp/gnus/nndiary.el: * lisp/gnus/nnimap.el (nnimap-server-port, nnimap-use-namespaces) (nnimap-expunge): * lisp/gnus/nnmail.el (nnmail-incoming-coding-system): (nnmail-ignore-broken-references): * lisp/gnus/nnmairix.el (nnmairix-default-group): * lisp/gnus/nntp.el (nntp-report): * lisp/gnus/nnvirtual.el (nnvirtual-update-read-and-marked): (nnvirtual-partition-sequence): * lisp/gnus/spam-stat.el (spam-stat-process-directory-age) (spam-stat-last-saved-at, spam-stat-save): * lisp/gnus/spam.el (spam-enter-ham-BBDB, spam-check-BBDB): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `eshell/*.el` * lisp/eshell/em-elecslash.el: * lisp/eshell/em-extpipe.el: * lisp/eshell/em-pred.el (eshell-get-delimited-modifier-argument): * lisp/eshell/esh-cmd.el (eshell--unmark-deferrable) (eshell-named-command-hook): * lisp/eshell/esh-module.el (eshell-module--feature-name): * lisp/eshell/esh-util.el (eshell-find-delimiter): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `emulation/*.el` * lisp/emulation/cua-base.el: * lisp/emulation/viper-mous.el (viper-parse-mouse-key): * lisp/emulation/viper.el (viper-major-mode-modifier-list): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `erc/*.el` * lisp/erc/erc-backend.el (erc-server-parameters): * lisp/erc/erc-button.el (erc-button--display-error-with-buttons): * lisp/erc/erc-dcc.el (erc-dcc-member): * lisp/erc/erc-fill.el (erc-fill-wrap-refill-buffer): * lisp/erc/erc-speedbar.el (erc-speedbar--last-ran): * lisp/erc/erc-stamp.el (erc-stamp--current-time): * lisp/erc/erc-track.el (erc-make-mode-line-buffer-name): * lisp/erc/erc.el (erc-interactive-display, erc-modules, erc-cmd-CLEAR) (erc-update-current-channel-member, erc--format-user-modes) (erc-check-text-conversion): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `vc/*.el` * lisp/vc/ediff-init.el (ediff-start-narrowed) (ediff-buffer-values-orig-A, ediff-buffer-values-orig-B) (ediff-buffer-values-orig-C, ediff-buffer-values-orig-Ancestor): * lisp/vc/ediff-mult.el: * lisp/vc/ediff-ptch.el (ediff-get-patch-buffer): * lisp/vc/emerge.el (emerge-before-flag, emerge-after-flag): * lisp/vc/vc-dav.el (vc-dav-checkin): * lisp/vc/vc-git.el (vc-git-command): * lisp/vc/vc-hg.el (vc-hg-command): * lisp/vc/vc-src.el (vc-src-command): * lisp/vc/vc-svn.el (vc-svn-command): * lisp/vc/vc.el (vc-checkin): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `emacs-lisp/*.el` * lisp/emacs-lisp/bytecomp.el (byte-compile-free-vars-warn) (byte-compile-out): * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): * lisp/emacs-lisp/find-func.el (find-ert-deftest-regexp): * lisp/emacs-lisp/macroexp.el (byte-compile-form-stack): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `mail/*.el` * lisp/mail/feedmail.el (feedmail-mail-send-hook-splitter) (feedmail-queue-runner-message-sender): * lisp/mail/mail-extr.el (mail-extr-nuke-outside-range): * lisp/mail/rmail.el (rmail-automatic-folder-directives) (rmail-summary-displayed): * lisp/mail/rmailmm.el (rmail-mime-searching): * lisp/mail/sendmail.el (mail-mode): * lisp/mail/supercite.el (sc-mail-last-header-nuked-p): Checkdoc fixes. 2024-07-08 Stefan Kangas Checkdoc fixes in `net/*.el` * lisp/net/ange-ftp.el: * lisp/net/dictionary.el (dictionary-tool-bar-map): * lisp/net/eudc.el (eudc-translate-query) (eudc-translate-attribute-list) (eudc-format-inline-expansion-result, eudc-bookmark-server): * lisp/net/eww.el (eww-check-text-conversion): * lisp/net/rcirc.el (rcirc-server-name): * lisp/net/tramp-adb.el (tramp-adb-handle-get-remote-uid): * lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p): * lisp/net/tramp-crypt.el (tramp-crypt-command-completion-p): * lisp/net/tramp-message.el (tramp-debug-buffer-command-completion-p): * lisp/net/tramp-sh.el (tramp-use-connection-share): * lisp/net/tramp.el (tramp-command-completion-p): Checkdoc fixes. 2024-07-08 Stefan Kangas Improve `use-package-vc-valid-keywords` docstring format * lisp/use-package/use-package-core.el (use-package-vc-valid-keywords): Improve docstring format. 2024-07-08 Stefan Kangas Revert "Fix link to major mode variable in docstring" This reverts commit 73c1252bb6b7cc61d9f992818568d3c57de4ff67. This will sometimes say "the variable `(default-value 'global-auto-revert-mode)'". Problem reported by Eshel Yaron . 2024-07-08 Stefan Kangas * etc/TODO: Add item to convert documentation to 'setopt'. 2024-07-08 Stefan Kangas Prefer 'setopt' in browse-url docs * lisp/net/browse-url.el: (browse-url-filename-alist): Doc fix; prefer 'setopt'. 2024-07-08 Po Lu Correct conditions for iconification on Android * java/org/gnu/emacs/EmacsActivity.java (EmacsActivity) : Rename to . (attachWindow): Adjust to match. (onPause): Delete function. (onStop): Deem frames iconified after calls to onStop instead. 2024-07-08 Jim Porter Fix execution of MS-Windows app execution aliases in Eshell * lisp/eshell/esh-ext.el (eshell-script-interpreter): Check for 0-size files (bug#71655). 2024-07-07 Eval EXEC (tiny change) Improve 'tab-line-tabs-fixed-window-buffers' sorting performance * lisp/tab-line.el (tab-line-tabs-fixed-window-buffers): Enhance 'tab-line-tabs-fixed-window-buffers' performance by optimizing buffer sorting mechanism. Replace inefficient 'seq-position' calls with a hash table to cache buffer positions, significantly improving speed when handling large buffer lists (bug#71958). 2024-07-07 Michael Albinus Adapt Tramp version (don't merge) * doc/misc/trampver.texi: * lisp/net/trampver.el (tramp-version): Adapt Tramp versions. 2024-07-07 Michael Albinus Fix Tramp parser * lisp/net/tramp.el (tramp-host-with-port-regexp): Declare. (tramp-set-syntax): Set also `tramp-host-with-port-regexp'. (tramp-build-host-with-port-regexp): New defun. (tramp-host-with-port-regexp): Make it a defvar. (Bug#71972) * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax) (tramp-test01-file-name-syntax-simplified) (tramp-test01-file-name-syntax-separate): Adapt tests. 2024-07-07 Stefan Kangas Checkdoc fixes in progmodes * lisp/progmodes/cperl-mode.el (cperl-file-style) (cperl-continued-brace-offset, cperl-tips-faces): * lisp/progmodes/eglot.el (eglot-confirm-server-edits, eglot) (eglot-list-connections-mode, eglot--outstanding-inlay-hints-region) (eglot--outstanding-inlay-regions-timer): * lisp/progmodes/etags.el (etags-goto-tag-location) (etags--xref-apropos-additional): * lisp/progmodes/flymake.el (flymake-autoresize-margins): * lisp/progmodes/gdb-mi.el (gdb-mouse-until, gdb-mouse-jump): * lisp/progmodes/hideif.el (hif-parse-macro-arglist): * lisp/progmodes/idlw-help.el (idlwave-html-help-location): * lisp/progmodes/idlwave.el (idlwave-reserved-word-upcase): * lisp/progmodes/java-ts-mode.el (java-ts-mode--string-highlight-helper): * lisp/progmodes/js.el (js--chained-expression-p): * lisp/progmodes/pascal.el (pascal-mode, pascal-comment-area): * lisp/progmodes/python.el (python--treesit-fontify-union-types): * lisp/progmodes/ruby-mode.el (ruby-align-chained-calls) (ruby-block-indent, ruby-rubocop-use-bundler): * lisp/progmodes/rust-ts-mode.el (rust-ts-mode--prettify-symbols-compose-p): * lisp/progmodes/verilog-mode.el (verilog-cache-has-lisp) (verilog-auto-insert-lisp, verilog-highlight-region): * lisp/progmodes/xref.el (xref--get-history): Various checkdoc fixes. 2024-07-07 Stefan Kangas Checkdoc fixes in Org Mode * lisp/org/ob-core.el: * lisp/org/ob-exp.el: * lisp/org/ob-lob.el: * lisp/org/ob-plantuml.el (org-babel-execute:plantuml): * lisp/org/ob-python.el (org-babel-python--command) (org-babel-python-initiate-session-by-key) (org-babel-python-initiate-session): * lisp/org/ob-scheme.el (org-babel-scheme-make-session-name): * lisp/org/ob-tangle.el (org-babel-find-file-noselect-refresh) (org-babel-interpret-file-mode): * lisp/org/ob.el: * lisp/org/org-agenda.el (org-agenda-mouse-1-follows-link) (org-agenda-start-with-archives-mode) (org-agenda-previous-line): * lisp/org/org-clock.el (org-clock-save, org-clock-load): * lisp/org/org-element-ast.el (org-element-type-p): * lisp/org/org-faces.el (org-cycle-level-faces): * lisp/org/org-fold-core.el (org-fold-core--isearch-overlays): * lisp/org/org-fold.el (org-fold--extend-changed-region): * lisp/org/org-goto.el: * lisp/org/org-habit.el (org-habit-show-all-today): * lisp/org/org-inlinetask.el (org-inlinetask-in-task-p): * lisp/org/org-macs.el (org-current-text-column): * lisp/org/org-mobile.el (org-mobile-check-setup): * lisp/org/org-mouse.el (org-mouse-bolp): * lisp/org/org-refile.el (org-refile): * lisp/org/org-src.el (org-src-do-key-sequence-at-code-block): * lisp/org/org-table.el (orgtbl-after-send-table-hook) (orgtbl-self-insert-command, orgtbl-to-orgtbl): * lisp/org/org.el (org-read-date-popup-calendar, org-finish-function) (org-occur-parameters, org-self-insert-command, org-ctrl-c-ctrl-c-hook) (org-ctrl-c-ctrl-c-final-hook, org-submit-bug-report) (org--single-lines-list-is-paragraph): * lisp/org/ox-icalendar.el (org-icalendar--vtodo): * lisp/org/ox-latex.el (org-latex-generate-engraved-preamble): (org-latex-src--engrave-code): * lisp/org/ox-publish.el (org-publish-project-alist): * lisp/org/ox.el (org-export-data): Various checkdoc fixes. 2024-07-07 Stefan Kangas Clarify `checkdoc-max-keyref-before-warn` docstring * lisp/emacs-lisp/checkdoc.el (checkdoc-max-keyref-before-warn): Clarify and reflow docstring. Fix warning about overly long docstring. 2024-07-07 Juri Linkov * lisp/files.el (insert-directory): Quote switches in wildcard case. Use shell-quote-wildcard-pattern on the switches string split by split-string-and-unquote. This helps to quote such switches as "--block-size='1" (bug#71935). 2024-07-07 Juri Linkov Fix uses of 'dired-omit-mode' (bug#71905) * lisp/dired.el (dired-jump): Disable dired-omit-mode with -1. * lisp/files.el (recover-session): Disable dired-omit-mode explicitly afterwards instead of modifying dired-mode-hook that fails when it contains a lambda. 2024-07-07 Po Lu * src/androidvfs.c (android_saf_check_nonnull): Fix typo. 2024-07-07 Po Lu Correct JNI string error checking and miscellaneous corrections * src/android-emacs.c (main): Do not attempt to load the bootstrap class path, which is redundant on all Android releases. * src/android.c (initEmacs, android_browse_url): Do not assume exceptions will be raised if GetStringUTFChars fails. Decode Android JNI strings as Qandroid_jni. * src/androidvfs.c (android_saf_check_nonnull): New function. (android_saf_new_mkdir): Likewise. 2024-07-07 Stefan Kangas Correctly highlight SYMTAB in `awk-mode` * lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Fix typo for "SYMTAB" (see Info node '(gawk) Auto-set'). 2024-07-06 JD Smith <93749+jdtsmith@users.noreply.github.com> Fix formatting of tables with thead/tfoot but no tbody Correctly handle formatting of tables containing thead and/or tfoot, but without any tbody, to prevent including thead/tfoot content twice within the table's derived body. * lisp/net/shr.el (shr--fix-tbody): Omit 'thead' and 'tfoot' from implicit body. (Bug#71685) * test/lisp/net/shr-resources/table.html: * test/lisp/net/shr-resources/table.txt: New tests for table rendering. 2024-07-06 Stefan Monnier (buf_bytepos_to_charpos): Fix mixup introduced in commit b300052fb4ef Backport of commit 1b595b4598e7 since it turns out this "minor typo" had disastrous consequences in pathological cases and explains some of the problems seen in bug#71644 and bug#63040. * src/marker.c (buf_bytepos_to_charpos): Don't compare byte-positions with char-positions. 2024-07-06 Stefan Kangas package-buffer-info: Move 'require' earlier * lisp/emacs-lisp/package.el (package-buffer-info): Move 'require' earlier, before it is needed. 2024-07-06 Vincenzo Pupillo Fix treesit range rule for jsdoc The parser for jsdoc is local, so it is necessary for the range rule to take this into account. * lisp/progmodes/js.el (js-ts-mode): Add ':local' keyword. (js-ts-language-at-point): Remove 'js-ts-language-at-point'. (Bug#71776) 2024-07-06 Eli Zaretskii Fix documentation of 'balance-windows' * lisp/window.el (balance-windows): Doc fix. * doc/emacs/windows.texi (Change Window): Make the description of 'balance-windows' more accurate. (Bug#71915) 2024-07-06 Daniel Semyonov nnatom: Ensure some parsed values are one line * lisp/gnus/nnatom.el (nnatom--dom-line): New function. (nnatom--read-title, nnatom--read-description) (nnatom--read-article-or-group-authors, nnatom--read-subject) (nnatom--read-id, nnatom--read-publish, nnatom--read-update) (nnatom--read-links): Read text using `nnatom--dom-line'. (Bug#71889) 2024-07-06 Daniel Semyonov nnfeed: (Mostly) fix group descriptions * lisp/gnus/nnfeed.el (nnfeed--group-description): New function. (nnfeed-request-group-description, nnfeed-request-list-newsgroups): Use `nnfeed--group-description' and always return t if group data is found. (Bug#71888) 2024-07-06 João Távora Eglot: support deprecated MarkedString (bug#71353) * lisp/progmodes/eglot.el: Make a markdown code block if MarkedString passed. 2024-07-06 Eli Zaretskii Fix returning to original TTY frame after 'rmail-reply' * lisp/mail/rmail.el (rmail-start-mail): Record the frame from which an Rmail command, such as 'rmail-mail' or 'rmail-reply', was invoked. (rmail--find-orig-rmail-frame): New function. (rmail-mail-return): Use 'rmail--find-orig-rmail-frame' to find the original frame, and make it the top frame on its TTY terminal. (Bug#69738) 2024-07-05 Eli Zaretskii Improve warnings from native compiler * src/comp.c (syms_of_comp) : Rename from 'comp'. * src/lread.c (maybe_swap_for_eln): * lisp/emacs-lisp/comp.el (comp--fwprop): * lisp/emacs-lisp/comp-run.el (comp--accept-and-process-async-output, native--compile-async): Adjust to the new symbol. 2024-07-05 Stefan Kangas Document adding package dependency on Emacs version * doc/lispref/package.texi (Simple Packages, Multi-file Packages): Document how to make a package depend on a specific version of Emacs. 2024-07-05 Eli Zaretskii Fix file-name detection in Dired under -F * lisp/files.el (insert-directory-clean): Support all the symbols appended to file names by the -F/--classify option of 'ls'. See https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg00366.html for the details. 2024-07-04 Stefan Monnier (edebug--called-interactively-skip): Fix bug#71934 * lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip): Adjust to new interpreted functions. 2024-07-03 Eli Zaretskii Fix MS-Windows build with native-compilation * src/w32.c (globals_of_w32): Move re-initialization of Vlibrary_cache from here... * src/emacs.c (main): ...to here, as it must be after load_pdump. (Bug#71916) 2024-07-03 Andrea Corallo Tag dbus-test05-register-signal-with-nils as unstable * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils): Tag it as unstable. 2024-07-03 Yuan Fu Fix treesit test (bug#71907) * test/src/treesit-tests.el (treesit-node-check): Re-parse buffer before checking for node outdated-ness. 2024-07-03 Stefan Kangas Focus more on MS-Windows than MS-DOS in FAQ * doc/misc/efaq.texi (Editing Windows files): Rename section from "Editing MS-DOS files", and update the text to focus on Windows. * doc/misc/efaq.texi (Colors on a TTY) (Emacs does not display 8-bit characters): Mention MS-Windows before MS-DOS. 2024-07-03 Stefan Kangas Autoload some string functions These functions are documented in both `(elisp) Creating Strings' and 'M-x shortdoc RET string RET', so users will expect them to be available without having to require 'subr-x'. * lisp/emacs-lisp/subr-x.el (string-fill, string-limit, string-pad) (string-chop-newline): Autoload. 2024-07-02 Michael Albinus * etc/NEWS: Fix typos. 2024-07-01 Alan Mackenzie Remove a reference to a non-existent variable from a docstring * lisp/progmodes/cc-langs.el (c-opt-extra-label-key): Remove reference to c-nonlabel-decl-prefix-re from the doc string. 2024-07-01 Po Lu * java/res/mipmap-v26/emacs_icon.xml: Define monospace icon. 2024-07-01 Stefan Kangas Improve `sentence-end-double-space` docstring * lisp/textmodes/paragraphs.el (sentence-end-double-space): Improve and expand docstring. 2024-07-01 Stefan Kangas Backport file backup FAQ item to Emacs <28 * doc/misc/efaq.texi (Not writing files to the current directory): Backport recommendation to Emacs 27 or older. Problem reported by David Hedlund . 2024-06-30 Eli Zaretskii More updates of documentation for Emacs 30 * etc/NEWS: Improve wording and move/mark entries. * doc/lispref/positions.texi (List Motion): Document 'forward-sentence-function'. * doc/lispref/functions.texi (What Is a Function): Document 'primitive-function-p' and 'cl-functionp'. * doc/emacs/misc.texi (Saving Emacs Sessions): Improve wording and indexing. * doc/lispref/tips.texi (Documentation Tips): Adapt to the new value of 'emacs-lisp-docstring-fill-column'. * doc/emacs/fixit.texi (Spelling): Document 'flyspell-check-changes'. 2024-06-30 Mattias Engdegård Revert "; * etc/NEWS: Move items to "Incompatible Lisp Changes"." This reverts commit 000ef8876ae9e2098cf98e1b1c468c09be3acd43. Most of the moved items weren't actually incompatible changes. 2024-06-30 Po Lu Improve Android "adaptive icon" * java/res/drawable/emacs_background.xml: * java/res/drawable/emacs_foreground.xml: Transform borders and gradient colors to better align with the original. 2024-06-30 Eli Zaretskii Fix documentation for Emacs 30 * etc/NEWS: Mark entries and improve wording. * doc/emacs/dired.texi (Operating on Files): Document 'dired-do-open'. Fix indexing. * doc/emacs/files.texi (Diff Mode): Document 'diff-apply-buffer'. Fix indexing. * doc/emacs/maintaining.texi (Project File Commands) (Project Buffer Commands): Document 'project-any-command'. * doc/emacs/building.texi (Other GDB Buffers): Document the user option 'gdb-display-io-buffer'. (Grep Searching): Document 'grep-use-headings'. * doc/emacs/text.texi (Outline Visibility): Document Outline commands that hide/show by heading regexp. * doc/emacs/killing.texi (Kill Options): Document 'kill-ring-deindent-mode'. * doc/emacs/basic.texi (Continuation Lines): Improve wording. 2024-06-30 Robert Church Add D-Bus test * test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils): New test. (Bug#69926) 2024-06-30 Po Lu Merge remote-tracking branch 'savannah/scratch/windows-98' into emacs-30 * configure.ac (W32_LIBS): Don't link with -lusp10 on non-Cygwin systems. * src/emacs.c (main): Call globals_of_w32 before the startup directory is initialized. * src/w32.c (maybe_load_unicows_dll): Call load_unicows_dll_for_w32fns. * src/w32.h: Update prototypes. * src/w32fns.c (Fx_create_frame, w32_create_tip_frame): Do not register the Uniscribe font driver when unavailable. (pfnSHFileOperationW): New function pointer. (Fsystem_move_file_to_trash): Load UNICOWS.DLL if not yet loaded. Call SHFileOperationW through said function pointer. (pfnShellExecuteExW): New function pointer. (Fw32_shell_execute) [!CYGWIN]: Load UNICOWS.DLL if not yet loaded. Call ShellExecuteExW through said function pointer. (pfnShell_NotifyIconW): New function pointer. (add_tray_notification, delete_tray_notification): Call Shell_NotifyIconW through said function pointer. (Fw32_notification_notify): Load UNICOWS.DLL. (Fw32_notification_close): Return if Shell_NotifyIconW is unavailable, as when UNICOWS.DLL has yet to be loaded. (load_unicows_dll_for_w32fns): New function. * src/w32notify.c (pfnReadDirectoryChangesW): New function pointer. (watch_completion, remove_watch, Fw32notify_add_watch) (Fw32notify_rm_watch, Fw32notify_valid_p): Call ReadDirectoryChangesW through said function pointer, and assert its presence. (globals_of_w32notify): Load ReadDirectoryChangesW from KERNEL32.DLL. * src/w32uniscribe.c (pfnScriptItemize, pfnScriptShape) (pfnScriptPlace, pfnScriptGetGlyphABCWidth, pfnScriptFreeCache) (pfnScriptGetCMap): New function pointers. (uniscribe_close, uniscribe_shape, uniscribe_encode_char) (uniscribe_check_otf_1): Call Uniscribe functions through the same. (syms_of_w32uniscribe_for_pdumper): Load Uniscribe library and required functions from the same, and if unavailable, return while leaving uniscribe_available intact. On Cygwin, simply assign USP10.DLL functions to the said new function pointers. 2024-06-30 Po Lu Inaccuracy in efaq.texi Mac OS separately. 2024-06-30 Yuan Fu Fix treesit crash (bug#71681) To reproduce the problem: 0. emacs -Q 1. eval: (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode)) 2. C-x v L 3. in the *vc-change-log* buffer move point to the commit 20af58d3a13 4. type D 5. crash caused by diff-font-lock-syntax fontification that uses treesit Emacs: 6f2036243f2 (2024-06-23, latest master) Tree-sitter: 3da7deed (2024-06-08, version 0.22.6) The immediate cause of the crash is that tree-sitter accessed a node's tree, but the tree is already deleted. Commenting out the ts_tree_delete line in treesit_ensure_parsed can "fix" the crash. What happened, I think, is this: 1. Buffer modified, parser->need_reparse set to true, parser->timestamp incremented. 2. A node is created from the parser, this node has the old tree but the new timestamp (bad!). 3. Parser re-parses (treesit_ensure_parsed), new tree created, old tree deleted. 4. Ftreesit_query_capture accessed the old node, and the old tree, crash. We shouldn't bump the parser timestamp when we set parser->need_reparse to true; instead, we should bump the timestamp when we actually reparsed and created a new tree. * src/treesit.c (treesit_record_change): Don't bump parser timestamp. (treesit_sync_visible_region): Don't bump parser timestamp. (Ftreesit_parser_set_included_ranges): Don't bump parser timestamp. (treesit_ensure_parsed): Bump parser timestamp. (Ftreesit_query_capture): Add node check. 2024-06-29 Stefan Kangas Delete redundant mention of `with-eval-after-load' * lisp/progmodes/dcl-mode.el (dcl-mode): Delete redundant mention of `with-eval-after-load'. 2024-06-29 Michael Albinus * doc/misc/efaq.texi (New in Emacs 30): Fix typos. 2024-06-29 Stefan Kangas Document security fixes in FAQ * doc/misc/efaq.texi (New in Emacs 29): Recommend using Emacs 29.4. * doc/misc/efaq.texi (Security risks with Emacs): New item with a recommendation to upgrade Emacs for improved security. 2024-06-29 Stefan Kangas Add "New in Emacs 30" to FAQ * doc/misc/efaq.texi (New in Emacs 30): New section. 2024-06-29 Kazuhiro Ito Fix non-ASCII filename operatiion on EasyPG (bug#71500) * lisp/epg.el (epg--start): Don't encode command-line arguments for gpg2 program in raw-text. 2024-06-29 Stefan Kangas Silence warning with global minor mode :predicate * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Silence byte-compiler warning when :predicate is used. 2024-06-29 George Huebner (tiny change) Fix: make 'xwidget-webkit-scroll-backward' scroll backwards * lisp/xwidget.el (xwidget-webkit-scroll-backward): Move hyphen out of %-formatter, changing semantics from a padding specifier to a negative sign. (Bug#71792) 2024-06-29 Vincenzo Pupillo Add jsdoc support to php-ts-mode in