Subject: CVS commit: wip/discount
From: Thomas Klausner
Date: 2013-04-04 11:38:15
Message id: E1UNgcr-0005jR-NO@sfs-ml-1.v29.ch3.sourceforge.com

Log Message:
Update to 2.1.6:

version 2.1.6 does nothing except for some bugfixes (and ignores some \ 
particularly scary ones that I /must/ fix soon) and adds two small features.

The bugfixes are:

    A < at the end of the input is exactly the same as <(space)
    Markdown.pl does not appear to escape \<[nonwhite] sequences. Sigh.
    Tweak the previous Markdown does not escape... commit to simply push out the \ 
backslash and back up to the start of the <[nonwhite] sequence, so -fnohtml \ 
will continue to work.
    Treat hard <br/> (via two spaces) as whitespace.
    Tweak divquote handling so that two adjacent divquotes won’t die if \ 
there is a space between the second > & leading %
    Tweak one of the list tests back to the previous behavior (I’ve put in \ 
a hack for list indentation, and accidentally committed the changes. Oops!)

The features are that I now use styles for table cell alignment instead of \ 
align=, and that I’m using the 3-clause BSD license for this release \ 
(because there is one widely used closed-source license that claims that you \ 
can’t dynamically link with code that uses the 4-clause license. Fine. \ 
I’ll 3-clause this release to make the stupid GPL happy.)

version 2.1.5a does even more cleanup to deal with clang, plus adds a few small \ 
features:

    MKD_NOSTYLE – treat <style> blocks as regular html.
    some github flavored markdown support; gfm_…() input methods that put \ 
hardbreaks (== two spaces) at the end of every input line.
    support for github flavored markdown backtick-delimited code blocks (in \ 
addition to tilde-delimited codeblocks)
    in the markdown program, add
        -S flag (tell markdown to spit out style sections)
        -n flag (tell markdown not to output generated text)

version 2.1.3 cleans up a couple of bugs that have been here for a while, plus \ 
tweaks the build process a bit for better compilation with the LLVM C compiler, \ 
mingw, and cygwin.

The bugfixes are

    Stop tripping over tables with leading |s; the first implementation of \ 
tables treated leading |s as the end of an empty table cell. 2.1.3 corrects this \ 
to properly be merely decoration.

    As a side-effect, you now need to have all the rows of the table either with \ 
a leading | or not; you cannot mix and match them, sorry.

    For some mysterious reason I was treating the <br> tag as a \ 
block-level html tag, so my html blockifier would split paragraphs with explicit \ 
<br>s in them.

    The table of contents code was apparently generating bad html (something I \ 
never noticed, because I never use that feature, alas!) but Stefano D'Angelo \ 
contributed a patch to clean up the generated html to make it correct.

version 2.1.2 tweaks table handling so that tables with leading |’s \ 
won’t end up generating empty false <td></td>s, and that tables \ 
with trailing |’s won’t end up getting those pipes included in the \ 
output.

version 2.1.1.3 corrects a defect in smartypants processing that has been there \ 
since the beginning of time; I’d managed to misread the reference \ 
smartypants documentation and thought that 1 dash made an &ndash; and 2 \ 
dashes made an &mdash; (it’s actually 2 and 3 dashes respectively.) \ 
John Foerch read the documentation recently, noticed it was wrong, and sent me a \ 
note pointing it out. Whoops! But it’s fixed now (as is the this page, \ 
which is, regrettably, the only documentation about smartypants.)

version 2.1.1.2 corrects one small defect in block handling, plus changes the \ 
format of the output for failed tests in the test suite.

The defect in block handling is that the reference implementation has text block \ 
absorbing adjacent code, so

text text text
    code

will generate

<p>text text text code</p>

instead of a paragraph of text(s) followed by code.

The change in failed test output makes it output first the source code of the \ 
failed test, and then the differences between the expected output and the \ 
generated output.

version 2.1.1.1 implements PHP markdown extra-style fenced code sections, where \ 
your chunks of code are surrounded by ~~~ lines instead of being indented 4 \ 
spaces.

Fenced code sections are a configuration option, not a runtime option, and are \ 
enabled by using the configure.sh flag --with-fenced-code (FENCED-CODE in the \ 
version string).

There are a few optimizations inside markdown.c to support fenced code detection \ 
without slowing the parser down, but those optimizations don’t cause any of \ 
my test cases to fail. Version 2.1.1 is still a fairly experimental release \ 
despite this, so take some care with it.

version 2.1.0 cleans up a small collection of warts and build bugs, plus adds \ 
some fairly small enhancements to the theme and makepage programs:

    more modifications to configure.sh so that it generates all its test scripts \ 
in the build directory.
    more MacOS support in configure.sh; check to see if .dSYM folders are \ 
created when a test script is compiled, and, if so, don’t forget to delete \ 
them when they’re cleaned up.
    makepage now accepts markdown option flags a'la the markdown program (via \ 
-Fxxxx, -fname, or in the MARKDOWN_FLAGS environment variable.)
    strip bitfields out of opts[] – I can’t initialize a bitfield on \ 
plan9 cc.
    add a -E flag to theme to ignore context-sensitivity on <?theme xxx?> \ 
substitutions.

Files:
RevisionActionfile
1.6modifywip/discount/Makefile
1.5modifywip/discount/distinfo