Prev Next whatsNew01

Changes and Additions to OMhelp During 2001

This section contains a list of changes to OMhelp in reverse order by date. Its purpose is to assist you in learning the about changes between versions of OMhelp.

Improved error message when the list option was not valid.

Added commands that manage lists .

Changed the section command so that white space, such as new lines, is interpreted as a normal spaces. New lines in the text part of the section command used to break the OMhelp search utility.

Fixed an error in one of the asserts in the BlockAlloc example (which was later replaced by the Getting Started Using OMhelp section). To be specific,
     (b->index == info->index) &&
     (b->index == info->index),
was changed to
     (b->user == info->user) &&
     (b->next == info->next),

The Larray and Marray classes were getting to complicated for an example. They have been replaced by the BlockAlloc example (which was later replaced by the Getting Started Using OMhelp section).

The omh\Larray and omh\LMarray directories were moved so they are now subdirectories of omh\example. This was so that the C++ example is better separated from the rest of the OMhelp documentation.

The LMarray template class was extended to include binary operations between elements and arrays.

The links corresponding the contents and childtable commands where in mixed case (should have been lower case). This did not work on Unix Systems and has been fixed.

The example command was changed to be the execute command. This was done so that the example would refer to an example use of OMhelp to document source code (which was later replaced by the Getting Started Using OMhelp section). If you used the old example command, you will need to change $example to $execute.

The C++ template class example was extended to include documentation of a derived class.

The path specifications used to be relative to the directory where OMhelp was executed. Now they are relative to the directory where the file containing the root section is located. If you executed OMhelp in a subdirectory of the starting file location, you will have to change you path specifications by removing the .. from the beginning of each one. (This is the standard way to use OMhelp and it was confusing to always have a .. in the front of the path specifications.)

A static counter that tracks allocated memory was added to the Larray template class.

The file index.htm in the directory corresponding to the web site is automatically linked to the cross reference tag specified by the first section in file containing the root section . This makes the corresponding section the default page for an OMhelp web site. It has the added advantage that you can avoid the confusion between this use of index.htm and the index command. On the other hand, because of this automatic linking, you can not longer use index as a cross reference tag in a begin command.

On 01-06-24 a change was made to include specific headings within a section in the indexing. Unfortunately, the current heading was also added to href commands. This has been fixed.

The path command was changed so that it is ignored when it appears in any other section besides the root section of the web site.

The Larray C++ template class was added as an example of embedding OMhelp commands in source code. It is also an example of a sub-tree that can be built into a separate web site.

The search page utility did not work when there was only one help page. This has been fixed. It is useful because it shows people what the system does after they construct their first page.

The tabsize command was added so that you can control the amount of indentation corresponding to a tab character in pre-formatted text. One benefit of this command is that tabs and the indentation in a verbatim command can be lined up.

Some user questions suggested that the children command was not well understood. Upon inspection of the corresponding help, it was discovered that the children example in children.omh did not properly correspond to the commands in format.omh. The verbatim and include commands enable the use of a single input file for the two different output uses and thereby fixed the true source of this error (the true source of the error was not using the single source philosophy).

Sometimes the line following a verbatim command was indented as if it were part of the verbatim command.

If there was no section command between a begin and an end, an improper error message about frames was generated. This has been corrected and the proper error message is reported.

Internet address with in the current file system that have a back slash work with a Microsoft server, but not with a Unix server. An error message is now printed instructing one to change these back slashes to forward slashes. (This affected the href command the command line options .)

Non-breaking spaces are now used for all the spaces within a syntax command. This prevents the browser from automatically wrapping lines in a single syntax specification. (Unfortunately, Microsoft's internet explorer will wrap lines at other characters besides white space. Thus there are some characters, such as parenthesis, at which IE will wrap lines in a syntax command.)

The help for OMhelp has been improved. To be specific, the size of the syntax frame has been adjusted to the amount of syntax for each command. The keyword index entries have been adjusted so that there are not separate entries for very similar words (like file and files). A set of See Also entries was entered for a lot of the sections.

If a file specified in contents , childtable, or children command does not exist, the corresponding error message now identifies the input file where the command occurred.

The commands index and cindex can now link entries in the keyword index to specific headings within a section.

Extended the image command so that it works with other file extensions besides name.gif . For example, the input $icon icon.jpg$$ results in the following output:

Fixed an error in the JavaScript for the OMhelp search utility. To be specific, in JavaScript if no matches are found for a string, a null is returned (instead of an array of zero length) is returned.

Add the verbatim command which displays a file without any formatting.

Fixed some special cases where the bold letters in the headings for the keyword index and the reference were not working properly. For example, Alpha in the index was being displayed before the bold letter A.

The help tree in the table of contents for OMhelp was reorganized. This makes better use of the new navigation side bar that was part of the changes on 01-06-14 .

The cross reference tag for the keyword index was changed (back to its previous value). This change was from _index to _keyindex. This is to avoid conflicts in closeness of name with the default home page; i.e., index.

Some changes were made to the OMhelp search utility Java script so that it did not generate error reports under the browsers.

Fixed another problem with the case sensitive link tags related to case insensitive file names. An HTML SRC reference was to the case sensitive version of the file name and it would not work under Unix. Now web sites should display properly both under Unix and Microsoft systems.

Improved the OMhelp search utility dialog so that user can enter a topic once she or he has narrowed the choices. In addition, modified the display to limit number of matches listed to 100 so that it is faster on large searches.

Netscape 4.5 seems to have trouble when the NAME attribute of an anchor has a forward slash in it. The headings in this file have therefore been changed from MM/DD to MM_DD.

The index and function reference have alphabetic jump tables. Headings were added for the letters in the index and function reference so that the user can see where he or she is jumping to. Documentation was added that explains how the glossary jump table and keywords work.

The default frames have been reduced from three to two by combining the information from the top frame and left frame into one (and modifying the information included from the left frame). This significantly reduced by the number of files corresponding to a web site. It also simplified navigation of the web site because it is more in line with the standard on the internet.

The change on 01-06-04 broke some links on Unix servers because it is case sensitive. This has been fixed. All of the output files and links are in lower case now so that they work the same under Unix and Microsoft systems.

The following automatically generated cross reference tags were changed
Old New Description
hreflist _external External Internet References
keyindex _index Keyword Index
contents _contents Table of Contents
funref _reference Alphabetic Listing of Cross Reference Tags
Now all the automatically generated cross reference tags begin with the underbar, _, character. In addition, the user may no longer use the underbar as the first character in a cross reference tag specified by a begin command.

An OMhelp search utility was added as an automatically generated client side JavaScript that uses the keyword list was added. You can link a help page to this by using _search as a tag (provided that the printable option is not used).

The display, but not the usage, of cross reference tags is case sensitive. Thus if you use upper case letters in the argument to you begin command, the corresponding cross reference tags will be displayed to the user that way.

If two sections have the same cross reference tag, both the current input file name and the one where the section was originally defined are displayed in the error message.

Changed the default icon and link example to a generic one instead of the O-Matrix icon.

Added the command line option -i icon which enables you to specify a different icon for the help system.

It used to be necessary to place all the index and cindex commands after the section command for the current section. This is no longer the case.

The template section was added to the help for OMhelp (it was later removed). The files ../omhelp.htm and ../build.bat were missing from the distribution and are now included. The spell command was modified so that capital letters separate special spellings. For example, you can use OMhelp as a special spelling for the word mhelp

The ascii files english.wrd and local.wrd are included in the distribution (instead of the binary file dictionary.bin). This makes it easier to add a local dictionary because you only have to supply the file local.wrd.

Another feature was added to the -debug option. The spelling errors (words not in the current dictionary) are listed in alphabetic order in the file error.wrd. This is intended to aid in creating versions of local.wrd. (You may want to merge the current version of local.wrd with some of the words in error.wrd to get a new local word list.)

The color command was added. It controls the color used for code font and for error message in the document. (You can now use a special color by setting the code font and then putting the special message in code font.)

If you reference a world wide web directory with your browser, the default file name index.htm will be loaded into your browser (often the same as the home page). Previously, you could not name a section index to take advantage of this because the OMhelp keyword index was stored in that file. The keyword index for an OMhelp document is now stored in the section names keyword and you can use the name index for you default page.

The include command was added to aid in having a single message or set of commands in multiple pages.

The -debug option output a list of all the web pages referenced by href commands. This will help in checking that these web pages is still relevant to their usage in your OMhelp document.

The version (compile date) corresponding to the current version of OMhelp is printed when OMhelp is run.

The -debug was added. if -debug is present, the input file corresponding to each output page is printed.
Input File: whatsnew01.omh