From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26258 invoked by alias); 5 Dec 2014 21:49:55 -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 26248 invoked by uid 89); 5 Dec 2014 21:49:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: usevmg21.ericsson.net Received: from usevmg21.ericsson.net (HELO usevmg21.ericsson.net) (198.24.6.65) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Fri, 05 Dec 2014 21:49:53 +0000 Received: from EUSAAHC002.ericsson.se (Unknown_Domain [147.117.188.78]) by usevmg21.ericsson.net (Symantec Mail Security) with SMTP id BC.F7.25146.C2CC1845; Fri, 5 Dec 2014 16:15:57 +0100 (CET) Received: from [142.133.110.254] (147.117.188.8) by smtps-am.internal.ericsson.com (147.117.188.78) with Microsoft SMTP Server (TLS) id 14.3.195.1; Fri, 5 Dec 2014 16:49:49 -0500 Message-ID: <5482287D.9030500@ericsson.com> Date: Fri, 05 Dec 2014 21:49:00 -0000 From: Simon Marchi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Pedro Alves , Subject: Re: [PATCH] Fix build with Python 3.4 (PR python/16784) References: <1417009634-2356-1-git-send-email-simon.marchi@ericsson.com> <5480A49F.1010904@redhat.com> In-Reply-To: <5480A49F.1010904@redhat.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2014-12/txt/msg00155.txt.bz2 On 2014-12-04 01:14 PM, Pedro Alves wrote: > On 11/26/2014 01:47 PM, Simon Marchi wrote: >> The type of the function pointer PyOS_ReadlineFunctionPointer (part of the >> Python C API), which we use, slightly changed starting with Python 3.4. The >> signature when from > > "went from" Done. >> I changed the signature of deprecated_readline_hook. I would've changed any >> user of it, but it seems like nothing is using it, > > You'd probably find it in the insight/gdbtk code. Is this something that I need to update, or insight is not maintained anymore? >> --- a/gdb/python/py-gdb-readline.c >> +++ b/gdb/python/py-gdb-readline.c >> @@ -26,10 +26,13 @@ >> cases, sys_stdin and sys_stdout are always stdin and stdout >> respectively, as far as I can tell; they are ignored and >> command_line_input is used instead. */ >> - >> static char * > > Don't lose the empty line. Done. >> gdbpy_readline_wrapper (FILE *sys_stdin, FILE *sys_stdout, >> +#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 4 >> + const char *prompt) >> +#else >> char *prompt) >> +#endif >> > >> @@ -938,6 +938,8 @@ command_line_input (char *prompt_arg, int repeat, char *annotation_suffix) >> strcat (local_prompt, "\n\032\032"); >> strcat (local_prompt, annotation_suffix); >> strcat (local_prompt, "\n"); >> + >> + prompt_arg = local_prompt; > > I think it'd be even clearer if we avoided changing > the variable that is called "arg". How about we add: > > const char *prompt = prompt_arg; > > at the top, and then use "prompt" throughout, where > you're using "prompt_arg"? How about we just don't call it *_arg? I don't see the point in having both a prompt and a prompt_arg. If we needed to use both at the same time, of course, but it's not the case. > The 'local_prompt' variable could move to the "annotation_level > 1" > block too, for clarity. Yes, for sure. Thanks, Simon