CHANGES - Changelog for GeSHi (geshi.php only) Changes to the code are listed under the version they occured in, with who suggested it by each one (if there's nobody listed as suggesting it I dreamed it up :)). Users who suggested an idea often also provided the code that was used as a basis for the changes - thanks to all who suggested these ideas and gave me the code to show me how! Language files listed under each version were made by the author beside them, and then modified by me for consistency/bug fixing. Please send any bug reports to BenBE@omorphia.de, or use the bug report tracker at sourceforge (http://sourceforge.net/tracker/?group_id=114997&atid=670231) Version 1.0.8 - Added language files * APT sources.list (milian) * Boo (Marcus Griep) * CIL (Common Intermediate Language, .NET Assembly) (Marcus Griep) * COBOL (Benny Baumann) * Gnuplot (milian) * KLoneC (Mickael Auger) * KLoneC++ (Mickael Auger) * PowerShell (Frode Aarebrot) * Xorg configuration (milian) - setup caches for parsing on demand, makes stylesheet generators fast again (milian) - reduce strict errors & notices for language files (milian) - Fixed symbol highlighting with C++ sometimes missing keywords after ; and comments (BenBE) - Improved comment handling with TCL (Lars Hellström, BenBE) - Removed explicit escaping of / in Regular Expressions (BenBE) - Ignoring empty keyword groups when highlighting (milian) - Broken handling with XML comments (BenBE, SF#1849233) - Some more memory & speed optimizations all over GeSHi (milian) * Reduced memory overhead when highlighting keywords (BenBE) * Keyword Linking now uses considerably less strtolower calls (milian) * Cache Symbol Search Regexp and make Symbol Highlighting faster (milian) * Use more native functions like substr_replace and strcasecmp to speed things up (milian) * Use considerably less strlen() calls on various points by caching the results (milian) * Properly set comments to be case insensitive where appropriate to increase performance (milian) - Added an optimizer for lists in regular expressions. Using these cached lists results in a speedup of approx. 50%. The slightly increased memory consumption (~150KB for PHP language file) is more than worth it! (milian) - Added support for external style information files to override language defaults without modifying language files (BenBE) - Added PARSER_CONTROL for OOLANG method highlighting (SF#1923060, BenBE) - Fixed HTML comments spawning multiple lines producing invalid XHTML output (SF#1738173, BenBE) - Improved overall string support: * Added support for multichar string delimiters (SF#1932083, BenBE) * Multichar Quotemarks sometimes had inconsistent behaviour (BenBE) * Support for multiple styles of strings depending on the starter (BenBE) * Properly handle escapes in strings, i.e. '\\' was not working properly before (milian) - Added support for parameters beginning with dash in BASH language (BenBE) - Fixed problems of unfinished strings and comments producing invalid XHTML (SF#1996353, BenBE) - Fixed some problems with old PHP versions (SF#1975625, milian, BenBE) - Use spaces instead of tabs for indendation in language files to have a consistent coding standard accross geshi files (milian) - Make language_permissions configurable in language files via ['PARSER_CONTROL']['ENABLE_FLAGS'] this makes is_a calls unneeded and thus prevents PHP notices in PHP 5.x (milian) - Support Apache's configuration sections, see http://httpd.apache.org/docs/2.2/sections.html (milian) - Minor issue with PHP Heredoc and Nowdoc syntax sometimes not getting highlighted (BenBE) - Fixed economy mode for GeSHi::get_stylesheet() - now it just makes so much more sense! (milian) - Fixed Economy Mode when COMMENT_REGEXP are used (BenBE) - Some typos and mistakes in the documentation (BenBE) - Added new GESHI_HEADER_PRE_VALID type which uses the following markup: * With line numbers:
header
  1. ...
  2. ...
* Without line numbers:
header...CODE...
=> valid HTML and no need for   indentation Version 1.0.7.22 - Added language files * glSlang (BenBE) * KiXtart (Riley McArdle) * Lotus Notes @Formulas (Richard Civil) * LotusScript (Richard Civil) * MXML (David Spurr) * Scala (Franco Lombardo) * ActionScript 3 (Jordi Boggiano) * GNU Gettext .po/.pot (Milian Wolff) * Verilog (Günter Dannoritzer) - Fixed a problem not yet addressed in 1.0.7.21 regarding highlighting of symbols that caused some extra characters to be added in the output or broke highlighting and standard compliance due to missing escaping of internally used characters (SF#192320 and SF#1926259, BenBE) - Fixed missing style information for ocaml language file (The_PHP_Jedi) - Fixed a bug causing masses of warnings in rendered output if language file miss style information (The_PHP_Jedi, BenBE) - Missing tab width information could lead to warnings (BenBE) - Missing symbol information for ASP (SF#1952038, nfsupport, BenBE) - Empty delimiter message with OOoBasic (BenBE, Ccornell) - Escaping of comments in LaTeX ignored (SF#1749806, BenBE) - Modified Math environment $$ in LaTeX to be non-greedy (BenBE) - Added possibility to match a regexp as comment (SF#1914640, SF#1945301, SF#1934832, BenBE) - Introduced C-Style multiline continuation comments (SF#1914640, SF#1945301, BenBE) - Introduced Fortran Comments (SF#1914640, SF#1934832, BenBE) - Implemented Heredoc and Nowdoc Syntax for PHP and Perl (SF#1914640, BenBE) - Implemented Compiler Directives for Delphi (SF#1914640, BenBE) - Implemented minimalistic support for JavaScript \ Perl Regular Expressions (SF#1786665, SF#1754333, SF#1956631, BenBE) - Fixed Strings in Matlab to be handled as comments instead of regexps, to prevent keywords being linked (BenBE) - Applied PARSER_CONTROL fix of CPP for CPP-QT-Derivative (BenBE) - Fixed incorrect treatment of unequally long multiline comment separators (related to SF #1891630, BenBE) - Added PARSER_CONTROL settings for keywords in ASM language file (SF#1835148, BenBE) - Fixed missing CASSE_SENSITIVE entry for DOS language file (SF#1956314, BenBE) - Fixed accidential highlighting of keywords in argument names (SF#1956456, Milian Wolff, BenBE) - Fixed yet again some #-related bash problem (SF#1956459, Milian Wolff, BenBE) - Added backticks as symbols (Milian Wolff) - Example script remembers selections and source submitted (Milian Wolff) - Example script allows remembered source and preselected language to be cleared (Milian Wolff) - Example script now properly includes geshi and doesn't suppress error messages anylonger. (Milian Wolff) - Code cleanup by using direct string indexing instead of substr with length 1 (Milian Wolff) - Optimized generation of code parts in strict mode (Milian Wolff) - Optimized COMMENT_REGEXP by using an incremental regexp cache (Milian Wolff, BenBE) - Fixed a problem that rarely skipped highlighting of escaped chars which usually should have gotten highlighted (BenBE) - Optimized generation of highlighted strings to use fast skip forward while highlighting them (Milian Wolff, BenBE) - Optimization using basic rework of indent function improving tab expansion performance (BenBE) - Lots of other minor optimizations based on coding style improvements (Milian Wolff) - Implemented setting to force spans to be closed before newlines, see SF#1727398 (Milian Wolff) - Added missing credits for D language file to THANKS file (SF#1720899, BenBE) - Optimization to prevent loading the current language file twice (Milian Wolff) - Optimization: Use file_get_contents() to load sourcecode from files. Even if GeSHi worked with PHP 4.1 before, it doesn't now. (Milian Wolff) - Added description of extra language features (SF#1970248, BenBE) - Added support for highlighting the C# using and namespace directives (SF #1395677, BenBE) - Added support for highlighting the Java import and package directives (SF #1395677, BenBE) - Fixed minor problem in Haskell cuasing accidential start of comment (SF#1987221, BenBE) - Fixed minor issue causing loads of warnings if a language files defines no symbols (BenBE) - Updated some aspects of the documentation and included further hints (BenBE) - First of series of color scheme changes. Affected languages (sofar): * Assembler (x86) * Bash * C * C# * Delphi * Fortran77 * glSlang * Java & Java 5 * JavaScript * OCaml * OpenOffice.org Basic * Pascal * Perl * PHP and PHP-Brief Version 1.0.7.21 - Added language files * Basic4GL (Matthew Webb) - Fixed problem with mIRC language highlighting spaces only (BenBE) - Language files can now specify a function to be called to decide the colour of a regular expression match - Added single quote to Lua (Darrin Roenfanz) - Compare comments case insensitively (fixes AutoIT comments somewhat) (Daniel Gordon) - Fixed symbols not being highlighted at all (SF #1767953, BenBE) - Fixed brackets not correctly managed (SF #1767954, BenBE) - Changed default languages for some extensions - Included color and character information for symbol highlighting in some languages (BenBE) - Fixed a problem with extension detection if default was used (BenBE) - Fixed a highlighting problem with the LaTeX language (SF #1776182, BenBE) - Added a new parameter for enable_highlighting to reduce source duplication (SF #1786104, BenBE) - Updated doxygen documentation to include since tags and some missing parameters - Disabled symbol highlighting by default (doesn't affect brackets, cf. documentation) (BenBE) - Added a check for set_case_keywords for the given param to be supported (BenBE) - Minor rework of the HTML documentation layout \ W3C compliance (BenBE) - Fixed highlighting error in bash language avoiding keywords in comments (SF #1786314, SF #1564839, BenBE) - Fixed template params for C++ and C# not being highlighted (SF #1772919, BenBE) - Fixed more reported problems about mirc highlighting - Added some missing keywords for VB.NET - Fixed some warnings in DOS language file (Florian Angehrn) - Add possibility to handle more than one extra line style (SF #1698255, German Rumm, BenBE) - Fixed handling of URLs when output case differs from URL case (SF #1815504, Tom Samstag, BenBE) - Fixed POD (Plain Old Documentation) format problems breaking highlighting of Perl (SF #1891630, Shannon Wynter, BenBE) - Fixed a problem with mIRC when & was used for identifiers (SF #1875552, BenBE) Version 1.0.7.20 - Added language files * Genero (logic) and Per (forms) (FOURJ's Genero 4GL) (Lars Gersmann) * Haskell (Dagit) * ABAP (Andres Picazo) * Motorola 68k Assembler (for MC68HC908GP32 Microcontroller) (BenBE) * Dot (Adrien Friggeri) - Fixed java documentation search for keywords to actually go to the documentation (spaze) - Applied fix for bug 1688864 (bad regexes) (Tim Starling) - Fixed comment CSS rule in visualfoxpro - ThinBASIC language update (Eros Olmi) - mIRC language update (BenBE) - Fixed outdated documentation URL of Perl language file (RuralMoon by BenBE) - Fixed tab replacement code not generating the correct number of spaces in some cases (Guillermo Calvo) - Fixed two typos in Z80 language file - Applied fix for bug 1730168 (Daniel Naber) - Applied fix for bug 1705482 (Jason Frame) * Configurable line endings (Replace \n by custom string) * per-language tab-widths (Adjustable for width>=1) * Included defaults for ASM (x86, m68k, z80), C, C (Mac), C++, C++ (QT), C#, Delphi, CSS,, HTML, PHP, PHP (Brief), QBasic, Ruby, XML - Added a possibility to force generation of a surrounding tag around the highlighted source - Applied fix for additional keywords for the bash language (cf. http://bash.thefreebizhost.com/bash_geshi.php, BenBE / Jan G) - Fix bad colour definition in GML language (Andreas Gohr) - Fixed phpdoc comments not being indented one space if they should be (Andy Hassall) Version 1.0.7.19 - Added language files * X++ (Simon Butcher) * Rails (Moises Deniz) - Fixed invalid HTML being generated and doctypes not being highlighted over multiple lines properly when line numbers are on (Validome) - Improved the ruby syntax highlighting by basing it off the Rails file - Changed some regular expressions to possibly help with badly performing regex support in PHP (Tim Starling) - Allow {TIME}, {LANGUAGE} and {VERSION} to be used in the header as well as the normal