aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--auto-server/auto_server.pl17
-rw-r--r--tinyurl-tabcomplete/complete-tiny-url.pl2
2 files changed, 10 insertions, 9 deletions
diff --git a/auto-server/auto_server.pl b/auto-server/auto_server.pl
index 447a131..ac0cd29 100644
--- a/auto-server/auto_server.pl
+++ b/auto-server/auto_server.pl
@@ -94,7 +94,7 @@ sub haxy_print_hook {
my $data = $_[1];
# Hose control characters
$data =~ s/\x04.//g;
- if ($data =~ m/^#/) {
+ if ($data =~ m/^[#&!]/) {
my @items = split /\s+/, $data;
push(@hack_channels, $items[0]);
push(@hack_channels, $items[1]);
@@ -104,8 +104,8 @@ sub haxy_print_hook {
sub parse_channel_map {
#my $data = Irssi::settings_get_str('joinplus_server_maps');
- unbind_completion();
my $data = retrieve_channels();
+ unbind_completion();
my @items = split /\s+/, $data;
if (@items % 2 == 0) {
$channel_map = { @items }; # risky?
@@ -135,7 +135,7 @@ sub join_plus {
# parse out channel name from args:
my $channel;
- if ($args =~ m/^(#?[#a-zA-Z0-9-]+)/) {
+ if ($args =~ m/^([#&!]?[^ ]*)/) {
$channel = $1;
_debug_print ("Channel is: $channel");
}
@@ -209,13 +209,14 @@ sub do_channel_join {
my $channel = $pending_joins->{$serv->{address}};
$channel = $pending_joins->{$serv->{tag}} unless $channel;
+ if ($channel) {
+ _debug_print ("attempting to join $channel");
- _debug_print ("attempting to join $channel");
+ Irssi::server_find_tag($serv->{tag})->command("JOIN $channel");
- Irssi::server_find_tag($serv->{tag})->command("JOIN $channel");
-
- delete $pending_joins->{$serv->{address}};
- delete $pending_joins->{$serv->{tag}};
+ delete $pending_joins->{$serv->{address}};
+ delete $pending_joins->{$serv->{tag}};
+ }
}
diff --git a/tinyurl-tabcomplete/complete-tiny-url.pl b/tinyurl-tabcomplete/complete-tiny-url.pl
index b2d448f..ad43c5e 100644
--- a/tinyurl-tabcomplete/complete-tiny-url.pl
+++ b/tinyurl-tabcomplete/complete-tiny-url.pl
@@ -123,7 +123,7 @@ sub match_uri {
if ($text =~ $regex) {
my $uri = $1;
# shorten needs the http prefix or it'll treat it as a relative link.
- $uri = 'http://' . $uri if $uri !~ m(http://);
+ $uri = 'http://' . $uri if $uri !~ m([a-z][\w-]+:(?:/{1,3}|[a-z0-9%]));
return $uri;
} else {
# no match