* gdbtk.tcl (gdbtk_tcl_readline_begin): Handle backspace to
authorFred Fish <fnf@specifix.com>
Thu, 20 Jun 1996 15:50:37 +0000 (15:50 +0000)
committerFred Fish <fnf@specifix.com>
Thu, 20 Jun 1996 15:50:37 +0000 (15:50 +0000)
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
gdb/gdbtk.tcl

index 07de414ee2983ced46ee89a5bfb7378e428b74a7..fef832edda28e340cb78b6af9a11541911ee35bd 100644 (file)
@@ -1,4 +1,13 @@
 start-sanitize-gdbtk
+Thu Jun 20 08:18:59 1996  Fred Fish  <fnf@cygnus.com>
+
+       * 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  <noer@cygnus.com>
 
        * configure.in: disable gdbtk for *cygwin32* hosted compiles
index 2bb5b27ffc9d1a38e442be3e43371ca3f0bcd05c..2770166c48ba4ec3d41248b8bec8799d85ee4a92 100644 (file)
@@ -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 <BackSpace> {
+       if [%W compare insert > cmdstart] {
+           %W delete {insert - 1 char} insert
+       } else {
+           bell
+       }
+       break
+    }
+    bind .rl.text <Any-Key> {
+       if [%W compare insert < cmdstart] {
+           %W mark set insert end
+       }
+    }
+    bind .rl.text <Control-u> {
+       %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 <Return> { evaluate_tcl_command .eval.text ; break }
+    bind .eval.text <BackSpace> {
+       if [%W compare insert > cmdstart] {
+           %W delete {insert - 1 char} insert
+       } else {
+           bell
+       }
+       break
+    }
     bind .eval.text <Any-Key> {
        if [%W compare insert < cmdstart] {
            %W mark set insert end
        }
     }
+    bind .eval.text <Control-u> {
+       %W delete cmdstart "insert lineend"
+       %W see insert
+    }
     bindtags .eval.text {.eval.text Text all}
 }