@prog error-list.muf 1 9999 d 1 i ( This program lists error messages from the MUF compiler. When an error occurs and the program owner is offline, the error is stored in a .muf-msg-1234: property, where 1234 is the program's dbref, and a .muf-msg-any:y property is added. This program inspects a player for these properties and prints out any such messages. Normally, it will delete them, but if a command-line argument "save" is given, it will leave them untouched. If "check" is given, it will print a message if there are any, no message if none. ) : say me @ swap notify ; : msay "" rimplode say ; : do-check me @ ".muf-msg-any" prop-exists? if "You have MUF compiler error messages saved in @error." say then ; : do-show-save me @ ".muf-msg-any" prop-exists? not if exit then me @ propfirst begin while dup ".muf-msg-" 9 strncmp not if dup ".muf-msg-any" strcmp if me @ over getpropstr say then then pop propnext loop ; : do-show-delete begin me @ ".muf-msg-any" prop-exists? while me @ ".muf-msg-any" remove_prop me @ propfirst begin while dup ".muf-msg-" 9 strncmp not if me @ over getpropstr dup say me @ -rot remprop-if pop else pop then propnext loop loop ; : do-help "This command shows MUF compiler error messages you have accumulated." say command @ " - show messages and clears them" 2 msay command @ " help - show this info" 2 msay command @ " save - shows messages but doesn't clear them" 2 msay command @ " check - prints a message if any saved, nothing if not" 2 msay ; : main dup "check" strcmp not if pop do-check exit then dup not if pop do-show-delete exit then dup "help" strcmp not if pop do-help exit then dup "save" strcmp not if pop do-show-save exit then "\"" swap "\" - unknown " command @ " command" 5 msay "Use \"" command @ " help\" for help." 3 msay ; . c q