(1 / 6)
Date: December 31, 1986 10:55
From: KIM::RAINS
To: @sys$mail:engineer
VAX-edrin Headache #1 It happens everyday. You go to delete a file, and the system gives you a discourteous message about not including the version number even though nothing else in DCL complains when you don't specify the version. So you hit the up-arrow and tag a semicolon on to the end of the command and hit return. So what's the big deal??? The big deal is I'M MAD AS HELL AND I AIN'T GONNA TAKE IT ANYMORE! (more)... I have created a simple command file in my home directory called DEL.COM which contains the following lines: $ confirm = "" $ if p1 .nes. (p1 - "*" - "%") then confirm = "/confirm" $ delete 'confirm 'f$parse(p1) In my LOGIN.COM startup file, I added the symbol definition: $ del :== @sys$login:del Now, I'm not bothered by the delete version error messages anymore, and I automatically go to confirmation mode if I specified a wildcard file name. If I really want to blow away all the files covered by the wildcard, I just answer "All" at the first prompt.
(2 / 6)
Date: December 31, 1986 11:16
From: KIM::RAINS
To: @sys$mail:engineer
VAX-edrin Headcahe #2 I like the GOSUB/RETURN/GOBACK command set from Suttles, but I seem to constantly forget the enclosing square brackets in the GOSUB directory specification. So what do you do to relieve the pain? You go to Suttles and spend an hour with him to make it more to your liking. The GOSUB command now tries a list of reasonable things with the directory spec you send it. So things like: $ GOSUB WHATZIT will likely put you in the SYS$USERDISK:[WHERE_I_WAS_AT.WHATZIT] directory. The command does not search the whole directory tree for a match, but it will look near and far (sibling and offspring directories, and first level directories off your home directory or on the same device). Try it. I think you'll like it. And for those of you who have PC's, ST's, or other computers at home where the default directory is declared with a CD command, there is a new version of GOSUB called CD. It's just like GOSUB, but if you just say CD with no parameter, it does the RETURN function. Install it with the following symbol definition in your LOGIN.COM file: $ CD :== @UTL$COM:CD Enjoy.
(3 / 6)
Date: January 02, 1987 10:27
From: KIM::RAINS
To: @sys$mail:engineer
VAX-edrin Headache #3 You've been poking around somewhere in another directory (something like SYS$USERDISK:[FRED.STUFF.MORESTUFF.EVENMORESTUFF]) and now you have found something you want to get back to or reference with out so much directory name baggage. Sure, it doesn't happen often, but when it does, what a pain! Well, take the recommended dose of the new and improved Name Directory command (ND for short). ND allows you to give the current directory an easy to remember (and easy to type) logical name by simply saying: $ ND EASYNAME Now you can refer to the file you are interested in by referencing EASYNAME:FILENAME, or you can go to other directories and come back with a GOSUB EASYNAME. You can use the DEASSIGN command to free up any logical names you have created with ND. These temporary logical names automatically go away when you log out. You create this complex command by putting the following symbol definition in your LOGIN.COM file: $ ND :== ASSIGN 'F$ENV("DEFAULT") One small caveat, though. The use of logical names has a certain downside because the system will translate them even when you don't mean to. I would not suggest naming a directory with the same name as a command. So names like MAIL are probably not a good idea (although MAILDIR should be fine).
(4 / 6)
Date: January 02, 1987 10:49
From: KIM::RAINS
To: @sys$mail:engineer
VAX-edrin Headache #4 So you say that you send a lot of mail to JUNK and ENGINEER, and you're tired of waiting forever for the DCL prompt to come back?? Well what you need is a command that will spawn off at separate task to send the mail and leave you free to do other things. Just so happens, I have this one already bottled and called POST. First, you edit your mail message with a standard editor (EDT, TPU, VI, etc.) and then you issue the command: $ POST MESSAGE.TXT "@SYS$MAIL:JUNK"/SUBJ="Blah, Blah, Blah..." After a few seconds, you'll get a spawn message and your DCL prompt will return. You will be informed when the posting is complete, but you won't have to wait for it before you go on to other things. To use POST, you need the following symbol definition in your LOGIN.COM: $ POST :== SPAWN/NOWAIT/INPUT=NL:/NOTIFY MAIL WARNING: WHEN YOU LOG OUT WITH SPAWNED SUBPROCESSES ACTIVE, YOU KILL THE SUBPROCESSES. SO IF YOU LOG OUT WHILE POST IS STILL RUNNING, NOT ALL THE MAIL WILL GET DELIVERED.
(5 / 6)
Date: January 02, 1987 17:29
From: KIM::RAINS
To: @sys$mail:engineer
VAX-edrin Headache #3 Revisited: Untested Code If you tried using ND (Name Directory), you probably found it doesn't work. The logical name gets set to your home directory. I had originally implemented this command as a .COM file and it worked. The translation into a simple symbol assignment doesn't (at least not the way I did it). What WILL work is to create a file called ND.COM in your home directory which contains the single line: $ ASSIGN 'F$ENV("DEFAULT") 'p1 Now put the following corrected symbol definition into your LOGIN.COM file: $ ND :== @SYS$LOGIN:ND Sorry about that.
(6 / 6)
Date: January 05, 1987 13:07
From: KIM::RAINS
To: @SYS$MAIL:ENGINEER
VAX-edrin Headache #4 Revisted: New, Improved Version After consulting with Steve Suttles, we have a more robust version of the POST command which works as a batch job rather than a spawned process. It corrects many of the problems and deficiencies of the old version (which, quoth Suttles, "...only works if everything is right."). The new command is used by putting the following symbol definition in your LOGIN.COM file: $ POST :== @UTL$COM:POST The calling format is different from the old POST command. The new format is: $ POST MESSAGE.TXT DISTRIBUTION "SUBJECT" /ETC where: MESSAGE.TXT is the text of your message (.TXT is the default extension). DISTRIBUTION is a comma-separated list WITHOUT EMBEDDED SPACES OR QUOTES listing the recipients of your message. "SUBJECT" is a quoted string with the subject text. /ETC is miscellaneous switches and qualifiers of the MAIL command. A batch log is sent to MAIL$LOGIN:POST.LOG, so you can see any problems which may have occurred. (MAIL$LOGIN is where your mail files are.)
Dec 31, 1986