… | |
… | |
15 | |
15 | |
16 | sub get($) { |
16 | sub get($) { |
17 | (&find)[0]->value |
17 | (&find)[0]->value |
18 | } |
18 | } |
19 | |
19 | |
20 | sub set($;$) { |
20 | sub trigger($;$) { |
21 | $self->map->trigger ($_[0], $#_ ? $_[1] : 1, $self); |
21 | $self->map->trigger ($_[0], $#_ ? $_[1] : 1, $self); |
22 | } |
22 | } |
23 | |
23 | |
24 | sub timer($$) { |
24 | sub timer($$) { |
25 | my $ob = (&find)[0]; |
25 | my $ob = (&find)[0]; |
… | |
… | |
29 | |
29 | |
30 | package cf::mapscript; |
30 | package cf::mapscript; |
31 | |
31 | |
32 | use strict qw(subs vars); |
32 | use strict qw(subs vars); |
33 | |
33 | |
|
|
34 | our %CACHE; |
|
|
35 | |
34 | sub activate($$$) { |
36 | sub activate($$$) { |
35 | ($self, $state, $activator, $originator) = @_; |
37 | ($self, $state, $activator, $originator) = @_; |
36 | |
38 | |
37 | warn "$self->{msg} $self->{on_activate}\n";#d# |
|
|
38 | |
|
|
39 | ( |
39 | ( |
40 | $self->{on_activate} ||= cf::safe_eval |
40 | $CACHE{$self->msg} ||= cf::safe_eval |
41 | "package mapscript; sub {\n" |
41 | "package mapscript; sub {\n" |
42 | . "#line 1 '" . ($self->debug_desc) . "'\n" |
42 | . "#line 1 '" . ($self->debug_desc) . "'\n" |
43 | . $self->msg |
43 | . $self->msg |
44 | . "\n}" |
44 | . "\n}" |
45 | or sub { } |
45 | or sub { } |