view lispintro/drawers.eps @ 83008:040dd41ed7d0

Hookified termcap devices, added bootstrap display device, plus many bugfixes. lisp/frame.el (display-color-cells): Pass display parameter to tty-display-color-cells. lisp/term/xterm.el (xterm-register-default-colors): Pass the selected-frame to display-color-cells. src/dispextern.h (set_terminal_modes, reset_terminal_modes): Removed declarations. (get_named_tty_display): New prototype. (tty_clear_end_of_line, term_init): Updated to new prototype. (initial_term_init): Renamed to init_initial_display. src/dispnew.c (Fredraw_frame): ifdef-out DOS-specific code. Add display parameter to set_terminal_modes call. (update_frame): Don't flush the tty of there is no tty. (init_display): Set up a termcap display on the controlling tty and change the initial frame to use that. Delete the initial display. src/frame.c (Fframep): Return t for the initial frame. (make_initial_frame): New function for creating the initial frame during bootstrap. Use init_initial_display, not initial_term_init. (make_terminal_frame): Removed special cases for creating the initial frame. src/frame.h (enum output_method): New entry: output_initial for the bootstrap display. (FRAME_INITIAL_P): New macro. (make_initial_frame): New prototype. src/keyboard.c (interrupt_signal): Exit Emacs on SIGINT from the (frameless) controlling tty, if possible. Explain this in a comment. (init_keyboard): Added comment about exiting on SIGINT. (Fset_input_mode): A termcap frame is never the initial frame anymore. src/sysdep.c (init_sys_modes): Update tty_set_terminal_modes call to the new prototype. (reset_sys_modes): Comment out tty_clear_end_of_line call; it doesn't work anymore. Update tty_reset_terminal_modes call. src/termchar.h (struct tty_display_info): Added pointer to the display structure, for reset_sys_modes. src/termhooks.h (struct display): Added display parameter to set_terminal_modes_hook and reset_terminal_modes_hook. src/term.c (initial_display): New variable. (tty_ring_bell, tty_update_end, tty_set_terminal_window, tty_cursor_to) (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame, tty_clear_end_of_line) (tty_write_glyphs, tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines): New functions. (ring_bell, update_end, set_terminal_window, cursor_to, raw_cursor_to) (clear_to_end, clear_frame, clear_end_of_line, write_glyphs, insert_glyphs) (delete_glyphs, ins_del_lines): Removed special casing of termcap displays. (get_tty_display): New function. (Ftty_display_color_p, Ftty_display_color_cells): Use it. (get_named_tty_display): Removed static. (tty_set_terminal_modes, tty_reset_terminal_modes): Changed to use a display parameter instead of tty_display_info for hook compatibility. (set_terminal_modes, reset_terminal_modes): Removed. (initial_term_init): Renamed to init_initial_display. Set up an output_initial device, not a termcap display. (delete_initial_display): New function. (maybe_fatal): New function, for private use of term_init. (term_init): New parameter for choosing between fatal and simple errors. Removed incomprehensible special casing for the second initialization of the controlling tty. Use maybe_fatal for error handling. Initialize termcap display hooks in the new device. Initialize the display pointer in the tty_display_info structure. (delete_tty): Replace order of reset_sys_modes and delete_display. src/window.c (init_window_once): Call make_initial_frame instead of make_terminal_frame. src/xfaces.c (realize_default_face, realize_face): Don't abort on the bootstrap display device. src/xterm.c (XTset_terminal_modes, XTreset_terminal_modes): Added display parameter. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-48
author Karoly Lorentey <lorentey@elte.hu>
date Fri, 09 Jan 2004 18:57:53 +0000
parents a8ee89e61d20
children 6ad2412f0362
line wrap: on
line source

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 34 577 324 778
%%Title: chest-of-drawers-diagram-new
%%CreationDate: Fri Sep 14 17:40:57 2001
%%Creator: Tgif-4.1.35 by William Chia-Wei Cheng (william@cs.UCLA.edu)
%%ProducedBy: (unknown)
%%Pages: 1
%%DocumentFonts: (atend)
%%EndComments
%%BeginProlog

/tgifdict 53 dict def
tgifdict begin

/tgifellipsedict 6 dict def
tgifellipsedict /mtrx matrix put

/TGEL % tgifellipse
 { tgifellipsedict begin
      /yrad exch def
      /xrad exch def
      /y exch def
      /x exch def
      /savematrix mtrx currentmatrix def
      x y translate
      xrad yrad scale
      0 0 1 0 360 arc
      savematrix setmatrix
   end
 } def

/TGMAX
 { exch dup 3 1 roll exch dup 3 1 roll gt { pop } { exch pop } ifelse
 } def
/TGMIN
 { exch dup 3 1 roll exch dup 3 1 roll lt { pop } { exch pop } ifelse
 } def
/TGSW { stringwidth pop } def

/bd { bind def } bind def

/GS { gsave } bd
/GR { grestore } bd
/NP { newpath } bd
/CP { closepath } bd
/CHP { charpath } bd
/CT { curveto } bd
/L { lineto } bd
/RL { rlineto } bd
/M { moveto } bd
/RM { rmoveto } bd
/S { stroke } bd
/F { fill } bd
/TR { translate } bd
/RO { rotate } bd
/SC { scale } bd
/MU { mul } bd
/DI { div } bd
/DU { dup } bd
/NE { neg } bd
/AD { add } bd
/SU { sub } bd
/PO { pop } bd
/EX { exch } bd
/CO { concat } bd
/CL { clip } bd
/EC { eoclip } bd
/EF { eofill } bd
/IM { image } bd
/IMM { imagemask } bd
/ARY { array } bd
/SG { setgray } bd
/RG { setrgbcolor } bd
/SD { setdash } bd
/W { setlinewidth } bd
/SM { setmiterlimit } bd
/SLC { setlinecap } bd
/SLJ { setlinejoin } bd
/SH { show } bd
/FF { findfont } bd
/MS { makefont setfont } bd
/AR { arcto 4 {pop} repeat } bd
/CURP { currentpoint } bd
/FLAT { flattenpath strokepath clip newpath } bd
/TGSM { tgiforigctm setmatrix } def
/TGRM { savematrix setmatrix } def

end

%%EndProlog
%%Page: 1 1

%%PageBoundingBox: 34 577 324 778
tgifdict begin
/tgifsavedpage save def

1 SM
1 W

0 SG

72 0 MU 72 11 MU TR
72 128 DI 100.000 MU 100 DI DU NE SC

GS

/tgiforigctm matrix currentmatrix def

% BOX
0 SG
GS
   10 SM
   GS
      NP 64 104 M 255 104 L 255 360 L 64 360 L CP
      S
   GR
GR

% POLY/OPEN-SPLINE
0 SG
GS
   NP
      65 296 M
      254 296 L
   TGSM
   1 W
   S
GR

% POLY/OPEN-SPLINE
0 SG
GS
   NP
      63 233 M
      255 233 L
   TGSM
   1 W
   S
GR

% POLY/OPEN-SPLINE
0 SG
GS
   NP
      63 169 M
      255 169 L
   TGSM
   1 W
   S
GR

% POLY/OPEN-SPLINE
0 SG
GS
   NP
      251 362 M
      251 361 L
      251 379 L
      244 379 L
      229 361 L
   TGSM
   1 W
   S
GR

% OVAL
0 SG
GS
   GS
      NP 160 72 10 6 TGEL
      S
   GR
GR

% POLY/OPEN-SPLINE
0 SG
GS
   NP
      63 104 M
      128 64 L
      138 69 L
   TGSM
   1 W
   S
GR

% POLY/OPEN-SPLINE
0 SG
GS
   NP
      255 103 M
      190 63 L
      180 68 L
   TGSM
   1 W
   S
GR

% TEXT
NP
0 SG
   GS
      1 W
      160 152 M
      GS
        GS
        0
            /Courier FF [17 0 0 -17 0 0] MS
            (symbol name) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (symbol name) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      160 41 M
      GS
        GS
        0
            /Courier FF [17 0 0 -17 0 0] MS
            (Chest of Drawers) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (Chest of Drawers) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      344 41 M
      GS
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (Contents of Drawers) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      344 160 M
      GS
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (bouquet) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      344 220 M
      GS
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            ([none]) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      344 279 M
      GS
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (\(rose violet buttercup\)) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      344 337 M
      GS
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            ([not described here]) SH
      GR
   GR

% POLY/OPEN-SPLINE
0 SG
GS
   NP
      68 362 M
      68 361 L
      68 379 L
      75 379 L
      90 361 L
   TGSM
   1 W
   S
GR

% TEXT
NP
0 SG
   GS
      1 W
      158 132 M
      GS
        GS
        0
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      345 139 M
      GS
            0 SG
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (map to) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      350 259 M
      GS
            0 SG
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (map to) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      159 213 M
      GS
        GS
        0
            /Courier FF [17 0 0 -17 0 0] MS
            (symbol definition) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (symbol definition) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      159 195 M
      GS
        GS
        0
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      160 276 M
      GS
        GS
        0
            /Courier FF [17 0 0 -17 0 0] MS
            (variable name) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (variable name) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      158 260 M
      GS
        GS
        0
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      160 339 M
      GS
        GS
        0
            /Courier FF [17 0 0 -17 0 0] MS
            (property list) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /Courier FF [17 0 0 -17 0 0] MS
            (property list) SH
      GR
   GR

% TEXT
NP
0 SG
   GS
      1 W
      158 323 M
      GS
        GS
        0
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) TGSW 
        AD
        GR
      2 DI NE 0 RM
            0 SG
            /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS
            (directions to) SH
      GR
   GR

GR
tgifsavedpage restore
end
showpage

%%Trailer
%MatchingCreationDate: Fri Sep 14 17:40:57 2001
%%DocumentFonts: NewCenturySchlbk-Roman
%%+ Courier
%%EOF