1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Enable TTY child frames on MS-DOS

* src/conf_post.h (ENOTSUP): Define to ENOSYS as msdos.h once
did.
(IFTODT): Copy definition from Gnulib.

* src/dispnew.c (is_tty_frame): Also test FRAME_MSDOS_P.

* src/frame.c (tty_child_pos_param, tty_child_size_param):
Export functions.

* src/msdos.c (mouse_get_xy, mouse_moveto, mouse_pressed):
Offset mouse positions by those of the selected frame.
(it_face_override): New function.
(IT_set_face): New argument F.  Load FACE_ID from its face
cache.
(IT_write_glyphs): Track the frames on which glyphs were
generated and apply faces from their individual face caches.
(IT_write_glyphs_with_face): New function.
(tty_draw_row_with_mouse_face): Reimplement in line with tty.c
and eliminate an obsolete optimization.
(IT_clear_end_of_line, IT_clear_screen): Load faces from the
cache of the provided frame.
(IT_set_frame_parameters): Adjust frame geometry and garbage
frames after geometry parameters change as a child frame.
(BUILD_CHAR_GLYPH): Accept new parameter F.
(IT_menu_display): Offset cursor positions by those of the
selected frame.

* src/msdos.h (ENOTSUP): Move to conf_post.h for Gnulib.

* src/xdisp.c (redisplay_internal): Redisplay MSDOS frames
unconditionally as with terminal frames.
This commit is contained in:
Po Lu 2024-12-20 11:12:22 +08:00
parent e166803f8c
commit cc5afea98e
7 changed files with 129 additions and 101 deletions

View file

@ -1390,7 +1390,7 @@ get_future_frame_param (Lisp_Object parameter,
#endif
static int
int
tty_child_pos_param (struct frame *child, Lisp_Object key,
Lisp_Object params, int dflt)
{
@ -1404,7 +1404,7 @@ tty_child_pos_param (struct frame *child, Lisp_Object key,
return dflt;
}
static int
int
tty_child_size_param (struct frame *child, Lisp_Object key,
Lisp_Object params, int dflt)
{