diff options
| author | Stefan Kangas | 2023-02-23 06:30:16 +0100 |
|---|---|---|
| committer | Stefan Kangas | 2023-02-23 06:30:16 +0100 |
| commit | fad3665069740e002fcb7f9313f9eeec81ad9a0c (patch) | |
| tree | 16bdc0fb14425235f3a192fe1c89485c4d1fcefb /src | |
| parent | 48cc5c0604cea2e6344fe3f7604f9d2881d898bf (diff) | |
| parent | 94e70ed4261dbfcef679697dfa0dc2348a90dbdc (diff) | |
| download | emacs-fad3665069740e002fcb7f9313f9eeec81ad9a0c.tar.gz emacs-fad3665069740e002fcb7f9313f9eeec81ad9a0c.zip | |
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, | |||
| 3498 | static int | 3498 | static int |
| 3499 | get_narrowed_width (struct window *w) | 3499 | get_narrowed_width (struct window *w) |
| 3500 | { | 3500 | { |
| 3501 | int fact; | ||
| 3502 | /* In a character-only terminal, only one font size is used, so we | 3501 | /* In a character-only terminal, only one font size is used, so we |
| 3503 | can use a smaller factor. */ | 3502 | can use a smaller factor. */ |
| 3504 | fact = EQ (Fterminal_live_p (Qnil), Qt) ? 2 : 3; | 3503 | int fact = EQ (Fterminal_live_p (Qnil), Qt) ? 2 : 3; |
| 3505 | return fact * window_body_width (w, WINDOW_BODY_IN_CANONICAL_CHARS); | 3504 | int width = window_body_width (w, WINDOW_BODY_IN_CANONICAL_CHARS); |
| 3505 | return fact * max (1, width); | ||
| 3506 | } | 3506 | } |
| 3507 | 3507 | ||
| 3508 | static int | 3508 | static int |
| 3509 | get_narrowed_len (struct window *w) | 3509 | get_narrowed_len (struct window *w) |
| 3510 | { | 3510 | { |
| 3511 | return get_narrowed_width (w) * | 3511 | int height = window_body_height (w, WINDOW_BODY_IN_CANONICAL_CHARS); |
| 3512 | window_body_height (w, WINDOW_BODY_IN_CANONICAL_CHARS); | 3512 | return get_narrowed_width (w) * max (1, height); |
| 3513 | } | 3513 | } |
| 3514 | 3514 | ||
| 3515 | ptrdiff_t | 3515 | 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 | |||
| 5950 | x_end_cr_clip (struct frame *f) | 5950 | x_end_cr_clip (struct frame *f) |
| 5951 | { | 5951 | { |
| 5952 | cairo_restore (FRAME_CR_CONTEXT (f)); | 5952 | cairo_restore (FRAME_CR_CONTEXT (f)); |
| 5953 | #ifdef HAVE_XDBE | ||
| 5953 | if (FRAME_X_DOUBLE_BUFFERED_P (f)) | 5954 | if (FRAME_X_DOUBLE_BUFFERED_P (f)) |
| 5954 | x_mark_frame_dirty (f); | 5955 | x_mark_frame_dirty (f); |
| 5956 | #endif | ||
| 5955 | } | 5957 | } |
| 5956 | 5958 | ||
| 5957 | void | 5959 | void |
| @@ -7486,8 +7488,10 @@ x_update_end (struct frame *f) | |||
| 7486 | MOUSE_HL_INFO (f)->mouse_face_defer = false; | 7488 | MOUSE_HL_INFO (f)->mouse_face_defer = false; |
| 7487 | 7489 | ||
| 7488 | #ifdef USE_CAIRO | 7490 | #ifdef USE_CAIRO |
| 7491 | # ifdef HAVE_XDBE | ||
| 7489 | if (!FRAME_X_DOUBLE_BUFFERED_P (f) && FRAME_CR_CONTEXT (f)) | 7492 | if (!FRAME_X_DOUBLE_BUFFERED_P (f) && FRAME_CR_CONTEXT (f)) |
| 7490 | cairo_surface_flush (cairo_get_target (FRAME_CR_CONTEXT (f))); | 7493 | cairo_surface_flush (cairo_get_target (FRAME_CR_CONTEXT (f))); |
| 7494 | # endif | ||
| 7491 | #endif | 7495 | #endif |
| 7492 | 7496 | ||
| 7493 | /* If double buffering is disabled, finish the update here. | 7497 | /* If double buffering is disabled, finish the update here. |
| @@ -21141,8 +21145,10 @@ handle_one_xevent (struct x_display_info *dpyinfo, | |||
| 21141 | x_flush (WINDOW_XFRAME (XWINDOW (bar->window))); | 21145 | x_flush (WINDOW_XFRAME (XWINDOW (bar->window))); |
| 21142 | } | 21146 | } |
| 21143 | 21147 | ||
| 21148 | #ifdef HAVE_XDBE | ||
| 21144 | if (f && FRAME_X_DOUBLE_BUFFERED_P (f)) | 21149 | if (f && FRAME_X_DOUBLE_BUFFERED_P (f)) |
| 21145 | x_drop_xrender_surfaces (f); | 21150 | x_drop_xrender_surfaces (f); |
| 21151 | #endif | ||
| 21146 | 21152 | ||
| 21147 | goto OTHER; | 21153 | goto OTHER; |
| 21148 | } | 21154 | } |