master 9d616a13fa6 3/7: Merge from origin/emacs-31

Eli Zaretskii <[email protected]> Sat, 4 Jul 2026 04:30:54 -0400 (EDT)
Newsgroups gmane.emacs.diffs
Message-ID <[email protected]>
branch: master
commit 9d616a13fa68ba9bbecd1bc054963a277a195afb
Merge: 78c3c8c1b0f 521c6263fa6
Author: Eli Zaretskii <[email protected]>
Commit: Eli Zaretskii <[email protected]>

    Merge from origin/emacs-31
    
    521c6263fa6 ; * src/buffer.c (Fbuffer_file_name): Doc fix (bug#81340).
    69463bfc0c5 ; * etc/PROBLEMS: Problem with Enchant 2.x.  (Bug#81330)
    5dd8fe25c23 Correct cursor range in Ftreesit_query_capture (bug#81297)
---
 etc/PROBLEMS  | 10 ++++++++++
 src/buffer.c  |  2 +-
 src/treesit.c |  6 ++++++
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index 54302968e6d..19172a8b211 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -959,6 +959,16 @@ specified run-time search path in the executable.
 
 Please refer to the documentation of your dynamic linker for details.
 
+*** Using Enchant 2.x as the Ispell back-end signals an error.
+
+The error message says "enchant-2: Unknown option -C".
+
+This is because many dictionary definitions in the default value of
+'ispell-dictionary-alist' use the '-C' command-line option, which is not
+supported by some versions of Enchant 2.x.  Support for '-C' was added
+to Enchant in version 2.8.17, so use that or later version to solve this
+problem.
+
 *** When you run Ispell from Emacs, it reports a "misalignment" error.
 
 This can happen if you compiled the Ispell program to use ASCII
diff --git a/src/buffer.c b/src/buffer.c
index 812c82f43bd..0a2bff27c11 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1319,7 +1319,7 @@ immediately before it was killed.  */)
 }
 
 DEFUN ("buffer-file-name", Fbuffer_file_name, Sbuffer_file_name, 0, 1, 0,
-       doc: /* Return name of file BUFFER is visiting, or nil if none.
+       doc: /* Return absolute name of file BUFFER is visiting, or nil if none.
 No argument or nil as argument means use the current buffer.  */)
   (register Lisp_Object buffer)
 {
diff --git a/src/treesit.c b/src/treesit.c
index 4b1bce4fe2c..2b4718ec002 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -4104,6 +4104,12 @@ the query.  */)
 				      (uint32_t) (beg_byte - visible_beg),
 				      (uint32_t) (end_byte - visible_beg));
     }
+  else
+    {
+      /* If range is unbounded, set it explicitly, in case the cursor is
+         reused and carries the range from last call.  */
+      ts_query_cursor_set_byte_range (cursor, 0, UINT32_MAX);
+    }
 
   /* Execute query.  */
   ts_query_cursor_exec (cursor, treesit_query, treesit_node);