Michel Fortin michel.fortin at
Fri Oct 19 07:31:34 EDT 2012

Le 2012-10-18 à 15:24, John MacFarlane <jgm at> a écrit :

> I've implemented a version of what I described below.


I see you've now added 1.0.2b8, which is the latest non-public release made by John Gruber. Maybe you should add 1.0.1 too, like I've done for Babelmark, because it's the latest public release and it is probably the one in more widespread use. 1.0.2b8 and 1.0.1 do exhibit significant differences in some areas.

For instance, we were just talking about parens inside URLs and I just noticed that 1.0.2b8 does balance them correctly:

The HTML block parser was also completely redone in 1.0.2b4. Look at the changelog for for details (reproduced at the end of this email).

> Also, perhaps "dingus" isn't the best word for it, since it

> just displays the HTML source, not the formatted output. I take

> it that's what we want, since this is intended primarily for

> comparing the output of different implementations on corner

> cases, not for users to get a feel for markdown.

If you want to call it Babelmark 2, you have my permission. I think it'll be a worthy successor. Also, you really ought to have a <title> tag on your page.

## Changelog found in 1.0.2b8 ##

1.0.2b8 - Wed 09 May 2007

+ Fixed bug with nested raw HTML tags that contained
attributes. The problem is that it uses a backreference in
the expression that it passes to gen_extract_tagged, which
is broken when Text::Balanced wraps it in parentheses.

Thanks to Matt Kraai for the patch.

+ Now supports URLs containing literal parentheses, such as:

Such parentheses may be arbitrarily nested, but must be


+ Changed shebang line from "/usr/bin/perl" to "/usr/bin/env perl"

+ Now only trim trailing newlines from code blocks, instead of trimming
all trailing whitespace characters.

1.0.2b6 - Mon 03 Apr 2006

+ Fixed bad performance bug in new `Text::Balanced`-based block-level parser.

1.0.2b5 - Thu 08 Dec 2005

+ Fixed bug where this:

[text]( "title" )

wasn't working as expected, because the parser wasn't allowing for spaces
before the closing paren.

1.0.2b4 - Thu 08 Sep 2005

+ Filthy hack to support markdown='1' in div tags, because I need it
to write today's fireball.

+ First crack at a new, smarter, block-level HTML parser.

1.0.2b3 - Thu 28 Apr 2005

+ _DoAutoLinks() now supports the 'dict://' URL scheme.

+ PHP- and ASP-style processor instructions are now protected as
raw HTML blocks.

<? ... ?>
<% ... %>

+ Workarounds for regressions introduced with fix for "backticks within
tags" bug in 1.0.2b1. The fix is to allow `...` to be turned into
<code>...</code> within an HTML tag attribute, and then to turn
these spurious `<code>` tags back into literal backtick characters
in _EscapeSpecialCharsWithinTagAttributes().

The regression was caused because in the fix, we moved
_EscapeSpecialCharsWithinTagAttributes() ahead of _DoCodeSpans()
in _RunSpanGamut(), but that's no good. We need to process code
spans first, otherwise we can get tripped up by something like this:

`<test a="` content of attribute `">`

1.0.2b2 - 20 Mar 2005

+ Fix for nested sub-lists in list-paragraph mode. Previously we got
a spurious extra level of `<p>` tags for something like this:

* this

* sub


+ Experimental support for [this] as a synonym for [this][].
(Note to self: No test yet for this.)
Be sure to test, e.g.: [permutations of this sort of [thing][].]

1.0.2b1 - 28 Feb 2005

+ Fix for backticks within HTML tag: <span attr='`ticks`'>like this</span>

+ Fix for escaped backticks still triggering code spans:

There are two raw backticks here: \` and here: \`, not a code span

1.0.1 - 14 Dec 2004

1.0 - 28 Aug 2004

Michel Fortin
michel.fortin at

More information about the Markdown-Discuss mailing list