[comp.os.vms] Foreign command line vs. Command definition

sommar@enea.UUCP (Erland Sommarskog) (08/22/87)

Frank Nagy writes:
>I have made some modifications so that this version of SWING can be
>defined as a foreign DCL command since the definition
>
>	$ SWING :== $disk:[directory]SWING
>
>is a LOT faster to execute than
>
>	$ SET COMMAND disk:[directory]SWINGTABLES
>
>and is easier on system resources (memory).  I have submitted an article
>to the PageSwapper describing how to make this change in general and why
>it is a good thing to do.  I have written several utilities which are
>defined as foreign commands but which have DCL command syntax and use
>the CLI$ routines to decode the command line (using the DCL parser makes
>it very easy to write such things).  

Yes, it's much quicker to define a symbol than having CDU to parse
a file, that's admittely true. But, still I'm not wholly convinced.

1) An advantage with CDU vs. foreign command line is that you don't
   have to load the image when the command is incorrectly given. I'm
   daily using an editor that is defined as foreign command (for some
   reasons it uses Lib$t_parse.) It's nauseating having to wait for
   seconds - when the system is loaded - to learn "Unknown qualifier".
   
2) There are other ways of using the CLD definition.
   a) Put them in SYS$LIBRARY:DCLTABLES.EXE
   b) Put them in another file together with the rest and do
      SET COMMAND/TABLE=LOCAL$LIBRARY:DCL-SWINGTABLES
      or something like that. I don't remember the exact syntax.
      That goes fast and does not require any privileges.
   Both these soluions will of course give you extra work at
   system upgrades.

PS: I wonder how many SUCCES letters I will get from LISTSERVs on BITNET
this time. Last time I got 6-7 I think.
-- 

Erland Sommarskog       
ENEA Data, Stockholm    
sommar@enea.UUCP