summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/syst-cat.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/syst-cat.tex')
-rw-r--r--Master/texmf-dist/tex/context/base/syst-cat.tex66
1 files changed, 61 insertions, 5 deletions
diff --git a/Master/texmf-dist/tex/context/base/syst-cat.tex b/Master/texmf-dist/tex/context/base/syst-cat.tex
index fb672c327d8..8994f207b24 100644
--- a/Master/texmf-dist/tex/context/base/syst-cat.tex
+++ b/Master/texmf-dist/tex/context/base/syst-cat.tex
@@ -116,9 +116,10 @@
\ifx\nilcatcodes \undefined \newcatcodetable \nilcatcodes \fi
\ifx\texcatcodes \undefined \newcatcodetable \texcatcodes \fi
\ifx\ctxcatcodes \undefined \newcatcodetable \ctxcatcodes \fi
+\ifx\notcatcodes \undefined \newcatcodetable \notcatcodes \fi
\ifx\vrbcatcodes \undefined \newcatcodetable \vrbcatcodes \fi
\ifx\prtcatcodes \undefined \newcatcodetable \prtcatcodes \fi
-\ifx\mthcatcodes \undefined \newcatcodetable \mthcatcodes \fi % math
+\ifx\mthcatcodes \undefined \newcatcodetable \mthcatcodes \fi % math, not used, too tricky
\ifx\xmlcatcodesn\undefined \newcatcodetable \xmlcatcodesn \fi % normal
\ifx\xmlcatcodese\undefined \newcatcodetable \xmlcatcodese \fi % entitle
\ifx\xmlcatcodesr\undefined \newcatcodetable \xmlcatcodesr \fi % reduce
@@ -178,6 +179,50 @@
\catcode`\| = 13
\stopcatcodetable
+\startcatcodetable \notcatcodes
+ \catcode`\^^I = 10 % ascii tab is a blank space
+ \catcode`\^^M = 5 % ascii return is end-line
+ \catcode`\^^L = 5 % ascii form-feed
+ \catcode`\ = 10 % ascii space is blank space
+ \catcode`\^^Z = 9 % ascii eof is ignored
+ \catcode`\~ = 12
+ \catcode`\# = 12 % probably too much, in principle
+ \catcode`\$ = 12 % nilcatcodes would be ok too
+ \catcode`\% = 12
+ \catcode`\^ = 12
+ \catcode`\& = 12
+ \catcode`\_ = 12
+ \catcode`\< = 12
+ \catcode`\> = 12
+ \catcode`\{ = 12
+ \catcode`\} = 12
+ \catcode`\" = 12
+ \catcode`\' = 12
+ \catcode`\/ = 12
+ \catcode`\\ = 12
+ \catcode`\| = 12
+\stopcatcodetable
+
+\startcatcodetable \mthcatcodes
+ \catcode`\^^I = 10
+ \catcode`\^^M = 5
+ %\catcode`\^^J = 10 % new
+ \catcode`\^^L = 5
+ \catcode`\ = 10
+ \catcode`\^^Z = 9
+ \catcode`\\ = 0
+ \catcode`\{ = 1
+ \catcode`\} = 2
+ \catcode`\$ = 3
+ \catcode`\& = 4
+ \catcode`\# = 6
+ \catcode`\^ = 7
+ \catcode`\_ = 8
+ \catcode`\% = 14
+ %\catcode`\~ = 13
+ %\catcode`\| = 13
+\stopcatcodetable
+
\startcatcodetable \prtcatcodes
\catcode`\^^I = 10
\catcode`\^^M = 5
@@ -390,7 +435,6 @@
%D \macros
%D {installactivecharacter}
-
\def\installactivecharacter#1 %
{\edef\temp{\detokenize{#1}}%
\cctcounterc\expandafter`\temp\relax % relax needed
@@ -408,14 +452,26 @@
\chardef\activehackcode=`~
-\def\defineactivecharacter #1 #2%
+% \def\defineactivecharacter #1 #2%
+% {\cctcounterc\uccode\activehackcode
+% \uccode\activehackcode\expandafter\doifnumberelse\expandafter{\string#1}\empty`#1%
+% \catcode\uccode\activehackcode13
+% \uppercase{\def\next{~}}%
+% \uccode\activehackcode\cctcounterc
+% \expandafter\expandafter\expandafter\def\expandafter\next\expandafter
+% {\expandafter\dohandleactivecharacter\next{#2}}}
+%
+% \defineactivecharacter "0EFFF {oeps} \utfchar{0xEFFF}
+
+\def\defineactivecharacter #1#2 #3%
{\cctcounterc\uccode\activehackcode
- \uccode\activehackcode\expandafter\doifnumberelse\expandafter{\string#1}\empty`#1%
+ \if#1"\uccode\activehackcode\expandafter\doifnumberelse\expandafter{\string#1#2}\empty #1#2\else
+ \uccode\activehackcode\expandafter\doifnumberelse\expandafter{\string#1#2}\empty`#1#2\fi
\catcode\uccode\activehackcode13
\uppercase{\def\next{~}}%
\uccode\activehackcode\cctcounterc
\expandafter\expandafter\expandafter\def\expandafter\next\expandafter
- {\expandafter\dohandleactivecharacter\next{#2}}}
+ {\expandafter\dohandleactivecharacter\next{#3}}}
\chardef\activecharactermode\plusone % overloading still backward compatible