1

I have been using VMS/OpenVMS for over 30 years now. I found something interesting yesterday.

I always have symbols PU*RGE :== PURGE/CONF, and DE*LETE :== DELETE/CONF in my setups. This is to avoid accidental deletions and purges.

However, one of my customers while purging files, accidentally typed PURGEE instead of PURGE, and this purged all earlier versions of files in his directory without seeking confirmation.
When he mentioned that to me, I also tried, with PURGEA, PURGEB, etc. All of these ignored my symbol for PU*RGE, and purged files without confirmation.

Has anyone noticed this behavior before, and/or if anyone knows how one could overcome this?

David Hoelzer
  • 15,862
  • 4
  • 48
  • 67
  • Another reason to follow Hein's advice re: using your own, unique, symbols is to avoid trauma with command procedures. Do you want your strange definition of DE*LETE to change the behavior of every command procedure that uses DELETE? Do you want to get punished by defensive command procedures that delete all of the global symbols to avoid getting tripped up by something silly, then leave you without your hacks? Better to invent your own commands. When you find yourself on another VMS system that doesn't have them then it should complain rather than doing something you don't expect. – HABO Mar 22 '14 at 21:11
  • btw... I added tag 'DCL' to my watchlist only yesterday. Got a hit on the same day. What are the odds, for a tag that was used 21 times in 4 years (about 1 in 50 :-). I would never have seen this otherwise. Anyway, I since added the [openvms] tag to this topic. – Hein Mar 23 '14 at 01:29

1 Answers1

3

It is precisely to combat 'helpful overlapping command verb definitions' that this original sin in DCL was left in place. Make "PC" be "Purge/Confirm" and "DL" for "Delete/LOG" but don't mess with my PURGE, EDIT and DELETE.

I want to use DELETE/SYMBOL and EDIT/EDT without stumbling! So I use EDITx/EDT and so forth, when not 'at home'.

I count on it now, to make sure that when I am a guest user for an account I don't get caught out by 'helpful' admins leading to unpredictable behavior.

Best I know the behavior is undocumented. Some history in this space...

http://h71000.www7.hp.com/wizard/wiz_6372.html http://h71000.www7.hp.com/wizard/wiz_3614.html

bad behavior example:

$ delete := delete/log
$ delete *.tmp;*
%DELETE-I-FILDEL, QA.TMP;1 deleted (15 blocks)
%DELETE-I-FILDEL, X.TMP;5 deleted (3 blocks)
:
%DELETE-I-TOTAL, 16 files deleted (51 blocks)
$ delete/symb xxx
%DCL-I-IGNQUAL, qualifiers appearing before this item were ignored
 \SYMB\
Hein
  • 1,453
  • 8
  • 8