From 3f8eefba65c6f4b9c20d5f802451944bbe7e98ee Mon Sep 17 00:00:00 2001 From: Fred Fish Date: Thu, 20 Jun 1996 15:50:37 +0000 Subject: [PATCH] * 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/ChangeLog | 9 +++++++++ gdb/gdbtk.tcl | 29 +++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 07de414ee29..fef832edda2 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,4 +1,13 @@ start-sanitize-gdbtk +Thu Jun 20 08:18:59 1996 Fred Fish + + * 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. + Wed Jun 19 17:23:38 1996 Geoffrey Noer * configure.in: disable gdbtk for *cygwin32* hosted compiles diff --git a/gdb/gdbtk.tcl b/gdb/gdbtk.tcl index 2bb5b27ffc9..2770166c48b 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} } -- 2.30.2