Reputation: 11
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?
Upvotes: 1
Views: 347
Reputation: 1463
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\
Upvotes: 3