catc-ctx.mkiv /size: 7191 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\colonasciicode          \lettercatcode          % candidate
58    \catcode\backslashasciicode      \escapecatcode
59    \catcode\leftbraceasciicode      \begingroupcatcode
60    \catcode\rightbraceasciicode     \endgroupcatcode
61    \catcode\dollarasciicode         \mathshiftcatcode
62    \catcode\hashasciicode           \parametercatcode
63    \catcode\commentasciicode        \commentcatcode
64    \catcode\atsignasciicode         \lettercatcode
65    \catcode\exclamationmarkasciicode\lettercatcode
66    \catcode\questionmarkasciicode   \lettercatcode
67    \catcode\tildeasciicode          \activecatcode
68    \catcode\barasciicode            \activecatcode
69\stopcatcodetable
70
71%startcatcodetable \mthcatcodes
72%   \catcode\tabasciicode       \spacecatcode
73%   \catcode\endoflineasciicode \endoflinecatcode
74%  %\catcode\newlineasciicode   \spacecatcode
75%   \catcode\formfeedasciicode  \endoflinecatcode
76%   \catcode\spaceasciicode     \spacecatcode
77%   \catcode\endoffileasciicode \ignorecatcode
78%   \catcode\circumflexasciicode\superscriptcatcode
79%   \catcode\underscoreasciicode\subscriptcatcode
80%   \catcode\ampersandasciicode \alignmentcatcode
81%   \catcode\backslashasciicode \escapecatcode
82%   \catcode\leftbraceasciicode \begingroupcatcode
83%   \catcode\rightbraceasciicode\endgroupcatcode
84%   \catcode\dollarasciicode    \mathshiftcatcode
85%   \catcode\hashasciicode      \parametercatcode
86%   \catcode\commentasciicode   \commentcatcode
87%  %\catcode\tildeasciicode     \activecatcode
88%  %\catcode\barasciicode       \activecatcode
89%stopcatcodetable
90
91\startcatcodetable \tpacatcodes
92    \catcode\tabasciicode       \othercatcode
93    \catcode\endoflineasciicode \othercatcode
94    \catcode\formfeedasciicode  \othercatcode
95    \catcode\spaceasciicode     \othercatcode
96    \catcode\endoffileasciicode \othercatcode
97    \catcode\leftbraceasciicode \begingroupcatcode
98    \catcode\rightbraceasciicode\endgroupcatcode
99\stopcatcodetable
100
101\startcatcodetable \tpbcatcodes
102    \catcode\tabasciicode       \othercatcode
103    \catcode\endoflineasciicode \othercatcode
104    \catcode\formfeedasciicode  \othercatcode
105    \catcode\spaceasciicode     \othercatcode
106    \catcode\endoffileasciicode \othercatcode
107    \catcode\lessthanasciicode  \begingroupcatcode
108    \catcode\morethanasciicode  \endgroupcatcode
109\stopcatcodetable
110
111\startcatcodetable \txtcatcodes
112    \catcode\tabasciicode       \spacecatcode
113    \catcode\endoflineasciicode \endoflinecatcode
114    \catcode\formfeedasciicode  \endoflinecatcode
115    \catcode\spaceasciicode     \spacecatcode
116    \catcode\endoffileasciicode \ignorecatcode
117    \catcode\backslashasciicode \escapecatcode
118    \catcode\leftbraceasciicode \begingroupcatcode
119    \catcode\rightbraceasciicode\endgroupcatcode
120    \catcode\doublecommentsignal\commentcatcode
121\stopcatcodetable
122
123\letcatcodecommand \ctxcatcodes \barasciicode   \relax
124\letcatcodecommand \ctxcatcodes \tildeasciicode \relax
125
126     \catcodetable        \ctxcatcodes
127\let \defaultcatcodetable \ctxcatcodes
128%    \defaultcatcodetable \ctxcatcodes % also an option
129
130% for the moment here:
131
132\protected\def\starttexcode
133  {\pushcatcodetable
134   \catcodetable\prtcatcodes}
135
136\protected\def\stoptexcode
137  {\popcatcodetable}
138
139\protected\def\startcontextcode
140  {\pushcatcodetable
141   \catcodetable\ctxcatcodes}
142
143\protected\def\stopcontextcode
144  {\popcatcodetable}
145
146% not visible, only for special cases
147
148\newcatcodetable \ctdcatcodes % context definitions
149
150\startcatcodetable \ctdcatcodes
151    \catcode\tabasciicode            \ignorecatcode
152    \catcode\endoflineasciicode      \ignorecatcode
153    \catcode\formfeedasciicode       \ignorecatcode
154    \catcode\spaceasciicode          \ignorecatcode
155    \catcode\endoffileasciicode      \ignorecatcode
156    \catcode\circumflexasciicode     \superscriptcatcode     % candidate
157    \catcode\underscoreasciicode     \lettercatcode
158    \catcode\ampersandasciicode      \alignmentcatcode
159%   \catcode\colonasciicode          \lettercatcode          % candidate
160    \catcode\backslashasciicode      \escapecatcode
161    \catcode\leftbraceasciicode      \begingroupcatcode
162    \catcode\rightbraceasciicode     \endgroupcatcode
163    \catcode\dollarasciicode         \mathshiftcatcode
164    \catcode\hashasciicode           \parametercatcode
165    \catcode\commentasciicode        \commentcatcode
166    \catcode\atsignasciicode         \lettercatcode
167    \catcode\exclamationmarkasciicode\lettercatcode
168    \catcode\questionmarkasciicode   \lettercatcode
169    \catcode\tildeasciicode          \activecatcode
170    \catcode\barasciicode            \activecatcode
171\stopcatcodetable
172
173\protected\def\startcontextdefinitioncode
174  {\pushcatcodetable
175   \catcodetable\ctdcatcodes}
176
177\protected\def\stopcontextdefinitioncode
178  {\popcatcodetable}
179
180\endinput
181