Clear wrap flag on control/CSI/ESC
This commit is contained in:
+3
-2
@@ -41,8 +41,7 @@ std::string Emulator::input( char c, int actfd )
|
||||
|
||||
void Emulator::execute( Parser::Execute *act )
|
||||
{
|
||||
assert( act->char_present );
|
||||
|
||||
fb.ds.next_print_will_wrap = false;
|
||||
dispatch.dispatch( CONTROL, act, &fb );
|
||||
}
|
||||
|
||||
@@ -103,11 +102,13 @@ void Emulator::print( Parser::Print *act )
|
||||
|
||||
void Emulator::CSI_dispatch( Parser::CSI_Dispatch *act )
|
||||
{
|
||||
fb.ds.next_print_will_wrap = false;
|
||||
dispatch.dispatch( CSI, act, &fb );
|
||||
}
|
||||
|
||||
void Emulator::Esc_dispatch( Parser::Esc_Dispatch *act )
|
||||
{
|
||||
fb.ds.next_print_will_wrap = false;
|
||||
/* handle 7-bit ESC-encoding of C1 control characters */
|
||||
if ( (dispatch.get_dispatch_chars().size() == 0)
|
||||
&& (0x40 <= act->ch)
|
||||
|
||||
@@ -176,6 +176,10 @@ static Function func_CSI_TBC( CSI, "g", CSI_TBC );
|
||||
|
||||
static bool *get_DEC_mode( int param, Framebuffer *fb ) {
|
||||
switch ( param ) {
|
||||
case 3: /* 80/132 */
|
||||
fb->ds.move_row( 0 );
|
||||
fb->ds.move_col( 0 );
|
||||
return NULL;
|
||||
case 6: /* origin */
|
||||
fb->ds.move_row( 0 );
|
||||
fb->ds.move_col( 0 );
|
||||
|
||||
Reference in New Issue
Block a user