\chcode'173←1 \chcode'176←2 \chcode'175←2 \chcode'44←3 \chcode'26←4
\chcode'45←5 \chcode'32←5 \chcode'43←6 \chcode'136←7 \chcode 1←8

\chcode'272←'3072 % this makes formulas like "$x:=x+1$" and "$f:\?X\to Y$" work

\def\%{\char'45 }	% Note, the space after 45 is needed! (e.g.\%0)

\chpar0←'00100001

\def\trace{\chpar0←} \def\jpar{\chpar1←} \def\ragged{\chpar8←}
\def\jjpar{\chpar15←} \def\loose{\chpar14←} \def\uchyph{\chpar16←}
\def\widowline{\chpar4←}


\def\ldots{{.\.\.}}
\def\cdots{{\char'401\\char'401\\char'401}}
\def\ldotss{{.\.\.\}}
\def\cdotss{\cdots\}
\def\ldotsm{{\.\.\.\}}
\def\vdots{\vbox{\baselineskip 4pt\vskip 6pt\hbox{.}\hbox{.}\hbox{.}}}

\def\null{\hbox{}}

\maxdepth 2pt  \topbaseline 10pt
\baselineskip 12pt  \lineskip 1pt
\dispskip 12pt plus 3pt minus 9pt
\dispaskip 0pt plus 3pt  \dispbskip 7pt plus 3pt minus 4pt

\hsize 462pt    % used to be 6.5truein
\vsize 610pt    % used to be 8.9truein, then 630pt

\font @=cmathx
\font a=TIMESROMAN \font d=cmr7 \font f=cmr5
\font g=cmi10 \font j=cmi7 \font l=cmi5
\font n=TIMESROMANI
\font q=TIMESROMANB
\font u=cmsy10 \font x=cmsy7 \font z=cmsy5
\font ?=TIMESROMANI
\let \curfont=\:
\def\rm{\:a\nospaceskip} \def\sl{\:n\nospaceskip} \def\bf{\:q\nospaceskip} \def\it{\:?\nospaceskip}
\mathrm adf \mathit gjl \mathsy uxz \mathex @

\def\normalspaceskip{\chcode'40=10\spaceskip0pt\gdef\nospaceskip{\chcode'40=10\spaceskip0pt}\gdef\lispspaceskip{\chcode'40=13\spaceskip0pt}\gdef\argspaceskip{\chcode'40=13\spaceskip0.75em}}

\def\stretchyspaceskip{\chcode'40=10\spaceskip0.6em plus 9999pt\gdef\nospaceskip{}\gdef\lispspaceskip{}\gdef\argspaceskip{}}

\normalspaceskip

% my new stuff

\font e=cmi8 \def\nt{\:e\nospaceskip}
\font b=GACHA \def\tt{\:b\lispspaceskip}
\font c=cms10 \def\arg{\:c\argspaceskip}

\def\note{\nt\nofill{}}

\def\nofill{\def\
{\hskip0pt plus 1000pt\linebreak\hbox{}}\chcode'15=13\def\	{\hskip 3em}\chcode'11=13\chcode'40=13 }
\def\fill{\chcode'15=5\chcode'11=10\chcode'40=10 }

\def\lisp{\tt}

\def\formatdef#1#2#3{{\parfillskip0pt\hbox par #1{{\lisp #2}\hangindent 50pt after 1\unskip\penalty2000\hskip0pt plus 1000pt\penalty200\hskip1em\hbox{}\penalty2000\hskip0pt plus 1000pt\vbox{\hbox{\rm [#3]}}}}}

\botskip 3.5pt \botsep{\vskip15pt plus 10000000000pt \hbox{\vrule width5pc height1pt}\vskip3pt}
\def\ctr#1{\hbox to size{\hfill#1\hfill}}
\def\sub#1{\unskip\unskip\unskip\lower3pt\hbox{#1}}
\def\super#1{\unskip\unskip\unskip\raise3pt\hbox{#1}}

\def\lchskip{\hskip 0pt plus 1000000pt} % use this for codetag TO in lispcode,
						% so it won't barf at spaces

\def\biglispskip{\hskip 0pt plus 20pt}
      % inserted by DumpStringWithoutPenalties before big lisp words


\parindent0pt
\parskip10pt
\tabskip0pt
\widowline150

\jpar3
\jjpar4


\def\lquotes{\char'140\char'140 }\def\rquotes{\char'47\char'47 }
\def\LQUOTES{\lquotes}\def\RQUOTES{\rquotes}	% hack for quotes in titles


\def\ctrline#1{\hbox to size{\hss#1\hss}}

\def\noheaderonce{F}
\def\chapname{}
\def\chapnum{0}
\def\filetag{}
\def\draftflg{F}
\def\draft{\if T\draftflg{\bf -{}-{}-DRAFT-{}-{}-}\else{}}
\setcount0 0

\output{\advcount0\baselineskip18pt\hbox{\vbox to 40pt{\if T\noheaderonce{\gdef\noheaderonce{F}}\else{\hbox to size{\draft\hss\bf\ifeven0{\firstmark}\else{\chapname}\hss\draft}}\vfill}}\page
\vskip10pt plus 100000pt
\hbox to size{\draft\hss\rm\if 0\chapnum{}\else{\chapnum.}\count0\hss\draft}\vskip10pt
\hbox to size{\ifeven0{\filetag\hss}\else{\hss\filetag}}}

\rm