# factoid arguments handler.
# must start with a non-variable
- if (&IsChanConf("factoidArguments") and $lhs =~ /^[^\$]+.*\$/) {
+ if (&IsChanConf("factoidArguments") > 0 and $lhs =~ /^[^\$]+.*\$/) {
&status("Update: Factoid Arguments found.");
&status("Update: orig lhs => '$lhs'.");
&status("Update: orig rhs => '$rhs'.");
my @list;
my $count = 0;
- $lhs =~ s/^/CMD: /;
+ $lhs =~ s/^/cmd: /;
while ($lhs =~ s/\$(\S+)/(.*?)/) {
push(@list, "\$$1");
$count++;
}
if ($also) { # 'is also'.
- if ($exists =~ /^<REPLY> see /i) {
- &DEBUG("Update.pl: todo: append to linked factoid.");
+ my $redircount = 5;
+ my $origlhs = $lhs;
+ while ($exists =~ /^<REPLY> ?see (.*)/i) {
+ $redircount--;
+ unless ($redircount) {
+ &msg($who, "$origlhs has too many levels of redirection.");
+ return 1;
+ }
+
+ $lhs = $1;
+ $exists = &getFactoid($lhs);
+ unless( $exists ) {
+ &msg($who, "$1 is a dangling redirection.");
+ return 1;
+ }
+ }
+ if ($exists =~ /^<REPLY> ?see (.*)/i) {
+ &TODO("Update.pl: append to linked factoid.");
}
if ($also_or) { # 'is also ||'.