DECUS Essential Tools Collection, 1996 for OpenVMS Alpha and OpenVMS VAX (VS0174)
Copyright © 1993 by MadGoat Software. All rights reserved.
Written by Hunter Goatley <goathunter@WKUVX1.BITNET>
June 17, 1993
BUILDING DCLPATCH
To build DCLPATCH.EXE (either as-is or customized), simply use the
following DCL commands:
$ MACRO DCLPATCH
$ LINK DCLPATCH
Under OpenVMS AXP, you'd have to use the MACRO/MIGRATE command:
$ MACRO/MIGRATE/OBJ=DCLPATCH SYS$LIBRARY:ARCH_DEFS.MAR+SYS$DISK:[]DCLPATCH
$ LINK DCLPATCH
Here is a sample run under OpenVMS AXP V1.5:
$ macro/migrate/obj=dclpatch sys$library:arch_defs.mar+sys$disk:[]dclpatch
$ link/notrace dclpatch
$ run dclpatch
Extending recall capability of SYS$SYSTEM:DCL.EXE....
Special ALPHA Version!!!
Replacing "CMPB WRK_B_RECALLCNT(R10),#WRK_C_RECALLMAX+1" (3 occurrences)....
Patching at image address 0001E0D0
Patching at image address 0001DFB8
Patching at image address 0001E028
Replacing "CMPL R1,#WRK_C_RECALLMAX" (1 occurrence)....
Patching at image address 0001F3B0
Replacing "MOVL #WRK_C_RECALLMAX,R6" (1 occurrence)....
Patching at image address 0001F450
Replacing "MOVL #WRK_C_RECALLMAX,R9" (1 occurrence)....
Patching at image address 0001F49C
Replacing RECALL output code comparison (1 occurrence)...
Patching at image address 0001F680
Replacing RECALL output code increment (1 occurrence)...
Patching at image address 0001F688
Replacing RECALL output code insertion (1 occurrence)...
Patching at image address 0001F75C
Creating file DCL_RECALL.EXE
Extended DCL RECALL image DCL_RECALL.EXE created
$
Once the patch has been made, you can test it by copying DCL_RECALL.EXE to
SYS$SYSTEM: and installing it. Once it has been installed, an account can
be set up to use it by running AUTHORIZE and specifying the DCL_RECALL as
the CLI the user is to use:
$ INSTALL ADD DCL_RECALL/OPEN/HEADER/SHARED
$ SET DEFAULT SYS$SYSTEM:
$ RUN AUTHORIZE
UAF> MODIFY HUNTER/CLI=DCL_RECALL
User record(s) updated
UAF> EXIT
Now when someone logs in under username HUNTER, he/she will be using the
patched version of DCL. You can test the patches by entering more than
twenty commands and then using RECALL/ALL and the arrow keys. To access
the command numbered 56, simply give the following command:
$ RECALL 56
Once you are confident that the patch works, you can rename it as DCL.EXE
and reinstall DCL so that all users will get it by default (I suggest
keeping a copy of the original around, "just in case...."):
$ INSTALL REMOVE DCL_RECALL
$ COPY SYS$SYSTEM:DCL.EXE SYS$SYSTEM:DCL_ORIGINAL.EXE
$ COPY SYS$SYSTEM:DCL_RECALL.EXE SYS$SYSTEM:DCL.EXE
$ INSTALL REPLACE DCL
As usual, you use this program at your own risk. If you don't feel
comfortable using the patches, then don't apply them. I've been using the
patches since VMS version 4.2 without ever having a problem.
Hunter
------
Hunter Goatley, VMS Systems Programmer, Western Kentucky University
goathunter@WKUVX1.BITNET (or goathunter%wkuvx1.bitnet@ULKYVM.LOUISVILLE.EDU)
Voice: 502-745-5251 FAX: 502-745-6569
Click on FTP to download from the FTP archives.
![[FTP]](http://www2.encompassus.org/hidedecus/graphics/i_ftp.gif)