diff -ur Text-MultiMarkdown-1.000033/lib/Text/MultiMarkdown.pm Text-MultiMarkdown-1.000033-fixed/lib/Text/MultiMarkdown.pm --- Text-MultiMarkdown-1.000033/lib/Text/MultiMarkdown.pm 2010-03-21 02:09:32.000000000 +0300 +++ Text-MultiMarkdown-1.000033-fixed/lib/Text/MultiMarkdown.pm 2010-08-04 14:12:14.000000000 +0400 @@ -371,8 +371,17 @@ sub _GenerateHeader { my ($self, $level, $id) = @_; - my $label = $self->{heading_ids} ? $self->_Header2Label($id) : ''; - my $header = $self->_RunSpanGamut($id); + my $label = ''; + my $header = ''; + + if ($self->{heading_ids}) { + $id =~ /^(.+?)(?:\s*\[([^\[]*?)\])?$/; + $label = (defined $2) ? + $self->_Header2Label($2) : $self->_Header2Label($1); + $header = $self->_RunSpanGamut($1); + } else { + $header = $self->_RunSpanGamut($id); + } if ($label ne '') { $self->{_crossrefs}{$label} = "#$label";