]> git.eshelyaron.com Git - emacs.git/commit
Enable TTY child frames on MS-DOS
authorPo Lu <luangruo@yahoo.com>
Fri, 20 Dec 2024 03:12:22 +0000 (11:12 +0800)
committerEshel Yaron <me@eshelyaron.com>
Mon, 23 Dec 2024 15:17:30 +0000 (16:17 +0100)
commit481754134386d33293972d66b99da56efccce2c7
tree7cc6d76bb561faa43f74b137a689b82f3b38fc88
parente91d6bb4231627a1375d664a7668ce141334fe2d
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.

(cherry picked from commit cc5afea98e8efb1a04baedf98e66863d31974ae6)
src/conf_post.h
src/dispnew.c
src/frame.c
src/frame.h
src/msdos.c
src/msdos.h
src/xdisp.c