diff options
author | Igor Pashev <pashev.igor@gmail.com> | 2013-01-27 23:51:56 +0000 |
---|---|---|
committer | Igor Pashev <pashev.igor@gmail.com> | 2013-01-27 23:51:56 +0000 |
commit | 6ab0c0f5bf14ed9c15370407b9ee7e0b4b089ae1 (patch) | |
tree | 926065cf45450116098db664e3c61dced9e1f21a /ipl/mprogs/playev.icn | |
download | icon-6ab0c0f5bf14ed9c15370407b9ee7e0b4b089ae1.tar.gz |
Initial upstream version 9.4.3upstream/9.4.3
Diffstat (limited to 'ipl/mprogs/playev.icn')
-rw-r--r-- | ipl/mprogs/playev.icn | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/ipl/mprogs/playev.icn b/ipl/mprogs/playev.icn new file mode 100644 index 0000000..7fdf595 --- /dev/null +++ b/ipl/mprogs/playev.icn @@ -0,0 +1,59 @@ +############################################################################ +# +# File: playev.icn +# +# Subject: Program to play back events +# +# Author: Ralph E. Griswold +# +# Date: August 16, 1994 +# +############################################################################ +# +# This file is in the public domain. +# +############################################################################ +# +# This program plays back events saved by recordev. Since recordev +# uses image() for recording, some information may be lost. +# +# This program is called as +# +# playev em <history +# +# where history is a file produced by recordev. +# +############################################################################ +# +# Requires: Version 9.0 MT Icon with event monitoring +# +############################################################################ +# +# Links: evinit, ivalue +# +############################################################################ + +link evinit +link ivalue + +procedure main(args) + local mask, prog + + prog := load(pop(args), args) | stop("*** cannot EM") + + variable("&eventsource", prog) := ¤t | stop("no eventsource?") + + mask := @prog # activate EM to get its mask + + while &eventcode := read() do { + &eventcode := ivalue(&eventcode) # can fail + &eventvalue := read() | break + if find(&eventcode, mask) then { + &eventvalue := ivalue(&eventvalue) # can fail + mask := event(, , prog) # pass event; get mask back + } + } + + cofail(prog) + +end |