Mercurial > emacs
annotate src/termchar.h @ 99492:ee792794d888
(isearch-search-fun): Compare the length of the
current search string with the length of the string from the
previous search state to detect the situation when the user
adds or removes characters in the search string.
Use word-search-forward-lax and word-search-backward-lax in this
case, and otherwise word-search-forward and word-search-backward.
author | Juri Linkov <juri@jurta.org> |
---|---|
date | Tue, 11 Nov 2008 19:43:09 +0000 |
parents | da105b0d0d3f |
children | 79edd8112818 |
rev | line source |
---|---|
486 | 1 /* Flags and parameters describing terminal's characteristics. |
75227
e90d04cd455a
Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents:
68651
diff
changeset
|
2 Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004, |
79759 | 3 2005, 2006, 2007, 2008 Free Software Foundation, Inc. |
486 | 4 |
5 This file is part of GNU Emacs. | |
6 | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93883
diff
changeset
|
7 GNU Emacs is free software: you can redistribute it and/or modify |
486 | 8 it under the terms of the GNU General Public License as published by |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93883
diff
changeset
|
9 the Free Software Foundation, either version 3 of the License, or |
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93883
diff
changeset
|
10 (at your option) any later version. |
486 | 11 |
12 GNU Emacs is distributed in the hope that it will be useful, | |
13 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 GNU General Public License for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
94994
29adfc9354e7
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
93883
diff
changeset
|
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ |
486 | 19 |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
20 /* Each termcap frame points to its own struct tty_output object in |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
21 the output_data.tty field. The tty_output structure contains the |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
22 information that is specific to termcap frames. */ |
486 | 23 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
24 struct tty_output |
53225
4250e7e26247
Add a level of indirection to terminal characteristics.
Karoly Lorentey <lorentey@elte.hu>
parents:
52401
diff
changeset
|
25 { |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
26 /* The Emacs structure for the tty device this frame is on. */ |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
27 struct tty_display_info *display_info; |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
28 |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
29 /* There is nothing else here at the moment... */ |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
30 }; |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
31 |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
32 /* Parameters that are shared between frames on the same tty device. */ |
83025
c66ebcc29777
Removed %T in mode-line-format. Trivial documentation changes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83008
diff
changeset
|
33 |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
34 struct tty_display_info |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
35 { |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
36 struct tty_display_info *next; /* Chain of all tty devices. */ |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
37 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
38 char *name; /* The name of the device file or 0 if |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
39 stdin/stdout. */ |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
40 char *type; /* The type of the tty. */ |
53225
4250e7e26247
Add a level of indirection to terminal characteristics.
Karoly Lorentey <lorentey@elte.hu>
parents:
52401
diff
changeset
|
41 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
42 /* Input/output */ |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
43 |
83065
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83027
diff
changeset
|
44 FILE *input; /* The stream to be used for terminal input. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83027
diff
changeset
|
45 NULL if the terminal is suspended. */ |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83027
diff
changeset
|
46 FILE *output; /* The stream to be used for terminal output. |
a871be7b26a5
Implemented suspending of emacsclient frames.
Karoly Lorentey <lorentey@elte.hu>
parents:
83027
diff
changeset
|
47 NULL if the terminal is suspended. */ |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
48 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
49 FILE *termscript; /* If nonzero, send all terminal output |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
50 characters to this stream also. */ |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
51 |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
52 struct emacs_tty *old_tty; /* The initial tty mode bits */ |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
53 |
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
54 int term_initted; /* 1 if we have been through init_sys_modes. */ |
53229
33c3c7c16e13
lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
55 |
33c3c7c16e13
lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
56 |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
57 int reference_count; /* Number of frames that are on this display. */ |
83008
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
58 |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83353
diff
changeset
|
59 struct terminal *terminal; /* Points back to the generic terminal |
83008
040dd41ed7d0
Hookified termcap devices, added bootstrap display device, plus many bugfixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83004
diff
changeset
|
60 structure. This is sometimes handy. */ |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83353
diff
changeset
|
61 |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
62 /* Info on cursor positioning. */ |
53232
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
63 struct cm *Wcm; |
22aaf1e5fbe6
Full support for multiple terminal I/O (with some rough edges).
Karoly Lorentey <lorentey@elte.hu>
parents:
53229
diff
changeset
|
64 |
53229
33c3c7c16e13
lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
65 /* Redisplay. */ |
33c3c7c16e13
lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
66 |
33c3c7c16e13
lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
67 Lisp_Object top_frame; /* The topmost frame on this tty. */ |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
68 |
83449
ff74a86c2b16
Overhaul and simplify single_kboard API. Allow calls to `recursive-edit' in process filters. Small fixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83431
diff
changeset
|
69 /* The previous frame we displayed on this tty. */ |
ff74a86c2b16
Overhaul and simplify single_kboard API. Allow calls to `recursive-edit' in process filters. Small fixes.
Karoly Lorentey <lorentey@elte.hu>
parents:
83431
diff
changeset
|
70 struct frame *previous_frame; |
93883
722fdbc7a012
* xdisp.c (redisplay_internal): Reset tty's color_mode when switching
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
87649
diff
changeset
|
71 int previous_color_mode; |
53229
33c3c7c16e13
lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
Karoly Lorentey <lorentey@elte.hu>
parents:
53226
diff
changeset
|
72 |
97649
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
73 #ifdef MSDOS |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
74 /* These variables describe the range of text currently shown in its |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
75 mouse-face, together with the window they apply to. As long as |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
76 the mouse stays within this range, we need not redraw anything on |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
77 its account. Rows and columns are glyph matrix positions in |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
78 MOUSE_FACE_WINDOW. */ |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
79 int mouse_face_beg_row, mouse_face_beg_col; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
80 int mouse_face_end_row, mouse_face_end_col; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
81 int mouse_face_past_end; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
82 Lisp_Object mouse_face_window; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
83 int mouse_face_face_id; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
84 |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
85 /* 1 if a mouse motion event came and we didn't handle it right away because |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
86 gc was in progress. */ |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
87 int mouse_face_deferred_gc; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
88 |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
89 /* FRAME and X, Y position of mouse when last checked for |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
90 highlighting. X and Y can be negative or out of range for the frame. */ |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
91 struct frame *mouse_face_mouse_frame; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
92 int mouse_face_mouse_x, mouse_face_mouse_y; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
93 |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
94 /* Nonzero means defer mouse-motion highlighting. */ |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
95 int mouse_face_defer; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
96 |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
97 /* Nonzero means that the mouse highlight should not be shown. */ |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
98 int mouse_face_hidden; |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
99 #endif /* !MSDOS */ |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
100 |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
101 /* Strings, numbers and flags taken from the termcap entry. */ |
486 | 102 |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
103 char *TS_ins_line; /* "al" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
104 char *TS_ins_multi_lines; /* "AL" (one parameter, # lines to insert) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
105 char *TS_bell; /* "bl" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
106 char *TS_clr_to_bottom; /* "cd" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
107 char *TS_clr_line; /* "ce", clear to end of line */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
108 char *TS_clr_frame; /* "cl" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
109 char *TS_set_scroll_region; /* "cs" (2 params, first line and last line) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
110 char *TS_set_scroll_region_1; /* "cS" (4 params: total lines, |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
111 lines above scroll region, lines below it, |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
112 total lines again) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
113 char *TS_del_char; /* "dc" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
114 char *TS_del_multi_chars; /* "DC" (one parameter, # chars to delete) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
115 char *TS_del_line; /* "dl" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
116 char *TS_del_multi_lines; /* "DL" (one parameter, # lines to delete) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
117 char *TS_delete_mode; /* "dm", enter character-delete mode */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
118 char *TS_end_delete_mode; /* "ed", leave character-delete mode */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
119 char *TS_end_insert_mode; /* "ei", leave character-insert mode */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
120 char *TS_ins_char; /* "ic" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
121 char *TS_ins_multi_chars; /* "IC" (one parameter, # chars to insert) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
122 char *TS_insert_mode; /* "im", enter character-insert mode */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
123 char *TS_pad_inserted_char; /* "ip". Just padding, no commands. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
124 char *TS_end_keypad_mode; /* "ke" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
125 char *TS_keypad_mode; /* "ks" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
126 char *TS_pad_char; /* "pc", char to use as padding */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
127 char *TS_repeat; /* "rp" (2 params, # times to repeat |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
128 and character to be repeated) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
129 char *TS_end_standout_mode; /* "se" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
130 char *TS_fwd_scroll; /* "sf" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
131 char *TS_standout_mode; /* "so" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
132 char *TS_rev_scroll; /* "sr" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
133 char *TS_end_termcap_modes; /* "te" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
134 char *TS_termcap_modes; /* "ti" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
135 char *TS_visible_bell; /* "vb" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
136 char *TS_cursor_normal; /* "ve" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
137 char *TS_cursor_visible; /* "vs" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
138 char *TS_cursor_invisible; /* "vi" */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
139 char *TS_set_window; /* "wi" (4 params, start and end of window, |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
140 each as vpos and hpos) */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
141 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
142 char *TS_enter_bold_mode; /* "md" -- turn on bold (extra bright mode). */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
143 char *TS_enter_dim_mode; /* "mh" -- turn on half-bright mode. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
144 char *TS_enter_blink_mode; /* "mb" -- enter blinking mode. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
145 char *TS_enter_reverse_mode; /* "mr" -- enter reverse video mode. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
146 char *TS_exit_underline_mode; /* "us" -- start underlining. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
147 char *TS_enter_underline_mode; /* "ue" -- end underlining. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
148 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
149 /* "as"/"ae" -- start/end alternate character set. Not really |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
150 supported, yet. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
151 char *TS_enter_alt_charset_mode; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
152 char *TS_exit_alt_charset_mode; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
153 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
154 char *TS_exit_attribute_mode; /* "me" -- switch appearances off. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
155 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
156 /* Value of the "NC" (no_color_video) capability, or 0 if not present. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
157 int TN_no_color_video; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
158 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
159 int TN_max_colors; /* "Co" -- number of colors. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
160 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
161 /* "pa" -- max. number of color pairs on screen. Not handled yet. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
162 Could be a problem if not equal to TN_max_colors * TN_max_colors. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
163 int TN_max_pairs; |
486 | 164 |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
165 /* "op" -- SVr4 set default pair to its original value. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
166 char *TS_orig_pair; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
167 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
168 /* "AF"/"AB" or "Sf"/"Sb"-- set ANSI or SVr4 foreground/background color. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
169 1 param, the color index. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
170 char *TS_set_foreground; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
171 char *TS_set_background; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
172 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
173 int TF_hazeltine; /* termcap hz flag. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
174 int TF_insmode_motion; /* termcap mi flag: can move while in insert mode. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
175 int TF_standout_motion; /* termcap mi flag: can move while in standout mode. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
176 int TF_underscore; /* termcap ul flag: _ underlines if over-struck on |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
177 non-blank position. Must clear before writing _. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
178 int TF_teleray; /* termcap xt flag: many weird consequences. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
179 For t1061. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
180 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
181 int RPov; /* # chars to start a TS_repeat */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
182 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
183 int delete_in_insert_mode; /* delete mode == insert mode */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
184 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
185 int se_is_so; /* 1 if same string both enters and leaves |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
186 standout mode */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
187 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
188 int costs_set; /* Nonzero if costs have been calculated. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
189 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
190 int insert_mode; /* Nonzero when in insert mode. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
191 int standout_mode; /* Nonzero when in standout mode. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
192 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
193 |
486 | 194 |
53233
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
195 /* 1 if should obey 0200 bit in input chars as "Meta", 2 if should |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
196 keep 0200 bit in input chars. 0 to ignore the 0200 bit. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
197 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
198 int meta_key; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
199 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
200 /* Size of window specified by higher levels. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
201 This is the number of lines, from the top of frame downwards, |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
202 which can participate in insert-line/delete-line operations. |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
203 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
204 Effectively it excludes the bottom frame_lines - specified_window_size |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
205 lines from those operations. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
206 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
207 int specified_window; |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
208 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
209 /* Flag used in tty_show/hide_cursor. */ |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
210 |
fe9b37bee5f7
Fully eliminated global tty state variables.
Karoly Lorentey <lorentey@elte.hu>
parents:
53232
diff
changeset
|
211 int cursor_hidden; |
82990
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
212 |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
213 /* Nonzero means use ^S/^Q for flow control. */ |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
214 int flow_control; |
2ecd1f669db9
Fixed X support, preliminary support for X-tty combo sessions.
Karoly Lorentey <lorentey@elte.hu>
parents:
82989
diff
changeset
|
215 |
53225
4250e7e26247
Add a level of indirection to terminal characteristics.
Karoly Lorentey <lorentey@elte.hu>
parents:
52401
diff
changeset
|
216 }; |
4250e7e26247
Add a level of indirection to terminal characteristics.
Karoly Lorentey <lorentey@elte.hu>
parents:
52401
diff
changeset
|
217 |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
218 /* A chain of structures for all tty devices currently in use. */ |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
219 extern struct tty_display_info *tty_list; |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
220 |
53225
4250e7e26247
Add a level of indirection to terminal characteristics.
Karoly Lorentey <lorentey@elte.hu>
parents:
52401
diff
changeset
|
221 |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
222 #define FRAME_TTY(f) \ |
97649
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
223 (((f)->output_method == output_termcap \ |
da105b0d0d3f
(FRAME_TTY): Support output_msdos_raw.
Eli Zaretskii <eliz@gnu.org>
parents:
94994
diff
changeset
|
224 || (f)->output_method == output_msdos_raw) \ |
83431
76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
Karoly Lorentey <lorentey@elte.hu>
parents:
83353
diff
changeset
|
225 ? (f)->terminal->display_info.tty \ |
82989
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
226 : (abort(), (struct tty_display_info *) 0)) |
f3845715a5f6
Separate frame-local, tty-dependent parameters from tty-local parameters.
Karoly Lorentey <lorentey@elte.hu>
parents:
53233
diff
changeset
|
227 |
53226
dd3018b4785b
Implemented multiple tty support.
Karoly Lorentey <lorentey@elte.hu>
parents:
53225
diff
changeset
|
228 #define CURTTY() FRAME_TTY (SELECTED_FRAME()) |
52401 | 229 |
230 /* arch-tag: bf9f0d49-842b-42fb-9348-ec8759b27193 | |
231 (do not change this comment) */ |