$cui->add_callback( 'editor', \¤t_word); my $candidate; # word to build a complete list from, or to spell-check sub current_word { my ($x, $y); Curses::UI::TextEditor::getsyx($y, $x); # not $editor->getsyx($foo), this would overwrite $editor. BUG! $y--; # there's 1 padding line chomp (my $line = $editor->getline_at_ypos($y-1)); # first line is 0 my $part = substr $line, 0, $x; ($candidate) = $part =~ /\b(\w+)$/; # caveat locale, utf8 warn $fh "x: $x y: $y '$line' - '$part' candidate: '$candidate'\n"; }