🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: vmsnet.sources
Article #150

VMS_SHARE V8.2, part 06/09

#150
From: Andy, Systems Manager
Date: Mon, 25 Jan 1993 21:34
1356 lines
49807 bytes
Submitted-by: "Andy, Systems Manager" <UDAA055@ELM.CC.KCL.AC.UK>
Posting-number: Volume 4, Issue 50
Archive-name: vms_share/part06
Supersedes: vms_share: Volume 3, Issue 87-89

-+-+-+-+-+-+-+-+ START OF PART 6 -+-+-+-+-+-+-+-+
V`20option`20is`20selected,
Xin`20which`20case`20VMS`205.4`20is`20the`20minimum`20release`20needed.
X
X
X
X8.`20PREVIOUS`20RELEASE`20NOTES
X
XRelease`20notes`20for`20previous`20versions`20are`20appended`20at`20the`20end.
V`20These`20give`20
Xdetails`20of`20changes`20and`20bug`20fixes`20for`20those`20versions.
X`0C
X`20`20`20`20`20`20`20`20`09`09`09V`20M`20S`20_`20S`20H`20A`20R`20E
X
X`20`20`20`20`09`09`09`20`20`20R`20E`20L`20E`20A`20S`20E`20`20`20N`20`20O`20T
V`20E`20S
X
X
X`20`20`20`20`09`09`09`09`09`09`09`09Version`208.0
X`20`20`20`20`09`09`09`09`09`09`09`09Sep`201992
X
X
X1.`20INTRODUCTION
X
XVersion`208.0`20of`20VMS_SHARE`20is`20a`20major`20release.`20It`20introduces
V`20some`20new`20features
Xfor`20users`20and`20fixes`20several`20bugs.
X
X
X
X2.`20NEW`20FEATURES
X
XThe`20following`20new`20features`20are`20included.
X
X2.1`20`20Parameters`20and`20Qualifiers`20on`20Command`20Line
X
XMost`20VMS_SHARE`20options`20and`20parameters`20can`20now`20be`20supplied`20di
Vrectly`20on`20the
Xcommand`20line.`20The`20logical`20names`20previously`20used`20to`20modify`20de
Vfaults`20are`20still
Xaccepted`20and`20behave`20as`20before`20but`20the`20use`20of`20a`20command`20l
Vine`20qualifier`20to`20set`20a
Xvalue`20overrides`20that`20set`20by`20the`20logical`20name.
X
XNew`20command`20line`20format:
X
X`20`20$`20VMS_SHARE`20`20files`20`20sharefile`20`5Bqualifiers`5D
X
Xwhere`20qualifiers`20can`20be`20any`20or`20all`20of:
X
X`20`20/COMPRESS`09Turns`20on`20the`20run-length`20compression`20option.`20Shou
Vld`20be`20used
X`09`09with`20caution`20as`20it`20can`20take`20considerably`20longer`20to`20enc
Vode`20the
X`09`09files.`20/NOCOMPRESS`20turns`20off`20compression`20and`20overrides`20the
V
X`09`09new`20SHARE_COMPRESS`20logical`20name.`20See`20the`20separate`20paragrap
Vh
X`09`09on`20this`20below.
X
X`20`20/DEBUG`5B=n`5D`09Turn`20on`20extensive`20debugging`20messages.`20/NODEBU
VG`20turns`20off`20the
X`09`09messages`20and`20overrides`20the`20new`20SHARE_DEBUG`20logical`20name.
V`20See
X`09`09the`20separate`20paragraph`20on`20this`20below.
X
X`20`20/LOG`09`09Turn`20on`20informational`20logging`20messages.`20Note`20that
V`20some`20messages
X`09`09used`20to`20appear`20by`20default.`20This`20is`20no`20longer`20the`20cas
Ve.`20To`20be
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20consistent`20with`20the`20rest
V`20of`20VMS,`20messages`20are`20off`20by`20default.
X`09`09/NOLOG`20will`20turn`20off`20messages`20and`20override`20the`20SHARE_LOG
V
X`09`09logical`20name.
X
X`20`20/LONGLINES`20`20`20`20Allows`20the`20packaging`20of`20files`20with`20rec
Vords`20longer`20than`20960
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20characters`20(the`20limit`20in
V`20older`20versions`20of`20TPU).`20However,`20this
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20is`20only`20allowed`20if`20run
Vning`20on`20a`20version`20of`20VMS`20which`20is`205.4`20or
X`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20`20later.`20/NOLONGLINES`20will
V`20disable`20the`20long`20line`20support`20and
X`09`09override`20the`20new`20SHARE_LONGLINES`20logical`20name.`20See`20the
X`09`09separate`20paragraph`20on`20this`20below.
X
X`20`20/PACKAGE_INDEX`5B=suffix`5D
X`09`09Creates`20a`20package`20file,`20suitable`20for`20use`20by`20file`20serve
Vrs,
X`09`09listing`20the`20filenames`20of`20each`20part`20created.`20/NOPACKAGE_IND
VEX
X`09`09will`20disable`20the`20creation`20of`20this`20file,`20overriding`20the
V`20new
X`09`09SHARE_PACKAGE_INDEX`20logical`20name.`20The`20optional`20suffix`20value
X`09`09specifies`20the`20file`20type`20given`20to`20the`20created`20file.`20See
V`20the
X`09`09separate`20paragraph`20on`20this`20below.
X
X`20`20/PART_SIZE=nn`09Specifies`20the`20part`20size`20to`20be`20generated.`20O
Vverrides`20the
X`09`09SHARE_PART_SIZE`20logical`20name.
X
X
XQualifiers`20may`20appear`20anywhere`20in`20the`20command`20line`20(although,
V`20because`20VMS_SHARE
Xis`20a`20DCL`20procedure,`20they`20may`20not`20appear`20directly`20after`20the
V`20command`20verb!).
X
X
X
X2.2`20Support`20for`20Various`20Record`20Formats
X
XThis`20version`20introduces`20support`20for`20various`20record`20formats,`20in
Vcluding`20VARIABLE
Xlength`20records`20with`20all`20the`20carriage`20control`20options,`20FIXED
V`20length`20records`20of
Xany`20size`20up`20to`20the`20maximum`20supported`20record`20length,`20and`20ea
Vch`20of`20the`20STREAM
Xrecord`20formats.
X
XPrevious`20versions`20have`20supported`20only`20those`20files`20with`20a`20var
Viable`20length`20record
Xformat`20and`20CR`20Carriage`20control`20attributes`20(the`20standard`20file
V`20type`20created`20by
XTPU`20when`20it`20writes`20a`20file).
X
XThis`20mechanism`20is`20implemented`20by`20recording`20the`20file`20attributes
V`20in`20the`20share
Xfile,`20and`20passing`20them`20to`20the`20CONVERT`20utility`20for`20processing
V`20once`20the`20file`20has
Xbeen`20decoded`20and`20written`20out`20in`20its`20normal`20variable`20length
V`20format.
X
XUsing`20this`20facility,`20it`20is`20now`20practical`20to`20directly`20package
V`20.OBJ`20and`20.EXE
Xfiles;`20if`20the`20long`20line`20support`20is`20selected,`20it`20is`20possibl
Ve`20to`20directly`20package
Xbackup`20savesets,`20thus`20allowing`20any`20type`20of`20file`20to`20be`20pack
Vaged.`20`20BACKUP
Xrequires`20a`20minimum`20/BLOCK_SIZE`20specification`20of`202048,`20which`20in
V`20turn`20requires
Xthe`20long`20lines`20support.`20Therefore`20this`20is`20possible`20only`20with
V`20VMS`205.4`20or`20later
Xat`20both`20the`20creation`20and`20the`20unpacking`20ends.`20See`20the`20parag
Vraph`20on`20long`20lines
Xsupport`20below.
X
X`5BThanks`20go`20to`20Mark`20Pizzolato`20-`20mark@infocomm.com`20-`20for`20thi
Vs`20suggestion`5D
X
X
X2.3`20Optional`20Run-Length`20Encoding`20of`20Files
X
XFor`20files`20which`20contain`20long`20runs`20of`20similar`20characters,`20the
V`20new`20run-length
Xencoding`20facility`20may`20be`20of`20help`20in`20reducing`20the`20size`20of
V`20the`20share`20files.`20A
Xsimple`20algorithm`20is`20applied`20to`20the`20files`20so`20that`20runs`20of
V`206`20or`20more`20characters
Xare`20compressed`20to`20a`205`20character`20sequence`20thus:
X
X`20`20`20`20`26nnZZ
X
Xwhere`20"`26"`20is`20a`20new`20flag`20character`20that`20introduces`20a`20run-
Vlength`20compression
Xsequence,`20"nn"`20is`20the`20length`20count`20as`20a`202-digit`20hex`20number
V,`20and`20"ZZ"`20is`20the
X2-digit`20hex`20encoding`20of`20the`20repeated`20character's`20ASCII`20code.
V`20`20Although`20the
Xminimum`20run`20length`20is`206`20before`20compression`20is`20applied,`20a`20s
Vpecial`20check`20is`20made
Xfor`20a`20run`20of`202`20or`20more`20characters`20that`20would`20ordinarily
V`20be`20quoted`20in`20the
Xexisting`20form`20of:
X
X`20`20`20`20`60ZZ
X
Xas`20this`20results`20in`20a`20smaller`20sequence`20of`20characters.
X
XBecause`20this`20feature`20can`20be`20time`20consuming,`20it`20is`20optional.
V`20The`20normal`20default
Xis`20NOCOMPRESS.`20A`20new`20logical`20name`20SHARE_COMPRESS`20may`20be`20defi
Vned`20to`20alter`20the
Xdefault.`20`20The`20/`5BNO`5DCOMPRESS`20qualifier`20on`20the`20command`20line
V`20may`20be`20used`20to
Xoverride`20the`20default.
X
X`5BThanks`20go`20to`20Mark`20Pizzolato`20-`20mark@infocomm.com`20-`20for`20thi
Vs`20suggestion`5D
X
X
X2.4`20Long`20Lines`20Option
X
XVMS_SHARE`20now`20supports`20files`20with`20record`20lengths`20up`20to`2065535
V`20bytes.`20This`20is`20due
Xto`20the`20later`20versions`20of`20TPU`20(since`20VMS`205.4)`20supporting`20mu
Vch`20longer`20records.
XOlder`20versions`20of`20TPU`20restricted`20the`20maximum`20line`20lengths`20to
V`20960`20bytes.
X
XIn`20order`20to`20maintain`20compatibility,`20TPU`20uses`20the`20old`20length
V`20of`20960`20as`20the
Xmaximum`20record`20length`20by`20default.`20The`20new`20/LONGLINES`20qualifier
V`20requests`20that
Xthe`20long`20line`20support`20be`20used,`20allowing`20records`20up`20to`206553
V5`20bytes`20to`20be
Xpackaged.
X
XThe`20use`20of`20/LONGLINES`20has`20some`20caveats`20of`20course.`20Firstly,
V`20it`20can`20only`20be`20used
Xif`20VMS_SHARE`20is`20running`20on`20a`20version`20of`20VMS`205.4`20or`20great
Ver;`20if`20not,`20an`20error
Xmessage`20is`20issued`20if`20long`20line`20support`20is`20selected.`20Secondly
V,`20the`20generated
Xshare`20file`20will`20require`20at`20least`20VMS`205.4`20to`20unpack`20(normal
Vly`20only`20VMS`204.4`20or
Xgreater`20is`20required);`20this`20is`20because`20the`20TPU`20code`20used`20to
V`20unpack`20must`20also
Xhave`20the`20long`20line`20support,`20which`20is`20not`20available`20in`20earl
Vier`20versions.
X
XTo`20summarize:
X
X`20`20Without`20/LONGLINES`20(The`20default):
X`20`20`20`20`20`20`20The`20minimum`20VMS`20required`20to`20run`20is`205.0
X`20`20`20`20`20`20`20Records`20are`20restricted`20to`20960`20characters
X`20`20`20`20`20`20`20The`20minimum`20VMS`20required`20to`20unpack`20is`20VMS
V`204.4
X
X`20`20With`20/LONGLINES:
X`20`20`20`20`20`20`20The`20minimum`20VMS`20required`20to`20run`20is`20VMS`205.
V4`20`20`20
X`20`20`20`20`20`20`20Records`20can`20be`20up`20to`2065535`20characters
X`20`20`20`20`20`20`20The`20minimum`20VMS`20required`20to`20unpack`20is`20VMS
V`205.4
X
X
XLong`20line`20support`20is`20off`20by`20default.`20The`20default`20can`20be
V`20modified`20by`20defining
Xthe`20new`20logical`20name`20SHARE_LONGLINES`20to`20either`20TRUE`20or`20FALSE
V`20as`20appropriate.
XThis`20default`20can`20be`20overridden`20by`20the`20presence`20of`20the`20/LON
VGLINES`20qualifier`20on
Xthe`20VMS_SHARE`20command`20line`20-`20/LONGLINES`20enables`20support,`20/NOLO
VNGLINES`20disables
Xit.
X
X
X2.5`20New`20Logical`20SHARE_EXCLUDE_FILES
X
XIn`20addition`20to`20excluding`20files`20from`20the`20packing`20process`20by
V`20name,`20type`20and
Xdirectory,`20a`20new`20logical`20name`20SHARE_EXCLUDE_FILES`20can`20be`20defin
Ved`20to`20exclude
Xspecific`20filenames`20(I.E.`20combined`20NAME`20and`20TYPE).
X
XFor`20example:
X
X`20`20`20$`20define`20SHARE_EXCLUDE_FILES`20"NAME.TMP,X.DAT"
X`09will`20exclude`20any`20file`20whose`20name`20is`20"NAME.TMP"`20or`20"X.DAT"
V`20in`20any`20of
X`09the`20directories`20which`20VMS_SHARE`20is`20searching.
X
X`5BThanks`20go`20to`20Joe`20Meadows`20-`20JOE@FHCRCVAX.BITNET`20-`20for`20this
V`20suggestion`5D
X
X
X2.6`09New`20Format`20for`20Share`20File`20Part`20Names
X
XTo`20make`20it`20easier`20to`20keep`20track`20of`20the`20parts`20that`20make
V`20up`20a`20share`20file,`20the
Xnaming`20convention`20has`20been`20changed.`20Previously`20it`20was`20"sharefi
Vle'n'"`20where`20"n"
Xwas`20a`20part`20number`20(from`201`20upwards).`20The`20new`20format`20changes
V`20the`20suffix`20to`20be
X"nnn-OF-mmm"`20where`20"nnn"`20is`20a`20part`20number`20and`20"mmm"`20is`20the
V`20total`20number`20of
Xparts`20generated.`20`20Typical`20filename`20might`20be:`20`20SHARE.078-OF-100
V`20`20meaning`20part`2078
Xout`20of`20a`20total`20of`20100`20parts.
X
XThe`20parts`20are`20renamed`20to`20this`20format`20once`20the`20TPU`20packing
V`20code`20has`20completed.
X
X`5BThanks`20to`20Dick`20Munroe`20-`20munroe@dmc.com`20-`20For`20this`20suggest
Vion`5D
X
X
X
X2.7`20Automatic`20Creation`20of`20Share`20Part`20Index`20File
X
XMany`20mail`20based`20file`20servers`20recognize`20a`20`60package'`20file.`20T
Vhis`20is`20a`20file`20which
Xcontains`20the`20names`20of`20other`20files`20to`20be`20sent.`20`20The`20user
V`20can`20specify`20this`20single
Xfile`20and`20receive`20all`20the`20files`20whose`20names`20are`20contained`20i
Vn`20the`20package`20file.
X
XSuch`20a`20package`20file`20can`20now`20be`20created`20automatically.`20`20It
V`20is`20not`20created`20by
Xdefault.`20The`20new`20logical`20name`20SHARE_PACKAGE_INDEX`20can`20be`20defin
Ved`20to`20a`20TRUE`20or
XFALSE`20value`20to`20modify`20the`20default`20(TRUE`20causes`20its`20creation)
V.`20The`20new
X/`5BNO`5DPACKAGE_INDEX`20qualifier`20overrides`20any`20default.
X
XThe`20file`20so`20created`20has`20the`20form:
X
X`20`20`20name.$PACKAGE
X
Xwhere`20`60name'`20is`20the`20NAME`20part`20of`20the`20output`20sharefile`20an
Vd`20`60$PACKAGE'`20is`20the
Xfixed`20file`20extension.`20It`20is`20created`20in`20the`20same`20directory
V`20as`20the`20sharefile
Xparts.`20`20Its`20contents`20are`20a`20list`20of`20the`20individual`20parts
V`20of`20the`20sharefile,`20one
Xper`20line.`20Only`20the`20NAME`20and`20TYPE`20of`20the`20sharefile`20parts
V`20are`20listed.
X
XThe`20suffix`20".$PACKAGE"`20is`20the`20default;`20this`20can`20be`20overridde
Vn`20by`20specifying`20it
Xas`20the`20value`20of`20the`20/PACKAGE_INDEX`20qualifier.`20For`20example:
X
X`20`20/PACKAGE_INDEX=.LIBRARY
X
Xwhich`20would`20change`20the`20default`20from`20".$PACKAGE"`20to`20".LIBRARY".
V
X
XThe`20logical`20name`20SHARE_PACKAGE_INDEX`20can`20also`20be`20defined`20with
V`20a`20suffix`20value,
Xrather`20than`20a`20TRUE`20or`20FALSE`20value,`20and`20this`20will`20modify
V`20the`20default`20to`20be`20that
Xsuffix.
X
X
X2.8`20Debug`20Facility
X
XThe`20debug`20facilities`20have`20been`20revised`20in`20a`20number`20of`20ways
V.`20First,`20debugging`20is
Xnow`20controlled`20via`20a`20qualifier`20on`20the`20command`20line`20or,`20if
V`20not`20specified,`20by`20the
Xsetting`20of`20the`20new`20logical`20name`20SHARE_DEBUG.`20Second,`20several
V`20levels`20of
Xdebugging`20are`20recognized,`20from`200`20(/NODEBUG)`20through`201`20(/DEBUG)
V`20through`20n
X(/DEBUG=n)`20up`20to`20a`20maximum`20n`20of`203.`20Each`20level`20gives`20prog
Vressively`20more
Xdebugging`20information`20and`20includes`20all`20the`20debugging`20output`20fo
Vr`20lower`20levels.
X
XHigher`20levels`20of`20debugging`20(greater`20than`201)`20are`20intended`20for
V`20really`20difficult
Xproblems.
X
XThe`20SHARE_DEBUG`20logical`20can`20be`20defined`20with`20either`20a`20TRUE/FA
VLSE`20value`20or`20an
Xinteger`20value.`20FALSE`20is`20equivalent`20to`20an`20integer`20value`20of
V`200`20and`20specifies`20no
Xdebugging`20(the`20default),`20TRUE`20is`20equivalent`20to`20a`20debugging`20l
Vevel`20of`201.`20Values
Xhigher`20than`203`20are`20treated`20as`203,`20values`20lower`20than`200`20are
V`20treated`20as`200.
X
XFinally,`20debugging`20may`20only`20be`20specified`20if`20the`20user`20has`20S
VYSPRV.`20If`20not,`20the
Xdebugging`20level`20is`20set`20to`200`20regardless`20of`20what`20was`20specifi
Ved.
X
XThe`20debugging`20output`20has`20also`20been`20made`20more`20compact`20(I.E.
V`20less`20verbose)`20than
Xin`20previous`20versions.
X
X
X
X2.9`20New`20logicals`20SHARE_UNPACK_LOG`20and`20SHARE_UNPACK_VERIFY
X
XIn`20previous`20versions,`20the`20SHARE_LOG`20and`20SHARE_VERIFY`20logical`20n
Vames`20affected
Xboth`20the`20VMS_SHARE`20utility`20and`20the`20unpacking`20of`20the`20packaged
V`20share`20file.`20For
Xexample,`20defining`20SHARE_VERIFY`20to`20TRUE`20would`20cause`20both`20to`20b
Ve`20verified`20when
Xrun.
X
XThis`20release`20introduces`20two`20new`20logicals`20which`20affect`20ONLY`20t
Vhe`20unpacking`20of`20the
Xsharefile`20-`20SHARE_UNPACK_VERIFY`20turns`20on/off`20verification`20of`20the
V`20code`20and
XSHARE_UNPACK_LOG`20turns`20on/off`20logging`20of`20each`20file`20unpacked.`20
V`20The`20old`20logicals
XSHARE_LOG`20and`20SHARE_VERIFY`20still`20exist`20but`20affect`20only`20the`20V
VMS_SHARE`20utility
Xitself.
X
XNote:`20`20Because`20logging`20is`20off`20by`20default`20in`20both`20VMS_SHARE
V`20and`20the`20generated
Xshare`20file,`20no`20messages`20will`20be`20produced`20unless`20the`20appropri
Vate`20logical`20is
Xdefined`20to`20be`20TRUE`20(or`20the`20/LOG`20qualifier`20is`20used`20on`20the
V`20VMS_SHARE`20command).
X
X
X
X3.`20BUG`20FIXES
X
XThe`20following`20bugs`20have`20been`20fixed.
X
X
X3.1`20Removal`20of`20Spurious`20Dot`20in`20UNPACKING`20Message
X
XThe`20unpack`20code`20gives`20the`20message`20`60Unpacking`20file`20xxxx.'.
V`20The`20extra`20dot`20at`20the
Xend`20of`20the`20message`20was`20fouling`20attempts`20to`20cut/paste`20the`20f
Vilename`20with`20a`20double
Xclick`20in`20a`20windows`20environment`20and`20has`20been`20removed.
X
X`5BThanks`20go`20to`20Claude`20Barbe`20-`20barbe@sdrvx2.sinet.slb.com`20-`20fo
Vr`20this`20amendment`5D
X
X
X3.2`20Part`20Splitting
X
XThe`20part`20splitting`20algorithm`20has`20been`20modified`20to`20more`20accur
Vately`20compute`20the
Xsize`20of`20a`20part`20written`20to`20disk.`20The`20part`20generating`20code
V`20has`20been`20generally
Xrecoded`20to`20remove`20the`20possibility`20of`20a`20final`20empty`20part`20be
Ving`20created`20when`20the
Xdata`20exactly`20fills`20the`20buffer.
X
X
X3.3`20Coding`20Overhaul
X
XMost`20of`20the`20VMS_SHARE`20code`20has`20been`20extensively`20overhauled`20a
Vnd`20rewritten`20so`20as
Xto`20be`20more`20reliable`20and`20check`20for`20more`20things.`20The`20general
V`20approach`20to`20the
Xproblem`20is`20similar`20to`20previous`20versions`20however.
X
X
X3.4`20Character`20Encoding`20and`20Line`20Wrapping
X
XA`20particular`20area`20of`20concern`20in`20previous`20versions`20has`20been
V`20the`20method`20of
Xencoding`20characters`20such`20that`20intermediate`20lines`20created`20do`20no
Vt`20exceed`20the
Xmaximum`20record`20length`20imposed`20by`20TPU.`20This`20has`20been`20solved
V`20by`20performing`20all
Xencoding`20in`20a`20single`20pass`20over`20the`20buffer`20and`20taking`20whate
Vver`20action`20is
Xnecessary`20as`20each`20character`20is`20examined.`20Decoding`20is`20effected
V`20similarly,`20so
Xthat`20no`20intermediate`20long`20lines`20should`20arise.
X
XA`20side`20effect`20of`20this`20means`20that`20the`20built-in`20SEARCH`20canno
Vt`20be`20effectively`20used
Xand`20buffer`20encoding`20is`20considerably`20slower,`20even`20without`20selec
Vtion`20of`20the
Xrun-length`20compression`20code.`20However,`20the`20benefits`20of`20the`20new
V`20features`20and`20the
Xincreased`20reliability`20should`20compensate`20for`20this.`20Future`20release
Vs`20will`20try`20to
Ximprove`20on`20the`20speed`20of`20packing.
X
X
X
X3.5`20Long`20DCL`20Lines
X
XMost`20of`20the`20lines`20of`20DCL`20created`20in`20the`20share`20file`20are
V`20less`20than`20the`20maximum
Xline`20length`20of`2079`20characters.`20However,`20it`20was`20previously`20pos
Vsible`20for`20the`20CALL
XUNPACK`20line,`20generated`20for`20each`20file,`20to`20extend`20past`20the`20e
Vnd`20of`20this`20maximum.
XThis`20could`20happen`20for`20very`20long`20file`20names`20and,`20with`20the
V`20addition`20of`20file
Xattribute`20recording`20in`20this`20release,`20is`20more`20likely`20to`20occur
V.
X
XTo`20avoid`20the`20problem,`20the`20line`20length`20is`20now`20checked`20betwe
Ven`20each`20parameter`20and
Xa`20DCL`20continuation`20inserted`20if`20necessary.`20`20The`20check`20is`20fa
Virly`20simple`20minded
Xand`20a`20really`20long`20filename`20could`20still`20defeat`20it`20but`20most
V`20files`20should`20pass
Xthrough`20unscathed.
X
X
X3.6`20Verification`20During`20Share`20File`20Unpacking
X
XDue`20to`20a`20coding`20error,`20defining`20the`20SHARE_LOG`20logical`20to`20v
Verify`20the`20unpacking
Xof`20the`20share`20file`20did`20not`20work`20correctly.`20In`20fact,`20definin
Vg`20it`20to`20TRUE`20had`20the
Xopposite`20effect`20of`20turning`20off`20the`20messages`20and`20vice`20versa.
V`20`20The`20default`20action
Xwas`20to`20display`20these`20messages`20and`20this`20worked`20correctly.
X
X
X
X4.`20CHANGES`20IN`20OPERATION
X
XThe`20following`20major`20changes`20in`20operation`20have`20occurred.
X
X
X4.1`20Minimum`20VMS`20Requirements
X
XDue`20to`20the`20use`20of`20a`20number`20of`20features`20of`20DCL`20that`20gav
Ve`20recently`20been
Xintroduced`20(mainly`20the`20block`20IF,`20used`20for`20clarity`20of`20code),
V`20the`20minimum`20version
Xof`20VMS`20required`20to`20encode`20files`20is`20now`20version`205.0.`20Attemp
Vts`20to`20use`20the`20package
Xon`20earlier`20versions`20will`20result`20in`20an`20error`20message.`20However
V`20the`20generated
Xshare`20file`20will`20unpack`20on`20all`20versions`20from`20VMS`204.4`20onward
Vs;`20if`20the`20/LONGLINES
Xqualifier`20is`20used,`20then`20the`20share`20file`20will`20unpack`20only`20on
V`20versions`20of`20VMS`20from
X5.4`20onwards.
X
XIt`20is`20felt`20that`20the`20vast`20majority`20of`20users`20are`20now`20runni
Vng`20at`20least`20VMS`205.0`20and
Xtherefore`20the`20downside`20is`20minimal.`20`20These`20users`20will`20still
V`20be`20able`20to`20unpack
Xshare`20files`20created`20without`20the`20/LONGLINES`20option.
X
X
X4.2`20Encoding`20of`20Space`20characters
X
XIn`20previous`20versions,`20the`20space`20character`20was`20not`20treated`20as
V`20a`20troublesome
Xcharacter.`20In`20practice,`20many`20files`20may`20have`20leading`20or`20trail
Ving`20blanks`20removed
Xor`20added`20on`20their`20journey`20through`20the`20network.`20This`20version
V`20treats`20blanks`20as
Xquotable`20characters`20to`20prevent`20this`20problem.`20As`20a`20consequence,
V`20the`20code`20which
Xused`20to`20quote`20spaces`20if`20they`20appeared`20at`20ends`20of`20lines`20h
Vas`20been`20removed`20and`20the
Xcode`20to`20determine`20where`20to`20split`20lines`20is`20less`20complex;`20th
Vere`20is`20no`20need`20to
Xhunt`20for`20the`20last`20non-blank.
X
XThis`20amendment`20reduces`20the`20complexity`20of`20the`20unpacking`20code
V`20in`20the`20generated
Xsharefile`20as`20there`20is`20no`20need`20for`20an`20additional`20pass`20over
V`20the`20data`20to`20sort`20out
Xany`20trailing`20blanks.`20Any`20blank`20characters`20encountered`20while`20un
Vpacking`20are
Xsimply`20ignored.
X
XShare`20files`20may`20be`20slightly`20longer`20with`20this`20mechanism`20but
V`20choosing`20run-length
Xencoding`20should`20reduce`20the`20size`20due`20to`20long`20runs`20of`20blanks
V`20being`20found`20in`20most
Xtext`20or`20program`20files.
X
X
X4.3`20PAKMAIL`20Updated
X
XThe`20PAKMAIL`20utility,`20supplied`20with`20VMS_SHARE`20to`20mail`20out`20all
V`20the`20parts`20of`20the
Xpackage`20has`20been`20updated`20to`20reflect`20the`20new`20part`20format`20of
V`20nnn-OF-mmm.
X
X
X
X5.`20DOCUMENTATION`20CHANGES
X
XThe`20user`20guide`20and`20help`20file`20have`20both`20been`20updated`20to`20r
Veflect`20the`20new`20support
Xfor`20record`20formats,`20run-length`20compression,`20the`20new`20command-line
V`20parameters,
Xand`20the`20other`20miscellaneous`20enhancements.`20The`20technical`20informat
Vion`20guide`20has
Xbeen`20amended`20slightly`20for`20similar`20reasons.
X
X
X
X6.`20TESTING
X
XThis`20version`20of`20VMS_SHARE`20has`20only`20been`20tested`20on`20VMS`205.5-
V1`20but`20is`20believed`20to
Xwork`20`20on`20all`20versions`20from`20VMS`205.0`20to`20VMS`205.5-1.`20`20Howe
Vver,`20it`20is`20not`20supported`20
Xformally`20on`20any`20version`20of`20VMS`20other`20than`20the`20one`20on`20whi
Vch`20it`20has`20been`20tested.
X
XThe`20share`20files`20generated`20by`20VMS_SHARE`20are`20believed`20to`20unpac
Vk`20correctly`20on`20all
Xversions`20of`20TPU`20from`20VMS`204.4`20onwards`20unless`20the`20/LONGLINES
V`20option`20is`20selected,
Xin`20which`20case`20VMS`205.4`20is`20the`20minimum`20release`20needed.
X
X
X
X7.`20PREVIOUS`20RELEASE`20NOTES
X
XRelease`20notes`20for`20previous`20versions`20are`20appended`20at`20the`20end.
V`20These`20give`20
Xdetails`20of`20changes`20and`20bug`20fixes`20for`20those`20versions.
X`0C
X`20`20`20`20`20`20`20`20`09`09`09V`20M`20S`20_`20S`20H`20A`20R`20E
X
X`20`20`20`20`09`09`09`20`20`20R`20E`20L`20E`20A`20S`20E`20`20`20N`20`20O`20T
V`20E`20S
X
X
X
X`20`20`20`20`09`09`09`09`09`09`09`09Version`207.2-007
X`20`20`20`20`09`09`09`09`09`09`09`09Feb`201990
X
X
X1.`20INTRODUCTION
X
XVersion`207.2-007`20`20of`20VMS_SHARE`20is`20a`20maintenance`20release`20that
V`20merely`20fixes`20a
Xnumber`20of`20known`20bugs.`20It`20introduces`20no`20new`20features`20for`20th
Ve`20user.
X
X
X
X2.`20NEW`20FEATURES
X
XThere`20are`20no`20new`20features`20with`20this`20release
X
X
X
X
X3.`20BUG`20FIXES
X
XThe`20following`20bugs`20have`20been`20fixed.
X
X
X3.1`20Version`20Check`09`09`09`09`09(7.2-001)
X
XBoth`20the`20VMS_SHARE`20code`20and`20the`20created`20share`20file`20include
V`20checks`20on`20the`20
Xversion`20of`20VMS`20under`20which`20they`20run.`20This`20ensures`20that`20att
Vempts`20to`20run`20on`20
Xunsupported`20(ie`20very`20OLD)`20versions`20of`20VMS`20are`20trapped`20with
V`20a`20suitable`20warning.`20
XIn`20previous`20versions,`20this`20check`20was`20not`20altogether`20correct
V`20because`20it`20assumed`20
Xthat`20the`20version`20number`20obtained`20with`20`20f$getsyi("VERSION")`20
V`20started`20with`20the`20
Xletter`20"V".`20`20In`20some`20releases,`20this`20is`20not`20the`20case`20-
V`20there`20are`20"A"`20and`20"B"`20
Xversions`20around`20at`20least!`20Usually`20to`20be`20found`20in`20mixed`20ver
Vsion`20clusters.
X
XThe`20fix`20corrects`20this`20problem`20by`20stripping`20off`20the`20"V"`20and
V`20just`20comparing`20the`20
Xnumeric`20part.
X
X
X3.2`20Use`20of`20/NOLOG`09`09`09`09`09(7.2-002)
X
XWith`20the`20inclusion`20of`20a`20"SET`20SYMBOL/SCOPE=(NOLOCAL,NOGLOBAL)"`20co
Vmmand`20in`20a`20
Xprevious`20release`20of`20VMS_SHARE,`20the`20use`20of`20the`20/NOLOG`20qualifi
Vers`20on`20certain`20
Xcommands`20in`20the`20generated`20share`20file`20is`20redundant.`20`20These
V`20have`20been`20removed`20
Xand`20will`20make`20the`20share`20file`20very`20slightly`20shorter.
X
X
X3.3`20Variable`20names`20in`20the`20share`20file`09`09`09(7.2-003)
X
XThe`20TPU`20unpacking`20code`20placed`20into`20the`20share`20file`20uses`20sev
Veral`20variables`20
Xto`20hold`20relevant`20information.`20To`20save`20space,`20these`20have`20been
V`20changed`20to`20be`20
Xsingle`20letter`20variable`20names`20where`20possible.`20In`20some`20instances
V,`20the`20code`20is`20
Xrestructured`20to`20remove`20the`20variables`20altogether.
X
X
X3.4`20Part`20Separator`20Check`20and`20Infinite`20Looping`20Problems`09(7.2-00
V4)
X
XBecause`20VMS_SHARE`20allows`20the`20share`20file`20to`20be`20created`20in`20m
Vultiple`20parts`20for`20
Xease`20of`20mailing,`20it`20includes`20flags`20to`20allow`20it`20to`20skip`20o
Vver`20any`20intervening`20
X'garbage',`20typically`20mail`20headers`20and`20mail`20signatures.`20`20Two
V`20special`20flag`20lines
Xare`20inserted`20-`20one`20at`20the`20end`20of`20a`20part`20and`20one`20at`20t
Vhe`20start`20of`20a`20part.`20
X
XThe`20unpacking`20code`20however`20did`20not`20fully`20check`20for`20the`20sta
Vrt`20of`20part`20flag`20line`20
Xand`20consequently`20could`20be`20confused`20by`20mail`20headers`20or`20mail
V`20signatures`20that`20
Xlooked`20like`20the`20start`20of`20flag`20lines.`20The`20code`20has`20been`20t
Vightened`20up`20to`20more`20
Xfully`20check`20that`20the`20line`20found`20is`20a`20real`20start`20of`20part.
V`20This`20avoids`20problems`20
Xof`20the`20code`20being`20stuck`20in`20infinite`20CPU`20gobbling`20loops.
X
X
X
X3.5`20Replacement`20of`20EXIT`09`09`09`09`09(7.2-006)
X
XIt`20has`20been`20reported`20that,`20under`20VMS`205.3,`20VMS_SHARE`20runs`20i
Vnto`20problems`20at`20the`20
XTPU`20'EXIT'`20statement.`20`20The`20exact`20problem`20is`20unclear`20but`20se
Vems`20related`20to`20the`20
Xflushing`20of`20buffers.`20To`20circumvent`20the`20problem,`20EXIT`20has`20bee
Vn`20replaced`20by`20
X'QUIT'`20in`20both`20VMS_SHARE`20and`20the`20generated`20share`20file.
X
X
X
X3.6`20Suppression`20of`20TPU`20messages.`09`09`09(7.2-007)
X
XBecause`20TPU`20produces`20unwanted`20informational`20messages`20when`20it`20s
Vtarts,`20the`20code`20
Xdiverts`20these`20to`20NL:`20via`20a`20user`20mode`20logical`20name`20assignme
Vnt.`20`20However`20this`20
Xhas`20the`20side`20effect`20of`20also`20suppressing`20any`20TPU`20error`20mess
Vages.`20`20To`20allow`20
Xthese`20error`20messages`20to`20be`20seen`20if`20something`20is`20wrong,`20the
V`20share`20file`20now`20only`20
Xassigns`20the`20output`20to`20NL:`20if`20verification`20is`20OFF`20(see`20the
V`20logical`20name`20
XSHARE_VERIFY).`20If`20verification`20is`20on,`20all`20output`20comes`20to`20SY
VS$OUTPUT.
X
X
X
X
X
X4.`20CHANGES`20IN`20OPERATION
X
XThe`20following`20major`20changes`20in`20operation`20have`20occurred.
X
X
X4.1`20Encoding`20of`20Special`20Characters`09`09`09(7.2-005)
X
XPrevious`20versions`20encoded`20troublesome`20characters`20using`20a`203`20dig
Vit`20decimal`20
Xrepresentation`20of`20the`20ASCII`20code`20prefixed`20by`20an`20escape`20chara
Vcter.`20`20This`20
Xrelease`20uses`20a`20hex`20encoding`20thus`20saving`201`20byte`20for`20each
V`20escaped`20character.
X
XFor`20small`20files,`20the`20file`20may`20be`20slightly`20longer`20because`20o
Vf`20the`20extra`20code
Xnecessary`20to`20unpack`20hex`20characters.`20For`20long`20files,`20small`20sp
Vace`20savings`20should
Xoccur.`20
X
X
X5.`20DOCUMENTATION`20CHANGES
X
XA`20number`20of`20minor`20changes`20have`20been`20applied`20to`20the`20user
V`20guide`20and`20to`20the`20
Xtechnical`20info`20documents.`20No`20new`20information`20has`20been`20added.
X
X
X
X6.`20TESTING
X
XThis`20version`20of`20VMS_SHARE`20has`20been`20tested`20on`20VMS`205.1-1`20but
V`20is`20believed`20to`20work`20
Xon`20all`20versions`20from`20VMS`204.4`20to`20VMS`205.3.`20`20However,`20it
V`20is`20not`20supported`20
Xformally`20on`20any`20version`20of`20VMS`20other`20than`20the`20one`20on`20whi
Vch`20it`20has`20been`20tested.
X
X
X
X7.`20PREVIOUS`20RELEASE`20NOTES
X
XRelease`20notes`20for`20previous`20versions`20are`20appended`20at`20the`20end.
V`20These`20give`20
Xdetails`20of`20changes`20and`20bug`20fixes`20for`20those`20versions.
X`0C
X`09`09V`20M`20S`20_`20S`20H`20A`20R`20E`20`20`20B`20U`20G`20`20`20F`20I`20X
V`20E`20S
X
X`20`20`20`20`09`09`09`20Version`207.1-004
X
X
X
X
X1.`20INTRODUCTION
X
XThis`20document`20is`20an`20addendum`20to`20the`20main`20release`20notes`20for
V`20VMS_SHARE`20
Xdescribing`20all`20the`20bugs`20fixed`20since`20the`20last`20major`20release
V`207.1-001
X
X
X
X2.`20BUG`20FIX`20DESCRIPTIONS
X
X2.1`20Verification`09`09`09`09`09(7.1-002)
X
XVMS_SHARE`20now`20turns`20verification`20of`20the`20DCL`20code`20on`20or`20off
V`20based`20on`20the`20
Xdefinition`20of`20the`20logical`20name`20SHARE_VERIFY.`20Previously`20no`20att
Vempt`20was`20made`20to`20
Xalter`20the`20verification`20setting.`20The`20environment`20is`20restored`20on
V`20exit.
X
XIf`20SHARE_VERIFY`20is`20defined`20as`20TRUE`20(or`201`20or`20YES`20etc.)`20th
Ven`20verification`20is`20
Xenabled.`20If`20defined`20as`20FALSE`20(or`200`20or`20NO`20etc.)`20or`20is`20n
Vot`20defined`20at`20all,`20
Xverification`20is`20disabled.
X
XNote`20that`20this`20logical`20defines`20verification`20both`20for`20VMS_SHARE
V`20itself`20and`20for`20
Xany`20unpack`20operations`20performed`20on`20the`20created`20archive.
X
XNote`20also`20that`20if`20the`20user`20has`20no`20READ`20access`20to`20the`20p
Vrocedure`20(recommended)`20
Xthen`20verification`20is`20always`20disabled.
X
XThe`20.HLP`20file`20has`20been`20updated`20to`20include`20a`20reference`20to
V`20this`20logical`20and`20its`20
Xdefinitions.
X
XNOTE`20that`20the`20Version`207.1`20release`20notes`20contain`20a`20comment
V`20that`20this`20logical`20
Xname`20has`20been`20removed.`20This`20was`20true`20with`20release`207.1-001
V`20of`20VMS_SHARE`20but`20the`20
Xlogical`20has`20been`20reinstated`20with`20release`207.1-002
X
X
X
X2.2`20Symbol`20Redefinition`09`09`09`09`09(7.1-002)
X
XVMS_SHARE`20now`20uses`20the`20SET`20SYMBOL`20command`20to`20insulate`20itself
V`20from`20any`20symbol`20
Xdefinitions`20made`20by`20the`20user.`20Both`20local`20and`20global`20definiti
Vons`20of`20any`20DCL
Xsymbols`20are`20ignored.`20`20If`20VMS_SHARE`20exits`20normally`20then`20the
V`20original`20setting`20is`20
Xrestored.`20However,`20an`20abnormal`20exit`20may`20cause`20the`20new`20settin
Vgs`20to`20be`20retained.`20
XThis`20may`20cause`20confusion`20if`20a`20user`20is`20unaware`20of`20what`20ha
Vs`20happened.
X
XPreviously`20any`20external`20symbol`20definitions`20matching`20commands`20use
Vd`20internally`20
Xto`20VMS_SHARE`20would`20cause`20unexpected`20actions`20and`20usually`20cause
V`20VMS_SHARE`20to`20
Xfail.
X
X
X
X2.3`20Spurious`20Rejection`20of`20certain`20files`09`09`09(7.1-002)
X
XVMS_SHARE`20contains`20code`20to`20reject`20any`20attempt`20to`20include`20the
V`20output`20files`20in`20
Xthe`20packed`20archive`20on`20the`20grounds`20that`20packing`20an`20archive
V`20into`20itself`20is`20not`20
Xsensible.`20However`20the`20code`20for`20this`20check`20was`20faulty`20due`20t
Vo`20an`20undocumented`20
X'feature'`20of`20the`20f$integer`20lexical`20which`20returns`201`20if`20a`20st
Vring`20starts`20with`20
XT`20or`20Y`20(in`20other`20words,`20does`20a`20conversion`20from`20boolean`20t
Vo`20integer`20where`20T,Y`20=`20
X1`20and`20F,`20N`20=`200).`20This`20caused`20some`20perfectly`20valid`20filena
Vmes`20to`20be`20rejected`20on
Xthe`20grounds`20that`20they`20had`20the`20same`20name`20as`20the`20output`20fi
Vle.
X
XAs`20an`20example,`20if`20the`20output`20file`20is`20specified`20as`20'V'`20th
Ven`20invalid`20input`20files
Xwould`20be`20anything`20starting`20with`20this`20name`20followed`20by`20a`20nu
Vmber,`20such`20as`20'V.1',
X'V.2'`20etc.`20The`20bug`20also`20caused`20files`20'V.T'`20and`20'V.Y'`20to
V`20be`20invalid.`20
X
XThe`20code`20has`20now`20been`20fixed`20by`20avoiding`20the`20use`20of`20f$int
Veger`20until`20the`20string`20
Xhas`20been`20checked`20with`20f$type`20to`20make`20sure`20it`20really`20is`20a
V`20number.
X
X
X
X2.4`20Movement`20Of`20Generated`20CUT`20HERE`20line`09`09`09(7.1-003)
X
XThe`20inclusion`20of`20the`20verification`20option`20(SHARE_VERIFY)`20was`20in
Vadvertently`20
Xplaced`20BEFORE`20rather`20than`20AFTER`20the`20'`20...`20`20`20CUT`20HERE`20
V`20`20...`20'`20line`20in`20the`20
Xgenerated`20share`20file.`20It`20has`20now`20been`20moved`20to`20its`20proper
V`20place`20ensuring`20that`20
Xcutting`20on`20the`20indicated`20line`20does`20not`20remove`20the`20VERIFY`20o
Vption.
X
X
X
X2.5`20Angle`20Brackets`20in`20Directory`20names`09`09`09(7.1-004)
X
XIf`20the`20parameters`20to`20VMS_SHARE,`20or`20the`20current`20default`20direc
Vtory,`20contained`20
Xangle`20brackets`20around`20directory`20specifications`20(For`20example,`20<TE
VST>`20rather`20
Xthan`20the`20more`20normal`20`5BTEST`5D)`20then`20VMS_SHARE`20treated`20each
V`20file`20as`20invalid`20
Xbecause`20it`20was`20not`20designed`20to`20handle`20the`20<>`20notation,`20whi
Vch`20is`20perfectly`20
Xvalid`20VMS`20syntax.
X
XThis`20problem`20has`20been`20cured`20by`20ensuring`20that`20all`20occurrences
V`20of`20<..>`20notation`20
Xare`20translated`20to`20the`20more`20normal`20`5B..`5D`20notation`20before`20p
Vrocessing`20the`20
Xfilenames.`20The`20way`20in`20which`20this`20is`20done`20relys`20on`20a`20litt
Vle`20known`20feature`20of`20
Xthe`20f$parse`20lexical`20function:
X
X`20`20`20f$parse(P1,"`5B`5D")`20`20will`20translate`20any`20<..>`20directory
V`20to`20`5B..`5D
X
X`20`20`20f$parse(P1,"<>")`20`20will`20translate`20any`20`5B..`5D`20directory
V`20to`20<..>
X
XHowever`20if`20P1`20contains`20a`20version`20number`20the`20conversion`20is
V`20not`20done!`20(WHY`20this`20
Xshould`20be`20so`20is`20a`20mystery`20at`20this`20time)
X
X
X
X2.6`20Check`20for`20correct`20VMS`20version`20in`20created`20share`20file`09(7
V.1-004)
X
XThe`20check`20for`20a`20minimum`20revision`20of`20VMS`20was`20incorrect.`20The
V`20current`20version,`20
Xobtained`20with`20f$getsyi("VERSION")`20was`20being`20checked`20against`20"4.4
V"`20instead`20of`20
X"V4.4".
X
X
X
X2.7`20Check`20for`20correct`20VMS`20version`20in`20main`20procedure`09(7.1-004
V)
X
XNo`20check`20was`20made`20in`20the`20main`20VMS_SHARE`20procedure`20for`20the
V`20correct`20minimum`20
Xrevision`20of`20VMS`20required.`20This`20would`20cause`20it`20to`20fail`20if
V`20run`20on`20a`20pre-VMS`204.4`20
Xsystem.`20A`20check`20has`20now`20been`20included.
X
X
X
X2.8`20Information`20on`20errors`20in`20HELP`09`09`09(7.1-004)
X
XExplanations`20of`20the`20error`20codes`20for`20both`20VMS_SHARE`20and`20PAKMA
VIL`20have`20been`20
Xincluded`20into`20the`20HELP`20files`20for`20the`20utilities.`20There`20are
V`20also`20some`20minor`20
Xeditorial`20changes`20to`20the`20help`20text.
X
X
X
X2.9`20User`20Guide`09`09`09`09`09`09(7.1-004)
X
XA`20preliminary`20user`20guide`20is`20issued`20with`20this`20release.`20This
V`20describes`20the`20
Xrationale`20behind`20VMS_SHARE,`20from`20the`20user's`20viewpoint`20and`20deta
Vils`20of`20how`20to`20
Xuse`20both`20VMS_SHARE`20and`20PAKMAIL.`20Details`20of`20unpacking`20share`20f
Viles`20are`20included`20
Xalso.
X
X
X
X2.10`20Location`20of`20Break`20Point`09`09`09`09(7.1-004)
X
XCorrected`20the`20check`20for`20a`20null`20buffer`20in`20the`20routine`20which
V`20locates`20the`20optimum`20
Xbreak`20point`20for`20a`20share`20file`20part.
X
X
X2.11`20Part`20Separator`20Insertion`09`09`09`09(7.1-004)
X
XCorrected`20the`20check`20for`20the`20right`20part`20separator,`20GOTO/label
V`20or`20special`20flag`20
Xlines,`20by`20only`20checking`20the`20line`20below`20the`20separation`20point
V`20and`20not`20the`20lines`20
Xon`20either`20side.`20`20This`20ensures`20that`20the`20GOTO/LABEL`20code`20is
V`20only`20used`20when`20the`20
Xsplit`20point`20immediately`20precedes`20DCL`20code.
X
X
X
X3.`20KNOWN`20PROBLEMS
X
XThere`20are`20no`20known`20problems`20at`20this`20time.
X
X
X
X
XAndy`20Harper
X9-AUG-1989
X`0C
X`20`20`20`20`20`20`20`20`09`09`09V`20M`20S`20_`20S`20H`20A`20R`20E
X
X`20`20`20`20`09`09`09`20`20`20R`20E`20L`20E`20A`20S`20E`20`20`20N`20`20O`20T
V`20E`20S
X
X
X
X`20`20`20`20`09`09`09`09`09`09`09`09Version`207.1
X`20`20`20`20`09`09`09`09`09`09`09`09Aug`201989
X
X
X1.`20INTRODUCTION
X
XVersion`207.1`20of`20VMS_SHARE`20has`20been`20completely`20rewritten`20to`20el
Viminate`20long
Xstanding`20bugs,`20and`20to`20improve`20performance`20by`20utilising`20new`20a
Vlgorithms`20for`20the
Xpacking`20and`20upacking`20of`20files.`20Details`20of`20the`20changes`20from
V`20the`20previous
Xversions`20are`20given`20below.
X
X
X
X2.`20NEW`20FEATURES
X
X2.1`20Subdirectories
X
XVMS_SHARE`20now`20supports`20subdirectories.`20`20The`20user`20may`20package
V`20a`20series`20of`20files
Xexisting`20in`20the`20directory`20tree`20within/below`20the`20current`20direct
Vory.`20The
Xdirectory`20structure`20will`20be`20recreated`20at`20the`20unpacking`20stage
V`20as`20an`20equivalent
Xtree`20beneath`20the`20current`20directory.`20All`20required`20directories`20a
Vre`20automatically`20
Xcreated`20as`20required.
X
XFor`20example:
X
X`20`20`20`20$`20VMS_SHARE`20`5B.TPU...`5D*.*,`5B.DATA`5D*.*`20PACKAGE.SHAR
X`20`20`20`20`20`20`20`20Will`20package`20the`20directory`20tree`20beneath`20
V`5B.TPU`5D`20and`20the`20subdirectory
X`20`20`20`20`20`20`20`20`5B.DATA`5D.`20`20During`20unpacking,`20these`20subdir
Vectories`20will`20be`20created
X`20`20`20`20`20`20`20`20automatically`20below`20the`20current`20directory.
X
X
XIt`20was`20originally`20decided`20to`20make`20the`20directory`20handling`20a
V`20bit`20like`20BACKUP,`20
Xallowing`20any`20directory`20to`20be`20packaged`20and`20individual`20items`20t
Vo`20be`20selected`20at
Xunpack`20time.`20However`20this`20proved`20to`20be`20extremely`20difficult`20i
Vn`20DCL`20and`20so`20was
Xabandoned.`20It`20may`20appear`20in`20a`20future`20release.`20`20In`20order
V`20to`20prevent`20files
Xappearing`20in`20essentially`20random`20directories`20it`20was`20decided`20to
V`20adopt`20the`20above
Xcompromise.`20It`20retains`20sufficient`20flexibility`20to`20deal`20with`20mos
Vt`20package`20
Xstructures`20but`20maintains`20a`20known`20directory`20structure`20that`20will
V`20avoid`20files`20
Xbeing`20placed`20randomly`20as`20far`20as`20the`20receiving`20user`20is`20conc
Verned.
X
X
X
X2.2`20DEBUG`20code
X
XTo`20assist`20those`20who`20enhance`20and`20develop`20VMS_SHARE,`20a`20large
V`20amount`20of
Xdebug/trace`20code`20is`20included`20into`20the`20source.`20`20By`20redefining
V`20a`20simple`20global
Xconstant`20value,`20this`20debug`20code`20can`20be`20turned`20on`20or`20off
V`20to`20assist`20in`20tracking
Xdown`20faults.
X
X
X
X
X2.3`20New`20Part`20Splitting`20Algorithms
X
XThe`20algorithms`20used`20for`20splitting`20parts`20have`20been`20extensively
V`20redesigned`20to
Xensure`20minimal`20use`20of`20memory`20for`20buffers.`20Essentially,`20VMS_SHA
VRE`20now`20uses`20only
Xenough`20memory`20to`20hold`20the`20sum`20of`20two`20parts`20and`20the`20large
Vst`20file.`20We`20read`20a
Xsingle`20file,`20add`20as`20much`20as`20possible`20to`20the`20part`20buffer
V`20and`20then`20write`20the
Xpart`20buffer,`20removing`20the`20equivalent`20info`20from`20the`20original
V`20file`20buffer.
X
XThe`20algorithm`20for`20finding`20the`20optimum`20part`20breakpoint`20now`20us
Ves`20a`20binary`20search
Xinstead`20of`20a`20sequential`20search`20for`20speed.
X
X
X
X
X2.4`20New`20Unpacking`20Algorithms
X
XThe`20algorithm`20used`20to`20unpack`20code,`20embedded`20in`20the`20TPU`20cod
Ve`20stored`20in`20the
Xoutput`20share`20file,`20has`20been`20redesigned`20to`20need`20less`20error
V`20checking`20and`20hence
Xless`20code.`20`20The`20TPU`20code`20is`20also`20packed`20more`20compactly`20t
Vhan`20before`20giving
Ximproved`20compilation`20speed`20as`20well`20as`20execution`20speed.`20
X
X
X
X
X2.5`20Error`20and`20Status`20Messages
X
XVMS_SHARE`20now`20produces`20messages`20similar`20to`20the`20standard`20VMS
V`20form.`20Messages`20are
Xproduced`20to`20keep`20the`20user`20informed`20of`20progress`20(these`20normal
Vly`20go`20to
Xsys$output)`20and`20error`20messages`20(which`20normally`20go`20to`20sys$error
V).
X
XInitial`20informational`20messages`20from`20TPU,`20as`20it`20reads`20in`20the
V`20source,`20are`20also
Xprinted.`20It`20is`20hoped`20that`20in`20a`20future`20release`20some`20way`20c
Van`20be`20found`20to`20turn
Xthis`20off.
X
X
X
X2.6`20Exclusion`20Files
X
XBy`20defining`20certain`20logical`20names,`20it`20is`20possible`20to`20force
V`20the`20exclusion`20of`20
Xparticular`20files`20from`20the`20sharefile.`20There`20are`20three`20possibili
Vties:`20exclusion`20
Xby`20directory,`20exclusion`20by`20name,`20and`20exclusion`20by`20type.
X
XEach`20logical`20name`20may`20be`20defined`20as`20a`20comma`20separated`20list
V`20of`20items`20(the`20list`20
XMUST`20be`20enclosed`20within`20quotes).`20Any`20file`20that`20matches`20is
V`20excluded`20from`20the
Xsharefile.`20Wildcards`20are`20not`20permitted.`20Each`20must`20be`20a`20fixed
V`20string.`20
X
XThanks`20go`20to`20Joe`20Meadows`20(JOE@BITNET.FHCRCVAX)`20for`20the`20general
V`20idea`20and`20basic
Xmechanism.`20
X
X
X
X2.6.1`20SHARE_EXCLUDE_DIRS
X
XThis`20logical`20is`20a`20list`20of`20directory`20names`20(in`20their`20full
V`20format).`20Any`20file`20
Xwith`20the`20same`20directory`20name`20is`20automatically`20excluded.
X
XFor`20example:
X
X`20`20`20DEFINE`20SHARE_EXCLUDE_DIRS`20"`5BX`5D,`5BX.Y`5D,`5BX.Y.Z`5D,`5BTWEET
VY`5D"
X
Xexcludes`20any`20file`20in`20any`20of`20the`20listed`20directories.
X
XIf`20this`20logical`20is`20absent,`20then`20no`20files`20are`20excluded`20on
V`20the`20basis`20of`20their`20
Xfull`20directory`20name.
X
X
X2.6.2`20SHARE_EXCLUDE_NAMES
X
XThis`20logical`20is`20a`20list`20of`20filenames.`20Any`20file`20with`20the`20a
V`20matching`20NAME`20part`20is
Xautomatically`20excluded.`20
X
XFor`20example:
X
X`20`20`20DEFINE`20SHARE_EXCLUDE_NAMES`20"MAIN,TRACE,MAIN_CLD"
X
X
XIf`20this`20logical`20is`20absent,`20then`20no`20files`20are`20excluded`20on
V`20the`20basis`20of`20their`20
Xfilename.
X
X
X2.6.3`20SHARE_EXCLUDE_TYPES
X
XThis`20logical`20is`20a`20list`20of`20file`20types.`20Any`20file`20with`20a
V`20matching`20TYPE`20part`20is`20
Xautomatically`20excluded.`20Files`20with`20a`20type`20of`20.DIR`20are`20automa
Vtically`20excluded`20
Xas`20these`20are`20directory`20files`20with`20no`20valid`20contents`20at`20the
V`20time`20of`20unpacking.
X
XFor`20example:
X
X`20`20`20DEFINE`20SHARE_EXCLUDE_TYPES`20".OBJ,.EXE"
X
Xexcludes`20any`20file`20with`20a`20type`20of`20.OBJ,`20.EXE`20or`20.DIR
X
XIf`20this`20logical`20is`20absent,`20then`20no`20files`20are`20excluded`20on
V`20the`20basis`20of`20their`20
Xfile`20type`20(except`20.DIR).
X
X
X
X3.`20BUG`20FIXES
X
XA`20number`20of`20long`20standing`20bugs`20have`20been`20fixed.
X
X
X
X3.1`20Bad`20split`20points
X
XOccasionally,`20the`20split`20point`20was`20chosen`20badly`20such`20that`20the
V`20part`20separators
Xwere`20wrong.`20In`20particular,`20the`20$GOTO/Label:`20sequence`20could`20app
Vear`20right`20after
Xthe`20$COPY`20command`20due`20to`20the`20method`20by`20which`20use`20of`20$GOT
VO`20was`20decided.`20This
Xalgorithm`20has`20been`20redesigned`20and`20the`20problem`20should`20no`20long
Ver`20occur.
X
X
X
X3.2`20Hangs`20During`20Trailing`20Blank`20Processing
X
XWhen`20wrapping`20lines`20containing`20trailing`20blanks,`20the`20code`20would
V`20sometimes`20hang
Xin`20an`20infinite`20loop`20or`20fail`20to`20split`20on`20a`20non-blank`20char
Vacter.`20This`20has`20now
Xbeen`20fixed.
X
X
X
X3.3`20Temporary`20Files
X
XAll`20temporary`20files`20now`20have`20a`20unique`20name`20derived`20from`20th
Ve`20PID`20of`20the`20current`20
Xprocess`20and`20are`20created`20in`20the`20SYS$SCRATCH`20directory`20by`20defa
Vult.`20The`20choice`20of`20
Xtemporary`20filename`20and`20location`20may`20be`20overridden`20by`20defining
V`20the`20logical`20name`20
XSHARE_TEMP`20to`20whatever`20is`20desired.
X
X
X
X
X4.`20CHANGES`20IN`20OPERATION
X
XThere`20are`20several`20significant`20changes`20in`20the`20operation`20of`20VM
VS_SHARE.
X
X
X
X4.1`20Name`20of`20Share`20File
X
XPreviously,`20the`20share`20file`20name`20was`20suffixed`20by`20a`20string`20o
Vf`20the`20form`20'_n_OF_m'
Xwhere`20'n'`20was`20the`20part`20number`20and`20'm'`20was`20the`20total`20no
V`20of`20parts.
X
XThe`20share`20file`20name`20is`20now`20suffixed`20only`20by`20the`20'n'`20valu
Ve`20-`20part`20number.`20This
Xchange`20is`20a`20consequence`20of`20the`20new`20algorithms`20used`20to`20crea
Vte`20the`20parts,
Xwhereby`20the`20total`20number`20of`20parts`20is`20not`20known`20at`20the`20ti
Vme`20of`20writing`20a
Xparticular`20part`20to`20a`20file.
X
X
X
X4.2`20Obsolete`20logical`20names
X
XLogical`20names`20supported`20in`20previous`20versions`20of`20VMS_SHARE`20to
V`20control`20
Xverification`20of`20the`20operation`20of`20the`20package`20are`20no`20longer
V`20supported.`20These`20
Xfunctions`20have`20been`20replaced`20by`20the`20new`20debugging`20code.
X
XThese`20logicals`20were`20`20SHARE_VERIFY`20`20and`20`20SHARE_DISPLAY.
X
X
X
X4.3`20CHECKSUM`20display
X
XMessages`20regarding`20checksums`20are`20now`20suppressed`20if`20they`20are
V`20correct,`20making`20it`20
Xeasier`20to`20spot`20those`20that`20are`20incorrect.
X
X
X
X
X4.4`20Version`20Numbers
X
XThe`20original`20version`20numbers`20of`20the`20packaged`20files`20are`20prese
Vrved`20at`20the`20
Xunpacking`20stage.`20Previously,`20all`20files`20created`20would`20have`20a
V`20version`20number`20of`20
X1.`20This`20change`20allows`20multiple`20versions`20of`20the`20same`20file`20t
Vo`20be`20packaged`20if`20
Xrequired.
X
X
X
X4.5`20Check`20Output`20File`20Existence
X
XDuring`20unpacking,`20the`20output`20file`20is`20checked`20to`20see`20if`20it
V`20already`20exists.`20If`20
Xit`20does,`20then`20the`20file`20is`20not`20overwritten.`20Instead`20the`20fil
Ve`20is`20skipped`20and`20a`20
Xmessage`20written`20to`20that`20effect.`20`20This`20prevents`20the`20previous
V`20problem`20where`20the`20
Xexistence`20of`20the`20file`20caused`20the`20new`20version`20to`20be`20ignored
V`20without`20comment`20and`20
Xa`20checksum`20failure`20to`20be`20produced.
X
X
X
X
X5.0`20TESTING
X
XThe`20software`20has`20been`20tested`20under`20VMS`204.7`20and`20VMS`205.1-1.
V`20It`20should`20be`20noted`20
Xthat`20this`20version`20of`20VMS_SHARE`20is`20not`20supported`20on`20other`20v
Versions`20of`20VMS,`20
Xalthough`20it`20is`20believed`20to`20work`20on`20all`20versions`20between`204.
V4`20and`205.1-1
Xinclusive.`20
$ call unpack VMS_SHARE.RELEASE_NOTES;46 558861127 ""
$!
$ create 'f'
X`20`20`20`20`20`20`20`20`09TECHNICAL`20INFORMATION`20ABOUT`20VMS_SHARE
X
X`20`20`20`20`09`09`09`09`09`09`09`09Version`208.2
X`20`20`20`20`09`09`09`09`09`09`09`09Jan`201993
X
X
X
X1.`20INTRODUCTION
X
XVMS_SHARE`20is`20designed`20to`20package`20a`20series`20of`20files`20into`20a
V`20form`20that`20can`20be`20
Xeasily`20mailed`20across`20many`20different`20networks.`20Difficulties`20arise
V`20with`20doing`20
Xthis`20because`20of`20the`20many`20and`20varied`20possibilities`20for`20corrup
+-+-+-+-+-+-+-+-  END  OF PART 6 +-+-+-+-+-+-+-+-
Technical Details
Message-ID: <10312308@MVB.SAIC.COM>
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!usc!news.service.uci.edu!unogate!mvb.saic.com!vmsnet-sources

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!cs.utexas.edu!usc!news.service.uci.edu!unogate!mvb.saic.com!vmsnet-sources
Newsgroups: vmsnet.sources
From: "Andy, Systems Manager" <UDAA055@ELM.CC.KCL.AC.UK>
Subject: VMS_SHARE V8.2, part 06/09
Message-ID: <10312308@MVB.SAIC.COM>
Date: Mon, 25 Jan 1993 21:34:44 GMT
Lines: 1356
Followup-To: vmsnet.sources.d
Approved: Mark.Berryman@Mvb.Saic.Com