summaryrefslogtreecommitdiff
path: root/macros/plain/contrib/transparent-io/TrIOprivate.org
diff options
context:
space:
mode:
Diffstat (limited to 'macros/plain/contrib/transparent-io/TrIOprivate.org')
-rw-r--r--macros/plain/contrib/transparent-io/TrIOprivate.org245
1 files changed, 245 insertions, 0 deletions
diff --git a/macros/plain/contrib/transparent-io/TrIOprivate.org b/macros/plain/contrib/transparent-io/TrIOprivate.org
new file mode 100644
index 0000000000..5aec8983f2
--- /dev/null
+++ b/macros/plain/contrib/transparent-io/TrIOprivate.org
@@ -0,0 +1,245 @@
+% password-protected names for the used primitives, internal regeisters and quantities
+\let\TRIOhHJqsSbegingroup\begingroup
+\let\TRIOhHJqsSendgroup\endgroup
+\let\TRIOhHJqsSexpandafter\expandafter
+\let\TRIOhHJqsSnoexpand\noexpand
+\let\TRIOhHJqsSdef\def
+\let\TRIOhHJqsSedef\edef
+\let\TRIOhHJqsSgdef\gdef
+\let\TRIOhHJqsSxdef\xdef
+\let\TRIOhHJqsSlet\let
+\let\TRIOhHJqsSfuturelet\futurelet
+\let\TRIOhHJqsSglobal\global
+\let\TRIOhHJqsSglobaldefs\globaldefs
+\let\TRIOhHJqsSifcase\ifcase
+\let\TRIOhHJqsSifcat\ifcat
+\let\TRIOhHJqsSifnum\ifnum
+\let\TRIOhHJqsSifx\ifx
+\let\TRIOhHJqsSor\or
+\let\TRIOhHJqsSelse\else
+\let\TRIOhHJqsSfi\fi
+\let\TRIOhHJqsSafterassignment\TRIOafterassignment % must use the \TRIO... name here
+\let\TRIOhHJqsSimmediate\TRIOimmediate
+\let\TRIOhHJqsSinput\TRIOinput
+\let\TRIOhHJqsSread\read
+\let\TRIOhHJqsSwrite\write
+\let\TRIOhHJqsSthe\the
+\let\TRIOhHJqsSnumber\number
+\let\TRIOhHJqsSadvance\advance
+\let\TRIOhHJqsScatcode\catcode
+\let\TRIOhHJqsSfont\font
+\let\TRIOhHJqsSinputlineno\inputlineno
+\let\TRIOhHJqsSrelax\relax
+\let\TRIOhHJqsSundefined\undefined
+\let\TrIOhHJqsSspace\space
+%
+% password-protected macro names for allmost all defined macros
+\let\TrIOhHJqsSwlog\TrIOwlog
+\let\TrIOhHJqsSmessage\TrIOmessage
+\let\TrIOhHJqsSglobaldefs\TrIOglobaldefs
+\let\TrIOhHJqsSafter\TrIOafterassignment
+\let\TrIOhHJqsSsuspend\TrIOsuspendafterassignment
+\let\TrIOhHJqsSresume\TrIOresumeafterassignment
+\let\TrIOhHJqsSinit\TrIOinitafterassignment
+\let\TrIOhHJqsScheck\TrIOchecktoken
+\let\TrIOhHJqsSstore\TrIOstoresavedtoken
+\let\TrIOhHJqsSremove\TrIOremovesavedtoken
+\let\TrIOhHJqsSAFTER\TrIOAFTERASSIGNMENT
+\let\TrIOhHJqsSoutput\TrIOoutputtoken
+\let\TrIOhHJqsScountiocmd\TrIOcountiocmd
+\let\TrIOhHJqsShandleglobaldefs\TrIOhandleglobaldefs
+\let\TrIOhHJqsSsetcatcodes\TrIOsetcatcodes
+% nothing to do for \TRIOhHJqsSspecial
+\let\TrIOhHJqsSempty\TrIOempty
+\let\TrIOhHJqsSfixedef\TrIOfixedef
+\let\TrIOhHJqsSnosubdir\TrIOnosubdir
+\let\TrIOhHJqsSinputmessage\TrIOinputmessage
+% nothing to do for \TrIOcCkPxXmove
+% nothing to do for \TrIOcCkPxXinputmessage
+% nothing to do for \TrIOcCkPxXinput
+\let\TrIOhHJqsSopenin\TrIOopenin
+\let\TrIOhHJqsSOpenIn\TrIOOpenIn
+\let\TrIOhHJqsSOPENIN\TrIOOPENIN
+% nothing to do for \TrIOaAmNzZopenin
+\let\TrIOhHJqsSImmediate\TrIOImmediate
+\let\TrIOhHJqsSIMMEDIATE\TrIOIMMEDIATE
+\let\TrIOhHJqsSopenout\TrIOopenout
+\let\TrIOhHJqsSOpenOut\TrIOOpenOut
+\let\TrIOhHJqsSOPENOUT\TrIOOPENOUT
+% nothing to do for \TrIObBlOyYopenout
+\let\TrIOhHJqsSenvinput\TrIOenvinput
+\let\TrIOhHJqsSenvopen\TrIOenvopen
+% nothing to do for \TrIOfFLouUexecute
+% nothing to do for \TrIOfFLouUdoiocmd
+\let\TRIOhHJqsSerrmessage\errmessage
+\let\TRIOhHJqsSiftrue\iftrue
+\let\TRIOhHJqsSiffalse\iffalse
+% nothing to do for \TrIOhHJqsSstop
+% nothing to do for \TrIOdDjQwWcheck
+\let\TRIOgGKptTpausing\pausing
+% nothing to do for \TrIOeEMnvVfilenames
+%
+% password-protected names for token registers
+\edef\TrIOhHJqsStrafter{\the\TrIOtrafterassignment}
+\edef\TrIOhHJqsStropenin{\the\TrIOtropenin}
+\edef\TrIOhHJqsStrimmediate{\the\TrIOtrimmediate}
+\edef\TrIOhHJqsStropenout{\the\TrIOtropenout}
+%
+% test macro
+% the next three macros need password-protected names
+\def\TrIOhHJqsSstop#1{\TRIOhHJqsSerrmessage{TrIO ALERT !!!
+ Don't trust the source (#1)}}
+\let\TrIOstop\TrIOhHJqsSstop
+\def\TrIOdDjQwWcheck{% check that important macros aren't redefined
+ % general: \ifx, \else, \fi, and \TrIOstop
+ \TRIOhHJqsSifx\TRIOhHJqsSifx\TRIOifx
+ \TRIOhHJqsSelse\TrIOhHJqsSstop{TRIOifx}\TRIOhHJqsSfi
+ \TRIOifx\TRIOhHJqsSelse\TRIOelse
+ \TRIOhHJqsSelse\TrIOhHJqsSstop{TRIOelse}\TRIOhHJqsSfi
+ \TRIOifx\TRIOhHJqsSfi\TRIOfi
+ \TRIOelse\TrIOhHJqsSstop{TRIOfi}\TRIOhHJqsSfi
+ \TRIOifx\TrIOhHJqsSstop\TrIOstop
+ \TRIOelse\TrIOhHJqsSstop{TrIOstop}\TRIOfi
+ %
+ \TRIOifx\TRIOhHJqsSbegingroup\TRIObegingroup
+ \TRIOelse\TrIOstop{TRIObegingroup}\TRIOfi
+ \TRIOifx\TRIOhHJqsSendgroup\TRIOendgroup
+ \TRIOelse\TrIOstop{TRIOendgroup}\TRIOfi
+ \TRIOifx\TRIOhHJqsSexpandafter\TRIOexpandafter
+ \TRIOelse\TrIOstop{TRIOexpandafter}\TRIOfi
+ \TRIOifx\TRIOhHJqsSnoexpand\TRIOnoexpand
+ \TRIOelse\TrIOstop{TRIOnoexpand}\TRIOfi
+ \TRIOifx\TRIOhHJqsSdef\TRIOdef
+ \TRIOelse\TrIOstop{TRIOdef}\TRIOfi
+ \TRIOifx\TRIOhHJqsSedef\TRIOedef
+ \TRIOelse\TrIOstop{TRIOedef}\TRIOfi
+ \TRIOifx\TRIOhHJqsSgdef\TRIOgdef
+ \TRIOelse\TrIOstop{TRIOgdef}\TRIOfi
+ \TRIOifx\TRIOhHJqsSxdef\TRIOxdef
+ \TRIOelse\TrIOstop{TRIOxdef}\TRIOfi
+ \TRIOifx\TRIOhHJqsSlet\TRIOlet
+ \TRIOelse\TrIOstop{TRIOlet}\TRIOfi
+ \TRIOifx\TRIOhHJqsSfuturelet\TRIOfuturelet
+ \TRIOelse\TrIOstop{TRIOfuturelet}\TRIOfi
+ \TRIOifx\TRIOhHJqsSglobal\TRIOglobal
+ \TRIOelse\TrIOstop{TRIOglobal}\TRIOfi
+ \TRIOifx\TRIOhHJqsSglobaldefs\TRIOglobaldefs
+ \TRIOelse\TrIOstop{TRIOglobaldefs}\TRIOfi
+ \TRIOifx\TRIOhHJqsSifcase\TRIOifcase
+ \TRIOelse\TrIOstop{TRIOifcase}\TRIOfi
+ \TRIOifx\TRIOhHJqsSifcat\TRIOifcat
+ \TRIOelse\TrIOstop{TRIOifcat}\TRIOfi
+ \TRIOifx\TRIOhHJqsSifnum\TRIOifnum
+ \TRIOelse\TrIOstop{TRIOifnum}\TRIOfi
+ \TRIOifx\TRIOhHJqsSor\TRIOor
+ \TRIOelse\TrIOstop{TRIOor}\TRIOfi
+ \TRIOifx\TRIOhHJqsSafterassignment\TRIOafterassignment
+ \TRIOelse\TrIOstop{TRIOafterassignment}\TRIOfi
+ \TRIOifx\TRIOhHJqsSimmediate\TRIOimmediate
+ \TRIOelse\TrIOstop{TRIOimmediate}\TRIOfi
+ \TRIOifx\TRIOhHJqsSinput\TRIOinput
+ \TRIOelse\TrIOstop{TRIOinput}\TRIOfi
+ \TRIOifx\TRIOhHJqsSread\TRIOread
+ \TRIOelse\TrIOstop{TRIOread}\TRIOfi
+ \TRIOifx\TRIOhHJqsSwrite\TRIOwrite
+ \TRIOelse\TrIOstop{TRIOwrite}\TRIOfi
+ \TRIOifx\TRIOhHJqsSthe\TRIOthe
+ \TRIOelse\TrIOstop{TRIOthe}\TRIOfi
+ \TRIOifx\TRIOhHJqsSnumber\TRIOnumber
+ \TRIOelse\TrIOstop{TRIOnumber}\TRIOfi
+ \TRIOifx\TRIOhHJqsSadvance\TRIOadvance
+ \TRIOelse\TrIOstop{TRIOadvance}\TRIOfi
+ \TRIOifx\TRIOhHJqsScatcode\TRIOcatcode
+ \TRIOelse\TrIOstop{TRIOcatcode}\TRIOfi
+ \TRIOifx\TRIOhHJqsSfont\TRIOfont
+ \TRIOelse\TrIOstop{TRIOfont}\TRIOfi
+ \TRIOifx\TRIOhHJqsSinputlineno\TRIOinputlineno
+ \TRIOelse\TrIOstop{TRIOinputlineno}\TRIOfi
+ \TRIOifx\TRIOhHJqsSrelax\TRIOrelax
+ \TRIOelse\TrIOstop{TRIOrelax}\TRIOfi
+ \TRIOifx\TRIOhHJqsSundefined\TRIOundefined
+ \TRIOelse\TrIOstop{TRIOundefined}\TRIOfi
+ \TRIOifx\TrIOhHJqsSspace\TrIOspace
+ \TRIOelse\TrIOstop{TrIOspace}\TRIOfi
+ \TRIOifx\TrIOhHJqsSwlog\TrIOwlog
+ \TRIOelse\TrIOstop{TrIOwlog}\TRIOfi
+ \TRIOifx\TrIOhHJqsSmessage\TrIOmessage
+ \TRIOelse\TrIOstop{TrIOmessage}\TRIOfi
+ \TRIOifx\TrIOhHJqsSglobaldefs\TrIOglobaldefs
+ \TRIOelse\TrIOstop{TrIOglobaldefs}\TRIOfi
+ \TRIOifx\TrIOhHJqsSafter\TrIOafterassignment
+ \TRIOelse\TrIOstop{TrIOafterassignment}\TRIOfi
+ \TRIOifx\TrIOhHJqsSsuspend\TrIOsuspendafterassignment
+ \TRIOelse\TrIOstop{TrIOsuspendafterassignment}\TRIOfi
+ \TRIOifx\TrIOhHJqsSresume\TrIOresumeafterassignment
+ \TRIOelse\TrIOstop{TrIOresumeafterassignment}\TRIOfi
+ \TRIOifx\TrIOhHJqsSinit\TrIOinitafterassignment
+ \TRIOelse\TrIOstop{TrIOinitafterassignment}\TRIOfi
+ \TRIOifx\TrIOhHJqsScheck\TrIOchecktoken
+ \TRIOelse\TrIOstop{TrIOchecktoken}\TRIOfi
+ \TRIOifx\TrIOhHJqsSstore\TrIOstoresavedtoken
+ \TRIOelse\TrIOstop{TrIOstoresavedtoken}\TRIOfi
+ \TRIOifx\TrIOhHJqsSremove\TrIOremovesavedtoken
+ \TRIOelse\TrIOstop{TrIOremovesavedtoken}\TRIOfi
+ \TRIOifx\TrIOhHJqsSAFTER\TrIOAFTERASSIGNMENT
+ \TRIOelse\TrIOstop{TrIOAFTERASSIGNMENT}\TRIOfi
+ \TRIOifx\TrIOhHJqsSoutput\TrIOoutputtoken
+ \TRIOelse\TrIOstop{TrIOoutputtoken}\TRIOfi
+ \TRIOifx\TrIOhHJqsScountiocmd\TrIOcountiocmd
+ \TRIOelse\TrIOstop{TrIOcountiocmd}\TRIOfi
+ \TRIOifx\TrIOhHJqsShandleglobaldefs\TrIOhandleglobaldefs
+ \TRIOelse\TrIOstop{TrIOhandleglobaldefs}\TRIOfi
+ \TRIOifx\TrIOhHJqsSsetcatcodes\TrIOsetcatcodes
+ \TRIOelse\TrIOstop{TrIOsetcatcodes}\TRIOfi
+ \TRIOifx\TrIOhHJqsSempty\TrIOempty
+ \TRIOelse\TrIOstop{TrIOempty}\TRIOfi
+ \TRIOifx\TrIOhHJqsSfixedef\TrIOfixedef
+ \TRIOelse\TrIOstop{TrIOfixedef}\TRIOfi
+ \TRIOifx\TrIOhHJqsSnosubdir\TrIOnosubdir
+ \TRIOelse\TrIOstop{TrIOnosubdir}\TRIOfi
+ \TRIOifx\TrIOhHJqsSinputmessage\TrIOinputmessage
+ \TRIOelse\TrIOstop{TrIOinputmessage}\TRIOfi
+ \TRIOifx\TrIOhHJqsSopenin\TrIOopenin
+ \TRIOelse\TrIOstop{TrIOopenin}\TRIOfi
+ \TRIOifx\TrIOhHJqsSOpenIn\TrIOOpenIn
+ \TRIOelse\TrIOstop{TrIOOpenIn}\TRIOfi
+ \TRIOifx\TrIOhHJqsSOPENIN\TrIOOPENIN
+ \TRIOelse\TrIOstop{TrIOOPENIN}\TRIOfi
+ \TRIOifx\TrIOhHJqsSImmediate\TrIOImmediate
+ \TRIOelse\TrIOstop{TrIOImmediate}\TRIOfi
+ \TRIOifx\TrIOhHJqsSIMMEDIATE\TrIOIMMEDIATE
+ \TRIOelse\TrIOstop{TrIOIMMEDIATE}\TRIOfi
+ \TRIOifx\TrIOhHJqsSopenout\TrIOopenout
+ \TRIOelse\TrIOstop{TrIOopenout}\TRIOfi
+ \TRIOifx\TrIOhHJqsSOpenOut\TrIOOpenOut
+ \TRIOelse\TrIOstop{TrIOOpenOut}\TRIOfi
+ \TRIOifx\TrIOhHJqsSOPENOUT\TrIOOPENOUT
+ \TRIOelse\TrIOstop{TrIOOPENOUT}\TRIOfi
+ \TRIOifx\TrIOhHJqsSenvinput\TrIOenvinput
+ \TRIOelse\TrIOstop{TrIOenvinput}\TRIOfi
+ \TRIOifx\TrIOhHJqsSenvopen\TrIOenvopen
+ \TRIOelse\TrIOstop{TrIOenvopen}\TRIOfi
+ % registers and flags
+ \TRIObegingroup \TrIOsuspendafterassignment
+ \TRIOedef\TRIOnext{\the\TrIOtrafterassignment}%
+ \TRIOifx\TRIOnext\TrIOhHJqsStrafter
+ \TRIOelse\TrIOstop{TRIOtrafterassignment}\TRIOfi
+ \TRIOedef\TRIOnext{\the\TrIOtropenin}%
+ \TRIOifx\TRIOnext\TrIOhHJqsStropenin
+ \TRIOelse\TrIOstop{TRIOtropenin}\TRIOfi
+ \TRIOedef\TRIOnext{\the\TrIOtrimmediate}%
+ \TRIOifx\TRIOnext\TrIOhHJqsStrimmediate
+ \TRIOelse\TrIOstop{TRIOtrimmediate}\TRIOfi
+ \TRIOedef\TRIOnext{\the\TrIOtropenout}%
+ \TRIOifx\TRIOnext\TrIOhHJqsStropenout
+ \TRIOelse\TrIOstop{TRIOtropenout}\TRIOfi
+ \TRIOcatcode`\1=12 \TRIOcatcode`\f=11
+ \TRIOifcat
+ \TRIOifx\ifTrIOimoo\TRIOhHJqsSiftrue 1\TRIOelse f\TRIOfi
+ \TRIOifx\ifTrIOimoo\TRIOhHJqsSiffalse f\TRIOelse 1\TRIOfi
+ \TRIOelse\TrIOstop{ifTrIOimoo}\TRIOfi
+ \TRIOendgroup
+ % \special
+ \TRIOifx\TRIOhHJqsSspecial\TRIOhHJqsSundefined
+ \TRIOelse\TRIOifx\TRIOhHJqsSspecial\special
+ \TRIOelse\TrIOstop{special}\TRIOfi\TRIOfi}