GTK eradication -- the build chain.
[sxemacs] / src / ui / conslots.h
1 /* Definitions of marked slots in consoles
2    Copyright (C) 1990, 1992, 1993 Free Software Foundation, Inc.
3
4 This file is part of SXEmacs
5
6 SXEmacs is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 SXEmacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19
20 /* Synched up with: Mule 2.0, FSF 19.30. (see FSF keyboard.h.) */
21
22 /* In the declaration of the console structure, this file is included
23    after defining MARKED_SLOT(x) to be Lisp_Object x; i.e. just a slot
24    definition.  In the garbage collector this file is included after
25    defining MARKED_SLOT(x) to be mark_object(console->x). */
26
27 #ifndef CONSOLE_SLOTS_FIRST_NAME
28 #define CONSOLE_SLOTS_FIRST_NAME name
29 #endif
30
31     /* Name of this console, for resourcing and printing purposes.
32        If not explicitly given, it's initialized in a console-specific
33        manner. */
34 MARKED_SLOT(name);
35
36     /* What this console is connected to */
37 MARKED_SLOT(connection);
38
39     /* A canonical name for the connection that is used to determine
40        whether create_console() is being called on an existing console. */
41 MARKED_SLOT(canon_connection);
42
43     /* List of devices on this console.  */
44 MARKED_SLOT(device_list);
45
46     /* Currently selected device.  */
47 MARKED_SLOT(selected_device);
48
49     /* Most-recently-selected non-minibuffer-only frame.  Always
50        the same as the selected frame, unless that's a minibuffer-only
51        frame. */
52 MARKED_SLOT(last_nonminibuf_frame);
53
54     /* If non-nil, a keymap that overrides all others but applies only to
55        this console.  Lisp code that uses this instead of calling next-event
56        can effectively wait for input in the any-console state, and hence
57        avoid blocking out the other consoles.  See universal-argument in
58        lisp/simple.el for an example.
59
60        #### This comes from FSF Emacs; but there's probably a better
61        solution that involves making next-event itself work over all
62        consoles. */
63 MARKED_SLOT(overriding_terminal_local_map);
64
65     /* Last command executed by the editor command loop, not counting
66        commands that set the prefix argument.  */
67 MARKED_SLOT(last_command);
68
69     /* The prefix argument for the next command, in raw form.  */
70 MARKED_SLOT(prefix_arg);
71
72     /* Where information about a partially completed key sequence
73        is kept.  */
74 MARKED_SLOT(command_builder);
75
76     /* Non-nil while a kbd macro is being defined.  */
77 MARKED_SLOT(defining_kbd_macro);
78
79     /* This is a lisp vector, which contains the events of the keyboard macro
80        currently being read.  It is reallocated when the macro gets too large.
81      */
82 MARKED_SLOT(kbd_macro_builder);
83
84     /* Last anonymous kbd macro defined.  */
85 MARKED_SLOT(last_kbd_macro);
86
87 #ifdef HAVE_TTY
88     /* ERASE character from stty settings.  */
89 MARKED_SLOT(tty_erase_char);
90 #endif
91
92     /* Minibufferless frames on this console use this frame's minibuffer.  */
93 MARKED_SLOT(default_minibuffer_frame);
94
95     /* Keymap mapping ASCII function key sequences onto their preferred forms.
96        Initialized by the terminal-specific lisp files.  */
97 MARKED_SLOT(function_key_map);
98
99 #ifndef CONSOLE_SLOTS_LAST_NAME
100 #define CONSOLE_SLOTS_LAST_NAME function_key_map
101 #endif