summaryrefslogtreecommitdiff
path: root/tex/context
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context')
-rw-r--r--tex/context/third/enigma/enigma.lua51
-rw-r--r--tex/context/third/enigma/t-enigma.mkvi12
2 files changed, 36 insertions, 27 deletions
diff --git a/tex/context/third/enigma/enigma.lua b/tex/context/third/enigma/enigma.lua
index 73c481f..47eeb5b 100644
--- a/tex/context/third/enigma/enigma.lua
+++ b/tex/context/third/enigma/enigma.lua
@@ -12,7 +12,7 @@
--[[ichd--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Format Dependent Code]
+\startdocsection[title=Format Dependent Code]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
@@ -45,12 +45,12 @@ else -- external call, mtx-script or whatever
_G.enigma = enigma
end
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Prerequisites]
+\startdocsection[title=Prerequisites]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
First of all, we generate local copies of all those library functions
@@ -132,13 +132,13 @@ limit has been exceeded during the \TEX\ run.
--ichd]]--
local max_msg_length = 250
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Globals]
+\startdocsection[title=Globals]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
The following mappings are used all over the place as we convert back
@@ -232,12 +232,12 @@ mnemonic.
end
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Pretty printing for debug purposes]
+\startdocsection[title=Pretty printing for debug purposes]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
The functions below allow for formatting of the terminal output; they
@@ -451,12 +451,12 @@ end
local new
do
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Rotation]
+\startdocsection[title=Rotation]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
The following function \luafunction{do_rotate} increments the rotational
@@ -502,12 +502,12 @@ has been reached and covers the corner case \emph{double stepping}.
machine.rotors = { rc, rb, ra }
end
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Input Preprocessing]
+\startdocsection[title=Input Preprocessing]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
Internally, we will use lowercase strings as they are a lot more
@@ -575,12 +575,12 @@ ten.
}
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[
+\startdocsection[
title={Main function chain to be applied to single characters},
]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -739,12 +739,12 @@ extraction of successive characters from the sequence.
-- return tableconcat(result)
--end
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Initialization string parser]
+\startdocsection[title=Initialization string parser]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\placetable[here][]{Initialization strings}{%
@@ -842,12 +842,12 @@ extraction of successive characters from the sequence.
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Initialization routines]
+\startdocsection[title=Initialization routines]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
@@ -961,12 +961,13 @@ consists of three elements:
local encode_general = function (machine, chr)
local replacement = pp_substitutions[chr] or valid_char_p[chr] and chr
if not replacement then return false end
+
if utf8len(replacement) == 1 then
- return encode_char(machine, chr)
+ return encode_char(machine, replacement)
end
local result = { }
- for chr in next, utfcharacters(replacement) do
- result[#result+1] = encode_char(machine, chr)
+ for new_chr in utfcharacters(replacement) do
+ result[#result+1] = encode_char(machine, new_chr)
end
return result
end
@@ -1044,13 +1045,13 @@ consists of three elements:
end
end
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\startsection[title=Setup Argument Handling]
+\startdocsection[title=Setup Argument Handling]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\startparagraph
@@ -1165,11 +1166,11 @@ do
end
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
--[[ichd
-\startsection[title=Callback]
+\startdocsection[title=Callback]
\startparagraph
This is the interface to \TEX. We generate a new callback handler for
each defined Enigma machine. \CONTEXT\ delivers the head as third
@@ -1244,7 +1245,7 @@ enigma.new_machine = function (args, name)
end --stub
--[[ichd
-\stopsection
+\stopdocsection
--ichd]]--
------------------------------------------------------------------------
diff --git a/tex/context/third/enigma/t-enigma.mkvi b/tex/context/third/enigma/t-enigma.mkvi
index 49ebc54..3165e43 100644
--- a/tex/context/third/enigma/t-enigma.mkvi
+++ b/tex/context/third/enigma/t-enigma.mkvi
@@ -39,13 +39,15 @@ thirddata = thirddata or { }
\stopluacode
\registerctxluafile{enigma}
-%D \startsection[title=setups]
+%D \startdocsection[title=setups]
+%D \startparagraph
%D The main setup. The \texmacro{defineenigma} macro does not adhere to
%D the reommended practis of automatical macro derivation. Rather, we
%D have our own parser do the job of setting globals. This is a
%D consequence of the intention to offer the same behavior in any of the
%D three main formats, \PLAIN, \CONTEXT and \LATEX. Hence, we don’t rely
%D on the internal mechanisms but implement our own macro generator.
+%D \stopparagraph
\def\do_define_enigma#id{%
\expandafter\gdef\csname start\enigmaid\endcsname{%
@@ -76,8 +78,9 @@ thirddata = thirddata or { }
\endgroup%
}
-%D \stopsection
+%D \stopdocsection
+%D \startdocsection[title=Setup]
\def\do_setup_enigma#args{%
\ctxlua{
local enigma = thirddata.enigma
@@ -91,8 +94,11 @@ thirddata = thirddata or { }
\egroup%
}
+%D \startparagraph
%D The module setup \texmacro{setupenigma} expects key=value, notation.
%D All the logic is at the Lua end, not much to see here …
+%D \stopparagraph
+
\def\setupenigma#id{%
\bgroup
\edef\currentenigmaid{#id}
@@ -101,5 +107,7 @@ thirddata = thirddata or { }
\do_setup_enigma%
}
+%D \stopdocsection
+
\protect
% vim:ft=context:sw=2:ts=2:tw=72