Trailing-Edge
-
PDP-10 Archives
-
bb-d549g-sb
-
wld7.doc
There are no other files named wld7.doc in the archive.
WILD.DOC -- Changes from version 6 to 7
September, 1974
Copyright 1974, Digital Equipment Corp., Maynard, Mass.
1.0 SUMMARY
1.1 This release supports the SCAN guide words of 'AND',
'OR', and 'NOT'. 'OR' take the replacement of "+" in
previous versions for DIRECT and QUEUE. "+" still
works for this version, but will be changed in the
next version to mean only its traditional meaning of
file concatenation. The previous version fixed all
SPRs received through April 25, 1974 (10-13045); no
SPRs have been received since then.
1.2 WILD version 7 runs on all monitors. It has been
tested on 6.01. There are no known deficiencies.
WILD fully supports the DATE-75 project.
1.3 WILD version 7 is documented in the specification
WILD.RNO. Also, it is documented implicitly in the
software notebook description of DIRECT, and briefly
in chapter one of the system command manual.
Supporting documentation can be found in the .DOC
files for SCAN version 7 and DIRECT version 3.
1.4 Function of WILD
WILD is designed to be used as a subroutine called
from any program which needs to perform wild-card
lookups on any device. It is needed since the logic
for selecting and reading directories has become
quite involved under the 5-series monitor. Among the
special cases handled correctly by WILD and few other
user-mode programs are sub-file directories, NEW:,
HLP:, SYSA:, and controller controller-class and file
structure abbreviations. Most Digital supplied
utilities will eventually be converted to use WILD if
they perform wild-card operations.
WILD.DOC -- Changes from version 6 to 7 Page 2
2.0 CHANGES
300 Support the file specification separator guide words
of 'AND', 'OR', and 'NOT' as passed from SCAN version
7. Of these, 'OR' has lower precedence, and 'NOT' is
interpretted as though it were "AND NOT". A file is
selected only if it meets the constraints of one of
the sets separated by 'OR'. Within such a set, all
matches must be met including switches such as
/BEFORE and /LENGTH. 'NOT' is interpretted
essentially as an exclusion, i.e., as though the user
said "ALL x EXCEPT y".
301 Default to /OKPROTECTION if there are any wild cards.
This will tend to hide protected files from the user
in order to not confuse him.
302 If the input side has more wild cards than the output
side, give the message ?WLDTWC TOO MANY WILD-CARDS ON
INPUT FOR OUTPUT. This means that the user must
specify the same number of wild-cards on input and
output.
303 Whenever the user gives a device name which implies
more than one structure, ignore any structures which
are single access by other jobs than the user's.
304 Issue a new warning message if all files which were
found (or all directories) had protection failures.
The message is %WLDAFP ALL FILES PROTECTED file-spec.
305 Issue a new warning message if all files which were
found were rejected either by such switches as /SINCE
or by the logical conditions introduced by edit 300.
The message is %WLDAFR ALL FILES REJECTED BY
CONDITIONS file-spec.
306 (SPR 10-13,944) Correct typo in one of the LOOKUP
error messages.
307 (QAR 2760) Add error message %WLDSDP SOME DIRECTORIES
PROTECTED which indicates that the file was not found
in any directories looked at, but some of the
directories which matched the spec where protected
against the user.
310 (QAR 2836) Correct a bug introduced in edit 304.
311 Add message %WLDSFP SOME FILES PROTECTED which will
be issued if some files match and also some files or
directories which might have matched could not be
accessed. This message can be suppressed with the
switch /OKNONE, which suppresses all of the summary
warning messages.
WILD.DOC -- Changes from version 6 to 7 Page 3
3.0 KNOWN BUGS AND DEFICIENCIES
None.
4.0 CHANGES IN INSTALLATION INSTRUCTIONS
The dummy low-segment file WILDDM has been removed
since LINK-10 version 2 (released on the July, 1974
distribution tape) has a switch /ONLY:LOW which can
achieve the same effect and ensures the correct low
segment is included. Thus, all commands which
reference WILDDM should be changed to WILD/ONLY:LOW.
Note that although there are several programs which
use WILD and SCAN, we will not necessarily rebuild
all of them when WILD is released. Typically, the
various utilities such as DIRECT and QUEUE and DUMP
will be rebuilt, but major products such as LINK and
FORTRAN will not be rebuilt until their next release.
If the customer wishes to rebuild, he may, but
usually the changes to WILD and SCAN do not warrent
the cost of rebuilding and testing.
5.0 SUGGESTIONS
Read the directories via super USETI if possible for
better speed. This would also allow a pack to be
read when not mounted as a structure.
Support a switch to control SFD scanning, going to
LIB: and SYS:. This would override the job's
default.
When user specifies "SYS:" and has NEW: enabled,
wild-card over both [1,4] and [1,5].
Make the routine which outputs "IN USE BY JOB n" be
WILD.DOC -- Changes from version 6 to 7 Page 4
generally available.
Extend the error message routines to include all the
components of a concatenated specification.
Include /BEFORE, etc., in the error message "NO SUCH
FILE AS" since the file may exist, but it is just
excluded by the constraints.
Expand the search logic to allow concatenation of
directories which are different (SPR 10-9943).
(SPR 10-10209) Add switches to control the start and
end of files which match a wild-card. Thus, the user
could "restart" on a specified file. Also, add
switches which specify to skip n files and then do m
files.
(SPR 10-102019) Add a switch to do the files in
reverse order. This would catch recent files before
older ones.
(SPR 10-13457) Allow the caller to specify a channel
which can be kept OPEN in order to speed up the
processing.
WILD.DOC -- changes from version 5 to 6 Page 5
EXTRACTS FROM WLD6.RND
143 Remove a bug which caused [p,pn,*,*,*] and similar
constructions to not work as intended. This
construction will now correctly find all files.
144 Correct a bug in the handling of wild-cards on
DECtapes.
145 As a performance improvement, especially for KJOB
calling of QUEUE, delete directory access tables only
if the directory does not belong to the user.
146 Add the capability for the caller to obtain a list of
structures which match the user specified device. In
particular, "SYS" will return the sys-search list;
"ALL" will return the all-search list; "DPA" will
return all structures on RP10 number 0; etc. There
are two new entry points, .INSTR and .NXSTR. The
first initializes the proceedure with the user's
device and the /PHYSICAL switch if specified; and
skip returns with a code to indicate whether multiple
structures may be involved. The second takes no
argument and returns the name of the next structure,
or 0 when done. These routines are
self-initializing, but can not be used while .LKWLD
is in progress.
147 Convert to use C.MAC and SCNMAC.MAC as universal
files.
150 Support the user specified /MESSAGE level from
.GTWCH. This allows the user to obtain either the
error prefix, or the message, or both.
151 Move the routine .PTWRD to .SCAN.
152 Support /MESSAGE switch from SCAN.
153 (SPR 10-12368) Handle UFD names when they occur as a
file (not as SIXBIT).
154 Fix /STR with non-wild names to use the correct
directory (if device forces it) and to issue the
correct messages if the file or directory is missing.
155 If /OKNONE is given, then no error will be listed if
the file is missing. This extends the influence of
the switch to non-wild environments as well as wild
ones.
WILD.DOC -- changes from version 5 to 6 Page 6
156 (SPR 10-12368) Support the switches /BEFORE and
/SINCE on DEC-tapes.
157 Add an optional argument to .LKWLD to specify the
address of a routine to call whenever end of
directory is reached. This will allow DIRECT to
issue its summaries more rapidly.
160 Add an option bit to cause SFD scanning down to occur
at the end of the owning directory instead of in the
middle. This necessitates a second pass for any
directory containing an SFD, but allows DIRECT to
give a cleaner listing when multiple levels are
specified.
161 Support the switches /ABEFORE, /ASINCE, /LENGTH,
/ESTIMATE, /ERSUPERSEDE, and /VERSION.
162 (QAR 1882) More of edit 153.
163 More of edit 161. Also, clean up the handling of the
special error code inserts.
164 More of edit 161.
165 Correct NUL: handling in 135.
WILD.DOC -- changes from version 4 to 5 Page 7
EXTRACTS FROM WLD5.RND
2.0 CHANGES
123 Add a new error message "? NO FILE NAME SPECIFIED".
124 Add routine .SCWLD to handle secondary wild-cards
such as output files.
125 Simplify checks for end of directory list.
126 At location WILDK, replace the HALT with a JRST to
recover from read errors in the directory.
127 Add routines E.LKEN and .TFILB as general purpose
SCAN style typeout blocks.
130 Create a dummy module, WILDDM, which defines a low
segment the same size as WILDs. This will be updated
each release.
131 In .SCWLD, if the input and output files are for the
same owner, set the default protection to be xyy
where x is from the system standard file protection
and yy is from the input file.
132 Support the DATE75 project when checking the /BEFORE
and /SINCE switches.
133 Support the /OKPROTECTION and /ERPROTECTION switches.
/OKPROTECTION suppresses protection check error
messages. This is the default if the UFD is wild.
134 Correct error in edit 127.
135 Handle device NUL: correctly. NUL: is considered to
be a non-directory device for callers of WILD.
136 (SPR 10-10819) Fix a bug in the DECtape directory
logic for wild-carding which omitted the first file
of the directory.
137 Type the correct directory when the UFD has a
protection error and the user was trying to specify
the directory itself.
140 Change all error messages to have a unique prefix of
six letters starting with WLD. The message prefixes
are:
DEM %directory is empty
DFO ?open failure for xxx in use by job nnn
WILD.DOC -- changes from version 4 to 5 Page 8
IOE %error while reading file
IWC ?insufficient wild-cards in input for
output
LKE lookup/enter failure (or mnemonic
message)
LKP %lookup failure (or mnemonic message)
NDO ?null name in output wild-card
NFS ?no file name specified
NNO ?null directory in output wild-card
NSD %no such directory
NSF %no such files as
NXD %non-existent ufd
NXU %non-existent ufd
SCO ?open failure on xxx in use by job nnn
SLE %search list empty for device
Each error message has a local symbol defined of the
form E$$xxx where xxx is the unique error suffix.
141 (SPR 10-11421) Verify that /STRS and /PHYSICAL are
the same on all files of a concatenated
specification.
142 Correctly store for the caller the pointer to the
matching input file spec.
WILD.DOC -- CHANGES FROM VERSION 3 TO 4 Page 9
EXTRACTS FROM WLD4.RND
2.0 CHANGES
100 (INTERNAL) CHANGE TO USE .FX SYMBOLS FROM SCNMAC.
101 USE FX.DFX TO FLAG MFD FIXUPS (USER SPECIFIES EXTENSION
.UFD). THIS GIVES THE CONSISTENT INTERPRETATION OF
FILE NAME BEING IGNORED AND DIRECTORY USED FOR
EXTENSION .UFD. ALSO, CORRECT THE CODE TO HANDLE
SYS:.UFD, ETC., CORRECTLY.
102 REMOVE A GLITCH WHICH PROHIBITED RE-ENTRY AFTER A
NON-DISK DEVICE IS USED. BEFORE THIS CHANGE, THE
CALLER HAD TO UPDATE THE INITIAL POINTER AND RESTART
WILD.
103 ALLOW BOTH FX.ADD AND .FXTRO FOR THE INCLUSIVE OR
FUNCTION. THIS LAYS THE GROUND-WORK TO SWITCH TO "!"
AS THE INCLUSIVE OR SPECIFICATION IN MATCHING RATHER
THAT "+".
104 (SPR 10-7182) ADD DEFENSIVE HALT IN CASE LH(DIRECTORY)
IS ZERO. THIS CAN BE CAUSED ONLY BY AN INTERNAL ERROR
OR BY A FILSER BUG.
105 (INTERNAL) REPLACE THE INTERN STATEMENTS BY "::".
106 USE THE CORRECT EXTENSION IN THE LOOKUP ERROR MESSAGE.
107 ADD HANDLING OF WILD-CARDS ON DEC-TAPE. HANDLING OF
NON-DISK DEVICES IS ENABLED BY A NEW BIT IN THE
ARGUMENT BLOCK. WHEN SET, THE OPEN AND LOOKUP BLOCKS
ARE SETUP FOR ALL DEVICES. THE NON-SKIP RETURN IS
TAKEN ONLY WHEN THE REQUESTS ARE FINISHED.
110 CORRECT SUBSCRIPTING IN E.DFL ROUTINE.
111 FOR MAG-TAPES, SET OPEN BLOCK DEPENDING UPON THE
/DENSITY AND /PARITY SWITCHES.
112 CHANGE /BEFORE AND /SINCE LOGIC TO CONSIDER -1 AS
DEFAULT BEHAVIOUR.
113 IF THE USER'S PROJECT NUMBER IS GREATER THAN 7, AND THE
TARGET DIRECTORY PROJECT IS LESS THAN 10, THEN IF THE
USER TYPED "*" FOR PROJECT AND NOT "*" FOR PROGRAMMER
NUMBER REJECT THE MATCH. THIS SUPPORTS THE NOTION THAT
FOR PROJECTS BELOW 10, THE PROGRAMMER NUMBER IS
INDEPENDENT OF THOSE ABOVE 10. IN PARTICULAR, WITH
LIBRARIES, ETC., BEING DEVELOPED FOR PROJECTS BELOW 10,
WILD.DOC -- CHANGES FROM VERSION 3 TO 4 Page 10
USERS LOOKING FOR THEIR FILES IN ALL PROJECTS SHOULD
NOT SEE THESE FILES. IF EITHER THE PROJECT IS EXPLICIT
OR THE PROGRAMMER IS "*", THEN THE OLD BEHAVIOUR IS
INDICATED. THUS, [*,*] WILL STILL SEARCH ALL UFD'S.
NOTE THAT [?,X] WILL MATCH PROGRAMMER X IN ALL
DIRECTORIES BELOW PROJECT 10. NOTE ALSO, THAT THE
BEHAVIOUR FROM [1,2] IS UNAFFECTED.
114 HANDLE [1,1].UFD CONSISTENT WITH THE OTHER .UFD
HANDLING. THIS ELIMINATES THE NOTATION OF
#X0000YY.UFD[1,1].
115 CORRECT A BUG IN THE MFD CHKACC LOGIC. THIS WAS
UNCOVERED BY A BUG IN TWICE WHICH CAUSED STRANGE UFD
PROTECTIONS, BUT THE CODE SHOULD BE CORRECT ANYWAY.
116 CORRECT BUG INTRODUCED BY 107.
117 ADD ENTRY POINT .CHKTA FOR DIRECT TO CHECK THE
BEFORE/SINCE SWITCHES ON MAGTAPES.
120 CHANGE THE MODULE NAME FROM "WILD" TO ".WILD" TO AVOID
ANY NAME CONFLICTS.
121 ADD SYMBOLS ".WILDZ" AND ".WILDL" FOR THE START AND
LENGTH OF THE LOW SEGMENT AREA.
122 HANDLE NO MFD MESSAGE GRACEFULLY ("NON-EXISTENT MFD ON
XXX:").
WILD.DOC -- CHANGES FROM VERSION 2 TO 3 Page 11
EXTRACTS FROM WLD3.RND
THE ONLY CHANGE IS TO CORRECT ONE BUG. THIS BUG CAUSED WILD
TO SKIP THE LAST FILE IN EACH BLOCK OF THE DIRECTORY.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2 Page 12
EXTRACTS FROM WLD2.RND
2.0 EXTERNAL CHANGES
2.1 USER (CONSOLE) CHANGES
2.1.1 SUB-FILE DIRECTORIES ARE FULLY SUPPORTED. IN
PARTICULAR, UP TO FIVE SFDS MAY BE SPECIFIED FOLLOWING THE
PROJECT,PROGRAMMER NUMBER. THESE SFDS MAY INCLUDE BOTH *
AND ? WILD CARDS. THE SFDS ARE SPECIFIED IN SIXBIT
SEPARATED BY COMMAS. THUS, FOR EXAMPLE, TO REFER TO THE
FILE NAMED FOO.MAC WITHIN SFD XYZ WHICH RESIDES IN SFD ABC
IN AREA [10,612], ONE TYPES "FOO.MAC[10,612,ABC,XYZ]".
2.1.2 THE DEFAULT DIRECTORY SET BY SETSRC IS FULLY
SUPPORTED. THIS IS NORMALLY INVOKED BY NOT SPECIFYING THE
DIRECTORY IN THE COMMAND. IF IT IS DESIRED TO SPECIFY THE
DEFAULT DIRECTORY EXPLICITLY, THE NOTATION "[-]" MAY BE
USED.
2.1.3 FOR CONVENIENCE, A DIRECTORY REFERENCE TO A DIRECTORY
IN THE USER'S PROJECT OR HIS PROGRAMMER NUMBER MAY BE LEFT
BLANK. THUS [,7] WHEN LOGGED IN AS [10,612], MEANS [10,7].
SIMILARLY, [11,] WOULD MEAN [11,612]. THIS ALSO CAN BE USED
WITH SFDS, SO THE EXAMPLE IN 2.1.1 CAN BE TYPED AS
"FOO.MAC[,,ABC,XYZ]". IF THE DEFAULT DIRECTORY IS NOT THE
USER'S LOGGED IN UFD, HIS UFD CAN BE REFERENCED AS "[,]".
NOTE THAT THESE NOTATIONS USE THE USER'S LOGGED IN PROJECT
PROGRAMMER NUMBER, NOT HIS DEFAULT DIRECTORY.
2.1.4 A DEFICIENCY IN VERSION 1 HAS BEEN FIXED. THE
NOTATION "+" IS USED TO COMBINE SEVERAL SPECIFICATIONS INTO
ONE WILD CARD SCAN. IT REPRESENTS AN OR FUNCTION. FOR
EXAMPLE, A.B+C.D MEANS ANY FILE NAMED A.B OR C.D. IN
VERSION 1, THIS DID NOT WORK FOR UFDS. IN VERSION 2 IT
WORKS FOR ALL CASES.
2.1.5 (SER 1567) WILD NOW HANDLES CONTROLLER CLASS
ABBREVIATIONS, CONTROLLER ABBREVIATIONS, AND STRUCTURE
ABBREVIATIONS. THIS IS FULLY COMPATIBLE WITH THE FILSER
INTERPRETATION OF THESE ABBREVIATIONS.
2.1.6 REPORTING OF DIRECTORY LOOKUP ERRORS IS DEFERRED TO
THE END OF LOOKING AT ALL STRUCTURES. THUS, IF AN SFD OR
UFD IS MISSING ON ONE STRUCTURE, BUT PRESENT ON ANOTHER
STRUCTURE, NO ERROR WILL BE GENERATED. THIS IS COMPATIBLE
WITH THE FILSER INTERPRETATION.
2.1.7 THE OPEN FAILURE MESSAGE NOW INCLUDES A QUESTION MARK
TO MAKE IT FATAL. IF POSSIBLE, IT ALSO INCLUDES THE JOB
NUMBER OF THE JOB WHICH IS USING THE DEVICE.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2 Page 13
2.1.8 THE FILSER LOOKUP ERROR CODE 24 IS SUPPORTED. THIS
CODE HAPPENS IF THE JOB'S SEARCH LIST IS EMPTY. WILD
VERSION 1 DETECTED THIS ITSELF FOR WILD CARD LOOKUPS, BUT IT
DEPENDS ON FILSER IF NO WILD CARDS ARE INDICATED.
2.1.9 THE DIRECTORY WILD CARDING WORKS AS FOLLOWS. A FILE
IS A MATCH ONLY IF IT APPEARS AT THE DEPTH INDICATED BY THE
DIRECTORY SPECIFICATION OR IF 0 MATCHES THE NEXT DEEPER
DIRECTORY SPECIFICATION. THUS, IF THE USER TYPES
"[1,2,A,*,C]", FILES WILL MATCH ONLY IN [1,2,A] (SINCE 0
MATCHES *) AND IN [1,2,A,*,C] (SINCE THIS IS THE BOTTOM
LEVEL).
2.1.10 SPECIAL HANDLING IS PERFORMED WHEN THE USER SPECIFIES
.UFD AS THE EXTENSION. IN THIS CASE, THE PROJECT-PROGRAMMER
NUMBER FROM THE DIRECTORY (AFTER DEFAULTING) IS SUBSTITUTED
FOR THE FILE NAME AND THE DIRECTORY IS SET TO BE THE MFD
(1,1).
2.1.11 WHEN THE MONITOR DOES A LOOKUP ON DEVICES SUCH AS
SYS: OR HLP:, IT IGNORES THE DIRECTORY SPECIFICATION UNLESS
IT TURNS OUT TO BE A LOGICAL DEVICE NAME. WILD DOES THE
SAME THING.
2.2 CALLER (PROGRAM) CHANGES
2.2.1 WILD NOW OBSERVES THE STANDARD CALLING CONVENTIONS.
ACS 1-4 ARE TEMP AND 5 IS PRESERVED. PARAMETERS ARE PASSED
TO IT VIA A POINTER IN AC 1. THE INDEX TO THE SCAN BLOCK
WHICH MATCHED THE REQUEST IS STORED IN A LOCATION SELECTED
BY THE CALLER.
2.2.2 WILD HAS BEEN UPDATED TO USE THE REVISED TYPEOUT
ROUTINES IN SCAN VERSION 2. THE CALLING SEQUENCE TO THESE
ROUTINES HAS BEEN CHANGED TO PASS THE VALUE IN AC 1.
2.2.3 DIRECTORIES ARE LISTED BY CALLING THE NEW ROUTINE
(.TDIRB) IN SCAN VERSION 2. THIS ROUTINE HANDLES SFD FORMAT
AND SCAN FORMAT FOR THE TYPEOUT.
2.2.4 ALL DIRECTORY READING IS NOW ON CHANNEL 0, WHICH IS
ASSUMED TO BE A SCRATCH CHANNEL. BECAUSE OF THIS, ALL
DIRECTORIES ARE READ IN DUMP MODE.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2 Page 14
2.2.5 THE DATA READ ROUTINE (.NXDTW) NOW USES A CHANNEL
SELECTED BY THE CALLING PROGRAM. THE DATA CHANNEL IS NOW
OPENED BY THE CALLER.
2.2.6 THE FLAG (.WLDFL) WHICH INDICATES WILDCARD VS.
MULTIPLE STRS VS. SIMPLE LOOKUP, NOW HAS A FOURTH STATE--
VALUE -2 MEANS BOTH MULTIPLE STRS AND WILDCARD.
2.2.7 THE LOOKUP BLOCK IS NOW RETURNED IN A CORE BLOCK
POINTED TO FROM THE ARGUMENT BLOCK. THIS IS SETUP IN
STANDARD EXTENDED LOOKUP FORMAT.
2.2.8 A ROUTINE (.CHKTM) HAS BEEN ADDED WHICH WILL VALIDATE
THE FILE'S CREATION TIME AND DATE AGAINST THE /BEFORE AND
/SINCE SWITCHES FROM SCAN. (THESE SWITCHES ARE NOT
SUPPORTED IN SCAN VERSION 2).
5.0 INTERNAL CHANGES
5.1 C.MAC AND SCNMAC.MAC ARE USED FOR ALL MONITOR AND
PARAMETER SPECIFICATIONS.
5.2 ALL DIRECTORY READS ARE VALIDATED BY THE CHKACC UUO.
THIS REMOVES A DEFICIENCY IN QUEUE WHICH ALLOWED THE USER TO
LIST PROTECTED DIRECTORIES. THUS WILD CAN NOW BE USED IN
ANY PROGRAM RUNNING WITH JACCT TURNED ON.
5.3 THE INDEX POINTER TO THE FILE SPEC AREA IS NOW IN P1 (AC
5).
5.4 THE DIRECTORY READING CODE HAS BEEN REWRITTEN. IT NOW
HANDLES UFDS AND SFDS IN ONE ROUTINE. WHEN A UFD OR SFD IS
FOUND, THE SEARCH WILL DROP DOWN INTO THAT DIRECTORY IF
THERE IS ANY POSSIBILITY FOR A MATCH. AT END OF DIRECTORY,
THE SEARCH WILL RETURN UP ONE LEVEL. LEVELS OF THE
DIRECTORY WITHOUT WILDCARDS WILL AVOID THE SCAN AND ASSUME
THE RESULT IMMEDIATELY.
5.5 NO SPRS HAVE BEEN RECEIVED. THE ONLY SER WAS 1567,
WHICH IS ANSWERED.
5.6 WHEN WILD IS DONE WITH A DIRECTORY, IT DOES A CLOSE 100
SO THE MONITOR WILL DELETE THE ACCESS TABLES. THIS SHOULD
DECREASE INTERFERENCE IN THE DORMANT ACCESS TABLES.
WILD.DOC -- CHANGES FROM VERSION 1 TO VERSION 2 Page 15
[END OF WILD.DOC]