So we keep putting our trust in things that rust
And then we feel the pain of loss
<$if>conditions occasionally leads to an ``
unexpted end of context''. This can probably be solved by improving
This is a special kind of messages which does not fit into the schema of all those messages described at another chapter. When processing it's input, hsc does not only check whether the user made a mistake, but also the authors of these tools. In several places of the source code, hsc tests for things that must not happen. If they do, hsc assumes it has completely fucked up. In this case, it simply displays a message on the screen and aborts.An example message could look like this:
** internal error at "hugo.c" (123): sepp is not at home
These messages are not really meant to be interpreted by the user, but by the programmer. When hsc prints an internal error message, you should contact the author and report this bug, including the complete text of the panic message and possibly the source you were processing when it happened. In such a case, you are not expected to create a sophisticated bug report, as such problems are hard to trace.
<BASE HREF="..">, hsc is unable to find out how the base is related to the destination directory and will treat all local URIs like external ones. Therefore, no link validation will be performed. Project relative URIs are not possible with a base-URI set, of course.
<XMP>might not be treated correctly, as the behavior of these two seems so be not very strictly defined. You should avoid them anyway and use
<b>hello <!-- xy --></b>'' is not converted to ``
<b>hello<!-- xy --></b>''. That means that the blank after ``
hello'' will remain, but does not display a message #79, as the
<!..>caused all preceding whitespace to be flushed. I already said it several times, and I'll say it again: Do not use those bloody SGML comments!
fopen()of your compiler whether an error is reported or the filename is truncated. If you insist on filenames containing 46587643 characters, hsc can cope with it - but your OS probably won't.
malloc()-function which just displays an error message and quits using
exit(). As hsc keeps track of all allocated resources, it will release everything that could be fully initialised and made it into its supposed resource list. For out-of-memories during partially initializing complex structures, this fails and can cause memory leaks (normally approx. 100-500 bytes). Usually, these are handled by your OS or, as for AmigaOS, by the
malloc()-function of the runtime library, so you shouldn't bother too much about that. Blame K&R (or whoever perpetrated
malloc())for their brain-damaged memory management concepts.
GetFileSize()probably won't work correctly on files greater than 2 GB. This usually caused by the limited abilities of
Hsc is fully dynamic and its input size, number of syntax-elements and etc. is only limited by memory and disk space. Only some less important status messages are created in classic, braindead zero-terminated C character arrays and are truncated if they become too long.
However, for projects much larger than 100 documents (on a 68060 or equivalent), scanning the project file on every run takes an awful lot of time; due the lack of any portable concept of keeping data resident after a program exits, there is no workaround for this (same problem like with hsc.prefs); you will have to get rid of the project-file and hscdepp for such projects.