mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
* 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.
This commit is contained in:
@ -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}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user