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 )
|
void Emulator::execute( Parser::Execute *act )
|
||||||
{
|
{
|
||||||
assert( act->char_present );
|
fb.ds.next_print_will_wrap = false;
|
||||||
|
|
||||||
dispatch.dispatch( CONTROL, act, &fb );
|
dispatch.dispatch( CONTROL, act, &fb );
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,11 +102,13 @@ void Emulator::print( Parser::Print *act )
|
|||||||
|
|
||||||
void Emulator::CSI_dispatch( Parser::CSI_Dispatch *act )
|
void Emulator::CSI_dispatch( Parser::CSI_Dispatch *act )
|
||||||
{
|
{
|
||||||
|
fb.ds.next_print_will_wrap = false;
|
||||||
dispatch.dispatch( CSI, act, &fb );
|
dispatch.dispatch( CSI, act, &fb );
|
||||||
}
|
}
|
||||||
|
|
||||||
void Emulator::Esc_dispatch( Parser::Esc_Dispatch *act )
|
void Emulator::Esc_dispatch( Parser::Esc_Dispatch *act )
|
||||||
{
|
{
|
||||||
|
fb.ds.next_print_will_wrap = false;
|
||||||
/* handle 7-bit ESC-encoding of C1 control characters */
|
/* handle 7-bit ESC-encoding of C1 control characters */
|
||||||
if ( (dispatch.get_dispatch_chars().size() == 0)
|
if ( (dispatch.get_dispatch_chars().size() == 0)
|
||||||
&& (0x40 <= act->ch)
|
&& (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 ) {
|
static bool *get_DEC_mode( int param, Framebuffer *fb ) {
|
||||||
switch ( param ) {
|
switch ( param ) {
|
||||||
|
case 3: /* 80/132 */
|
||||||
|
fb->ds.move_row( 0 );
|
||||||
|
fb->ds.move_col( 0 );
|
||||||
|
return NULL;
|
||||||
case 6: /* origin */
|
case 6: /* origin */
|
||||||
fb->ds.move_row( 0 );
|
fb->ds.move_row( 0 );
|
||||||
fb->ds.move_col( 0 );
|
fb->ds.move_col( 0 );
|
||||||
|
|||||||
Reference in New Issue
Block a user