This file contains information about the makeindx implementation for CMS including info on Files, Implementation Notes, Installation Notes and Known Problems but does not duplicate the information found in MAKEINDX HELPCMS... See also the file TEST TEX for info on how makeindx 'interfaces' with LaTeX. FILES: 1. MAKEINDX FILELIST -- A list of all files sent (or on the tape) suitable for FILELIST processing (sorted so that files needed by general users come first). Edit this file as appropriate if you need to manipulate general-user files or non-general-user files. 2. MAKEINDX READ_CMS -- This file. 3. MAKEINDX MODULE, EXEC -- 'nuff said? 4. Source files -- 6 .c files and 5 .h files. 5. MAKEINDX SCRIPT, HELPCMS -- Help file and corresponding source. 6. MAKEINDX COPYRITE -- Please read this file carefully and proceed appropriately. 7. TEST ILG, IDX, TEX, IND -- test suite (see below). 8. MAKEINDX DEROFFED -- the man page from Berkeley minus formatting commands. IMPLEMENTATION NOTES: This file contains comments about the CMS implementation of makeindx as of 88aug5 by Chris Carruthers (CJC@UOTTAWA.BITNET). First of all the instructions in mkind.h were followed...all changes made by me to any of the source files can be found by searching for the string OS_CMS or for the string WATERLOO. Almost every source file needed to be changed since there are many lines that were longer than 80 cols but which were wrapped en route (probably by the Berkeley gateway) and of these some were wrapped in the middle of a string constant which caused the compiler to report an error. For the same reason many error messages are truncated or telescoped since this was my original quick and dirty approach to making code free from compile-time errors. These changes are not marked since they are not implementation dependent and will disappear when the other changes are merged with the mainstream version of makeindx by PHC. The following files have marked changes in them: mkind.c, mkind.h (the bulk of the changes are in these files...), scanst.h, scanid.h. INSTALLATION NOTES: Makeindx as is should be load-and-go but you may wish to install general user files only and you may wish to modify the covering exec to make it more robust or to link to a disk, for example. I have not as yet received the full test suite for makeindx from PHC but a set of files all with filename test should be present. If you run makeindx on TEST IDX ('makeindx test' should be sufficient) then the files TEST ILG and TEST IND should be produced...if you compare these to the ILG and IND files already present they should be identical (be sure to rename them or take other action to ensure that they are not overwritten by the new versions). TEST IDX is produced from TEST TEX but not without LaTeX complaining mildly about some missing files (not received from Berkeley)...for the same reason, the IND file produced cannot be used to obtain printed output of the index since the macro file used to process it was not sent from Berkeley either thus rendering the whole process useless for the moment. Also the source for the help file was written using Waterloo Script... use the memo option and rename the output file if you change the source (for example, to reflect changes made to the exec or to the module). Unfortunately there is no make file (since our systems people have made it work yet) so if you change any of the source you'll have to compile and link yourself. On our system I do this by saying CW fn(PRM WATERLOO 1 PRM OS_CMS 1 followed by LINKC MKIND GENIND SCANST SCANID SORTID QSORT then copy the module created onto the appropriate disk renaming on the way. Notice that the PRM option is required since this sets the flags used by the implementation. The program will not compile using version 1.3 of Waterloo C but will compile using version 3.0 (I have no idea about anything in between). KNOWN PROBLEMS: in open_sty() in the statement that starts if (length(STYLE_PATH there should be a call to FATAL2 rather than fatal and the parameter should be path rather than STYLE_PATH shouldn't it? if EXT_DELIM exists then INDEX_IDX and the other extensions in mkind.h should be defined in terms of it shouldn't they? in main() in line that starts FATAL("Unknown SW_PREFIX should be used rather than hard-coding '-'. genind.c -- 'inconsistent' not 'inconsitent'