diff options
| author | Eli Zaretskii | 2023-05-02 08:50:09 -0400 |
|---|---|---|
| committer | Eli Zaretskii | 2023-05-02 08:50:09 -0400 |
| commit | daf602a5c8ec9e5d94f5e1e412182760a02c2505 (patch) | |
| tree | 84b0c694f5ed9a911011078e8b0f1df18bc9ca71 /src | |
| parent | 4f44c56c867b99bc7b813d8b104b9939479f86f2 (diff) | |
| parent | 46392c1623bc3f9764b8c7df293a89fcd47ab0ad (diff) | |
| download | emacs-daf602a5c8ec9e5d94f5e1e412182760a02c2505.tar.gz emacs-daf602a5c8ec9e5d94f5e1e412182760a02c2505.zip | |
Merge from origin/emacs-29
46392c1623b Fix vertical-motion when tab-line is displayed in a window
0e52beeacea Update to Org 9.6.5-3-g2993f4
dd21003878d Prevent generating empty autoload files
2bcf11d0efe * lisp/org/org-macs.el (org--inhibit-version-check): Fix ...
ca43435816b Fix redisplay of mode line after its format changes from nil
610a7657e0a Fix c-ts-mode--emacs-c-range-query
7f94558b775 Improve documentation of warnings
5a3f0e2c558 ; Doc fix in c-ts-mode.el
21361d05635 Fix FOR_EACH_TAIL fontification (bug#62951)
d0df3404fde ; * etc/EGLOT-NEWS: chsharp-le -> csharp-ls
c229e83c3ce ; * etc/EGLOT-NEWS (https): Elglot -> Eglot.
b4f2f499783 Fix documentation of libxml-parse-* functions
5dd784961d1 ; * src/treesit.c (syms_of_treesit): Fix error messages.
ddfa0d8da9a ; Remove some leftover text
Diffstat (limited to 'src')
| -rw-r--r-- | src/dispnew.c | 8 | ||||
| -rw-r--r-- | src/treesit.c | 4 | ||||
| -rw-r--r-- | src/xdisp.c | 14 | ||||
| -rw-r--r-- | src/xml.c | 10 |
4 files changed, 29 insertions, 7 deletions
diff --git a/src/dispnew.c b/src/dispnew.c index 43306043a0c..fe661579daf 100644 --- a/src/dispnew.c +++ b/src/dispnew.c | |||
| @@ -3748,6 +3748,14 @@ update_window (struct window *w, bool force_p) | |||
| 3748 | } | 3748 | } |
| 3749 | } | 3749 | } |
| 3750 | 3750 | ||
| 3751 | /* If the window doesn't display its mode line, make sure the | ||
| 3752 | corresponding row of the current glyph matrix is disabled, so | ||
| 3753 | that if and when the mode line is displayed again, it will be | ||
| 3754 | cleared and completely redrawn. */ | ||
| 3755 | if (!window_wants_mode_line (w)) | ||
| 3756 | SET_MATRIX_ROW_ENABLED_P (w->current_matrix, | ||
| 3757 | w->current_matrix->nrows - 1, false); | ||
| 3758 | |||
| 3751 | /* Was display preempted? */ | 3759 | /* Was display preempted? */ |
| 3752 | paused_p = row < end; | 3760 | paused_p = row < end; |
| 3753 | 3761 | ||
diff --git a/src/treesit.c b/src/treesit.c index ef272fb8871..0af0e347694 100644 --- a/src/treesit.c +++ b/src/treesit.c | |||
| @@ -3886,9 +3886,9 @@ syms_of_treesit (void) | |||
| 3886 | define_error (Qtreesit_parse_error, "Parse failed", | 3886 | define_error (Qtreesit_parse_error, "Parse failed", |
| 3887 | Qtreesit_error); | 3887 | Qtreesit_error); |
| 3888 | define_error (Qtreesit_range_invalid, | 3888 | define_error (Qtreesit_range_invalid, |
| 3889 | "RANGES are invalid, they have to be ordered and not overlapping", | 3889 | "RANGES are invalid: they have to be ordered and should not overlap", |
| 3890 | Qtreesit_error); | 3890 | Qtreesit_error); |
| 3891 | define_error (Qtreesit_buffer_too_large, "Buffer too large (> 4GB)", | 3891 | define_error (Qtreesit_buffer_too_large, "Buffer too large (> 4GiB)", |
| 3892 | Qtreesit_error); | 3892 | Qtreesit_error); |
| 3893 | define_error (Qtreesit_load_language_error, | 3893 | define_error (Qtreesit_load_language_error, |
| 3894 | "Cannot load language definition", | 3894 | "Cannot load language definition", |
diff --git a/src/xdisp.c b/src/xdisp.c index 18ea042e212..2817fc45993 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -20615,6 +20615,8 @@ try_window (Lisp_Object window, struct text_pos pos, int flags) | |||
| 20615 | int bot_scroll_margin = top_scroll_margin; | 20615 | int bot_scroll_margin = top_scroll_margin; |
| 20616 | if (window_wants_header_line (w)) | 20616 | if (window_wants_header_line (w)) |
| 20617 | top_scroll_margin += CURRENT_HEADER_LINE_HEIGHT (w); | 20617 | top_scroll_margin += CURRENT_HEADER_LINE_HEIGHT (w); |
| 20618 | if (window_wants_tab_line (w)) | ||
| 20619 | top_scroll_margin += CURRENT_TAB_LINE_HEIGHT (w); | ||
| 20618 | start_display (&it, w, pos); | 20620 | start_display (&it, w, pos); |
| 20619 | 20621 | ||
| 20620 | if ((w->cursor.y >= 0 | 20622 | if ((w->cursor.y >= 0 |
| @@ -21959,17 +21961,23 @@ try_window_id (struct window *w) | |||
| 21959 | 21961 | ||
| 21960 | /* Don't let the cursor end in the scroll margins. */ | 21962 | /* Don't let the cursor end in the scroll margins. */ |
| 21961 | { | 21963 | { |
| 21962 | int this_scroll_margin = window_scroll_margin (w, MARGIN_IN_PIXELS); | 21964 | int top_scroll_margin = window_scroll_margin (w, MARGIN_IN_PIXELS); |
| 21965 | int bot_scroll_margin = top_scroll_margin; | ||
| 21963 | int cursor_height = MATRIX_ROW (w->desired_matrix, w->cursor.vpos)->height; | 21966 | int cursor_height = MATRIX_ROW (w->desired_matrix, w->cursor.vpos)->height; |
| 21964 | 21967 | ||
| 21965 | if ((w->cursor.y < this_scroll_margin | 21968 | if (window_wants_header_line (w)) |
| 21969 | top_scroll_margin += CURRENT_HEADER_LINE_HEIGHT (w); | ||
| 21970 | if (window_wants_tab_line (w)) | ||
| 21971 | top_scroll_margin += CURRENT_TAB_LINE_HEIGHT (w); | ||
| 21972 | |||
| 21973 | if ((w->cursor.y < top_scroll_margin | ||
| 21966 | && CHARPOS (start) > BEGV) | 21974 | && CHARPOS (start) > BEGV) |
| 21967 | /* Old redisplay didn't take scroll margin into account at the bottom, | 21975 | /* Old redisplay didn't take scroll margin into account at the bottom, |
| 21968 | but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */ | 21976 | but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */ |
| 21969 | || (w->cursor.y | 21977 | || (w->cursor.y |
| 21970 | + (cursor_row_fully_visible_p (w, false, true, true) | 21978 | + (cursor_row_fully_visible_p (w, false, true, true) |
| 21971 | ? 1 | 21979 | ? 1 |
| 21972 | : cursor_height + this_scroll_margin)) > it.last_visible_y) | 21980 | : cursor_height + bot_scroll_margin)) > it.last_visible_y) |
| 21973 | { | 21981 | { |
| 21974 | w->cursor.vpos = -1; | 21982 | w->cursor.vpos = -1; |
| 21975 | clear_glyph_matrix (w->desired_matrix); | 21983 | clear_glyph_matrix (w->desired_matrix); |
| @@ -280,7 +280,10 @@ DEFUN ("libxml-parse-html-region", Flibxml_parse_html_region, | |||
| 280 | If START is nil, it defaults to `point-min'. If END is nil, it | 280 | If START is nil, it defaults to `point-min'. If END is nil, it |
| 281 | defaults to `point-max'. | 281 | defaults to `point-max'. |
| 282 | 282 | ||
| 283 | If BASE-URL is non-nil, it is used to expand relative URLs. | 283 | If BASE-URL is non-nil, it is used if and when reporting errors and |
| 284 | warnings from the underlying libxml2 library. Currently, errors and | ||
| 285 | warnings from the library are suppressed, so this argument is largely | ||
| 286 | ignored. | ||
| 284 | 287 | ||
| 285 | If you want comments to be stripped, use the `xml-remove-comments' | 288 | If you want comments to be stripped, use the `xml-remove-comments' |
| 286 | function to strip comments before calling this function. */) | 289 | function to strip comments before calling this function. */) |
| @@ -298,7 +301,10 @@ DEFUN ("libxml-parse-xml-region", Flibxml_parse_xml_region, | |||
| 298 | If START is nil, it defaults to `point-min'. If END is nil, it | 301 | If START is nil, it defaults to `point-min'. If END is nil, it |
| 299 | defaults to `point-max'. | 302 | defaults to `point-max'. |
| 300 | 303 | ||
| 301 | If BASE-URL is non-nil, it is used to expand relative URLs. | 304 | If BASE-URL is non-nil, it is used if and when reporting errors and |
| 305 | warnings from the underlying libxml2 library. Currently, errors and | ||
| 306 | warnings from the library are suppressed, so this argument is largely | ||
| 307 | ignored. | ||
| 302 | 308 | ||
| 303 | If you want comments to be stripped, use the `xml-remove-comments' | 309 | If you want comments to be stripped, use the `xml-remove-comments' |
| 304 | function to strip comments before calling this function. */) | 310 | function to strip comments before calling this function. */) |