Trailing-Edge - PDP-10 Archives - cuspmar86binsrc_2of2_bb-fp63a-sb - 10,7/pip/pip.doc
There are 2 other files named pip.doc in the archive. Click here to see a list.

PIP.DOC -- Changes from V33C(505) to V33D(546)
January 1986


COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1972,1975,1977,1978,1979,1980,1985,1986.
PIP.DOC                                                         Page 2

PIP.DOC -- Changes from V33C(505) to V33D(546)
January 1986


Version  33D  of  the  Peripheral  Interchange  Program  (PIP)  is   a
maintenance release including all known bug fixes.

PIP requires TOPS-10 version 7.02.

PIP is fully documented in the Users  Handbook  and  in  the  Software




Pathological device names are not currently supported by PIP, and will
cause unpredictable results if used.




The following is a list of all known edits which were made to  version
33B(260) to produce version 33D.

506    Allow "/X=NUL:FILE.EXT" to create empty "FILE.EXT".

       QAR #10-05579

507    Make error message for wildcard SFD specification.

       No SPR

510    Allow setting 1600 and 6250 BPI for tape.

       No SPR

511    Make program output line sequence  numbers  with  word  aligned
PIP.DOC                                                         Page 3

       LSNs, bit 35 set.

       No SPR

512    Make [-] work in SFDs by pointing to path when "-" is seen.

       No SPR

513    Add FTSMP switch for use with /P function to prevent trash.

       SPR:  10-31129

514    Finish edit 364 for UFD renames which do not change anything do
       not cause fatal errors.

       QAR #10-06089

515    Bypass owner protection code checking when user PPN is [1,2]

       QAR #10-06012

516    Clear MTFLAG when end of magtape switch is seen.

       QAR #10-06122

517    Copy .RBNCA word of ENTER block

       SPR:  10-31474

520    Lengthen LOOKUP/ENTER blocks and copy .RBPCA.

       SPR:  10-31474, continued

521    In deletes and renames, check that the file found  matches  the
       PPN or path specified, or the default patch if none was given.

       No SPR

522    When copying from DTA:   to  an  existing  file  on  DSK:,  the
       filemode  of  the existing file gets zeroed.  This affects edit
       247 which did not allow that DTA:  has no filemode.

       SPR:  10-31878

523    Make routine IOERR work.

       SPR:  10-31916

524    Don't delete nonexistent DTA:  files.  Print error message  "No
       file named XXXXXX.XXX".

       SPR:  10-32271

525    Make ^P through ^T print out as uparrow-character when  the  /J
       switch is used to a TTY:.
PIP.DOC                                                         Page 4

       SPR:  10-32655

526    Make  copy  from  TSK:   to  DSK:   copy   LOOKUP/ENTER   block

       SPR:  10-33080

527    Make non-recoverable fatal errors such as disk  quota  exceeded
       delete  the output file on error.  Fix to edit 376 to keep file
       concatenation on copy working.

       SPR:  10-33251, 10-32831

530    Make a blank line stay a blank line when /C and /T used to drop
       spaces and convert tabs.

       SPR:  10-33839

531    Fix edit 356 so that tabs after LSNs are done correctly.

       SPR:  33818

532    Fix edit 151 so that logical names work on deletion of files.

       SPR:  10-34483

533    Don't search LIB:  or SYS:  when deleting files.

       SPR:  10-33508

534    357 broke /W, 531 broke /C.  Fix them both  by  re-implementing
       code  from 357, and clearing the "TAB SEEN" flag after the LSN,
       instead of incrementing the tab counter.

       SPR:  10-34733

535    Wildcard protect command where the same file name exists on two
       structures  results  in  both  files  being renamed twice each.
       Don't look for a file on all  structures  when  doing  wildcard
       rename,  just  look  for  the  file  on  the structure that the
       directory says it's on.

       SPR:  10-35079

536    532 broke deleting a list of files.  All files listed  after  a
       wildcarded  file specification would not get deleted, and a PIP
       command error message would be issued.  As per the SPR response
       sent by the customer of 532, save and restore GENERI around the
       call to ININIT.

       No SPR

537    Add some  consistency  checks  in  the  code  that  reads  line
       sequence  numbers  to watch for a file that's really binary and
       not line sequenced ASCII.
PIP.DOC                                                         Page 5

       SPR:  10-33544

540    Fix a DATE-75 bug when creating  files  with  a  protection  of
       <000>.  This normally happens when concatenating input files.

       SPR:  10-35149

541    Make sure non-wildcarded deletes on a specific structure  don't
       search  LIB:.   Also,  lite  RB.DSL  so we don't get protection
       failure on files from /SYS or /LIB.

       SPR:  10-31791

542    541 didn't know that CHKFIL assumes the PPN to be pushed on the
       stack.  Make it know that.

       No SPR.

543    Edit 306 allows files to be created with a .COPY  command  that
       may  have  RP.DIR  set.   Only  copy  RP.DIR  if a RENAME is in
       progress.  Creation of .SFD  and  .UFD  files  get  RP.DIR  set
       automagically anyway.

       SPR:  10-32940

544    Update copyright notice.

       No SPR.

545    Copy the quota words when renaming directories.

       QAR:  868386

546    Make sure it's  still  possible  to  type  .EXE  files  so  the
       copyright notice can be seen.

       NO SPR

[PIP33C.DOC is appended as an integral part of PIP33D.DOC]
PIP.DOC                                                         Page 6

PIP.DOC -- Changes from V33B to V33C(505)
November 1980


COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1972,1975,1977,1978,1979,1980,1986.
PIP33C.DOC                                                      Page 7

PIP.DOC -- Changes from V33B to V33C(505)
November 1980


Version  33C  of  the  Peripheral  Interchange  Program  (PIP)  is   a
maintenance  release  including all known bug fixes.  It also includes
fixes to handle ersatz devices and SFD's correctly.

In general, PIP version 33C is more consistent and makes better use of
series-6  monitor  facilities than did version 33B.  PIP now makes use
of extended LOOKUP blocks.  Command processing and error handling have
been  improved.   PIP now utilizes MACTEN and UUOSYM, and many symbols
have been changed to standardize them.  LEVELC conditionalization  has
been extended.

PIP will run under any monitor supported by DEC for the  DECsystem-10.
It has been tested under 6.03, 6.03A, 7.00, and 7.01.

PIP is fully documented in the Users  Handbook  and  in  the  Software


The following visible changes have been made:

In PIP version 33B, if a PPN was specified for either source or object
but  not  both,  it  was  assumed  for  the  other.   This  meant that
FILE2/R=FILE1[10,20] was the same as FILE2[10,20]/R=FILE1 and  neither
command would change the UFD of the file.  It is generally agreed that
PPNs and path specifications  should  never  be  "sticky"  across  the
equals-sign,  but  total compliance with this ideal was inappropriate,
as it caused PIP to RENAME or PROTECT files into  one's  default  path
under certain conditions.

This "feature" has been corrected in version 33C, which will  use  the
default path any time that a path is not specified on that side of the
equals-sign, except in RENAMEs (and DELETEs), when the input path will
be  used.   Note  that COPY FILE2=FILE1[10,20], for example, will copy
the  input  file  correctly  into  the  default   path,   but   RENAME
FILE2=FILE1[10,20]  will not change the UFD or SFD of the file to that
of the default path.

There is one visible difference between this release of  PIP  and  the
current  versions  of  SCAN and WILD with reference to ersatz devices.
DIRECT ignores the setting of NEW in the user's search list when  SYS:
is  specified.   PIP uses the setting of NEW in the user's search list
and uses [1,5] when SYS:  is specified.
PIP33C.DOC                                                      Page 8

Operations such as RENAME FILE.* and  DELETE  ALL:FILE.EXT  no  longer
return  an  ?Ambiguous...  error when FILE.* or FILE.EXT exist on more
than one structure in the search list.

The DELETED/RENAMED typeout now displays the name of the structure  on
which the deleted/renamed file resides.  This was implemented to allow
use of RENAME FILE.* and DELETE ALL:FILE.EXT with greater  confidence.
If this feature is not desired at a particular installation, it can be
disabled by replacing PUSHJ P,P6BIT at INFO3+3 with JRST INFO3B.

Filenames are now typed with internal spaces.

Ersatz device and wildcard handling have been improved.

A control-Z typed at TTY command level  now  causes  PIP  to  exit  to
monitor level.

PIP's command processor now accepts only the /M switch on  the  second
and following files when multiple input files are specified.

PIP's command scanner no longer erroneously accepts wildcards  of  the
form  "P*LIB".   Before, this would have been identical to "P*";  now,
the "L" will be detected as an error.


If identical filenames exists on more than one structure in  a  search
list,  a  wildcard  PROTECT  which includes such files will cause each
such file on each structure in the search list to be reprotected  each
time  such  a  file  is  encountered.   In other words, such files are
reprotected too many times.   This  bug  will  not  produce  incorrect
results, since the file(s) in question will be properly protected each
time.  It is, however, a very complex  problem,  and  a  fix  will  be
released when one is available.


The previous support for Level C monitors or possibly very old or very
small Level D monitors is under the control of the feature test switch
LEVELC.  This includes code such as CLOSE UUO's  before  RENAME  UUO's
and support for failure of the DEVPPN UUO.  This conditionalization is
more comprehensive in PIP  version  33C  than  in  version  33B.   For
installations which require such support, assemble PIP with the LEVELC
switch set to 1.  The supported setting of this switch is 0.

PIP now searches UUOSYM and MACTEN.   These  files  are  required  for
PIP33C.DOC                                                      Page 9


The following is a list of all known edits which were made to  version
33B(260) to produce version 33C.

261    Make OLDN:=SYSN:  work.

       No SPR.

262    Fix bug on FTSFD=0 monitors during rename.

       No SPR.

263    Check DTA bit to discern whether device is  a  Dectape,  rather
       than assuming Dectape if directory device and not disk.

       SPR 16560.

264    Do not process remaining CCL line if command error occurs.

       No SPR.

265    Bypass comments correctly.

       SPR 16840.

266    Look on proper structure for wildcards to be deleted.

       No SPR.

267    Fix I/O to unassigned channel error when /X to TMP:

       SPR 17327.

270    Improve handling of LOOKUP errors when deleting and renaming.

       No SPR.

271    Prevent PIP from zeroing SYS:  unintentionally.

       No SPR.

272    Exit to monitor command level when ctrl-Z encountered  in  TTY:
       command string.

       No SPR.

273    Implement use of extended LOOKUP blocks.

       SPR 17316.

274    Implement SFDs for ersatz devices.
PIP33C.DOC                                                     Page 10

       SPR 17383.

275    Don't corrupt .RBEST when copying from DTA to DSK.

       No SPR.

276    Prevent loss of sticky PPNs when a device is encountered in the
       command string.

       SPR 17516.

277    Don't exit to monitor when TMPCOR CCL file contains "FILE@".

       No SPR.
PIP33C.DOC                                                     Page 11

300    Make sure that /W converts all tabs to spaces  in  a  sequenced

       SPR 17485.

301    Enable PIP to find command files when the default  path  is  an

       SPR 17577.

302    Don't type blocks freed after an ?Ambiguous message.

       No SPR.

303    Don't  lose  tab-to-space  conversion  when  the  line   buffer
       overflows at the 662nd character.

       SPR 18878.

304    Don't create filenames with embedded spaces.

       SPR 18757.

305    Use less buffer space for output device when a large  blocksize
       is used.

       SPR 18024.

306    Prevent monitor bug from corrupting .RBSTS during rename.

       No SPR.

307    Prevent corruption of .RBEST during copy  operations  involving

       No SPR.

310    Make PPN specifications of the form  [10,$  (altmode)  function

       No SPR.

311    Replace the last surviving INIT UUO with an OPEN.

       No SPR.

312    Prevent PIP from copying the contents of SFDs contained  by  an
       area being copied.  Make copying work properly for TSK:

       No SPR.

313    Allow RENAME FILE.* and DELETE ALL:FILE.EXT to succeed  without
       ?Ambiguous messages when FILE.* or FILE.EXT appear on more than
       one structure in the search list.
PIP33C.DOC                                                     Page 12

       No SPR.

314    Prevent PIP  from  reading  the  user's  directory  when  doing
       non-wild operations.

       SPR 18184.

315    Correct several special cases broken by edit 313.

       No SPR.

316    Eliminate (0) Illegal File Name message.

       No SPR.
PIP33C.DOC                                                     Page 13

317    Correctly print error numbers with more than 2 digits.

       No SPR.

320    Print internal spaces in filenames.

       No SPR.

321    Correct deletion/renaming of non-wild files on  ersatz  devices
       by generalizing the PPN defaulter.

       No SPR.

322    Extend the scope of LEVELC conditionalization.

       No SPR.

323    Correct  many  deletion/renaming  problems   involving   ersatz
       devices  and  paths.   Add  MACTEN  and  UUOSYM  searches,  and
       standardize many symbols.

       No SPR.

324    Prevent  protection  violation  when  copying  a  file  with  a
       specified output protection code of <000>.

       SPR 19758.

325    Don't discard non-tab characters following  a  sequence  number
       when removing sequence numbers.

       SPR 19753.

326    Make ;  (semicolon) work correctly at TTY command level.

       No SPR.

327    Correct wildcard renaming from one ersatz device to another.

       No SPR.

330    Prevent operations such as DSK:/D=FILE[,,1],FILE2 from  looking
       for FILE2 in [,,1].

       No SPR.

331    Prevent PIP from outputting nulls to TMPCOR files.

       No SPR.

332    Correct edit 330 for sticky PPNs.

       No SPR.

333    Fix edit 323 for RENAMEs on DECtape.
PIP33C.DOC                                                     Page 14

       No SPR.

334    Fix edit 323 for /X/D.

       No SPR.

335    Change edit 312 for 6.03 monitor PCM.

       No SPR.

336    Prevent large files copied to a protection of <000> from  being
       shortened due to an incorrect .RBALC value.

       SPR 19582.
PIP33C.DOC                                                     Page 15

337    Handle  private  file  structures  correctly  when   processing
       multiple file structures.

       No SPR.

340    Correct /B problem reported by SPR 13705, as well as  a  number
       of other problems, by allowing only the /M switch in input file
       specifications following the first one.

       SPR 20556.

341    Prevent the output device from being carried across  the  equal
       sign during a /X/D operation.

       No SPR.

342    Prevent illegal memory references and address checks when  when
       outputting binary files in ASCII mode.

       SPR 20557.

343    Fix /W  to  correctly  process  lines  terminated  by  carriage
       returns without linefeeds.

       SPR 21013.

344    Allow NUL:  as an input device for copy commands.

       SPR 20718.

345    (withdrawn).

346    Make changes for MACRO version 52.

       No SPR.

347    (withdrawn).

350    (withdrawn).

351    Look for .CCL before .(blank) if no extension is specified  for
       an indirect file.

       SPR 21081.

352    Improve error message for wild devices.

       SPR 21448.

353    Correct lookup problems when files other than the first file in
       a  multiple  input  specification are found by searching up the
       path or in LIB:
PIP33C.DOC                                                     Page 16

       SPR not known.

354    Wait until magtape EOF is finished before checking status.

       SPR 21710.

355    Make the command DSK:[1,2]/D=FILE1,FILE2 look for FILE1,  FILE2
       in [1,2].

       SPR 22585.

356    Handle backspaces properly when figuring tab stops for /C.

       SPR 24932
PIP33C.DOC                                                     Page 17

357    Correct /C to position output correctly when  a  line  sequence
       number is not followed by a tab.

       spr 23544.

360    Correct edit 342 for /S.

       No SPR.

361    Generate page marks when formfeeds are encountered while  doing
       /S output.

       SPR 25713.

362    Correct edit 353 for wildcard renames/deletes in SFDs.

       No SPR.

363    Make wildcard renames/deletes work for UFDs.

       SPR 26449.

364    Prevent protection violations under  6.03  and  later  monitors
       when  a  RENAME occurs that does not change any file attribute,
       and the owner access protection is 2, 3, 5, 6, or 7.

       SPR 26760.

365    Fix wildcard deletion using ersatz devices.

       No SPR.

366    Implement  structure  type-out  in   filename   renamed/deleted

       No SPR.

367    Make PIP more consistent when copying /X from generic DSK:   to
       non-directory devices.

       SPR 26984.

370    Prevent PIP from carrying the PPN across the equal sign.

       SPR 26819.

371    Fix a couple of problems with structure type-out.

       No SPR.

372    Fix another problem with structure type-out.

       No SPR.

373    Fix edit 361 for /W.
PIP33C.DOC                                                     Page 18

       No SPR.

374    Don't  change  the  file's  SFD  when  the   command   "PROTECT
       FILE.EXT[,,SFD1]<NNN>"  is  given,  and the default path is not

       No SPR.

375    Make rename messages print properly when a file is not actually
       renamed per edit 364.

       No SPR.
PIP33C.DOC                                                     Page 19

376    Discard a created output file if a fatal  error  occurs  during
       disk output, to preserve file being superseded.

       SPR 27235.

377    Implement special-case rename handling for SHR and  EXE  files,
       depending  upon  the  owner  access protection code and whether
       their attributes will be changed by the  rename.   This  is  in
       order to release dormant high segments whenever possible.

       No SPR.

400    Correct LOOKUP errors when a specific file on the ALL:   search
       list is renamed/deleted.

       No SPR.

401    Clean up for field test.

       No SPR.

402    Correct renames across directories when the  input  and  output
       devices are both ersatz devices.

       No SPR.

403    Increase the size  of  the  TMPCOR  buffers  for  the  series-7

       No SPR.

404    Fix ?Illegal UUO errors in the magtape EOF routine.

       No SPR.

405    Correct edit 402 to handle protection operations when the  file
       path is not the same as the default path.

       No SPR.

500    Change edit number to 500, leaving room for  edits  in  version
       33B (to be merged into version 33C).

       No SPR.

501    Make filespecs like "pi*p.mac" illegal.

       SPR 29748.

502    Copy TMPCOR files in binary to DSK, DTA, MTA,  ASCII  to  other

       SPR 28811.

502    Make PIP recognize new LOOKUP/ENTER/RENAME errors.
PIP33C.DOC                                                     Page 20

       No SPR.

504    Finish edit 501.

       No SPR.

505    Make PIP use input path as default for output path on

       RENAMEs and DELETEs.

       No SPR.

[PIP33B.DOC is appended as an integral part of PIP33C.DOC]
PIP.DOC -- Changes from V33A to V33B(260)
February 1975


PIP33B.DOC                                                     Page 21

PIP.DOC -- Changes from V33A to V33B(260)
February 1975


Version  33B  of  the  Peripheral  Interchange  Program  (PIP)  is   a
maintenance  release  including all known bug fixes.  It also includes
several minor additions to make its commands more similar to SCAN  and
WILD  conventions.   It  includes  a  general implementation of ersatz
device recognition.  It includes fixes to  handle  default  paths  and
SFD's correctly.

PIP will run under any monitor supported by DEC for the  DECsystem-10.
PIP  version  33B  conforms  to  DATE75 standards.  It has been tested
under 5.07, 6.01, and 6.02.

PIP is fully documented in the Users  Handbook  and  in  the  Software


The following visible changes have been made:

The ersatz device routines have been rewritten to handle  all  current
and  anticipated  ersatz  devices.  Special code is included to handle
ALL:, NUL:, and system search list  devices.   There  is  one  visible
difference  between  this  release  of PIP and the current versions of
SCAN and WILD with reference to ersatz devices.   DIRECT  ignores  the
setting of NEW in the user's search list when SYS:  is specified.  PIP
uses the setting of NEW in the user's search list and uses [1,5]  when
SYS:  is specified.

The default project-programmer number specifications are now the  same
as  those  used by SCAN.  That is forms such as [10,], [,100], and [,]
now refer to the job's UFD instead of using  a  previous  default  PPN
specification.   Also  [-]  can  be used to refer to the job's default
path specification.

The full wildcard file name specifications are now allowed as  defined
for  WILD.   An  asterisk  after  a  partial file name or extension is
converted to the appropriate number of question marks to fill out  the
name or extension, NAM* is equivalent to NAM???.

This version reverts to  the  previous  practice  of  sending  control
characters  to the TTY:  as themselves rather than ^CHAR+100.  This is
to allow control sequences to be correctly sent to TTY's  that  accept
them.  For users desiring to type out TECO macros or DDT files, the /J
switch specified with TTY output will convert the  characters  in  the
way version 33 did.
PIP33B.DOC                                                     Page 22

PIP now correctly handles default paths and full  SFD  specifications.
The default path is now used at any time there is no specified path.

For rename commands the  specification  of  a  source  device  is  now
handled  differently.   A  rename  command  can  specify no device, an
output device (the source device is assumed to be  the  same),  or  an
output and a source device.  If both are given, they must be identical
unless the source is a system search list device (e.g.  NEW:).   These
restrictions  are due to the fact that a RENAME UUO can not physically
move a file, but can change its UFD.  Also, if a PPN is specified  for
either  source  or  object  but not both, it is assumed for the other.
This   means   that    FILE2/R=FILE1[10,20]    is    the    same    as
FILE2[10,20]/R=FILE1  and  neither  command will change the UFD of the
file.  This is to allow name changes of a file without having to  type
the PPN on both names.

Wild cards on the output side of a copy without  /X  now  imply  a  /X
operation.   This  is  to make PIP's operation consistent with that of

The mode of all files involved in disk or DECtape to disk  or  DECtape
transfers is now preserved.  When /B is used (to speed up processing),
the actual input/output is done in mode 14, but the original file mode
is  preserved.   This allows files which have been copied by PIP to be
queued to the paper tape punch correctly.


Commands of the  form  C=A,B/B  generate  illegal  memory  references.
Reported in SPR 13705.

PIP believes  the  monitor  supplied  byte  counts  for  input/output.
Therefore,  every 81st column of a card deck punched out in image mode
is lost.
Reported in SPR 9156.

Wild card file specifications implying or using UFD as an extension do
not   work.    the   use   of   "*.UFD"  will  look  for  files  named
"120000000000.UFD".  Discovered internally.


Some of the previous support for Level C monitors or possibly very old
or  very  small Level D monitors has been put under the control of the
feature test switch LEVELC.  This includes code such  as  CLOSE  UUO's
before  RENAME  UUO's  and support for failure of the DEVPPN UUO.  For
installations which require such support, assemble PIP with the LEVELC
switch set to 1.  The supported setting of this switch is 0.
PIP33B.DOC                                                     Page 23

For all supported monitors, there are no changes to  the  installation

For monitors running with FTSFD==0 (prior to 5.07B/6.01B), there is  a
bug  in FILUUO which must be fixed.  At PTHUU8-1, inside the IFE FTSFD
conditional, in front  of  the  MOVE  T4,JBTPPN##(J)  insert  a  SKIPN


The following is a list of all known edits which were made to  version
33(77) to produce version 33B.  The substance of edits 100 through 123
is unknown, and they are therefore not included on this list.

124    Implement (DX) facility.

       SPR's 9004, 9039.

125    Allow user to clear DECtape id by specifying ^^.

       SPR 9356.

126    Fix loss of 662nd character of long lines.

       SPR's 11127, 12414, 13209, 13369, 14157, 14160.

127    Correct the problem of starting a LPT:  directory listing  when
       a  wild card is used and a device in the search list is missing
       the appropriate UFD.

       SPR's 9970, 10510, 10985, 12250, 13374.

130    Eliminate the protection code error when a UFD is protected but
       a file is not, and the user explicitly types the file name.

       SPR's 8682, 11752, 12336, 12575.

131    Removed by 162.

       SPR's 9038, 10227.

132    DATE75 fixes, version 33A.

133    Prevent "?No file named"  from  being  typed  more  than  once,
       modified by 155, 211, and 217.

       SPR's 10921, 12576.

134    Removed by 163.

       SPR's 11327, 11864.

135    Prevent translation of control characters to ^CHAR+100 when the
PIP33B.DOC                                                     Page 24

       output device is the TTY:.  Modified by 251.

       SPR 9087.

136    Correctly remove line sequence number  and  its  following  tab
       when the number is the last word of a block.

       SPR's 7795, 9056, 11916, 12293.
PIP33B.DOC                                                     Page 25

137    Include skip return for GETPPN in DSKDIR.

140    Allow  multiple  files  to  be  sequenced  correctly   when   a
       non-sequenced file follows a sequenced file.

       SPR 12349, 13391.

141    Removed by 163.

       SPR's 12984, 13318.

142    Correct problem of TAB's and the /W switch when the  first  TAB
       of a file is at a tab-stop.

       SPR's 10230, 12238, 13123, 13366.

143    Fix 142.

144    Correct CCL entry point to initialize the  stack  so  that  PIP
       will not loop if a TMP file does not exist.

       SPR 9686.

145    Removed by 161.

146    Allow copies from TMP:  to TMP:.

       SPR's 9917, 12924.

147    Prevent any renames or deletes of files found in the job's LIB:
       unless the PPN is explicitly given.

       SPR's 9969, 10318, 10368, 14008.

150    Removed by 151.

       SPR's 11729, 13541.

151    Fix 150.  Do physical only OPEN's when the specified device  is
       generic DSK:  and we are searching individual structures.  This
       corrects problems with ASSIGN's such as .AS DSKA DSKB.

152    Make a source  device  specification  illegal  for  /R  and  /D
       commands.   Modified by 211 and 227 to allow the same device to
       be specified or for the source device to be a SYS:  search list

       SPR's 10824, 10901, 13533, 13939.

153    Make sure that the file name and extension are  not  mixed  up.
       In  particular  don't  let  .FOO find FOO.  or UFD look for the
       job's UFD.
PIP33B.DOC                                                     Page 26

       No SPR.

154    Add lower case characters and escapes  as  printing  characters
       when the /C switch is used.

       SPR's 8090, 14285, 14308.

155    Correction to 133 to eliminate infinite loop of ?no file named.

       No SPR.
PIP33B.DOC                                                     Page 27

156    Check for PTP:  and CDP:  when outputting .REL, etc.  files and
       change the mode to binary using a SETSTS.

       SPR 14310.

157    Fix 134 to not be fooled by logical  device  assignments,  i.e.

       No SPR.

160    Change file concatenation to treat the last file  in  the  same
       output  mode  as  the  previous files, i.e.  FOO=FILE,FILE,FILE
       should not copy the third file in binary.

       No SPR.

161    Remove  145  which  caused  all   project   programmer   number
       specifications to become defaults.

       No SPR.

162    Remove  131  which  caused  some  project   programmer   number
       specifications to disappear.

       No SPR.

163    Implement a general ersatz device handler which will understand
       any new normal devices added to the monitor (where NUL:  is not

       SPR's many plus 11988.

164    Correction to 152 to make sure that UU.PHS  is  set  only  when

       No SPR.

165    Correction to 163 to make @ constructions work again.

       No SPR.

166    Correct and change the meaning of [,] and  add  [-].   [,]  (or
       equivalent)  is documented to mean the previously typed default
       PPN or the user's UFD.  Correct it to be the UFD instead of the
       job's default path.  Change it to always mean the UFD and never
       any  previous  default  PPN  to   agree   with   current   SCAN

       No SPR.

167    Removed by 224.

170    Change the line  number  sequencing  routine  to  add  a  <TAB>
       instead  of another <CR> on any line which contains only a line
PIP33B.DOC                                                     Page 28

       SPR 14408.

171    Skip the CLOSE between the LOOKUP and RENAME for /D and  /R  so
       that non-default paths will not be lost under Level D.

       No SPR.
PIP33B.DOC                                                     Page 29

172    Close the output device for /L and /F before printing "No files
       named..."  so  that  if  output is to the TTY:  the rest of the
       directory will be printed.

       SPR 12533.

173    Notice non-existing file following  existing  files  when  both
       file specifications are wild.

       SPR 12533.

174    Fix the problem of garbage in the middle of  files  which  have
       been  merged  using  wild  cards.   This was caused by messages
       indicating non-existent UFD's being output in the file.

       SPR's 7111, 9527, 11980, 12488, 12900.

175    Fix the problem of I/O error messages losing output  bound  for
       the TTY:.

       SPR's 11687, 12256.

176    Fix the problem of "File  not  found"  messages  losing  output
       bound for the TTY:.

       No SPR.

177    Fix the problem of  "Directory  has  no  such  files"  messages
       losing TTY:  bound directory output.  Add the name of the files
       that were not found.

       No SPR.

200    Addition to 163 to  make  logical  assignments  to  ALL:   work

       No SPR.

201    Make NUL:  work better.

       No SPR.

202    Allow UFD protections to be changed again.   The  RENAME  block
       must have a zero PPN.

       No SPR.

203    Determine the search list to be used for wild cards by doing  a
       PATH.  on the device in question.  Only if the PATH.  fails use
       a DEVPPN to try to determine what search list to use.

       No SPR.

204    Fix /Z to not clobber the output file name by putting the  last
       file name that it deleted there.
PIP33B.DOC                                                     Page 30

       No SPR.

205    Fix 163 to not possibly lose the defaulted output device.

       No SPR.

206    Make wild card specifications on the  output  side  of  a  copy
       without  /X  illegal since we do not know what to do with them.
       Changed by 244 to imply /X.

       SPR's 11041, 11633, 12332, 14583.
PIP33B.DOC                                                     Page 31

207    Begin to straighten out path usage.

       Many SPR's.

210    Change 156 to do a CLOSE-OPEN  sequence  instead  of  a  SETSTS
       since  the  monitor  did  not properly handle the SETSTS on the

       SPR 14310.

211    Fix paths and SFD's.

       SPR's 11077, 11765, 12053, 12771, 12931.

212    Add defensive  code  so  that  non-pathing  monitors  will  not
       receive path block pointers for input files.

       No SPR.

213    Correction to 211 to fix directories of ersatz devices and  the
       job's default path.

       No SPR.

214    Correction to 203 to look in the correct word of  the  returned
       path block after the PATH.  

       No SPR.

215    Fix 211 to allow TMP:  again.

       No SPR.

216    Fix 207 to save the PPN for /X copies so that default paths and
       other PPN's will work again.

       No SPR.

217    Fix 211 to allow multiple deletes in the job's default path.

       No SPR.

220    Fix 211 to make [,] mean the job's UFD again.

       No SPR.

221    Clear the output path before starting the input scan.  This  is
       now required due to changes for 211.

       No SPR.

222    Make RENAMEs within a default SFD work in spite of the monitor.
PIP33B.DOC                                                     Page 32

       No SPR.

223    Remove an unsupported section of 211.

224    Remove 167.

225    Change file specification rules to allow SCAN type  names  such
       as FIL* for FIL???.

       No SPR.

226    Fix /L to print the directory called for by *.UFD correctly (as
       #,# instead of !($%+).

       No SPR.
PIP33B.DOC                                                     Page 33

227    Fix 152 to allow  specification  of  exactly  the  same  source
       device as output device in a rename or delete.

       No SPR.

230    Fix /Q so that it will find PIP.HLP on HLP:  if it  is  not  on
       SYS:.    Also   force   the  command  line  input  side  to  be
       =SYS:PIP.HLP/Q to override any extra things the user might have
       typed such as wild cards (SPR 13157), random switches, or extra
       devices or PPN's.

       SPR 13157.

231    Fix 222 to make  renames  on  ersatz  devices  leave  the  file
       renamed in the correct PPN.

       No SPR.

232    Correct the wild card logic to accept UFD not found errors when
       searching generic devices for an SFD path.

       No SPR.

233    Fix 211 to make [#,] work again.

       No SPR.

234    Correction to the path setting routine for monitors with  FTSFD
       turned off.

       No SPR.

235    Print correct device name on error messages  from  /D  and  /R.
       Moved by 240.

       No SPR.

236    Correct LOOKUP error number printed  in  some  cases  when  the
       monitor is broken.

       No SPR.

237    Change the directory used for SYS:  when NEW is in  the  search
       list  from  [1,5]  to  [1,4].   This only applies to operations
       which require that the directory be read.

       No SPR.

240    Move 235 to fix TMP:  messages also.

       No SPR.

241    Change  135  to  be  a  conditional  assembly  parameter.   The
       supported  setting  is  outputting  control  characters without
       conversion to any TTY.
PIP33B.DOC                                                     Page 34

       No SPR.

242    Change the error message for directory listings to be  "No  UFD
       exists" instead of "No UFD created".

       No SPR.

243    Clean up 232.

       No SPR.
PIP33B.DOC                                                     Page 35

244    Change 206 to make wild card output file  specifications  imply
       /X  for copy operations.  This makes PIP's operation consistent
       with that of COMPIL.  Also  do  not  allow  directories  to  be
       output to a wild card output specification.

       No SPR.

245    Correct 235 and 240 so that the correct device is typed out for
       all error messages.

       No SPR.

246    Correct page numbering on long directory listings.

       SPR 7752.

247    Preserve the mode of all files copied from one directory device
       to  another.   The ENTER is done using the original mode of the
       file, and then a SETSTS is done to set the mode  to  correspond
       to the switches specified (/B, /I, /H).

       SPR's 7863, 14063.

250    Type out any error messages found during searches for files  in
       /R  and  /D  processing  which do not have to do with "file not
       found" (i.e.  RIB error or protection failure).

       SPR's 8231, 8285.

251    Change 241 to type out all control characters as such unless  a
       /J  switch  is  given.  Provide an assembly switch to allow the
       reversal of this action (unsupported - CTLTTY).

       No SPR.

252    Allow switches, PPN's and protections to follow octal file name
       specifications (i.e.  #12/X=FOO).

       No SPR.

253    Fix /T and /C to correctly check for null lines and  provide  a
       single space, as documented.

       No SPR.

254    Fix /Z to allow it to be specified in  a  disk  copy  operation

       No SPR.

255    Move 142 and 143 so that they will also apply to magnetic  tape
PIP33B.DOC                                                     Page 36

       SPR 15194.

256    Clean up the listing format, add subtitles.

       No SPR.

257    Eliminate an I/O to unassigned channel error caused by 245 when
       the device involved was other than disk.

       No SPR.
PIP33B.DOC                                                     Page 37

260    Remove 237.  It made PIP inconsistent within itself, and  found
       a  second  monitor  bug.  For installations which would like to
       consider the possibilities, see the beware file.

       No SPR.

[End of PIP33B.DOC]

[PIP33A.DOC is appended as an integral part of PIP33B.DOC]
PIP33A.DOC                                                     Page 38

PIP.DOC -- Changes from V33(77) to V33A(78)
April 1974

1.0    SUMMARY

This document describes version 33A of PIP.  The only reason for  this
release  is to conform to the DATE-75 standard.  No other changes have
been made, specifically none of the published

SPR fixes have been made.  This is version 33(77) with  one  and  only
one edit.

PIP is documented in Software Notebook vol.  6.

This version of PIP supersedes all previous versions.  It  runs  under
all supported monitors.  The DATE-75 project is fully implemented.

There are no CUSP dependencies.




Far too many to enumerate.




Edit #

132    Implement DATE-75 standard.

[End of PIP33A.DOC]

[PIP33.DOC is appended as an integral part of PIP33A.DOC]
PIP33.DOC                                                      Page 39

PIP33.DOC -- Changes from V32(37) to V33(77)
April 1972


PIP version 33 is version 32 with edits #40 through #77.  This version
has no new deficiencies and fully replaces version 32.




#1     Copying between DSK, DTA and  MTA  is  in  binary  by  default,
       unless one output file is being made from multiple input files,
       in which case the default node  is  ascii.   A  new  switch  is
       needed to force character by character copying.

#2     In nested indirect files it is not possible to return  from  an
       indirect file and continue reading from a previous one.

#3     PIP has no ascii mode switch.

#4     PIP  inserts  blank  tape  between  PDP-8  binary  tapes   when
       concatenating them.

#5     SPR-6059
       TYPE A,B,C
       Where A, and B do not exist produces PDL OV, ILL  MEM  REF,  or
       other random errors.

#6     SPR 10-6364
       Does not change the mode for file B.


PIP33.DOC                                                      Page 40


Edit #

40     Device SYS did not work in small monitor (5.04), because DEVPPN
       UUO does not work.  Fix is to test for 5 series monitor and use
       [1,4] if DEVPPN fails rather than [1,1].

41     PIP gave a fatal ?  error if a delete failed because  file  was
       not there.

       Fix is to give warning % error in this case  since  it  is  not

42     Non-standard protection got turned off after  the  first  file.
       This was a bug introduced when setting protection for

       level D enter.  Fix is to test for level D and if so  skip  the

43     Output project-programmer number was defaulting over to

       input side.  Fix, clear PPN on equals and left arrow.

44     Resequencing a file lost the character after the sequence

       number.  Bug introduced in v32, remove it.

45     File structure search logic does  not  work  in  small  monitor

       The is no fence so PIP does not believe -1 is end of F/S.

       Fix is to test for both 0 and -1.

46     Device SYS does not work correctly.  PIP uses

       SYSSTR UUO to find SYS:, this is not correct.

       Fix use GOBSTR UUO, this fixes both SYS:  and DSK:.

47     COPY command to DTA causes tape to rock.  Low segment

       has grown so that double buffers won't fit.  Fix test for  this
       and try

       to expand so that at least 2 buffers are used.

50     Level C only, wild card commands do not work.  The

       UFD device is not inited.  Fix, if not a level D  generic  disk
       make sure UFD is inited.

51     Remove WCH conditional (old PDP-6 dectape format).
PIP33.DOC                                                      Page 41

       This saves space and time and makes the listing neater.

52     Remove DISK30 conditional (TEN30 single user disk format).

53     Command line (from TTY) storage is poor.

       It gives a free cr-lf after 72 characters  (so  does  monitor),

       has a limit of 41 words.

       Fix remove extra cr-lf code.  Allow for undetermined

       length of command line by getting space from free  core.   This

       space for short commands and allows extra long ones.

54     More of above

55     No UFD created message doesn't give structure  name.   Fix  add
       F/S after message.
PIP33.DOC                                                      Page 42

56     /A to a binary file gives ill mem ref.  PIP  thinks  binary  is
       sequence number.  Fix, remove bug so that

       the binary will be transfered as ascii (losing  bit  35),  this

       the ill mem ref.  However no  message  is  given  to  the  user
       (unless he is listing

       the file) since PIP has no way of knowing the file is binary.

57     Line too long message is output whenever a line is longer

       than the internal line  buffer  (132  chars.).   Fix,  make  it

       only on /A .  This allows files created by TECO to

       be listed etc.

60     Change the definitions of ac P from 5 to 17, and CALFLG

       from 17 to 5, since most programs have pushdown

       pointer in 17.

61     *.* is handled differently from ??????.???, this wastes

       space and does not allow users to enter *.* as an octal mask.

       Fix, convert *.* to ??????.???  and use the wild  card  masking

       remove all special checks for *.  On output convert ??????.???

       back to *.*.

63     # number is not handled correctly, it is  right  justified  and
       does not allow mixed # and alpha.

       Fix, use 3 bit left justified bytes,  and  allow  mixed  #  and

64     More of above.

65     PIP loops if tape ID is specified but device does not exist.

       Fix, clear TAPEID flag at IOERRN.

66     Block free message is incorrect after  an  error.   Fix,  clear

67     Rename on DTA is not always correct,@it doesn't check
PIP33.DOC                                                      Page 43

       for name already existing.  PIP does not use

       rename uuo, it reads directory and changes entries in it.

       Fix, remove that code and do a RENAME UUO.

70     Can not delete from more than one [ppn].  An old restriction.

       Fix, remove restriction.

71     /T to a blank line changes multiple blanks, cr-lf into

       one blank cr-lf, but then loses the lf.

       Fix, account for extra character by IBP OPTR at PSCAN7.

72     PIP will not assemble with REENT=0.

       Fix, remove multiply defined labels DERR7.

73     PIP has extra <cr> in source file not followed

       by <lf>.  Fix, remove them (5 occurrences).

74     File name generation for input from non-directory devices

       is not correct (bug introduced by #61).  Fix it.
PIP33.DOC                                                      Page 44

75     Fix various bugs in SFD logic.  PIP will now

       read, write, rename, and delete files in SFD's.
       Note, PIP will not (now or ever) list directories

       of SFD's, use DIRECT for that function.

76     Previous fix to allow null files to be copies causes

       problems with non-directory devices since they key on a null

       file to terminate a /X copy of multiple files.

       Fix, allow null files only from DSK and DTA, and

       put back some of the code removed in version 31.

77     /Y fails to copy a single file, previous changes in version 31

       changed action of LOOK routine but did not change RIMSW

       code.  Fix, if only one file is specified do not read UFD,

       just do a LOOKUP on required file.

[End of PIP33.DOC]