aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2023-07-09 08:40:38 +0800
committerPo Lu2023-07-09 08:40:38 +0800
commitf812d92f67a28f49823ff8414bb9bcfb3eb82676 (patch)
tree08e7d08347f56cf16be643e83de8de3199bcde7d /src
parenta36207574ac436fd8871639388cc6400069bb9bb (diff)
parent9c282faf26eb517532508d466270b7b97d436c70 (diff)
downloademacs-f812d92f67a28f49823ff8414bb9bcfb3eb82676.tar.gz
emacs-f812d92f67a28f49823ff8414bb9bcfb3eb82676.zip
Merge remote-tracking branch 'origin/master' into feature/android
Diffstat (limited to 'src')
-rw-r--r--src/coding.c13
-rw-r--r--src/data.c4
-rw-r--r--src/indent.c37
-rw-r--r--src/lisp.h6
-rw-r--r--src/minibuf.c7
-rw-r--r--src/search.c51
-rw-r--r--src/treesit.c20
7 files changed, 84 insertions, 54 deletions
diff --git a/src/coding.c b/src/coding.c
index 96c3827c326..b7f4120dc8d 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -11473,7 +11473,18 @@ usage: (define-coding-system-internal ...) */)
11473 11473
11474DEFUN ("coding-system-put", Fcoding_system_put, Scoding_system_put, 11474DEFUN ("coding-system-put", Fcoding_system_put, Scoding_system_put,
11475 3, 3, 0, 11475 3, 3, 0,
11476 doc: /* Change value in CODING-SYSTEM's property list PROP to VAL. */) 11476 doc: /* Change value of CODING-SYSTEM's property PROP to VAL.
11477
11478The following properties, if set by this function, override the values
11479of the corresponding attributes set by `define-coding-system':
11480
11481 `:mnemonic', `:default-char', `:ascii-compatible-p'
11482 `:decode-translation-table', `:encode-translation-table',
11483 `:post-read-conversion', `:pre-write-conversion'
11484
11485See `define-coding-system' for the description of these properties.
11486See `coding-system-get' and `coding-system-plist' for accessing the
11487property list of a coding-system. */)
11477 (Lisp_Object coding_system, Lisp_Object prop, Lisp_Object val) 11488 (Lisp_Object coding_system, Lisp_Object prop, Lisp_Object val)
11478{ 11489{
11479 Lisp_Object spec, attrs; 11490 Lisp_Object spec, attrs;
diff --git a/src/data.c b/src/data.c
index 9d7e7effdcd..6de8e0cf1a1 100644
--- a/src/data.c
+++ b/src/data.c
@@ -269,10 +269,11 @@ for example, (type-of 1) returns `integer'. */)
269 return Qtreesit_compiled_query; 269 return Qtreesit_compiled_query;
270 case PVEC_SQLITE: 270 case PVEC_SQLITE:
271 return Qsqlite; 271 return Qsqlite;
272 case PVEC_SUB_CHAR_TABLE:
273 return Qsub_char_table;
272 /* "Impossible" cases. */ 274 /* "Impossible" cases. */
273 case PVEC_MISC_PTR: 275 case PVEC_MISC_PTR:
274 case PVEC_OTHER: 276 case PVEC_OTHER:
275 case PVEC_SUB_CHAR_TABLE:
276 case PVEC_FREE: ; 277 case PVEC_FREE: ;
277 } 278 }
278 emacs_abort (); 279 emacs_abort ();
@@ -4215,6 +4216,7 @@ syms_of_data (void)
4215 DEFSYM (Qvector, "vector"); 4216 DEFSYM (Qvector, "vector");
4216 DEFSYM (Qrecord, "record"); 4217 DEFSYM (Qrecord, "record");
4217 DEFSYM (Qchar_table, "char-table"); 4218 DEFSYM (Qchar_table, "char-table");
4219 DEFSYM (Qsub_char_table, "sub-char-table");
4218 DEFSYM (Qbool_vector, "bool-vector"); 4220 DEFSYM (Qbool_vector, "bool-vector");
4219 DEFSYM (Qhash_table, "hash-table"); 4221 DEFSYM (Qhash_table, "hash-table");
4220 DEFSYM (Qthread, "thread"); 4222 DEFSYM (Qthread, "thread");
diff --git a/src/indent.c b/src/indent.c
index c3cbc49c81b..eda85f2e94d 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -2149,21 +2149,33 @@ If LINES is negative, this means moving up.
2149This function is an ordinary cursor motion function 2149This function is an ordinary cursor motion function
2150which calculates the new position based on how text would be displayed. 2150which calculates the new position based on how text would be displayed.
2151The new position may be the start of a line, 2151The new position may be the start of a line,
2152or just the start of a continuation line. 2152or the start of a continuation line,
2153or the start of the visible portion of a horizontally-scrolled line.
2154
2153The function returns number of screen lines moved over; 2155The function returns number of screen lines moved over;
2154that usually equals LINES, but may be closer to zero 2156that usually equals LINES, but may be closer to zero if
2155if beginning or end of buffer was reached. 2157beginning or end of buffer was reached.
2156 2158
2157The optional second argument WINDOW specifies the window to use for 2159The optional second argument WINDOW specifies the window to use for
2158parameters such as width, horizontal scrolling, and so on. 2160parameters such as width, horizontal scrolling, and so on.
2159The default is to use the selected window's parameters. 2161The default is to use the selected window's parameters.
2160 2162
2163If LINES is zero, point will move to the first visible character on
2164the current screen line.
2165
2161LINES can optionally take the form (COLS . LINES), in which case the 2166LINES can optionally take the form (COLS . LINES), in which case the
2162motion will not stop at the start of a screen line but COLS column 2167motion will stop at the COLSth column from the visual start of the
2163from the visual start of the line (if such exists on that line, that 2168line (if such column exists on that line, that is). If the line is
2164is). If the line is scrolled horizontally, COLS is interpreted 2169scrolled horizontally, COLS is interpreted visually, i.e., as addition
2165visually, i.e., as addition to the columns of text beyond the left 2170to the columns of text beyond the left edge of the window.
2166edge of the window. 2171If LINES is a cons cell, its car COLS can be a float, which allows
2172specifying an accurate position of point on a screen line that mixes
2173fonts or uses variable-pitch font: COLS is interpreted in units of the
2174canonical character width, and is internally converted to pixel units;
2175point will then stop at the position closest to that pixel coordinate.
2176The cdr of the cons, LINES, must be an integer; if it is zero, this
2177function moves point horizontally in the current screen line, to the
2178position specified by COLS.
2167 2179
2168The optional third argument CUR-COL specifies the horizontal 2180The optional third argument CUR-COL specifies the horizontal
2169window-relative coordinate of point, in units of frame's canonical 2181window-relative coordinate of point, in units of frame's canonical
@@ -2171,11 +2183,10 @@ character width, where the function is invoked. If this argument is
2171omitted or nil, the function will determine the point coordinate by 2183omitted or nil, the function will determine the point coordinate by
2172going back to the beginning of the line. 2184going back to the beginning of the line.
2173 2185
2174`vertical-motion' always uses the current buffer, 2186`vertical-motion' always uses the current buffer, regardless of which
2175regardless of which buffer is displayed in WINDOW. 2187buffer is displayed in WINDOW. This is consistent with other cursor
2176This is consistent with other cursor motion functions 2188motion functions and makes it possible to use `vertical-motion' in any
2177and makes it possible to use `vertical-motion' in any buffer, 2189buffer, whether or not it is currently displayed in some window. */)
2178whether or not it is currently displayed in some window. */)
2179 (Lisp_Object lines, Lisp_Object window, Lisp_Object cur_col) 2190 (Lisp_Object lines, Lisp_Object window, Lisp_Object cur_col)
2180{ 2191{
2181 struct it it; 2192 struct it it;
diff --git a/src/lisp.h b/src/lisp.h
index 83029b8a7f0..9a4cdec2815 100644
--- a/src/lisp.h
+++ b/src/lisp.h
@@ -2016,9 +2016,7 @@ ASCII_CHAR_P (intmax_t c)
2016 range of characters. A sub-char-table is like a vector, but with 2016 range of characters. A sub-char-table is like a vector, but with
2017 two integer fields between the header and Lisp data, which means 2017 two integer fields between the header and Lisp data, which means
2018 that it has to be marked with some precautions (see mark_char_table 2018 that it has to be marked with some precautions (see mark_char_table
2019 in alloc.c). A sub-char-table appears only in an element of a 2019 in alloc.c). A sub-char-table appears in an element of a char-table. */
2020 char-table, and there's no way to access it directly from a Lisp
2021 program. */
2022 2020
2023enum CHARTAB_SIZE_BITS 2021enum CHARTAB_SIZE_BITS
2024 { 2022 {
@@ -4815,7 +4813,7 @@ extern ptrdiff_t find_before_next_newline (ptrdiff_t, ptrdiff_t,
4815 ptrdiff_t, ptrdiff_t *); 4813 ptrdiff_t, ptrdiff_t *);
4816extern EMACS_INT search_buffer (Lisp_Object, ptrdiff_t, ptrdiff_t, 4814extern EMACS_INT search_buffer (Lisp_Object, ptrdiff_t, ptrdiff_t,
4817 ptrdiff_t, ptrdiff_t, EMACS_INT, 4815 ptrdiff_t, ptrdiff_t, EMACS_INT,
4818 int, Lisp_Object, Lisp_Object, bool); 4816 bool, Lisp_Object, Lisp_Object, bool);
4819extern void syms_of_search (void); 4817extern void syms_of_search (void);
4820extern void clear_regexp_cache (void); 4818extern void clear_regexp_cache (void);
4821 4819
diff --git a/src/minibuf.c b/src/minibuf.c
index 6e54d8c3ba5..58adde1bf66 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -2471,7 +2471,12 @@ The basic completion functions only consider a completion acceptable
2471if it matches all regular expressions in this list, with 2471if it matches all regular expressions in this list, with
2472`case-fold-search' bound to the value of `completion-ignore-case'. 2472`case-fold-search' bound to the value of `completion-ignore-case'.
2473See Info node `(elisp)Basic Completion', for a description of these 2473See Info node `(elisp)Basic Completion', for a description of these
2474functions. */); 2474functions.
2475
2476Do not set this variable to a non-nil value globally, as that is not
2477safe and will probably cause errors in completion commands. This
2478variable should be only let-bound to non-nil values around calls to
2479basic completion functions like `try-completion' and `all-completions'. */);
2475 Vcompletion_regexp_list = Qnil; 2480 Vcompletion_regexp_list = Qnil;
2476 2481
2477 DEFVAR_BOOL ("minibuffer-allow-text-properties", 2482 DEFVAR_BOOL ("minibuffer-allow-text-properties",
diff --git a/src/search.c b/src/search.c
index 0bb52c03eef..122d6166637 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1027,7 +1027,7 @@ find_before_next_newline (ptrdiff_t from, ptrdiff_t to,
1027 1027
1028static Lisp_Object 1028static Lisp_Object
1029search_command (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, 1029search_command (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror,
1030 Lisp_Object count, int direction, int RE, bool posix) 1030 Lisp_Object count, int direction, bool RE, bool posix)
1031{ 1031{
1032 EMACS_INT np; 1032 EMACS_INT np;
1033 EMACS_INT lim; 1033 EMACS_INT lim;
@@ -1130,21 +1130,6 @@ trivial_regexp_p (Lisp_Object regexp)
1130 return 1; 1130 return 1;
1131} 1131}
1132 1132
1133/* Search for the n'th occurrence of STRING in the current buffer,
1134 starting at position POS and stopping at position LIM,
1135 treating STRING as a literal string if RE is false or as
1136 a regular expression if RE is true.
1137
1138 If N is positive, searching is forward and LIM must be greater than POS.
1139 If N is negative, searching is backward and LIM must be less than POS.
1140
1141 Returns -x if x occurrences remain to be found (x > 0),
1142 or else the position at the beginning of the Nth occurrence
1143 (if searching backward) or the end (if searching forward).
1144
1145 POSIX is nonzero if we want full backtracking (POSIX style)
1146 for this pattern. 0 means backtrack only enough to get a valid match. */
1147
1148#define TRANSLATE(out, trt, d) \ 1133#define TRANSLATE(out, trt, d) \
1149do \ 1134do \
1150 { \ 1135 { \
@@ -1308,7 +1293,7 @@ search_buffer_re (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
1308static EMACS_INT 1293static EMACS_INT
1309search_buffer_non_re (Lisp_Object string, ptrdiff_t pos, 1294search_buffer_non_re (Lisp_Object string, ptrdiff_t pos,
1310 ptrdiff_t pos_byte, ptrdiff_t lim, ptrdiff_t lim_byte, 1295 ptrdiff_t pos_byte, ptrdiff_t lim, ptrdiff_t lim_byte,
1311 EMACS_INT n, int RE, Lisp_Object trt, Lisp_Object inverse_trt, 1296 EMACS_INT n, bool RE, Lisp_Object trt, Lisp_Object inverse_trt,
1312 bool posix) 1297 bool posix)
1313{ 1298{
1314 unsigned char *raw_pattern, *pat; 1299 unsigned char *raw_pattern, *pat;
@@ -1507,10 +1492,28 @@ search_buffer_non_re (Lisp_Object string, ptrdiff_t pos,
1507 return result; 1492 return result;
1508} 1493}
1509 1494
1495/* Search for the Nth occurrence of STRING in the current buffer,
1496 from buffer position POS/POS_BYTE until LIM/LIM_BYTE.
1497
1498 If RE, look for matches against the regular expression STRING instead;
1499 if POSIX, enable POSIX style backtracking within that regular
1500 expression.
1501
1502 If N is positive, search forward; in this case, LIM must be greater
1503 than POS.
1504
1505 If N is negative, search backward; LIM must be less than POS.
1506
1507 Return -X if there are X remaining occurrences or matches,
1508 or else the position at the beginning (if N is negative) or the end
1509 (if N is positive) of the Nth occurrence or match against STRING.
1510
1511 Use TRT and INVERSE_TRT as character translation tables. */
1512
1510EMACS_INT 1513EMACS_INT
1511search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte, 1514search_buffer (Lisp_Object string, ptrdiff_t pos, ptrdiff_t pos_byte,
1512 ptrdiff_t lim, ptrdiff_t lim_byte, EMACS_INT n, 1515 ptrdiff_t lim, ptrdiff_t lim_byte, EMACS_INT n,
1513 int RE, Lisp_Object trt, Lisp_Object inverse_trt, bool posix) 1516 bool RE, Lisp_Object trt, Lisp_Object inverse_trt, bool posix)
1514{ 1517{
1515 if (running_asynch_code) 1518 if (running_asynch_code)
1516 save_search_regs (); 1519 save_search_regs ();
@@ -2219,7 +2222,7 @@ Search case-sensitivity is determined by the value of the variable
2219See also the functions `match-beginning', `match-end' and `replace-match'. */) 2222See also the functions `match-beginning', `match-end' and `replace-match'. */)
2220 (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count) 2223 (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
2221{ 2224{
2222 return search_command (string, bound, noerror, count, -1, 0, 0); 2225 return search_command (string, bound, noerror, count, -1, false, false);
2223} 2226}
2224 2227
2225DEFUN ("search-forward", Fsearch_forward, Ssearch_forward, 1, 4, "MSearch: ", 2228DEFUN ("search-forward", Fsearch_forward, Ssearch_forward, 1, 4, "MSearch: ",
@@ -2244,7 +2247,7 @@ Search case-sensitivity is determined by the value of the variable
2244See also the functions `match-beginning', `match-end' and `replace-match'. */) 2247See also the functions `match-beginning', `match-end' and `replace-match'. */)
2245 (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count) 2248 (Lisp_Object string, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
2246{ 2249{
2247 return search_command (string, bound, noerror, count, 1, 0, 0); 2250 return search_command (string, bound, noerror, count, 1, false, false);
2248} 2251}
2249 2252
2250DEFUN ("re-search-backward", Fre_search_backward, Sre_search_backward, 1, 4, 2253DEFUN ("re-search-backward", Fre_search_backward, Sre_search_backward, 1, 4,
@@ -2260,7 +2263,7 @@ because REGEXP is still matched in the forward direction. See Info
2260anchor `(elisp) re-search-backward' for details. */) 2263anchor `(elisp) re-search-backward' for details. */)
2261 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count) 2264 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
2262{ 2265{
2263 return search_command (regexp, bound, noerror, count, -1, 1, 0); 2266 return search_command (regexp, bound, noerror, count, -1, true, false);
2264} 2267}
2265 2268
2266DEFUN ("re-search-forward", Fre_search_forward, Sre_search_forward, 1, 4, 2269DEFUN ("re-search-forward", Fre_search_forward, Sre_search_forward, 1, 4,
@@ -2291,7 +2294,7 @@ See also the functions `match-beginning', `match-end', `match-string',
2291and `replace-match'. */) 2294and `replace-match'. */)
2292 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count) 2295 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
2293{ 2296{
2294 return search_command (regexp, bound, noerror, count, 1, 1, 0); 2297 return search_command (regexp, bound, noerror, count, 1, true, false);
2295} 2298}
2296 2299
2297DEFUN ("posix-search-backward", Fposix_search_backward, Sposix_search_backward, 1, 4, 2300DEFUN ("posix-search-backward", Fposix_search_backward, Sposix_search_backward, 1, 4,
@@ -2319,7 +2322,7 @@ See also the functions `match-beginning', `match-end', `match-string',
2319and `replace-match'. */) 2322and `replace-match'. */)
2320 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count) 2323 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
2321{ 2324{
2322 return search_command (regexp, bound, noerror, count, -1, 1, 1); 2325 return search_command (regexp, bound, noerror, count, -1, true, true);
2323} 2326}
2324 2327
2325DEFUN ("posix-search-forward", Fposix_search_forward, Sposix_search_forward, 1, 4, 2328DEFUN ("posix-search-forward", Fposix_search_forward, Sposix_search_forward, 1, 4,
@@ -2347,7 +2350,7 @@ See also the functions `match-beginning', `match-end', `match-string',
2347and `replace-match'. */) 2350and `replace-match'. */)
2348 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count) 2351 (Lisp_Object regexp, Lisp_Object bound, Lisp_Object noerror, Lisp_Object count)
2349{ 2352{
2350 return search_command (regexp, bound, noerror, count, 1, 1, 1); 2353 return search_command (regexp, bound, noerror, count, 1, true, true);
2351} 2354}
2352 2355
2353DEFUN ("replace-match", Freplace_match, Sreplace_match, 1, 5, 0, 2356DEFUN ("replace-match", Freplace_match, Sreplace_match, 1, 5, 0,
diff --git a/src/treesit.c b/src/treesit.c
index 87aa1eeb377..1f694e47201 100644
--- a/src/treesit.c
+++ b/src/treesit.c
@@ -1649,7 +1649,7 @@ buffer. */)
1649 TSRange *treesit_ranges = xmalloc (sizeof (TSRange) * len); 1649 TSRange *treesit_ranges = xmalloc (sizeof (TSRange) * len);
1650 struct buffer *buffer = XBUFFER (XTS_PARSER (parser)->buffer); 1650 struct buffer *buffer = XBUFFER (XTS_PARSER (parser)->buffer);
1651 1651
1652 /* We can use XFUXNUM, XCAR, XCDR freely because we have checked 1652 /* We can use XFIXNUM, XCAR, XCDR freely because we have checked
1653 the input by treesit_check_range_argument. */ 1653 the input by treesit_check_range_argument. */
1654 1654
1655 for (int idx = 0; !NILP (ranges); idx++, ranges = XCDR (ranges)) 1655 for (int idx = 0; !NILP (ranges); idx++, ranges = XCDR (ranges))
@@ -2546,10 +2546,10 @@ static bool
2546treesit_predicate_equal (Lisp_Object args, struct capture_range captures, 2546treesit_predicate_equal (Lisp_Object args, struct capture_range captures,
2547 Lisp_Object *signal_data) 2547 Lisp_Object *signal_data)
2548{ 2548{
2549 if (XFIXNUM (Flength (args)) != 2) 2549 if (list_length (args) != 2)
2550 { 2550 {
2551 *signal_data = list2 (build_string ("Predicate `equal' requires " 2551 *signal_data = list2 (build_string ("Predicate `equal' requires "
2552 "two arguments but only given"), 2552 "two arguments but got"),
2553 Flength (args)); 2553 Flength (args));
2554 return false; 2554 return false;
2555 } 2555 }
@@ -2581,10 +2581,10 @@ static bool
2581treesit_predicate_match (Lisp_Object args, struct capture_range captures, 2581treesit_predicate_match (Lisp_Object args, struct capture_range captures,
2582 Lisp_Object *signal_data) 2582 Lisp_Object *signal_data)
2583{ 2583{
2584 if (XFIXNUM (Flength (args)) != 2) 2584 if (list_length (args) != 2)
2585 { 2585 {
2586 *signal_data = list2 (build_string ("Predicate `match' requires two " 2586 *signal_data = list2 (build_string ("Predicate `match' requires two "
2587 "arguments but only given"), 2587 "arguments but got"),
2588 Flength (args)); 2588 Flength (args));
2589 return false; 2589 return false;
2590 } 2590 }
@@ -2628,7 +2628,7 @@ treesit_predicate_match (Lisp_Object args, struct capture_range captures,
2628 ZV_BYTE = end_byte; 2628 ZV_BYTE = end_byte;
2629 2629
2630 ptrdiff_t val = search_buffer (regexp, start_pos, start_byte, 2630 ptrdiff_t val = search_buffer (regexp, start_pos, start_byte,
2631 end_pos, end_byte, 1, 1, Qnil, Qnil, false); 2631 end_pos, end_byte, 1, true, Qnil, Qnil, false);
2632 2632
2633 BEGV = old_begv; 2633 BEGV = old_begv;
2634 BEGV_BYTE = old_begv_byte; 2634 BEGV_BYTE = old_begv_byte;
@@ -2646,11 +2646,11 @@ static bool
2646treesit_predicate_pred (Lisp_Object args, struct capture_range captures, 2646treesit_predicate_pred (Lisp_Object args, struct capture_range captures,
2647 Lisp_Object *signal_data) 2647 Lisp_Object *signal_data)
2648{ 2648{
2649 if (XFIXNUM (Flength (args)) < 2) 2649 if (list_length (args) < 2)
2650 { 2650 {
2651 *signal_data = list2 (build_string ("Predicate `pred' requires " 2651 *signal_data = list2 (build_string ("Predicate `pred' requires "
2652 "at least two arguments, " 2652 "at least two arguments, "
2653 "but was only given"), 2653 "but only got"),
2654 Flength (args)); 2654 Flength (args));
2655 return false; 2655 return false;
2656 } 2656 }
@@ -2671,7 +2671,7 @@ treesit_predicate_pred (Lisp_Object args, struct capture_range captures,
2671 return !NILP (CALLN (Fapply, fn, nodes)); 2671 return !NILP (CALLN (Fapply, fn, nodes));
2672} 2672}
2673 2673
2674/* If all predicates in PREDICATES passes, return true; otherwise 2674/* If all predicates in PREDICATES pass, return true; otherwise
2675 return false. If everything goes fine, don't touch SIGNAL_DATA; if 2675 return false. If everything goes fine, don't touch SIGNAL_DATA; if
2676 error occurs, set it to a suitable signal data. */ 2676 error occurs, set it to a suitable signal data. */
2677static bool 2677static bool
@@ -2696,7 +2696,7 @@ treesit_eval_predicates (struct capture_range captures, Lisp_Object predicates,
2696 { 2696 {
2697 *signal_data = list3 (build_string ("Invalid predicate"), 2697 *signal_data = list3 (build_string ("Invalid predicate"),
2698 fn, build_string ("Currently Emacs only supports" 2698 fn, build_string ("Currently Emacs only supports"
2699 " equal, match, and pred" 2699 " `equal', `match', and `pred'"
2700 " predicates")); 2700 " predicates"));
2701 pass = false; 2701 pass = false;
2702 } 2702 }