mirror of
https://github.com/hexchat/hexchat.git
synced 2024-11-10 13:12:34 +01:00
merge with xchat r1492
This commit is contained in:
commit
62d32a125d
@ -212,19 +212,26 @@ sub hook_print {
|
||||
my $cb = $callback;
|
||||
$callback = sub {
|
||||
my @args = @{$_[0]};
|
||||
my $event_data = $_[1];
|
||||
my $event_name = $event;
|
||||
my $last_arg = @args - 1;
|
||||
|
||||
my @new = $cb->( \@args, $_[1], $event );
|
||||
my @new = $cb->( \@args, $event_data, $event_name );
|
||||
|
||||
# allow changing event by returning the new value
|
||||
if( @new > @args ) {
|
||||
$event_name = pop @new;
|
||||
}
|
||||
|
||||
# a filter can either return the new results or it can modify
|
||||
# @_ in place.
|
||||
if( @new ) {
|
||||
emit_print( $event, @new[ 0 .. $last_arg ] );
|
||||
if( @new == @args ) {
|
||||
emit_print( $event_name, @new[ 0 .. $last_arg ] );
|
||||
return EAT_ALL;
|
||||
} elsif(
|
||||
join( "\0", @{$_[0]} ) ne join( "\0", @args[ 0 .. $last_arg ] )
|
||||
) {
|
||||
emit_print( $event, @args[ 0 .. $last_arg ] );
|
||||
emit_print( $event_name, @args[ 0 .. $last_arg ] );
|
||||
return EAT_ALL;
|
||||
}
|
||||
|
||||
|
@ -13,6 +13,7 @@ sub get {
|
||||
(!defined $last_modified || $last_modified != -M $server_file ) ) {
|
||||
$last_modified = -M _;
|
||||
|
||||
@servers = ();
|
||||
if( open my $fh, "<", $server_file ) {
|
||||
local $/ = "\n\n";
|
||||
while( my $record = <$fh> ) {
|
||||
|
Loading…
Reference in New Issue
Block a user