atari email archive

a collection of messages sent at Atari from 1983 to 1992.

TPU??? Not again!

(1 / 1)


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.
Message 1 of 1

Aug 14, 1987