user3447891
user3447891

Reputation: 11

Problems with DCL Symbols

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

Answers (1)

Hein
Hein

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

Related Questions