(1 / 1)
Date: August 14, 1987 18:26
From: KIM::SHEPPERD
To: @sys$mail:engineer,SHEPPERD
Before I go on a rampage and change TPU too much, I thought I'd solicit
input from you guys first. Unless there are no objections, I'll install
the following new single key commands (sometime next week):
Gold/E - Edit another file. Reads a file into a buffer named the same
as the file and marks the buffer for write on exit.
Gold/F - Read a new file into the main buffer. Writes the old
contents of the main buffer if it has been modified.
Gold/N - Next buffer. Cycles the current window to the next buffer
to which there is a file assigned (i.e. MAIN -> AUX ->
xxx -> MAIN).
Gold/B - map specified buffer to the main_window.
In addition, I'll add a new line mode command: DIRECTORY which will put
a directory listing into a buffer and map the aux_window to it. You will
be able to cursor to the filename you want to read and Gold/I, Gold/U,
Gold/E, Gold/F or INCLUDE it by specifying a special character (as yet
unnamed) as the filename argument to those commands.
With the exception of Gold/E, none of those keys are currently defined in our
section file (Gold/E does the same as control E, increment tab stop). If you
have defined any of those keys to mean something special for you, then your
definition will win. If enough of you don't want me to use those particular
keys, then I can be persuaded to use different ones.
I'll also consider additional features for TPU now that I'm back hip deep
into the section file and while I still remember how to program in TPU.
From: KIM::SHEPPERD 18-AUG-1987 20:01:50.30
To: @sys$mail:engineer,SHEPPERD
CC:
Subj: More TPU features...
Hold on to your hats; here's a bunch of new things you'll find active
in the new TPU section file starting with the next time you call up
TPU.
CHANGED features included in the standard section file:
PF2 - (help key) is undefined. Use GOLD/KP7 HELP for help.
Gold/A - (adjust tab) is undefined. Use control A instead.
Gold/control_b - (balance check) resets any existing select range.
I also fixed it so it correctly works in reverse.
Gold/D - (decrement tab) is undefined. Use control D instead.
Gold/E - (increment tab) has been re-defined to something else.
Use control E for increment tab.
Gold/I - has been changed so it won't ask anymore whether it's
ok to blow away the AUX buffer. It just does it.
Gold/number - processing has been changed to allow for DELETE and
control U to work. The number you enter after the gold key
will appear in the message window instead of the prompt line.
You can quit the GOLD/number function by typing control U
RETURN.
TPU now reads your init file (pointed to by TPU$INIT) into a
buffer called TPUINIT, executes the buffer then deletes
it whether there were execution errors or not. It didn't
used to delete the buffer.
The TPU function DMS$INSPECT has had an additional argument added
to its parameter list. If any of your custom TPU commands
call this procedure, you'll need to add the 3rd argument
(buffer name).
TPU won't announce "attempts to move beyond end of buffer" when
using KP0 and the arrow keys. The cursor just remains glued
to the limit.
NEW features included in the standard section file:
Gold/E - Edit another file. Will prompt for a filename and will
create a buffer whose name is taken from the name of the file
and read the file into that buffer. If there is a buffer
already present with the same name, then it will first write
the modified contents of that buffer to its corresponding file.
Files named HELP, SHOW, PASTE, DCL, MAIN and AUX are loaded
into buffers named slightly differently. A message will be
displayed indicating the buffer name. The file does not have
to exist; that is, you can create a new emtpy file with this
function.
Gold/F - Read a new file. Will prompt for a new filename which will
be loaded into the MAIN buffer first witing the modified
contents of the main buffer to its corresponding file. The
file does not have to exist; that is, you can create a new
empty file with this function. This is useful if you have
finished with the file you started to edit and want to edit
another one without exiting the editor or, as happens to me
often, mistyping the filename when you start the editor then
having to QUIT and start again with the correct name. Now you
only need to do a Gold/F to fix it.
Note that Gold/E, Gold/F, Gold/I and Gold/U all call the same
procedure but behave according to the following table:
file rqd
Cmd Buffer Window on exit to exist
------- ------- ------- --------- --------
Gold/E xxx AUX write no
Gold/F MAIN MAIN write no
Gold/I AUX AUX discard yes
Gold/U AUX AUX write no
Gold/N - Map the current window to the next buffer to which a file
has been assigned or the DCL buffer. Note that the status line
on the AUX window is updated each time Gold/N is selected,
however, if the AUX window is not visible, then you may have
to guess from the data displayed to which buffer your current
window is mapped (or do a line mode SHOW BUFF command).
Gold/B - Map the current window the the specified buffer. Prompts
for a buffer name.
Gold/Q - Quit current edit. (Same as line mode QUIT).
Gold/control_w - Toggle window sizes between 80 and 132 column mode
Gold/control_z - Exit current edit. (Same as line mode EXIT).
Gold/back_space - swaps the two chars preceeding the cursor.
Gold/number/Gold/W - sets the size of the aux window to 'number'.
The aux window size defaults to 1/3 the visible length of
the screen (8 lines on a VT100; up to 20 lines on the GPX).
Gold/number/Gold/control_w - sets the size of the main window to
'number'. The main window size defaults to the page size of
the terminal minus 2.
ENTER - does a newline, tab (same as typing return, tab).
DCL - A new line mode command that creates a subprocess, hands off
the remaining text on the command line to the process and
places all the data returned by the process into a buffer
called TPU_DCL which is mapped to the AUX window. The subprocess
is left hanging around in case you want to do additional
DCL commands. Surprizing as it might seem, it IS faster to
create a subprocess to issue a DIRECTORY command than it
is for TPU to do the directory function that I wrote,
especially if you do more than 1 directory command during
a single edit session. The DCL command lets you get all your
favorite DCL info using most of your favorite DCL commands and
custom words. It is not possible to continue editing while the
subprocess is executing its command; you have to wait for it
to complete.
DIRECTORY - Another new line mode command which actually expands to
line mode "DCL DIR" + whatever else you typed on the command
line.
In addition there's a new procedure that isn't bound to a key. I used it
extensively during the debug of all these features, namely COMPILE_PROCEDURE.
This function (which I bind to GOLD/C in my startup file) will compile
the procedure that the cursor happens to be in. It looks for the surrounding
PROCEDURE and ENDPROCEDURE, creates a select_range and compiles the range.
It does require that the words PROCEDURE and ENDPROCEDURE be the first words
on the line.
If you should find function broken that used to work just fine and you need
it back, then you can get to the old section file by making the following
assignment before running TPU:
$ ass utl$archive:dmsedtsecini tpusecini
Coming soon to terminals near you, MAJOR rework to CERROR and
indirect filename pickup from the DCL buffer (cursor to a
filename then use that filename in a subsequent INCLUDE,
Gold/E, Gold/F, Gold/U or Gold/I function). I figure that
these features will take some time to get working and didn't
want to hold up the use of this other stuff until then.
Aug 14, 1987