jkudrnac 17aa3c
04_hilight.dpatch from Debian's 1.6.4-7 patchset, with a few changes:
jkudrnac 17aa3c
o hilight *.xhtml as html
jkudrnac 17aa3c
o install php.st and ruby.st bits
jkudrnac 17aa3c
o patch Makefile.am too
jkudrnac 17aa3c
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/changelog.st enscript-1.6.4/states/hl/changelog.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/changelog.st	2003-03-05 09:26:33.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/changelog.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -43,7 +43,7 @@
jkudrnac 17aa3c
   }
jkudrnac 17aa3c
 
jkudrnac 17aa3c
   /* File descriptions without function names. */
jkudrnac 17aa3c
-  /(^\t\* )([^ :]+)(:)/ {
jkudrnac 17aa3c
+  /(^\t\* )([^:]+)(:)/ {
jkudrnac 17aa3c
     language_print ($1);
jkudrnac 17aa3c
 
jkudrnac 17aa3c
     function_name_face (true);
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/dylan.st enscript-1.6.4/states/hl/dylan.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/dylan.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/dylan.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,124 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: dylan
jkudrnac 17aa3c
+ * Description: Dylan Programming Language template for Enscript.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ * (based on the Scheme version by Markku Rossi <mtr@iki.fi>)
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+dylan_mod_re =
jkudrnac 17aa3c
+/* Definition Modifiers
jkudrnac 17aa3c
+  (build-re '(abstract block concrete constant class domain exception exclude
jkudrnac 17aa3c
+  export function functional generic handler import inherited inline
jkudrnac 17aa3c
+  instance interface library macro method open primary sealed sideways
jkudrnac 17aa3c
+  singleton slot subclass variable virtual))
jkudrnac 17aa3c
+  */
jkudrnac 17aa3c
+  /\b(subclass|abstract|block|c(on(crete|stant)|lass)|domain\
jkudrnac 17aa3c
+|ex(c(eption|lude)|port)|f(unction(|al))|generic|handler\
jkudrnac 17aa3c
+|i(n(herited|line|stance|terface)|mport)|library|m(acro|ethod)\
jkudrnac 17aa3c
+|open|primary|sealed|si(deways|ngleton)|slot\
jkudrnac 17aa3c
+|v(ariable|irtual))\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state dylan extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+  BEGIN {
jkudrnac 17aa3c
+    /*
jkudrnac 17aa3c
+     * Modify regexp character syntax so that we can distinguish all
jkudrnac 17aa3c
+     * dylan symbols.
jkudrnac 17aa3c
+     */
jkudrnac 17aa3c
+    extras = list ('!', '$', '%', '&', '*', '/', ':', 
jkudrnac 17aa3c
+		   '=', '?', '~', '^', '.', '+', '-');
jkudrnac 17aa3c
+    for (i = 0; i < length (extras); i = i + 1)
jkudrnac 17aa3c
+      regexp_syntax (extras[i], 'w');
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Modifiers */
jkudrnac 17aa3c
+  dylan_mod_re {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types */
jkudrnac 17aa3c
+  /<\w+>/ {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols */
jkudrnac 17aa3c
+  /#\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Comments. */
jkudrnac 17aa3c
+  /\/\// {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (eat_one_line);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+  /\/\*/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (eat_one_line);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Character constants. */
jkudrnac 17aa3c
+  /'.*'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+    
jkudrnac 17aa3c
+  /* Keywords.
jkudrnac 17aa3c
+     "=>" +
jkudrnac 17aa3c
+     (build-re '(above afterwards begin below by case cleanup create
jkudrnac 17aa3c
+     define end else elseif finally for from if in let local otherwise rename
jkudrnac 17aa3c
+     select signal then to unless until use variable virtual when while
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /=>|\b(a(bove|fterwards)|b(e(gin|low)|y)|c(ase|leanup|reate)\
jkudrnac 17aa3c
+|define|else(|if)|end|f(inally|or|rom)|i[fn]|l(et|ocal)|otherwise\
jkudrnac 17aa3c
+|rename|s(elect|ignal)|t(hen|o)|u(n(less|til)|se)|wh(en|ile))\b/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* ':'-names, Emacs highlights these, so do we. */
jkudrnac 17aa3c
+  /([ \t])([!\$%&\*\/:<=>\?~_^a-zA-Z0-9.+\-]*:)/ {
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Function faces */
jkudrnac 17aa3c
+  /([ \t]*)(\w+[^:])([ \t]*\([ \t]*)/ {
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    function_name_face(true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face(false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+/*
jkudrnac 17aa3c
+Local variables:
jkudrnac 17aa3c
+mode: c
jkudrnac 17aa3c
+End:
jkudrnac 17aa3c
+*/
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/eiffel.st enscript-1.6.4/states/hl/eiffel.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/eiffel.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/eiffel.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,132 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: eiffel
jkudrnac 17aa3c
+ * Description: Eiffel programming language.
jkudrnac 17aa3c
+ * Author: Julien Lemoine <speedblue@happycoders.org>
jkudrnac 17aa3c
+ *         Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+eiffel_types =
jkudrnac 17aa3c
+/* Types */
jkudrnac 17aa3c
+  /\b(ABSTRACT_(FRACTION|INTEGER)|ANY|AR(GUMENTS|RAY(|2|3|ED_COLLECTION))\
jkudrnac 17aa3c
+|BASIC_(DIRECTORY|TIME)|BINARY_FILE_(READ|WRITE)|BIT_(N|STRING)|BOOLEAN\
jkudrnac 17aa3c
+|CHARACTER(|_CONSTANTS)|CLOCK|COLLECTION(|2|3|_SORTER)|COMPARABLE\
jkudrnac 17aa3c
+|COUNTER|DICTIONARY(|_NODE)|D(IRECTORY|OUBLE)|EXCEPTIONS|FILE(|_TOOLS)\
jkudrnac 17aa3c
+|FIXED_ARRAY(|2|3)|GE(NERAL|N_RAND)|HASH(ABLE|_TABLE_SIZE)|INPUT_STREAM\
jkudrnac 17aa3c
+|INTEGER(|_8|_16|_32|_64|_FRACTION|_GENERAL)\
jkudrnac 17aa3c
+|ITERATOR(|_ON_(COLLECTION|DICTIONARY(_ITEMS|_KEYS)|LINKED_LIST|SET\
jkudrnac 17aa3c
+|STRING|TWO_WAY_LINKED_LIST|UNICODE_STRING))\
jkudrnac 17aa3c
+|LARGE(|_NEGATIVE|_POSITIVE)_INTEGER|LINK(|2|ED(_COLLECTION|_LIST))\
jkudrnac 17aa3c
+|MATH_CONSTANTS|MEMO(|RY)|MICROSECOND_TIME|MINI_PARSER_BUFFER\
jkudrnac 17aa3c
+|MIN_STAND|MUTABLE_BIG_INTEGER|NATIVE_ARRAY|NULL_(INPUT|OUTPUT)\
jkudrnac 17aa3c
+|NUMBER(|_FRACTION|_TOOLS)|NUMERIC|OUTPUT_STREAM|PLATFORM|POINTER\
jkudrnac 17aa3c
+|REAL|REVERSE_COLLECTION_SORTER|SAFE_EQUAL|SCOOP_UTILITIES|SET(|_NODE)\
jkudrnac 17aa3c
+|SMALL_INTEGER|STD_(ERROR|FILE_(READ|READ_WRITE|WRITE)|INPUT(|_OUTPUT)\
jkudrnac 17aa3c
+|OUTPUT|RAND)|STRING(|_HANDLER)|SYSTEM|TIME(|_IN_(ENGLISH|FRENCH|GERMAN\
jkudrnac 17aa3c
+|ITALIAN|SOME_LANGUAGE|SPANISH))|TWO_WAY_LINKED_LIST\
jkudrnac 17aa3c
+|UNICODE_STRING(|_HANDLER)|UTF8_PARSER)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+eiffel_keywords =
jkudrnac 17aa3c
+/* Keywords */
jkudrnac 17aa3c
+  /\b(agent|a(ll|lias)|and|as(|sign)|check|class|convert|create|Current|debug\
jkudrnac 17aa3c
+|deferred|do|else(|if)|en(d|sure)|ex(panded|port|ternal)|False\
jkudrnac 17aa3c
+|feature|fro(m|zen)|if|implies|in(dexing|fix|herit|spect|variant)\
jkudrnac 17aa3c
+|is|like|local|loop|not|o(r|bsolete|ld|nce)|prefix|Precursor|pure\
jkudrnac 17aa3c
+|re(define|ference|name|quire|scue|try)|Result|separate|then|True\
jkudrnac 17aa3c
+|TUPLE|un(define|til)|creation)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state eiffel extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* One line comments. */
jkudrnac 17aa3c
+  /\-\-/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (eat_one_line);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Keywords. */
jkudrnac 17aa3c
+  eiffel_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types. */
jkudrnac 17aa3c
+  eiffel_types {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Character constants. */
jkudrnac 17aa3c
+  /'.'|'\\\\.'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols, etc. */
jkudrnac 17aa3c
+  /:=|==|<=|>=|=|!=|\/=|!|!!/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Type declarations */
jkudrnac 17aa3c
+  /([ \t])*([a-zA-Z]+[, \ta-zA-Z0-9_]*):[^=]/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, with args
jkudrnac 17aa3c
+   * fct_name (args...) is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /^([ \t]*[a-zA-Z_][a-zA-Z_0-9]*[ \t]*)(\([ \t]*[ \ta-z,A-Z_0-9]+)(:[ \ta-zA-Z0-9_\[\]]+)?(\)[ \t]*)(:[ \ta-zA-Z0-9_\[\]]+)?([ \t]+is)[ \t]*$/ {
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+    language_print ($4);
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($5);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($6);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    language_print ($7);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, without args
jkudrnac 17aa3c
+   * fct_name is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /^([ \t]*[a-zA-Z_][a-zA-Z_0-9]*)([ \t]*)(is)[ \t]*$/ {
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print(" ");
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/enscript.st enscript-1.6.4/states/hl/enscript.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/enscript.st	2003-03-05 10:31:31.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/enscript.st	2006-01-09 22:04:22.000000000 +0200
jkudrnac 17aa3c
@@ -474,24 +474,31 @@
jkudrnac 17aa3c
   /\.m$/					matlab;
jkudrnac 17aa3c
   /\.(mpl|mp|maple)$/				maple;
jkudrnac 17aa3c
   /\.(scm|scheme)$/				scheme;
jkudrnac 17aa3c
+  /\.e$/					eiffel;
jkudrnac 17aa3c
+  /\.erl$/					erlang;
jkudrnac 17aa3c
   /\b\.emacs$|\.el$/				elisp;
jkudrnac 17aa3c
   /\.ad(s|b|a)$/				ada;
jkudrnac 17aa3c
   /\.[Ss]$/					asm;
jkudrnac 17aa3c
+  /\.sml$/					sml;
jkudrnac 17aa3c
   /\.st$/					states;
jkudrnac 17aa3c
+  /\.lua$/					lua;
jkudrnac 17aa3c
   /(M|m)akefile.*/				makefile;
jkudrnac 17aa3c
   /\.(MOD|DEF|mi|md)$/				modula_2;
jkudrnac 17aa3c
+  /\.oz$/					oz;
jkudrnac 17aa3c
   /\.tcl$/					tcl;
jkudrnac 17aa3c
   /\.(v|vh)$/					verilog;
jkudrnac 17aa3c
-  /\.html?$/					html;
jkudrnac 17aa3c
+  /\.x?html?$/					html;
jkudrnac 17aa3c
   /\bChangeLog$/				changelog;
jkudrnac 17aa3c
   /\.(vhd|vhdl)$/				vhdl;
jkudrnac 17aa3c
   /\.(scr|.syn|.synth)$/			synopsys;
jkudrnac 17aa3c
   /\.idl$/					idl;
jkudrnac 17aa3c
   /\.(hs|lhs|gs|lgs)$/				haskell;
jkudrnac 17aa3c
   /\.(pm|pl)$/					perl;
jkudrnac 17aa3c
+  /\.php[34]?$/					php;
jkudrnac 17aa3c
   /\.(eps|EPS|ps|PS)$/				postscript;
jkudrnac 17aa3c
   /\.py$/					python;
jkudrnac 17aa3c
   /\.pyx$/					pyrex;
jkudrnac 17aa3c
+  /\.rbw?$/					ruby;
jkudrnac 17aa3c
   /\.js$/					javascript;
jkudrnac 17aa3c
   /\.java$/					java;
jkudrnac 17aa3c
   /\.([Pp][Aa][Ss]|[Pp][Pp]|[Pp])$/		pascal;
jkudrnac 17aa3c
@@ -530,6 +537,10 @@
jkudrnac 17aa3c
   /-\*- [Ii][Dd][Ll] -\*-/				idl;
jkudrnac 17aa3c
   /-\*- [Pp][Ee][Rr][Ll] -\*-/				perl;
jkudrnac 17aa3c
   /^#![ \t]*\/.*\/perl/					perl;
jkudrnac 17aa3c
+  /-\*- [Pp][Hh][Pp] -\*-/				php;
jkudrnac 17aa3c
+  /^<\?php/						php;
jkudrnac 17aa3c
+  /-\*- [Rr][Uu][Bb][Yy] -\*-/				ruby;
jkudrnac 17aa3c
+  /^#![ \t]*\/.*\/ruby/					ruby;
jkudrnac 17aa3c
   /^From:/						mail;
jkudrnac 17aa3c
   /^#![ \t]*(\/usr)?\/bin\/[ngmt]?awk/			awk;
jkudrnac 17aa3c
   /^#![ \t]*(\/usr)?\/bin\/sh/				sh;
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/erlang.st enscript-1.6.4/states/hl/erlang.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/erlang.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/erlang.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,161 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+  * Name: erlang
jkudrnac 17aa3c
+  * Description: Erlang programming language.
jkudrnac 17aa3c
+  * Author: Sean Hinde 
jkudrnac 17aa3c
+  */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+/* Erlang atom: ([a-z][a-zA-Z0-9_]*|\'[^\n]*\') */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state erlang extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+   /* Comments */
jkudrnac 17aa3c
+   /%/ {
jkudrnac 17aa3c
+     comment_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     call (eat_one_line);
jkudrnac 17aa3c
+     comment_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* String constants. */
jkudrnac 17aa3c
+   /\"/ {
jkudrnac 17aa3c
+     string_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     call (c_string);
jkudrnac 17aa3c
+     string_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Special -record(rec_name, {}).  pre-processor case */
jkudrnac 17aa3c
+   /(-record)(\([ \t]*)([a-z][a-zA-Z0-9_]*|\'[^\n]*\')/ {
jkudrnac 17aa3c
+     reference_face (true);
jkudrnac 17aa3c
+     language_print ($1);
jkudrnac 17aa3c
+     reference_face (false);
jkudrnac 17aa3c
+     language_print ($2);
jkudrnac 17aa3c
+     type_face (true);
jkudrnac 17aa3c
+     language_print ($3);
jkudrnac 17aa3c
+     type_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Special -define(Alter, "Hello").  pre-processor case */
jkudrnac 17aa3c
+   /(-define)(\([ 
jkudrnac 17aa3c
+\t]*)([a-z][a-zA-Z0-9_]*|\'[^\n]*\'|[A-Z_][a-zA-Z0-9_]*)/ {
jkudrnac 17aa3c
+     reference_face (true);
jkudrnac 17aa3c
+     language_print ($1);
jkudrnac 17aa3c
+     reference_face (false);
jkudrnac 17aa3c
+     language_print ($2);
jkudrnac 17aa3c
+     builtin_face (true);
jkudrnac 17aa3c
+     language_print ($3);
jkudrnac 17aa3c
+     builtin_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Pre-processor lines. */
jkudrnac 17aa3c
+   /^-([a-z][a-zA-Z0-9_]*)/ {
jkudrnac 17aa3c
+     reference_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     reference_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Defines */
jkudrnac 17aa3c
+   /(\?)([a-z][a-zA-Z0-9_]*|\'[^\n]*\'|[A-Z_][a-zA-Z0-9_]*)/ {
jkudrnac 17aa3c
+     language_print ($1);
jkudrnac 17aa3c
+     builtin_face (true);
jkudrnac 17aa3c
+     language_print ($2);
jkudrnac 17aa3c
+     builtin_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Records */
jkudrnac 17aa3c
+   /(#)([a-z][a-zA-Z0-9_]*|\'[^\n]*\')/ {
jkudrnac 17aa3c
+     language_print ($1);
jkudrnac 17aa3c
+     type_face (true);
jkudrnac 17aa3c
+     language_print ($2);
jkudrnac 17aa3c
+     type_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Keywords.
jkudrnac 17aa3c
+      '(after begin case try catch end fun if of receive when)
jkudrnac 17aa3c
+      Regexp taken from emacs Erlang mode R9C
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+   /\b(a(fter|ndalso)|begin|c(atch|ase)\
jkudrnac 17aa3c
+|end|fun|if|o(f|relse)|receive|try|when\
jkudrnac 17aa3c
+|query)\b/ {
jkudrnac 17aa3c
+     keyword_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     keyword_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Guards.
jkudrnac 17aa3c
+    Regexp taken from emacs Erlang mode R9C
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+   /\b((is_)*(atom|function|binary|constant|float\
jkudrnac 17aa3c
+|integer|list|number|p(id|ort)\
jkudrnac 17aa3c
+|re(ference|cord)|tuple))\b/ {
jkudrnac 17aa3c
+     builtin_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     builtin_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Built in functions */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+/\b(a(bs|live|pply|tom_to_list)\
jkudrnac 17aa3c
+|binary_to_(list|term)\
jkudrnac 17aa3c
+|concat_binary|d(ate|isconnect_node)\
jkudrnac 17aa3c
+|e(lement|rase|xit)\
jkudrnac 17aa3c
+|float(|_to_list)\
jkudrnac 17aa3c
+|g(arbage_collect|et(|_keys)|roup_leader)\
jkudrnac 17aa3c
+|h(alt|d)\
jkudrnac 17aa3c
+|i(nte(ger_to_list|rnal_bif)|s_alive)\
jkudrnac 17aa3c
+|l(ength|i(nk|st_to_(atom|binary|float|integer\
jkudrnac 17aa3c
+|pid|tuple)))\
jkudrnac 17aa3c
+|make_ref|no(de(|_(link|unlink)|s)|talive)\
jkudrnac 17aa3c
+|open_port\
jkudrnac 17aa3c
+|p(id_to_list|rocess(_(flag|info)|es)|ut)\
jkudrnac 17aa3c
+|r(egister(|ed)|ound)\
jkudrnac 17aa3c
+|s(e(lf|telement)|ize\
jkudrnac 17aa3c
+|p(awn(|_link)|lit_binary)|tatistics)\
jkudrnac 17aa3c
+|t(erm_to_binary|hrow|ime|l\
jkudrnac 17aa3c
+|r(ace|unc)|uple_to_list)\
jkudrnac 17aa3c
+|un(link|register)|whereis)\b/ {
jkudrnac 17aa3c
+     keyword_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     keyword_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /*
jkudrnac 17aa3c
+    * Function definitions.
jkudrnac 17aa3c
+    */
jkudrnac 17aa3c
+   /^([a-z][a-zA-Z0-9_]*|'[^\n]*')/ {
jkudrnac 17aa3c
+     function_name_face (true);
jkudrnac 17aa3c
+     language_print ($1);
jkudrnac 17aa3c
+     function_name_face (false);
jkudrnac 17aa3c
+     language_print ($2);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Atom like strings */
jkudrnac 17aa3c
+   /('[^\n]*')/ {
jkudrnac 17aa3c
+     string_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     string_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Characters */
jkudrnac 17aa3c
+   /(\$.)/ {
jkudrnac 17aa3c
+     string_face (true);
jkudrnac 17aa3c
+     language_print ($0);
jkudrnac 17aa3c
+     string_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+   /* Variable Names */
jkudrnac 17aa3c
+   /*  /([\{\(\,\[ \t]+)([A-Z_][a-zA-Z0-9_]*)/ { */
jkudrnac 17aa3c
+   /([^a-z0-9_\"])([A-Z_][a-zA-Z0-9_]*)/ {
jkudrnac 17aa3c
+     language_print ($1);
jkudrnac 17aa3c
+     variable_name_face (true);
jkudrnac 17aa3c
+     language_print ($2);
jkudrnac 17aa3c
+     variable_name_face (false);
jkudrnac 17aa3c
+   }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+/*
jkudrnac 17aa3c
+Local variables:
jkudrnac 17aa3c
+mode: erlang
jkudrnac 17aa3c
+End:
jkudrnac 17aa3c
+*/
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/forth.st enscript-1.6.4/states/hl/forth.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/forth.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/forth.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,96 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: forth
jkudrnac 17aa3c
+ * Description: Forth Programming Language.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+forth_builtins =
jkudrnac 17aa3c
+/* builtins */
jkudrnac 17aa3c
+  /\b(abort|bye|c(atch|o(ld|ntext))|d(rop|up)|f(d(rop|up)|nip|o(r(get|th)|ver)|rot\
jkudrnac 17aa3c
+|s(eal|wap)|tuck)|include|l(ink|oad)|n(ip|eeds)|o(rder|ver)|pick|ro(ll|t)|swap|t(hrow|uck)\
jkudrnac 17aa3c
+|within|2(drop|nip|dup|over|tuck|swap|rot)|3dup|4dup\
jkudrnac 17aa3c
+)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+forth_types =
jkudrnac 17aa3c
+/* types */
jkudrnac 17aa3c
+  /\b(base|c(ell|har)|decimal|float|hex)\b/;
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+forth_keywords =
jkudrnac 17aa3c
+/* keywords */
jkudrnac 17aa3c
+  /\b(a(bs|gain|head|lso|nd)|begin|c(ase|onstant)|d(abs|efinitions|m(ax|in)|negate|o(|ne))\
jkudrnac 17aa3c
+|e(lse|nd(|case|if|of)|xit)|f(a(bs|cos(|h)|log|sin(|h)|tan(|2|h))|cos(|h)|exp(|m1)|l(n(|p1)\
jkudrnac 17aa3c
+|o(g|or)|s(in(|cos|h)|qrt)|tan(|h))|m(ax|in)|negate|or|round|sqrt)|h(ere|old)|i(f|nvert)\
jkudrnac 17aa3c
+|l(eave|oop)|m(ax|in|od)|n(e(gate|xt)|ot)|o(f|nly|r)|r(epeat|oot)|s(eal|ign)|then\
jkudrnac 17aa3c
+|un(til|loop)|v(ariable|oc(abulary|s))|while|xor\
jkudrnac 17aa3c
+)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state forth extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+  /* Comments. */
jkudrnac 17aa3c
+  /\\\\/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (eat_one_line);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* keywords. */
jkudrnac 17aa3c
+  forth_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types. */
jkudrnac 17aa3c
+  forth_types {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Builtins support */
jkudrnac 17aa3c
+  forth_builtins {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* character constants. */
jkudrnac 17aa3c
+  /'.'|'\\\\.'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* symbols, etc. */
jkudrnac 17aa3c
+  />|>=|<=|<>|!|\+|\-|\^|\/|\*|\|/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * function definitions, with args
jkudrnac 17aa3c
+   * fct_name (args...) is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /^(:[ \t]+)([^ ^\t]+)([ \t]*)/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
+
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/icon.st enscript-1.6.4/states/hl/icon.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/icon.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/icon.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,93 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: icon
jkudrnac 17aa3c
+ * Description: Icon Programming Language.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+icon_builtins =
jkudrnac 17aa3c
+/* Builtins */
jkudrnac 17aa3c
+  /\b(break|create|default|fail|initial|l(ink|ocal)|not|s(tatic|uspend))\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+icon_types =
jkudrnac 17aa3c
+/* Types */
jkudrnac 17aa3c
+  /\b(char|error|function|integer|proc|procedure|real|variable)\b/;
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+icon_keywords =
jkudrnac 17aa3c
+/* Keywords */
jkudrnac 17aa3c
+  /\b(a(bs|cos|ny|rgs|sin|tan)|b(al|y)|c(a(llout|se)|enter|hdir|lose|o(llect|py|s)|set)\
jkudrnac 17aa3c
+|d(e(lay|lete|tab|isplay|tor)|o)|e(lse|n(d|tab)|rrorclear|very|xit|xp)|f(ind|lush)\
jkudrnac 17aa3c
+|get(|ch|che|env)|i(and|com|f|mage|nsert|or|shift|xor)|k(bhit|ey)|l(eft|ist|o(adfunc|g))\
jkudrnac 17aa3c
+|m(a(ny|p|tch)|ember|ove)|n(ame|ext|umeric)|o(f|pen|rd)|p(op|os|ull|ush|ut)\
jkudrnac 17aa3c
+|r(e(ad(|s)|move|name|p(eat|l)|turn|verse)|ight|tod|unerr)|s(ave|eek|eq|et|in|ort(|f)\
jkudrnac 17aa3c
+|qrt|top|tring|ystem)|t(a(b(|le)|n)|hen|o|rim|ype)|u(ntil|pto)|w(h(ere|ile)|rite(|s))\
jkudrnac 17aa3c
+)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state icon extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+  /* Comments. */
jkudrnac 17aa3c
+  /#/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (eat_one_line);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Keywords. */
jkudrnac 17aa3c
+  icon_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types. */
jkudrnac 17aa3c
+  icon_types {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Structure support */
jkudrnac 17aa3c
+  icon_builtins {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Character constants. */
jkudrnac 17aa3c
+  /'.'|'\\\\.'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols, etc. */
jkudrnac 17aa3c
+  />|>=|:=|<=|#|=+|!|::|\+|\-|\^|\/|\*|\|/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, with args
jkudrnac 17aa3c
+   * fct_name (args...) is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /([ \t]*procedure[ \t]+)(\w+)([ \t]*)/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/lua.st enscript-1.6.4/states/hl/lua.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/lua.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/lua.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,91 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: lua
jkudrnac 17aa3c
+ * Description: Lua Programming Language template for Enscript.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+lua_builtins =
jkudrnac 17aa3c
+/* Builtins */
jkudrnac 17aa3c
+  /\b(assert|call|foreach|globals|print|require|to(number|string))\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+lua_keywords =
jkudrnac 17aa3c
+/* Keywords */
jkudrnac 17aa3c
+  /\b(and|break|do|e(nd|lse(|if))|f(alse|or|unction)|i(f|n)|local\
jkudrnac 17aa3c
+|or|n(il|ot)|re(peat|turn)|t(hen|rue)|until|while\
jkudrnac 17aa3c
+)\b/;
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+state lua extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* One line comments. */
jkudrnac 17aa3c
+  /\-\-|^#!/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (eat_one_line);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Keywords. */
jkudrnac 17aa3c
+  lua_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types. */
jkudrnac 17aa3c
+  lua_builtins {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Character constants. */
jkudrnac 17aa3c
+  /'.'|'\\\\.'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols, etc. */
jkudrnac 17aa3c
+  /+|-|\*|=|!=|==|<|>|<=|>=|~=|!/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Class references */
jkudrnac 17aa3c
+  /([ \t])*([a-zA-Z]+[, \ta-zA-Z0-9_]*):[^=]/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, with args
jkudrnac 17aa3c
+   * function fct_name (args...)
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /^([ \t]*function[ \t]+)([a-zA-Z_][a-zA-Z_:0-9]*)([ \t]*)(\([^)]*\)[ \t]*)[ \t]*$/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print(" ");
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($4);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/mail.st enscript-1.6.4/states/hl/mail.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/mail.st	2003-03-05 09:26:33.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/mail.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -27,7 +27,7 @@
jkudrnac 17aa3c
   END {
jkudrnac 17aa3c
     comment_face (true);
jkudrnac 17aa3c
   }
jkudrnac 17aa3c
-  /:/ {
jkudrnac 17aa3c
+  /[ \t:]/ {
jkudrnac 17aa3c
     language_print ($0);
jkudrnac 17aa3c
     return;
jkudrnac 17aa3c
   }
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/Makefile.am enscript-1.6.4/states/hl/Makefile.am
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/Makefile.am	2003-03-05 09:26:33.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/Makefile.am	2006-01-09 22:06:23.000000000 +0200
jkudrnac 17aa3c
@@ -38,7 +38,8 @@
jkudrnac 17aa3c
 matlab.st nroff.st objc.st outline.st pascal.st passthrough.st perl.st	\
jkudrnac 17aa3c
 postscript.st python.st pyrex.st rfc.st scheme.st sh.st skill.st	\
jkudrnac 17aa3c
 sql.st states.st synopsys.st tcl.st tcsh.st tex.st vba.st verilog.st	\
jkudrnac 17aa3c
-vhdl.st vrml.st wmlscript.st zsh.st
jkudrnac 17aa3c
+vhdl.st vrml.st wmlscript.st zsh.st eiffel.st erlang.st dylan.st oz.st	\
jkudrnac 17aa3c
+lua.st oberon2.st icon.st smalltalk.st forth.st sml.st php.st ruby.st
jkudrnac 17aa3c
 
jkudrnac 17aa3c
 states = $(misc) $(styles) $(languages) $(highlightings)
jkudrnac 17aa3c
 
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/Makefile.in enscript-1.6.4/states/hl/Makefile.in
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/Makefile.in	2003-03-05 09:40:07.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/Makefile.in	2006-01-09 22:05:26.000000000 +0200
jkudrnac 17aa3c
@@ -188,7 +188,8 @@
jkudrnac 17aa3c
 matlab.st nroff.st objc.st outline.st pascal.st passthrough.st perl.st	\
jkudrnac 17aa3c
 postscript.st python.st pyrex.st rfc.st scheme.st sh.st skill.st	\
jkudrnac 17aa3c
 sql.st states.st synopsys.st tcl.st tcsh.st tex.st vba.st verilog.st	\
jkudrnac 17aa3c
-vhdl.st vrml.st wmlscript.st zsh.st
jkudrnac 17aa3c
+vhdl.st vrml.st wmlscript.st zsh.st eiffel.st erlang.st dylan.st oz.st	\
jkudrnac 17aa3c
+lua.st oberon2.st icon.st smalltalk.st forth.st sml.st php.st ruby.st
jkudrnac 17aa3c
 
jkudrnac 17aa3c
 
jkudrnac 17aa3c
 states = $(misc) $(styles) $(languages) $(highlightings)
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/oberon2.st enscript-1.6.4/states/hl/oberon2.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/oberon2.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/oberon2.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,111 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: oberon2
jkudrnac 17aa3c
+ * Description: Oberon 2 Programming Language.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+oberon2_builtins =
jkudrnac 17aa3c
+/* Builtins */
jkudrnac 17aa3c
+  /\b(CONST|IMPORT)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+oberon2_types =
jkudrnac 17aa3c
+/* Types */
jkudrnac 17aa3c
+  /\b(ARRAY|B(OOLEAN|YTE)|CHAR|INTEGER|LONG(|INT|REAL)|MODULE|NIL\
jkudrnac 17aa3c
+|P(OINTER|ROCEDURE)|RE(AL|CORD)|SHORT(|INT))\b/;
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+oberon2_keywords =
jkudrnac 17aa3c
+/* Keywords */
jkudrnac 17aa3c
+  /\b(A(BS|ND|SH)|BEGIN|C(A(P|SE)|HR)|D(O|EC|IV)\
jkudrnac 17aa3c
+|E(LS(E|IF)|N(D|TIER)|X(CL|IT))|F(ALSE|OR)|HALT|I(F|S|N(|C(|L)))\
jkudrnac 17aa3c
+|L(EN|OOP)|M(AX|IN|OD)|NEW|O(F|DD|R(|D))|S(ET|IZE)|T(HEN|O|RUE|YPE)\
jkudrnac 17aa3c
+|UNTIL|RE(PEAT|TURN)|VAR|W(HILE|ITH))\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state oberon2_comment extends Highlight
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+  /\*\)/ {
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    return;
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state oberon2 extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+  /* Comments. */
jkudrnac 17aa3c
+  /\(\*/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (oberon2_comment);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Keywords. */
jkudrnac 17aa3c
+  oberon2_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types. */
jkudrnac 17aa3c
+  oberon2_types {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Structure support */
jkudrnac 17aa3c
+  oberon2_builtins {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Character constants. */
jkudrnac 17aa3c
+  /'.'|'\\\\.'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols, etc. */
jkudrnac 17aa3c
+  /\->|>|>=|:=|<=|#|=|!|::|\+|\-|\^|\/|\*|\|/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, with args
jkudrnac 17aa3c
+   * fct_name (args...) is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /([ \t]*PROCEDURE[ \t]+)(\w+)([ \t]*)/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /([ \t]*END[ \t]+)(\w+)([ \t]*[;\.])/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/oz.st enscript-1.6.4/states/hl/oz.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/oz.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/oz.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,89 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: oz
jkudrnac 17aa3c
+ * Description: Mozart/Oz Programming Language.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+oz_builtins =
jkudrnac 17aa3c
+/* Builtins */
jkudrnac 17aa3c
+  /\b(export|import|local|require)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+oz_types =
jkudrnac 17aa3c
+/* Types */
jkudrnac 17aa3c
+  /\b(attr|c(lass|atch)|f(eat|unctor)|nil|prop|raise|try)\b/;
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+oz_keywords =
jkudrnac 17aa3c
+/* Keywords */
jkudrnac 17aa3c
+  /\b(at|c(ase|hoice|ond)|d(e(clare|fine)|o|is)|e(lse(|case|if|of)|nd)\
jkudrnac 17aa3c
+|f(inally|or|rom|un)|i(f|n)|lock|meth|not|o(f|r)|p(repare|roc)|then\
jkudrnac 17aa3c
+|thread)\b/;
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+state oz extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Comments. */
jkudrnac 17aa3c
+  /%/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (eat_one_line);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Keywords. */
jkudrnac 17aa3c
+  oz_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types. */
jkudrnac 17aa3c
+  oz_types {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Structure support */
jkudrnac 17aa3c
+  oz_builtins {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Character constants. */
jkudrnac 17aa3c
+  /'.'|'\\\\.'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols, etc. */
jkudrnac 17aa3c
+  /\.\.|=[=]|<\-|\\=|\|/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, with args
jkudrnac 17aa3c
+   * fct_name (args...) is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /([ \t]*\{)(\w+)([\. \t]*)/ {
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/perl.st enscript-1.6.4/states/hl/perl.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/perl.st	2003-03-05 09:32:09.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/perl.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -60,6 +60,11 @@
jkudrnac 17aa3c
 
jkudrnac 17aa3c
 state perl extends HighlightEntry
jkudrnac 17aa3c
 {
jkudrnac 17aa3c
+  /* stuff after $# is a variable, not a comment */
jkudrnac 17aa3c
+  /\$#\w+/ {
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
   /* Comments. */
jkudrnac 17aa3c
   /#.*$/ {
jkudrnac 17aa3c
     comment_face (true);
jkudrnac 17aa3c
@@ -127,7 +132,6 @@
jkudrnac 17aa3c
 
jkudrnac 17aa3c
   /* Variables */
jkudrnac 17aa3c
   /[$%@&]+\w+/ {
jkudrnac 17aa3c
-    keyword_face (false);
jkudrnac 17aa3c
     language_print ($0);
jkudrnac 17aa3c
   }
jkudrnac 17aa3c
 
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/smalltalk.st enscript-1.6.4/states/hl/smalltalk.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/smalltalk.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/smalltalk.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,80 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: Smalltalk
jkudrnac 17aa3c
+ * Description: Smalltalk Programming Language.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+smalltalk_keywords =
jkudrnac 17aa3c
+/* Keywords */
jkudrnac 17aa3c
+  /\b(class|false|inspect|isNil|new|nil|not(|Nil)|out|s(elf|uper)|true\
jkudrnac 17aa3c
+|do|whileTrue|whileFalse|ifTrue|ifFalse|put|to|at|add|new\
jkudrnac 17aa3c
+|for)\b/ ;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state smalltalk_quot_string extends Highlight
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+  /\\\\./ {
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+  /[\']/ {
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    return;
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state smalltalk extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Comments. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Keywords. */
jkudrnac 17aa3c
+  smalltalk_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Declarations */
jkudrnac 17aa3c
+  /[ \t]*\|.*\|/ {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /[\']/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (smalltalk_quot_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols, etc. */
jkudrnac 17aa3c
+  /:=|>|>=|==|<=|<>|=|!|::|@|\+|\-|\^|\/|\*|\||\[|\]/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, with args
jkudrnac 17aa3c
+   * fct_name (args...) is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /([ \t]*)(\w+)(:[ \t]*)/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/sml.st enscript-1.6.4/states/hl/sml.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/sml.st	1970-01-01 02:00:00.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/sml.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -0,0 +1,101 @@
jkudrnac 17aa3c
+/**
jkudrnac 17aa3c
+ * Name: sml
jkudrnac 17aa3c
+ * Description: Standard ML Programming Language.
jkudrnac 17aa3c
+ * Author: Brent Fulgham <bfulgham@debian.org>
jkudrnac 17aa3c
+ */
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+sml_builtins =
jkudrnac 17aa3c
+/* Builtins */
jkudrnac 17aa3c
+  /\b(functor|lambda|s(ig(|nature)|truct(|ure))|NONE|SOME)\b/;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+sml_types =
jkudrnac 17aa3c
+/* Types */
jkudrnac 17aa3c
+  /\b(\'(a|b|c|d)|array|bool|char|int|list|real|string|unit|vector|word)\b/;
jkudrnac 17aa3c
+  
jkudrnac 17aa3c
+sml_keywords =
jkudrnac 17aa3c
+/* Keywords */
jkudrnac 17aa3c
+  /\b(a(bs(traction|type)|nd(|also)|s|toi)|before|c(ase|oncat)|d(o|atatype)\
jkudrnac 17aa3c
+|e(lse|nd|qtype|xception)|f(n|un(|sig))|handle|i(f|n(|clude|fix|fixr))\
jkudrnac 17aa3c
+|l(et|ocal)|nonfix|o(|f|p(|en)|relse|verload)|print|r(aise|ec|ef)|sharing\
jkudrnac 17aa3c
+|t(hen|ype)|val|w(h(ere|ile)|ith(|type)))\b/ ;
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state sml_comment extends Highlight
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+  /\*\)/ {
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    return;
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+state sml extends HighlightEntry
jkudrnac 17aa3c
+{
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Comments. */
jkudrnac 17aa3c
+  /\(\*/ {
jkudrnac 17aa3c
+    comment_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (sml_comment);
jkudrnac 17aa3c
+    comment_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Keywords. */
jkudrnac 17aa3c
+  sml_keywords {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Types. */
jkudrnac 17aa3c
+  sml_types {
jkudrnac 17aa3c
+    type_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    type_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Structure support */
jkudrnac 17aa3c
+  sml_builtins {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  } 
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* String constants. */
jkudrnac 17aa3c
+  /\"/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    call (c_string);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Character constants. */
jkudrnac 17aa3c
+  /'.'|'\\\\.'/ {
jkudrnac 17aa3c
+    string_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    string_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /* Symbols, etc. */
jkudrnac 17aa3c
+  /:=|>|>=|==|<=|<>|=|!|::|@|\+|\-|\^|\/|\*|\||\b(quot|rem|div|mod\
jkudrnac 17aa3c
+|hd|tl)\b/ {
jkudrnac 17aa3c
+    reference_face (true);
jkudrnac 17aa3c
+    language_print ($0);
jkudrnac 17aa3c
+    reference_face (false);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+  /*
jkudrnac 17aa3c
+   * Function definitions, with args
jkudrnac 17aa3c
+   * fct_name (args...) is
jkudrnac 17aa3c
+   */
jkudrnac 17aa3c
+  /([ \t]*f[u]n[ \t]+)(\w+)([ \t]*)/ {
jkudrnac 17aa3c
+    keyword_face (true);
jkudrnac 17aa3c
+    language_print ($1);
jkudrnac 17aa3c
+    keyword_face (false);
jkudrnac 17aa3c
+    function_name_face (true);
jkudrnac 17aa3c
+    face_on(face_bold_italic);
jkudrnac 17aa3c
+    language_print ($2);
jkudrnac 17aa3c
+    face_off(face_bold_italic);
jkudrnac 17aa3c
+    function_name_face (false);
jkudrnac 17aa3c
+    language_print ($3);
jkudrnac 17aa3c
+  }
jkudrnac 17aa3c
+
jkudrnac 17aa3c
+}
jkudrnac 17aa3c
diff -Nru enscript-1.6.4.orig/states/hl/tcl.st enscript-1.6.4/states/hl/tcl.st
jkudrnac 17aa3c
--- enscript-1.6.4.orig/states/hl/tcl.st	2003-03-05 09:26:33.000000000 +0200
jkudrnac 17aa3c
+++ enscript-1.6.4/states/hl/tcl.st	2006-01-09 22:02:28.000000000 +0200
jkudrnac 17aa3c
@@ -128,7 +128,7 @@
jkudrnac 17aa3c
 |e(ntry|of|rror|v(al|ent)|x(ec|it|pr))\
jkudrnac 17aa3c
 |f(blocked|configure|ile(|event|name)|lush|o(cus|nt|r(|each|mat))|rame)\
jkudrnac 17aa3c
 |g(ets|lob(|al)|r(ab|id))|history|i(f|mage|n(cr|fo|terp))|join\
jkudrnac 17aa3c
-|l(a(bel|ppend)|i(brary|n(dex|sert)|st(|box))|length|o(ad|se|wer)\
jkudrnac 17aa3c
+|l(a(bel|ppend|st)|i(brary|n(dex|sert)|st(|box))|length|o(ad|se|wer)\
jkudrnac 17aa3c
 |r(ange|eplace)|s(earch|ort))\
jkudrnac 17aa3c
 |me(nu(|button)|ssage)|op(en|tion(|s))\
jkudrnac 17aa3c
 |p(ack(|age)|hoto|id|kg_mkIndex|lace|roc|uts|wd)\