diff options
| author | Eli Zaretskii | 2023-07-30 12:19:32 -0400 |
|---|---|---|
| committer | Eli Zaretskii | 2023-07-30 12:19:32 -0400 |
| commit | 1198cdb55673d5f5545ee0ec9008b9832b830f06 (patch) | |
| tree | 0a4db545f64735ba6255b9a050b31e07b552f1cd /src | |
| parent | 23fc4793001e4de920bb8dae280133f4467a7797 (diff) | |
| parent | 2b8796eea1979fe6891ab9d80cd126fe8980167a (diff) | |
| download | emacs-1198cdb55673d5f5545ee0ec9008b9832b830f06.tar.gz emacs-1198cdb55673d5f5545ee0ec9008b9832b830f06.zip | |
Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs into emacs-29
Diffstat (limited to 'src')
| -rw-r--r-- | src/character.c | 2 | ||||
| -rw-r--r-- | src/keyboard.c | 4 | ||||
| -rw-r--r-- | src/xdisp.c | 3 | ||||
| -rw-r--r-- | src/xfns.c | 11 |
4 files changed, 16 insertions, 4 deletions
diff --git a/src/character.c b/src/character.c index d0b18367a83..13d516987d3 100644 --- a/src/character.c +++ b/src/character.c | |||
| @@ -470,7 +470,7 @@ used for non-Latin and other unusual characters (such as emoji) is | |||
| 470 | ignored as well, as are display properties and invisible text. | 470 | ignored as well, as are display properties and invisible text. |
| 471 | For these reasons, the results are not generally reliable; | 471 | For these reasons, the results are not generally reliable; |
| 472 | for accurate dimensions of text as it will be displayed, | 472 | for accurate dimensions of text as it will be displayed, |
| 473 | use `window-text-pixel-size' instead. | 473 | use `string-pixel-width' or `window-text-pixel-size' instead. |
| 474 | usage: (string-width STRING &optional FROM TO) */) | 474 | usage: (string-width STRING &optional FROM TO) */) |
| 475 | (Lisp_Object str, Lisp_Object from, Lisp_Object to) | 475 | (Lisp_Object str, Lisp_Object from, Lisp_Object to) |
| 476 | { | 476 | { |
diff --git a/src/keyboard.c b/src/keyboard.c index 99f886821e2..101a6f3a78e 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -11116,8 +11116,8 @@ the command loop or by `read-key-sequence'. | |||
| 11116 | The value is always a vector. */) | 11116 | The value is always a vector. */) |
| 11117 | (void) | 11117 | (void) |
| 11118 | { | 11118 | { |
| 11119 | return Fvector (this_command_key_count | 11119 | ptrdiff_t nkeys = this_command_key_count - this_single_command_key_start; |
| 11120 | - this_single_command_key_start, | 11120 | return Fvector (nkeys < 0 ? 0 : nkeys, |
| 11121 | (XVECTOR (this_command_keys)->contents | 11121 | (XVECTOR (this_command_keys)->contents |
| 11122 | + this_single_command_key_start)); | 11122 | + this_single_command_key_start)); |
| 11123 | } | 11123 | } |
diff --git a/src/xdisp.c b/src/xdisp.c index fdb4acd71bf..9cddcfeda27 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -17601,6 +17601,7 @@ redisplay_window_error (Lisp_Object error_data) | |||
| 17601 | if (max_redisplay_ticks > 0 | 17601 | if (max_redisplay_ticks > 0 |
| 17602 | && CONSP (error_data) | 17602 | && CONSP (error_data) |
| 17603 | && EQ (XCAR (error_data), Qerror) | 17603 | && EQ (XCAR (error_data), Qerror) |
| 17604 | && CONSP (XCDR (error_data)) | ||
| 17604 | && STRINGP (XCAR (XCDR (error_data)))) | 17605 | && STRINGP (XCAR (XCDR (error_data)))) |
| 17605 | Vdelayed_warnings_list = Fcons (list2 (XCAR (error_data), | 17606 | Vdelayed_warnings_list = Fcons (list2 (XCAR (error_data), |
| 17606 | XCAR (XCDR (error_data))), | 17607 | XCAR (XCDR (error_data))), |
| @@ -27091,7 +27092,7 @@ display_mode_element (struct it *it, int depth, int field_width, int precision, | |||
| 27091 | 27092 | ||
| 27092 | oprops = Fcopy_sequence (oprops); | 27093 | oprops = Fcopy_sequence (oprops); |
| 27093 | tem = props; | 27094 | tem = props; |
| 27094 | while (CONSP (tem)) | 27095 | while (CONSP (tem) && CONSP (XCDR (tem))) |
| 27095 | { | 27096 | { |
| 27096 | oprops = plist_put (oprops, XCAR (tem), | 27097 | oprops = plist_put (oprops, XCAR (tem), |
| 27097 | XCAR (XCDR (tem))); | 27098 | XCAR (XCDR (tem))); |
diff --git a/src/xfns.c b/src/xfns.c index 528ae61ca32..d723b1f7d7c 100644 --- a/src/xfns.c +++ b/src/xfns.c | |||
| @@ -5109,6 +5109,17 @@ This function is an internal primitive--use `make-frame' instead. */) | |||
| 5109 | gui_default_parameter (f, parms, Qfullscreen, Qnil, | 5109 | gui_default_parameter (f, parms, Qfullscreen, Qnil, |
| 5110 | "fullscreen", "Fullscreen", RES_TYPE_SYMBOL); | 5110 | "fullscreen", "Fullscreen", RES_TYPE_SYMBOL); |
| 5111 | 5111 | ||
| 5112 | #ifdef USE_CAIRO | ||
| 5113 | /* Set the initial size of the Cairo surface to the frame's current | ||
| 5114 | width and height. If the window manager doesn't resize the new | ||
| 5115 | frame after it's first mapped, Emacs will create a surface with | ||
| 5116 | empty dimensions in response to to the initial exposure event, | ||
| 5117 | which will persist until the next time it's resized. | ||
| 5118 | (bug#64923) */ | ||
| 5119 | x_cr_update_surface_desired_size (f, FRAME_PIXEL_WIDTH (f), | ||
| 5120 | FRAME_PIXEL_HEIGHT (f)); | ||
| 5121 | #endif /* USE_CAIRO */ | ||
| 5122 | |||
| 5112 | /* Make the window appear on the frame and enable display, unless | 5123 | /* Make the window appear on the frame and enable display, unless |
| 5113 | the caller says not to. However, with explicit parent, Emacs | 5124 | the caller says not to. However, with explicit parent, Emacs |
| 5114 | cannot control visibility, so don't try. */ | 5125 | cannot control visibility, so don't try. */ |