From 68530860ae998e7364c550e7eddadda31c37eab7 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Wed, 11 Sep 2024 21:52:56 +0200 Subject: [PATCH] ; * ChangeLog.4: Update. --- ChangeLog.4 | 549 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 548 insertions(+), 1 deletion(-) diff --git a/ChangeLog.4 b/ChangeLog.4 index d46d0a14921..c7d091cf878 100644 --- a/ChangeLog.4 +++ b/ChangeLog.4 @@ -1,3 +1,550 @@ +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 sigature 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 @@ -200162,7 +200709,7 @@ This file records repository revisions from commit f2ae39829812098d8269eafbc0fcb98959ee5bb7 (exclusive) to -commit f9d229e925ad634acf772d4066c72b5954ea4f9c (inclusive). +commit ee3e3a6311196129104881d6e9097bb54d8843af (inclusive). See ChangeLog.3 for earlier changes. ;; Local Variables: