home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
CPM
/
TURBODSG
/
FANLED.DQC
/
FANLED.DOC
Wrap
Text File
|
2000-06-30
|
9KB
|
211 lines
...14 Jul 85... (see end of file for update info)
ESKAY SOFTWARE presents....
FANLED - a FANcy Line EDitor for TurboDOS
FANLED is a TurboDOS module designed to allow sophisticated line editing
capabilities on the TurboDOS command line. It completely replaces the
INPLN module supplied by Software 2000. FANLED has been tested on TurboDOS
version 1.41 systems and may not work in pre-1.4x versions.
=========================================================================
THIS IS THE RELEASE VERSION OF FANLED. PLEASE FOLLOW ALL INSTRUCTIONS TO
BRING IT UP. PASS IT ON TO A FRIEND. IF YOU USE IT COMMERCIALLY, YOU'RE
WELCOME TO DO SO, BUT PLEASE LET ME KNOW. THANKS.
S. KLUGER, 7120 SKILLMAN #2104, DALLAS TX 75231 (214) 553-1363 1200 BAUD
=========================================================================
1. INSTALLATION
FANLED can be installed two ways: (8 bit version)
1 If you have PACKAGE.COM and all kernel modules, simply replace "INPLN"
in the .PKG files with "FANLED" and use the PACKAGE command to generate
new STDxxxxx.REL files.
2 If you do not have PACKAGE.COM, you will need a library manager, such as
Digital Research's LIB.COM (comes with RMAC and CB80) to replace INPLN
with FANLED in all STDxxxxx.REL files. Example:
0A}LIB STDSLAVE=STDSLAVE<INPLN=FANLED>
Method 1 above also works for 16 bit systems. If you don't have the PKG
files and PACKAGE.CMD, you are almost out of luck unless your OEM or
systems house can supply DELINK and RELINK. DELINK changed a .O file into
its mapping information, while RELINK restores the .O file. You would have
to use DELINK and an editor to remove the INPLN module, put the DELINKed
version of FANLED in its place (be sure to remove the EOF) and then RELINK
the whole mess. It may be better to just RELINK STDSLAVE.O without
FANLED and put FANLED in the GEN file so it can be updated easier.
In your PAR file, be sure to include FORSPC = "^n" where "^n" is the
control character that causes your video display to space forward non-
destructively. The default is:
FORSPC = "^L"
which is common to many terminals.
In order to save space, your command line buffer should not exceed 160
characters. If you do not use "CLBLEN = " in your PAR file, you are
safe, else be sure CLBLEN = 9B (default value). Future versions of FANLED
will allocate buffer space dynamically.
Now re-GEN your SYS files and you're ready to roll...
2. FEATURES
FANLED provides the following editing features on the command line:
- recall of last command line (only if recall executed before anything
else is typed)
- cursor movement forward and backward character-wise, as well as move
cursor to beginning or end of line
- delete character forward or backward
- delete all characters left of cursor
- delete all characters right of cursor
- insert character at cursor position
- yank kill buffer (undo last delete, inserting at current cursor
position).
3. DETAILED COMMAND DESCRIPTION
The FANLED command set is based on the EMACS command set as used in the
MINCE editor and other Mark Of The Unicorn products.
3.0 The cursor
The cursor is defined as placed BETWEEN two characters. The
character displayed to the left of the cursor is the character
assumed to be to the left, the character displayed above the
cursor (or overstriking the cursor, whichever cursor mode
your terminal may be in) is considered to be to the right
of the cursor.
Note that if your command line is longer than can be displayed on
one terminal line, the terminal must be in WRAPAROUND mode for
FANLED to work properly!
3.1 Entering a command line
A command line is entered as usual with a RETURN terminating it
and causing it to be executed.
3.2 Recalling previous command line
^R The previous command line can be recalled by typing ^R at the
system prompt. Typing ^R as any character other than the first
causes the ^R to be ignored and not acted upon. After a line
recall, the cursor is positioned at the end of the line.
3.3 Cursor movement
^F ^B The cursor is moved forward by pressing ^F and backward by
pressing ^B. If the cursor is at the beginning of a line, ^B
will be ignored. If the cursor is at the end of a line,
^F will be ignored.
^A ^E The cursor is moved to the beginning of the line by pressing ^A.
The cursor is moved to the end of the line by pressing ^E.
3.4 Delete character
^D ^H Pressing ^D causes the character in front of the cursor to be
deleted, moving the remainder of the line to the left by one
character. Pressing ^D at the end of a line will be ignored.
Pressing ^H (or the BACKSPACE or DELETE key) causes the character
to the left of the cursor to be deleted. Attempts to delete
past the beginning of the line will be ignored.
3.5 Kill characters
^K ^X Pressing ^K will cause all characters to the right of the cursor
to be deleted and placed into the kill buffer, overwriting the
current contents of the kill buffer. Pressing ^X causes all
all characters to the left of the cursor to be deleted and placed
in the kill buffer, overwriting the previous contents of the kill
buffer and moving all characters to the right of the cursor to
the beginning of the line.
^K and ^X become invalid if there is nothing to be killed, without
altering the kill buffer contents.
3.6 Unkill characters
^Y Typing ^Y will cause the contents of the kill buffer to be
inserted at the current cursor position. Note that the contents
of the kill buffer will be retained until the next ^K or ^X is
executed. This allows for a simple 1-line storage...
3.7 Inserting editing characters as control characters
^Q Typing ^Q will cause the NEXT character to be inserted into the
command line. Use it to insert one of the edit command characters
into the command line. A RETURN cannot be inserted.
3.8 Terminate and execute
RET Typing RETURN (ENTER, ^M) causes the whole command line to be
sent to TurboDOS for execution, even if the cursor is positioned
somewhere other than at the end of the line.
3.9 USE OF FANLED
FANLED is invoked automatically at the operating system prompt
and (!!) when C-function 10 is executed. Many programs use
C-function 10 to obtain string-oriented input!
4. COMPATIBILITY
FANLED's advanced features can, of course, only be used on video terminals.
If the terminal has an AUTO-CRLF or WRAPAROUND mode, it should be enabled
so the editing features can be used on a command line longer than what fits
on one terminal line.
5. LEGAL STUFF AND SUCH
FANLED was written for unlimited distribution. Its object code is placed
into the Public Domain with the only restriction that it be used only by
licensed users of the TurboDOS operating system. Companies wishing to
include FANLED into systems sold to their customers should notify me of
such use, however, no royalties, license agreements and other such useless
junk will be necessary. I just want to know who uses it.
OEM houses and large volume system integrators with competent systems level
programmers may obtain the source to FANLED by sending me a diskette with
sufficient return postage. 8" SSSD CP/M or any ICM format (8") is fine.
Send praise, complaints, comments and donations (if you have the desire to
contribute a few bucks) to:
S. Kluger
7120 Skillman #2104
Dallas, TX 75231
Or call (214) 553-1363 at 1200 baud to leave your comments.
UPDATE INFO:
ver 1.00 4-2-85 initial release
ver 1.10 4-4-85 fixed minor bug in insert routine
ver 1.20 4-9-85 added globals for edit keydefs:
GLOBAL PATCH POINTS AND THEIR DEFAULTS:
FANBG = "^A" ; MOVE CURSOR TO BEGINNING OF LINE
FANBK = "^B" ; MOVE CURSOR BACKWARD 1 CHARACTER
FANEL = "^E" ; MOVE CURSOR TO END OF LINE
FANFC = "^F" ; MOVE CURSOR FORWARD 1 CHARACTER
FANDF = "^D" ; DELETE CHARACTER FORWARD
FANDB = "^H" ; DELETE CHARACTER BACKWARD
FANKF = "^K" ; KILL ALL CHARACTERS FORWARD
FANQU = "^Q" ; INSERT NEXT CHARACTER (QUOTE)
FANRC = "^R" ; RECALL PREVIOUS COMMAND LINE
FANKB = "^X" ; KILL ALL CHARACTERS BACKWARD
FANYA = "^Y" ; YANK KILL BUFFER INTO COMMAND LINE
Thanks to Chris Loelke for his suggestions. Multiline storage is a
question of memory and I may not implement it.
The source to FANLED will be available soon.
Continued update info as of 14 Jul 85:
v1.40 fixes the ^Y problem, the obscure 16-bit bugs and adds the
^U command (cancel current command line).
v1.40 16 bit ONLY adds the following new commands:
^G PUSH current kill buffer
^T POP current kill buffer
This is a 1-level stack, if the stack is in use, nothing may be pushed.
If the stack is empty, nothing may be popped. It can be used as a means
to save the current contents of the kill buffer.
This set of commands may at one point be expanded to allow multi-line
storage through a "push" and a "pop n" command.
I have made no effort to incorporate these features into the 8-bit version.
NQU = "^Q" ; INSERT NEXT CHARACTER (QUOTE)
FANRC = "^R" ; RECALL PREVIOUS COMMAND LINE
FANKB = "^X" ; KILL ALL CHARACTER