--- /dev/null
+
+<PACKAGE "ADVMESS">
+
+<ENTRY VMESS ANA-MESS ADDVMESS COMPILE-ERROR COMPILE-LOSSAGE COMPILE-WARNING
+ COMPILE-NOTE COMPILE-ACTIVATION>
+
+<USE "NPRINT" "COMPDEC">
+
+<DEFINE VMESS ("TUPLE" MSG)
+ #DECL ((MSG) TUPLE)
+ <PRINC "===== ">
+ <MAPF <>
+ <FUNCTION (O)
+ <COND (<TYPE? .O STRING> <PRINC .O>) (ELSE <PRIN1 .O>)>>
+ .MSG>
+ <CRLF>>
+
+<DEFINE ANA-MESS (L)
+ #DECL ((L) <LIST ANY [REST NODE LIST]>)
+ <REPEAT ((LL <REST .L>))
+ #DECL ((LL) <LIST [REST NODE LIST]>)
+ <COND (<EMPTY? .LL> <RETURN>)>
+ <PRINC "===== ">
+ <MAPF <>
+ <FUNCTION (O)
+ <COND (<TYPE? .O NODE> <NODE-COMPLAIN .O>)
+ (<TYPE? .O STRING> <PRINC .O>)
+ (ELSE <PRIN1 .O>)>>
+ <2 .LL>>
+ <CRLF>
+ <NODE-COMPLAIN <1 .LL>>
+ <SET LL <REST .LL 2>>>>
+
+<DEFINE ADDVMESS (N L "AUX" LL (V .VERBOSE))
+ #DECL ((N) NODE (L) LIST (V VERBOSE) <LIST [REST NODE LIST]>
+ (LL) <PRIMTYPE LIST>)
+ <COND (<SET LL <MEMQ .N .V>>
+ <PUTREST <REST <SET LL <2 .LL>> <- <LENGTH .LL> -1>> .L>)
+ (ELSE
+ <SET VERBOSE <REST <PUTREST .V (.N .L)> 2>>)>>
+
+
+<DEFINE COMPILE-ERROR ("TUPLE" X)
+ <PRINC "*** ERROR ">
+ <MAPF <>
+ <FUNCTION (IT)
+ <COND (<TYPE? .IT STRING> <PRINC .IT>)
+ (<TYPE? .IT NODE> <NODE-COMPLAIN .IT>)
+ (ELSE <PRIN1 .IT>)>
+ <PRINC " ">> .X>
+ <COND (<AND <GASSIGNED? DEBUGSW> ,DEBUGSW> <ERROR>)>
+ <RETURN <> .COMPILE-ACTIVATION>>
+
+<DEFINE COMPILE-LOSSAGE ("TUPLE" X)
+ <PRINC "*** LOSSAGE ">
+ <MAPF <>
+ <FUNCTION (IT)
+ <COND (<TYPE? .IT STRING> <PRINC .IT>)
+ (<TYPE? .IT NODE> <NODE-COMPLAIN .IT>)
+ (ELSE <PRIN1 .IT>)>
+ <PRINC " ">> .X>
+ <ERROR LOSSAGE!-ERRORS>>
+
+<DEFINE COMPILE-WARNING ("TUPLE" X)
+ <PRINC "*** WARNING ">
+ <MAPF <>
+ <FUNCTION (IT)
+ <COND (<TYPE? .IT STRING> <PRINC .IT>)
+ (<TYPE? .IT NODE> <NODE-COMPLAIN .IT>)
+ (ELSE <PRIN1 .IT>)>
+ <PRINC " ">> .X>
+ <CRLF>>
+
+
+<DEFINE COMPILE-NOTE ("TUPLE" X)
+ <PRINC "*** NOTE ">
+ <MAPF <>
+ <FUNCTION (IT)
+ <COND (<TYPE? .IT STRING> <PRINC .IT>)
+ (<TYPE? .IT NODE> <NODE-COMPLAIN .IT>)
+ (ELSE <PRIN1 .IT>)>
+ <PRINC " ">> .X>
+ <CRLF>>
+
+<ENDPACKAGE>