Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: mbilal <mbilal@codesourcery.com>
Cc: gdb-patches@sourceware.org, jan.kratochvil@redhat.com
Subject: Re: [PATCH 5/7] PR gdb/15224 should "set history save on" by default
Date: Wed, 08 May 2013 17:05:00 -0000	[thread overview]
Message-ID: <518A85EA.3070006@redhat.com> (raw)
In-Reply-To: <51877C76.2000509@codesourcery.com>

On 05/06/2013 10:48 AM, mbilal wrote:
> On Wednesday, April 03, 2013 7:30 PM Jan Kratochvil wrote:
> 
>> (6) Change the default set history filename to ~/.gdb_history.
> 
> patch is here.
> 
> Index: top.c
> ===================================================================
> RCS file: /cvs/src/src/gdb/top.c,v
> retrieving revision 1.235
> diff -u -p -r1.235 top.c
> --- top.c    17 Apr 2013 01:02:02 -0000    1.235
> +++ top.c    6 May 2013 07:17:13 -0000
> @@ -1616,7 +1616,8 @@ void
>  init_history (void)
>  {
>    char *tmpenv;
> -
> +  char *homedir;
> +  homedir = getenv ("HOME");
>    tmpenv = getenv ("HISTSIZE");
>    if (tmpenv)
>      {
> @@ -1651,10 +1652,10 @@ init_history (void)
>           that was read.  */
>  #ifdef __MSDOS__
>        /* No leading dots in file names are allowed on MSDOS.  */
> -      history_filename = concat (current_directory, "/_gdb_history",
> +      history_filename = concat (homedir, "/_gdb_history",
>                   (char *)NULL);
>  #else
> -      history_filename = concat (current_directory, "/.gdb_history",
> +      history_filename = concat (homedir, "/.gdb_history",
>                   (char *)NULL);
>  #endif

This doesn't handle the case of HOME not being set.
It's better to use readline's tilde_expand, which handles that
by falling back to looking up the directory in the password
database.  If I'm reading the source correctly, I believe that's
also what bash does (likewise using readline's tilde_expand),
though I haven't stepped through it.  As simple as:

  #ifdef __MSDOS__
        /* No leading dots in file names are allowed on MSDOS.  */
        history_filename = tilde_expand ("~/_gdb_history"),
  #else
        history_filename = tilde_expand ("~/.gdb_history");
  #endif

>      }
> Index: testsuite/gdb.base/default.exp
> ===================================================================
> RCS file: /cvs/src/src/gdb/testsuite/gdb.base/default.exp,v
> retrieving revision 1.64
> diff -u -p -r1.64 default.exp
> --- testsuite/gdb.base/default.exp    15 Apr 2013 18:09:02 -0000 1.64
> +++ testsuite/gdb.base/default.exp    6 May 2013 07:52:42 -0000
> @@ -642,7 +642,8 @@ gdb_test "show height" "Number of lines
>  #test show history expansion
>  gdb_test "show history expansion" "History expansion on command input is o\[a-z\]*.*" "show history expansion"
>  #test show history filename
> -gdb_test "show history filename" "The filename in which to record the command history is.*.gdb_history.*" "show history filename"
> +gdb_test "show history filename" "The filename in which to record the command history is .$env(HOME).*.gdb_history.*." \
> +    "show history filename .$env(HOME).*.gdb_history."

With remote host testing, dejagnu runs on different machine
(build) where GDB itself runs (host), so this assumption that $env(HOME)
always matches gdb's $HOME isn't always true.  I think we need to either
Use "remote_exec host" or gdb's "show environment" to get at the right
$HOME.

A ChangeLog entry is missing.

-- 
Pedro Alves


  parent reply	other threads:[~2013-05-08 17:05 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-05-06  9:39 [PATCH 0/7] " mbilal
2013-05-06  9:40 ` [PATCH 1/7] " mbilal
2013-05-06  9:42   ` [PATCH 2/7] " mbilal
2013-05-06  9:43   ` [PATCH 3/7] " mbilal
     [not found]     ` <51877BC6.6080007@codesourcery.com>
2013-05-06  9:47       ` [PATCH 4/7] " mbilal
2013-05-07  9:40         ` Abid, Hafiz
2013-05-08 17:14         ` Pedro Alves
2013-05-06  9:48       ` [PATCH 5/7] " mbilal
2013-05-08  8:24         ` mbilal
2013-05-15 11:08           ` [PATCH 5/7] PR gdb/15224 , Change the default set history filename to ~/.gdb_history mbilal
2013-05-15 11:31             ` Eli Zaretskii
2013-05-15 12:07             ` mbilal
2013-05-15 13:27               ` Eli Zaretskii
2013-05-22 17:24                 ` Pedro Alves
2013-05-22 17:49                   ` Eli Zaretskii
2013-05-22 18:08                     ` Pedro Alves
2013-05-22 19:18                       ` Eli Zaretskii
2013-05-22 19:39                         ` Pedro Alves
2013-08-01 12:43                           ` Muhammad Bilal
2013-08-01 15:41                           ` Tom Tromey
2013-08-01 22:17                             ` Doug Evans
2013-05-22 12:02             ` mbilal
2013-05-08 17:05         ` Pedro Alves [this message]
2013-05-06  9:49       ` [PATCH 6/7] PR gdb/15224 should "set history save on" by default mbilal
2013-05-06  9:51       ` [PATCH 7/7] " mbilal
2013-05-07 10:17         ` Abid, Hafiz
2013-05-08 17:08           ` Pedro Alves
2013-05-08  8:25         ` mbilal
2013-05-08 16:51           ` Eli Zaretskii
2013-05-08 17:18           ` Pedro Alves
2013-05-08  8:23       ` [PATCH 4/7] " mbilal
2013-05-09 11:12         ` mbilal
2013-05-09 12:05           ` Pedro Alves
     [not found]         ` <51936853.7050106@codesourcery.com>
     [not found]           ` <51936944.80108@codesourcery.com>
2013-05-15 10:56             ` [PATCH 4/7] Disable history saving for testsuit mbilal
2013-05-22 12:02               ` mbilal
2013-05-22 17:27               ` Pedro Alves
2013-05-08  8:23     ` [PATCH 3/7] PR gdb/15224 should "set history save on" by default mbilal
2013-05-08 16:24     ` Pedro Alves
2013-05-06 11:26   ` [PATCH 1/7] " Pedro Alves
     [not found]   ` <5188AA15.5010904@codesourcery.com>
2013-05-07  7:19     ` [PATCH 1/7] PR gdb/15224 "set history filename" to by immediately converted to absolute path mbilal
2013-05-07  8:39       ` Pedro Alves
     [not found]     ` <5188AC27.1050407@codesourcery.com>
2013-05-07  7:26       ` [PATCH 2/7] PR gdb/15224 fix for Unify interactivity tests to use input_from_terminal_p mbilal
2013-05-08  8:22         ` mbilal
2013-05-08 16:21           ` Pedro Alves
2013-05-09 11:08           ` mbilal
2013-05-09 11:32             ` Pedro Alves
2013-05-07 12:44     ` [PATCH 1/7] PR gdb/15224 "set history filename" to by immediately converted to absolute path mbilal
2013-05-08  8:22       ` mbilal
     [not found]         ` <519366E2.90105@codesourcery.com>
2013-05-15 10:46           ` mbilal
2013-05-22 17:51             ` Pedro Alves
2013-05-22 12:04           ` mbilal
2013-05-08 15:46       ` Pedro Alves
2013-05-08 17:25         ` Pedro Alves
2013-05-07 10:01 ` [PATCH 0/7] PR gdb/15224 should "set history save on" by default Abid, Hafiz
2013-08-06 16:35 ` Jan Kratochvil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=518A85EA.3070006@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=jan.kratochvil@redhat.com \
    --cc=mbilal@codesourcery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox