I wrote:
> >
> > I must be even stupider than I thought I was, because I can't
> > figure out
> > why this is so. Can anyone enlighten me?
> >
>
> Sometime ago Jeff Vance (who better) wrote an explanation of
> this seemingly
> odd behavior. It should be in the archives. I do not remember
> the details
> now, but I think the reason has an historical (not
> hysterical) component.
>
I cannot find the HP3000-L posting, but from Jeff's CI Programming talk:
=======================
Typically script names should be chosen to not collide with UDC names nor
with built-in command names.
Qualifying a script name that is also a UDC or built-in command name does
not work. For example, suppose you have a script named ABORTIO, which is
also the name of a CI command,and this script resides in the XEQ.SYS group.
If you enter:
:abortio.xeq.sys 17,20
you will see this CI error:
ABORTIO has exactly one parameter, the device number. (CIERR 3027)
Why? The CI is really executing the built-in ABORTIO command and passing the
arguments: ".xeq.sys", "17", "20". The CI has "strange" name parsing rules
for reasons of MPE V compatibility, and decides the command name ends on the
first non-alpha character -- "." in this case. Thus, the command name is
"ABORTIO" and the first parameter is ".xeq.sys". The ABORTIO command only
expects a single LDEV number and thus reports the above error.
The remedy is to use the XEQ command which expects its first parameter to be
the name of a script or program file.
:xeq abortio 17, 20 or
:xeq abortio.xeq.sys 17, 20 works fine.
=======================
Until Jeff can supply more detail, we'll just have to go with this.
John
* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
|