bpythonでバックスペースキーの挙動がおかしい

bpython はコンプリーションやカラー化できるPythonインタラクティブシェルツールです。

特定のマシンでバックスペースキー(BSキー)の挙動がおかしかったので (入力した文字がすべて消えて改行されてしまう)、以下で対処しました。 端末とかが絡みそうなので、根本的な解決ではないかもしれませんが、 困っている方がいれば参考にどぞ。

$ hg clone http://bitbucket.org/bobf/bpython/
$ hg tip
changeset:   337:4fec78c26c80
tag:         tip
user:        Simon de Vlieger <simon@ikanobori.jp>
date:        Fri Oct 02 12:10:05 2009 +0200
summary:     Added tag 0.9.5.2 for changeset 1491c41fbe47

$ hg diff
diff -r 4fec78c26c80 bpython/cli.py
--- a/bpython/cli.py  Fri Oct 02 12:10:05 2009 +0200
+++ b/bpython/cli.py  Fri Oct 02 21:25:33 2009 +0900
@@ -1478,14 +1478,10 @@
         if key is None:
             return ''

-        if key == chr(8): # C-Backspace (on my computer anyway!)
-            self.clrtobol()
-            key = '\n'
-            # Don't return; let it get handled
         if key == chr(27):
             return ''

-        if key in (chr(127), 'KEY_BACKSPACE'):
+        if key in (chr(8), chr(127), 'KEY_BACKSPACE'):
             self.bs()
             self.complete()
             return ''
$