Skip to content

Commit f11b210

Browse files
first draw happens without keypress
1 parent 34d60b2 commit f11b210

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

bpython/curtsies.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,12 +60,11 @@ def mainloop(config, locals_, banner, interp=None, paste=None):
6060

6161
refresh_requests = []
6262
def request_refresh():
63-
refresh_requests.append(None)
63+
refresh_requests.append(curtsies.events.RefreshRequestEvent())
6464
def event_or_refresh():
6565
while True:
6666
if refresh_requests:
67-
refresh_requests.pop()
68-
yield curtsies.events.RefreshRequestEvent()
67+
yield refresh_requests.pop()
6968
else:
7069
yield input_generator.next()
7170

@@ -78,7 +77,8 @@ def event_or_refresh():
7877

7978
def process_event(e):
8079
try:
81-
repl.process_event(e)
80+
if e is not None:
81+
repl.process_event(e)
8282
except (SystemExitFromCodeGreenlet, SystemExit) as err:
8383
array, cursor_pos = repl.paint(about_to_exit=True, user_quit=isinstance(err, SystemExitFromCodeGreenlet))
8484
scrolled = window.render_to_terminal(array, cursor_pos)
@@ -93,6 +93,7 @@ def process_event(e):
9393
process_event(paste)
9494

9595
[None for _ in find_iterator] #TODO get idle events working (instead of this)
96+
refresh_requests.append(None) #priming the pump (do a display before waiting for first event)
9697
for e in event_or_refresh():
9798
process_event(e)
9899

0 commit comments

Comments
 (0)