Pass plain-text prompt to with_gdb_prompt.
authorDoug Evans <xdje42@gmail.com>
Sat, 13 Sep 2014 22:52:15 +0000 (15:52 -0700)
committerDoug Evans <xdje42@gmail.com>
Sat, 13 Sep 2014 22:52:15 +0000 (15:52 -0700)
commit3714cea7d44e2bd9cac28a61d45fcc8c3cc6ae83
tree073e28a136ceffb19892e4961fc39030f2f2bbe7
parent1a8bdf69e7d1f6084af503407d6a4217b06d6ea5
Pass plain-text prompt to with_gdb_prompt.

I had occasion to use with_gdb_prompt in a test for the patch for PR 17314
and was passing the plain text prompt as the value, "(top-gdb)",
instead of a regexp, "\(top-gdb\)" (expressed as "\\(top-gdb\\)" in TCL).

I then discovered that in order to restore the prompt gdb passes the
original value of $gdb_prompt to "set prompt", which works because
"set prompt \(gdb\) " is equivalent to "set prompt (gdb) ".
Perhaps I'm being overly cautious but this feels a bit subtle,
but at any rate as an API choice I'd much rather pass the plain text
form to with_gdb_prompt.

I also discovered that the initial value of gdb_prompt is set in
two places to two different values.
At the global level gdb.exp sets it to "\[(\]gdb\[)\]"
and default_gdb_init sets it to "\\(gdb\\)".
The former form is undesirable as an argument to "set prompt",
but it's not clear to me that just deleting this code won't break
anything.  Thus I just changed the value to be consistent and added
a comment.

gdb/testsuite/ChangeLog:

* lib/gdb.exp (gdb_prompt): Add comment and change initial value to
be consistent with what default_gdb_init uses.
(with_gdb_prompt): Change form of PROMPT argument from a regexp to
the plain text of the prompt.  Add some logging printfs.
* gdb.perf/disassemble.exp: Update call to with_gdb_prompt.
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.perf/disassemble.exp
gdb/testsuite/lib/gdb.exp