annotate src/s/hpux9.h @ 53226:dd3018b4785b

Implemented multiple tty support. README.multi-tty: New file. src/termchar.h (struct terminal): Renamed to struct tty_output. Added name, type, input, output, termscript, old_tty, term_initted, old_tty_valid, background_pixel, foreground_pixel, next fields. (TERMINAL_*): Renamed to TTY_* for brevity. (CURRENT_TERMINAL): Renamed to CURTTY for brevity. (tty_list): New variable. (TERMINAL_PTR): Removed. (FRAME_TTY): New function. (TTY_NAME, TTY_TYPE): New macros. src/term.c (current_terminal): Removed. (_current_terminal): Removed. (tty_list): New variable. (OUTPUT, OUTPUT1, OUTPUTL, OUTPUT_IF, OUTPUT1_IF): Added tty parameter. (set_terminal_modes): Added tty parameter. (reset_terminal_modes): Added tty parameter. (cursor_to, raw_cursor_to): Updated cmgoto() calls. (clear_end_of_line, write_glyphs): Add indirection to terminal output, updated cmcheckmagic() calls. (get_named_tty): New function. (term_dummy_init): New function. (term_init): Added name parameter, added tty_output return value. Changed algorithm to update tty_list. Call init_sys_modes() to set up tty mode on the newly opened terminal device. (get_current_tty): New function, intended for debugging. src/termhooks.h (termscript): Removed. src/w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Removed redundant definition. src/macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Ditto. src/window.c (init_window_once): Call make_terminal_frame with two zero parameters. src/cm.h (emacs_tputs): New macro to set current_tty, and then call tputs(). (current_tty): New variable, for cmputc(). (cmcheckmagic, cmputc, cmgoto): Added prototypes. src/cm.c (current_tty): New variable, for cmputc(). (cmputc): Use it. (cmcheckmagic): Added tty parameter, look up terminal streams there. (calccost): Added tty parameter. Use emacs_tputs() instead of tputs(). (cmgoto): Added tty parameter. Pass it on to calccost(). Use emacs_tputs() instead of tputs(). src/dispextern.h (set_terminal_modes, reset_terminal_modes): Added tty parameter. (term_init): Added name parameter (the filename of the terminal device). Added return value (struct tty_output). src/dispnew.c: Replace CURTTY() with local variables throughout the file (where applicable). (termscript): Moved to struct tty_output. (terminal_type): Removed. src/emacs.c (main): Don't call init_sys_modes(), the new term_init() already does that during init_display(). (shut_down_emacs): Call reset_all_sys_modes() instead of reset_sys_modes(). src/frame.c (Qtty, Qtty_type): New variables. (syms_of_frame): Initialize them. (tty_display): Removed. (make_terminal_frame): New parameters (tty filename and type). Initialize output_data.tty field instead of output_data.x. Use term_init() to find the right tty_output. (Use term_dummy_init() during bootstrap.) (Fmake_terminal_frame): Get device filename and type from frame parameters. src/frame.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Do the right thing if the frame is a tty. (struct frame): New member in output_data: tty. (make_terminal_frame): Updated of prototype. src/keyboard.c (Fset_input_mode): Call reset_all_sys_modes(), not reset_sys_modes(). Ditto with init_sys_modes(). src/lisp.h (tty_output): Added forward declaration. (init_sys_modes, reset_sys_modes): Updated prototype. (init_all_sys_modes, reset_all_sys_modes): New prototypes. src/scroll.c: Replace CURTTY() with local variables throughout the file (where applicable). src/sysdep.c (old_tty, term_initted, old_tty_valid): Moved to struct tty_output.( (init_all_sys_modes): New function. (init_sys_modes): Added tty_output parameter. Use it. (reset_all_sys_modes): New function. (reset_sys_modes): Added tty_output parameter. Use it. src/Makefile.in: Update dependencies. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-2
author Karoly Lorentey <lorentey@elte.hu>
date Thu, 25 Dec 2003 06:59:31 +0000
parents 695cf19ef79e
children 68aa357d6215 375f2633d815
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4324
108978f3defd * hpux9.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 4322
diff changeset
1 /* System description file for hpux version 9. */
3296
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
2
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
3 #include "hpux8.h"
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 #define HPUX9
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
4322
2c439a03b90c * s/hpux9.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 3543
diff changeset
7 /* If Emacs doesn't seem to work when built to use GNU malloc, you
2c439a03b90c * s/hpux9.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 3543
diff changeset
8 probably need to get the latest patches to the HP/UX compiler.
2c439a03b90c * s/hpux9.h: Doc fix.
Jim Blandy <jimb@redhat.com>
parents: 3543
diff changeset
9 See `etc/MACHINES' for more information. */
3543
67c6f072c8f9 (SYSTEM_MALLOC, GNU_MALLOC, REL_ALLOC): Definition and #undefs deleted.
Richard M. Stallman <rms@gnu.org>
parents: 3296
diff changeset
10 #if 0
3296
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11 #define SYSTEM_MALLOC 1
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 #undef GNU_MALLOC
9425c2065167 Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 #undef REL_ALLOC
3543
67c6f072c8f9 (SYSTEM_MALLOC, GNU_MALLOC, REL_ALLOC): Definition and #undefs deleted.
Richard M. Stallman <rms@gnu.org>
parents: 3296
diff changeset
14 #endif
7707
8b0e81f12ac1 (C_SWITCH_SYSTEM): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4324
diff changeset
15
7769
a8c703d510ba (C_SWITCH_SYSTEM): Put inside __GNUC__ conditional.
Richard M. Stallman <rms@gnu.org>
parents: 7707
diff changeset
16 #ifndef __GNUC__
7707
8b0e81f12ac1 (C_SWITCH_SYSTEM): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 4324
diff changeset
17 /* Make room for enough symbols, so dispnew.c does not fail. */
8058
671738c86a82 (C_SWITCH_SYSTEM): Add -D_BSD.
Richard M. Stallman <rms@gnu.org>
parents: 7769
diff changeset
18 #define C_SWITCH_SYSTEM -Wp,-H200000 -D_BSD
9905
1065c769cf32 (C_SWITCH_SYSTEM) [__GNUC__]: Set -D_BSD to get the
Richard M. Stallman <rms@gnu.org>
parents: 8851
diff changeset
19 #else
1065c769cf32 (C_SWITCH_SYSTEM) [__GNUC__]: Set -D_BSD to get the
Richard M. Stallman <rms@gnu.org>
parents: 8851
diff changeset
20 #define C_SWITCH_SYSTEM -D_BSD
7769
a8c703d510ba (C_SWITCH_SYSTEM): Put inside __GNUC__ conditional.
Richard M. Stallman <rms@gnu.org>
parents: 7707
diff changeset
21 #endif
8371
5ced823b544f (HAVE_TERMIOS, NO_TERMIO): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 8058
diff changeset
22
8851
7a28aad7658f (HAVE_TERMIO, HAVE_TERMIOS, NO_TERMIO): Undo Jul 28 change.
Richard M. Stallman <rms@gnu.org>
parents: 8371
diff changeset
23 #if 0 /* These definitions run into a bug in hpux
7a28aad7658f (HAVE_TERMIO, HAVE_TERMIOS, NO_TERMIO): Undo Jul 28 change.
Richard M. Stallman <rms@gnu.org>
parents: 8371
diff changeset
24 whereby trying to disable the vdsusp character has no effect.
7a28aad7658f (HAVE_TERMIO, HAVE_TERMIOS, NO_TERMIO): Undo Jul 28 change.
Richard M. Stallman <rms@gnu.org>
parents: 8371
diff changeset
25 supposedly there is no particular need for this. */
8371
5ced823b544f (HAVE_TERMIOS, NO_TERMIO): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 8058
diff changeset
26 /* neal@ctd.comsat.com */
5ced823b544f (HAVE_TERMIOS, NO_TERMIO): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 8058
diff changeset
27 #undef HAVE_TERMIO
5ced823b544f (HAVE_TERMIOS, NO_TERMIO): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 8058
diff changeset
28 #define HAVE_TERMIOS
5ced823b544f (HAVE_TERMIOS, NO_TERMIO): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 8058
diff changeset
29 #define NO_TERMIO
8851
7a28aad7658f (HAVE_TERMIO, HAVE_TERMIOS, NO_TERMIO): Undo Jul 28 change.
Richard M. Stallman <rms@gnu.org>
parents: 8371
diff changeset
30 #endif
10780
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
31
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
32 /* According to ngorelic@speclab.cr.usgs.gov,
14036
621a575db6f7 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 13880
diff changeset
33 references to the X11R4 directories in these variables
10780
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
34 (inherited from hpux8.h)
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
35 cause the wrong libraries to be found,
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
36 and the options to specify the X11R5 directories are unnecessary
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
37 since the R5 files are found without them. */
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
38 #undef LIB_X11_LIB
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
39 #undef C_SWITCH_X_SYSTEM
defbf55d87e2 (LIB_X11_LIB, C_SWITCH_X_SYSTEM, LD_SWITCH_X_DEFAULT):
Richard M. Stallman <rms@gnu.org>
parents: 9905
diff changeset
40 #undef LD_SWITCH_X_DEFAULT
11338
fe7f920ec4ff (LD_SWITCH_X_DEFAULT): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 10780
diff changeset
41 /* However, HPUX 9 has Motif includes in a strange place.
12407
616493c90878 (LIBXMU): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 11871
diff changeset
42 So search that place. These definitions assume that X11R5 is being
616493c90878 (LIBXMU): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 11871
diff changeset
43 used -- if X11R4 is used, "s/hpux9-x11r4.h" gets loaded instead. */
16204
7cd96606306e (C_SWITCH_X_SYSTEM): Add -I/usr/contrib/X11R5/include.
Richard M. Stallman <rms@gnu.org>
parents: 14036
diff changeset
44 /* horst@tkm.physik.uni-karlsruhe.de says that the /usr/contrib/... dirs
7cd96606306e (C_SWITCH_X_SYSTEM): Add -I/usr/contrib/X11R5/include.
Richard M. Stallman <rms@gnu.org>
parents: 14036
diff changeset
45 are needed to find the Xmu and Xaw libraries. */
7cd96606306e (C_SWITCH_X_SYSTEM): Add -I/usr/contrib/X11R5/include.
Richard M. Stallman <rms@gnu.org>
parents: 14036
diff changeset
46 #define C_SWITCH_X_SYSTEM -I/usr/include/X11R5 -I/usr/contrib/X11R5/include -I/usr/include/Motif1.2
7cd96606306e (C_SWITCH_X_SYSTEM): Add -I/usr/contrib/X11R5/include.
Richard M. Stallman <rms@gnu.org>
parents: 14036
diff changeset
47 #define LD_SWITCH_X_DEFAULT -L/usr/lib/X11R5 -L/usr/contrib/X11R5/lib -L/usr/lib/Motif1.2
12407
616493c90878 (LIBXMU): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 11871
diff changeset
48
13785
67493ecbff07 (LIBXMU, NO_EDITRES): Define only if not HAVE_LIBXMU.
Karl Heuer <kwzh@gnu.org>
parents: 13509
diff changeset
49 #ifndef HAVE_LIBXMU
13509
eddef35ecc54 (NO_EDITRES): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13463
diff changeset
50 /* HP-UX doesn't supply Xmu. */
12407
616493c90878 (LIBXMU): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 11871
diff changeset
51 #define LIBXMU
13509
eddef35ecc54 (NO_EDITRES): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13463
diff changeset
52
27121
a1daedc19c52 (NO_EDITRES): Define even if HAVE_LIBXMU.
Gerd Moellmann <gerd@gnu.org>
parents: 19738
diff changeset
53 #endif
a1daedc19c52 (NO_EDITRES): Define even if HAVE_LIBXMU.
Gerd Moellmann <gerd@gnu.org>
parents: 19738
diff changeset
54
a1daedc19c52 (NO_EDITRES): Define even if HAVE_LIBXMU.
Gerd Moellmann <gerd@gnu.org>
parents: 19738
diff changeset
55 /* Assar Westerlund <assar@sics.se> says this is necessary for
a1daedc19c52 (NO_EDITRES): Define even if HAVE_LIBXMU.
Gerd Moellmann <gerd@gnu.org>
parents: 19738
diff changeset
56 HP-UX 10.20, and that it works for HP-UX 0 as well. */
13509
eddef35ecc54 (NO_EDITRES): Defined.
Richard M. Stallman <rms@gnu.org>
parents: 13463
diff changeset
57 #define NO_EDITRES
12449
1370b4b76c60 (LIBX11_SYSTEM): Add undef.
Richard M. Stallman <rms@gnu.org>
parents: 12407
diff changeset
58
1370b4b76c60 (LIBX11_SYSTEM): Add undef.
Richard M. Stallman <rms@gnu.org>
parents: 12407
diff changeset
59 /* zoo@armadillo.com says we don't need -lXext in HPUX 9. */
1370b4b76c60 (LIBX11_SYSTEM): Add undef.
Richard M. Stallman <rms@gnu.org>
parents: 12407
diff changeset
60 #undef LIBX11_SYSTEM
16868
97f000e93516 (HAVE_PSTAT_GETDYNAMIC): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 16204
diff changeset
61
97f000e93516 (HAVE_PSTAT_GETDYNAMIC): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 16204
diff changeset
62 /* Tested in getloadavg.c. */
97f000e93516 (HAVE_PSTAT_GETDYNAMIC): New definition.
Richard M. Stallman <rms@gnu.org>
parents: 16204
diff changeset
63 #define HAVE_PSTAT_GETDYNAMIC
19738
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
64
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
65 /* Eric Backus <ericb@lsid.hp.com> says, HP-UX 9.x on HP 700 machines
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
66 has a broken `rint' in some library versions including math library
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
67 version number A.09.05.
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
68
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
69 You can fix the math library by installing patch number PHSS_4630.
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
70 But we can fix it more reliably for Emacs like this. */
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
71 #undef HAVE_RINT
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
72
ecbb06adc669 (HAVE_RINT): Add #undef.
Richard M. Stallman <rms@gnu.org>
parents: 16868
diff changeset
73
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 27121
diff changeset
74 /* arch-tag: 0a5e9f05-012c-4962-a222-a7a3a7fe0ab7
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 27121
diff changeset
75 (do not change this comment) */