diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/base/m-morse.mkvi')
-rw-r--r-- | Master/texmf-dist/tex/context/base/m-morse.mkvi | 25 |
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 |