Clear wrap flag on control/CSI/ESC

This commit is contained in:
Keith Winstein
2011-01-31 15:55:20 -05:00
parent 82b3a46fc2
commit ed55c4c892
2 changed files with 7 additions and 2 deletions
+3 -2
View File
@@ -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)
+4
View File
@@ -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 );