From 3f8eefba65c6f4b9c20d5f802451944bbe7e98ee Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Thu, 20 Jun 1996 15:50:37 +0000 Subject: * gdbtk.tcl (gdbtk_tcl_readline_begin): Handle backspace to avoid backing up over prompt. At every input, make sure insert point is at least after command start, handle control-u to delete current input line. (tclsh): Handle backspace to avoid backing up over prompt. Handle control-u to delete current input line. --- gdb/gdbtk.tcl | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'gdb/gdbtk.tcl') diff --git a/gdb/gdbtk.tcl b/gdb/gdbtk.tcl index 2bb5b27..2770166 100644 --- a/gdb/gdbtk.tcl +++ b/gdb/gdbtk.tcl @@ -302,6 +302,23 @@ proc gdbtk_tcl_readline_begin {message} { set readline_text [.rl.text get cmdstart {end - 1 char}] .rl.text mark set cmdstart insert } + bind .rl.text { + if [%W compare insert > cmdstart] { + %W delete {insert - 1 char} insert + } else { + bell + } + break + } + bind .rl.text { + if [%W compare insert < cmdstart] { + %W mark set insert end + } + } + bind .rl.text { + %W delete cmdstart "insert lineend" + %W see insert + } bindtags .rl.text {.rl.text Text all} } @@ -3242,11 +3259,23 @@ proc tclsh {} { # Keybindings that limit input and evaluate things bind .eval.text { evaluate_tcl_command .eval.text ; break } + bind .eval.text { + if [%W compare insert > cmdstart] { + %W delete {insert - 1 char} insert + } else { + bell + } + break + } bind .eval.text { if [%W compare insert < cmdstart] { %W mark set insert end } } + bind .eval.text { + %W delete cmdstart "insert lineend" + %W see insert + } bindtags .eval.text {.eval.text Text all} } -- cgit v1.1