; * ChangeLog.4: Update.

This commit is contained in:
Andrea Corallo 2024-09-11 21:52:56 +02:00
parent fb1db366b9
commit 68530860ae

View file

@ -1,3 +1,550 @@
2024-09-11 Yuan Fu <casouri@gmail.com>
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 <span>
5 text
6 </span>
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 <acorallo@gnu.org>
* lisp/ldefs-boot.el: Update.
2024-09-10 Eli Zaretskii <eliz@gnu.org>
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 <eliz@gnu.org>
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 <dmitry@gutov.dev>
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 <eliz@gnu.org>
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 <acorallo@gnu.org>
* src/treesit.c (treesit_debug_print_parser_list): Fix format string.
2024-09-09 Yuan Fu <casouri@gmail.com>
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 <casouri@gmail.com>
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 <casouri@gmail.com>
Add debugging function for treesit.c
* src/treesit.c (treesit_debug_print_parser_list): New function.
2024-09-09 Yuan Fu <casouri@gmail.com>
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 <mattiase@acm.org>
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 <eliz@gnu.org>
Fix a typo in ediff-init.el
* lisp/vc/ediff-init.el (ediff-nonempty-string-p): Fix typo.
Reported by Jurgen De Backer
<jurgen.de-backer.ext@eurocontrol.int> (bug#73042).
2024-09-07 Eli Zaretskii <eliz@gnu.org>
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 <eliz@gnu.org>
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 <ulm@gentoo.org>
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 <eliz@gnu.org>
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 <stefankangas@gmail.com>
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 <dmitry@gutov.dev>
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 <aaronjensen@gmail.com>
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 <eliz@gnu.org>
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 <kyle@kyleam.com>
Update to Org 9.7.11
2024-09-01 Juri Linkov <juri@linkov.net>
* 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 <eugene.dev@lipklim.org>
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 <eugene.dev@lipklim.org>
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 <johnw@gnu.org>
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 <eliz@gnu.org>
Work around Gnuplot bug in displaying plots
* lisp/calc/calc-graph.el (calc-gnuplot-command): Prepend newline
to Gnuplot command. Suggested by Visuwesh <visuweshm@gmail.com>.
(Bug#72778)
2024-08-31 Eli Zaretskii <eliz@gnu.org>
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 <kobarity@gmail.com>
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 <eliz@gnu.org>
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 <jporterbugs@gmail.com>
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 <jporterbugs@gmail.com>
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 <eliz@gnu.org>
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 <eliz@gnu.org>
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 <george@feyor.sh> (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 <eliz@gnu.org>
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 <dmitry@gutov.dev>
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 <spwhitton@spwhitton.name>
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 <spwhitton@spwhitton.name>
* admin/authors.el (authors-fixed-entries): Update docstring.
2024-08-27 Yuan Fu <casouri@gmail.com>
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 <v.pupillo@gmail.com>
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 <casouri@gmail.com>
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 <stefankangas@gmail.com>
Fix copyright years by hand (Bug#72809)
These are dates that admin/update-copyright did not update.
2024-08-25 Eli Zaretskii <eliz@gnu.org>
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 <juri@linkov.net> (bug#72692).
2024-08-25 F. Jason Park <jp@neverwas.me>
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 <dmitry@gutov.dev>
[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 <dmitry@gutov.dev>
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 <eliz@gnu.org>
Remove dangerous HTML edit from admin.el
* admin/admin.el (manual-html-fix-index-2): Avoid lax matches with
"<ul>" which could mistakenly edit unrelated parts of HTML.
(Bug#72761)
2024-08-24 Mattias Engdegård <mattiase@acm.org>
* etc/emacs_lldb.py (Lisp_Object): PVEC_COMPILED -> PVEC_CLOSURE
2024-08-24 Eli Zaretskii <eliz@gnu.org>
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 <rudalics@gmx.at>
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 <joaotavora@gmail.com>
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 <acorallo@gnu.org>
Update 'ldefs-boot.el' (don't merge)
* lisp/ldefs-boot.el: Update.
2024-08-20 Andrea Corallo <acorallo@gnu.org>
* doc/man/emacsclient.1: Bump date.
2024-08-20 Andrea Corallo <acorallo@gnu.org>
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 <acorallo@gnu.org>
Update Changelogs
* ChangeLog.4: Re-generate.
* ChangeLog.3: Fix some type and style.
2024-08-20 Andrea Corallo <acorallo@gnu.org> 2024-08-20 Andrea Corallo <acorallo@gnu.org>
Update AUTHORS Update AUTHORS
@ -200162,7 +200709,7 @@
This file records repository revisions from This file records repository revisions from
commit f2ae39829812098d8269eafbc0fcb98959ee5bb7 (exclusive) to commit f2ae39829812098d8269eafbc0fcb98959ee5bb7 (exclusive) to
commit f9d229e925ad634acf772d4066c72b5954ea4f9c (inclusive). commit ee3e3a6311196129104881d6e9097bb54d8843af (inclusive).
See ChangeLog.3 for earlier changes. See ChangeLog.3 for earlier changes.
;; Local Variables: ;; Local Variables: