summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-09-29Merge branch 'master' into newemphasisJohn MacFarlane
Conflicts: Makefile js/stmd.js
2014-09-29Use charAt for browser compatibility.John MacFarlane
2014-09-26Only memoize during inline parsing.John MacFarlane
This cuts the performance hit. With memoization, we get roughly constant behavior in the fuzztest. Without it, not.
2014-09-26Restored memoization code.John MacFarlane
2014-09-26Used last_emphasis_closer to avoid unneeded scans for closer.John MacFarlane
This doesn't seem to help much.
2014-09-26Removed memoization code.John MacFarlane
2014-09-26Simple fallback if we don't match emphasis.John MacFarlane
The other approach led to wrong results on: *hi _there*
2014-09-24Suppress 'missing field initializer' warningsJohn MacFarlane
from gperf generated header.
2014-09-24Makefile: Use ?= so variables can be set on command line.John MacFarlane
2014-09-24Fixed bug that causes hang on bare `<` inside link label.John MacFarlane
2014-09-24Makefile: Use ?= so variables can be set on command line.John MacFarlane
2014-09-24Merge pull request #92 from meziantou/patch-1John MacFarlane
Fix some compatibility issues
2014-09-19spec: Fixed date, version.John MacFarlane
Closes #133.
2014-09-18Merge pull request #132 from JordanMilne/fix_render_leakJohn MacFarlane
Fix memory leak when rendering images as HTML
2014-09-18Fix memory leak when rendering images as HTMLJordan Milne
2014-09-18Merge pull request #130 from JordanMilne/find_special_lookupJohn MacFarlane
Use a lookup table for subject_find_special_char
2014-09-18Use a lookup table for subject_find_special_charJordan Milne
2014-09-17Merge pull request #97 from Knagis/masterJohn MacFarlane
Updated runtests.pl to support Windows
2014-09-18Add missing headerVicent Marti
2014-09-17Merge pull request #66 from vmg/revampJohn MacFarlane
Enfastenate the C Parsenator
2014-09-17Use helper functions to simplify code.John MacFarlane
2014-09-17Better handle trailing backslashes in ATX-style headersJordan Milne
Previously something like '# `\' would hang the parser while it waited for an extra character that wasn't there.
2014-09-16Revert "Re-added backtracking and memoization."John MacFarlane
This reverts commit ac8529c9f55da7fdc1186e3f34313cf411de6e71.
2014-09-16Re-added backtracking and memoization.John MacFarlane
Gives better results for things like **foo*
2014-09-16Small performance tweaks.John MacFarlane
2014-09-16Fixed bug in parsing `* **a** b*` etc.John MacFarlane
2014-09-16New parseEmphasis algorithm.John MacFarlane
- State machine for emphasis parsing. - This would require some adjustments to the spec and spec examples. - It currently blows the stack on `tricky'. - Memoization code has been commented out. - Inline parsers return arrays.
2014-09-16Merge pull request #124 from rlidwka/patch-1John MacFarlane
typo fix
2014-09-16typo fixAlex Kocharin
2014-09-15Merge pull request #90 from ousia/masterJohn MacFarlane
typo replacing CommonMark corrected
2014-09-15Cleanup external APIsVicent Marti
2014-09-11Fixed performance regression from eccc23dc8d.John MacFarlane
2014-09-11Fixed typo.John MacFarlane
starting
2014-09-11jshint improvements.John MacFarlane
2014-09-11Reindented source with js2-mode.John MacFarlane
2014-09-11Clarified code logic for last_emphasis_closer.John MacFarlane
2014-09-11Add check for null in last_emphasis_closer.John MacFarlane
2014-09-11Renamed last_closer -> last_emphasis_closer.John MacFarlane
2014-09-11Added last_closer to Inline object.John MacFarlane
This helps us avoid unneeded backtracking in pathological input of the form: *a **a *a **a *a etc. If we get to position k without finding a closing delimiter, then backtrack to 1, we can assume we won't find a closing delimiter when parsing forward again. This could no doubt be polished up, e.g. by making it sensitive to the kind of delimiter.
2014-09-11Fixed bug.John MacFarlane
2014-09-11Updated test cases in spec to reflect last change.John MacFarlane
2014-09-11Updated spec (but not yet examples) with new rules.John MacFarlane
These reflect the current parsing algorithm. We now get a symmetry that we lacked before: **a* b* *a *b** are both emphasis within emphasis. One asymmetry remains: **a* has no emphasis, while *a** has emphasis. Further tweaking of the algorithm could regularize this.
2014-09-11Special-case ***xx*** as strong/em.John MacFarlane
2014-09-11Revert "spec: change nesting order of strong/emph in ***a***."John MacFarlane
This reverts commit 49a03b7666e2901d1ab2813fc0bdd23968d22979.
2014-09-11spec: change nesting order of strong/emph in ***a***.John MacFarlane
2014-09-11Simplified parseEmphasis.John MacFarlane
2014-09-11Handle case with 4+ delimiters in a row.John MacFarlane
Spec says to skip these.
2014-09-11Fixed reMain regex for better performance.John MacFarlane
2014-09-11Fixed rewind on parseLabel.John MacFarlane
14 test failures now, all with emphasis. IN most of all of these cases, the examples in the spec seem to be mistakes, given what the spec says. More troubling, performance is down from around 220 to 83. This needs investigation.
2014-09-11Completed conversion to memoized strategy.John MacFarlane
Test suite runs, but many failures.