if (insert)
insch (1);
check_selection (cpos, cpos+1);
- *cpos++ = c | curr_attr |
+ *cpos++ = xlat_tty2scr((unsigned char)c) | curr_attr |
(c <= 0x7F ? cset_attr[cset] : ATTR_ASCII);
curs_x++;
if (curs_x == cols) {
}
break;
case 'r': /* set scroll margins */
- if (esc_nargs <= 2) {
+ if (!esc_query && esc_nargs <= 2) {
int top, bot;
top = def(esc_args[0], 1) - 1;
if (top < 0)
!(p <= data+len-sizeof(sel_nl) &&
!memcmp(p, sel_nl, sizeof(sel_nl))))
p++;
- back->send (q, p-q);
+
+ {
+ int i;
+ unsigned char c;
+ for(i=0;i<p-q;i++)
+ {
+ c=xlat_kbd2tty(q[i]);
+ back->send(&c,1);
+ }
+ }
+
if (p <= data+len-sizeof(sel_nl) &&
!memcmp(p, sel_nl, sizeof(sel_nl))) {
back->send ("\r", 1);