h01740 s 00029/00000/00000 d D 1.1 91/03/08 04:49:06 hopkins 1 0 c date and time created 91/03/08 04:49:06 by hopkins e u U f e 0 t T I 1 % % Send -- robust send a message to an object. % /ctxget { % n -- null|thing currentprocess /hnctx 2 copy known { get dup length 3 -1 roll sub get } {pop pop pop null} ifelse } def /sender {2 ctxget} def /target {3 ctxget} def /message {4 ctxget} def /args {5 ctxget} def /Send { % args message target -- find_object dup null eq {pop pop pop} { self soften currentprocess /hnctx 2 copy known {get} {pop pop 4 array} ifelse currentprocess /OperandStack get currentprocess /hnctx 3 -1 roll put clear args aload pop message /deliver target send clear currentprocess /hnctx get aload pop currentprocess /hnctx 3 -1 roll put pop pop pop pop } ifelse } def E 1