view lispintro/cons-3.eps @ 83431:76396de7f50a

Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly. * src/termhooks.h (struct device): Rename to `terminal'. Rename member `next_device' to `next_terminal'. (device_list): Rename to `terminal_list'. (FRAME_DEVICE): Rename to `FRAME_TERMINAL'. (DEVICE_TERMINAL_CODING): Rename to `TERMINAL_TERMINAL_CODING'. (TERMINAL_KEYBOARD_CODING): Rename to `TERMINAL_KEYBOARD_CODING'. (DEVICE_ACTIVE_P): Rename to `TERMINAL_ACTIVE_P'. Update declarations and macro definitions. * src/termchar.h (tty_display_info): Rename member `device' to `terminal'. (FRAME_TTY): Update for renames. * src/xterm.h (x_display_info): Rename member `device' to `terminal'. * src/frame.h (frame): Rename `device' member to `terminal'. (FRAME_KBOARD, FRAME_LIVE_P, Qdevice, Qdisplay_live_p): Update for renames. * src/lisp.h (set_process_environment): Rename to `set_global_environment'. (device): Rename to `terminal'. * src/dispextern.h: Update declarations and macro definitions. * src/terminal.c (device_list): Rename to `terminal_list'. (next_device_id): Rename to `next_terminal_id'. (initial_device): Rename to `initial_terminal'. (get_device): Rename to `get_terminal'. (create_device): Rename to `create_terminal'. (mark_devices): Rename to `mark_terminals'. (delete_device): Rename to `delete_terminal'. (Fdelete_display): Rename to `Fdelete_terminal'. (Fframe_terminal): Move here from frame.c. (Fdisplay_live_p): Rename to `Fterminal_live_p'. (Fdisplay_list): Rename to `Fterminal_list'. (Fdisplay_name): Rename to `Fterminal_name'. (init_initial_device): Rename to `init_initial_terminal'. (delete_initial_device): Rename to `delete_initial_terminal'. (ring_bell, update_begin, 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, get_terminal_param, store_terminal_param) (Fterminal_parameters, Fterminal_parameter) (Fmodify_terminal_parameters, Fset_terminal_parameter) (syms_of_terminal): Update for renames. * src/term.c (get_tty_device): Rename to `get_tty_terminal'. Update. (Fdisplay_tty_type): Rename to `Ftty_type'. (Fdisplay_controlling_tty_p): Rename to `Fcontrolling_tty_p'. (delete_tty, tty_set_terminal_modes, tty_reset_terminal_modes) (Ftty_display_color_p, Ftty_display_color_cells, get_named_tty) (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output) (init_tty, maybe_fatal, delete_tty, syms_of_term): Update for rename. * src/frame.c (Qdevice): Rename to `Qterminal'. (Qdisplay_live_p): Rename to `Qterminal_live_p'. (terminal_frame_count): Rename to `tty_frame_count'. (Fframe_display): Move to terminal.c, rename to `Fframe_terminal'. (make_frame_without_minibuffer, make_initial_frame) (make_terminal_frame, Fmodify_frame_parameters) (do_switch_frame, Fdelete_frame, Fmouse_position) (Fmouse_pixel_position, Fraise_frame, Flower_frame) (Fredirect_frame_focus, set_term_frame_name, syms_of_frame): Update for renames. * src/xdisp.c (message2_nolog, message3_nolog, redisplay_internal) (set_vertical_scroll_bar, redisplay_window, check_x_display_info) (x_set_scroll_bar_foreground, x_set_scroll_bar_background) (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p) (Fx_display_pixel_width, Fx_display_pixel_height) (Fx_display_planes, Fx_display_color_cells) (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version) (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width) (Fx_display_backing_store, Fx_display_visual_class) (Fx_display_save_under, Fx_close_connection, x_create_tip_frame): Update for renames. * xterm.c (handle_one_xevent): Initialize `f' to NULL. (x_delete_device): Rename to `x_delete_terminal'. (x_create_device): Rename to `x_create_terminal'. (XTset_terminal_modes, XTreset_terminal_modes) (XTread_socket, x_connection_closed, x_term_init) (x_term_init, x_delete_display): Update for renames. * src/dispnew.c (Fredraw_frame, Fsend_string_to_terminal) (Fsend_string_to_terminal, init_display): Update for renames. * src/keyboard.c (push_frame_kboard, pop_kboard, pop_kboard) (kbd_buffer_get_event, read_avail_input, tty_read_avail_input) (interrupt_signal, Fset_output_flow_control) (Fset_input_meta_mode, Fset_quit_char, delete_kboard) (syms_of_keyboard): Update for renames. * src/alloc.c (mark_devices): Update declaration. (Fgarbage_collect): Update for renames. * src/coding.c (Fset_terminal_coding_system_internal) (Fterminal_coding_system4) (Fset_keyboard_coding_system_internal) (Fkeyboard_coding_system): Update for renames. * src/data.c (Fterminal_local_value, Fset_terminal_local_value): Update for renames. * src/minibuf.c (read_minibuf): Update for renames. * src/sysdep.c (init_sys_modes, reset_sys_modes): Update for renames. * xselect.c (x_handle_selection_clear): Update for renames. * lisp/files.el (save-buffers-kill-display): Rename to `save-buffers-kill-terminal'. (save-buffers-kill-terminal, ctl-x-map): Update for renames. * frame.el (make-frame): Rename 'device frame parameter to 'terminal. Update. (frames-on-display-list, framep-on-display, suspend-frame): Update for renames. (selected-display): Rename to `selected-terminal'. * server.el (server-save-buffers-kill-display): Rename to `server-save-buffers-kill-terminal'. (server-delete-client, server-handle-delete-frame) (server-handle-suspend-tty, server-process-filter) (server-switch-buffer): Update for renames. * startup.el (normal-splash-screen, normal-splash-screen): Update for renames. * talk.el (talk): Update for renames. * termdev.el (terminal-id): Update for renames. * xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal) (turn-off-xterm-mouse-tracking-on-terminal) (xterm-mouse-handle-delete-frame): Update for renames. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-471
author Karoly Lorentey <lorentey@elte.hu>
date Thu, 29 Dec 2005 18:20:26 +0000
parents a8ee89e61d20
children 6ad2412f0362
line wrap: on
line source

%!
%%BoundingBox: -1 691 324 757
%%Title: cons-cell-diagram3
%%CreationDate: Wed Mar  8 14:25:41 1995
%%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu)
%
%	Due to bugs in Transcript, the 'PS-Adobe-' stuff is omitted from line 1
%

/tgifdict 132 dict def
tgifdict begin

%
%	Using a zero value radius for an ellipse or an arc would result
%		in a non-invertible CTM matrix which causes problem when this
%		when this PostScript is wrapped inside other routines, such as
%		the multi.ps package from
%		ftp.ucc.su.oz.au:/pub/ps_printing/multi.  You can overcome such
%		error by uncommenting the sole line of the procedure below:
%
/tgif_min_radius
 {
%    dup 0.01 lt { pop 0.01 } if
 } bind def

/tgifellipsedict 6 dict def
tgifellipsedict /mtrx matrix put

/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

/tgifarrowtipdict 8 dict def
tgifarrowtipdict /mtrx matrix put

/tgifarrowtip
 { tgifarrowtipdict begin
      /dy exch def
      /dx exch def
      /h exch def
      /w exch def
      /y exch def
      /x exch def
      /savematrix mtrx currentmatrix def
      x y translate
      dy dx atan rotate
      0 0 moveto
      w neg h lineto
      w neg h neg lineto
      savematrix setmatrix
   end
 } def

/tgifarcdict 8 dict def
tgifarcdict /mtrx matrix put

/tgifarcn
 { tgifarcdict begin
      /endangle exch def
      /startangle exch def
      /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 startangle endangle arc
      savematrix setmatrix
   end
 } def

/tgifarc
 { tgifarcdict begin
      /endangle exch def
      /startangle exch def
      /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 startangle endangle arcn
      savematrix setmatrix
   end
 } def

/tgifsetuserscreendict 22 dict def
tgifsetuserscreendict begin
   /tempctm matrix def
   /temprot matrix def
   /tempscale matrix def

   /concatprocs
    { /proc2 exch cvlit def
      /proc1 exch cvlit def
      /newproc proc1 length proc2 length add array def
      newproc 0 proc1 putinterval
      newproc proc1 length proc2 putinterval
      newproc cvx
    } def
   /resmatrix matrix def
   /findresolution
    { 72 0 resmatrix defaultmatrix dtransform
      /yres exch def /xres exch def
      xres dup mul yres dup mul add sqrt
    } def
end

/tgifsetuserscreen
 { tgifsetuserscreendict begin
      /spotfunction exch def
      /screenangle exch def
      /cellsize exch def

      /m tempctm currentmatrix def
      /rm screenangle temprot rotate def
      /sm cellsize dup tempscale scale def

      sm rm m m concatmatrix m concatmatrix pop

      1 0 m dtransform /y1 exch def /x1 exch def

      /veclength x1 dup mul y1 dup mul add sqrt def
      /frequency findresolution veclength div def

      /newscreenangle y1 x1 atan def

      m 2 get m 1 get mul m 0 get m 3 get mul sub 0 gt

      {{neg} /spotfunction load concatprocs
         /spotfunction exch def
      } if

      frequency newscreenangle /spotfunction load setscreen
   end
 } def

/tgifsetpatterndict 18 dict def
tgifsetpatterndict begin
   /bitison
    { /ybit exch def /xbit exch def
      /bytevalue bstring ybit bwidth mul xbit 8 idiv add get def

      /mask 1 7 xbit 8 mod sub bitshift def
      bytevalue mask and 0 ne
    } def
end

/tgifbitpatternspotfunction
 { tgifsetpatterndict begin
      /y exch def /x exch def

      /xindex x 1 add 2 div bpside mul cvi def
      /yindex y 1 add 2 div bpside mul cvi def

      xindex yindex bitison
       { /onbits onbits 1 add def 1 }
       { /offbits offbits 1 add def 0 }
       ifelse
   end
 } def

/tgifsetpattern
 { tgifsetpatterndict begin
      /cellsz exch def
      /angle exch def
      /bwidth exch def
      /bpside exch def
      /bstring exch def

      /onbits 0 def /offbits 0 def
      cellsz angle /tgifbitpatternspotfunction load tgifsetuserscreen
      {} settransfer
      offbits offbits onbits add div setgray
   end
 } def

/tgifxpmdict 4 dict def
/tgifbwpicstr 1 string def
/tgifcolorpicstr 3 string def

/tgifsetpixels { tgifxpmdict begin /pixels exch def end } def

/tgifsetpix { tgifxpmdict begin pixels 3 1 roll putinterval end } def

/tgifbwspot
 { tgifxpmdict begin
      /index exch def
      tgifbwpicstr 0
      pixels index 3 mul 3 getinterval aload pop
      255 mul .114 mul exch 255 mul .587 mul add exch 255 mul .299 mul add
      cvi put
      tgifbwpicstr
   end
 } def

/tgifcolorspot
 { tgifxpmdict begin
      /index exch def
      pixels index 3 mul 3 getinterval aload pop
      255 mul cvi tgifcolorpicstr 2 3 -1 roll put
      255 mul cvi tgifcolorpicstr 1 3 -1 roll put
      255 mul cvi tgifcolorpicstr 0 3 -1 roll put
      tgifcolorpicstr
   end
 } def

/tgifnewcolorspot
 { tgifxpmdict begin
      /index exch def
      pixels index 3 mul 3 getinterval aload pop setrgbcolor
   end
 } def

/tgifcolordict 4 dict def

/colorimage where
 { pop }
 { /colorimage
   { tgifcolordict begin
        pop pop pop pop pop
        /ih exch def
        /iw exch def
        /x 0 def
        /y 0 def
        1 1 ih
         { pop 1 1 iw
            { pop currentfile
              tgifbwpicstr readhexstring pop 0 get tgifnewcolorspot
              x y moveto 1 0 rlineto 0 1 rlineto -1 0 rlineto
              closepath fill
              /x x 1 add def
            } for
           /y y 1 add def
           /x 0 def
         } for
     end
   } def
 } ifelse

/tgifpatdict 10 dict def

/tgifpatbyte
 { currentdict /retstr get exch
   pat i cellsz mod get put
 } def

/tgifpatproc
 { 0 1 widthlim {tgifpatbyte} for retstr
   /i i 1 add def
 } def

/tgifpatfill
 { tgifpatdict begin
      /h exch def
      /w exch def
      /lty exch def
      /ltx exch def
      /cellsz exch def
      /pat exch def

      /widthlim w cellsz div cvi 1 sub def
      /retstr widthlim 1 add string def
      /i 0 def

      ltx lty translate
      w h true [1 0 0 1 0 0] {tgifpatproc} imagemask
      ltx neg lty neg translate
   end
 } def

/pat1 <ffffffffffffffff> def
/pat2 <0000000000000000> def
/pat3 <8000000008000000> def
/pat4 <8800000022000000> def
/pat5 <8800220088002200> def
/pat6 <8822882288228822> def
/pat7 <aa55aa55aa55aa55> def
/pat8 <77dd77dd77dd77dd> def
/pat9 <77ffddff77ffddff> def
/pat10 <77ffffff77ffffff> def
/pat11 <7fffffff7fffffff> def
/pat12 <8040200002040800> def
/pat13 <40a00000040a0000> def
/pat14 <ff888888ff888888> def
/pat15 <ff808080ff080808> def
/pat16 <f87422478f172271> def
/pat17 <038448300c020101> def
/pat18 <081c22c180010204> def
/pat19 <8080413e080814e3> def
/pat20 <8040201008040201> def
/pat21 <8844221188442211> def
/pat22 <77bbddee77bbddee> def
/pat23 <c1e070381c0e0783> def
/pat24 <7fbfdfeff7fbfdfe> def
/pat25 <3e1f8fc7e3f1f87c> def
/pat26 <0102040810204080> def
/pat27 <1122448811224488> def
/pat28 <eeddbb77eeddbb77> def
/pat29 <83070e1c3870e0c1> def
/pat30 <fefdfbf7efdfbf7f> def
/pat31 <7cf8f1e3c78f1f3e> def

/tgifcentertext { dup stringwidth pop 2 div neg 0 rmoveto } def

/tgifrighttext { dup stringwidth pop neg 0 rmoveto } def

/tgifreencsmalldict 12 dict def
/tgifReEncodeSmall
 { tgifreencsmalldict begin
      /newcodesandnames exch def
      /newfontname exch def
      /basefontname exch def

      /basefontdict basefontname findfont def
      /newfont basefontdict maxlength dict def

      basefontdict
      { exch dup /FID ne
         { dup /Encoding eq
            { exch dup length array copy newfont 3 1 roll put }
            { exch newfont 3 1 roll put }
            ifelse
         }
         { pop pop }
         ifelse
      }
      forall

      newfont /FontName newfontname put
      newcodesandnames aload pop

      newcodesandnames length 2 idiv
      { newfont /Encoding get 3 1 roll put}
      repeat

      newfontname newfont definefont pop
   end
 } def

/tgifgray { 8 1 0 72 300 32 div div tgifsetpattern } bind def

/tgifboxdict 6 dict def
/tgifboxstroke
 { tgifboxdict begin
      /pat def /w def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
      1.415 setmiterlimit
      w 1 eq { w setlinewidth } if
      pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
      newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
      pat pat2 eq { 1 setgray stroke 0 setgray } { stroke } ifelse
      pat pat1 ne pat pat2 ne and { grestore } if
      w 1 eq { 1 setlinewidth } if
      1 setmiterlimit
   end
 } def
/tgifboxfill
 { tgifboxdict begin
      /pat def /y2 exch def /x2 exch def /y1 exch def /x1 exch def
      pat pat1 ne pat pat2 ne and { gsave pat tgifgray } if
      newpath x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto closepath
      pat pat2 eq { 1 setgray fill 0 setgray } { fill } ifelse
      pat pat1 ne pat pat2 ne and { grestore } if
   end
 } def

end

%%PageBoundingBox: -1 691 324 757
tgifdict begin
/tgifsavedpage save def

1 setmiterlimit
1 setlinewidth

0 setgray

72 0 mul 72 11.00 mul translate
72 128 div 100 mul 100 div dup neg scale

gsave

% BOX
gsave
   1.415 setmiterlimit
   newpath
      128 102 moveto 192 102 lineto 192 134 lineto 128 134 lineto
   closepath stroke
   1 setmiterlimit
grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      160 102 moveto
      160 134 lineto
   stroke
grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      176 124 moveto
      0 80 atan dup cos 8 mul 256 exch sub
      exch sin 8 mul 124 exch sub lineto
   stroke
grestore
gsave
   newpath
      256 124 8 3 80 0 tgifarrowtip
   closepath fill
grestore

% TEXT
0 setgray
/Courier findfont [17 0 0 -17 0 0] makefont setfont
   gsave
      208 172 moveto (rose) show
   grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      144 118 moveto
      144 167 lineto
      0 48 atan dup cos 8 mul 192 exch sub
      exch sin 8 mul 167 exch sub lineto
   stroke
grestore
gsave
   newpath
      192 167 8 3 48 0 tgifarrowtip
   closepath fill
grestore

% BOX
gsave
   1.415 setmiterlimit
   newpath
      261 102 moveto 325 102 lineto 325 134 lineto 261 134 lineto
   closepath stroke
   1 setmiterlimit
grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      293 102 moveto
      293 134 lineto
   stroke
grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      309 118 moveto
      0 93 atan dup cos 8 mul 402 exch sub
      exch sin 8 mul 118 exch sub lineto
   stroke
grestore
gsave
   newpath
      402 118 8 3 93 0 tgifarrowtip
   closepath fill
grestore

% TEXT
0 setgray
/Courier findfont [17 0 0 -17 0 0] makefont setfont
   gsave
      341 172 moveto (violet) show
   grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      277 118 moveto
      277 167 lineto
      0 48 atan dup cos 8 mul 325 exch sub
      exch sin 8 mul 167 exch sub lineto
   stroke
grestore
gsave
   newpath
      325 167 8 3 48 0 tgifarrowtip
   closepath fill
grestore

% BOX
gsave
   1.415 setmiterlimit
   newpath
      404 100 moveto 468 100 lineto 468 132 lineto 404 132 lineto
   closepath stroke
   1 setmiterlimit
grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      435 100 moveto
      435 132 lineto
   stroke
grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      451 117 moveto
      0 48 atan dup cos 8 mul 499 exch sub
      exch sin 8 mul 117 exch sub lineto
   stroke
grestore
gsave
   newpath
      499 117 8 3 48 0 tgifarrowtip
   closepath fill
grestore

% TEXT
0 setgray
/Courier findfont [17 0 0 -17 0 0] makefont setfont
   gsave
      483 171 moveto (buttercup) show
   grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      419 117 moveto
      419 166 lineto
      0 48 atan dup cos 8 mul 467 exch sub
      exch sin 8 mul 166 exch sub lineto
   stroke
grestore
gsave
   newpath
      467 166 8 3 48 0 tgifarrowtip
   closepath fill
grestore

% TEXT
0 setgray
/Courier findfont [17 0 0 -17 0 0] makefont setfont
   gsave
      511 123 moveto (nil) show
   grestore

% TEXT
0 setgray
/Courier findfont [17 0 0 -17 0 0] makefont setfont
   gsave
      131 80 moveto (flowers) show
   grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      210 75 moveto
      237 75 lineto
      237 113 lineto
      0 18 atan dup cos 8 mul 255 exch sub
      exch sin 8 mul 113 exch sub lineto
   stroke
grestore
gsave
   newpath
      255 113 8 3 18 0 tgifarrowtip
   closepath fill
grestore

% TEXT
0 setgray
/Courier findfont [17 0 0 -17 0 0] makefont setfont
   gsave
      2 80 moveto (bouquet) show
   grestore

% POLY/OPEN-SPLINE
gsave
   newpath
      81 77 moveto
      108 77 lineto
      108 115 lineto
      0 18 atan dup cos 8 mul 126 exch sub
      exch sin 8 mul 115 exch sub lineto
   stroke
grestore
gsave
   newpath
      126 115 8 3 18 0 tgifarrowtip
   closepath fill
grestore

grestore
tgifsavedpage restore
end
%MatchingCreationDate: Wed Mar  8 14:25:41 1995