From: SMTP%"dwing@uh01.Colorado.EDU" 19-DEC-1993 21:38:50.20 To: EVERHART CC: Subj: Re: DEVINFO.COM - promised/requested, now delivered X-Newsgroups: comp.os.vms Subject: Re: DEVINFO.COM - promised/requested, now delivered Message-ID: <1993Dec19.183608.549@buckie.hsc.colorado.edu> From: dwing@uh01.Colorado.EDU (Dan Wing) Date: 19 Dec 93 18:36:08 MDT Reply-To: dwing@uh01.Colorado.EDU Distribution: world Organization: Ski Bum Wanna-be, Incorporated Nntp-Posting-Host: buckie.hsc.colorado.edu Lines: 43 To: Info-VAX@CRVAX.SRI.COM X-Gateway-Source-Info: USENET In article <18DEC199312502905@erich.triumf.ca>, music@erich.triumf.ca (FRED W. BACH) writes: > For safety's sake and to be more assured that things like your DCL script > work properly, I usually add something like this to the top of my files: > > $SAY = "WRITE SYS$OUTPUT" > $EXIT = "EXIT" > $WRITE = "WRITE" > $GOTO = "GOTO" > $IF = "IF" > $THEN = "THEN" > $ELSE = "ELSE" > $ENDIF = "ENDIF" > > You might be surprised to find what some strange people re-define for > standard DCL verb names. In critical scripts that I write, I redefine > every verb or symbol that I am going to use. That way the users would have > to foul up the DCL tables in order to sprong my programs. Most of them > don't know how. I have found that this approach of re-defining the verbs to > be symbols pointing to real verbs is almost foolproof. > > Your file needed the definition of "SAY". > > Other folks may wish to set the symbol scope and then define explicitly > what they want. The above is just as good, I suppose. That's a waste -- since VMS V5.0 you can simply do: $ SET SYMBOL/SCOPE=(noLOCAL,noGLOBAL) which disables the .COM file's access to all local and global symbols -- it executes much faster than defining every single symbol you're going to use. Widely-distributed .COM files, such as Andy Harper's VMS_SHARE, include lines like: $ SET := SET $ SET SYMBOL/SCOPE=(noLOCAL,noGLOBAL) which is the fastest and safest way of ensuring the symbols have their "desired" meaning. -Dan Wing, Systems Administrator, University Hospital, Denver dwing@uh01.colorado.edu or wing@eisner.decus.org