From f71041e9e80a2233e1a87c6b95660ed9e369e0c2 Mon Sep 17 00:00:00 2001 From: Marius Date: Mon, 10 Jan 2011 14:40:12 +0200 Subject: beta 2011.01.10 13:28 --- tex/context/base/catc-ctx.tex | 271 +++++++++++++---------------------------- tex/context/base/catc-def.tex | 162 ++++++++++++------------ tex/context/base/catc-ini.mkii | 39 +++--- tex/context/base/catc-ini.mkiv | 22 +++- tex/context/base/catc-sym.tex | 8 +- tex/context/base/catc-xml.tex | 100 +++++++-------- tex/context/base/char-act.mkiv | 51 ++++---- tex/context/base/cont-new.tex | 4 +- tex/context/base/context.tex | 2 +- tex/context/base/core-env.mkiv | 6 +- tex/context/base/core-sys.mkiv | 28 +++-- tex/context/base/lang-ini.mkiv | 2 +- tex/context/base/luat-ini.mkiv | 24 ---- tex/context/base/math-def.mkiv | 4 - tex/context/base/mult-cld.lua | 2 +- tex/context/base/page-plg.mkiv | 2 +- tex/context/base/supp-fil.mkiv | 10 +- tex/context/base/syst-aux.mkiv | 2 - tex/context/base/syst-ini.tex | 4 + tex/context/base/tabl-tbl.mkiv | 2 +- tex/context/base/xtag-ini.tex | 9 +- tex/context/base/xtag-map.tex | 8 +- 22 files changed, 328 insertions(+), 434 deletions(-) (limited to 'tex/context') 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}% -- cgit v1.2.3