catc-ctx.mkxl /size: 6282 b    last modification: 2021-10-28 13:50
1%D \module
2%D   [       file=catc-cys,
3%D        version=2006.09.18,
4%D          title=\CONTEXT\ Catcode Macros,
5%D       subtitle=Extra Tables,
6%D         author=Hans Hagen,
7%D           date=\currentdate,
8%D      copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9%C
10%C This module is part of the \CONTEXT\ macro||package and is
11%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12%C details.
13
14%D We prefer to define relevant catcode tables in this file instead
15%D of everywhere around.
16
17\ifdefined \ctxcatcodes \else \newcatcodetable \ctxcatcodes \fi
18\ifdefined \prtcatcodes \else \newcatcodetable \prtcatcodes \fi
19\ifdefined \txtcatcodes \else \newcatcodetable \txtcatcodes \fi
20%ifdefined \mthcatcodes \else \newcatcodetable \mthcatcodes \fi % math, not used, too tricky
21\ifdefined \tpacatcodes \else \newcatcodetable \tpacatcodes \fi % { }
22\ifdefined \tpbcatcodes \else \newcatcodetable \tpbcatcodes \fi % < >
23
24\setnewconstant \doublecommentsignal "10FF25 %% < 110000 (last valid range)
25
26\startcatcodetable \ctxcatcodes
27    \catcode\tabasciicode       \spacecatcode
28    \catcode\endoflineasciicode \endoflinecatcode
29    \catcode\formfeedasciicode  \endoflinecatcode
30    \catcode\spaceasciicode     \spacecatcode
31    \catcode\endoffileasciicode \ignorecatcode
32  % \catcode\circumflexasciicode\superscriptcatcode
33  % \catcode\underscoreasciicode\subscriptcatcode
34  % \catcode\ampersandasciicode \alignmentcatcode
35    \catcode\underscoreasciicode\othercatcode
36    \catcode\circumflexasciicode\othercatcode
37    \catcode\ampersandasciicode \othercatcode
38    \catcode\backslashasciicode \escapecatcode
39    \catcode\leftbraceasciicode \begingroupcatcode
40    \catcode\rightbraceasciicode\endgroupcatcode
41    \catcode\dollarasciicode    \mathshiftcatcode
42    \catcode\hashasciicode      \parametercatcode
43    \catcode\commentasciicode   \commentcatcode
44    \catcode\tildeasciicode     \activecatcode
45    \catcode\barasciicode       \activecatcode
46\stopcatcodetable
47
48\startcatcodetable \prtcatcodes
49    \catcode\tabasciicode            \spacecatcode
50    \catcode\endoflineasciicode      \endoflinecatcode
51    \catcode\formfeedasciicode       \endoflinecatcode
52    \catcode\spaceasciicode          \spacecatcode
53    \catcode\endoffileasciicode      \ignorecatcode
54    \catcode\circumflexasciicode     \superscriptcatcode     % candidate
55    \catcode\underscoreasciicode     \lettercatcode
56    \catcode\ampersandasciicode      \alignmentcatcode
57    \catcode\backslashasciicode      \escapecatcode
58    \catcode\leftbraceasciicode      \begingroupcatcode
59    \catcode\rightbraceasciicode     \endgroupcatcode
60    \catcode\dollarasciicode         \mathshiftcatcode
61    \catcode\hashasciicode           \parametercatcode
62    \catcode\commentasciicode        \commentcatcode
63    \catcode\atsignasciicode         \lettercatcode
64    \catcode\exclamationmarkasciicode\lettercatcode
65    \catcode\questionmarkasciicode   \lettercatcode
66    \catcode\tildeasciicode          \activecatcode
67    \catcode\barasciicode            \activecatcode
68\stopcatcodetable
69
70\startcatcodetable \tpacatcodes
71    \catcode\tabasciicode       \othercatcode
72    \catcode\endoflineasciicode \othercatcode
73    \catcode\formfeedasciicode  \othercatcode
74    \catcode\spaceasciicode     \othercatcode
75    \catcode\endoffileasciicode \othercatcode
76    \catcode\leftbraceasciicode \begingroupcatcode
77    \catcode\rightbraceasciicode\endgroupcatcode
78\stopcatcodetable
79
80\startcatcodetable \tpbcatcodes
81    \catcode\tabasciicode       \othercatcode
82    \catcode\endoflineasciicode \othercatcode
83    \catcode\formfeedasciicode  \othercatcode
84    \catcode\spaceasciicode     \othercatcode
85    \catcode\endoffileasciicode \othercatcode
86    \catcode\lessthanasciicode  \begingroupcatcode
87    \catcode\morethanasciicode  \endgroupcatcode
88\stopcatcodetable
89
90\startcatcodetable \txtcatcodes
91    \catcode\tabasciicode       \spacecatcode
92    \catcode\endoflineasciicode \endoflinecatcode
93    \catcode\formfeedasciicode  \endoflinecatcode
94    \catcode\spaceasciicode     \spacecatcode
95    \catcode\endoffileasciicode \ignorecatcode
96    \catcode\backslashasciicode \escapecatcode
97    \catcode\leftbraceasciicode \begingroupcatcode
98    \catcode\rightbraceasciicode\endgroupcatcode
99    \catcode\doublecommentsignal\commentcatcode
100\stopcatcodetable
101
102\letcatcodecommand \ctxcatcodes \barasciicode   \relax
103\letcatcodecommand \ctxcatcodes \tildeasciicode \relax
104
105\pushoverloadmode
106
107     \catcodetable        \ctxcatcodes
108\let \defaultcatcodetable \ctxcatcodes
109
110\popoverloadmode
111
112% for the moment here:
113
114\permanent\protected\def\starttexcode
115  {\pushcatcodetable
116   \catcodetable\prtcatcodes}
117
118\permanent\protected\def\stoptexcode
119  {\popcatcodetable}
120
121\permanent\protected\def\startcontextcode
122  {\pushcatcodetable
123   \catcodetable\ctxcatcodes}
124
125\permanent\protected\def\stopcontextcode
126  {\popcatcodetable}
127
128% not visible, only for special cases
129
130\newcatcodetable \ctdcatcodes % context definitions
131
132\startcatcodetable \ctdcatcodes
133    \catcode\tabasciicode            \ignorecatcode
134    \catcode\endoflineasciicode      \ignorecatcode
135    \catcode\formfeedasciicode       \ignorecatcode
136    \catcode\spaceasciicode          \ignorecatcode
137    \catcode\endoffileasciicode      \ignorecatcode
138    \catcode\circumflexasciicode     \superscriptcatcode     % candidate
139    \catcode\underscoreasciicode     \lettercatcode
140    \catcode\ampersandasciicode      \alignmentcatcode
141%   \catcode\colonasciicode          \lettercatcode          % candidate
142    \catcode\backslashasciicode      \escapecatcode
143    \catcode\leftbraceasciicode      \begingroupcatcode
144    \catcode\rightbraceasciicode     \endgroupcatcode
145    \catcode\dollarasciicode         \mathshiftcatcode
146    \catcode\hashasciicode           \parametercatcode
147    \catcode\commentasciicode        \commentcatcode
148    \catcode\atsignasciicode         \lettercatcode
149    \catcode\exclamationmarkasciicode\lettercatcode
150    \catcode\questionmarkasciicode   \lettercatcode
151    \catcode\tildeasciicode          \activecatcode
152    \catcode\barasciicode            \activecatcode
153\stopcatcodetable
154
155\permanent\protected\def\startcontextdefinitioncode
156  {\pushcatcodetable
157   \catcodetable\ctdcatcodes}
158
159\permanent\protected\def\stopcontextdefinitioncode
160  {\popcatcodetable}
161
162\endinput
163