(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