On Sun, Apr 8, 2012 at 7:06 AM, Manuel López-Ibáñez
<lopeziba...@gmail.com> wrote:
> On 8 April 2012 06:09, Jason Merrill <ja...@redhat.com> wrote:
>> On 04/07/2012 06:29 PM, Manuel López-Ibáńez wrote:
>>>
>>> I'll be happy to change it to whatever is more understandable. I think
>>> in CSS is called "padding".
>>
>>
>> That wouldn't be any clearer; my confusion was that I thought you were
>> padding the right side of the source line, but you aren't; you are only
>> making sure that the caret isn't too close to the edge of the terminal.  No
>> need to change anything here.
>>
>>> +getenv_columns (void)
>>
>>
>> I had been thinking to check COLUMNS once at the beginning of compilation; I
>> don't think the value can change while the compiler is running since we
>> don't respond to SIGWINCH.  And let's use this value in
>> c_common_initialize_diagnostics, too.
>
> That code is useless.

I do not understand what you by that.  Could you elaborate?
c-family/ChangeLog says it was split out of c_common_init_options.

> It is overridden by cxx_initialize_diagnostics
> (line 2429). It is not strange that nobody noticed this because the
> pretty-printer code is hard to understand and impossible to debug.

I find the syllogism a bit specious.

>  I'd rather not touch it if I can avoid it.
>
> I am not even sure if that is the correct way to set the line-cut-off
> in PP. The option fmessage-length uses pp_set_line_maximum_length. Who
> knows what is the correct way?

The documentation of pp_base_set_line_maximum_length says:

/* Sets the number of maximum characters per line PRETTY-PRINTER can
   output in line-wrapping mode.  A LENGTH value 0 suppresses
   line-wrapping.  */

>
> Also, using COLUMNS to initialize pp's line-cut-off will change the
> current default (which is unlimited despite what invoke.texi says).
>
> I can add "locus_max_width" to diagnostic_context, and use
> getenv_columns to initialize it once. Would that be ok?

I am not sure how its semantics would differ from pp_line_cutoff
but if you are going to disable line-wrapping mode (which this
effectively does), then the structure pp_wrapping_mode_t is
where to place this kind of information.

>
> Cheers,
>
> Manuel.

Reply via email to