diff --git a/doc/ChangeLog b/doc/ChangeLog index c25dfb8..9b2c79a 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,12 @@ +2007-04-14 Jörgen Stenarson + * Changing binding for control-delete to forward_delete_word, adding tests to verify binding + + +2007-04-11 + * In revisions 2237-2239 + * Fix to setup.py for new package structure + * add clear_history all the way to top_level. Patch provided by Aldarion + 2007-03-15 Jörgen Stenarson * Fix buggy get_begidx, get_endidx * Fix to ensure unicode strings can print something using the write_x methods on Console. diff --git a/pyreadline/configuration/pyreadlineconfig.ini b/pyreadline/configuration/pyreadlineconfig.ini index 7cf6692..ea56735 100644 --- a/pyreadline/configuration/pyreadlineconfig.ini +++ b/pyreadline/configuration/pyreadlineconfig.ini @@ -38,7 +38,7 @@ bind_key("Control-_", "undo") bind_key("Delete", "delete_char") bind_key("Control-d", "delete_char") bind_key("BackSpace", "backward_delete_char") -#bind_key("Control-Shift-v", "quoted_insert") +#bind_key("Control-Shift-v", "quoted_insert") bind_key("Control-space", "self_insert") bind_key("Control-BackSpace", "backward_delete_word") @@ -48,7 +48,7 @@ bind_key("Control-shift-k", "kill_whole_line") bind_key("Escape", "kill_whole_line") bind_key("Meta-d", "kill_word") bind_key("Control-w", "unix_word_rubout") -bind_key("Meta-Delete", "backward_kill_word") +#bind_key("Control-Delete", "forward_kill_word") #Copy paste bind_key("Shift-Right", "forward_char_extend_selection") diff --git a/pyreadline/modes/emacs.py b/pyreadline/modes/emacs.py index 3779a49..6736bc7 100644 --- a/pyreadline/modes/emacs.py +++ b/pyreadline/modes/emacs.py @@ -569,7 +569,7 @@ class EmacsMode(basemode.BaseMode): self._bind_key('Control-_', self.undo) self._bind_key('Escape', self.kill_whole_line) self._bind_key('Meta-d', self.kill_word) - self._bind_key('Control-Delete', self.backward_kill_word) + self._bind_key('Control-Delete', self.forward_delete_word) self._bind_key('Control-w', self.unix_word_rubout) #self._bind_key('Control-Shift-v', self.quoted_insert) self._bind_key('Control-v', self.paste) diff --git a/pyreadline/test/emacs_test.py b/pyreadline/test/emacs_test.py index 8b3194b..1488261 100644 --- a/pyreadline/test/emacs_test.py +++ b/pyreadline/test/emacs_test.py @@ -174,8 +174,7 @@ class TestsDelete (unittest.TestCase): r.input('Escape') self.assertEqual (r.line, '') self.assertEqual (r.line_cursor, 0) - - + def test_delete_word (self): r = EmacsModeTest () self.assertEqual (r.line, '') @@ -196,7 +195,27 @@ class TestsDelete (unittest.TestCase): r.input('Escape') self.assertEqual (r.line, '') self.assertEqual (r.line_cursor, 0) - + r.input('"First Second Third"') + r.input('Home') + r.input('Right') + r.input('Right') + r.input('Control-Delete') + self.assertEqual (r.line, 'FiSecond Third') + self.assertEqual (r.line_cursor, 2) + r.input('Control-Delete') + self.assertEqual (r.line, 'FiThird') + self.assertEqual (r.line_cursor, 2) + r.input('Control-Delete') + self.assertEqual (r.line, 'Fi') + self.assertEqual (r.line_cursor, 2) + r.input('Control-Delete') + self.assertEqual (r.line, 'Fi') + self.assertEqual (r.line_cursor, 2) + r.input('Escape') + self.assertEqual (r.line, '') + self.assertEqual (r.line_cursor, 0) + + class TestsSelectionMovement (unittest.TestCase): def test_cursor (self):