%D \module
%D   [       file=supp-ini,
%D        version=1995.10.10,
%D          title=\CONTEXT\ Support ystem Macros,
%D       subtitle=Initializations,
%D         author=Hans Hagen,
%D           date=\currentdate,
%D      copyright={PRAGMA / Hans Hagen \& Ton Otten}]
%C
%C This module is part of the \CONTEXT\ macro||package and is
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.

\writestatus{loading}{Context Support Macros / Initializations}

\unprotect

%D If you want control, you can have it:

\newif\ifeightbitcharacters  \eightbitcharacterstrue

%D We want to have access to the raw alternatives of the
%D special characters. We use a \type {\xdef} instead of 
%D \type {\let} because we need an expandable token in a 
%D \type {\write}. 

\bgroup

\catcode`B=\@@begingroup
\catcode`E=\@@endgroup
\catcode`.=\@@escape

.catcode `.{ 12 .xdef .letteropenbrace       B.string{E
.catcode `.} 12 .xdef .letterclosebrace      B.string}E
.catcode `.& 12 .xdef .letterampersand       B.string&E
.catcode `.< 12 .xdef .letterless            B.string<E
.catcode `.> 12 .xdef .lettermore            B.string>E
.catcode `.# 12 .xdef .letterhash            B.string#E
.catcode `.$ 12 .xdef .letterdollar          B.string$E
.catcode `.% 12 .xdef .letterpercent         B.string%E
.catcode `.^ 12 .xdef .letterhat             B.string^E
.catcode `._ 12 .xdef .letterunderscore      B.string_E
.catcode `.| 12 .xdef .letterbar             B.string|E
.catcode `.~ 12 .xdef .lettertilde           B.string~E
.catcode `.\ 12 .xdef .letterbackslash       B.string\E
.catcode `./ 12 .xdef .letterslash           B.string/E
.catcode `.? 12 .xdef .letterquestionmark    B.string?E
.catcode `.! 12 .xdef .letterexclamationmark B.string!E
.catcode `.@ 12 .xdef .letterat              B.string@E

         .global .let .letterescape .letterbackslash
         .global .let .letterbgroup .letteropenbrace
         .global .let .letteregroup .letterclosebrace

.egroup

\protect \endinput
