%D \module %D [ file=syst-omg, %D version=2000.09.09, %D title=\CONTEXT\ System Macros, %D subtitle=A couple of Omega goodies, %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. %D This module will become obsolete as soon as Omega %D supports \ETEX\ functionality. \ifx\OmegaVersion\undefined \endinput \fi % \def\newcount {\myalloc@0\count \countdef \@@maxallocation} % \def\newdimen {\myalloc@1\dimen \dimendef \@@maxallocation} % \def\newskip {\myalloc@2\skip \skipdef \@@maxallocation} % \def\newmuskip {\myalloc@3\muskip \muskipdef \@@maxallocation} % \def\newbox {\myalloc@4\box \mathchardef\@@maxallocation} % \def\newtoks {\myalloc@5\toks \toksdef \@@maxallocation} % \def\newread {\myalloc@6\read \chardef \@@minallocation} % \def\newwrite {\myalloc@7\write \chardef \@@minallocation} % \def\newmarks {\myalloc@8\marks \mathchardef\@@maxallocation} % \def\newlanguage{\myalloc@9\language\chardef \@@minallocation} % % \def\newfam#1{\chardef#1=15 } % % \count18=1 % % \mathchardef\@@minallocation= 16 % \mathchardef\@@medallocation= 256 % \mathchardef\@@maxallocation=32767 % \chardef \@@insallocation= 8 % % \def\myalloc@#1#2#3#4#5% % {\global\advance\count1#1by\@ne % \ifnum\count1#1>\@@medallocation \else % \global\advance\insc@unt by -\@@insallocation % \ifnum\count1#1<\insc@unt \else % \global\count1#1=\@@medallocation % \wait % \fi % \global\advance\insc@unt by +\@@insallocation % \fi % \ifnum\count1#1>#4% % \global\count1#1=#4% % \errmessage{No room for (\string#2) \string#5}% % \fi % \allocationnumber=\count1#1% % \global#3#5=\allocationnumber % \wlog{\string#5=\string#2\the\allocationnumber}} \unprotect \def\newcount {\myalloc@0\count \countdef \@@maxallocation} \def\newdimen {\myalloc@1\dimen \dimendef \@@maxallocation} \def\newskip {\myalloc@2\skip \skipdef \@@maxallocation} \def\newmuskip {\myalloc@3\muskip \muskipdef \@@maxallocation} \def\newbox {\myalloc@4\box \mathchardef\@@maxallocation} \def\newtoks {\myalloc@5\toks \toksdef \@@maxallocation} \def\newread {\myalloc@6\read \chardef \@@minallocation} \def\newwrite {\myalloc@7\write \chardef \@@minallocation} \def\newmarks {\myalloc@8\marks \mathchardef\@@maxallocation} \def\newlanguage{\myalloc@9\language\chardef \@@minallocation} \def\newfam#1{\chardef#1=15 } \count18=1 \mathchardef\@@minallocation = 16 \mathchardef\@@medallocation = 256 \mathchardef\@@maxallocation = 32767 \chardef\@@insallocation=24 \def\myalloc@#1#2#3#4#5% {\global\advance\count1#1by\@ne \ifnum\count1#1>\@@medallocation \else \global\advance\insc@unt by -\@@insallocation \ifnum\count1#1<\insc@unt \else \global\count1#1=\@@medallocation % \wait \fi \global\advance\insc@unt by +\@@insallocation \fi \ifnum\count1#1>#4% \global\count1#1=#4% \errmessage{No room for (\string#2) \string#5}% \fi \allocationnumber=\count1#1% \global#3#5=\allocationnumber \wlog{\string#5=\string#2\the\allocationnumber}} %D We need to catch a (rather crappy) automatic OMEGA %D mechanism. Unfortunately loading of the SGML vectors %D happens automatically without control over the regime %D under which it takes place. \ifx\SGMLFontEntity\undefined \else \let\normalSGMLFontEntity\SGMLFontEntity \def\SGMLFontEntity#1#2#3#4#5% {\convertargument#3\to\ascii \ExpandBothAfter\doifinstringelse{\letterbackslash}{\ascii} {\normalSGMLFontEntity{#1}{#2}{#3}{#4}{#5}} {\normalSGMLFontEntity{#1}{#2}{\string#3}{#4}{#5}}} \fi \protect \endinput