summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/m-morse.mkvi
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/m-morse.mkvi')
-rw-r--r--Master/texmf-dist/tex/context/base/m-morse.mkvi25
1 files changed, 17 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/context/base/m-morse.mkvi b/Master/texmf-dist/tex/context/base/m-morse.mkvi
index aba83bb2d8a..a2c20dff745 100644
--- a/Master/texmf-dist/tex/context/base/m-morse.mkvi
+++ b/Master/texmf-dist/tex/context/base/m-morse.mkvi
@@ -100,16 +100,22 @@ local codes = {
morse.codes = codes
-setmetatable(codes, { __index = function(t,k)
+local fallbackself = false
+
+local function codefallback(t,k)
if k then
local u = ucchars[k]
local v = rawget(t,u) or rawget(t,shchars[u]) or false
t[k] = v
return v
+ elseif fallbackself then
+ return k
else
return false
end
-end })
+end
+
+table.setmetatableindex(codes,codefallback)
local MorseBetweenWords = context.MorseBetweenWords
local MorseBetweenCharacters = context.MorseBetweenCharacters
@@ -228,16 +234,19 @@ end
\def\MorseSpace {\hskip7\dimexpr\MorseWidth\relax}
\def\MorseUnknown #text{[\detokenize{#text}]}
-\def\MorseCode #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es,true)}}
-\def\MorseString #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es)}}
-\def\MorseFile #text{\ctxlua{moduledata.morse.filetomorse("#text")}}
-\def\MorseTable {\ctxlua{moduledata.morse.showtable()}}
+\unexpanded\def\MorseCode #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es,true)}}
+\unexpanded\def\MorseString #text{\ctxlua{moduledata.morse.tomorse(\!!bs#text\!!es)}}
+\unexpanded\def\MorseFile #text{\ctxlua{moduledata.morse.filetomorse("#text")}}
+\unexpanded\def\MorseTable {\ctxlua{moduledata.morse.showtable()}}
+
+\let\Morse \MorseString
-\let\Morse \MorseString
+%def\MorseShort {·}
+%def\MorseLong {—}
\protect
-\doifnotmode{demo}{\endinput}
+\continueifinputfile{m-morse.mkvi}
\starttext