This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix build with Python 3.4 (PR python/16784)


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]