
======== Update notes for version 2.0 of PMINFO ============

About Release 2.0:
Release 2.0 is the long promised version of pminfo that contains
enough features, stability, and proper error messages that it
is quite usable with (hopefully) a minimum of frustration.

About the source code:
Pminfo is currently compiled using gcc/2 version 2.3.3 which is
not widely availible.  It will probably compile just fine
with 2.2.2, but I intend on using some of the new 2.3.3 features
(namely typedefs within a class) so backward compatibility
will cease soon.

New features in pminfo 2.0:
1. Highlighting of menus and cross-references added
2. Full keyboard interface added
3. Dialog box selection of menus and cross-references added
4. *Many* bugs exterminated
5. When a node is not found, a cryptic message is now produced to
   telling which node is problematic.  Previously, the user was
   punished for un-found nodes with a crash.
6. Better compatibility with "undocumented" features of GNU info
   files such as case insensitivity.  More undocumented features
   are yet to be supported.
7. Reads compressed info files compressed with zoo, zip, or UNIX compress.
8. Searches multiple directories for info files.
9. Can be told to read a specific info subject, instead of reading
   dir by default.

Invoking Pminfo:
    When Pminfo is invoked, by default it searches the current directory
    for an info file named "dir" which is traditionally a small simple
    info file with cross-references to some number of info manuals.

    To make pminfo look in some other directory for info files, simply
    give the other directory name as a command line parameter to pminfo.
    For example
	pminfo \info \gccinfo
    will tell pminfo to also search the directories \info and \gccinfo
    for info files.

    To make pminfo look for a different info file, use the -f parameter.
    For example
	pminfo -f gcc
    will tell pminfo to try to read the info file named "gcc".

    To make pminfo look for a specific file in a specific directory,
    give the full path name of the info file as a parameter to pminfo.
    For example
	pminfo \gccinfo\gcc
    will read the manual "gcc" in the directory \gccinfo.  If you are using
    compressed info manuals (See next section), you may optionally add 
    the extention like this:
	pminfo \gccinfo\gcc.zoo
    Pminfo will verify that the file exists *with* this extention as given.
    Once this is verified, the extention will then be ignored.

Using compressed files:
    You can compress info manuals with zoo, zip, or UNIX compress.
    Pminfo will attempt to invoke the appropriate uncompress program
    to extract the info file you are trying to read.

    In order to read zoo files, the program zoo.exe must be in the
    current path or current directory.  The filename of the info file
    must end with ".zoo".  If you have a multi-part info manual,
    all parts must be within the same archive.  For example, if you
    have the termcap manual in files named
	termc termc-1 termc-2 termc-3
    then all four of these files should be stored into an archive named
	termc.zoo

    In order to read zip files, the program unzip.exe must be in the
    current path or current directory.  Pkunzip *cannot* be used
    to decompress info files!  Use the free unzip.exe written by the
    Info-ZIP people.  The filename of the info file must end with ".zip".
    If you have a multi-part info manual, all parts must be within the 
    same archive.  For example, if you have the termcap manual in files named
	termc termc-1 termc-2 termc-3
    then all four of these files should be stored into an archive named
	termc.zip

    In order to read UNIX compress files, you need the UNIX compress
    program in your path somewhere, and it must be named one of "zcat.exe",
    "uncompress.exe", or "uncompre.exe".  The filename of the info file
    must end with ".Z" or ".z".  Since UNIX compress does not allow archive
    files (compressed files with multiple files stored inside), multi-part
    info files should be stored as separate compressed files. For example,
    if you have the termcap manual in files named
	termc termc-1 termc-2 termc-3
    then all four of these files should be stored individually as
	termc.Z termc-1.Z termc-2.Z termc-3.Z

Warning:
    If you invoke pminfo in a way such as
	pminfo \info
    when you have a file called "info.zoo" and a directory called "\info",
    pminfo will read the file info.zoo rather than use the directory \info.
    (Yes, I have done this).  If your would prefer to read out of the
    directory \info, invoke pminfo as
	pminfo -d \info

Future directions:
Any number of improvements could be made to this program -
but it is stable and usable enough now that it will now be put
on the back burner.  If you disagree, drop me a line :-).

Please do let me know if you are able to crash this program,
particularly if you can manage to crash it consistenly.  I'm
willing to make minor revisions to the program that protect
it from crashing.


======== Readme for version 1.0 of PMINFO =============

**** What is PMINFO? ****

PMINFO is a program for reading GNU "info" files.

Info is a hypertext manual format that is difficult to read with a plain
text editor.

The GNU project creates manuals in a format called texinfo.  Either
the makeinfo program or the GNU-Emacs editor can be used to create an
info manual out of the texinfo source code.  The TeX program can be
used to create a hardcopy manual out of the texinfo source code.

Both Emacs and the info program can be used to view info files.
My copy of info no longer seems to work under OS/2 2.0.  Emacs
does work.

The PMINFO program is designed to be a small, efficient means of reading
info files.   Users of gcc who have not downloaded a copy of Emacs,
will hopefully benefit from this program.


**** How to use PMINFO ****

Start PMINFO in a directory containing your info manuals.
There must be an info file called "dir" in this directory.

Each page of an info file is referred to as a node.  When you start
up pminfo, it will default to view the "Top" node of the dir file.
[Top nodes in an info file usually denote the starting node in a file]

Some nodes, including the top node of the dir file, will contain a 
"menu" of other nodes you may view.  This "menu" does not appear in
the menu bar!  Somewhere in the node, there will be a line that
starts with "* Menu:".  Following this line will be several cross-references
to other nodes such as "* GCC: (gcc.info)" or somesuch.  Click on the cross-
reference line to see info about the reference.

You can return to the directory node at any time by selecting Node/Directory.
You can go back to the most recently viewed node by selecting Node/Last Node.

Be aware that some info files can span multiple files.  For example,
the Gcc info manual is composed of a file "gcc.info" and several
files called "gcc.info-nn" where nn is some number.  You need *all*
of these files in order to read the gcc manual. I will be providing 
an info-format manual for users of gcc2.1 that will be in this format.

As of today, the Emacs for OS/2 that is availible contains a directory
emacs/info which is an excellent place to run pminfo from if you want info
about emacs and gcc.

**** About this release ****

This release is in *many* ways premature.  These is no end to the new
and exciting ways you can get this program to crash!   Just kill it off
and don't do whatever you did again :-).

I promise this will get better.  But since many people have asked for
a way to view the gcc manual, and this release is now stable enough for
use, I will release it now.  I apologize in advance for the frustration
this may cause.

**** About the Programmer ****

The programmer of pminfo is Colin Jensen.  I can be reached
though Email as cjensen@netcom.com
As a last resort, try USMAIL at: 4902 Esguerra Terrace, 
Fremont CA, 94555.

I will try to help out anyone who needs help with this program, but
no promises.  I would also be *delighted* to hear from users.
If you like this program, please let me know.  It will encourage me
to write more useful programs again in the future.
