From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22050 invoked by alias); 30 Jul 2013 09:56:17 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 22036 invoked by uid 89); 30 Jul 2013 09:56:17 -0000 X-Spam-SWARE-Status: No, score=-3.1 required=5.0 tests=AWL,BAYES_40,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_HOSTKARMA_W,RCVD_IN_HOSTKARMA_WL,RDNS_NONE autolearn=no version=3.3.1 Received: from Unknown (HELO relay1.mentorg.com) (192.94.38.131) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Tue, 30 Jul 2013 09:56:16 +0000 Received: from svr-orw-fem-01.mgc.mentorg.com ([147.34.98.93]) by relay1.mentorg.com with esmtp id 1V46f2-0007NZ-Db from Muhammad_Bilal@mentor.com ; Tue, 30 Jul 2013 02:56:08 -0700 Received: from SVR-IES-FEM-01.mgc.mentorg.com ([137.202.0.104]) by svr-orw-fem-01.mgc.mentorg.com over TLS secured channel with Microsoft SMTPSVC(6.0.3790.4675); Tue, 30 Jul 2013 02:56:07 -0700 Received: from [137.202.157.37] (137.202.0.76) by SVR-IES-FEM-01.mgc.mentorg.com (137.202.0.104) with Microsoft SMTP Server (TLS) id 14.2.247.3; Tue, 30 Jul 2013 10:56:05 +0100 Message-ID: <51F78DB7.8010902@codesourcery.com> Date: Tue, 30 Jul 2013 09:56:00 -0000 From: Muhammad Bilal User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Pedro Alves CC: "gdb-patches@sourceware.org" Subject: Re: [PATCH PR gdb/15715] 'set history filename' to by immediately converted to absolute path. References: <97B73E257CC18646B0B5D3DD77DCBDD15DA063@EU-MBX-02.mgc.mentorg.com> <97B73E257CC18646B0B5D3DD77DCBDD15DA08C@EU-MBX-02.mgc.mentorg.com> <51F27050.6060409@redhat.com> <51F607C7.7020108@codesourcery.com> <51F67A1A.8060602@redhat.com> In-Reply-To: <51F67A1A.8060602@redhat.com> Content-Type: multipart/mixed; boundary="------------010609030305010308070306" X-Virus-Found: No X-SW-Source: 2013-07/txt/msg00754.txt.bz2 --------------010609030305010308070306 Content-Type: text/plain; charset="ISO-8859-1"; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1692 Oh , my bad, and I am sorry On 07/29/2013 07:20 PM, Pedro Alves wrote: > Hello, > > On 07/29/2013 07:12 AM, Muhammad Bilal wrote: > >> 2013-07-29 Muhammad Bilal >> >> PR gdb/15715 >> * top.c: include "filenames.h" >> (set_history_filename):New function. > Space after ':'. fixed. >> static void >> +set_history_filename (char *args, int from_tty, struct cmd_list_element *c) >> +{ >> + /*We include the current directory so that if the user changes >> + directories the file written will be the same as the one >> + that was read. */ > Formatting still not right. Add a space after '/*', and then reindent. > Also, there's trailing whitespace in the first two lines that should not > be there. The correct format is: > > /* We include the current directory so that if the user changes > directories the file written will be the same as the one that > was read. */ > >> + if (!IS_ABSOLUTE_PATH (history_filename)) >> + history_filename = reconcat (history_filename, current_directory, "/", >> + history_filename, (char *) NULL); >> +} > Thanks, fixed. Please find new patch. 2013-07-30 Muhammad Bilal PR gdb/15715 * top.c: include "filenames.h" (set_history_filename): New function. (init_main): Install it as set hook of the "set history filename" command. ./testsuit 2013-07-30 Muhammad Bilal PR gdb/15715 * gdb.base/setshow.exp: Test that relative paths passed to 'set history filename' are converted to absolute paths. OK? Thanks, -Bilal --------------010609030305010308070306 Content-Type: text/x-patch; name="pr15715.diff" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="pr15715.diff" Content-length: 3486 Index: gdb/top.c =================================================================== RCS file: /cvs/src/src/gdb/top.c,v retrieving revision 1.239 diff -u -p -r1.239 top.c --- gdb/top.c 22 Jul 2013 11:42:31 -0000 1.239 +++ gdb/top.c 30 Jul 2013 09:39:50 -0000 @@ -48,6 +48,7 @@ #include "interps.h" #include "observer.h" #include "maint.h" +#include "filenames.h" /* readline include files. */ #include "readline/readline.h" @@ -1704,6 +1705,17 @@ set_gdb_datadir (char *args, int from_tt } static void +set_history_filename (char *args, int from_tty, struct cmd_list_element *c) +{ + /* We include the current directory so that if the user changes + directories the file written will be the same as the one + that was read. */ + if (!IS_ABSOLUTE_PATH (history_filename)) + history_filename = reconcat (history_filename, current_directory, "/", + history_filename, (char *) NULL); +} + +static void init_main (void) { /* Initialize the prompt to a simple "(gdb) " prompt or to whatever @@ -1779,7 +1791,7 @@ variable \"HISTSIZE\", or to 256 if this Set the filename in which to record the command history"), _("\ Show the filename in which to record the command history"), _("\ (the list of previous commands of which a record is kept)."), - NULL, + set_history_filename, show_history_filename, &sethistlist, &showhistlist); Index: gdb/testsuite/gdb.base/setshow.exp =================================================================== RCS file: /cvs/src/src/gdb/testsuite/gdb.base/setshow.exp,v retrieving revision 1.33 diff -u -p -r1.33 setshow.exp --- gdb/testsuite/gdb.base/setshow.exp 27 Jun 2013 18:58:28 -0000 1.33 +++ gdb/testsuite/gdb.base/setshow.exp 30 Jul 2013 09:46:44 -0000 @@ -165,11 +165,38 @@ gdb_test_no_output "set height unlimited gdb_test_no_output "set history expansion on" "set history expansion on" #test show history expansion on gdb_test "show history expansion on" "History expansion on command input is on.*" "show history expansion" +#get home directory path +set HOME "" +set test "show environment HOME" +gdb_test_multiple $test $test { + -re "\nHOME = (.*).\n.*" { + set HOME $expect_out(1,string) + pass $test + } +} +#test set history filename ~/foobar.baz +gdb_test_no_output "set history filename ~/foobar.baz" \ + "set history filename ~/foobar.baz" +#test show history filename ~/foobar.baz +gdb_test "show history filename" \ + "The filename in which to record the command history is \"$HOME/foobar.baz\"..*" \ + "show history filename (~/foobar.baz)" +#get current working directory +set PWD "" +set test "show working directory" +gdb_test_multiple "pwd" $test { + -re "\nWorking directory (.*)..\n.*" { + set PWD $expect_out(1,string) + pass $test + } +} #test set history filename foobar.baz gdb_test_no_output "set history filename foobar.baz" \ - "set history filename foobar.baz" + "set history filename foobar.baz" #test show history filename foobar.baz -gdb_test "show history filename" "The filename in which to record the command history is \"foobar.baz\"..*" "show history filename (foobar.baz)" +gdb_test "show history filename" \ + "The filename in which to record the command history is \"$PWD/foobar.baz\"..*" \ + "show history filename (current_directory/foobar.baz)" #test set history save on gdb_test_no_output "set history save on" "set history save on" #test show history save on --------------010609030305010308070306--