New Code!
After considerable delay (including some bug reports that came in the day before I wanted to originally release the new version) I’ve pushed discount up to version 1.6.2 with the eradication of a few bugs, the addition of a new manpage (covering the new callback functions introduced in version 1.6.0), and yet another rewrite of the emphasis handling so that pathological emphasis won’t produce incorrect xhtml.
In no particular order, this New Code! adds/fixes
- another pass at the emmatcher to make certain that pathological indentation won’t produce bad xhtml
- fix a bug in autolink that made a hanging prefix
generate a bogus
<a
tag. - restrict the depth of a ETX header to
<h6>
- write a manual page for callback functions.
- don’t emphasise
_
or*
when they’re in the middle of whitespace. - unescape trailing ‘ ’s when they’re in the middle
of a code section or
[]()
link. - tighten the parser for footnote links so that a
construct like
[]-<]:
won’t erroneously become a footnote.
(and, of course, a bunch of new test cases to cover the bugs; the test scaffolding
has been tweaked a bit to make make test
a little less chattery; it no longer reports
the result of each individual test (unless a test fails) but only the group result of each .t
file’s worth of tests. You can override it by doing “VERBOSE=1 make test
”,
if you want, but it defaults to being somewhat less chattery.
1.6.2 was going to have a mod_discount
apache module (suggested by Austin David @ Yahoo) in it, but, alas, I was using my old 13" macbook while the Macbook Air was in the shop having the lid replaced, and the disk in the old macbook let the magic smoke out before I moved the three files I was working on back over to the Air (both the old macbook & the air are running macos 1.5, but only the macbook air has had the appropriate black time machine magic done to it to allow me to do time machining to the airport base station with external disk that I’m using instead of a newer, but more expensive, time capsule.) Ooops. Perhaps in 1.6.3; it would be useful for me, because 95% of my website is now markdown that I have to hand-theme
into html format, and I’d be better off if I simply had it done in the traditional apache-style utter black magic.
But even without mod_discount.c
, it’s still nice New Code! which obligingly fixes a few annoying little buglets and won’t be quite so enthusiastic when it runs bizarre emphasis.
Comments
My apologies, I meant that to say that the final clause is also often removed nowadays because the law provides for such protection regardless. Of course, removing the 3rd clause, which is the problematic one, does have consequences, but perhaps you can appreciate the difficulties of trying to handle such clauses for software distribution projects like Debian?
Hope you can oblige. Thanks!
I’m sorry to hear that the Debian people find the attributiondamnit!™ clause to be insufficiently free for their purposes, but I’m happy with the 4-clause BSD license and don’t plan to change the discount license in the near future.
Drat :( I wish I had known about this 4-clause business before I went to the trouble of packaging it up :D I must admit, it looked “free” enough to me also when I first checked.
No matter, I think I can just swap it out for BlueCloth in the main app I was packaging…thanks for the prompt reply!
Comments are closed
Hi David,
I was hoping to package the RDiscount ruby library by Ryan Tomayko, which includes your C Discount code, for Debian. But I notice that you are using the (now largely deprecated) original 4-clause BSD license, which is slightly problematic with respect to Debian Free Software Guidelines.
Would you consider re-licensing your Discount code under the newer BSD license, which removes clause 3?
This should not have any real consequences, because even a generous copyright license does not implicitly forfeit the copyright holder’s “right of publicity”. In other words, even if a license does not forbid you from claiming that the copyright holder or other parties endorses or promotes your work, the law generally does. Debian is not aware of any exceptions.
Please consider and let me know.
Thanks, Will