summaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorJohn MacFarlane <jgm@berkeley.edu>2014-09-11 09:24:24 -0700
committerJohn MacFarlane <jgm@berkeley.edu>2014-09-11 11:17:42 -0700
commit9c218c305e175183abd577c07daec5daf230801c (patch)
tree1b6c6e04f8f7c6f26fe6e7adb595040902d1b992 /js
parent2fc6c0d06f4199f4e7ee6fb0e46337bfc6749d24 (diff)
Clarified code logic for last_emphasis_closer.
Diffstat (limited to 'js')
-rwxr-xr-xjs/stmd.js10
1 files changed, 8 insertions, 2 deletions
diff --git a/js/stmd.js b/js/stmd.js
index 1b82fd5..250814e 100755
--- a/js/stmd.js
+++ b/js/stmd.js
@@ -294,8 +294,12 @@ var parseEmphasis = function() {
var last_emphasis_closer = null;
var delims_to_match = numdelims;
- while (this.last_emphasis_closer === null ||
- this.last_emphasis_closer >= this.pos) {
+
+ // We need not look for closers if we have already recorded that
+ // there are no closers past this point.
+ if (this.last_emphasis_closer === null ||
+ this.last_emphasis_closer >= this.pos) {
+ while (true) {
res = this.scanDelims(c);
numclosedelims = res.numdelims;
if (res.can_close) {
@@ -325,11 +329,13 @@ var parseEmphasis = function() {
} else {
break;
}
+ }
}
// didn't find closing delimiter
this.pos = startpos + numdelims;
if (last_emphasis_closer === null) {
+ // we know there are no closers after startpos, so:
this.last_emphasis_closer = startpos;
} else {
this.last_emphasis_closer = last_emphasis_closer;