diff options
| author | Stefan Kangas | 2023-02-08 06:30:15 +0100 |
|---|---|---|
| committer | Stefan Kangas | 2023-02-08 06:30:15 +0100 |
| commit | d492be400e1676cee68432a1dc1009a0fa8b9a2b (patch) | |
| tree | 9fdf73418ee35249a22c752075da70404dee7ccb /src | |
| parent | 2273cdb40e1939f7c29a669f6a64e6a27738c1a5 (diff) | |
| parent | c9ba05af8dfabca00023bd2312dec4ec59497801 (diff) | |
| download | emacs-d492be400e1676cee68432a1dc1009a0fa8b9a2b.tar.gz emacs-d492be400e1676cee68432a1dc1009a0fa8b9a2b.zip | |
Merge from origin/emacs-29
c9ba05af8df Fix crashes inside 'xfree' called from treesit.c
746748f5c28 Make java-ts-mode use the c-ts-common-indent-type-regexp-...
87d39a30b12 Fix c-ts-mode indentation
7cb92b53987 Fix c-ts-mode indentation
d68ff6016d0 Fix c-ts-mode indentation (bug#61291)
2ac8c4bbd6f (eglot-completion-at-point): Return correct values in :co...
321cbd9a601 Tighten and simplify typescript compilation-mode regexps ...
97533e73ad6 ; * lisp/progmodes/c-ts-common.el (treesit-node-prev-sibl...
9dfccb89fc5 Clarify bug-reference-auto-setup-functions docstring.
17ab426670a * lisp/treesit.el (treesit): Fix shortdoc example form (b...
5a6dfab1e4d Use c-ts-common-statement-offset in java-ts-mode (bug#61142)
c3262216abb Add array_initializer to java-ts-mode
79ab62e0bb5 go-ts-mode: Highlight variable declarations
1fab91d852e go-ts-mode: Fix highlighting of function name in call_exp...
07ffe902c63 c-ts-mode: Highlight "property functions" as functions
a529b0d6463 rust-ts-mode: Fix highlighting of function name in call_e...
088425538f2 rust-ts-mode--font-lock-settings: Improve consistency
793c24a6ac7 Make sure 'M-x show-paren-local-mode' turns on right away
60089dcfe06 Add to bug-reference-auto-setup-functions after its decla...
26e947ccb14 * lisp/vc/vc.el (vc-find-revision-no-save): Fix parens (b...
948e343496b ; Fix byte-compilation warning
6568a1aaf9a Fix inability to turn show-paren-local-mode on manually (...
24085ba6105 ; go-ts-mode--indent-rules: Indent to 0 at top level
0862a79fef5 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
bb999df5d6f ; Fix whitespace of last change
929daafa1d6 ; Fix trivial mistake in emoji--choose-emoji
d7b4a8487f6 ; * lisp/isearch.el (emoji--read-emoji): Avoid compilatio...
e38ff004631 rust-ts-mode: Highlight variable declarations
d12727057d4 rust-ts-mode--indent-rules: Indent to 0 at top level
85705a7059f ; Move misplaces parenthesis in emoji--choose-emoji
18c43bb9d6c Ensure upper bound of font-lock region is less than point...
94f291d1505 ; * lisp/paren.el (show-paren-predicate): Doc fix. (Bug#...
3ffd0eddce6 Highlight more complex function parameters
58dc03ba7e4 No longer use transient in isearch-emoji-by-name
0c125fcc67a Make highlighting more regular across TS modes (bug#61205)
1dd751c3ac4 ; Improve documentation of 'proper-list-p'
96181ed3f09 Document 'plistp'
03d9d18513b Fix display of raised/lowered composed text
f13479d9556 Fix installation of tree-sitter grammar on MS-Windows
0358267204d Update the Emacs FAQ for Emacs 29
2c33e2889b4 Fix byte-compilation of *-ts-mode.el files
b40a929a3f2 ; ruby-ts--syntax-propertize: Amend commentary
b80f36b88c7 Make c-ts-mode-set-style's effect local (bug#61245)
671e5d9fad5 ; * lisp/treesit.el (treesit--font-lock-level-setter): Mi...
69380a88e92 c-ts-mode: Highlight name in parameter declarations
89b550eac29 Fix switch statement indentation for go-ts-mode (bug#61238)
1a123feb181 Fix bidi reordering of sequence of whitespace characters ...
8870b54db99 Add tests for compilation support for TypeScript (bug#61104)
873a0a15085 Add support for TypeScript compilation to compile.el (bug...
3a64f81ebc1 Don't clobber match data in 'y-or-n-p'
4c765d93ab3 Refine the previous change
d99b5151f8c Add syntax-propertize-function to ruby-ts-mode
f25c15ceb7d ; Fix typos
35e238cae8b Improve documentation of 'header-line-indent-mode'
c3f58a66514 Don't casemap erc-sasl-user when set to :nick
e444115d026 Improve keymap-global-set and keymap-local-set interactiv...
# Conflicts:
# etc/NEWS
Diffstat (limited to 'src')
| -rw-r--r-- | src/bidi.c | 15 | ||||
| -rw-r--r-- | src/buffer.c | 4 | ||||
| -rw-r--r-- | src/treesit.c | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 5 |
4 files changed, 17 insertions, 9 deletions
diff --git a/src/bidi.c b/src/bidi.c index e01251263be..93875d243e4 100644 --- a/src/bidi.c +++ b/src/bidi.c | |||
| @@ -3300,12 +3300,15 @@ bidi_level_of_next_char (struct bidi_it *bidi_it) | |||
| 3300 | it belongs to a sequence of WS characters preceding a newline | 3300 | it belongs to a sequence of WS characters preceding a newline |
| 3301 | or a TAB or a paragraph separator. */ | 3301 | or a TAB or a paragraph separator. */ |
| 3302 | if ((bidi_it->orig_type == NEUTRAL_WS | 3302 | if ((bidi_it->orig_type == NEUTRAL_WS |
| 3303 | || bidi_it->orig_type == WEAK_BN | 3303 | || (bidi_it->orig_type == WEAK_BN |
| 3304 | /* If this BN character is already at base level, we don't | ||
| 3305 | need to consider resetting it, since I1 and I2 below | ||
| 3306 | will not change the level, so avoid the potentially | ||
| 3307 | costly loop below. */ | ||
| 3308 | && level != bidi_it->level_stack[0].level) | ||
| 3304 | || bidi_isolate_fmt_char (bidi_it->orig_type)) | 3309 | || bidi_isolate_fmt_char (bidi_it->orig_type)) |
| 3305 | && bidi_it->next_for_ws.charpos < bidi_it->charpos | 3310 | /* This means the informaition about WS resolution is not valid. */ |
| 3306 | /* If this character is already at base level, we don't need to | 3311 | && bidi_it->next_for_ws.charpos < bidi_it->charpos) |
| 3307 | reset it, so avoid the potentially costly loop below. */ | ||
| 3308 | && level != bidi_it->level_stack[0].level) | ||
| 3309 | { | 3312 | { |
| 3310 | int ch; | 3313 | int ch; |
| 3311 | ptrdiff_t clen = bidi_it->ch_len; | 3314 | ptrdiff_t clen = bidi_it->ch_len; |
| @@ -3340,7 +3343,7 @@ bidi_level_of_next_char (struct bidi_it *bidi_it) | |||
| 3340 | || bidi_it->orig_type == NEUTRAL_S | 3343 | || bidi_it->orig_type == NEUTRAL_S |
| 3341 | || bidi_it->ch == '\n' || bidi_it->ch == BIDI_EOB | 3344 | || bidi_it->ch == '\n' || bidi_it->ch == BIDI_EOB |
| 3342 | || ((bidi_it->orig_type == NEUTRAL_WS | 3345 | || ((bidi_it->orig_type == NEUTRAL_WS |
| 3343 | || bidi_it->orig_type == WEAK_BN | 3346 | || bidi_it->orig_type == WEAK_BN /* L1/Retaining */ |
| 3344 | || bidi_isolate_fmt_char (bidi_it->orig_type) | 3347 | || bidi_isolate_fmt_char (bidi_it->orig_type) |
| 3345 | || bidi_explicit_dir_char (bidi_it->ch)) | 3348 | || bidi_explicit_dir_char (bidi_it->ch)) |
| 3346 | && (bidi_it->next_for_ws.type == NEUTRAL_B | 3349 | && (bidi_it->next_for_ws.type == NEUTRAL_B |
diff --git a/src/buffer.c b/src/buffer.c index 88ca69b0dd8..38648519ba0 100644 --- a/src/buffer.c +++ b/src/buffer.c | |||
| @@ -5081,8 +5081,8 @@ the mode line appears at the bottom. */); | |||
| 5081 | The header line appears, optionally, at the top of a window; the mode | 5081 | The header line appears, optionally, at the top of a window; the mode |
| 5082 | line appears at the bottom. | 5082 | line appears at the bottom. |
| 5083 | 5083 | ||
| 5084 | Also see `header-line-indent-mode' if `display-line-number-mode' is | 5084 | Also see `header-line-indent-mode' if `display-line-numbers-mode' is |
| 5085 | used. */); | 5085 | turned on and header-line text should be aligned with buffer text. */); |
| 5086 | 5086 | ||
| 5087 | DEFVAR_PER_BUFFER ("mode-line-format", &BVAR (current_buffer, mode_line_format), | 5087 | DEFVAR_PER_BUFFER ("mode-line-format", &BVAR (current_buffer, mode_line_format), |
| 5088 | Qnil, | 5088 | Qnil, |
diff --git a/src/treesit.c b/src/treesit.c index 8e772523cc7..b15d44fca01 100644 --- a/src/treesit.c +++ b/src/treesit.c | |||
| @@ -620,7 +620,7 @@ treesit_load_language (Lisp_Object language_symbol, | |||
| 620 | char *c_name = xstrdup (SSDATA (base_name)); | 620 | char *c_name = xstrdup (SSDATA (base_name)); |
| 621 | treesit_symbol_to_c_name (c_name); | 621 | treesit_symbol_to_c_name (c_name); |
| 622 | if (found_override) | 622 | if (found_override) |
| 623 | c_name = SSDATA (override_c_name); | 623 | c_name = xstrdup (SSDATA (override_c_name)); |
| 624 | langfn = dynlib_sym (handle, c_name); | 624 | langfn = dynlib_sym (handle, c_name); |
| 625 | xfree (c_name); | 625 | xfree (c_name); |
| 626 | error = dynlib_error (); | 626 | error = dynlib_error (); |
diff --git a/src/xdisp.c b/src/xdisp.c index 398056144a8..66c2d5e47f0 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -29364,6 +29364,7 @@ fill_gstring_glyph_string (struct glyph_string *s, int face_id, | |||
| 29364 | int start, int end, int overlaps) | 29364 | int start, int end, int overlaps) |
| 29365 | { | 29365 | { |
| 29366 | struct glyph *glyph, *last; | 29366 | struct glyph *glyph, *last; |
| 29367 | int voffset; | ||
| 29367 | Lisp_Object lgstring; | 29368 | Lisp_Object lgstring; |
| 29368 | int i; | 29369 | int i; |
| 29369 | bool glyph_not_available_p; | 29370 | bool glyph_not_available_p; |
| @@ -29371,6 +29372,7 @@ fill_gstring_glyph_string (struct glyph_string *s, int face_id, | |||
| 29371 | s->for_overlaps = overlaps; | 29372 | s->for_overlaps = overlaps; |
| 29372 | glyph = s->row->glyphs[s->area] + start; | 29373 | glyph = s->row->glyphs[s->area] + start; |
| 29373 | last = s->row->glyphs[s->area] + end; | 29374 | last = s->row->glyphs[s->area] + end; |
| 29375 | voffset = glyph->voffset; | ||
| 29374 | glyph_not_available_p = glyph->glyph_not_available_p; | 29376 | glyph_not_available_p = glyph->glyph_not_available_p; |
| 29375 | s->cmp_id = glyph->u.cmp.id; | 29377 | s->cmp_id = glyph->u.cmp.id; |
| 29376 | s->cmp_from = glyph->slice.cmp.from; | 29378 | s->cmp_from = glyph->slice.cmp.from; |
| @@ -29421,6 +29423,9 @@ fill_gstring_glyph_string (struct glyph_string *s, int face_id, | |||
| 29421 | if (glyph_not_available_p) | 29423 | if (glyph_not_available_p) |
| 29422 | s->font_not_found_p = true; | 29424 | s->font_not_found_p = true; |
| 29423 | 29425 | ||
| 29426 | /* Adjust base line for subscript/superscript text. */ | ||
| 29427 | s->ybase += voffset; | ||
| 29428 | |||
| 29424 | return glyph - s->row->glyphs[s->area]; | 29429 | return glyph - s->row->glyphs[s->area]; |
| 29425 | } | 29430 | } |
| 29426 | 29431 | ||