diff options
author | Stefan Kangas <stefankangas@gmail.com> | 2023-02-23 06:30:16 +0100 |
---|---|---|
committer | Stefan Kangas <stefankangas@gmail.com> | 2023-02-23 06:30:16 +0100 |
commit | fad3665069740e002fcb7f9313f9eeec81ad9a0c (patch) | |
tree | 16bdc0fb14425235f3a192fe1c89485c4d1fcefb /src | |
parent | 48cc5c0604cea2e6344fe3f7604f9d2881d898bf (diff) | |
parent | 94e70ed4261dbfcef679697dfa0dc2348a90dbdc (diff) | |
download | emacs-fad3665069740e002fcb7f9313f9eeec81ad9a0c.tar.gz |
Merge from origin/emacs-29
94e70ed4261 ; * lisp/emacs-lisp/eldoc.el (eldoc-display-in-echo-area)...
1841299a11d Eglot: implement inlay hints (bug#61412, bug#61066)
28ed0d1840f Eglot: run eglot-managed-mode-hook after LSP didOpen
7ad5d9babed Eglot: restore eldoc-documentation-functions on shutdown
711a775ba76 Eglot: simplify capability-checking code
ea7251ad6df Eglot: go back to setting eldoc-documentation-strategy again
6016f1982d3 ; * etc/NEWS: Fix typo again
d411b4d1fd3 ; * etc/NEWS (C-x v !): Additional text.
a0b67252346 ; * doc/emacs/vc1-xtra.texi (Preparing Patches): Wording ...
43c4dd6f962 ; * doc/emacs/anti.texi (Antinews): Adjust to latest chan...
20c654b6f8f Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
177d0cf2a9a ; * etc/NEWS: Fix typos.
db7096a532c Yield to erc-move-to-prompt before unhiding prompt
db21c84bc94 ; Improve doc string of 'C-q'
a6be0be1db6 ; Clarify "kill files" in Gnus manual
d816429e2f2 * lisp/progmodes/python.el (python--import-sources): Fix ...
1f4886fdb09 Do not error out on non image file (bug#61639)
003759a6dca Explain effect of variable-pitch fonts on fill-column
ba91a76659b Avoid division by zero in get_narrowed_* functions
fb5dbf6de73 ; Fix documentation of 'icon-title-format'.
48c9a507713 * etc/NEWS: Mention new buffer display action alist entries
4dc1f2b9a01 ; * src/xterm.c (x_update_end): Condition on HAVE_XDBE
f1c83898060 Fix build --without-xdbe
ef38774c02c Improve dnd-direct-save-remote-files docstring
cf53e62a791 Add 'process-status' to process shortdoc
68df9e5953c * lisp/emacs-lisp/comp.el (comp--trampoline-abs-filename)...
06ba9484166 Improve text about deleting windows
1976ca1634d Make 'emacs-news-cycle-tag' work at all levels
# Conflicts:
# etc/NEWS
Diffstat (limited to 'src')
-rw-r--r-- | src/xdisp.c | 10 | ||||
-rw-r--r-- | src/xterm.c | 6 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/xdisp.c b/src/xdisp.c index 518014dc11a..c5c4321af77 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3498,18 +3498,18 @@ init_iterator (struct it *it, struct window *w, static int get_narrowed_width (struct window *w) { - int fact; /* In a character-only terminal, only one font size is used, so we can use a smaller factor. */ - fact = EQ (Fterminal_live_p (Qnil), Qt) ? 2 : 3; - return fact * window_body_width (w, WINDOW_BODY_IN_CANONICAL_CHARS); + int fact = EQ (Fterminal_live_p (Qnil), Qt) ? 2 : 3; + int width = window_body_width (w, WINDOW_BODY_IN_CANONICAL_CHARS); + return fact * max (1, width); } static int get_narrowed_len (struct window *w) { - return get_narrowed_width (w) * - window_body_height (w, WINDOW_BODY_IN_CANONICAL_CHARS); + int height = window_body_height (w, WINDOW_BODY_IN_CANONICAL_CHARS); + return get_narrowed_width (w) * max (1, height); } ptrdiff_t diff --git a/src/xterm.c b/src/xterm.c index 5feaa4aef0f..70bcb67d80d 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -5950,8 +5950,10 @@ void x_end_cr_clip (struct frame *f) { cairo_restore (FRAME_CR_CONTEXT (f)); +#ifdef HAVE_XDBE if (FRAME_X_DOUBLE_BUFFERED_P (f)) x_mark_frame_dirty (f); +#endif } void @@ -7486,8 +7488,10 @@ x_update_end (struct frame *f) MOUSE_HL_INFO (f)->mouse_face_defer = false; #ifdef USE_CAIRO +# ifdef HAVE_XDBE if (!FRAME_X_DOUBLE_BUFFERED_P (f) && FRAME_CR_CONTEXT (f)) cairo_surface_flush (cairo_get_target (FRAME_CR_CONTEXT (f))); +# endif #endif /* If double buffering is disabled, finish the update here. @@ -21141,8 +21145,10 @@ handle_one_xevent (struct x_display_info *dpyinfo, x_flush (WINDOW_XFRAME (XWINDOW (bar->window))); } +#ifdef HAVE_XDBE if (f && FRAME_X_DOUBLE_BUFFERED_P (f)) x_drop_xrender_surfaces (f); +#endif goto OTHER; } |