Subject: Re: bug#58653: 29.0.50; Long lines in *compilation* buffer

From: Gerd Möllmann <[email-masked]>
Date: Thu, 03 Nov 2022 07:11:18 +0100

Gerd Möllmann <[email-masked]> writes:

> In GNU Emacs 29.0.50 (build 1, aarch64-apple-darwin21.6.0, NS
>  appkit-2113.60 Version 12.6 (Build 21G115)) of 2022-09-21 built on
>  Mini.fritz.box
> Repository revision: 1231a601ebe1fd9fe454c504dbeb9267440242e7
> Repository branch: master
> Windowing system distributor 'Apple', version 10.3.2113
> System Description:  macOS 12.6
>
> Configured using:
>  'configure --cache-file /Users/gerd/tmp/config.cache.master
>  --with-native-compilation'
>
> I did not find an easer way to reproduce this, sorry for that.
>
> Configure Emacs with:
>
>   ./configure --disable-silent-rules
>
> so that compilation commands are shown in full.
>
> Introduce something producing a warning or error in the C code, for
> example in lisp.h.
>
> Then do a full parallel build of Emacs (-j8 here).  This produces, on my
> system, lines invoking gcc which are ca. 2000 chars wide.  These lines
> are by default displayed with a [...].
>
> Bug:
>
> The errors or warnings appear sometimes truncated. For example, the file
> name of the error message is not displayed.  Clicking on the [...]  does
> not change that.  (And with the truncated messages, next-error cannot
> work, ...)
>
> I have no idea what that might be, so I'm just mentioning anything that
> might be relevant, such as the parallel build.

I'm meanwhile pretty sure that this does not happen when I invoke make
with -j1.

Another observation: I have truncate-lines nil in *compilation*.  The
continuation lines for the long gcc commands are displayed correctly
with these "curly" arrows.  The lines showing errors or warnings that
are chopped somehow display a triangle on the left margin, as if the
line were scolled.  I can't make sense of that at all.

Toggling truncate-lines, BTW, doesn't restore the missing text
(filenames for example).  

If someone has an idea where I could look for this in the code, please
let me know.