summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2023-05-02 08:50:09 -0400
committerEli Zaretskii <eliz@gnu.org>2023-05-02 08:50:09 -0400
commitdaf602a5c8ec9e5d94f5e1e412182760a02c2505 (patch)
tree84b0c694f5ed9a911011078e8b0f1df18bc9ca71 /src
parent4f44c56c867b99bc7b813d8b104b9939479f86f2 (diff)
parent46392c1623bc3f9764b8c7df293a89fcd47ab0ad (diff)
downloademacs-daf602a5c8ec9e5d94f5e1e412182760a02c2505.tar.gz
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.c8
-rw-r--r--src/treesit.c4
-rw-r--r--src/xdisp.c14
-rw-r--r--src/xml.c10
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)
}
}
+ /* If the window doesn't display its mode line, make sure the
+ corresponding row of the current glyph matrix is disabled, so
+ that if and when the mode line is displayed again, it will be
+ cleared and completely redrawn. */
+ if (!window_wants_mode_line (w))
+ SET_MATRIX_ROW_ENABLED_P (w->current_matrix,
+ w->current_matrix->nrows - 1, false);
+
/* Was display preempted? */
paused_p = row < end;
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)
define_error (Qtreesit_parse_error, "Parse failed",
Qtreesit_error);
define_error (Qtreesit_range_invalid,
- "RANGES are invalid, they have to be ordered and not overlapping",
+ "RANGES are invalid: they have to be ordered and should not overlap",
Qtreesit_error);
- define_error (Qtreesit_buffer_too_large, "Buffer too large (> 4GB)",
+ define_error (Qtreesit_buffer_too_large, "Buffer too large (> 4GiB)",
Qtreesit_error);
define_error (Qtreesit_load_language_error,
"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)
int bot_scroll_margin = top_scroll_margin;
if (window_wants_header_line (w))
top_scroll_margin += CURRENT_HEADER_LINE_HEIGHT (w);
+ if (window_wants_tab_line (w))
+ top_scroll_margin += CURRENT_TAB_LINE_HEIGHT (w);
start_display (&it, w, pos);
if ((w->cursor.y >= 0
@@ -21959,17 +21961,23 @@ try_window_id (struct window *w)
/* Don't let the cursor end in the scroll margins. */
{
- int this_scroll_margin = window_scroll_margin (w, MARGIN_IN_PIXELS);
+ int top_scroll_margin = window_scroll_margin (w, MARGIN_IN_PIXELS);
+ int bot_scroll_margin = top_scroll_margin;
int cursor_height = MATRIX_ROW (w->desired_matrix, w->cursor.vpos)->height;
- if ((w->cursor.y < this_scroll_margin
+ if (window_wants_header_line (w))
+ top_scroll_margin += CURRENT_HEADER_LINE_HEIGHT (w);
+ if (window_wants_tab_line (w))
+ top_scroll_margin += CURRENT_TAB_LINE_HEIGHT (w);
+
+ if ((w->cursor.y < top_scroll_margin
&& CHARPOS (start) > BEGV)
/* Old redisplay didn't take scroll margin into account at the bottom,
but then global-hl-line-mode doesn't scroll. KFS 2004-06-14 */
|| (w->cursor.y
+ (cursor_row_fully_visible_p (w, false, true, true)
? 1
- : cursor_height + this_scroll_margin)) > it.last_visible_y)
+ : cursor_height + bot_scroll_margin)) > it.last_visible_y)
{
w->cursor.vpos = -1;
clear_glyph_matrix (w->desired_matrix);
diff --git a/src/xml.c b/src/xml.c
index b55ac62cdd3..b4c849e6a65 100644
--- a/src/xml.c
+++ b/src/xml.c
@@ -280,7 +280,10 @@ DEFUN ("libxml-parse-html-region", Flibxml_parse_html_region,
If START is nil, it defaults to `point-min'. If END is nil, it
defaults to `point-max'.
-If BASE-URL is non-nil, it is used to expand relative URLs.
+If BASE-URL is non-nil, it is used if and when reporting errors and
+warnings from the underlying libxml2 library. Currently, errors and
+warnings from the library are suppressed, so this argument is largely
+ignored.
If you want comments to be stripped, use the `xml-remove-comments'
function to strip comments before calling this function. */)
@@ -298,7 +301,10 @@ DEFUN ("libxml-parse-xml-region", Flibxml_parse_xml_region,
If START is nil, it defaults to `point-min'. If END is nil, it
defaults to `point-max'.
-If BASE-URL is non-nil, it is used to expand relative URLs.
+If BASE-URL is non-nil, it is used if and when reporting errors and
+warnings from the underlying libxml2 library. Currently, errors and
+warnings from the library are suppressed, so this argument is largely
+ignored.
If you want comments to be stripped, use the `xml-remove-comments'
function to strip comments before calling this function. */)