[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Infobot 0.49



There were two changes necessary to make infobot run on my
machine (patch attached):

1 - On systems that have more than one of the DB modules installed,
    it may be necessary to rearrange the priority in @AnyDBM_File::ISA.
    This can be done in Infobot/DB.pm.

    As far as I can see, this is only necessary because DB-tied
    hashes are queried with exists.  As far as I know, there is
    no difference in exists() and defined() for these hashes, so
    s/exists/defined/ may make this unnecessary.  I can find the
    pertinent exits()s (others are better left alone).

2 - In Infobot.pm it says, basically

              if ($instance) {
                # some code
              } else {
                $M->{$instance->name} = undef;
                $self->status(0, "$module not instantiated");
              }

The method call $instance->name in the else part *must* fail, if
it is reached.  On the other hand, if $M->{ something} is ever
accessed, it will return undef anyway, so I just commented that line
out.

Further:  0.49 doesn't understand "xyx++" and "karma xyz".  I suppose,
this is just not yet implemented.  I'd like to patch "karma" so that
it optionally reports sums of karma for multiple (similar) items.

infobot-dev@metronomicon.com seems to be a mailing list.  How do
I subscribe?

Anno
diff -rc Infobot-0.49/Infobot/DB.pm Infobot-0.49.patch/Infobot/DB.pm
*** Infobot-0.49/Infobot/DB.pm	Tue Dec 21 20:50:31 1999
--- Infobot-0.49.patch/Infobot/DB.pm	Wed Dec 22 17:02:19 1999
***************
*** 1,6 ****
--- 1,9 ----
  # infobot :: Kevin Lenzo  (c) 1997
  
  package Infobot::DB;
+ 
+ BEGIN { @AnyDBM_File::ISA = qw(DB_File GDBM_File NDBM_File) }
+ 
  use Infobot::Entity::Dispatcher;
  use Infobot::Message;
  
diff -rc Infobot-0.49/Infobot.pm Infobot-0.49.patch/Infobot.pm
*** Infobot-0.49/Infobot.pm	Tue Dec 21 20:50:31 1999
--- Infobot-0.49.patch/Infobot.pm	Wed Dec 22 16:36:08 1999
***************
*** 407,413 ****
  	    $instance->enabled($defenable);
  
  	  } else {
! 	    $M->{$instance->name} = undef;
  	    $self->status(0, "$module not instantiated");
  	  }
  	}
--- 407,413 ----
  	    $instance->enabled($defenable);
  
  	  } else {
! #	    $M->{$instance->name} = undef;
  	    $self->status(0, "$module not instantiated");
  	  }
  	}
Only in Infobot-0.49.patch/: Makefile