summaryrefslogtreecommitdiffstats
path: root/perl-install/my_gtk.pm
diff options
context:
space:
mode:
authorPascal Rigaux <pixel@mandriva.com>1999-10-11 17:35:35 +0000
committerPascal Rigaux <pixel@mandriva.com>1999-10-11 17:35:35 +0000
commite4f62031c585cbc4a45230714e13821b9bfca34c (patch)
tree29ff4480df90ce8b6c0ddf9231a1e567f34ffe2b /perl-install/my_gtk.pm
parent9ad846cd08f909f760f80bf703b8d4dbe1809c7b (diff)
downloaddrakx-e4f62031c585cbc4a45230714e13821b9bfca34c.tar
drakx-e4f62031c585cbc4a45230714e13821b9bfca34c.tar.gz
drakx-e4f62031c585cbc4a45230714e13821b9bfca34c.tar.bz2
drakx-e4f62031c585cbc4a45230714e13821b9bfca34c.tar.xz
drakx-e4f62031c585cbc4a45230714e13821b9bfca34c.zip
no_comment
Diffstat (limited to 'perl-install/my_gtk.pm')
-rw-r--r--perl-install/my_gtk.pm23
1 files changed, 13 insertions, 10 deletions
diff --git a/perl-install/my_gtk.pm b/perl-install/my_gtk.pm
index ede3a2d78..2f8eb812e 100644
--- a/perl-install/my_gtk.pm
+++ b/perl-install/my_gtk.pm
@@ -388,18 +388,21 @@ sub _ask_from_list($$$$) {
Gtk->timeout_remove($timeout) if $timeout; $timeout = '';
- if ($e->{state} & 4) {
- #- control pressed
- $start_reg = $start_reg ? '' : "^" if $c eq "s";
- } elsif ($e->{keyval} >= 0x100) {
+ if ($e->{keyval} >= 0x100) {
&$leave if $c eq "\r" || $c eq "\x8d";
- $starting_word = '';
+ $starting_word = '' if $e->{keyval} != 0xffe4; # control
} else {
- &$leave if $c eq ' ';
-
- $curr++ if $starting_word eq '' || $starting_word eq $c;
- $starting_word .= $c unless $starting_word eq $c;
-
+ if ($e->{state} & 4) {
+ #- control pressed
+ $c eq "s" or return 1;
+ $start_reg and $start_reg = '', return 1;
+ $curr++;
+ } else {
+ &$leave if $c eq ' ';
+
+ $curr++ if $starting_word eq '' || $starting_word eq $c;
+ $starting_word .= $c unless $starting_word eq $c;
+ }
my $word = quotemeta $starting_word;
my $j; for ($j = 0; $j < @$l; $j++) {
$l->[($j + $curr) % @$l] =~ /$start_reg$word/i and last;