[Info-vax] strange behaviour with DIRECTORY and search-list logical names
Phillip Helbig---undress to reply
helbig at astro.multiCLOTHESvax.de
Mon Nov 9 17:36:45 EST 2009
I suspect that this behaviour has been around for a long time. Can
anyone explain why? Presumably it is not removed since that would
involve tinkering with rather low-level things. I can't imagine that
anyone's code actually depends on this behaviour; if so, it deserves to
be broken. However, changing this might have side effects or it might
be difficult to test, which is presumably why it is not changed.
Comments?
---------8<-------------------------------------------------------------------
$ CREATE/DIRECTORY [.A]
$ CREATE/DIRECTORY [.B]
$ CREATE/DIRECTORY [.C]
$ CREATE/DIRECTORY [.D]
$ CREATE/DIRECTORY [.Z]
$ CREATE [.A]A.A
$ CREATE [.B]B.B
$ CREATE [.C]C.C
$ CREATE [.D]D.D
$ DIRECTORY/NOHEADER/EXCLUDE=*.DIR [...]
$ DEFINE/NOLOG AAA [.A],[.Z]
$ DEFINE/NOLOG BBB [.B],[.Z]
$ DEFINE/NOLOG CCC [.C],[.Z]
$ DEFINE/NOLOG DDD [.D],[.Z]
$ DIRECTORY/NOHEADER AAA
$ DIRECTORY/NOHEADER BBB
$ DIRECTORY/NOHEADER CCC
$ DIRECTORY/NOHEADER DDD
$ TYPE SYS$INPUT
So far, so good!
If the DIRECTORY command specifies a list of logical names, each of
which is a search list, then if N is the position in the list, the
contents are listed 2**(N-) times!
If some items in the list are search-lists and some not, then the
behaviour is even more complicated.
Note that there is no overlap in the contents of the directories.
The criterion seems to be "search list", no matter how many directories
are in the search list.
$ SET VERIFY
$ DIRECTORY/NOHEADER AAA,BBB,CCC,DDD
$ DIRECTORY/NOHEADER BBB,AAA
$ EXIT $STATUS + 0*'F$VERIFY(0)'
---------8<-------------------------------------------------------------------
More information about the Info-vax
mailing list