modified create_sysop.pl to allow update
[spider.git] / perl / DXCommandmode.pm
index 1c54424e0744e8457700fbc77634f74cac072445..2094cbfaea51d6e9abdf4cec110ac1b29093f3f3 100644 (file)
@@ -65,7 +65,7 @@ sub start
        $self->{consort} = $line;       # save the connection type
        
        # set some necessary flags on the user if they are connecting
-       $self->{beep} = $self->{wwv} = $self->{talk} = $self->{ann} = $self->{here} = $self->{dx} = 1;
+       $self->{beep} = $self->{wwv} = $self->{wx} = $self->{talk} = $self->{ann} = $self->{here} = $self->{dx} = 1;
        #  $self->prompt() if $self->{state} =~ /^prompt/o;
        
        # add yourself to the database
@@ -86,7 +86,7 @@ sub start
        $self->send($self->msg('qthe1')) if !$user->qth;
        $self->send($self->msg('qll')) if !$user->qra || (!$user->lat && !$user->long);
        $self->send($self->msg('hnodee1')) if !$user->qth;
-
+       $self->send($self->msg('msgnew')) if DXMsg::for_me($call);
        
        $self->send($self->msg('pr', $call));
 }
@@ -130,7 +130,7 @@ sub normal
                        $self->state('prompt');
                }
        } else {
-               @ans = run_cmd($self, $cmdline) if length $cmdline;
+               @ans = run_cmd($self, $cmdline);           # if length $cmdline;
                
                if ($self->{pagelth} && @ans > $self->{pagelth}) {
                        my $i;
@@ -175,6 +175,8 @@ sub run_cmd
                        return (1, "Syserr: Eval err $errstr on stored func $self->{func}");
                }
        } else {
+
+               return () if length $cmdline == 0;
                
                # strip out //
                $cmdline =~ s|//|/|og;
@@ -477,12 +479,14 @@ sub find_cmd_name {
                return undef;
        }
        
-       if(defined $Cache{$package}->{mtime} && $Cache{$package}->{mtime } <= $mtime) {
+       if(defined $Cache{$package}{mtime} && $Cache{$package}{mtime } <= $mtime) {
                #we have compiled this subroutine already,
                #it has not been updated on disk, nothing left to do
                #print STDERR "already compiled $package->handler\n";
                ;
        } else {
+               delete_package($package) if defined $Cache{$package}{mtime};
+               
                my $fh = new FileHandle;
                if (!open $fh, $filename) {
                        $errstr = "Syserr: can't open '$filename' $!";
@@ -515,7 +519,7 @@ sub find_cmd_name {
                        delete_package($package);
                } else {
                        #cache it unless we're cleaning out each time
-                       $Cache{$package}->{'mtime'} = $mtime;
+                       $Cache{$package}{'mtime'} = $mtime;
                }
        }