🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

1 total messages Started by Andy, Systems Manager Mon, 25 Jan 1993 21:34
VMS_SHARE V8.2, part 06/09
#150
Author: 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 +-+-+-+-+-+-+-+-
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads