aboutsummaryrefslogtreecommitdiffstats
path: root/src/ChangeLog
diff options
context:
space:
mode:
authorEli Zaretskii2013-10-08 20:49:20 +0300
committerEli Zaretskii2013-10-08 20:49:20 +0300
commit4ed774157d1687cc5236ecaf088dc48442e92431 (patch)
tree4dd32cb0104172c6b12f90c2651f58f0040bfe20 /src/ChangeLog
parent06286513730d013c2033d1dae892349e5eec98d9 (diff)
parentf3370a94fd887e9e01db81a86e42036d12dcda9b (diff)
downloademacs-4ed774157d1687cc5236ecaf088dc48442e92431.tar.gz
emacs-4ed774157d1687cc5236ecaf088dc48442e92431.zip
Support menus on text-mode terminals.
src/xterm.h (xw_popup_dialog): Add prototype. src/xmenu.c (Fx_popup_dialog): Function moved to menu.c. (xmenu_show): Block input here, instead in Fx_popup_menu. (xw_popup_dialog): New function, with X-specific bits of popup dialogs. src/xdisp.c (deep_copy_glyph_row, display_tty_menu_item): New functions. src/window.c (Fset_window_configuration): Use run-time tests of the frame type instead of compile-time conditionals, when menu-bar lines are considered. src/w32term.h (w32con_hide_cursor, w32con_show_cursor) (w32_popup_dialog): New prototypes. src/w32menu.c (Fx_popup_dialog): Function deleted. (w32_popup_dialog): New function, with w32 specific bits of popup dialogs. Block input here. src/w32inevt.c (w32_console_read_socket): Minor change to add debugging TTY events. src/w32fns.c (show_hourglass): If returning early because the frame is not a GUI frame, unblock input. src/w32console.c (w32con_hide_cursor, w32con_show_cursor, cursorX) (cursorY): New functions. src/termhooks.h (cursorX, cursorY): Prototypes of functions on WINDOWSNT, macros that call curX and curY elsewhere. src/termchar.h (struct tty_display_info) <showing_menu>: New flag. src/term.c (tty_hide_cursor, tty_show_cursor) [WINDOWSNT]: Call w32 specific function to hide and show cursor on a text-mode terminal. (tty_menu_struct, struct tty_menu_state): New structures. (tty_menu_create, tty_menu_make_room, tty_menu_search_pane) (tty_menu_calc_size, mouse_get_xy, tty_menu_display) (have_menus_p, tty_menu_add_pane, tty_menu_add_selection) (tty_menu_locate, save_and_enable_current_matrix) (restore_desired_matrix, screen_update, read_menu_input) (tty_menu_activate, tty_menu_destroy, tty_menu_help_callback) (tty_pop_down_menu, tty_menu_last_menubar_item) (tty_menu_new_item_coords, tty_menu_show): New functions. (syms_of_term): New DEFSYMs for tty-menu-* symbols. src/nsterm.h (ns_popup_dialog): Adjust prototype. src/nsmenu.m (ns_menu_show): Block and unblock input here, instead of in x-popup-menu. (ns_popup_dialog): Adapt order of arguments to the other *_menu_show implementations. (Fx_popup_dialog): Function deleted. src/msdos.c (x_set_menu_bar_lines): Delete unused function. src/menu.h (tty_menu_show, menu_item_width): provide prototypes. src/menu.c (have_boxes): New function. (single_keymap_panes): Use it instead of a compile-time conditional. (single_menu_item): Use run-time tests of the frame type instead of compile-time conditionals. (encode_menu_string): New function. (list_of_items, list_of_panes): Use it instead of ENCODE_STRING the macro, since different types of frame need different encoding of menu items. (digest_single_submenu): Use run-time tests of frame type instead of, or in addition to, compile-time conditionals. (menu_item_width, Fmenu_bar_menu_at_x_y): New functions. (Fx_popup_menu): Detect when the function is called from keyboard on a TTY. Don't barf when invoked on a text-mode frame. Check frame type at run time, instead of compile-time conditionals for invoking terminal-specific menu-show functions. Call tty_menu_show on text-mode frames. (Fx_popup_dialog): Moved here from xmenu.c. Test frame types at run time to determine which alternative to invoke; support dialogs on TTYs. src/keyboard.h <Qmouse_movement>: Declare. src/keyboard.c <Qmouse_movement>: Now extern. <Qecho_keystrokes>: New static variable. (read_key_sequence): Accept an additional argument, a flag to prevent redisplay during reading of the key sequence. All callers changed. (read_menu_command): New function. (read_char): When COMMANDFLAG is -2, do not redisplay and do not autosave. (toolkit_menubar_in_use): New function. (make_lispy_event): Use it instead of a compile-time test. src/fns.c (Fyes_or_no_p) [HAVE_MENUS]: Don't condition on window-system being available. src/editfns.c (Fmessage_box) [HAVE_MENUS]: Don't condition the call to x-popup-dialog on the frame type, they all now support popup dialogs. src/dispnew.c (save_current_matrix): Save the margin areas. (restore_current_matrix): Restore margin areas. (update_frame_with_menu): New function. src/dispextern.h (display_tty_menu_item, update_frame_with_menu): Add prototypes. src/alloc.c (make_save_ptr): Now compiled unconditionally. lisp/tmm.el (tmm-menubar): Adapt doc string to TTY menus functionality. lisp/tooltip.el (tooltip-mode): Don't error out on TTYs. lisp/menu-bar.el (popup-menu, popup-menu-normalize-position): Moved here from mouse.el. (popup-menu): Support menu-bar navigation on TTYs using C-f/C-b and arrow keys. (tty-menu-navigation-map): New map for TTY menu navigation. lisp/loadup.el ("tooltip"): Load even if x-show-tip is not available. lisp/frame.el (display-mouse-p): Report text-mode mouse as available on w32. (display-popup-menus-p): Report availability if mouse is available; don't condition on window-system. lisp/faces.el (tty-menu-enabled-face, tty-menu-disabled-face) (tty-menu-selected-face): New faces. configure.ac (HAVE_MENUS): Define unconditionally. doc/emacs/screen.texi (Menu Bar): Adapt to TTY menus. doc/emacs/frames.texi (Frames): Mention menu support on text terminals. doc/emacs/files.texi (Visiting): Mention the "File" menu-bar menu. doc/emacs/display.texi (Standard Faces): Mention TTY faces for menus. doc/lispref/keymaps.texi (Defining Menus, Mouse Menus, Menu Bar): Modify wording to the effect that menus are supported on TTYs. doc/lisprefframes.texi (Pop-Up Menus, Dialog Boxes) (Display Feature Testing): Update for menu support on TTYs. etc/NEWS: Mention the new features.
Diffstat (limited to 'src/ChangeLog')
-rw-r--r--src/ChangeLog113
1 files changed, 113 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fc2f7a9d57c..e30194d1dfb 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,116 @@
12013-10-08 Eli Zaretskii <eliz@gnu.org>
2
3 Support menus on text-mode terminals.
4 * xterm.h (xw_popup_dialog): Add prototype.
5
6 * xmenu.c (Fx_popup_dialog): Function moved to menu.c.
7 (xmenu_show): Block input here, instead in Fx_popup_menu.
8 (xw_popup_dialog): New function, with X-specific bits of popup
9 dialogs.
10
11 * xdisp.c (deep_copy_glyph_row, display_tty_menu_item): New
12 functions.
13
14 * window.c (Fset_window_configuration): Use run-time tests of the
15 frame type instead of compile-time conditionals, when menu-bar
16 lines are considered.
17
18 * w32term.h (w32con_hide_cursor, w32con_show_cursor)
19 (w32_popup_dialog): New prototypes.
20
21 * w32menu.c (Fx_popup_dialog): Function deleted.
22 (w32_popup_dialog): New function, with w32 specific bits of popup
23 dialogs. Block input here.
24
25 * w32inevt.c (w32_console_read_socket): Minor change to add
26 debugging TTY events.
27
28 * w32fns.c (show_hourglass): If returning early because the frame
29 is not a GUI frame, unblock input.
30
31 * w32console.c (w32con_hide_cursor, w32con_show_cursor, cursorX)
32 (cursorY): New functions.
33
34 * termhooks.h (cursorX, cursorY): Prototypes of functions on
35 WINDOWSNT, macros that call curX and curY elsewhere.
36
37 * termchar.h (struct tty_display_info) <showing_menu>: New flag.
38
39 * term.c (tty_hide_cursor, tty_show_cursor) [WINDOWSNT]: Call w32
40 specific function to hide and show cursor on a text-mode terminal.
41 (tty_menu_struct, struct tty_menu_state): New structures.
42 (tty_menu_create, tty_menu_make_room, tty_menu_search_pane)
43 (tty_menu_calc_size, mouse_get_xy, tty_menu_display)
44 (have_menus_p, tty_menu_add_pane, tty_menu_add_selection)
45 (tty_menu_locate, save_and_enable_current_matrix)
46 (restore_desired_matrix, screen_update, read_menu_input)
47 (tty_menu_activate, tty_menu_destroy, tty_menu_help_callback)
48 (tty_pop_down_menu, tty_menu_last_menubar_item)
49 (tty_menu_new_item_coords, tty_menu_show): New functions.
50 (syms_of_term): New DEFSYMs for tty-menu-* symbols.
51
52 * nsterm.h (ns_popup_dialog): Adjust prototype.
53
54 * nsmenu.m (ns_menu_show): Block and unblock input here, instead
55 of in x-popup-menu.
56 (ns_popup_dialog): Adapt order of arguments to the other
57 *_menu_show implementations.
58 (Fx_popup_dialog): Function deleted.
59
60 * msdos.c (x_set_menu_bar_lines): Delete unused function.
61
62 * menu.h (tty_menu_show, menu_item_width): provide prototypes.
63
64 * menu.c (have_boxes): New function.
65 (single_keymap_panes): Use it instead of a compile-time
66 conditional.
67 (single_menu_item): Use run-time tests of the frame type instead
68 of compile-time conditionals.
69 (encode_menu_string): New function.
70 (list_of_items, list_of_panes): Use it instead of ENCODE_STRING
71 the macro, since different types of frame need different encoding
72 of menu items.
73 (digest_single_submenu): Use run-time tests of frame type instead
74 of, or in addition to, compile-time conditionals.
75 (menu_item_width, Fmenu_bar_menu_at_x_y): New functions.
76 (Fx_popup_menu): Detect when the function is called from keyboard
77 on a TTY. Don't barf when invoked on a text-mode frame. Check
78 frame type at run time, instead of compile-time conditionals for
79 invoking terminal-specific menu-show functions. Call
80 tty_menu_show on text-mode frames.
81 (Fx_popup_dialog): Moved here from xmenu.c. Test frame types at
82 run time to determine which alternative to invoke; support dialogs
83 on TTYs.
84
85 * keyboard.h <Qmouse_movement>: Declare.
86
87 * keyboard.c <Qmouse_movement>: Now extern.
88 <Qecho_keystrokes>: New static variable.
89 (read_key_sequence): Accept an additional argument, a flag to
90 prevent redisplay during reading of the key sequence. All callers
91 changed.
92 (read_menu_command): New function.
93 (read_char): When COMMANDFLAG is -2, do not redisplay and do not
94 autosave.
95 (toolkit_menubar_in_use): New function.
96 (make_lispy_event): Use it instead of a compile-time test.
97
98 * fns.c (Fyes_or_no_p) [HAVE_MENUS]: Don't condition on
99 window-system being available.
100
101 * editfns.c (Fmessage_box) [HAVE_MENUS]: Don't condition the call
102 to x-popup-dialog on the frame type, they all now support popup
103 dialogs.
104
105 * dispnew.c (save_current_matrix): Save the margin areas.
106 (restore_current_matrix): Restore margin areas.
107 (update_frame_with_menu): New function.
108
109 * dispextern.h (display_tty_menu_item, update_frame_with_menu):
110 Add prototypes.
111
112 * alloc.c (make_save_ptr): Now compiled unconditionally.
113
12013-10-08 Dmitry Antipov <dmantipov@yandex.ru> 1142013-10-08 Dmitry Antipov <dmantipov@yandex.ru>
2 115
3 * dispnew.c (set_window_update_flags): Add buffer arg. Adjust comment. 116 * dispnew.c (set_window_update_flags): Add buffer arg. Adjust comment.