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

Attachment: 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">&gt;</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   

Reply via email to