On Thu, Feb 03, 2000 at 07:42:23PM +0100, [EMAIL PROTECTED] wrote:
> > This restriction can be
> > relaxed in a future release if there is enough demand.
>
> As you surely expected ;-), the first demand just arrived with this message.
OK. It was easier than I expected:
==== //depot/D/Event/ChangeLog#121 - /cache/D/Event/ChangeLog ====
--- /tmp/tmp.20134.0 Thu Feb 3 16:14:08 2000
+++ /cache/D/Event/ChangeLog Thu Feb 3 16:02:57 2000
@@ -1,5 +1,7 @@
2000-02-03 Joshua Pritikin <[EMAIL PROTECTED]>
+ * Allow var watchers to watch the same variable.
+
* Deprecated AUTOLOAD of Event->$type. (Nick & Graham)
* Reworked priority documentation based on comments from
==== //depot/D/Event/c/var.c#21 - /cache/D/Event/c/var.c ====
--- /tmp/tmp.20134.1 Thu Feb 3 16:14:08 2000
+++ /cache/D/Event/c/var.c Thu Feb 3 16:09:09 2000
@@ -69,8 +69,6 @@
return "cannot trace read-only variable";
if (!SvUPGRADE(sv, SVt_PVMG))
return "SvUPGRADE failed";
- if (mg_find(sv, 'U'))
- return "var is already being traced";
mgp = &SvMAGIC(sv);
while ((mg = *mgp)) {
@@ -110,7 +108,7 @@
mgp = &SvMAGIC(sv);
while ((mg = *mgp)) {
- if (mg->mg_obj == (SV*)ev)
+ if (mg->mg_type == 'U' && mg->mg_obj == (SV*)ev)
break;
mgp = &mg->mg_moremagic;
}
==== //depot/D/Event/t/unconfigured.t#3 - /cache/D/Event/t/unconfigured.t ====
--- /tmp/tmp.20134.2 Thu Feb 3 16:14:08 2000
+++ /cache/D/Event/t/unconfigured.t Thu Feb 3 16:04:16 2000
@@ -1,7 +1,7 @@
#!./perl -w
use strict;
-use Test; plan test => 8;
+use Test; plan test => 7;
use Event;
use Event::type ':all';
@@ -27,7 +27,3 @@
eval { Event->var(var => \$1) };
ok $@, '/read\-only/';
-
-eval { Event->var(var => \$var) for 1..2 };
-ok $@, '/already being traced/';
-
==== //depot/D/Event/t/var.t#9 - /cache/D/Event/t/var.t ====
--- /tmp/tmp.20134.3 Thu Feb 3 16:14:08 2000
+++ /cache/D/Event/t/var.t Thu Feb 3 16:12:31 2000
@@ -1,7 +1,7 @@
# watch -*-perl-*-
use strict;
-use Test; plan test => 5;
+use Test; plan test => 6;
use Event qw(loop unloop);
use Event::type qw(var idle);
@@ -19,6 +19,8 @@
},
desc => "var1"
);
+
+Event->var(var => \$var1, cb => sub { ok $var1, 2 });
Event->var(var => \$var2, cb =>
sub {
--
"May the best description of competition prevail."
via, but not speaking for Deutsche Bank