REVIEW Release Notes for Release 51.7
REVIEW is a 3270 fullscreen TSO command processor for
MVS.
REVIEW also functions correctly under TSS on MSP systems.
The source for REVIEW is available on the CBT MVS tape,
and is in the public domain, as is the data contained
herein.
The REVIEW home page and FAQ can be accessed from http://www.prycroft6.com.au
You can see web release dates here.
Bug reports welcome.
Enjoy. GP@P6
Select from this list to see notes from the following
releases:
Release 26
Release 27
Release 28
Release 29
Release 30
Release 31
Release 32
Release 33
Release 34
Release 35
Release 36
Release 37
Release 38
Release 39
Release 40
Release 41
Release 42
Release 43
Release 44
Release 45
Release 46
Release 47
Release 48
Release 49
Release 50
Release 51
This release has built-in support for the FSHELP and FSH
aliases of HEL, and includes the new 'FORMAT"/'FMT' and
'FMTVAR'/'FV' subcommands.
Note also that '=X' and '=CAN' are now valid member list
subcommands.
This release allows PDS searching with '=SEARCH' from the
directory list.
Use '=HELP' to see what is available from the directory
list.
REMEMBER - if any members are tagged then only these
members will be searched (or offloaded). Use
'=RESET' to untag all members.
This release introduces the "point-and-shoot" capability
which is triggered by invoking REVIEW with no operands.
REVIEW does a read buffer to get the DSNAME under the
cursor. This works from the TSO READY prompt (except for
Session Manager which updates the screen before REVIEW
gets control) and in fullscreen mode.
For best results under ISPF, set up a PF key with
TSO REV) MODE(FSCR
exactly as shown above.
You also may wish to set up a REVIEW PF key with
TSO REV
to allow point-and-shoot recursive REVIEWs.
Note that a recursive REVIEW with no operands is
terminated unless a point-and-shoot DSNAME is found. This
is to avoid TSO prompting with no ability to interrupt out
of it.
Also note that for point-and-shoot purposes, a member
name is NOT considered to be part of a DSNAME.
R28.1 allows the S member selection code even for
same-named members in a concatenation.
R28.2 restores the terminal to line mode when
"point 'n' shoot" can't process a data set.
Also, PF5/17 can now find the first member in a member
list if it is tagged.
R29.0 makes the FIND, F and FINDNOT subcommands
case insensitive.
FINDCHR, FC and FCN remain case sensitive.
FINDPIC, FP and FPN have been added. eg. FP ### looks for 3 digits.
These commands can all be selected from the member list
to search the whole file (one or more PDSs).
A RACROUTE is now issued for non-pre-allocated non-VSAM
data sets on ACF2 systems to avoid leaving a data set
allocated after a S913 abend. (OPEN ABEND EXIT processing
handles this for RACF systems since R26.0.)
The screen buffer has been enlarged so that REVIEW may
now actually work on a 62 by 160 screen (logic added 4 and
a half years ago).
R29.1 no longer displays ?? under AC for
unauthorized program objects.
R29.2 fixes case insensitive searches with ASCII
ON. Picture searches are not allowed with ASCII ON. Case
insensitivity is ignored if there are no alphabetics in
the search argument, thus speeding up searches.
=SEARCH status indicators are improved.
R29.3 fixes ZAP IDR formatting when ESDID values
are invalid.
R29.4 fixes recursion detection, fixes searching
for data specified with no trailing quote, and allows the
use of double-quotes for quoting strings. Eg. FIND
"=C'FRED',"
R29.5 enhances DEBUG output for diagnosis
purposes.
R29.6 fixes 2 possible S0C4 problems with
unexpectedly long input, and allows finding a quote
character. Eg. FIND ' and FIND "
Note that REVSMF has minor updates for formatting CICS
and STOTEK silo (SLSS) SMF records.
R29.7 fixes SUB. (SUBMIT still worked.)
R29.8 fixes RDW handling for non-VSAM DSECT
formatting.
Note that REVSMF can extract some WLM service class
statistics from type 72 subtype 3 RMF SMF records.
R29.9 fixes an error handling QUERY TGET data
lengths longer than 256 bytes. The extra data length
overlaid the display translate table which caused
corrupted data display and sometimes caused terminal
errors requiring TSO session cancellation. (The reported
observation was with CM/2 terminal emulation under OS/2.)
And now a word about IDRs in load modules:
Data from IDRs is formatted when REVIEWing associated
CESD blocks (when scrolled right past the block itself)
and when REVIEWING the IDRs themselves. Translation
and User IDRs are each a single logical record which can
be spanned over many physical records. For these 2
types only the last entry is formatted so that for simple
load modules with few CSECTS you do not have to scroll
right much, if at all. For load modules with many
CSECTs it is best to view the CESDs to get translation and
IDENTIFY details pertaining to each ESD. This data comes
from the IDRs located after the CESDs. Therefore the data
can only be displayed if scrolling down to these IDRs has
occurred. For simple load modules the first
screenful is usually sufficient, while for the nucleus,
for example, one has to scroll down hundreds of lines
before scrolling up again to get the formatted data.
(Caching of records does not occur in pre-XA systems
so only data from blocks on the screen can be formatted.)
Only one ESD per CESD record is formatted per page,
so left/right scrolling across a 15-page area is required
to see all formatted ESDs in a many-CSECTed program
(because a CESD can have data about up to 15 ESDs).
(Individual ZAP IDR entries are formatted 2 to a page, and
also use left/right scrolling to access different
entries.) R29.9 fixes a logic error formatting IDR
data for ESD entries. After the screen records were
processed the last screen record was processed again from
cache, upsetting the assembly of the logical record.
A design capacity limitation is still evident when
looking at a couple of programs from SYS1.LINKLIB (such as
ARCCTL) causing display errors when many (hundreds) CSECTs
were compiled in the same compilation run. This is
not a problem for the nucleus. The link edit IDR is a
fixed-length fixed-format record formatted by REVIEW.
OW29593 adds 4 bytes (the time in packed decimal) to
it. R29.9 should now format this IDR layout also.
Since the binder "name" is in plain text, the name
will be replaced by the HH:MM:SS of the bind when the data
of this extended IDR is broken out.
R29.9 should also fix a couple of bugs in formatting IMS
details.
Personally, I blame bitrot to code not tested in 10 years.
R30.0 adds "jump from leader dots" where a member
can be selected by placing the cursor on a member list dot
without actually typing the S member selection code.
A VTOC can now be REVIEWed by specifying the quoted
data set name 'FORMAT4.DSCB' and supplying a volume serial
number with the VOLUME operand. While REVIEWing a
VTOC the format-1 DSCBs can be formatted with the FORMAT
ON subcommand. Support for the logical PARMLIB
service of OS/390 1.2 (and later) is accessed by a request
to REVIEW the PARMLIB file when no PARMLIB file is
allocated. (ie. REV PARMLIB F)
R30.1 fixes a bug where issuing a command RECALL
on a wide screen caused all data except the recalled
command to be cleared from the screen. This was
caused by calculating the buffer start address for the
wide screen, but leaving the end address for an 80-column
screen. This made the end address less than the
start address, so an attempt to clear the primary input
area cleared to the end of the screen and wrapped around
to clear the top of the screen.
R30.2 fixes a S0C4 abend caused by an incorrect
attempt to restore the primary command in the TSO ECT
after a HELP session had ended. This was most obvious on
recursive HELPs with missing HELP data.
R30.3 fixes recursive REVIEW prompting problems by
turning off fullscreen mode, thus allowing line mode
replies to prompts. The STTMPMD macros were commented out
to allow the receiving of messages while in REVIEW under
OS/390 2.4. These can now be reactivated for later
releases, but probably only have an effect if TSO/E
Session Manager is used. One user complained that
the directory area wasn't big enough for a specific PDS so
it has been increased from 512K to 768K. The
"cocktail-shaker" improvement to bubble sort was added for
some fixed-offset sorts for PDS directory sorting to
provide some modest but perceptible sort time reductions.
R31.0 provides PDS facilities accessible from the
directory display screen.
=SETFILE allows the setting of the output DDname, so it
can be changed from SYSUT2. (This has no effect on
the CUT and ADD subcommands of "REVIEW-proper".)
=DELINK can now be used to invoke DELINKI to delink load
modules.
=OFFLOAD can now offload load modules to fixed-length
80-byte records.
=PDSLOAD can invoke REVLMOD or PDSLOAD (depending on PDS
RECFM) to reload offloaded members.
=HELP screen split into 2 screens.
REVSMF no longer link-edited into REVIEW. REVSMF
made RMODE=ANY.
R32.0 adds ZIP and PCX file handling. ZIP
directories can be formatted if the ZIP file is a DASD
sequential file. ASEXZIPD from ASE can be invoked to
unzip data. Unzipped data can be REVIEWed and CUT to an
output file. 1-bit, 4-bit and 8-bit single-plane
Paintbrush (ZSoft's PCX file format) can be rendered on a
3270 graphics TSO terminal. Character (raster) graphics
done by REVIEW. GDDM called for vector graphics terminals.
(GDDM base now part of OS/390. Put the SADMMOD data set in
the linklist.) PICDATA allows the porting of a
picture into other Assembler 3270 applications. DIV
improved a bit for ZIP file data handling - previously
overhead increased exponentially with record number.
(DIV here is REVIEW's internal record caching.)
R32.1 fixes IMS ACBLIB offset bugs and adds Y2K
windowing for IMS ACBLIBs which only use 3 bytes (YYDDDF)
for the date.
R32.2 fixes 'PDSE' literal overlaying RMODE=24
program size total, and using the wrong register to branch
after a zip file error. Recognition of low-level
qualifiers now handles mixed case.
R32.3 handles 8K and 16K DB2 pages sizes.
R33.0 adds the 'H' member selection code to show
program history. For PDS load modules this is the same as
'S' and scrolling right. For PDSE program objects IEWBFDAT
is invoked and the results (as opposed to the actual
member contents) are REVIEWed.
R34.0 replicates nearly all of the PDS facilities
for HFS files including REVIEW/EDIT/BROWSE, global SEARCH,
program history, directory SORT, and entry tagging. ZIP
files are recognised if they are HFS files. HFS PCX files
are recognised. (NULL) is now not shown for zero-length
records unless HEX or FMT is on. LRECL=X is now supported
up to 65535 bytes long. DB2 rows are now only extracted
when the first page is recognised as a header page, and
then any page size should now be handled correctly
(assuming it is a multiple of 4K). The slash ('/')
selection code was added (for HFS and PDS/PDSE) to allow
the "specification" of the DATA operand at the member or
HFS file level. '/' can be used to inhibit the
default processing of ZIP and PCX files. HFS
explorer like navigation is done by selecting a
subdirectory to make the current directory, or PF3 up to
parent directory. PF3 from Root ends REVIEW. Example:
REVIEW /etc/dce
QUICK
BUT no operands are allowed so REVIEW attempts to show
directory '/etc/dce QUICK/' which gets a RC=00000081
RSN=055E0072 because it doesn't exist. So, PF3 which
REVIEWs directory '/etc/' with the display positioned to
'dce'. <NEWLINE> and <ENTER> selects the 'dce'
subdirectory so REVIEW now shows '/etc/dce/'.
R34.1 fixes the S0C9 abend when the 'SMF' command
is issued.
REVIEW has several built-in formats which are pre-coded
examples of the general DSECT formatting capability:
**VTOC** - formats DSCB-1
records. (DS1SMSFG improved with R34.0).
Activate
with FMT (or FMT ON) when REVIEWing a VTOC.
*DB2TBL* - shows full Row-ID
(RID) of extracted DB2 rows.
Automatically
activated.
*ZIPFILE - formats ZIP
central directory records.
Automatically
activated.
*OBJHIST - formats data
extracted by REVIEW from Binder API calls.
Automatically
activated.
"Normal" REVIEWing of data is performed by the REVIEW2
CSECT. This operates in 24-bit addressing mode, unless an
HFS file is being REVIEWed, whereupon REVIEW2 receives
control from REVHFS in 31-bit addressing mode. All USS
calls are done with AMODE=31. REVHFS provides routines for
READ, CHECK, NOTE and POINT which are pointed to by a fake
DCB which is used by the standard BSAM macros in REVIEW2.
All Binder dialogs (Fast Data Access for PDSEs; full API
for HFS) take place with AMODE=31. ISPLINK is invoked with
AMODE=31 for HFS files, and AMODE=24 for PDS/PDSE
members. GDDM is called with AMODE=31.
R35.0 provides another replication of directory
processing, this time for unconcatenated PDSE program
object data sets. The REVIEW CSECT passes control to
REVPDSE instead of REVPODIR when a single PDSE with
RECFM=U is being REVIEWed. REVPDSE checks that it is a
program object library - if not control is transferred to
REVPODIR. If it is REVPDSE performs all directory,
formatting and command handling. Why this
duplication? Because REVPDSE (actually cloned from
REVHFDIR) can display long alias names, as well as program
object-only attributes which can be accessed by DESERV
like date/time/job, Program Management version, DLL
enablement, etc. Because REVPDSE only processes
program object libraries a few "normal" facilities are not
available, such as delinking, offloading and edit. And
because there are no output facilities there is no
=SETFILE command. Each of the three directory
processors (REVPODIR, REVHFDIR and REVPDSE) has its own
set of help panels accessed with '=?' or '=HELP'. REVPODIR
was designed to fit details from as many members as
possible into its internal storage, and would require a
rewrite to handle long member names. REVPODIR has several
entry formats for use with different member types.
REVHFDIR and REVPDSE have fixed-format internal entries
with a variable-length name at the end. REVHFDIR acquires
128K (with LOC=ANY) which is retained until the end of the
REVIEW session. REVPODIR and REVPDSE acquire from 8K to
768K (variable GETMAIN) below the line.
After the directory has been read unused space is freed.
As a result, for REVPODIR and REVPDSE an =REFRESH causes
the whole area to be freed, reacquired, and excess freed
(so there is room for any new members).
When a long member name (which must therefore be an
alias) is selected for REVIEW or BROWSE, the real member
name (maximum 8 bytes long) is passed to REVIEW2 or ISPF,
as appropriate.
DESERV code is executed with AMODE=31 for access to
GET_ALL buffers returned above the line. The RMODE=24
program size total on the END line of the member list only
includes RMODE=24 segments of program objects with more
than one segment. (I believe "more than one" means
"two". That is, I don't think a program can have more than
two segments (currently).)
On a OS/390 2.7 system with DFSMS 1.5, pointing SYSLMOD
to a PDSE yields a PM3 object. Copying a load module to a
PDSE yields a PM1 object. When copying to a PDS with ISPF
option 3.3 copy the real member first, then its aliases
(without leaving the member list) to avoid orphan aliases.
When copying to a PDSE, select the real member AND all its
aliases BEFORE pressing ENTER.
REVSRCH was given a parameter list so it does not have to
be aware of the working storage structure of REVPODIR and
REVPDSE. REVHFDIR does not use the parameter list because
it drives the searching of HFS files. When called from
REVPDSE, REVSRCH always uses the real member name, but for
PDSEs the results are the same (because PDSEs cannot have
orphan aliases).
REVIEW is 20 years old this month (19 Jan 2001).
Happy Birthday!
And thank you,
Bill, for writing it.
R36.0 (2002-January) adds things in these areas:
- TSO command management;
- memory management.
- parallel sessions;
- ISPF dialog;
- UNIX file symbolic links.
(1) TSO command feedback is improved by reporting any
non-zero return code or abend code in the top line message
after the command has ended. Also, for systems without
TSO/E, the TSO command is invoked by ATTACH with SZERO=NO
to insulate REVIEW from abends by the TSO command, and to
avoid abends when the TSO command does not restore
registers properly.
This is mainly aimed at MVS 3.8 systems because TSOEXEC
(supplied by TSO/E) already provides this protection.
(2) SZERO=NO has been added to all ATTACH calls by REVIEW
subroutines to maximise memory clean-up by the system
after a utility has been called.
FREEPOOL macros have been added after all QSAM CLOSE
macros. This has been done to conserve region storage
which can be exhausted by several recursive REVIEW
sessions, mainly observed on 3.8.
(3) The SWAP command has been added. This transforms
nested REVIEW sessions started by TSO REV or FSH commands
inside REVIEW/FSHELP into parallel sessions. This
makes the sessions accessible without the need to
terminate more recent sessions. SWAP LIST can be used
to list the accessible sessions. This SWAP processing
has nothing to do with the SWAP of ISPF.
(4) In some cases, REVIEW can be run as an ISPF
application. The significant work of adding dialog
support to the directory displays has not been done, so
only files without directories can be REVIEWed in an ISPF
display. So, PDSs, PDSEs, HFS files and partitioned
subsystem data sets are excluded. DSORG=PS,IS,DA,VS data
sets can have their data shown by REVIEW in an ISPF
display. ISPF split screen processing is then available,
and ISPF handles the TSO subcommand.
Prerequistes:
- Install REVPANEL to ISPPLIB
- Install REVPROF to ISPPROF.
- Run on MVS/ESA or later.
Separate from the REVIEW ISPF dialog aspect, other
changes are:
(a) When the OS is OS/390 2.10 or later REVIEW will use
the new ISPF variables to access the data set name under
the cursor for "point and shoot" invocations rather than
relying on ISPF's internal structure to find the screen
image and cursor location. This has the added benefit of
not requiring the MODE(FSCR specification.
(b) Also under OS/390 2.10 or later in an ISPF
environment REVIEW will access ISPF variables to determine
extended colour, highlighting and graphic escape support
instead of issuing a Read Partition (Query) to the
terminal. This means (i) that REVIEW will initialize
faster, and (ii) REVIEW will not render Paintbrush
pictures.
REVIEW now has an XISPMODE (or X for
short) operand which causes REVIEW to revert to pre-R36.0
behaviour in terms of data display (ISPF will not be used)
and determining screen attributes (a Query will be
performed if appropriate, thus making available any
graphics capabilities which would allow the rendering of
picture images).
(5) When looking at UNIX directories, if the directory
entry is a symbolic link then the link value is shown in
green. This should assist UNIX file administration because
it can now be seen which files are "real" and which are
accessed via symbolic substitution.
R36.1, R36.2, R36.3 and R36.4
were small bug fixes in the main.
R36.5 changes ZIP directory formatting to handle
10 decimal digits for the compressed and uncompressed file
sizes, which is the required number of digits to report
any value of an unsigned fullword.
R36.5 also adds the A selection code for
UNIX files, which instructs REVIEW to treat the selected
file as an ASCII text file. Not only is
ASCII-to-EBCDIC translation activated, but the end of line
trigger is changed from the EBCDIC New Line (NL=x'15') to
the ASCII Line Feed (LF=x'0A'). If the LF is
immediately preceded by a carriage return (CR=x'0D') then
it is also not shown in the display.
R36.6 fixes subsystem allocation which was
probably broken years ago when support was added to REVIEW
VTOCs when the data set name of 'FORMAT4.DSCB' was
specified. Bug reported by David Welles.
R36.7 fixes IKT00405I SCREEN ERASURE CAUSED BY
ERROR RECOVERY PROCEDURE after an ISPF Edit or Browse
changes the screen to a smaller size and then REVIEW tries
to write data to the larger size. Bug reported by Mark
Zelden who also reported a bug in REVSMF when formatting
SMF type 250 (TSOMON) records: an S0C4 in REVSMF would
occur because the target of an MVC instruction loading a
literal used R7 as the base instead of R6.
R37.0 (2003-October) implements a major internal
reoganisation.
Much of the triplicated code from the directory handlers
has been unified into commonly callable routines. Several
facilities only available while in "REVIEW data mode" are
now available from directory displays as well. Examples of
such facilities include the TSO and SWAP commands, the
ability to set PFK values, and the ability to run as an
ISPF dialog.
The list of CSECTs making up the REVIEW command processor
are:
REVIEW - entry point to perform parsing and
initialisation.
REVIEW2 - main "browse file data" processor.
REVPCL - REVIEW TSO parsing parameters.
HELPCL - FSHELP TSO parsing parameters.
REVPDS - formerly REVPODIR - format, display and navigate
PDS directories.
REVSORTE - PDS directory sort enhancer.
REVALCO - allocate and serialize sequential output file.
REVDALO - free and deq sequential output file.
REVOFFLD - sequentialize PDS members.
REVSRCH - search PDS members for data.
REVISPF - invoke ISPF Edit, Browse or View functions.
REVLOAD - invoke PDSLOAD or REVLMOD to load new PDS
members.
REVDLNK - invoke DELINKI to delink load modules.
REVDIV - cache reviewed data in virtual storage.
REVPNS - determine point-and-shoot data set name.
REVHIST - invoke Binder to show program history.
REVIMAGE - show picture using raster graphics.
REVGDDM - show picture using vector graphics.
REVUNIX - formerly REVHFDIR - format, display
and navigate UNIX directories, manage UNIX file
search, and set up for UNIX data REVIEW.
REVPDSE - format, display and navigate PDSE program
library directory.
REVHEAD - clear screen buffer and initialize common first
2 lines.
REVCOMM - perform all TSO terminal communication using
ISPF or TPUT/TGET.
REVMSGS - house and retrieve common fullscreen messages.
FINDHEX, FINDCHR and FINDPIC (and their respective
FINDNOT commands) have been dispensed with in favour of
specifying the search argument in an ISPF-like manner.
FIND and FINDNOT can now have a search column range
specified, as well as one of the PREFIX, SUFFIX and WORD
keywords specified.
PDS(E) and UNIX files-in-a-directory SEARCH can exploit
the new FIND options.
VIEW has been added to the EDIT and BROWSE repetoire for
invoking ISPF services.
REVLMOD has been enhanced to use linkage editor
serialisation (QNAME=SYSIEWLP) when updating load
libraries to improve data integrity.
REVIEW has been enhanced to use ISPF serialisation
(QNAME=SPFEDIT) when updating sequential or partitioned
data sets.
Directory display subcommands no
longer have the '=' prefix, and primary input text is no
longer interpreted as a LOCATE request specification.
Directory displays no longer have a
separate set of PFK values hard-coded.
A SORT command is available to request the sorting of
directory entries.
Some commands such as TSO, =X, KEYS and HELP will
behave differently when REVIEW is running as an ISPF
dialog because these commands will be processed by ISPF.
R37.1 improved interfacing with ISPF when invoked
under PDS running as an ISPF dialog.
R37.2 added CLIST support to the TSO subcommand.
R37.3 corrected the display of ZIP file sizes in
the 2GB to 4GB range.
R37.4 fixed the SUBMIT subcommand.
R37.5 supplied changes and fixes to
- replace calling a custom-made module from ASE with calling the
free MINIUNZ
to perform data unzipping.
- allow the processing of a ZIP archive on pre-XA
systems.
- allow the LOCATE command to locate a member with an
exact name match when the member list has been
sorted out of name order.
- stop an S0C4 abend when performing a FIND on formatted
data.
- fix rendering of pictures with programmed symbols
broken by the R37.0 internal program restructure.
- change PICDATA to have no operands by replacing the
DDname operand with a prompt for a data set name.
- use TPUT NOEDIT instead of TPUT FULLSCR when the
screen buffer size is larger than 4096 locations to
ensure that all MVS levels have no problem with 14-bit
3270 buffer addressing.
R38.0 (2004-May) implements REVEDIT - the
REVIEW Editor.
The REVEDIT CSECT has been added to supply an editor for
PDS membersand sequential data sets. The U member
selection code and the UPDATE primary command will
invoke REVEDIT, as will the E member selection
code and the EDIT primary command when REVIEW is
not running in an ISPF environment. Various other bug
fixes are also included.
The TSO HELP now has several members. REVEDIT has
its own HELP member as does each of the three directory
displays. John Kalinich has kindly coded up numerous ISPF
tutorial panels which can be displayed when a HELP command
is processed by ISPF.
This release also sees the introduction of the REVGEN
source member which sets the values of switches used
during conditional assembley.
With the appropriate settings in REVGEN, REVIEW can be
assembled on MVS 3.8 using the Tachyon Legacy Assembler
and the SYS1.MACLIB and SYS1.AMODGEN macro libraries from
that MVS.
See http://www.tachyonsoft.com/
for the Tachyon Assembler.
Macros for BASSM and BSM are required under MVS 3.8 to
assemble REVIEW.
REVEDIT can use a data space to hold data while it is
being edited.
A data space can grow to 2GB subject to customisation by
IEFUSI.
REVGEN can be set so that REVEDIT will use the user
region to hold the data - obviously a necessity for MVS
3.8 and other pre-ESA systems.
R38.1 fixes a few bugs such as REVIEW accessing
new extents after UPDATE increased the size
of the data set, REVEDIT SAVE handling erased
sequence numbers, and ERR being a valid
abbreviation for ERROR on a REVEDIT LOCATE command.
Other changes include the removal of the DDname
operand of CUT and APPEND in favour of
presenting a panel to specify a data set name, and the
addition of the COPY command in REVEDIT. A
"point-and-shoot" REVIEW also now works when triggered
from a REVEDIT session.
R38.2 fixes a few bugs such as an S0C4 when
initializing as an ISPF application under SDSF, and fixing
the home location of the cursor on screens with more than
80 columns. A member list sort can now be triggered by
placing the cursor on a column heading (as suggested by
John K.) - eligible headings have underscores. The
effective uid will be set to 0 (superuser), RACF
permitting, to improve access by REVIEW to directories and
files (as suggested by Mark Zelden). The original
effective uid is restored by the time any ISPF services
are invoked. REVPANEL now has extra attribute codes to
allow the display of data with GE(ON) explicitly
requested.
R38.3 fixes the problem where a cursor-triggered
member sort did not occur when the end of the member list
was on the screen. Also, the Binder API processing
was cosmetically changed during diagnosis for problems
reported in IBM APARs OA08880 (ABEND0C4) and OA09299 (RC8
REASON CODE 1080003A) which are relevant for z/OS 1.5 and
1.6. Thanks to Mark Zelden for detecting and reporting the
bugs to IBM.
R38.4 fixes an S0C4 abend after VSAM OPEN failure
- now the return and reason codes are displayed properly
as before - must have been bitrot in a recent release.
R38.5 fixes two problems with REVEDIT:
- an intermittent S0C4 processing line commands.
- unreliable matching by FIND when PREFIX, SUFFIX or
WORD is specified, especially when ALL is also
specified.
R38.6 fixes an S0C4 when the editor initialises
after data was found in the browser.
R39.0 (2004-December) implements syntax colouring
for Assembler and JCL.
The HILITE (or HI) REVEDIT subcommand has
been added to control whether syntax highlighting is to be
activated or not. The HILITE setting is saved in
the profile if one exists.
The UPDATE (or UPD) operand of LOCATE has
been added so that lines updated in the current edit
session can be located. This operand (unlike the other
non-numeric operands of LOCATE) is not compatible with
ISPF's Edit.
R39.1 fixes an S0C4 when HEX ON is used
with records which do not reach the end of the screen line
- the terminating attribute byte code was being moved into
the edited data array corrupting a pointer instead of to
the screen buffer. Bug reported by John H. Keith.
R39.2 makes improvements to PDS-member/UNIX-file
searches performed from directory entry list displays.
Firstly, the standard PDS directory display now can
perform searches for lowercase strings - this was just a
plain bug.
Secondly, another bug where the picture attribute of the
search was not reset for a non-picture search after a
picture search is fixed.
And thirdly, non-picture case-insensitive searches have
been sped up to (practically) match the performance of
non-picture case-sensitive searches. This is
achieved by the simple expedient of translating the whole
record to uppercase once after it is read instead of for
each compare, thus making simple compares adequate to find
the data. Note that this does not speed up normal FIND
command processing as the data must be kept untranslated
for display and other processing.
R39.3 changes behaviour/output as follows:
- EREP formatting will display the STCK value in hex if
the system does not have the STCKCONV facility (ie. is
pre-SP4), and system abend code digits have been reduced
from 4 to 3. Also, garbage will no longer be left
in column 81.
- Fix intermittent incorrect numeric data such as VV.MM
when showing member details - this occurred for some
members and not others when shown on some screen
lines but not others.
- A new M selection code is implemented to
display a module map for program objects (both PDSE and
UNIX, but not PDS). (The *OBJMAP*
and *OBJESD* internal
formats are used to display the results.)
- REVEDIT will no longer loop (or perhaps abend) when an
insert line command is on the screen while a
move/copy is pending, and autoinsert will no longer
occur if the cursor is in the line number field of the
line.
Since the [temporary] demise of JCC the MINIZIP
and MINIUNZ load modules are now included in the
executable program library.
R39.4 adds support for VSAM Extended Addressable
access, although REVIEW only supports up to 1TB with this
change. Also, RLS=NRI is now specified internally to
maximize access to data controlled by RLS.
R40.0 (2006-April) implements REVED and REVOUT.
REVED is simply an alias of REVIEW to initiate the
edit of a sequential data set (instead of having to
browse it with REVIEW and issue the EDIT or UPDATE
primary command). The other main difference of REVED
is that the meaning of the S selection code for
PDS members is to request the member be edited with
REVEDIT instead of being browsed with REVIEW.
REVOUT provides a fullscreen interface to TSO FIB
commands so that they can be used to give QUEUE-like or
SDSF-like access to job output that is independent of
the level of MVS and Job Entry Subsystem in use.
Function depends on the SYSOUTTRAP facility and uses the
CLIST called REVOUTJB which should be installed
into SYSPROC.
MVS 3.8 users who wish to use REVOUT may be interested in
usermods from http://www.prycroft6.com.au/vs2mods
which add CLIST function including SYSOUTTRAP (ZP60014),
and which alter JES2 (ZP60015) and TSO STATUS (ZP60016) so
that the TSO STATUS command without any operand returns
the status of all jobs with names of the TSO user's id
plus zero, one, two and three extra characters (up to a
maximum length of eight). A JES3 version of the
ZP60015 usermod would be needed to provide similar
function in a JES3 environment.
This release also rolls up bug fixes originally intended
for R39.5, most notably those debugged by Steven Becquer
of Miami-Dade County Public Schools I.T.S.
CSECTs for PDSEs and UNIX have been moved from the
REVSUBS source member to a new REVSUBS2 source member.
REVALCO (which is called for SEQLOAD and OFFLOAD from the
member list, and CUT and APPEND from data REVIEW) has been
changed such that if the specified output data set name
cannot be found it will be created. It will be a
sequential data set if no member name was supplied, or a
PDS with 20 directory blocks if a member name was
supplied. In most cases the new data set's DCB will
match that of the data set being REVIEWed.
R40.1 changes:
- correct DMB size count for IMS V6 and V7.
- ignore DATA operand for REVED command
(do not edit PDS directory).
- prevent S0C4 abend of REVOUT if REVOUTJB
CLIST is not installed.
R40.2 changes:
- display found data hidden by ISPF split screen.
- general fixes to scrolling.
R41.0 (2007-November) rolls up changes from 40.3
onwards.
Apart from bug fixes, the main changes include:
- show step name and CPU time of active jobs in REVOUT.
- extract pictures from most types of uncompressed
Windows/OS2 bitmaps.
- use native 3270 vector graphics when available to show
pictures.
- session id numbers are now fixed and not relative to
current screen.
- current session id shown as blue superscript if
session is nested.
- cursor position saved and restored across SWAP commands.
- make Edit the default selection action for the REVED
command.
- generate cursor autoselect S only if no
primary command.
- improve TSO logic to not finish calling CLIST after
subcommand CLIST.
- suppress screen size switch if screen size already has
80 columns.
- use PDS member DIV caching now only if RECFM=U - the
main purpose is to allow CESD formatting show IDR
details - now also for pre-XA.
R41.0 enhancements to REVEDIT include:
- add TF and TS line commands.
- add SORT primary command.
- add CREATE and REPLACE primary
commands.
- colon command prefix applies command to current line.
eg. :TS
- support ASM highlighting of source code in a
jobstream.
R41.0 enhancements for MVS 3.8 also include:
REVSMF can now format data from MF/1 records (types 70 to
74). Of the SMF records produced by MVS 3.8, only types 73
and 74 from MF/1 seem to be sensitive to left/right
scrolling.
As of R41.0 REVIEW will override the LRECL of SYS1.MANX
and SYS1.MANY of one thousand with ten thousand because
MF/1 can write records longer than one thousand bytes.
REVIEW will continue to override the blocksize of
SYS1.LOGREC of 40 with 1944.
R41.1 changes REVEDIT to avoid S0C4 abend after a
TF line command in ESA (data space) mode, and also
adds minor improvements to JCL syntax highlighting.
R41.2 fixes some things serious (like S0C4 moving
lines to before the current top of screen) and not so
serious (like the new members added by a PDSLOAD into an
empty PDS can be seen without having to scroll up), and
also adds some features.
REVEDIT can now be invoked in VIEW mode (where
data set serialization is not performed and SAVE is
disabled) and REVEDIT also now supports UNDO
and REDO by employing a recovery data set called prefix.REVEDIT#.BACKUP
where # is the screen number.
Note that recovery is manual, but can be performed by
REVIEWing the recovery data set, using NEWTOP to
access deleted members if the existing member is corrupt -
not that it should be, using CUT to copy the
records to a new data set, and editing the new data set
and shifting all data to the left to restore proper data
alignment.
The recovery data set should be deleted to re-enable
UNDO/REDO (and recovery) for that screen session number.
UNDO OFF is available to stop undo/recovery
processing if you find it is adding too much to response
time. And then there is UNDO ON for when you
find that the overhead isn't so bad after all.
R41.3 fixes an error where the editor tries to
move 8 bytes into 4 bytes when only 4 were
needed. Because it was at the end of a page (most of
the time) the result could be harmless, a mysterious
storage overlay, or an S0C4 abend.
R41.4 fixes an S0C4 abend encountered after an
UNDO was requested and the post-UNDO display position was
not Top-of-Data (as in UP MAX). (If the post-UNDO display
position was line zero then was no problem.)
A check of the ISPF panel dynamic area size during
initialization (testing that it matched expected results
based on the screen size) has been removed in the hope
that this allows more ISPF application REVIEW sessions on
wide screens.
R41.5 fixes several basic bugs. When a block
was excluded which incorporated the current top display
line REVEDIT lost track of, well, reality, so things like
line numbers became corrupt. LOCATE by line number
was fixed as it was just plain wrong with excluded lines
because it invoked UP or DOWN scrolling which count
display lines, not data records.
As well as OFF, JCL, ASM and AUTO,
now PLI, CLIST and DATA are valid
operands of the HILITE or HI subcommand.
/* ... */ comments are now highlighted as such,
PL/I column 1 and pre-processor statements are shown in
blue, and Assembler labels can now have non-trailing
ampersands in other than the first position not flagged as
an error.
A leading *PROCESS statement with a semicolon is
taken to indicate PL/I source, while one without a
semicolon is taken to indicate Assembler source. MAR
or MARGINS is not yet parsed.
JCL validation has been extended in some areas. The REGION
parameter on EXEC and JOB statements is validated mainly
to detect post-XA values on pre-XA systems.
For JCL DD statements, plain data set names are
validated and underscored if cataloged and shown in blue
if not cataloged. If a single volume is
specified without parentheses it is
length-checked, and for MVS/370 systems an attempt
is made to see if it is an online DASD volume. If it
is online it is underscored, and its generic device type
designation is shown in that line's command area at the
left of the screen.
There is no cross-checking with the catalog entry
vs VOL=SER in the JCL, nor with the volume device type vs
the UNIT value in the JCL.
R41.6 changes include:
- REVEDIT backup file now uses the userid as the
high-level qualifier when PROFILE NOPREFIX is in
effect. (Reported/suggested by Sam K.)
- Screen size now set from ISPF panel size. (Reported by
John K.)
- REVOUT will now display some rudimentry Assembler
syntax highlighting when showing Assembler
listings. (Requested by Tom A.)
- Program object PDSE directory display now
- has more SORT types (idea by C. Mac).
- shows PM sublevel in superscript (or lower case if
ever over 9).
- Done some work on implementing an INFO
subcommand - not complete so not documented.
R41.7 fixes operation as an ISPF application
broken when trying to handle the case when the line mode
screen size (as returned by GTSIZE) is different from the
fullscreen screen size (as reflected in the dimensions of
the ISPF panel). The undocumented global subcommand
of CDE or JPA has been added.
R41.8 fixes:
- REVOUT Assembler listing syntax highlighting for wide
screen.
- REVEDIT CREATE and REPLACE creating
corrupt SPF statistics.
- REVEDIT CREATE and REPLACE RECFM=V not
copying first selected record.
- screen size not switching for pre-coded 80-column
displays.
- UNZIP temp unit of 3380 - now 3390 followed by
SYSALLDA for retry.
(It was VIO originally, but large zips could cause
auxiliary storage shortages on under-configured pre-SMS
systems.)
R41.9 fixes:
- CHANGE ALL missed occurrences of the FIND
string after syntax highlighting housekeeping used the
dynamic translate table work area thus overlaying the
TRT table used by CHANGE.
- REVHIST setup for PDSEs just checked that DIV was
initialized (as it used to be not so long ago) and if it
wasn't issued the "REVIEW"
internal storage exhausted message. Now REVHIST
will issue the DIV GETMAIN call for PDSEs as it does for
UNIX.
R42.0 (2008-September) adds support for
DSNTYPE=LARGE sequential data sets.
R42.1 changes:
- Fix locating a ZIP archive's central directory for
DSNTYPE=LARGE.
- Add the RTF subcommand to output coloured
print files in RTF format.
- Enhance Assembler listing syntax highlighting to show
literals in white as REVEDIT syntax highlighting
does.
- Add the D PDS member selection code so that
members can be deleted from the PDS member
selection display such that they can be restored with an
R selection. This is only supported for
unconcatenated PDSs and not PDSEs (because the restore
does not work for PDSEs).
- Enhance the R PDS member selection code to
restore members deleted with a D.
- Fix various cosmetic glitches.
- Fix PDSE H errors caused by erroneous DIV
processing.
- Various internal reorganizational changes such as
moving the RECALL stack from the @DATA area and placing
it into an area which is shared by all parallel
sessions, and removing the code to transfer the RECALL
stack ownership during logical screen SWAP processing.
Another example is suppressing DIV processing during
searches of program libraries - no point caching data
for a single scan - which was sometimes a source of
abends during such searches.
- Add the undocumented TCB (alias RB)
command.
R42.2 changes:
- Highlight PL/I source code in editor according to
character code points, and report unbalanced parentheses
as syntax errors.
- Allow REVOUT to run as an ISPF application.
R42.3 changes:
- Add the SCRNAME command to assign a new name
to the logical screen session.
- The optional operand of the SWAP subcommand
can now be NEXT, PREV or a session name,
in addition to LIST or a session id (decimal
number) that were previously allowed.
- The default value of PF9 is changed from SWAP to
SWAP NEXT.
- An attempt is made to name logical screen sessions
automatically. Names used are OUT (for REVOUT), HELP
(for FSHELP) and the last data set name qualifier (if
fewer than three qualifiers exist) or the second-last
data set name qualifier (if more than two qualifiers
exist). Names shorter than eight characters will have a
digit (2 - 9) appended to prevent duplicate session
names. A name will be left blank rather than creating a
duplicate non-blank name.
- The concurrent or parallel session count limit is
increased from 8 to 16.
- Add the N PDS member selection code which
allows a new name to be assigned to an unconcatenated
PDS or data PDSE member. The user is prompted to supply
the new name when the selection code is processed.
Member names containing commas, imbedded blanks, or code
points less than a blank are rejected (message will just
say REQUEST CANCELLED). The 26
English letters will be folded to upper case. Apart from
these restrictions any other code point you can type in
will be used as supplied in the new member name. Null or
blank input, or input entered with a key other than the
<enter> key will also cause the request to be
cancelled.
- Fix to serialization bug (not supplying the data set
name to ENQ correctly) which allowed a member to be
deleted, restored or renamed while it was being edited.
- REVEDIT (Edit and View) is changed to show the search
match that the cursor has been positioned to in reverse
video, as is done by REVIEW (Browse).
- The PL/I source margins columns are extracted from the
SORMGIN, MAR or MARGINS settings
from leading *PROCESS and %PROCESS statements
for syntax highlighting purposes.
R43.0 (2010-March) introduces RFE - the
"REVIEW Front End".
RFE is a menu framework to allow navigation to the
various components of the package. The initial menu
options are:
D - "REVLEV" - the data set list utility which is a bit
"3.4-ish".
O - "REVOUT" - to access spooled output which is a bit
"QUEUE meets 3.8-ish".
T - "REVTSO" - which is a bit "6-ish".
This may change to a numerical scheme later if enough
other options materialize.
To assist RFE operations, the default for PFK2 is now SPLIT
which is a new global subcommand equivalent to TSO RFE. Note
that an initial RFE option can be specified as an operand
of SPLIT.
Architecturally, this release sees all BSM and BASSM
instructions removed from the package. All code is now
intended to run in the 31-bit addressing mode under z/OS,
although the code has yet to be compiled and tested under
z/OS at the time of writing.
RFE is mainly to aid use under MVS/370, and so the 370
version is being released first.
The source for the main load module has increased from
49.3 KLOC to 57.8 KLOC. As well as new CSECTs delivering
new function, a few fixes were also implemented,
including:
- Add EADSCB=OK settings.
- Reactivate DIV PDS member data caching under FSHELP
to stabilize scrolling when )I member inclusion
is used.
- Add extended ISPF stats recognition (but not
necessarily digestion).
- Preserve seconds in timestamp when processing ISPF
stats.
- Recognize and handle ZIP archives in PDS members.
- When exiting from a REVIEW of a zipped file, scroll to
place that file at the top of the zip directory display,
instead of always reshowing the zip directory from the
top, which was very annoying when a ZIP archive
contains many screensful of file names.
- Fix "fastpath" which was broken and always reported
I/O errors.
It might have been broken by the DSNTYPE=LARGE support.
- Detect screen size change dynamically. This is
intended to support loss of a terminal and a LOGON
RECONNECT using a terminal with different screen
dimensions.
- Assume square brackets can be rendered natively with
x'AD'/x'BD'.
- Improve STAX processing for MVS/370.
- Fix an intermittent S0C4 with REVEDIT line command
blocks.
- Fix an S0C4 in REVEDIT with C * * and new
string never specified.
- Use userid as 2nd dsname qualifier for UNDO/REDO data
set when the prefix is not equal to the userid. This
will stop other users with your prefix hogging your
UNDO/REDO and CONDENSE data sets. (CONDENSE is used by
the Z action in REVLEV.) And you can now tell
which users are making such data sets under your
high-level qualifier.
- Use Merge Sort instead of Bubble Sort for member name
and TTR sorts, reducing an initial display of REV
ISPPLIB F from minutes in some cases to
sub-second. (Sorts of other member attributes still use
Bubble Sort because the field to be sorted is not fixed.
REVLEV uses Merge Sort when sorting the data set name
list.)
- Add repeated-symbol optimization for triple-plane
symbol graphics.
- Upgrade the N (member rename or new name)
action code dialog screen I/O.
R43.1 changes:
- Prevent QSAM I/O error during REVEDIT COPY from
crashing off the whole REVIEW/RFE environment by adding
EROPT=ACC to the DCB so that the abend is considered
recoverable by the SYNAD exit.
- Add a member selection list for REVEDIT COPY from a
PDS and no member name specified. (This was the
chief source of the QSAM I/O errors mentioned above.)
- Report MEMBER NOT FOUND
instead of S013-18 for REVEDIT COPY from a PDS when the
specified member is not present.
- Verify that the UNDO/REDO data set does not exist at
the start of a REVEDIT session before allocating it. If
it does exist then report REVEDIT#.BACKUP
NOT REUSED (where # is the screen number)
instead of DYNALLOC feedback codes. It is up to the
user to decide if the data in the pre-existing data set
should be used for recovery. Any such recovery may well
involve manually editing a copy of the recovery file's
member and shifting all of the data 12 columns to the
left.
- Do similar for the CONDENSE data set, except that the
message is ABORTED - CONDENSE
FILE EXISTS. It is up to the user to decide if
the data in the pre-existing data set should be used for
recovery. Any such recovery would probably involve using
the REVLPDS program.
- Handle full DIV storage when loading data from
REVCATCH - was getting S0C4. ("REVCATCH" refers to the
way line mode TSO data is taken from SYSOUTTRAP and
loaded into DIV for fullscreen scrollable browsing. Look
at the REVLISTC CLIST to see an example.)
R43.2 fixes the UCB address acquisition from the
TIOT which became a bug with the 31-bit addressing
conversion and which can cause an S0C4 abend.
R43.3 fixes the display of prompting panels when
running as an ISPF application.
R43.4 completes the support necessary to process
VTOCs on EAV and data sets residing in EAS which have
format-8 and format-9 DSCBs replacing the format-1 DSCB.
R43.5 fixes more AMODE-31 glitches and adds the
data set name to open file details in the display produced
by the TCB / RB command. REVHIST has been
rewritten to use the full Binder dialog API in all cases,
and is now called under z/OS for PDS load modules as well
as PDSE and HFS program objects. **-RED ALERT-** Also
fixed is the REVEDIT data
corruption of edited data by a CHANGE
ALL command which caused some data bytes to be
overlaid with x'FF' when using a data space to back the
data. Sessions on pre-ESA levels of
MVS were not affected.
R43.6 fixes a S0C4 abend when the OPERANDS
or MSGID operand of FSHELP was used. This
was exposed when running with AMODE=31.
R44.B (2012-October) rolls up changes from 43.6
onwards.
It is an MVS/370-only OCO beta or early release prior to
GA.
Apart from bug fixes, the main changes include:
- A new SETUNZ command to specify the file
attributes, thereby overriding the information in the
ZIP file directory entry.
- Changes to the way member lists scroll after member
selection.
- Using PDS subcommands to produce displays for the 'H'
and 'M' selection code processing of load modules (via
the REVUSPDS CLIST).
- Adding the BOUNDS primary command in REVEDIT.
- Show data in out-of-bounds columns in blue in REVEDIT.
- Adding the TE line command for text entry in
REVEDIT.
- Adding the CUT and PASTE primary
commands to REVEDIT.
- Recovering from PDS directory I/O errors during INFO
processing, which includes the data set Delete
function in REVLEV (data set list).
- Adding the M action code to REVLEV (data set
list).
- Adding LEFT/RIGHT scrolling in REVLEV (data set list)
so that all information columns can be viewed on
insufficiently wide screens.
The BRVS (or B for short) undocumented
operand has been added to the REVIEW command. Its use is
intended to allow the browsing of virtual storage. When
specified, the required first positional (data set name)
operand is ignored. The data is displayed under the
heading of ACTIVE, as per IPCS. About all it is currently
good for is browsing the in-core MVS/370 nucleus.
The following z/OS-only fixes were introduced into the
code base:
- For program PDSE directory displays, the member name
operand of primary commands is now folded to upper case
if there are no lower case characters in any of the
member names.
- For UNIX directory displays, the entries read from a
directory are now always sorted before display.
Previously, if the SORT order was "sort by name" no
sorting was performed, which could lead to an
out-of-order display depending on subdirectory MOUNT
points, leading in turn to unexpected behaviour for
LOCATE commands.
Actually, the term "z/OS-only" really means "MVS/ESA or
later".
Subsequent betas ran until R44.H.
R44.0 (2014-January) is the first R44 GA release -
with source code.
REVIEW now incorporates a GIF decoder which adds
GIF files to the PCX and BMP file formats that can be
decoded and displayed on 3270 graphics terminals.
Interlaced and animated GIFs are supported. Only one cycle
of the animation is currently shown. NEWTOP can be used to
manually trigger another cycle.
When programmed symbols are used for graphics, REVIEW
prefers to load the code points into the internal screen
buffer from which the 3270 data stream is built. This
allows 3270 compression logic to also be applied to
graphics data, and reduces the number of TPUTs issued.
This scheme does not work well when the pictures are large
enough to require more code points than all read/write
storages can provide. The logic to build the 3270 data
stream for these large pictures has probably been broken
in this release, but hopefully it will be fixed in due
course.
REVIEW 'ACTIVE'
will now cause the current contents of virtual storage in
your TSO session address space to be browsed. EQUATE
and DROP commands have been added. LEFT
and RIGHT are repurposed in this mode to control
jumping through the storage address trace table. LPA and
JPA loaded modules, as well as (under z/OS) nucleus
control sections are automatically defined as usable
symbols. LIST (or LOCATE if you prefer)
now understands storage addresses specified much like as
is done in TSO TEST. The symbol name X can be used
for the current location, as per IPCS. % and ?
can be used in the field preceding each storage word. No
support for "above the bar" storage currently exists.
The BRVS operand mentioned above has been
scrapped.
Browsing z/OS UNIX zip files is now supported.
Not mentioned under R43 above is the vertical scroll bar.
When not running as an ISPF application, and when the PDS
member list is more than a screenful, column 80 contains
an indicator of the vertical scroll location of the member
list.
In response to a request, member scrolling is now a bit
different. Firstly, the member list scrolls less. The
cursor is placed beside the member just processed, but
that member's jump dot is blanked, so <enter> will
just restore the cursor to home. This should mean that all
members will always be visible when they can all fit in a
single screenful.
R44.1 provides a few small adjustments:
- Avoid S013-34 abend during unzip when LRECL set by SETUNZ
subcommand.
- Accept lower case member selection codes when running
as an ISPF application.
- Address space virtual storage browse now uses the same
translate table as file browse.
- Add extra function to the DISPLAY
subcommand:
- Single character operand (which may be unquoted or
a quoted string) specifies the code point to use to
represent non-display characters. The initial
setting is to use periods.
- A multiple character operand beginning with A
specifies the 3278A display interpretation
previously requested using the DISPLAY A
subcommand. The new nominal operand is APL.
- A multiple character operand beginning with T
specifies the 3278T display interpretation
previously requested using the DISPLAY T
subcommand. The new nominal operand is TEXT.
The plan for the future is to save your preferred
non-display representative character in the profile data
set.
R44.2 fixes an infinite loop when scrolling up
from low private storage towards fixed low core under
z/OS. Logic did not cater for partial page fetch
protection. Also implemented is the ability for
attention/PA1 to halt an in-progress SORT
subcommand in REVEDIT.
Several MVS/370 ESP releases were issued in August and
September 2014 with ESP6 being the last.
R45.0 (September 2014) rolls up the defects
reported from Early Support Program up to the GA date.
Changes include:
- Reorganization of profile member contents, so previous
PFK defaults will be lost.
- Support for picture search when ASCII ON is
set.
- Explicitly check for and disallow a request to APPEND
request to a PDS member.
- Issue RACROUTE for many non-VSAM data set accesses
whenever MVS security is active.
- Assume access is denied when the RACROUTE return code
is greater than 4.
- Add a new SB subcommand which is the same as
SUBMIT but invokes the new REVSB CLIST to prevent
line-mode terminal I/O.
- Support access to large PDSE members.
- Add START alias of SPLIT.
- Change PF2 default to START since SPLIT behaves like
ISPF's START command.
- Reorganize RFE menu option numbering. Options 1, 2,
3.1 and 3.2 now exist in addition to options 3.4, 3.8
and 6.
- Support leading ampersand in command to retain command
string in input area.
- Reorganize REVPDS CSECT's internal handling of
directory entries.
- Display position number on the top line of the REVPDS
member list display.
- Various program restructuring to reduce duplicate
code.
- Remember more RFE stuff in profile members, such as
most recent "other data set" history.
- Add automated EDIT recovery in option 2.
R45.1 includes the following changes:
- Fix display of ISPF statistics when 32-bit record
counters are used.
- Fix S0C4 abend which preceded freeing the VTOC of a
volume DSLIST.
- Expand the "other data set" history list from 10 to
16, and reduce the displayed list size to the number of
entries that will fit on the screen. This fixes screen
corruptions seen on 24-line screens.
- Include new data set attributes panel before CUT
creates a new data set. The data set name is pre-primed
with the previous output data set name, if any.
- New logical/parallel sessions (from SPLIT or START)
will inherit the same screen size as existing logical
sessions instead of using the size set by STSIZE which
may have changed since RFE started.
- Output from REVIEW's CUT command is now
written using BSAM instead of QSAM to improve I/O error
recovery - mainly by eliminating unrecoverable abends
that can occur when CLOSE flushes QSAM buffers.
- Enhance REVIEW's CUT processing to support
F/V/U record formats.
- Add RFE option 3.3 which exploits REVIEW's CUT
logic. Most things that REVIEW can browse can be
copied, including VSAM and BDAM files. Record truncation
is reported. Truncating blanks from fixed-length
records is not considered record truncation by RFE. As a
safety feature, copying members between undefined and
defined record formats is not allowed, though it is for
sequential data sets. Alias members are copied as real
members, except if the alias is an OS/VS program and its
real name member already exists in the target library,
in which case its contents are not copied but the alias
is assigned (with the userdata copied from the source
PDS) to the existing member - even if the existing
member is not the same version as exists in the source
PDS. The pre-2010 ISPF option 3.3 copying convention
should be observed: select the real members for copying,
then select the aliases. Sorting the member list
into TTR order before selecting the programs to copy may
make the copying task simpler. Note that using an
asterisk to select all members is not currently
supported.
- The size of available but unused MVS/370 region
virtual storage pages is displayed in the lower right
corner of the screen - the last 12 bytes - if the last
13 bytes of the screen are all the same character and
are not in an input field. It is shown in blue
unless less than 64KB in which case it is shown in yellow
unless it is less than 32KB in which case it is shown in
red reverse video.
- Fix S0C4 abend in REVEDIT when new insert line has
text added and is immediately used as the first line of
a block line command.
- Allow REVIEW 'ACTIVE' TOP(hexvalue) to specify
the initial virtual storage display address.
R45.2 includes the following changes:
- Option 3.5 is added, providing some ability to set the
version, level and user ID for members, as well as
deleting and creating statistics for selected members.
- Option 3.3 now supports the specification of a "from"
member name of an asterisk and takes it to request the
copying of all "from" members.
- Option 3.3 alias member copy support has now been
regularized to the pre-z/OS ISPF option 3.3 standard.
That is, if the alias's real member has not already been
copied in this copy session then the alias is copied as
a real member, but if the real member has already been
copied then the alias is added without re-copying the
member contents. The real name stored in the userdata of
alias programs is now no longer used by option 3.3 - but
still be on the lookout for programs with ?? in
the AC column because it probably means that an
alias program was copied as a real member.
- Under R45.1, when copying selected members using
option 3.3, the output DCB would be closed after each
member was copied. This meant that multiple type 15 SMF
records were written, but since the same files (DD
allocations) were used, the EXCP counts were cumulative.
So, SMF post-processors adding up the EXCP counts would
arrive at an inflated EXCP count. Now for a PDS-to-PDS
copy (whether selected members or all members) the input
and output files go through a single OPEN/CLOSE cycle
which results in unambiguous EXCP counts and fewer SMF
records.
- The SAF Router logic of the RAKF ESM was found to not
look at the offsets used by RACROUTE when constructing a
SAF Router parameter list, so RACHECK is used under
MVS/370 to perform data set access checks. (The original
pointers have flags in their high bytes while the newer
pointers allow 31-bit addresses to be specified.)
R45.3 fixes MEMBER NOT FOUND conditions reported
when browsing members after a REVEDIT OPEN (either View or
Edit) does not succeed, such as when access is denied by
the system's security component.
R45.4 includes the following changes:
- PFK settings saved in the $$REVIEW profile member will
now be applied when REVIEW/RFE first starts up. This has
been broken since R45.0.
- Changes to $$REVIEW settings made in option 3.4 will
no longer be discarded.
- Under MVS 3.8J with JES2, the JES2 checkpoint and
SPOOL data sets will be accessed to give improved access
to jobs in the various queues, and access to SYSOUT of
jobs without held output. Any job name filter beginning
with an asterisk will cause all jobs to be listed.
- Option 3.3 now has additional settings to control
whether existing members in the target PDS can be
replaced or not, and whether the target sequential data
set is to be extended or overwritten.
- Option 1 Browse will now show the status of the DATA
setting even if it is OFF. The purpose of this
setting is to allow access to the DATA operand of REVIEW
when browsing non-partitioned files. For PDS members
(and for UNIX files and for jobs in REVOUT aka option
3.8) use the S selection code for default
operation (no DATA operand) and use the /
selection code to request the display of the raw data
without any interpretation by REVIEW.
R45.5 fixes MVS/370 REVOUT function for MVS
systems with a JES which does not have x'02' in the
SSCTSSID field. This includes MVS systems not running
JES2, and those running JES2 without the TJES801 usermod
applied. See http://www.j76.org/vs2/tjes801.txt
R45.6 fixes corruption to the recursion vector
when cleaning up after an option 3.3 copy "from" data set
has been specified. This corruption could lead to infinite
looping when swapping screens, and S0C1 abends when
terminating a logical session.
R45.7 fixes "fastpath" I/O reduction (and the
total file byte count display), and fixes copying out
fixed-length and variable-length records for PDS member
offload (instead of writing out data from fixed low core).
Menu data set name recall has also had cursor positioning
slighlty improved, and option 3.3 has had the C
and M primary action codes added, as well as a
check to prevent copying a data set to itself. Options 1
and 3.3 have had option Y/N fields added or
moved.
Changes made for the unreleased R45.8 are included in
this release.
R46.0 (July 2015) delivers the ability to display
member generations when looking at the member list for a
Version 2 data PDSE which is allowed to have member
generations. Displaying member generations of program
library PDSEs is not currently supported.
The display of member generations is requested via the
new GEN operand of the REVIEW command. ( GEN
is not a valid operand when REVIEW is compiled for
MVS/370.) GEN can be abbreviated to G.
Further, the REFRESH or REF command of
the member list display (which causes the directory data
to be refreshed from DASD) has two new operands: G
and N. The G operand specifies that member
generations are shown in the member list, and the N
operand specifies that the normal display without member
generations should be shown. Note that the G
operand will be treated as invalid unless member
generations are supported by the current library.
Member generations can be browsed by REVIEW, and data
from such members can be saved to another data set using
the COPYOUT (or CUT) command.
Thanks to Ed Webb and John Kalinich for input regarding
exploiting the FLAG(PAGE0) option of HLASM.
R46.1 removes the old trick of searching for the
TLD by following the FSA from TCBs up the parent TCB chain
to silently discover if an ISPF environment is active or
not. For an ISPF environment to be recognized by
REVIEW, a call to program ISPQRY must issue a return code
of zero. This also removes the pre-OS/390 2.10 method of
obtaining the screen buffer location and cursor screen
position.
R46.2 makes several minor changes:
- The FMTPRT command is added to REVIEW to
provide manual control over whether SYSOUT colour
highlighting is active or not.
- Note that FMTPRT also controls the truncation
of trailing blanks when a COPYOUT (CUT)
is performed with a target data set having
variable-length records. This can save a lot of space,
so FMTPRT ON may be useful even if the data is
not a print file. If you want a COPYOUT to keep
trailing blanks, ensure that FMTPRT is OFF.
- The requirement that member REVPROF is in the REVPROF
PDS under MVS/370 for ISPF to perform the screen I/O is
removed. (It is still a requirement that REVPROF is in
the ISPPROF PDS under z/OS for REVIEW to operate as an
ISPF application.)
- A glitch in the interaction between REVSRCH (FIND from
the member list display) and RFIND in REVEDIT such that
REVEDIT's RFIND would not subsequently find all
occurrences of the current string has been fixed.
- REVOUT now allows an operand which begins with an
asterisk to represent a request to show all jobs under
MVS3.8J with JES2.
- RFE can now be invoked as an ISPF application.
- RFE primary menu options can be stacked by specifying
them on the TSO command operand separated by semicolons.
- When running as an ISPF application, a check is made
for the presence of the scroll field arrow. If it is
present panel REVPANEL is used. If it is not
present then the new panel REVPANL2 is used.
R46.3 makes several minor changes:
- The scroll field detection for selecting panel
REVPANEL or REVPANL2 is fixed for wide screens.
- A check is made that panel REVPANL2 is present before
it is used instead of REVPANEL.
- A REVEDIT open failure no longer prevents subsequent
member browsing.
R46.4 was about impoving operability in the
non-IBM freeware ISPF environment. For example, recursion
detection had to be switched from looking at the caller's
RB to looking at the caller's PSW address because REVIEW
was branched to and not linked to by the ISPF invocation.
R46.5 was also mainly about the new ISPF which
does not include a PDF component, so REVIEW and REVEDIT
form this non-IBM ISPF's browser and editor. The REVISPF
CSECT was moved from REVSUBS to REVSUBS2 and so is now
only included in the 390 compile of REVIEW. Other changes
include:
- Preserve the change-to string across edit sessions in
the same logical screen, so it is the same as the search
string in this regard.
- Issue a message when variable-length records with
trailing blanks are detected by REVEDIT when reading the
data to be edited.
- In several components, when a command with an invalid
operand is entered, the command is no longer cleared,
but is instead left on display with the cursor
positioned to the invalid operand.
- The ASCII command was added to REVEDIT.
- RFIND and RCHANGE commands can now be
queued by use of a PF key assigned those commands.
For example,
CHANGE ONE TWO
when entered with PF5 (when RFIND is assigned to
PF5) will function as
FIND ONE
but the TWO string will be remembered as the
replacement string so that PF6 (when RCHANGE is
assigned to PF6) can be pressed to effect the change.
- The KEYS command (except when intercepted by
IBM's ISPF) will now allow PF key assigned values be
updated by overtyping.
- REVEDIT now implements software tabs using the new TABS
command.
- REVEDIT now has an AUTOSAVE setting.
R46.6 delivers the following changes:
- The ability to have line labels has been added
to REVIEW and REVEDIT.
- More options have been added to the LOCATE
command in REVIEW and REVEDIT, and to the RESET
command in REVEDIT.
- REVEDIT View mode now no longer automatically
initializes the UNDO (and recovery) facility.
- REVOUT (RFE option 3.8) in a MVS 3.8 JES2 environment
now by default uses direct SPOOL I/O to access held
SYSOUT. The FIB setting can be used to
force the use of TSO's OUTPUT command. The INPUT
setting can be used to display non-SYSOUT SPOOL data
sets.
- REVLEV (RFE option 3.4) is now able to process
unqualified data sets which are data sets with names not
entirely comprised of valid qualifiers not exceeding 8
characters in length separated by periods. (In the TSO
and z/OS catalog context, these data set have invalid
names.)
- Removal of the internal GETSTOR macro introduced with
Release 43 to tolerate the differences between the
GETMAIN macros of z/OS and MVS 3.8. (Before Release 43,
the MVS 3.8 version of REVIEW was compiled on OS/390 or
z/OS. Since Release 43 the MVS 3.8 version has been
compiled on MVS 3.8.) An enhanced version of the
GETMAIN macro is now used when compiling the MVS 3.8
version of REVIEW. This version of GETMAIN is shipped in
usermod ZP60033.
- Other housekeeping and logic bugs have also been
fixed.
R46.7 delivers the following improvements:
- The DESERV area size has been increased from 32KB to
512KB so that a much larger number of member
generations can be listed.
- Member generations can now be selected for ISPF Browse
and View.
R46.8 delivers the following improvements:
- When the R member selection code is used to
restore a deleted PDS member, the STOW data is now moved
to below the line as required by STOW. This change
allows the member restore facility to now work
on system levels newer than MVS/370.
- When RACROUTE is used to check RACF access to a
non-VSAM data set before attempting an OPEN, a RACF
violation will no longer be recorded by the system if
access is denied. RACHECK processing under MVS/370
is not changed.
- The HEXX and HEXR display formats to
show character data and its hexadecimal bit patterns
simultaneously have been introduced. The original HEX
command is still available, and may optionally
be modified by the new HEXC setting.
- The size of the storage size acquired to build the
3270 data stream has been increased by 2KB to allow
for the HEXX display.
- The non-ISPF default value of PF24 has been
changed from RECALL to HEXC.
- ZIP directory caching for z/OS UNIX now caters for
directories as large as 512KB. This allows
most JAR files to be handled.
- The editor's RESET command was corrected to
now also reset the last line occupied on the
screen.
- RFE option 3.5 now supports 8-character userid
overtyping.
R47.0 (February 2017) makes the following changes:
- The NAMESCRN routine was moved to its own CSECT called
REVNAME. REVNAME is now called at strategic times to try
to keep the screen name more relevant for its current
option, instead of just once when the logical
session is created.
- The characters shown in the HEXX display are
now correct and are no longer repetitions of the
first visible character of the record.
- REVEDIT now fully supports the &SYSUID
symbol in the DSNAME value of a JCL DD statement for
catalog status highlighting.
- In a MVS 3.8 JES2 environment, REVOUT (RFE option 3.8)
will show the SYSOUT record count for jobs on the
OUTPUT or PRTPUN queues. The total record count for all
selected jobs is shown on the top line. Note that the
counts do not include records in non-SYSOUT spooled data
sets.
- RFE option 3.3 will now retain the primary input
across a cursor selection of a data set name from
the historical data set list.
- The inline GETSTOR macro has made a comeback to allow
some storage requests to request storage above the
line under z/OS, while requesting storage below the
line on some system levels such as MVS/XA even when
the system provides storage above the line. Note
that the type of storage requested is decided at compile
time and not at execution time.
- The MVS/370 load module is marked as AMODE31 to allow
it to run on z/OS where it would otherwise abend
with an S0C4. It will place various areas
above the line, including data being held for
edit. Note that not all functions of the
compiled-for-MVS/370 REVIEW/RFE package function
currectly under z/OS. Commands which look
at system control blocks are liable to abend, but
at least the basic data set processing and 3270
functionality works as expected
R47.1 fixes a few bugs and adds a couple of
features:
- A REVIEW of a tape data set abended with S0C4 but RFE
option 1 of the same data set worked. This was caused by
a failure to perform screen handling initialization
logic in the case of the REVIEW command.
- An attempt has been made to support the Large Block
Interface for tapes containing blocks longer than 32760
bytes, but this remains untested.
- The *ALIAS
indication has been replaced by *
to flag alias members so that the TTR of each alias can
still be seen.
- Ampersands in instruction mnemonics are no longer
flagged as assembler syntax errors.
- The editor's EXCLUDE command has new UPDATED
and NOUPDATE operands to control exclusion based
on whether records have been updated in the current edit
session or not.
- Parsing of command keyword operands now correctly
enforces minimum keyword abbreviations.
- Minor formatting properties of HELP members' Function
sections have been standardized.
- PDS searching in RFE (but not REVIEW) could skip some
members improperly PDS searching in RFE option 3.5
(member statistics) now functions.
- The infinite loop in the editor's RESET command when
the command did not cause the reset of either commands
or labels has been corrected.
- Segment overlay programs are now fully
supported in terms of program library
management. This means that they can now be
offloaded and reloaded, and their program library can
now be compressed when the R47.1 version of
the REVLMOD and REVLPDS programs are
also installed.
- $SEGTAB and $ENTAB are now also shown when scrolled
right passed the end of CESD blocks in REVIEW.
- Some improvements in the handling of insert lines when
tabs are active have been implemented.
R47.2 fixes a few bugs:
In regard to this last point, the editing means that the
cached data does not exactly match what is read from disk,
and so inconsistencies can become apparent when the cached
data does not fully mesh with the uncached data. To
improve this, the default cache limit has been increased
from 192KB to 320KB, REVIEW will treat the data as fully
cached when the end-of-file is first reached to avoid
further I/O for that HELP display, and "early" trimming
under z/OS is dispensed with. "Early" trimming is when
some of DIV storage is freed based on an upper limit
calculation which in turn is based on the input data set
track count. This track-based calculation has been
improved for MVS/370 by acquiring the extent count from
the DEB instead of the DSCB, thereby improving
concatenated data set support. "Late" trimming which
occurs when end-of-file is reached for subsystem data sets
(for which there is no external size indication) is
retained even under z/OS.
- A Sense ID CCW is no longer issued by a REVLEV
(RFE option 3.4) for a System/360 DASD (23nn) device
type. This avoids the IEA000I command reject message. It
is still issued for System/370 DASD (33nn) devices to
report the device and control unit models. Thanks to
Dave Kreiss.
- The variable-length GETMAIN performed after opening
the data set to be browsed by REVIEW will now request
storage above the line under z/OS when
processing non-VSAM files including UNIX files. This
area includes the READ buffer and the record address
checkpoint area. This change improves the likelihood
that a REVIEW of a tape data set using the large block
interface (LBI) will succeed, especially when using a
large screen size. The buffers for terminal I/O must, of
course, remain below the line.
- If REVIEW/RFE detects that it is running under a
CLIST, a new TSO I/O stack will be created for
the session, and the original stack will be restored
when the session terminates. This change will prevent
TSO commands invoked from within REVIEW accessing and
removing input on the stack which was current when
REVIEW/RFE was invoked.
- Earlier claims that complete support for segment
overlay programs had been added were premature.
The support now becomes complete with the change to
allow RFE option 3.3 to correctly copy segment overlay
programs. Here are the minimum software levels necessary
to correctly process segment overlay programs:
- To compress the program library: REVIEW R47.1 and
REVLPDS R47.1.
- To offload overlay programs: REVIEW R47.1.
- To reload overlay programs: REVLMOD R47.1.
- To copy overlay programs: REVIEW R47.2.
- REVIEW has a data-in-virtual (DIV) capability
to cache data in virtual storage to reduce I/O after the
data has been read once. This is exploited for a number
of facilities including:
- accessing related IDR data when formatting CESD
data when scrolled RIGHT past the end of CESD
blocks.
- holding formatted ZIP archive directory entries.
- browsing subsystem data sets (because REVIEW
assumes that NOTE/POINT is not supported by
subsystems).
- holding edited TSO HELP data when REVIEW is
operating as a fullscreen TSO HELP processor. The
editing consists of removing HELP source comment
records and )I (INCLUDE) control statement records.
- Assembler listing source code syntax-based colouring
now supports listings where the source statement number
exceeds 99,999. The need for this was discovered when
looking at the listing for REVIEW when assembled on
z/OS.
- Coloring the JES2 job log blue in REVOUT (RFE option
3.8) has been extended to z/OS. The overly conceited
scheme of comparing the job identifier to the temporary
data set name low-level qualifier did not account for
the extra qualifier of H01 being appended under z/OS.
- REVEDIT JCL syntax highlighting for cataloged and
uncataloged data sets named with DSN=
and DSNAME= now
process &SYSUID
correctly under z/OS. Previously, this worked
under MVS/370 but used an incorrect ALET with the z/OS
addressing.
- Internal messages related to member errors will now
report the correct member name more reliably.
- In scenarios where a sequential source of input is
required and a PDS data set name is supplied, a member
selection list can be presented from which the user can
select a member. Cases where the member has a name
considered invalid by DAIR caused screen display errors
and earlier versions of REVIEW often abended. To fix
this, the name of the selected member in parentheses is
appended to the data set name, and the input is then
processed as if the user had typed in the complete PDS
name and member name specification. Note that in these
scenarios it will not be possible to process a member
with a name which is considered invalid by DAIR, even
though other REVIEW and REVEDIT functions may be able to
process such members without raising an exception.
R47.3 corrects assembler listing statement number
validation so that assembler listing syntax highlighting
works for statements numbered less than 10,000. DSNC
ON in REVEDIT has also been fixed to set the correct
internal flag.
R47.4 fixes a couple of possible S0C4 abends:
- When searching for lower case characters during input,
REVEDIT was not correctly handling the case when
the data length was a multiple of 256.
- For large screens, the acquired TPUT buffer was not
large enough to cater for the HEXX display,
while HEX and HEXR were not affected.
R47.5 has a couple of small changes:
- Option 3.4 (REVLEV) now shows the correct space
allocation for multi-volume data sets. (Thanks, Shelby!)
- Option 1 can now browse virtual storage when the data
set name of 'ACTIVE' is specified.
R47.6 has a couple of small fixes:
- A command with an invalid operand in FSHELP will no
longer obliterate the primary command input area.
(Thanks to John K.)
- REVEDIT JCL syntax highlighting will now correctly
highlight an invalid character in a data set name,
thereby sometimes avoiding an S0C4 abend. (Thanks to
Peter G.)
R47.7 delivers several bug fixes and a couple of
new features.
Some of the less obscure defect-fixing improvements
include:
- Improved I/O stack handling for parallel sessions,
both when swapping sessions and terminating sessions,
reducing the problems encountered when running RFE under
a shell-type CLIST.
- Fixing the S30A abend encountered when browsing zip
archives under z/OS. This abend was first discovered by
browsing z/OS UNIX jar files. It was caused by
moving unzip working storage above the line, without
also changing the FREEMAIN R to FREEMAIN RU.
- The creation of parallel sessions by a TSO RFE
command, which includes SPLIT and START
command processing, and the termination of parallel
sessions no longer have any time windows where
fullscreen mode is turned off, thereby reducing the
chances that line mode messages such as job end
notifications are lost from user view without the
traditional three asterisks requiring an addtional
<enter>.
- The point and shoot facility (where the cursor
is placed on a data set name on the screen at the time a
TSO REV command is issued) will now also work for
a format-8 DSCB (as it does for a format-1 DSCB) when a
VTOC is being browsed. Note that in the case where a
VTOC is being browsed, the cursor does not have to be
placed over the data set name, but merely on the line
showing the record having the relevant data set name as
its key.
- REVEDIT assembler source code syntax highlighting will
now correctly handle the case where two consecutive
quotes are used in a string to represent a single quote,
and when the first such quote is in column 71 and the
second such quote is in column 16 of the continuation
line.
Two new features suggested by Peter Glanzmann are now
implemented:
- Assembler B data type items are now presented
as binary digits when DSECT formatting is activated. An
underscore is used to separate the binary octets of each
byte in the data item.
- The new RDW command will cause the display of
record descriptor words when set to ON. The INVALID
COMMAND message will be shown when RDW is
issued and RDWs are not present. RDWs are only
deemed to exist when records are read using a DCB which
specifies a variable-length record format. Also
note that for multi-segment spanned records, the value
shown as the RDW will have been constructed and will
represent byte contents which may not actually exist in
the data set being browsed.
R47.8 mainly delivers bug fixes. Changes are:
- The primary command area will now vary in size
according to width of the screen. This will allow
longer commands to be issued on wide screens.
- The maximum RECALL command length has been
increased from 50 to 90 characters.
- RECALL processing now dynamically detects the
end of the primary command input area, truncating
recalled commands if necessary to avoid corrupting the
screen layout.
- Recalled commands will not be erased until after
screen reshow processing so that pending line mode
messages do not cause the recalled command to disappear
before being presented for executing either with or
without further editing.
- Glitches in FIND logic relating to column
numbers introduced with the RDW command have
been corrected.
- MVS/370 RFE main menu graphics displays are now
centered when being shown on wide screens (instead of
always being in specific columns). And for screens of at
least 132 columns and 47 lines that have no usable
graphics capability, the assignment of real storage
frames is represented at a scale of one screen character
location per 4KB page frame.
R47.9 changes are:
- The column number labels for the REVIEW browser's
ruler line can now display 6-digit column numbers, which
can occur for data sets with an undefined record format
created by the large block interface.
- When a volume is specified for a REVLEV (RFE option
3.4) data set list, free space statistics accumulated
from the format-5 DSCB chain are shown under the totals
line for the listed data sets.
- Data sets found to have the RACF protection indicator
set in the VTOC will have an R
displayed between the CREDT and EXPDT columns.
- A defect in REVPANEL/REVPANL2 ISPF panel selection
introduced when longer command lines for wide screens
was introduced in R47.8 has been fixed.
- Support has been added for 8-byte TSO user IDs and
data set name prefixes introduced with z/OS 2.3.
R48.0 (February 2018) introduces the following
enhancements:
- The REVEDIT FIND family of subcommands - which
includes FIND (or F), FINDNOT
(or FN), EXCLUDE (or EX or X),
EXNOT (or EXN or XN), and CHANGE
(or CHA or CHG or C) - now
supports additional operands to restrict the records
which are processed. Firstly, two line labels can be
specified to limit the range of records to a subset of
the total body of records, and secondly either the UPDATED
or NOUPDATE keywords can be specified to limit
processing to only those records which have been updated
this edit session, or only those records which have not
been updated this edit session, respectively. The
minimum abbreviation for these two new keywords is the
first 3 characters.
- UNIX path names beginning with a tilde (~) will
be recognized as specifying the home directory (as
suggested by Bruce Koss of Wells Fargo). This applies
not only to the path specified as the operand of a REVIEW
TSO command, but also to navigational jumping
where, when a UNIX directory entry list is being
displayed, a new fully-qualified directory path is
entered into the primary input area to specify the
directory that REVIEW should jump to.
R48.0 also fixes the following problems:
- After REVEDIT exits and returns to REVIEW after an EDIT
request to edit the data set being browsed, the heading
line was not restored to the value it should be for the
REVIEW browser.
- When running without APF authorization (which should
be all the time unless you are browsing a VVDS or BCS)
on a system using the ACF2 security product, the
original form of RACROUTE will be used to obviate the
need for security administrators to add GSO rules to
allow REVIEW to access checks for data set access while
unauthorized.
- A browse search in the backward direction (REVIEW FIND
PREV or LAST) did not search the first 4
data bytes of variable-length records when RDW OFF
was set.
- REVEDIT edit recovery allocated the PDS of the member
being edited exclusively instead of shared, and did not
free it at the conclusion of the edit session.
- It was not possible to copy a PDS member in RFE option
3.3 to a differently named member in the same PDS. For
this to work now, the to and from member
names must be supplied with the data set name.
- A CHANGE ALL of only blank(s) to a null string
caused an infinite loop in REVEDIT. The solution to this
is to limit such changes to one per record per CHANGE
ALL command.
- When HILITE OFF was set in the profile when an
edit session started, HILITE could not be
activated immediately by command, but only by exiting
the session such the the profile was updated, and then
restarting the edit session.
- If the REVIEW command specified a z/OS UNIX file, and
then the DIR command was issued, a corrupted
directory display would result.
- The TSO HELP for REVEDIT FIND incorrectly
stated that the default string type was C
whereas in fact it is T.
- When performing a CHANGE command in REVEDIT:
c cat dog
will always cause the replacement string to be DOG no matter what CAPS
is set to.
c cat c'dog'
will always cause the replacement string to be dog no matter what CAPS
is set to. However
c cat t'dog'
and
c cat 'dog'
used to always cause the replacement string to be DOG no matter what CAPS
was set to, but now both of these commands will
set it to DOG when CAPS
is ON and dog
when CAPS is OFF.
R48.1 addresses five issues:
Firstly, an S0C4 abend when formatting CESD blocks
has been fixed. CESD blocks are
formatted when scrolling right past the end of the
blocks to show the details of each ESD entry correlated
with other data extracted from the translator and user
IDR logical records. This abend occurred when in
31-bit addressing mode and the load module member had long
IDR logical records. The high byte of GPR5 had been
appropriated for other uses while it was saving the GPR15
value, from which an address placed in GPR14 was
calculated, which caused the abend when the high address
byte was lost. This bug is years old.
Secondly, to allow some sort of control over where
TSO users can allocate new data sets (anyone remember PCF
II?), several of the new data set allocations performed by
REVIEW/RFE will now be tried first using the TSO
user's default unit name as supplied from the user's
UADS member or RACF TSO segment or equivalent, as
appropriate.
One example where no change has been made is the
temporary data set used by a REVEDIT SUBMIT command which
first uses UNIT=VIO
but will retry using UNIT=SYSALLDA
if the first attempt fails. Another example is the CONDENSE
data set used by RFE options 3.1.C and 3.4.Z
where UNIT=SYSALLDA
is still used, but it is expected that normally the
CONDENSE data set will only have a short lifetime during
which there is no user think time.
One example where the default unit is now used is the
allocation of the data set used to hold SYSOUT data for
browsing in REVOUT (or RFE option 3.8). Previously, UNIT=SYSALLDA and SPACE=(CYL,100) were
used in the dynamic allocation request, with a retry
reducing the space to SPACE=(CYL,(5,2)).
Now, the initial request specifies the default unit name
with SPACE=(CYL,(200,20),RLSE).
The first retry changes the unit to SYSALLDA, and the second retry sets SPACE=(CYL,(5,3),RLSE). Since
the data set is allocated, opened, loaded and closed at
machine speed, the RLSE
setting means that users will not be idly browsing data
sets occupying vast DASD estates unless that acreage is
actually needed to hold the volume of data being browsed.
Also, the initial primary space quantity of 200
cylinders eliminates those pesky 2314 OS/360 SORT volumes
from the DADSM volume selection process.
Thirdly, unzipping from data sets with
variable-length records would abend with S0C4 as a result
of collateral damage flowing from the introduction of the
RDW command. This is now fixed.
Fourthly, FIND with a picture
search string was not working properly to the extent that
blanks and semicolons in picture strings were treated as
generic mask characters and not as themselves. This was
caused by using a single translate table to handle both
EBCDIC and ASCII generic masking characters. This was
fixed by using two separate translate tables.
Improved housekeeping also means that ASCII picture
searches are also now functional in REVEDIT.
Fifthly, as a result of advice from Wally
Mclaughlin, GETLINE macro settings have been improved to
eliminate various misbehavings in a CLIST environment
pertaining to the I/O stack.
R48.2 caters for handling program members with a
residence mode of 64:
- Member list displays will show RMODE=64 programs in yellow.
- MAP displays produced using the Binder API Version 1
ESD interface will now show RMODE=64 as 64
instead of MIN.
- For segment overlay programs, this type of MAP
display will now also show the segment overlay
region (as well as the segment) in which sections
reside. [Sections are link edited into segments, and
segments are loaded into specific regions within the
program extent when fetched into virtual storage. A
segment overlay program may have one or more
regions.]
R48.3 brings numerous fixes and several
enhancements.
Enhancements are:
- Text extent records are no longer shown in a program
object map to improve readability
- REVEDIT JCL syntax highlighting now recognizes the new
statement types introduced in z/OS version 2.
- The handling of prefixing FIND and CHANGE commands
with RFIND and RCHANGE has been regularized. This means
that there is now no dependency on PF key usage, and
that the command will behave the same whether executing
under ISPF or not.
- REVDIV has been reworked so that DIV storage
is now expandable. As a result, smaller sizes can be
requested without limiting capability. One benefit is
that module maps of large complicated programs can now
run to completion without exhausting DIV storage.
- The ECTRTCD field is now maintained when appropriate
so that CLIST &LASTCC processing can function
correctly.
- The data byte count shown on the BOTTOM OF DATA line
is now accurate up to 4GB minus 1. As always, this count
does not include BDWs, RDWs, record-ending CRLFs, and
other bytes used for data control.
- REVIEW support for browsing multi-volume sequential
data sets, which includes sequential concatenations
comprised of BASIC and/or LARGE single-volume and/or
multi-volume data sets, now allows seamless up-and-down
scrolling across volume boundaries. The volume serial
shown on the top line will be that of the last record
shown on the screen. The RECORD FROM BLOCK AT LOCATION
details which can be shown on the right of the screen
for each record will now show a TTRK value instead of
just the TTR, where K is the relative volume number
which is zero for the first or only volume. Note that
TTTR values will continue to be shown when the data set
has the DSNTYPE=LARGE attribute. Note that REVIEW does
not support concatenations of unlike data sets, so all
of the data sets in the concatenation need to be on
volumes from the same device class and have compatible
DCB attributes.
Fixed defects include:
- The new data set attributes specification panel will
now accept record formats with additional
characteristics, such as carriage control, and spanned
records or standard blocking. (Defect reported by
Charles Bailey.)
- When exiting after searching a program PDSE, abend
SC0D at task termination (caused by the storage of an
open DCB being freed) will no longer occur.
- RFIND/RCHANGE cycles to vet the change before making
the change no longer skip the current found data when
searching in the backward direction.
- When a member in the non-first library of a
concatenation was edited, the top line indicated the
correct data set, the correct data set name was used in
member serialization, but the data set from which the
member was read and to which the new data was saved was
the first data set in the concatenation. This is now
fixed.
- The data set information display will no longer abend
when the subject data set is a PDSE with a type (DATA or
PROGRAM) but with no version information available.
- More work to cater for the RDW ON/OFF setting has been
done, this time to keep the column range specification
in the PDS search panel consistent with that of the
REVIEW browse FIND command.
- The data set information display will no longer
attempt to obtain the format-4 DSCB from the VTOC to
obtain the number of tracks per cylinder when processing
VIO data sets (because the VTOC does not exist) or on
MVS/ESA or later system levels at all (where a cylinder
always has 15 tracks).
- Fix erroneous recursion status indications by
maintaining a count of concurrent or parallel sessions,
thereby eliminating sessions that cannot be swapped to,
and abends at termination time.
- FSHELP will only blank columns 73 to 80 of displayed
HELP member records if they contain sequence numbers,
thereby avoiding the loss of HELP text if it happens to
extend beyond column 72. (EX DRK)
- RFE option 6 is no longer selectable when RFE is
operating as an ISPF dialog, as it does not function
correctly in that environment. In fact, the
original design was that RFE would never run as an ISPF
application, and was coded accordingly, but that
decision was reversed when subsequent requirements
arose.
R48.4 brings a couple of enhancements and a few
fixes.
The main enhancement is that member name masking is now
available in three particular usage scenarios, none
of which involve any extensions to the syntax that can be
used to invoke REVIEW/RFE from the READY prompt. In
all cases, the length of the member name mask is limited
to 8 characters, and the available masking characters are
an asterisk for zero or more non-blank characters, and
percent for any single non-blank character. Generic
masking characters may be omitted to request a specific
member. Be aware that when an asterisk or percent is
encountered in a member name specification, some syntax
checking is bypassed, so it may enable the selection of
members with non-standard names in some cases.
- When viewing a data set list in option 3.4, a new MEMBER
(or MEM for short) primary command is available
to search all partitioned data sets in the list for a
member with a name which matches the mask. Processing
commences with a RESET action, so last command
indicators are cleared. Searched libraries are
flagged with a last command indicator of an
asterisk. If the asterisk is shown in red, the data
set could not be processed for some reason.
Libraries with at least one matching member will
be shown in white or high intensity in the data set
list.
- When viewing a member list, a new MEMBER (or MEM
for short) primary command is available to tag all
members which match the mask and untag all members which
don't. There is a similar command called PATTERN
(or PAT for short) which searches member names
for a string match. Effectively, PATTERN performs
the same processing as MEMBER after prepending an
asterisk if the mask does not start with a generic
masking character, and appending an asterisk if the mask
does not already end in an asterisk. So MEM
*ABC* does the same search as PAT ABC (as
does PAT *ABC*).
- When RFE presents a data set specification panel which
allows a member name to be specified, a member name mask
may be used to filter the members selected for display
in the member selection list. Generic masking may not be
permitted for some utility actions.
And now to minor enhancements:
- The H (for History) member selection can now
show some Enterprise PL/I compiler settings.
- A MAP of non-migratable program objects will
no longer display labels that have the same name as the
section they are in when they are at section offset zero
to improve the signal-to-noise ratio.
- RFE data set and command history items are now
tab-selectable (where previously the arrow keys had to
be used to position the cursor).
The following defects are now fixed:
- When exiting from a REVIEW PARMLIB FILE session an
S0C4 abend could occur under z/OS. This was due to
an incorrect work area being used for the deallocating
IEFPRMLB macro.
- An UNZIP selection could encounter an S0C9 abend from
a CVB instruction where the input decimal number was too
large. Logic which bypasses this issue is now used.
- The hexadecimal data displayed with HEXX ON was
completely irrelevant even though the character data
shown on screen was correct. Data housekeeping
gone wrong.
- Minor cursor placement improvements are made for RFE
menus when bad data set and volume input are
encountered.
- RFE option 3.4 (REVLEV) will now correctly order sorts
by date when the dates range across the most recent (at
the time of writing) century boundary.
- The progress bar display for PDSE program library
searches has been fixed.
R48.5 changes are:
- The H (for History) member selection code can
now show some Enterprise COBOL compiler settings. ARCH
and OPT settings are now shown for Enterprise PL/I,
Enterprise COBOL and XL C/C++.
- The S430-03 abend when a CUT subcommand is processing
a z/OS UNIX file is now fixed.
- The member name mask fragments of ** and *%
are no longer rejected as invalid syntax. Internally,
multiple consecutive asterisks are condensed to a single
asterisk, and asterisk-percent (*%) fragments are
converted to percent-asterisk (%*).
- RFE option 3.4 (REVLEV) now has a new command called SEARCH
(alias SRCHFOR) which can searched listed data
sets for specific data.
R48.6 changes are:
- The keyword operand tables for the DELETE and
SORT commands in REVEDIT are fixed to restore
proper functionality of those commands.
- A REVCREAT new data set attributes input panel layout
glitch is now corrected.
- On those occasions when REVPDS would display a
selection code legend line on the bottom screen line,
those displays will now be based on the ISPF visible
line count rather than the screen line count. This
change may allow the line to be seen even when ISPF is
displaying a SWAP action bar and/or PF key values.
R49.0 (July 2019) changes are:
- Add addressing mode switching logic to the MVS/370
version for MVS/XA-like operating systems.
- Make more display scenarios aware of the visible line
count under ISPF, rather than always using the
terminal's line count, thereby improving vertical
scrolling when the SWAP action bar and/or PFK values are
on show.
- Enhance the display produced by the JPA (or CDE)
command for z/OS 2.3 (and later) when the screen has at
least 100 columns.
- Add support for native 3270 partial screen updates and
TGET NOWAIT. This is used by the RFE main menu display
under MVS/370 to update resource status displays without
user interaction.
- Fix processing of Z390 extended fields in zip file
headers.
- Improve zip archive comment extraction and display,
especially for ZIP64 archives. Note that the unzip
logic is not aware of ZIP64 extensions.
R49.1 fixes the following problems:
- The TCB (or RB) display would also
show TCBRBP as the address of every RB under the task.
- The JPA (or CDE) display could S0C4
abend for z/OS 2.3 and later.
- REVEDIT would S002-A8 abend when saving a PDSE member
with more than 15,728,639 (x'17FFFF') records. Reported
by Tom Conley.
- Only up to 7 digits could be shown for the number of
lines in each exclusion block.
- Only up to 9 digits could be shown for the match count
of a FIND ALL command.
- PDSE space abends would cause a S0C6 abend because the
CHECK macro branched to address 1. Sx37 abends can close
the DCB, but this is historically delayed until the
CHECK macro is issued. For PDSEs any space abend can be
encountered at the time of the WRITE macro and so the
DCB will be closed by the time the subsequent CHECK is
issued.
R49.2 fixes the following aspects of asynchronous
partial screen updates that were really only evident when
running MVS 3.8:
- REVCMPBF was not performing 3270 compression because
the expected triggering RA order was not present. SBA
orders not specifying location 0 will now enable
compression as well.
- Field attributes were not being decoded properly,
causing the menu option names (1, 2, 3, etc) to become
invisible.
- The instantaneous available frame count (AFC) has now
been added to the MVS 3.8 non-graphics large screen
primary menu real storage display.
R49.3 provides minor enhancements to some
displays:
- Assembler listing syntax highlighting has improved
handling for continuations when breaking an unquoted
operand, an operand within quotes, and comments. Note
that some glitches may well appear when the start of a
continued statement does not appear on the screen. While
open code is shown in green and red, generated code in
blue and pink, a new third red and pink scheme is used
for inserted code.
- The JPA or CDE command will now show
the data set name more reliably under z/OS 2.3 and later
on screens with at least 116 columns.
- The TCB or RB command will show the
instruction length count (ILC) and interrupt code for
request blocks, will use the full screen width when
showing load list element program names, and will show
all data set names for open BPAM DDs.
- Both JPA and TCB will now correctly
adjust their displays for any hidden ISPF lines such as
for PFSHOW and SWAPBAR etc.
R49.4 provides minor functional enhancements and
fixes:
- NEWTOP 0 for sequential data sets has been
fixed - it was broken when full support for concatenated
and multi-volume sequential files was added.
- The global area (recursion vector and recall stack) is
now explicitly freed upon termination of the last
parallel REVIEW session to fix a memory leak under ISPF
on MVS 3.8. (Thanks, Wally.)
- The TCB / RB command's display of data
set names for open sequential files has been corrected.
- When spool file contents are being displayed by
directly accessing the JES2 spool, records longer than
132 print columns will no longer be
truncated. (When such files are displayed by using
the TSO's OUTPUT command, OUTPUT will wrap records
longer than 132 print columns to the next record.)
- A rare unzip problem with REVIEW's inflate
logic has been fixed.
- A REVEDIT screen corruption when displaying excluded
lines with CAPS OFF has been fixed.
R49.5 provides minor functional enhancements and
fixes:
- Unzipping binary data to fixed-length records will now
not create an extra record when the data is an exact
multiple of the record length.
- The formatting of a zip archive comment will now limit
the length of comment handled to avoid overlaying other
items in working storage.
- Dynamic storage management for REVPDSE has been
revamped so that instead of acquiring up to 768KB below
the line for working storage and for holding directory
data, only actual working storage is acquired below the
line while up to 3MB is acquired above the line to hold
directory data. This reduces BTL storage usage and
also allows the display of larger numbers of members.
Under both the old scheme and the new scheme, unused
storage not needed to hold directory data is freed
before the member list is displayed. (Thanks to Michael
Fleißig for reporting use case experience dealing with
PDSEs containing tens of thousands of members.)
R49.6 provides minor functional enhancements and
fixes:
- DSINFO will show COMP and ENCRYPTED when data sets
have those attributes.
- DSINFO will not report OBTAIN failures for volumes
after the last volume containing data for multivolume
data sets - the cause of such failures being that the
data set has never had to expand to that volume.
- STAX admin has been revamped with the current logical
session now always "owning" the attention exit.
- For MVS/370, when TSO commands do not issue a STAX, an
attention interrupt will cause REVIEW/RFE to detach the
command's subtask causing it to S13E abend.
- For MVS/370, whenever REVIEW/RFE is running APF
authorized and an AC=0 command processor is to be
attached, SYNCH will be used to become unauthorized,
thereby avoiding potential S306 abends.
- For MVS/370, attached TSO command processors will be
covered by an ESTAI to prevent a subtask abend yielding
a READY prompt, which would simply require an
<enter> to restart the main REVIEW/RFE task if the
TSO command abended. If the TSO command does abend, some
summary or indicative dump data will now be displayed
via write-to-programmer.
R49.7 provides minor functional enhancements and
fixes:
- Fixed the annoying (for me, at least) BLDL error
message when browsing a zip archive with a comment
exactly 78 bytes long.
- Fixed the glitch where RFIND would not advance
when browsing variable-length records and the cursor was
moved back to home. This was most noticable when
repeating FINDSMF while browsing a sequential
data set.
- When SMF ON is set, FINDSMF will now
highlight the record type of the found record using
reverse video. This assists with tracking progress
through a block of consecutive records of the same type.
- Additional PL/I compiler settings are now included in
the display generated by an H selection code of
Enterprise PL/I executables.
- Commands in error are preserved on the command line
for user fix-up for additonal reasons above the previous
single reason of invalid operand. However, commands in
error are never left on show under ISPF.
- With all that logic to decode .PCX, .BMP and .GIF
images hardly ever being used because hardly anyone has
3270 graphics support turned on, a REVIEW of such image
types will now result in a "pixel zoom-in" or extreme
close-up where each pixel will occupy a character
location on the screen. Left/right and up/down scrolling
can be used to scroll around the image bitmap. GIF
animation will not be processed in this display mode.
This display mode can be suppressed by the DATA
operand.
- The SSI display of PDS load modules has been fixed -
only the high 3 bytes were shown after 2 leading zeros.
- The COPY command of REVED now allows a data
set name to be specified as the command operand,
allowing the data set prompt to be circumvented as long
as no errors are encountered.
R49.8 fixes a S30A-14 abend when attempting to
REVIEW a supported image type (PCX, BMP, GIF) on systems
which support 31-bit addressing. This abend occurs even if
the terminal has no graphics capabilities. The relevant
FREEMAIN type has now been changed from R to RU.
R49.9 fixes problems with the SEARCH
primary command of a data set list:
- The modal display of the No entries to
sort message when a PDS with no
members is encountered is eliminated.
- An S0C4 when the last data set is not searchable is
fixed.
R50.0 (April 2021) changes are:
- The REVPROF DD is no longer used for the profile
library under MVS/370. ISPPROF is the
DD used for profile storage under all operating systems.
Copy your REVPROF members to your ISPPROF data set if
they are different.
- Numerous changes to REVEDIT. The new commands are:
- COMPARE - compare edit data with data set
contents.
- HIDE - do not use a screen line to show
EXCLUDE blocks.
- PRESERVE - set the minimum output length of
variable-length records to be the input length,
thereby preserving trailing blanks.
- Message lines can now be generated among the
scrollable edit data lines to hold:
- the output lines generated by the PROFILE command
to show current settings. PROFILE now has an
optional numeric line count operand.
- records from a data set that were not matched to
current edit data.
- You can "keep" message lines as data, or "make data"
from message lines with the new line command K
(alias MD, block with KK alias MDD).
- Changes to the NUMBER command:
- The numbering of variable length records is now
supported.
- NUMBER can be either ON or OFF
and either STD or COBOL.
- Fixes include:
- Fix CVB instruction S0C7 by having a new exploiter
of LVLINE do the validity checking the way older
LVLINE exploit code already did.
- Under ISPF, use ZSCREEN for the logical session
number because the RFE session number will always be
1, thereby improving recovery and UNDO/REDO
availability in REVEDIT running as an ISPF
application.
- Fix S0C4 with TE line command by updating
the subroutine to use the correct line count
register which was changed a while ago.
- Fix S0C4 after requesting to swap to a
non-existent session.
- Properly suppress the PDS search progress bar
display when performing a SEARCH of a REVLEV
(RFE option 3.4) data set list.
- No longer reset the attention interrupt flag after
a TPUT when the keyboard is locked so that a
data set list SEARCH can be interrupted.
Note that a SEARCH searches all data set
types that can be browsed by REVIEW, so this
includes VSAM.
- Reinstate the REVEDIT CHANGE command
(command table entry ordering glitch - C, CHA
and CHG remained functional).
R50.1 fixes a few problems:
- RFE 3.4's MEMBER (or MEM or M)
command now works again.
- The NOT sign selection code to permanently and
irrevocably delete a PDSE member now also works for
member generations.
- Housekeeping has been fixed to ensure that member list
processing for REVEDIT COPY (when a PDS/PDSE is
specified without a member name) is insulated from the
primary date set member generation display status. In
particular, the REVEDIT COPY member list will no longer
allow the display of member generations since they
cannot be successfully copied from, because they cannot
be allocated to a DD processed by QSAM.
- REVEDIT data space handling has been fixed to no
longer produce S0C4 abends from PROFILE and COMPARE
X commands, and to
not corrupt the edited data if a line is moved or
deleted.
- Previous STTMPMD macros were commented out to avoid
problems at the OS/390 2.4 level. That OS release
has long gone, and since I am now using TSO/E's Session
Manager again, the STTMPMD macros are now restored.
- A new SM global command can now be used to
manually control whether line mode messages are to be
shown under Session Manager control or not. The setting
is now saved in the profile data set.
R50.2 fixes a few more glitches:
- Dialogs requesting attributes for new data sets will
now accept a block size of zero on MVS/ESA and later
systems. These dialogs will now also not generate
incomplete screen updates under ISPF.
- The member list display for program object PDSE
members has been changed so that the first column is
now the member name and not the real member name.
A new Alias-of column has been added
to show the real name of alias members, which makes it
more like the the regular PDS member list display.
- The non-RECFM=U PDS member list display (which
typically displays ISPF statistics) has a new wide
screen format which is used whenever the screen
has at least 112 columns. This format is less cluttered
by spacing the item columns out more. The extra width
also allows 4-digit years to be shown which should make
it more obvious that a year-month-day date format is
being used.
- The member list display of IMS FORMAT and ACBLIB
member userdata has been restored after it was lost with
the member list housekeeping reorg of R45.0.
- Numeric operands of commands will not be deemed
numeric if the length exceeds 15 characters or if the
numeric value exceeds 2147483647, thereby avoiding
possible S0C7 abends.
- A S0C6 abend in SETUNZ processing
has been fixed.
- An unzip LRECL override set by SETUNZ
will now take precedence over an LRECL supplied from the
zip header extra field.
- Extraneous null records are no longer generated when
maximal length records are unzipped.
- During an unzip, a test for an abend will be made
after each PUT. This will allow an unzip to terminate
gracefully if no more space is available in the output
data set instead of abending the whole REVIEW session.
- Invoking ISPF Edit is now allowed for PDSE V2 member
generations. (Invoking ISPF Browse and ISPF View were
already supported.)
- Invoking REVEDIT (for both View and Edit) is now
supported for PDSE V2 member generations.
- The SM command now supports the ?
operand to display the current setting.
R50.3 fixes a couple more defects:
- When excluding lines in a View or Edit session, the
reported number of line(s) excluded will no longer be
double the actual excluded line count.
- RFE option 3.3 functionality for copying members from
a library with ISPF statistics has been restored by
moving an internal work area to prevent a storage
overlay. The symptom was an S438 abend. This defect was
probably introduced with release 50.2.
R50.4 fixes yet more defects:
- Left/right positioning to display found text in a
REVEDIT session will now no longer scroll too far right.
- Using the E or EDIT
primary command in the member list display to create a
new member caused a screen corruption when the member
list is reshown after the edit session has created the
new member. This was caused by the vertical bar
which indicates the displayed member range extending
past the end of the screen into the shadow buffer,
thereby causing a set-attribute--symbol-set order to
request an invalid symbol set (triggering PROG 751 in
PCOMM). Rather than fix the underlying algorithm, logic
was added to back up the ends of the vertical bar by a
line whenever they are past the end of the screen.
- The ability of a REVEDIT COPY
command to successfully copy a member chosen from a
member selection list has been restored. The defect's
symptom was a REQUEST CANCELLED message after a member
was selected with an S or /.
- The SUBSYS operand and non-zero
values of the TOP or TTR
operand are now ignored for the REVED
command. This is significant because REVED uses REVIEW's
PPL (parse parameter list) - and so those operands are
syntactically valid - and when a non-zero initial TTR
was specified for a PDS without a member name, the
member list display was bypassed and the edit session
was initiated. If the data was saved a member with a
blank name was created.
R51.0 (April 2024) includes new features and
fixes.
Note that from this level only two assembley environments
are supported, those being MVS 3.8 and z/OS Version 2 and
later.
Fixes originally intended for R50.5 include:
- Do not update the data set reference date when being
read for a SRCHFOR request.
- REVLEV will use the format-2 catalog work area when
running on MVS/ESA or later. This increases the catalog
data buffer size from 64KB to 1MB, thereby supporting
the return of thousands of catalog entries.
- REVLEV will no longer include usercatalog entries
which do not match the specified data set name prefix.
- Fix concatention detection to allow RFE options 1 and
2 to support concatenations as intended.
- Show the LP (LONGPARM) program attribute in the SC
column when present. This signifies support for a
program parameter that is longer than 100 characters.
- Fix message text when RFE option 6 is selected under
ISPF.
The new ZOOM command (originally
intended for R50.5) allows a REVIEW browse display to be
dedicated to a single record. In the general case, this
means no left/right scrolling to look at a long record.
The END command can be used to
"zoom-out" to the conventional multi-record view.
The ZOOM command has no operands - the
record is cursor selected, or if the cursor is not on a
data record line then the top visible record is selected.
The record will be examined with reference to record
structure knowledge encoded in the REVSMFZ module (which
has no executable code). If the record structure is
recognized then the record's field names will be displayed
across the screen, with the next line containing the
values of each of the fields. A field of interest can
therefore be quickly located by using FIND to position to
that field. Placing the cursor on a character of a
field name and pressing Enter will cause
the commentary for that field to be shown.
The supplied REVSMFZ module currently contains knowledge
of several z/OS SMF record types. While the design goal
was to eliminate left/right scrolling for long records,
repeated sections are shown on consecutive long lines
under a single heading line. A somewhat smaller version of
REVSMFZ is available for MVS/370 where SMF record types
not generated by the free MVS are not included.
After record knowledge (if any) is applied, the display
is finalized with a dump view (character and hexadecimal
with offsets) of the record contents.
Additional R51.0 changes are:
- The default value of PF17 is changed to ZOOM.
- Program initialization will now use the CODEPG
form of the GTTERM macro. The RFE main menu will now
display the terminal's character set and code page
(CGCSGID). The user's current prefix setting will also
be shown.
- Zip archives residing in extended-format sequential
data sets can now be successfully processed.
- REVEDIT will now perform two passes of the line
command chain instead of trying to do everything in a
single pass. This fixes errors when, for example, using
the COPY or PASTE
command to insert new lines before lines where line
commands also exist. In such cases the line commands are
executed twice - once for the stored line command
element and once for the echo of the line command on the
screen which is no longer associated with the original
line because it has now been displaced by newly inserted
lines. For delete line commands this resulted in a S0C4
abend.
- The REVPDSE CSECT has been retired. Program PDSE
directory handling is now carried out by the REVPDS
CSECT which greatly improves the consistency of
available options and commands when processing various
PDS and PDSE libraries.
- Left/right scrolling is no longer invalid when
displaying PDS/PDSE directory lists. When the record
format is defined, left/right scrolling is ingored
because ISPF statistics are shown in a format that will
fit into the available screen columns. When the record
format is undefined, left/right scrolling will
facilitate the display of additional attributes when
screens are not sufficiently wide.
- RFE will now allow inter-option jump requests from
non-primary input fields.
- When REVOUT is using direct I/O to the MVS 3.8 JES2
checkpoint and spool and the job log is viewed, the
statistics that JES2 normally only generates when a job
is printed will be calculated and displayed.
The "big budget" item for this release is auto-RECEIVE.
When an XMIT data set or member is browsed by REVIEW, a
temporary sequential or partitioned data set will be
created containing a copy of the transmitted data in its
original form, and that data set will be browsed by
REVIEW. Terminating the REVIEW of the reconstituted data
will cause REVIEW to return to the browse of the XMIT
data.
Note that as a result of auto-RECEIVE, the REVUSPDS CLIST
(which invokes the PDS command when REVIEW/RFE processes
the H and M member
selection codes under MVS/370 where the Binder API is not
available) has been changed to use the FILE
operand to specify the DD name instead of the data set
name. This change facilitates the processing of H
and M selection codes against
auto-RECEIVE program PDS members.
Auto-RECEIVE can be suppressed by the DATA
operand (which can be shortened to D).
As has long been the case, selecting a member with the
slash (/) selection code is equivalent to
requesting REVIEW to browse the member as if the DATA
operand had been specified.
R51.1 fixes a couple of defects related
to unXMIT proccessing:
- The "fastpath" direct access limit was not preserved
after an unXMIT leading to any subsequent DOWN MAX
accessing beyond the end of data.
- Preparing spanned record IEBCOPY unload files was
erroneously based on a 32756 LRECL limit, whereas
IEBCOPY uses a 32760 LRECL limit.
R51.2 fixes a S30A abend when performing
a member list REFRESH (either explicitly
requested or as a result of program logic) when the member
list was formed from DESERV processing (which currently
means either for member generations or for program
objects). The abend was caused by attempting to process
above-the-line storage with SVC 10.
R51.3 makes the following changes:
- The presentation of halfword, doubleword and floating
point values as decimal numbers when displayed by a ZOOM
of SMF records was just plain wrong. This has now been
fixed.
- FINDSMF now considers 110 to be an
SMF record type with subtypes.
- After an END out of SYSOUT browsing
to return to the job list in REVOUT, the cursor will now
be placed against the last viewed job as was originally
intended.
- The ZOOM SMF record structure
knowledge module REVSMFZ now includes structure data for
numerous SMF type 42 record subtypes and for SMF type 41
records.
- The ZOOM SMF record structure
knowledge module for MVS/370 is now named REVSMF7 and
now includes knowledge of the type 1 and type 30 SMF
records from SVS.
- REVSMF will no longer S0C4 abend when SMF ON
is active when showing a type 30 SMF record from SVS.
- An AR ASC mode storage access abend in REVEDIT is now
fixed by changing an LA instruction to LAE. This abend
could occur when a profile change notice message was to
be displayed for new data such as when copying data into
an empty edit session.
R51.4 enhances formatted record item
displays:
- FORMAT ON and ZOOM
formatting of binary integers and hexadecimal floating
point numbers is now done by the new REVF8BN CSECT which
is based on the PL/I F-level resident library module
IHEVFAA.
- FORMAT ON now recognises data types D
and E as specifying a data type of
hexadecimal floating point. D and E
can now be used as the data type operand of FMTVAR
commands to specify hexadecimal floating point. The
supported length range is from 2 to 8 bytes.
- FORMAT ON now supports a length range
of from 1 to 8 bytes for binary integers.
- The FMTVAR data types I
(signed binary integer) and U
(unsigned binary integer) can now be applied to items
from 1 to 8 bytes in length.
- FORMAT ON parsing of assembler DC and
DS statements now supports field names of up to 24
characters in length, with field names being uppercased
to avoid the need for quoting the FMTVAR
item name operand.
R51.5 adds minor enhancements to
REVEDIT:
- HILITE COBOL which was previously
undocumented is now improved to recognise COBOL reserved
words. The list of COBOL reserved words is contained in
the new external module REVCRW which can be reassembled
independently from the main REVIEW/RFE module.
- The COBOL operand of the NUMBER
and HILITE comands can now be
abbreviated down to COB.
- HILITE processing will now recognise
assembler and COBOL words in mixed case.
- HILITE AUTO will now recognise a COPY
statement as indicating assembler.
- HILITE COBOL will now recognise the
Enterprise COBOL *> floating
comment indicator.
R51.6 makes some small changes:
- The member list display for load modules will now show
the link edit or bind date and time (when available).
- The REVLEV (RFE option 3.4) data set list will now
report the number of data sets in the top right corner
without counting the end-of-list line.
- All PDS member list displays will now report the
number of members in the top right corner without
counting the end-of-list line.
- Member cursor selection in RFE option 3.3 is now
disabled, meaning that a B will need
to be explicitly typed to select a member to browse.
This will reduce the chances that an inadvertent browse
cursor selection will interrupt the copying of
explicitly selected members.
- The program PDSE member list display defect where the
bind time seconds actually repeats the minutes is now
corrected.
- The TCB (or RB)
command display of the TSO session's EXCP count under
z/OS is now corrected, replacing the display of an
unrelated number.
- Modal displays such as generated by the TCB
(RB), JPA (CDE),
SWAP LIST and KEYS
commands will now intercept END and CANCEL
commands so that those commands will now effectively end
the modal display instead of terminating the underlying
function which is not actually visible on the screen at
the time.
R51.7 provides more fixes and small enhancements:
- The display of SMFEOFMARK records with SMF ON
set is now corrected.
- The extraction of IDR information from load modules is
now skipped when the member is being searched, not only
removing unneeded overhead but also fixing abends
introduced with R51.6.
- The use of the internal DIV function is now bypassed
when members are being searched to remove unproductive
overhead.
- An extraneous TR instruction is removed from REVEDIT
to fix S0C4 abends during edit session initialization.
- REVLEV (or RFE option 3.4) data set list SORT commands
can no longer sort unused or null entries into view,
which also removed used entries from view.
- Minor improvements were made to DSCB date value
handling in REVLEV (or RFE option 3.4).
- The REVIEW browser FULL subcommand has now
been removed and is replaced by the DISPLAY N
(or DISP N) setting which can be saved in the
profile.
- DESERV GET_ALL return code 8 reason code 1012=x'3F4'
(empty directory) - which only ever seems to occur for
empty program PDSE libraries - is no longer reported as
an error.
- The PDS member list display command SORT now
has a default sort type of NAME, and so an
operand is no longer mandatory.
- When APF authorized, the MVS/370 version will call the
ISPQRY routine during initialization from a SYNCH
routine to avoid the IEA703I 306-0C message that occurs
when ISPQRY does not reside in an authorized library.

Copyright © 2003-2017
Prycroft Six Pty Ltd - ABN 17 006
544 636- All rights reserved.
webmaster@prycroft6.com
|