--- rxvt-unicode/src/perl/selection 2006/01/21 21:20:34 1.32 +++ rxvt-unicode/src/perl/selection 2006/01/25 15:33:43 1.36 @@ -1,6 +1,6 @@ #! perl -sub on_keyboard_command { +sub on_user_command { my ($self, $cmd) = @_; $cmd eq "selection:rot13" @@ -12,8 +12,12 @@ sub on_init { my ($self) = @_; + if (defined (my $res = $self->resource ("cutchars"))) { + $res = $self->locale_decode ($res); + push @{ $self->{patterns} }, qr{\G [\Q$res\E[:space:]]* ([^\Q$res\E[:space:]]+) }x; + } + for (my $idx = 0; defined (my $res = $self->x_resource ("selection.pattern-$idx")); $idx++) { - no re 'eval'; # just to be sure $res = $self->locale_decode ($res); utf8::encode $res; push @{ $self->{patterns} }, qr/$res/; @@ -22,7 +26,7 @@ () } -# "find interetsing things"-patterns +# "find interesting things"-patterns my @mark_patterns = ( # common types of "parentheses" qr{ (?()] *( + qr{\G [\ \t|&;<>()]* ( (?: [^\\"'\ \t|&;<>()]+ | \\. @@ -112,7 +116,7 @@ # convert back from UTF-8 offset space to character space { - my $length = substr $text, $ofs, $len; + my $length = substr "$text ", $ofs, $len; utf8::decode $length; $len = length $length; }