Remove 'eval' from gdb_breakpoint
Commit Message
Now that Tcl has the {*} operator, we can remove the use of eval from
gdb_breakpoint. Tested on x86-64 Fedora 36.
---
gdb/testsuite/lib/gdb.exp | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
Comments
On Wed, 22 Feb 2023 15:22:42 -0700
Tom Tromey via Gdb-patches <gdb-patches@sourceware.org> wrote:
> Now that Tcl has the {*} operator, we can remove the use of eval from
> gdb_breakpoint. Tested on x86-64 Fedora 36.
I didn't know about Tcl's {*} operator, but found an explanation here:
https://stackoverflow.com/questions/5124185/what-does-do-in-tcl
Anyway, LGTM.
Kevin
@@ -704,12 +704,7 @@ proc runto { linespec args } {
set test_name "runto: run to $linespec"
- # We need to use eval here to pass our varargs args to gdb_breakpoint
- # which is also a varargs function.
- # But we also have to be careful because $linespec may have multiple
- # elements, and we don't want Tcl to move the remaining elements after
- # the first to $args. That is why $linespec is wrapped in {}.
- if ![eval gdb_breakpoint {$linespec} $args] {
+ if {![gdb_breakpoint $linespec {*}$args]} {
return 0
}