
                      BUGS - list of known bugs in GeSHi
                                Version 1.0.8

- Number highlighting is quite poor [possibly better now]
- I'm not happy with URLS - there still could be extra bugs, and it's rather unflexible
  (see TODO for a possible fix)
- "Important" sections for some reason seem to have their spans added after every
  newline up until the next lexic, instead of stopping at the <END GeSHi> part. In fact,
  context sensitiveness is quite poor...
- Using the extra line number highlighting feature without actually using line numbers
  will result in malformed XHTML (not sure about this one though...)
- Slow!!! Especially for source with lots of strings in it. GeSHi will work acceptably
  for sourcecode under 5K (for simple language files like SQL, a 100K file can be
  highlighted in just 6 seconds), but above about 25K things get a little slow... If
  you're using this as part of some larger software, you may want to think about
  making some sort of "cache" effect to speed things up and reduce server load.
- The result is built by string replacement instead of by building another string based
  on the source, that would be much safer. The focus of releases beyond 1.0.7 will be on
  changing this behaviour, which may well fix some of the other bugs mentioned above.
- As of 1.0.7.1, dots (.) are allowed before keywords. This may change highlighting of some
  things slightly, if you notice anything odd about the highlighting then please report
  it to me.
- Perl/Javascript /.../ regex syntax is only supported basically and there's no
  guarantee it is working all the time.
- The <pre> header output is not XHTML compliant. Please use the <div> header instead.

Send any bug reports to BenBE@omorphia.de, or submit them via the bug tracker at
sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231)
