Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!necntc!ncoast!allbery
From: nwd@j.cc.purdue.edu (Daniel Lawrence)
Newsgroups: comp.sources.misc
Subject: MicroEmacs 3.9 Documentation (3 of 4)
Message-ID: <5705@ncoast.UUCP>
Date: Wed, 18-Nov-87 19:17:58 EST
Article-I.D.: ncoast.5705
Posted: Wed Nov 18 19:17:58 1987
Date-Received: Sat, 21-Nov-87 11:56:49 EST
Sender: allbery@ncoast.UUCP
Lines: 1257
Approved: allbery@ncoast.UUCP
X-Archive: comp.sources.misc/uemacs-3.9-doc/3


# This is a shar archive.
# Remove everything above this line.
# Run the file through sh, not csh.
# (type `sh med.3')
# If you do not see the message
#	`med.3 completed!'
# then the file was incomplete.
echo extracting - findcom.cmd
sed 's/^X//' > findcom.cmd << 'FRIDAY_NIGHT'
X;	This hunts down mismatched comment problems in C
X
X;	start from the current position in the file
X
X	!force search-forward "/*"
X	!if &seq $status FALSE
X		!goto nend
X	!endif
X
X*nxtopen
X	;record the position of the open comment
X	update-screen
X	set %oline $curline
X	set %opos $curcol
X
X	;find the first close comment
X	!force search-forward "*/"
X	!if &seq $status FALSE
X		write-message "%%No close to this open comment"
X		!return
X	!endif
X
X	;record the position of the close comment
X	set %cline $curline
X	set %cpos $curcol
X
X	;go back to the open and find the next open
X	set $curline %oline
X	set $curcol %opos
X
X	;and now find the next open
X	!force search-forward "/*"
X	!if &seq $status FALSE
X		write-message "No errors"
X		!return
X	!endif
X	set %nline $curline
X	set %npos $curcol
X
X	;compare the close to the next open
X	!if &less %cline %nline
X		!goto getnext
X	!endif
X	!if &and &equ %cline %nline &less %cpos %npos
X		!goto getnext
X	!endif
X
X	;report a mismatch
X	set $curline %oline
X	set $curcol %opos
X	write-message "%%This comment does not terminate properly"
X	!return
X
X*getnext
X	set $curline %nline
X	set $curcol %npos
X	!goto nxtopen 
FRIDAY_NIGHT
echo extracting - func.cmd
sed 's/^X//' > func.cmd << 'FRIDAY_NIGHT'
X;	FUNC.CMD	Allow mainframes to simulate function
X;			keys with ^C and ^C shifted-
X;			Also allow the ` key to be META as well as ESC
X
Xbind-to-key execute-macro-21 ^C
X
X21	store-macro
X	!if ¬ $pending
X		write-message "FN-"
X	!endif
X	set %rcchar >key
X	set %rcchar &sindex "1234567890!@#$%^&*()" %rcchar
X	!if &equ %rcchar 0
X		write-message "[Not Bound]"
X		!return
X	!endif
X	clear-message-line
X	set %rcchar &mid ";<=>?@ABCDTUVWXYZ[\]" %rcchar 1
X	&ind &bind &cat "FN" %rcchar
X!endm
FRIDAY_NIGHT
echo extracting - me110.rc
sed 's/^X//' > me110.rc << 'FRIDAY_NIGHT'
X;	EMACS.RC:	Startup file for MicroEMACS 3.8 (HP 110) 
X;
X;			This file is executed everytime the
X;			editor is entered
X
X;	***** Rebind the Function key group
X
Xbind-to-key search-forward		FN;
Xbind-to-key search-reverse		FN<
Xbind-to-key next-window			FN=
Xbind-to-key execute-macro		FN>
Xbind-to-key find-file			FN?
Xbind-to-key view-file			FN@
Xbind-to-key save-file			FNA
Xbind-to-key exit-emacs			FNB
Xbind-to-key describe-key		FND
Xbind-to-key meta-prefix			`
Xbind-to-key beginning-of-file		FNs
Xbind-to-key end-of-file			FNt
X
X;	Enter Help
X1 store-macro
X	delete-other-windows
X	help
X	8 resize-window
X	bind-to-key execute-macro-12 FNH
X	bind-to-key execute-macro-13 FNP
X	bind-to-key execute-macro-11 FNT
X	beginning-of-file
X	2 forward-character
X	clear-message-line
X!endm
X
X;	consult file
X2 store-macro
X	2 split-current-window
X	previous-window
X	view-file @"File to Consult: "
X	8 resize-window
X	next-window
X!endm
X
X;	Exit Help
X11 store-macro
X	bind-to-key previous-line FNH
X	bind-to-key next-line FNP
X	bind-to-key execute-macro-1 FNT
X	delete-window
X	clear-message-line
X!endm
X
X;	last help page
X12 store-macro
X	beginning-of-line
X	search-reverse "=>"
X	1 redraw-display
X!endm
X
X;	next help page
X13 store-macro
X	beginning-of-line
X	2 forward-character
X	search-forward "=>"
X	1 redraw-display
X!endm
X
X;	bring up the function key window
X
X	2 split-current-window
X	select-buffer "Function Keys"
X	2 resize-window
X	insert-string " F1 search     | F2 search back | F3 next wind   | F4 Exec Macro  | MENU Help"
X	newline
X	insert-string "SYS desc key   | F5 Find file   | F6 view file   | F7 save file   | F8 exit"
X	beginning-of-file
X	unmark-buffer
X	next-window
FRIDAY_NIGHT
echo extracting - me150.rc
sed 's/^X//' > me150.rc << 'FRIDAY_NIGHT'
X;	EMACS.RC:	Startup file for MicroEMACS 3.4
X;
X;			This file is executed everytime the
X;			editor is entered
X
X;	***** Rebind the Function key group
X
Xbind-to-key hunt-forward		FN^@
X1 label-function-key "hunt     forward"
Xbind-to-key hunt-backward		FN^A
X2 label-function-key "hunt    backward"
Xbind-to-key next-window			FN^B
X3 label-function-key "next      window"
Xbind-to-key execute-macro		FN^C
X4 label-function-key "exec       macro"
Xbind-to-key find-file			FN^D
X5 label-function-key "find       file"
Xbind-to-key view-file			FN^E
X6 label-function-key "view       file"
Xbind-to-key save-file			FN^F
X7 label-function-key "save       file"
Xbind-to-key exit-emacs			FN^G
X8 label-function-key "exit      emacs"
X
X;	Enter Help
X1 store-macro
X	help
X	8 resize-window
X	bind-to-key execute-macro-12 FNI
X	bind-to-key execute-macro-13 FNQ
X	bind-to-key execute-macro-11 FNT
X	add-mode "red"
X	begining-of-file
X	2 forward-character
X	clear-message-line
X!endm
X
X;	consult file
X2 store-macro
X	2 split-current-window
X	previous-window
X	view-file "@File to Consult: "
X	8 resize-window
X	add-mode "green"
X	add-mode "Black"
X	next-window
X!endm
X
X;	Exit Help
X11 store-macro
X	bind-to-key previous-page FNI
X	bind-to-key next-page FNQ
X	bind-to-key execute-macro-1 FNT
X	delete-window
X	clear-message-line
X!endm
X
X;	last help page
X12 store-macro
X	begining-of-line
X	search-reverse "=>"
X	1 redraw-display
X!endm
X
X;	next help page
X13 store-macro
X	begining-of-line
X	2 forward-character
X	search-forward "=>"
X	1 redraw-display
X!endm
X
X
FRIDAY_NIGHT
echo extracting - menu.cmd
sed 's/^X//' > menu.cmd << 'FRIDAY_NIGHT'
X;	MENU.CMD:	Menu learning system for MicroEMACS 3.7
X;
X;			This file is executed to activate MicroEMACS's
X;			menu interface code
X
X;	setup windows for use
X
X	add-global-mode "blue"
X	1 split-current-window
X	5 resize-window
X	add-mode "red"
X	view-file "menu1"
X	name-buffer "menu window"
X	change-file-name ""
X	add-mode "view"
X	next-window
X
X;	Load menu routines as needed
X
X;	Activate Main Menu
X
X1	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<01"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key execute-macro-3	FN;
X	bind-to-key execute-macro-4	FN<
X	bind-to-key execute-macro-5	FN=
X	bind-to-key execute-macro-6	FN>
X	bind-to-key execute-macro-7	FN?
X	bind-to-key execute-macro-8	FN@
X	bind-to-key execute-macro-9	FNA
X	bind-to-key execute-macro-2	FNB
X	bind-to-key execute-macro-10	FNC
X	bind-to-key exit-emacs		FND
X	clear-message-line
X!endm
X
X;	and bring that menu up
X
X	execute-macro-1
X	write-message "         [loading MENU system]"
X
X;	set up the editor control menu
X
X2	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<02"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key execute-macro-11	FN;
X	bind-to-key execute-macro-12	FN<
X	bind-to-key execute-macro-13	FN=
X	bind-to-key execute-macro-14	FN>
X	bind-to-key execute-macro-15	FN?
X	bind-to-key execute-macro-16	FN@
X	bind-to-key execute-macro-17	FNA
X	bind-to-key execute-macro-18	FNB
X	bind-to-key execute-macro-19	FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate word case/screen control Menu
X
X3	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<03"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key case-word-upper	FN;
X	bind-to-key case-region-upper	FN<
X	bind-to-key case-word-lower	FN=
X	bind-to-key case-region-lower	FN>
X	bind-to-key case-word-capitalize FN?
X	unbind-key FN@
X	bind-to-key clear-and-redraw	FNA
X	bind-to-key set-mark		FNB
X	bind-to-key redraw-display	FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate paging/scrolling Menu
X
X4	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<08"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key previous-page	FN;
X	bind-to-key next-page		FN<
X	bind-to-key move-window-down	FN=
X	bind-to-key move-window-up	FN>
X	bind-to-key scroll-next-up	FN?
X	unbind-key 			FN@
X	bind-to-key scroll-next-down	FNA
X	unbind-key 			FNB
X	bind-to-key exchange-point-and-mark FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate cut & paste Menu
X
X5	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<04"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key set-mark		FN;
X	unbind-key FN<
X	bind-to-key kill-region		FN=
X	unbind-key FN>
X	bind-to-key copy-region		FN?
X	unbind-key FN@
X	bind-to-key yank		FNA
X	unbind-key FNB
X	unbind-key FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate Search & replace Menu
X
X6	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<09"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key search-forward	FN;
X	bind-to-key search-reverse	FN<
X	bind-to-key hunt-forward	FN=
X	bind-to-key hunt-backward	FN>
X	bind-to-key incremental-search	FN?
X	bind-to-key reverse-incremental-search FN@
X	bind-to-key replace-string	FNA
X	bind-to-key query-replace-string FNB
X	unbind-key FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate Deletion Menu
X
X7	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<05"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key delete-previous-character FN;
X	unbind-key FN<
X	bind-to-key delete-next-character FN=
X	unbind-key FN>
X	bind-to-key kill-to-end-of-line	FN?
X	unbind-key FN@
X	bind-to-key delete-blank-lines	FNA
X	unbind-key FNB
X	unbind-key FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate Word procesing Menu
X
X8	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<10"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key previous-word	FN;
X	bind-to-key next-word		FN<
X	bind-to-key previous-paragraph	FN=
X	bind-to-key next-paragraph	FN>
X	bind-to-key fill-paragraph	FN?
X	bind-to-key kill-paragraph	FN@
X	bind-to-key delete-previous-word FNA
X	bind-to-key delete-next-word	FNB
X	bind-to-key count-words		FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate Insertion Menu
X
X9	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<06"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key open-line		FN;
X	bind-to-key insert-string	FN<
X	bind-to-key handle-tab		FN=
X	bind-to-key quote-character	FN>
X	bind-to-key insert-space	FN?
X	bind-to-key transpose-characters FN@
X	bind-to-key newline-and-indent	FNA
X	unbind-key FNB
X	bind-to-key newline		FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X;	Activate Cursor movement Menu
X
X10	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<07"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key beginning-of-file	FN;
X	bind-to-key previous-line	FN<
X	bind-to-key backward-character	FN=
X	bind-to-key forward-character	FN>
X	bind-to-key end-of-file		FN?
X	bind-to-key next-line		FN@
X	bind-to-key beginning-of-line	FNA
X	bind-to-key end-of-line		FNB
X	bind-to-key execute-macro-21	FNC
X	bind-to-key execute-macro-1	FND
X	clear-message-line
X!endm
X
X21	store-macro
X	@"Line number to go to: " goto-line
X!endm
X
X;	Activate Buffer Menu
X
X11	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<11"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key buffer-position	FN;
X	bind-to-key unmark-buffer	FN<
X	bind-to-key delete-buffer	FN=
X	bind-to-key next-buffer		FN>
X	bind-to-key list-buffers	FN?
X	bind-to-key execute-macro-22	FN@
X	bind-to-key name-buffer		FNA
X	unbind-key FNB
X	bind-to-key select-buffer	FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X22	store-macro
X	filter-buffer @"Name of DOS filter: "
X!endm
X;	Macro Menu
X
X12	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<11"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key begin-macro		FN;
X	unbind-key FN<
X	bind-to-key end-macro		FN=
X	unbind-key FN>
X	bind-to-key execute-macro	FN?
X	unbind-key FN@
X	unbind-key FNA
X	unbind-key FNB
X	unbind-key FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X;	Color change Menu
X
X13	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<12"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key execute-macro-23	FN;
X	unbind-key FN<
X	bind-to-key execute-macro-24	FN=
X	unbind-key FN>
X	bind-to-key execute-macro-25	FN?
X	unbind-key FN@
X	bind-to-key execute-macro-26	FNA
X	unbind-key FNB
X	unbind-key FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X;	Set forground color
X
X23	store-macro
X	save-window
X	1 next-window
X	select-buffer "[color]"
X	beginning-of-file
X	insert-string @"Color to change to: "
X	newline
X	beginning-of-file
X	case-word-upper
X	beginning-of-file
X	unmark-buffer
X	select-buffer "menu window"
X	1 redraw-display
X	restore-window
X	add-mode #"[color]"
X	delete-buffer "[color]"
X!endm
X
X;	Set background color
X
X24	store-macro
X	save-window
X	1 next-window
X	select-buffer "[color]"
X	beginning-of-file
X	insert-string @"Color to change to: "
X	newline
X	beginning-of-file
X	case-word-lower
X	beginning-of-file
X	unmark-buffer
X	select-buffer "menu window"
X	1 redraw-display
X	restore-window
X	add-mode #"[color]"
X	delete-buffer "[color]"
X!endm
X
X;	Set global forground color
X
X25	store-macro
X	save-window
X	1 next-window
X	select-buffer "[color]"
X	beginning-of-file
X	insert-string @"Color to change to: "
X	newline
X	beginning-of-file
X	case-word-upper
X	beginning-of-file
X	unmark-buffer
X	select-buffer "menu window"
X	1 redraw-display
X	restore-window
X	add-global-mode #"[color]"
X	delete-buffer "[color]"
X!endm
X
X;	Set global background color
X
X26	store-macro
X	save-window
X	1 next-window
X	select-buffer "[color]"
X	beginning-of-file
X	insert-string @"Color to change to: "
X	newline
X	beginning-of-file
X	case-word-lower
X	beginning-of-file
X	unmark-buffer
X	select-buffer "menu window"
X	1 redraw-display
X	restore-window
X	add-global-mode #"[color]"
X	delete-buffer "[color]"
X!endm
X
X;	set Mode Menu
X
X14	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<17"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key add-mode		FN;
X	bind-to-key add-global-mode	FN<
X	bind-to-key delete-mode		FN=
X	bind-to-key delete-global-mode	FN>
X	unbind-key FN?
X	bind-to-key execute-macro-27	FN@
X	unbind-key FNA
X	unbind-key FNB
X	bind-to-key select-buffer	FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X27	store-macro
X	@"Column to fill to: " set-fill-column
X!endm
X
X;	DOS command Menu
X
X15	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<13"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key shell-command	FN;
X	unbind-key FN<
X	bind-to-key pipe-command	FN=
X	unbind-key FN>
X	bind-to-key i-shell		FN?
X	unbind-key FN@
X	bind-to-key quick-exit		FNA
X	unbind-key FNB
X	bind-to-key exit-emacs		FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X;	Script Menu
X
X16	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<18"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key execute-file	FN;
X	bind-to-key execute-command-line FN<
X	bind-to-key execute-buffer	FN=
X	bind-to-key execute-named-command FN>
X	unbind-key FN?
X	unbind-key FN@
X	unbind-key FNA
X	unbind-key FNB
X	unbind-key FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X;	File access Menu
X
X17	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<14"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key find-file		FN;
X	bind-to-key save-file		FN<
X	bind-to-key view-file		FN=
X	bind-to-key write-file		FN>
X	bind-to-key read-file		FN?
X	bind-to-key change-file-name	FN@
X	bind-to-key insert-file		FNA
X	unbind-key FNB
X	unbind-key FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X;	Window Menu
X
X18	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<19"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key split-current-window FN;
X	bind-to-key delete-other-windows FN<
X	bind-to-key resize-window	FN=
X	bind-to-key delete-window	FN>
X	bind-to-key shrink-window	FN?
X	bind-to-key grow-window		FN@
X	bind-to-key next-window		FNA
X	bind-to-key previous-window	FNB
X	unbind-key FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X;	key binding Menu
X
X19	store-macro
X	save-window
X	1 next-window
X	beginning-of-file
X	search-forward "<<15"
X	next-line
X	1 redraw-display
X	restore-window
X	update-screen
X
X;	***** Rebind the Function key group
X
X	bind-to-key bind-to-key		FN;
X	unbind-key FN<
X	bind-to-key unbind-key		FN=
X	unbind-key FN>
X	bind-to-key describe-key	FN?
X	unbind-key FN@
X	bind-to-key describe-bindings	FNA
X	unbind-key FNB
X	unbind-key FNC
X	bind-to-key execute-macro-2	FND
X	clear-message-line
X!endm
X
X	clear-message-line
FRIDAY_NIGHT
echo extracting - menu1
sed 's/^X//' > menu1 << 'FRIDAY_NIGHT'
X--<<01>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 WORD CASE/SCREEN CONTROL   F2  PAGING/SCROLLING
X[Main Menu]         F3 CUT & PASTE                F4  SEARCH AND REPLACE
X                    F5 DELETION COMMANDS          F6  WORD PROCESSING
X                    F7 INSERTION COMMANDS         F8  EDITOR CONTROL
X 06/18/86           F9 CURSOR MOVEMENT            F10 exit MicroEMACS
X--<<02>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 BUFFER CONTROL             F2  MACROS
X[Editor control]    F3 COLOR CHANGES              F4  MODES
X                    F5 DOS COMMANDS               F6  SCRIPTS
X                    F7 FILE ACCESS                F8  WINDOWS
X                    F9 KEY BINDINGS               F10 exit to MAIN MENU
X--<<03>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 upper case a word          F2  upper case a region
X Word case &        F3 lower case a word          F4  lower case a region
X  Screen control    F5 capitilize a word
X                    F7 redraw the screen          F8  mark a region
X                    F9 center the current line    F10 exit to MAIN MENU
X--<<04>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1  mark a region
X  Cut & Paste       F3  delete the region
X                    F5  copy the region to the kill buffer
X                    F7  insert the kill buffer into the text here
X                                                  F10 exit to MAIN MENU
X--<<05>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 delete the last character
X  Deletions         F3 delete the next character
X                    F5 delete to the end of the current line
X                    F7 delete all the blank lines around the cursor
X                                                  F10 exit to MAIN MENU
X--<<06>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 open a blank line          F2  insert a prompted string
X  Insertion         F3 insert a tab               F4  quote the next character
X                    F5 insert a space             F6  transpose last 2 chars
X                    F7 insert a newline and indent like the last line
X                    F9 insert a newline           F10 exit to MAIN MENU
X--<<07>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 begining of the file       F2  up one line
X  Cursor Movement   F3 left                       F4  right
X        F^2         F5 end of the file            F6  down one line
X    F3 < + > F4     F7 begining of line           F8  end of line
X        FV6         F9 goto line                  F10 exit to MAIN MENU
X--<<08>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1  go up one page            F2  go down one page
X  Paging and        F3  scroll the screen up      F4  scroll the screen down
X     Scrolling      F5  make the next widow go up one page
X                    F7  make the next window go down one page
X                    F9  exchange cursor & mark    F10 exit to MAIN MENU
X--<<09>>-----------------------------------------------------------------------
XMicroEMACS 3.7      f1  search forward            f2  seach backwards
X  Search and        F3  hunt forward              f4  hunt backwards
X    Replace         F5  isearch forward           F6  isearch backward
X                    F7  replace string            F8  replace string w/query
X                                                  F10 exit to MAIN MENU
X--<<10>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 go back a word             F2  go forward a word
X  Word processing   F3 go back a paragraph        F4  go forward a paragraph
X                    F5 fill paragraph             F6  delete current paragraph
X                    F7 delete last word           F8  delete next word
X                    F9 count words in region      F10 exit to MAIN MENU
X--<<11>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 report position            F2  unmark buffer
X  Buffer Control    F3 delete buffer              F4  switch to next buffer
X                    F5 list all buffers           F6  filter buffer through
X                    F7 rename current buffer             DOS program
X                    F9 select buffer              F10 exit to CONTROL MENU
X--<<12>>-----------------------------------------------------------------------
XMicroEMACS 3.7      Colors:           |  F1 current window's forground color
X  Color changes       Black   Magenta |  F3 current window's background color
X                      Blue    Cyan    |  F5 global forground color
X                      Red     Yellow  |  F7 global background color
X                      Green   White   |           F10  exit to CONTROL MENU
X--<<13>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1  execute one DOS command
X  DOS commands      F3  pipe one DOS command to a buffer
X                    F5  shell up to a new command interpeter
X                    F7  QUICK exit (write out all changed buffers and exit)
X                    F9  exit MicroEMACS           F10 exit to CONTROL MENU
X--<<14>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 find file                  F2 save current file
X  File Access       F3 view file (in VIEW mode)   F4 write file w/ new name
X                    F5 read file into buffer      F6 change current file name
X                    F7 insert file into buffer
X                                                  F10  exit to CONTROL MENU
X--<<15>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 bind a function to a key
X  Key Bindings      F3 unbind a key
X                    F5 describe a key
X                    F7 describe all bindings
X                                                  F10  exit to CONTROL MENU
X--<<16>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 define macro         The keyboard macro only works
X  Keyboard Macro    F3 end macro            for standard commands, NOT for
X                    F5 execute macro        menu selections.
X
X                                                  F10  exit to CONTROL MENU
X--<<17>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 set mode                   F2  set global mode
X  Modes             F3 delete mode                F4  delete global mode
X            Standard modes are:                   F6  set fill column
X                WRAP  VIEW  CMODE  EXACT OVER MAGIC
X                                                  F10 exit to CONTROL MENU
X--<<18>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 execute script file        F2  execute script line
X  Script            F3 execute script in buffer   F4  execute command (by name)
X            Script line format:
X         {}  { | ""}
X                                                  F10  exit to CONTROL MENU
X--<<19>>-----------------------------------------------------------------------
XMicroEMACS 3.7      F1 split current window       F2  delete all other windows
X  Windows           F3 resize window              F4  delete current window
X                    F5 shrink window              F6  enlarge window
X                    F7 next window                F8  previous window
X                                                  F10 exit to CONTROL MENU
X-------------------------------------------------------------------------------
FRIDAY_NIGHT
echo extracting - newpage.cmd
sed 's/^X//' > newpage.cmd << 'FRIDAY_NIGHT'
X;	NEWPAGE.CMD:	Startup page Loader
X;			for MicroEMACS 3.9d and above
X;			(C)opyright 1987 by Daniel M Lawrence
X
X; Get rid of the last page
X	set $discmd FALSE
X	write-message [Cleaning]
X	run clean
X	delete-buffer "[clean]"
X
X; make sure the function key window is up
X	set %rcfkeys FALSE
X	execute-macro-1
X
X; Write out the page load instructions
X	save-window
X	1 next-window
X	beginning-of-file
X	set $curcol 25
X	overwrite-string "           Available Pages to Load:                 "
X	next-line
X	set $curcol 25
X	overwrite-string "    [W]  WORDprocessing                             "
X	next-line
X	set $curcol 25
X	overwrite-string "    [P]  PROGramming                                "
X	next-line
X	set $curcol 18
X	overwrite-string "    "
X	set $curcol 25
X	overwrite-string "    [B]  BOX/block editing                          "
X	next-line
X	set $curcol 25
X	overwrite-string "[space]  to load a user page                        "
X	unmark-buffer
X	beginning-of-file
X	!force restore-window
X	update-screen
X
X; prompt for the page
X
X	write-message "Page to load: "
X*prompt
X	set %rctmp >key
X	clear-message-line
X	
X; check for an abort
X	!if &seq %rctmp ""
X		write-message "[Aborted]"
X		save-window
X		1 next-window
X		beginning-of-file
X		set $curcol 25
X		overwrite-string "   MicroEMACS:  Text Editor                         "
X		next-line
X		set $curcol 25
X		overwrite-string "                                                    "
X		next-line
X		set $curcol 25
X		overwrite-string "  Available function key Pages include:             "
X		next-line
X		set $curcol 25
X		overwrite-string "    WORD  PROG  BOX                                 "
X		next-line
X		set $curcol 25
X		overwrite-string "  [use the f8 key to load Pages]                    "
X		unmark-buffer
X		beginning-of-file
X		!force restore-window
X		set $discmd TRUE
X		!return
X	!endif
X	
X; if it is an unlisted page, get it's name
X	!if &seq %rctmp " "
X		set %rcfile &cat @"Name of Page to load: " ".cmd"
X	!else
X		set %rcfile &cat %rctmp "page.cmd"
X	!endif
X
X; see if this is a legit file
X	!if &seq &find %rcfile ""
X		write-message "%No Such Page, Page to load: "
X		!goto prompt
X	!endif
X
X;and lastly, execute it
X
X	execute-file %rcfile
X	set $discmd TRUE
FRIDAY_NIGHT
echo extracting - ppage.cmd
sed 's/^X//' > ppage.cmd << 'FRIDAY_NIGHT'
X;	PPAGE.CMD:	Programming Macro Page
X;			for MicroEMACS 3.9d and above
X;			(C)opyright 1987 by Daniel M Lawrence
X
X; set the clean procedure up
Xstore-procedure clean
X	delete-buffer "[Macro 10]"
X	delete-buffer "[Macro 11]"
X	delete-buffer "[Macro 12]"
X	delete-buffer "[Macro 13]"
X	bind-to-key execute-macro-14 FNX
X	bind-to-key execute-macro-15 FNY
X	delete-buffer "[Macro 16]"
X	delete-buffer "[Macro 17]"
X	bind-to-key execute-macro-18 FN\
X	bind-to-key execute-macro-19 FN]
X!endm
X
X; make sure the function key window is up
X	set %rcfkeys FALSE
X	execute-macro-1
X	write-message "Loading..."
X
X; Write out the page instructions
X	save-window
X	1 next-window
X	beginning-of-file
X	set $curcol 25
X	overwrite-string " F1 display variable       F2 evaluate expression"
X	next-line
X	set $curcol 25
X	overwrite-string " F3 compile buffer         F4 debug mode [OFF]"
X	next-line
X	set $curcol 25
X	overwrite-string " F5 execute buffer         F6 execute macro"
X	next-line
X	set $curcol 18
X	overwrite-string "PROG"
X	set $curcol 25
X	overwrite-string " F7 indent region          F8 undent region"
X	next-line
X	set $curcol 25
X	overwrite-string " F9 execute DOS command   F10 shell to DOS"
X	unmark-buffer
X	beginning-of-file
X	!force restore-window
X	update-screen
X
X; display a variable
X
X10	store-macro
X	set %rcdebug $debug
X	set $debug FALSE
X	set %rctmp @&cat &cat "Variable to display[" %rcvar "]: "
X	!if ¬ &seq %rctmp ""
X		set %rcvar %rctmp
X	!endif
X	write-message &cat &cat &cat %rcvar " = [" &ind %rcvar "]"
X	set $debug %rcdebug
X!endm
X
X;	evaluate expresion
X
X11	store-macro
X	delete-buffer "[temp]"
X	set %rcbuf $cbufname
X	set %cline $cwline
X	select-buffer "[temp]"
X	insert-string "set %rcval "
X	!force insert-string @"EXP: "
X	execute-buffer "[temp]"
X	unmark-buffer
X	select-buffer %rcbuf
X	delete-buffer "[temp]"
X	%cline redraw-display
X	write-message &cat &cat "Value = [" %rcval "]"
X!endm
X
X;	compile the current buffer
X
X12	store-macro
X;	here is where to add code to handle compiling the current buffer
X	write-message "[No Compiler module loaded]"
X!endm
X
X;	Toggle debug mode
X
X13	store-macro
X	set $debug FALSE
X	set %cbuf $cbufname
X	set %cline $cwline
X	select-buffer "Function Keys"
X	beginning-of-file
X	next-line
X	68 forward-character
X	set %rcdebug &equ $curchar 70
X	delete-previous-character
X	2 delete-next-character
X	!if %rcdebug
X		insert-string "ON "
X	!else
X		insert-string "OFF"
X	!endif
X	unmark-buffer
X	select-buffer %cbuf	
X	%cline redraw-display
X	write-message &cat &cat "[Debug Mode " %rcdebug "]"
X	set $debug %rcdebug
X!endm
X
X	bind-to-key execute-buffer FNX
X	bind-to-key execute-macro FNY
X
X;	indent region
X
X16	store-macro
X	write-message "[Indenting region]"
X	set %endline $curline
X	set %endpos $cwline
X	exchange-point-and-mark
X	set $discmd FALSE
X	set-mark
X	set $discmd TRUE
X
X	!while &gre %endline $curline
X		beginning-of-line
X		handle-tab
X		next-line
X	!endwhile
X
X	beginning-of-line	
X	set $cwline %endpos
X	write-message "[Region indented]"
X!endm
X
X;	undent region
X
X17	store-macro
X	write-message "[Undenting region]"
X	set %endline $curline
X	set %endpos $cwline
X	exchange-point-and-mark
X	set $discmd FALSE
X	set-mark
X	set $discmd TRUE
X
X	!while &gre %endline $curline
X		beginning-of-line
X		!if &gre $lwidth 0
X			delete-next-character
X		!endif
X		next-line
X	!endwhile
X
X	beginning-of-line	
X	set $cwline %endpos
X	write-message "[Region undented]"
X!endm
X
X	bind-to-key shell-command FN\
X	bind-to-key i-shell FN]
X	set %rcvar ""
X	write-message "[Program page loaded]"
FRIDAY_NIGHT
echo med.3 completed!
# That's all>
Da>
Da