gdb
* python/py-prettyprint.c (print_string_repr): Clear 'addressprint' option when calling val_print_string. (print_children): Handle Val_pretty_default. Clear 'addressprint' option when calling val_print_string. gdb/testsuite * gdb.python/py-prettyprint.exp (run_lang_tests): Ensure no blank space before string output. Add test for "set print pretty off" case.
This commit is contained in:
parent
74aedc4602
commit
a81766d88f
4 changed files with 34 additions and 4 deletions
|
@ -1,3 +1,10 @@
|
||||||
|
2011-01-26 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* python/py-prettyprint.c (print_string_repr): Clear
|
||||||
|
'addressprint' option when calling val_print_string.
|
||||||
|
(print_children): Handle Val_pretty_default. Clear 'addressprint'
|
||||||
|
option when calling val_print_string.
|
||||||
|
|
||||||
2011-01-26 Tom Tromey <tromey@redhat.com>
|
2011-01-26 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
* python/python.c (gdbpy_solib_name): Use gdb_py_longest and
|
* python/python.c (gdbpy_solib_name): Use gdb_py_longest and
|
||||||
|
|
|
@ -325,13 +325,15 @@ print_string_repr (PyObject *printer, const char *hint,
|
||||||
long length;
|
long length;
|
||||||
struct type *type;
|
struct type *type;
|
||||||
char *encoding = NULL;
|
char *encoding = NULL;
|
||||||
|
struct value_print_options local_opts = *options;
|
||||||
|
|
||||||
make_cleanup (free_current_contents, &encoding);
|
make_cleanup (free_current_contents, &encoding);
|
||||||
gdbpy_extract_lazy_string (py_str, &addr, &type,
|
gdbpy_extract_lazy_string (py_str, &addr, &type,
|
||||||
&length, &encoding);
|
&length, &encoding);
|
||||||
|
|
||||||
|
local_opts.addressprint = 0;
|
||||||
val_print_string (type, encoding, addr, (int) length,
|
val_print_string (type, encoding, addr, (int) length,
|
||||||
stream, options);
|
stream, &local_opts);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -499,7 +501,15 @@ print_children (PyObject *printer, const char *hint,
|
||||||
|
|
||||||
/* Use the prettyprint_arrays option if we are printing an array,
|
/* Use the prettyprint_arrays option if we are printing an array,
|
||||||
and the pretty option otherwise. */
|
and the pretty option otherwise. */
|
||||||
pretty = is_array ? options->prettyprint_arrays : options->pretty;
|
if (is_array)
|
||||||
|
pretty = options->prettyprint_arrays;
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (options->pretty == Val_prettyprint)
|
||||||
|
pretty = 1;
|
||||||
|
else
|
||||||
|
pretty = options->prettyprint_structs;
|
||||||
|
}
|
||||||
|
|
||||||
/* Manufacture a dummy Python frame to work around Python 2.4 bug,
|
/* Manufacture a dummy Python frame to work around Python 2.4 bug,
|
||||||
where it insists on having a non-NULL tstate->frame when
|
where it insists on having a non-NULL tstate->frame when
|
||||||
|
@ -598,12 +608,14 @@ print_children (PyObject *printer, const char *hint,
|
||||||
struct type *type;
|
struct type *type;
|
||||||
long length;
|
long length;
|
||||||
char *encoding = NULL;
|
char *encoding = NULL;
|
||||||
|
struct value_print_options local_opts = *options;
|
||||||
|
|
||||||
make_cleanup (free_current_contents, &encoding);
|
make_cleanup (free_current_contents, &encoding);
|
||||||
gdbpy_extract_lazy_string (py_v, &addr, &type, &length, &encoding);
|
gdbpy_extract_lazy_string (py_v, &addr, &type, &length, &encoding);
|
||||||
|
|
||||||
|
local_opts.addressprint = 0;
|
||||||
val_print_string (type, encoding, addr, (int) length, stream,
|
val_print_string (type, encoding, addr, (int) length, stream,
|
||||||
options);
|
&local_opts);
|
||||||
|
|
||||||
do_cleanups (inner_cleanup);
|
do_cleanups (inner_cleanup);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,9 @@
|
||||||
|
2011-01-26 Tom Tromey <tromey@redhat.com>
|
||||||
|
|
||||||
|
* gdb.python/py-prettyprint.exp (run_lang_tests): Ensure no blank
|
||||||
|
space before string output. Add test for "set print pretty off"
|
||||||
|
case.
|
||||||
|
|
||||||
2011-01-25 Pedro Alves <pedro@codesourcery.com>
|
2011-01-25 Pedro Alves <pedro@codesourcery.com>
|
||||||
|
|
||||||
* gdb.base/frame-args.exp: Adjust.
|
* gdb.base/frame-args.exp: Adjust.
|
||||||
|
|
|
@ -92,7 +92,7 @@ proc run_lang_tests {lang} {
|
||||||
gdb_test "print x" " = \"this is x\""
|
gdb_test "print x" " = \"this is x\""
|
||||||
gdb_test "print cstring" " = \"const string\""
|
gdb_test "print cstring" " = \"const string\""
|
||||||
|
|
||||||
gdb_test "print estring" "\"embedded x\\\\201\\\\202\\\\203\\\\204\""
|
gdb_test "print estring" " = \"embedded x\\\\201\\\\202\\\\203\\\\204\""
|
||||||
|
|
||||||
gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
|
gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
|
||||||
gdb_test "print estring2" "\"embedded \", <incomplete sequence \\\\302>"
|
gdb_test "print estring2" "\"embedded \", <incomplete sequence \\\\302>"
|
||||||
|
@ -100,6 +100,11 @@ proc run_lang_tests {lang} {
|
||||||
gdb_test "print c" " = container \"container\" with 2 elements = {$nl *.0. = 23,$nl *.1. = 72$nl}"
|
gdb_test "print c" " = container \"container\" with 2 elements = {$nl *.0. = 23,$nl *.1. = 72$nl}"
|
||||||
|
|
||||||
gdb_test "print nstype" " = {$nl *.0. = 7,$nl *.1. = 42$nl}"
|
gdb_test "print nstype" " = {$nl *.0. = 7,$nl *.1. = 42$nl}"
|
||||||
|
|
||||||
|
gdb_test_no_output "set print pretty off"
|
||||||
|
gdb_test "print nstype" " = {.0. = 7, .1. = 42}" \
|
||||||
|
"print nstype on one line"
|
||||||
|
|
||||||
gdb_test "continue" "Program exited normally\."
|
gdb_test "continue" "Program exited normally\."
|
||||||
|
|
||||||
remote_file host delete ${remote_python_file}
|
remote_file host delete ${remote_python_file}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue