diff --git a/lib/modules/Stdio.pmod/Readline.pike b/lib/modules/Stdio.pmod/Readline.pike index 8beab6d0aba1b9c5f8ebb087c127e4844e34793e..832be17e6e70c7a74be0f0fbb652c66b629a47f7 100644 --- a/lib/modules/Stdio.pmod/Readline.pike +++ b/lib/modules/Stdio.pmod/Readline.pike @@ -1,4 +1,4 @@ -// $Id: Readline.pike,v 1.9 1999/04/02 09:57:59 neotron Exp $ +// $Id: Readline.pike,v 1.10 1999/04/02 10:14:03 neotron Exp $ class OutputController { @@ -659,7 +659,11 @@ class DefaultEditKeys } void backward_delete_word() { - _readline->delete(backward_find_word()+1, _readline->getcursorpos()); + int sp = backward_find_word() + 1; + int ep = _readline->getcursorpos(); + if((ep - sp) == 0) + sp--; + _readline->delete(sp, ep); } void kill_line() @@ -726,6 +730,7 @@ class DefaultEditKeys ic->bindstr(sprintf("%c", i), self_insert_command); for(int i='\240'; i<='\377'; i++) ic->bindstr(sprintf("%c", i), self_insert_command); + foreach(default_bindings, array(string|function) b) ic->bind(@b); }