summaryrefslogtreecommitdiff
path: root/tex/context/base
diff options
context:
space:
mode:
authorMarius <mariausol@gmail.com>2011-01-10 14:40:12 +0200
committerMarius <mariausol@gmail.com>2011-01-10 14:40:12 +0200
commitf71041e9e80a2233e1a87c6b95660ed9e369e0c2 (patch)
tree9e44c22c5e6d56e47a0f2df200cdcc4b5d233dca /tex/context/base
parent44af35b8124128f1d2343e033255985b0f533c27 (diff)
downloadcontext-f71041e9e80a2233e1a87c6b95660ed9e369e0c2.tar.gz
beta 2011.01.10 13:28
Diffstat (limited to 'tex/context/base')
-rw-r--r--tex/context/base/catc-ctx.tex271
-rw-r--r--tex/context/base/catc-def.tex162
-rw-r--r--tex/context/base/catc-ini.mkii39
-rw-r--r--tex/context/base/catc-ini.mkiv22
-rw-r--r--tex/context/base/catc-sym.tex8
-rw-r--r--tex/context/base/catc-xml.tex100
-rw-r--r--tex/context/base/char-act.mkiv51
-rw-r--r--tex/context/base/cont-new.tex4
-rw-r--r--tex/context/base/context.tex2
-rw-r--r--tex/context/base/core-env.mkiv6
-rw-r--r--tex/context/base/core-sys.mkiv28
-rw-r--r--tex/context/base/lang-ini.mkiv2
-rw-r--r--tex/context/base/luat-ini.mkiv24
-rw-r--r--tex/context/base/math-def.mkiv4
-rw-r--r--tex/context/base/mult-cld.lua2
-rw-r--r--tex/context/base/page-plg.mkiv2
-rw-r--r--tex/context/base/supp-fil.mkiv10
-rw-r--r--tex/context/base/syst-aux.mkiv2
-rw-r--r--tex/context/base/syst-ini.tex4
-rw-r--r--tex/context/base/tabl-tbl.mkiv2
-rw-r--r--tex/context/base/xtag-ini.tex9
-rw-r--r--tex/context/base/xtag-map.tex8
22 files changed, 328 insertions, 434 deletions
diff --git a/tex/context/base/catc-ctx.tex b/tex/context/base/catc-ctx.tex
index 61fd0514a..f3cbece13 100644
--- a/tex/context/base/catc-ctx.tex
+++ b/tex/context/base/catc-ctx.tex
@@ -17,213 +17,116 @@
\ifdefined \ctxcatcodes \else \newcatcodetable \ctxcatcodes \fi
\ifdefined \txtcatcodes \else \newcatcodetable \txtcatcodes \fi
\ifdefined \mthcatcodes \else \newcatcodetable \mthcatcodes \fi % math, not used, too tricky
-% \ifdefined \xmlcatcodesn \else \newcatcodetable \xmlcatcodesn \fi % normal
-% \ifdefined \xmlcatcodese \else \newcatcodetable \xmlcatcodese \fi % entitle
-% \ifdefined \xmlcatcodesr \else \newcatcodetable \xmlcatcodesr \fi % reduce
\ifdefined \typcatcodesa \else \newcatcodetable \typcatcodesa \fi % { }
\ifdefined \typcatcodesb \else \newcatcodetable \typcatcodesb \fi % < >
\ifdefined \typcatcodesc \else \newcatcodetable \typcatcodesc \fi % delimited
\startcatcodetable \ctxcatcodes
- \catcode`\^^I = 10
- \catcode`\^^M = 5
- \catcode`\^^L = 5
- \catcode`\ = 10
- % \catcode`\^^J = 10 % new
- \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
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ % \catcode\newlineasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\\ \escapecatcode
+ \catcode`\{ \begingroupcatcode
+ \catcode`\} \endgroupcatcode
+ \catcode`\$ \mathshiftcatcode
+ \catcode`\& \alignmentcatcode
+ \catcode`\# \parametercatcode
+ \catcode`\^ \superscriptcatcode
+ \catcode`\_ \subscriptcatcode
+ \catcode`\% \commentcatcode
+ \catcode`\~ \activecatcode
+ \catcode`\| \activecatcode
\stopcatcodetable
\startcatcodetable \prtcatcodes
- \catcode`\^^I = 10
- \catcode`\^^M = 5
- \catcode`\^^L = 5
- \catcode`\ = 10
- \catcode`\^^Z = 9
- \catcode`\\ = 0
- \catcode`\{ = 1
- \catcode`\} = 2
- \catcode`\$ = 3
- \catcode`\& = 4
- \catcode`\# = 6
- \catcode`\^ = 7 % soon we will also get rid of the usage of ^^ so then ^ can also be other
- \catcode`\_ = \ifnum\texengine=\luatexengine 11 \else 8 \fi
- \catcode`\% = 14
- \catcode`\@ = 11
- \catcode`\! = 11
- \catcode`\? = 11
- \catcode`\~ = 13
- \catcode`\| = 13
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\\ \escapecatcode
+ \catcode`\{ \begingroupcatcode
+ \catcode`\} \endgroupcatcode
+ \catcode`\$ \mathshiftcatcode
+ \catcode`\& \alignmentcatcode
+ \catcode`\# \parametercatcode
+ \catcode`\^ \superscriptcatcode % soon we will also get rid of the usage of ^^ so then ^ can also be other
+ \catcode`\_ \ifnum\texengine=\luatexengine\lettercatcode \else \subscriptcatcode \fi
+ \catcode`\% \commentcatcode
+ \catcode`\@ \lettercatcode
+ \catcode`\! \lettercatcode
+ \catcode`\? \lettercatcode
+ \catcode`\~ \activecatcode
+ \catcode`\| \activecatcode
\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
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ %\catcode\newlineasciicode \spacecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\\ \escapecatcode
+ \catcode`\{ \begingroupcatcode
+ \catcode`\} \endgroupcatcode
+ \catcode`\$ \mathshiftcatcode
+ \catcode`\& \alignmentcatcode
+ \catcode`\# \parametercatcode
+ \catcode`\^ \superscriptcatcode
+ \catcode`\_ \subscriptcatcode
+ \catcode`\% \commentcatcode
+ %\catcode`\~ \activecatcode
+ %\catcode`\| \activecatcode
\stopcatcodetable
-% \startcatcodetable \xmlcatcodesn
-% \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`\& = 13 % entity
-% \catcode`\< = 13 % element
-% \catcode`\> = 12
-% \catcode`\" = 12 % probably not needed any more
-% \catcode`\/ = 12 % probably not needed any more
-% \catcode`\' = 12 % probably not needed any more
-% \catcode`\~ = 12 % probably not needed any more
-% \catcode`\# = 12 % probably not needed any more
-% \catcode`\\ = 12 % probably not needed any more
-% \stopcatcodetable
-
-% \startcatcodetable \xmlcatcodese
-% \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`\& = 13 % entity
-% \catcode`\< = 13 % element
-% \catcode`\> = 12
-% \catcode`\# = 13
-% \catcode`\$ = 13
-% \catcode`\% = 13
-% \catcode`\\ = 13
-% \catcode`\^ = 13
-% \catcode`\_ = 13
-% \catcode`\{ = 13
-% \catcode`\} = 13
-% \catcode`\| = 13
-% \catcode`\~ = 13
-% \stopcatcodetable
-
-% \startcatcodetable \xmlcatcodesr
-% \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`\& = 13 % entity
-% \catcode`\< = 13 % element
-% \catcode`\> = 12
-% \catcode`\# = 13
-% \catcode`\$ = 13
-% \catcode`\% = 13
-% \catcode`\\ = 13
-% \catcode`\^ = 13
-% \catcode`\_ = 13
-% \catcode`\{ = 13
-% \catcode`\} = 13
-% \catcode`\| = 13
-% \catcode`\~ = 13
-% \stopcatcodetable
-
\startcatcodetable \typcatcodesa
- \catcode`\^^I = 12
- \catcode`\^^M = 12
- \catcode`\^^L = 12
- \catcode`\ = 12
- \catcode`\^^Z = 12
- \catcode`\{ = 1
- \catcode`\} = 2
+ \catcode\tabasciicode \othercatcode
+ \catcode\endoflineasciicode\othercatcode
+ \catcode\formfeedasciicode \othercatcode
+ \catcode\spaceasciicode \othercatcode
+ \catcode\endoffileasciicode\othercatcode
+ \catcode`\{ \begingroupcatcode
+ \catcode`\} \endgroupcatcode
\stopcatcodetable
\startcatcodetable \typcatcodesb
- \catcode`\^^I = 12
- \catcode`\^^M = 12
- \catcode`\^^L = 12
- \catcode`\ = 12
- \catcode`\^^Z = 12
- \catcode`\< = 1
- \catcode`\> = 2
+ \catcode\tabasciicode \othercatcode
+ \catcode\endoflineasciicode\othercatcode
+ \catcode\formfeedasciicode \othercatcode
+ \catcode\spaceasciicode \othercatcode
+ \catcode\endoffileasciicode\othercatcode
+ \catcode`\< \begingroupcatcode
+ \catcode`\> \endgroupcatcode
\stopcatcodetable
\startcatcodetable \typcatcodesc
- \catcode`\^^I = 12
- \catcode`\^^M = 12
- \catcode`\^^L = 12
- \catcode`\ = 12
- \catcode`\^^Z = 12
+ \catcode\tabasciicode \othercatcode
+ \catcode\endoflineasciicode\othercatcode
+ \catcode\formfeedasciicode \othercatcode
+ \catcode\spaceasciicode \othercatcode
+ \catcode\endoffileasciicode\othercatcode
\stopcatcodetable
\startcatcodetable \txtcatcodes
- \catcode`\^^I = 10
- \catcode`\^^M = 5
- \catcode`\^^L = 5
- \catcode`\ = 10
- \catcode`\^^Z = 9
- \catcode`\\ = 0
- \catcode`\{ = 1
- \catcode`\} = 2
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\\ \escapecatcode
+ \catcode`\{ \begingroupcatcode
+ \catcode`\} \endgroupcatcode
\stopcatcodetable
\letcatcodecommand \ctxcatcodes `\| \relax
\letcatcodecommand \ctxcatcodes `\~ \relax
-%letcatcodecommand \prtcatcodes `\| \relax % falls back on ctx
-%letcatcodecommand \prtcatcodes `\~ \relax % falls back on ctx
-
-% \letcatcodecommand \xmlcatcodesn `\& \relax
-% \letcatcodecommand \xmlcatcodesn `\< \relax
-
-% \letcatcodecommand \xmlcatcodese `\& \relax
-% \letcatcodecommand \xmlcatcodese `\< \relax
-
-% \letcatcodecommand \xmlcatcodesr `\& \relax
-% \letcatcodecommand \xmlcatcodesr `\< \relax
-
-% \letcatcodecommand \xmlcatcodese `\# \relax
-% \letcatcodecommand \xmlcatcodese `\$ \relax
-% \letcatcodecommand \xmlcatcodese `\% \relax
-% \letcatcodecommand \xmlcatcodese `\\ \relax
-% \letcatcodecommand \xmlcatcodese `\^ \relax
-% \letcatcodecommand \xmlcatcodese `\_ \relax
-% \letcatcodecommand \xmlcatcodese `\{ \relax
-% \letcatcodecommand \xmlcatcodese `\} \relax
-% \letcatcodecommand \xmlcatcodese `\| \relax
-% \letcatcodecommand \xmlcatcodese `\~ \relax
-
-% \letcatcodecommand \xmlcatcodesr `\# \relax
-% \letcatcodecommand \xmlcatcodesr `\$ \relax
-% \letcatcodecommand \xmlcatcodesr `\% \relax
-% \letcatcodecommand \xmlcatcodesr `\\ \relax
-% \letcatcodecommand \xmlcatcodesr `\^ \relax
-% \letcatcodecommand \xmlcatcodesr `\_ \relax
-% \letcatcodecommand \xmlcatcodesr `\{ \relax
-% \letcatcodecommand \xmlcatcodesr `\} \relax
-% \letcatcodecommand \xmlcatcodesr `\| \relax
-% \letcatcodecommand \xmlcatcodesr `\~ \relax
-
\catcodetable \ctxcatcodes
\let \defaultcatcodetable \ctxcatcodes
-%\let\xmlcatcodes \xmlcatcodesn % beware, in mkiv we use \notcatcodes
% for the moment here:
@@ -241,13 +144,13 @@
% \newcatcodetable\txtcatcodes
%
% \startcatcodetable \txtcatcodes
-% \catcode`\^^I = 10
-% \catcode`\^^M = 5
-% \catcode`\^^L = 5
-% \catcode`\ = 10
-% \catcode`\\ = 0
-% \catcode`\{ = 1
-% \catcode`\} = 2
+% \catcode\tabasciicode \spacecatcode
+% \catcode\endoflineasciicode\endoflinecatcode
+% \catcode\formfeedasciicode \endoflinecatcode
+% \catcode\spaceasciicode \spacecatcode
+% \catcode`\\ \escapecatcode
+% \catcode`\{ \begingroupcatcode
+% \catcode`\} \endgroupcatcode
% \stopcatcodetable
%
% \newcount\relaxedcatcodedepth
diff --git a/tex/context/base/catc-def.tex b/tex/context/base/catc-def.tex
index e80cfe125..eac2378c0 100644
--- a/tex/context/base/catc-def.tex
+++ b/tex/context/base/catc-def.tex
@@ -21,101 +21,101 @@
\ifdefined\prtcatcodes \else \newcatcodetable \prtcatcodes \fi
\startcatcodetable \nilcatcodes
- \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\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
\stopcatcodetable
\startcatcodetable \texcatcodes
- \catcode`\^^I = 10
- \catcode`\^^M = 5
- \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\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\\ \escapecatcode
+ \catcode`\{ \begingroupcatcode
+ \catcode`\} \endgroupcatcode
+ \catcode`\$ \mathshiftcatcode
+ \catcode`\& \alignmentcatcode
+ \catcode`\# \parametercatcode
+ \catcode`\^ \superscriptcatcode
+ \catcode`\_ \subscriptcatcode
+ \catcode`\% \commentcatcode
\stopcatcodetable
\startcatcodetable \luacatcodes
- \catcode`\^^I = 12 % ascii tab is a blank space
- \catcode`\^^M = 12 % ascii return is end-line
- \catcode`\^^L = 12 % ascii form-feed
- \catcode`\ = 12 % ascii space is blank space
- \catcode`\^^Z = 9 % ascii eof is ignored
- \catcode`\\ = 0
- \catcode`\% = 12
- \catcode`\# = 12
- \catcode`\_ = 12
- \catcode`\^ = 12
- \catcode`\& = 12
- \catcode`\| = 12
- \catcode`\{ = 12
- \catcode`\} = 12
- \catcode`\~ = 12
- \catcode`\$ = 12
+ \catcode\tabasciicode \othercatcode
+ \catcode\endoflineasciicode\othercatcode
+ \catcode\formfeedasciicode \othercatcode
+ \catcode\spaceasciicode \othercatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\\ \escapecatcode
+ \catcode`\% \othercatcode
+ \catcode`\# \othercatcode
+ \catcode`\_ \othercatcode
+ \catcode`\^ \othercatcode
+ \catcode`\& \othercatcode
+ \catcode`\| \othercatcode
+ \catcode`\{ \othercatcode
+ \catcode`\} \othercatcode
+ \catcode`\~ \othercatcode
+ \catcode`\$ \othercatcode
\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
+\startcatcodetable \notcatcodes % probably less needed
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\~ \othercatcode
+ \catcode`\# \othercatcode
+ \catcode`\$ \othercatcode
+ \catcode`\% \othercatcode
+ \catcode`\^ \othercatcode
+ \catcode`\& \othercatcode
+ \catcode`\_ \othercatcode
+ \catcode`\< \othercatcode
+ \catcode`\> \othercatcode
+ \catcode`\{ \othercatcode
+ \catcode`\} \othercatcode
+ \catcode`\" \othercatcode
+ \catcode`\' \othercatcode
+ \catcode`\/ \othercatcode
+ \catcode`\\ \othercatcode
+ \catcode`\| \othercatcode
\stopcatcodetable
\startcatcodetable \vrbcatcodes % probably less needed
- \catcode`\^^I = 12
- \catcode`\^^M = 12
- \catcode`\^^L = 12
- \catcode`\ = 12
- \catcode`\^^Z = 12
+ \catcode\tabasciicode \othercatcode
+ \catcode\endoflineasciicode\othercatcode
+ \catcode\formfeedasciicode \othercatcode
+ \catcode\spaceasciicode \othercatcode
+ \catcode\endoffileasciicode\othercatcode
\stopcatcodetable
\startcatcodetable \prtcatcodes
- \catcode`\^^I = 10
- \catcode`\^^M = 5
- \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`\@ = 11
- \catcode`\! = 11
- \catcode`\? = 11
- \catcode`\~ = 13
- \catcode`\| = 13
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\\ \escapecatcode
+ \catcode`\{ \begingroupcatcode
+ \catcode`\} \endgroupcatcode
+ \catcode`\$ \mathshiftcatcode
+ \catcode`\& \alignmentcatcode
+ \catcode`\# \parametercatcode
+ \catcode`\^ \superscriptcatcode
+ \catcode`\_ \subscriptcatcode
+ \catcode`\% \commentcatcode
+ \catcode`\@ \lettercatcode
+ \catcode`\! \lettercatcode
+ \catcode`\? \lettercatcode
+ \catcode`\~ \activecatcode
+ \catcode`\| \activecatcode
\stopcatcodetable
%D Because some characters have a special meaning, we provide
diff --git a/tex/context/base/catc-ini.mkii b/tex/context/base/catc-ini.mkii
index dee15290a..58f6a7cd7 100644
--- a/tex/context/base/catc-ini.mkii
+++ b/tex/context/base/catc-ini.mkii
@@ -22,21 +22,30 @@
\ifx\plusone \undefined \chardef \plusone = 1 \fi
\ifx\minusone \undefined \newcount\minusone \minusone =-1 \fi
-\chardef\escapecatcode = 0
-\chardef\begingroupcatcode = 1
-\chardef\endgroupcatcode = 2
-\chardef\mathshiftcatcode = 3
-\chardef\alignmentcatcode = 4
-\chardef\endoflinecatcode = 5
-\chardef\parametercatcode = 6
-\chardef\superscriptcatcode = 7
-\chardef\subscriptcatcode = 8
-\chardef\ignorecatcode = 9
-\chardef\spacecatcode = 10
-\chardef\lettercatcode = 11
-\chardef\othercatcode = 12 \chardef\other = 12
-\chardef\activecatcode = 13 \chardef\active = 13
-\chardef\commentcatcode = 14
+\chardef\escapecatcode = 0
+\chardef\begingroupcatcode = 1
+\chardef\endgroupcatcode = 2
+\chardef\mathshiftcatcode = 3
+\chardef\alignmentcatcode = 4
+\chardef\endoflinecatcode = 5
+\chardef\parametercatcode = 6
+\chardef\superscriptcatcode = 7
+\chardef\subscriptcatcode = 8
+\chardef\ignorecatcode = 9
+\chardef\spacecatcode = 10
+\chardef\lettercatcode = 11
+\chardef\othercatcode = 12 \chardef\other = 12
+\chardef\activecatcode = 13 \chardef\active = 13
+\chardef\commentcatcode = 14
+
+\chardef\tabasciicode = 9 % ^^I
+\chardef\newlineasciicode = 10 % ^^J don't confuse this one with \endoflineasciicode
+\chardef\formfeedasciicode = 12 % ^^L
+\chardef\endoflineasciicode = 13 % ^^M somewhat messy but this can be the active \par
+\chardef\endoffileasciicode = 26 % ^^Z
+\chardef\spaceasciicode = 32
+%chardef\barasciicode = 124
+\chardef\delasciicode = 127
\newif \ifrecatcodeuppercharacters % only used in good old tex
diff --git a/tex/context/base/catc-ini.mkiv b/tex/context/base/catc-ini.mkiv
index 009c15074..d454fb535 100644
--- a/tex/context/base/catc-ini.mkiv
+++ b/tex/context/base/catc-ini.mkiv
@@ -37,6 +37,15 @@
\setnewconstant\activecatcode 13 \let\active\activecatcode
\setnewconstant\commentcatcode 14
+\setnewconstant\tabasciicode 9
+\setnewconstant\newlineasciicode 10 % don't confuse this one with \endoflineasciicode
+\setnewconstant\formfeedasciicode 12
+\setnewconstant\endoflineasciicode 13 % somewhat messy but this can be the active \par
+\setnewconstant\endoffileasciicode 26
+\setnewconstant\spaceasciicode 32
+%setnewconstant\barasciicode 124
+\setnewconstant\delasciicode 127
+
\ifx\gobbleoneargument\undefined \long\def\gobbleoneargument#1{} \fi
\newif \ifrecatcodeuppercharacters % only used in good old tex
@@ -59,11 +68,11 @@
\newtoks \setdefaultcatcodes
\setdefaultcatcodes
- {\catcode`\\ \othercatcode
- \catcode`\^^M \othercatcode
- \catcode`\ \othercatcode
- \catcode`\% \othercatcode
- \catcode127 \othercatcode}
+ {\catcode`\\ \othercatcode
+ \catcode\endoflineasciicode\othercatcode
+ \catcode\spaceasciicode \othercatcode
+ \catcode`\% \othercatcode
+ \catcode\delasciicode \othercatcode}
\long\normalprotected\def\startcatcodetable#1#2\stopcatcodetable
{\bgroup
@@ -73,6 +82,9 @@
\savecatcodetable#1\relax
\egroup}
+\def\permitcaretescape % to be used grouped
+ {\catcode`\^ = \superscriptcatcode}
+
\newcatcodetable\dummycatcodes
\long\normalprotected\def\startextendcatcodetable#1#2\stopextendcatcodetable
diff --git a/tex/context/base/catc-sym.tex b/tex/context/base/catc-sym.tex
index 067e192c8..dafe92290 100644
--- a/tex/context/base/catc-sym.tex
+++ b/tex/context/base/catc-sym.tex
@@ -70,10 +70,10 @@
\def\uncatcodeallcharacters{\setcatcodetable\nilcatcodes} % was slow one, with restore
\def\uncatcodespacetokens
- {\catcode`\ =\spacecatcode
- \catcode`\^^L=\ignorecatcode
- \catcode`\^^M=\endoflinecatcode
- \catcode`\^^?=\ignorecatcode}
+ {\catcode\spaceasciicode \spacecatcode
+ \catcode\formfeedasciicode \ignorecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\delasciicode \ignorecatcode}
%D \macros
%D {setverbosecharacter,setverbosecscharacters}
diff --git a/tex/context/base/catc-xml.tex b/tex/context/base/catc-xml.tex
index 20a241f26..69fa7ee43 100644
--- a/tex/context/base/catc-xml.tex
+++ b/tex/context/base/catc-xml.tex
@@ -18,62 +18,62 @@
\ifdefined \xmlcatcodesr \else \newcatcodetable \xmlcatcodesr \fi % reduce
\startcatcodetable \xmlcatcodesn
- \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`\& = 13 % entity
- \catcode`\< = 13 % element
- \catcode`\> = 12
- \catcode`\" = 12 % probably not needed any more
- \catcode`\/ = 12 % probably not needed any more
- \catcode`\' = 12 % probably not needed any more
- \catcode`\~ = 12 % probably not needed any more
- \catcode`\# = 12 % probably not needed any more
- \catcode`\\ = 12 % probably not needed any more
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\& \activecatcode
+ \catcode`\< \activecatcode
+ \catcode`\> \othercatcode
+ \catcode`\" \othercatcode % probably not needed any more
+ \catcode`\/ \othercatcode % probably not needed any more
+ \catcode`\' \othercatcode % probably not needed any more
+ \catcode`\~ \othercatcode % probably not needed any more
+ \catcode`\# \othercatcode % probably not needed any more
+ \catcode`\\ \othercatcode % probably not needed any more
\stopcatcodetable
\startcatcodetable \xmlcatcodese
- \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`\& = 13 % entity
- \catcode`\< = 13 % element
- \catcode`\> = 12
- \catcode`\# = 13
- \catcode`\$ = 13
- \catcode`\% = 13
- \catcode`\\ = 13
- \catcode`\^ = 13
- \catcode`\_ = 13
- \catcode`\{ = 13
- \catcode`\} = 13
- \catcode`\| = 13
- \catcode`\~ = 13
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\& \activecatcode
+ \catcode`\< \activecatcode
+ \catcode`\> \activecatcode
+ \catcode`\# \activecatcode
+ \catcode`\$ \activecatcode
+ \catcode`\% \activecatcode
+ \catcode`\\ \activecatcode
+ \catcode`\^ \activecatcode
+ \catcode`\_ \activecatcode
+ \catcode`\{ \activecatcode
+ \catcode`\} \activecatcode
+ \catcode`\| \activecatcode
+ \catcode`\~ \activecatcode
\stopcatcodetable
\startcatcodetable \xmlcatcodesr
- \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`\& = 13 % entity
- \catcode`\< = 13 % element
- \catcode`\> = 12
- \catcode`\# = 13
- \catcode`\$ = 13
- \catcode`\% = 13
- \catcode`\\ = 13
- \catcode`\^ = 13
- \catcode`\_ = 13
- \catcode`\{ = 13
- \catcode`\} = 13
- \catcode`\| = 13
- \catcode`\~ = 13
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\endoflinecatcode
+ \catcode\formfeedasciicode \endoflinecatcode
+ \catcode\spaceasciicode \spacecatcode
+ \catcode\endoffileasciicode\ignorecatcode
+ \catcode`\& \activecatcode
+ \catcode`\< \activecatcode
+ \catcode`\> \activecatcode
+ \catcode`\# \activecatcode
+ \catcode`\$ \activecatcode
+ \catcode`\% \activecatcode
+ \catcode`\\ \activecatcode
+ \catcode`\^ \activecatcode
+ \catcode`\_ \activecatcode
+ \catcode`\{ \activecatcode
+ \catcode`\} \activecatcode
+ \catcode`\| \activecatcode
+ \catcode`\~ \activecatcode
\stopcatcodetable
%D Next we hook in some active character definitions.
diff --git a/tex/context/base/char-act.mkiv b/tex/context/base/char-act.mkiv
index e38eb2c4e..6cac0010e 100644
--- a/tex/context/base/char-act.mkiv
+++ b/tex/context/base/char-act.mkiv
@@ -49,12 +49,12 @@
\def\controlspace{\hbox{\char32}} % rather tex
\def\normalspace { }
-\def\normalspaces{\catcode`\ =\spacecatcode}
+\def\normalspaces{\catcode\spaceasciicode\spacecatcode}
\bgroup
-\catcode`\ =\activecatcode
-\gdef\obeyspaces{\catcode`\ =\activecatcode\def {\obeyedspace}}
-\gdef\setcontrolspaces{\catcode`\ =\activecatcode\def {\controlspace}}
+\catcode\spaceasciicode\activecatcode
+\gdef\obeyspaces{\catcode\spaceasciicode\activecatcode\def {\obeyedspace}}
+\gdef\setcontrolspaces{\catcode\spaceasciicode\activecatcode\def {\controlspace}}
\egroup
%D \macros
@@ -66,25 +66,31 @@
%D \NEWPAGE\ character locally, we redefine the meaning of
%D this (often already) active character.
-\catcode`\^^L=\activecatcode \def^^L{\par}
+\bgroup \permitcaretescape
+
+ \catcode\formfeedasciicode\activecatcode
+
+ \gdef^^L{\par}
+
+\egroup
%D The following indirect definitions enable us to implement
%D all kind of \type{\obeyed} handlers.
-\bgroup
+\bgroup \permitcaretescape
-\catcode`\^^I=\activecatcode
-\catcode`\^^M=\activecatcode
-\catcode`\^^L=\activecatcode
+ \catcode\tabasciicode \activecatcode
+ \catcode\endoflineasciicode\activecatcode
+ \catcode\formfeedasciicode \activecatcode
-\gdef\obeytabs {\catcode`\^^I=\activecatcode\def^^I{\obeyedtab}}
-\gdef\obeylines {\catcode`\^^M=\activecatcode\def^^M{\obeyedline}}
-\gdef\obeypages {\catcode`\^^L=\activecatcode\def^^L{\obeyedpage}}
+ \gdef\obeytabs {\catcode\tabasciicode \activecatcode\def^^I{\obeyedtab }}
+ \gdef\obeylines {\catcode\endoflineasciicode\activecatcode\def^^M{\obeyedline}}
+ \gdef\obeypages {\catcode\formfeedasciicode \activecatcode\def^^L{\obeyedpage}}
-\gdef\ignoretabs {\catcode`\^^I=\activecatcode\def^^I{\obeyedspace}}
-\gdef\ignorelines {\catcode`\^^M=\activecatcode\def^^M{\obeyedspace}}
-\gdef\ignorepages {\catcode`\^^L=\ignorecatcode} % \activecatcode\def^^L{\obeyedline}}
-\gdef\ignoreeofs {\catcode`\^^Z=\ignorecatcode}
+ \gdef\ignoretabs {\catcode\tabasciicode \activecatcode\def^^I{\obeyedspace}}
+ \gdef\ignorelines{\catcode\endoflineasciicode\activecatcode\def^^M{\obeyedspace}}
+ \gdef\ignorepages{\catcode\formfeedasciicode \ignorecatcode } % \def^^L{\obeyedline}}
+ \gdef\ignoreeofs {\catcode\endoffileasciicode\ignorecatcode }
\egroup
@@ -102,19 +108,6 @@
\prettynaturalfont{\scantextokens\expandafter{\ascii}\ifhmode\unskip\fi}%
\egroup}
-%D What-a-mess:
-
-% \def\normalspacecodes
-% {\catcode`\^^I = 10
-% \catcode`\^^M = 5
-% \catcode`\^^L = 5
-% \catcode`\ = 10
-% \catcode`\^^Z = 9 }
-
-% \appendtoks
-% \normalspacecodes
-% \to \everybeforeoutput
-
\endinput \protect
% obsolete (old hack for idris)
diff --git a/tex/context/base/cont-new.tex b/tex/context/base/cont-new.tex
index 9c610629e..5f9fe0b41 100644
--- a/tex/context/base/cont-new.tex
+++ b/tex/context/base/cont-new.tex
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2011.01.10 09:41}
+\newcontextversion{2011.01.10 13:28}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
@@ -338,6 +338,8 @@
\bgroup
+\ifdefined\permitcaretescape \permitcaretescape \fi % mkiv
+
\obeylines % don't remove %'s !
\gdef\collapsedspace#1%
diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex
index 3d38e4e54..b430396da 100644
--- a/tex/context/base/context.tex
+++ b/tex/context/base/context.tex
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2011.01.10 09:41}
+\edef\contextversion{2011.01.10 13:28}
%D For those who want to use this:
diff --git a/tex/context/base/core-env.mkiv b/tex/context/base/core-env.mkiv
index df3b6e542..3bede1cad 100644
--- a/tex/context/base/core-env.mkiv
+++ b/tex/context/base/core-env.mkiv
@@ -293,11 +293,11 @@
% \ctxluabuffer
\newtoks\everydefinesetups \appendtoks
- \catcode`\^^M\ignorecatcode
+ \catcode\endoflineasciicode \ignorecatcode
\to \everydefinesetups
\newtoks\everydefinelocalsetups \appendtoks
- \catcode`\^^M\ignorecatcode
+ \catcode\endoflineasciicode \ignorecatcode
\to \everydefinelocalsetups
\newtoks\everydefinerawsetups \appendtoks
@@ -305,7 +305,7 @@
\to \everydefinerawsetups
\newtoks\everydefinexmlsetups \appendtoks
- \catcode`\^^M\ignorecatcode
+ \catcode\endoflineasciicode\ignorecatcode
\catcode`\|\othercatcode
\to \everydefinexmlsetups
diff --git a/tex/context/base/core-sys.mkiv b/tex/context/base/core-sys.mkiv
index cdca352bd..a620bf82f 100644
--- a/tex/context/base/core-sys.mkiv
+++ b/tex/context/base/core-sys.mkiv
@@ -35,20 +35,24 @@
%D End of lines to the output. \TEX\ will map this onto the platform specific
%D line ending. I hate this mess.
-%newlinechar=10 \def\outputnewlinechar{\rawcharacter{10}}
-\newlinechar=10 \edef\outputnewlinechar{^^J}
+\edef\operatingsystem {\ctxwrite {os.platform}}
-\edef\operatingsystem {\ctxwrite {os.platform}}
+\def \jobfilename {\ctxsprint{environment.jobfilename or ""}}
+\def \jobfilesuffix {\ctxsprint{environment.jobfilesuffix or ""}}
+\def \inputfilebarename{\ctxsprint{environment.inputfilebarename or ""}}
+\def \inputfilesuffix {\ctxsprint{environment.inputfilesuffix or ""}}
+\def \inputfilename {\ctxsprint{environment.inputfilename or ""}}
+\def \outputfilename {\ctxsprint{environment.outputfilename or ""}}
-\def\jobfilename {\ctxsprint{environment.jobfilename or ""}}
-\def\jobfilesuffix {\ctxsprint{environment.jobfilesuffix or ""}}
-\def\inputfilebarename{\ctxsprint{environment.inputfilebarename or ""}}
-\def\inputfilesuffix {\ctxsprint{environment.inputfilesuffix or ""}}
-\def\inputfilename {\ctxsprint{environment.inputfilename or ""}}
-\def\outputfilename {\ctxsprint{environment.outputfilename or ""}}
+\bgroup \permitcaretescape
-\def\initializenewlinechar
- {\bgroup\newlinechar=10\xdef\outputnewlinechar{^^J}\egroup}
+ \gdef\initializenewlinechar
+ {\bgroup
+ \newlinechar\newlineasciicode
+ \xdef\outputnewlinechar{^^J}%
+ \egroup}
+
+\egroup
\newtoks \everysetupsystem
@@ -106,8 +110,6 @@
{\let\jobfullname\empty}
{\doif\jobfilesuffix\c!tex{\edef\jobfullname{\jobfilename.#1}}}}
-\let\systemendofline\outputnewlinechar % will become obsolete
-
\def\systemparameter#1{\executeifdefined{\??sv#1}\empty}
%D There are a couple of system states avaiable:
diff --git a/tex/context/base/lang-ini.mkiv b/tex/context/base/lang-ini.mkiv
index a7371e298..7d2f91a92 100644
--- a/tex/context/base/lang-ini.mkiv
+++ b/tex/context/base/lang-ini.mkiv
@@ -191,7 +191,7 @@
\def\reallanguagetag#1%
{\ifcsname\l!prefix!#1\endcsname\csname\l!prefix!#1\endcsname\else#1\fi}
-% ^^ \language[#1] gave unwanted side effect of loading language specifics
+% \language[#1] gave unwanted side effect of loading language specifics
\def\installlanguage
{\dodoubleargument\doinstalllanguage}
diff --git a/tex/context/base/luat-ini.mkiv b/tex/context/base/luat-ini.mkiv
index 63cf02d01..6e3432d9a 100644
--- a/tex/context/base/luat-ini.mkiv
+++ b/tex/context/base/luat-ini.mkiv
@@ -53,30 +53,6 @@
\ifx\obeyedline \undefined \let\obeyedline \relax \fi
\ifx\obeyspaces \undefined \let\obeyspaces \relax \fi
\ifx\obeyedspace \undefined \let\obeyedspace \relax \fi
-\ifx\outputnewlinechar\undefined \let\outputnewlinechar\relax \fi
-
-%D A previous version used a bit less code and no catcode table,
-%D simply becaus ethey were not around at the time of writing.
-%
-% we keep it around for archival purposes
-%
-% \def\obeylualines
-% {\obeylines \let\obeyedline \outputnewlinechar
-% \obeyspaces \let\obeyedspace\space}
-%
-% \def\obeyluatokens % todo: make this a proper catcode table, use let's
-% {\catcode`\%=12 \catcode`\#=12
-% \catcode`\_=12 \catcode`\^=12
-% \catcode`\&=12 \catcode`\|=12
-% \catcode`\{=12 \catcode`\}=12
-% \catcode`\~=12 \catcode`\$=12
-% \def\\{\string\\}\def\|{\string\|}\def\-{\string\-}%
-% \def\({\string\(}\def\){\string\)}\def\{{\string\{}\def\}{\string\}}%
-% \def\'{\string\'}\def\"{\string\"}%
-% \def\n{\string\n}\def\r{\string\r}\def\f{\string\f}\def\t{\string\t}%
-% \def\a{\string\a}\def\b{\string\b}\def\v{\string\v}\def\s{\string\s}%
-% \def\1{\string\1}\def\2{\string\2}\def\3{\string\3}\def\4{\string\4}\def\5{\string\5}%
-% \def\6{\string\6}\def\7{\string\7}\def\8{\string\8}\def\9{\string\9}\def\0{\string\0}}
\let\obeylualines\relax
diff --git a/tex/context/base/math-def.mkiv b/tex/context/base/math-def.mkiv
index 58fd7d07e..fae7b4ae1 100644
--- a/tex/context/base/math-def.mkiv
+++ b/tex/context/base/math-def.mkiv
@@ -22,10 +22,6 @@
mathematics.xml.registerentities()
\stopluacode
-% special .. todo
-
-\mathcode`\ ="8000 \mathcode`\_="8000 \mathcode`\'="8000
-
% will be attributes
\setfalse \automathpunctuation
diff --git a/tex/context/base/mult-cld.lua b/tex/context/base/mult-cld.lua
index 66def5f93..79307fb0b 100644
--- a/tex/context/base/mult-cld.lua
+++ b/tex/context/base/mult-cld.lua
@@ -53,7 +53,7 @@ local flush = texsprint
local trace_context = logs.new("context") -- here
local report_cld = logs.new("cld")
-local processlines = false experiments.register("context.processlines", function(v) processlines = v end)
+local processlines = true -- experiments.register("context.processlines", function(v) processlines = v end)
-- for tracing it's easier to have two stacks
diff --git a/tex/context/base/page-plg.mkiv b/tex/context/base/page-plg.mkiv
index 83c3155fe..83c3e77f1 100644
--- a/tex/context/base/page-plg.mkiv
+++ b/tex/context/base/page-plg.mkiv
@@ -190,7 +190,7 @@
% {\long\setvalue{\??ly\c!method:#1}{#2}}
\long\unexpanded\def\startpagelayout
- {\bgroup\catcode`\^^M=\ignorecatcode\dostartpagelayout}
+ {\bgroup\catcode\endoflineasciicode\ignorecatcode\dostartpagelayout}
\long\def\dostartpagelayout[#1]#2\stoppagelayout
{\egroup\long\setvalue{\??ly\c!method:#1}{#2}}
diff --git a/tex/context/base/supp-fil.mkiv b/tex/context/base/supp-fil.mkiv
index aa2891689..4bae541c6 100644
--- a/tex/context/base/supp-fil.mkiv
+++ b/tex/context/base/supp-fil.mkiv
@@ -63,19 +63,17 @@
\newcount \endoflinelevel
-\ifx\newlinecode\undefined \chardef\newlinecode=`\^^M \fi
-
\def\pushendofline
{\advance\endoflinelevel\plusone
- \expandafter\chardef\csname :eol:\number\endoflinelevel\endcsname\catcode\newlinecode
- \catcode\newlinecode\commentcatcode\relax}
+ \expandafter\chardef\csname :eol:\number\endoflinelevel\endcsname\catcode\endoflineasciicode
+ \catcode\endoflineasciicode\commentcatcode\relax}
\def\popendofline
- {\catcode\newlinecode\csname :eol:\number\endoflinelevel\endcsname
+ {\catcode\endoflineasciicode\csname :eol:\number\endoflinelevel\endcsname
\advance\endoflinelevel\minusone}
\def\restoreendofline
- {\catcode\newlinecode\endoflinecatcode}
+ {\catcode\endoflineasciicode\endoflinecatcode}
%D \macros
%D {scratchread, scratchwrite}
diff --git a/tex/context/base/syst-aux.mkiv b/tex/context/base/syst-aux.mkiv
index 9105d5e23..c82b52404 100644
--- a/tex/context/base/syst-aux.mkiv
+++ b/tex/context/base/syst-aux.mkiv
@@ -4301,8 +4301,6 @@
\newtoks\BeforePar
\newtoks\AfterPar
-\let\endoflinetoken=^^M
-
\def\redowithpar\par
{\doifnextcharelse\par\redowithpar\dodowithpar}%
diff --git a/tex/context/base/syst-ini.tex b/tex/context/base/syst-ini.tex
index c37f6850e..c2c3e1947 100644
--- a/tex/context/base/syst-ini.tex
+++ b/tex/context/base/syst-ini.tex
@@ -675,6 +675,10 @@
\obeyspaces\global\let =\space%
\egroup
+%D A constant:
+
+\let\endoflinetoken=^^M
+
%D Also needed might be a simple loop structure and we borrow
%D plain \TEX's one as it is often expected to be present and
%D it is about the fastest you can get. Beware: this macro
diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv
index d01a3c72b..f1d82b942 100644
--- a/tex/context/base/tabl-tbl.mkiv
+++ b/tex/context/base/tabl-tbl.mkiv
@@ -1634,7 +1634,7 @@
\setlocalhsize \hsize\localhsize
\fi
\dontcomplain
- \forgetall % hm, interference with \forgetparindent ^^^ probably bug, to be solved
+ \forgetall % hm, interference with preceding \forgetparindent probably bug, to be solved
\everypar\everytabulatepar
\setbox0\vbox % outside \if because of line counting
{\notesenabledfalse
diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex
index 8d463a3a1..39350ef13 100644
--- a/tex/context/base/xtag-ini.tex
+++ b/tex/context/base/xtag-ini.tex
@@ -2544,7 +2544,7 @@
%D \stoptyping
\long\def\startdefineXMLhandlers
- {\bgroup\catcode`\^^M=\@@space
+ {\bgroup\catcode\endoflineasciicode\spacecatcode
\dodoubleempty\dostartdefineXMLhandlers}
\long\def\dostartdefineXMLhandlers[#1][#2]#3#4\stopdefineXMLhandlers % #2 is dummy
@@ -2760,9 +2760,10 @@
%D ...
\def\protectXMLdata
- {\catcode`\^^I\@@space
- \catcode`\^^M\@@space
- \catcode`\^^L\@@space
+ {\catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\spacecatcode
+ \catcode\formfeedasciicode \spacecatcode
+ \catcode\endoffileasciicode\spacecatcode
\catcode`\#\@@other}
\long\def\startXMLcode
diff --git a/tex/context/base/xtag-map.tex b/tex/context/base/xtag-map.tex
index f8471d6a7..cbde4f1b1 100644
--- a/tex/context/base/xtag-map.tex
+++ b/tex/context/base/xtag-map.tex
@@ -448,10 +448,10 @@
\let\par\XMLremappedpar
\the\everyXMLremapping
%\ignorelines
- \catcode`\^^I=\@@space
- \catcode`\^^M=\@@space
- \catcode`\^^L=\@@space
- \catcode`\^^Z=\@@space
+ \catcode\tabasciicode \spacecatcode
+ \catcode\endoflineasciicode\spacecatcode
+ \catcode\formfeedasciicode \spacecatcode
+ \catcode\endoffileasciicode\spacecatcode
\pushmacro\unicodechar
\let\unicodechar\relax
\xdef\remappedXMLdata{#4\empty}%