From 7f0d7314a01c4e97a23d7d89bd9a839accd2776a Mon Sep 17 00:00:00 2001
From: Andreas Gohr <andi@splitbrain.org>
Date: Sun, 29 Aug 2010 09:53:46 +0200
Subject: [PATCH] GeSHi updated to 1.0.8.8

---
 data/pages/wiki/syntax.txt  |   2 +-
 inc/geshi.php               |   9 +-
 inc/geshi/4cs.php           |   2 +-
 inc/geshi/abap.php          |   2 +-
 inc/geshi/actionscript.php  |   2 +-
 inc/geshi/actionscript3.php |   2 +-
 inc/geshi/ada.php           |   2 +-
 inc/geshi/apache.php        |   2 +-
 inc/geshi/applescript.php   |   2 +-
 inc/geshi/apt_sources.php   |   2 +-
 inc/geshi/asm.php           |   2 +-
 inc/geshi/asp.php           |   2 +-
 inc/geshi/autoconf.php      | 512 ++++++++++++++++++++++++++++++++++++
 inc/geshi/autohotkey.php    |   2 +-
 inc/geshi/autoit.php        |  12 +-
 inc/geshi/avisynth.php      |   2 +-
 inc/geshi/awk.php           |   2 +-
 inc/geshi/bash.php          |  21 +-
 inc/geshi/basic4gl.php      |   2 +-
 inc/geshi/bf.php            |   2 +-
 inc/geshi/bibtex.php        |   2 +-
 inc/geshi/blitzbasic.php    |   2 +-
 inc/geshi/bnf.php           |  23 +-
 inc/geshi/boo.php           |   2 +-
 inc/geshi/c.php             |  20 +-
 inc/geshi/c_mac.php         |  21 +-
 inc/geshi/caddcl.php        |   2 +-
 inc/geshi/cadlisp.php       |   2 +-
 inc/geshi/cfdg.php          |   2 +-
 inc/geshi/cfm.php           |   2 +-
 inc/geshi/chaiscript.php    | 140 ++++++++++
 inc/geshi/cil.php           |   2 +-
 inc/geshi/clojure.php       |  10 +-
 inc/geshi/cmake.php         |   2 +-
 inc/geshi/cobol.php         |   2 +-
 inc/geshi/cpp-qt.php        |  20 +-
 inc/geshi/cpp.php           |  20 +-
 inc/geshi/csharp.php        |   2 +-
 inc/geshi/css.php           |   2 +-
 inc/geshi/cuesheet.php      |   2 +-
 inc/geshi/d.php             |   2 +-
 inc/geshi/dcs.php           |   2 +-
 inc/geshi/delphi.php        |   2 +-
 inc/geshi/diff.php          |   2 +-
 inc/geshi/div.php           |   2 +-
 inc/geshi/dos.php           |  12 +-
 inc/geshi/dot.php           |   2 +-
 inc/geshi/ecmascript.php    | 210 +++++++++++++++
 inc/geshi/eiffel.php        |   2 +-
 inc/geshi/email.php         |   2 +-
 inc/geshi/erlang.php        |   6 +-
 inc/geshi/fo.php            |   2 +-
 inc/geshi/fortran.php       |   2 +-
 inc/geshi/freebasic.php     |   2 +-
 inc/geshi/fsharp.php        |   2 +-
 inc/geshi/gambas.php        |   2 +-
 inc/geshi/gdb.php           |   2 +-
 inc/geshi/genero.php        |   2 +-
 inc/geshi/genie.php         | 157 +++++++++++
 inc/geshi/gettext.php       |   2 +-
 inc/geshi/glsl.php          |   2 +-
 inc/geshi/gml.php           |   2 +-
 inc/geshi/gnuplot.php       |   2 +-
 inc/geshi/groovy.php        |   2 +-
 inc/geshi/gwbasic.php       | 153 +++++++++++
 inc/geshi/haskell.php       |  12 +-
 inc/geshi/hicest.php        | 108 ++++++++
 inc/geshi/hq9plus.php       |   2 +-
 inc/geshi/html4strict.php   |   2 +-
 inc/geshi/icon.php          | 212 +++++++++++++++
 inc/geshi/idl.php           |   2 +-
 inc/geshi/ini.php           |   2 +-
 inc/geshi/inno.php          |   2 +-
 inc/geshi/intercal.php      |   2 +-
 inc/geshi/io.php            |   2 +-
 inc/geshi/j.php             | 227 ++++++++++++++++
 inc/geshi/java.php          |   2 +-
 inc/geshi/java5.php         |  10 +-
 inc/geshi/javascript.php    |   2 +-
 inc/geshi/jquery.php        |   2 +-
 inc/geshi/kixtart.php       |   2 +-
 inc/geshi/klonec.php        |   2 +-
 inc/geshi/klonecpp.php      |   2 +-
 inc/geshi/latex.php         |   4 +-
 inc/geshi/lisp.php          |   6 +-
 inc/geshi/locobasic.php     |   2 +-
 inc/geshi/logtalk.php       |   2 +-
 inc/geshi/lolcode.php       |   2 +-
 inc/geshi/lotusformulas.php |   2 +-
 inc/geshi/lotusscript.php   |   2 +-
 inc/geshi/lscript.php       |   2 +-
 inc/geshi/lsl2.php          |   2 +-
 inc/geshi/lua.php           |   2 +-
 inc/geshi/m68k.php          |   2 +-
 inc/geshi/magiksf.php       | 193 ++++++++++++++
 inc/geshi/make.php          |   2 +-
 inc/geshi/mapbasic.php      |   2 +-
 inc/geshi/matlab.php        |   6 +-
 inc/geshi/mirc.php          |   2 +-
 inc/geshi/mmix.php          |   2 +-
 inc/geshi/modula2.php       | 136 ++++++++++
 inc/geshi/modula3.php       |   2 +-
 inc/geshi/mpasm.php         |   2 +-
 inc/geshi/mxml.php          |   2 +-
 inc/geshi/mysql.php         |   2 +-
 inc/geshi/newlisp.php       |   2 +-
 inc/geshi/nsis.php          |   2 +-
 inc/geshi/oberon2.php       |   2 +-
 inc/geshi/objc.php          |   2 +-
 inc/geshi/ocaml-brief.php   |   2 +-
 inc/geshi/ocaml.php         |  41 ++-
 inc/geshi/oobas.php         |   2 +-
 inc/geshi/oracle11.php      |   2 +-
 inc/geshi/oracle8.php       |   2 +-
 inc/geshi/oxygene.php       | 152 +++++++++++
 inc/geshi/oz.php            | 144 ++++++++++
 inc/geshi/pascal.php        |   2 +-
 inc/geshi/pcre.php          | 188 +++++++++++++
 inc/geshi/per.php           |   2 +-
 inc/geshi/perl.php          |   2 +-
 inc/geshi/perl6.php         |   2 +-
 inc/geshi/pf.php            | 178 +++++++++++++
 inc/geshi/php-brief.php     |   2 +-
 inc/geshi/php.php           |   2 +-
 inc/geshi/pic16.php         |   2 +-
 inc/geshi/pike.php          |   2 +-
 inc/geshi/pixelbender.php   |   2 +-
 inc/geshi/plsql.php         |   2 +-
 inc/geshi/postgresql.php    | 288 ++++++++++++++++++++
 inc/geshi/povray.php        |   2 +-
 inc/geshi/powerbuilder.php  |   2 +-
 inc/geshi/powershell.php    |   4 +-
 inc/geshi/progress.php      |   2 +-
 inc/geshi/prolog.php        |   6 +-
 inc/geshi/properties.php    |   2 +-
 inc/geshi/providex.php      |   2 +-
 inc/geshi/purebasic.php     |   2 +-
 inc/geshi/python.php        |   2 +-
 inc/geshi/q.php             | 149 +++++++++++
 inc/geshi/qbasic.php        |   2 +-
 inc/geshi/rails.php         |   2 +-
 inc/geshi/rebol.php         |   2 +-
 inc/geshi/reg.php           |   2 +-
 inc/geshi/robots.php        |   2 +-
 inc/geshi/rpmspec.php       | 133 ++++++++++
 inc/geshi/rsplus.php        |   2 +-
 inc/geshi/ruby.php          |   7 +-
 inc/geshi/sas.php           |   2 +-
 inc/geshi/scala.php         |   2 +-
 inc/geshi/scheme.php        |   2 +-
 inc/geshi/scilab.php        |   2 +-
 inc/geshi/sdlbasic.php      |   2 +-
 inc/geshi/smalltalk.php     |   2 +-
 inc/geshi/smarty.php        |   2 +-
 inc/geshi/sql.php           |   2 +-
 inc/geshi/systemverilog.php |   2 +-
 inc/geshi/tcl.php           |   8 +-
 inc/geshi/teraterm.php      |   2 +-
 inc/geshi/text.php          |   2 +-
 inc/geshi/thinbasic.php     |   2 +-
 inc/geshi/tsql.php          |   4 +-
 inc/geshi/typoscript.php    |   2 +-
 inc/geshi/unicon.php        | 210 +++++++++++++++
 inc/geshi/vala.php          | 151 +++++++++++
 inc/geshi/vb.php            |  68 +++--
 inc/geshi/vbnet.php         |   2 +-
 inc/geshi/verilog.php       |   2 +-
 inc/geshi/vhdl.php          |   2 +-
 inc/geshi/vim.php           |  55 ++--
 inc/geshi/visualfoxpro.php  |   2 +-
 inc/geshi/visualprolog.php  |   2 +-
 inc/geshi/whitespace.php    |   2 +-
 inc/geshi/whois.php         |   2 +-
 inc/geshi/winbatch.php      |   2 +-
 inc/geshi/xbasic.php        | 144 ++++++++++
 inc/geshi/xml.php           |   2 +-
 inc/geshi/xorg_conf.php     |   2 +-
 inc/geshi/xpp.php           |   2 +-
 inc/geshi/z80.php           |   2 +-
 179 files changed, 4188 insertions(+), 272 deletions(-)
 create mode 100644 inc/geshi/autoconf.php
 create mode 100644 inc/geshi/chaiscript.php
 create mode 100644 inc/geshi/ecmascript.php
 create mode 100644 inc/geshi/genie.php
 create mode 100644 inc/geshi/gwbasic.php
 create mode 100644 inc/geshi/hicest.php
 create mode 100644 inc/geshi/icon.php
 create mode 100644 inc/geshi/j.php
 create mode 100644 inc/geshi/magiksf.php
 create mode 100644 inc/geshi/modula2.php
 create mode 100644 inc/geshi/oxygene.php
 create mode 100644 inc/geshi/oz.php
 create mode 100644 inc/geshi/pcre.php
 create mode 100644 inc/geshi/pf.php
 create mode 100644 inc/geshi/postgresql.php
 create mode 100644 inc/geshi/q.php
 create mode 100644 inc/geshi/rpmspec.php
 create mode 100644 inc/geshi/unicon.php
 create mode 100644 inc/geshi/vala.php
 create mode 100644 inc/geshi/xbasic.php

diff --git a/data/pages/wiki/syntax.txt b/data/pages/wiki/syntax.txt
index 4cd0dfcc9..fbe1fe060 100644
--- a/data/pages/wiki/syntax.txt
+++ b/data/pages/wiki/syntax.txt
@@ -382,7 +382,7 @@ class HelloWorldApp {
 }
 </code>
 
-The following language strings are currently recognized: //4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, gdb, glsl, gml, gnuplot, groovy, gettext, haskell, hq9plus, html, idl, ini, inno, intercal, io, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, mapbasic, matlab, mirc, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, pascal, perl, perl6, per, php-brief, php, pike, pic16, pixelbender, plsql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, qbasic, rails, rebol, reg, robots, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xml, xorg_conf, xpp, z80//
+The following language strings are currently recognized: //4cs, abap, actionscript-french, actionscript, actionscript3, ada, apache, applescript, asm, asp, autoconf, autohotkey, autoit, avisynth, awk, bash, basic4gl, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cfdg, cfm, chaiscript, cil, clojure, cmake, cobol, cpp, cpp-qt, csharp, css, cuesheet, d, dcs, delphi, diff, div, dos, dot, ecmascript, eiffel, email, erlang, fo, fortran, freebasic, fsharp, gambas, genero, genie, gdb, glsl, gml, gnuplot, groovy, gettext, gwbasic, haskell, hicest, hq9plus, html, icon, idl, ini, inno, intercal, io, j, java5, java, javascript, jquery, kixtart, klonec, klonecpp, latex, lisp, locobasic, logtalk, lolcode, lotusformulas, lotusscript, lscript, lsl2, lua, m68k, magiksf, make, mapbasic, matlab, mirc, modula2, modula3, mmix, mpasm, mxml, mysql, newlisp, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle8, oracle11, oxygene, oz, pascal, pcre, perl, perl6, per, pf, php-brief, php, pike, pic16, pixelbender, plsql, postgresql, povray, powerbuilder, powershell, progress, prolog, properties, providex, purebasic, python, q, qbasic, rails, rebol, reg, robots, rpmspec, rsplus, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, systemverilog, tcl, teraterm, text, thinbasic, tsql, typoscript, unicon, vala, vbnet, vb, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, winbatch, whois, xbasic, xml, xorg_conf, xpp, z80//
 
 ==== Downloadable Code Blocks ====
 
diff --git a/inc/geshi.php b/inc/geshi.php
index 14acf15a6..31d2da49f 100644
--- a/inc/geshi.php
+++ b/inc/geshi.php
@@ -41,7 +41,7 @@
 //
 
 /** The version of this GeSHi file */
-define('GESHI_VERSION', '1.0.8.6');
+define('GESHI_VERSION', '1.0.8.8');
 
 // Define the root directory for the GeSHi code tree
 if (!defined('GESHI_ROOT')) {
@@ -1971,7 +1971,7 @@ class GeSHi {
             //All this formats are matched case-insensitively!
             static $numbers_format = array(
                 GESHI_NUMBER_INT_BASIC =>
-                    '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
+                    '(?:(?<![0-9a-z_\.%])|(?<=\.\.))(?<![\d\.]e[+\-])([1-9]\d*?|0)(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
                 GESHI_NUMBER_INT_CSTYLE =>
                     '(?<![0-9a-z_\.%])(?<![\d\.]e[+\-])([1-9]\d*?|0)l(?![0-9a-z]|\.(?:[eE][+\-]?)?\d)',
                 GESHI_NUMBER_BIN_SUFFIX =>
@@ -2019,7 +2019,7 @@ class GeSHi {
                 }
 
                 $this->language_data['NUMBERS_RXCACHE'][$key] =
-                    "/(?<!<\|\/)(?<!<\|!REG3XP)(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!(?:<DOT>|[^\<])+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; //
+                    "/(?<!<\|\/)(?<!<\|!REG3XP)(?<!<\|\/NUM!)(?<!\d\/>)($regexp)(?!(?:<DOT>|(?>[^\<]))+>)(?![^<]*>)(?!\|>)(?!\/>)/i"; //
             }
         }
 
@@ -2651,7 +2651,8 @@ class GeSHi {
                         $start = $i + $hq_strlen;
                         while ($close_pos = strpos($part, $this->language_data['HARDQUOTE'][1], $start)) {
                             $start = $close_pos + 1;
-                            if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['HARDCHAR']) {
+                            if ($this->lexic_permissions['ESCAPE_CHAR'] && $part[$close_pos - 1] == $this->language_data['HARDCHAR'] &&
+                                (($i + $hq_strlen) != ($close_pos))) { //Support empty string for HQ escapes if Starter = Escape
                                 // make sure this quote is not escaped
                                 foreach ($this->language_data['HARDESCAPE'] as $hardescape) {
                                     if (substr($part, $close_pos - 1, strlen($hardescape)) == $hardescape) {
diff --git a/inc/geshi/4cs.php b/inc/geshi/4cs.php
index 6ce702fbc..48b671f4a 100644
--- a/inc/geshi/4cs.php
+++ b/inc/geshi/4cs.php
@@ -4,7 +4,7 @@
  * ------
  * Author: Jason Curl (jason.curl@continental-corporation.com)
  * Copyright: (c) 2009 Jason Curl
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/09/05
  *
  * 4CS language file for GeSHi.
diff --git a/inc/geshi/abap.php b/inc/geshi/abap.php
index fa69c92f9..942d2397e 100644
--- a/inc/geshi/abap.php
+++ b/inc/geshi/abap.php
@@ -7,7 +7,7 @@
  *  - Sandra Rossi (sandra.rossi@gmail.com)
  *  - Jacob Laursen (jlu@kmd.dk)
  * Copyright: (c) 2007 Andres Picazo
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * ABAP language file for GeSHi.
diff --git a/inc/geshi/actionscript.php b/inc/geshi/actionscript.php
index 394a463c4..41d66edd2 100644
--- a/inc/geshi/actionscript.php
+++ b/inc/geshi/actionscript.php
@@ -4,7 +4,7 @@
  * ----------------
  * Author: Steffen Krause (Steffen.krause@muse.de)
  * Copyright: (c) 2004 Steffen Krause, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/20
  *
  * Actionscript language file for GeSHi.
diff --git a/inc/geshi/actionscript3.php b/inc/geshi/actionscript3.php
index 8449173e8..4aab929dc 100644
--- a/inc/geshi/actionscript3.php
+++ b/inc/geshi/actionscript3.php
@@ -4,7 +4,7 @@
  * ----------------
  * Author: Jordi Boggiano (j.boggiano@seld.be)
  * Copyright: (c) 2007 Jordi Boggiano (http://www.seld.be/), Benny Baumann (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/11/26
  *
  * ActionScript3 language file for GeSHi.
diff --git a/inc/geshi/ada.php b/inc/geshi/ada.php
index 4c112f0db..c6b0597bb 100644
--- a/inc/geshi/ada.php
+++ b/inc/geshi/ada.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/29
  *
  * Ada language file for GeSHi.
diff --git a/inc/geshi/apache.php b/inc/geshi/apache.php
index a5b651bb6..34704eb22 100644
--- a/inc/geshi/apache.php
+++ b/inc/geshi/apache.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/29/07
  *
  * Apache language file for GeSHi.
diff --git a/inc/geshi/applescript.php b/inc/geshi/applescript.php
index 8a07d00b5..9e214f2e1 100644
--- a/inc/geshi/applescript.php
+++ b/inc/geshi/applescript.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Stephan Klimek (http://www.initware.org)
  * Copyright: Stephan Klimek (http://www.initware.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/07/20
  *
  * AppleScript language file for GeSHi.
diff --git a/inc/geshi/apt_sources.php b/inc/geshi/apt_sources.php
index fe1711fdd..f4cf9ae3f 100644
--- a/inc/geshi/apt_sources.php
+++ b/inc/geshi/apt_sources.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/06/17
  *
  * Apt sources.list language file for GeSHi.
diff --git a/inc/geshi/asm.php b/inc/geshi/asm.php
index 49699b900..d54e24023 100644
--- a/inc/geshi/asm.php
+++ b/inc/geshi/asm.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Tux (tux@inmail.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/27
  *
  * x86 Assembler language file for GeSHi.
diff --git a/inc/geshi/asp.php b/inc/geshi/asp.php
index 6e799a802..4a9d6c8e2 100644
--- a/inc/geshi/asp.php
+++ b/inc/geshi/asp.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Amit Gupta (http://blog.igeek.info/)
  * Copyright: (c) 2004 Amit Gupta (http://blog.igeek.info/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/13
  *
  * ASP language file for GeSHi.
diff --git a/inc/geshi/autoconf.php b/inc/geshi/autoconf.php
new file mode 100644
index 000000000..0883f9f54
--- /dev/null
+++ b/inc/geshi/autoconf.php
@@ -0,0 +1,512 @@
+<?php
+/*************************************************************************************
+ * autoconf.php
+ * -----
+ * Author: Mihai Vasilian (grayasm@gmail.com)
+ * Copyright: (c) 2010 Mihai Vasilian
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/01/25
+ *
+ * autoconf language file for GeSHi.
+ *
+ ***********************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Autoconf',
+    'COMMENT_SINGLE' => array(2 => '#'),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        //Multiline-continued single-line comments
+        1 => '/\/\/(?:\\\\\\\\|\\\\\\n|.)*$/m',
+        //Multiline-continued preprocessor define
+        2 => '/#(?:\\\\\\\\|\\\\\\n|.)*$/m',
+        //Single Line comment started by dnl
+        3 => '/(?<!\$)\bdnl\b.*$/m',
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array(
+            'AC_ACT_IFELSE',
+            'AC_AIX',
+            'AC_ALLOCA',
+            'AC_ARG_ARRAY',
+            'AC_ARG_ENABLE',
+            'AC_ARG_PROGRAM',
+            'AC_ARG_VAR',
+            'AC_ARG_WITH',
+            'AC_AUTOCONF_VERSION',
+            'AC_BEFORE',
+            'AC_C_BACKSLASH_A',
+            'AC_C_BIGENDIAN',
+            'AC_C_CHAR_UNSIGNED',
+            'AC_C_CONST',
+            'AC_C_CROSS',
+            'AC_C_FLEXIBLE_ARRAY_MEMBER',
+            'AC_C_INLINE',
+            'AC_C_LONG_DOUBLE',
+            'AC_C_PROTOTYPES',
+            'AC_C_RESTRICT',
+            'AC_C_STRINGIZE',
+            'AC_C_TYPEOF',
+            'AC_C_VARARRAYS',
+            'AC_C_VOLATILE',
+            'AC_CACHE_CHECK',
+            'AC_CACHE_LOAD',
+            'AC_CACHE_SAVE',
+            'AC_CACHE_VAL',
+            'AC_CANONICAL_BUILD',
+            'AC_CANONICAL_HOST',
+            'AC_CANONICAL_SYSTEM',
+            'AC_CANONICAL_TARGET',
+            'AC_CHAR_UNSIGNED',
+            'AC_CHECK_ALIGNOF',
+            'AC_CHECK_DECL',
+            'AC_CHECK_DECLS',
+            'AC_CHECK_DECLS_ONCE',
+            'AC_CHECK_FILE',
+            'AC_CHECK_FILES',
+            'AC_CHECK_FUNC',
+            'AC_CHECK_FUNCS',
+            'AC_CHECK_FUNCS_ONCE',
+            'AC_CHECK_HEADER',
+            'AC_CHECK_HEADERS',
+            'AC_CHECK_HEADERS_ONCE',
+            'AC_CHECK_LIB',
+            'AC_CHECK_MEMBER',
+            'AC_CHECK_MEMBERS',
+            'AC_CHECK_PROG',
+            'AC_CHECK_PROGS',
+            'AC_CHECK_SIZEOF',
+            'AC_CHECK_TARGET_TOOL',
+            'AC_CHECK_TARGET_TOOLS',
+            'AC_CHECK_TOOL',
+            'AC_CHECK_TOOLS',
+            'AC_CHECK_TYPE',
+            'AC_CHECK_TYPES',
+            'AC_CHECKING',
+            'AC_COMPILE_CHECK',
+            'AC_COMPILE_IFELSE',
+            'AC_COMPUTE_INT',
+            'AC_CONFIG_AUX_DIR',
+            'AC_CONFIG_COMMANDS',
+            'AC_CONFIG_COMMANDS_POST',
+            'AC_CONFIG_COMMANDS_PRE',
+            'AC_CONFIG_FILES',
+            'AC_CONFIG_HEADERS',
+            'AC_CONFIG_ITEMS',
+            'AC_CONFIG_LIBOBJ_DIR',
+            'AC_CONFIG_LINKS',
+            'AC_CONFIG_MACRO_DIR',
+            'AC_CONFIG_SRCDIR',
+            'AC_CONFIG_SUBDIRS',
+            'AC_CONFIG_TESTDIR',
+            'AC_CONST',
+            'AC_COPYRIGHT',
+            'AC_CROSS_CHECK',
+            'AC_CYGWIN',
+            'AC_DATAROOTDIR_CHECKED',
+            'AC_DECL_SYS_SIGLIST',
+            'AC_DECL_YYTEXT',
+            'AC_DEFINE',
+            'AC_DEFINE_UNQUOTED',
+            'AC_DEFUN',
+            'AC_DEFUN_ONCE',
+            'AC_DIAGNOSE',
+            'AC_DIR_HEADER',
+            'AC_DISABLE_OPTION_CHECKING',
+            'AC_DYNIX_SEQ',
+            'AC_EGREP_CPP',
+            'AC_EGREP_HEADER',
+            'AC_EMXOS2',
+            'AC_ENABLE',
+            'AC_ERLANG_CHECK_LIB',
+            'AC_ERLANG_NEED_ERL',
+            'AC_ERLANG_NEED_ERLC',
+            'AC_ERLANG_PATH_ERL',
+            'AC_ERLANG_PATH_ERLC',
+            'AC_ERLANG_SUBST_ERTS_VER',
+            'AC_ERLANG_SUBST_INSTALL_LIB_DIR',
+            'AC_ERLANG_SUBST_INSTALL_LIB_SUBDIR',
+            'AC_ERLANG_SUBST_LIB_DIR',
+            'AC_ERLANG_SUBST_ROOT_DIR',
+            'AC_ERROR',
+            'AC_EXEEXT',
+            'AC_F77_DUMMY_MAIN',
+            'AC_F77_FUNC',
+            'AC_F77_LIBRARY_LDFLAGS',
+            'AC_F77_MAIN',
+            'AC_F77_WRAPPERS',
+            'AC_FATAL',
+            'AC_FC_FREEFORM',
+            'AC_FC_FUNC',
+            'AC_FC_LIBRARY_LDFLAGS',
+            'AC_FC_MAIN',
+            'AC_FC_SRCEXT',
+            'AC_FC_WRAPPERS',
+            'AC_FIND_X',
+            'AC_FIND_XTRA',
+            'AC_FOREACH',
+            'AC_FUNC_ALLOCA',
+            'AC_FUNC_CHECK',
+            'AC_FUNC_CHOWN',
+            'AC_FUNC_CLOSEDIR_VOID',
+            'AC_FUNC_ERROR_AT_LINE',
+            'AC_FUNC_FNMATCH',
+            'AC_FUNC_FNMATCH_GNU',
+            'AC_FUNC_FORK',
+            'AC_FUNC_FSEEKO',
+            'AC_FUNC_GETGROUPS',
+            'AC_FUNC_GETLOADAVG',
+            'AC_FUNC_GETMNTENT',
+            'AC_FUNC_GETPGRP',
+            'AC_FUNC_LSTAT',
+            'AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK',
+            'AC_FUNC_MALLOC',
+            'AC_FUNC_MBRTOWC',
+            'AC_FUNC_MEMCMP',
+            'AC_FUNC_MKTIME',
+            'AC_FUNC_MMAP',
+            'AC_FUNC_OBSTACK',
+            'AC_FUNC_REALLOC',
+            'AC_FUNC_SELECT_ARGTYPES',
+            'AC_FUNC_SETPGRP',
+            'AC_FUNC_SETVBUF_REVERSED',
+            'AC_FUNC_STAT',
+            'AC_FUNC_STRCOLL',
+            'AC_FUNC_STRERROR_R',
+            'AC_FUNC_STRFTIME',
+            'AC_FUNC_STRNLEN',
+            'AC_FUNC_STRTOD',
+            'AC_FUNC_STRTOLD',
+            'AC_FUNC_UTIME_NULL',
+            'AC_FUNC_VPRINTF',
+            'AC_FUNC_WAIT3',
+            'AC_GCC_TRADITIONAL',
+            'AC_GETGROUPS_T',
+            'AC_GETLOADAVG',
+            'AC_GNU_SOURCE',
+            'AC_HAVE_FUNCS',
+            'AC_HAVE_HEADERS',
+            'AC_HAVE_LIBRARY',
+            'AC_HAVE_POUNDBANG',
+            'AC_HEADER_ASSERT',
+            'AC_HEADER_CHECK',
+            'AC_HEADER_DIRENT',
+            'AC_HEADER_EGREP',
+            'AC_HEADER_MAJOR',
+            'AC_HEADER_RESOLV',
+            'AC_HEADER_STAT',
+            'AC_HEADER_STDBOOL',
+            'AC_HEADER_STDC',
+            'AC_HEADER_SYS_WAIT',
+            'AC_HEADER_TIME',
+            'AC_HEADER_TIOCGWINSZ',
+            'AC_HELP_STRING',
+            'AC_INCLUDES_DEFAULT',
+            'AC_INIT',
+            'AC_INLINE',
+            'AC_INT_16_BITS',
+            'AC_IRIX_SUN',
+            'AC_ISC_POSIX',
+            'AC_LANG_ASSERT',
+            'AC_LANG_C',
+            'AC_LANG_CALL',
+            'AC_LANG_CONFTEST',
+            'AC_LANG_CPLUSPLUS',
+            'AC_LANG_FORTRAN77',
+            'AC_LANG_FUNC_LINK_TRY',
+            'AC_LANG_POP',
+            'AC_LANG_PROGRAM',
+            'AC_LANG_PUSH',
+            'AC_LANG_RESTORE',
+            'AC_LANG_SAVE',
+            'AC_LANG_SOURCE',
+            'AC_LANG_WERROR',
+            'AC_LIBOBJ',
+            'AC_LIBSOURCE',
+            'AC_LIBSOURCES',
+            'AC_LINK_FILES',
+            'AC_LINK_IFELSE',
+            'AC_LN_S',
+            'AC_LONG_64_BITS',
+            'AC_LONG_DOUBLE',
+            'AC_LONG_FILE_NAMES',
+            'AC_MAJOR_HEADER',
+            'AC_MEMORY_H',
+            'AC_MINGW32',
+            'AC_MINIX',
+            'AC_MINUS_C_MINUS_O',
+            'AC_MMAP',
+            'AC_MODE_T',
+            'AC_MSG_CHECKING',
+            'AC_MSG_ERROR',
+            'AC_MSG_FAILURE',
+            'AC_MSG_NOTICE',
+            'AC_MSG_RESULT',
+            'AC_MSG_WARN',
+            'AC_OBJEXT',
+            'AC_OBSOLETE',
+            'AC_OFF_T',
+            'AC_OPENMP',
+            'AC_OUTPUT',
+            'AC_OUTPUT_COMMANDS',
+            'AC_PACKAGE_BUGREPORT',
+            'AC_PACKAGE_NAME',
+            'AC_PACKAGE_STRING',
+            'AC_PACKAGE_TARNAME',
+            'AC_PACKAGE_URL',
+            'AC_PACKAGE_VERSION',
+            'AC_PATH_PROG',
+            'AC_PATH_PROGS',
+            'AC_PATH_PROGS_FEATURE_CHECK',
+            'AC_PATH_TARGET_TOOL',
+            'AC_PATH_TOOL',
+            'AC_PATH_X',
+            'AC_PATH_XTRA',
+            'AC_PID_T',
+            'AC_PREFIX',
+            'AC_PREFIX_DEFAULT',
+            'AC_PREFIX_PROGRAM',
+            'AC_PREPROC_IFELSE',
+            'AC_PREREQ',
+            'AC_PRESERVE_HELP_ORDER',
+            'AC_PROG_AWK',
+            'AC_PROG_CC',
+            'AC_PROG_CC_C89',
+            'AC_PROG_CC_C99',
+            'AC_PROG_CC_C_O',
+            'AC_PROG_CC_STDC',
+            'AC_PROG_CPP',
+            'AC_PROG_CPP_WERROR',
+            'AC_PROG_CXX',
+            'AC_PROG_CXX_C_O',
+            'AC_PROG_CXXCPP',
+            'AC_PROG_EGREP',
+            'AC_PROG_F77',
+            'AC_PROG_F77_C_O',
+            'AC_PROG_FC',
+            'AC_PROG_FC_C_O',
+            'AC_PROG_FGREP',
+            'AC_PROG_GCC_TRADITIONAL',
+            'AC_PROG_GREP',
+            'AC_PROG_INSTALL',
+            'AC_PROG_LEX',
+            'AC_PROG_LN_S',
+            'AC_PROG_MAKE_SET',
+            'AC_PROG_MKDIR_P',
+            'AC_PROG_OBJC',
+            'AC_PROG_OBJCPP',
+            'AC_PROG_OBJCXX',
+            'AC_PROG_OBJCXXCPP',
+            'AC_PROG_RANLIB',
+            'AC_PROG_SED',
+            'AC_PROG_YACC',
+            'AC_PROGRAM_CHECK',
+            'AC_PROGRAM_EGREP',
+            'AC_PROGRAM_PATH',
+            'AC_PROGRAMS_CHECK',
+            'AC_PROGRAMS_PATH',
+            'AC_REMOTE_TAPE',
+            'AC_REPLACE_FNMATCH',
+            'AC_REPLACE_FUNCS',
+            'AC_REQUIRE',
+            'AC_REQUIRE_AUX_FILE',
+            'AC_REQUIRE_CPP',
+            'AC_RESTARTABLE_SYSCALLS',
+            'AC_RETSIGTYPE',
+            'AC_REVISION',
+            'AC_RSH',
+            'AC_RUN_IFELSE',
+            'AC_SCO_INTL',
+            'AC_SEARCH_LIBS',
+            'AC_SET_MAKE',
+            'AC_SETVBUF_REVERSED',
+            'AC_SIZE_T',
+            'AC_SIZEOF_TYPE',
+            'AC_ST_BLKSIZE',
+            'AC_ST_BLOCKS',
+            'AC_ST_RDEV',
+            'AC_STAT_MACROS_BROKEN',
+            'AC_STDC_HEADERS',
+            'AC_STRCOLL',
+            'AC_STRUCT_DIRENT_D_INO',
+            'AC_STRUCT_DIRENT_D_TYPE',
+            'AC_STRUCT_ST_BLKSIZE',
+            'AC_STRUCT_ST_BLOCKS',
+            'AC_STRUCT_ST_RDEV',
+            'AC_STRUCT_TIMEZONE',
+            'AC_STRUCT_TM',
+            'AC_SUBST',
+            'AC_SUBST_FILE',
+            'AC_SYS_INTERPRETER',
+            'AC_SYS_LARGEFILE',
+            'AC_SYS_LONG_FILE_NAMES',
+            'AC_SYS_POSIX_TERMIOS',
+            'AC_SYS_RESTARTABLE_SYSCALLS',
+            'AC_SYS_SIGLIST_DECLARED',
+            'AC_TEST_CPP',
+            'AC_TEST_PROGRAM',
+            'AC_TIME_WITH_SYS_TIME',
+            'AC_TIMEZONE',
+            'AC_TRY_ACT',
+            'AC_TRY_COMPILE',
+            'AC_TRY_CPP',
+            'AC_TRY_LINK',
+            'AC_TRY_LINK_FUNC',
+            'AC_TRY_RUN',
+            'AC_TYPE_GETGROUPS',
+            'AC_TYPE_INT16_T',
+            'AC_TYPE_INT32_T',
+            'AC_TYPE_INT64_T',
+            'AC_TYPE_INT8_T',
+            'AC_TYPE_INTMAX_T',
+            'AC_TYPE_INTPTR_T',
+            'AC_TYPE_LONG_DOUBLE',
+            'AC_TYPE_LONG_DOUBLE_WIDER',
+            'AC_TYPE_LONG_LONG_INT',
+            'AC_TYPE_MBSTATE_T',
+            'AC_TYPE_MODE_T',
+            'AC_TYPE_OFF_T',
+            'AC_TYPE_PID_T',
+            'AC_TYPE_SIGNAL',
+            'AC_TYPE_SIZE_T',
+            'AC_TYPE_SSIZE_T',
+            'AC_TYPE_UID_T',
+            'AC_TYPE_UINT16_T',
+            'AC_TYPE_UINT32_T',
+            'AC_TYPE_UINT64_T',
+            'AC_TYPE_UINT8_T',
+            'AC_TYPE_UINTMAX_T',
+            'AC_TYPE_UINTPTR_T',
+            'AC_TYPE_UNSIGNED_LONG_LONG_INT',
+            'AC_UID_T',
+            'AC_UNISTD_H',
+            'AC_USE_SYSTEM_EXTENSIONS',
+            'AC_USG',
+            'AC_UTIME_NULL',
+            'AC_VALIDATE_CACHED_SYSTEM_TUPLE',
+            'AC_VERBOSE',
+            'AC_VFORK',
+            'AC_VPRINTF',
+            'AC_WAIT3',
+            'AC_WARN',
+            'AC_WARNING',
+            'AC_WITH',
+            'AC_WORDS_BIGENDIAN',
+            'AC_XENIX_DIR',
+            'AC_YYTEXT_POINTER',
+            'AH_BOTTOM',
+            'AH_HEADER',
+            'AH_TEMPLATE',
+            'AH_TOP',
+            'AH_VERBATIM',
+            'AU_ALIAS',
+            'AU_DEFUN'),
+            ),
+    'SYMBOLS' => array('(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`'),
+    'CASE_SENSITIVE' => array(
+            GESHI_COMMENTS => false,
+                1 => true,
+                ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00ffff;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666;',
+            2 => 'color: #339900;',
+            3 => 'color: #666666;',
+            'MULTI' => 'color: #ff0000; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;',
+            1 => 'color: #000099;',
+            2 => 'color: #660099;',
+            3 => 'color: #660099;',
+            4 => 'color: #660099;',
+            5 => 'color: #006699;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #008000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #996600;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000dd;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;',
+            1 => 'color: #000080;',
+            2 => 'color: #000040;',
+            3 => 'color: #000040;',
+            4 => 'color: #008080;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '$'
+            ),
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#])",
+            'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%\\/])"
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/autohotkey.php b/inc/geshi/autohotkey.php
index 1a6346340..6a3528334 100644
--- a/inc/geshi/autohotkey.php
+++ b/inc/geshi/autohotkey.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Naveen Garg (naveen.garg@gmail.com)
  * Copyright: (c) 2009 Naveen Garg and GeSHi
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/06/11
  *
  * Autohotkey language file for GeSHi.
diff --git a/inc/geshi/autoit.php b/inc/geshi/autoit.php
index e3185d063..c8ef4404b 100644
--- a/inc/geshi/autoit.php
+++ b/inc/geshi/autoit.php
@@ -4,7 +4,7 @@
  * --------
  * Author: big_daddy (robert.i.anthony@gmail.com)
  * Copyright: (c) 2006 and to GESHi ;)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/01/26
  *
  * AutoIT language file for GeSHi.
@@ -60,7 +60,10 @@ $language_data = array (
     'COMMENT_MULTI' => array(
         '#comments-start' => '#comments-end',
         '#cs' => '#ce'),
-    'COMMENT_REGEXP' => array(0 => '/(?<!#)#(\s.*)?$/m'),
+    'COMMENT_REGEXP' => array(
+        0 => '/(?<!#)#(\s.*)?$/m',
+        1 => '/(?<=include)\s+<.*?>/'
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
     'ESCAPE_CHAR' => '',
@@ -1101,8 +1104,9 @@ $language_data = array (
             6 => 'color: #A00FF0; font-style: italic;'
             ),
         'COMMENTS' => array(
+            'MULTI' => 'font-style: italic; color: #669900;',
             0 => 'font-style: italic; color: #009933;',
-            'MULTI' => 'font-style: italic; color: #669900;'
+            1 => 'font-style: italic; color: #9977BB;',
             ),
         'ESCAPE_CHAR' => array(
             0 => ''
@@ -1111,7 +1115,7 @@ $language_data = array (
             0 => 'color: #FF0000; font-weight: bold;'
             ),
         'STRINGS' => array(
-            0 => 'font-weight: bold; color: #008080;'
+            0 => 'font-weight: bold; color: #9977BB;'
             ),
         'NUMBERS' => array(
             0 => 'color: #AC00A9; font-style: italic; font-weight: bold;'
diff --git a/inc/geshi/avisynth.php b/inc/geshi/avisynth.php
index 9031e8caa..f74f50c3a 100644
--- a/inc/geshi/avisynth.php
+++ b/inc/geshi/avisynth.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Ryan Jones (sciguyryan@gmail.com)
  * Copyright: (c) 2008 Ryan Jones
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/10/08
  *
  * AviSynth language file for GeSHi.
diff --git a/inc/geshi/awk.php b/inc/geshi/awk.php
index abecf72b5..5d540315c 100644
--- a/inc/geshi/awk.php
+++ b/inc/geshi/awk.php
@@ -4,7 +4,7 @@
  * -------
  * Author: George Pollard (porges@porg.es)
  * Copyright: (c) 2009 George Pollard
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/01/28
  *
  * Awk language file for GeSHi.
diff --git a/inc/geshi/bash.php b/inc/geshi/bash.php
index 0b1583b7b..dad391c8a 100644
--- a/inc/geshi/bash.php
+++ b/inc/geshi/bash.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org)
  * Copyright: (c) 2004 Andreas Gohr, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/20
  *
  * BASH language file for GeSHi.
@@ -91,7 +91,7 @@ $language_data = array (
             ),
         2 => array(
             'aclocal', 'aconnect', 'aplay', 'apm', 'apmsleep', 'apropos',
-            'apt-cache', 'apt-get', 'apt-key', 'aptitude',
+            'apt-cache', 'apt-file', 'apt-get', 'apt-key', 'apt-src', 'aptitude',
             'ar', 'arch', 'arecord', 'as', 'as86', 'ash', 'autoconf',
             'autoheader', 'automake', 'awk',
 
@@ -104,10 +104,11 @@ $language_data = array (
             'chown', 'chroot', 'chsh', 'chvt', 'clear', 'cmp', 'comm', 'co',
             'col', 'cp', 'cpio', 'cpp', 'csh', 'cut', 'cvs', 'cvs-pserver',
 
-            'dash', 'date', 'dd', 'dc', 'dcop', 'deallocvt', 'df', 'dialog',
-            'diff', 'diff3', 'dir', 'dircolors', 'directomatic', 'dirname',
-            'dmesg', 'dnsdomainname', 'domainname', 'dpkg', 'dselect', 'du',
-            'dumpkeys',
+            'dash', 'date', 'dc', 'dch', 'dcop', 'dd', 'ddate', 'ddd',
+            'deallocvt', 'debconf', 'defoma', 'depmod', 'df', 'dh',
+            'dialog', 'diff', 'diff3', 'dig', 'dir', 'dircolors', 'directomatic',
+            'dirname', 'dmesg', 'dnsdomainname', 'domainname', 'dpkg',
+            'dselect', 'du', 'dumpkeys',
 
             'ed', 'egrep', 'env', 'expr',
 
@@ -208,8 +209,10 @@ $language_data = array (
 
             'valgrind', 'vdir', 'vi', 'vim', 'vmstat',
 
-            'w', 'wall', 'wc', 'wget', 'whatis', 'whereis', 'which', 'whiptail',
-            'who', 'whoami', 'write',
+            'w', 'wall', 'watch', 'wc', 'wget', 'whatis', 'whereis',
+            'which', 'whiptail', 'who', 'whoami', 'whois', 'wine', 'wineboot',
+            'winebuild', 'winecfg', 'wineconsole', 'winedbg', 'winedump',
+            'winefile', 'wodim', 'write',
 
             'xargs', 'xhost', 'xmodmap', 'xset',
 
@@ -302,7 +305,7 @@ $language_data = array (
         //Shorthand shell variables
         4 => "\\$[*#\$\\-\\?!\d]",
         //Parameters of commands
-        5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)"
+        5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|<(?:SEMI|PIPE)>|$)"
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
diff --git a/inc/geshi/basic4gl.php b/inc/geshi/basic4gl.php
index 55be6dc34..7ac869304 100644
--- a/inc/geshi/basic4gl.php
+++ b/inc/geshi/basic4gl.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Matthew Webb (bmatthew1@blueyonder.co.uk)
  * Copyright: (c) 2004 Matthew Webb (http://matthew-4gl.wikispaces.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/09/15
  *
  * Basic4GL language file for GeSHi.
diff --git a/inc/geshi/bf.php b/inc/geshi/bf.php
index c69155e88..ba44e6caf 100644
--- a/inc/geshi/bf.php
+++ b/inc/geshi/bf.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/10/31
  *
  * Brainfuck language file for GeSHi.
diff --git a/inc/geshi/bibtex.php b/inc/geshi/bibtex.php
index 82c13b8bc..e47e0665c 100644
--- a/inc/geshi/bibtex.php
+++ b/inc/geshi/bibtex.php
@@ -4,7 +4,7 @@
  * -----
  * Author: Quinn Taylor (quinntaylor@mac.com)
  * Copyright: (c) 2009 Quinn Taylor (quinntaylor@mac.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/04/29
  *
  * BibTeX language file for GeSHi.
diff --git a/inc/geshi/blitzbasic.php b/inc/geshi/blitzbasic.php
index c3871a21e..e43ec4635 100644
--- a/inc/geshi/blitzbasic.php
+++ b/inc/geshi/blitzbasic.php
@@ -4,7 +4,7 @@
  * --------------
  * Author: P�draig O`Connel (info@moonsword.info)
  * Copyright: (c) 2005 P�draig O`Connel (http://moonsword.info)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 16.10.2005
  *
  * BlitzBasic language file for GeSHi.
diff --git a/inc/geshi/bnf.php b/inc/geshi/bnf.php
index db5cdb59d..f52df9cb8 100644
--- a/inc/geshi/bnf.php
+++ b/inc/geshi/bnf.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Rowan Rodrik van der Molen (rowan@bigsmoke.us)
  * Copyright: (c) 2006 Rowan Rodrik van der Molen (http://www.bigsmoke.us/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/09/28
  *
  * BNF (Backus-Naur form) language file for GeSHi.
@@ -45,21 +45,26 @@
 
 $language_data = array (
     'LANG_NAME' => 'bnf',
-    'COMMENT_SINGLE' => array(),
+    'COMMENT_SINGLE' => array(';'),
     'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"', "'"),
     'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(),
     'SYMBOLS' => array(
-        '(', ')', '<', '>', '::=', '|'
+        0 => array('(', ')'),
+        1 => array('<', '>'),
+        2 => array('[', ']'),
+        3 => array('{', '}'),
+        4 => array('=', '*', '/', '|', ':'),
     ),
     'CASE_SENSITIVE' => array(
-        //GESHI_COMMENTS => false
+        GESHI_COMMENTS => false
     ),
     'STYLES' => array(
         'KEYWORDS' => array(),
         'COMMENTS' => array(
+            0 => 'color: #666666; font-style: italic;', // Single Line comments
             ),
         'ESCAPE_CHAR' => array(
             0 => ''
@@ -78,8 +83,12 @@ $language_data = array (
             0 => ''
             ),
         'SYMBOLS' => array(
-            0 => 'color: #000066; font-weight: bold;', // Unused
-            ),
+            0 => 'color: #000066; font-weight: bold;', // Round brackets
+            1 => 'color: #000066; font-weight: bold;', // Angel Brackets
+            2 => 'color: #000066; font-weight: bold;', // Square Brackets
+            3 => 'color: #000066; font-weight: bold;', // BRaces
+            4 => 'color: #006600; font-weight: bold;', // Other operator symbols
+        ),
         'REGEXPS' => array(
             0 => 'color: #007;',
             ),
@@ -107,4 +116,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/boo.php b/inc/geshi/boo.php
index df843797d..09d4ee40e 100644
--- a/inc/geshi/boo.php
+++ b/inc/geshi/boo.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
  * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/09/10
  *
  * Boo language file for GeSHi.
diff --git a/inc/geshi/c.php b/inc/geshi/c.php
index bb6be43e1..b0e2987d7 100644
--- a/inc/geshi/c.php
+++ b/inc/geshi/c.php
@@ -7,7 +7,7 @@
  *  - Jack Lloyd (lloyd@randombit.net)
  *  - Michael Mol (mikemol@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * C language file for GeSHi.
@@ -96,8 +96,22 @@ $language_data = array (
             ),
         4 => array(
             'auto', 'char', 'const', 'double',  'float', 'int', 'long',
-            'register', 'short', 'signed', 'sizeof', 'static', 'string', 'struct',
-            'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t'
+            'register', 'short', 'signed', 'sizeof', 'static', 'struct',
+            'typedef', 'union', 'unsigned', 'void', 'volatile', 'wchar_t',
+
+            'int8', 'int16', 'int32', 'int64',
+            'uint8', 'uint16', 'uint32', 'uint64',
+
+            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
+            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
+
+            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
+            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
+
+            'int8_t', 'int16_t', 'int32_t', 'int64_t',
+            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
+
+            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
             ),
         ),
     'SYMBOLS' => array(
diff --git a/inc/geshi/c_mac.php b/inc/geshi/c_mac.php
index 6ead4ae15..1a034ae08 100644
--- a/inc/geshi/c_mac.php
+++ b/inc/geshi/c_mac.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
  * Copyright: (c) 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * C for Macs language file for GeSHi.
@@ -112,10 +112,25 @@ $language_data = array (
             ),
         4 => array(
             'auto', 'char', 'const', 'double',  'float', 'int', 'long',
-            'register', 'short', 'signed', 'static', 'string', 'struct',
+            'register', 'short', 'signed', 'static', 'struct',
             'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
             'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
+
+            'int8', 'int16', 'int32', 'int64',
+            'uint8', 'uint16', 'uint32', 'uint64',
+
+            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
+            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
+
+            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
+            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
+
+            'int8_t', 'int16_t', 'int32_t', 'int64_t',
+            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
+
+            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t',
+
             // Mac-specific types:
             'CFArrayRef', 'CFDictionaryRef', 'CFMutableDictionaryRef', 'CFBundleRef', 'CFSetRef', 'CFStringRef',
             'CFURLRef', 'CFLocaleRef', 'CFDateFormatterRef', 'CFNumberFormatterRef', 'CFPropertyListRef',
diff --git a/inc/geshi/caddcl.php b/inc/geshi/caddcl.php
index 27474627e..74310d6d9 100644
--- a/inc/geshi/caddcl.php
+++ b/inc/geshi/caddcl.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/30
  *
  * CAD DCL (Dialog Control Language) language file for GeSHi.
diff --git a/inc/geshi/cadlisp.php b/inc/geshi/cadlisp.php
index 5061c79e4..9277e5192 100644
--- a/inc/geshi/cadlisp.php
+++ b/inc/geshi/cadlisp.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/blog)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/30
  *
  * AutoCAD/IntelliCAD Lisp language file for GeSHi.
diff --git a/inc/geshi/cfdg.php b/inc/geshi/cfdg.php
index 8d03b89df..ee17fdf53 100644
--- a/inc/geshi/cfdg.php
+++ b/inc/geshi/cfdg.php
@@ -4,7 +4,7 @@
  * --------
  * Author: John Horigan <john@glyphic.com>
  * Copyright: (c) 2006 John Horigan http://www.ozonehouse.com/john/
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/03/11
  *
  * CFDG language file for GeSHi.
diff --git a/inc/geshi/cfm.php b/inc/geshi/cfm.php
index cdb7bf32c..dd508eec7 100644
--- a/inc/geshi/cfm.php
+++ b/inc/geshi/cfm.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Diego
  * Copyright: (c) 2006 Diego
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/02/25
  *
  * ColdFusion language file for GeSHi.
diff --git a/inc/geshi/chaiscript.php b/inc/geshi/chaiscript.php
new file mode 100644
index 000000000..e1baad4db
--- /dev/null
+++ b/inc/geshi/chaiscript.php
@@ -0,0 +1,140 @@
+<?php
+/*************************************************************************************
+ * chaiscript.php
+ * --------------
+ * Author: Jason Turner & Jonathan Turner
+ * Copyright: (c) 2010 Jason Turner (lefticus@gmail.com),
+ *            (c) 2009 Jonathan Turner,
+ *            (c) 2004 Ben Keen (ben.keen@gmail.com), Benny Baumann (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.8
+ * Date Started: 2009/07/03
+ *
+ * ChaiScript language file for GeSHi.
+ *
+ * Based on JavaScript by Ben Keen (ben.keen@gmail.com)
+ *
+ * CHANGES
+ * -------
+ * 2010/03/30 (1.0.8.8)
+ *  -  Updated to include more language features
+ *  -  Removed left over pieces from JavaScript
+ * 2009/07/03 (1.0.0)
+ *  -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'ChaiScript',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    //Regular Expressions
+    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'else', 'else if', 'eval', 'for', 'if', 'return', 'while', 'try', 'catch', 'finally',
+            ),
+        2 => array(
+            'def', 'false', 'fun', 'true', 'var', 'attr',
+            ),
+        3 => array(
+            // built in functions
+            'throw',
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '@', '&', '|', '^',
+        '<', '>', '=',
+        ',', ';', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000066; font-weight: bold;',
+            2 => 'color: #003366; font-weight: bold;',
+            3 => 'color: #000066;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #006600; font-style: italic;',
+            2 => 'color: #009966; font-style: italic;',
+            'MULTI' => 'color: #006600; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #3366CC;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #CC0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #660066;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(
+        0 => array(
+            ),
+        1 => array(
+            )
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        0 => true,
+        1 => true
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/cil.php b/inc/geshi/cil.php
index 4ca93ecb0..142c7743a 100644
--- a/inc/geshi/cil.php
+++ b/inc/geshi/cil.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Marcus Griep (neoeinstein+GeSHi@gmail.com)
  * Copyright: (c) 2007 Marcus Griep (http://www.xpdm.us)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/10/24
  *
  * CIL (Common Intermediate Language) language file for GeSHi.
diff --git a/inc/geshi/clojure.php b/inc/geshi/clojure.php
index b970deea8..4bcb9a3ae 100644
--- a/inc/geshi/clojure.php
+++ b/inc/geshi/clojure.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Jess Johnson (jess@grok-code.com)
  * Copyright: (c) 2009 Jess Johnson (http://grok-code.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/09/20
  *
  * Clojure language file for GeSHi.
@@ -51,10 +51,10 @@ $language_data = array (
             'defn', 'defn-', 'defmulti', 'defmethod', 'defmacro', 'deftest',
             'defstruct', 'def', 'defonce', 'let', 'letfn', 'do', 'cond', 'condp',
             'for', 'loop', 'recur', 'when', 'when-not', 'when-let', 'when-first',
-            'if', 'if-let', 'if-not', 'doto', 'and', 'or',
+            'if', 'if-let', 'if-not', 'doto', 'and', 'or','not','aget','aset',
             'dosync', 'doseq', 'dotimes', 'dorun', 'doall',
-            'load', 'import', 'unimport', 'ns', 'in-ns', 'refer',
-            'try', 'catch', 'finally', 'throw',
+            'load', 'import', 'unimport', 'ns', 'in-ns', 'refer', 'print',
+            'try', 'catch', 'finally', 'throw', 'fn', 'update-in',
             'with-open', 'with-local-vars', 'binding',
             'gen-class', 'gen-and-load-class', 'gen-and-save-class',
             'implement', 'proxy', 'lazy-cons', 'with-meta',
@@ -72,7 +72,7 @@ $language_data = array (
             'line-seq', 'resultset-seq', 're-seq', 're-find', 'tree-seq', 'file-seq',
             'iterator-seq', 'enumeration-seq', 'declare',  'xml-seq',
             'symbol?', 'string?', 'vector', 'conj', 'str',
-            'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'format',
+            'pos?', 'neg?', 'zero?', 'nil?', 'inc', 'dec', 'format',
             'alter', 'commute', 'ref-set', 'floor', 'assoc', 'send', 'send-off'
             )
         ),
diff --git a/inc/geshi/cmake.php b/inc/geshi/cmake.php
index a9cfaafdc..ccd855b0b 100644
--- a/inc/geshi/cmake.php
+++ b/inc/geshi/cmake.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Daniel Nelson (danieln@eng.utah.edu)
  * Copyright: (c) 2009 Daniel Nelson
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/04/06
  *
  * CMake language file for GeSHi.
diff --git a/inc/geshi/cobol.php b/inc/geshi/cobol.php
index 63abf3f09..c1220a06f 100644
--- a/inc/geshi/cobol.php
+++ b/inc/geshi/cobol.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: BenBE (BenBE@omorphia.org)
  * Copyright: (c) 2007-2008 BenBE (http://www.omorphia.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/07/02
  *
  * COBOL language file for GeSHi.
diff --git a/inc/geshi/cpp-qt.php b/inc/geshi/cpp-qt.php
index a96cd38af..8523d16b7 100644
--- a/inc/geshi/cpp-qt.php
+++ b/inc/geshi/cpp-qt.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Iulian M
  * Copyright: (c) 2006 Iulian M
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/09/27
  *
  * C++ (with QT extensions) language file for GeSHi.
@@ -89,7 +89,7 @@ $language_data = array (
             'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
             'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
             'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
-            'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class' ,
+            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class' ,
             'foreach','connect', 'Q_OBJECT' , 'slots' , 'signals', 'Q_SIGNALS', 'Q_SLOTS',
             'Q_FOREACH', 'QCOMPARE', 'QVERIFY', 'qDebug', 'kDebug', 'QBENCHMARK'
             ),
@@ -120,7 +120,21 @@ $language_data = array (
             'register', 'short', 'shortint', 'signed', 'static', 'struct',
             'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
             'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
+
+            'int8', 'int16', 'int32', 'int64',
+            'uint8', 'uint16', 'uint32', 'uint64',
+
+            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
+            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
+
+            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
+            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
+
+            'int8_t', 'int16_t', 'int32_t', 'int64_t',
+            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
+
+            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
             ),
         5 => array(
             "Q_UINT16", "Q_UINT32", "Q_UINT64", "Q_UINT8", "Q_ULLONG",
diff --git a/inc/geshi/cpp.php b/inc/geshi/cpp.php
index 7fb1da360..30f5a93f2 100644
--- a/inc/geshi/cpp.php
+++ b/inc/geshi/cpp.php
@@ -7,7 +7,7 @@
  *  - M. Uli Kusterer (witness.of.teachtext@gmx.net)
  *  - Jack Lloyd (lloyd@randombit.net)
  * Copyright: (c) 2004 Dennis Bayer, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/09/27
  *
  * C++ language file for GeSHi.
@@ -97,7 +97,7 @@ $language_data = array (
             'EXIT_FAILURE', 'EXIT_SUCCESS', 'RAND_MAX', 'CLOCKS_PER_SEC',
             'virtual', 'public', 'private', 'protected', 'template', 'using', 'namespace',
             'try', 'catch', 'inline', 'dynamic_cast', 'const_cast', 'reinterpret_cast',
-            'static_cast', 'explicit', 'friend', 'wchar_t', 'typename', 'typeid', 'class'
+            'static_cast', 'explicit', 'friend', 'typename', 'typeid', 'class'
             ),
         3 => array(
             'cin', 'cerr', 'clog', 'cout', 'delete', 'new', 'this',
@@ -126,7 +126,21 @@ $language_data = array (
             'register', 'short', 'shortint', 'signed', 'static', 'struct',
             'typedef', 'union', 'unsigned', 'void', 'volatile', 'extern', 'jmp_buf',
             'signal', 'raise', 'va_list', 'ptrdiff_t', 'size_t', 'FILE', 'fpos_t',
-            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm',
+            'div_t', 'ldiv_t', 'clock_t', 'time_t', 'tm', 'wchar_t',
+
+            'int8', 'int16', 'int32', 'int64',
+            'uint8', 'uint16', 'uint32', 'uint64',
+
+            'int_fast8_t', 'int_fast16_t', 'int_fast32_t', 'int_fast64_t',
+            'uint_fast8_t', 'uint_fast16_t', 'uint_fast32_t', 'uint_fast64_t',
+
+            'int_least8_t', 'int_least16_t', 'int_least32_t', 'int_least64_t',
+            'uint_least8_t', 'uint_least16_t', 'uint_least32_t', 'uint_least64_t',
+
+            'int8_t', 'int16_t', 'int32_t', 'int64_t',
+            'uint8_t', 'uint16_t', 'uint32_t', 'uint64_t',
+
+            'intmax_t', 'uintmax_t', 'intptr_t', 'uintptr_t'
             ),
         ),
     'SYMBOLS' => array(
diff --git a/inc/geshi/csharp.php b/inc/geshi/csharp.php
index aa166801d..6a9c3c2bd 100644
--- a/inc/geshi/csharp.php
+++ b/inc/geshi/csharp.php
@@ -5,7 +5,7 @@
  * Author: Alan Juden (alan@judenware.org)
  * Revised by: Michael Mol (mikemol@gmail.com)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * C# language file for GeSHi.
diff --git a/inc/geshi/css.php b/inc/geshi/css.php
index 04313d6d8..51f261486 100644
--- a/inc/geshi/css.php
+++ b/inc/geshi/css.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/18
  *
  * CSS language file for GeSHi.
diff --git a/inc/geshi/cuesheet.php b/inc/geshi/cuesheet.php
index 2fd610c15..81c607c10 100644
--- a/inc/geshi/cuesheet.php
+++ b/inc/geshi/cuesheet.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (benbe@geshi.org)
  * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/12/21
  *
  * Cuesheet language file for GeSHi.
diff --git a/inc/geshi/d.php b/inc/geshi/d.php
index f9157a514..5ef349d52 100644
--- a/inc/geshi/d.php
+++ b/inc/geshi/d.php
@@ -4,7 +4,7 @@
  * -----
  * Author: Thomas Kuehne (thomas@kuehne.cn)
  * Copyright: (c) 2005 Thomas Kuehne (http://thomas.kuehne.cn/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/04/22
  *
  * D language file for GeSHi.
diff --git a/inc/geshi/dcs.php b/inc/geshi/dcs.php
index daad329c3..4762ed906 100644
--- a/inc/geshi/dcs.php
+++ b/inc/geshi/dcs.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Stelio Passaris (GeSHi@stelio.net)
  * Copyright: (c) 2009 Stelio Passaris (http://stelio.net/stiki/GeSHi)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/01/20
  *
  * DCS language file for GeSHi.
diff --git a/inc/geshi/delphi.php b/inc/geshi/delphi.php
index 2b758d7db..ff54af8f9 100644
--- a/inc/geshi/delphi.php
+++ b/inc/geshi/delphi.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/26
  *
  * Delphi (Object Pascal) language file for GeSHi.
diff --git a/inc/geshi/diff.php b/inc/geshi/diff.php
index f1a4baf65..5570406da 100644
--- a/inc/geshi/diff.php
+++ b/inc/geshi/diff.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Conny Brunnkvist (conny@fuchsia.se), W. Tasin (tasin@fhm.edu)
  * Copyright: (c) 2004 Fuchsia Open Source Solutions (http://www.fuchsia.se/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/12/29
  *
  * Diff-output language file for GeSHi.
diff --git a/inc/geshi/div.php b/inc/geshi/div.php
index 5804bb727..276e9e882 100644
--- a/inc/geshi/div.php
+++ b/inc/geshi/div.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Gabriel Lorenzo (ermakina@gmail.com)
  * Copyright: (c) 2005 Gabriel Lorenzo (http://ermakina.gazpachito.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/06/19
  *
  * DIV language file for GeSHi.
diff --git a/inc/geshi/dos.php b/inc/geshi/dos.php
index c111e1b5e..9484d3766 100644
--- a/inc/geshi/dos.php
+++ b/inc/geshi/dos.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Alessandro Staltari (staltari@geocities.com)
  * Copyright: (c) 2005 Alessandro Staltari (http://www.geocities.com/SiliconValley/Vista/8155/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/07/05
  *
  * DOS language file for GeSHi.
@@ -64,7 +64,10 @@ $language_data = array (
     'COMMENT_SINGLE' => array(),
     'COMMENT_MULTI' => array(),
     //DOS comment lines
-    'COMMENT_REGEXP' => array(1 => "/^\s*@?REM.*$/mi"),
+    'COMMENT_REGEXP' => array(
+        1 => "/^\s*@?REM\b.*$/mi",
+        2 => "/^\s*::.*$/m"
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array(),
     'ESCAPE_CHAR' => '',
@@ -114,7 +117,8 @@ $language_data = array (
             4 => 'color: #0000ff; font-weight: bold;'
             ),
         'COMMENTS' => array(
-            1 => 'color: #808080; font-style: italic;'
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #b100b1; font-style: italic;',
             ),
         'ESCAPE_CHAR' => array(
             0 => 'color: #ff0000; font-weight: bold;'
@@ -195,4 +199,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/dot.php b/inc/geshi/dot.php
index 6e4df2fff..04b6792d7 100644
--- a/inc/geshi/dot.php
+++ b/inc/geshi/dot.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Adrien Friggeri (adrien@friggeri.net)
  * Copyright: (c) 2007 Adrien Friggeri (http://www.friggeri.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/05/30
  *
  * dot language file for GeSHi.
diff --git a/inc/geshi/ecmascript.php b/inc/geshi/ecmascript.php
new file mode 100644
index 000000000..3e61b57cb
--- /dev/null
+++ b/inc/geshi/ecmascript.php
@@ -0,0 +1,210 @@
+<?php
+/*************************************************************************************
+ * ecmascript.php
+ * --------------
+ * Author: Michel Mariani (http://www.tonton-pixel.com/site/)
+ * Copyright: (c) 2010 Michel Mariani (http://www.tonton-pixel.com/site/)
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/01/08
+ *
+ * ECMAScript language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2010/01/08 (1.0.8.6)
+ *  -  First Release
+ *  -  Adapted from javascript.php to support plain ECMAScript/JavaScript (no HTML, no DOM)
+ *  -  Fixed regular expression for 'COMMENT_REGEXP' to exclude 'COMMENT_MULTI' syntax
+ *  -  Added '~' and removed '@' from 'SYMBOLS'
+ *  -  Cleaned up and expanded the list of 'KEYWORDS'
+ *  -  Added support for 'ESCAPE_REGEXP' and 'NUMBERS' (from c.php)
+ *  -  Selected colors to match my web site color chart
+ *  -  Added full number highlighting in all C language style formats
+ *  -  Added highlighting of escape sequences in strings, in all C language style formats including Unicode (\uXXXX).
+ *
+ * TODO (updated 2010/01/08)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'ECMAScript',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    // Regular Expression Literals
+    'COMMENT_REGEXP' => array(2 => "/(?<=[\\s^])s\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])m?\\/(?:\\\\.|(?!\n)[^\\*\\/\\\\])+\\/[gimsu]*(?=[\\s$\\.\\,\\;\\)])/iU"),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        //Simple Single Char Escapes
+        1 => "#\\\\[\\\\abfnrtv\'\"?\n]#i",
+        //Hexadecimal Char Specs
+        2 => "#\\\\x[\da-fA-F]{2}#",
+        //Hexadecimal Char Specs
+        3 => "#\\\\u[\da-fA-F]{4}#",
+        //Hexadecimal Char Specs
+        4 => "#\\\\U[\da-fA-F]{8}#",
+        //Octal Char Specs
+        5 => "#\\\\[0-7]{1,3}#"
+        ),
+    'NUMBERS' =>
+        GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_INT_CSTYLE | GESHI_NUMBER_BIN_PREFIX_0B |
+        GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_NONSCI |
+        GESHI_NUMBER_FLT_NONSCI_F | GESHI_NUMBER_FLT_SCI_SHORT | GESHI_NUMBER_FLT_SCI_ZERO,
+    'KEYWORDS' => array(
+        1 => array( // Reserved literals
+            'false', 'true',
+            'null'
+            ),
+        2 => array( // Main keywords
+            'break', 'case', 'catch', 'continue', 'default', 'delete', 'do', 'else',
+            'finally', 'for', 'function', 'if', 'in', 'instanceof', 'new', 'return',
+            'switch', 'this', 'throw', 'try', 'typeof', 'var', 'void', 'while',
+            'with'
+            ),
+        3 => array( // Extra keywords or keywords reserved for future use
+            'abstract', 'as', 'boolean', 'byte', 'char', 'class', 'const', 'debugger',
+            'double', 'enum', 'export', 'extends', 'final', 'float', 'goto', 'implements',
+            'import', 'int', 'interface', 'is', 'long', 'native', 'namespace', 'package',
+            'private', 'protected', 'public', 'short', 'static', 'super', 'synchronized', 'throws',
+            'transient', 'use', 'volatile'
+            ),
+        4 => array( // Operators
+            'get', 'set'
+            ),
+        5 => array( // Built-in object classes
+            'Array', 'Boolean', 'Date', 'EvalError', 'Error', 'Function', 'Math', 'Number',
+            'Object', 'RangeError', 'ReferenceError', 'RegExp', 'String', 'SyntaxError', 'TypeError', 'URIError'
+            ),
+        6 => array( // Global properties
+            'Infinity', 'NaN', 'undefined'
+            ),
+        7 => array( // Global methods
+            'decodeURI', 'decodeURIComponent', 'encodeURI', 'encodeURIComponent',
+            'eval', 'isFinite', 'isNaN', 'parseFloat', 'parseInt',
+            // The escape and unescape functions do not work properly for non-ASCII characters and have been deprecated.
+            // In JavaScript 1.5 and later, use encodeURI, decodeURI, encodeURIComponent, and decodeURIComponent.
+            'escape', 'unescape'
+            ),
+        8 => array( // Function's arguments
+            'arguments'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '{', '}',
+        '+', '-', '*', '/', '%',
+        '!', '.', '&', '|', '^',
+        '<', '>', '=', '~',
+        ',', ';', '?', ':'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #009999;',
+            2 => 'color: #1500C8;',
+            3 => 'color: #1500C8;',
+            4 => 'color: #1500C8;',
+            5 => 'color: #1500C8;',
+            6 => 'color: #1500C8;',
+            7 => 'color: #1500C8;',
+            8 => 'color: #1500C8;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #CC0000;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #3366CC;',
+            1 => 'color: #3366CC;',
+            2 => 'color: #3366CC;',
+            3 => 'color: #3366CC;',
+            4 => 'color: #3366CC;',
+            5 => 'color: #3366CC;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #008800;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #9900FF;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF00FF;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #FF00FF;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #FF00FF;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color: #FF00FF;',
+            GESHI_NUMBER_FLT_NONSCI => 'color: #FF00FF;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #660066;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            0 => '',
+            1 => '',
+            2 => '',
+            3 => ''
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/eiffel.php b/inc/geshi/eiffel.php
index fa293c074..89cef7965 100644
--- a/inc/geshi/eiffel.php
+++ b/inc/geshi/eiffel.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Zoran Simic (zsimic@axarosenberg.com)
  * Copyright: (c) 2005 Zoran Simic
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/06/30
  *
  * Eiffel language file for GeSHi.
diff --git a/inc/geshi/email.php b/inc/geshi/email.php
index a902433bf..91a104840 100644
--- a/inc/geshi/email.php
+++ b/inc/geshi/email.php
@@ -4,7 +4,7 @@
  * ---------------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/10/19
  *
  * Email (mbox \ eml \ RFC format) language file for GeSHi.
diff --git a/inc/geshi/erlang.php b/inc/geshi/erlang.php
index cb7f25bf8..d98de2f37 100644
--- a/inc/geshi/erlang.php
+++ b/inc/geshi/erlang.php
@@ -7,7 +7,7 @@
  * - Uwe Dauernheim (uwe@dauernheim.net)
  * - Dan Forest-Barbier (dan@twisted.in)
  * Copyright: (c) 2008 Uwe Dauernheim (http://www.kreisquadratur.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008-09-27
  *
  * Erlang language file for GeSHi.
@@ -381,7 +381,7 @@ $language_data = array(
             ),
         // Functions
         3 => array(
-            GESHI_SEARCH => '([a-z][a-zA-Z0-9_]*|\'[a-zA-Z0-9_]*\')\s*(\()',
+            GESHI_SEARCH => '([a-z]\w*|\'\w*\')(\s*\()',
             GESHI_REPLACE => '\1',
             GESHI_MODIFIERS => '',
             GESHI_BEFORE => '',
@@ -397,7 +397,7 @@ $language_data = array(
             ),
         // Variables - With hack to avoid interfering wish GeSHi internals
         5 => array(
-            GESHI_SEARCH => '([([{,<+*-\/=\s!]|&lt;)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)[^a-zA-Z0-9_])([A-Z_][a-zA-Z0-9_]*)',
+            GESHI_SEARCH => '([([{,<+*-\/=\s!]|&lt;)(?!(?:PIPE|SEMI|DOT|NUM|REG3XP\d*)\W)([A-Z_]\w*)(?!\w)',
             GESHI_REPLACE => '\2',
             GESHI_MODIFIERS => '',
             GESHI_BEFORE => '\1',
diff --git a/inc/geshi/fo.php b/inc/geshi/fo.php
index aa4567961..3a1d24021 100644
--- a/inc/geshi/fo.php
+++ b/inc/geshi/fo.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Tan-Vinh Nguyen (tvnguyen@web.de)
  * Copyright: (c) 2009 Tan-Vinh Nguyen
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/03/23
  *
  * fo language file for GeSHi.
diff --git a/inc/geshi/fortran.php b/inc/geshi/fortran.php
index 7b390eda7..6eac52ae0 100644
--- a/inc/geshi/fortran.php
+++ b/inc/geshi/fortran.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Cedric Arrabie (cedric.arrabie@univ-pau.fr)
  * Copyright: (C) 2006 Cetric Arrabie
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/04/22
  *
  * Fortran language file for GeSHi.
diff --git a/inc/geshi/freebasic.php b/inc/geshi/freebasic.php
index faeee92f9..35fc8ca6f 100644
--- a/inc/geshi/freebasic.php
+++ b/inc/geshi/freebasic.php
@@ -4,7 +4,7 @@
  * -------------
  * Author: Roberto Rossi
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/08/19
  *
  * FreeBasic (http://www.freebasic.net/) language file for GeSHi.
diff --git a/inc/geshi/fsharp.php b/inc/geshi/fsharp.php
index 7743d3643..56146958c 100644
--- a/inc/geshi/fsharp.php
+++ b/inc/geshi/fsharp.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: julien ortin (jo_spam-divers@yahoo.fr)
  * Copyright: (c) 2009 julien ortin
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/09/20
  *
  * F# language file for GeSHi.
diff --git a/inc/geshi/gambas.php b/inc/geshi/gambas.php
index a848440df..0fc89bb59 100644
--- a/inc/geshi/gambas.php
+++ b/inc/geshi/gambas.php
@@ -5,7 +5,7 @@
  * Author: Jesus Guardon (jguardon@telefonica.net)
  * Copyright: (c) 2009 Jesus Guardon (http://gambas-es.org),
  *                     Benny Baumann (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/20
  *
  * GAMBAS language file for GeSHi.
diff --git a/inc/geshi/gdb.php b/inc/geshi/gdb.php
index 10a35cd38..ed7ee2ffa 100644
--- a/inc/geshi/gdb.php
+++ b/inc/geshi/gdb.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2009 Milian Wolff
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/06/24
  *
  * GDB language file for GeSHi.
diff --git a/inc/geshi/genero.php b/inc/geshi/genero.php
index 0b5611627..a7ccf5fee 100644
--- a/inc/geshi/genero.php
+++ b/inc/geshi/genero.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Lars Gersmann (lars.gersmann@gmail.com)
  * Copyright: (c) 2007 Lars Gersmann, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/07/01
  *
  * Genero (FOURJ's Genero 4GL) language file for GeSHi.
diff --git a/inc/geshi/genie.php b/inc/geshi/genie.php
new file mode 100644
index 000000000..66bea6dc7
--- /dev/null
+++ b/inc/geshi/genie.php
@@ -0,0 +1,157 @@
+<?php
+/*************************************************************************************
+ * genie.php
+ * ----------
+ * Author: Nicolas Joseph (nicolas.joseph@valaide.org)
+ * Copyright: (c) 2009 Nicolas Joseph
+ * Release Version: 1.0.8.8
+ * Date Started: 2009/04/29
+ *
+ * Genie language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Genie',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Using and Namespace directives (basic support)
+        //Please note that the alias syntax for using is not supported
+        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'HARDQUOTE' => array('@"', '"'),
+    'HARDESCAPE' => array('""'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'and', 'as', 'abstract', 'break', 'case', 'cast', 'catch', 'const',
+            'construct', 'continue', 'default', 'def', 'delete', 'div',
+            'dynamic', 'do', 'downto', 'else', 'ensures', 'except', 'extern',
+            'false', 'final', 'finally', 'for', 'foreach', 'get', 'if', 'in',
+            'init', 'inline', 'internal', 'implements', 'lock', 'not', 'null',
+            'of', 'or', 'otherwise', 'out', 'override', 'pass', 'raise',
+            'raises', 'readonly', 'ref', 'requires', 'self', 'set', 'static',
+            'super', 'switch', 'to', 'true', 'try', 'unless', 'uses', 'var', 'virtual',
+            'volatile', 'void', 'when', 'while'
+            ),
+//        2 => array(
+//            ),
+        3 => array(
+            'is', 'isa', 'new', 'owned', 'sizeof', 'typeof', 'unchecked',
+            'unowned', 'weak'
+            ),
+        4 => array(
+            'bool', 'byte', 'class', 'char', 'date', 'datetime', 'decimal', 'delegate',
+            'double', 'enum', 'event', 'exception', 'float', 'int', 'interface',
+            'long', 'object', 'prop', 'sbyte', 'short', 'single', 'string',
+            'struct', 'ulong', 'ushort'
+            ),
+//        5 => array(
+//            ),
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
+        '(', ')', '{', '}', '[', ']', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+//        2 => false,
+        3 => false,
+        4 => false,
+//        5 => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',
+//            2 => 'color: #FF8000; font-weight: bold;',
+            3 => 'color: #008000;',
+            4 => 'color: #FF0000;',
+//            5 => 'color: #000000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+//            2 => 'color: #008080;',
+            3 => 'color: #008080;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;',
+            'HARD' => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #666666;',
+            'HARD' => 'color: #666666;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+//        2 => '',
+        3 => '',
+        4 => '',
+//        5 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+        )
+    )
+);
+
+?>
diff --git a/inc/geshi/gettext.php b/inc/geshi/gettext.php
index 10201bd1a..e1c88e185 100644
--- a/inc/geshi/gettext.php
+++ b/inc/geshi/gettext.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2008 Milian Wolff
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/05/25
  *
  * GNU Gettext .po/.pot language file for GeSHi.
diff --git a/inc/geshi/glsl.php b/inc/geshi/glsl.php
index 8f521bfc1..f9a37ed07 100644
--- a/inc/geshi/glsl.php
+++ b/inc/geshi/glsl.php
@@ -4,7 +4,7 @@
  * -----
  * Author: Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2008 Benny Baumann (BenBE@omorphia.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/03/20
  *
  * glSlang language file for GeSHi.
diff --git a/inc/geshi/gml.php b/inc/geshi/gml.php
index ec7cb5512..3f8a06c4f 100644
--- a/inc/geshi/gml.php
+++ b/inc/geshi/gml.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Jos� Jorge Enr�quez (jenriquez@users.sourceforge.net)
  * Copyright: (c) 2005 Jos� Jorge Enr�quez Rodr�guez (http://www.zonamakers.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/06/21
  *
  * GML language file for GeSHi.
diff --git a/inc/geshi/gnuplot.php b/inc/geshi/gnuplot.php
index b4762156c..980561d35 100644
--- a/inc/geshi/gnuplot.php
+++ b/inc/geshi/gnuplot.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/07/07
  *
  * Gnuplot script language file for GeSHi.
diff --git a/inc/geshi/groovy.php b/inc/geshi/groovy.php
index 0270d0135..f2a2e9ab5 100644
--- a/inc/geshi/groovy.php
+++ b/inc/geshi/groovy.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Ivan F. Villanueva B. (geshi_groovy@artificialidea.com)
  * Copyright: (c) 2006 Ivan F. Villanueva B.(http://www.artificialidea.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/04/29
  *
  * Groovy language file for GeSHi.
diff --git a/inc/geshi/gwbasic.php b/inc/geshi/gwbasic.php
new file mode 100644
index 000000000..7b2385de7
--- /dev/null
+++ b/inc/geshi/gwbasic.php
@@ -0,0 +1,153 @@
+<?php
+/*************************************************************************************
+ * gwbasic.php
+ * ----------
+ * Author: José Gabriel Moya Yangüela (josemoya@gmail.com)
+ * Copyright: (c) 2010 José Gabriel Moya Yangüela (http://doc.apagada.com)
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/01/30
+ *
+ * GwBasic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * REM was not classified as comment.
+ * APPEND and RANDOM missing.
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'GwBasic',
+    'COMMENT_SINGLE' => array(1 => "'", 2=> "REM"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+    /* Statements */
+        1 => array('END','FOR','NEXT','DATA','INPUT','DIM','READ','LET',
+            'GOTO','RUN','IF','RESTORE','GOSUB','RETURN','REM',
+            'STOP','PRINT','CLEAR','LIST','NEW','ON','WAIT','DEF',
+            'POKE','CONT','OUT','LPRINT','LLIST','WIDTH','ELSE',
+            'TRON','TROFF','SWAP','ERASE','EDIT','ERROR','RESUME',
+            'DELETE','AUTO','RENUM','DEFSTR','DEFINT','DEFSNG',
+            'DEFDBL','LINE','WHILE','WEND','CALL','WRITE','OPTION',
+            'RANDOMIZE','OPEN','CLOSE','LOAD','MERGE','SAVE',
+            'COLOR','CLS','MOTOR','BSAVE','BLOAD','SOUND','BEEP',
+            'PSET','PRESET','SCREEN','KEY','LOCATE','TO','THEN',
+            'STEP','USR','FN','SPC','NOT','ERL','ERR','STRING',
+            'USING','INSTR','VARPTR','CSRLIN','POINT','OFF',
+            'FILES','FIELD','SYSTEM','NAME','LSET','RSET','KILL',
+            'PUT','GET','RESET','COMMON','CHAIN','PAINT','COM',
+            'CIRCLE','DRAW','PLAY','TIMER','IOCTL','CHDIR','MKDIR',
+            'RMDIR','SHELL','VIEW','WINDOW','PMAP','PALETTE','LCOPY',
+            'CALLS','PCOPY','LOCK','UNLOCK','RANDOM','APPEND',
+            ),
+        2 => array(
+            /* Functions */
+            'CVI','CVS','CVD','MKI','MKS','MKD','ENVIRON',
+            'LEFT','RIGHT','MID','SGN','INT','ABS',
+            'SQR','SIN','LOG','EXP','COS','TAN','ATN',
+            'FRE','INP','POS','LEN','STR','VAL','ASC',
+            'CHR','PEEK','SPACE','OCT','HEX','LPOS',
+            'CINT','CSNG','CDBL','FIX','PEN','STICK',
+            'STRIG','EOF','LOC','LOF'
+            ),
+        3 => array(
+            /* alpha Operators */
+            'AND','OR','XOR','EQV','IMP','MOD'
+            ),
+        4 => array(
+            /* parameterless functions */
+            'INKEY','DATE','TIME','ERDEV','RND'
+            )
+        ),
+    'SYMBOLS' => array(
+        0 => array(
+            '>','=','<','+','-','*','/','^','\\'
+            ),
+        1 => array(
+            '?'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+            GESHI_COMMENTS => false,
+            1 => false,
+            2 => false,
+            3 => false,
+            4 => false
+            ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00a1a1;font-weight: bold',
+            2 => 'color: #000066;font-weight: bold',
+            3 => 'color: #00a166;font-weight: bold',
+            4 => 'color: #0066a1;font-weight: bold'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;',
+            2 => 'color: #808080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+        /* Same as KEYWORDS[3] (and, or, not...) */
+            0 => 'color: #00a166;font-weight: bold',
+            1 => 'color: #00a1a1;font-weight: bold',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #708090'
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        1 => '^[0-9]+ '
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/haskell.php b/inc/geshi/haskell.php
index 024382deb..4997a26c3 100644
--- a/inc/geshi/haskell.php
+++ b/inc/geshi/haskell.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Jason Dagit (dagit@codersbase.com) based on ocaml.php by Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/08/27
  *
  * Haskell language file for GeSHi.
@@ -41,7 +41,10 @@ $language_data = array (
     'LANG_NAME' => 'Haskell',
     'COMMENT_SINGLE' => array( 1 => '--'),
     'COMMENT_MULTI' => array('{-' => '-}'),
-    'COMMENT_REGEXP' => array(2 => "/-->/"),
+    'COMMENT_REGEXP' => array(
+        2 => "/-->/",
+        3 => "/{-(?:(?R)|.)-}/s", //Nested Comments
+        ),
     'CASE_KEYWORDS' => 0,
     'QUOTEMARKS' => array('"'),
     'ESCAPE_CHAR' => "\\",
@@ -146,7 +149,8 @@ $language_data = array (
         'COMMENTS' => array(
             1 => 'color: #5d478b; font-style: italic;',
             2 => 'color: #339933; font-weight: bold;',
-            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purpHle */
+            3 => 'color: #5d478b; font-style: italic;', /* light purple */
+            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
             ),
         'ESCAPE_CHAR' => array(
             0 => 'background-color: #3cb371; font-weight: bold;'
@@ -195,4 +199,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/hicest.php b/inc/geshi/hicest.php
new file mode 100644
index 000000000..6cb61f87c
--- /dev/null
+++ b/inc/geshi/hicest.php
@@ -0,0 +1,108 @@
+<?php
+/*************************************************************************************
+ * hicest.php
+ * --------
+ * Author: Georg Petrich (spt@hicest.com)
+ * Copyright: (c) 2010 Georg Petrich (http://www.HicEst.com)
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/03/15
+ *
+ * HicEst language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * yyyy/mm/dd (v.v.v.v)
+ *  -  First Release
+ *
+ * TODO (updated yyyy/mm/dd)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+    'LANG_NAME' => 'HicEst',
+    'COMMENT_SINGLE' => array(1 => '!'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '\''),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            '$cmd_line', 'abs', 'acos', 'alarm', 'alias', 'allocate', 'appendix', 'asin', 'atan', 'axis', 'beep',
+            'call', 'ceiling', 'char', 'character', 'com', 'continue', 'cos', 'cosh', 'data', 'diffeq', 'dimension', 'dlg', 'dll',
+            'do', 'edit', 'else', 'elseif', 'end', 'enddo', 'endif', 'exp', 'floor', 'function', 'fuz', 'goto', 'iand', 'ichar',
+            'ieor', 'if', 'index', 'init', 'int', 'intpol', 'ior', 'key', 'len', 'len_trim', 'line', 'lock', 'log', 'max', 'maxloc',
+            'min', 'minloc', 'mod', 'nint', 'not', 'open', 'pop', 'ran', 'read', 'real', 'return', 'rgb', 'roots', 'sign', 'sin',
+            'sinh', 'solve', 'sort', 'subroutine', 'sum', 'system', 'tan', 'tanh', 'then', 'time', 'use', 'window', 'write', 'xeq'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '+', '-', '*', '/', '=', '<', '>', '!', '^', ':', ','
+            ),
+        2 => array(
+            '$', '$$'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #ff0000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;',
+            2 => 'color: #ff0000;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(1 => ''),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array()
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/hq9plus.php b/inc/geshi/hq9plus.php
index 89af3bee8..50a0f80c6 100644
--- a/inc/geshi/hq9plus.php
+++ b/inc/geshi/hq9plus.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/10/31
  *
  * HQ9+ language file for GeSHi.
diff --git a/inc/geshi/html4strict.php b/inc/geshi/html4strict.php
index 08c7f30c7..301513e4e 100644
--- a/inc/geshi/html4strict.php
+++ b/inc/geshi/html4strict.php
@@ -4,7 +4,7 @@
  * ---------------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/10
  *
  * HTML 4.01 strict language file for GeSHi.
diff --git a/inc/geshi/icon.php b/inc/geshi/icon.php
new file mode 100644
index 000000000..0712c21c3
--- /dev/null
+++ b/inc/geshi/icon.php
@@ -0,0 +1,212 @@
+<?php
+/*************************************************************************************
+ * icon.php
+ * --------
+ * Author: Matt Oates (mattoates@gmail.com)
+ * Copyright: (c) 2010 Matt Oates (http://mattoates.co.uk)
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/04/24
+ *
+ * Icon language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2010/04/24 (0.0.0.2)
+ *  -  Validated with Geshi langcheck.php FAILED due to preprocessor keywords looking like symbols
+ *  -  Hard wrapped to improve readability
+ * 2010/04/20 (0.0.0.1)
+ *  -  First Release
+ *
+ * TODO (updated 2010/04/20)
+ * -------------------------
+ * - Do the &amp; need replacing with &?
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+    'LANG_NAME' => 'Icon',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '\''),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'case', 'continue', 'create', 'default', 'do', 'else',
+            'end', 'every', 'fail', 'for', 'if', 'import', 'initial',
+            'initially', 'invocable', 'link', 'next', 'not', 'of', 'package',
+            'procedure', 'record', 'repeat', 'return', 'switch', 'suspend',
+            'then', 'to', 'until', 'while'
+            ),
+        2 => array(
+            'global', 'local', 'static'
+            ),
+        3 => array(
+            'allocated', 'ascii', 'clock', 'collections',
+            'column', 'cset', 'current', 'date', 'dateline', 'digits',
+            'dump', 'e', 'error', 'errornumber', 'errortext',
+            'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue',
+            'fail', 'features', 'file', 'host', 'input', 'lcase',
+            'letters', 'level', 'line', 'main', 'now', 'null',
+            'output', 'phi', 'pi', 'pos', 'progname', 'random',
+            'regions', 'source', 'storage', 'subject', 'syserr', 'time',
+            'trace', 'ucase', 'version', 'col', 'control', 'interval',
+            'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress',
+            'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease',
+            'shift', 'window', 'x', 'y'
+            ),
+        4 => array(
+            'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char',
+            'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'delay', 'delete',
+            'detab', 'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit',
+            'exp', 'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch',
+            'getche', 'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image',
+            'insert', 'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc',
+            'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric',
+            'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull',
+            'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse',
+            'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set',
+            'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'stop', 'string', 'system', 'tab',
+            'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where',
+            'write', 'writes'
+            ),
+        5 => array(
+            'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue',
+            'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk',
+            'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment',
+            'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc',
+            'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY',
+            'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor',
+            'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate',
+            'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate',
+            'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib',
+            'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync'
+            ),
+        6 => array(
+            'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error',
+            'line', 'undef'
+            ),
+        7 => array(
+            '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386',
+            '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM',
+            '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING',
+            '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS',
+            '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS',
+            '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS',
+            '_DOS_FUNCTIONS'
+            ),
+        8 => array(
+            'line'
+            )
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^',
+            '&', '|', '?', ':', ';', ',', '.', '~', '@'
+            ),
+        2 => array(
+            '$(', '$)', '$<', '$>', '$'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #b1b100;',
+            3 => 'color: #b1b100;',
+            4 => 'color: #b1b100;',
+            5 => 'color: #b1b100;',
+            6 => 'color: #b1b100;',
+            7 => 'color: #b1b100;',
+            8 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;',
+            2 => 'color: #b1b100;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(1 => '.'),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=&amp;)'
+                ),
+            4 => array(
+                'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9_\"\'])",
+                'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\"\'])"
+                ),
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?<=\$)'
+                ),
+            8 => array(
+                'DISALLOWED_BEFORE' => '(?<=#)'
+                )
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/idl.php b/inc/geshi/idl.php
index 64472140a..d2d9a92fa 100644
--- a/inc/geshi/idl.php
+++ b/inc/geshi/idl.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Cedric Bosdonnat (cedricbosdo@openoffice.org)
  * Copyright: (c) 2006 Cedric Bosdonnat
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/08/20
  *
  * Unoidl language file for GeSHi.
diff --git a/inc/geshi/ini.php b/inc/geshi/ini.php
index ae0e81ec4..e48cc045c 100644
--- a/inc/geshi/ini.php
+++ b/inc/geshi/ini.php
@@ -4,7 +4,7 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br)
  * Copyright: (c) 2005 deguix
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/03/27
  *
  * INI language file for GeSHi.
diff --git a/inc/geshi/inno.php b/inc/geshi/inno.php
index 6d1b97965..9ec8cdfd9 100644
--- a/inc/geshi/inno.php
+++ b/inc/geshi/inno.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Thomas Klingler (hotline@theratech.de) based on delphi.php from J�rja Norbert (jnorbi@vipmail.hu)
  * Copyright: (c) 2004 J�rja Norbert, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/07/29
  *
  * Inno Script language inkl. Delphi (Object Pascal) language file for GeSHi.
diff --git a/inc/geshi/intercal.php b/inc/geshi/intercal.php
index 958f886ce..cd800a8eb 100644
--- a/inc/geshi/intercal.php
+++ b/inc/geshi/intercal.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/10/31
  *
  * INTERCAL language file for GeSHi.
diff --git a/inc/geshi/io.php b/inc/geshi/io.php
index eb4d8646e..94c278f03 100644
--- a/inc/geshi/io.php
+++ b/inc/geshi/io.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2006 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/09/23
  *
  * Io language file for GeSHi. Thanks to Johnathan Wright for the suggestion and help
diff --git a/inc/geshi/j.php b/inc/geshi/j.php
new file mode 100644
index 000000000..61154c7ef
--- /dev/null
+++ b/inc/geshi/j.php
@@ -0,0 +1,227 @@
+<?php
+/*************************************************************************************
+ * j.php
+ * --------
+ * Author: Ric Sherlock (tikkanz@gmail.com)
+ * Copyright: (c) 2009 Ric Sherlock
+ * Release Version: 1.0.8.8
+ * Date Started: 2009/11/10
+ *
+ * J language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *  2010/03/01 (1.0.8.8)
+ *   - Add support for label_xyz. and goto_xyz.
+ *   - Fix highlighting of for_i.
+ *   - Use alternative method for highlighting for_xyz. construct
+ *  2010/02/14 (1.0.8.7)
+ *   - Add support for primitives
+ *  2010/01/12 (1.0.2)
+ *   - Use HARDQUOTE for strings
+ *   - Highlight open quotes/incomplete strings
+ *   - Highlight multi-line comments that use Note
+ *   - Refinements for NUMBERS and Argument keywords
+ *   - Highlight infinity and neg. infinity using REGEXPS
+ *   - Highlight "for_myvar." style Control keyword using REGEXPS
+ *  2009/12/14 (1.0.1)
+ *   -  Regex for NUMBERS, SYMBOLS for () and turn off BRACKETS
+ *  2009/11/12 (1.0.0)
+ *   -  First Release
+ *
+ *
+ * TODO (updated 2010/01/27)
+ * -------------------------
+ *  * combine keyword categories by using conditional regex statement in PARSER CONTROL?
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'J',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        1 => '/(?<!\w)NB\..*?$/m',                //singleline comments NB.
+        2 => '/(?<=\bNote\b).*?$\s+\)(?:(?!\n)\s)*$/sm',   //multiline comments in Note
+        3 => "/'[^']*?$/m"                        //incomplete strings/open quotes
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '',
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("'"),
+    'HARDCHAR' => "'",
+    'NUMBERS' => array(
+        //Some instances of infinity are not correctly handled by GeSHi NUMBERS currently
+        //There are two solutions labelled "infinity Method A" and "infinity Method B"
+        //infinity Method B - requires following adjustment to line 3349 of geshi.php
+        //   preg_match('#\d#'  becomes  preg_match('#[\d_]#'
+        0 => '\b(?:_?\d+(?:\.\d+)?(?:x|[bejprx]_?[\da-z]+(?:\.[\da-z]+)?)?)(?![\w\.\:])',       //infinity Method A
+        //0 => '\b(?:_?\d+(?:\.\d+)?(?:x|[bejprx]_?[\da-z]+(?:\.[\da-z]+)?)?|__?)(?![\w\.\:])', //infinity Method B
+        ),
+    'KEYWORDS' => array(
+        //Control words
+        1 => array(
+            'assert.', 'break.', 'case.', 'catch.', 'catcht.', 'continue.', 'do.',
+            'else.', 'elseif.', 'end.', 'fcase.', 'for.', 'goto.', 'if.', 'label.',
+            'return.', 'select.', 'throw.', 'trap.', 'try.', 'while.', 'whilst.'
+            ),
+        //Arguments
+        2 => array(
+            'm', 'n', 'u', 'v', 'x', 'y'
+            ),
+/*
+Commented out for now due to conflicts with Lang Check
+        //Primitives beginning with a symbol (except . or :)
+        6 => array(
+            '=', '&lt;', '&lt;.', '&lt;:',                  //verbs
+            '_:','&gt;', '&gt;.', '&gt;:',
+            '+', '+.', '+:', '*', '*.', '*:', '-', '-.', '-:', '%', '%.', '%:',
+            '^', '^.', '$', '$.', '$:', '~.', '~:', '\|', '|.', '|:',
+            ',', ',.', ',:', ';', ';:', '#', '#.', '#:', '!', '/:', '\:',
+            '[', '[:', ']', '{', '{.', '{:', '{::', '}.', '}:',
+            '&quot;.', '&quot;:', '?', '?.',
+            '~', '\/;', '\\', '/.', '\\.', '}',             //adverbs
+            '^:', ';.', '!.', '!:',                         //conj
+            '&quot;', '`', '`:', '@', '@.', '@:',
+            '&amp;', '&amp;.', '&amp;:', '&amp;.:',
+            '_.',                                           //nouns
+            '=.', '=:',                                     //other
+            ),
+        //Primitives beginning with a letter or number
+        7 => array(
+            'A.', 'c.', 'C.', 'e.', 'E.',                   //verbs
+            'i.', 'i:', 'I.', 'j.', 'L.', 'o.',
+            'p.', 'p..', 'p:', 'q:', 'r.', 's:', 'u:', 'x:',
+            '_9:', '_8:', '_7:', '_6:', '_5:', '_4:', '_3:', '_2:', '_1:',
+            '0:', '1:', '2:', '3:', '4:', '5:', '6:', '7:', '8:', '9:',
+            'b.', 'f.', 'M.', 't.', 't:',                   //adverbs
+            'd.', 'D.', 'D:', 'H.', 'L:', 'S:', 'T.',       //conj
+            'a.', 'a:',                                     //nouns
+            ),
+        //Primitives beginning with symbol . or :
+        8 => array(
+            '..', '.:', '.', ':.', '::', ':',               //conj
+            ),
+*/
+        ),
+    'SYMBOLS' => array(
+        //Punctuation
+        0 => array(
+            '(', ')'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+//        6 => true,
+//        7 => true,
+//        8 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0000ff; font-weight: bold;',
+            2 => 'color: #0000cc; font-weight: bold;',
+//            6 => 'color: #000000; font-weight: bold;',
+//            7 => 'color: #000000; font-weight: bold;',
+//            8 => 'color: #000000; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic; font-weight: bold;',
+            3 => 'color: #ff00ff; ',                      //open quote
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            'HARD' => 'font-weight: bold;',
+            0 => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            'HARD' => 'color: #ff0000;',
+            0 => 'color: #ff0000;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #009999; font-weight: bold;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #009900; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #0000ff; font-weight: bold;',   //for_xyz. - same as kw1
+            1 => 'color: #009999; font-weight: bold;'    //infinity - same as nu0
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '', //'http://www.jsoftware.com/help/dictionary/ctrl.htm',
+        2 => '',
+//        6 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
+//        7 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
+//        8 => '', //'http://www.jsoftware.com/jwiki/Vocabulary',
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        0 => '\b(for|goto|label)_[a-zA-Z]\w*\.',   //for_xyz. - should be kw1
+        1 => '\b__?(?![\w\.\:])'                   //infinity - should be nu0
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            ),
+        'KEYWORDS' => array(
+            //Control words
+            2 => array(
+                'DISALLOWED_BEFORE' => '(?<!\w)',
+                'DISALLOWED_AFTER' => '(?![\w\.\:])',
+                ),
+            //Primtives starting with a symbol (except . or :)
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?!K)',    // effect should be to allow anything
+                'DISALLOWED_AFTER' => '(?=.*)',
+                ),
+            //Primtives starting with a letter
+            7 => array(
+                'DISALLOWED_BEFORE' => '(?<!\w)',
+                'DISALLOWED_AFTER' => '(?=.*)',
+                ),
+            //Primtives starting with symbol . or :
+            8 => array(
+                'DISALLOWED_BEFORE' => '(?<=\s)',
+                'DISALLOWED_AFTER' => '(?=.*)',
+                ),
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/java.php b/inc/geshi/java.php
index b4080f7ac..3269dffe2 100644
--- a/inc/geshi/java.php
+++ b/inc/geshi/java.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/10
  *
  * Java language file for GeSHi.
diff --git a/inc/geshi/java5.php b/inc/geshi/java5.php
index 4abffc663..bc9af739a 100644
--- a/inc/geshi/java5.php
+++ b/inc/geshi/java5.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/10
  *
  * Java language file for GeSHi.
@@ -56,7 +56,7 @@ $language_data = array (
     'COMMENT_MULTI' => array('/*' => '*/'),
     'COMMENT_REGEXP' => array(
         //Import and Package directives (Basic Support only)
-        2 => '/(?:(?<=import[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
+        2 => '/(?:(?<=import[\\n\\s](?!static))|(?<=import[\\n\\s]static[\\n\\s])|(?<=package[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*([a-zA-Z0-9_]+|\*)(?=[\n\s;])/i',
         // javadoc comments
         3 => '#/\*\*(?![\*\/]).*\*/#sU'
         ),
@@ -1025,6 +1025,12 @@ $language_data = array (
     'SCRIPT_DELIMITERS' => array(
         ),
     'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => '(?<![a-zA-Z0-9\$_\|\#>|^&"\'])',
+            'DISALLOWED_AFTER' => '(?![a-zA-Z0-9_\|%\\-;"\'])'
+            )
         )
 );
 
diff --git a/inc/geshi/javascript.php b/inc/geshi/javascript.php
index 96c345477..429cdd653 100644
--- a/inc/geshi/javascript.php
+++ b/inc/geshi/javascript.php
@@ -4,7 +4,7 @@
  * --------------
  * Author: Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Ben Keen (ben.keen@gmail.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/20
  *
  * JavaScript language file for GeSHi.
diff --git a/inc/geshi/jquery.php b/inc/geshi/jquery.php
index b4264cb1c..54e653ed1 100644
--- a/inc/geshi/jquery.php
+++ b/inc/geshi/jquery.php
@@ -4,7 +4,7 @@
  * --------------
  * Author: Rob Loach (http://www.robloach.net)
  * Copyright: (c) 2009 Rob Loach (http://www.robloach.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/07/20
  *
  * jQuery 1.3 language file for GeSHi.
diff --git a/inc/geshi/kixtart.php b/inc/geshi/kixtart.php
index 3d37f8ce6..62cb54652 100644
--- a/inc/geshi/kixtart.php
+++ b/inc/geshi/kixtart.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Riley McArdle (riley@glyff.net)
  * Copyright: (c) 2007 Riley McArdle (http://www.glyff.net/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/08/31
  *
  * PHP language file for GeSHi.
diff --git a/inc/geshi/klonec.php b/inc/geshi/klonec.php
index 24f32dbc3..e47e597ef 100644
--- a/inc/geshi/klonec.php
+++ b/inc/geshi/klonec.php
@@ -4,7 +4,7 @@
  * --------
  * Author: AUGER Mickael
  * Copyright: Synchronic
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/04/16
  *
  * KLone with C language file for GeSHi.
diff --git a/inc/geshi/klonecpp.php b/inc/geshi/klonecpp.php
index ad2844c6d..1a2d2082b 100644
--- a/inc/geshi/klonecpp.php
+++ b/inc/geshi/klonecpp.php
@@ -4,7 +4,7 @@
  * --------
  * Author: AUGER Mickael
  * Copyright: Synchronic
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/04/16
  *
  * KLone with C++ language file for GeSHi.
diff --git a/inc/geshi/latex.php b/inc/geshi/latex.php
index ae7f0b3c5..1ba3d409e 100644
--- a/inc/geshi/latex.php
+++ b/inc/geshi/latex.php
@@ -4,7 +4,7 @@
  * -----
  * Author: efi, Matthias Pospiech (matthias@pospiech.eu)
  * Copyright: (c) 2006 efi, Matthias Pospiech (matthias@pospiech.eu), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/09/23
  *
  * LaTeX language file for GeSHi.
@@ -147,7 +147,7 @@ $language_data = array (
             ),
         // [options]
         2 => array(
-            GESHI_SEARCH => "(?<=\[).+(?=\])",
+            GESHI_SEARCH => "(?<=\[).*(?=\])",
             GESHI_REPLACE => '\0',
             GESHI_MODIFIERS => 'Us',
             GESHI_BEFORE => '',
diff --git a/inc/geshi/lisp.php b/inc/geshi/lisp.php
index 3ca20fdc5..a8f50691e 100644
--- a/inc/geshi/lisp.php
+++ b/inc/geshi/lisp.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/30
  *
  * Generic Lisp language file for GeSHi.
@@ -73,7 +73,7 @@ $language_data = array (
             'rem','min','max','abs','sin','cos','tan','expt','exp','sqrt',
             'random','logand','logior','logxor','lognot','bignums','logeqv',
             'lognand','lognor','logorc2','logtest','logbitp','logcount',
-            'integer','nil','parse-integer'
+            'integer','nil','parse-integer','make-list','print','write'
             )
         ),
     'SYMBOLS' => array(
@@ -141,4 +141,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/locobasic.php b/inc/geshi/locobasic.php
index e0cceea3d..a3e22a7be 100644
--- a/inc/geshi/locobasic.php
+++ b/inc/geshi/locobasic.php
@@ -4,7 +4,7 @@
  * -------------
  * Author: Nacho Cabanes
  * Copyright: (c) 2009 Nacho Cabanes (http://www.nachocabanes.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/03/22
  *
  * Locomotive Basic (Amstrad CPC series) language file for GeSHi.
diff --git a/inc/geshi/logtalk.php b/inc/geshi/logtalk.php
index 3321e0de4..fb77bd6d3 100644
--- a/inc/geshi/logtalk.php
+++ b/inc/geshi/logtalk.php
@@ -5,7 +5,7 @@
  *
  * Author: Paulo Moura (pmoura@logtalk.org)
  * Copyright: (c) 2009 Paulo Moura (http://logtalk.org/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/10/24
  *
  * Logtalk language file for GeSHi.
diff --git a/inc/geshi/lolcode.php b/inc/geshi/lolcode.php
index 26e486d3a..a804913cc 100644
--- a/inc/geshi/lolcode.php
+++ b/inc/geshi/lolcode.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/10/31
  *
  * LOLcode language file for GeSHi.
diff --git a/inc/geshi/lotusformulas.php b/inc/geshi/lotusformulas.php
index 67fd4fa0a..862adbc82 100644
--- a/inc/geshi/lotusformulas.php
+++ b/inc/geshi/lotusformulas.php
@@ -4,7 +4,7 @@
  * ------------------------
  * Author: Richard Civil (info@richardcivil.net)
  * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/04/12
  *
  * @Formula/@Command language file for GeSHi.
diff --git a/inc/geshi/lotusscript.php b/inc/geshi/lotusscript.php
index 5c1d61f92..1ef2f3eee 100644
--- a/inc/geshi/lotusscript.php
+++ b/inc/geshi/lotusscript.php
@@ -4,7 +4,7 @@
  * ------------------------
  * Author: Richard Civil (info@richardcivil.net)
  * Copyright: (c) 2008 Richard Civil (info@richardcivil.net), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/04/12
  *
  * LotusScript language file for GeSHi.
diff --git a/inc/geshi/lscript.php b/inc/geshi/lscript.php
index 33cd0163d..b7e313212 100644
--- a/inc/geshi/lscript.php
+++ b/inc/geshi/lscript.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Arendedwinter (admin@arendedwinter.com)
  * Copyright: (c) 2008 Beau McGuigan (http://www.arendedwinter.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 15/11/2008
  *
  * Lightwave Script language file for GeSHi.
diff --git a/inc/geshi/lsl2.php b/inc/geshi/lsl2.php
index 8b62fc219..e5f40969b 100644
--- a/inc/geshi/lsl2.php
+++ b/inc/geshi/lsl2.php
@@ -4,7 +4,7 @@
  * --------
  * Author: William Fry (william.fry@nyu.edu)
  * Copyright: (c) 2009 William Fry
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/02/04
  *
  * Linden Scripting Language (LSL2) language file for GeSHi.
diff --git a/inc/geshi/lua.php b/inc/geshi/lua.php
index 2a630b2c8..abeaa54ea 100644
--- a/inc/geshi/lua.php
+++ b/inc/geshi/lua.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/10
  *
  * LUA language file for GeSHi.
diff --git a/inc/geshi/m68k.php b/inc/geshi/m68k.php
index 9aae868af..543b73c8b 100644
--- a/inc/geshi/m68k.php
+++ b/inc/geshi/m68k.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2007 Benny Baumann (http://www.omorphia.de/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/02/06
  *
  * Motorola 68000 Assembler language file for GeSHi.
diff --git a/inc/geshi/magiksf.php b/inc/geshi/magiksf.php
new file mode 100644
index 000000000..f3da7fcf2
--- /dev/null
+++ b/inc/geshi/magiksf.php
@@ -0,0 +1,193 @@
+<?php
+/*************************************************************************************
+ * magiksf.php
+ * --------
+ * Author: Sjoerd van Leent (svanleent@gmail.com)
+ * Copyright: (c) 2010 Sjoerd van Leent
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/02/15
+ *
+ * MagikSF language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2010/02/22 (1.0.0.2)
+ *   - Symbols also accept the ! and ? characters properly
+ *   - Labels (identifiers starting with !) are also coloured
+ * 2010/02/17 (1.0.0.1)
+ *   -  Parsing out symbols better
+ *   -  Add package identifiers
+ * 2010/02/15 (1.0.0)
+ *   -  First Release
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'ESCAPE_CHAR' => null,
+    'LANG_NAME' => 'MagikSF',
+    'COMMENT_SINGLE' => array(1 => '##', 2 => '#%', 3 => '#'),
+    'COMMENT_MULTI' => array("_pragma(" => ")"),
+    //Multiline-continued single-line comments
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            '_block', '_endblock', '_proc', '_endproc', '_loop', '_endloop',
+            '_method', '_endmethod',
+            '_protect', '_endprotect', '_protection', '_locking',
+            '_continue',
+            ),
+        2 => array(
+            '_self', '_thisthread', '_pragma', '_private', '_abstract',
+            '_local', '_global', '_dynamic', '_package', '_constant',
+            '_import', '_iter', '_lock', '_optional', '_recursive', '_super'
+            ),
+        3 => array(
+            '_if', '_endif', '_then', '_else', '_elif', '_orif', '_andif', '_for', '_over',
+            '_try', '_endtry', '_when', '_throw', '_catch', '_endcatch', '_handling',
+            '_finally', '_loopbody', '_return', '_leave', '_with'
+            ),
+        4 => array(
+            '_false', '_true', '_maybe', '_unset', '_no_way'
+            ),
+        5 => array(
+            '_mod', '_div', '_or', '_and', '_cf', '_is', '_isnt', '_not', '_gather', '_scatter',
+            '_allresults', '_clone', '_xor'
+            ),
+        6 => array(
+            'def_slotted_exemplar', 'write_string', 'write', 'condition',
+            'record_transaction', 'gis_program_manager', 'perform', 'define_shared_constant',
+            'property_list', 'rope', 'def_property', 'def_mixin'
+            ),
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '{', '}', '[', ']',
+        '+', '-', '*', '/', '**',
+        '=', '<', '>', '<<', '>>',
+        ',', '$',
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #ff3f3f;',
+            3 => 'color: #3f7f3f; font-weight: bold;',
+            4 => 'color: #cc66cc;',
+            5 => 'color: #ff3fff; font-weight: bold;',
+            6 => 'font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #339933; font-weight: bold;',
+            2 => 'color: #993333;',
+            3 => 'color: #339933;',
+            'MULTI' => 'color: #7f7f7f; font-style: italic',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #ff3f3f;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #ff3f3f;'
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #3f3fff;',
+            2 => 'color: #3f3fff;',
+            3 => 'color: #cc66cc;',
+            4 => 'color: #7f3f7f; font-style: italic;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        1 => array(
+            GESHI_SEARCH => '\b[a-zA-Z0-9_]+:', // package identifiers
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        2 => array(
+            GESHI_SEARCH => ':(?:[a-zA-Z0-9!?_]+|(?:[<pipe>].*?[<pipe>]))*', //symbols
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        3 => array(
+            GESHI_SEARCH => '%space|%tab|%newline|%.', //characters
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        4 => array(
+            GESHI_SEARCH => '@(?:[a-zA-Z0-9!?_]+|(?:[<pipe>].*?[<pipe>]))*', //symbols
+            GESHI_REPLACE => '\\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/make.php b/inc/geshi/make.php
index 021265548..689552312 100644
--- a/inc/geshi/make.php
+++ b/inc/geshi/make.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Neil Bird <phoenix@fnxweb.com>
  * Copyright: (c) 2008 Neil Bird
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/08/26
  *
  * make language file for GeSHi.
diff --git a/inc/geshi/mapbasic.php b/inc/geshi/mapbasic.php
index 74be1f673..0025d4e22 100644
--- a/inc/geshi/mapbasic.php
+++ b/inc/geshi/mapbasic.php
@@ -4,7 +4,7 @@
  * ------
  * Author: Tomasz Berus (t.berus@gisodkuchni.pl)
  * Copyright: (c) 2009 Tomasz Berus (http://sourceforge.net/projects/mbsyntax/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/11/25
  *
  * MapBasic language file for GeSHi.
diff --git a/inc/geshi/matlab.php b/inc/geshi/matlab.php
index f3ad34968..1f9c12b78 100644
--- a/inc/geshi/matlab.php
+++ b/inc/geshi/matlab.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Florian Knorn (floz@gmx.de)
  * Copyright: (c) 2004 Florian Knorn (http://www.florian-knorn.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/02/09
  *
  * Matlab M-file language file for GeSHi.
@@ -215,7 +215,7 @@ $language_data = array (
         ),
     'REGEXPS' => array(
         //Complex numbers
-        0 => '(?<![\\w])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w])'
+        0 => '(?<![\\w\\/])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w]|\<DOT>html)'
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
@@ -224,4 +224,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/mirc.php b/inc/geshi/mirc.php
index a27c6c265..1b7df83aa 100644
--- a/inc/geshi/mirc.php
+++ b/inc/geshi/mirc.php
@@ -4,7 +4,7 @@
  * -----
  * Author: Alberto 'Birckin' de Areba (Birckin@hotmail.com)
  * Copyright: (c) 2006 Alberto de Areba
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/05/29
  *
  * mIRC Scripting language file for GeSHi.
diff --git a/inc/geshi/mmix.php b/inc/geshi/mmix.php
index efdb932f1..3e90dce29 100644
--- a/inc/geshi/mmix.php
+++ b/inc/geshi/mmix.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2009 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/10/16
  *
  * MMIX Assembler language file for GeSHi.
diff --git a/inc/geshi/modula2.php b/inc/geshi/modula2.php
new file mode 100644
index 000000000..042e7404a
--- /dev/null
+++ b/inc/geshi/modula2.php
@@ -0,0 +1,136 @@
+<?php
+/****************************************************************************
+ * modula2.php
+ * -----------
+ * Author: Benjamin Kowarsch (benjamin@modula2.net)
+ * Copyright: (c) 2009 Benjamin Kowarsch (benjamin@modula2.net)
+ * Release Version: 1.0.8.8
+ * Date Started: 2009/11/05
+ *
+ * Modula-2 language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2010/05/22 (1.0.8.8)
+ *   -  First Release
+ *
+ * TODO (updated 2010/05/22)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Modula-2',
+    'COMMENT_MULTI' => array('(*' => '*)'),
+    'COMMENT_SINGLE' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("''"),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array( /* reserved words */
+            'AND', 'ARRAY', 'BEGIN', 'BY', 'CASE', 'CONST', 'DEFINITION',
+            'DIV', 'DO', 'ELSE', 'ELSIF', 'END', 'EXIT', 'EXPORT', 'FOR',
+            'FROM', 'IF', 'IMPLEMENTATION', 'IMPORT', 'IN', 'LOOP', 'MOD',
+            'MODULE', 'NOT', 'OF', 'OR', 'POINTER', 'PROCEDURE', 'QUALIFIED',
+            'RECORD', 'REPEAT', 'RETURN', 'SET', 'THEN', 'TO', 'TYPE',
+            'UNTIL', 'VAR', 'WHILE', 'WITH'
+            ),
+        2 => array( /* pervasive constants */
+            'NIL', 'FALSE', 'TRUE',
+            ),
+        3 => array( /* pervasive types */
+            'BITSET', 'CAP', 'CHR', 'DEC', 'DISPOSE', 'EXCL', 'FLOAT',
+            'HALT', 'HIGH', 'INC', 'INCL', 'MAX', 'MIN', 'NEW', 'ODD', 'ORD',
+            'SIZE', 'TRUNC', 'VAL'
+            ),
+        4 => array( /* pervasive functions and macros */
+            'ABS', 'BOOLEAN', 'CARDINAL', 'CHAR', 'INTEGER',
+            'LONGCARD', 'LONGINT', 'LONGREAL', 'PROC', 'REAL'
+            ),
+        ),
+    'SYMBOLS' => array(
+        ',', ':', '=', '+', '-', '*', '/', '#', '~'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+            4 => 'color: #000066; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            'HARD' => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0066ee;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        1 => ''
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/modula3.php b/inc/geshi/modula3.php
index caff92788..ad827a3e6 100644
--- a/inc/geshi/modula3.php
+++ b/inc/geshi/modula3.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: mbishop (mbishop@esoteriq.org)
  * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/01/21
  *
  * Modula-3 language file for GeSHi.
diff --git a/inc/geshi/mpasm.php b/inc/geshi/mpasm.php
index d97f0b17f..59247ff69 100644
--- a/inc/geshi/mpasm.php
+++ b/inc/geshi/mpasm.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Bakalex (bakalex@gmail.com)
  * Copyright: (c) 2004 Bakalex, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/12/6
  *
  * Microchip Assembler language file for GeSHi.
diff --git a/inc/geshi/mxml.php b/inc/geshi/mxml.php
index a2073d3ab..df4c9d50e 100644
--- a/inc/geshi/mxml.php
+++ b/inc/geshi/mxml.php
@@ -4,7 +4,7 @@
  * -------
  * Author: David Spurr
  * Copyright: (c) 2007 David Spurr (http://www.defusion.org.uk/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/10/04
  *
  * MXML language file for GeSHi. Based on the XML file by Nigel McNie
diff --git a/inc/geshi/mysql.php b/inc/geshi/mysql.php
index 3bc6f9504..ca171733f 100644
--- a/inc/geshi/mysql.php
+++ b/inc/geshi/mysql.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Marjolein Katsma (marjolein.is.back@gmail.com)
  * Copyright: (c) 2008 Marjolein Katsma (http://blog.marjoleinkatsma.com/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008-12-12
  *
  * MySQL language file for GeSHi.
diff --git a/inc/geshi/newlisp.php b/inc/geshi/newlisp.php
index ee2589a07..027e86588 100644
--- a/inc/geshi/newlisp.php
+++ b/inc/geshi/newlisp.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: cormullion (cormullion@mac.com) Sept 2009
  * Copyright: (c) 2009 Cormullion (http://unbalanced-parentheses.nfshost.com/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/09/30
  *
  * newLISP language file for GeSHi.
diff --git a/inc/geshi/nsis.php b/inc/geshi/nsis.php
index d5f631101..5631a8389 100644
--- a/inc/geshi/nsis.php
+++ b/inc/geshi/nsis.php
@@ -4,7 +4,7 @@
  * --------
  * Author: deguix (cevo_deguix@yahoo.com.br), Tux (http://tux.a4.cz/)
  * Copyright: (c) 2005 deguix, 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/12/03
  *
  * Nullsoft Scriptable Install System language file for GeSHi.
diff --git a/inc/geshi/oberon2.php b/inc/geshi/oberon2.php
index 35152b55f..8339f3fb8 100644
--- a/inc/geshi/oberon2.php
+++ b/inc/geshi/oberon2.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: mbishop (mbishop@esoteriq.org)
  * Copyright: (c) 2009 mbishop (mbishop@esoteriq.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/02/10
  *
  * Oberon-2 language file for GeSHi.
diff --git a/inc/geshi/objc.php b/inc/geshi/objc.php
index 084be7124..5a5c5940f 100644
--- a/inc/geshi/objc.php
+++ b/inc/geshi/objc.php
@@ -5,7 +5,7 @@
  * Author: M. Uli Kusterer (witness.of.teachtext@gmx.net)
  * Contributors: Quinn Taylor (quinntaylor@mac.com)
  * Copyright: (c) 2008 Quinn Taylor, 2004 M. Uli Kusterer, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * Objective-C language file for GeSHi.
diff --git a/inc/geshi/ocaml-brief.php b/inc/geshi/ocaml-brief.php
index d9e3124f0..2e2a82fb2 100644
--- a/inc/geshi/ocaml-brief.php
+++ b/inc/geshi/ocaml-brief.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/08/27
  *
  * OCaml (Objective Caml) language file for GeSHi.
diff --git a/inc/geshi/ocaml.php b/inc/geshi/ocaml.php
index a14d2dec1..46e6a22aa 100644
--- a/inc/geshi/ocaml.php
+++ b/inc/geshi/ocaml.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Flaie (fireflaie@gmail.com)
  * Copyright: (c) 2005 Flaie, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/08/27
  *
  * OCaml (Objective Caml) language file for GeSHi.
@@ -43,6 +43,7 @@ $language_data = array (
     'LANG_NAME' => 'OCaml',
     'COMMENT_SINGLE' => array(),
     'COMMENT_MULTI' => array('(*' => '*)'),
+    'COMMENT_REGEXP' => array(1 => '/\(\*(?:(?R)|.)+?\*\)/s'),
     'CASE_KEYWORDS' => 0,
     'QUOTEMARKS' => array('"'),
     'ESCAPE_CHAR' => "",
@@ -58,13 +59,17 @@ $language_data = array (
             ),
         /* define names of main librarys, so we can link to it */
         2 => array(
-            'Arg', 'Arith_status', 'Array', 'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
-            'CamlinternalOO', 'Char', 'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
-            'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11', 'Hashtbl', 'Int32', 'Int64',
-            'Lazy', 'Lexing', 'List', 'ListLabels', 'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint',
-            'Num', 'Obj', 'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue', 'Random', 'Scanf',
-            'Set', 'Sort', 'Stack', 'StdLabels', 'Str', 'Stream', 'String', 'StringLabels', 'Sys', 'Thread',
-            'ThreadUnix', 'Tk'
+            'Arg', 'Arith_status', 'Array', //'Array1', 'Array2', 'Array3',
+            'ArrayLabels', 'Big_int', 'Bigarray', 'Buffer', 'Callback',
+            'CamlinternalLazy', 'CamlinternalMod', 'CamlinternalOO', 'Char',
+            'Complex', 'Condition', 'Dbm', 'Digest', 'Dynlink', 'Event',
+            'Filename', 'Format', 'Gc', 'Genlex', 'Graphics', 'GraphicsX11',
+            'Hashtbl', 'Int32', 'Int64', 'Lazy', 'Lexing', 'List', 'ListLabels',
+            'Map', 'Marshal', 'MoreLabels', 'Mutex', 'Nativeint', 'Num', 'Obj',
+            'Oo', 'Parsing', 'Pervasives', 'Printexc', 'Printf', 'Queue',
+            'Random', 'Scanf', 'Set', 'Sort', 'Stack', 'StdLabels', 'Str',
+            'Stream', 'String', 'StringLabels', 'Sys', 'Thread', 'ThreadUnix',
+            'Tk', 'Unix', 'UnixLabels', 'Weak'
             ),
         /* just link to the Pervasives functions library, cause it's the default opened library when starting OCaml */
         3 => array(
@@ -93,7 +98,9 @@ $language_data = array (
             ),
         /* here Pervasives Types */
         4 => array (
-            'fpclass', 'in_channel', 'out_channel', 'open_flag', 'Sys_error', 'format'
+            'array','bool','char','exn','file_descr','format','fpclass',
+            'in_channel','int','int32','int64','list','nativeint','open_flag',
+            'out_channel','string','Sys_error','unit'
             ),
         /* finally Pervasives Exceptions */
         5 => array (
@@ -102,8 +109,9 @@ $language_data = array (
         ),
     /* highlighting symbols is really important in OCaml */
     'SYMBOLS' => array(
+        '+.', '-.', '*.', '/.', '[<', '>]',
         ';', '!', ':', '.', '=', '%', '^', '*', '-', '/', '+',
-        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'"
+        '>', '<', '(', ')', '[', ']', '&', '|', '#', "'",
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
@@ -122,12 +130,13 @@ $language_data = array (
             5 => 'color: #06c; font-weight: bold;' /* nice blue */
             ),
         'COMMENTS' => array(
-            'MULTI' => 'color: #5d478b; font-style: italic;' /* light purple */
+            'MULTI' => 'color: #5d478b; font-style: italic;', /* light purple */
+            1 => 'color: #5d478b; font-style: italic;' /* light purple */
             ),
         'ESCAPE_CHAR' => array(
             ),
         'BRACKETS' => array(
-            0 => 'color: #6c6;'
+            0 => 'color: #a52a2a;'
             ),
         'STRINGS' => array(
             0 => 'color: #3cb371;' /* nice green */
@@ -139,6 +148,8 @@ $language_data = array (
             1 => 'color: #060;' /* dark green */
             ),
         'REGEXPS' => array(
+            1 => 'font-weight:bold; color:#339933;',
+            2 => 'font-weight:bold; color:#993399;'
             ),
         'SYMBOLS' => array(
             0 => 'color: #a52a2a;' /* maroon */
@@ -158,11 +169,13 @@ $language_data = array (
         /* link to Pervasives exceptions */
         5 => 'http://caml.inria.fr/pub/docs/manual-ocaml/libref/Pervasives.html#EXCEPTION{FNAME}'
         ),
-    'OOLANG' => true,
+    'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(
         1 => '.'
         ),
     'REGEXPS' => array(
+        1 => '~\w+',
+        2 => '`(?=(?-i:[a-z]))\w*',
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
@@ -171,4 +184,4 @@ $language_data = array (
         )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/oobas.php b/inc/geshi/oobas.php
index b3a5a0b6d..6f6e13fc2 100644
--- a/inc/geshi/oobas.php
+++ b/inc/geshi/oobas.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/30
  *
  * OpenOffice.org Basic language file for GeSHi.
diff --git a/inc/geshi/oracle11.php b/inc/geshi/oracle11.php
index 08c25b66d..f57c3f044 100644
--- a/inc/geshi/oracle11.php
+++ b/inc/geshi/oracle11.php
@@ -6,7 +6,7 @@
  * Contributions:
  * - Updated for 11i by Simon Redhead
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * Oracle 11i language file for GeSHi.
diff --git a/inc/geshi/oracle8.php b/inc/geshi/oracle8.php
index 5ac18786d..e470e0dd4 100644
--- a/inc/geshi/oracle8.php
+++ b/inc/geshi/oracle8.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: Guy Wicks (Guy.Wicks@rbs.co.uk)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * Oracle 8 language file for GeSHi.
diff --git a/inc/geshi/oxygene.php b/inc/geshi/oxygene.php
new file mode 100644
index 000000000..3af03bfc2
--- /dev/null
+++ b/inc/geshi/oxygene.php
@@ -0,0 +1,152 @@
+<?php
+/*************************************************************************************
+ * oxygene.php
+ * ----------
+ * Author: Carlo Kok (ck@remobjects.com), J�rja Norbert (jnorbi@vipmail.hu), Benny Baumann (BenBE@omorphia.de)
+ * Copyright: (c) 2004 J�rja Norbert, Benny Baumann (BenBE@omorphia.de), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/01/11
+ *
+ * Delphi Prism (Oxygene) language file for GeSHi.
+ * Based on the original Delphi language file.
+ *
+ * CHANGES
+ * -------
+ * 2010/01/11 (1.0.0)
+ *   -  First Release
+ *
+ *************************************************************************************
+ *
+ *   This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Oxygene (Delphi Prism)',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('(*' => '*)', '{' => '}'),
+    //Compiler directives
+    'COMMENT_REGEXP' => array(2 => '/{\\$.*?}|\\(\\*\\$.*?\\*\\)/U'),
+    'CASE_KEYWORDS' => 0,
+    'QUOTEMARKS' => array("'"),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'and',   'begin', 'case', 'const',  'div', 'do', 'downto', 'else',
+            'end',  'for',  'function', 'if', 'in', 'mod', 'not', 'of', 'or',
+            'procedure', 'repeat', 'record', 'set', 'shl', 'shr', 'then', 'to',
+            'type', 'until', 'uses', 'var','while', 'with', 'xor', 'exit', 'break',
+            'class', 'constructor', 'inherited', 'private', 'public', 'protected',
+            'property', 'As', 'Is', 'Unit', 'Continue', 'Try', 'Except', 'Forward',
+            'Interface','Implementation', 'nil', 'out', 'loop', 'namespace', 'true',
+            'false', 'new', 'ensure', 'require', 'on', 'event', 'delegate', 'method',
+            'raise', 'assembly', 'module', 'using','locking', 'old', 'invariants', 'operator',
+            'self', 'async', 'finalizer', 'where', 'yield', 'nullable', 'Future',
+            'From',  'Finally', 'dynamic'
+            ),
+        2 => array(
+            'override', 'virtual', 'External', 'read', 'add', 'remove','final', 'abstract',
+            'empty', 'global', 'locked', 'sealed', 'reintroduce', 'implements', 'each',
+            'default', 'partial', 'finalize', 'enum', 'flags', 'result', 'readonly', 'unsafe',
+            'pinned', 'matching', 'static', 'has', 'step', 'iterator', 'inline', 'nested',
+            'Implies', 'Select', 'Order', 'By', 'Desc', 'Asc', 'Group', 'Join', 'Take',
+            'Skip', 'Concat', 'Union', 'Reverse', 'Distinct', 'Into', 'Equals', 'params',
+            'sequence', 'index', 'notify', 'Parallel', 'create', 'array', 'Queryable', 'Aspect',
+            'volatile'
+            ),
+        3 => array(
+            'chr', 'ord', 'inc', 'dec', 'assert', 'iff', 'assigned','futureAssigned', 'length', 'low', 'high', 'typeOf', 'sizeOf', 'disposeAndNil', 'Coalesce', 'unquote'
+            ),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+//        4 => false,
+        ),
+    'SYMBOLS' => array(
+        0 => array('(', ')', '[', ']'),
+        1 => array('.', ',', ':', ';'),
+        2 => array('@', '^'),
+        3 => array('=', '+', '-', '*', '/')
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000000; font-weight: bold;',
+            2 => 'color: #000000; font-weight: bold;',
+            3 => 'color: #000066;',
+//            4 => 'color: #000066; font-weight: bold;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            2 => 'color: #008000; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #ff0000; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000066;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #000000;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #9ac;',
+            1 => 'color: #ff0000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000066;',
+            1 => 'color: #000066;',
+            2 => 'color: #000066;',
+            3 => 'color: #000066;'
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+//        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        //Hex numbers
+        0 => '\$[0-9a-fA-F]+',
+        //Characters
+        1 => '\#\$?[0-9]{1,3}'
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 2
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/oz.php b/inc/geshi/oz.php
new file mode 100644
index 000000000..cd594d4ca
--- /dev/null
+++ b/inc/geshi/oz.php
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * oz.php
+ * --------
+ * Author: Wolfgang Meyer (Wolfgang.Meyer@gmx.net)
+ * Copyright: (c) 2010 Wolfgang Meyer
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/01/03
+ *
+ * Oz language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+    'LANG_NAME' => 'OZ',
+    'COMMENT_SINGLE' => array(1 => '%'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"','\''),
+    'ESCAPE_CHAR' => '\\',
+    'NUMBERS' => array(),
+    'KEYWORDS' => array(
+        1 => array(
+            'declare','local','in','end','proc','fun','functor','require','prepare',
+            'import','export','define','at','case','then','else','of','elseof',
+            'elsecase','if','elseif','class','from','prop','attr','feat','meth',
+            'self','true','false','unit','div','mod','andthen','orelse','cond','or',
+            'dis','choice','not','thread','try','catch','finally','raise','lock',
+            'skip','fail','for','do'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true
+        ),
+    'SYMBOLS' => array(
+        '@', '!', '|', '<-', ':=', '<', '>', '=<', '>=', '<=', '#', '~', '.',
+        '*', '-', '+', '/', '<:', '>:', '=:', '=<:', '>=:', '\\=', '\\=:', ',',
+        '!!', '...', '==', '::', ':::'
+        ),
+    'STYLES' => array(
+        'REGEXPS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #00a030;',
+            3 => 'color: #bc8f8f;',
+            4 => 'color: #0000ff;',
+            5 => 'color: #a020f0;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #bc8f8f;'
+            ),
+        'KEYWORDS' => array(
+            1 => 'color: #a020f0;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #B22222;',
+            'MULTI' => 'color: #B22222;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #bc8f8f;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #a020f0;'
+            ),
+        'BRACKETS' => array(),
+        'NUMBERS' => array(),
+        'METHODS' => array(),
+        'SCRIPT' => array()
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_MAYBE,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'URLS' => array(
+        1 => ''
+        ),
+    'REGEXPS' => array(
+        // function and procedure definition
+        1 => array(
+            GESHI_SEARCH => "(proc|fun)([^{}\n\)]*)(\\{)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
+            GESHI_REPLACE => '\4',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1\2\3',
+            GESHI_AFTER => ''
+            ),
+        // class definition
+        2 => array(
+            GESHI_SEARCH => "(class)([^A-Z\$]*)([\$A-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9_.]*)",
+            GESHI_REPLACE => '\3\4',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1\2',
+            GESHI_AFTER => ''
+            ),
+        // single character
+        3 => array(
+            GESHI_SEARCH => "&amp;.",
+            GESHI_REPLACE => '\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            ),
+        // method definition
+        4 => array(
+            GESHI_SEARCH => "(meth)([^a-zA-Z]+)([a-zA-Z\300-\326\330-\336][A-Z\300-\326\330-\336a-z\337-\366\370-\3770-9]*)",
+            GESHI_REPLACE => '\3',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '\1\2',
+            GESHI_AFTER => ''
+            ),
+        // highlight "[]"
+        // ([] is actually a keyword, but that causes problems in validation; putting it into symbols doesn't work.)
+        5 => array(
+            GESHI_SEARCH => "\[\]",
+            GESHI_REPLACE => '\0',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => ''
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/pascal.php b/inc/geshi/pascal.php
index 948c00ce4..7ee5729a6 100644
--- a/inc/geshi/pascal.php
+++ b/inc/geshi/pascal.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Tux (tux@inamil.cz)
  * Copyright: (c) 2004 Tux (http://tux.a4.cz/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/26
  *
  * Pascal language file for GeSHi.
diff --git a/inc/geshi/pcre.php b/inc/geshi/pcre.php
new file mode 100644
index 000000000..a67cf2858
--- /dev/null
+++ b/inc/geshi/pcre.php
@@ -0,0 +1,188 @@
+<?php
+/*************************************************************************************
+ * pcre.php
+ * --------
+ * Author: Benny Baumann (BenBE@geshi.org)
+ * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/05/22
+ *
+ * PCRE language file for GeSHi.
+ *
+ * NOTE: This language file handles plain PCRE expressions without delimiters.
+ * If you want to highlight PCRE with delimiters you should use the
+ * Perl language file instead.
+ *
+ * CHANGES
+ * -------
+ * 2010/05/22 (1.0.8.8)
+ *   -  First Release
+ *
+ * TODO (updated 2010/05/22)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'PCRE',
+    'COMMENT_SINGLE' => array(),
+    'COMMENT_MULTI' => array(
+        ),
+    'COMMENT_REGEXP' => array(
+        // Non-matching groups
+        1 => "/(?<=\()\?(?::|(?=\())/",
+
+        // Modifier groups
+        2 => "/(?<=\()\?[cdegimopsuxUX\-]+(?::|(?=\)))/",
+
+        // Look-Aheads
+        3 => "/(?<=\()\?[!=]/",
+
+        // Look-Behinds
+        4 => "/(?<=\()\?<[!=]/",
+
+        // Forward Matching
+        5 => "/(?<=\()\?>/",
+
+        // Recursive Matching
+        6 => "/(?<=\()\?R(?=\))/",
+
+        // Named Subpattern
+        7 => "/(?<=\()\?(?:P?<\w+>|\d+(?=\))|P[=>]\w+(?=\)))/",
+
+        // Back Reference
+        8 => "/\\\\(?:[1-9]\d?|g\d+|g\{(?:-?\d+|\w+)\}|k<\w+>|k'\w+'|k\{\w+\})/",
+
+        // Byte sequence: Octal
+        9 => "/\\\\[0-7]{2,3}/",
+
+        // Byte sequence: Hex
+        10 => "/\\\\x[0-9a-fA-F]{2}/",
+
+        // Byte sequence: Hex
+        11 => "/\\\\u[0-9a-fA-F]{4}/",
+
+        // Byte sequence: Hex
+        12 => "/\\\\U[0-9a-fA-F]{8}/",
+
+        // Byte sequence: Unicode
+        13 => "/\\\\[pP]\{[^}\n]+\}/",
+
+        // One-Char Escapes
+        14 => "/\\\\[abdefnrstvwzABCDGSWXZ\\\\\\.\[\]\(\)\{\}\^\\\$\?\+\*]/",
+
+        // Byte sequence: Control-X sequence
+        15 => "/\\\\c./",
+
+        // Quantifier
+        16 => "/\{(?:\d+,?|\d*,\d+)\}/",
+
+        // Comment Subpattern
+        17 => "/(?<=\()\?#[^\)]*/",
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array(),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        0 => array('.'),
+        1 => array('(', ')'),
+        2 => array('[', ']', '|'),
+        3 => array('^', '$'),
+        4 => array('?', '+', '*'),
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #993333; font-weight: bold;',
+            2 => 'color: #cc3300; font-weight: bold;',
+            3 => 'color: #cc0066; font-weight: bold;',
+            4 => 'color: #cc0066; font-weight: bold;',
+            5 => 'color: #cc6600; font-weight: bold;',
+            6 => 'color: #cc00cc; font-weight: bold;',
+            7 => 'color: #cc9900; font-weight: bold; font-style: italic;',
+            8 => 'color: #cc9900; font-style: italic;',
+            9 => 'color: #669933; font-style: italic;',
+            10 => 'color: #339933; font-style: italic;',
+            11 => 'color: #339966; font-style: italic;',
+            12 => 'color: #339999; font-style: italic;',
+            13 => 'color: #663399; font-style: italic;',
+            14 => 'color: #999933; font-style: italic;',
+            15 => 'color: #993399; font-style: italic;',
+            16 => 'color: #333399; font-style: italic;',
+            17 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #333399; font-weight: bold;',
+            1 => 'color: #993333; font-weight: bold;',
+            2 => 'color: #339933; font-weight: bold;',
+            3 => 'color: #333399; font-weight: bold;',
+            4 => 'color: #333399; font-style: italic;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'ENABLE_FLAGS' => array(
+            'BRACKETS' => GESHI_NEVER,
+            'NUMBERS' => GESHI_NEVER
+        )
+    )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/per.php b/inc/geshi/per.php
index 06cf2e41b..b656c105e 100644
--- a/inc/geshi/per.php
+++ b/inc/geshi/per.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Lars Gersmann (lars.gersmann@gmail.com)
  * Copyright: (c) 2007 Lars Gersmann
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/06/03
  *
  * Per (forms) (FOURJ's Genero 4GL) language file for GeSHi.
diff --git a/inc/geshi/perl.php b/inc/geshi/perl.php
index 57b8971e8..5d1c4320b 100644
--- a/inc/geshi/perl.php
+++ b/inc/geshi/perl.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/20
  *
  * Perl language file for GeSHi.
diff --git a/inc/geshi/perl6.php b/inc/geshi/perl6.php
index 1c04098c0..9ea20fc78 100644
--- a/inc/geshi/perl6.php
+++ b/inc/geshi/perl6.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Kodi Arfer (kodiarfer {at} warpmail {period} net); forked from perl.php 1.0.8 by Andreas Gohr (andi@splitbrain.org), Ben Keen (ben.keen@gmail.com)
  * Copyright: (c) 2009 Kodi Arfer, (c) 2004 Andreas Gohr, Ben Keen (http://www.benjaminkeen.org/), Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/11/07
  *
  * Perl 6 language file for GeSHi.
diff --git a/inc/geshi/pf.php b/inc/geshi/pf.php
new file mode 100644
index 000000000..d59a609d5
--- /dev/null
+++ b/inc/geshi/pf.php
@@ -0,0 +1,178 @@
+<?php
+/*************************************************************************************
+ * pf.php
+ * --------
+ * Author: David Berard (david@nfrance.com)
+ * Copyright: (c) 2010 Benny Baumann (http://qbnz.com/highlighter/)
+ * Release Version: 1.0.8.8
+ * Date Started: 2009/10/16
+ * Based on bash.php
+ *
+ * OpenBSD PACKET FILTER language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2009/10/16 (1.0.0)
+ *   -  First Release
+ *
+ * TODO
+ * -------------------------
+ * * Support ALTQ
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'OpenBSD Packet Filter',
+    'COMMENT_SINGLE' => array('#'),
+    'COMMENT_MULTI' => array(),
+    'COMMENT_REGEXP' => array(
+        1 => "/\\$\\{[^\\n\\}]*?\\}/i",
+        2 => '/<<-?\s*?(\'?)([a-zA-Z0-9]+)\1\\n.*\\n\\2(?![a-zA-Z0-9])/siU',
+        3 => "/\\\\['\"]/siU"
+        ),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'HARDQUOTE' => array("'", "'"),
+    'HARDESCAPE' => array("\'"),
+    'ESCAPE_CHAR' => '',
+    'ESCAPE_REGEXP' => array(
+        1 => "#\\\\[nfrtv\\$\\\"\n]#i",
+        2 => "#\\$[a-z_][a-z0-9_]*#i",
+        3 => "/\\$\\{[^\\n\\}]*?\\}/i",
+        4 => "/\\$\\([^\\n\\)]*?\\)/i",
+        5 => "/`[^`]*`/"
+        ),
+    'KEYWORDS' => array(
+        1 => array(
+            'pass'
+        ),
+        2 => array(
+            'block'
+            ),
+        3 => array(
+            'quick','keep','state','antispoof','table','persist','file','scrub',
+            'set','skip','flags','on'
+            ),
+        4 => array(
+            'in','out','proto'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>', ';;', '`','='
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #009900; font-weight: bold;',
+            2 => 'color: #990000; font-weight: bold;',
+            3 => 'color: #7a0874;',
+            4 => 'color: #336699;'
+            ),
+        'COMMENTS' => array(
+            0 => 'color: #666666; font-style: italic;',
+            1 => 'color: #800000;',
+            2 => 'color: #cc0000; font-style: italic;',
+            3 => 'color: #000000; font-weight: bold;'
+            ),
+        'ESCAPE_CHAR' => array(
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #007800;',
+            3 => 'color: #007800;',
+            4 => 'color: #007800;',
+            5 => 'color: #780078;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #7a0874; font-weight: bold;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #CC0000;',
+            'HARD' => 'color: #CC0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #ff00cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #000000; font-weight: bold;'
+            ),
+        'REGEXPS' => array(
+            0 => 'color: #007800;',
+            1 => 'color: #007800;',
+            2 => 'color: #007800;',
+            4 => 'color: #007800;',
+            5 => 'color: #660033;',
+            6 => 'color: #000099; font-weight: bold;',
+            7 => 'color: #0000ff;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        //Variables (will be handled by comment_regexps)
+        0 => "\\$\\{[a-zA-Z_][a-zA-Z0-9_]*?\\}",
+        //Variables without braces
+        1 => "\\$[a-zA-Z_][a-zA-Z0-9_]*",
+        //Variable assignment
+        2 => "(?<![\.a-zA-Z_\-])([a-zA-Z_][a-zA-Z0-9_]*?)(?==)",
+        //Shorthand shell variables
+        4 => "\\$[*#\$\\-\\?!]",
+        //Parameters of commands
+        5 => "(?<=\s)--?[0-9a-zA-Z\-]+(?=[\s=]|$)",
+        //IPs
+        6 => "([0-9]{1,3}\.){3}[0-9]{1,3}",
+        //Tables
+        7 => "(&lt;(.*)&gt;)"
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+    ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'COMMENTS' => array(
+            'DISALLOWED_BEFORE' => '$'
+        ),
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![\.\-a-zA-Z0-9_\$\#])",
+            'DISALLOWED_AFTER' =>  "(?![\.\-a-zA-Z0-9_%\\/])"
+        )
+    )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/php-brief.php b/inc/geshi/php-brief.php
index ceaf423af..c28d985f4 100644
--- a/inc/geshi/php-brief.php
+++ b/inc/geshi/php-brief.php
@@ -4,7 +4,7 @@
  * -------------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/02
  *
  * PHP (brief version) language file for GeSHi.
diff --git a/inc/geshi/php.php b/inc/geshi/php.php
index 9b0bc822d..ec6981134 100644
--- a/inc/geshi/php.php
+++ b/inc/geshi/php.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/20
  *
  * PHP language file for GeSHi.
diff --git a/inc/geshi/pic16.php b/inc/geshi/pic16.php
index 88d4a6745..626a768b0 100644
--- a/inc/geshi/pic16.php
+++ b/inc/geshi/pic16.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Phil Mattison (mattison@ohmikron.com)
  * Copyright: (c) 2008 Ohmikron Corp. (http://www.ohmikron.com/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/07/30
  *
  * PIC16 Assembler language file for GeSHi.
diff --git a/inc/geshi/pike.php b/inc/geshi/pike.php
index e67975fe2..2b860ccd6 100644
--- a/inc/geshi/pike.php
+++ b/inc/geshi/pike.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Rick E. (codeblock@eighthbit.net)
  * Copyright: (c) 2009 Rick E.
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/12/10
  *
  * Pike language file for GeSHi.
diff --git a/inc/geshi/pixelbender.php b/inc/geshi/pixelbender.php
index d19754f3e..82c64ae52 100644
--- a/inc/geshi/pixelbender.php
+++ b/inc/geshi/pixelbender.php
@@ -4,7 +4,7 @@
  * ----------------
  * Author: Richard Olsson (r@richardolsson.se)
  * Copyright: (c) 2008 Richard Olsson (richardolsson.se)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/11/16
  *
  * Pixel Bender 1.0 language file for GeSHi.
diff --git a/inc/geshi/plsql.php b/inc/geshi/plsql.php
index 0779ca04f..e0145362c 100644
--- a/inc/geshi/plsql.php
+++ b/inc/geshi/plsql.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Victor Engmark <victor.engmark@gmail.com>
  * Copyright: (c) 2006 Victor Engmark (http://l0b0.net/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/10/26
  *
  * Oracle 9.2 PL/SQL language file for GeSHi.
diff --git a/inc/geshi/postgresql.php b/inc/geshi/postgresql.php
new file mode 100644
index 000000000..7f89fe2a4
--- /dev/null
+++ b/inc/geshi/postgresql.php
@@ -0,0 +1,288 @@
+<?php
+/*************************************************************************************
+ * postgresql.php
+ * -----------
+ * Author: Christophe Chauvet (christophe_at_kryskool_dot_org)
+ * Contributors: Leif Biberg Kristensen <leif_at_solumslekt_dot_org> 2010-05-03
+ * Copyright: (c) 2007 Christophe Chauvet (http://kryskool.org/), Nigel McNie (http://qbnz.com/highlighter)
+ * Release Version: 1.0.8.8
+ * Date Started: 2007/07/20
+ *
+ * PostgreSQL language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2007/07/20 (1.0.0)
+ *  -  First Release
+ *
+ * TODO (updated 2007/07/20)
+ * -------------------------
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'PostgreSQL',
+    'COMMENT_SINGLE' => array(1 => '--'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"', '`'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        //Put PostgreSQL reserved keywords here.  I like mine uppercase.
+        1 => array(
+            'ABORT','ABSOLUTE','ACCESS','ACTION','ADD','ADMIN','AFTER',
+            'AGGREGATE','ALL','ALSO','ALTER','ALWAYS','ANALYSE','ANALYZE','AND',
+            'ANY','AS','ASC,','ASSERTION','ASSIGNMENT','ASYMMETRIC','AT',
+            'AUTHORIZATION','BACKWARD','BEFORE','BEGIN','BETWEEN','BOTH','BY',
+            'CACHE','CALLED','CASCADE','CASCADED','CASE','CAST','CATALOG',
+            'CHAIN','CHARACTERISTICS','CHECK','CHECKPOINT','CLASS','CLOSE',
+            'CLUSTER','COALESCE','COLLATE','COLUMN','COMMENT','COMMIT',
+            'COMMITTED','CONCURRENTLY','CONFIGURATION','CONNECTION',
+            'CONSTRAINT','CONSTRAINTS','CONTENT','CONTINUE','CONVERSION','COPY',
+            'COST','CREATE','CREATEDB','CREATEROLE','CREATEUSER','CROSS','CSV',
+            'CURRENT','CURRENT_CATALOG','CURRENT_DATE','CURRENT_ROLE',
+            'CURRENT_SCHEMA','CURRENT_TIME','CURRENT_TIMESTAMP','CURRENT_USER',
+            'CURSOR','CYCLE','DATA','DATABASE','DAY','DEALLOCATE','DEC',
+            'DECLARE','DEFAULT','DEFAULTS','DEFERRABLE','DEFERRED','DEFINER',
+            'DELETE','DELIMITER','DELIMITERS','DESC','DICTIONARY','DISABLE',
+            'DISCARD','DISTINCT','DO','DOCUMENT','DOMAIN','DOUBLE','DROP',
+            'EACH','ELSE','ENABLE','ENCODING','ENCRYPTED','END','ESCAPE',
+            'EXCEPT','EXCLUDING','EXCLUSIVE','EXECUTE','EXISTS','EXPLAIN',
+            'EXTERNAL','EXTRACT','FALSE','FAMILY','FETCH','FIRST','FOLLOWING',
+            'FOR','FORCE','FOREIGN','FORWARD','FREEZE','FROM','FULL','FUNCTION',
+            'GLOBAL','GRANT','GRANTED','GREATEST','GROUP','HANDLER','HAVING',
+            'HEADER','HOLD','HOUR','IDENTITY','IF','ILIKE','IMMEDIATE',
+            'IMMUTABLE','IMPLICIT','IN','INCLUDING','INCREMENT','INDEX',
+            'INDEXES','INHERIT','INHERITS','INITIALLY','INNER','INOUT','INPUT',
+            'INSENSITIVE','INSERT','INSTEAD','INTERSECT','INTO','INVOKER','IS',
+            'ISNULL','ISOLATION','JOIN','KEY','LANCOMPILER','LANGUAGE','LARGE',
+            'LAST','LC_COLLATE','LC_CTYPE','LEADING','LEAST','LEFT','LEVEL',
+            'LIKE','LIMIT','LISTEN','LOAD','LOCAL','LOCALTIME','LOCALTIMESTAMP',
+            'LOCATION','LOCK','LOGIN','LOOP','MAPPING','MATCH','MAXVALUE',
+            'MINUTE','MINVALUE','MODE','MONTH','MOVE','NAME','NAMES','NATIONAL',
+            'NATURAL','NEW','NEXT','NO','NOCREATEDB','NOCREATEROLE',
+            'NOCREATEUSER','NOINHERIT','NOLOGIN','NONE','NOSUPERUSER','NOT',
+            'NOTHING','NOTIFY','NOTNULL','NOWAIT','NULL','NULLIF','NULLS',
+            'NUMERIC','OBJECT','OF','OFF','OFFSET','OIDS','OLD','ON','ONLY',
+            'OPERATOR','OPTION','OPTIONS','OR','ORDER','OUT','OUTER','OVER',
+            'OVERLAPS','OVERLAY','OWNED','OWNER','PARSER','PARTIAL','PARTITION',
+            'PASSWORD','PLACING','PLANS','POSITION','PRECEDING','PRECISION',
+            'PREPARE','PREPARED','PRESERVE','PRIMARY','PRIOR','PRIVILEGES',
+            'PROCEDURAL','PROCEDURE','QUOTE','RANGE','READ','REASSIGN',
+            'RECHECK','RECURSIVE','REFERENCES','REINDEX','RELATIVE','RELEASE',
+            'RENAME','REPEATABLE','REPLACE','REPLICA','RESET','RESTART',
+            'RESTRICT','RETURN','RETURNING','RETURNS','REVOKE','RIGHT','ROLE',
+            'ROLLBACK','ROW','ROWS','RULE','SAVEPOINT','SCHEMA','SCROLL',
+            'SEARCH','SECOND',
+            'SECURITY','SELECT','SEQUENCE','SERIALIZABLE','SERVER','SESSION',
+            'SESSION_USER','SET','SETOF','SHARE','SHOW','SIMILAR','SIMPLE',
+            'SOME','STABLE','STANDALONE','START','STATEMENT','STATISTICS',
+            'STDIN','STDOUT','STORAGE','STRICT','STRIP','SUPERUSER',
+            'SYMMETRIC','SYSID','SYSTEM','TABLE','TABLESPACE','TEMP','TEMPLATE',
+            'TEMPORARY','THEN','TO','TRAILING','TRANSACTION','TREAT','TRIGGER',
+            'TRUE','TRUNCATE','TRUSTED','TYPE','UNBOUNDED','UNCOMMITTED',
+            'UNENCRYPTED','UNION','UNIQUE','UNKNOWN','UNLISTEN','UNTIL',
+            'UPDATE','USER','USING','VACUUM','VALID','VALIDATOR','VALUE',
+            'VALUES','VARIADIC','VERBOSE','VERSION','VIEW','VOLATILE','WHEN',
+            'WHERE','WHILE','WHITESPACE','WINDOW','WITH','WITHOUT','WORK','WRAPPER',
+            'WRITE','XMLATTRIBUTES','XMLCONCAT','XMLELEMENT','XMLFOREST',
+            'XMLPARSE','XMLPI','XMLROOT','XMLSERIALIZE','YEAR','YES','ZONE'
+            ),
+
+        //Put functions here
+        3 => array(
+            // mathematical functions
+            'ABS','CBRT','CEIL','CEILING','DEGREES','DIV','EXP','FLOOR','LN',
+            'LOG','MOD','PI','POWER','RADIANS','RANDOM','ROUND','SETSEED',
+            'SIGN','SQRT','TRUNC','WIDTH_BUCKET',
+            // trigonometric functions
+            'ACOS','ASIN','ATAN','ATAN2','COS','COT','SIN','TAN',
+            // string functions
+            'BIT_LENGTH','CHAR_LENGTH','CHARACTER_LENGTH','LOWER',
+            'OCTET_LENGTH','POSITION','SUBSTRING','TRIM','UPPER',
+            // other string functions
+            'ASCII','BTRIM','CHR','CONVERT','CONVERT_FROM','CONVERT_TO',
+            'DECODE','ENCODE','INITCAP','LENGTH','LPAD','LTRIM','MD5',
+            'PG_CLIENT_ENCODING','QUOTE_IDENT','QUOTE_LITERAL','QUOTE_NULLABLE',
+            'REGEXP_MATCHES','REGEXP_REPLACE','REGEXP_SPLIT_TO_ARRAY',
+            'REGEXP_SPLIT_TO_TABLE','REPEAT','RPAD','RTRIM','SPLIT_PART',
+            'STRPOS','SUBSTR','TO_ASCII','TO_HEX','TRANSLATE',
+            // binary string functions
+            'GET_BIT','GET_BYTE','SET_BIT','SET_BYTE',
+            // data type formatting functions
+            'TO_CHAR','TO_DATE','TO_NUMBER','TO_TIMESTAMP',
+            // date/time functions
+            'AGE','CLOCK_TIMESTAMP','DATE_PART','DATE_TRUNC','EXTRACT',
+            'ISFINITE','JUSTIFY_DAYS','JUSTIFY_HOURS','JUSTIFY_INTERVAL','NOW',
+            'STATEMENT_TIMESTAMP','TIMEOFDAY','TRANSACTION_TIMESTAMP',
+            // enum support functions
+            'ENUM_FIRST','ENUM_LAST','ENUM_RANGE',
+            // geometric functions
+            'AREA','CENTER','DIAMETER','HEIGHT','ISCLOSED','ISOPEN','NPOINTS',
+            'PCLOSE','POPEN','RADIUS','WIDTH',
+            'BOX','CIRCLE','LSEG','PATH','POINT','POLYGON',
+            // cidr and inet functions
+            'ABBREV','BROADCAST','FAMILY','HOST','HOSTMASK','MASKLEN','NETMASK',
+            'NETWORK','SET_MASKLEN',
+            // text search functions
+            'TO_TSVECTOR','SETWEIGHT','STRIP','TO_TSQUERY','PLAINTO_TSQUERY',
+            'NUMNODE','QUERYTREE','TS_RANK','TS_RANK_CD','TS_HEADLINE',
+            'TS_REWRITE','GET_CURRENT_TS_CONFIG','TSVECTOR_UPDATE_TRIGGER',
+            'TSVECTOR_UPDATE_TRIGGER_COLUMN',
+            'TS_DEBUG','TS_LEXISE','TS_PARSE','TS_TOKEN_TYPE','TS_STAT',
+            // XML functions
+            'XMLCOMMENT','XMLCONCAT','XMLELEMENT','XMLFOREST','XMLPI','XMLROOT',
+            'XMLAGG','XPATH','TABLE_TO_XMLSCHEMA','QUERY_TO_XMLSCHEMA',
+            'CURSOR_TO_XMLSCHEMA','TABLE_TO_XML_AND_XMLSCHEMA',
+            'QUERY_TO_XML_AND_XMLSCHEMA','SCHEMA_TO_XML','SCHEMA_TO_XMLSCHEMA',
+            'SCHEMA_TO_XML_AND_XMLSCHEMA','DATABASE_TO_XML',
+            'DATABASE_TO_XMLSCHEMA','DATABASE_TO_XML_AND_XMLSCHEMA',
+            // sequence manipulating functions
+            'CURRVAL','LASTVAL','NEXTVAL','SETVAL',
+            // conditional expressions
+            'COALESCE','NULLIF','GREATEST','LEAST',
+            // array functions
+            'ARRAY_APPEND','ARRAY_CAT','ARRAY_NDIMS','ARRAY_DIMS','ARRAY_FILL',
+            'ARRAY_LENGTH','ARRAY_LOWER','ARRAY_PREPEND','ARRAY_TO_STRING',
+            'ARRAY_UPPER','STRING_TO_ARRAY','UNNEST',
+            // aggregate functions
+            'ARRAY_AGG','AVG','BIT_AND','BIT_OR','BOOL_AND','BOOL_OR','COUNT',
+            'EVERY','MAX','MIN','STRING_AGG','SUM',
+            // statistic aggregate functions
+            'CORR','COVAR_POP','COVAR_SAMP','REGR_AVGX','REGR_AVGY',
+            'REGR_COUNT','REGR_INTERCEPT','REGR_R2','REGR_SLOPE','REGR_SXX',
+            'REGR_SXY','REGR_SYY','STDDEV','STDDEV_POP','STDDEV_SAMP',
+            'VARIANCE','VAR_POP','VAR_SAMP',
+            // window functions
+            'ROW_NUMBER','RANK','DENSE_RANK','PERCENT_RANK','CUME_DIST','NTILE',
+            'LAG','LEAD','FIRST_VALUE','LAST_VALUE','NTH_VALUE',
+            // set returning functions
+            'GENERATE_SERIES','GENERATE_SUBSCRIPTS'
+            // system information functions not currently included
+            ),
+
+        //Put your postgresql var
+        4 => array(
+            'client_encoding',
+            'standard_conforming_strings'
+            ),
+
+        //Put your data types here
+        5 => array(
+            'ARRAY','ABSTIME','BIGINT','BIGSERIAL','BINARY','BIT','BIT VARYING',
+            'BOOLEAN','BOX','BYTEA','CHAR','CHARACTER','CHARACTER VARYING',
+            'CIDR','CIRCLE','DATE','DECIMAL','DOUBLE PRECISION','ENUM','FLOAT',
+            'INET','INT','INTEGER','INTERVAL','NCHAR','REAL','SMALLINT','TEXT',
+            'TIME','TIMESTAMP','VARCHAR','XML',
+            ),
+
+        //        //Put your package names here
+        //        6 => array(
+        //            ),
+
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '=', '<', '>', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        3 => false,
+        4 => false,
+        5 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            // regular keywords
+            1 => 'color: #000000; font-weight: bold; text-transform: uppercase;',
+            // inbuilt functions
+            3 => 'color: #333399; font-weight: bold; text-transform: uppercase;',
+            // postgresql var(?)
+            4 => 'color: #993333; font-weight: bold; text-transform: uppercase;',
+            // data types
+            5 => 'color: #993333; font-weight: bold; text-transform: uppercase;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080; font-style: italic;',
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #ff0000;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        3 => '',
+        4 => 'http://paste.postgresql.fr/wiki/desc.php?def={FNAME}',
+        5 => '',
+        ),
+
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            1 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+
+            3 => array(
+                'DISALLOWED_AFTER' => '(?=\()'
+                ),
+
+            4 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+
+            5 => array(
+                'DISALLOWED_AFTER' => '(?![\(\w])'
+                ),
+            )
+        )
+
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/povray.php b/inc/geshi/povray.php
index 80bf5a478..c987a013e 100644
--- a/inc/geshi/povray.php
+++ b/inc/geshi/povray.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Carl Fürstenberg (azatoth@gmail.com)
  * Copyright: © 2007 Carl Fürstenberg
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/07/11
  *
  * Povray language file for GeSHi.
diff --git a/inc/geshi/powerbuilder.php b/inc/geshi/powerbuilder.php
index e276d85ee..ef86c242c 100644
--- a/inc/geshi/powerbuilder.php
+++ b/inc/geshi/powerbuilder.php
@@ -4,7 +4,7 @@
  * ------
  * Author: Doug Porter (powerbuilder.geshi@gmail.com)
  * Copyright: (c) 2009 Doug Porter
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/07/13
  *
  * PowerBuilder (PowerScript) language file for GeSHi.
diff --git a/inc/geshi/powershell.php b/inc/geshi/powershell.php
index fe8a5da07..c90538809 100644
--- a/inc/geshi/powershell.php
+++ b/inc/geshi/powershell.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Frode Aarebrot (frode@aarebrot.net)
  * Copyright: (c) 2008 Frode Aarebrot (http://www.aarebrot.net)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/06/20
  *
  * PowerShell language file for GeSHi.
@@ -49,7 +49,7 @@
 $language_data = array (
     'LANG_NAME' => 'PowerShell',
     'COMMENT_SINGLE' => array(1 => '#'),
-    'COMMENT_MULTI' => array(),
+    'COMMENT_MULTI' => array('<#' => '#>'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
     'ESCAPE_CHAR' => '`',
diff --git a/inc/geshi/progress.php b/inc/geshi/progress.php
index 3824e7b0b..90c3bf0fa 100644
--- a/inc/geshi/progress.php
+++ b/inc/geshi/progress.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Marco Aurelio de Pasqual (marcop@hdi.com.br)
  * Copyright: (c) 2008 Marco Aurelio de Pasqual, Benny Baumann (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/07/11
  *
  * Progress language file for GeSHi.
diff --git a/inc/geshi/prolog.php b/inc/geshi/prolog.php
index 1f35a1b82..4dd01ff7e 100644
--- a/inc/geshi/prolog.php
+++ b/inc/geshi/prolog.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/10/02
  *
  * Prolog language file for GeSHi.
@@ -130,7 +130,7 @@ $language_data = array (
         ),
     'REGEXPS' => array(
         //Variables
-        0 => "(?<![A-Z_])(?!(?:PIPE|SEMI)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])"
+        0 => "(?<![a-zA-Z0-9_])(?!(?:PIPE|SEMI|DOT)[^a-zA-Z0-9_])[A-Z_][a-zA-Z0-9_]*(?![a-zA-Z0-9_])(?!\x7C)"
         ),
     'STRICT_MODE_APPLIES' => GESHI_NEVER,
     'SCRIPT_DELIMITERS' => array(
@@ -140,4 +140,4 @@ $language_data = array (
     'TAB_WIDTH' => 4
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/properties.php b/inc/geshi/properties.php
index 231dd6e8b..9fc8b8da4 100644
--- a/inc/geshi/properties.php
+++ b/inc/geshi/properties.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Edy Hinzen
  * Copyright: (c) 2009 Edy Hinzen
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/04/03
  *
  * Property language file for GeSHi.
diff --git a/inc/geshi/providex.php b/inc/geshi/providex.php
index aaa02e797..0352ac2a1 100644
--- a/inc/geshi/providex.php
+++ b/inc/geshi/providex.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Jeff Wilder (jeff@coastallogix.com)
  * Copyright:  (c) 2008 Coastal Logix (http://www.coastallogix.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/10/18
  *
  * ProvideX language file for GeSHi.
diff --git a/inc/geshi/purebasic.php b/inc/geshi/purebasic.php
index b644af3fe..b24986f57 100644
--- a/inc/geshi/purebasic.php
+++ b/inc/geshi/purebasic.php
@@ -4,7 +4,7 @@
  * -------
  * Author: GuShH
  * Copyright: (c) 2009 Gustavo Julio Fiorenza
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 13/06/2009
  *
  * PureBasic language file for GeSHi.
diff --git a/inc/geshi/python.php b/inc/geshi/python.php
index a482d6928..1be7e2953 100644
--- a/inc/geshi/python.php
+++ b/inc/geshi/python.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/30
  *
  * Python language file for GeSHi.
diff --git a/inc/geshi/q.php b/inc/geshi/q.php
new file mode 100644
index 000000000..9629ded4a
--- /dev/null
+++ b/inc/geshi/q.php
@@ -0,0 +1,149 @@
+<?php
+/*************************************************************************************
+ * q.php
+ * -----
+ * Author: Ian Roddis (ian.roddis@proteanmind.net)
+ * Copyright: (c) 2008 Ian Roddis (http://proteanmind.net)
+ * Release Version: 1.0.8.8
+ * Date Started: 2009/01/21
+ *
+ * q/kdb+ language file for GeSHi.
+ *
+ * Based on information available from code.kx.com
+ *
+ * CHANGES
+ * -------
+ * 2010/01/21 (1.0.0)
+ *   -  First Release
+ *
+ * TODO (updated <1.0.0>)
+ * -------------------------
+ *  - Fix the handling of single line comments
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME'                 => 'q/kdb+',
+    'COMMENT_SINGLE'            => array(1 => '//'),
+    'COMMENT_MULTI'             => array(),
+    'COMMENT_REGEXP'            => array(
+        2 => '/ \s\/.*/',         # This needs to get fixed up, since it won't catch some instances
+        # Multi line comments (Moved from REGEXPS)
+        3 => '/^\/\s*?\n.*?\n\\\s*?\n/smi'
+        ),
+    'CASE_KEYWORDS'             => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS'                => array('"'),
+    'ESCAPE_CHAR'               => '\\',
+    'OOLANG'                    => false,
+    'OBJECT_SPLITTERS'          => array(),
+    'STRICT_MODE_APPLIES'       => GESHI_NEVER,
+    'SCRIPT_DELIMITERS'         => array(),
+    'HIGHLIGHT_STRICT_BLOCK'    => array(),
+    'TAB_WIDTH'                 => 4,
+    'KEYWORDS' => array(
+        1 => array(
+            'abs', 'acos', 'all', 'and', 'any', 'asc', 'asin', 'asof', 'atan', 'attr', 'avg', 'avgs', 'bin', 'ceiling',
+            'cols', 'cor', 'cos', 'count', 'cov', 'cross', 'cut', 'deltas', 'desc', 'dev', 'differ', 'distinct',
+            'div', 'each', 'enlist', 'eval', 'except', 'exec', 'exit', 'exp', 'fills', 'first', 'flip', 'floor',
+            'fkeys', 'get', 'getenv', 'group', 'gtime', 'hclose', 'hcount', 'hdel', 'hopen', 'hsym', 'iasc', 'idesc',
+            'in', 'insert', 'inter', 'inv', 'joins', 'key', 'keys', 'last', 'like', 'load', 'log', 'lower',
+            'lsq', 'ltime', 'ltrim', 'mavg', 'max', 'maxs', 'mcount', 'md5', 'mdev', 'med', 'meta', 'min', 'mins',
+            'mmax', 'mmin', 'mmu', 'mod', 'msum', 'neg', 'next', 'not', 'null', 'or', 'over', 'parse', 'peach',
+            'plist', 'prd', 'prds', 'prev', 'rand', 'rank', 'ratios', 'raze', 'read0', 'read1', 'reciprocal',
+            'reverse', 'rload', 'rotate', 'rsave', 'rtrim', 'save', 'scan', 'set', 'setenv', 'show', 'signum',
+            'sin', 'sqrt', 'ss', 'ssr', 'string', 'sublist', 'sum', 'sums', 'sv', 'system', 'tables', 'tan', 'til', 'trim',
+            'txf', 'type', 'ungroup', 'union', 'upper', 'upsert', 'value', 'var', 'view', 'views', 'vs',
+            'wavg', 'within', 'wsum', 'xasc', 'xbar', 'xcol', 'xcols', 'xdesc', 'xexp', 'xgroup', 'xkey',
+            'xlog', 'xprev', 'xrank'
+            ),
+        # kdb database template keywords
+        2 => array(
+            'aj', 'by', 'delete', 'fby', 'from', 'ij', 'lj', 'pj', 'select', 'uj', 'update', 'where', 'wj',
+            ),
+        ),
+    'SYMBOLS' => array(
+        '?', '#', ',', '_', '@', '.', '^', '~', '$', '!', '\\', '\\', '/:', '\:', "'", "':", '::', '+', '-', '%', '*'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #009900; font-weight: bold;',
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            2 => 'color: #666666; font-style: italic;',
+            3 => 'color: #808080; font-style: italic;',
+            'MULTI' => 'color: #808080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            1 => 'color: #000099; font-weight: bold;',
+            2 => 'color: #660099; font-weight: bold;',
+            3 => 'color: #660099; font-weight: bold;',
+            4 => 'color: #660099; font-weight: bold;',
+            5 => 'color: #006699; font-weight: bold;',
+            'HARD' => '',
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #990000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #0000dd;',
+            GESHI_NUMBER_BIN_PREFIX_0B => 'color: #208080;',
+            GESHI_NUMBER_OCT_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_HEX_PREFIX => 'color: #208080;',
+            GESHI_NUMBER_FLT_SCI_SHORT => 'color:#800080;',
+            GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI_F => 'color:#800080;',
+            GESHI_NUMBER_FLT_NONSCI => 'color:#800080;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #202020;',
+            2 => 'color: #202020;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            2   => 'color: #999900;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'REGEXPS' => array(
+        # Symbols
+        2 => '`[^\s"]*',
+        ),
+    'URLS'  => array(
+        1   => '',
+        2   => '',
+        ),
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/qbasic.php b/inc/geshi/qbasic.php
index c83cb188e..da4372258 100644
--- a/inc/geshi/qbasic.php
+++ b/inc/geshi/qbasic.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/20
  *
  * QBasic/QuickBASIC language file for GeSHi.
diff --git a/inc/geshi/rails.php b/inc/geshi/rails.php
index 777fdd814..64d83ea16 100644
--- a/inc/geshi/rails.php
+++ b/inc/geshi/rails.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Moises Deniz
  * Copyright: (c) 2005 Moises Deniz
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/03/21
  *
  * Ruby (with Ruby on Rails Framework) language file for GeSHi.
diff --git a/inc/geshi/rebol.php b/inc/geshi/rebol.php
index 1a2e95824..a3889eec9 100644
--- a/inc/geshi/rebol.php
+++ b/inc/geshi/rebol.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Lecanu Guillaume (Guillaume@LyA.fr)
  * Copyright: (c) 2004-2005 Lecanu Guillaume (Guillaume@LyA.fr)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/12/22
  *
  * Rebol language file for GeSHi.
diff --git a/inc/geshi/reg.php b/inc/geshi/reg.php
index d70189cc9..bb2e845f3 100644
--- a/inc/geshi/reg.php
+++ b/inc/geshi/reg.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Sean Hanna (smokingrope@gmail.com)
  * Copyright: (c) 2006 Sean Hanna
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 03/15/2006
  *
  * Microsoft Registry Editor language file for GeSHi.
diff --git a/inc/geshi/robots.php b/inc/geshi/robots.php
index 82ff18f4f..baf286b7f 100644
--- a/inc/geshi/robots.php
+++ b/inc/geshi/robots.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Christian Lescuyer (cl@goelette.net)
  * Copyright: (c) 2006 Christian Lescuyer http://xtian.goelette.info
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/02/17
  *
  * robots.txt language file for GeSHi.
diff --git a/inc/geshi/rpmspec.php b/inc/geshi/rpmspec.php
new file mode 100644
index 000000000..96dc9556f
--- /dev/null
+++ b/inc/geshi/rpmspec.php
@@ -0,0 +1,133 @@
+<?php
+/*************************************************************************************
+ * rpmspec.php
+ * ---------------------------------
+ * Author: Paul Grinberg (gri6507 TA unity-linux TOD org)
+ * Copyright: (c) 2010 Paul Grinberg
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/04/27
+ *
+ * RPM Spec language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2010/04/27 (0.1)
+ *  -  First Release
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'RPM Specification File',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'QUOTEMARKS' => array('"','`'),
+    'ESCAPE_CHAR' => '\\',
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        ),
+    'KEYWORDS' => array(
+        ),
+    'SYMBOLS' => array(
+        '<', '>', '=',
+        '!', '@', '~', '&', '|', '^',
+        '+','-', '*', '/', '%',
+        ',', ';', '?', '.', ':'
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;',
+            'HARD' => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;',
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #006600;',
+            2 => 'color: #006600;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(
+            1 => 'color: #0000ff;',
+            2 => 'color: #009999;',
+            3 => 'color: #000000; font-weight: bold;',
+            4 => 'color: #ff6600; font-style: italic;',
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'REGEXPS' => array(
+        1 => array(
+            // search for generic macros
+            GESHI_SEARCH => '(%{?[a-zA-Z0-9_]+}?)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => '',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        2 => array(
+            // search for special macros
+            GESHI_SEARCH => '(%(?:define|patch\d*|mklibname|mkrel|configure\S+|makeinstall\S+|make_session|make|defattr|config|doc|setup))',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        3 => array (
+            // special definitions
+            GESHI_SEARCH => '((?:summary|license|buildroot|buildrequires|provides|version|release|source\d*|group|buildarch|autoreqprov|provides|obsoletes|vendor|distribution|suggests|autoreq|autoprov|conflicts|name|url|requires|patch\d*):)',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        4 => array (
+            // section delimiting words
+            GESHI_SEARCH => '(%(?:description|package|prep|build|install|clean|postun|preun|post|pre|files|changelog))',
+            GESHI_REPLACE => '\\1',
+            GESHI_MODIFIERS => 'i',
+            GESHI_BEFORE => '',
+            GESHI_AFTER => '',
+            ),
+        ),
+    'URLS' => array(),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/rsplus.php b/inc/geshi/rsplus.php
index 10fa5a89e..b73f5ea77 100644
--- a/inc/geshi/rsplus.php
+++ b/inc/geshi/rsplus.php
@@ -6,7 +6,7 @@
  * Contributors:
  *  - Benilton Carvalho (beniltoncarvalho@gmail.com)
  * Copyright: (c) 2009 Ron Fredericks (http://www.LectureMaker.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/03/28
  *
  * R language file for GeSHi.
diff --git a/inc/geshi/ruby.php b/inc/geshi/ruby.php
index 57d379d66..47ecbb2e2 100644
--- a/inc/geshi/ruby.php
+++ b/inc/geshi/ruby.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Moises Deniz
  * Copyright: (c) 2007 Moises Deniz
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/03/21
  *
  * Ruby language file for GeSHi.
@@ -40,6 +40,10 @@ $language_data = array (
     'LANG_NAME' => 'Ruby',
     'COMMENT_SINGLE' => array(1 => "#"),
     'COMMENT_MULTI' => array("=begin" => "=end"),
+    'COMMENT_REGEXP' => array(
+        //Heredoc
+        4 => '/<<\s*?(\w+)\\n.*?\\n\\1(?![a-zA-Z0-9])/si',
+        ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"', '`','\''),
     'ESCAPE_CHAR' => '\\',
@@ -145,6 +149,7 @@ $language_data = array (
             ),
         'COMMENTS' => array(
             1 => 'color:#008000; font-style:italic;',
+            4 => 'color: #cc0000; font-style: italic;',
             'MULTI' => 'color:#000080; font-style:italic;'
             ),
         'ESCAPE_CHAR' => array(
diff --git a/inc/geshi/sas.php b/inc/geshi/sas.php
index 16617b58e..c4d426fa0 100644
--- a/inc/geshi/sas.php
+++ b/inc/geshi/sas.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Galen Johnson (solitaryr@gmail.com)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/12/27
  *
  * SAS language file for GeSHi. Based on the sas vim file.
diff --git a/inc/geshi/scala.php b/inc/geshi/scala.php
index 5ebe9ed96..202c06c83 100644
--- a/inc/geshi/scala.php
+++ b/inc/geshi/scala.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Franco Lombardo (franco@francolombardo.net)
  * Copyright: (c) 2008 Franco Lombardo, Benny Baumann
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/02/08
  *
  * Scala language file for GeSHi.
diff --git a/inc/geshi/scheme.php b/inc/geshi/scheme.php
index dac7c6f06..2e2430bff 100644
--- a/inc/geshi/scheme.php
+++ b/inc/geshi/scheme.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Jon Raphaelson (jonraphaelson@gmail.com)
  * Copyright: (c) 2005 Jon Raphaelson, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/30
  *
  * Scheme language file for GeSHi.
diff --git a/inc/geshi/scilab.php b/inc/geshi/scilab.php
index 9bd0658db..d1ff6fc16 100644
--- a/inc/geshi/scilab.php
+++ b/inc/geshi/scilab.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Christophe David (geshi@christophedavid.org)
  * Copyright: (c) 2008 Christophe David (geshi@christophedavid.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/08/04
  *
  * SciLab language file for GeSHi.
diff --git a/inc/geshi/sdlbasic.php b/inc/geshi/sdlbasic.php
index 1f1440bf5..876dc09a6 100644
--- a/inc/geshi/sdlbasic.php
+++ b/inc/geshi/sdlbasic.php
@@ -4,7 +4,7 @@
  * ------------
  * Author: Roberto Rossi
  * Copyright: (c) 2005 Roberto Rossi (http://rsoftware.altervista.org)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/08/19
  *
  * sdlBasic (http://sdlbasic.sf.net) language file for GeSHi.
diff --git a/inc/geshi/smalltalk.php b/inc/geshi/smalltalk.php
index 9bc351d8e..b475ad711 100644
--- a/inc/geshi/smalltalk.php
+++ b/inc/geshi/smalltalk.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Bananeweizen (Bananeweizen@gmx.de)
  * Copyright: (c) 2005 Bananeweizen (www.bananeweizen.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/03/27
  *
  * Smalltalk language file for GeSHi.
diff --git a/inc/geshi/smarty.php b/inc/geshi/smarty.php
index f59d9fbf3..7f4489289 100644
--- a/inc/geshi/smarty.php
+++ b/inc/geshi/smarty.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/07/10
  *
  * Smarty template language file for GeSHi.
diff --git a/inc/geshi/sql.php b/inc/geshi/sql.php
index ea2965a8e..9e45e850d 100644
--- a/inc/geshi/sql.php
+++ b/inc/geshi/sql.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * SQL language file for GeSHi.
diff --git a/inc/geshi/systemverilog.php b/inc/geshi/systemverilog.php
index 832769f9e..19405c097 100644
--- a/inc/geshi/systemverilog.php
+++ b/inc/geshi/systemverilog.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Sean O'Boyle
  * Copyright: (C) 2008 IntelligentDV
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/06/25
  *
  * SystemVerilog IEEE 1800-2009(draft8) language file for GeSHi.
diff --git a/inc/geshi/tcl.php b/inc/geshi/tcl.php
index 0b52a2687..2a07ccd46 100644
--- a/inc/geshi/tcl.php
+++ b/inc/geshi/tcl.php
@@ -4,7 +4,7 @@
  * ---------------------------------
  * Author: Reid van Melle (rvanmelle@gmail.com)
  * Copyright: (c) 2004 Reid van Melle (sorry@nowhere)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/05/05
  *
  * TCL/iTCL language file for GeSHi.
@@ -54,7 +54,7 @@ $language_data = array (
     'COMMENT_MULTI' => array(),
     'COMMENT_REGEXP' => array(
         1 => '/(?<!\\\\)#(?:\\\\\\\\|\\\\\\n|.)*$/m',
-        2 => '/{[^}\n]+}/'
+        //2 => '/{[^}\n]+}/'
         ),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array('"', "'"),
@@ -138,7 +138,7 @@ $language_data = array (
             ),
         'COMMENTS' => array(
             1 => 'color: #808080; font-style: italic;',
-            2 => 'color: #483d8b;',
+//            2 => 'color: #483d8b;',
             'MULTI' => 'color: #808080; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
@@ -191,4 +191,4 @@ $language_data = array (
     )
 );
 
-?>
+?>
\ No newline at end of file
diff --git a/inc/geshi/teraterm.php b/inc/geshi/teraterm.php
index b4ac619df..443bf7b4c 100644
--- a/inc/geshi/teraterm.php
+++ b/inc/geshi/teraterm.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Boris Maisuradze (boris at logmett.com)
  * Copyright: (c) 2008 Boris Maisuradze (http://logmett.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/09/26
  *
  * Tera Term Macro language file for GeSHi.
diff --git a/inc/geshi/text.php b/inc/geshi/text.php
index 24d3f10ee..66f459293 100644
--- a/inc/geshi/text.php
+++ b/inc/geshi/text.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Sean Hanna (smokingrope@gmail.com)
  * Copyright: (c) 2006 Sean Hanna
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 04/23/2006
  *
  * Standard Text File (No Syntax Highlighting).
diff --git a/inc/geshi/thinbasic.php b/inc/geshi/thinbasic.php
index 6a0b72f9f..693c698d6 100644
--- a/inc/geshi/thinbasic.php
+++ b/inc/geshi/thinbasic.php
@@ -4,7 +4,7 @@
  * ------
  * Author: Eros Olmi (eros.olmi@thinbasic.com)
  * Copyright: (c) 2006 Eros Olmi (http://www.thinbasic.com), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/05/12
  *
  * thinBasic language file for GeSHi.
diff --git a/inc/geshi/tsql.php b/inc/geshi/tsql.php
index 4750997a3..b915b087d 100644
--- a/inc/geshi/tsql.php
+++ b/inc/geshi/tsql.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Duncan Lock (dunc@dflock.co.uk)
  * Copyright: (c) 2006 Duncan Lock (http://dflock.co.uk/), Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/11/22
  *
  * T-SQL language file for GeSHi.
@@ -43,7 +43,7 @@ $language_data = array (
     'COMMENT_MULTI' => array('/*' => '*/'),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     'QUOTEMARKS' => array("'", '"'),
-    'ESCAPE_CHAR' => '\\',
+    'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
         1 => array(
             // Datatypes
diff --git a/inc/geshi/typoscript.php b/inc/geshi/typoscript.php
index be809e856..525271428 100644
--- a/inc/geshi/typoscript.php
+++ b/inc/geshi/typoscript.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Jan-Philipp Halle (typo3@jphalle.de)
  * Copyright: (c) 2005 Jan-Philipp Halle (http://www.jphalle.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/07/29
  *
  * TypoScript language file for GeSHi.
diff --git a/inc/geshi/unicon.php b/inc/geshi/unicon.php
new file mode 100644
index 000000000..edad62df3
--- /dev/null
+++ b/inc/geshi/unicon.php
@@ -0,0 +1,210 @@
+<?php
+/*************************************************************************************
+ * unicon.php
+ * --------
+ * Author: Matt Oates (mattoates@gmail.com)
+ * Copyright: (c) 2010 Matt Oates (http://mattoates.co.uk)
+ * Release Version: 1.0.8.8
+ * Date Started: 2010/04/20
+ *
+ * Unicon the Unified Extended Dialect of Icon language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ * 2010/04/24 (0.0.0.2)
+ *  -  Validated with Geshi langcheck.php FAILED due to preprocessor keywords looking like symbols
+ *  -  Hard wrapped to improve readability
+ * 2010/04/20 (0.0.0.1)
+ *  -  First Release
+ *
+ * TODO (updated 2010/04/20)
+ * -------------------------
+ * - Do the &amp; need replacing with &?
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array(
+    'LANG_NAME' => 'Unicon (Unified Extended Dialect of Icon)',
+    'COMMENT_SINGLE' => array(1 => '#'),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"', '\''),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'break', 'case', 'class', 'continue', 'create', 'default', 'do',
+            'else', 'end', 'every', 'fail', 'for', 'if', 'import', 'initial', 'initially',
+            'invocable', 'link', 'method', 'next', 'not', 'of', 'package', 'procedure', 'record',
+            'repeat', 'return', 'switch', 'suspend', 'then', 'to', 'until', 'while'
+            ),
+        2 => array(
+            'global', 'local', 'static'
+            ),
+        3 => array(
+            'allocated', 'ascii', 'clock', 'collections',
+            'column', 'cset', 'current', 'date', 'dateline', 'digits',
+            'dump', 'e', 'error', 'errornumber', 'errortext',
+            'errorvalue', 'errout', 'eventcode', 'eventsource', 'eventvalue',
+            'fail', 'features', 'file', 'host', 'input', 'lcase',
+            'letters', 'level', 'line', 'main', 'now', 'null',
+            'output', 'phi', 'pi', 'pos', 'progname', 'random',
+            'regions', 'source', 'storage', 'subject', 'syserr', 'time',
+            'trace', 'ucase', 'version', 'col', 'control', 'interval',
+            'ldrag', 'lpress', 'lrelease', 'mdrag', 'meta', 'mpress',
+            'mrelease', 'rdrag', 'resize', 'row', 'rpress', 'rrelease',
+            'shift', 'window', 'x', 'y'
+            ),
+        4 => array(
+            'abs', 'acos', 'any', 'args', 'asin', 'atan', 'bal', 'center', 'char',
+            'chmod', 'close', 'cofail', 'collect', 'copy', 'cos', 'cset', 'ctime', 'dbcolumns',
+            'dbdriver', 'dbkeys', 'dblimits', 'dbproduction', 'dbtables', 'delay', 'delete', 'detab',
+            'display', 'dtor', 'entab', 'errorclear', 'event', 'eventmask', 'EvGet', 'exit', 'exp',
+            'fetch', 'fieldnames', 'find', 'flock', 'flush', 'function', 'get', 'getch', 'getche',
+            'getenv', 'gettimeofday', 'globalnames', 'gtime', 'iand', 'icom', 'image', 'insert',
+            'integer', 'ior', 'ishift', 'ixor', 'key', 'left', 'list', 'load', 'loadfunc',
+            'localnames', 'log', 'many', 'map', 'match', 'member', 'mkdir', 'move', 'name', 'numeric',
+            'open', 'opmask', 'ord', 'paramnames', 'parent', 'pipe', 'pop', 'pos', 'proc', 'pull',
+            'push', 'put', 'read', 'reads', 'real', 'receive', 'remove', 'rename', 'repl', 'reverse',
+            'right', 'rmdir', 'rtod', 'runerr', 'seek', 'select', 'send', 'seq', 'serial', 'set',
+            'setenv', 'sort', 'sortf', 'sql', 'sqrt', 'stat', 'staticnames', 'stop', 'string', 'system', 'tab',
+            'table', 'tan', 'trap', 'trim', 'truncate', 'type', 'upto', 'utime', 'variable', 'where',
+            'write', 'writes'
+            ),
+        5 => array(
+            'Active', 'Alert', 'Bg', 'Clip', 'Clone', 'Color', 'ColorValue',
+            'CopyArea', 'Couple', 'DrawArc', 'DrawCircle', 'DrawCurve', 'DrawCylinder', 'DrawDisk',
+            'DrawImage', 'DrawLine', 'DrawPoint', 'DrawPolygon', 'DrawRectangle', 'DrawSegment',
+            'DrawSphere', 'DrawString', 'DrawTorus', 'EraseArea', 'Event', 'Fg', 'FillArc',
+            'FillCircle', 'FillPolygon', 'FillRectangle', 'Font', 'FreeColor', 'GotoRC', 'GotoXY',
+            'IdentifyMatrix', 'Lower', 'MatrixMode', 'NewColor', 'PaletteChars', 'PaletteColor',
+            'PaletteKey', 'Pattern', 'Pending', 'Pixel', 'PopMatrix', 'PushMatrix', 'PushRotate',
+            'PushScale', 'PushTranslate', 'QueryPointer', 'Raise', 'ReadImage', 'Refresh', 'Rotate',
+            'Scale', 'Texcoord', 'TextWidth', 'Texture', 'Translate', 'Uncouple', 'WAttrib',
+            'WDefault', 'WFlush', 'WindowContents', 'WriteImage', 'WSync'
+            ),
+        6 => array(
+            'define', 'include', 'ifdef', 'ifndef', 'else', 'endif', 'error',
+            'line', 'undef'
+            ),
+        7 => array(
+            '_V9', '_AMIGA', '_ACORN', '_CMS', '_MACINTOSH', '_MSDOS_386',
+            '_MS_WINDOWS_NT', '_MSDOS', '_MVS', '_OS2', '_POR', 'T', '_UNIX', '_POSIX', '_DBM',
+            '_VMS', '_ASCII', '_EBCDIC', '_CO_EXPRESSIONS', '_CONSOLE_WINDOW', '_DYNAMIC_LOADING',
+            '_EVENT_MONITOR', '_EXTERNAL_FUNCTIONS', '_KEYBOARD_FUNCTIONS', '_LARGE_INTEGERS',
+            '_MULTITASKING', '_PIPES', '_RECORD_IO', '_SYSTEM_FUNCTION', '_MESSAGING', '_GRAPHICS',
+            '_X_WINDOW_SYSTEM', '_MS_WINDOWS', '_WIN32', '_PRESENTATION_MGR', '_ARM_FUNCTIONS',
+            '_DOS_FUNCTIONS'
+            ),
+        8 => array(
+            'line')
+        ),
+    'SYMBOLS' => array(
+        1 => array(
+            '(', ')', '{', '}', '[', ']', '+', '-', '*', '/', '\\', '%', '=', '<', '>', '!', '^',
+            '&', '|', '?', ':', ';', ',', '.', '~', '@'
+            ),
+        2 => array(
+            '$(', '$)', '$<', '$>'
+            )
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        5 => true,
+        6 => true,
+        7 => true,
+        8 => true
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #b1b100;',
+            2 => 'color: #b1b100;',
+            3 => 'color: #b1b100;',
+            4 => 'color: #b1b100;',
+            5 => 'color: #b1b100;',
+            6 => 'color: #b1b100;',
+            7 => 'color: #b1b100;',
+            8 => 'color: #b1b100;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #666666; font-style: italic;',
+            'MULTI' => 'color: #666666; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #009900;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #0000ff;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;',
+            ),
+        'METHODS' => array(
+            0 => 'color: #004000;'
+            ),
+        'SYMBOLS' => array(
+            1 => 'color: #339933;'
+            ),
+        'REGEXPS' => array(),
+        'SCRIPT' => array()
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => '',
+        7 => '',
+        8 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(1 => '.'),
+    'REGEXPS' => array(),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(),
+    'HIGHLIGHT_STRICT_BLOCK' => array(),
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            3 => array(
+                'DISALLOWED_BEFORE' => '(?<=&amp;)'
+                ),
+            4 => array(
+                'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9_\"\'])",
+                'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_\"\'])"
+                ),
+            6 => array(
+                'DISALLOWED_BEFORE' => '(?<=\$)'
+                ),
+            8 => array(
+                'DISALLOWED_BEFORE' => '(?<=#)'
+                )
+            )
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/vala.php b/inc/geshi/vala.php
new file mode 100644
index 000000000..334398a87
--- /dev/null
+++ b/inc/geshi/vala.php
@@ -0,0 +1,151 @@
+<?php
+/*************************************************************************************
+ * vala.php
+ * ----------
+ * Author: Nicolas Joseph (nicolas.joseph@valaide.org)
+ * Copyright: (c) 2009 Nicolas Joseph
+ * Release Version: 1.0.8.8
+ * Date Started: 2009/04/29
+ *
+ * Vala language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *
+ * TODO
+ * ----
+ *
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'Vala',
+    'COMMENT_SINGLE' => array(1 => '//'),
+    'COMMENT_MULTI' => array('/*' => '*/'),
+    'COMMENT_REGEXP' => array(
+        //Using and Namespace directives (basic support)
+        //Please note that the alias syntax for using is not supported
+        3 => '/(?:(?<=using[\\n\\s])|(?<=namespace[\\n\\s]))[\\n\\s]*([a-zA-Z0-9_]+\\.)*[a-zA-Z0-9_]+[\n\s]*(?=[;=])/i'),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array("'", '"'),
+    'HARDQUOTE' => array('"""'),
+    'HARDESCAPE' => array('"'),
+    'ESCAPE_CHAR' => '\\',
+    'KEYWORDS' => array(
+        1 => array(
+            'as', 'abstract', 'base', 'break', 'case', 'catch', 'const',
+            'construct', 'continue', 'default', 'delete', 'dynamic', 'do',
+            'else', 'ensures', 'extern', 'false', 'finally', 'for', 'foreach',
+            'get', 'if', 'in', 'inline', 'internal', 'lock', 'namespace',
+            'null', 'out', 'override', 'private', 'protected', 'public', 'ref',
+            'requires', 'return', 'set', 'static', 'switch', 'this', 'throw',
+            'throws', 'true', 'try', 'using', 'value', 'var', 'virtual',
+            'volatile', 'void', 'yield', 'yields', 'while'
+            ),
+        2 => array(
+            '#elif', '#endif', '#else', '#if'
+            ),
+        3 => array(
+            'is', 'new', 'owned', 'sizeof', 'typeof', 'unchecked', 'unowned', 'weak'
+            ),
+        4 => array(
+            'bool', 'char', 'class', 'delegate', 'double', 'enum',
+            'errordomain', 'float', 'int', 'int8', 'int16', 'int32', 'int64',
+            'interface', 'long', 'short', 'signal', 'size_t', 'ssize_t',
+            'string', 'struct', 'uchar', 'uint', 'uint8', 'uint16', 'uint32',
+            'ulong', 'unichar', 'ushort'
+            )
+        ),
+    'SYMBOLS' => array(
+        '+', '-', '*', '?', '=', '/', '%', '&', '>', '<', '^', '!', ':', ';',
+        '(', ')', '{', '}', '[', ']', '|'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => true,
+        2 => true,
+        3 => true,
+        4 => true,
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #0600FF;',
+            2 => 'color: #FF8000; font-weight: bold;',
+            3 => 'color: #008000;',
+            4 => 'color: #FF0000;'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #008080; font-style: italic;',
+            3 => 'color: #008080;',
+            'MULTI' => 'color: #008080; font-style: italic;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #008080; font-weight: bold;',
+            'HARD' => 'color: #008080; font-weight: bold;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #000000;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #666666;',
+            'HARD' => 'color: #666666;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #FF0000;'
+            ),
+        'METHODS' => array(
+            1 => 'color: #0000FF;',
+            2 => 'color: #0000FF;'
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #008000;'
+            ),
+        'REGEXPS' => array(
+            ),
+        'SCRIPT' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => ''
+        ),
+    'OOLANG' => true,
+    'OBJECT_SPLITTERS' => array(
+        1 => '.'
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        ),
+    'TAB_WIDTH' => 4,
+    'PARSER_CONTROL' => array(
+        'KEYWORDS' => array(
+            'DISALLOWED_BEFORE' => "(?<![a-zA-Z0-9\$_\|\#>|^])",
+            'DISALLOWED_AFTER' => "(?![a-zA-Z0-9_<\|%\\-])"
+        )
+    )
+);
+
+?>
diff --git a/inc/geshi/vb.php b/inc/geshi/vb.php
index 9849b3e86..f24d86505 100644
--- a/inc/geshi/vb.php
+++ b/inc/geshi/vb.php
@@ -5,7 +5,7 @@
  * Author: Roberto Rossi (rsoftware@altervista.org)
  * Copyright: (c) 2004 Roberto Rossi (http://rsoftware.altervista.org),
  *                     Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/08/30
  *
  * Visual Basic language file for GeSHi.
@@ -57,34 +57,53 @@ $language_data = array (
     'ESCAPE_CHAR' => '',
     'KEYWORDS' => array(
         1 => array(
-            'AddressOf', 'Alias', 'And', 'Append', 'As', 'BF', 'Binary',
-            'Boolean', 'ByRef', 'Byte', 'ByVal', 'Call', 'Case', 'CBool',
-            'CByte', 'CCur', 'CDate', 'CDbl', 'CDec', 'CInt', 'CLng',
-            'Close', 'Collection', 'Const', 'Control', 'CSng', 'CStr',
-            'Currency', 'CVar', 'Date', 'Declare', 'Dim', 'Do', 'Double',
-            'Each', 'Else', 'ElseIf', 'End', 'Enum', 'Erase', 'Error',
-            'Event', 'Exit', 'Explicit', 'False', 'For', 'Friend',
-            'Function', 'Get', 'GoSub', 'Goto', 'If', 'Implements', 'In',
-            'Input', 'Integer', 'Is', 'LBound', 'Let', 'Lib', 'Like',
-            'Line', 'Long', 'Loop', 'Mod', 'New', 'Next', 'Not',
-            'Nothing', 'Object', 'On', 'Open', 'Option', 'Optional',
-            'Or', 'Output', 'ParamArray', 'Preserve', 'Print', 'Private',
-            'Property', 'Public', 'RaiseEvent', 'Random', 'ReDim',
-            'Resume', 'Select', 'Set', 'Single', 'Static', 'Step',
-            'Stop', 'String', 'Sub', 'Then', 'To', 'True', 'Type',
-            'TypeOf', 'UBound', 'Until', 'Variant', 'While', 'With',
-            'WithEvents', 'Xor'
-            )
+            'Binary', 'Boolean', 'Byte', 'Currency', 'Date', 'Decimal', 'Double',
+            'String', 'Enum', 'Integer', 'Long', 'Object', 'Single', 'Variant'
+            ),
+        2 => array(
+            'CreateObject', 'GetObject', 'New', 'Option', 'Function',
+            'Call', 'Private', 'Public', 'Sub', 'Explicit', 'Compare', 'Exit'
+            ),
+        3 => array(
+            'And', 'Case', 'Do', 'Each', 'Else', 'ElseIf', 'For',
+            'Goto', 'If', 'Is', 'Loop', 'Next', 'Not', 'Or', 'Select', 'Step',
+            'Then', 'To', 'Until', 'While', 'With', 'Xor', 'WithEvents',
+            'DoEvents', 'Close', 'Like', 'In', 'End'
+            ),
+        4 => array(
+            'As', 'Dim', 'Get', 'Set', 'ReDim', 'Error',
+            'Resume', 'Declare', 'Let', 'ByRef', 'ByVal',
+            'Optional', 'Property', 'Control', 'UBound', 'Mod',
+            'GoSub', 'Implements', 'Input', 'LBound', 'Static', 'Stop',
+            'Type', 'TypeOf', 'On', 'Open', 'Output', 'ParamArray',
+            'Preserve', 'Print', 'RaiseEvent', 'Random', 'Line'
+            ),
+        5 => array(
+            'Nothing', 'False', 'True', 'Null', 'Empty'
+            ),
+        6 => array(
+            'ErrorHandler','ExitProc', 'PublishReport'
+            ),
         ),
     'SYMBOLS' => array(
         ),
     'CASE_SENSITIVE' => array(
         GESHI_COMMENTS => false,
-        1 => false
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false,
+        5 => false,
+        6 => false
         ),
     'STYLES' => array(
         'KEYWORDS' => array(
-            1 => 'color: #000080;'
+            1 => 'color: #F660AB; font-weight: bold;',
+            2 => 'color: #E56717; font-weight: bold;',
+            3 => 'color: #8D38C9; font-weight: bold;',
+            4 => 'color: #151B8D; font-weight: bold;',
+            5 => 'color: #00C2FF; font-weight: bold;',
+            6 => 'color: #3EA99F; font-weight: bold;'
             ),
         'COMMENTS' => array(
             1 => 'color: #008000;'
@@ -109,7 +128,12 @@ $language_data = array (
             )
         ),
     'URLS' => array(
-        1 => ''
+        1 => '',
+        2 => '',
+        3 => '',
+        4 => '',
+        5 => '',
+        6 => ''
         ),
     'OOLANG' => false,
     'OBJECT_SPLITTERS' => array(
diff --git a/inc/geshi/vbnet.php b/inc/geshi/vbnet.php
index 683b744f9..f74775214 100644
--- a/inc/geshi/vbnet.php
+++ b/inc/geshi/vbnet.php
@@ -4,7 +4,7 @@
  * ---------
  * Author: Alan Juden (alan@judenware.org)
  * Copyright: (c) 2004 Alan Juden, Nigel McNie (http://qbnz.com/highlighter)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/06/04
  *
  * VB.NET language file for GeSHi.
diff --git a/inc/geshi/verilog.php b/inc/geshi/verilog.php
index 6fc469487..14c1d7172 100644
--- a/inc/geshi/verilog.php
+++ b/inc/geshi/verilog.php
@@ -4,7 +4,7 @@
  * -----------
  * Author: G�nter Dannoritzer <dannoritzer@web.de>
  * Copyright: (C) 2008 Guenter Dannoritzer
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/05/28
  *
  * Verilog language file for GeSHi.
diff --git a/inc/geshi/vhdl.php b/inc/geshi/vhdl.php
index ea93cf87b..6856933c7 100644
--- a/inc/geshi/vhdl.php
+++ b/inc/geshi/vhdl.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Alexander 'E-Razor' Krause (admin@erazor-zone.de)
  * Copyright: (c) 2005 Alexander Krause
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2005/06/15
  *
  * VHDL (VHSICADL, very high speed integrated circuit HDL) language file for GeSHi.
diff --git a/inc/geshi/vim.php b/inc/geshi/vim.php
index a95dc244c..f4f93ad2e 100644
--- a/inc/geshi/vim.php
+++ b/inc/geshi/vim.php
@@ -1,5 +1,4 @@
 <?php
-
 /*************************************************************************************
  * vim.php
  * ----------------
@@ -7,7 +6,7 @@
  * Contributors:
  *  - Laurent Peuch (psycojoker@gmail.com)
  * Copyright: (c) 2008 Swaroop C H (http://www.swaroopch.com)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/10/19
  *
  * Vim scripting language file for GeSHi.
@@ -55,7 +54,9 @@ $language_data = array(
     'LANG_NAME' => 'Vim Script',
     'COMMENT_SINGLE' => array(),
     'COMMENT_REGEXP' => array(
-        1 => "/^\s*\"[^\"]*?$/m"
+        1 => "/\s*\"[^\"]*?$/m",
+        //Regular expressions (Ported from perl.php)
+//        2 => "/(?<=[\\s^])(s|tr|y)\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/(?:\\\\.|(?!\n)[^\\/\\\\])*\\/[msixpogcde]*(?=[\\s$\\.\\;])|(?<=[\\s^(=])(m|q[qrwx]?)?\\/(?:\\\\.|(?!\n)[^\\/\\\\])+\\/[msixpogc]*(?=[\\s$\\.\\,\\;\\)])/iU",
         ),
     'COMMENT_MULTI' => array(),
     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
@@ -65,12 +66,12 @@ $language_data = array(
         1 => array(
             'au', 'augroup', 'autocmd', 'brea', 'break', 'bufadd',
             'bufcreate', 'bufdelete', 'bufenter', 'buffilepost',
-            'buffilepre', 'bufhidden', 'bufleave', 'bufnew', 'bufnewfile',
+            'buffilepre', 'bufleave', 'bufnew', 'bufnewfile',
             'bufread', 'bufreadcmd', 'bufreadpost', 'bufreadpre',
             'bufunload', 'bufwinenter', 'bufwinleave', 'bufwipeout',
             'bufwrite', 'bufwritecmd', 'bufwritepost', 'bufwritepre',
             'call', 'cat', 'catc', 'catch', 'cmd-event', 'cmdwinenter',
-            'cmdwinleave', 'colorscheme', 'con', 'cont', 'conti',
+            'cmdwinleave', 'colorscheme', 'con', 'confirm', 'cont', 'conti',
             'contin', 'continu', 'continue', 'cursorhold', 'cursorholdi',
             'cursormoved', 'cursormovedi', 'ec', 'echo', 'echoe',
             'echoer', 'echoerr', 'echoh', 'echohl', 'echom', 'echoms',
@@ -80,7 +81,7 @@ $language_data = array(
             'endwhil', 'endwhile', 'exe', 'exec', 'execu', 'execut',
             'execute', 'fileappendcmd', 'fileappendpost', 'fileappendpre',
             'filechangedro', 'filechangedshell', 'filechangedshellpost',
-            'fileencoding', 'filereadcmd', 'filereadpost', 'filereadpre',
+            'filereadcmd', 'filereadpost', 'filereadpre',
             'filetype', 'filewritecmd', 'filewritepost', 'filewritepre',
             'filterreadpost', 'filterreadpre', 'filterwritepost',
             'filterwritepre', 'fina', 'final', 'finall', 'finally',
@@ -94,7 +95,7 @@ $language_data = array(
             'shellcmdpost', 'shellfilterpost', 'sourcecmd', 'sourcepre',
             'spellfilemissing', 'stdinreadpost', 'stdinreadpre',
             'swapexists', 'syntax', 'tabenter', 'tableave', 'termchanged',
-            'termresponse', 'th', 'thr', 'thro', 'throw', 'try', 'unl',
+            'termresponse', 'th', 'thr', 'thro', 'throw', 'tr', 'try', 'unl',
             'unle', 'unlet', 'unlo', 'unloc', 'unlock', 'unlockv',
             'unlockva', 'unlockvar', 'user', 'usergettingbored',
             'vimenter', 'vimleave', 'vimleavepre', 'vimresized', 'wh',
@@ -116,17 +117,17 @@ $language_data = array(
             'bdir', 'bdlay', 'beval', 'bex', 'bexpr', 'bg',
             'bh', 'bin', 'binary', 'biosk', 'bioskey',
             'bk', 'bkc', 'bl', 'bomb', 'breakat', 'brk',
-            'browsedir', 'bs', 'bsdir', 'bsk', 'bt', 'bufhidden',
-            'buflisted', 'buftype', 'casemap', 'cb',
+            'bs', 'bsdir', 'bsk', 'bt', 'bufhidden',
+            'buftype', 'casemap', 'cb',
             'ccv', 'cd', 'cdpath', 'cedit', 'cf', 'cfu', 'ch',
-            'charconvert', 'ci', 'cin', 'cindent', 'cink',
+            'charconvert', 'ci', 'cin', 'cink',
             'cinkeys', 'cino', 'cinoptions', 'cinw', 'cinwords',
             'clipboard', 'cmdheight', 'cmdwinheight',
             'cmp', 'cms', 'co', 'columns', 'com',
             'comc', 'comcl', 'comcle', 'comclea', 'comclear', 'comm',
             'comma', 'comman', 'command', 'comments', 'commentstring',
-            'compatible', 'complete', 'completefunc', 'completeopt',
-            'confirm', 'consk', 'conskey', 'copyindent',
+            'compatible', 'completefunc', 'completeopt',
+            'consk', 'conskey', 'copyindent',
             'cot', 'cp', 'cpo', 'cpoptions', 'cpt',
             'cscopepathcomp', 'cscopeprg', 'cscopequickfix', 'cscopetag',
             'cscopetagorder', 'cscopeverbose',
@@ -138,19 +139,18 @@ $language_data = array(
             'diffopt', 'digraph', 'dip', 'dir', 'directory', 'display',
             'dlcomma', 'dy', 'ea', 'ead', 'eadirection',
             'eb', 'ed', 'edcompatible', 'ef', 'efm',
-            'ei', 'ek', 'enc', 'encoding', 'endofline',
+            'ei', 'ek', 'enc', 'encoding', 'endfun', 'endofline',
             'eol', 'ep', 'equalalways', 'equalprg', 'errorbells',
             'errorfile', 'errorformat', 'esckeys', 'et',
             'eventignore', 'ex', 'expandtab', 'exrc', 'fcl',
             'fcs', 'fdc', 'fde', 'fdi', 'fdl', 'fdls', 'fdm',
             'fdn', 'fdo', 'fdt', 'fen', 'fenc', 'fencs', 'fex',
             'ff', 'ffs', 'fileencoding', 'fileencodings', 'fileformat',
-            'fileformats', 'filetype', 'fillchars', 'fk',
+            'fileformats', /*'filetype',*/ 'fillchars', 'fk',
             'fkmap', 'flp', 'fml', 'fmr', 'fo', 'foldclose',
             'foldcolumn', 'foldenable', 'foldexpr', 'foldignore',
-            'foldlevel', 'foldlevelstart', 'foldmarker',
-            'foldmethod', 'foldminlines', 'foldnestmax', 'foldopen',
-            'foldtext', 'formatexpr', 'formatlistpat',
+            'foldlevelstart', 'foldmarker', 'foldmethod', 'foldminlines',
+            'foldnestmax', 'foldopen', 'formatexpr', 'formatlistpat',
             'formatoptions', 'formatprg', 'fp', 'fs', 'fsync', 'ft',
             'gcr', 'gd', 'gdefault', 'gfm', 'gfn', 'gfs', 'gfw',
             'ghr', 'go', 'gp', 'grepformat', 'grepprg', 'gtl',
@@ -255,13 +255,13 @@ $language_data = array(
             'sidescrolloff', 'siso', 'sj', 'slm', 'sm', 'smartcase',
             'smartindent', 'smarttab', 'smc', 'smd', 'sn',
             'so', 'softtabstop', 'sol', 'sp', 'spc', 'spell',
-            'spellcapcheck', 'spellfile', 'spelllang', 'spellsuggest',
+            'spellcapcheck', 'spellfile', 'spelllang',
             'spf', 'spl', 'splitbelow', 'splitright', 'spr',
             'sps', 'sr', 'srr', 'ss', 'ssl', 'ssop', 'st', 'sta',
             'stal', 'startofline', 'statusline', 'stl', 'stmp',
             'sts', 'su', 'sua', 'suffixes', 'suffixesadd', 'sw',
             'swapfile', 'swapsync', 'swb', 'swf', 'switchbuf',
-            'sws', 'sxq', 'syn', 'synmaxcol', 'syntax', 'ta',
+            'sws', 'sxq', 'syn', 'synmaxcol', 'ta',
             'tabline', 'tabpagemax', 'tabstop', 'tag',
             'tagbsearch', 'taglength', 'tagrelative', 'tags', 'tagstack',
             'tal', 'tb', 'tbi', 'tbidi', 'tbis', 'tbs',
@@ -270,7 +270,7 @@ $language_data = array(
             'thesaurus', 'tildeop', 'timeout', 'timeoutlen',
             'title', 'titlelen', 'titleold', 'titlestring',
             'tl', 'tm', 'to', 'toolbar', 'toolbariconsize', 'top',
-            'tpm', 'tr', 'ts', 'tsl', 'tsr', 'ttimeout',
+            'tpm', 'ts', 'tsl', 'tsr', 'ttimeout',
             'ttimeoutlen', 'ttm', 'tty', 'ttybuiltin', 'ttyfast', 'ttym',
             'ttymouse', 'ttyscroll', 'ttytype', 'tw', 'tx', 'uc',
             'ul', 'undolevels', 'updatecount', 'updatetime', 'ut',
@@ -278,7 +278,7 @@ $language_data = array(
             'vfile', 'vi', 'viewdir', 'viewoptions', 'viminfo',
             'virtualedit', 'visualbell', 'vop', 'wa', 'wak',
             'warn', 'wb', 'wc', 'wcm', 'wd', 'weirdinvert', 'wfh',
-            'wfw', 'wh', 'whichwrap', 'wi', 'wig', 'wildchar',
+            'wfw', /*'wh',*/ 'whichwrap', 'wi', 'wig', 'wildchar',
             'wildcharm', 'wildignore', 'wildmenu',
             'wildmode', 'wildoptions', 'wim', 'winaltkeys', 'window',
             'winfixheight', 'winfixwidth', 'winheight',
@@ -315,7 +315,7 @@ $language_data = array(
             'bufexists', 'buflisted', 'bufloaded', 'bufname', 'bufnr',
             'bufwinnr', 'byte2line', 'byteidx', 'ceil', 'changenr',
             'char2nr', 'cindent', 'clearmatches', 'col', 'complete',
-            'complete_add', 'complete_check', 'confirm', 'copy',
+            'complete_add', 'complete_check', 'copy',
             'cos', 'count', 'cscope_connection', 'cursor', 'deepcopy',
             'delete', 'did_filetype', 'diff_filler', 'diff_hlID',
             'empty', 'escape', 'eval', 'eventhandler', 'executable',
@@ -354,10 +354,10 @@ $language_data = array(
             'strridx', 'strtrans', 'submatch', 'substitute',
             'synID', 'synIDattr', 'synIDtrans', 'synstack', 'system',
             'tabpagebuflist', 'tabpagenr', 'tabpagewinnr', 'tagfiles',
-            'taglist', 'tempname', 'tolower', 'toupper', 'tr', 'trunc',
+            'taglist', 'tempname', 'tolower', 'toupper', 'trunc',
             'type', 'values', 'virtcol', 'visualmode', 'winbufnr',
-            'wincol', 'winheight', 'winline', 'winnr', 'winrestcmd',
-            'winrestview', 'winsaveview', 'winwidth', 'writefile'
+            'wincol', 'winline', 'winnr', 'winrestcmd',
+            'winrestview', 'winsaveview', 'writefile'
             )
         ),
     'SYMBOLS' => array(
@@ -375,7 +375,8 @@ $language_data = array(
             0 => 'color: #000000;'
             ),
         'COMMENTS' => array(
-            1 => 'color: #adadad; font-style: italic;'
+            1 => 'color: #adadad; font-style: italic;',
+//            2 => 'color: #009966; font-style: italic;'
             ),
         'ESCAPE_CHAR' => array(
             0 => ''
@@ -416,4 +417,4 @@ $language_data = array(
     'HIGHLIGHT_STRICT_BLOCK' => array()
 );
 
-?>
\ No newline at end of file
+?>
diff --git a/inc/geshi/visualfoxpro.php b/inc/geshi/visualfoxpro.php
index 4d9f649ce..7d804257f 100644
--- a/inc/geshi/visualfoxpro.php
+++ b/inc/geshi/visualfoxpro.php
@@ -4,7 +4,7 @@
  * ----------------
  * Author: Roberto Armellin (r.armellin@tin.it)
  * Copyright: (c) 2004 Roberto Armellin, Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/09/17
  *
  * Visual FoxPro language file for GeSHi.
diff --git a/inc/geshi/visualprolog.php b/inc/geshi/visualprolog.php
index 5c9bbd4d0..5afd7de8d 100644
--- a/inc/geshi/visualprolog.php
+++ b/inc/geshi/visualprolog.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Thomas Linder Puls (puls@pdc.dk)
  * Copyright: (c) 2008 Thomas Linder Puls (puls@pdc.dk)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/11/20
  *
  * Visual Prolog language file for GeSHi.
diff --git a/inc/geshi/whitespace.php b/inc/geshi/whitespace.php
index a27a7b920..c47775d44 100644
--- a/inc/geshi/whitespace.php
+++ b/inc/geshi/whitespace.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2009/10/31
  *
  * Whitespace language file for GeSHi.
diff --git a/inc/geshi/whois.php b/inc/geshi/whois.php
index 019e91450..9b4b24179 100644
--- a/inc/geshi/whois.php
+++ b/inc/geshi/whois.php
@@ -4,7 +4,7 @@
  * --------
  * Author: Benny Baumann (BenBE@geshi.org)
  * Copyright: (c) 2008 Benny Baumann (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/09/14
  *
  * Whois response (RPSL format) language file for GeSHi.
diff --git a/inc/geshi/winbatch.php b/inc/geshi/winbatch.php
index 5b5dcc1df..949e61c14 100644
--- a/inc/geshi/winbatch.php
+++ b/inc/geshi/winbatch.php
@@ -4,7 +4,7 @@
  * ------------
  * Author: Craig Storey (storey.craig@gmail.com)
  * Copyright: (c) 2004 Craig Storey (craig.xcottawa.ca)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2006/05/19
  *
  * WinBatch language file for GeSHi.
diff --git a/inc/geshi/xbasic.php b/inc/geshi/xbasic.php
new file mode 100644
index 000000000..a2d85a6df
--- /dev/null
+++ b/inc/geshi/xbasic.php
@@ -0,0 +1,144 @@
+<?php
+/*************************************************************************************
+ * xbasic.php
+ * ----------
+ * Author: José Gabriel Moya Yangüela (josemoya@gmail.com)
+ * Copyright: (c) 2005 José Gabriel Moya Yangüela (http://aprenderadesaprender.6te.net)
+ * Release Version: 1.0.8.8
+ * Date Started: 2005/11/23
+ * Last Modified: $Date: 2010/01/30 00:42:00 $
+ *
+ * XBasic language file for GeSHi.
+ *
+ * CHANGES
+ * -------
+ *  - Removed duplicate keywords
+ *  - Tabs converted in spaces.
+ *************************************************************************************
+ *
+ *     This file is part of GeSHi.
+ *
+ *   GeSHi is free software; you can redistribute it and/or modify
+ *   it under the terms of the GNU General Public License as published by
+ *   the Free Software Foundation; either version 2 of the License, or
+ *   (at your option) any later version.
+ *
+ *   GeSHi is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with GeSHi; if not, write to the Free Software
+ *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ ************************************************************************************/
+
+$language_data = array (
+    'LANG_NAME' => 'XBasic',
+    'COMMENT_SINGLE' => array(1 => "'"),
+    'COMMENT_MULTI' => array(),
+    'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
+    'QUOTEMARKS' => array('"'),
+    'ESCAPE_CHAR' => '',
+    'KEYWORDS' => array(
+        1 => array(
+            'WHILE', 'UNTIL', 'TRUE', 'TO', 'THEN', 'SUB', 'STOP', 'STEP',
+            'SELECT', 'RETURN', 'PROGRAM', 'NEXT', 'LOOP', 'IFZ',
+            'IFT', 'IFF', 'IF', 'GOTO', 'GOSUB', 'FOR', 'FALSE', 'EXIT',
+            'ENDIF', 'END', 'ELSE', 'DO', 'CASE', 'ALL'
+            ),
+        2 => array(
+            'XMAKE', 'XLONGAT', 'XLONG', 'WRITE', 'VOID', 'VERSION$', 'VERSION',
+            'USHORTAT', 'USHORT', 'UNION', 'ULONGAT', 'ULONG', 'UCASE$',
+            'UBYTEAT', 'UBYTE', 'UBOUND', 'TYPE','TRIM$', 'TAB', 'SWAP',
+            'SUBADDRESS', 'SUBADDR', 'STUFF$', 'STRING', 'STRING$', 'STR$',
+            'STATIC', 'SSHORTAT', 'SSHORT', 'SPACE$', 'SMAKE', 'SLONGAT', 'SLONG',
+            'SIZE', 'SINGLEAT', 'SINGLE', 'SIGNED$', 'SIGN', 'SHELL', 'SHARED',
+            'SGN', 'SFUNCTION', 'SET', 'SEEK', 'SCOMPLEX', 'SBYTEAT', 'SBYTE',
+            'RTRIM$', 'ROTATER', 'ROTATEL', 'RJUST$', 'RINSTRI', 'RINSTR',
+            'RINCHRI', 'RINCHR', 'RIGHT$', 'REDIM', 'READ', 'RCLIP$', 'QUIT',
+            'PROGRAM$', 'PRINT', 'POF', 'OPEN', 'OCTO$', 'OCT$', 'NULL$', 'MIN',
+            'MID$', 'MAX', 'MAKE', 'LTRIM$', 'LOF', 'LJUST$', 'LIBRARY', 'LEN',
+            'LEFT$', 'LCLIP$', 'LCASE$', 'INTERNAL', 'INT', 'INSTRI', 'INSTR',
+            'INLINE$', 'INFILE$', 'INCHRI', 'INCHR', 'INC', 'IMPORT', 'HIGH1',
+            'HIGH0', 'HEXX$', 'HEX$', 'GOADDRESS', 'GOADDR', 'GMAKE', 'GLOW',
+            'GIANTAT', 'GIANT', 'GHIGH', 'FUNCTION', 'FUNCADDRESS', 'FUNCADDR',
+            'FORMAT$', 'FIX', 'EXTU', 'EXTS', 'EXTERNAL', 'ERROR', 'ERROR$',
+            'EOF', 'DOUBLEAT', 'DOUBLE', 'DMAKE', 'DLOW', 'DIM', 'DHIGH',
+            'DECLARE', 'DEC', 'DCOMPLEX', 'CSTRING$', 'CSIZE', 'CSIZE$', 'CLR',
+            'CLOSE', 'CLEAR', 'CJUST$', 'CHR$', 'CFUNCTION', 'BITFIELD', 'BINB$',
+            'BIN$', 'AUTOX', 'AUTOS', 'AUTO', 'ATTACH', 'ASC', 'ABS'
+            ),
+        3 => array(
+            'XOR', 'OR', 'NOT', 'MOD', 'AND'
+            ),
+        4 => array(
+            'TANH', 'TAN', 'SQRT', 'SINH', 'SIN', 'SECH', 'SEC', 'POWER',
+            'LOG10', 'LOG', 'EXP10', 'EXP', 'CSCH', 'CSC', 'COTH', 'COT', 'COSH',
+            'COS', 'ATANH', 'ATAN', 'ASINH', 'ASIN', 'ASECH', 'ASEC', 'ACSCH',
+            'ACSC', 'ACOSH', 'ACOS'
+            )
+        ),
+    'SYMBOLS' => array(
+        '(', ')', '[', ']', '!', '@', '%', '&', '*', '|', '/', '<', '>',
+        '=','+','-'
+        ),
+    'CASE_SENSITIVE' => array(
+        GESHI_COMMENTS => false,
+        1 => false,
+        2 => false,
+        3 => false,
+        4 => false
+        ),
+    'STYLES' => array(
+        'KEYWORDS' => array(
+            1 => 'color: #00a1a1;font-weight: bold',
+            2 => 'color: #000066;font-weight: bold',
+            3 => 'color: #00a166;font-weight: bold',
+            4 => 'color: #0066a1;font-weight: bold'
+            ),
+        'COMMENTS' => array(
+            1 => 'color: #808080;'
+            ),
+        'BRACKETS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'STRINGS' => array(
+            0 => 'color: #ff0000;'
+            ),
+        'NUMBERS' => array(
+            0 => 'color: #cc66cc;'
+            ),
+        'METHODS' => array(
+            ),
+        'SYMBOLS' => array(
+            0 => 'color: #66cc66;'
+            ),
+        'ESCAPE_CHAR' => array(
+            0 => 'color: #000099;'
+            ),
+        'SCRIPT' => array(
+            ),
+        'REGEXPS' => array(
+            )
+        ),
+    'URLS' => array(
+        1 => '',
+        2 => '',
+        3 => 'http://www.xbasic.org',
+        4 => 'http://www.xbasic.org'
+        ),
+    'OOLANG' => false,
+    'OBJECT_SPLITTERS' => array(
+        ),
+    'REGEXPS' => array(
+        ),
+    'STRICT_MODE_APPLIES' => GESHI_NEVER,
+    'SCRIPT_DELIMITERS' => array(
+        ),
+    'HIGHLIGHT_STRICT_BLOCK' => array(
+        )
+);
+
+?>
\ No newline at end of file
diff --git a/inc/geshi/xml.php b/inc/geshi/xml.php
index 608c99f00..efd3e6c33 100644
--- a/inc/geshi/xml.php
+++ b/inc/geshi/xml.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Nigel McNie (nigel@geshi.org)
  * Copyright: (c) 2004 Nigel McNie (http://qbnz.com/highlighter/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2004/09/01
  *
  * XML language file for GeSHi. Based on the idea/file by Christian Weiske
diff --git a/inc/geshi/xorg_conf.php b/inc/geshi/xorg_conf.php
index cdb6c36c9..5cde8e171 100644
--- a/inc/geshi/xorg_conf.php
+++ b/inc/geshi/xorg_conf.php
@@ -4,7 +4,7 @@
  * ----------
  * Author: Milian Wolff (mail@milianw.de)
  * Copyright: (c) 2008 Milian Wolff (http://milianw.de)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2008/06/18
  *
  * xorg.conf language file for GeSHi.
diff --git a/inc/geshi/xpp.php b/inc/geshi/xpp.php
index 5f009ec8c..216c46eaf 100644
--- a/inc/geshi/xpp.php
+++ b/inc/geshi/xpp.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Simon Butcher (simon@butcher.name)
  * Copyright: (c) 2007 Simon Butcher (http://simon.butcher.name/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/02/27
  *
  * Axapta/Dynamics Ax X++ language file for GeSHi.
diff --git a/inc/geshi/z80.php b/inc/geshi/z80.php
index b41e80c74..f28593cd2 100644
--- a/inc/geshi/z80.php
+++ b/inc/geshi/z80.php
@@ -4,7 +4,7 @@
  * -------
  * Author: Benny Baumann (BenBE@omorphia.de)
  * Copyright: (c) 2007-2008 Benny Baumann (http://www.omorphia.de/)
- * Release Version: 1.0.8.6
+ * Release Version: 1.0.8.8
  * Date Started: 2007/02/06
  *
  * ZiLOG Z80 Assembler language file for GeSHi.
-- 
GitLab