TED v3.1 - The Editor
=====================

[TED is a limited version of the Jazz v5.9 ED editor. The editor has been
 modifed to suit better the needs of regular HP48 users. As opposed to Jazz
 TED can be freely stored in any HP48 port.]

TED is intended for general object and text editing. TED makes no duplicate
of the edited string if it is in temporary object area, thus enabling editing
very large strings. Note that this implies that no backup of the original
string is kept!

Note that TED is very fast but since it supports the tabulator it has to do
special calculations whenever the display is scrolled. Thus scrolling the
display when very long lines are present can be quite slow.

Most of the normal character keys are in their normal places, others can be
fetched via the special character browser.

TED decompiles object to width 30, wider than the regular HP48 editor. This
can be changed by storing a real number larger than 9 in variable TED.WID.

To enable hooking mechanisms by external applications "ED" is an alias for
TED.

Special keys having different definitions are mostly in the non-alpha
plane. The NS,LS,RS planes are defined as follows:


	+-------+-------+-------+-------+-------+-------+
	|BSTART |BEND   |BCOPY  |BCUT   |       |FIND   |
	|       |       |       |BDEL   |GREPL? |REPL?  |
	|BLKUP  |BLKDN  |BSWAP  |BKEEP  |GREPL  |REPLALL|
	+-------+-------+-------+-------+-------+-------+
	|ARG?   |       |MEXEC  |DFIND  |UP     |NEXT   |
	|ROW?   |CHR?   |MSTART |CNTRINI|PGUP   |PREV   |
	|POS?   |CHRCAT |MEND   |CNTR   |TOP    |STATUS |
	+-------+-------+-------+-------+-------+-------+
	|''     |STK    |EVAL   |LEFT   |DOWN   |RIGHT  |
	|       |BPUSH  |       |LWORD  |PGDN   |RWORD  |
	|       |RCLSTK1|       |LSTART |BOTTOM |LEND   |
	+-------+-------+-------+-------+-------+-------+
	|SIN    |COS    |TAN    |'sqrt' |^      |INV    |
	|ASIN   |ACOS   |ATAN   |SQ     |ALOG   |EXP    |
	|'der'  |'intg' |'sum'  |XROOT  |LOG    |LN     |
	+---------------+-------+-------+-------+-------+
	|EXIT           |TOGBEEP|TOGSPD |DEL    |BS     |
	|               |TOGCASE|PURGE  |DELLINE|BSLEFT |
	|               |TOGOVER|       |DELRGHT|BSRIGHT|
	+-------+---------+---------+---------+---------+
	|alpha  |7        |8        |9        |/        |
	|       |SETMK7   |SETMK8   |SETMK9   |()       |
	|       |GOMK7    |GOMK8    |GOMK9    |#        |
	+-------+---------+---------+---------+---------+
	|lshift |4        |5        |6        |*        |
	|       |SETMK4   |SETMK5   |SETMK6   |[]       |
	|       |GOMK4    |GOMK5    |GOMK6    |         |
	+-------+---------+---------+---------+---------+
	|rshift |1        |2        |3        |-        |
	|       |SETMK1   |SETMK2   |SETMK3   |<<>>     |
	|       |GOMK1    |GOMK2    |GOMK3    |""       |
	+-------+---------+---------+---------+---------+
	|REDISP |0        |.        |SPC      |+        |
	|       |=        |,        |'pi'     |{}       |
	|OFF    |GOMK0    |NEWLINE  |TAB      |::       |
	+-------+---------+---------+---------+---------+

Explanations:

TOGBEEP	- Toggle beep on/off. Default value is taken from the system flag.
TOGCASE	- Toggle lower/upper case characters. Also bound to alpha+ls+alpha.
TOGOVER	- Toggle insert/overwrite mode.
TOGSPD	- Toggle regular/fast mode

LSTART	- Jump to start of line
LEND	- Jump to end of line
LWORD	- Skip word to the left
RWORD	- Skip word to the right

DEL	- Delete character under cursor
DELLINE	- Delete line under cursor
DELRGHT	- Delete characters to right of cursor.
BS	- Backspace
BSLEFT	- Delete word to the left
BSRIGHT	- Delete word to the right

BSTART	- Set block start address
BEND	- Set block end address
BLKUP	- Set block = start-cursor
BLKDN	- Set block = cursor-end
BCOPY	- Copy block/clip to cursor position
BCUT	- Delete block (copied to clip)
BDEL	- Delete block (not copied to clip)
BKEEP	- Delete all but block (clip not modified)
BSWAP	- Swap clip and text
BPUSH	- Push block/clip to the stack
RCLSTK1	- Pop string from stk1 into cursor position

FIND	- Incremental search. Search is case sensitive if find string
	  contains lower case characters.  
REPLALL	- Find/replace all
REPL?	- Find/replace with verification
GREPL	- Global replace all without changing cursor position
GREPL?	- Global replace all ... with verification
	  For example to globally replace "L05512" with some more
	  descriptive label just
		- put cursor on the label, press GREPL
		- press alpha to turn off alpha mode
		- press down-arrow to insert the label in the input line
		- press enter to accept it
		- type the replacement and press enter

NEXT	- Find next match
PREV	- Find previous match
DFIND	- Find matching delimiter for delimiter under cursor

MSTART	- Start defining macro key sequence
MEND	- End macro key sequence
MEXEC	- Execute macro key

ARG?	- Input repeat count for next key press
ROW?	- Input row to jump to
POS?	- Input position to jump to
CHR?	- Input character number to insert
CHRCAT	- Character browser, ENTER key echos chosen character to cursor
	  position, ON key exits. 

SETMKn	- Set mark <n>
GOMKn	- Jump to mark <n>
GOMK0	- Go to previous cursor position
	
STK	- Starts a normal SOL. Recursive TEDs are allowed. Exit back to TED
	  with CONT key. All internal markers except cursor position will be
	  lost.
CNTRINI	- Initialize counter variable. Number of digits used determines width
	  of counter, possible leading  "#" determines a hex counter.
CNTR	- Insert counter into text and increment it. At start the width is
	  initialized to 1 hex nibble, so for example pressing
			[ARG?] 16 ENTER [CNTR]
	  will produce "0123456789F"

Special keys during inputline:

	ENTER		- Input ok
	ON		- Cancel
	DEL		- Delete char
	BACKSPACE	- Delete previous char
	LT/RT		- Move left/right. During find input pressing RT at
			  the end of input will take the next input char from
			  the current match location, thus making it easier
			  to complete the match.
	NXT		- Next match during find input
	PREV		- Previous match during find input.
	RS+PRG		- Starts character catalog
	DOWN		- Puts word under cursor to editline

Special keys in alpha plane:

	A LS -	=	<<\n>>		(with indent checks)
	A LS +	=	{\n}		(with indent checks)
	A ENTER	=	\n + indent the same way as the previous line

Notes:
	Repetition and macro key execution can be aborted with the ON
	key. Repetition, macro save and macro execution are aborted
	automatically if an error occurs. Max lenght of a macro key sequence
	is 50 keys.


The Object Viewer
^^^^^^^^^^^^^^^^^

VV is a general purpose object viewer, which depending on input works as
follows:

	strings	- view with special string viewer
	grobs	- view with special grob viewer
	other	- try to call AGROB with small font size and then view the
		  result with the grob viewer 

The viewer returns the input unmodified in all cases.

	String viewer keys:
	-------------------
	cursor keys	scroll display
	PRG/STO/'/EVAL	scroll one page at a time
	F/NXT		jump to top/bottom
	-		slow mode
	+		fast mode
	ON/ENTER	exit

	Grob viewer keys:
	-----------------
	cursor keys	move grob
	.		center grob
	A-F		set scroll speed 1-6
	ON/ENTER	exit



The Small Font
^^^^^^^^^^^^^^

TED requires a level of the Universal Font Library (UFL) that supports FNT1.
The UFL package comes with a Font Maintenance Library (FMnt) which allows you
to change the font that TED and other applications use.

----------------------------------------------------------------------
