1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 08:11:05 -08:00
emacs/etc
Eli Zaretskii 4ed774157d 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.
2013-10-08 20:49:20 +03:00
..
charsets Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
e Spelling fixes. 2011-11-26 20:43:11 -08:00
forms Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
gnus Spelling fixes. 2011-11-19 18:29:42 -08:00
images Prefer UTF-8 when the encoding shouldn't matter and changes are small. 2013-03-05 09:13:01 -08:00
nxml Nuke arch-tags. 2011-01-15 15:16:57 -08:00
org Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
refcards * etc/refcards/Makefile (PS_ENGLISH, PS_CZECH, PS_FRENCH, PS_GERMAN) 2013-09-09 12:59:07 -04:00
schema Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
srecode Merge from CEDET upstream (8564). 2013-06-02 15:33:09 +02:00
themes * themes/leuven-theme.el: Add Commentary and some headers, update 2013-10-02 06:09:31 +03:00
tutorials etc/tutorials/TUTORIAL.es: Fix typo (bug#15027). 2013-08-05 18:29:09 +02:00
.gitignore Use just DOC instead of DOC-nn.mm. 2013-05-15 16:12:53 -04:00
AUTHORS Regenerate AUTHORS and ldefs-boot.el 2013-03-04 19:55:25 -08:00
CALC-NEWS Remove info duplicated from manual; convert to outline mode format. 2013-01-31 20:04:23 -08:00
celibacy.1
CENSORSHIP
ChangeLog * etc/NEWS: Mention new feature of register commands. 2013-10-07 11:34:26 +08:00
compilation.txt Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
condom.1
CONTRIBUTE * etc/CONTRIBUTE: Copyedits. 2013-09-16 14:37:18 -04:00
COOKIES
COPYING
copying.paper
DEBUG Spelling fixes. 2013-06-18 10:15:25 -07:00
DEVEL.HUMOR PS: I re-read the manual of bzr to make sure I don't break anything. 2013-08-02 16:26:22 +02:00
DISTRIB Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
echo.msg
edt-user.el Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
emacs-buffer.gdb Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
emacs.desktop
emacs.icon
enriched.doc Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
ERC-NEWS Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
ETAGS.EBNF Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
ETAGS.README Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
FTP
future-bug Rename configure.in to configure.ac. 2012-07-08 21:52:49 -07:00
GNU Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
GNUS-NEWS Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
gnus-tut.txt Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
grep.txt * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Support =linenumber= 2013-05-24 23:54:38 +03:00
HELLO Add coding tags for iso-2022-7bit files that are not already tagged. 2013-03-12 09:53:31 -07:00
INTERVIEW
JOKES Spelling fixes. 2011-11-14 12:23:26 -08:00
LINUX-GNU
MACHINES Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
MAILINGLISTS Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
MH-E-NEWS Spelling fixes. 2013-03-02 22:40:21 -08:00
MORE.STUFF Put back no-longer-defunct URL from 2012-12-20T14:57:40Z!eggert@cs.ucla.edu 2013-04-28 10:40:32 -07:00
MOTIVATION
NEWS Support menus on text-mode terminals. 2013-10-08 20:49:20 +03:00
NEWS.1-17 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
NEWS.18 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
NEWS.19 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
NEWS.20 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
NEWS.21 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
NEWS.22 Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
NEWS.23 Merge calc news from lisp/calc/README into etc/NEWS files 2013-01-31 19:51:08 -08:00
NEXTSTEP Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
NXML-NEWS
ORDERS
ORG-NEWS Fixes related to the last Org merge. 2013-01-08 23:02:09 +01:00
PROBLEMS Update location of Emacs on MS Windows FAQ 2013-08-27 15:40:24 -04:00
ps-prin0.ps Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
ps-prin1.ps Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
publicsuffix.txt Spelling fixes. 2012-04-13 22:10:55 -07:00
README Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
rgb.txt
SERVICE Nuke arch-tags. 2011-01-15 15:16:57 -08:00
ses-example.ses Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
sex.6
spook.lines * etc/spook.lines: Minor commentary update 2013-08-28 21:05:19 -04:00
TERMS Update copyright notices for 2013. 2013-01-01 09:11:05 +00:00
THE-GNU-PROJECT Spelling fixes. 2011-11-19 23:30:16 -08:00
TODO * doc/misc/newsticker.texi (Usage): Use @key for RET. 2013-08-07 20:44:16 +08:00
WHY-FREE
yow.lines

This directory contains the architecture-independent files used by or
with Emacs.  This includes some text files of documentation for GNU
Emacs or of interest to Emacs users, and the file of dumped docstrings
for Emacs functions and variables.

`forms-d2.dat' is an example data file used by forms-d2.el.

COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES

File: emacs.icon
  Author: Sun Microsystems, Inc
  Copyright (C) 1999, 2001-2013 Free Software Foundation, Inc.
  License: GNU General Public License version 3 or later (see COPYING)