$ gdb -nx -q (gdb) set extended-prompt (gdb-new) (gdb-new) what's with that newline after the set command ? if i do the same thing with my .gdbinit: set extended-prompt (gdb-new) when i launch gdb, i get: $ gdb -q (gdb-new) looking at the code, it appears to be coming from python/py-param.c's get_set_value: fprintf_filtered (gdb_stdout, "%s\n", set_doc_string); the set_doc_string here is empty, so we just get an empty newline printed out. i've never looked through the python code before to suggest a suitable fix ...
That code seems bogus to me. I don't understand why it ought to print anything at all.
The discussion in late 2013 seems to have petered out. I've been using this locally: diff --git a/gdb/python/py-param.c b/gdb/python/py-param.c index 06b9ae9..b395f9d 100644 --- a/gdb/python/py-param.c +++ b/gdb/python/py-param.c @@ -387,8 +387,12 @@ get_set_value (char *args, int from_tty, set_doc_string = get_doc_string (obj, set_doc_cst); } +#if 0 + /* See https://sourceware.org/bugzilla/show_bug.cgi?id=14513. + There's no reason to print anything here. */ make_cleanup (xfree, set_doc_string); fprintf_filtered (gdb_stdout, "%s\n", set_doc_string); +#endif Py_XDECREF (set_doc_func); do_cleanups (cleanup);
> +#if 0 > + /* See https://sourceware.org/bugzilla/show_bug.cgi?id=14513. > + There's no reason to print anything here. */ > make_cleanup (xfree, set_doc_string); Though of course the #if should come after making the cleanup.
This was finally fixed by commit 984ee559a26e138d8bcc1f850c1cacb9eded2b1c.