summaryrefslogtreecommitdiff
path: root/mod/tex/context/third/rst
diff options
context:
space:
mode:
authorPhilipp Gesang <gesang@stud.uni-heidelberg.de>2013-03-12 17:05:16 +0100
committerPhilipp Gesang <gesang@stud.uni-heidelberg.de>2013-03-12 17:05:16 +0100
commit09dd07bcc2397ff03460d5e89f8125456c29e025 (patch)
treed65828105981aa94bfaa697358d09a799834609a /mod/tex/context/third/rst
parent9c6a8a9737e6f5b09ca65ed82a186b58e731e350 (diff)
downloadcontext-rst-09dd07bcc2397ff03460d5e89f8125456c29e025.tar.gz
fix spurious global; workaround buffer idiosyncrasy in manual
Diffstat (limited to 'mod/tex/context/third/rst')
-rw-r--r--mod/tex/context/third/rst/rst_context.lua5
-rw-r--r--mod/tex/context/third/rst/rst_helpers.lua6
-rw-r--r--mod/tex/context/third/rst/rst_parser.lua8
-rw-r--r--mod/tex/context/third/rst/rst_setups.lua1
4 files changed, 12 insertions, 8 deletions
diff --git a/mod/tex/context/third/rst/rst_context.lua b/mod/tex/context/third/rst/rst_context.lua
index e7637b3..b079730 100644
--- a/mod/tex/context/third/rst/rst_context.lua
+++ b/mod/tex/context/third/rst/rst_context.lua
@@ -72,12 +72,13 @@ rst_context.current_footnote_number = 0
rst_context.current_symbolnote_number = 0
function rst_context.addsetups(item)
+ local state = thirddata.rst.state
state.addme[item] = state.addme[item] or true
return 0
end
function rst_context.footnote_reference (label)
- local tf = state.footnotes
+ local tf = thirddata.rst.state.footnotes
if label:match("^%d+$") then -- all digits
local c = tonumber(label)
return [[\\footnote{\\getbuffer[__footnote_number_]].. c .."]}"
@@ -1219,7 +1220,7 @@ function rst_context.simple_table(tab)
end
function rst_context.footnote (label, content)
- local tf = state.footnotes
+ local tf = thirddata.rst.state.footnotes
rst_context.addsetups("footnotes")
if label:match("^%d+$") then -- all digits
tf.numbered[tonumber(label)] = rst_context.escape(inline_parser:match(content))
diff --git a/mod/tex/context/third/rst/rst_helpers.lua b/mod/tex/context/third/rst/rst_helpers.lua
index e90a55a..3ff53fe 100644
--- a/mod/tex/context/third/rst/rst_helpers.lua
+++ b/mod/tex/context/third/rst/rst_helpers.lua
@@ -515,7 +515,7 @@ do
return false
end
- local trc = state.roman_cache
+ local trc = thirddata.rst.state.roman_cache
n_str = trc[str] or nil
n_old = trc[old] or nil
if not n_str then
@@ -549,7 +549,7 @@ do
end
- local trc = state.roman_cache
+ local trc = thirddata.rst.state.roman_cache
n_str = trc[str] or nil
n_old = trc[old] or nil
if not n_str then
@@ -578,7 +578,7 @@ do
return false
end
- local trc = state.roman_cache
+ local trc = thirddata.rst.state.roman_cache
n_str = trc[str] or nil
if not n_str then
n_str = roman_to_arab(str:lower())
diff --git a/mod/tex/context/third/rst/rst_parser.lua b/mod/tex/context/third/rst/rst_parser.lua
index 4e6db41..d0d8de9 100644
--- a/mod/tex/context/third/rst/rst_parser.lua
+++ b/mod/tex/context/third/rst/rst_parser.lua
@@ -70,7 +70,9 @@ local P, R, S, V, match
local utf = unicode.utf8
-state = {}
+local state = {}
+thirddata.rst.state = state
+
state.depth = 0
state.bullets = {} -- mapping bullet forms to depth
state.bullets.max = 0
@@ -1484,7 +1486,7 @@ end
do
local Cs, P = lpeg.Cs, lpeg.P
- local percent = P"\%"
+ local percent = P"%"
local eol = P"\n"
local comment = percent * (1 - eol)^0 * eol / "\n"
strip_comments = Cs((comment + 1)^0)
@@ -1535,7 +1537,7 @@ function thirddata.rst.get_rst_inclusion (iname)
if rst_inclusions[iname] then
context.input(rst_inclusions[iname])
else
- context(stringformat("{\\bf File for inclusion ā€œ%sā€ not found.}\par ", iname))
+ context(stringformat([[{\bf File for inclusion ā€œ%sā€ not found.}\par ]], iname))
end
end
diff --git a/mod/tex/context/third/rst/rst_setups.lua b/mod/tex/context/third/rst/rst_setups.lua
index ccf3967..93084d9 100644
--- a/mod/tex/context/third/rst/rst_setups.lua
+++ b/mod/tex/context/third/rst/rst_setups.lua
@@ -12,6 +12,7 @@ local optional_setups = { }
thirddata.rst_setups = optional_setups
local rst_directives = thirddata.rst_directives
local rst_context = thirddata.rst
+local state = rst_context.state
local fmt = string.format
local stringstrip = string.strip