[comp.sources.misc] v07i040: CRISP release 1.9 part 19/32

allbery@uunet.UU.NET (Brandon S. Allbery - comp.sources.misc) (07/23/89)

Posting-number: Volume 7, Issue 40
Submitted-by: fox@marlow.UUCP (Paul Fox)
Archive-name: crisp1.9/part20



#!/bin/sh
# this is part 6 of a multipart archive
# do not concatenate these parts, unpack them in order with /bin/sh
# file src/crisp/wp.m continued
#
CurArch=6
if test ! -r s2_seq_.tmp
then echo "Please unpack part 1 first!"
     exit 1; fi
( read Scheck
  if test "$Scheck" != $CurArch
  then echo "Please unpack part $Scheck next!"
       exit 1;
  else exit 0; fi
) < s2_seq_.tmp || exit 1
echo "x - Continuing file src/crisp/wp.m"
sed 's/^X//' << 'SHAR_EOF' >> src/crisp/wp.m
X# include	"crisp.h"
X
X# define	RMARGIN		63
X# define	C_LMARGIN	4		;* Left hand margin after open comment.
X# define	C_RMARGIN	4		;* Right hand margin before close comment.
X
X(macro _init
X	(
X		(int		wp_rmargin
X					wp_ragged
X					wp_autowrap
X					wp_quiet)
X		(global	wp_rmargin 
X					wp_ragged
X					wp_autowrap
X					wp_quiet)
X
X		(= wp_rmargin RMARGIN)
X		(= wp_ragged 0)		// Justified margins.
X		(= wp_autowrap FALSE)
X		(= wp_quiet FALSE)
X	)
X)
X(macro wp-options
X	(
X		(list	r_list s_list)
X		(string buf)
X
X		(sprintf buf "%d" wp_rmargin)
X		(put_nth 0 r_list buf)
X		(put_nth 1 r_list wp_ragged)
X		(put_nth 2 r_list wp_autowrap)
X
X		(= s_list (quote_list
X			"Right Hand Margin : " ""
X			"Margins           : " ("Justified" "Ragged")
X			"Autowrap          : " ("Off" "On")
X         ))
X		(put_nth 1 s_list  buf)
X		(= r_list (field_list "Document Options" r_list s_list))
X		(= wp_ragged (nth 1 r_list))
X		(= wp_autowrap (nth 2 r_list))
X		(if wp_autowrap
X			(register_macro REG_TYPED "reg_autowrap")
X		;else
X			(unregister_macro REG_TYPED "reg_autowrap"))
X	)
X)
X(macro reg_autowrap
X	(	
X		(string char)
X		(int line col)
X		
X		(if (!= (read 1) "\n") (
X			(move_abs line col)
X			(return)))
X
X		(inq_position line col)
X		(prev_char)
X		(= char (read 1))
X		(if (!= char " ") (
X			(move_abs line col)
X			(return)))
X		(if (>= col wp_rmargin) (
X			(drop_anchor MK_LINE)
X			(= wp_quiet TRUE)
X			(default-format_block)
X			(= wp_quiet FALSE)
X			(up)
X			(end_of_line)
X			(insert " ")
X			(return)
X			))
X		(next_char)
X	)
X)
X(macro margin
X	(
X		(get_parm 0 wp_rmargin "Right hand margin: " NULL wp_rmargin)
X		(message "")
X	)
X)
X(macro c-uncomment_block
X	(
X		(int	start_line
X				start_col
X				end_line
X				end_col)
X		(inq_marked start_line start_col end_line end_col)
X		(message "Stripping existing comments.")
X		(save_position)
X		(translate "<[ \t]@{/}@\\*" "" ST_GLOBAL ST_REGEXP NULL ST_BLOCK)
X		(translate "\\*{/}@[ \t]@$" "" ST_GLOBAL ST_REGEXP NULL ST_BLOCK)
X		(restore_position)
X	)
X)
X(macro h-format_block
X	(c-format_block)
X)
X(macro c-format_block
X	(
X		(int	start_line
X				start_col
X				end_line
X				end_col)
X
X		(if (== (inq_marked start_line start_col end_line end_col) 0) (
X			(error "No marked block.")
X			(return)))
X
X		(c-uncomment_block)
X
X		(if (< (default-format_block) 0)
X			(return))
X		(inq_position end_line)
X
X		//
X		//   Now put comment characters around the formatted text.
X		//
X		(message "Adding C comments.")
X		(goto_line start_line)
X		(= end_col (+ (+ (+ wp_rmargin C_LMARGIN) 2) C_RMARGIN))
X		(while (< start_line end_line) (
X			(insert " *")
X			(insert " " C_LMARGIN)
X			(move_abs 0 end_col)
X			(insert "*")
X			(down)
X			(beginning_of_line)
X			(++ start_line)
X			))
X		(message "Formatting complete.")
X	)
X)
X//
X//   Macro to format a block of text (justify left and right margins).
X//   Returns -1 if no marked area; 0 if successful.
X//
X(macro default-format_block
X	(
X		(int	start_line
X				start_col
X				end_line
X				end_col
X				space
X				num_spaces
X				num_to_make_up
X				i j
X				para_no
X				line_no)
X
X		(string	line
X					new_line
X					indent
X					rest1
X					rest_of_line)
X
X
X		(if (== (inq_marked start_line start_col end_line end_col) 0) (
X			(error "No marked block.")
X			(return -1)))
X		//
X		//   Strip off any leading tabs and remember how much
X		//   first line was indented so we can re-indent later.
X		//
X		(save_position)
X		(goto_line start_line)
X		(= indent "")
X		(while (== (read 1) "\t") (
X			(+= indent "\t")
X			(next_char)))
X		(restore_position)
X		(if (!= indent "")
X			(translate (+ "<" indent) "" ST_GLOBAL ST_REGEXP NULL ST_BLOCK))
X		(raise_anchor)
X
X		(while (<= start_line end_line) (
X			(goto_line start_line)
X			(= line "")
X			(= line_no start_line)
X	
X			(++ para_no)
X			(if (! wp_quiet)
X				(message "Formatting paragraph %d." para_no))
X
X			(while (<= line_no end_line) (
X				(= new_line (read))
X				(if (< (strlen new_line) 2)
X					(break))
X				(+= line (+ " " new_line))
X				(delete_line)
X				(-- end_line)
X				))
X			(= start_line line_no)
X			(= line (trim (ltrim (compress line))))
X			//
X			//   While line is too long to fit, we keep chopping
X			//   the line and inserting the formatted remains.
X			//
X			(while (> (strlen line) wp_rmargin) (
X				(= rest_of_line (substr line wp_rmargin))
X				(= line (substr line 1 (- wp_rmargin 1)))
X				(= space (rindex line " "))
X				(= rest_of_line (+ (substr line space) rest_of_line))
X				(= line (substr line 1 (- space 1)))
X				//
X				//   Insert line a word at a time, so that we can
X				//   space fill as we go along.
X				//
X				(if wp_ragged
X					(= num_spaces 0)
X				;else
X					(
X						(= num_to_make_up (- wp_rmargin (strlen line)))
X						(= num_spaces (string_count line " "))
X						(= i (+ (/ num_to_make_up num_spaces) 1))
X						(= j (% num_to_make_up num_spaces))
X					))
X				(insert indent)
X				(while num_spaces (
X					(= space (index line " "))
X					(if (== space 0)
X						(break))
X					(= rest1 (substr line (+ space 1)))
X					(= line (substr line 1 (- space 1)))
X					(insert line)
X					(insert " " i)
X					(if j (
X						(-- j)
X						(insert " ")))
X					(-- num_spaces)
X					(= line rest1)
X					))
X				(insert (+ line "\n"))
X				(= line (trim (ltrim (compress rest_of_line))))
X				(++ end_line)
X				(++ start_line)
X				))
X			(if (!= line "") (
X				(insert indent)
X				(insert (+ line "\n"))
X				(++ end_line)
X				(++ start_line)
X				))
X			(++ start_line)
X			(refresh)
X			))
X		(if (! wp_quiet)
X			(message ""))
X		(return 0)
X	)
X)
SHAR_EOF
echo "File src/crisp/wp.m is complete"
chmod 0444 src/crisp/wp.m || echo "restore of src/crisp/wp.m fails"
mkdir src src/crisp src/crisp/kbd >/dev/null 2>&1
echo "x - extracting src/crisp/kbd/pc.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/kbd/pc.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X *  This file contains the keyboard labels for all PC keyboard types*
X *                                                                  *
X ********************************************************************/
X
X(macro _init
X	(
X		
X		(= kbd_labels (quote_list
X/* 128 */	"<F1>"
X/* 129 */	"<F2>"
X/* 130 */	"<F3>"
X/* 131 */	"<F4>"
X/* 132 */	"<F5>"
X/* 133 */	"<F6>"
X/* 134 */	"<F7>"
X/* 135 */	"<F8>"
X/* 136 */	"<F9>"
X/* 137 */	"<F10>"
X/* 138 */	"<F11>"
X/* 139 */	"<F12>"
X/* 140 */	"<Shift-F1>"
X/* 141 */	"<Shift-F2>"
X/* 142 */	"<Shift-F3>"
X/* 143 */	"<Shift-F4>"
X/* 144 */	"<Shift-F5>"
X/* 145 */	"<Shift-F6>"
X/* 146 */	"<Shift-F7>"
X/* 147 */	"<Shift-F8>"
X/* 148 */	"<Shift-F9>"
X/* 149 */	"<Shift-F10>"
X/* 150 */	"<Shift-F11>"
X/* 151 */	"<Shift-F12>"
X/* 152 */	"<Ctrl-F1>"
X/* 153 */	"<Ctrl-F2>"
X/* 154 */	"<Ctrl-F3>"
X/* 155 */	"<Ctrl-F4>"
X/* 156 */	"<Ctrl-F5>"
X/* 157 */	"<Ctrl-F6>"
X/* 158 */	"<Ctrl-F7>"
X/* 159 */	"<Ctrl-F8>"
X/* 160 */	"<Ctrl-F9>"
X/* 161 */	"<Ctrl-F10>"
X/* 162 */	"<Ctrl-F11>"
X/* 163 */	"<Ctrl-F12>"
X/* 164 */	"<Alt-F1>"
X/* 165 */	"<Alt-F2>"
X/* 166 */	"<Alt-F3>"
X/* 167 */	"<Alt-F4>"
X/* 168 */	"<Alt-F5>"
X/* 169 */	"<Alt-F6>"
X/* 170 */	"<Alt-F7>"
X/* 171 */	"<Alt-F8>"
X/* 172 */	"<Alt-F9>"
X/* 173 */	"<Alt-F10>"
X/* 174 */	"<Alt-F11>"
X/* 175 */	"<Alt-F12>"
X/* 176 */	"<Alt-A>"
X/* 177 */	"<Alt-B>"
X/* 178 */	"<Alt-C>"
X/* 179 */	"<Alt-D>"
X/* 180 */	"<Alt-E>"
X/* 181 */	"<Alt-F>"
X/* 182 */	"<Alt-G>"
X/* 183 */	"<Alt-H>"
X/* 184 */	"<Alt-I>"
X/* 185 */	"<Alt-J>"
X/* 186 */	"<Alt-K>"
X/* 187 */	"<Alt-L>"
X/* 188 */	"<Alt-M>"
X/* 189 */	"<Alt-N>"
X/* 190 */	"<Alt-O>"
X/* 191 */	"<Alt-P>"
X/* 192 */	"<Alt-Q>"
X/* 193 */	"<Alt-R>"
X/* 194 */	"<Alt-S>"
X/* 195 */	"<Alt-T>"
X/* 196 */	"<Alt-U>"
X/* 197 */	"<Alt-V>"
X/* 198 */	"<Alt-W>"
X/* 199 */	"<Alt-X>"
X/* 200 */	"<Alt-Y>"
X/* 201 */	"<Alt-Z>"
X/* 202 */	"<Insert>"
X/* 203 */	"<End>"
X/* 204 */	"<Down>"
X/* 205 */	"<PgDn>"
X/* 206 */	"<Left>"
X/* 207 */	""		/* Keypad 5 */
X/* 208 */	"<Right>"
X/* 209 */	"<Home>"
X/* 210 */	"<Up>"
X/* 211 */	"<PgUp>"
X/* 212 */	"<Del>"
X/* 213 */	"<Keypad-plus>"
X/* 214 */	"<Keypad-minus>"
X/* 215 */	"<Keypad-star>"
X/* 216 */	"<Ctrl-0>"
X/* 217 */	"<Ctrl-End>"
X/* 218 */	"<Ctrl-2>"
X/* 219 */	"<Ctrl-PgDn>"
X/* 220 */	"<Ctrl-Left>"
X/* 221 */	"<Ctrl-5>"
X/* 222 */	"<Ctrl-Right>"
X/* 223 */	"<Ctrl-Home>"
X/* 224 */	"<Ctrl-8>"
X/* 225 */	"<Ctrl-PgUp>"
X/* 226 */	"<Ctrl-DEL>"
X/* 227 */	"<Ctrl-Keypad-plus>"
X/* 228 */	"<Ctrl-Keypad-minus>"
X/* 229 */	"<Ctrl-Keypad-star>"
X/* 230 */	"<Back-tab>"
X/* 231 */	"<Alt-0>"
X/* 232 */	"<Alt-1>"
X/* 233 */	"<Alt-2>"
X/* 234 */	"<Alt-3>"
X/* 235 */	"<Alt-4>"
X/* 236 */	"<Alt-5>"
X/* 237 */	"<Alt-6>"
X/* 238 */	"<Alt-7>"
X/* 239 */	"<Alt-8>"
X/* 240 */	"<Alt-9>"
X				))
X	)
X)
SHAR_EOF
chmod 0644 src/crisp/kbd/pc.m || echo "restore of src/crisp/kbd/pc.m fails"
mkdir src src/crisp src/crisp/kbd >/dev/null 2>&1
echo "x - extracting src/crisp/kbd/sun3.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/kbd/sun3.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X *  This file contains the keyboard labels for a Sun keyboard type3 *
X *                                                                  *
X ********************************************************************/
X
X(macro _init
X	(
X		
X		(= kbd_labels (quote_list
X/* 128 */	"<L1>"
X/* 129 */	"<L2>"
X/* 130 */	"<L3>"
X/* 131 */	"<L4>"
X/* 132 */	"<L5>"
X/* 133 */	"<L6>"
X/* 134 */	"<L7>"
X/* 135 */	"<L8>"
X/* 136 */	"<L9>"
X/* 137 */	"<L10>"
X/* 138 */	""
X/* 139 */	""
X/* 140 */	"<F1>"
X/* 141 */	"<F2>"
X/* 142 */	"<F3>"
X/* 143 */	"<F4>"
X/* 144 */	"<F5>"
X/* 145 */	"<F6>"
X/* 146 */	"<F7>"
X/* 147 */	"<F8>"
X/* 148 */	"<F9>"
X/* 149 */	"<F10>"
X/* 150 */	"<F11>"
X/* 151 */	"<F12>"
X/* 152 */	"<Ctrl-F1>"
X/* 153 */	"<Ctrl-F2>"
X/* 154 */	"<Ctrl-F3>"
X/* 155 */	"<Ctrl-F4>"
X/* 156 */	"<Ctrl-F5>"
X/* 157 */	"<Ctrl-F6>"
X/* 158 */	"<Ctrl-F7>"
X/* 159 */	"<Ctrl-F8>"
X/* 160 */	"<Ctrl-F9>"
X/* 161 */	"<Ctrl-F10>"
X/* 162 */	"<Ctrl-F11>"
X/* 163 */	"<Ctrl-F12>"
X/* 164 */	"<LEFT-F1>"
X/* 165 */	"<LEFT-F2>"
X/* 166 */	"<LEFT-F3>"
X/* 167 */	"<LEFT-F4>"
X/* 168 */	"<LEFT-F5>"
X/* 169 */	"<LEFT-F6>"
X/* 170 */	"<LEFT-F7>"
X/* 171 */	"<LEFT-F8>"
X/* 172 */	"<LEFT-F9>"
X/* 173 */	"<LEFT-F10>"
X/* 174 */	"<LEFT-F11>"
X/* 175 */	"<LEFT-F12>"
X/* 176 */	"<LEFT-A>"
X/* 177 */	"<LEFT-B>"
X/* 178 */	"<LEFT-C>"
X/* 179 */	"<LEFT-D>"
X/* 180 */	"<LEFT-E>"
X/* 181 */	"<LEFT-F>"
X/* 182 */	"<LEFT-G>"
X/* 183 */	"<LEFT-H>"
X/* 184 */	"<LEFT-I>"
X/* 185 */	"<LEFT-J>"
X/* 186 */	"<LEFT-K>"
X/* 187 */	"<LEFT-L>"
X/* 188 */	"<LEFT-M>"
X/* 189 */	"<LEFT-N>"
X/* 190 */	"<LEFT-O>"
X/* 191 */	"<LEFT-P>"
X/* 192 */	"<LEFT-Q>"
X/* 193 */	"<LEFT-R>"
X/* 194 */	"<LEFT-S>"
X/* 195 */	"<LEFT-T>"
X/* 196 */	"<LEFT-U>"
X/* 197 */	"<LEFT-V>"
X/* 198 */	"<LEFT-W>"
X/* 199 */	"<LEFT-X>"
X/* 200 */	"<LEFT-Y>"
X/* 201 */	"<LEFT-Z>"
X/* 202 */	"<R5>"
X/* 203 */	"<R13>"
X/* 204 */	"<Down>"
X/* 205 */	"<R15>"
X/* 206 */	"<Left>"
X/* 207 */	""		/* Keypad 5 */
X/* 208 */	"<Right>"
X/* 209 */	"<R7>"
X/* 210 */	"<Up>"
X/* 211 */	"<R9>"
X/* 212 */	"<Del>"
X/* 213 */	"<R6>"
X/* 214 */	"<R3>"
X/* 215 */	"<Keypad-star>"
X/* 216 */	"<Ctrl-0>"
X/* 217 */	"<Ctrl-End>"
X/* 218 */	"<Ctrl-2>"
X/* 219 */	"<Ctrl-PgDn>"
X/* 220 */	"<R1>"
X/* 221 */	"<Ctrl-5>"
X/* 222 */	"<R2>"
X/* 223 */	"<Ctrl-Home>"
X/* 224 */	"<Ctrl-8>"
X/* 225 */	"<Ctrl-PgUp>"
X/* 226 */	"<Ctrl-DEL>"
X/* 227 */	"<Ctrl-Keypad-plus>"
X/* 228 */	"<Ctrl-Keypad-minus>"
X/* 229 */	"<Ctrl-Keypad-star>"
X/* 230 */	"<Back-tab>"
X/* 231 */	"<LEFT-0>"
X/* 232 */	"<LEFT-1>"
X/* 233 */	"<LEFT-2>"
X/* 234 */	"<LEFT-3>"
X/* 235 */	"<LEFT-4>"
X/* 236 */	"<LEFT-5>"
X/* 237 */	"<LEFT-6>"
X/* 238 */	"<LEFT-7>"
X/* 239 */	"<LEFT-8>"
X/* 240 */	"<LEFT-9>"
X				))
X	)
X)
SHAR_EOF
chmod 0644 src/crisp/kbd/sun3.m || echo "restore of src/crisp/kbd/sun3.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/at386.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/at386.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X ********************************************************************/
X;*
X;*		Terminal description file for Microport System V/386 Console
X;*		(Colour display)
X;*
X;*		14 Jan 89	[PDF]		Added support for ESC [ n C sequence.
X
X# include	"tty.h"
X
X(macro _init
X	(
X		;*
X		;*   Set characters used for extended graphics support when
X		;*   drawing windows.
X		;*
X		(set_term_characters
X				213		;* Top left of window.
X				184		;* Top right of window.
X				212		;* Bottom left of window.
X				190		;* Bottom right of window.
X				179		;* Vertical bar for window sides.
X				205		;* Top and bottom horizontal bar for window.
X				'+'		;* Top join.
X				'+'		;* Bottom join.
X				'+'		;* Window 4-way intersection.
X				'+'		;* Left hand join.
X				'+'		;* Right hand join.
X				)
X		;*
X		;*   Define escape sequences used for special optimisations on
X		;*   output.
X		;*
X		(set_term_features
X				"\x1B[%dX"					;* Sequence to clear 'n' spaces.
X				"\x1B[11m%c\x1B[10m"		;* Sequence to print characters with top
X												;* bit set.
X				"\x1B[23m"					;* Insert-mode cursor.
X				"\x1B[24m"					;* Overwrite-mode cursor.
X				"\x1B[28;10;13m"			;* Insert-mode cursor (on virtual space).
X				"\x1B[28;1;8m"				;* Overwrite-mode cursor (on virtual space).
X				"\x1B\x1B"					;* Print ESCAPE character graphically.
X				"\x[%b"						;* Escape sequence to repeat last character.
X				FALSE							;* ESC [0m resets color.
X				TRUE							;* Terminal supports color.
X				"\x1B[%dC"					;* Move cursor %d columns
X												;* (Not available in termcap).
X				)
X		;*
X		;*   Define keyboard layout for non-ascii characters.
X		;*	  (These can only be used for the console).
X		;*
X		(set_term_keyboard 
X			F1-F12
X				(quote_list "\x1BOP" "\x1BOQ" "\x1BOR" "\x1BOS" "\x1BOT"  
X								"\x1BOU" "\x1BOV" "\x1BOW" "\x1BOX" "\x1BOY" 
X								"\x1BOZ" "\x1BO[" )
X	
X			SHIFT-F1-F12
X				(quote_list "\x1BOp" "\x1BOq" "\x1BOr" "\x1BOs" "\x1BOt"  
X								"\x1BOu" "\x1BOv" "\x1BOw" "\x1BOx" "\x1BOy" 
X								"\x1BOz" "\x1BO{" )
X			CTRL-F1-F12
X				(quote_list "\x1BO\x10" "\x1BO\x11" "\x1BO\x12" "\x1BO\x13" "\x1BO\x14"  
X								"\x1BO\x15" "\x1BO\x16" "\x1BO\x17" "\x1BO\x18" "\x1BO\x19" 
X								"\x1BO\x1a" "\x1BO\x1B" )
X			ALT-A-Z
X				(quote_list	"\x1BNa" "\x1BNb" "\x1BNc" "\x1BNd" "\x1BNe" 
X								"\x1BNf" "\x1BNg" "\x1BNh" "\x1BNi" "\x1BNj" 
X								"\x1BNk" "\x1BNl" "\x1BNm" "\x1BNn" "\x1BNo" 
X								"\x1BNp" "\x1BNq" "\x1BNr" "\x1BNs" "\x1BNt" 
X								"\x1BNu" "\x1BNv" "\x1BNw" "\x1BNx" "\x1BNy" 
X								"\x1BNz")
X			KEYPAD-0-9
X				(quote_list "\x1B[@" "\x1B[Y" "\x1B[B"	"\x1B[U" "\x1B[D"	
X								"\x1B[G"	"\x1B[C"	"\x1B[H" "\x1B[A"	"\x1B[V")
X			CTRL-KEYPAD-0-9
X				(quote_list "\x1B?0" "\x1B?1" "\x1B?2"	"\x1B?3" "\x1B?4"	
X								"\x1B?5"	"\x1B?6"	"\x1B?7" "\x1B?8"	"\x1B?9")
X			ALT-0-9
X				(quote_list "\x1BN0" "\x1BN1" "\x1BN2"	"\x1BN3" "\x1BN4"	
X								"\x1BN5"	"\x1BN6"	"\x1BN7" "\x1BN8"	"\x1BN9")
X			CUT		"\x1B[S"
X			COPY		"\x1B[T"
X			BACK-TAB "\x1B[Z"
X			)
X	)
X)
SHAR_EOF
chmod 0444 src/crisp/tty/at386.m || echo "restore of src/crisp/tty/at386.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/dec.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/dec.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X *		This is terminal description file for VT-100/VT-200           *
X *		type terminals. If you are going to use this then you will    *
X *    need to put the following csh commands in your .login         *
X *    (depending on system type):                                   *
X *                                                                  *
X *     alias cr cr -medt			 # only if you want edt startup.   *
X *	    setenv TERM vt200          # or vt100 as appropriate.	     *
X *     setenv BTERM dec															  *
X *                                                                  *
X ********************************************************************/
X
X# include	"tty.h"
X
X(macro _init
X	(
X		;*
X		;*   Set characters used for extended graphics support when
X		;*   drawing windows.
X		;*
X		(set_term_characters
X				"\x1B(0l\x1B(B"		;* Top left of window.
X				"\x1B(0k\x1B(B"		;* Top right of window.
X				"\x1B(0m\x1B(B"		;* Bottom left of window.
X				"\x1B(0j\x1B(B"		;* Bottom right of window.
X				"\x1B(0x\x1B(B"		;* Vertical bar for window sides.
X				"\x1B(0q\x1B(B"		;* Top and bottom horizontal bar for window.
X				'+' 		;* Top join.
X				'+' 		;* Bottom join.
X				'+' 		;* Window 4-way intersection.
X				'+' 		;* Left hand join.
X				'+' 		;* Right hand join.
X				)
X		;*
X		;*   Define escape sequences used for special optimisations on
X		;*   output.
X		;*
X		(set_term_features
X				NULL							;* Sequence to clear 'n' spaces.
X				NULL							;* Sequence to print characters with top
X												;* bit set.
X				NULL							;* Insert-mode cursor.
X				NULL      					;* Overwrite-mode cursor.
X				NULL            			;* Insert-mode cursor (on virtual space).
X				NULL          				;* Overwrite-mode cursor (on virtual space).
X				NULL      					;* Print ESCAPE character graphically.
X				NULL   						;* Escape sequence to repeat last character.
X				FALSE							;* ESC [0m resets color.
X				FALSE							;* Terminal supports color.
X				"\x1B[%dC"					;* Sequence to move cursor on same line.
X				)
X		;*
X		;*   Define keyboard layout for non-ascii characters.
X		;*	  (These can only be used for the console).
X		;*
X		(set_term_keyboard 
X/**********************		
X* Comment out these lines if you dont want Sun Function key bindings
X***********************/
X			F1-F12
X				(quote_list "[17~" "[18~" "[19~" "[20~" "[21~"
X							"[23~" "[24~" "[25~" "[26~" "[31~"
X								)
X							
X			;*
X			;* These are the TOP F1 keys.
X			;*
X			SHIFT-F1-F12
X				(quote_list "\x1B[224z" "\x1B[225z" "\x1B[226z" "\x1B[227z"
X								"\x1B[228z" "\x1B[229z" "\x1B[230z" "\x1B[231z"
X								"\x1B[232z")
X/**********************		
X* Uncomment these lines if you want support for xterm
X* with VT100 key bindings.
X			F1-F12
X				(quote_list "\x1B[23~" "\x1B[24~" "\x1B[25~" "\x1B[26~" 
X							"\x1B[28~" "\x1B[29~" "\x1B[31~" "\x1B[32~"
X							"\x1B[33~" "\x1B[34~")
X	
X			;*
X			;* These are the TOP F1 keys.
X			;*
X			SHIFT-F1-F12
X				(quote_list "\x1B[11~" "\x1B[12~" "\x1B[13~" "\x1B[14~" 
X							"\x1B[15~" "\x1B[16~" "\x1B[17~" "\x1B[18~"
X							"\x1B[19~" "\x1B[20~")
X***********************/	
X			;*
X			;* These are the LEFT-letter keys.
X			;*
X			ALT-A-Z
X				(quote_list		"\x1Ba" "\x1Bb"	"\x1Bc"	"\x1Bd"	"\x1Be"
X								"\x1Bf" "\x1Bg"	"\x1Bh"	"\x1Bi"	"\x1Bj"
X								"\x1Bk" "\x1Bl"	"\x1Bm"	"\x1Bn"	"\x1Bo"
X								"\x1Bp" "\x1Bq"	"\x1Br"	"\x1Bs"	"\x1Bt"
X								"\x1Bu" "\x1Bv"	"\x1Bw"	"\x1Bx"	"\x1By"
X								"\x1Bz")
X
X			KEYPAD-0-9
X				(quote_list "\x1B[212z" "\x1B[220z" "\x1BOB"  "[6~"
X							"\x1BOD" 	"\x1B[??"   "\x1BOC"  "\x1B[214z"  "\x1BOA"  
X							"[5~" "\x1B[??7f"      "\x1B[213z" "[34~")
X			;*
X			;* F8 is top of buffer (CTRL-HOME). F9 is bottom of buffer
X			;* (CTRL-END). R1 is word left; R2 is word right
X			;*
X			CTRL-KEYPAD-0-9
X				(quote_list "\x1B[??" "\x1B[??" "\x1B[??"	"\x1B[232z" "\x1B[208z"	
X								"\x1B[??" "\x1B[209z" "\x1B[??" "\x1B[??" "\x1B[231z" )
X			ALT-0-9
X				(quote_list "\x1B1" "\x1B2" "\x1B3" "\x1B4" "\x1B5"
X							"\x1B6" "\x1B7" "\x1B8" "\x1B9" "\x1B0")
X			)
X		
X	)
X)
X(macro xterm-arrow
X	(
X		(set_term_keyboard 
X			KEYPAD-0-9
X				(quote_list "\x1B[212z" "\x1B[220z" "\x1B[B"  "\x1B[222z" 
X							"\x1B[D" "\x1B[??" "\x1B[C"  "\x1B[214z"  "\x1B[A")
X			)
X	)
X)
SHAR_EOF
chmod 0644 src/crisp/tty/dec.m || echo "restore of src/crisp/tty/dec.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/ibm5081.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/ibm5081.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X ********************************************************************/
X;*
X;*		Terminal description file for IBM 6150 Console
X;*			(Colour display)
X;*
X
X# include	"tty.h"
X
X(macro _init
X	(
X		;*
X		;*   Set characters used for extended graphics support when
X		;*   drawing windows.
X		;*
X		(set_term_characters
X				"\x84"		;* Top left of window.
X				"\xfa"		;* Top right of window.
X				"\x83"		;* Bottom left of window.
X				"\xfc"		;* Bottom right of window.
X				179		;* Vertical bar for window sides.
X				205		;* Top and bottom horizontal bar for window.
X				NULL		;* Top join.
X				NULL		;* Bottom join.
X				NULL		;* Window 4-way intersection.
X				NULL		;* Left hand join.
X				NULL		;* Right hand join.
X				)
X		;*
X		;*   Define escape sequences used for special optimisations on
X		;*   output.
X		;*
X		(set_term_features
X				"\x1B[%dX"					;* Sequence to clear 'n' spaces.
X				"\x1B[11m%c\x1B[10m"		;* Sequence to print characters with top
X												;* bit set.
X				"\x1B[23m"					;* Insert-mode cursor.
X				"\x1B[24m"					;* Overwrite-mode cursor.
X				"\x1B[28;10;13m"			;* Insert-mode cursor (on virtual space).
X				"\x1B[28;1;8m"				;* Overwrite-mode cursor (on virtual space).
X				"\x1B\x1B"					;* Print ESCAPE character graphically.
X				"\x[%b"						;* Escape sequence to repeat last character.
X				FALSE							;* ESC [0m resets color.
X				TRUE							;* Terminal supports color.
X				)
X		;*
X		;*   Define keyboard layout for non-ascii characters.
X		;*	  (These can only be used for the console).
X		;*
X		(set_term_keyboard 
X			F1-F12
X				(quote_list "\x1B[001q" "\x1B[002q" "\x1B[003q" "\x1B[004q" 
X								"\x1B[005q" "\x1B[006q" "\x1B[007q" "\x1B[008q" 
X								"\x1B[009q" "\x1B[010q" "\x1B[011q" "\x1B[012q"
X								)
X	
X			SHIFT-F1-F12
X				(quote_list "\x1B[013q" "\x1B[014q" "\x1B[015q" "\x1B[016q" 
X								"\x1B[017q" "\x1B[018q" "\x1B[019q" "\x1B[020q" 
X								"\x1B[021q" "\x1B[022q" "\x1B[023q" "\x1B[024q"
X								)
X			CTRL-F1-F12
X				(quote_list "\x1B[025q" "\x1B[026q" "\x1B[027q" "\x1B[028q" 
X								"\x1B[029q" "\x1B[030q" "\x1B[031q" "\x1B[032q" 
X								"\x1B[033q" "\x1B[034q" "\x1B[035q" "\x1B[036q"
X								)
X			ALT-F1-F12
X				(quote_list "\x1B[037q" "\x1B[038q" "\x1B[039q" "\x1B[040q" 
X								"\x1B[041q" "\x1B[042q" "\x1B[043q" "\x1B[044q" 
X								"\x1B[045q" "\x1B[046q" "\x1B[047q" "\x1B[048q"
X								)
X			ALT-A-Z
X				(quote_list	"\x1B[087q" "\x1B[105q" "\x1B[103q" "\x1B[089q" "\x1B[076q" "\x1B[090q" "\x1B[091q"
X								"\x1B[092q" "\x1B[081q" "\x1B[093q" "\x1B[094q" "\x1B[095q" "\x1B[107q" "\x1B[106q"
X								"\x1B[082q" "\x1B[083q" "\x1B[074q" "\x1B[077q" "\x1B[088q" "\x1B[078q" "\x1B[080q"
X								"\x1B[104q" "\x1B[075q" "\x1B[102q" "\x1B[079q" "\x1B[101q")
X			KEYPAD-0-9
X				(quote_list "\x1B[139q" "\x1B[146q" "\x1B[B" "\x1B[154q" 
X								"\x1B[D" 	"\x1B[??" 	"\x1B[C" "\x1B[H"   
X								"\x1B[A"   "\x1B[150q" "\x1B[P" "\x1B[150q" )
X
X			CTRL-KEYPAD-0-9
X				(quote_list "\\x1B?0" "\\x1B?1" "\\x1B?2"	"\\x1B?3" "\\x1B?4"	
X								"\\x1B?5"	"\\x1B?6"	"\\x1B?7" "\\x1B?8"	"\\x1B?9")
X			)
X	)
X)
SHAR_EOF
chmod 0644 src/crisp/tty/ibm5081.m || echo "restore of src/crisp/tty/ibm5081.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/isc.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/isc.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X ********************************************************************/
X;*
X;*		Terminal description file for Interactive Systems V.3/386 Console
X;*		(Colour display)
X;*
X
X# include	"tty.h"
X
X(macro _init
X	(
X		;*
X		;*   Set characters used for extended graphics support when
X		;*   drawing windows.
X		;*
X		(set_term_characters
X				213		;* Top left of window.
X				184		;* Top right of window.
X				212		;* Bottom left of window.
X				190		;* Bottom right of window.
X				179		;* Vertical bar for window sides.
X				205		;* Top and bottom horizontal bar for window.
X				NULL		;* Top join.
X				NULL		;* Bottom join.
X				NULL		;* Window 4-way intersection.
X				NULL		;* Left hand join.
X				NULL		;* Right hand join.
X				)
X		;*
X		;*   Define escape sequences used for special optimisations on
X		;*   output.
X		;*
X		(set_term_features
X				NULL							;* Sequence to clear 'n' spaces.
X				"\x1B%c"						;* Sequence to print characters with top
X												;* bit set.
X				NULL							;* Insert-mode cursor.
X				NULL							;* Overwrite-mode cursor.
X				NULL							;* Insert-mode cursor (on virtual space).
X				NULL							;* Overwrite-mode cursor (on virtual space).
X				"\x1B\x1B"					;* Print ESCAPE character graphically.
X				"\x[%b"						;* Escape sequence to repeat last character.
X				TRUE							;* ESC [0m resets color.
X				TRUE							;* Terminal supports color.
X				"\x1B[%dC"					;* Move cursor %d columns
X												;* (Not available in termcap).
X				)
X		;*
X		;*   Define keyboard layout for non-ascii characters.
X		;*	  (These can only be used for the console).
X		;*
X		(set_term_keyboard 
X			F1-F12
X				(quote_list "\x1BOP" "\x1BOQ" "\x1BOR" "\x1BOS" "\x1BOT"  
X								"\x1BOU" "\x1BOV" "\x1BOW" "\x1BOX" "\x1BOY" 
X								"\x1BOZ" "\x1BO[" )
X	
X			SHIFT-F1-F12
X				(quote_list "\x1BOp" "\x1BOq" "\x1BOr" "\x1BOs" "\x1BOt"  
X								"\x1BOu" "\x1BOv" "\x1BOw" "\x1BOx" "\x1BOy" 
X								"\x1BOz" "\x1BO{" )
X			CTRL-F1-F12
X				(quote_list "\x1BO\x10" "\x1BO\x11" "\x1BO\x12" "\x1BO\x13" "\x1BO\x14"  
X								"\x1BO\x15" "\x1BO\x16" "\x1BO\x17" "\x1BO\x18" "\x1BO\x19" 
X								"\x1BO\x1a" "\x1BO\x1B" )
X			ALT-A-Z
X				(quote_list	"\x1BNa" "\x1BNb" "\x1BNc" "\x1BNd" "\x1BNe" 
X								"\x1BNf" "\x1BNg" "\x1BNh" "\x1BNi" "\x1BNj" 
X								"\x1BNk" "\x1BNl" "\x1BNm" "\x1BNn" "\x1BNo" 
X								"\x1BNp" "\x1BNq" "\x1BNr" "\x1BNs" "\x1BNt" 
X								"\x1BNu" "\x1BNv" "\x1BNw" "\x1BNx" "\x1BNy" 
X								"\x1BNz")
X			KEYPAD-0-9
X				(quote_list "\x1B[@" "\x1B[Y" "\x1B[B"	"\x1B[U" "\x1B[D"	
X								"\x1B[G"	"\x1B[C"	"\x1B[H" "\x1B[A"	"\x1B[V")
X			CTRL-KEYPAD-0-9
X				(quote_list "\x1B?0" "\x1B?1" "\x1B?2"	"\x1B?3" "\x1B?4"	
X								"\x1B?5"	"\x1B?6"	"\x1B?7" "\x1B?8"	"\x1B?9")
X			ALT-0-9
X				(quote_list "\x1BN0" "\x1BN1" "\x1BN2"	"\x1BN3" "\x1BN4"	
X								"\x1BN5"	"\x1BN6"	"\x1BN7" "\x1BN8"	"\x1BN9")
X			CUT		"\x1B[S"
X			COPY		"\x1B[T"
X			BACK-TAB "\x1B[Z"
X			)
X	)
X)
X;*
X;*   Called if -mono is part of the suffix list of BTERM. Note
X;*   this is called after _init above so we only change what we
X;*   need.
X;*
X(macro	mono	
X	(
X		(set_term_features
X				NULL
X				NULL
X				NULL
X				NULL
X				NULL
X				NULL
X				NULL
X				NULL
X				NULL
X				FALSE 						;* Terminal does not supports color.
X				)
X	)
X)
SHAR_EOF
chmod 0444 src/crisp/tty/isc.m || echo "restore of src/crisp/tty/isc.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/sun.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/sun.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X ********************************************************************/
X;*
X;*		This is terminal description file for a Sun keyboard and Screen.
X;*		This macro knows about the difference between the Sun-3 and
X;*		Sun-4 keyboard (for the 386i). Note that we detect the
X;*		distinction by looking for the system file: '/usr/bin/organizer'
X;*
X;*		As of SunOS 4.0, /usr/bin/organizer is only available for the
X;*		386i, so we'll use this as the clue that we are running on
X;*		the 386i. If Sun change the O/S distributions, this macro will
X;*    need to be modified.
X;*
X
X# include	"tty.h"
X
X(macro _init
X	(
X		;*
X		;*   Set characters used for extended graphics support when
X		;*   drawing windows.
X		;*
X		(set_term_characters
X				'+'		;* Top left of window.
X				'+'		;* Top right of window.
X				'+'		;* Bottom left of window.
X				'+'		;* Bottom right of window.
X				'|'		;* Vertical bar for window sides.
X				'-'		;* Top and bottom horizontal bar for window.
X				'+' 		;* Top join.
X				'+' 		;* Bottom join.
X				'+' 		;* Window 4-way intersection.
X				'+' 		;* Left hand join.
X				'+' 		;* Right hand join.
X				)
X		;*
X		;*   Define escape sequences used for special optimisations on
X		;*   output.
X		;*
X		(set_term_features
X				NULL							;* Sequence to clear 'n' spaces.
X				NULL							;* Sequence to print characters with top
X												;* bit set.
X				NULL							;* Insert-mode cursor.
X				NULL      					;* Overwrite-mode cursor.
X				NULL            			;* Insert-mode cursor (on virtual space).
X				NULL          				;* Overwrite-mode cursor (on virtual space).
X				NULL      					;* Print ESCAPE character graphically.
X				NULL   						;* Escape sequence to repeat last character.
X				FALSE							;* ESC [0m resets color.
X				FALSE							;* Terminal supports color.
X				)
X		;*
X		;*   Define keyboard layout for non-ascii characters.
X		;*	  (These can only be used for the console).
X		;*
X		(set_term_keyboard 
X			F1-F12
X				(quote_list "\x1B[234z" "\x1B[234z" "\x1B[203z" "\x1B[235z" 
X								"\x1B[204z" "\x1B[236z" "\x1B[205z" "\x1B[237z" 
X								"\x1B[206z" "\x1B[238z" )
X	
X			;*
X			;* These are the TOP F1 keys.
X			;*
X			SHIFT-F1-F12
X				(quote_list "\x1B[202z" "\x1B[225z" "\x1B[226z" "\x1B[227z" 
X								"\x1B[228z" "\x1B[229z" "\x1B[230z" "\x1B[??" 
X								"\x1B[??" )
X	
X			;*
X			;* These are the LEFT-letter keys.
X			;*
X			ALT-A-Z
X				(quote_list	"\xE1" "\xE2" "\xE3" "\xE4" "\xE5" ;* ALT-A..E
X								"\xE6" "\xE7" "\xE8" "\xE9" "\xEa" ;* ALT-F..J
X								"\xEb" "\xEc" "\xED" "\xEe" "\xEf" ;* ALT-K..O
X								"\xF0" "\xF1" "\xF2" "\xF3" "\xF4" ;* ALT-P..T
X								"\xF5" "\xF6" "\xF7" "\xF8" "\xF9" ;* ALT-U..Y
X								"\xFa")
X			KEYPAD-0-9
X				(quote_list "\x1B[212z" "\x1B[220z" "\x1B[B"  "\x1B[222z" 
X								"\x1B[D" 	"\x1B[??"     "\x1B[C"  "\x1B[214z"  "\x1B[A"  
X							   "\x1B[216z" "\x1B[P"      "\x1B[213z" "\x1B[210z")
X			;*
X			;* F8 is top of buffer (CTRL-HOME). F9 is bottom of buffer
X			;* (CTRL-END). R1 is word left; R2 is word right
X			;*
X			CTRL-KEYPAD-0-9
X				(quote_list "\x1B[??" "\x1B[??" "\x1B[??"	"\x1B[232z" "\x1B[208z"	
X								"\x1B[??" "\x1B[209z" "\x1B[??" "\x1B[??" "\x1B[231z")
X			ALT-0-9
X				(quote_list "\xB0" "\xB1" "\xB2"	"\xB3" "\xB4"	
X								"\xB5" "\xB6" "\xB7" "\xB8" "\xB9")
X			)
X		
X		//
X		//   Now test for the 386i.
X		//
X		(if (exist "/usr/bin/organizer")
X			(tty-386i))
X	)
X)
X//
X//    Macro to set up keyboard layout for Sun/4 keyboard (386i)
X//
X(macro tty-386i
X	(
X		(set_term_keyboard
X			KEYPAD-0-9
X				(quote_list "\x1B[247z" "\x1B[220z" "\x1B[221z"  "\x1B[222z" 
X								"\x1B[217z"	"\x1B[218z" "\x1B[219z"  "\x1B[214z"
X								"\x1B[215z" "\x1B[216z" "\x1B[P"     "\x1B[253z" 
X								"\x1B[254z" "\x1B[213z")
X			)
X		(assign_to_key "\x1B[250z" "insert \"\n\"")
X	)
X)
SHAR_EOF
chmod 0444 src/crisp/tty/sun.m || echo "restore of src/crisp/tty/sun.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/tty.h (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/tty.h &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X ********************************************************************/
X;*
X;*	(C) Paul Fox, 1988.
X;*
X;*  CRISP keyboard definitions for use in the tty-*.m macros.
X;*
X# define	TRUE			1
X# define	FALSE			0
X
X# define	CTRL-A-Z		  1
X# define	F1-F12			128
X# define	SHIFT-F1-F12		140
X# define	CTRL-F1-F12		152
X# define	ALT-F1-F12		164
X# define	ALT-A-Z			176
X# define	KEYPAD-0-9		202
X# define	DEL			212
X# define	COPY			213
X# define	CUT			214
X# define	CTRL-KEYPAD-0-9		216
X# define	BACK-TAB		230
X# define	ALT-0-9			231
X
SHAR_EOF
chmod 0444 src/crisp/tty/tty.h || echo "restore of src/crisp/tty/tty.h fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/tty.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/tty.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X ********************************************************************/
X;*
X;*		This is the default terminal description file. It is used if
X;*		we cannot find a tty-$BTERM.m file to load.
X;*
X
X# include	"tty.h"
X
X(macro _init
X	(
X		;*
X		;*   Set characters used for extended graphics support when
X		;*   drawing windows.
X		;*
X		(set_term_characters
X				'+'		;* Top left of window.
X				'+'		;* Top right of window.
X				'+'		;* Bottom left of window.
X				'+'		;* Bottom right of window.
X				'|'		;* Vertical bar for window sides.
X				'-'		;* Top and bottom horizontal bar for window.
X				NULL		;* Top join.
X				NULL		;* Bottom join.
X				NULL		;* Window 4-way intersection.
X				NULL		;* Left hand join.
X				NULL		;* Right hand join.
X				)
X		;*
X		;*   Define escape sequences used for special optimisations on
X		;*   output.
X		;*
X		(set_term_features
X				NULL							;* Sequence to clear 'n' spaces.
X				NULL							;* Sequence to print characters with top
X												;* bit set.
X				NULL							;* Insert-mode cursor.
X				NULL      					;* Overwrite-mode cursor.
X				NULL            			;* Insert-mode cursor (on virtual space).
X				NULL          				;* Overwrite-mode cursor (on virtual space).
X				NULL      					;* Print ESCAPE character graphically.
X				NULL   						;* Escape sequence to repeat last character.
X				FALSE							;* ESC [0m resets color.
X				FALSE							;* Terminal does not supports color.
X				)
X		;*
X		;*   Define keyboard layout for non-ascii characters.
X		;*	  (These can only be used for the console).
X		;*
X		(set_term_keyboard 
X			F1-F12
X				(quote_list "\x1BOP" "\x1BOQ" "\x1BOR" "\x1BOS" "\x1BOT"  
X								"\x1BOU" "\x1BOV" "\x1BOW" "\x1BOX" "\x1BOY" 
X								"\x1BOZ" "\x1BO[" )
X	
X			SHIFT-F1-F12
X				(quote_list "\x1BOp" "\x1BOq" "\x1BOr" "\x1BOs" "\x1BOt"  
X								"\x1BOu" "\x1BOv" "\x1BOw" "\x1BOx" "\x1BOy" 
X								"\x1BOz" "\x1BO{" )
X			CTRL-F1-F12
X				(quote_list "\x1BO\x10" "\x1BO\x11" "\x1BO\x12" "\x1BO\x13" "\x1BO\x14"  
X								"\x1BO\x15" "\x1BO\x16" "\x1BO\x17" "\x1BO\x18" "\x1BO\x19" 
X								"\x1BO\x1a" "\x1BO\x1B" )
X
X			;*
X			;* We map the useful ALT-keys into CTRL-key equivalents,
X			;*
X			;*
X			ALT-A-Z
X				(quote_list	"\x01" "\x02" "\x03" "\x04" "\x05" ;* ALT-A..E
X								"\x06" "\x07" NULL   "\x09" "\x0a" ;* ALT-F..J
X								"\x0b" "\x0c" NULL   "\x0e" "\x0f" ;* ALT-K..O
X								"\x10" "\x11" "\x12" "\x13" "\x14" ;* ALT-P..T
X								"\x15" NULL   "\x17" "\x18" "\x19" ;* ALT-U..Y
X								"\x1a")
X			KEYPAD-0-9
X				(quote_list "\x1B[@" "\x1B[Y" "\x1B[B"	"\x1B[U" "\x1B[D"	
X								"\x1B[G"	"\x1B[C"	"\x1B[H" "\x1B[A"	"\x1B[V")
X			CTRL-KEYPAD-0-9
X				(quote_list "\x1B?0" "\x1B?1" "\x1B?2"	"\x1B?3" "\x1B?4"	
X								"\x1B?5"	"\x1B?6"	"\x1B?7" "\x1B?8"	"\x1B?9")
X			ALT-0-9
X				(quote_list "\x1BN0" "\x1BN1" "\x1BN2"	"\x1BN3" "\x1BN4"	
X								"\x1BN5"	"\x1BN6"	"\x1BN7" "\x1BN8"	"\x1BN9")
X			CUT		"\x1B[S"
X			COPY		"\x1B[T"
X			BACK-TAB "\x1B[Z"
X			)
X		;*
X		;*  Following are useful ways to access the BRIEF default CTRL-keys.
X		;*  (We cant do these direct because we substituted the ALT-keys
X		;*   above).
X 		(assign_to_key "^V^B"		"set_bottom_of_window")
X		(assign_to_key "^V^C"		"set_center_of_window")
X		(assign_to_key "^V^D"		"page_down")
X		(assign_to_key "^V^G"		"objects routines")
X		(assign_to_key "^V^H"		"help")
X		(assign_to_key "^V^J"		"goto_bookmark")
X		(assign_to_key "^V^K"		"objects delete_word_left")
X		(assign_to_key "^V^L"		"objects delete_word_right")
X		(assign_to_key "^V^N"		"next_error")
X		(assign_to_key "^V^P"		"next_error 1")
X		(assign_to_key "^V^R"		"repeat")
X		(assign_to_key "^V^T"		"set_top_of_window")
X		(assign_to_key "^V^U"		"page_up")
X		(assign_to_key "^V^V"		"version")
X		(assign_to_key "^V^W"		"set_backup")
X	)
X)
SHAR_EOF
chmod 0644 src/crisp/tty/tty.m || echo "restore of src/crisp/tty/tty.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/wyse50.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/wyse50.m &&
X/* Wyse 50 terminal setup for CRISP.
X   by David MacKenzie */
X
X# include "tty.h"
X
X(macro _init
X    (
X        /* Set characters used for extended graphics support when
X           drawing windows. */
X        (set_term_characters
X            "\x1BH2"    ; Top left of window.
X            "\x1BH3"    ; Top right of window.
X            "\x1BH1"    ; Bottom left of window.
X            "\x1BH5"    ; Bottom right of window.
X            "\x1BH6"    ; Vertical bar for window sides.
X            "\x1BH:"    ; Top and bottom horizontal bar for window.
X            "\x1BH0"    ; Top join.
X            "\x1BH="    ; Bottom join.
X            "\x1BH8"    ; Window 4-way intersection.
X            "\x1BH4"    ; Left hand join.
X            "\x1BH9"    ; Right hand join.
X            )
X
X        /* Define escape sequences used for special optimisations on output. */
X        (set_term_features
X            NULL              ; Sequence to clear 'n' spaces.
X            NULL              ; Sequence to print characters with top bit set.
X            NULL              ; Insert-mode cursor.
X            NULL              ; Overwrite-mode cursor.
X            NULL              ; Insert-mode cursor (on virtual space).
X            NULL              ; Overwrite-mode cursor (on virtual space).
X            NULL              ; Print ESCAPE character graphically.
X            NULL              ; Escape sequence to repeat last character.
X            FALSE             ; ESC [0m resets color.
X            FALSE             ; Terminal does not support color.
X            )
X
X        /* Define keyboard layout for non-ASCII characters. */
X        (set_term_keyboard 
X            F1-F12
X            (quote_list "\x01@\x0D" "\x01A\x0D" "\x01B\x0D" "\x01C\x0D"
X            "\x01D\x0D" "\x01E\x0D" "\x01F\x0D" "\x01G\x0D" "\x01H\x0D"
X            "\x01I\x0D" "\x01J\x0D" "\x01K\x0D")
X      
X            SHIFT-F1-F12
X            (quote_list "\x01`\x0D" "\x01a\x0D" "\x01b\x0D" "\x01c\x0D"
X            "\x01d\x0D" "\x01e\x0D" "\x01f\x0D" "\x01g\x0D" "\x01h\x0D"
X            "\x01i\x0D" "\x01j\x0D" "\x01k\x0D")
X
X            ALT-A-Z
X            ; Mimic alt-keys with ^v-key.
X            (quote_list "\x16a" "\x16b" "\x16c" "\x16d" "\x16e" ; alt a-e
X                        "\x16f" "\x16g" "\x16h" "\x16i" "\x16j" ; alt f-j
X                        "\x16k" "\x16l" "\x16m" "\x16n" "\x16o" ; alt k-o
X                        "\x16p" "\x16q" "\x16r" "\x16s" "\x16t" ; alt p-t
X                        "\x16u" "\x16v" "\x16w" "\x16x" "\x16y" ; alt u-y
X                        "\x16z") ; alt-z
X
X            202 (quote_list "\x1BQ") ; Keypad 0 Ins (Wyse INS Char)
X            203 (quote_list "\x1B{") ; Keypad 1 End (Wyse shift-Home)
X            205 (quote_list "\x1BK") ; Keypad 3 PgDn (Wyse PAGE Next)
X            209 (quote_list "\x1E")  ; Keypad 7 Home (Wyse Home)
X            211 (quote_list "\x1BJ") ; Keypad 9 PgUp (Wyse PAGE Prev)
X            BACK-TAB (quote_list "\x1BI")
X            225 (quote_list "\x1BT") ; Ctrl-Keypad 9 PgUp (Wyse CLR Line)
X            219 (quote_list "\x1BY") ; Ctrl-Keypad 3 PgDn (Wyse CLR Scrn)
X            217 (quote_list "\x1BP") ; Ctrl-Keypad 1 End (Wyse Print)
X            223 (quote_list "\x1B7") ; Ctrl-Keypad 7 Home (Wyse Send)
X        )
X
X        ; Assign actions to Wyse's stupid choice of cursor keys.
X        (assign_to_key "^H" "left")
X        (assign_to_key "^L" "right")
X        (assign_to_key "^K" "up")
X        (assign_to_key "^J" "down")
X        
X        ; Other special Wyse keys.
X        (assign_to_key "#127" "backspace")
X        (assign_to_key "\x1Br" "insert_mode") ; overtype Repl key
X        (assign_to_key "\x1Bq" "insert_mode 1") ; insert   Ins  key
X        (assign_to_key "\x1BR" "delete_line")   ; DEL Line key
X        (assign_to_key "\x1BW" "delete_char")   ; DEL Char key
X        (assign_to_key "\x1Bf" "objects word_right") ; like Emacs
X        (assign_to_key "\x1Bb" "objects word_left") ; like Emacs
X    )
X)
X
SHAR_EOF
chmod 0644 src/crisp/tty/wyse50.m || echo "restore of src/crisp/tty/wyse50.m fails"
mkdir src src/crisp src/crisp/tty >/dev/null 2>&1
echo "x - extracting src/crisp/tty/xenix.m (Text)"
sed 's/^X//' << 'SHAR_EOF' > src/crisp/tty/xenix.m &&
X/********************************************************************
X *                                                                  *
X *      CRISP - Custom Reduced Instruction Set Programmers Editor   *
X *                                                                  *
X *      (C) Paul Fox, 1989                                          *
X *      43, Jerome Close                Tel: +44 6284 4222          *
X *          Marlow                                                  *
X *           Bucks.                                                 *
X *              England SL7 1TX                                     *
X *                                                                  *
X *                                                                  *
X *    Please See COPYRIGHT notice.                                  *
X *                                                                  *
X ********************************************************************/
X;*
X;*		Terminal description file for Xenix 386 & 286 Console
X;*		(Colour display)
X;*
X
X# include	"tty.h"
X
X(macro _init
X	(
X		;*
X		;*   Set characters used for extended graphics support when
X		;*   drawing windows.
X		;*
X		(set_term_characters
X				213		;* Top left of window.
X				184		;* Top right of window.
X				212		;* Bottom left of window.
X				190		;* Bottom right of window.
X				179		;* Vertical bar for window sides.
X				205		;* Top and bottom horizontal bar for window.
X				NULL		;* Top join.
X				NULL		;* Bottom join.
X				NULL		;* Window 4-way intersection.
X				NULL		;* Left hand join.
X				NULL		;* Right hand join.
X				)
X		;*
X		;*   Define escape sequences used for special optimisations on
SHAR_EOF
echo "End of part 6"
echo "File src/crisp/tty/xenix.m is continued in part 7"
echo "7" > s2_seq_.tmp
exit 0
-- 
=====================			Reuters Ltd PLC, 
Tel: +44 628 891313 x. 212		 Westthorpe House,
UUCP:     fox%marlow.uucp@idec.stc.co.uk  Little Marlow,
					   Bucks, England SL7 3RQ