Re: [PATCH 5/7] PR gdb/15224 , Change the default set history filename to ~/.gdb_history.

Pedro Alves
2013-05-22T18:08:38Z

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