@@ -594,7 +594,7 @@ def down_one_line(self):
594594self ._set_cursor_offset (len (self .current_line ),reset_rl_history = False )
595595
596596def process_simple_keypress (self ,e ):
597- if e in (u"<Ctrl-j>" ,u"<Ctrl-m>" ,u"<PADENTER>" ):
597+ if e in (u"<Ctrl-j>" ,u"<Ctrl-m>" ,u"<PADENTER>" , u" \n " , u" \r " ): # '\n' necessary for pastes
598598self .on_enter ()
599599while self .fake_refresh_requested :
600600self .fake_refresh_requested = False
@@ -607,7 +607,7 @@ def process_simple_keypress(self, e):
607607self .add_normal_character (e )
608608
609609def send_current_block_to_external_editor (self ,filename = None ):
610- text = self .send_to_external_editor (self .get_current_block ())
610+ text = self .send_to_external_editor (self .get_current_block (). encode ( 'utf8' ) )
611611lines = [line for line in text .split ('\n ' )]
612612while lines and not lines [- 1 ].split ():
613613lines .pop ()
@@ -616,7 +616,6 @@ def send_current_block_to_external_editor(self, filename=None):
616616with self .in_paste_mode ():
617617for e in events :
618618self .process_simple_keypress (e )
619- self .current_line = ''
620619self .cursor_offset = len (self .current_line )
621620
622621def send_session_to_external_editor (self ,filename = None ):