Hello, This seems like a bug to me, but maybe I'm just doing something wrong. When I try to convert my Lisp or Scheme code into HTML or XHTML (both with and without CSS) using 2html.vim, I get an error and the only syntax highlighting in the HTML is the line numbering. When you look at the resulting HTML, it still has all the CSS classes in the code, rather than the font colors that actually represent that code in the current color scheme.
I'm using Vim 7.0.35 on Xubuntu Linux 2.6.17-10 (using the pre-built "vim-full" package from the Universe repository). The output of `vim --version` is in the attached version.txt file. Here's the exact error I get: Error detected while processing /usr/share/vim/vim70/syntax/2html.vim: line 496: E486: Pattern not found: <span class="">\([^<]*\)</span> Turning off the line numbering (:let html_number_lines = 0) makes everything work just fine. I tried to do a little debugging on 2html.vim and I find that the script crashes when s:id = 0, a:style_name = 'lnr' (derived from s:HtmlFormat, line 125). 'lnr' seems to be for line numbers, which probably explains why it doesn't crash when I turn off line numbering in the HTML. I can't tell for sure if this is a bug in 2html or a bug in the Lisp and Scheme syntax files. Or maybe I'm just not hitting on the right options somewhere. So far, I've only found that it doesn't work for Scheme and Lisp syntaxes. Other languages I've tested (Smalltalk, Ada, OCaml, et al) seem to be alright. Attached is an example Scheme file (example.scm) and the HTML that 2html generates from it (example.scm.html). If anybody has any ideas about this, I'd greatly appreciate it. Thank you. -- Taylor Venable [EMAIL PROTECTED] http://www.metasyntax.net/ "Simplicity is prerequisite for reliability." -- Edsger Dijkstra
example.scm
Description: Binary data
<html> <head> <title>~/programs/testing/scheme/smalltalk.scm.html</title> <meta name="Generator" content="Vim/7.0"> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> </head> <body bgcolor="#333333" text="#ffffff"> <pre> <font color="#ffff00"> 1 </font><span class="Special">(</span><span class="Statement">define</span><span class="schemeStruc"> </span><span class="schemeOther">find-all</span> <font color="#ffff00"> 2 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">lambda</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">alist</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="Special">)</span> <font color="#ffff00"> 3 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">find-all-r</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="Constant">1</span><span class="Special">)))</span> <font color="#ffff00"> 4 </font> <font color="#ffff00"> 5 </font><span class="Special">(</span><span class="Statement">define</span><span class="schemeStruc"> </span><span class="schemeOther">find-all-r</span> <font color="#ffff00"> 6 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">lambda</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">alist</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="Special">)</span> <font color="#ffff00"> 7 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">let</span><span class="schemeStruc"> </span><span class="Special">((</span><span class="schemeOther">range</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">find-first</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="Special">)))</span> <font color="#ffff00"> 8 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">if</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">null?</span><span class="schemeStruc"> </span><span class="schemeOther">range</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="Special">'()</span> <font color="#ffff00"> 9 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">cons</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">list</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">car</span><span class="schemeStruc"> </span><span class="schemeOther">range</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">cadr</span><span class="schemeStruc"> </span><span class="schemeOther">range</span><span class="Special">))</span> <font color="#ffff00">10 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">find-all-r</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">caddr</span><span class="schemeStruc"> </span><span class="schemeOther">range</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">+</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">cadr</span><span class="schemeStruc"> </span><span class="schemeOther">range</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="Constant">2</span><span class="Special">)))))))</span> <font color="#ffff00">11 </font> <font color="#ffff00">12 </font><span class="Special">(</span><span class="Statement">define</span><span class="schemeStruc"> </span><span class="schemeOther">find-first</span> <font color="#ffff00">13 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">lambda</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">alist</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="Special">)</span> <font color="#ffff00">14 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">cond</span> <font color="#ffff00">15 </font><span class="schemeStruc"> </span><span class="Special">((</span><span class="Identifier">null?</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="Special">'())</span> <font color="#ffff00">16 </font><span class="schemeStruc"> </span><span class="Special">((</span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">car</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">))</span> <font color="#ffff00">17 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">find-last</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">cdr</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="Special">))</span> <font color="#ffff00">18 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">else</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">find-first</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">cdr</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">+</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="schemeStruc"> </span><span class="Constant">1</span><span class="Special">))))))</span> <font color="#ffff00">19 </font> <font color="#ffff00">20 </font><span class="Special">(</span><span class="Statement">define</span><span class="schemeStruc"> </span><span class="schemeOther">find-last</span> <font color="#ffff00">21 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">lambda</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">alist</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="schemeOther">start</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="Special">)</span> <font color="#ffff00">22 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">if</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">or</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">null?</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">)</span> <font color="#ffff00">23 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">not</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">car</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">))))</span> <font color="#ffff00">24 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">list</span><span class="schemeStruc"> </span><span class="schemeOther">start</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">if</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">null?</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="Special">'()</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">cdr</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">)))</span> <font color="#ffff00">25 </font><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">find-last</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">cdr</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="schemeOther">predicate</span><span class="schemeStruc"> </span><span class="schemeOther">start</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">+</span><span class="schemeStruc"> </span><span class="schemeOther">index</span><span class="schemeStruc"> </span><span class="Constant">1</span><span class="Special">)))))</span> <font color="#ffff00">26 </font> <font color="#ffff00">27 </font><span class="Special">(</span><span class="Statement">define</span><span class="schemeStruc"> </span><span class="schemeOther">do-tests</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">map</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">lambda</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">alist</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">find-all</span><span class="schemeStruc"> </span><span class="schemeOther">alist</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Statement">lambda</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="schemeOther">x</span><span class="Special">)</span><span class="schemeStruc"> </span><span class="Special">(</span><span class="Identifier">></span><span class="schemeStruc"> </span><span class="schemeOther">x</span><span class="schemeStruc"> </span><span class="Constant">50</span><span class="Special">))))</span> <font color="#ffff00">28 </font><span class="schemeStruc"> </span><span class="Special">'((</span><span class="Constant">0</span><span class="Special">)</span> <font color="#ffff00">29 </font><span class="schemeQuoted"> </span><span class="Special">(</span><span class="Constant">1</span><span class="Special">)</span> <font color="#ffff00">30 </font><span class="schemeQuoted"> </span><span class="Special">(</span><span class="Constant">51</span><span class="Special">)</span> <font color="#ffff00">31 </font><span class="schemeQuoted"> </span><span class="Special">(</span><span class="Constant">0</span><span class="schemeStrucRestricted"> </span><span class="Constant">1</span><span class="schemeStrucRestricted"> </span><span class="Constant">70</span><span class="Special">)</span> <font color="#ffff00">32 </font><span class="schemeQuoted"> </span><span class="Special">(</span><span class="Constant">0</span><span class="schemeStrucRestricted"> </span><span class="Constant">1</span><span class="schemeStrucRestricted"> </span><span class="Constant">70</span><span class="schemeStrucRestricted"> </span><span class="Constant">35</span><span class="schemeStrucRestricted"> </span><span class="Constant">29</span><span class="Special">)</span> <font color="#ffff00">33 </font><span class="schemeQuoted"> </span><span class="Special">(</span><span class="Constant">90</span><span class="schemeStrucRestricted"> </span><span class="Constant">100</span><span class="schemeStrucRestricted"> </span><span class="Constant">39</span><span class="schemeStrucRestricted"> </span><span class="Constant">21</span><span class="schemeStrucRestricted"> </span><span class="Constant">29</span><span class="schemeStrucRestricted"> </span><span class="Constant">89</span><span class="schemeStrucRestricted"> </span><span class="Constant">77</span><span class="Special">)</span> <font color="#ffff00">34 </font><span class="schemeQuoted"> </span><span class="Special">(</span><span class="Constant">0</span><span class="schemeStrucRestricted"> </span><span class="Constant">100</span><span class="schemeStrucRestricted"> </span><span class="Constant">27</span><span class="schemeStrucRestricted"> </span><span class="Constant">56</span><span class="schemeStrucRestricted"> </span><span class="Constant">51</span><span class="schemeStrucRestricted"> </span><span class="Constant">30</span><span class="schemeStrucRestricted"> </span><span class="Constant">22</span><span class="schemeStrucRestricted"> </span><span class="Constant">81</span><span class="schemeStrucRestricted"> </span><span class="Constant">63</span><span class="schemeStrucRestricted"> </span><span class="Constant">77</span><span class="schemeStrucRestricted"> </span><span class="Constant">3</span><span class="schemeStrucRestricted"> </span><span class="Constant">94</span><span class="schemeStrucRestricted"> </span><span class="Constant">91</span><span class="schemeStrucRestricted"> </span><span class="Constant">86</span><span class="schemeStrucRestricted"> </span><span class="Constant">100</span><span class="schemeStrucRestricted"> </span><span class="Constant">47</span><span class="Special">))))</span> </pre> </body> </html>
VIM - Vi IMproved 7.0 (2006 May 7, compiled Oct 20 2006 09:46:05)
Included patches: 1-35
Compiled by [EMAIL PROTECTED]
Big version with GTK2-GNOME GUI. Features included (+) or not (-):
+arabic +autocmd +balloon_eval +browse ++builtin_terms +byte_offset +cindent
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+cryptv +cscope +cursorshape +dialog_con_gui +diff +digraphs +dnd -ebcdic
+emacs_tags +eval +ex_extra +extra_search +farsi +file_in_path +find_in_path
+folding -footer +fork() +gettext -hangul_input +iconv +insert_expand +jumplist
+keymap +langmap +libcall +linebreak +lispindent +listcmds +localmap +menu
+mksession +modify_fname +mouse +mouseshape +mouse_dec +mouse_gpm
-mouse_jsbterm +mouse_netterm +mouse_xterm +multi_byte +multi_lang -mzscheme
+netbeans_intg -osfiletype +path_extra +perl +postscript +printer -profile
+python +quickfix +reltime +rightleft +ruby +scrollbind +signs +smartindent
-sniff +statusline -sun_workshop +syntax +tag_binary +tag_old_static
-tag_any_white +tcl +terminfo +termresponse +textobjects +title +toolbar
+user_commands +vertsplit +virtualedit +visual +visualextra +viminfo +vreplace
+wildignore +wildmenu +windows +writebackup +X11 -xfontset +xim +xsmp_interact
+xterm_clipboard -xterm_save
system vimrc file: "$VIM/vimrc"
user vimrc file: "$HOME/.vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "$VIM/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0
-I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -DORBIT2=1 -pthread -I/usr/include/libgnomeui-2.0
-I/usr/include/libgnome-2.0 -I/usr/include/libgnomecanvas-2.0
-I/usr/include/gtk-2.0 -I/usr/include/libart-2.0 -I/usr/include/gconf/2
-I/usr/include/libbonoboui-2.0 -I/usr/include/gnome-vfs-2.0
-I/usr/lib/gnome-vfs-2.0/include -I/usr/include/gnome-keyring-1
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/orbit-2.0
-I/usr/include/libbonobo-2.0 -I/usr/include/bonobo-activation-2.0
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/lib/gtk-2.0/include
-I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/libxml2 -O2 -g
-Wall -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -pipe
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/usr/lib/perl/5.8/CORE -I/usr/include/python2.4 -pthread
-I/usr/include/tcl8.4 -D_REENTRANT=1 -D_THREAD_SAFE=1
-D_LARGEFILE64_SOURCE=1 -I/usr/lib/ruby/1.8/i486-linux
Linking: gcc -rdynamic -Wl,-export-dynamic -Wl,-E -L/usr/local/lib -o vim
-lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0
-lfontconfig -lXext -lXrender -lXinerama -lXi -lXrandr -lXcursor -lXfixes
-lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lgnomeui-2
-lbonoboui-2 -lgnome-keyring -lxml2 -lgnomecanvas-2 -lgnome-2 -lpopt
-lart_lgpl_2 -lpangoft2-1.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0
-lgdk_pixbuf-2.0 -lpangocairo-1.0 -lfontconfig -lXext -lXrender -lXinerama -lXi
-lXrandr -lXcursor -lXfixes -lpango-1.0 -lcairo -lbonobo-2 -lgnomevfs-2
-lbonobo-activation -lgconf-2 -lgobject-2.0 -lORBit-2 -lgmodule-2.0
-lgthread-2.0 -lglib-2.0 -lXt -lncurses -lgpm -Wl,-E -L/usr/local/lib
/usr/lib/perl/5.8/auto/DynaLoader/DynaLoader.a -L/usr/lib/perl/5.8/CORE -lperl
-L/usr/lib/python2.4/config -lpython2.4 -lutil -Xlinker -export-dynamic
-L/usr/lib -ltcl8.4 -lieee -lruby1.8 -lm
