<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>docs/changelog.md</filename>
    </added>
    <added>
      <filename>unit_test_block.sh</filename>
    </added>
    <added>
      <filename>unit_test_span.sh</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,33 +1,85 @@
 #!/usr/bin/env ruby
 
 require 'maruku'
+require 'optparse'
+
+export = :html
+
+OptionParser.new do |opts|
+	opts.banner = &quot;Usage: maruku [options] [file1.md [file2.md ...&quot;
+
+	opts.on(&quot;-v&quot;, &quot;--[no-]verbose&quot;, &quot;Run verbosely&quot;) do |v|
+		MaRuKu::Globals[:verbose] = v end
+	opts.on(&quot;-u&quot;, &quot;--[no-]unsafe&quot;, &quot;Use unsafe features&quot;) do |v|
+		MaRuKu::Globals[:unsafe_features] = v end
 
-if File.basename($0) =~ /^maruku/
-	# If we are given filenames, convert each file 
-	if not ARGV.empty?
-		ARGV.each do |f|
-			puts &quot;Opening #{f}&quot;
 	
-			# read file content
-			input =  File.open(f,'r').read
-		
-			# create Maruku
-			doc = Maruku.new(input, {:on_error=&gt;:warning})
-			# convert to a complete html document
-			html = doc.to_html_document( {:indent =&gt; -1})
+
+	opts.on_tail(&quot;--pdf&quot;,  &quot;Write PDF&quot; ) do export = :pdf  end
+	opts.on_tail(&quot;--html&quot;, &quot;Write HTML&quot;) do export = :html end
+	opts.on_tail(&quot;--tex&quot;,  &quot;Write LaTeX&quot; ) do export = :tex  end
+
+	opts.on_tail(&quot;--version&quot;, &quot;Show version&quot;) do
+		puts OptionParser::Version.join('.')
+		exit
+	end
+
+	opts.on_tail(&quot;-h&quot;, &quot;--help&quot;, &quot;Show this message&quot;) do
+		puts opts
+		exit
+	end
+
+end.parse!
+
+#p ARGV
+#p MaRuKu::Globals
+
+# If we are given filenames, convert each file 
+if not ARGV.empty?
+	ARGV.each do |f|
+
+		# read file content
+		input =  File.open(f,'r').read
+
+		$stderr.puts &quot;Reading from #{f}&quot;
 	
-			# write to file
-			dir = File.dirname(f)
-			filename = File.basename(f, File.extname(f)) + &quot;.html&quot;
+		# create Maruku
+		doc = Maruku.new(input, {:on_error=&gt;:warning})
+
 
-			out_xml = File.join(dir, filename)	
-			File.open(out_xml,'w') do |f| f.puts html end
+		out=&quot;&quot;; prefix = &quot;?&quot;
+		case export
+		when :html 
+			prefix='html'
+			out = doc.to_html_document( {:indent =&gt; -1})
+		when :pdf, :tex
+			prefix='tex'
+			out = doc.to_latex_document
+		when :markdown
+			prefix='pretty_md'
+			out = doc.to_markdown
+		end
+			
+		# write to file
+		dir = File.dirname(f)
+		job = File.join(dir, File.basename(f, File.extname(f)))
+		filename = job + &quot;.&quot; + prefix
+
+		$stderr.puts &quot;Writing to #{filename}&quot;
+		File.open(filename,'w') do |f| f.puts out end
+			
+		if export == :pdf
+			cmd = &quot;pdflatex '#{job}' -interaction=nonstopmode &quot;+
+			      &quot;'-output-directory=#{dir}' &quot;
+			# run twice for cross references
+			system cmd 
+			system cmd
 		end
-	else
-		# else, act as a filter
-		data = $stdin.read
-		puts Maruku.new(data, {:on_error=&gt;:warning}).to_html
 	end
+	
+else
+	# else, act as a filter
+	data = $stdin.read
+	puts Maruku.new(data, {:on_error=&gt;:warning}).to_html
 end
 
-</diff>
      <filename>bin/maruku</filename>
    </modified>
    <modified>
      <diff>@@ -9,6 +9,7 @@ def marker(x)
 	&quot;\n*** Output of #{x} ***\n&quot;
 end
 
+# a = expected   b = found 
 def equals(a, b)
 	a = a.split(&quot;\n&quot;)
 	b = b.split(&quot;\n&quot;)
@@ -18,8 +19,19 @@ def equals(a, b)
 		lb = b[i]
 		if la != lb
 			puts &quot;\n&quot;
-			puts &quot;Line #{i}:\n#{la.inspect}\n&quot;
-			puts &quot;#{lb.inspect}\n&quot;
+			
+			def write_lines(i, j, lines, prefix, i_star)
+				i = [i, 0].max
+				j = [j, lines.size-1].min
+				for a in i..j
+					l = lines[a].gsub(/\t/,'  ')
+					puts (&quot;%s %3d&quot; % [prefix, a]) + 
+						(a==i_star ? &quot; --&gt;&quot; : &quot;    &quot;)+lines[a]
+				end
+			end
+			
+			write_lines(i-3, i+3, a, &quot;expected&quot;, i )
+			write_lines(i-3, i+3, b, &quot;   found&quot;, i )
 			return false
 		end
 	end
@@ -121,7 +133,7 @@ def run_test(filename, its_ok, verbose=true)
 
 
 	TOTEST.each do |x|
-		if not equals(actual[x], expected[x])
+		if not equals(expected[x], actual[x])
 			if its_ok.include? x
 				expected[x] = actual[x]
 				$stdout.write &quot; relax:#{x} &quot;</diff>
      <filename>bin/marutest</filename>
    </modified>
    <modified>
      <diff>@@ -9,20 +9,26 @@ pdfs+=proposal.pdf
 htmls+=proposal.html
 others+=proposal.md
 
+pdfs+=entity_test.pdf
+htmls+=entity_test.html
+
+all: pdf html 
+
 pdf: $(pdfs)
 
 html: $(htmls)
 
-all: pdf html 
-
 index.html: maruku.html
 	cp $&lt; $@
 
 %.html: %.md
-	ruby -I../lib ../bin/maruku $&lt;
+	ruby -I../lib ../bin/maruku --html -u $&lt;
 
 %.pdf: %.md
-	ruby -I../lib ../bin/marutex $&lt;
+	ruby -I../lib ../bin/maruku --pdf -u $&lt;
+
+dist:
+	-rm *.out *.aux *.tex *.toc *.dvi *.log
 
 clean: 
 	-rm -f $(htmls) $(pdfs) *.out *.aux *.tex *.toc</diff>
      <filename>docs/Makefile</filename>
    </modified>
    <modified>
      <diff>@@ -54,6 +54,54 @@
 
 &lt;p&gt;Have fun!&lt;/p&gt;
 
+&lt;h4 id='changes_in_041_aka_typographer'&gt;Changes in 0.4.1 aka &amp;ldquo;Typographer&amp;rdquo;&lt;/h4&gt;
+
+&lt;ul&gt;
+&lt;li&gt;
+&lt;p&gt;Implemented SmartyPants support:&lt;/p&gt;
+&lt;pre&gt;&lt;code&gt;&amp;apos;Twas a &amp;quot;test&amp;quot; to &amp;apos;remember&amp;apos; -- in the &amp;apos;90s 
+--- while I was &amp;lt;&amp;lt;ok&amp;gt;&amp;gt;. She was 6\&amp;quot;12\&amp;apos;.&lt;/code&gt;&lt;/pre&gt;
+&lt;blockquote&gt;
+&lt;p&gt;&amp;lsquo;Twas a &amp;ldquo;test&amp;rdquo; to &amp;lsquo;remember&amp;rsquo; &amp;ndash; in the &amp;rsquo;90s &amp;mdash; while I was &amp;laquo;ok&amp;raquo;. She was 6&amp;quot;12&amp;apos;.&lt;/p&gt;
+&lt;/blockquote&gt;
+
+&lt;p&gt;I adapted the code from RubyPants.&lt;/p&gt;
+&lt;/li&gt;
+
+&lt;li&gt;
+&lt;p&gt;Server directives between &lt;code&gt;&amp;lt;? ?&amp;gt;&lt;/code&gt; are properly preserved.&lt;/p&gt;
+&lt;/li&gt;
+
+&lt;li&gt;
+&lt;p&gt;Changes in LaTeX export:&lt;/p&gt;
+
+&lt;ul&gt;
+&lt;li&gt;
+&lt;p&gt;Now Japanese text rendering sort of works, using the following packages:&lt;/p&gt;
+&lt;pre&gt;&lt;code&gt;\usepackage[C40]{fontenc}
+\usepackage[cjkjis]{ucs}
+\usepackage[utf8x]{inputenc}
+&lt;/code&gt;&lt;/pre&gt;
+&lt;p&gt;Nevertheless, I could only get bitmap fonts working &amp;ndash; probably it&amp;rsquo;s a problem with my setup.&lt;/p&gt;
+
+&lt;p&gt;A quick test: &#26085;&#26412;&#12289;&#20013;&#22269;&#12289;&#12402;&#12425;&#12364;&#12394;&#12289;&#12459;&#12479;&#12459;&#12490;&#12290;&lt;/p&gt;
+&lt;/li&gt;
+
+&lt;li&gt;
+&lt;p&gt;Fixed bugs in rendering of immediate links.&lt;/p&gt;
+&lt;/li&gt;
+
+&lt;li&gt;
+&lt;p&gt;External packages are &lt;code&gt;require&lt;/code&gt;d only if needed.&lt;/p&gt;
+&lt;/li&gt;
+
+&lt;li&gt;
+&lt;p&gt;More symbols supported. See the symbol list &lt;a href='http://maruku.rubyforge.org/entity_test.html'&gt;in HTML&lt;/a&gt; and &lt;a href='http://maruku.rubyforge.org/entity_test.pdf'&gt;in PDF&lt;/a&gt;.&lt;/p&gt;
+&lt;/li&gt;
+&lt;/ul&gt;
+&lt;/li&gt;
+&lt;/ul&gt;
+
 &lt;h4 id='changes_in_04'&gt;Changes in 0.4&lt;/h4&gt;
 
 &lt;ul&gt;
@@ -225,7 +273,13 @@ cell | center-align        | right-align        |&lt;/code&gt;&lt;/pre&gt;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;
 &lt;li&gt;
 &lt;p&gt;definition lists&lt;/p&gt;
 &lt;pre style='background-color: #ffefef;'&gt;&lt;code&gt;Definition list
-: something very hard to parse&lt;/code&gt;&lt;/pre&gt;&lt;dl&gt;&lt;dt&gt;Definition list&lt;/dt&gt;&lt;dd&gt;something very hard to parse&lt;/dd&gt;&lt;/dl&gt;&lt;/li&gt;
+: something very hard to parse&lt;/code&gt;&lt;/pre&gt;
+&lt;dl&gt;
+&lt;dt&gt;Definition list&lt;/dt&gt;
+
+&lt;dd&gt;something very hard to parse&lt;/dd&gt;
+&lt;/dl&gt;
+&lt;/li&gt;
 
 &lt;li&gt;
 &lt;p&gt;abbreviations or &lt;abbr title='Simply an abbreviation'&gt;ABB&lt;/abbr&gt; for short.&lt;/p&gt;
@@ -275,29 +329,65 @@ Content of the document
 &lt;p&gt;Meta-data keys are assumed to be case-insensitive.&lt;/p&gt;
 &lt;hr /&gt;
 &lt;h3 id='metalist'&gt;&lt;span class='maruku_section_number'&gt;6.3. &lt;/span&gt;List of meta-data&lt;/h3&gt;
-&lt;dl&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;title&lt;/code&gt;, &lt;code&gt;subject&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+
+&lt;dl&gt;
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;title&lt;/code&gt;, &lt;code&gt;subject&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;(document) Sets the title of the document (HTML: used in the &lt;code&gt;TITLE&lt;/code&gt; element).&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;use_numbered_headers&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;use_numbered_headers&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;(document) If &lt;code&gt;true&lt;/code&gt;, headers are numbered (just like this document). Default is &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;css&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;css&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;(document, HTML) Url of stylesheet.&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;html_use_syntax&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;html_use_syntax&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;(document, HTML) If set, use the &lt;a href='http://syntax.rubyforge.org/'&gt;Ruby &lt;code&gt;syntax&lt;/code&gt; library&lt;/a&gt; to add source highlighting.&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;latex_use_listings&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;latex_use_listings&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;(document, LaTeX) If set, use the fancy &lt;a href='http://www.ctan.org/tex-archive/macros/latex/contrib/listings/'&gt;&lt;code&gt;listings&lt;/code&gt; package&lt;/a&gt; for better displaying code blocks.&lt;/p&gt;
 
 &lt;p&gt;If not set, use standard &lt;code&gt;verbatim&lt;/code&gt; environment.&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;style&lt;/code&gt;, &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;class&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;style&lt;/code&gt;, &lt;code&gt;id&lt;/code&gt;, &lt;code&gt;class&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;(any block object, HTML) Standard CSS attributes are copied.&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;lang&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;lang&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;(code blocks) Name of programming language (&lt;code&gt;ruby&lt;/code&gt;) for syntax highlighting.&lt;/p&gt;
 
 &lt;p&gt;Default for this is &lt;code&gt;code_lang&lt;/code&gt; in document.&lt;/p&gt;
 
 &lt;p&gt;Syntax highlighting is delegated to the &lt;a href='http://syntax.rubyforge.org/'&gt;&lt;code&gt;syntax&lt;/code&gt; library&lt;/a&gt; for HTML output and to the &lt;a href='http://www.ctan.org/tex-archive/macros/latex/contrib/listings/'&gt;&lt;code&gt;listings&lt;/code&gt; package&lt;/a&gt; for LaTeX output.&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;code_show_spaces&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;code_show_spaces&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;Shows tabs and newlines (default is read in the document object).&lt;/p&gt;
-&lt;/dd&gt;&lt;dt&gt;&lt;strong&gt;&lt;code&gt;code_background_color&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;&lt;dd&gt;
+&lt;/dd&gt;
+
+&lt;dt&gt;&lt;strong&gt;&lt;code&gt;code_background_color&lt;/code&gt;&lt;/strong&gt;&lt;/dt&gt;
+
+&lt;dd&gt;
 &lt;p&gt;Background color for code blocks. (default is read in the document object).&lt;/p&gt;
 
 &lt;p&gt;The format is either a named color (&lt;code&gt;green&lt;/code&gt;, &lt;code&gt;red&lt;/code&gt;) or a CSS color of the form &lt;code&gt;#ff00ff&lt;/code&gt;.&lt;/p&gt;
@@ -313,7 +403,9 @@ Content of the document
 &lt;p&gt;For example, for &lt;code&gt;#0000ff&lt;/code&gt;, the macro is called as: &lt;code&gt;\color[rgb]{0,0,1}&lt;/code&gt;.&lt;/p&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
-&lt;/dd&gt;&lt;/dl&gt;
+&lt;/dd&gt;
+&lt;/dl&gt;
+
 &lt;h3 id='examples'&gt;&lt;span class='maruku_section_number'&gt;6.4. &lt;/span&gt;Examples&lt;/h3&gt;
 
 &lt;p&gt;An example of this is the following:&lt;/p&gt;
@@ -369,4 +461,4 @@ $ \alpha = \beta + \gamma  $        (eq:1)
 
 This is a reference to equation: please see (eq:1)&lt;/code&gt;&lt;/pre&gt;&lt;div class='footnotes'&gt;&lt;hr /&gt;&lt;ol&gt;&lt;li id='fn:1'&gt;
 &lt;p&gt;I really was missing those.&lt;/p&gt;
-&lt;a href='#fnref:1' rev='footnote'&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class='maruku_signature'&gt;&lt;hr /&gt;&lt;span style='font-size: small; font-style: italic'&gt;Created by &lt;a href='http://maruku.rubyforge.org' title='Maruku: a Markdown interpreter'&gt;Maruku&lt;/a&gt; at 00:18 on Monday, January 08th, 2007.&lt;/span&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;
+&lt;a href='#fnref:1' rev='footnote'&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div class='maruku_signature'&gt;&lt;hr /&gt;&lt;span style='font-size: small; font-style: italic'&gt;Created by &lt;a href='http://maruku.rubyforge.org' title='Maruku: a Markdown interpreter for Ruby'&gt;Maruku&lt;/a&gt; at 23:18 on Monday, January 08th, 2007.&lt;/span&gt;&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;</diff>
      <filename>docs/maruku.html</filename>
    </modified>
    <modified>
      <diff>@@ -1,8 +1,8 @@
 CSS: style.css
-LaTeX_use_listings: true
-html_use_syntax: true
-use_numbered_headers: true
-
+Use numbered headers: true
+HTML use syntax: true
+LaTeX use listings: true
+LaTeX CJK: true
 
 
 
@@ -83,6 +83,39 @@ please write to the [Markdown-discuss mailing list][markdown-discuss].
 
 Have fun!
 
+#### Changes in 0.4.1 aka &quot;Typographer&quot; ####
+
+*	Implemented SmartyPants support:
+
+		'Twas a &quot;test&quot; to 'remember' -- in the '90s 
+		--- while I was &lt;&lt;ok&gt;&gt;. She was 6\&quot;12\'.
+	&gt; 'Twas a &quot;test&quot; to 'remember' -- in the '90s --- while I was &lt;&lt;ok&gt;&gt;.
+	&gt; She was 6\&quot;12\'.
+
+	I adapted the code from RubyPants.
+	
+*	Server directives between `&lt;? ?&gt;` are properly preserved.
+*	Changes in LaTeX export:
+
+	*	Now Japanese text rendering sort of works, using the following packages:
+
+			\usepackage[C40]{fontenc}
+			\usepackage[cjkjis]{ucs}
+			\usepackage[utf8x]{inputenc}
+		
+		Nevertheless, I could only get bitmap fonts working -- probably it's a problem
+		with my setup.
+
+		A quick test: &#26085;&#26412;&#12289;&#20013;&#22269;&#12289;&#12402;&#12425;&#12364;&#12394;&#12289;&#12459;&#12479;&#12459;&#12490;&#12290;
+
+	*	Fixed bugs in rendering of immediate links.
+	*	External packages are `require`d only if needed.
+	*	More symbols supported.
+		See the symbol list 
+		[in HTML](http://maruku.rubyforge.org/entity_test.html) and
+		[in PDF](http://maruku.rubyforge.org/entity_test.pdf).
+
+
 #### Changes in 0.4 ####
 
 * First implementation of [the new meta-data syntax][meta].</diff>
      <filename>docs/maruku.md</filename>
    </modified>
    <modified>
      <diff>@@ -21,6 +21,7 @@
 
 require 'iconv'
 
+
 module MaRuKu; module In; module Markdown; module BlockLevelParser
 		
 	def parse_doc(s)
@@ -31,10 +32,20 @@ module MaRuKu; module In; module Markdown; module BlockLevelParser
 		
 		self.attributes.merge! meta2
 		
+=begin maruku_doc
+Attribute: encoding
+Scope:     document
+Summary:   Encoding for the document.
+
+If the `encoding` attribute is specified, then the content
+will be converted from the specified encoding to UTF-8.
+
+Conversion happens using the `iconv` library.
+=end
+
 		enc = self.attributes[:encoding]
 		self.attributes.delete :encoding
 		if enc &amp;&amp; enc.downcase != 'utf-8'
-#			puts &quot;Converting from #{enc} to UTF-8.&quot;
 			converted = Iconv.new('utf-8', enc).iconv(data)
 			
 #			puts &quot;Data: #{data.inspect}: #{data}&quot;
@@ -72,10 +83,18 @@ module MaRuKu; module In; module Markdown; module BlockLevelParser
 #			puts &quot;#{e.node_type}: #{e.attributes.inspect}&quot;
 		end
 	
-		self.execute_code_blocks
-				
-#		puts self.inspect
+=begin maruku_doc
+Attribute: exec
+Scope:     document
+Summary:   Enables execution of XML instructions.
+
+Disabled by default because of security concerns.
+=end
 
+		if Maruku::Globals[:unsafe_features]
+			self.execute_code_blocks
+			# TODO: remove executed code blocks
+		end
 	end
 	
 	# Expands an attribute list in an Hash</diff>
      <filename>lib/maruku/input/parse_doc.rb</filename>
    </modified>
    <modified>
      <diff>@@ -210,7 +210,16 @@ def educate(elements)
 	end
 	# strips empty strings
 	elements.delete_if {|x| x.kind_of?(String) &amp;&amp; x.size == 0}
-	return elements
+	final = []
+	# join consecutive strings
+	elements.each do |x|
+		if x.kind_of?(String) &amp;&amp; final.last.kind_of?(String)
+			final.last &lt;&lt; x
+		else
+			final &lt;&lt; x
+		end
+	end
+	return final
 end
 
 end end end end</diff>
      <filename>lib/maruku/input/rubypants.rb</filename>
    </modified>
    <modified>
      <diff>@@ -40,8 +40,6 @@ class REXML::Element
 	 public :write_children 
 end
 
-
-
 # This module groups all functions related to HTML export.
 module MaRuKu; module Out; module HTML
 	include REXML
@@ -64,7 +62,6 @@ module MaRuKu; module Out; module HTML
 		
 		doc = Document.new(nil,{:respect_whitespace =&gt;:all})
 		doc &lt;&lt; div
-		#add_whitespace(doc)
 		
 		# REXML Bug? if indent!=-1 whitespace is not respected for 'pre' elements
 		# containing code.
@@ -98,7 +95,7 @@ module MaRuKu; module Out; module HTML
 		root = Element.new('html', doc)
 		root.add_namespace('http://www.w3.org/1999/xhtml')
 		
-		lang = @attributes[:lang] || 'en'
+		lang = self.attributes[:lang] || 'en'
 		root.attributes['lang'] = lang
 		root.attributes['xml:lang'] = lang
 		
@@ -110,15 +107,12 @@ module MaRuKu; module Out; module HTML
 			me.attributes['content'] = 'text/html; charset=utf-8'	
 		
 			# Create title element
-			doc_title = @attributes[:title] || @attributes[:subject] || &quot;&quot;
+			doc_title = self.attributes[:title] || self.attributes[:subject] || &quot;&quot;
 			title = Element.new 'title', head
 				title &lt;&lt; Text.new(doc_title)
 				
-			# Encoding
-			
 			
-			
-			css = @attributes[:css]
+			css = self.attributes[:css]
 			if css
 				# &lt;link type=&quot;text/css&quot; rel=&quot;stylesheet&quot; href=&quot;...&quot; /&gt;
 				link = Element.new 'link'
@@ -145,7 +139,6 @@ module MaRuKu; module Out; module HTML
 			
 		root &lt;&lt; body
 		
-	#	add_whitespace(doc)
 		doc
 	end
 	
@@ -195,7 +188,7 @@ module MaRuKu; module Out; module HTML
 				span &lt;&lt; Text.new('Created by ')
 				a = Element.new('a', span)
 					a.attributes['href'] = 'http://maruku.rubyforge.org'
-					a.attributes['title'] = 'Maruku: a Markdown interpreter'
+					a.attributes['title'] = 'Maruku: a Markdown interpreter for Ruby'
 					a &lt;&lt; Text.new('Maruku')
 				span &lt;&lt; Text.new(nice_date+&quot;.&quot;)
 		div
@@ -314,7 +307,7 @@ module MaRuKu; module Out; module HTML
 	def to_html_code; 
 		source = self.raw_code
 
-		lang = @attributes[:lang] || @doc.attributes[:code_lang] 
+		lang = self.attributes[:lang] || @doc.attributes[:code_lang] 
 
 		lang = 'xml' if lang=='html'
 		use_syntax = get_setting(:html_use_syntax)
@@ -411,8 +404,8 @@ module MaRuKu; module Out; module HTML
 		if ref = @doc.refs[id]
 			url = ref[:url]
 			title = ref[:title]
-			a.attributes['href']=url if url
-			a.attributes['title']=title if title
+			a.attributes['href'] = url if url
+			a.attributes['title'] = title if title
 		else
 			maruku_error&quot;Could not find ref_id = #{id.inspect} for #{self.inspect}&quot;
 			tell_user &quot;Not creating a link for ref_id = #{id.inspect}.&quot;
@@ -422,18 +415,17 @@ module MaRuKu; module Out; module HTML
 	end
 	
 	def to_html_im_link
-		a =  wrap_as_element 'a'
-		url = self.url
-		title = self.title
-		if url
+		if url = self.url
+			title = self.title
+			a =  wrap_as_element 'a'
 			a.attributes['href'] = url
 			a.attributes['title'] = title if title
+			return a
 		else
 			maruku_error&quot;Could not find url in #{self.inspect}&quot;
 			tell_user &quot;Not creating a link for ref_id = #{id.inspect}.&quot;
 			return wrap_as_element('span')
 		end
-		return a
 	end
 	
 	def add_ws(e)
@@ -471,9 +463,7 @@ module MaRuKu; module Out; module HTML
 			url = ref[:url]
 			a.attributes['src'] = url
 			[:title, :class, :style].each do |s| 
-				if ref[s] then
-					a.attributes[s.to_s] = ref[s]
-				end
+				a.attributes[s.to_s] = ref[s] if ref[s]
 			end
 		else
 			maruku_error&quot;Could not find id = #{id.inspect} for\n #{self.inspect}&quot;
@@ -485,17 +475,16 @@ module MaRuKu; module Out; module HTML
 	end
 	
 	def to_html_im_image
-		a =  Element.new 'img'
-		url = self.url
-		title = self.title
-		if not url
+		if not url = self.url
 			maruku_error&quot;Image with no url: #{self.inspect}&quot;
 			tell_user &quot;Could not create image with ref_id = #{id.inspect};&quot;+
 			 +&quot; Using SPAN element as replacement.&quot;
 			return wrap_as_element('span')
 		end
-		a.attributes['src'] = url
-		a.attributes['title'] = title if title
+		title = self.title
+		a =  Element.new 'img'
+			a.attributes['src'] = url
+			a.attributes['title'] = title if title
 		return a
 	end
 
@@ -555,17 +544,14 @@ module MaRuKu; module Out; module HTML
 			
 		sup
 	end
+	
 ## Definition lists ###
-	def to_html_definition_list
-		wrap_as_element('dl')
-	end
-	def to_html_definition		
-		children_to_html
-	end
-	def to_html_definition_term; wrap_as_element('dt') end
-	def to_html_definition_data; wrap_as_element('dd') end	
+	def to_html_definition_list() add_ws wrap_as_element('dl') end
+	def to_html_definition() children_to_html end
+	def to_html_definition_term() add_ws wrap_as_element('dt') end
+	def to_html_definition_data() add_ws wrap_as_element('dd') end	
 
-## Table ###	
+	# FIXME: Ugly code
 	def to_html_table
 		align = self.align
 		num_columns = align.size
@@ -575,7 +561,7 @@ module MaRuKu; module Out; module HTML
 		i = num_columns
 		while i&lt;@children.size
 			rows &lt;&lt; @children.slice(i, num_columns)
-			i+=num_columns
+			i += num_columns
 		end
 		
 		table = create_html_element 'table'</diff>
      <filename>lib/maruku/output/to_html.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,12 +18,18 @@
 #   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #++
 
-
 module MaRuKu
-	
+
 class MDDocument
 
-	
+	Latex_preamble_enc_cjk = 
+&quot;\\usepackage[C40]{fontenc}
+\\usepackage[cjkjis]{ucs}
+\\usepackage[utf8x]{inputenc}&quot;
+
+	Latex_preamble_enc_utf8 = 
+&quot;\\usepackage{ucs}
+\\usepackage[utf8x]{inputenc}&quot;
 
 	def latex_require_package(p)
 		if not self.latex_required_packages.include? p
@@ -38,10 +44,6 @@ class MDDocument
 
 	# Render as a complete LaTeX document 
 	def to_latex_document
-		header = &quot;&quot;
-		
-
-
 		body = to_latex
 		
 		body += render_latex_signature
@@ -51,20 +53,68 @@ class MDDocument
 			&quot;\\usepackage{#{p}}\n&quot;
 		}.join
 		
+=begin maruku_doc
+Attribute: latex_cjk
+Scope:     document
+Output:    latex
+Summary:   Support for CJK characters.
+
+If the `latex_cjk` attribute is specified, then appropriate headers
+are added to the LaTeX preamble to support Japanese fonts.
+You have to have these fonts installed -- and this can be a pain.
+
+If `latex_cjk` is specified, this is added to the preamble:
+
+&lt;?mrk md_code_block(Maruku::MDDocument::Latex_preamble_enc_cjk) ?&gt;
+
+while the default is to add this:
+
+&lt;?mrk md_code_block(Maruku::MDDocument::Latex_preamble_enc_utf8) ?&gt;
+
+=end
+		encoding = @doc.attributes[:latex_cjk] ? 
+			Latex_preamble_enc_cjk : Latex_preamble_enc_utf8
+
+=begin maruku_doc
+Attribute: latex_preamble
+Scope:     document
+Output:    latex
+Summary:   User-defined preamble.
+
+If the `latex_preamble` attribute is specified, then its value
+will be used as a custom preamble. 
+
+For example:
+
+	Title: My document
+	Latex preamble: preamble.tex
+
+will produce:
+
+	...
+	\input{preamble.tex}
+	...
+
+=end
+	user_preamble = (file = @doc.attributes[:latex_preamble]) ?
+		&quot;\\input{#{file}}\n&quot; : &quot;&quot;
+		
 &quot;\\documentclass{article}
-#{header}
 
+% Packages required to support encoding
+#{encoding}
+
+% Packages required by code
 #{required}
-%\\usepackage{amssymb,amsmath} % eth
-%\\usepackage{eurosym} % euro
+
+#{user_preamble}
 
 \\usepackage{hyperref}
 \\usepackage{xspace}
 \\usepackage[usenames,dvipsnames]{color}
 \\usepackage[margin=1in]{geometry}
 \\hypersetup{colorlinks=true}
-%\\usepackage{ucs}
-%\\usepackage[utf8x]{inputenc}
+
 \\begin{document} 
 #{body}
 \\end{document}
@@ -89,26 +139,36 @@ module MaRuKu; module Out; module Latex
 	def to_latex_hrule; &quot;\n\\vspace{.5em} \\hrule \\vspace{.5em}\n&quot; end
 	def to_latex_linebreak; &quot;\\linebreak &quot; end
 	
-	def to_latex_paragraph; 
-		#{}&quot;\\noindent &quot;+
+	def to_latex_paragraph 
 		children_to_latex+&quot;\n\n&quot;
 	end
 
 	def get_setting(name, default=nil)
 		self.attributes[name] || @doc.attributes[name] || default
 	end
-	
+=begin maruku_doc
+Title: Input format for colors
+Output: latex, html
+Related: code_background_color
+
+Admissible formats:
+
+	green
+	#abc
+	#aabbcc
+=end
+
 	# \color[named]{name} 	
 	# \color[rgb]{1,0.2,0.3} 
 	def latex_color(s, command='color')
 		if s =~ /^\#(\w\w)(\w\w)(\w\w)$/
-			r = $1.hex; g = $2.hex; b=$3.hex				
+			r = $1.hex; g = $2.hex; b=$3.hex
 			# convert from 0-255 to 0.0-1.0
 			r = r / 255.0; g = g / 255.0; b = b / 255.0; 
 			&quot;\\#{command}[rgb]{%0.2f,%0.2f,%0.2f}&quot; % [r,g,b]
 		elsif s =~ /^\#(\w)(\w)(\w)$/
-			r = $1.hex; g = $2.hex; b=$3.hex				
-			# convert from 0-255 to 0.0-1.0
+			r = $1.hex; g = $2.hex; b=$3.hex
+			# convert from 0-15 to 0.0-1.0
 			r = r / 15.0; g = g / 15.0; b = b / 15.0; 
 			&quot;\\#{command}[rgb]{%0.2f,%0.2f,%0.2f}&quot; % [r,g,b]
 		else	
@@ -118,6 +178,39 @@ module MaRuKu; module Out; module Latex
 	
 	def to_latex_code;
 		raw_code = self.raw_code
+=begin maruku_doc
+Attribute: latex_use_listings
+Scope: document
+Output: latex
+Summary: Support for `listings` package.
+Related: code_show_spaces, code_background_color, lang, code_lang
+
+If the `latex_use_listings` attribute is specified, then 
+code block are rendered using the `listings` package.
+Otherwise, a standard `verbatim` environment is used.
+
+*	If the `lang` attribute for the code block has been specified,
+	it gets passed to the `listings` package using the `lstset` macro.
+	The default lang for code blocks is specified through 
+	the `code_lang` attribute.
+
+		\lstset{language=ruby}
+
+	Please refer to the documentation of the `listings` package for
+	supported languages.
+	
+	If a language is not supported, the `listings` package will emit
+	a warning during the compilation. Just press enter and nothing
+	wrong will happen.
+
+*	If the `code_show_spaces` is specified, than spaces and tabs will
+	be shown using the macro:
+	
+		\lstset{showspaces=true,showtabs=true}
+	
+*	The background color is given by `code_background_color`.
+
+=end
 		
 		if @doc.attributes[:latex_use_listings]
 			@doc.latex_require_package('listings')
@@ -223,35 +316,31 @@ module MaRuKu; module Out; module Latex
 		&quot;#{colorspec}{\\tt #{s}}&quot;
 	end
 
-	def to_latex_immediate_link
+	def to_latex_im_link
 		url = self.url
-		return &quot;\\href{#{url}}{#{url.to_latex}}&quot;
+
+		if url[0,1] == '#'
+			url = url[1,url.size]
+			return &quot;\\hyperlink{#{url}}{#{children_to_latex}}&quot;
+		else
+			return &quot;\\href{#{url}}{#{children_to_latex}}&quot;
+		end
 	end
 	
 	def to_latex_link
-		if id = self.ref_id
-			# if empty, use text
-			if id.size == 0
-				id = children.to_s.downcase
-			end
-			
-			ref = @doc.refs[id]
-			if not ref
-				$stderr.puts &quot;Could not find id = '#{id}'&quot;
-				return children_to_latex
-			else
-				url = ref[:url]
-				#title = ref[:title] || 'no title'
-
-				if url[0,1] == '#'
-					url = url[1,url.size]
-					return &quot;\\hyperlink{#{url}}{#{children_to_latex}}&quot;
-				else
-					return &quot;\\href{#{url}}{#{children_to_latex}}&quot;
-				end
-			end
+		id = self.ref_id
+		# if empty, use text
+		if id.size == 0
+			id = children.to_s.downcase
+		end
+		
+		ref = @doc.refs[id]
+		if not ref
+			$stderr.puts &quot;Could not find id = '#{id}'&quot;
+			return children_to_latex
 		else
-			url = self.url
+			url = ref[:url]
+			#title = ref[:title] || 'no title'
 
 			if url[0,1] == '#'
 				url = url[1,url.size]
@@ -260,6 +349,7 @@ module MaRuKu; module Out; module Latex
 				return &quot;\\href{#{url}}{#{children_to_latex}}&quot;
 			end
 		end
+		
 	end
 	
 	def to_latex_email_address
@@ -392,20 +482,16 @@ module MaRuKu; module Out; module Latex
 				e &lt;&lt; h
 			end
 		end
-#		puts &quot;Before: #{e.inspect}&quot;
+		
+		# puts a space after commands if needed
 		e.each_index do |i|
 			if e[i] =~ /\\\w+\s*$/ # command
-#				puts &quot;Found command: #{e[i].inspect}&quot;
-#				puts &quot;Next is #{e[i+1].inspect}&quot;
 				if (s=e[i+1]) &amp;&amp; s[0] == ?\ # space
-#					puts &quot;SPACE for #{e[i+1].inspect}&quot;
 					e[i]  = e[i] + &quot;\\ &quot;
 				end
-			else
-#				puts &quot;Not command: #{e[i].inspect}&quot;
 			end
 		end
-#		puts &quot;After: #{e.inspect}&quot;
+		
 		e.join(join_char)
 	end
 	</diff>
      <filename>lib/maruku/output/to_latex.rb</filename>
    </modified>
    <modified>
      <diff>@@ -32,10 +32,21 @@ module MaRuKu; module Strings
 		s.split(&quot;\n&quot;)
 	end
 	
-	# This parses email headers. Returns an hash. hash['data'] is the message.
+	# This parses email headers. Returns an hash. 
+	#
+	# +hash['data']+ is the message.
+	#
+	# Keys are downcased, space becomes underscore, converted to symbols.
+	#
+	#     My key: true
+	#
+	# becomes:
+	#
+	#     {:my_key =&gt; true}
+	#
 	def parse_email_headers(s)
 		keys={}
-		match = (s =~ /((\w+: .*\n)+)\n/)
+		match = (s =~ /((\w[\w\s]+: .*\n)+)\n/)
 		if match != 0
 			keys[:data] = s
 		else
@@ -51,27 +62,18 @@ module MaRuKu; module Strings
 		end
 		keys
 	end
-	
-	# `.xyz` =&gt; class: xyz
-	# `#xyz` =&gt; id: xyz
+
+	# Keys are downcased, space becomes underscore, converted to symbols.
 	def normalize_key_and_value(k,v)
 		v = v ? v.strip : true # no value defaults to true
 		k = k.strip
 		
-		# `.xyz` =&gt; class: xyz
-		if k =~ /^\.([\w\d]+)/
-			return :class, $1
-		# `#xyz` =&gt; id: xyz
-		elsif k =~ /^\#([\w\d]+)/
-			return :id, $1
-		else
-			# check synonyms
-			v = true if ['yes','true'].include?(v.to_s.downcase)
-			v = false if ['no','false'].include?(v.to_s.downcase)
-		
-			k = k.downcase.gsub(' ','_')
-			return k, v
-		end
+		# check synonyms
+		v = true if ['yes','true'].include?(v.to_s.downcase)
+		v = false if ['no','false'].include?(v.to_s.downcase)
+	
+		k = k.downcase.gsub(' ','_')
+		return k, v
 	end
 	
 	# Returns the number of leading spaces, considering that</diff>
      <filename>lib/maruku/string_utils.rb</filename>
    </modified>
    <modified>
      <diff>@@ -47,6 +47,11 @@ EOF
 end
 
 module MaRuKu
+	
+Globals = {
+	:unsafe_features =&gt; false,
+}
+
 # I did not want to have a class for each possible element. 
 # Instead I opted to have only the class &quot;MDElement&quot;
 # that represents eveything in the document (paragraphs, headers, etc).
@@ -59,8 +64,8 @@ module MaRuKu
 # The @doc variable points to the document to which the MDElement
 # belongs (which is an instance of Maruku, subclass of MDElement).
 #
-# Meta data is specified the hash `meta`. Keys are symbols (downcased, with
-# spaces substituted by underscores)
+# Attributes are contained in the hash `attributes`. 
+# Keys are symbols (downcased, with spaces substituted by underscores)
 #
 # For example, if you write in the source document.
 # 
@@ -71,19 +76,16 @@ module MaRuKu
 #
 # You can access `value` by writing:
 #
-#     @doc.meta[:my_property] # =&gt; 'value'
+#     @doc.attributes[:my_property] # =&gt; 'value'
 #
 # from whichever MDElement in the hierarchy.
-
+#
 class MDElement 
 	# See helpers.rb for the list of allowed #node_type values
 	safe_attr_accessor :node_type, Symbol
 	
 	# Children are either Strings or MDElement
 	safe_attr_accessor :children, Array
-
-
-#	safe_attr_accessor :meta, Hash
 	
 	# An attribute list, may not be nil
 	safe_attr_accessor :al, Array #Maruku::AttributeList
@@ -132,6 +134,7 @@ end
 # This represents the whole document and holds global data.
 
 class MDDocument
+	
 	safe_attr_accessor :refs, Hash
 	safe_attr_accessor :footnotes, Hash
 	</diff>
      <filename>lib/maruku/structures.rb</filename>
    </modified>
    <modified>
      <diff>@@ -46,7 +46,8 @@ end
 
 class Hash
 	def inspect_ordered(a=nil,b=nil)
-		&quot;{&quot;+map{|k,v| k.inspect + &quot;=&gt;&quot;+v.inspect}.join(',')+&quot;}&quot;
+		&quot;{&quot;+keys.map{|x|x.to_s}.sort.map{|x|x.to_sym}.
+		map{|k| k.inspect + &quot;=&gt;&quot;+self[k].inspect}.join(',')+&quot;}&quot;
 	end
 end
 </diff>
      <filename>lib/maruku/structures_inspect.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,7 +19,7 @@
 #++
 
 module MaRuKu
-	Version = '0.4.0'
+	Version = '0.4.1'
 	
 	MarukuURL = 'http://maruku.rubyforge.org/'
 	</diff>
      <filename>lib/maruku/version.rb</filename>
    </modified>
    <modified>
      <diff>@@ -22,14 +22,14 @@ md_el(:document,[
 		md_el(:abbr,[&quot;W3C&quot;],{:title=&gt;&quot;World Wide Web Consortium&quot;},[]),
 		&quot;.&quot;
 	]),
-	md_el(:abbr_def,[],{:text=&gt;&quot;Hyper Text Markup Language&quot;,:abbr=&gt;&quot;HTML&quot;},[]),
-	md_el(:abbr_def,[],{:text=&gt;&quot;World Wide Web Consortium&quot;,:abbr=&gt;&quot;W3C&quot;},[]),
+	md_el(:abbr_def,[],{:abbr=&gt;&quot;HTML&quot;,:text=&gt;&quot;Hyper Text Markup Language&quot;},[]),
+	md_el(:abbr_def,[],{:abbr=&gt;&quot;W3C&quot;,:text=&gt;&quot;World Wide Web Consortium&quot;},[]),
 	md_par([
 		&quot;Operation &quot;,
 		md_el(:abbr,[&quot;Tigra Genesis&quot;],{:title=&gt;nil},[]),
 		&quot; is going well.&quot;
 	]),
-	md_el(:abbr_def,[],{:text=&gt;nil,:abbr=&gt;&quot;Tigra Genesis&quot;},[])
+	md_el(:abbr_def,[],{:abbr=&gt;&quot;Tigra Genesis&quot;,:text=&gt;nil},[])
 ],{},[])
 *** Output of to_html ***
 </diff>
      <filename>tests/unittest/abbreviations.md</filename>
    </modified>
    <modified>
      <diff>@@ -33,9 +33,9 @@ This is an email address:
 
 
 *** Output of Markdown.pl ***
-&lt;p&gt;This is an email address: &lt;a href=&quot;m&amp;#97;&amp;#x69;&amp;#108;&amp;#x74;&amp;#x6F;:&amp;#x61;&amp;#x6E;&amp;#x64;&amp;#x72;&amp;#101;&amp;#97;&amp;#64;&amp;#105;n&amp;#x76;&amp;#x61;&amp;#108;i&amp;#x64;&amp;#x2E;&amp;#105;&amp;#116;&quot;&gt;&amp;#x61;&amp;#x6E;&amp;#x64;&amp;#x72;&amp;#101;&amp;#97;&amp;#64;&amp;#105;n&amp;#x76;&amp;#x61;&amp;#108;i&amp;#x64;&amp;#x2E;&amp;#105;&amp;#116;&lt;/a&gt;&lt;/p&gt;
+&lt;p&gt;This is an email address: &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#108;&amp;#116;&amp;#x6F;:&amp;#97;n&amp;#100;&amp;#114;&amp;#101;&amp;#x61;&amp;#64;&amp;#x69;&amp;#x6E;&amp;#118;&amp;#97;&amp;#x6C;&amp;#x69;&amp;#100;&amp;#46;&amp;#x69;&amp;#116;&quot;&gt;&amp;#97;n&amp;#100;&amp;#114;&amp;#101;&amp;#x61;&amp;#64;&amp;#x69;&amp;#x6E;&amp;#118;&amp;#97;&amp;#x6C;&amp;#x69;&amp;#100;&amp;#46;&amp;#x69;&amp;#116;&lt;/a&gt;&lt;/p&gt;
 
 *** Output of Markdown.pl (parsed) ***
-&lt;p&gt;This is an email address: &lt;a href='m&amp;amp;#97;&amp;amp;#x69;&amp;amp;#108;&amp;amp;#x74;&amp;amp;#x6F;:&amp;amp;#x61;&amp;amp;#x6E;&amp;amp;#x64;&amp;amp;#x72;&amp;amp;#101;&amp;amp;#97;&amp;amp;#64;&amp;amp;#105;n&amp;amp;#x76;&amp;amp;#x61;&amp;amp;#108;i&amp;amp;#x64;&amp;amp;#x2E;&amp;amp;#105;&amp;amp;#116;'&gt;&amp;#x61;&amp;#x6E;&amp;#x64;&amp;#x72;&amp;#101;&amp;#97;&amp;#64;&amp;#105;n&amp;#x76;&amp;#x61;&amp;#108;i&amp;#x64;&amp;#x2E;&amp;#105;&amp;#116;&lt;/a
+&lt;p&gt;This is an email address: &lt;a href='&amp;amp;#109;&amp;amp;#97;&amp;amp;#x69;&amp;amp;#108;&amp;amp;#116;&amp;amp;#x6F;:&amp;amp;#97;n&amp;amp;#100;&amp;amp;#114;&amp;amp;#101;&amp;amp;#x61;&amp;amp;#64;&amp;amp;#x69;&amp;amp;#x6E;&amp;amp;#118;&amp;amp;#97;&amp;amp;#x6C;&amp;amp;#x69;&amp;amp;#100;&amp;amp;#46;&amp;amp;#x69;&amp;amp;#116;'&gt;&amp;#97;n&amp;#100;&amp;#114;&amp;#101;&amp;#x61;&amp;#64;&amp;#x69;&amp;#x6E;&amp;#118;&amp;#97;&amp;#x6C;&amp;#x69;&amp;#100;&amp;#46;&amp;#x69;&amp;#116;&lt;/a
    &gt;&lt;/p
  &gt;
\ No newline at end of file</diff>
      <filename>tests/unittest/email.md</filename>
    </modified>
    <modified>
      <diff>@@ -63,11 +63,11 @@ Maruku translates HTML entities to the equivalent in \LaTeX\xspace :
 \begin{tabular}{l|l}
 Entity&amp;Result\\
 \hline 
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char99\char111\char112\char121\char59}&amp;\copyright\\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char112\char111\char117\char110\char100\char59}&amp;\pounds\\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char97\char38\char110\char98\char115\char112\char59\char98}&amp;a~b\\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char108\char97\char109\char98\char100\char97\char59}&amp;$\lambda$\\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char109\char100\char97\char115\char104\char59}&amp;---\\
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38\char99\char111\char112\char121\char59}&amp;\copyright \\
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38\char112\char111\char117\char110\char100\char59}&amp;\pounds \\
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char97\char38\char110\char98\char115\char112\char59\char98}&amp;a~b\\
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38\char108\char97\char109\char98\char100\char97\char59}&amp;$\lambda$\\
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char38\char109\char100\char97\char115\char104\char59}&amp;---\\
 \end{tabular}
 
 Entity-substitution does not happen in code blocks or inline code.
@@ -76,7 +76,7 @@ The following should not be translated:
 
 \begin{verbatim}&amp;copy;
 \end{verbatim}
-It should read just like this: \colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char99\char111\char112\char121\char59}.
+It should read just like this: \colorbox[rgb]{1.00,0.93,1.00}{\tt \char38\char99\char111\char112\char121\char59}.
 
 
 *** Output of to_md ***
@@ -97,81 +97,10 @@ Maruku translates HTML entities to the equivalent in LaTeX:EntityResultabEntity-
 
 
 
+	OK!
 
-Failed tests:   [:to_latex] 
-
-*** Output of inspect ***
-md_el(:document,[
-	md_par([&quot;Maruku translates HTML entities to the equivalent in LaTeX:&quot;]),
-	md_el(:table,[
-		md_el(:head_cell,[&quot;Entity&quot;],{},[]),
-		md_el(:head_cell,[&quot;Result&quot;],{},[]),
-		md_el(:cell,[md_code(&quot;&amp;copy;&quot;)],{},[]),
-		md_el(:cell,[md_entity(&quot;copy&quot;)],{},[]),
-		md_el(:cell,[md_code(&quot;&amp;pound;&quot;)],{},[]),
-		md_el(:cell,[md_entity(&quot;pound&quot;)],{},[]),
-		md_el(:cell,[md_code(&quot;a&amp;nbsp;b&quot;)],{},[]),
-		md_el(:cell,[&quot;a&quot;, md_entity(&quot;nbsp&quot;), &quot;b&quot;],{},[]),
-		md_el(:cell,[md_code(&quot;&amp;lambda;&quot;)],{},[]),
-		md_el(:cell,[md_entity(&quot;lambda&quot;)],{},[]),
-		md_el(:cell,[md_code(&quot;&amp;mdash;&quot;)],{},[]),
-		md_el(:cell,[md_entity(&quot;mdash&quot;)],{},[])
-	],{:align=&gt;[:left, :left]},[]),
-	md_par([
-		&quot;Entity-substitution does not happen in code blocks or inline code.&quot;
-	]),
-	md_par([&quot;The following should not be translated:&quot;]),
-	md_el(:code,[],{:raw_code=&gt;&quot;&amp;copy;\n&quot;},[]),
-	md_par([&quot;It should read just like this: &quot;, md_code(&quot;&amp;copy;&quot;), &quot;.&quot;])
-],{},[])
-*** Output of to_html ***
-
-&lt;p&gt;Maruku translates HTML entities to the equivalent in LaTeX:&lt;/p&gt;
-&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Entity&lt;/th&gt;&lt;th&gt;Result&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style='text-align: left;'&gt;&lt;code&gt;&amp;amp;copy;&lt;/code&gt;&lt;/td&gt;&lt;td style='text-align: left;'&gt;&amp;copy;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='text-align: left;'&gt;&lt;code&gt;&amp;amp;pound;&lt;/code&gt;&lt;/td&gt;&lt;td style='text-align: left;'&gt;&amp;pound;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='text-align: left;'&gt;&lt;code&gt;a&amp;amp;nbsp;b&lt;/code&gt;&lt;/td&gt;&lt;td style='text-align: left;'&gt;a&amp;nbsp;b&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='text-align: left;'&gt;&lt;code&gt;&amp;amp;lambda;&lt;/code&gt;&lt;/td&gt;&lt;td style='text-align: left;'&gt;&amp;lambda;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style='text-align: left;'&gt;&lt;code&gt;&amp;amp;mdash;&lt;/code&gt;&lt;/td&gt;&lt;td style='text-align: left;'&gt;&amp;mdash;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
-&lt;p&gt;Entity-substitution does not happen in code blocks or inline code.&lt;/p&gt;
-
-&lt;p&gt;The following should not be translated:&lt;/p&gt;
-&lt;pre&gt;&lt;code&gt;&amp;amp;copy;
-&lt;/code&gt;&lt;/pre&gt;
-&lt;p&gt;It should read just like this: &lt;code&gt;&amp;amp;copy;&lt;/code&gt;.&lt;/p&gt;
-
-*** Output of to_latex ***
------| WARNING | -----
-Maruku translates HTML entities to the equivalent in \LaTeX\xspace :
-
-\begin{tabular}{l|l}
-Entity&amp;Result\\
-\hline 
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char99\char111\char112\char121\char59}&amp;\copyright \\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char112\char111\char117\char110\char100\char59}&amp;\pounds \\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char97\char38\char110\char98\char115\char112\char59\char98}&amp;a~b\\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char108\char97\char109\char98\char100\char97\char59}&amp;$\lambda$\\
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char109\char100\char97\char115\char104\char59}&amp;---\\
-\end{tabular}
-
-Entity-substitution does not happen in code blocks or inline code.
-
-The following should not be translated:
-
-\begin{verbatim}&amp;copy;
-\end{verbatim}
-It should read just like this: \colorbox[rgb]{1.00,0.67,1.00}{\tt \char38\char99\char111\char112\char121\char59}.
-
-
-*** Output of to_md ***
-Maruku translates HTML entities to the
-equivalent in LaTeX:
-
-EntityResultabEntity-substitution does not happen in
-code blocks or inline code.
-
-The following should not be translated:
-
-It should read just like this: .
 
 
-*** Output of to_s ***
-Maruku translates HTML entities to the equivalent in LaTeX:EntityResultabEntity-substitution does not happen in code blocks or inline code.The following should not be translated:It should read just like this: .
 *** Output of Markdown.pl ***
 &lt;p&gt;Maruku translates HTML entities to the equivalent in LaTeX:&lt;/p&gt;
 </diff>
      <filename>tests/unittest/entities.md</filename>
    </modified>
    <modified>
      <diff>@@ -48,11 +48,11 @@ Hello: ! ! ` \{ \} [ ] ( ) \# . ! * * *
 
 Ora, {\em emphasis}, {\bf bold}, * {\tt \char60}- due asterischi-{\tt \char62} * , un underscore-{\tt \char62} \_ , {\em emphasis}, incre{\em dible}e!
 
-This is \colorbox[rgb]{1.00,0.67,1.00}{\tt \char67\char111\char100\char101\char32\char119\char105\char116\char104\char32\char97\char32\char115\char112\char101\char99\char105\char97\char108\char58\char32\char45\char62\char32\char96\char32\char60\char45}(after)
+This is \colorbox[rgb]{1.00,0.93,1.00}{\tt \char67\char111\char100\char101\char32\char119\char105\char116\char104\char32\char97\char32\char115\char112\char101\char99\char105\char97\char108\char58\char32\char45\char62\char32\char96\char32\char60\char45}(after)
 
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char83\char116\char97\char114\char116\char32} of paragraph
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char83\char116\char97\char114\char116\char32} of paragraph
 
-End of \colorbox[rgb]{1.00,0.67,1.00}{\tt \char112\char97\char114\char97\char103\char114\char97\char112\char104\char32}
+End of \colorbox[rgb]{1.00,0.93,1.00}{\tt \char112\char97\char114\char97\char103\char114\char97\char112\char104\char32}
 
 
 *** Output of to_md ***</diff>
      <filename>tests/unittest/escaping.md</filename>
    </modified>
    <modified>
      <diff>@@ -1 +1,10 @@
-&lt;dl&gt;&lt;dt&gt;Apple&lt;/dt&gt;&lt;dd&gt;Pomaceous fruit of plants of the genus Malus in the family Rosaceae.&lt;/dd&gt;&lt;dt&gt;Orange&lt;/dt&gt;&lt;dd&gt;The fruit of an evergreen tree of the genus Citrus.&lt;/dd&gt;&lt;/dl&gt;
\ No newline at end of file
+
+&lt;dl&gt;
+&lt;dt&gt;Apple&lt;/dt&gt;
+
+&lt;dd&gt;Pomaceous fruit of plants of the genus Malus in the family Rosaceae.&lt;/dd&gt;
+
+&lt;dt&gt;Orange&lt;/dt&gt;
+
+&lt;dd&gt;The fruit of an evergreen tree of the genus Citrus.&lt;/dd&gt;
+&lt;/dl&gt;</diff>
      <filename>tests/unittest/extra_dl.html</filename>
    </modified>
    <modified>
      <diff>@@ -20,17 +20,27 @@ md_el(:document,[
 			md_el(:definition_data,[
 				&quot;Pomaceous fruit of plants of the genus Malus in the family Rosaceae.&quot;
 			],{},[])
-		],{:want_my_paragraph=&gt;false,:definitions=&gt;[md_el(:definition_data,[
+		],{:definitions=&gt;[md_el(:definition_data,[
 			&quot;Pomaceous fruit of plants of the genus Malus in the family Rosaceae.&quot;
-		],{},[])],:terms=&gt;[md_el(:definition_term,[&quot;Apple&quot;],{},[])]},[]),
+		],{},[])],:terms=&gt;[md_el(:definition_term,[&quot;Apple&quot;],{},[])],:want_my_paragraph=&gt;false},[]),
 		md_el(:definition,[
 			md_el(:definition_term,[&quot;Orange&quot;],{},[]),
 			md_el(:definition_data,[&quot;The fruit of an evergreen tree of the genus Citrus.&quot;],{},[])
-		],{:want_my_paragraph=&gt;false,:definitions=&gt;[md_el(:definition_data,[&quot;The fruit of an evergreen tree of the genus Citrus.&quot;],{},[])],:terms=&gt;[md_el(:definition_term,[&quot;Orange&quot;],{},[])]},[])
+		],{:definitions=&gt;[md_el(:definition_data,[&quot;The fruit of an evergreen tree of the genus Citrus.&quot;],{},[])],:terms=&gt;[md_el(:definition_term,[&quot;Orange&quot;],{},[])],:want_my_paragraph=&gt;false},[])
 	],{},[])
 ],{},[])
 *** Output of to_html ***
-&lt;dl&gt;&lt;dt&gt;Apple&lt;/dt&gt;&lt;dd&gt;Pomaceous fruit of plants of the genus Malus in the family Rosaceae.&lt;/dd&gt;&lt;dt&gt;Orange&lt;/dt&gt;&lt;dd&gt;The fruit of an evergreen tree of the genus Citrus.&lt;/dd&gt;&lt;/dl&gt;
+
+&lt;dl&gt;
+&lt;dt&gt;Apple&lt;/dt&gt;
+
+&lt;dd&gt;Pomaceous fruit of plants of the genus Malus in the family Rosaceae.&lt;/dd&gt;
+
+&lt;dt&gt;Orange&lt;/dt&gt;
+
+&lt;dd&gt;The fruit of an evergreen tree of the genus Citrus.&lt;/dd&gt;
+&lt;/dl&gt;
+
 *** Output of to_latex ***
 \begin{description}
 </diff>
      <filename>tests/unittest/extra_dl.md</filename>
    </modified>
    <modified>
      <diff>@@ -53,7 +53,7 @@ md_el(:document,[
 
 Then you can create links to different parts of the same document like this:
 
-, , 
+\hyperlink{header1}{Link back to header 1}, \hyperlink{header2}{Link back to header 2}, \hyperlink{header3}{Link back to header 3}
 
 
 *** Output of to_md ***</diff>
      <filename>tests/unittest/extra_header_id.md</filename>
    </modified>
    <modified>
      <diff>@@ -22,87 +22,7 @@ This is not a footnote.
 *** Output of inspect ***
 md_el(:document,[
 	md_par([
-		&quot;That's some text with a footnote &quot;,
-		md_foot_ref(&quot;^b&quot;),
-		&quot; and another &quot;,
-		md_foot_ref(&quot;^c&quot;),
-		&quot; and another &quot;,
-		md_foot_ref(&quot;^a&quot;),
-		&quot;.&quot;
-	]),
-	md_el(:footnote,[
-		md_par([&quot;And that's the footnote.&quot;]),
-		md_par([&quot;That's the second paragraph of the footnote.&quot;])
-	],{:footnote_id=&gt;&quot;^a&quot;},[]),
-	md_el(:footnote,[
-		md_par([&quot;And that's the footnote. This is second sentence (same paragraph)&quot;])
-	],{:footnote_id=&gt;&quot;^b&quot;},[]),
-	md_el(:footnote,[
-		md_par([&quot;This is the very long one.&quot;]),
-		md_par([&quot;That's the second paragraph.&quot;])
-	],{:footnote_id=&gt;&quot;^c&quot;},[]),
-	md_par([&quot;This is not a footnote.&quot;])
-],{},[])
-*** Output of to_html ***
-
-&lt;p&gt;That&amp;apos;s some text with a footnote &lt;sup id='fnref:1'&gt;&lt;a href='#fn:1' rel='footnote'&gt;1&lt;/a&gt;&lt;/sup&gt; and another &lt;sup id='fnref:2'&gt;&lt;a href='#fn:2' rel='footnote'&gt;2&lt;/a&gt;&lt;/sup&gt; and another &lt;sup id='fnref:3'&gt;&lt;a href='#fn:3' rel='footnote'&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
-
-&lt;p&gt;This is not a footnote.&lt;/p&gt;
-&lt;div class='footnotes'&gt;&lt;hr /&gt;&lt;ol&gt;&lt;li id='fn:1'&gt;
-&lt;p&gt;And that&amp;apos;s the footnote. This is second sentence (same paragraph)&lt;/p&gt;
-&lt;a href='#fnref:1' rev='footnote'&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;&lt;li id='fn:2'&gt;
-&lt;p&gt;This is the very long one.&lt;/p&gt;
-
-&lt;p&gt;That&amp;apos;s the second paragraph.&lt;/p&gt;
-&lt;a href='#fnref:2' rev='footnote'&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;&lt;li id='fn:3'&gt;
-&lt;p&gt;And that&amp;apos;s the footnote.&lt;/p&gt;
-
-&lt;p&gt;That&amp;apos;s the second paragraph of the footnote.&lt;/p&gt;
-&lt;a href='#fnref:3' rev='footnote'&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
-*** Output of to_latex ***
-That's some text with a footnote \footnote{And that's the footnote. This is second sentence (same paragraph)}  and another \footnote{This is the very long one.
-
-That's the second paragraph.}  and another \footnote{And that's the footnote.
-
-That's the second paragraph of the footnote.} .
-
-This is not a footnote.
-
-
-*** Output of to_md ***
-That's some text with a footnote and
-another and another .
-
-And that's the footnote.
-
-That's the second paragraph of the
-footnote.
-
-And that's the footnote. This is second
-sentence (same paragraph)
-
-This is the very long one.
-
-That's the second paragraph.
-
-This is not a footnote.
-
-
-*** Output of to_s ***
-That's some text with a footnote  and another  and another .And that's the footnote.That's the second paragraph of the footnote.And that's the footnote. This is second sentence (same paragraph)This is the very long one.That's the second paragraph.This is not a footnote.
-*** EOF ***
-
-
-
-
-Failed tests:   [:inspect, :to_html, :to_md, :to_s] 
-
-*** Output of inspect ***
------| WARNING | -----
-md_el(:document,[
-	md_par([
-		&quot;Tha&quot;,
-		&quot;t&quot;,
+		&quot;That&quot;,
 		md_entity(&quot;rsquo&quot;),
 		&quot;s some text with a footnote &quot;,
 		md_foot_ref(&quot;^b&quot;),
@@ -113,30 +33,27 @@ md_el(:document,[
 		&quot;.&quot;
 	]),
 	md_el(:footnote,[
-		md_par([&quot;And tha&quot;, &quot;t&quot;, md_entity(&quot;rsquo&quot;), &quot;s the footnote.&quot;]),
+		md_par([&quot;And that&quot;, md_entity(&quot;rsquo&quot;), &quot;s the footnote.&quot;]),
 		md_par([
-			&quot;Tha&quot;,
-			&quot;t&quot;,
+			&quot;That&quot;,
 			md_entity(&quot;rsquo&quot;),
 			&quot;s the second paragraph of the footnote.&quot;
 		])
 	],{:footnote_id=&gt;&quot;^a&quot;},[]),
 	md_el(:footnote,[
 		md_par([
-			&quot;And tha&quot;,
-			&quot;t&quot;,
+			&quot;And that&quot;,
 			md_entity(&quot;rsquo&quot;),
 			&quot;s the footnote. This is second sentence (same paragraph)&quot;
 		])
 	],{:footnote_id=&gt;&quot;^b&quot;},[]),
 	md_el(:footnote,[
 		md_par([&quot;This is the very long one.&quot;]),
-		md_par([&quot;Tha&quot;, &quot;t&quot;, md_entity(&quot;rsquo&quot;), &quot;s the second paragraph.&quot;])
+		md_par([&quot;That&quot;, md_entity(&quot;rsquo&quot;), &quot;s the second paragraph.&quot;])
 	],{:footnote_id=&gt;&quot;^c&quot;},[]),
 	md_par([&quot;This is not a footnote.&quot;])
 ],{},[])
 *** Output of to_html ***
------| WARNING | -----
 
 &lt;p&gt;That&amp;rsquo;s some text with a footnote &lt;sup id='fnref:1'&gt;&lt;a href='#fn:1' rel='footnote'&gt;1&lt;/a&gt;&lt;/sup&gt; and another &lt;sup id='fnref:2'&gt;&lt;a href='#fn:2' rel='footnote'&gt;2&lt;/a&gt;&lt;/sup&gt; and another &lt;sup id='fnref:3'&gt;&lt;a href='#fn:3' rel='footnote'&gt;3&lt;/a&gt;&lt;/sup&gt;.&lt;/p&gt;
 
@@ -163,28 +80,34 @@ This is not a footnote.
 
 
 *** Output of to_md ***
------| WARNING | -----
-Tha t s some text with a footnote and
+That s some text with a footnote and
 another and another .
 
-And tha t s the footnote.
+And that s the footnote.
 
-Tha t s the second paragraph of the
+That s the second paragraph of the
 footnote.
 
-And tha t s the footnote. This is
-second sentence (same paragraph)
+And that s the footnote. This is second
+sentence (same paragraph)
 
 This is the very long one.
 
-Tha t s the second paragraph.
+That s the second paragraph.
 
 This is not a footnote.
 
 
 *** Output of to_s ***
------| WARNING | -----
 Thats some text with a footnote  and another  and another .And thats the footnote.Thats the second paragraph of the footnote.And thats the footnote. This is second sentence (same paragraph)This is the very long one.Thats the second paragraph.This is not a footnote.
+*** EOF ***
+
+
+
+	OK!
+
+
+
 *** Output of Markdown.pl ***
 &lt;p&gt;That's some text with a footnote [^b] and another [^c] and another [^a].&lt;/p&gt;
 </diff>
      <filename>tests/unittest/footnotes.md</filename>
    </modified>
    <modified>
      <diff>@@ -39,7 +39,9 @@ md_el(:document,[
 		md_im_image([&quot;Cascading Style Sheets&quot;], &quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;, &quot;Title ok!&quot;)
 	]),
 	md_par([
-		&quot;I'll say it one more time: this page does not use &quot;,
+		&quot;I&quot;,
+		md_entity(&quot;rsquo&quot;),
+		&quot;ll say it one more time: this page does not use &quot;,
 		md_image([&quot;Cascading Style Sheets&quot;], &quot;css&quot;)
 	]),
 	md_par([
@@ -57,7 +59,7 @@ md_el(:document,[
 
 &lt;p&gt;Please mouseover to see the title: &lt;img title='Title ok!' src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
 
-&lt;p&gt;I&amp;apos;ll say it one more time: this page does not use &lt;img title='Optional title attribute' src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
+&lt;p&gt;I&amp;rsquo;ll say it one more time: this page does not use &lt;img title='Optional title attribute' src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
 
 &lt;p&gt;This is double size: &lt;img class='external' title='Optional title attribute' src='http://jigsaw.w3.org/css-validator/images/vcss' style='border:0;width:188px;height:131px' /&gt;&lt;/p&gt;
 
@@ -83,7 +85,7 @@ Cascading Style Sheets
 Please mouseover to see the title:
 Cascading Style Sheets
 
-I'll say it one more time: this page
+I ll say it one more time: this page
 does not use Cascading Style Sheets
 
 This is double size:
@@ -91,88 +93,15 @@ Cascading Style Sheets
 
 
 *** Output of to_s ***
-This page does not uilizes Cascading Style SheetsPlease mouseover to see the title: Cascading Style SheetsPlease mouseover to see the title: Cascading Style SheetsI'll say it one more time: this page does not use Cascading Style SheetsThis is double size: Cascading Style Sheets
+This page does not uilizes Cascading Style SheetsPlease mouseover to see the title: Cascading Style SheetsPlease mouseover to see the title: Cascading Style SheetsIll say it one more time: this page does not use Cascading Style SheetsThis is double size: Cascading Style Sheets
 *** EOF ***
 
 
 
+	OK!
 
-Failed tests:   [:inspect, :to_html, :to_md, :to_s] 
-
-*** Output of inspect ***
------| WARNING | -----
-md_el(:document,[
-	md_par([
-		&quot;This page does not uilizes &quot;,
-		md_im_image([&quot;Cascading Style Sheets&quot;], &quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;, nil)
-	]),
-	md_par([
-		&quot;Please mouseover to see the title: &quot;,
-		md_im_image([&quot;Cascading Style Sheets&quot;], &quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;, &quot;Title ok!&quot;)
-	]),
-	md_par([
-		&quot;Please mouseover to see the title: &quot;,
-		md_im_image([&quot;Cascading Style Sheets&quot;], &quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;, &quot;Title ok!&quot;)
-	]),
-	md_par([
-		&quot;I&quot;,
-		md_entity(&quot;rsquo&quot;),
-		&quot;ll say it one more time: this page does not use &quot;,
-		md_image([&quot;Cascading Style Sheets&quot;], &quot;css&quot;)
-	]),
-	md_par([
-		&quot;This is double size: &quot;,
-		md_image([&quot;Cascading Style Sheets&quot;], &quot;css2&quot;)
-	]),
-	md_ref_def(&quot;css&quot;, &quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;, {:title=&gt;&quot;Optional title attribute&quot;}),
-	md_ref_def(&quot;css2&quot;, &quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;, {:title=&gt;&quot;Optional title attribute&quot;})
-],{},[])
-*** Output of to_html ***
------| WARNING | -----
-
-&lt;p&gt;This page does not uilizes &lt;img src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
 
-&lt;p&gt;Please mouseover to see the title: &lt;img title='Title ok!' src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
 
-&lt;p&gt;Please mouseover to see the title: &lt;img title='Title ok!' src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
-
-&lt;p&gt;I&amp;rsquo;ll say it one more time: this page does not use &lt;img title='Optional title attribute' src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
-
-&lt;p&gt;This is double size: &lt;img class='external' title='Optional title attribute' src='http://jigsaw.w3.org/css-validator/images/vcss' style='border:0;width:188px;height:131px' /&gt;&lt;/p&gt;
-
-*** Output of to_latex ***
-This page does not uilizes 
-
-Please mouseover to see the title: 
-
-Please mouseover to see the title: 
-
-I'll say it one more time: this page does not use {\bf Images not supported yet (\char104\char116\char116\char112\char58\char47\char47\char106\char105\char103\char115\char97\char119\char46\char119\char51\char46\char111\char114\char103\char47\char99\char115\char115\char45\char118\char97\char108\char105\char100\char97\char116\char111\char114\char47\char105\char109\char97\char103\char101\char115\char47\char118\char99\char115\char115)}
-
-This is double size: {\bf Images not supported yet (\char104\char116\char116\char112\char58\char47\char47\char106\char105\char103\char115\char97\char119\char46\char119\char51\char46\char111\char114\char103\char47\char99\char115\char115\char45\char118\char97\char108\char105\char100\char97\char116\char111\char114\char47\char105\char109\char97\char103\char101\char115\char47\char118\char99\char115\char115)}
-
-
-*** Output of to_md ***
------| WARNING | -----
-This page does not uilizes
-Cascading Style Sheets
-
-Please mouseover to see the title:
-Cascading Style Sheets
-
-Please mouseover to see the title:
-Cascading Style Sheets
-
-I ll say it one more time: this page
-does not use Cascading Style Sheets
-
-This is double size:
-Cascading Style Sheets
-
-
-*** Output of to_s ***
------| WARNING | -----
-This page does not uilizes Cascading Style SheetsPlease mouseover to see the title: Cascading Style SheetsPlease mouseover to see the title: Cascading Style SheetsIll say it one more time: this page does not use Cascading Style SheetsThis is double size: Cascading Style Sheets
 *** Output of Markdown.pl ***
 &lt;p&gt;This page does not uilizes &lt;img src=&quot;http://jigsaw.w3.org/css-validator/images/vcss&quot; alt=&quot;Cascading Style Sheets&quot; title=&quot;&quot; /&gt;&lt;/p&gt;
 </diff>
      <filename>tests/unittest/images.md</filename>
    </modified>
    <modified>
      <diff>@@ -88,9 +88,7 @@ md_el(:document,[
 &lt;p&gt;Result alone:&lt;/p&gt;
 &lt;img src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;
 &lt;p&gt;Without closing:&lt;/p&gt;
-&lt;img src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;div&gt;
-&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (paragraph)&lt;/p&gt;
-&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (no paragraph)&lt;/p&gt;&lt;p&gt;
+&lt;img src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;div&gt;&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (paragraph)&lt;/p&gt;&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (no paragraph)&lt;/p&gt;&lt;p&gt;
 &lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (block paragraph)&lt;/p&gt;
 &lt;/p&gt;&lt;/div&gt;&lt;table&gt;
 &lt;tr&gt;
@@ -112,21 +110,21 @@ Input:
 
 \begin{verbatim}&lt;em&gt;Emphasis&lt;/em&gt;
 \end{verbatim}
-Result: {\bf Raw HTML removed in latex version }
+Result: 
 
 Input:
 
 \begin{verbatim}&lt;img src=&quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;/&gt;
 \end{verbatim}
-Result on span: {\bf Raw HTML removed in latex version }
+Result on span: 
 
 Result alone:
 
-{\bf Raw HTML removed in latex version }Without closing:
+Without closing:
+
+The following is invalid HTML, and will generate an error:
 
-{\bf Raw HTML removed in latex version }{\bf Raw HTML removed in latex version }{\bf Raw HTML removed in latex version }The following is invalid HTML, and will generate an error:
 
-{\bf Raw HTML removed in latex version }{\bf Raw HTML removed in latex version }
 *** Output of to_md ***
 Input:
 
@@ -150,102 +148,10 @@ Input:Result: Input:Result on span: Result alone:Without closing:The following i
 
 
 
+	OK!
 
-Failed tests:   [:to_html] 
-
-*** Output of inspect ***
-md_el(:document,[
-	md_par([&quot;Input:&quot;]),
-	md_el(:code,[],{:raw_code=&gt;&quot;&lt;em&gt;Emphasis&lt;/em&gt;\n&quot;},[]),
-	md_par([&quot;Result: &quot;, md_html(&quot;&lt;em&gt;Emphasis&lt;/em&gt;&quot;)]),
-	md_par([&quot;Input:&quot;]),
-	md_el(:code,[],{:raw_code=&gt;&quot;&lt;img src=\&quot;http://jigsaw.w3.org/css-validator/images/vcss\&quot;/&gt;\n&quot;},[]),
-	md_par([
-		&quot;Result on span: &quot;,
-		md_html(&quot;&lt;img src=\&quot;http://jigsaw.w3.org/css-validator/images/vcss\&quot; /&gt;&quot;)
-	]),
-	md_par([&quot;Result alone:&quot;]),
-	md_html(&quot;&lt;img src=\&quot;http://jigsaw.w3.org/css-validator/images/vcss\&quot; /&gt;&quot;),
-	md_par([&quot;Without closing:&quot;]),
-	md_html(&quot;&lt;img src=\&quot;http://jigsaw.w3.org/css-validator/images/vcss\&quot; /&gt;&quot;),
-	md_html(&quot;&lt;div markdown=\&quot;1\&quot;&gt;\n\tThis is *true* markdown text (paragraph)\n\n\t&lt;p markdown=\&quot;1\&quot;&gt;\n\t\tThis is *true* markdown text (no paragraph)\n\t&lt;/p&gt;\n\t&lt;p markdown=\&quot;block\&quot;&gt;\n\t\tThis is *true* markdown text (block paragraph)\n\t&lt;/p&gt;\n&lt;/div&gt;&quot;),
-	md_html(&quot;&lt;table&gt;\n&lt;tr&gt;\n&lt;td markdown=\&quot;1\&quot;&gt;This is *true* markdown text. (no par)&lt;/td&gt;\n&lt;td markdown=\&quot;block\&quot;&gt;This is *true* markdown text. (par)&lt;/td&gt;\n&lt;/tr&gt;\n&lt;/table&gt;&quot;),
-	md_par([&quot;The following is invalid HTML, and will generate an error:&quot;]),
-	md_html(&quot;&lt;table&gt;\n&lt;td markdown=\&quot;1\&quot;&gt;This is *true* markdown text. (no par)&lt;/td&gt;\n&lt;td markdown=\&quot;block\&quot;&gt;This is *true* markdown text. (par)&lt;/td&gt;\n&lt;/tr&gt;&quot;),
-	md_html(&quot;&lt;/table&gt;&quot;)
-],{},[])
-*** Output of to_html ***
------| WARNING | -----
-
-&lt;p&gt;Input:&lt;/p&gt;
-&lt;pre&gt;&lt;code&gt;&amp;lt;em&amp;gt;Emphasis&amp;lt;/em&amp;gt;
-&lt;/code&gt;&lt;/pre&gt;
-&lt;p&gt;Result: &lt;em&gt;Emphasis&lt;/em&gt;&lt;/p&gt;
-
-&lt;p&gt;Input:&lt;/p&gt;
-&lt;pre&gt;&lt;code&gt;&amp;lt;img src=&amp;quot;http://jigsaw.w3.org/css-validator/images/vcss&amp;quot;/&amp;gt;
-&lt;/code&gt;&lt;/pre&gt;
-&lt;p&gt;Result on span: &lt;img src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;/p&gt;
-
-&lt;p&gt;Result alone:&lt;/p&gt;
-&lt;img src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;
-&lt;p&gt;Without closing:&lt;/p&gt;
-&lt;img src='http://jigsaw.w3.org/css-validator/images/vcss' /&gt;&lt;div&gt;&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (paragraph)&lt;/p&gt;&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (no paragraph)&lt;/p&gt;&lt;p&gt;
-&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text (block paragraph)&lt;/p&gt;
-&lt;/p&gt;&lt;/div&gt;&lt;table&gt;
-&lt;tr&gt;
-&lt;td&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text. (no par)&lt;/td&gt;
-&lt;td&gt;
-&lt;p&gt;This is &lt;em&gt;true&lt;/em&gt; markdown text. (par)&lt;/p&gt;
-&lt;/td&gt;
-&lt;/tr&gt;
-&lt;/table&gt;
-&lt;p&gt;The following is invalid HTML, and will generate an error:&lt;/p&gt;
-&lt;pre class='markdown-html-error' style='border: solid 3px red; background-color: pink'&gt;HTML parse error: 
-&amp;lt;table&amp;gt;
-&amp;lt;td markdown=&amp;quot;1&amp;quot;&amp;gt;This is *true* markdown text. (no par)&amp;lt;/td&amp;gt;
-&amp;lt;td markdown=&amp;quot;block&amp;quot;&amp;gt;This is *true* markdown text. (par)&amp;lt;/td&amp;gt;
-&amp;lt;/tr&amp;gt;&lt;/pre&gt;&lt;pre class='markdown-html-error' style='border: solid 3px red; background-color: pink'&gt;HTML parse error: 
-&amp;lt;/table&amp;gt;&lt;/pre&gt;
-*** Output of to_latex ***
-Input:
-
-\begin{verbatim}&lt;em&gt;Emphasis&lt;/em&gt;
-\end{verbatim}
-Result: {\bf Raw HTML removed in latex version }
-
-Input:
-
-\begin{verbatim}&lt;img src=&quot;http://jigsaw.w3.org/css-validator/images/vcss&quot;/&gt;
-\end{verbatim}
-Result on span: {\bf Raw HTML removed in latex version }
-
-Result alone:
-
-{\bf Raw HTML removed in latex version }Without closing:
-
-{\bf Raw HTML removed in latex version }{\bf Raw HTML removed in latex version }{\bf Raw HTML removed in latex version }The following is invalid HTML, and will generate an error:
-
-{\bf Raw HTML removed in latex version }{\bf Raw HTML removed in latex version }
-*** Output of to_md ***
-Input:
-
-Result:
-
-Input:
-
-Result on span:
-
-Result alone:
 
-Without closing:
 
-The following is invalid HTML, and will
-generate an error:
-
-
-*** Output of to_s ***
-Input:Result: Input:Result on span: Result alone:Without closing:The following is invalid HTML, and will generate an error:
 *** Output of Markdown.pl ***
 &lt;p&gt;CSS: style.css&lt;/p&gt;
 </diff>
      <filename>tests/unittest/inline_html.md</filename>
    </modified>
    <modified>
      <diff>@@ -14,7 +14,7 @@ md_el(:document,[
 &lt;p&gt;Test &lt;strong&gt;bold&lt;/strong&gt;&lt;/p&gt;
 &lt;/div&gt;&lt;p&gt;Test &lt;strong&gt;bold&lt;/strong&gt;&lt;/p&gt;
 *** Output of to_latex ***
-{\bf Raw HTML removed in latex version }{\bf Raw HTML removed in latex version }
+
 *** Output of to_md ***
 
 *** Output of to_s ***</diff>
      <filename>tests/unittest/inline_html2.md</filename>
    </modified>
    <modified>
      <diff>@@ -107,15 +107,15 @@ Search on \href{http://www.google.com}{Google}
 
 Search on \href{http://images.google.com}{Google images}
 
-Inline: 
+Inline: \href{http://google.com}{Google images}
 
-Inline with title: 
+Inline with title: \href{http://google.com}{Google images}
 
-Inline with title: 
+Inline with title: \href{http://google.com}{Google images}
 
-Search on \href{http://www.gogole.com}{http://www.gogole.com} or \href{http://Here.com}{http://Here.com} or ask \href{mailto:bill@google.com}{\char98\char105\char108\char108\char64\char103\char111\char111\char103\char108\char101\char46\char99\char111\char109} or you might ask bill@google.com.
+Search on  or  or ask \href{mailto:bill@google.com}{\char98\char105\char108\char108\char64\char103\char111\char111\char103\char108\char101\char46\char99\char111\char109} or you might ask bill@google.com.
 
-If all else fails, ask 
+If all else fails, ask \href{http://www.google.com}{Google}
 
 
 *** Output of to_md ***
@@ -168,7 +168,7 @@ Search on GoogleSearch on GoogleSearch on GoogleSearch on GoogleSearch on Google
 
 &lt;p&gt;Inline with title: &lt;a href=&quot;http://google.com  &quot;Title&quot;&quot;&gt;Google images&lt;/a&gt;&lt;/p&gt;
 
-&lt;p&gt;Search on &lt;a href=&quot;http://www.gogole.com&quot;&gt;http://www.gogole.com&lt;/a&gt; or &lt;a href=&quot;http://Here.com&quot;&gt;http://Here.com&lt;/a&gt; or ask &lt;a href=&quot;&amp;#x6D;&amp;#x61;&amp;#105;&amp;#108;&amp;#x74;&amp;#111;:&amp;#x62;&amp;#x69;&amp;#x6C;&amp;#x6C;&amp;#64;&amp;#103;&amp;#111;&amp;#x6F;&amp;#x67;&amp;#x6C;&amp;#101;.&amp;#99;&amp;#x6F;&amp;#x6D;&quot;&gt;&amp;#x62;&amp;#x69;&amp;#x6C;&amp;#x6C;&amp;#64;&amp;#103;&amp;#111;&amp;#x6F;&amp;#x67;&amp;#x6C;&amp;#101;.&amp;#99;&amp;#x6F;&amp;#x6D;&lt;/a&gt;
+&lt;p&gt;Search on &lt;a href=&quot;http://www.gogole.com&quot;&gt;http://www.gogole.com&lt;/a&gt; or &lt;a href=&quot;http://Here.com&quot;&gt;http://Here.com&lt;/a&gt; or ask &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#108;&amp;#116;&amp;#x6F;:&amp;#x62;&amp;#x69;&amp;#x6C;&amp;#x6C;&amp;#64;&amp;#103;&amp;#111;&amp;#x6F;&amp;#x67;&amp;#108;&amp;#x65;&amp;#46;&amp;#x63;&amp;#111;&amp;#x6D;&quot;&gt;&amp;#x62;&amp;#x69;&amp;#x6C;&amp;#x6C;&amp;#64;&amp;#103;&amp;#111;&amp;#x6F;&amp;#x67;&amp;#108;&amp;#x65;&amp;#46;&amp;#x63;&amp;#111;&amp;#x6D;&lt;/a&gt;
 or you might ask bill@google.com.&lt;/p&gt;
 
 &lt;p&gt;If all else fails, ask &lt;a href=&quot;http://www.google.com&quot;&gt;Google&lt;/a&gt;&lt;/p&gt;</diff>
      <filename>tests/unittest/links.md</filename>
    </modified>
    <modified>
      <diff>@@ -16,7 +16,9 @@ md_el(:document,[
 		md_el(:li,[
 			md_par([&quot;This is a list item with two paragraphs.&quot;]),
 			md_par([
-				&quot;This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
+				&quot;This is the second paragraph in the list item. You&quot;,
+				md_entity(&quot;rsquo&quot;),
+				&quot;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
 			])
 		],{:want_my_paragraph=&gt;true},[]),
 		md_el(:li,[md_par([&quot;other&quot;])],{:want_my_paragraph=&gt;false},[])
@@ -28,7 +30,7 @@ md_el(:document,[
 &lt;li&gt;
 &lt;p&gt;This is a list item with two paragraphs.&lt;/p&gt;
 
-&lt;p&gt;This is the second paragraph in the list item. You&amp;apos;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
+&lt;p&gt;This is the second paragraph in the list item. You&amp;rsquo;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
 &lt;/li&gt;
 
 &lt;li&gt;
@@ -51,73 +53,20 @@ This is the second paragraph in the list item. You're only required to indent th
 
 *** Output of to_md ***
 -This is a list item with two paragraphs.
-This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
+This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
 -ther
 
 
 *** Output of to_s ***
-This is a list item with two paragraphs.This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitother
+This is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitother
 *** EOF ***
 
 
 
+	OK!
 
-Failed tests:   [:inspect, :to_html, :to_md, :to_s] 
 
-*** Output of inspect ***
------| WARNING | -----
-md_el(:document,[
-	md_el(:ul,[
-		md_el(:li,[
-			md_par([&quot;This is a list item with two paragraphs.&quot;]),
-			md_par([
-				&quot;This is the second paragraph in the list item. Yo&quot;,
-				&quot;u&quot;,
-				md_entity(&quot;rsquo&quot;),
-				&quot;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
-			])
-		],{:want_my_paragraph=&gt;true},[]),
-		md_el(:li,[md_par([&quot;other&quot;])],{:want_my_paragraph=&gt;false},[])
-	],{},[])
-],{},[])
-*** Output of to_html ***
------| WARNING | -----
-
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;This is a list item with two paragraphs.&lt;/p&gt;
-
-&lt;p&gt;This is the second paragraph in the list item. You&amp;rsquo;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
-&lt;/li&gt;
 
-&lt;li&gt;
-&lt;p&gt;other&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-
-*** Output of to_latex ***
-\begin{itemize}%
-\item This is a list item with two paragraphs.
-
-This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
-
-
-\item other
-
-
-
-\end{itemize}
-
-*** Output of to_md ***
------| WARNING | -----
--This is a list item with two paragraphs.
-This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
--ther
-
-
-*** Output of to_s ***
------| WARNING | -----
-This is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitother
 *** Output of Markdown.pl ***
 &lt;ul&gt;
 &lt;li&gt;&lt;p&gt;This is a list item with two paragraphs.&lt;/p&gt;</diff>
      <filename>tests/unittest/list2.md</filename>
    </modified>
    <modified>
      <diff>@@ -70,7 +70,9 @@ md_el(:document,[
 		md_el(:li,[
 			md_par([&quot;This is a list item with two paragraphs.&quot;]),
 			md_par([
-				&quot;This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
+				&quot;This is the second paragraph in the list item. You&quot;,
+				md_entity(&quot;rsquo&quot;),
+				&quot;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
 			])
 		],{:want_my_paragraph=&gt;true},[]),
 		md_el(:li,[md_par([&quot;Another item in the same list.&quot;])],{:want_my_paragraph=&gt;false},[])
@@ -110,7 +112,7 @@ md_el(:document,[
 &lt;li&gt;
 &lt;p&gt;This is a list item with two paragraphs.&lt;/p&gt;
 
-&lt;p&gt;This is the second paragraph in the list item. You&amp;apos;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
+&lt;p&gt;This is the second paragraph in the list item. You&amp;rsquo;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
 &lt;/li&gt;
 
 &lt;li&gt;
@@ -187,185 +189,20 @@ ATTENZIONE!
 Ancora
 
 -This is a list item with two paragraphs.
-This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
+This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
 -nother item in the same list.
 
 
 *** Output of to_s ***
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
 *** EOF ***
 
 
 
+	OK!
 
-Failed tests:   [:inspect, :to_html, :to_md, :to_s] 
 
-*** Output of inspect ***
------| WARNING | -----
-md_el(:document,[
-	md_el(:ul,[
-		md_el(:li_span,[
-			&quot;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&quot;
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_par([&quot;Ancora&quot;]),
-	md_el(:ul,[
-		md_el(:li,[
-			md_par([
-				&quot;This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.&quot;
-			]),
-			md_par([&quot;ATTENZIONE!&quot;])
-		],{:want_my_paragraph=&gt;true},[]),
-		md_el(:li,[
-			md_par([&quot;Suspendisse id sem consectetuer libero luctus adipiscing.&quot;])
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_par([&quot;Ancora&quot;]),
-	md_el(:ul,[
-		md_el(:li,[
-			md_par([&quot;This is a list item with two paragraphs.&quot;]),
-			md_par([
-				&quot;This is the second paragraph in the list item. Yo&quot;,
-				&quot;u&quot;,
-				md_entity(&quot;rsquo&quot;),
-				&quot;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
-			])
-		],{:want_my_paragraph=&gt;true},[]),
-		md_el(:li,[md_par([&quot;Another item in the same list.&quot;])],{:want_my_paragraph=&gt;false},[])
-	],{},[])
-],{},[])
-*** Output of to_html ***
------| WARNING | -----
-
-&lt;ul&gt;
-&lt;li&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.&lt;/li&gt;
 
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&lt;/li&gt;
-
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&lt;/li&gt;
-
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&lt;/li&gt;
-
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;Ancora&lt;/p&gt;
-
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.&lt;/p&gt;
-
-&lt;p&gt;ATTENZIONE!&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;Suspendisse id sem consectetuer libero luctus adipiscing.&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;p&gt;Ancora&lt;/p&gt;
-
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;This is a list item with two paragraphs.&lt;/p&gt;
-
-&lt;p&gt;This is the second paragraph in the list item. You&amp;rsquo;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;Another item in the same list.&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-
-*** Output of to_latex ***
-\begin{itemize}%
-\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
-
-\end{itemize}
-Ancora
-
-\begin{itemize}%
-\item This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-
-ATTENZIONE!
-
-
-\item Suspendisse id sem consectetuer libero luctus adipiscing.
-
-
-
-\end{itemize}
-Ancora
-
-\begin{itemize}%
-\item This is a list item with two paragraphs.
-
-This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
-
-
-\item Another item in the same list.
-
-
-
-\end{itemize}
-
-*** Output of to_md ***
------| WARNING | -----
--orem ipsum dolor sit amet,
-consectetuer adipiscing elit.
-Aliquam hendrerit mi posuere
-lectus. Vestibulum enim wisi,
-viverra nec, fringilla in, laoreet
-vitae, risus.
--onec sit amet nisl. Aliquam semper
-ipsum sit amet velit. Suspendisse
-id sem consectetuer libero luctus
-adipiscing.
--onec sit amet nisl. Aliquam semper
-ipsum sit amet velit. Suspendisse
-id sem consectetuer libero luctus
-adipiscing
--onec sit amet nisl. Aliquam semper
-ipsum sit amet velit. Suspendisse
-id sem consectetuer libero luctus
-adipiscing
--onec sit amet nisl. Aliquam semper
-ipsum sit amet velit. Suspendisse
-id sem consectetuer libero luctus
-adipiscing.
-
-Ancora
-
--This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-ATTENZIONE!
--Suspendisse id sem consectetuer libero luctus adipiscing.
-
-Ancora
-
--This is a list item with two paragraphs.
-This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
--nother item in the same list.
-
-
-*** Output of to_s ***
------| WARNING | -----
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
 *** Output of Markdown.pl ***
 &lt;ul&gt;
 &lt;li&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</diff>
      <filename>tests/unittest/lists.md</filename>
    </modified>
    <modified>
      <diff>@@ -164,11 +164,11 @@ Paragraph with header on two lines:
 
 Paragraph with html after
 
-{\bf Raw HTML removed in latex version }Paragraph with html after, indented: {\bf Raw HTML removed in latex version }
+Paragraph with html after, indented: 
 
-Paragraph with html after, indented: {\bf Raw HTML removed in latex version } {\em tralla} {\bf Raw HTML removed in latex version }
+Paragraph with html after, indented:  {\em tralla} 
 
-Paragraph with html after, indented: {\bf Raw HTML removed in latex version }
+Paragraph with html after, indented: 
 
 
 *** Output of to_md ***</diff>
      <filename>tests/unittest/lists_after_paragraph.md</filename>
    </modified>
    <modified>
      <diff>@@ -89,7 +89,9 @@ md_el(:document,[
 		md_el(:li,[
 			md_par([&quot;This is a list item with two paragraphs.&quot;]),
 			md_par([
-				&quot;This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
+				&quot;This is the second paragraph in the list item. You&quot;,
+				md_entity(&quot;rsquo&quot;),
+				&quot;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
 			])
 		],{:want_my_paragraph=&gt;true},[]),
 		md_el(:li,[md_par([&quot;Another item in the same list.&quot;])],{:want_my_paragraph=&gt;false},[])
@@ -151,7 +153,7 @@ md_el(:document,[
 &lt;li&gt;
 &lt;p&gt;This is a list item with two paragraphs.&lt;/p&gt;
 
-&lt;p&gt;This is the second paragraph in the list item. You&amp;apos;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
+&lt;p&gt;This is the second paragraph in the list item. You&amp;rsquo;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
 &lt;/li&gt;
 
 &lt;li&gt;
@@ -257,248 +259,20 @@ Ancora
 Ancora
 
 -This is a list item with two paragraphs.
-This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
+This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
 -nother item in the same list.
 
 
 *** Output of to_s ***
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!UnoDuetretretreDueSuspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!UnoDuetretretreDueSuspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
 *** EOF ***
 
 
 
-
-Failed tests:   [:inspect, :to_html, :to_md, :to_s] 
-
-*** Output of inspect ***
------| WARNING | -----
-md_el(:document,[
-	md_el(:ol,[
-		md_el(:li_span,[
-			&quot;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			&quot;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&quot;
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_par([&quot;Ancora&quot;]),
-	md_el(:ol,[
-		md_el(:li,[
-			md_par([
-				&quot;This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.&quot;
-			]),
-			md_par([&quot;ATTENZIONE!&quot;]),
-			md_el(:ul,[
-				md_el(:li,[md_par([&quot;Uno&quot;])],{:want_my_paragraph=&gt;false},[]),
-				md_el(:li,[
-					md_par([&quot;Due&quot;]),
-					md_el(:ol,[
-						md_el(:li_span,[&quot;tre&quot;],{:want_my_paragraph=&gt;false},[]),
-						md_el(:li_span,[&quot;tre&quot;],{:want_my_paragraph=&gt;false},[]),
-						md_el(:li_span,[&quot;tre&quot;],{:want_my_paragraph=&gt;false},[])
-					],{},[])
-				],{:want_my_paragraph=&gt;true},[]),
-				md_el(:li,[md_par([&quot;Due&quot;])],{:want_my_paragraph=&gt;false},[])
-			],{},[])
-		],{:want_my_paragraph=&gt;true},[]),
-		md_el(:li,[
-			md_par([&quot;Suspendisse id sem consectetuer libero luctus adipiscing.&quot;])
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_par([&quot;Ancora&quot;]),
-	md_el(:ul,[
-		md_el(:li,[
-			md_par([&quot;This is a list item with two paragraphs.&quot;]),
-			md_par([
-				&quot;This is the second paragraph in the list item. Yo&quot;,
-				&quot;u&quot;,
-				md_entity(&quot;rsquo&quot;),
-				&quot;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&quot;
-			])
-		],{:want_my_paragraph=&gt;true},[]),
-		md_el(:li,[md_par([&quot;Another item in the same list.&quot;])],{:want_my_paragraph=&gt;false},[])
-	],{},[])
-],{},[])
-*** Output of to_html ***
------| WARNING | -----
-
-&lt;ol&gt;
-&lt;li&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.&lt;/li&gt;
-
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&lt;/li&gt;
-
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&lt;/li&gt;
-
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing&lt;/li&gt;
-
-&lt;li&gt;Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.&lt;/li&gt;
-&lt;/ol&gt;
-
-&lt;p&gt;Ancora&lt;/p&gt;
-
-&lt;ol&gt;
-&lt;li&gt;
-&lt;p&gt;This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.&lt;/p&gt;
-
-&lt;p&gt;ATTENZIONE!&lt;/p&gt;
-
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;Uno&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;Due&lt;/p&gt;
-
-&lt;ol&gt;
-&lt;li&gt;tre&lt;/li&gt;
-
-&lt;li&gt;tre&lt;/li&gt;
-
-&lt;li&gt;tre&lt;/li&gt;
-&lt;/ol&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;Due&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;Suspendisse id sem consectetuer libero luctus adipiscing.&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ol&gt;
-
-&lt;p&gt;Ancora&lt;/p&gt;
-
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;This is a list item with two paragraphs.&lt;/p&gt;
-
-&lt;p&gt;This is the second paragraph in the list item. You&amp;rsquo;re only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;Another item in the same list.&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-
-*** Output of to_latex ***
-\begin{enumerate}%
-\item Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing
-\item Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.
-
-\end{enumerate}
-Ancora
-
-\begin{enumerate}%
-\item This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-
-ATTENZIONE!
-
-\begin{itemize}%
-\item Uno
-
-
-\item Due
-
-\begin{enumerate}%
-\item tre
-\item tre
-\item tre
-
-\end{enumerate}
-
-\item Due
-
-
-
-\end{itemize}
-
-\item Suspendisse id sem consectetuer libero luctus adipiscing.
-
-
-
-\end{enumerate}
-Ancora
-
-\begin{itemize}%
-\item This is a list item with two paragraphs.
-
-This is the second paragraph in the list item. You're only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
-
-
-\item Another item in the same list.
-
+	OK!
 
 
-\end{itemize}
 
-*** Output of to_md ***
------| WARNING | -----
-1.  Lorem ipsum dolor sit amet,
-    consectetuer adipiscing elit.
-    Aliquam hendrerit mi posuere
-    lectus. Vestibulum enim wisi,
-    viverra nec, fringilla in, laoreet
-    vitae, risus.
-2.  Donec sit amet nisl. Aliquam semper
-    ipsum sit amet velit. Suspendisse
-    id sem consectetuer libero luctus
-    adipiscing.
-3.  Donec sit amet nisl. Aliquam semper
-    ipsum sit amet velit. Suspendisse
-    id sem consectetuer libero luctus
-    adipiscing
-4.  Donec sit amet nisl. Aliquam semper
-    ipsum sit amet velit. Suspendisse
-    id sem consectetuer libero luctus
-    adipiscing
-5.  Donec sit amet nisl. Aliquam semper
-    ipsum sit amet velit. Suspendisse
-    id sem consectetuer libero luctus
-    adipiscing.
-
-Ancora
-
-1.  
-    This is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
-    ATTENZIONE!
-    Uno
-    
-    Due
-    
-    1.  tre
-    2.  tre
-    3.  tre
-    
-    Due
-2.  
-    Suspendisse id sem consectetuer libero luctus adipiscing.
-
-Ancora
-
--This is a list item with two paragraphs.
-This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elit
--nother item in the same list.
-
-
-*** Output of to_s ***
------| WARNING | -----
-Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscingDonec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.ATTENZIONE!UnoDuetretretreDueSuspendisse id sem consectetuer libero luctus adipiscing.AncoraThis is a list item with two paragraphs.This is the second paragraph in the list item. Youre only required to indent the first line. Lorem ipsum dolo sit amet, consectetuer adipiscing elitAnother item in the same list.
 *** Output of Markdown.pl ***
 &lt;ol&gt;
 &lt;li&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</diff>
      <filename>tests/unittest/lists_ol.md</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 Write a comment abouth the test here.
 *** Parameters: ***
-{:subject=&gt;&quot;Software not painful to use&quot;, :subject_short=&gt;&quot;painless software&quot;, :order=&gt;&quot;-9.5&quot;, :date=&gt;&quot;Nov 20 2006&quot;, :topic=&gt;&quot;/misc/coolsw&quot;, :archive=&gt;false, :inmenu=&gt;true}
+{:topic=&gt;&quot;/misc/coolsw&quot;, :date=&gt;&quot;Nov 20 2006&quot;, :archive=&gt;false, :inmenu=&gt;true, :subject=&gt;&quot;Software not painful to use&quot;, :order=&gt;&quot;-9.5&quot;, :subject_short=&gt;&quot;painless software&quot;}
 *** Markdown input: ***
 Subject: Software not painful to use
 Subject_short: painless software
@@ -130,426 +130,11 @@ md_el(:document,[
 			md_em([&quot;Email&quot;]),
 			&quot;: &quot;,
 			md_link([&quot;GMail&quot;],&quot;gmail&quot;),
-			&quot;, \&quot;search, don't sort\&quot; really works.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;Text Editor&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;TextMate&quot;],&quot;textmate&quot;),
-			&quot;, you have to buy it, but it's worth every penny. There are rumours that it's been converting (recovering) Emacs users (addicts). Unfortunately, it's Mac only. An alternative is &quot;,
-			md_link([&quot;jedit&quot;],&quot;jedit&quot;),
-			&quot; (GPL, Java).&quot;
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_el(:header,[&quot;Development&quot;],{:level=&gt;3},[]),
-	md_el(:ul,[
-		md_el(:li,[
-			md_par([
-				md_em([&quot;Build system&quot;]),
-				&quot;: &quot;,
-				md_link([&quot;cmake&quot;],&quot;cmake&quot;),
-				&quot;, throw the &quot;,
-				md_link([&quot;autotools&quot;],&quot;autotools&quot;),
-				&quot; away.&quot;
-			])
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li,[
-			md_par([
-				md_em([&quot;Source code control system&quot;]),
-				&quot;: ditch CVS for &quot;,
-				md_link([&quot;subversion&quot;],&quot;subversion&quot;),
-				&quot;.&quot;
-			])
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li,[
-			md_par([
-				md_em([&quot;Project management&quot;]),
-				&quot;: &quot;,
-				md_link([&quot;Trac&quot;],&quot;trac&quot;),
-				&quot; tracks everything.&quot;
-			])
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li,[
-			md_par([
-				md_em([&quot;Scripting language&quot;]),
-				&quot;: &quot;,
-				md_link([&quot;Ruby&quot;],&quot;ruby&quot;),
-				&quot; is Japanese pragmatism (and has a &quot;,
-				md_link([&quot;poignant&quot;],&quot;poignant&quot;),
-				&quot; guide). Python, you say? Python is too academic and snob:&quot;
-			]),
-			md_el(:code,[],{:raw_code=&gt;&quot;$ python       \nPython 2.4.1 (\\#1, Jun  4 2005, 00:54:33) \nType \&quot;help\&quot;, \&quot;copyright\&quot;, \&quot;credits\&quot; or \&quot;license\&quot; for more information.\n&gt;&gt;&gt; exit\n'Use Ctrl-D (i.e. EOF) to exit.'\n&gt;&gt;&gt; quit\n'Use Ctrl-D (i.e. EOF) to exit.'&quot;},[])
-		],{:want_my_paragraph=&gt;true},[]),
-		md_el(:li,[
-			md_par([
-				md_em([&quot;Java IDE&quot;]),
-				&quot;: &quot;,
-				md_link([&quot;JBuilder&quot;],&quot;jbuilder&quot;),
-				&quot; is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained &quot;,
-				md_link([&quot;generics&quot;],&quot;java-generics&quot;),
-				&quot; and got opensourced.&quot;
-			])
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li,[
-			md_par([
-				md_em([&quot;Mark-up language&quot;]),
-				&quot;: HTML is so 2001, why don't you take at look at &quot;,
-				md_link([&quot;Markdown&quot;],&quot;markdown&quot;),
-				&quot;? &quot;,
-				md_im_link([&quot;Look at the source of this page&quot;], &quot;data/misc_markdown.png&quot;, nil),
-				&quot;.&quot;
-			])
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li,[
-			md_par([
-				md_em([&quot;C++ libraries&quot;]),
-				&quot;: * &quot;,
-				md_link([&quot;QT&quot;],&quot;qt&quot;),
-				&quot; for GUIs. * &quot;,
-				md_link([&quot;GSL&quot;],&quot;gsl&quot;),
-				&quot; for math. * &quot;,
-				md_link([&quot;Magick++&quot;],&quot;magick&quot;),
-				&quot; for manipulating images. * &quot;,
-				md_link([&quot;Cairo&quot;],&quot;cairo&quot;),
-				&quot; for creating PDFs. * &quot;,
-				md_link([&quot;Boost&quot;],&quot;boost&quot;),
-				&quot; for just about everything else.&quot;
-			])
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_el(:header,[&quot;Research&quot;],{:level=&gt;3},[]),
-	md_el(:ul,[
-		md_el(:li_span,[md_em([&quot;Writing papers&quot;]), &quot;: &quot;, md_link([&quot;LaTeX&quot;],&quot;latex&quot;)],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;Writing papers &amp; enjoying the process&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;LyX&quot;],&quot;lyx&quot;)
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;Handsome figures in your papers&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;xfig&quot;],&quot;xfig&quot;),
-			&quot; or, better, &quot;,
-			md_link([&quot;jfig&quot;],&quot;jfig&quot;),
-			&quot;.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;The occasional presentation with many graphical content&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;OpenOffice Impress&quot;],&quot;impress&quot;),
-			&quot; (using the &quot;,
-			md_link([&quot;OOOlatex plugin&quot;],&quot;ooolatex&quot;),
-			&quot;); the alternative is PowerPoint with the &quot;,
-			md_link([&quot;TexPoint&quot;],&quot;texpoint&quot;),
-			&quot; plugin.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;Managing BibTeX&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;jabref&quot;],&quot;jabref&quot;),
-			&quot;: multi-platform, for all your bibtex needs.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;IEEExplore and BibTeX&quot;]),
-			&quot;: convert citations using &quot;,
-			md_link([&quot;BibConverter&quot;],&quot;bibconverter&quot;),
-			&quot;.&quot;
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_el(:header,[&quot;Cool websites&quot;],{:level=&gt;3},[]),
-	md_el(:ul,[
-		md_el(:li_span,[
-			md_em([&quot;Best site in the wwworld&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;Wikipedia&quot;],&quot;wikipedia&quot;)
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_link([&quot;Mutopia&quot;],&quot;mutopia&quot;),
-			&quot; for sheet music; &quot;,
-			md_link([&quot;the Gutenberg Project&quot;],&quot;gutenberg&quot;),
-			&quot; for books; &quot;,
-			md_link([&quot;LiberLiber&quot;],&quot;liberliber&quot;),
-			&quot; for books in italian.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[md_em([&quot;Blogs&quot;]), &quot;: &quot;, md_link([&quot;Bloglines&quot;],&quot;bloglines&quot;)],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;Sharing photos&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;flickr&quot;],&quot;flickr&quot;),
-			&quot; exposes an API you can use.&quot;
-		],{:want_my_paragraph=&gt;false},[])
-	],{},[]),
-	md_ref_def(&quot;firefox&quot;, &quot;http://getfirefox.com/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;gmail&quot;, &quot;http://gmail.com/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;bloglines&quot;, &quot;http://bloglines.com/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;wikipedia&quot;, &quot;http://en.wikipedia.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;ruby&quot;, &quot;http://www.ruby-lang.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;poignant&quot;, &quot;http://poignantguide.net/ruby/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;webgen&quot;, &quot;http://webgen.rubyforge.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;markdown&quot;, &quot;http://daringfireball.net/projects/markdown/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;latex&quot;, &quot;http://en.wikipedia.org/wiki/LaTeX&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;lyx&quot;, &quot;http://www.lyx.org&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;impress&quot;, &quot;http://www.openoffice.org/product/impress.html&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;ooolatex&quot;, &quot;http://ooolatex.sourceforge.net/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;texpoint&quot;, &quot;http://texpoint.necula.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;jabref&quot;, &quot;http://jabref.sourceforge.net/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;camino&quot;, &quot;http://www.caminobrowser.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;switch&quot;, &quot;http://www.apple.com/getamac/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;textmate&quot;, &quot;http://www.apple.com/getamac/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;cmake&quot;, &quot;http://www.cmake.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;xfig&quot;, &quot;http://www.xfig.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;jfig&quot;, &quot;http://tams-www.informatik.uni-hamburg.de/applets/jfig/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;subversion&quot;, &quot;http://subversion.tigris.org&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;jbuilder&quot;, &quot;http://www.borland.com/us/products/jbuilder/index.html&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;flickr&quot;, &quot;http://www.flickr.com/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;myflickr&quot;, &quot;http://www.flickr.com/photos/censi&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;bibconverter&quot;, &quot;http://www.bibconverter.net/ieeexplore/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;autotools&quot;, &quot;http://sources.redhat.com/autobook/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;jedit&quot;, &quot;http://www.jedit.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;qt&quot;, &quot;http://www.trolltech.no/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;gsl&quot;, &quot;http://www.gnu.org/software/gsl/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;magick&quot;, &quot;http://www.imagemagick.org/Magick++/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;cairo&quot;, &quot;http://cairographics.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;boost&quot;, &quot;http://www.boost.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;markdown&quot;, &quot;http://en.wikipedia.org/wiki/Markdown&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;trac&quot;, &quot;http://trac.edgewall.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;mutopia&quot;, &quot;http://www.mutopiaproject.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;liberliber&quot;, &quot;http://www.liberliber.it/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;gutenberg&quot;, &quot;http://www.gutenberg.org/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;java-generics&quot;, &quot;http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html&quot;, {:title=&gt;nil})
-],{},[])
-*** Output of to_html ***
-
-&lt;h3 id='general'&gt;General&lt;/h3&gt;
-
-&lt;ul&gt;
-&lt;li&gt;&lt;em&gt;Operating System&lt;/em&gt; : &lt;a href='http://www.apple.com/getamac/'&gt;Mac OS X&lt;/a&gt;: heaven, after the purgatory of Linux and the hell of Windows.&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Browser&lt;/em&gt;: &lt;a href='http://getfirefox.com/'&gt;Firefox&lt;/a&gt;. On a Mac, &lt;a href='http://www.caminobrowser.org/'&gt;Camino&lt;/a&gt;.&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Email&lt;/em&gt;: &lt;a href='http://gmail.com/'&gt;GMail&lt;/a&gt;, &amp;quot;search, don&amp;apos;t sort&amp;quot; really works.&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Text Editor&lt;/em&gt;: &lt;a href='http://www.apple.com/getamac/'&gt;TextMate&lt;/a&gt;, you have to buy it, but it&amp;apos;s worth every penny. There are rumours that it&amp;apos;s been converting (recovering) Emacs users (addicts). Unfortunately, it&amp;apos;s Mac only. An alternative is &lt;a href='http://www.jedit.org/'&gt;jedit&lt;/a&gt; (GPL, Java).&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;h3 id='development'&gt;Development&lt;/h3&gt;
-
-&lt;ul&gt;
-&lt;li&gt;
-&lt;p&gt;&lt;em&gt;Build system&lt;/em&gt;: &lt;a href='http://www.cmake.org/'&gt;cmake&lt;/a&gt;, throw the &lt;a href='http://sources.redhat.com/autobook/'&gt;autotools&lt;/a&gt; away.&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;&lt;em&gt;Source code control system&lt;/em&gt;: ditch CVS for &lt;a href='http://subversion.tigris.org'&gt;subversion&lt;/a&gt;.&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;&lt;em&gt;Project management&lt;/em&gt;: &lt;a href='http://trac.edgewall.org/'&gt;Trac&lt;/a&gt; tracks everything.&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;&lt;em&gt;Scripting language&lt;/em&gt;: &lt;a href='http://www.ruby-lang.org/'&gt;Ruby&lt;/a&gt; is Japanese pragmatism (and has a &lt;a href='http://poignantguide.net/ruby/'&gt;poignant&lt;/a&gt; guide). Python, you say? Python is too academic and snob:&lt;/p&gt;
-&lt;pre&gt;&lt;code&gt;$ python       
-Python 2.4.1 (\#1, Jun  4 2005, 00:54:33) 
-Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;license&amp;quot; for more information.
-&amp;gt;&amp;gt;&amp;gt; exit
-&amp;apos;Use Ctrl-D (i.e. EOF) to exit.&amp;apos;
-&amp;gt;&amp;gt;&amp;gt; quit
-&amp;apos;Use Ctrl-D (i.e. EOF) to exit.&amp;apos;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;&lt;em&gt;Java IDE&lt;/em&gt;: &lt;a href='http://www.borland.com/us/products/jbuilder/index.html'&gt;JBuilder&lt;/a&gt; is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained &lt;a href='http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html'&gt;generics&lt;/a&gt; and got opensourced.&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;&lt;em&gt;Mark-up language&lt;/em&gt;: HTML is so 2001, why don&amp;apos;t you take at look at &lt;a href='http://en.wikipedia.org/wiki/Markdown'&gt;Markdown&lt;/a&gt;? &lt;a href='data/misc_markdown.png'&gt;Look at the source of this page&lt;/a&gt;.&lt;/p&gt;
-&lt;/li&gt;
-
-&lt;li&gt;
-&lt;p&gt;&lt;em&gt;C++ libraries&lt;/em&gt;: * &lt;a href='http://www.trolltech.no/'&gt;QT&lt;/a&gt; for GUIs. * &lt;a href='http://www.gnu.org/software/gsl/'&gt;GSL&lt;/a&gt; for math. * &lt;a href='http://www.imagemagick.org/Magick++/'&gt;Magick++&lt;/a&gt; for manipulating images. * &lt;a href='http://cairographics.org/'&gt;Cairo&lt;/a&gt; for creating PDFs. * &lt;a href='http://www.boost.org/'&gt;Boost&lt;/a&gt; for just about everything else.&lt;/p&gt;
-&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;h3 id='research'&gt;Research&lt;/h3&gt;
-
-&lt;ul&gt;
-&lt;li&gt;&lt;em&gt;Writing papers&lt;/em&gt;: &lt;a href='http://en.wikipedia.org/wiki/LaTeX'&gt;LaTeX&lt;/a&gt;&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Writing papers &amp;amp; enjoying the process&lt;/em&gt;: &lt;a href='http://www.lyx.org'&gt;LyX&lt;/a&gt;&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Handsome figures in your papers&lt;/em&gt;: &lt;a href='http://www.xfig.org/'&gt;xfig&lt;/a&gt; or, better, &lt;a href='http://tams-www.informatik.uni-hamburg.de/applets/jfig/'&gt;jfig&lt;/a&gt;.&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;The occasional presentation with many graphical content&lt;/em&gt;: &lt;a href='http://www.openoffice.org/product/impress.html'&gt;OpenOffice Impress&lt;/a&gt; (using the &lt;a href='http://ooolatex.sourceforge.net/'&gt;OOOlatex plugin&lt;/a&gt;); the alternative is PowerPoint with the &lt;a href='http://texpoint.necula.org/'&gt;TexPoint&lt;/a&gt; plugin.&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Managing BibTeX&lt;/em&gt;: &lt;a href='http://jabref.sourceforge.net/'&gt;jabref&lt;/a&gt;: multi-platform, for all your bibtex needs.&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;IEEExplore and BibTeX&lt;/em&gt;: convert citations using &lt;a href='http://www.bibconverter.net/ieeexplore/'&gt;BibConverter&lt;/a&gt;.&lt;/li&gt;
-&lt;/ul&gt;
-
-&lt;h3 id='cool_websites'&gt;Cool websites&lt;/h3&gt;
-
-&lt;ul&gt;
-&lt;li&gt;&lt;em&gt;Best site in the wwworld&lt;/em&gt;: &lt;a href='http://en.wikipedia.org/'&gt;Wikipedia&lt;/a&gt;&lt;/li&gt;
-
-&lt;li&gt;&lt;a href='http://www.mutopiaproject.org/'&gt;Mutopia&lt;/a&gt; for sheet music; &lt;a href='http://www.gutenberg.org/'&gt;the Gutenberg Project&lt;/a&gt; for books; &lt;a href='http://www.liberliber.it/'&gt;LiberLiber&lt;/a&gt; for books in italian.&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Blogs&lt;/em&gt;: &lt;a href='http://bloglines.com/'&gt;Bloglines&lt;/a&gt;&lt;/li&gt;
-
-&lt;li&gt;&lt;em&gt;Sharing photos&lt;/em&gt;: &lt;a href='http://www.flickr.com/'&gt;flickr&lt;/a&gt; exposes an API you can use.&lt;/li&gt;
-&lt;/ul&gt;
-
-*** Output of to_latex ***
-\hypertarget{general}{}\subsubsection*{{General}}\label{general}
-
-\begin{itemize}%
-\item {\em Operating System} : \href{http://www.apple.com/getamac/}{Mac OS X}: heaven, after the purgatory of Linux and the hell of Windows.
-\item {\em Browser}: \href{http://getfirefox.com/}{Firefox}. On a Mac, \href{http://www.caminobrowser.org/}{Camino}.
-\item {\em Email}: \href{http://gmail.com/}{GMail}, &quot;search, don't sort&quot; really works.
-\item {\em Text Editor}: \href{http://www.apple.com/getamac/}{TextMate}, you have to buy it, but it's worth every penny. There are rumours that it's been converting (recovering) Emacs users (addicts). Unfortunately, it's Mac only. An alternative is \href{http://www.jedit.org/}{jedit} (GPL, Java).
-
-\end{itemize}
-\hypertarget{development}{}\subsubsection*{{Development}}\label{development}
-
-\begin{itemize}%
-\item {\em Build system}: \href{http://www.cmake.org/}{cmake}, throw the \href{http://sources.redhat.com/autobook/}{autotools} away.
-
-
-\item {\em Source code control system}: ditch CVS for \href{http://subversion.tigris.org}{subversion}.
-
-
-\item {\em Project management}: \href{http://trac.edgewall.org/}{Trac} tracks everything.
-
-
-\item {\em Scripting language}: \href{http://www.ruby-lang.org/}{Ruby} is Japanese pragmatism (and has a \href{http://poignantguide.net/ruby/}{poignant} guide). Python, you say? Python is too academic and snob:
-
-\begin{verbatim}$ python       
-Python 2.4.1 (\#1, Jun  4 2005, 00:54:33) 
-Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
-&gt;&gt;&gt; exit
-'Use Ctrl-D (i.e. EOF) to exit.'
-&gt;&gt;&gt; quit
-'Use Ctrl-D (i.e. EOF) to exit.'\end{verbatim}
-
-\item {\em Java IDE}: \href{http://www.borland.com/us/products/jbuilder/index.html}{JBuilder} is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained \href{http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html}{generics} and got opensourced.
-
-
-\item {\em Mark-up language}: HTML is so 2001, why don't you take at look at \href{http://en.wikipedia.org/wiki/Markdown}{Markdown}? .
-
-
-\item {\em C++ libraries}: * \href{http://www.trolltech.no/}{QT} for GUIs. * \href{http://www.gnu.org/software/gsl/}{GSL} for math. * \href{http://www.imagemagick.org/Magick++/}{Magick++} for manipulating images. * \href{http://cairographics.org/}{Cairo} for creating PDFs. * \href{http://www.boost.org/}{Boost} for just about everything else.
-
-
-
-\end{itemize}
-\hypertarget{research}{}\subsubsection*{{Research}}\label{research}
-
-\begin{itemize}%
-\item {\em Writing papers}: \href{http://en.wikipedia.org/wiki/LaTeX}{LaTeX}
-\item {\em Writing papers \&amp; enjoying the process}: \href{http://www.lyx.org}{LyX}
-\item {\em Handsome figures in your papers}: \href{http://www.xfig.org/}{xfig} or, better, \href{http://tams-www.informatik.uni-hamburg.de/applets/jfig/}{jfig}.
-\item {\em The occasional presentation with many graphical content}: \href{http://www.openoffice.org/product/impress.html}{OpenOffice Impress} (using the \href{http://ooolatex.sourceforge.net/}{OOOlatex plugin}); the alternative is PowerPoint with the \href{http://texpoint.necula.org/}{TexPoint} plugin.
-\item {\em Managing BibTeX}: \href{http://jabref.sourceforge.net/}{jabref}: multi-platform, for all your bibtex needs.
-\item {\em IEEExplore and BibTeX}: convert citations using \href{http://www.bibconverter.net/ieeexplore/}{BibConverter}.
-
-\end{itemize}
-\hypertarget{cool_websites}{}\subsubsection*{{Cool websites}}\label{cool_websites}
-
-\begin{itemize}%
-\item {\em Best site in the wwworld}: \href{http://en.wikipedia.org/}{Wikipedia}
-\item \href{http://www.mutopiaproject.org/}{Mutopia} for sheet music; \href{http://www.gutenberg.org/}{the Gutenberg Project} for books; \href{http://www.liberliber.it/}{LiberLiber} for books in italian.
-\item {\em Blogs}: \href{http://bloglines.com/}{Bloglines}
-\item {\em Sharing photos}: \href{http://www.flickr.com/}{flickr} exposes an API you can use.
-
-\end{itemize}
-
-*** Output of to_md ***
-General-perating System: Mac OS X: heaven,
-after the purgatory of Linux and
-the hell of Windows.
--rowser: Firefox. On a Mac, Camino.
--mail: GMail, &quot;search, don't sort&quot;
-really works.
--ext Editor: TextMate, you have to
-buy it, but it's worth every penny.
-There are rumours that it's been
-converting (recovering) Emacs users
-(addicts). Unfortunately, it's Mac
-only. An alternative is jedit(GPL,
-Java).
-
-Development-Build system: cmake, throw the autotools away.
--Source code control system: ditch CVS for subversion.
--Project management: Trac tracks everything.
--Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:
--Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.
--Mark-up language: HTML is so 2001, why don't you take at look at Markdown? Look at the source of this page.
--C++ libraries: * QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.
-
-Research-riting papers: LaTeX
--Writing papers &amp; enjoying the process
-: LyX
--andsome figures in your papers:
-xfigor, better, jfig.
--The occasional presentation with many graphical content
-: OpenOffice Impress(using the
-OOOlatex plugin); the alternative
-is PowerPoint with the TexPoint
-plugin.
--anaging BibTeX: jabref:
-multi-platform, for all your bibtex
-needs.
--EEExplore and BibTeX: convert
-citations using BibConverter.
-
-Cool websites-est site in the wwworld: Wikipedia
--utopiafor sheet music;
-the Gutenberg Projectfor books;
-LiberLiberfor books in italian.
--logs: Bloglines
--haring photos: flickrexposes an
-API you can use.
-
-
-*** Output of to_s ***
-GeneralOperating System : Mac OS X: heaven, after the purgatory of Linux and the hell of Windows.Browser: Firefox. On a Mac, Camino.Email: GMail, &quot;search, don't sort&quot; really works.Text Editor: TextMate, you have to buy it, but it's worth every penny. There are rumours that it's been converting (recovering) Emacs users (addicts). Unfortunately, it's Mac only. An alternative is jedit (GPL, Java).DevelopmentBuild system: cmake, throw the autotools away.Source code control system: ditch CVS for subversion.Project management: Trac tracks everything.Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.Mark-up language: HTML is so 2001, why don't you take at look at Markdown? Look at the source of this page.C++ libraries: * QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.ResearchWriting papers: LaTeXWriting papers &amp; enjoying the process: LyXHandsome figures in your papers: xfig or, better, jfig.The occasional presentation with many graphical content: OpenOffice Impress (using the OOOlatex plugin); the alternative is PowerPoint with the TexPoint plugin.Managing BibTeX: jabref: multi-platform, for all your bibtex needs.IEEExplore and BibTeX: convert citations using BibConverter.Cool websitesBest site in the wwworld: WikipediaMutopia for sheet music; the Gutenberg Project for books; LiberLiber for books in italian.Blogs: BloglinesSharing photos: flickr exposes an API you can use.
-*** EOF ***
-
-
-
-
-Failed tests:   [:inspect, :to_html, :to_latex, :to_md, :to_s] 
-
-*** Output of inspect ***
------| WARNING | -----
-md_el(:document,[
-	md_el(:header,[&quot;General&quot;],{:level=&gt;3},[]),
-	md_el(:ul,[
-		md_el(:li_span,[
-			md_em([&quot;Operating System&quot;]),
-			&quot; : &quot;,
-			md_link([&quot;Mac OS X&quot;],&quot;switch&quot;),
-			&quot;: heaven, after the purgatory of Linux and the hell of Windows.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;Browser&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;Firefox&quot;],&quot;firefox&quot;),
-			&quot;. On a Mac, &quot;,
-			md_link([&quot;Camino&quot;],&quot;camino&quot;),
-			&quot;.&quot;
-		],{:want_my_paragraph=&gt;false},[]),
-		md_el(:li_span,[
-			md_em([&quot;Email&quot;]),
-			&quot;: &quot;,
-			md_link([&quot;GMail&quot;],&quot;gmail&quot;),
-			&quot;,&quot;,
-			&quot; &quot;,
+			&quot;, &quot;,
 			md_entity(&quot;ldquo&quot;),
-			&quot;search, do&quot;,
-			&quot;n&quot;,
+			&quot;search, don&quot;,
 			md_entity(&quot;rsquo&quot;),
-			&quot;t sor&quot;,
-			&quot;t&quot;,
+			&quot;t sort&quot;,
 			md_entity(&quot;rdquo&quot;),
 			&quot; really works.&quot;
 		],{:want_my_paragraph=&gt;false},[]),
@@ -557,14 +142,11 @@ md_el(:document,[
 			md_em([&quot;Text Editor&quot;]),
 			&quot;: &quot;,
 			md_link([&quot;TextMate&quot;],&quot;textmate&quot;),
-			&quot;, you have to buy it, but i&quot;,
-			&quot;t&quot;,
+			&quot;, you have to buy it, but it&quot;,
 			md_entity(&quot;rsquo&quot;),
-			&quot;s worth every penny. There are rumours that i&quot;,
-			&quot;t&quot;,
+			&quot;s worth every penny. There are rumours that it&quot;,
 			md_entity(&quot;rsquo&quot;),
-			&quot;s been converting (recovering) Emacs users (addicts). Unfortunately, i&quot;,
-			&quot;t&quot;,
+			&quot;s been converting (recovering) Emacs users (addicts). Unfortunately, it&quot;,
 			md_entity(&quot;rsquo&quot;),
 			&quot;s Mac only. An alternative is &quot;,
 			md_link([&quot;jedit&quot;],&quot;jedit&quot;),
@@ -623,8 +205,7 @@ md_el(:document,[
 		md_el(:li,[
 			md_par([
 				md_em([&quot;Mark-up language&quot;]),
-				&quot;: HTML is so 2001, why do&quot;,
-				&quot;n&quot;,
+				&quot;: HTML is so 2001, why don&quot;,
 				md_entity(&quot;rsquo&quot;),
 				&quot;t you take at look at &quot;,
 				md_link([&quot;Markdown&quot;],&quot;markdown&quot;),
@@ -752,7 +333,6 @@ md_el(:document,[
 	md_ref_def(&quot;java-generics&quot;, &quot;http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html&quot;, {:title=&gt;nil})
 ],{},[])
 *** Output of to_html ***
------| WARNING | -----
 
 &lt;h3 id='general'&gt;General&lt;/h3&gt;
 
@@ -833,7 +413,6 @@ Type &amp;quot;help&amp;quot;, &amp;quot;copyright&amp;quot;, &amp;quot;credits&amp;quot; or &amp;quot;licen
 &lt;/ul&gt;
 
 *** Output of to_latex ***
------| WARNING | -----
 \hypertarget{general}{}\subsubsection*{{General}}\label{general}
 
 \begin{itemize}%
@@ -868,7 +447,7 @@ Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
 \item {\em Java IDE}: \href{http://www.borland.com/us/products/jbuilder/index.html}{JBuilder} is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained \href{http://java.sun.com/j2se/1.5.0/docs/guide/language/generics.html}{generics} and got opensourced.
 
 
-\item {\em Mark-up language}: HTML is so 2001, why don't you take at look at \href{http://en.wikipedia.org/wiki/Markdown}{Markdown}? .
+\item {\em Mark-up language}: HTML is so 2001, why don't you take at look at \href{http://en.wikipedia.org/wiki/Markdown}{Markdown}? \href{data/misc_markdown.png}{Look at the source of this page}.
 
 
 \item {\em C++ libraries}: * \href{http://www.trolltech.no/}{QT} for GUIs. * \href{http://www.gnu.org/software/gsl/}{GSL} for math. * \href{http://www.imagemagick.org/Magick++/}{Magick++} for manipulating images. * \href{http://cairographics.org/}{Cairo} for creating PDFs. * \href{http://www.boost.org/}{Boost} for just about everything else.
@@ -898,20 +477,19 @@ Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
 \end{itemize}
 
 *** Output of to_md ***
------| WARNING | -----
 General-perating System: Mac OS X: heaven,
 after the purgatory of Linux and
 the hell of Windows.
 -rowser: Firefox. On a Mac, Camino.
--mail: GMail, search, do n t sor t
+-mail: GMail, search, don t sort
 really works.
 -ext Editor: TextMate, you have to
-buy it, but i t s worth every
-penny. There are rumours that i t s
-been converting (recovering) Emacs
-users (addicts). Unfortunately, i t
-s Mac only. An alternative is jedit
-(GPL, Java).
+buy it, but it s worth every penny.
+There are rumours that it s been
+converting (recovering) Emacs users
+(addicts). Unfortunately, it s Mac
+only. An alternative is jedit(GPL,
+Java).
 
 Development-Build system: cmake, throw the autotools away.
 -Source code control system: ditch CVS for subversion.
@@ -947,8 +525,15 @@ API you can use.
 
 
 *** Output of to_s ***
------| WARNING | -----
 GeneralOperating System : Mac OS X: heaven, after the purgatory of Linux and the hell of Windows.Browser: Firefox. On a Mac, Camino.Email: GMail, search, dont sort really works.Text Editor: TextMate, you have to buy it, but its worth every penny. There are rumours that its been converting (recovering) Emacs users (addicts). Unfortunately, its Mac only. An alternative is jedit (GPL, Java).DevelopmentBuild system: cmake, throw the autotools away.Source code control system: ditch CVS for subversion.Project management: Trac tracks everything.Scripting language: Ruby is Japanese pragmatism (and has a poignant guide). Python, you say? Python is too academic and snob:Java IDE: JBuilder is great software and has a free version (IMHO better than Eclipse). Java is not a pain anymore since it gained generics and got opensourced.Mark-up language: HTML is so 2001, why dont you take at look at Markdown? Look at the source of this page.C++ libraries: * QT for GUIs. * GSL for math. * Magick++ for manipulating images. * Cairo for creating PDFs. * Boost for just about everything else.ResearchWriting papers: LaTeXWriting papers &amp; enjoying the process: LyXHandsome figures in your papers: xfig or, better, jfig.The occasional presentation with many graphical content: OpenOffice Impress (using the OOOlatex plugin); the alternative is PowerPoint with the TexPoint plugin.Managing BibTeX: jabref: multi-platform, for all your bibtex needs.IEEExplore and BibTeX: convert citations using BibConverter.Cool websitesBest site in the wwworld: WikipediaMutopia for sheet music; the Gutenberg Project for books; LiberLiber for books in italian.Blogs: BloglinesSharing photos: flickr exposes an API you can use.
+*** EOF ***
+
+
+
+	OK!
+
+
+
 *** Output of Markdown.pl ***
 &lt;p&gt;Subject: Software not painful to use
 Subject_short: painless software</diff>
      <filename>tests/unittest/misc_sw.md</filename>
    </modified>
    <modified>
      <diff>@@ -14,9 +14,9 @@ md_el(:document,[md_par([md_code(&quot;\\\\&quot;)]), md_par([md_code(&quot;\\&quot;)])],{},[])
 &lt;p&gt;&lt;code&gt;\&lt;/code&gt;&lt;/p&gt;
 
 *** Output of to_latex ***
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char92\char92}
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char92\char92}
 
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char92}
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char92}
 
 
 *** Output of to_md ***</diff>
      <filename>tests/unittest/notyet/escape.md</filename>
    </modified>
    <modified>
      <diff>@@ -13,7 +13,7 @@ md_el(:document,[md_par([md_code(&quot;There is a literal backtick (`) here.&quot;)])],{},
 &lt;p&gt;&lt;code&gt;There is a literal backtick (`) here.&lt;/code&gt;&lt;/p&gt;
 
 *** Output of to_latex ***
-\colorbox[rgb]{1.00,0.67,1.00}{\tt \char84\char104\char101\char114\char101\char32\char105\char115\char32\char97\char32\char108\char105\char116\char101\char114\char97\char108\char32\char98\char97\char99\char107\char116\char105\char99\char107\char32\char40\char96\char41\char32\char104\char101\char114\char101\char46}
+\colorbox[rgb]{1.00,0.93,1.00}{\tt \char84\char104\char101\char114\char101\char32\char105\char115\char32\char97\char32\char108\char105\char116\char101\char114\char97\char108\char32\char98\char97\char99\char107\char116\char105\char99\char107\char32\char40\char96\char41\char32\char104\char101\char114\char101\char46}
 
 
 *** Output of to_md ***</diff>
      <filename>tests/unittest/notyet/ticks.md</filename>
    </modified>
    <modified>
      <diff>@@ -18,66 +18,6 @@ To this end, Markdown's syntax is comprised entirely of punctuation
 *** Output of inspect ***
 md_el(:document,[
 	md_par([
-		&quot;filters -- including &quot;,
-		md_link([&quot;Setext&quot;],&quot;1&quot;),
-		&quot;, &quot;,
-		md_link([&quot;atx&quot;],&quot;2&quot;),
-		&quot;, &quot;,
-		md_link([&quot;Textile&quot;],&quot;3&quot;),
-		&quot;, &quot;,
-		md_link([&quot;reStructuredText&quot;],&quot;4&quot;),
-		&quot;, &quot;,
-		md_link([&quot;Grutatext&quot;],&quot;5&quot;),
-		&quot;, and &quot;,
-		md_link([&quot;EtText&quot;],&quot;6&quot;),
-		&quot; -- the single biggest source of inspiration for Markdown's syntax is the format of plain text email.&quot;
-	]),
-	md_ref_def(&quot;1&quot;, &quot;http://docutils.sourceforge.net/mirror/setext.html&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;2&quot;, &quot;http://www.aaronsw.com/2002/atx/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;3&quot;, &quot;http://textism.com/tools/textile/&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;4&quot;, &quot;http://docutils.sourceforge.net/rst.html&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;5&quot;, &quot;http://www.triptico.com/software/grutatxt.html&quot;, {:title=&gt;nil}),
-	md_ref_def(&quot;6&quot;, &quot;http://ettext.taint.org/doc/&quot;, {:title=&gt;nil}),
-	md_par([
-		&quot;To this end, Markdown's syntax is comprised entirely of punctuation&quot;
-	])
-],{},[])
-*** Output of to_html ***
-
-&lt;p&gt;filters -- including &lt;a href='http://docutils.sourceforge.net/mirror/setext.html'&gt;Setext&lt;/a&gt;, &lt;a href='http://www.aaronsw.com/2002/atx/'&gt;atx&lt;/a&gt;, &lt;a href='http://textism.com/tools/textile/'&gt;Textile&lt;/a&gt;, &lt;a href='http://docutils.sourceforge.net/rst.html'&gt;reStructuredText&lt;/a&gt;, &lt;a href='http://www.triptico.com/software/grutatxt.html'&gt;Grutatext&lt;/a&gt;, and &lt;a href='http://ettext.taint.org/doc/'&gt;EtText&lt;/a&gt; -- the single biggest source of inspiration for Markdown&amp;apos;s syntax is the format of plain text email.&lt;/p&gt;
-
-&lt;p&gt;To this end, Markdown&amp;apos;s syntax is comprised entirely of punctuation&lt;/p&gt;
-
-*** Output of to_latex ***
-filters -- including \href{http://docutils.sourceforge.net/mirror/setext.html}{Setext}, \href{http://www.aaronsw.com/2002/atx/}{atx}, \href{http://textism.com/tools/textile/}{Textile}, \href{http://docutils.sourceforge.net/rst.html}{reStructuredText}, \href{http://www.triptico.com/software/grutatxt.html}{Grutatext}, and \href{http://ettext.taint.org/doc/}{EtText} -- the single biggest source of inspiration for Markdown's syntax is the format of plain text email.
-
-To this end, Markdown's syntax is comprised entirely of punctuation
-
-
-*** Output of to_md ***
-filters -- including Setext, atx,
-Textile, reStructuredText, Grutatext,
-and EtText-- the single biggest source
-of inspiration for Markdown's syntax is
-the format of plain text email.
-
-To this end, Markdown's syntax is
-comprised entirely of punctuation
-
-
-*** Output of to_s ***
-filters -- including Setext, atx, Textile, reStructuredText, Grutatext, and EtText -- the single biggest source of inspiration for Markdown's syntax is the format of plain text email.To this end, Markdown's syntax is comprised entirely of punctuation
-*** EOF ***
-
-
-
-
-Failed tests:   [:inspect, :to_html, :to_md, :to_s] 
-
-*** Output of inspect ***
------| WARNING | -----
-md_el(:document,[
-	md_par([
 		&quot;filters &quot;,
 		md_entity(&quot;ndash&quot;),
 		&quot; including &quot;,
@@ -94,8 +34,7 @@ md_el(:document,[
 		md_link([&quot;EtText&quot;],&quot;6&quot;),
 		&quot; &quot;,
 		md_entity(&quot;ndash&quot;),
-		&quot; the single biggest source of inspiration for Markdow&quot;,
-		&quot;n&quot;,
+		&quot; the single biggest source of inspiration for Markdown&quot;,
 		md_entity(&quot;rsquo&quot;),
 		&quot;s syntax is the format of plain text email.&quot;
 	]),
@@ -106,14 +45,12 @@ md_el(:document,[
 	md_ref_def(&quot;5&quot;, &quot;http://www.triptico.com/software/grutatxt.html&quot;, {:title=&gt;nil}),
 	md_ref_def(&quot;6&quot;, &quot;http://ettext.taint.org/doc/&quot;, {:title=&gt;nil}),
 	md_par([
-		&quot;To this end, Markdow&quot;,
-		&quot;n&quot;,
+		&quot;To this end, Markdown&quot;,
 		md_entity(&quot;rsquo&quot;),
 		&quot;s syntax is comprised entirely of punctuation&quot;
 	])
 ],{},[])
 *** Output of to_html ***
------| WARNING | -----
 
 &lt;p&gt;filters &amp;ndash; including &lt;a href='http://docutils.sourceforge.net/mirror/setext.html'&gt;Setext&lt;/a&gt;, &lt;a href='http://www.aaronsw.com/2002/atx/'&gt;atx&lt;/a&gt;, &lt;a href='http://textism.com/tools/textile/'&gt;Textile&lt;/a&gt;, &lt;a href='http://docutils.sourceforge.net/rst.html'&gt;reStructuredText&lt;/a&gt;, &lt;a href='http://www.triptico.com/software/grutatxt.html'&gt;Grutatext&lt;/a&gt;, and &lt;a href='http://ettext.taint.org/doc/'&gt;EtText&lt;/a&gt; &amp;ndash; the single biggest source of inspiration for Markdown&amp;rsquo;s syntax is the format of plain text email.&lt;/p&gt;
 
@@ -126,20 +63,26 @@ To this end, Markdown's syntax is comprised entirely of punctuation
 
 
 *** Output of to_md ***
------| WARNING | -----
 filters including Setext, atx, Textile,
 reStructuredText, Grutatext, and EtText
 the single biggest source of
-inspiration for Markdow n s syntax is
+inspiration for Markdown s syntax is
 the format of plain text email.
 
-To this end, Markdow n s syntax is
+To this end, Markdown s syntax is
 comprised entirely of punctuation
 
 
 *** Output of to_s ***
------| WARNING | -----
 filters  including Setext, atx, Textile, reStructuredText, Grutatext, and EtText  the single biggest source of inspiration for Markdowns syntax is the format of plain text email.To this end, Markdowns syntax is comprised entirely of punctuation
+*** EOF ***
+
+
+
+	OK!
+
+
+
 *** Output of Markdown.pl ***
 &lt;p&gt;filters -- including &lt;a href=&quot;http://docutils.sourceforge.net/mirror/setext.html&quot;&gt;Setext&lt;/a&gt;, &lt;a href=&quot;http://www.aaronsw.com/2002/atx/&quot;&gt;atx&lt;/a&gt;, &lt;a href=&quot;http://textism.com/tools/textile/&quot;&gt;Textile&lt;/a&gt;, &lt;a href=&quot;http://docutils.sourceforge.net/rst.html&quot;&gt;reStructuredText&lt;/a&gt;,
 &lt;a href=&quot;http://www.triptico.com/software/grutatxt.html&quot;&gt;Grutatext&lt;/a&gt;, and &lt;a href=&quot;http://ettext.taint.org/doc/&quot;&gt;EtText&lt;/a&gt; -- the single biggest source of</diff>
      <filename>tests/unittest/references/long_example.md</filename>
    </modified>
    <modified>
      <diff>@@ -2,9 +2,3 @@
 &lt;p&gt;Targets &lt;? noTarget?&gt; &lt;?php ?&gt; &lt;?xml ?&gt; &lt;?mrk ?&gt;&lt;/p&gt;
 
 &lt;p&gt;Inside: &lt;? puts &quot;Inside: Hello&quot;?&gt; last&lt;/p&gt;
-
-&lt;p&gt;after&lt;/p&gt;
-&lt;?mrk Time.now.year.to_s?&gt;
-&lt;p&gt;Year is &lt;?mrk Time.now.year.to_s?&gt;&lt;/p&gt;
-&lt;?maruku @doc.children.push md_par(&quot;A new paragraph&quot;)?&gt;
-&lt;p&gt;After&lt;/p&gt;</diff>
      <filename>tests/unittest/xml_instruction.html</filename>
    </modified>
    <modified>
      <diff>@@ -12,17 +12,6 @@ Targets &lt;? noTarget?&gt; &lt;?php ?&gt; &lt;?xml ?&gt; &lt;?mrk ?&gt;
 
 Inside: &lt;? puts &quot;Inside: Hello&quot; ?&gt;{exec} last
 
-after
-
-&lt;?mrk Time.now.year.to_s ?&gt;          
-
-Year is &lt;?mrk Time.now.year.to_s ?&gt;
-
-&lt;?maruku
-	@doc.children.push md_par(&quot;A new paragraph&quot;)
-?&gt;
-
-After 
 
 *** Output of inspect ***
 md_el(:document,[
@@ -45,16 +34,7 @@ md_el(:document,[
 		md_el(:xml_instr,[],{:code=&gt;&quot;puts \&quot;Inside: Hello\&quot;&quot;,:target=&gt;&quot;&quot;},[[:ref, &quot;exec&quot;]]),
 		md_ial([[:ref, &quot;exec&quot;]]),
 		&quot; last&quot;
-	]),
-	md_par([&quot;after&quot;]),
-	md_el(:xml_instr,[],{:code=&gt;&quot;Time.now.year.to_s &quot;,:target=&gt;&quot;mrk&quot;},[]),
-	md_par([
-		&quot;Year is &quot;,
-		md_el(:xml_instr,[],{:code=&gt;&quot;Time.now.year.to_s&quot;,:target=&gt;&quot;mrk&quot;},[])
-	]),
-	md_el(:xml_instr,[],{:code=&gt;&quot;\n\t@doc.children.push md_par(\&quot;A new paragraph\&quot;)\n&quot;,:target=&gt;&quot;maruku&quot;},[]),
-	md_par([&quot;After&quot;]),
-	md_par(&quot;A new paragraph&quot;)
+	])
 ],{},[])
 *** Output of to_html ***
 &lt;? noTarget?&gt;&lt;?php ?&gt;&lt;?xml ?&gt;&lt;?mrk ?&gt;
@@ -62,153 +42,28 @@ md_el(:document,[
 
 &lt;p&gt;Inside: &lt;? puts &quot;Inside: Hello&quot;?&gt; last&lt;/p&gt;
 
-&lt;p&gt;after&lt;/p&gt;
-&lt;?mrk Time.now.year.to_s?&gt;
-&lt;p&gt;Year is &lt;?mrk Time.now.year.to_s?&gt;&lt;/p&gt;
-&lt;?maruku @doc.children.push md_par(&quot;A new paragraph&quot;)?&gt;
-&lt;p&gt;After&lt;/p&gt;
-
-&lt;p&gt;A new paragraph&lt;/p&gt;
-
 *** Output of to_latex ***
 Targets    
 
 Inside:  last
 
-after
-
-Year is 
-
-After
-
-A new paragraph
-
 
 *** Output of to_md ***
 Targets
 
 Inside: last
 
-after
-
-Year is
-
-After
-
-A new paragraph
-
 
 *** Output of to_s ***
-#&lt;NoMethodError: undefined method `join' for &quot;A new paragraph&quot;:String&gt;
-./lib/maruku/output/to_s.rb:32:in `children_to_s'
-./lib/maruku/output/to_s.rb:28:in `to_s'
-./lib/maruku/output/to_s.rb:32:in `join'
-./lib/maruku/output/to_s.rb:32:in `children_to_s'
-./lib/maruku/output/to_s.rb:28:in `to_s'
-bin/marutest:67:in `send'
-bin/marutest:67:in `run_test'
-bin/marutest:62:in `each'
-bin/marutest:62:in `run_test'
-bin/marutest:235:in `marutest'
-bin/marutest:233:in `each'
-bin/marutest:233:in `marutest'
-bin/marutest:303
+Targets    Inside:  last
 *** EOF ***
 
 
 
+	OK!
 
-Failed tests:   [] 
 
-*** Output of inspect ***
-md_el(:document,[
-	md_el(:xml_instr,[],{:code=&gt;&quot; noTarget&quot;,:target=&gt;&quot;&quot;},[]),
-	md_el(:xml_instr,[],{:code=&gt;&quot;&quot;,:target=&gt;&quot;php&quot;},[]),
-	md_el(:xml_instr,[],{:code=&gt;&quot;&quot;,:target=&gt;&quot;xml&quot;},[]),
-	md_el(:xml_instr,[],{:code=&gt;&quot;&quot;,:target=&gt;&quot;mrk&quot;},[]),
-	md_par([
-		&quot;Targets &quot;,
-		md_el(:xml_instr,[],{:code=&gt;&quot;noTarget&quot;,:target=&gt;&quot;&quot;},[]),
-		&quot; &quot;,
-		md_el(:xml_instr,[],{:code=&gt;&quot;&quot;,:target=&gt;&quot;php&quot;},[]),
-		&quot; &quot;,
-		md_el(:xml_instr,[],{:code=&gt;&quot;&quot;,:target=&gt;&quot;xml&quot;},[]),
-		&quot; &quot;,
-		md_el(:xml_instr,[],{:code=&gt;&quot;&quot;,:target=&gt;&quot;mrk&quot;},[])
-	]),
-	md_par([
-		&quot;Inside: &quot;,
-		md_el(:xml_instr,[],{:code=&gt;&quot;puts \&quot;Inside: Hello\&quot;&quot;,:target=&gt;&quot;&quot;},[[:ref, &quot;exec&quot;]]),
-		md_ial([[:ref, &quot;exec&quot;]]),
-		&quot; last&quot;
-	]),
-	md_par([&quot;after&quot;]),
-	md_el(:xml_instr,[],{:code=&gt;&quot;Time.now.year.to_s &quot;,:target=&gt;&quot;mrk&quot;},[]),
-	md_par([
-		&quot;Year is &quot;,
-		md_el(:xml_instr,[],{:code=&gt;&quot;Time.now.year.to_s&quot;,:target=&gt;&quot;mrk&quot;},[])
-	]),
-	md_el(:xml_instr,[],{:code=&gt;&quot;\n\t@doc.children.push md_par(\&quot;A new paragraph\&quot;)\n&quot;,:target=&gt;&quot;maruku&quot;},[]),
-	md_par([&quot;After&quot;]),
-	md_par(&quot;A new paragraph&quot;)
-],{},[])
-*** Output of to_html ***
-&lt;? noTarget?&gt;&lt;?php ?&gt;&lt;?xml ?&gt;&lt;?mrk ?&gt;
-&lt;p&gt;Targets &lt;? noTarget?&gt; &lt;?php ?&gt; &lt;?xml ?&gt; &lt;?mrk ?&gt;&lt;/p&gt;
-
-&lt;p&gt;Inside: &lt;? puts &quot;Inside: Hello&quot;?&gt; last&lt;/p&gt;
-
-&lt;p&gt;after&lt;/p&gt;
-&lt;?mrk Time.now.year.to_s?&gt;
-&lt;p&gt;Year is &lt;?mrk Time.now.year.to_s?&gt;&lt;/p&gt;
-&lt;?maruku @doc.children.push md_par(&quot;A new paragraph&quot;)?&gt;
-&lt;p&gt;After&lt;/p&gt;
-
-&lt;p&gt;A new paragraph&lt;/p&gt;
-
-*** Output of to_latex ***
-Targets    
-
-Inside:  last
-
-after
-
-Year is 
-
-After
 
-A new paragraph
-
-
-*** Output of to_md ***
-Targets
-
-Inside: last
-
-after
-
-Year is
-
-After
-
-A new paragraph
-
-
-*** Output of to_s ***
-#&lt;NoMethodError: undefined method `join' for &quot;A new paragraph&quot;:String&gt;
-./lib/maruku/output/to_s.rb:32:in `children_to_s'
-./lib/maruku/output/to_s.rb:28:in `to_s'
-./lib/maruku/output/to_s.rb:32:in `join'
-./lib/maruku/output/to_s.rb:32:in `children_to_s'
-./lib/maruku/output/to_s.rb:28:in `to_s'
-bin/marutest:67:in `send'
-bin/marutest:67:in `run_test'
-bin/marutest:62:in `each'
-bin/marutest:62:in `run_test'
-bin/marutest:235:in `marutest'
-bin/marutest:233:in `each'
-bin/marutest:233:in `marutest'
-bin/marutest:303
 *** Output of Markdown.pl ***
 &lt;p&gt;&lt;? noTarget?&gt; 
 &lt;?php ?&gt; 
@@ -219,28 +74,9 @@ bin/marutest:303
 
 &lt;p&gt;Inside: &lt;? puts &quot;Inside: Hello&quot; ?&gt;{exec} last&lt;/p&gt;
 
-&lt;p&gt;after&lt;/p&gt;
-
-&lt;p&gt;&lt;?mrk Time.now.year.to_s ?&gt;          &lt;/p&gt;
-
-&lt;p&gt;Year is &lt;?mrk Time.now.year.to_s ?&gt;&lt;/p&gt;
-
-&lt;p&gt;&lt;?maruku
-    @doc.children.push md_par(&quot;A new paragraph&quot;)
-?&gt;&lt;/p&gt;
-
-&lt;p&gt;After &lt;/p&gt;
-
 *** Output of Markdown.pl (parsed) ***
 &lt;p
      &gt;     &lt;? noTarget?&gt;     &lt;?php ?&gt;     &lt;?xml ?&gt;     &lt;?mrk ?&gt;&lt;/p
    &gt;&lt;p&gt;Targets      &lt;? noTarget?&gt;     &lt;?php ?&gt;     &lt;?xml ?&gt;     &lt;?mrk ?&gt;&lt;/p
    &gt;&lt;p&gt;Inside:      &lt;? puts &quot;Inside: Hello&quot;?&gt;{exec} last&lt;/p
-   &gt;&lt;p&gt;after&lt;/p
-   &gt;&lt;p
-     &gt;     &lt;?mrk Time.now.year.to_s?&gt;&lt;/p
-   &gt;&lt;p&gt;Year is      &lt;?mrk Time.now.year.to_s?&gt;&lt;/p
-   &gt;&lt;p
-     &gt;     &lt;?maruku @doc.children.push md_par(&quot;A new paragraph&quot;)?&gt;&lt;/p
-   &gt;&lt;p&gt;After &lt;/p
  &gt;
\ No newline at end of file</diff>
      <filename>tests/unittest/xml_instruction.md</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>docs/changelog-0.2.13.md</filename>
    </removed>
    <removed>
      <filename>docs/changelog-0.3.md</filename>
    </removed>
    <removed>
      <filename>docs/faq.md</filename>
    </removed>
    <removed>
      <filename>docs/todo.md</filename>
    </removed>
    <removed>
      <filename>span_tests.sh</filename>
    </removed>
    <removed>
      <filename>unit_test.sh</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>8763fabcc5cb815a190bba528e890f653aa00505</id>
    </parent>
  </parents>
  <author>
    <name>andrea</name>
    <email>andrea@7e2f57f0-5a75-4fd6-9797-5817c466b243</email>
  </author>
  <url>http://github.com/manveru/maruku/commit/33d5b39cf765ebfeaf9d939dcc8e6c19792d418a</url>
  <id>33d5b39cf765ebfeaf9d939dcc8e6c19792d418a</id>
  <committed-date>2007-01-08T14:20:02-08:00</committed-date>
  <authored-date>2007-01-08T14:20:02-08:00</authored-date>
  <message>0.4.1

git-svn-id: svn://rubyforge.org/var/svn/maruku/trunk@66 7e2f57f0-5a75-4fd6-9797-5817c466b243</message>
  <tree>4cf8d58c24f77770e560acbfd0442093e66f5747</tree>
  <committer>
    <name>andrea</name>
    <email>andrea@7e2f57f0-5a75-4fd6-9797-5817c466b243</email>
  </committer>
</commit>
