{
while (@_) {
my $inbuf = shift;
+ if ($inbuf =~ s/\x07+$//) {
+ beep();
+ }
push @shistory, $inbuf;
shift @shistory if @shistory > $maxshist;
}
if (defined $msg) {
my ($sort, $call, $line) = $msg =~ /^(\w)([^\|]+)\|(.*)$/;
+ $line =~ s/[\x00-\x06\x08\x0a-\x19\x1b-\x1f\x80-\x9f\xf0-\xff]/./g; # immutable CSI sequence + control characters
if ($sort && $sort eq 'D') {
$line = " " unless length($line);
addtotop($line);
$pos = 0;
} elsif ($r eq KEY_END || $r eq "\005") {
$pos = $lth;
- } elsif ($r eq KEY_BACKSPACE || $r eq "\010" || $r eq "\0177") {
+ } elsif ($r eq KEY_BACKSPACE || $r eq "\010" || $r eq "\x7f") {
if ($pos > 0) {
my $a = substr($inbuf, 0, $pos-1);
my $b = substr($inbuf, $pos) if $pos < $lth;
$conn->send_later("A$call|$connsort width=$cols");
$conn->send_later("I$call|set/page $maxshist");
-$conn->send_later("I$call|set/nobeep");
+#$conn->send_later("I$call|set/nobeep");
#Msg->set_event_handler(\*STDIN, "read" => \&rec_stdin);