FSHELP 3.1
FREEWARE_README
FSHELP, utility, A full screen help utility with lots of extra's
FSHELP is a screen-oriented help utility. It makes use of SMG routines to
display help on video terminals. It has the following features
- Full screen display of normal .HLB files (scrolling in both directions).
Fshelp can also display data from .TLB, .OLB and .MLB files including
an analyze/object of a module in an .OLB file
(analyze/object for IA64 .OLBs can only be done on IA64 platform).
- Selecting subtopics by just typing the name of the subtopic or enter.
- Allows cross-referencing of help modules via extra info in help file.
- Allows header lines to remain on screen when scrolling.
- Allows you to look back at the last 20 topics.
- Allows you to mark some help topics for easy return to this topic
- Allows you to toggle 132/80 columns
- On all screens help can be displayed via the HELP or PF2 key
- FSHELP checks for all libraries via the hlp$library* logicals
and lets you select one of them via the TAB key.
- FSHELP also interfaces to the HELP/MESSAGE databases so you can
define FSHELP as your normal help utility (HELP:=$'directory'FSHELP)
- There is a sharable image that can be called from any other application
to display help (lib$find_image_symbol), so you can display help
in FSHELP format from any image.
- FSHELP messages are in English, Nederlands(Dutch) or Frysk (A language
spoken in the north of Holland). You can easily add you own language
(see the .MSG file for help). FSHELP does not translate text in helpfiles,
only the FSHELP messages are in the selected language.
- You can search text within a help page ((PF1-)PF3), or on this page and all
deeper levels ((PF1-)FIND). If you are on the top page of the help library,
you can search through the whole library, or even in all loaded
libraries.
Help files and libraries are in the same format as normal VMS help files.
The format is described in the
VMS LIBRARIAN UTILITY MANUAL, chapter 5 : HELP Libraries
with the following additions. All these commands start with an ! so
VMSHELP will ignore them.
a. !# Signal the end of header lines in a help text. Th(is)(ese) lines
(upto 4) will remain on screen, even when the rest of the text
is scrolled.
b. ![text on screen]@library topic topic ...
FSHELP will save this information, and when you type the
F12 key, a list of topics will be displayed, from which you
can select one. @library is optional. This gives a possibility to
make see-also entries.
c. !@[text on screen]DCL command|dcl command...
FSHELP will save this information, and when you type the
PF1-E (execute) command, FSHELP will let you select one of the
execute-scripts.
FSHELP will generate a batch-job in the queue FSHELP_QUEUE (default
SYS$BATCH) containing the above lines (separated by |). In these
commands you can specify symbols to be asked from you.
These symbols are separated by '. FSHELP will check if there is
a symbol with that name. If this symbol exists FSHELP will substitute
the value of that symbol, otherwise FSHELP will ask you for
a substitution.
Example !@[header]$compute 'test'/out=q.q|$print/delete q.q
will try to find the symbol test, and if not found will ask you
to specify a new value for 'test'. Then a batchjob will be
submitted in the queue in the symbol FSHELP_QUEUE (default SYS$BATCH)
containing the lines:
$compute new_value/out=q.q
$print/delete q.q
where new_value is the value found in the symbol TEST or the value
given by you.
VMS HELP will ignore all lines starting with ! (as will FSHELP), so these
lines can be included without interfering with VMS HELP.
You can enter help topics on the command line, just as VMS HELP.
The format is
fshelp [@libraryname] [topic [topic...]]
FSHELP does not only display help files, it can also display data from
.TLB, .OLB (object and shareable image files) and .MLB files
via the qualifier(s) /text, /object, /image and /macro
For further help look at the FSHELP help file, you can do that by typing
fshelp=$'directory'fshelp_alpha (or _vax or _ia64)
fshelp/ownhelp
Where 'directory' is the directory where fshelp (and its help file )
can be found
When looking at a help page, you can display the deeper topics by
typing a Return, a /, or a letter. This will display a menu containing
the deeper topics. The / or letter will jump to the first topic containing
that letter (or starting with that letter if you specified /NOSEARCHWILD).
Typing FIND will jump to the next topic that matches.
By typing more letters you can make your search more exact.
PF4 or F10 returns to the previous screen. For more help type PF2 or HELP.
Usage:
Define fshelp as a foreign command
$FSHE*LP:=$'diretory'FSHELP_ALPHA or FSHELP_VAX or FSHELP_IA64
Start it as normal help
$FSHELP [topic [subtopic...]]] !give normal help
$FSHELP/OWNHELP !give help info about FSHELP
$FSHELP/TEXT [module] !Display [the module in] FORSYSDEF.TLB
$FSHELP/IMAGE [module] !display [the module in] IMAGELIB.OLB library
$FSHELP/OBJECT [module] !Display [the module in] STARLET.OLB library
! in the deeper help you can get analyze/object info
$FSHELP/MACRO [module] !display [the module in] LIB.MLB
$FSHELP/LIBR=*.HLB !Display help about all .HLB files in SYS$HELP
$FSHELP/LIBR=*.HLB/LOAD !Read all info from all .HLB files to memory for
! fast access (this takes a while, but if you do
! not leave FSHELP, access is fast).
! select libraries via the TAB key.
$FSHELP/MESSAGE Accvio !give help/mess about the ACCVIO item
The libraries chosen for the /text, /object, /macro ,/image can be changed.
See the .MSG file for more info
There are a lot more qualifiers, see the FSHELP/OWNHELP for more info.
Note: Of course you can also define FSHELP as HELP.
Also included is a shareable image that can be called from any application
See the FSHELP_OUTPUT_HELP_EXAMPLE.FOR for more info.
Contents:
This package contains the following files
In the home directory
README.FIRST This file
CREATE_FSHELP.COM The command file to compile/link FSHELP and
the sharable image
FSHELP_ALPHA.EXE The main executable alpha
FSHELP_SHR_ALPHA.EXE The sharable image alpha
FSHELP_VAX.EXE The main executable vax
FSHELP_SHR_VAX.EXE The sharable image vax
FSHELP_IA64.EXE The main executable ia64
FSHELP_SHR_IA64.EXE The sharable image ia64
FSHELP.HLB The help library
in the [.src] directory
a. The fortran sources
FSHELP.FOR The main program
FSHELP_MAIN.FOR The body for the sharable image
FSHELP_DISP_INFO.FOR Display info about open libraries/modules
FSHELP_MSGHELP.FOR The help/message routines
FSHELP_UTIL.FOR Utility routines
FSHELP_SCR.FOR SMG routines
FSHELP_FILES.FOR FIle handling (lbr)
FSHELP_OBJECT.FOR The module for analyze/object
FSHELP_OBJECT_VAX.FOR The module for analyze/object of vax object
FSHELP_OBJECT_ALPHA.FOR The module for analyze/object of alpha object
FSHELP_OBJECT_IA64.FOR The module for analyze/object of IA64 object on IA64
FSHELP_OBJECT_NOT_IA64.FOR The module for analyze/object of IA64 on vax/alpha
FSHELP_OUTPUT_HELP_EXAMPLE.FOR Example how to call the sharable image
VM_LIBRARY.FOR Interface to LIB$GET_VM
b. the include files
ELFDEF.INC The ELF object definitions (adapted from FORSYSDEF)
FSHELP_DEF.FOR The definitions for the interface to FSHELP_SHR
FSHELP.INC Internal definitions to fshelp
FSHELP_MSGHELP.INC Internal definitions to fshelp for messagehelp files
VM_RECORD.INC Definitions for VM_LIBRARY
c. The .cld file
FSHELP_CLD.CLD
d. The message file (includes all screen messages in all languages)
FSHELP_MSG.MSG
e. The help file
FSHELP.HLP
f. The jump vector (for VAX) for the sharable image
FSHELP_SHR.MAR
in the [.vax] subdirectory
All the vax-objects of the sources
in the [.alpha] subdirectory
All the alpha objects of the sources
in the [.ia64] subdirectory
All the IA64 objects of the sources
Instructions:
unpack the .BCK file : backup fshelp_vv.BCK/save [...]
The executables are included in the kit, but if you want to rebuild
FSHELP, do the following:
If you have a fortran compiler you can compile and link
$@make_fshelp_'architecture' Vax,Alpha or IA64
Otherwise, just link
$@make_fshelp_'architecture' LINK
This will create the FSHELP_'architecture' and the FSHELP_SHR_'architecture'
images and the FSHELP.HLB help file.
I included the objects so you can adapt messsage files even if you do not have
a fortran compiler.
The most recent version can be donwloaded from oooovms.dyndns.org.
Author : Fekko Stubbe
If you have suggestions or questions, plaese mail to te address below
Email : fshelpdev (at) oooovms.dyndns.org
RELEASE_NOTES
010 1-jan-1992
Initial release, long long long ago
020 1-may-2003
Initial distributed releasae
021 1-jun-2003
1. Allow the help page to be scrolled in horizontal direction also.
2. Search actions can be in all selected libraries
0211 23-jul-2003
1. Bugfix. If you wanted to extract a module either to file or to printer
from a textlibrary, the first record containing a / in the first
columns would be seen as a terminator (as in a helplibrary). This
problem is solved.
0212 19-aug-2003
1. The display in show open libs/modules counted the bytes loaded twice.
2. FSHELP now supports the /BINARY qualifier for the display of
non-printable data as occurs in printer libraries.
0213 24-dec-2003
1. Better support for the /WHOLE qualifier when searching text in the
display. The cursor will go to the x,y pos of the found string. Before
this patch the cursor remained on col 1 of the line where the string was
found. This was confusing if the string occurred more than once on a line.
2. Include option in display help text to display the data in VMS-dump
format via the KP6 key, and a /BINARY qualifier.
3. Changed the layout of the select window. If a topic has subtopics starting
with a slash (as after the most Qualifiers topic), this topic will
be the only one on a new line. This makes the layout more like
VMS-help.
4. Included the KP6 key to toggle display from text to dump format (/BINARY).
0300 2-sep-2004
1. Support for IA64, including the ana/obj for most of the sections.
Since the LBR$MAP_MODULE in only supported on IA64, the object data from
ELF(IA64) object libraries can only be viewed on IA64 platforms.
2. The bytecount/linecount if the show open libs/mods was not updated for
the ana/obj modules. This has been fixed.
0301 28-sep-2004
1. Included index for help messages.
2. Improved token parsing for help/message. Keywords like violation, are now
found (the , is skipped).
3. Now supports searches in the help/message display (and its index)
0302 8-dec-2004
1. Allow see also's to jump to a specific line/col in the help page.
Upto now you could only jump to the beginning of the page
2. Added the /CURRENT switch. This allows you to specify a library
in your current directory i.s.o the SYS$SHARE default
so HELP/CURRENT/LIBR=test searches TEST.* in your current directory.
0303 17-oct-2005
1. If the first paramter start with an @, FSHELP will treat this parameter
as a library name. If the user gave an explicit library with the
/library, FSHELP will treat the @ first parameter as a help token now.
2. There were some modules missing for the alpha/ia64 build. They are
added now.
Since I no longer have access to an IA64 system, the objects/images for
IA64 are from the 0300 version. To the best of my knowledge the kit
will compile/build now, but I cannot test it.
Use it at your own risk, because we cannot take responsibility for crashes, dumps or even worse: loosing data.
Here is the fshelp 3.1 package (2.7MB zip file).
Please give your feedback to fshelpdev@oooovms.dyndns.org.