parent
c504b96b60
commit
db2d14d9ed
2 changed files with 7 additions and 7 deletions
|
|
@ -519,16 +519,16 @@ accumulate_osc(Screen *screen, uint32_t ch, PyObject DUMP_UNUSED *dump_callback)
|
|||
switch(ch) {
|
||||
case ST:
|
||||
return true;
|
||||
case ESC_ST:
|
||||
if (screen->parser_buf_pos > 0 && screen->parser_buf[screen->parser_buf_pos - 1] == ESC) {
|
||||
screen->parser_buf_pos--;
|
||||
return true;
|
||||
}
|
||||
case BEL:
|
||||
return true;
|
||||
case NUL:
|
||||
case DEL:
|
||||
break;
|
||||
case ESC_ST:
|
||||
if (screen->parser_buf_pos > 0 && screen->parser_buf[screen->parser_buf_pos - 1] == ESC) {
|
||||
screen->parser_buf_pos--;
|
||||
return true;
|
||||
}
|
||||
default:
|
||||
if (screen->parser_buf_pos >= PARSER_BUF_SZ - 1) {
|
||||
REPORT_ERROR("OSC sequence too long, truncating.");
|
||||
|
|
|
|||
|
|
@ -156,9 +156,9 @@ def test_osc_codes(self):
|
|||
s = self.create_screen()
|
||||
pb = partial(self.parse_bytes_dump, s)
|
||||
c = s.callbacks
|
||||
pb('a\033]2;xyz\x9cbcde', 'a', ('set_title', 'xyz'), 'bcde')
|
||||
pb('a\033]2;x\\ryz\x9cbcde', 'a', ('set_title', 'x\\ryz'), 'bcde')
|
||||
self.ae(str(s.line(0)), 'abcde')
|
||||
self.ae(c.titlebuf, 'xyz')
|
||||
self.ae(c.titlebuf, 'x\\ryz')
|
||||
c.clear()
|
||||
pb('\033]\x07', ('set_title', ''), ('set_icon', ''))
|
||||
self.ae(c.titlebuf, ''), self.ae(c.iconbuf, '')
|
||||
|
|
|
|||
Loading…
Reference in a new issue