This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH 5/7] PR gdb/15224 , Change the default set history filename to ~/.gdb_history.
- From: Pedro Alves <palves at redhat dot com>
- To: Eli Zaretskii <eliz at gnu dot org>
- Cc: mbilal at codesourcery dot com, gdb-patches at sourceware dot org, jan dot kratochvil at redhat dot com
- Date: Wed, 22 May 2013 19:08:31 +0100
- Subject: Re: [PATCH 5/7] PR gdb/15224 , Change the default set history filename to ~/.gdb_history.
- References: <51877A32 dot 1030503 at codesourcery dot com> <51877A99 dot 4060503 at codesourcery dot com> <51877B42 dot 7 at codesourcery dot com> <51877BC6 dot 6080007 at codesourcery dot com> <51877C76 dot 2000509 at codesourcery dot com> <518A0BA8 dot 9000703 at codesourcery dot com> <51936CAF dot 2090508 at codesourcery dot com> <51937A87 dot 2030403 at codesourcery dot com> <83ehd85q79 dot fsf at gnu dot org> <519CFF3D dot 4080001 at redhat dot com> <83bo82ucpv dot fsf at gnu dot org>
On 05/22/2013 06:49 PM, Eli Zaretskii wrote:
>> Date: Wed, 22 May 2013 18:24:13 +0100
>> From: Pedro Alves <palves@redhat.com>
>> CC: mbilal <mbilal@codesourcery.com>, gdb-patches@sourceware.org,
>> jan.kratochvil@redhat.com
>>
>> At startup time, if "set history filename" hasn't been
>> used (tracked with a new global flag), then check whether there's
>> a $cwd/.gdb_history file, and if so, output a warning stating that
>> it's no longer read by default. The warning could also
>> suggest adding "set history filename .gdb_history" to .gdbinit
>> to get back the old behavior.
>
> That's even more annoying, IMO.
>
> I think gratuitous backward incompatibility is evil, especially in
> programs, like GDB, where there are no good facilities for
> version-specific scripting. We are breaking scripts out there for no
> good reason, and we aren't giving the users of those scripts _any_
> means to get their previous behavior cleanly.
I understand the sentiment, but I'd rather not generalize, and look
at it on a case by case basis. Scripts do have a means get the
previous behavior. Simply adding this to .gdbinit:
"set history filename .gdb_history"
get you the old behavior back. And works the same with the
older GDBs too. Note the user must already have added
"set history save on"
to .gdbinit in previous releases to have history saving.
He'll just need to add one more line next to that.
If you're talking about getting the previous behavior of
not having history enabled, then the user can just add
"set history save off"
to .gdbinit.
> But I know I'm somehow in the minority here. It's probably the age or
> something.
:-)
The reasoning for changing the default is that we (Pedro/Jan/Muhammad)
believe enabling history by default is a better default that having it
disabled by default, as currently. Couple the fact that ".gdb_history"
is a dot/hidden file, with enabling history saving by default, and users
could end up with their filesystem littered with random hidden .gdb_history
files. I think GDB shouldn't do that by default. So in order to enable
history saving by default, we believe we should default to ~/.gdb_history
instead first. bash also defaults to saving history under $HOME, and I'd
think most other interactive programs/shell do so too. So it feels like
GDB is the odd one out here.
--
Pedro Alves