Fix Maruku Hanging Bug

A Maruku-syntax <div> with an unclosed IAL (and, it seems, at least one equation)
would cause Instiki to hang. Badly. Requiring a 'kill -9' to terminate it.
Reverting the OpenDiv and CloseDiv Regexps to my, more simple-minded, versions
fixes the problem.
This commit is contained in:
Jacques Distler 2009-02-09 22:20:34 -06:00
parent dcab2f870e
commit 53751a61f0
2 changed files with 29 additions and 12 deletions

View file

@ -1,5 +1,5 @@
<div id="svg_logo"><svg version="1.0" width="100%" height="100%" viewBox='0 0 180 197' xmlns='http://www.w3.org/2000/svg'>
<path fill="#<%= @web ? @web.color : "393" %>" stroke-width='0.2' stroke='#000' d='
<path fill="#<%= @web ? @web.color : "393" %>" stroke-width='0.5' stroke='#000' d='
M170,60c4,11-1,20-12,25c-9,4-25,3-20,15c5,5,15,0,24,1c11,1,21,11,14,21c-10,15-35,6-48-1c-5-3-27-23-32-10c-1,13,15,10,22,16
c11,4,24,14,34,20c12,10,7,25-9,23c-11-1-22-9-30-16c-5-5-13-18-21-9c-2,6,2,11,5,14c9,9,22,14,22,31c-2,8-12,8-18,4c-4-3-9-8-11-13
c-3-6-5-18-12-18c-14-1-5,28-18,30c-9,2-13-9-12-16c1-14,12-24,21-31c5-4,17-13,10-20c-9-10-19,12-23,16c-7,7-17,16-31,15

View file

@ -10,11 +10,28 @@
#| +--------------------------------------------------
#+---------------------------------------------------
OpenDiv = /^[ ]{0,3}\+\-\-+\s*(\{([^{}]*|".*"|'.*')*\})?\s*\-*\s*$/
CloseDiv = /^[ ]{0,3}\=\-\-+\s*(\{([^{}]*|".*"|'.*')*\})?\s*\-*\s*$/
# note these are not enough for parsing the above example:
#OpenDiv = /^[ ]{0,3}\+\-\-+\s*(.*)$/
#CloseDiv = /^[ ]{0,3}\=\-\-+\s*(.*)$/
## These cause Instiki to hang when it encounters
##
## +--
## ###### Definition
## A _Froelicher Space_ is a triple $(X,C_X,F_X)$
## =-- {: .num_defn #FroelicherSpace
##
## or
##
## +-- {: .num_defn #FroelicherSpace
## ###### Definition
## A _Froelicher Space_ is a triple $(X,C_X,F_X)$
## =--
#
#OpenDiv = /^[ ]{0,3}\+\-\-+\s*(\{([^{}]*|".*"|'.*')*\})?\s*\-*\s*$/
#CloseDiv = /^[ ]{0,3}\=\-\-+\s*(\{([^{}]*|".*"|'.*')*\})?\s*\-*\s*$/
#
## note these are not enough for parsing the above example:
## (but they don't produce a hang ...)
#
OpenDiv = /^[ ]{0,3}\+\-\-+\s*(.*)$/
CloseDiv = /^[ ]{0,3}\=\-\-+\s*(.*)$/
StartPipe = /^[ ]{0,3}\|(.*)$/ # $1 is rest of line
DecorativeClosing = OpenDiv