diff options
author | noah <noah@656d521f-e311-0410-88e0-e7920216d269> | 2002-08-30 12:05:16 +0000 |
---|---|---|
committer | noah <noah@656d521f-e311-0410-88e0-e7920216d269> | 2002-08-30 12:05:16 +0000 |
commit | adddd34434586d50f02d8672edd51f489df00ac1 (patch) | |
tree | 4c8738fe9c78c26cd653a5fcd3e1fa778d015859 | |
parent | 970a3fbf0b9f785c813418ab83a28c8b4cdb1a43 (diff) | |
download | pexpect-adddd34434586d50f02d8672edd51f489df00ac1.tar.gz |
More ANSI tweaks.
git-svn-id: http://pexpect.svn.sourceforge.net/svnroot/pexpect/trunk@38 656d521f-e311-0410-88e0-e7920216d269
-rwxr-xr-x | pexpect/ANSI.py | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/pexpect/ANSI.py b/pexpect/ANSI.py index 8c69f41..db0b060 100755 --- a/pexpect/ANSI.py +++ b/pexpect/ANSI.py @@ -91,8 +91,8 @@ def DoEraseLine (fsm): elif arg == 2: screen.erase_line() def DoEnableScroll (fsm): - # Scrolling is on by default. - pass + screen = fsm.something[0] + screen.scroll_screen() def DoCursorSave (fsm): screen = fsm.something[0] screen.cursor_save_attrs() @@ -100,10 +100,10 @@ def DoCursorRestore (fsm): screen = fsm.something[0] screen.cursor_restore_attrs() def DoScrollRegion (fsm): - screen = fsm.something[0] + screen = fsm.something[0] r2 = int(fsm.something.pop()) r1 = int(fsm.something.pop()) - screen.scroll_screen_rows (r1,r2) + screen.scroll_screen_rows (r1,r2) def DoMode (fsm): screen = fsm.something[0] @@ -141,13 +141,15 @@ class ANSI (term): self.state.add_transition (')', 'ESC', None, 'G1SCS') self.state.add_transition_list ('AB012', 'G0SCS', None, 'INIT') self.state.add_transition_list ('AB012', 'G1SCS', None, 'INIT') - self.state.add_transition ('[', 'ESC', None, 'ELB') self.state.add_transition ('7', 'ESC', DoCursorSave, 'INIT') self.state.add_transition ('8', 'ESC', DoCursorRestore, 'INIT') self.state.add_transition ('M', 'ESC', DoUpReverse, 'INIT') + self.state.add_transition ('>', 'ESC', DoUpReverse, 'INIT') + self.state.add_transition ('<', 'ESC', DoUpReverse, 'INIT') self.state.add_transition ('=', 'ESC', None, 'INIT') # Selects application keypad. self.state.add_transition ('#', 'ESC', None, 'GRAPHICS_POUND') self.state.add_transition_any ('GRAPHICS_POUND', None, 'INIT') + self.state.add_transition ('[', 'ESC', None, 'ELB') # ELB means Escape Left Bracket. That is ^[[ self.state.add_transition ('H', 'ELB', DoHomeOrigin, 'INIT') self.state.add_transition ('D', 'ELB', DoBackOne, 'INIT') @@ -168,11 +170,11 @@ class ANSI (term): self.state.add_transition ('J', 'NUMBER_1', DoErase, 'INIT') self.state.add_transition ('K', 'NUMBER_1', DoEraseLine, 'INIT') self.state.add_transition ('l', 'NUMBER_1', DoMode, 'INIT') - ### It gets worse... the 'm' code can have infinite number of - ### number;number;number before it. I've never seen more than two, - ### but the specs say it's allowed. crap! + ### It gets worse... the 'm' code can have infinite number of + ### number;number;number before it. I've never seen more than two, + ### but the specs say it's allowed. crap! self.state.add_transition ('m', 'NUMBER_1', None, 'INIT') - ### LED control. Same problem as 'm' code. + ### LED control. Same problem as 'm' code. self.state.add_transition ('q', 'NUMBER_1', None, 'INIT') # \E[?47h appears to be "switch to alternate screen" @@ -191,11 +193,11 @@ class ANSI (term): self.state.add_transition ('H', 'NUMBER_2', DoHome, 'INIT') self.state.add_transition ('f', 'NUMBER_2', DoHome, 'INIT') self.state.add_transition ('r', 'NUMBER_2', DoScrollRegion, 'INIT') - ### It gets worse... the 'm' code can have infinite number of - ### number;number;number before it. I've never seen more than two, - ### but the specs say it's allowed. crap! + ### It gets worse... the 'm' code can have infinite number of + ### number;number;number before it. I've never seen more than two, + ### but the specs say it's allowed. crap! self.state.add_transition ('m', 'NUMBER_2', None, 'INIT') - ### LED control. Same problem as 'm' code. + ### LED control. Same problem as 'm' code. self.state.add_transition ('q', 'NUMBER_2', None, 'INIT') def process (self, c): self.state.process(c) |